@progress/kendo-vue-grid 7.1.0-develop.3 → 7.1.0-develop.4

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.
@@ -12,4 +12,4 @@
12
12
  * Licensed under commercial license. See LICENSE.md in the package root for more information
13
13
  *-------------------------------------------------------------------------------------------
14
14
  */
15
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@progress/kendo-vue-common"),require("@progress/kendo-vue-data-tools"),require("@progress/kendo-vue-indicators"),require("@progress/kendo-vue-intl"),require("@progress/kendo-svg-icons"),require("@progress/kendo-vue-inputs"),require("@progress/kendo-vue-dateinputs"),require("@progress/kendo-vue-popup"),require("@progress/kendo-data-query"),require("@progress/kendo-vue-animation"),require("@progress/kendo-vue-buttons"),require("@progress/kendo-vue-dropdowns")):"function"==typeof define&&define.amd?define(["exports","vue","@progress/kendo-vue-common","@progress/kendo-vue-data-tools","@progress/kendo-vue-indicators","@progress/kendo-vue-intl","@progress/kendo-svg-icons","@progress/kendo-vue-inputs","@progress/kendo-vue-dateinputs","@progress/kendo-vue-popup","@progress/kendo-data-query","@progress/kendo-vue-animation","@progress/kendo-vue-buttons","@progress/kendo-vue-dropdowns"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueGrid={},e.Vue,e.KendoVueCommon,e.KendoVueDatatools,e.KendoVueIndicators,e.KendoVueIntl,e.KendoSVGIcons,e.KendoVueInputs,e.KendoVueDateinputs,e.KendoVuePopup,e.KendoDataQuery,e.KendoVueAnimation,e.KendoVueButtons,e.KendoVueDropdowns)}(this,(function(e,t,i,r,o,l,n,s,a,d,h,c,p,u){"use strict";const g=t.defineComponent({name:"KendoGridNav",props:{currentData:Array},inject:{onNavKeyDown:{default:i.noop},onNavFocus:{default:i.noop},onNavMount:{default:i.noop},handleDispatchFocus:{default:i.noop},kbContext:{default:null},navigation:{default:null}},mounted(){this.onNavMount({scope:this.$el||void 0})},updated(){this.onNavMount({scope:this.$el||void 0})},methods:{onKeyDown(e){this.onNavKeyDown(e,{navigation:this.navigation,kbContext:this.kbContext,onNavigationAction:this.onNavigationAction}),this.$emit("keydown",{dataItems:this.getLeafDataItems(),componentId:this._gridId,selectedField:this.$props.selectedField,event:e})},onFocus(e){this.onNavFocus(e,{kbContext:this.kbContext})},onNavigationAction(e){this.$emit("navigationaction",{focusElement:e.focusElement,event:e.event})},getLeafDataItems(){return this.$props.currentData.filter((e=>"data"===e.rowType)).map((e=>e.dataItem))}},render(){const e=i.getDefaultSlots(this);return t.createVNode("div",{onKeydown:this.onKeyDown,onFocusin:this.onFocus,"data-keyboardnavscope":!0},[e])}}),m={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},f="string";function v(e,t){const i=e.split(".");let r=t;return i.forEach((e=>{r=r?r[e]:void 0})),r}function b(e,t,o,l,n,s,a,d,h,c,p=0,u){let g=p;for(let m=0;m<t.length;m++){let f;if(!n||void 0===t[m].value||void 0===t[m].items){const r=!!h&&!(null==s||!s[i.getter(h)(t[m])]);e[e.length]={dataIndex:l.index,dataItem:t[m],rowType:"data",level:p,group:u,expanded:void 0!==c?v(c,t[m]):null!=r&&r},l.index++;continue}{let e;e=null!=u&&u.parents?[{field:u.field,value:u.value},...u.parents]:u?[u]:[],f={field:t[m].field,value:t[m].value,parents:e}}g=Math.max(g,p+1);let C=!1;const x=r.findGroupExpand(a||[],f);C=c?void 0===c||void 0===v(c,t[m])||v(c,t[m]):x?!1!==x.expanded:!1!==d,e[e.length]={dataIndex:-1,dataItem:t[m],level:p,group:f,rowType:"groupHeader",expanded:C},C&&(f.expanded=C,g=Math.max(b(e,t[m].items,o,l,n,s,a,d,h,c,p+1,f),g)),("always"===o||C&&"visible"===o)&&(e[e.length]={dataIndex:-1,dataItem:t[m],rowType:"groupFooter",level:p,expanded:C})}return g}function C(e){return e&&"rtl"===getComputedStyle(e).direction||!1}function x(e,t){if(!(t&&e&&e.originalEvent&&i.canUseDOM))return-1;let r=document.elementFromPoint(e.clientX,e.originalEvent.clientY);for(;r&&r.parentElement!==t;)r=r.parentElement;const o=t.children;for(let e=0;e<o.length;e++)if(o[e]===r)return e;return-1}const $=["sortChange","filterChange","groupChange","pageChange","expandChange","selectionChange","headerSelectionChange","rowClick","itemChange","dataStateChange","columnResize","columnReorder"],k=(e,t)=>`The ${e} event handler property is deprecated, use https://www.telerik.com/kendo-vue-ui/components/grid/api/GridProps/#toc-${t} instead`;function S(e,t){const i=[[]];let o=0;for(let t=e.length-1;t>=0;t--)o=Math.max(o,e[t].depth),e[t].headerColSpan=e[t].headerColSpan||1,e[t].children.length>0&&(e[t].headerColSpan=e[t].children.reduce(((e,t)=>t.hidden?e:e+t.headerColSpan),0));const l=[];let n=1;return e.forEach(((e,t)=>{i[e.depth]=i[e.depth]||[];let r=!1;0===i[e.depth].length&&(n<=1?n=1+(e.children.length>0?0:o-e.depth):(n--,r=!0)),e.rowSpan=1+(e.children.length>0?0:o-e.depth),e.kFirst=r,e.index=i[e.depth].length,i[e.depth].push(t),e.ariaColumnIndex=l[e.depth]?l[e.depth]+1:1;for(let t=e.depth;t<e.depth+e.rowSpan;t++)l[t]=(l[t]||0)+e.headerColSpan})),r.updateLeft(i,e,t),r.updateRight(i,e,t),i}function I(e,t,o,l=0,n=!1){const s=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.forEach(((e,a)=>{const d=e.id?e.id:r.tableKeyboardNavigationTools.generateNavigatableId(""+o.prevId++,o.idPrefix,"column"),h=!!(i.canUseDOM&&e.media&&window.matchMedia)&&!window.matchMedia(e.media).matches,c=n||h||e.hidden,p=null==t?void 0:t.find((e=>e.id===d)),u=I(e.children,(null==p?void 0:p.children)||[],o,l+1,c);s.push({depth:l,...m,...u.length?{cell:()=>null,filterCell:()=>null}:{},...e,id:d,declarationIndex:s.length,children:u,headerColSpan:0,rowSpan:0,columnType:e.columnType||"data",colSpan:e.colSpan||1,isAccessible:!0,hidden:c,left:null,right:null,rowSpannable:e.rowSpannable,...p?{width:p.width,orderIndex:p.orderIndex}:{}})}));if(s.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===l){const e=[],t=(i,r)=>i.forEach((i=>{i.parentIndex=r,t(i.children,e.push(i)-1)}));return t(s,-1),e}return s}const y=e=>Array.isArray(e)?e:e?e.data:[];function w(e,t,i,o){const l=y(e),n=[];if(l.length>0){let e=l[0];if(t)for(let i=0;i<t.length;i++)e=e.items&&e.items[0];Object.getOwnPropertyNames(e).forEach((e=>{e!==i.column&&n.push({id:r.tableKeyboardNavigationTools.generateNavigatableId(""+o.prevId++,o.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,index:0,columnType:"data",left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0,...m,field:e})}))}return n}const N=e=>e.filter((t=>!((e,t)=>{let i=e[t.parentIndex];for(;i;){if(i.footerCell)return!0;i=e[i.parentIndex]}return!1})(e,t)&&(!!t.footerCell||!(t.children&&t.children.length>0)))),R={number:function(e,t,i){return typeof e===f&&"null"===e.toLowerCase()?null:t.parseNumber(e,i)},date:function(e,t,i){return typeof e===f&&"null"===e.toLowerCase()?null:t.parseDate(e,i)},boolean:function(e){return typeof e===f?"null"===e.toLowerCase()?null:"true"===e.toLowerCase():null!=e?!!e:e},string:function(e){return typeof e===f&&"null"===e.toLowerCase()?null:null!=e?e+"":e},default:function(e){return e}};function F(e,t,i,r){return e.forEach((e=>{e.expanded=t[r]&&!t[r].includes(E(e,i)),e.items&&e.items.length&&(e.items=F(e.items,t,i,r+1))})),e}function V(e,t,i){return t&&t.length&&e.data.forEach((e=>{e.expanded=void 0!==e.expanded?e.expanded:t[0]&&!t[0].includes(E(e,i)),e.items&&e.items.length&&(e.items=F(e.items,t,i,1))})),e}function E(e,t){let i=e;for(;i.items&&i.items.length;)i=i.items[0];return t?i[t]:e.value}const D=e=>{const t=[],i=e=>null==e?void 0:e.forEach((e=>{t.push(e),i(e.children)}));return i(e),t},H="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),A=17895697,O=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:t,parentIndex:i,depth:r,headerColSpan:o,rowSpan:l,index:n,kFirst:s,children:a,...d}=e;return a.length?{children:O(a),...d}:d}))),L=(e,t)=>"function"==typeof e.colSpan?e.colSpan({dataItem:t,column:e}):e.colSpan||1,T=e=>{var t,r;const o="object"==typeof e?null==(t=e.enabled)||t:null!=e&&e,l="object"==typeof e&&null!=(r=e.valueGetter)?r:(e,t)=>i.getter(t)(e);return{enabled:o,valueGetter:l}},G=t.defineComponent({name:"KendoGridSelectionCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,render:[String,Function,Object],isSelected:Boolean,ariaColumnIndex:Number,editor:String,isRtl:Boolean},emits:{selectionchange:null,cellkeydown:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},data:()=>({inputId:i.guid()}),computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},handleOnChange(e){this.$emit("selectionchange",{event:e,dataItem:this.$props.dataItem})}},render(){const e=v(this.$props.field,this.$props.dataItem),o=this.$props.render,l=this.getKeyboardNavigationAttributes(this.$props.id),n="groupHeader"!==this.$props.rowType?t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,"aria-colindex":this.$props.ariaColumnIndex,role:"gridcell",tabindex:l.tabIndex,"data-keyboardnavlevel":l[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":l[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("span",{class:"k-checkbox-wrap"},[t.createVNode("input",{checked:e,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.handleOnChange},null)]),t.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]):null;return i.getTemplate.call(this,{h:t.h,template:o,defaultRendering:n,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,change:this.handleOnChange}})}}),z="grid.noRecords",M="grid.selectAllRows",_="grid.pagerInfo",j="grid.pagerFirstPage",B="grid.pagerPreviousPage",K="grid.pagerNextPage",P="grid.pagerLastPage",W="grid.pagerItemsPerPage",q="grid.pagerPage",U="grid.pagerPageSelection",Y="grid.pagerOf",X="grid.pagerTotalPages",J="grid.groupPanelEmpty",Q="grid.groupColumn",Z="grid.ungroupColumn",ee="grid.columnMenu",te="grid.filterApplyButton",ie="grid.filterClearButton",re="grid.filterClearAllButton",oe="grid.filterResetButton",le="grid.filterSubmitButton",ne="grid.filterTitle",se="grid.sortAscending",ae="grid.sortDescending",de="grid.sortClearButton",he="grid.sortApplyButton",ce="grid.searchPlaceholder",pe="grid.searchboxPlaceholder",ue="grid.exportPDF",ge="grid.filterCheckAll",me="grid.filterChooseOperator",fe="grid.filterSelectAll",ve="grid.filterSelectedItems",be="grid.sortAriaLabel",Ce="grid.sortableColumnAriaLabel",xe="grid.sortableColumnAscendingAriaLabel",$e="grid.sortableColumnDescendingAriaLabel",ke="grid.editDialogTitle",Se="grid.editDialogSaveButtonTitle",Ie="grid.editDialogCancelButtonTitle",ye="grid.filterAriaLabel",we="grid.numericFilterAriaLabel",Ne="grid.groupPanelAriaLabel",Re="grid.groupExpand",Fe="grid.groupCollapse",Ve="grid.groupClearButton",Ee="grid.groupApplyButton",De="grid.detailExpand",He="grid.detailCollapse",Ae="grid.selectRow",Oe="grid.gridAriaLabel",Le="grid.gridRowReorderAriaLabel",Te="grid.gridAdaptiveColumnMenuFilterTitle",Ge="grid.columnMenuColumnChooserTitle",ze="grid.columnMenuColumnChooserSelectedItems",Me="grid.adaptiveColumnMenuChooserTitle",_e="grid.adaptiveColumnMenuChooserSubTitle",je="grid.columnChooserApplyButton",Be="grid.columnChooserResetButton",Ke="grid.adaptiveColumnMenuCheckboxFilterTitle",Pe="grid.adaptiveToolbarSortTitle",We="grid.adaptiveToolbarGroupTitle",qe="grid.toolbarSort",Ue="grid.dateFilterAriaLabel",Ye="grid.textFilterAriaLabel",Xe="grid.booleanFilterAriaLabel",Je="grid.groupHeaderAriaLabel",Qe="grid.groupCaretAriaLabelCollapse",Ze="grid.groupCaretAriaLabelExpand",et="grid.expandDetailTemplateAriaLabel",tt="grid.collapseDetailTemplateAriaLabel",it="grid.toolbarAI",rt="grid.aIResponseData",ot="grid.generatedWithAI",lt="grid.toolbarAIApply",nt="grid.toolbarGroup",st="grid.toolbarFilter",at="grid.toolbarColumnsChooser",dt="grid.toolbarCheckboxFilter",ht={[De]:"Expand detail row",[He]:"Collapse detail row",[Re]:"Expand group",[Fe]:"Collapse Group",[Ve]:"Clear grouping",[Ee]:"Done",[z]:"No records available",[M]:"Select all rows",[J]:"Drag a column header and drop it here to group by that column",[te]:"Apply",[ie]:"Clear",[re]:"Clear all filters",[oe]:"Reset",[le]:"Filter",[ne]:"Filter",[se]:"Sort Ascending",[ae]:"Sort Descending",[de]:"Clear sorting",[he]:"Done",[be]:"Sortable",[Pe]:"Sort by",[We]:"Group by",[qe]:"Sort",[it]:"AI Assistant",[lt]:"Apply",[rt]:"Operation is successful. Data is: \n",[ot]:"Generated with AI",[nt]:"Group",[st]:"Filter",[at]:"Columns",[dt]:"Filter",[Q]:"Group Column",[Z]:"Ungroup Column",[ee]:"Column menu",[W]:"items per page",[_]:"{0} - {1} of {2} items",[j]:"Go to the first page",[B]:"Go to the previous page",[K]:"Go to the next page",[P]:"Go to the last page",[q]:"Page",[U]:"Page size",[Y]:"of",[X]:"{0}",[ce]:"Search",[pe]:"Search...",[ue]:"Export PDF",[ge]:"Check All",[ke]:"Edit Dialog",[Se]:"Save",[Ie]:"Cancel",[me]:"Choose Operator",[ve]:"selected items",[fe]:"Select All",[Ce]:"Sortable Column",[xe]:"Sorted in ascending order",[$e]:"Sorted in descending order",[ye]:"Filter",[we]:"Numeric Filter",[Ue]:"Date Filter",[Ye]:"Text Filter",[Xe]:"Boolean Filter",[Je]:"Group Header",[Qe]:"Collapse Group",[Ze]:"Expand Group",[et]:"Expand Details",[tt]:"Collapse Details",[Ne]:"Group panel",[Oe]:"Table",[Le]:"Drag row",[Ae]:"Select Row",[Ge]:"Columns Chooser",[Te]:"Filter by",[Me]:"Columns Chooser",[_e]:"Selected fields are visible",[Ke]:"Filter by",[ze]:"Selected items",[je]:"Apply",[Be]:"Reset","grid.filterEqOperator":"Is equal to","grid.filterNotEqOperator":"Is not equal to","grid.filterIsNullOperator":"Is null","grid.filterIsNotNullOperator":"Is not null","grid.filterIsEmptyOperator":"Is empty","grid.filterIsNotEmptyOperator":"Is not empty","grid.filterStartsWithOperator":"Starts with","grid.filterContainsOperator":"Contains","grid.filterNotContainsOperator":"Does not contain","grid.filterEndsWithOperator":"Ends with","grid.filterGteOperator":"Is greater than or equal to","grid.filterGtOperator":"Is greater than","grid.filterLteOperator":"Is less than or equal to","grid.filterLtOperator":"Is less than","grid.filterIsTrue":"Is true","grid.filterIsFalse":"Is false","grid.filterBooleanAll":"(All)","grid.filterAfterOrEqualOperator":"Is after or equal to","grid.filterAfterOperator":"Is after","grid.filterBeforeOperator":"Is before","grid.filterBeforeOrEqualOperator":"Is before or equal to","grid.filterAndLogic":"And","grid.filterOrLogic":"Or"},ct=t.defineComponent({name:"KendoGridHierarchyCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,dataIndex:Number,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean},emits:{change:null,cellkeydown:null},inject:{kendo:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},methods:{triggerStateChange(){const e=this.kendo;e.dataItemKey&&void 0!==this.$props.dataItem[e.dataItemKey]&&(null==e||e.dispatchDetailExpand({type:r.DETAIL_EXPAND_ACTION.TOGGLE,id:this.$props.dataItem[e.dataItemKey]}))},triggerKeydown(e,t){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field,expanded:t}),!e.defaultPrevented&&e.keyCode===i.Keys.enter&&(e.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:e,field:this.$props.field,value:!t}),this.triggerStateChange())},clickHandler(e,t,i){e.preventDefault(),this.$emit("change",{dataItem:t,event:e,field:void 0,value:!i}),this.triggerStateChange()}},computed:{wrapperClass(){return{"k-table-td":!0,"k-hierarchy-cell":!0,[this.className||""]:this.className}}},render(){let e=null;const o=this.getKeyboardNavigationAttributes(this.$props.id),s=l.provideLocalizationService(this),a=s.toLanguageString(tt,ht[tt]),d=s.toLanguageString(et,ht[et]);if("groupFooter"===this.$props.rowType)e=t.createVNode("td",{class:this.wrapperClass},null);else if("groupHeader"!==this.$props.rowType){const l=v(this.$props.field,this.$props.dataItem);e=t.createVNode("td",{style:this.$attrs.style,onKeydown:e=>{this.triggerKeydown(e,l)},class:this.wrapperClass,"aria-expanded":l?"true":"false",role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("a",{onClick:e=>{this.clickHandler(e,this.$props.dataItem,l)},href:"#",tabindex:-1,title:l?a:d,"aria-label":l?a:d},[t.createVNode(i.Icon,{name:l?"minus":"plus",icon:l?n.minusIcon:n.plusIcon},null)])])}return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:e,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}}),pt=t.defineComponent({props:{id:String},inject:{getKeyboardNavigationAttributes:{default:i.noop}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=this.getKeyboardNavigationAttributes(this.$props.id);return t.createVNode("td",{class:"k-table-td k-hierarchy-cell",tabindex:e.tabIndex,"data-keyboardnavlevel":e[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":e[r.KEYBOARD_NAV_DATA_ID]},null)}}),ut=t.defineComponent({props:{colSpan:Number,ariaColIndex:Number,dataItem:[Object,String,Number],dataIndex:Number,detail:[String,Function,Object],id:String},inject:{getKeyboardNavigationAttributes:{default:i.noop}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const{colSpan:e,ariaColIndex:o,dataItem:l,dataIndex:n,id:s}=this.$props,a=this.getKeyboardNavigationAttributes(s);return t.createVNode("td",{class:"k-table-td k-detail-cell",colspan:e,"aria-colindex":o,role:"gridcell",tabindex:a.tabIndex,"data-keyboardnavlevel":a[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":a[r.KEYBOARD_NAV_DATA_ID]},[function(e){return i.getTemplate.call(this,{h:t.h,template:this.$props.detail,additionalProps:e})}.call(this,{dataItem:l,dataIndex:n})])}}),gt=t.defineComponent({name:"GridEditCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,readFormat:String,dataIndex:Number},emits:{change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},data:()=>({inputId:i.guid()}),methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e,t){t||(t="checkbox"===e.target.type?e.target.checked:e.target.valueAsDate?e.target.valueAsDate:e.target.value),this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,value:t})}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=v(this.$props.field,this.$props.dataItem),o=this.getKeyboardNavigationAttributes(this.$props.id);let l=null;switch(this.$props.editor){case"numeric":l=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode(s.NumericTextBox,{style:{width:"100%"},value:void 0===e?null:e,onChange:this.changeHandler},null)]);break;case"date":l=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode(a.DatePicker,{style:{width:"100%"},value:e,onChange:this.changeHandler},null)]);break;case"boolean":l=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("input",{checked:e||!1,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.changeHandler},null),t.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]);break;default:l=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[t.createVNode("input",{style:{width:"100%"},class:"k-input-inner",value:null!=e?e:"",onChange:this.changeHandler},null)])])}return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:l,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}});let mt=class{get scrollbarWidth(){const e="undefined"!=typeof document?document:{};if(!this.scrollbar&&e&&e.createElement){const t=e.createElement("div");t.style.cssText="overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block",t.innerHTML="&nbsp;",e.body.appendChild(t),this.scrollbar=t.offsetWidth-t.scrollWidth,e.body.removeChild(t)}return this.scrollbar}};const ft=t.defineComponent({props:{staticHeaders:Boolean,headerRow:Object,columnResize:Object,cols:Array,size:String,draggable:Boolean},data:()=>({divStyle:{},element:null,headerWrap:null,table:null}),computed:{wrapperClass(){return{"k-grid-header":!0,"k-grid-draggable-header":this.$props.draggable}},tableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-header-table":!0,[`k-table-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}}},mounted(){this.headerWrap=i.getRef(this,"headerWrap"),this.table=i.getRef(this,"table"),this.$props.columnResize.colGroupHeader=i.getRef(this,"colGroupHeader");const e=(new mt).scrollbarWidth,t=C(this.$el);this.$props.columnResize&&this.$props.columnResize.setIsRtl(t);const r=Math.max(0,e)+"px",o=t?0:r,l=t?r:0;this.divStyle={padding:`0 ${o} 0 ${l}`}},methods:{setScrollLeft(e){this.headerWrap&&(this.headerWrap.scrollLeft=e)},setWidth(e){this.table&&(this.table.style.width=e+"px")}},setup:()=>({headerWrapRef:t.ref(null),tableRef:t.ref(null),colGroupHeaderRef:t.ref(null)}),render(){return this.$props.staticHeaders?t.createVNode("div",{class:this.wrapperClass,style:this.divStyle},[t.createVNode("div",{ref:i.setRef(this,"headerWrap"),class:"k-grid-header-wrap"},[t.createVNode("table",{class:this.tableClass,ref:i.setRef(this,"table"),role:"none"},[t.createVNode("colgroup",{ref:i.setRef(this,"colGroupHeader")},[this.$props.cols]),this.$props.headerRow])])]):this.$props.headerRow}}),vt=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e),bt=t.defineComponent({props:{onResize:Function},mounted(){this.$el&&(this.draggable=this.$refs.draggable)},methods:{drag(e){const t=this.draggable&&this.draggable.element;t&&this.$emit("resize",e,t,!1)},release(e){const t=this.draggable&&this.draggable.element;t&&this.$emit("resize",e,t,!0)}},render(){const e={cursor:"col-resize",display:"block",height:"1000%",position:"absolute",top:0,width:".5em"};return t.createVNode(i.Draggable,{onDrag:this.drag,onRelease:this.release,ref:"draggable"},{default:()=>[t.createVNode("span",{class:"k-column-resizer",draggable:!1,style:e},null)]})}}),Ct=t.defineComponent({props:{onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},mounted(){this.$el&&(this.draggable=this.$refs.draggable)},methods:{onPress(e){const t=this.draggable&&this.draggable.element;t&&this.$emit("pressHandler",e,t)},onDrag(e){const t=this.draggable&&this.draggable.element;t&&this.$emit("dragHandler",e,t)},onRelease(e){const t=this.draggable&&this.draggable.element;t&&this.$emit("releaseHandler",e,t)}},render(){const e=i.getDefaultSlots(this);return t.createVNode(i.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:"draggable"},{default:()=>[t.createVNode("tr",{class:"k-table-row",role:"row"},[e])]})}}),xt=t.defineComponent({props:{field:String,title:String,sortable:[Boolean,Object],render:[Object,Function,String],selectionValue:[Boolean,String,Number],onHeadercellclick:Function},computed:{linkClass(){return{"k-link":!0,"!k-cursor-default":!this.sortable}}},methods:{clickHandler(e){this.sortable&&this.$emit("headercellclick",e)}},render(){const e=i.getDefaultSlots(this),r=this.$props.render,o=this.$props.title||this.$props.field||" ",l=i.getTemplate.call(this,{h:t.h,template:r,defaultRendering:o,additionalProps:this.$props,additionalListeners:{click:this.clickHandler}});return t.createVNode("span",{class:this.linkClass,onClick:this.clickHandler},[t.createVNode("span",{class:"k-column-title"},[l]),e])}}),$t=t.defineComponent({props:{title:String,iconClass:String,icon:String,svgIcon:Object,selected:Boolean,onMenuitemclick:Function},methods:{onClick(e){this.$emit("menuitemclick",e)},onKeyDown(e){e.keyCode===i.Keys.enter&&this.$emit("menuitemclick",e)}},render(){const{title:e,iconClass:r,selected:o,icon:l,svgIcon:n}=this.$props;return t.createVNode("div",{tabindex:0,onKeydown:this.onKeyDown,onClick:this.onClick,class:"k-columnmenu-item "+(o?"k-selected":"")},[r&&t.createVNode(i.Icon,{class:r},null),(l||n)&&t.createVNode(i.Icon,{name:l,icon:n},null),e])}}),kt=t.defineComponent({render(){const e=i.getDefaultSlots(this);return t.createVNode("div",{class:"k-columnmenu-item-wrapper"},[e])}}),St="desc",It={true:{asc:{asc:"",desc:"desc"},desc:{asc:"asc",desc:""},"":{asc:"asc",desc:"desc"}},false:{asc:{asc:"asc",desc:"desc"},desc:{asc:"asc",desc:"desc"},"":{asc:"asc",desc:"desc"}}},yt=(e,t)=>t?t.findIndex((t=>t.field===e)):-1,wt=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),Nt=(e,t)=>!!(t&&e>-1&&t[e].dir===St),Rt=t.defineComponent({props:{sortable:[Boolean,Object],sort:{type:Array},column:Object,onSortchange:Function,onClosemenu:Function},inject:{kendoLocalizationService:{default:null}},methods:{onAscClick(e){this.onSort(e,"asc"),this.$emit("closemenu")},onDescClick(e){this.onSort(e,St),this.$emit("closemenu")},onSort(e,t){if(e.preventDefault(),!i.hasListener.call(this,"sortchange"))return;const{column:r,sortable:o,sort:l}=this.$props,{allowUnsort:n,mode:s}=vt(o||!1,!1),a=(l||[]).filter((e=>e.field===r.field))[0],d=It[n][a&&a.dir||""][t],h="single"===s?[]:(this.$props.sort||[]).filter((e=>e.field!==r.field));""!==d&&r.field&&h.push({field:r.field,dir:d}),this.$emit("sortchange",h,{event:e,field:this.$props.column.field})}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{sort:e,column:i}=this.$props,r=yt(i.field,e),o=l.provideLocalizationService(this);return t.createVNode(kt,null,{default:()=>[t.createVNode($t,{title:o.toLanguageString(se,ht[se]),icon:"sort-asc-small",svgIcon:n.sortAscSmallIcon,selected:wt(r,e),onMenuitemclick:this.onAscClick},null),t.createVNode($t,{title:o.toLanguageString(ae,ht[ae]),icon:"sort-desc-small",svgIcon:n.sortDescSmallIcon,selected:Nt(r,e),onMenuitemclick:this.onDescClick},null)]})}}),Ft=t.defineComponent({props:{show:Boolean},render(){const e=i.getDefaultSlots(this);return t.createVNode("div",{class:"k-columnmenu-item-content"},[t.createVNode(c.Reveal,{appear:this.$props.show,style:{position:"relative",display:"block"}},{default:()=>[this.$props.show?e:null]})])}}),Vt=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Et={text:[{text:"grid.filterContainsOperator",operator:"contains"},{text:"grid.filterNotContainsOperator",operator:"doesnotcontain"},{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterStartsWithOperator",operator:"startswith"},{text:"grid.filterEndsWithOperator",operator:"endswith"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"},{text:"grid.filterIsEmptyOperator",operator:"isempty"},{text:"grid.filterIsNotEmptyOperator",operator:"isnotempty"}],numeric:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterGteOperator",operator:"gte"},{text:"grid.filterGtOperator",operator:"gt"},{text:"grid.filterLteOperator",operator:"lte"},{text:"grid.filterLtOperator",operator:"lt"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],date:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterAfterOrEqualOperator",operator:"gte"},{text:"grid.filterAfterOperator",operator:"gt"},{text:"grid.filterBeforeOperator",operator:"lt"},{text:"grid.filterBeforeOrEqualOperator",operator:"lte"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],boolean:[{text:"grid.filterEqOperator",operator:"eq"}]},Dt=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Ht=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,ht[e.text]),operator:e.operator}))),At=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Ot=(e,t,i)=>{const r=Lt(i.operators);let o=i.operator;switch(i.filterType){case"numeric":case"date":(!o||Dt(o))&&(o=r),null===e&&o===r&&(o="");break;case"text":(!o||Dt(o))&&(o=r),!e&&o===r&&(o="");break;default:return}return{value:e,operator:o,event:t}},Lt=(e,t)=>t?e[t][0].operator:e[0].operator,Tt=e=>e||"text",Gt=(e,t)=>({value:e,operator:""===e?"":"eq",event:t}),zt=(e,t,i)=>(Dt(e)&&(i=null),{value:i,operator:e,event:t}),Mt=t.defineComponent({props:{field:String,filterType:String,value:[Object,String,Number,Date,Boolean],operator:String,operators:Array,booleanValues:Array},emits:{change:null,filtercellfocus:null},methods:{handleFocus(e){this.$emit("filtercellfocus",e)},triggerChange(e){this.$emit("change",e)},inputChange(e,t){const i=Ot(e,t,this.$props);this.triggerChange(i)},boolDropdownChange(e,t){const i=Gt(e.value.operator,t);this.triggerChange(i)}},render(){const{filterType:e,value:i,booleanValues:r}=this.$props;let o;switch(e){case"numeric":return t.createVNode(s.NumericTextBox,{value:i,onChange:e=>{this.inputChange(e.value,e.event)}},null);case"date":return t.createVNode(a.DatePicker,{value:i,onFocus:this.handleFocus,onChange:e=>{this.inputChange(e.value,e.event)}},null);case"boolean":return o=e=>null==e,t.createVNode(u.DropDownList,{onChange:this.boolDropdownChange,value:r.find((e=>e.operator===(o(i)?"":i))),"data-items":r,textField:"text"},null);default:return t.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[t.createVNode("input",{class:"k-input-inner",value:i||"",onInput:e=>{this.inputChange(e.target.value,e)}},null)])}}}),_t=t.defineComponent({props:{filterType:String,operator:String,operators:Array},emits:{change:null},methods:{triggerChange(e){this.$emit("change",e)},operatorChange(e,t){const i=zt(e.value.operator,t,this.$props.value);this.triggerChange(i)}},render(){const e=this.$props.operators.find((e=>e.operator===this.$props.operator))||null;return"boolean"!==this.$props.filterType?t.createVNode(u.DropDownList,{onChange:this.operatorChange,value:e,"data-items":this.$props.operators,textField:"text"},null):null}});function jt(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Bt=e=>e||{filters:[],logic:"and"},Kt=(e,t)=>Bt(t).filters.filter((t=>!!h.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find((t=>h.isCompositeFilterDescriptor(t)||t.field!==e)))))[0]||null,Pt=t.defineComponent({name:"KendoGridColumnMenuFilter",props:{column:Object,filter:Object,expanded:{type:Boolean,default:void 0},filterable:Boolean,filterOperators:{type:Object,default:function(){return Et}},hideSecondFilter:{type:[Boolean,Object],default:function(){}},filterUI:[String,Function,Object],onFilterfocus:Function,onFilterchange:Function,onExpandchange:Function,onClosemenu:Function},inject:{kendoLocalizationService:{default:null}},data:()=>({currentExpanded:!1,filterGroup:null}),created(){let e;if(this.$props.column&&this.$props.column.field){const t=Tt(this.$props.column.filter),i=Lt(this.$props.filterOperators,t);e=Kt(this.$props.column.field,this.$props.filter),e=e?{...e,filters:e.filters.map((e=>({...e})))}:{logic:"and",filters:[{field:this.$props.column.field,operator:i},{field:this.$props.column.field,operator:i}]},1===e.filters.filter((e=>e.field===this.$props.column.field)).length&&e.filters.splice(1,0,{field:this.$props.column.field,operator:i})}this.currentExpanded=this.$props.expanded||!1,this.filterGroup=e},methods:{removeGroup(e,t){const i=[...t.filters],r=i.findIndex((t=>t===e));return r>-1&&i.splice(r,1),{...t,filters:i}},insertGroup:(e,t)=>({...t,filters:[e,...t.filters]}),isControlled(){return void 0!==this.$props.expanded},onFilterExpand(){const e=this.isControlled(),t=!(e?this.$props.expanded:this.currentExpanded);this.$emit("expandchange",t),e||(this.currentExpanded=t)},filterChangeHandler(e,t){this.filterChange(t||0,e)},firstFilterChange(e){this.filterChange(0,e)},secondFilterChange(e){this.filterChange(1,e)},filterChange(e,t){const i=this.filterGroup.filters.map(((i,r)=>r===e?{...i,value:t.value,operator:t.operator}:i));this.filterGroup={...this.filterGroup,filters:i}},logicChange(e){this.filterGroup={...this.filterGroup,logic:e.target.value.operator}},clear(e){if(e.preventDefault(),!i.hasListener.call(this,"filterchange"))return;const t=this.$props.column.field,r=Bt(this.$props.filter),o=Kt(t,this.$props.filter),l=r.filters.filter((e=>e!==o));l.length?this.$emit("filterchange",{...r,filters:l},{event:e,field:this.$props.column.field}):this.$emit("filterchange",null,{event:e,field:this.$props.column.field}),this.$emit("closemenu")},currentFilterGroup(){return{...this.filterGroup,filters:this.filterGroup.filters.filter((e=>void 0!==e.value&&null!==e.value&&""!==e.value||null===e.value&&e.operator))}},submit(e){if(e.preventDefault(),!i.hasListener.call(this,"filterchange"))return;const t=this.$props.column.field,r=Bt(this.$props.filter),o=Kt(t,this.$props.filter),l=this.currentFilterGroup();let n=null;if(o&&l.filters.length>0){const e=r.filters.map((e=>e===o?l:e));n={...r,filters:e}}else if(0===l.filters.length){const e=r.filters.filter((e=>e!==o));e.length&&(n={...r,filters:e})}else n={...r,filters:[...r.filters,l]};this.$emit("filterchange",n,{event:e,field:this.$props.column.field}),this.$emit("closemenu")},handleFocus(e){this.$emit("filterfocus",e)}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){let e,r;const{column:o,filterUI:s,hideSecondFilter:a,filterOperators:d}=this.$props;if(!o||!o.field)return t.createVNode("div",null,null);const h=o.filter||"text",c=l.provideLocalizationService(this),g=this.filterGroup.filters,m=Ht(d[h],c),f=Ht(At,c),v={field:o.field,value:g[0].value,operator:g[0].operator,booleanValues:f,filterType:h},b={field:o.field,value:g[1].value,operator:g[1].operator,booleanValues:f,filterType:h},C=this.filterGroup.logic,x=Ht(Vt,c),$={value:x.find((e=>e.operator===(null===C?"":C))),data:x},k=0!==this.currentFilterGroup().filters.length,S=this.isControlled()?this.$props.expanded:this.currentExpanded,I=v.field,y=v.value,w=v.operator,N=v.booleanValues,R=v.filterType,F=b.field,V=b.value,E=b.operator,D=b.booleanValues,H=b.filterType,A=s&&i.templateRendering.call(this,s,i.getListeners.call(this)),O=i.getTemplate.call(this,{h:t.h,template:A,defaultRendering:void 0,additionalProps:this.$props,additionalListeners:{change:this.filterChangeHandler,logicchange:this.logicChange}});return t.createVNode(kt,null,{default:()=>[t.createVNode($t,{title:c.toLanguageString(ne,ht[ne]),icon:"filter",svgIcon:n.filterIcon,onMenuitemclick:this.onFilterExpand},null),t.createVNode(Ft,{show:!!S},{default:()=>[t.createVNode("div",{class:"kendo-grid-filter-menu-container"},[t.createVNode("form",{class:"k-filter-menu k-border-up",onSubmit:this.submit,onReset:this.clear},[t.createVNode("div",{class:"k-filter-menu-container"},[!s&&[t.createVNode(_t,{operator:w,filterType:R,onChange:e=>{this.filterChangeHandler(e,0)},operators:m},null),t.createVNode(Mt,{field:I,value:y,operator:w,booleanValues:N,filterType:R,onFiltercellfocus:this.handleFocus,onChange:e=>{this.filterChangeHandler(e,0)},operators:m},null)],!a&&!s&&[t.createVNode(u.DropDownList,{onChange:this.logicChange,class:"k-filter-and","data-items":$.data,value:$.value,textField:"text"},null),t.createVNode(_t,{operator:E,filterType:H,onChange:e=>{this.filterChangeHandler(e,1)},operators:m},null),t.createVNode(Mt,{field:F,value:V,operator:E,booleanValues:D,filterType:H,onFiltercellfocus:this.handleFocus,onChange:e=>{this.filterChangeHandler(e,1)},operators:m},null)],s&&O,t.createVNode("div",{class:"k-columnmenu-actions"},[t.createVNode(p.Button,{themeColor:"primary",disabled:!k},jt(e=c.toLanguageString(le,ht[le]))?e:{default:()=>[e]}),t.createVNode(p.Button,{type:"reset"},jt(r=c.toLanguageString(ie,ht[ie]))?r:{default:()=>[r]})])])])])]})]})}}),Wt=t.defineComponent({name:"KendoColumnMenuContent",inheritAttrs:!1,props:{column:Object,sortable:[Boolean,Object],sort:{type:Array},filter:Object,filterOperators:Object,filterable:Boolean,render:[Boolean,String,Function,Object],onContentfocus:Function,onClosemenu:Function,onSortchange:Function,onExpandchange:Function,onFilterchange:Function},methods:{handleFocus(e){this.$emit("contentfocus",e)},closeMenu(){this.$emit("closemenu")},expandChange(){this.$emit("expandchange")},sortChange(e,t){this.$emit("sortchange",e,t)},filterChange(e,t){this.$emit("filterchange",e,t)},contentKeyDown(e){e.keyCode===i.Keys.esc&&this.$emit("closemenu")}},render(){const e=this.$props.render,r=t.createVNode("div",{style:this.$attrs.style,onKeydown:this.contentKeyDown},[t.createVNode(Rt,{column:this.$props.column,sortable:this.$props.sortable,sort:this.$props.sort,onClosemenu:this.closeMenu,onSortchange:this.sortChange},null),t.createVNode(Pt,{column:this.$props.column,filterable:this.$props.filterable,filter:this.$props.filter,filterOperators:this.$props.filterOperators,onFilterfocus:this.handleFocus,onClosemenu:this.closeMenu,onExpandchange:this.expandChange,onFilterchange:this.filterChange},null)]);return i.getTemplate.call(this,{h:t.h,template:"boolean"!=typeof e&&e,defaultRendering:r,additionalProps:this.$props,additionalListeners:{closemenu:this.closeMenu,filterchange:this.filterChange,sortchange:this.sortChange,expandchange:this.expandChange,contentfocus:this.handleFocus}})}}),qt=t.defineComponent({name:"KendoColumnMenu",props:{animate:{type:[Boolean,Object],default:function(){return!0}},column:Object,sortable:[Boolean,Object],sort:{type:Array},opened:Boolean,filter:Object,filterable:Boolean,filterOperators:Object,render:[Boolean,String,Function,Object],columnMenuIcon:i.SvgIcon,onClose:Function,onSortchange:Function,onFilterchange:Function},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data:()=>({show:!1,blurTimeout:void 0}),created(){this._anchor=i.guid()},computed:{currentOpen(){return this.show||this.$props.opened}},watch:{currentOpen:function(e){this.$nextTick((function(){if(this._content=this.$refs.content,e&&this._content){const e=r.tableKeyboardNavigationTools.getFocusableElements(this._content,{focusable:!0});e.length?e[0].focus():this._content.focus()}}))}},methods:{blur(){clearTimeout(this.blurTimeout),this.blurTimeout=setTimeout((()=>{this.closeMenu()}),200)},focus(){clearTimeout(this.blurTimeout)},handleFocus(e){clearTimeout(this.blurTimeout)},anchorClick(e){e.preventDefault(),this.show=!this.show},closeMenu(){this.$emit("close"),this.show=!1},sortChange(e,t){this.$emit("sortchange",e,t)},filterChange(e,t){this.$emit("filterchange",e,t)}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=this.$props.render,r=l.provideLocalizationService(this),{columnMenuIcon:o}=this.$props;return t.createVNode("div",{style:{display:"inline"}},[t.createVNode("a",{class:"k-grid-header-menu k-grid-column-menu",title:`${this.$props.column.field} ${r.toLanguageString(ee,ht[ee])}`,ref:i.setRef(this,"kendoAnchor"),onClick:this.anchorClick,href:"#"},[o?t.createVNode(i.Icon,{name:o.name,icon:o},null):t.createVNode(i.Icon,{name:"more-vertical",icon:n.moreVerticalIcon},null)]),t.createVNode(d.Popup,{animate:this.$props.animate,anchor:this._anchor,show:this.currentOpen},{default:()=>[t.createVNode("div",{ref:"content",class:"k-column-menu k-grid-columnmenu-popup",tabindex:0,onFocusout:this.blur,onFocusin:this.focus,style:{outline:"none",width:"230px"}},[t.createVNode(Wt,{column:this.$props.column,sortable:this.$props.sortable,sort:this.$props.sort,filter:this.$props.filter,filterable:this.$props.filterable,filterOperators:this.$props.filterOperators,render:e,onContentfocus:this.handleFocus,onClosemenu:this.closeMenu,onSortchange:this.sortChange,onFilterchange:this.filterChange},null)])]})])}});function Ut(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Yt={none:"none",asc:"ascending",desc:"descending"},Xt={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Jt=t.defineComponent({name:"KendoHeaderRow",props:{grid:Object,cellRender:[String,Function,Object],groupable:[Boolean,Object],reorderable:Boolean,sortable:[Boolean,Object],sort:{type:Array},filter:Object,filterable:Boolean,filterOperators:Object,filterChange:Function,filterRow:Object,columns:Array,columnsMap:Array,columnResize:Object,columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:Object,isRtl:Boolean,isColCountDefined:Boolean,columnsInitial:Array,onSortChange:Function,onFilterChange:Function,onSelectionchange:Function,onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},inject:{onNavFocus:{default:i.noop},kendoLocalizationService:{default:null}},data:()=>({columnMenuOpened:{}}),created(){this.serviceIndex=0,this.index=-1,this._element=null,this.cellClick=this.cellClick.bind(this)},methods:{pressHandler(e,t){this.$emit("pressHandler",e,t)},dragHandler(e,t){this.$emit("dragHandler",e,t)},releaseHandler(e){this.$emit("releaseHandler",e)},selectionChangeHandler(e){this.$emit("selectionchange",e)},cellClick(e,t){if(e.preventDefault(),!i.hasListener.call(this,"sortChange"))return;const{allowUnsort:r,mode:o}=vt(this.$props.sortable||!1,t.sortable||!1),l=(this.$props.sort||[]).filter((e=>e.field===t.field))[0],n=Xt[r][l&&l.dir||""],s="single"===o?[]:(this.$props.sort||[]).filter((e=>e.field!==t.field));""!==n&&t.field&&s.push({field:t.field,dir:n}),this.sortChangeHandler(s,{event:e,field:t.field})},sortChangeHandler(e,t){this.$emit("sortChange",e,t)},filterChangeHandler(e,t){this.$emit("filterChange",e,t)},cellClass(e,t,i){let r="k-header"+(i?" k-grid-header-sticky":"")+(t?" "+t:"");return this.$props.sort&&this.$props.sort.filter((t=>t.field===e)).length>0&&(r+=" k-sorted"),r},cellKeyDown(e,t){e.defaultPrevented||(e.keyCode===i.Keys.enter&&this.cellClick(e,t),e.altKey&&e.keyCode===i.Keys.down&&t.field&&(e.preventDefault(),this.columnMenuOpened={[t.field]:!0}))},getTemplate(e){return i.templateRendering.call(this.$props.grid,e,i.getListeners.call(this.$props.grid))},columnMenuClose(){this.onNavFocus({}),this.columnMenuOpened={}}},computed:{element(){return this._element},theadClasses:()=>({"k-table-thead":!0})},render(e){const o=l.provideLocalizationService(this),s=o.toLanguageString(Ce,ht[Ce]),a=o.toLanguageString(xe,ht[xe]),d=o.toLanguageString($e,ht[$e]);this.serviceIndex=0,this.index=-1;const h=function(e){return e.map((function(e){const o=this.$props.columns[e],l=this.$props.sortable&&o.sortable,h=this.$props.sort?this.$props.sort.findIndex((e=>e.field===o.field)):-1,c=h>=0&&this.$props.sort[h].dir||"none",p=function(e){if(!this.$props.sort)return null;const r=e>=0?this.$props.sort[e].dir:"";return e>=0&&[t.createVNode("span",{key:1,class:"k-sort-icon"},[t.createVNode(i.Icon,{name:"sort-"+r+"-small",icon:"asc"===r?n.sortAscSmallIcon:n.sortDescSmallIcon},null)]),this.$props.sort.length>1&&t.createVNode("span",{key:2,class:"k-sort-icon"},[t.createVNode("span",{class:"k-sort-order"},[e+1])])]}.call(this,h),u=o.columnMenu||!1===o.columnMenu?o.columnMenu:this.$props.columnMenu,g=o.menuIcon||this.$props.columnMenuIcon,m=(o.kFirst?"k-first ":"")+this.cellClass(o.field,o.headerClassName,o.locked)+(u?" k-filterable":""),f=u&&"boolean"!=typeof u?this.getTemplate(u):!!u,v=void 0!==o.left?this.$props.isRtl?{left:o.right+"px",right:o.left+"px"}:{left:o.left+"px",right:o.right+"px"}:{},b="none"===Yt[c]?s:"ascending"===Yt[c]?a:d;let C=o.isAccessible?{ariaSort:Yt[c],ariaLabel:b,role:"columnheader",ariaColumnIndex:this.$props.isColCountDefined?this.$props.columnsInitial.findIndex((e=>e.field===o.field))+1:void 0,ariaSelected:!1,ariaHaspopup:u?"menu":this.$props.filterable&&o.filterable?"dialog":void 0}:{role:"columnheader"};const x=o.declarationIndex>=0?++this.index:--this.serviceIndex,$=void 0!==o.columnMenuOpened?o.columnMenuOpened:this.columnMenuOpened[o.field];return t.createVNode(r.HeaderThElement,{ariaSort:l?C.ariaSort:void 0,ariaLabel:l?C.ariaLabel:void 0,role:C.role,ariaColumnIndex:C.ariaColumnIndex,ariaSelected:C.ariaSelected,ariaHaspopup:C.ariaHaspopup,key:x,colSpan:o.headerColSpan,rowSpan:o.rowSpan,class:m,style:v,columnId:o.id,navigatable:o.navigatable,onKeydown:e=>this.cellKeyDown(e,o)},{default:()=>[[0===o.children.length&&u&&t.createVNode(qt,{key:0,column:{field:o.field,filter:o.filter},opened:$,animate:this.$props.columnMenuAnimate,sortable:l,sort:this.$props.sort,onClose:this.columnMenuClose,onSortchange:this.sortChangeHandler,filter:this.$props.filter,filterable:this.$props.filterable&&o.filterable,filterOperators:this.$props.filterOperators,onFilterchange:this.filterChangeHandler,render:f,columnMenuIcon:g},null),o.internalHeaderCell&&t.createVNode("span",{class:"k-cell-inner"},[t.createVNode(o.internalHeaderCell,{key:1,field:o.field,sortable:l,onHeadercellclick:e=>this.cellClick(e,o),onSelectionchange:this.selectionChangeHandler,selectionValue:o.headerSelectionValue,title:o.title,render:(o.headerCell||this.$props.cellRender)&&this.getTemplate(o.headerCell||this.$props.cellRender)},Ut(p)?p:{default:()=>[p]})])||t.createVNode("span",{class:"k-cell-inner"},[t.createVNode(xt,{key:1,field:o.field,sortable:l,onHeadercellclick:e=>this.cellClick(e,o),selectionValue:o.headerSelectionValue,title:o.title,render:(o.headerCell||this.$props.cellRender)&&this.getTemplate(o.headerCell||this.$props.cellRender)},Ut(p)?p:{default:()=>[p]})]),this.$props.columnResize&&this.$props.columnResize.resizable&&o.resizable&&t.createVNode(bt,{key:2,onResize:(e,t,i)=>this.$props.columnResize&&this.$props.columnResize.dragHandler(e,o,t,i)},null)]]})}),this)};return t.createVNode("thead",{role:"rowgroup",class:this.theadClasses,"data-keyboardnavheader":!0},[this.$props.columnsMap.map((function(e,i){let r;return(this.$props.groupable||this.$props.reorderable)&&t.createVNode(Ct,{key:i,onPressHandler:this.pressHandler,onDragHandler:this.dragHandler,onReleaseHandler:this.releaseHandler},Ut(r=h.call(this,e))?r:{default:()=>[r]})||t.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":this.columnsMap.length},[h.call(this,e)])}),this),this.$props.filterRow])}}),Qt=t.defineComponent({name:"KendoGridFilterCell",inheritAttrs:!1,props:{id:String,grid:Object,field:String,filterType:String,colSpan:Number,title:String,value:[String,Number,Boolean,Date],operator:[String,Function],operators:Array,booleanValues:Array,onChange:Function,render:[String,Function,Object],ariaLabel:String,size:String},inject:{kendoLocalizationService:{default:null},kendoIntlService:{default:null}},methods:{inputChange(e,t){const i=Ot(e,t,this.$props);this.triggerChange(i)},operatorChange(e,t){const i=zt(e.value.operator,t,this.$props.value);this.triggerChange(i)},boolDropdownChange(e,t){const i=Gt(e.value.operator,t);this.triggerChange(i)},clear(e){e.preventDefault(),this.triggerChange({value:"",operator:"",event:e})},triggerChange(e){e.field=this.$props.field,this.$emit("change",e)}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{}),kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=l.provideLocalizationService(this),{size:r}=this.$props,o=this.$props.operators.find((e=>e.operator===this.$props.operator))||null,d=t.createVNode("div",{class:"k-filtercell",style:this.$attrs.style},[t.createVNode("div",{class:"k-filtercell-wrapper"},[function(e,i){let o;switch(e){case"numeric":return t.createVNode(s.NumericTextBox,{size:r,value:i,onChange:e=>{this.inputChange(e.value,e.event)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"date":return t.createVNode(a.DatePicker,{size:r,value:i,onChange:e=>{this.inputChange(e.value,e)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"boolean":return o=this.$props.booleanValues,t.createVNode(u.DropDownList,{onChange:this.boolDropdownChange,size:r,value:o.find((e=>e.operator===(null!==i?i:""))),"data-items":o,textField:"text",title:this.$props.title,ariaLabel:this.ariaLabel},null);default:return t.createVNode(s.TextBox,{value:i||"",size:r,onInput:e=>{this.inputChange(e.target.value,e)},title:this.$props.title,"aria-label":this.ariaLabel},null)}}.call(this,this.$props.filterType,this.$props.value),t.createVNode("div",{class:"k-filtercell-operator"},[function(){if("boolean"!==this.$props.filterType)return t.createVNode(u.DropDownList,{onChange:this.operatorChange,value:o,size:r,class:"k-dropdown-operator",icon:"filter",svgIcon:n.filterIcon,iconClassName:"filter k-button-icon","data-items":this.$props.operators,textField:"text",title:e.toLanguageString(me,ht[me]),popupSettings:{width:"",anchor:""},ariaLabel:this.ariaLabel},null)}.call(this),t.createVNode(p.Button,{type:"button",size:r,icon:"filter-clear",svgIcon:n.filterClearIcon,class:{"k-disabled":!(null!==this.$props.value&&""!==this.$props.value||this.$props.operator)},title:e.toLanguageString(ie,ht[ie]),onClick:this.clear},null)])])]),h=this.$props.grid?i.getListeners.call(this.$props.grid):null,c=i.templateRendering.call(this.$props.grid,this.$props.render,h);return i.getTemplate.call(this,{h:t.h,template:c,defaultRendering:d,additionalProps:this.$props,additionalListeners:{change:this.triggerChange}})}});const Zt=t.defineComponent({name:"kendoFilterRow",props:{grid:Object,columns:Array,filter:Object,filterOperators:Object,sort:[Object,Array],cellRender:[String,Function,Object],isRtl:Boolean,ariaRowIndex:Number,size:String,onFilterchange:Function},inject:{kendoLocalizationService:{default:null}},methods:{headerCellClassName(e,t){let i=t?" k-grid-header-sticky":"";return this.$props.sort&&this.$props.sort.filter((t=>t.field===e)).length>0&&(i+=" k-sorted"),i},setFilter(e,t,i,r){const o=[];(""!==e&&null!==e||""!==t)&&o.push({field:i,operator:t,value:e}),this.$props.filter&&this.$props.filter.filters&&(this.$props.filter.filters||[]).forEach((e=>{const t=e;t&&t.field!==i&&o.push(t)}));const l=o.length>0?{logic:"and",filters:o}:null;this.$emit("filterchange",l,r)}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=l.provideLocalizationService(this),i=this.$props.filter&&this.$props.filter.filters||[],o=(e,t=null)=>{const r=i.filter((t=>t.field===e))[0];return r?r.value:t},n=e=>{const t=i.filter((t=>t.field===e))[0];return t?t.operator:null};let s=0,a=-1;const d=this.$props.columns.filter((e=>0===e.children.length)).map((function(i){const l=Tt(i.filter),d=(i.title||i.field)+" "+((e,t)=>{switch(e){case"text":return t.toLanguageString(Ye,ht[Ye]);case"numeric":return t.toLanguageString(we,ht[we]);case"boolean":return t.toLanguageString(Xe,ht[Xe]);case"date":return t.toLanguageString(Ue,ht[Ue]);default:return}})(l,e),h=t.createVNode(Qt,{grid:this.$props.grid,field:i.field,title:i.filterTitle,value:o(i.field,"text"===l?"":null),operator:n(i.field),operators:Ht(this.$props.filterOperators[l]||[],e),booleanValues:Ht(At,e),filterType:l,onChange:e=>{this.setFilter(e.value,e.operator,i.field,e)},render:i.filterCell||this.$props.cellRender,"aria-label":d,size:this.$props.size},null),c=i.declarationIndex>=0?++a:--s,p={ariaLabel:i.filterable?e.toLanguageString(ye,ht[ye]):void 0,ariaColumnIndex:i.ariaColumnIndex},u=void 0!==i.left?this.$props.isRtl?{left:i.right+"px",right:i.left+"px"}:{left:i.left+"px",right:i.right+"px"}:{},g=t.createVNode(r.HeaderTdElement,{key:c,role:"gridcell",columnId:r.tableKeyboardNavigationTools.getFilterColumnId(i.id),navigatable:i.navigatable,style:u,class:this.headerCellClassName(i.field,i.locked)||void 0,ariaColumnIndex:p.ariaColumnIndex,"aria-label":d},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(h)?h:{default:()=>[h]});return i.filterable&&g||t.createVNode(r.HeaderTdElement,{key:c,role:"gridcell",columnId:r.tableKeyboardNavigationTools.getFilterColumnId(i.id),navigatable:i.navigatable,style:u,class:this.headerCellClassName(i.field,i.locked)||void 0,ariaColumnIndex:p.ariaColumnIndex,"aria-label":d},null)}),this);return t.createVNode("tr",{class:"k-table-row k-filter-row","aria-rowindex":this.ariaRowIndex,role:"row"},[d])}}),ei=t.defineComponent({props:{title:String,dir:String,onRemove:Function,onSortChange:Function,onPress:Function,onDrag:Function,onRelease:Function},mounted(){this.element=i.getRef(this,"indicatorContainer"),this.element&&(this.draggable=this.$refs.draggable)},methods:{press(e){this.element&&this.$emit("press",e,this.element)},drag(e){this.element&&this.$emit("drag",e,this.element)},release(e){this.element&&this.$emit("release",e,this.element)},sortChange(e){e.preventDefault();const t="asc"===this.$props.dir?"desc":"asc";this.$emit("sortChange",e,t)},groupRemove(e){e.preventDefault(),this.$emit("remove",e)}},setup:()=>({indicatorContainerRef:t.ref(null)}),render(){return t.createVNode(i.Draggable,{onPress:this.press,onDrag:this.drag,onRelease:this.release,ref:"draggable"},{default:()=>[t.createVNode("div",{class:"k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md",ref:i.setRef(this,"indicatorContainer")},[t.createVNode(i.Icon,{name:"sort-"+this.$props.dir+"-small",class:"k-chip-icon",icon:"asc"===this.$props.dir?n.sortAscSmallIcon:n.sortDescSmallIcon},null),t.createVNode("span",{class:"k-chip-content",tabindex:-1,onClick:this.sortChange},[this.$props.title]),t.createVNode("span",{class:"k-chip-actions"},[t.createVNode("span",{class:"k-chip-action k-chip-remove-action",tabindex:-1,onClick:this.groupRemove},[t.createVNode(i.Icon,{name:"x-circle",icon:n.xCircleIcon},null)])])])]})}}),ti=t.defineComponent({props:{group:Array,resolveTitle:Function,ariaControls:String,onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function,onGroupChange:Function},inject:{kendoLocalizationService:{default:null}},methods:{pressHandler(e,t){this.$emit("pressHandler",e,t)},dragHandler(e,t){this.$emit("dragHandler",e,t)},releaseHandler(e){this.$emit("releaseHandler",e)},onGroupRemove(e,t){const i=this.$props.group.slice();i.splice(t,1),this.$emit("groupChange",i,e)},onGroupSortChange(e,t,i,r){const o=Object.assign({},i,{dir:r}),l=this.$props.group.slice();l.splice(t,1,o),this.$emit("groupChange",l,e)}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=this.$props.group||[],i=this.$props.ariaControls,r=e.map((function(e,i){return t.createVNode(ei,{key:i,dir:e.dir||"asc",title:this.$props.resolveTitle(e.field),onRemove:e=>this.onGroupRemove(e,i),onSortChange:(t,r)=>{this.onGroupSortChange(t,i,e,r)},onPress:this.pressHandler,onDrag:this.dragHandler,onRelease:this.releaseHandler},null)}),this),o=l.provideLocalizationService(this).toLanguageString(Je,ht[Je]);return t.createVNode("div",{class:"k-grouping-header",role:"toolbar","aria-label":o,"aria-controls":i},[!!r.length&&t.createVNode("div",{class:"k-chip-list k-chip-list-md"},[r]),t.createVNode("div",{class:"k-grouping-drop-container"},[!r.length&&l.provideLocalizationService(this).toLanguageString(J,ht[J])])])}}),ii=t.defineComponent({name:"Footer",props:{staticHeaders:Boolean,row:Object,columnResize:Object,cols:Array,size:String},data:()=>({scrollbarWidth:0,rtl:!1,tableWidth:null}),computed:{tableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-footer-table":!0,[`k-table-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}},divStyle(){const e=this.$data.scrollbarWidth+"px";return{padding:`0 ${this.rtl?0:e} 0 ${this.rtl?e:0}`}},tableStyle(){return this.tableWidth?{width:this.tableWidth}:null}},mounted(){this.rtl=C(this.$el),this.$props.columnResize.colGroupFooter=i.getRef(this,"colGroupHeader"),this._footerWrap=i.getRef(this,"footerWrap")},methods:{setScrollLeft(e){this._footerWrap&&(this._footerWrap.scrollLeft=e)},setWidth(e){this.$data.tableWidth=e+"px"}},setup(){const e=t.ref(null);return{colGroupHeaderRef:t.ref(null),footerWrapRef:e}},render(){return this.$props.staticHeaders?t.createVNode("div",{class:"k-grid-footer",style:this.divStyle,role:"presentation"},[t.createVNode("div",{class:"k-grid-footer-wrap",ref:i.setRef(this,"footerWrap"),role:"presentation"},[t.createVNode("table",{class:this.tableClass,style:this.tableStyle,role:"presentation"},[t.createVNode("colgroup",{ref:i.setRef(this,"colGroupHeader")},[this.$props.cols]),t.createVNode("tfoot",{class:"k-table-tfoot",role:"rowgroup"},[this.$props.row])])])]):t.createVNode("tfoot",{class:"k-table-tfoot k-grid-footer",role:"rowgroup"},[this.$props.row])}}),ri=t.defineComponent({name:"FooterRow",props:{isRtl:Boolean,columns:Array,rowIndex:Number},methods:{columnStyles(e){return void 0!==e.left?this.$props.isRtl?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}:{}}},render(){return t.createVNode("tr",{class:"k-table-row",role:"row","aria-rowIndex":this.$props.rowIndex},[N(this.$props.columns).map((function(e,r){let o=null;const l=e.locked&&void 0!==e.left?"k-grid-footer-sticky":"",n=e.footerClassName?`k-table-td ${e.footerClassName} ${l}`:"k-table-td "+l;return o=i.getTemplate.call(this,{h:t.h,template:e.footerCell,defaultRendering:null,additionalProps:{field:e.field,colSpan:1!==e.colSpan?e.colSpan:void 0,defaultStyle:this.columnStyles(e)}}),t.createVNode("td",{key:r,colspan:1!==e.colSpan?e.colSpan:void 0,style:this.columnStyles(e),class:n,role:"gridcell"},[o])}),this)])}});class oi{constructor(e,t){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.fixedScroll=!1,this.askedSkip=void 0,this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.topItems=(e,t)=>{if(!this.container||t)return{topItemsCount:0,topItemsHeight:0};const i=this.container.clientHeight,r=this.container.querySelectorAll(".k-group-footer").length,o=Math.ceil(i/e[0].line),l=Math.ceil(r/o),n=Math.max(l,Math.ceil((e.length-o)/2));let s=0;for(let t=0;t<n;t++)s+=e[t].line+e[t].acc;return{topItemsCount:n,topItemsHeight:s,itemsNeededOnScreen:o+o/2+(l?r/(1+l):0)}},this.horizontalScrollbarHeight=()=>this.container?this.container.offsetHeight-this.container.clientHeight:0,e&&(this.topCacheCount=t,this.attendedSkip=-this.topCacheCount),this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef}get rowHeights(){const e=[],t=this.tableBodyRef&&this.tableBodyRef.children||[];let i=0;for(let r=0;r<t.length;r++)t[r].className.indexOf("k-grouping-row")>-1?i+=t[r].scrollHeight:t[r].className.indexOf("k-detail-row")>-1?e[e.length-1].line+=t[r].scrollHeight:(e.push({line:t[r].scrollHeight,acc:i}),i=0);return e}changePage(e,t){this.attendedSkip=e-this.topCacheCount,this.PageChange({skip:Math.max(0,e-this.topCacheCount),take:this.pageSize},t)}translate(e){this.tableTranslate=e,this.scrollableVirtual&&this.table&&(this.table.style.transform="translateY("+e+"px)")}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0))}localScrollUp(e){if(!this.container)return;const t=this.rowHeights,i=this.container.scrollTop;let r=this.tableTranslate,o=0;const{topItemsCount:l,topItemsHeight:n,itemsNeededOnScreen:s}=this.topItems(t,!!this.topCacheCount),a=i-r;if(!(a>n||t.length<=s)){for(;o<this.topCacheCount+this.attendedSkip-this.realSkip+l&&this.propsSkip-o>0&&!(r+(t[t.length-1-o].line+t[t.length-1-o].acc)+a<=i);)r-=t[t.length-1-o].line+t[t.length-1-o].acc,o++;if(0===o&&0===this.topCacheCount&&this.attendedSkip>0&&(r=Math.max(r-t[0].line,0),o=1),this.propsSkip-o<=0&&r>i)return this.translate(0),this.changePage(0,e),void(this.container.scrollTop=0);if(r>i&&(r=i),r!==this.tableTranslate){this.translate(Math.max(0,r-n));const t=Math.max(0,this.propsSkip-o-l);this.changePage(t,e)}}}localScrollDown(e){if(!this.container)return;const t=this.rowHeights,i=this.container.scrollTop;let r=this.tableTranslate,o=0;const{topItemsCount:l,topItemsHeight:n,itemsNeededOnScreen:s}=this.topItems(t,!!this.topCacheCount);for(;o<t.length-this.topCacheCount&&!(r+t[o].line+t[o].acc>i);)r+=t[o].line+t[o].acc,o++;l>this.propsSkip+o||t.length<=s||(o>=t.length-this.topCacheCount&&this.propsSkip+o>=this.total?(this.translate(r-n),this.changePage(this.total-1-l,e)):r!==this.tableTranslate&&this.propsSkip+o-l!==this.propsSkip&&(this.translate(r-n),this.changePage(this.propsSkip+o-l,e)))}scrollNonStrict(e){const t=this.total*this.prevScrollPos/this.containerHeight;let i=Math.floor(t);i>=this.total&&(i=this.total-1);const r=Math.min(t-i,1);let o=0;const l=i-this.propsSkip,n=this.rowHeights;l>=0&&l<=1?o=-(n[0].line+n[0].acc)*r:-1===l&&(o=-(n[n.length-1].line+n[n.length-1].acc)*r);const{topItemsCount:s,topItemsHeight:a,itemsNeededOnScreen:d}=this.topItems(n,!!this.topCacheCount),h=Math.max(0,o-a-this.horizontalScrollbarHeight()+this.containerHeight*t/this.total);this.prevScrollPos<h&&n.length<=d||(this.translate(h),this.changePage(i-s,e))}scrollHandler(e){if(!this.scrollableVirtual)return;if(this.scrollSyncing||!this.container||!this.table)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,i=this.prevScrollPos;if(this.prevScrollPos=t,void 0!==this.askedSkip)return this.translate(this.containerHeight*this.askedSkip/this.total),this.changePage(this.askedSkip,e),this.prevScrollPos=t,void(this.askedSkip=void 0);t-i<0&&t>this.tableTranslate-this.table.scrollHeight/10?this.localScrollUp(e):t-i>0&&t<this.tableTranslate+2*this.table.scrollHeight/3?this.localScrollDown(e):this.scrollNonStrict(e),this.prevScrollPos=t}}let li=class{constructor(e=0,t,i,r){this.total=e,this.offsets=[],this.heights=[];let o=0;for(let l=0;l<e;l++){this.offsets.push(o);const e=r&&r[l].expanded&&"data"===r[l].rowType?i:t;o+=e,this.heights.push(e)}}height(e){return this.heights[e]}index(e){if(e<0)return;const t=this.offsets.reduce(((t,i,r)=>void 0!==t?t:i===e?r:i>e?r-1:void 0),void 0);return void 0===t?this.total-1:t}offset(e){return this.offsets[e]}totalHeight(){return this.offsets[this.offsets.length-1]+this.heights[this.heights.length-1]}};class ni{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.fixedScroll=!1,this.askedSkip=void 0,this.tableTransform="",this.scrollSyncing=!1,this.lastLoaded=0,this.firstLoaded=0,this.lastScrollTop=0,this.firstLoaded=this.pageSize,this.lastLoaded=this.realSkip+this.pageSize,this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef}translate(e){this.scrollableVirtual&&this.table&&(this.table.style.transform="translateY("+e+"px)")}changePage(e,t){this.PageChange&&this.PageChange({skip:Math.max(0,e),take:this.pageSize},t)}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0))}scrollHandler(e){if(!(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&this.containerRef))return;if(this.scrollSyncing)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,i=this.lastScrollTop>=t,r=!i;this.lastScrollTop=t;let o=this.rowHeightService.index(t),l=this.rowHeightService.offset(o);const{offsetHeight:n}=this.containerRef,s=this.rowHeightService.index(t+n);if(r&&s>=this.lastLoaded&&this.lastLoaded<this.total){const t=o+this.pageSize-this.total;t>0&&(o-=t,l=this.rowHeightService.offset(o)),this.firstLoaded=o,this.translate(l);const i=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(i,this.total),this.changePage(this.firstLoaded,e)}else if(i&&o<this.firstLoaded){const t=Math.floor(.3*this.pageSize);this.firstLoaded=Math.max(o-t,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,e)}}}class si{constructor(e){this.columns=[],this.columnsState=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.initWidths=()=>{var e;const t=(null==(e=this.colGroupMain)?void 0:e.children)||[],i=D(this.columnsState),r=this.columns.filter((e=>{var t;return!(null!=(t=e.children)&&t.length)}));for(let e=0;e<t.length;e++){const o=t[e];let l="";const n=i.find((t=>t.id===r[e].id));n&&(l=n.width||""),o.width=l,this.colGroupHeader&&(this.colGroupHeader.children[e].width=l),this.colGroupFooter&&(this.colGroupFooter.children[e].width=l)}},this.dragHandler=(e,t,i,r)=>{const o=e.originalEvent;r||(o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation());const l=i.closest("th");if(!l)return;const n=l.clientWidth;let s=n;if(this.isRtl?s+=i.getBoundingClientRect().right-i.offsetWidth/2-e.clientX:s+=e.clientX-i.getBoundingClientRect().left-i.offsetWidth/2,!r&&Math.abs(s-n)<1)return;this.fixateInitialWidths(l.parentElement.clientWidth),this.setWidths(t,Math.floor(s)/n);const a=this.columns.filter((e=>!e.children.length)).findIndex((e=>e.id===t.id));this.onResize(a,n,s,o,r,this.columnsState,t.id)},this.dblClickHandler=(e,t)=>{const i=this.columns.filter((e=>t.indexOf(e.id)>-1)),r=D(this.columnsState);if(!this.colGroupMain||!i.length)return;const o={},l=i;for(;l.length>0;){const e=l.pop();if(!e)break;e.children.length?l.push(...e.children):o[e.id]=e}const n=this.columns.filter((e=>!e.children.length)),s=[];n.forEach(((e,t)=>{o[e.id]&&s.push(t)}));const a=[this.colGroupMain.parentElement],d=[this.colGroupMain];this.colGroupHeader&&(a.push(this.colGroupHeader.parentElement),d.push(this.colGroupHeader)),this.colGroupFooter&&(a.push(this.colGroupFooter.parentElement),d.push(this.colGroupFooter)),a.forEach((e=>e.classList.add("k-autofitting")));const h=[];d.forEach((e=>{s.forEach((t=>{e.children[t]&&(e.children[t].width="",h[t]=Math.max(h[t]||0,e.children[t].offsetWidth+1))}))})),d.forEach((e=>{s.forEach((t=>{if(e.children[t]){e.children[t].width=h[t]+"px";const i=r.find((e=>e.id===n[t].id));i&&(i.width=h[t])}}))})),a.forEach((e=>e.classList.remove("k-autofitting"))),this.onResize(s[0],0,0,e,!0,this.columnsState,t[0])},this.updateColElements=e=>{var t,i,r;const o=this.columns.filter((e=>!e.hidden&&!e.children.length));let l=1e-10;for(let n=0;n<e.length;n++){const s=e[n],a=o.findIndex((e=>e.id===s.id)),d=parseFloat((s.width||0).toString()),h=Math.floor(d);l+=d-h;const c=h+Math.floor(l);l-=Math.floor(l);const p=o.find((e=>e.id===s.id));if(!p)return;if(null!=(t=this.colGroupMain)&&t.children[a]){const e=parseInt(this.colGroupMain.children[a].width,10);this.colGroupMain.children[a].width=c+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,p,e-c)}if(null!=(i=this.colGroupHeader)&&i.children[a]){const e=parseInt(this.colGroupHeader.children[a].width,10);this.colGroupHeader.children[a].width=c+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,p,e-c)}if(null!=(r=this.colGroupFooter)&&r.children[a]){const e=parseInt(this.colGroupFooter.children[a].width,10);this.colGroupFooter.children[a].width=c+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,p,e-c)}}},this.onResize=e}fixateInitialWidths(e){var t;let i=0;const r=(null==(t=this.colGroupMain)?void 0:t.children)||[];for(let t=0;t<r.length;t++)r[t].width?e-=r[t].clientWidth:i++;if(0===i)return;const o=Math.floor(e/i),l=D(this.columnsState),n=this.columns.filter((e=>!e.children.length));for(let e=0;e<r.length;e++){const t=r[e],i=t.width?t.clientWidth:o;t.width=i;const s=l.find((t=>t.id===n[e].id));s&&(s.width=i.toString()),this.colGroupHeader&&(this.colGroupHeader.children[e].width=i),this.colGroupFooter&&(this.colGroupFooter.children[e].width=i)}}setWidths(e,t){const i=D(this.columnsState),r=this.columns.findIndex((t=>t.id===e.id)),o=[];let l=e.children.filter((e=>!e.hidden)).length;for(let e=r+1;e<this.columns.length&&!(l<=0);e++){const t=this.columns[e];t.children.length?l+=t.children.filter((e=>!e.hidden)).length:o.push(t),l--}0===o.length&&o.push(e);const n=[];o.forEach((e=>{const r=i.find((t=>t.id===e.id));if(r){let i=r.width?parseFloat(r.width.toString())*t:0;const o=void 0===e.minResizableWidth?10:e.minResizableWidth;i<o&&(i=o),r.width=i,n.push(r)}})),this.updateColElements(n)}updateNextLockedCol(e,t,i){const r=t.index,o=this.colGroupMain.parentElement.closest(".k-grid"),l=null==o?void 0:o.clientWidth,n=this.columns.filter((e=>e.locked)).map((e=>parseInt(e.width+"",10))).reduce(((e,t)=>e+t),0);!t.locked||l<=n+20||this.columns.forEach((t=>{if(null!=t&&t.locked&&i){const o=null==e?void 0:e.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');null==o||o.forEach((e=>{const o=e.style;this.isRtl?(t.index>r&&null!=o&&o.right&&(o.right=parseInt(o.right,10)-i+"px"),t.index<r&&null!=o&&o.left&&(o.left=parseInt(o.left,10)-i+"px")):(t.index>r&&null!=o&&o.left&&(o.left=parseInt(o.left,10)-i+"px"),t.index<r&&null!=o&&o.right&&(o.right=parseInt(o.right,10)-i+"px"))}))}}))}}class ai{constructor(e,t,r){this.reorderable=!1,this.groupable=!1,this.dropElementClue=null,this.dragElementClue=null,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.groupPanelDivElement=null,this.refGroupPanelDiv=e=>{this.groupPanelDivElement=e.children?e.children[0]:e},this.refDropElementClue=e=>{this.dropElementClue=e,this.dropElementClue&&i.canUseDOM&&document.body.appendChild(this.dropElementClue.$el)},this.refDragElementClue=e=>{this.dragElementClue=e,this.dragElementClue&&i.canUseDOM&&document.body.appendChild(this.dragElementClue.$el)},this.pressHandler=(e,t)=>{e.isTouch||e.originalEvent.preventDefault();const i=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),i>=0){const e=this.columns[i];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=i)}},this.dragHandler=(e,t)=>{if(e.isTouch||e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),-1===this.startColumn&&-1===this.startGroup)return;this.currentColumn=this.getColumnIndex(e,t);const i=this.groupPanelDivElement&&this.groupPanelDivElement.children;this.currentGroup=this.isTargetGroupingContainer(e)?i&&i.length?i.length:0:this.getGroupIndex(e);const r=!this.isValid();r&&(this.currentColumn=-1,this.currentGroup=-1);const o=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.isTargetGroupingContainer(e)?e.originalEvent.target:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,o,r),this.updateDropElementClue(e,t,o,r)},this.releaseHandler=e=>{const t=this.startColumn,i=this.currentColumn,r=this.startGroup,o=this.currentGroup;this.dropElementClue&&(this.dropElementClue.visible=!1),this.dragElementClue&&(this.dragElementClue.visible=!1);const l=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,l&&(t>=0&&i>=0?this.columnReorder(t,i,e.originalEvent):r>=0&&o>=0?this.groupReorder(r,o,e.originalEvent):t>=0&&o>=0&&this.columnToGroup(t,o,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=r}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const i=x(e,t);if(-1===i)return-1;for(let e=0;e<t.parentNode.children.length;e++)if(t.parentNode.children[e]===t)return this.columns.findIndex((t=>t.index===i&&t.depth===e));return-1}isTargetGroupingContainer(e){const t=e.originalEvent.target;return t.className.indexOf&&-1!==t.className.indexOf("k-grouping-drop-container")}getGroupIndex(e){return x(e,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)}updateDragElementClue(e,t,i,r){if(!this.dragElementClue)return;const o=this.startColumn>=0?t.children[this.columns[this.startColumn].index].innerText:t.innerText;this.dragElementClue.visible=!0,this.dragElementClue.top=e.pageY+10,this.dragElementClue.left=e.pageX,this.dragElementClue.innerText=o,this.dragElementClue.status=r||!i?"cancel":"plus"}updateDropElementClue(e,t,i,r){if(!this.dropElementClue)return;if(r||!i)return void(this.dropElementClue.visible=!1);const o=i.getBoundingClientRect(),l=(i.closest(".k-grouping-header")||i).getBoundingClientRect();let n=o.left+e.pageX-e.clientX-6;!this.isTargetGroupingContainer(e)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(n+=o.width);const s=l.top+e.pageY-e.clientY;this.dropElementClue.visible=!0,this.dropElementClue.top=s,this.dropElementClue.left=n,this.dropElementClue.height=this.currentColumn>=0?t.clientHeight:l.height}}const di=t.defineComponent({data:()=>({visible:!1,top:0,left:0,innerText:"",status:"cancel"}),render(){return this.visible&&t.createVNode("div",{class:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.top+"px",left:this.left+"px"}},[t.createVNode(i.Icon,{name:this.status,class:"k-drag-status",icon:"cancel"===this.status?n.cancelIcon:n.plusIcon},null),this.innerText])}}),hi=t.defineComponent({data:()=>({height:0,visible:!1,left:0,top:0}),render(){return this.visible&&t.createVNode("div",{class:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.top+"px",left:this.left+"px",height:this.height+"px"}},null)}}),ci=t.defineComponent({name:"GridCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null},props:{id:String,field:String,dataItem:Object,format:String,readFormat:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,dataIndex:Number,rowType:String,level:Number,expanded:Boolean,type:String,editor:String,isSelected:Boolean,isHighlighted:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,onEdit:Function,onSave:Function,onRemove:Function,onCancel:Function,onChange:Function,onSelectionchange:Function},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},methods:{triggerClick(){this.$emit("cellclick",{dataItem:this.$props.dataItem,field:this.$props.field})},triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)}},created(){this._intl=l.provideIntlService(this)},computed:{tdClass(){const{className:e,isHighlighted:t}=this.$props;return{"k-table-td":!0,"k-highlighted":t,[e]:e}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){let e=null;const o=this.getKeyboardNavigationAttributes(this.$props.id);if("groupFooter"===this.$props.rowType)e=t.createVNode("td",{class:this.tdClass},null);else if(void 0!==this.$props.field&&"groupHeader"!==this.$props.rowType){const i=v(this.$props.field,this.$props.dataItem);let l="";null!=i&&(l=this.$props.format?this.$props.type?this._intl.format(this.$props.format,R[this.$props.type](i,this._intl,this.$props.readFormat)):this._intl.format(this.$props.format,i):i.toString()),e=t.createVNode("td",{style:this.$attrs.style,colspan:this.$props.colSpan,class:this.tdClass,onKeydown:this.triggerKeydown,onClick:this.triggerClick,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[l])}return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:e,additionalProps:this.$props,additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),pi=t.defineComponent({name:"KendoGridGroupCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,colSpan:Number,className:String,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,dataIndex:Number,isSelected:Boolean,isRtl:Boolean,ariaColumnIndex:Number,group:Object,render:[String,Function,Object]},emits:{change:null,cellkeydown:null},inject:{kendo:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},methods:{triggerStateChange(){var e;const t=this.kendo;null==(e=null==t?void 0:t.dispatchGroupExpand)||e.call(t,{type:r.GROUP_EXPAND_ACTION.TOGGLE,group:this.$props.group})},triggerKeydown(e,t){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,field:this.$props.field,expanded:this.$props.expanded}),!e.defaultPrevented&&e.keyCode===i.Keys.enter&&(e.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!t}),this.triggerStateChange())},clickHandler(e,t,i){e.preventDefault(),this.$emit("change",{dataItem:t,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!i}),this.triggerStateChange()}},render(){let e=null;const{columnIndex:o,level:s,columnsCount:a,rowType:d,dataItem:h,field:c,expanded:p,render:u}=this.$props,g=this.getKeyboardNavigationAttributes(this.$props.id),m=l.provideLocalizationService(this).toLanguageString(Qe,ht[Qe]),f=l.provideLocalizationService(this).toLanguageString(Ze,ht[Ze]);return void 0===o||void 0===s||o<s||void 0===a||"groupHeader"!==d||void 0===h[c]?e=t.createVNode("td",{style:this.$attrs.style,key:"g"+o,class:"k-table-td k-group-cell"},null):o<=s&&(e=t.createVNode("td",{style:this.$attrs.style,onKeydown:e=>{this.triggerKeydown(e,p)},key:"g-colspan",class:this.tdClass,colspan:a-o,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"aria-expanded":p,"data-grid-col-index":this.$props.columnIndex,tabindex:g.tabIndex,"data-keyboardnavlevel":g[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":g[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("p",{class:"k-reset"},[t.createVNode("a",{onClick:e=>{this.clickHandler(e,h,p)},href:"#",tabindex:-1,title:p?m:f,"aria-label":p?m:f},[t.createVNode(i.Icon,{name:p?"caret-alt-down":this.isRtl?"caret-alt-left":"caret-alt-right",icon:p?n.caretAltDownIcon:this.isRtl?n.caretAltLeftIcon:n.caretAltRightIcon},null)]),h[c]?h[c].toString():""])])),i.getTemplate.call(this,{h:t.h,template:u,defaultRendering:e,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}}),ui=t.defineComponent({name:"KendoGridRow",props:{rowType:String,dataItem:Object,isAltRow:Boolean,isHidden:Boolean,isHighlighted:Boolean,onClick:Function,isInEdit:Boolean,isSelected:Boolean,selectedField:String,rowHeight:Number,ariaRowIndex:Number,dataIndex:Number,render:[String,Function,Object],onRowclick:Function,onRowdblclick:Function},methods:{handleClick(e){this.$emit("rowclick",e)},handleDoubleClick(e){this.$emit("rowdblclick",e)}},computed:{trClass(){const{rowType:e,isAltRow:t,isInEdit:i,selectedField:r,isHighlighted:o}=this.$props;return{"k-table-row":!0,"k-selected":void 0!==r&&v(r,this.$props.dataItem),"k-highlighted":o,"k-table-group-row":"groupHeader"===e,"k-grouping-row":"groupHeader"===e,"k-group-footer":"groupFooter"===e,"k-master-row":"groupHeader"!==e&&"groupFooter"!==e,"k-table-alt-row":t,"k-edit-row":i}}},render(){const e=i.getDefaultSlots(this),r=t.createVNode("tr",{onClick:this.handleClick,onDblclick:this.handleDoubleClick,class:this.trClass,style:{height:this.$props.rowHeight?this.$props.rowHeight+"px":"",visibility:this.$props.isHidden?"hidden":""},role:"row","aria-rowindex":this.$props.ariaRowIndex,"data-grid-row-index":"data"===this.$props.rowType?this.$props.dataIndex:void 0},[e]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:r,additionalProps:this.$props,additionalListeners:{click:this.handleClick},defaultSlots:e,swapDefaultSlots:!0})}}),gi={autoProcessData:[Boolean,Object],topCacheCount:{type:Number,default:0},collapsedGroups:{type:Array,default:function(){return[]}},uniqueField:String,totalGroupedHeight:Number,allGroupedItems:Object,alternatePerGroup:Boolean,columns:Array,columnsState:{type:Array,default:function(){}},defaultColumnsState:{type:Array,default:function(){}},columnVirtualization:Boolean,dataItems:[Array,Object],sortable:[Boolean,Object],defaultSort:Array,sort:Array,filterable:Boolean,filterOperators:Object,filterCellRender:[String,Function,Object],headerCellRender:[String,Function,Object],showLoader:{type:Boolean,default:void 0},loader:[String,Function,Object,Boolean],defaultFilter:Object,filter:Object,defaultSearch:Object,search:Object,searchFields:Array,highlight:Object,pageable:[Boolean,Object],pageSize:Number,total:Number,skip:Number,defaultSkip:Number,take:Number,defaultTake:Number,expandField:String,expandColumn:Object,selectedField:String,cellRender:[String,Function,Object],rowRender:[String,Function,Object],resizable:Boolean,reorderable:Boolean,group:Array,defaultGroup:Array,groupable:[Boolean,Object],groupExpand:Array,defaultGroupExpand:Array,detailExpand:Object,defaultDetailExpand:Object,editField:String,rowClass:Function,scrollable:{type:String,default:"scrollable"},size:{type:String,default:"medium",validator:function(e){return["small","medium"].includes(e)}},pager:[String,Function,Object],rowHeight:Number,detailRowHeight:Number,detail:[String,Function,Object],columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:i.SvgIcon,dataItemKey:String,navigatable:{type:Boolean,default:!1},onItemchange:Function,onExpandchange:Function,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function,onGroupchange:Function,onSearchchange:Function,onGroupexpandchange:Function,onDetailexpandchange:Function},mi=t.defineComponent({props:{field:String,title:String,selectionValue:Boolean,render:[Object,Function,String]},created(){this.inputId=i.guid()},inject:{kendoLocalizationService:{default:null}},methods:{changeHandle(e){this.$emit("selectionchange",{field:this.$props.field,event:e})}},render(){const e=this.$props.render,r=l.provideLocalizationService(this).toLanguageString(M,ht[M]),o=t.createVNode("input",{checked:this.$props.selectionValue,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md","aria-label":r,onChange:this.changeHandle},null),n=i.getTemplate.call(this,{h:t.h,template:e,defaultRendering:o,additionalProps:{...this.$props,selectAll:r},additionalListeners:{selectionchange:this.changeHandle}}),s=e?n:t.createVNode("span",{class:"k-checkbox-wrap"},[n]);return t.createVNode("span",{class:"k-link"},[t.createVNode("span",{class:"k-column-title"},[s])])}}),fi=t.defineComponent({name:"GridNoRecords",inject:{kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=i.getDefaultSlots(this),r=l.provideLocalizationService(this).toLanguageString(z,ht[z]);return e?t.createVNode("div",null,[e]):r}}),vi={name:"@progress/kendo-vue-grid",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:0,version:"7.1.0-develop.3",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};function bi(e){const t=e.replace(/^pager\.([a-z])/,((e,t)=>"grid.pager"+t.toUpperCase()));return{messageKey:t,defaultMessage:ht[t]}}const Ci=Symbol("kendoKey");const xi=t.defineComponent({name:"KendoGrid",inheritAttrs:!1,props:{...gi,toolbar:{type:Object},noRecords:{type:Object}},data:()=>({isRtl:!1,context:void 0,navigation:void 0,showLicenseWatermark:!1,licenseMessage:void 0,notHiddenColumns:[]}),watch:{skip:function(e,t){this.onSkipChanged(e,t)},total:function(e,t){this.onTotalChanged(e,t)},rowHeight:function(e,t){this.onRowHeightChanged(e,t)}},created(){i.validatePackage(vi),this.showLicenseWatermark=i.shouldShowValidationUI(vi),this.licenseMessage=i.getLicenseMessage(vi),this.initialHeight=null,this._columns=[];const e=this.currentGroupable,t=this.getVirtualScroll();this.vs=new t(e||void 0===this.$props.rowHeight||0===this.$props.rowHeight,this.$props.topCacheCount),this.dragLogic=new ai(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnResize=new si(this.onResize.bind(this)),this._columnsMap=[[]],this._header=null,this._footer=null,this.forceUpdateTimeout=void 0,this._gridId=i.guid(),this._gridRoleElementId=i.guid(),this.slicedCurrentData=void 0,this._prevTotal=void 0},mounted(){var e,t;this.setRefs();const r=i.isRtl(this._element);this._prevTotal=this.$props.total,this.isRtl=r,this.initialHeight=(null==(t=null==(e=this._element)?void 0:e.style)?void 0:t.height)||null,this.resizeObserver=i.canUseDOM&&(null==window?void 0:window.ResizeObserver)&&new ResizeObserver(this.calculateMedia),null!=document&&document.body&&this.resizeObserver&&this.resizeObserver.observe(document.body)},updated(){this.setRefs();const e=i.isRtl(this._element);this.isRtl=e,this._prevTotal=this.$props.total,this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform="")},unmounted(){this.gridUnmounted()},computed:{gridId(){return this.$props.id+"-role-element-id"},idPrefix(){return this.$props.navigatable?this.gridId:""},groupExpandable(){return r.getGroupExpandableOptions("object"==typeof this.$props.groupable&&!1!==this.$props.groupable.enabled?this.$props.groupable.expandable:this.$props.groupable)},hierarchClass:()=>i.uGrid.hierarchyCell({}),rowSpannable(){return T(this.$props.rowSpannable)},detailExpandable(){return r.getDetailExpandableOptions(!!this.$props.detail)},nonscrollableWrapperClass(){const{size:e}=this.$props,t=this.$attrs.class;return{"k-grid":!0,"k-grid-md":!e,[`k-grid-${i.kendoThemeMaps.sizeMap[e]||e}`]:e,[t]:!!t}},scrollableWrapperClass(){const{scrollable:e}=this.$props;return{...this.nonscrollableWrapperClass,"k-grid-virtual":"virtual"===e}},gridTableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-table":!0,"k-grid-md":!e,[`k-table-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}},getCorrectHeight(){return"virtual"===this.$props.scrollable?this.initialHeight||"450px":null},currentGroupable(){var e;const t=null==(e=this.gridContext.group)?void 0:e.value;return!0===this.$props.groupable&&(null==t?void 0:t.length)||i.isObject(this.$props.groupable)&&!1!==this.$props.groupable.enabled},computedCollapsed(){let e=[];if(this.$props.group)for(let t=0;t<this.$props.group.length;t++)this.$props.collapsedGroups[t]?e.push(this.$props.collapsedGroups[t]):e.push([]);return e},getAriaRowCount(){const e=this.$props.dataItems,t=this.$props.total||(null==e?void 0:e.total)||(null==e?void 0:e.length)||0;return this.$props.detail?this._columnsMap.length+(this.$props.filterable?1:0)+2*t+(this._columns.some((e=>!!e.footerCell))?1:0):this.$props.pageable||"scrollable"!==this.$props.scrollable?this.$props.groupable?-1:this._columnsMap.length+(this.$props.filterable?1:0)+t+(this._columns.some((e=>!!e.footerCell))?1:0):void 0},getAriaColCount(){const e=this.$props.columns,t=this.$props.columnVirtualization,i=0!==(null==e?void 0:e.filter((e=>void 0!==e.hidden)).length);if(t||i)return 0!==(null==e?void 0:e.length)?null==e?void 0:e.length:-1}},methods:{readColumnElements(){return I(this.$props.columns,this.currentColumnsState,{prevId:0,idPrefix:this.idPrefix})},getResolvedFlatColumnsState(){const e=[],t=(i,r)=>null==i?void 0:i.forEach((i=>{const o=i.hidden||r;e.push({...i,hidden:o}),t(i.children,o)}));return t(this.currentColumnsState,!1),e},filterColumns(e){const t=this.getResolvedFlatColumnsState();return[e.filter((e=>{var i;return!(e.hidden||null!=(i=t.find((t=>t.id===e.id)))&&i.hidden)})),e.filter((e=>{var i;return e.hidden||(null==(i=t.find((t=>t.id===e.id)))?void 0:i.hidden)}))]},getFlatData(e,t,i,r,o,l,n){const s=[];return{flattedData:s,resolvedGroupsCount:b(s,e,t,{index:i},void 0!==r,o,l,this.groupExpandable.defaultExpand,n,this.$props.expandField)}},getColumnsEssentialProps:e=>e&&JSON.stringify(e.map((e=>({id:e.id,field:e.field,title:e.title,children:e.children})))),calculateMedia(){const e=this.filterHiddenColumns(this.$props.columns||[]);this.getColumnsEssentialProps(this.notHiddenColumns)!==this.getColumnsEssentialProps(e)&&this.$forceUpdate()},filterHiddenColumns(e){if(!e||0===e.length)return e;const t=e=>({...e,children:e.children&&e.children.length>0?this.filterHiddenColumns(e.children):e.children});return[...e].filter((e=>!e.hidden)).filter((e=>i.canUseDOM&&e&&e.media?window.matchMedia(e.media).matches:e)).map((e=>t(e)))},getColumns(){const e=this._columns.filter((e=>e.declarationIndex>=0&&-1===e.parentIndex)),t=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:i,parentIndex:r,depth:o,colSpan:l,rowSpan:n,index:s,kFirst:a,children:d,...h}=e;return d.length?{children:t(d),...h}:h})));return t(e)},setRefs(){const e=i.getRef(this,"gridNav");e&&(this._element=e.$el);const t=i.getRef(this,"groupPanelDiv");if(t){let e=t.$el||null;this.dragLogic.refGroupPanelDiv(e)}const r=i.getRef(this,"dropElementClue"),o=i.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(r),this.dragLogic.refDragElementClue(o),this.columnResize.colGroupMain=i.getRef(this,"colGroup"),this._header=i.getRef(this,"header"),this._footer=i.getRef(this,"footer"),this.vs.containerRef=i.getRef(this,"scrollContainer"),this.vs.table=i.getRef(this,"scrollTable"),this.resetTableWidth(),this.vs.tableBodyRef=i.getRef(this,"scrollTableBody")},gridUnmounted(){clearTimeout(this.forceUpdateTimeout),this.columnResize.columns=[],this.dragLogic.columns=[],this.dragLogic&&this.dragLogic.dragElementClue&&(this.dragLogic.dragElementClue.$el.remove(),this.dragLogic.dropElementClue.$el.remove()),this.currentData=[],this._columns=[],null!=document&&document.body&&this.resizeObserver&&this.resizeObserver.disconnect()},resetVirtual(){this.vs.PageChange=this.pageChangeHandler,this.vs.realSkip=this.$props.skip||0,this.vs.pageSize=(void 0!==this.$props.take?this.$props.take:this.$props.pageSize)||0,this.vs.scrollableVirtual="virtual"===this.$props.scrollable,this.vs.propsSkip=(this.$props.skip||0)+("virtual"===this.$props.scrollable?this.vs.topCacheCount+(this.vs.attendedSkip-(this.$props.skip||0)):0)},getVirtualScroll:()=>oi,isAllData(){const{dataItems:e,total:t}=this.$props;return Array.isArray(e)?e.length===t:!!e&&t===e.total},initializeVirtualization(e){if((this.$props.total!==this._prevTotal||"virtual"===this.$props.scrollable!==this.vs.scrollableVirtual)&&this.vs.reset(),this.resetVirtual(),this.vs.total=e,void 0!==this.$props.rowHeight&&this.$props.rowHeight>0&&!this.currentGroupable)this.vs.containerHeight=Math.min(1533915,this.$props.rowHeight*(e||0));else if(this.$props.totalGroupedHeight)this.vs.containerHeight=Math.min(1533915,this.$props.totalGroupedHeight);else if(this.$props.allGroupedItems&&this.$props.allGroupedItems.data){const e=this.totalGroupedRows(V(this.$props.allGroupedItems,this.computedCollapsed,this.$props.uniqueField).data);this.vs.containerHeight=Math.min(1533915,this.$props.rowHeight*e)}else this.vs.containerHeight=1533915;if(this.slicedCurrentData=void 0,this.vs instanceof ni){const{rowHeight:t=0,detail:i,expandField:r}=this.$props;let{detailRowHeight:o=0}=this.$props;o=i&&r?o:t,this.isAllData()?(this.vs.total=this.currentData.length,this.slicedCurrentData=this.currentData.slice(this.vs.realSkip,this.vs.realSkip+this.vs.pageSize),this.vs.rowHeightService=this.rowHeightService(this.vs,this.currentData.length,t,o,this.currentData)):this.vs.rowHeightService=new li(e,t,o);const l=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=H?Math.min(A,l):l}},onSkipChanged(e,t){Math.max(0,this.vs.attendedSkip)!==e&&void 0!==e&&(this.vs.attendedSkip=e,this.vs.propsSkip=(e||0)+("virtual"===this.$props.scrollable?this.vs.topCacheCount+(this.vs.attendedSkip-(e||0)):0))},onTotalChanged(e,t){const i=this.currentGroupable;this.vs.reset(),this.vs=new oi(i||void 0===this.$props.rowHeight||0===this.$props.rowHeight,this.$props.topCacheCount),this.resetVirtual(),this.setRefs()},onRowHeightChanged(e,t){const i=this.currentGroupable;this.vs.reset(),this.vs=new oi(i||void 0===this.$props.rowHeight||0===this.$props.rowHeight,this.$props.topCacheCount),this.resetVirtual(),this.setRefs()},scrollHandler(e){clearTimeout(this.forceUpdateTimeout),this.$props.columnVirtualization&&!this.vs.scrollableVirtual&&(this.forceUpdateTimeout=setTimeout((()=>{this.$forceUpdate()}),0)),this._header&&this._header.setScrollLeft(e.currentTarget.scrollLeft),this._footer&&this._footer.setScrollLeft(e.currentTarget.scrollLeft),this.vs&&this.vs.scrollHandler(e),this.$emit("scroll",e)},rowClick(e,t){"checkbox"!==e.target.type&&this.$emit("rowclick",{dataItem:t.dataItem,...this.getArguments(e)})},rowDoubleClick(e,t){"checkbox"!==e.target.type&&this.$emit("rowdblclick",{dataItem:t.dataItem,...this.getArguments(e)})},loopGroupedItems(e,t,i=0,r=null){return e.forEach((e=>{!r&&t(e,i)&&(r=e),e.items&&e.items.length&&!r&&(r=this.loopGroupedItems(e.items,t,i+1,r))})),r},updateGroupCollapsed(e){let t=this.computedCollapsed,i=t[e.level];const r=this.$props.uniqueField,o=this.allGroupedItems?this.loopGroupedItems(this.allGroupedItems.data,(function(t,i){return t.value===e.dataItem.value&&i===e.level}),0,null):e.dataItem,l=E(o||e.dataItem,r);if(e.value){if(i&&i.length){const e=i.indexOf(l);e>-1&&i.splice(e,1)}}else i?i.includes(l)||i.push(l):i=[l];return t},itemChange(e){var t;const r=i.hasListener.call(this,"itemchange"),o=null==(t=this.gridContext.group)?void 0:t.value;e.field===this.$props.expandField||(o||this.$props.detail)&&void 0===e.field?i.hasListener.call(this,"expandchange")&&e.dataItem&&this.$emit("expandchange",{...this.getArguments(e.event),collapsedGroups:this.updateGroupCollapsed(e),dataItem:e.dataItem,value:e.value}):r&&this.$emit("itemchange",{...this.getArguments(e.event),dataItem:e.dataItem,field:e.field,value:e.value})},cellClickHandler(e){this.$emit("cellclick",{dataItem:e.dataItem,field:e.field})},cellKeydownHandler(e){this.$emit("cellkeydown",e)},editHandler(e){this.$emit("edit",{dataItem:e})},removeHandler(e){this.$emit("remove",{dataItem:e})},saveHandler(e){this.$emit("save",{dataItem:e})},cancelHandler(e){this.$emit("cancel",{dataItem:e})},selectionChangeHandler(e){const{event:t,dataItem:i,dataIndex:r,columnIndex:o}=e;this.$emit("selectionchange",{...this.getArguments(t.event),dataItem:i,startColIndex:o,endColIndex:o,startRowIndex:r,endRowIndex:r,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,isDrag:!1,componentId:this._gridId,selectedField:this.$props.selectedField||""})},onHeaderSelectionChangeHandler(e){this.$emit("headerselectionchange",{field:e.field,event:e.event,target:this})},pageChangeHandler(e,t){this.raiseDataEvent("pagechange",{page:e,event:t},{skip:e.skip,take:e.take},t)},sortChangeHandler(e,t){this.raiseDataEvent("sortchange",{sort:e},{sort:e},t)},filterChangeHandler(e,t){this.raiseDataEvent("filterchange",{filter:e},{filter:e,skip:0},t)},groupChangeHandler(e,t){this.raiseDataEvent("groupchange",{group:e},{group:e,skip:0},t)},handleDetailExpandAction(e,t){var i;if(this.detailExpandable.enabled){const o=null==(i=this.gridContext.detailExpand)?void 0:i.value,l=r.detailExpandReducer(null!=o?o:{},e);this.raiseDataEvent("detailexpandchange",{...this.getArguments(t),detailExpand:l})}},handleGroupExpandAction(e,t){var i;if(this.groupExpandable.enabled){const o=null==(i=this.gridContext.groupExpand)?void 0:i.value,l=r.groupExpandReducer(null!=o?o:[],e,this.groupExpandable);this.$props.expandField||this.raiseDataEvent("groupexpandchange",{...this.getArguments(t),groupExpand:l})}},raiseDataEvent(e,t,r,o){this.$props.autoProcessData?this.gridContext[e]({...this.getArguments(o),...t}):i.hasListener.call(this,e)?this.$emit(e,{...this.getArguments(o),...t}):i.hasListener.call(this,"datastatechange")&&this.$emit("datastatechange",{...this.getArguments(o),data:{...this.getDataState(),...r}})},columnReorder(e,t,i){const o=this._columns[e],l=D(this.currentColumnsState),n=o.depth,s=e=>{do{e++}while(e<this._columns.length&&this._columns[e].depth>n);return e},a=this._columns.splice(e,s(e)-e);this._columns.splice(e<t?s(t-a.length):t,0,...a),this._columns.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>{e.orderIndex=t;const i=l.find((t=>t.id===e.id));i&&(i.orderIndex=t)}));const d=this._columns[e].locked&&this._columns[t].locked;r.updateLeft(this._columnsMap,this._columns,d||this.shouldUpdateLeftRightRef),r.updateRight(this._columnsMap,this._columns,d||this.shouldUpdateLeftRightRef),this.resizedRef&&(this.shouldUpdateLeftRightRef=!1,this.resizedRef=!1);const h=this.getColumns();this.$emit("columnreorder",{target:this,columns:h,event:i,prev:e,next:t}),this.gridContext.columnsstatechange({columnsState:this.currentColumnsState})},groupReorder(e,t,i){var r;const o=null==(r=this.gridContext.group)?void 0:r.value;void 0!==o&&(o.splice(t,0,...o.splice(e,1)),this.groupChangeHandler(o,i))},columnToGroup(e,t,i){var r;const o=this._columns[e].field;if(!o)return;const l=((null==(r=this.gridContext.group)?void 0:r.value)||[]).slice();l.splice(t,0,{field:o}),this.groupChangeHandler(l,i)},resetTableWidth(){let e=0;if(!this.columnResize.colGroupMain)return;const t=this.columnResize.colGroupMain.children;for(let i=0;i<t.length;i++){const r=t[i].width;if(!r)return;e+=parseFloat(r.toString())}e=Math.round(e),this._header&&this._header.setWidth(e),this._footer&&this._footer.setWidth(e),this.vs.table&&(this.vs.table.style.width=e+"px")},onResize(e,t,i,r,o,l,n){this.resetTableWidth(),this.shouldUpdateLeftRightRef=!0,this.resizedRef=!0,this.$emit("columnresize",{columns:this.getColumns(),index:e,targetColumnId:n,event:r,newWidth:t,oldWidth:i,end:o,target:this}),o&&this.gridContext.columnsstatechange({columnsState:l})},initColumnsState(e,t){const i=e=>{var r;const o=t.find((t=>t.id===e.id));if(o){const t={...o};return t.children=null==(r=e.children)?void 0:r.map(i),t}return e};this.currentColumnsState=e.filter((e=>-1===e.parentIndex)).map(i)},configureColumns(e,o){e.filter((e=>"checkbox"===e.columnType)).forEach((e=>{e.width=e.width||"50px",e.defaultCell=t.markRaw(G),e.defaultHeaderCell=t.markRaw(mi),e._type="edit"})),this.$props.selectedField&&this._columns.filter((e=>e.field===this.$props.selectedField)).forEach((e=>{e.width=e.width||"50px",e.internalCell=t.markRaw(G),e.internalHeaderCell=t.markRaw(mi)}));const l=D(this.currentColumnsState);this.initColumnsState(e,l);const n={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let s=0;if(console.log(this.detailExpandable.enabled,this.$props.detail),this.detailExpandable.enabled&&this.$props.detail&&!this.$props.expandField){const i={...n,_type:"expand",id:r.tableKeyboardNavigationTools.generateNavigatableId(""+s++,"expand","column"),defaultCell:t.markRaw(ct),internalCell:t.markRaw(ct),field:this.detailExpandable.column,headerClassName:this.hierarchClass};e.unshift(i),this.currentColumnsState.unshift(l.find((e=>e.id===i.id))||i)}this.$props.expandField&&i.hasListener.call(this,"expandchange")&&this.$props.detail&&(e.unshift({...n,internalCell:t.markRaw(ct),field:this.$props.expandField,headerClassName:"k-hierarchy-cell k-header",id:r.tableKeyboardNavigationTools.generateNavigatableId(`${e.length}`,this.idPrefix,"column"),...this.expandColumn}),s++);for(let i=0;i<o;i++){const i={...n,isAccessible:!1,defaultCell:t.markRaw(pi),internalCell:t.markRaw(pi),id:r.tableKeyboardNavigationTools.generateNavigatableId(""+s++,"group","column"),field:"value",locked:this.$props.lockGroups};e.unshift(i),this.currentColumnsState.unshift(l.find((e=>e.id===i.id))||i)}e.slice(s).forEach((e=>{e.parentIndex>=0&&(e.parentIndex+=s),e.rowSpannable=void 0!==e.rowSpannable?T(e.rowSpannable):this.rowSpannable}))},initColumns(e,t){var i;this._columns=this.readColumnElements();const r=null==(i=this.gridContext.group)?void 0:i.value;0===this._columns.filter((e=>!e.hidden)).length&&(this._columns=w(e,r,{column:this.$props.expandField?this.$props.expandField:this.groupExpandable.column},{prevId:0,idPrefix:this.idPrefix})),this.configureColumns(this._columns,t);const[o,l]=this.filterColumns(this._columns);this._columns=o,this.hiddenColumnsRef=l,this._columnsMap=S(this._columns,!0)},resolveTitle(e){const t=this.findColumnByField(e),i=t&&(t.title||t.field);return void 0===i?e:i},findColumnByField(e){let t;return this.$props.columns.forEach((i=>{const r=this.searchColumn(i,e);r&&(t=r)})),t},searchColumn(e,t){if(e.field===t)return e;if(e.children){let i,r=null;for(i=0;null==r&&i<e.children.length;i++)r=this.searchColumn(e.children[i],t);return r}return null},getDataState(){return{filter:this.$props.filter,sort:this.$props.sort,skip:this.$props.skip,take:void 0!==this.$props.take?this.$props.take:this.$props.pageSize,group:this.$props.group}},getArguments(e){return{event:e,target:this}},getLeafDataItems(){return this.currentData.filter((e=>"data"===e.rowType)).map((e=>e.dataItem))},totalGroupedRows(e){let t=0;return e&&(t=this.addSubItems(e,t)),t},addSubItems(e,t){return e.forEach((e=>{t++,!1!==e.expanded&&e.items&&(t=this.addSubItems(e.items,t)),this.group&&this.group.length&&("always"===this.$props.groupable.footer||!1!==e.expanded&&e.items&&"visible"===this.$props.groupable.footer)&&t++})),t},searchChange(e){const t=this.$props.searchFields||this._columns.map((e=>e.field))||[],i=e.event.target.value,r={logic:"or",filters:t.filter((e=>void 0!==e)).map((e=>{var t;return"string"==typeof e?{field:e,value:i,operator:"contains"}:{value:i,operator:null!=(t=e.operator)?t:"contains",field:e.field,ignoreCase:e.ignoreCase}}))};this.raiseDataEvent("searchchange",{search:r},{skip:0},e)},getCellsToRender(e,t){var i;const r=[];let o=null,l=0;if(t.forEach(((i,n)=>{const s=parseFloat((i.width||"").toString())||10;if(l)return l--,void(o&&(o.width+=s));const a=Math.min(L(i,e),t.length-n);l=a-1,o={width:s,colSpan:a,columnIndex:n},r.push(o)})),this.$props.columnVirtualization){const e=this.scrollLeft||0,o=this.tableWidth||parseFloat(((null==(i=this.$attrs.style)?void 0:i.width)||"").toString());return function(e){const{cellModels:t,columns:i=[],tableViewPortWidth:r,scrollLeft:o}=e;let l=0,n=t.length-1,s=0,a=0;for(let e=0;e<t.length;e++)if(!i[t[e].columnIndex].locked&&(s=a,a+=t[e].width||10,a>=o)){l=e;break}for(let e=l;e<t.length;e++)if(!i[t[e].columnIndex].locked){if(!(s<r+o))break;s+=t[e].width||10,n=e}l>0&&l--,n<t.length-1&&n++;let d=0,h=0;for(let e=0;e<l;e++)i[t[e].columnIndex].locked||(d+=t[e].colSpan);for(let e=n+1;e<t.length;e++)i[t[e].columnIndex].locked||(h+=t[e].colSpan);t[l].colSpan+=d,t[n].colSpan+=h;const c=t.slice(0,l).filter((e=>i[e.columnIndex].locked)),p=t.slice(n+1).filter((e=>i[e.columnIndex].locked));return[...c,...t.slice(l,n+1),...p]}({cellModels:r,columns:t,tableViewPortWidth:o,scrollLeft:e})}return r}},provide(){return{kendo:{dataItemKey:this.$props.dataItemKey,searchChange:this.searchChange,dispatchGroupExpand:this.handleGroupExpandAction,dispatchDetailExpand:this.handleDetailExpandAction}}},setup(e){const i=t.ref(null),r=t.ref(null),o=t.ref(null),l=t.ref(null),n=t.ref(null),s=t.ref(null),a=t.ref(null),d=t.ref(null),h=t.ref(null),c=t.ref(null),p=t.ref(!0),u=t.ref(!1);return{groupPanelDivRef:i,dropElementClueRef:r,dragElementClueRef:o,headerRef:l,footerRef:n,gridNavRef:s,colGroupRef:a,scrollContainerRef:d,scrollTableRef:h,scrollTableBodyRef:c,gridContext:t.inject(Ci,{}),shouldUpdateLeftRightRef:p,resizedRef:u,currentColumnsState:e.columnsState}},render(){var e,l,n,s,a,d,c,p,u,m,f,v,b;const C=null==(e=this.gridContext.sort)?void 0:e.value,x=null==(l=this.gridContext.filter)?void 0:l.value,$=null==(n=this.gridContext.search)?void 0:n.value,k=null==(s=this.gridContext.skip)?void 0:s.value,S=null==(a=this.gridContext.take)?void 0:a.value,I=null==(d=this.gridContext.group)?void 0:d.value,y=null==(c=this.gridContext.groupExpand)?void 0:c.value,w=null==(p=this.gridContext.detailExpand)?void 0:p.value;this.currentColumnsState=null==(u=this.gridContext.columnsState)?void 0:u.value,console.log("detailExpand",w);const N="virtual"===this.$props.scrollable||void 0===this.$props.scrollable&&this.$props.isClient||!1,R=!0===this.$props.autoProcessData?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:this.$props.autoProcessData;let F=this.$props.total||0;const D=r.tableKeyboardNavigationTools.getIdPrefix(this.navigation);let H=[];Array.isArray(this.$props.dataItems)?H=this.$props.dataItems:this.$props.dataItems&&(H=V(this.$props.dataItems,this.$props.collapsedGroups.length?this.computedCollapsed:[],this.$props.uniqueField).data,F=F||this.$props.dataItems.total);const A=!0===this.$props.groupable||i.isObject(this.$props.groupable)&&!1!==this.$props.groupable.enabled;this.dragLogic.reorderable=this.$props.reorderable||!1,this.dragLogic.groupable=A,this.initializeVirtualization(F);const O=H.length===F,L=i.isObject(this.$props.groupable)&&this.$props.groupable.footer||"none";if(this.currentData=[],R){const e=R.page&&!(N&&!this.$props.pageable),{data:t,total:i}=h.process(H,{group:R.group?I:void 0,sort:R.sort?C:void 0,filter:r.combineFilters(R.filter?x:void 0,R.search?$:void 0),...e?{take:this.$props.pageable?S||10:S,skip:k||0}:{}});H=t,F=null!=(m=this.$props.total)?m:i}const{resolvedGroupsCount:T,flattedData:G}=this.getFlatData(H,L,O?0:this.$props.skip||0,I,w,y,this.$props.dataItemKey);this.currentData=G,this.initColumns(this.$props.dataItems,T),this.columnResize.resizable=this.$props.resizable||!1,this.columnResize.columns=this._columns,this.columnResize.columnsState=i.cloneArray(this.currentColumnsState||[]),this.dragLogic.columns=this._columns;const z=this.$props.toolbar,M=this.$props.noRecords,_=this._columns.filter((e=>0===e.children.length)),j=A&&t.createVNode(ti,{ref:e=>{this.groupPanelDivRef=e},group:I||[],ariaControls:this._gridRoleElementId,onGroupChange:this.groupChangeHandler,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,resolveTitle:this.resolveTitle},null),B=(this.dragLogic.reorderable||this.dragLogic.groupable)&&i.canUseDOM&&document&&document.body,K=[B&&t.createVNode(hi,{ref:e=>{this.dropElementClueRef=e}},null),B&&t.createVNode(di,{ref:e=>{this.dragElementClueRef=e}},null)],P=t.createVNode(ft,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.$props.scrollable,ref:e=>{this.headerRef=e},headerRow:t.createVNode(Jt,{grid:this,sort:C,groupable:this.$props.groupable,reorderable:this.$props.reorderable,sortable:this.$props.sortable,onSortChange:this.sortChangeHandler,filter:x,filterable:this.$props.filterable,filterOperators:this.$props.filterOperators||Et,onFilterChange:this.filterChangeHandler,columnMenu:this.$props.columnMenu,columnMenuIcon:this.$props.columnMenuIcon,columnMenuAnimate:this.$props.columnMenuAnimate,onSelectionchange:this.onHeaderSelectionChangeHandler,columns:this._columns,columnsInitial:this.$props.columns,columnResize:this.columnResize,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,columnsMap:this._columnsMap,cellRender:this.$props.headerCellRender,isRtl:this.isRtl,isColCountDefined:void 0!==this.getAriaColCount,filterRow:this.$props.filterable&&t.createVNode(Zt,{grid:this,size:this.$props.size,columns:this._columns,filter:x,filterOperators:this.$props.filterOperators||Et,onFilterchange:this.filterChangeHandler,sort:this.$props.sort,cellRender:this.$props.filterCellRender,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1},null)||void 0},null),cols:_.map((function(e,i){return t.createVNode("col",{key:i.toString(),width:void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0},null)}),this)},null),W=this._columns.some((e=>!!e.footerCell))?t.createVNode(ii,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.$props.scrollable,ref:e=>{this.footerRef=e},row:t.createVNode(ri,{isRtl:this.isRtl,rowIndex:this.getAriaRowCount+1,columns:this._columns},null),cols:_.map((function(e,i){return t.createVNode("col",{key:i.toString(),width:void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0},null)}),this)},null):t.createVNode("span",null,null),q=this.showLicenseWatermark?t.createVNode(i.WatermarkOverlay,{message:this.licenseMessage},null):null,U=this.$attrs.style,Y=U&&i.isObject(U)&&U.width||"";this.tableWidth=parseFloat(Y.toString()),this.scrollLeft=(null==(v=null==(f=this.vs)?void 0:f.container)?void 0:v.scrollLeft)||0;const X=_.findIndex((e=>"function"==typeof e.colSpan))>-1;let J;X||(J=this.getCellsToRender(null,_));const Q=function(e,o,l){let n=!1;const s=this.$props.selectedField,a=s?i.getNestedValue(s,e.dataItem):void 0,d=this.$props.highlight&&this.$props.dataItemKey&&void 0!==i.getter(this.$props.dataItemKey)(e.dataItem)?this.$props.highlight[i.getter(this.$props.dataItemKey)(e.dataItem)]:void 0;return X&&(J=this.getCellsToRender(e.dataItem,_)),{row:J.map((function({columnIndex:s,colSpan:h}){const c=_[s],p=`${c.className?c.className+" ":""}${c.locked?"k-grid-content-sticky":""}`,u=void 0!==c.left?this.isRtl?{left:c.right+"px",right:c.left+"px"}:{left:c.left+"px",right:c.right+"px"}:{};let g,m=!1;if(c.editable&&this.$props.editField){const t=i.getNestedValue(this.$props.editField,e.dataItem);(!0===t||t===c.field)&&(n=!0,m=!0)}c.cell&&(g=c.cell);const f=this.computedCollapsed&&this.computedCollapsed[e.level]&&this.computedCollapsed[e.level].some((t=>t===E(e.dataItem,this.$props.uniqueField))),v=c.id?c.id:s,b=f?!f:e.expanded,C="expand"===c._type,x=r.tableKeyboardNavigationTools.generateNavigatableId(`${o}-${String(s)}`,D,C||"groupHeader"===e.rowType||"groupFooter"===e.rowType||"value"===c.field?"nodata":"cell");return c.internalCell?t.createVNode(c.internalCell,{key:v,id:x,colSpan:h,dataItem:e.dataItem,field:c.field||"",editor:c.editor,format:c.format,readFormat:c.readFormat,type:c.type,className:p,render:g||this.$props.cellRender,onChange:this.itemChange,onSelectionchange:t=>this.selectionChangeHandler({event:t,dataItem:e.dataItem,dataIndex:l,columnIndex:s}),columnIndex:s,columnsCount:this._columns.filter((e=>!e.children.length)).length,rowType:e.rowType,level:e.level,expanded:b,dataIndex:e.dataIndex,style:u,ariaColumnIndex:c.ariaColumnIndex,isRtl:this.isRtl,isSelected:Array.isArray(a)&&a.indexOf(s)>-1,isHighlighted:!("boolean"==typeof d||!d||!c.field||!0!==d[c.field]),group:e.group},null):m?t.createVNode(gt,{id:x,key:v,colSpan:h,dataItem:e.dataItem,field:c.field||"",editor:c.editor,format:c.format,readFormat:c.readFormat,type:c.type,className:p,render:g||this.$props.cellRender,onEdit:this.editHandler,onRemove:this.removeHandler,onSave:this.saveHandler,onCancel:this.cancelHandler,onChange:this.itemChange,columnIndex:s,columnsCount:this._columns.filter((e=>!e.children.length)).length,rowType:e.rowType,level:e.level,expanded:b,dataIndex:e.dataIndex,style:u},null):t.createVNode(ci,{key:v,id:x,colSpan:h,dataItem:e.dataItem,field:c.field||"",editor:c.editor,format:c.format,readFormat:c.readFormat,type:c.type,className:p,render:g||this.$props.cellRender,onCellclick:this.cellClickHandler,onCellkeydown:this.cellKeydownHandler,onEdit:this.editHandler,onRemove:this.removeHandler,onSave:this.saveHandler,onCancel:this.cancelHandler,onChange:this.itemChange,onSelectionchange:t=>this.selectionChangeHandler({event:t,dataItem:e.dataItem,dataIndex:l,columnIndex:s}),columnIndex:s,columnsCount:this._columns.filter((e=>!e.children.length)).length,rowType:e.rowType,level:e.level,expanded:b,dataIndex:e.dataIndex,style:u,isSelected:Array.isArray(a)&&a.indexOf(s)>-1,isHighlighted:!("boolean"==typeof d||!d||!c.field||!0!==d[c.field])},null)}),this),isInEdit:n,isSelected:"boolean"==typeof a&&a,isHighlighted:"boolean"==typeof d&&d}};let Z=0;if("virtual"===this.$props.scrollable&&this.totalGroupedRows(this.currentData)/2>this.$props.take){const e=this.vs.topCacheCount+this.vs.attendedSkip-(this.$props.skip||0);for(let t=0;t<e;){const e=this.currentData.shift();if(!e)break;this.currentData.push(e),Z++,"groupHeader"===e.rowType&&t--,t++}}const ee=e=>e>=this.currentData.length-Z;let te=this.vs.propsSkip||0;const ie=this._columnsMap.length+(this.$props.filterable?1:0)+1;let re,oe=-1,le=0;const ne=this.currentData.length&&this.currentData.map((function(e,o){"data"===e.rowType&&(te++,oe++),this.$props.alternatePerGroup&&"groupHeader"===e.rowType&&(te=0);const l=te%2==0,n=this.$props.dataItemKey&&i.getter(this.$props.dataItemKey)(e.dataItem),s=o+(this.vs.propsSkip||0),a=n||"ai"+s,d=a+"_1";let h;re=s+ie+le,this.$props.detail&&"data"===e.rowType&&(e.expanded||e.dataItem.expanded)&&(h=_.length-(this.detailExpandable.enabled||this.$props.expandField?1:0)-(I?I.length:0)||1,le++,re=s+ie+le);const c=2*o+ie,p=2*o+ie+1,u=Q.call(this,e,a,oe);return[t.createVNode(ui,{key:a,dataItem:e.dataItem,isAltRow:l,isInEdit:u.isInEdit,isSelected:u.isSelected,isHighlighted:u.isHighlighted,rowType:e.rowType,isHidden:ee(o),onRowclick:t=>this.rowClick(t,e),onRowdblclick:t=>this.rowDoubleClick(t,e),selectedField:this.$props.selectedField,rowHeight:this.$props.rowHeight,render:this.$props.rowRender,ariaRowIndex:this.$props.detail?c:re,dataIndex:oe,class:this.$props.rowClass?this.$props.rowClass(e):""},{default:()=>[u.row]}),this.$props.detail&&"data"===e.rowType&&(e.expanded||e.dataItem.expanded)&&t.createVNode("tr",{key:d,class:l?"k-table-row k-table-alt-row k-detail-row":"k-table-row k-detail-row",style:{visibility:ee(o)?"hidden":"",height:this.$props.detailRowHeight+"px"},role:"row","aria-rowindex":this.$props.detail?p:re},[null==I?void 0:I.map((function(i){return t.createVNode(pi,{id:"",dataIndex:e.dataIndex,field:i.field,dataItem:e.dataItem,key:`group-${i.field}-${e.dataIndex}`,group:e.group},null)}),this),(this.$props.expandField||this.detailExpandable.enabled)&&t.createVNode(pt,{id:r.tableKeyboardNavigationTools.generateNavigatableId(`${d}-dhcell`,D)},null),t.createVNode(ut,{dataItem:e.dataItem,dataIndex:e.dataIndex,colSpan:h,ariaColIndex:2+(I?I.length:0),detail:this.$props.detail?this.$props.detail:void 0,id:r.tableKeyboardNavigationTools.generateNavigatableId(`${d}-dcell`,D)},null)])]}),this)||t.createVNode("tr",{class:"k-table-row k-grid-norecords"},[t.createVNode("td",{class:"k-table-td",colspan:this._columns.filter((e=>!e.children.length)).length},[M.length?M:t.createVNode(fi,null,null)])]),se=this.$props.pageable&&t.createVNode(r.Pager,{class:"k-grid-pager",onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,size:this.$props.size,total:F,skip:this.vs.propsSkip||0,pageSize:(void 0!==this.$props.take?this.$props.take:this.$props.pageSize)||10,messagesMap:bi,settings:r.normalize(this.$props.pageable||{})},null),ae=i.getTemplate.call(this,{h:t.h,template:this.$props.pager,defaultRendering:se,additionalProps:{...this.$props,skip:this.vs.propsSkip||0,messagesMap:bi},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),de=e=>C&&C.filter((t=>t.field===e)).length>0,he=t.createVNode("colgroup",{ref:i.setRef(this,"colGroup")},[_.map((function(e,i){return t.createVNode("col",{key:i.toString(),class:de(e.field)?"k-sorted":void 0,width:void 0!==e.width?-1!==e.width.toString().indexOf("%")?e.width:Math.floor(parseFloat(e.width.toString()))+"px":void 0},null)}),this)]),ce={height:this.getCorrectHeight,...this.$attrs.style},pe=this.$props.loader&&t.createVNode("div",{class:"k-loader-container k-loader-container-md k-loader-top"},[t.createVNode("div",{class:"k-loader-container-overlay k-overlay-light"},null),t.createVNode("div",{class:"k-loader-container-inner"},[t.createVNode(o.Loader,{size:"large",type:"infinite-spinner"},null)])]),ue=(null!=(b=this.$props.showLoader)?b:!!this.$props.loader)&&i.getTemplate.call(this,{h:t.h,template:this.$props.loader,defaultRendering:pe});return"none"===this.$props.scrollable?t.createVNode(r.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable},{default:()=>[t.createVNode(g,{ref:e=>{this.gridNavRef=e},currentData:this.currentData,style:ce,class:this.nonscrollableWrapperClass},{default:()=>[z,j,t.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[t.createVNode("table",{class:"k-table",style:{tableLayout:"fixed"},role:"none"},[he,P,t.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0},[ne,ue]),W])]),ae,K]})]}):t.createVNode(r.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable},{default:()=>[t.createVNode(g,{ref:e=>{this.gridNavRef=e},currentData:this.currentData,style:ce,class:this.scrollableWrapperClass},{default:()=>[z,j,t.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[P,t.createVNode("div",{class:"k-grid-container",role:"presentation"},[t.createVNode("div",{role:"presentation",ref:i.setRef(this,"scrollContainer"),class:"k-grid-content k-virtual-content",onScroll:this.scrollHandler},[t.createVNode("div",{class:"k-grid-table-wrap",role:"presentation"},[t.createVNode("table",{role:"none",class:this.gridTableClass,ref:i.setRef(this,"scrollTable")},[he,t.createVNode("tbody",{class:"k-table-tbody",role:"rowgroup","data-keyboardnavbody":!0,ref:i.setRef(this,"scrollTableBody")},[ne])])]),t.createVNode("div",{class:"k-height-container",role:"presentation"},[t.createVNode("div",{style:"virtual"===this.$props.scrollable?{height:this.vs.containerHeight+"px"}:{}},null)])]),ue]),W,q]),ae,K]})]})}}),$i=t.defineComponent({name:"KendoVueGridStateProvider",inheritAttrs:!1,props:gi,setup(e,{emit:i}){const r=t.ref(e.filter||e.defaultFilter||null);t.watch((()=>e.filter),(e=>{r.value=e}));const o=t.ref(e.search||e.defaultSearch||null);t.watch((()=>e.search),(e=>{o.value=e}));const l=t.ref(e.sort||e.defaultSort||[]);t.watch((()=>e.sort),(e=>{l.value=e}));const n=t.ref(e.skip||e.defaultSkip||0),s=t.ref(e.take||e.defaultTake);t.watch((()=>e.skip),(e=>{n.value=e})),t.watch((()=>e.take),(e=>{s.value=e}));const a=t.ref(e.group||e.defaultGroup||[]);t.watch((()=>e.group),(e=>{a.value=e}));const d=t.ref(e.detailExpand||e.defaultDetailExpand||{});t.watch((()=>e.detailExpand),(e=>{d.value=e}));const h=t.ref(e.groupExpand||e.defaultGroupExpand||[]);t.watch((()=>e.groupExpand),(e=>{h.value=e}));const c=t.ref(e.columnsState||e.defaultColumnsState||[]);t.watch((()=>e.columnsState),(e=>{c.value=e})),t.provide(Ci,{sort:l,sortchange:e=>{l.value=e.sort,i("sortchange",e)},filter:r,filterchange:e=>{r.value=e.filter,i("filterchange",e)},search:o,searchchange:e=>{o.value=e.search,i("searchchange",e)},skip:n,take:s,pagechange:e=>{n.value=e.page.skip,s.value=e.page.take,i("pagechange",e)},group:a,groupchange:e=>{a.value=e.group,i("groupchange",e)},detailExpand:d,detailexpandchange:e=>{d.value=e.detailExpand,i("detailexpandchange",e)},groupExpand:h,groupexpandchange:e=>{h.value=e.groupExpand,i("groupexpandchange",e)},columnsState:c,columnsstatechange:e=>{c.value=e.columnsState,i("columnsstatechange",e)}})},render(){return i.getDefaultSlots(this)}}),ki=t.defineComponent({name:"KendoVueGrid",props:gi,setup(e,{expose:i}){const r=t.ref(null);i({get element(){var e;return(null==(e=r.value)?void 0:e.element)||null},get props(){return e},get columns(){var e;return(null==(e=r.value)?void 0:e.columns)||[]},scrollIntoView:e=>{var t;null==(t=r.value)||t.scrollIntoView(e)},fitColumns:e=>{var t;null==(t=r.value)||t.fitColumns(e)},exportAsPdf:()=>{var e;null==(e=r.value)||e.exportAsPdf()}})},computed:{columnsWithTemplates(){const e=i.getListeners.call(this);return i.mapTree(this.$props.columns||[],"children",(t=>{const r={...t},o=i.templateRendering.call(this,r.cell,e),l=i.templateRendering.call(this,r.headerCell,e),n=i.templateRendering.call(this,r.filterCell,e),s=i.templateRendering.call(this,r.footerCell,e),a=i.templateRendering.call(this,r.columnMenu,e);return{...r,cell:o,headerCell:l,filterCell:n,footerCell:s,columnMenu:a}}))}},render(){const e=i.getDefaultSlots(this)||[],r=i.getListeners.call(this),o=e.filter((e=>{var t,i;return e.tag&&-1!==e.tag.toLowerCase().indexOf("toolbar")||e.componentOptions&&-1!==(null==(t=e.componentOptions.tag)?void 0:t.toLowerCase().indexOf("toolbar"))||-1!==(null==(i=null==e?void 0:e.type)?void 0:i.name.toLowerCase().indexOf("toolbar"))})),l=e.filter((e=>{var t,i;return e.tag&&-1!==e.tag.toLowerCase().indexOf("records")||e.componentOptions&&-1!==(null==(t=e.componentOptions.tag)?void 0:t.toLowerCase().indexOf("records"))||-1!==(null==(i=null==e?void 0:e.type)?void 0:i.name.toLowerCase().indexOf("records"))})),{cellRender:n,detail:s,columns:a,rowRender:d,pager:h,loader:c,...p}=this.$props,u=i.templateRendering.call(this,s,r),g=i.templateRendering.call(this,n,r),m=i.templateRendering.call(this,d,r),f=i.templateRendering.call(this,h,r),v=i.templateRendering.call(this,c,r),b=this.columnsWithTemplates;return t.createVNode($i,p,{default:()=>[t.createVNode(xi,t.mergeProps(p,r,{class:this.$attrs.class,style:this.$attrs.style,columns:b,cellRender:g,rowRender:m,pager:f,loader:v,detail:u,toolbar:o,noRecords:l}),null)]})}}),Si=t.defineComponent({name:"KendoGridColumnMenuFilterUI",inheritAttrs:!1,props:{firstFilterProps:Object,secondFilterProps:Object,logicValue:Object,logicData:Array,hideSecondFilter:Boolean,operators:Array,render:[String,Function,Object]},emits:{change:null,filteruifocus:null,logicChange:null},methods:{handleFocus(e){this.$emit("filteruifocus",e)},changeHandler(e,t){this.$emit("change",e,t)},logicChange(e){this.$emit("logicChange",e)}},render(){const{firstFilterProps:e,hideSecondFilter:r,secondFilterProps:o,logicData:l,logicValue:n,operators:s,render:a}=this.$props,d=e.field,h=e.value,c=e.operator,p=e.booleanValues,g=e.filterType,m=o.field,f=o.value,v=o.operator,b=o.booleanValues,C=o.filterType,x=t.createVNode("div",{style:this.$attrs.style,class:this.$attrs.class},[t.createVNode(Mt,{field:d,value:h,operator:c,booleanValues:p,filterType:g,onFiltercellfocus:this.handleFocus,onChange:e=>{this.changeHandler(e,0)},operators:s},null),!r&&t.createVNode("div",null,[t.createVNode(u.DropDownList,{onChange:this.logicChange,class:"k-filter-and","data-items":l,value:n,textField:"text"},null),t.createVNode(Mt,{field:m,value:f,operator:v,booleanValues:b,filterType:C,onFiltercellfocus:this.handleFocus,onChange:e=>{this.changeHandler(e,1)},operators:s},null)])]);return i.getTemplate.call(this,{h:t.h,template:a,defaultRendering:x,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,logicchange:this.logicChange}})}});function Ii(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const yi={name:"KendoGridColumnMenuCheckboxFilter",props:{column:Object,filter:Object,filterable:Boolean,filterOperators:Object,checkAllItem:[String,Object,Function],item:[String,Object,Function],expanded:{type:Boolean,default:void 0},dataItems:Array,searchBox:{type:Boolean,default:!0},uniqueData:{type:Boolean,default:!0}},data:()=>({currentExpanded:!1,currentValue:"",currentData:void 0,dataFromProps:void 0,currentFilter:void 0}),created(){this.compositeFilterIndex=this.getFilterIndex(),this.currentExpanded=this.$props.expanded,this.currentData=this.parseData(this.$props.dataItems,this.$props.uniqueData)||[],this.dataFromProps=this.parseData(this.$props.dataItems,!1)||[],this.currentFilter=this.defaultFilter()},updated(){const e=this.$props.column.field||"",t=this.$props.dataItems.map((t=>v(e,t)));((e,t)=>e.length===t.length&&e.every(((e,i)=>e===t[i])))(t,this.dataFromProps)||(this.currentData=t,this.dataFromProps=t)},inject:{kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){let e,r;const{column:o}=this.$props;if(!o||!o.field)return t.createVNode("div",null,null);const a=l.provideLocalizationService(this),d=void 0!==this.$props.expanded?this.$props.expanded:this.currentExpanded,h=[];if(this.currentFilter){const e=[...this.currentFilter.filters];this.compositeFilterIndex=e.findIndex((e=>!!(e.filters&&e.filters.length>0)&&e.filters[0].field===o.field)),-1!==this.compositeFilterIndex&&e[this.compositeFilterIndex].filters.length>0&&e[this.compositeFilterIndex].filters.forEach((e=>{e.field===this.$props.column.field&&h.push(e.value)}))}const c=function(){return this.$props.searchBox&&t.createVNode("span",{class:"k-list-filter"},[t.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[t.createVNode(i.Icon,{name:"search",icon:n.searchIcon,class:"k-input-icon"},null),t.createVNode("input",{ref:"searchBox",placeholder:a.toLanguageString(ce,ht[ce]),class:"k-input-inner",value:this.currentValue,onInput:this.handleSearchChange},null)])])},u=h.filter(((e,t)=>h.indexOf(e)===t)),g=i.templateRendering.call(this,this.$props.item,i.getListeners.call(this)),m=i.templateRendering.call(this,this.$props.checkAllItem,i.getListeners.call(this)),f=t.createVNode("li",{class:"k-item"},[t.createVNode(s.Checkbox,{label:a.toLanguageString(ge,ht[ge]),onChange:e=>this.handleCheckBoxChange(e,"all"),checked:this.isAllSelected()},null)]),v=i.getTemplate.call(this,{h:t.h,template:m,defaultRendering:f,additionalProps:{checked:this.isAllSelected()},additionalListeners:{change:e=>this.handleCheckBoxChange(e,"all")}});return t.createVNode(kt,null,{default:()=>[t.createVNode($t,{title:a.toLanguageString(ne,ht[ne]),icon:"filter",svgIcon:n.filterIcon,onMenuitemclick:this.onFilterExpand},null),t.createVNode(Ft,{show:!!d},{default:()=>[t.createVNode("div",{class:"kendo-grid-filter-menu-container"},[t.createVNode("form",{class:"k-filter-menu k-border-up",onSubmit:this.submit,onReset:this.clear},[t.createVNode("div",{class:"k-filter-menu-container"},[c.call(this),t.createVNode("ul",{class:"k-reset k-multicheck-wrap"},[v,this.currentData.map((function(e,r){const o=t.createVNode("li",{class:"k-item",key:r},[t.createVNode(s.Checkbox,{label:String(e),onChange:t=>this.handleCheckBoxChange(t,e),checked:u.includes(e)},null)]);return i.getTemplate.call(this,{h:t.h,template:g,defaultRendering:o,additionalProps:{item:e,index:r,checked:u.includes(e)},additionalListeners:{change:t=>this.handleCheckBoxChange(t,e)}})}),this)]),t.createVNode("div",{class:"k-columnmenu-actions"},[t.createVNode(p.Button,{themeColor:"primary"},Ii(e=a.toLanguageString(le,ht[le]))?e:{default:()=>[e]}),t.createVNode(p.Button,{type:"reset"},Ii(r=a.toLanguageString(ie,ht[ie]))?r:{default:()=>[r]})])])])])]})]})},methods:{defaultFilter(){return this.$props.filter?i.clone(this.$props.filter):{filters:[],logic:"and"}},parseData(e,t){const i=this.$props.column.field||"",r=e.map((e=>v(i,e)));return t?r.filter(((e,t)=>r.indexOf(e)===t)):r},getFilterIndex(){const e=this.$props.column.field;return this.defaultFilter().filters.findIndex((t=>t.filters&&t.filters.length>0&&t.filters[0].field===e))},onFilterExpand(){const e=void 0!==this.$props.expanded,t=!(e?this.$props.expanded:this.currentExpanded);this.$emit("expandchange",t),e||(this.currentExpanded=t)},handleSearchChange(e){const t={logic:"and",filters:[{field:this.$props.column.field,operator:"startswith",value:e.target.value,ignoreCase:!0}]};this.currentValue=e.target.value,this.currentData=this.parseData(h.filterBy(this.$props.dataItems||[],t),this.$props.uniqueData)},clear(e){e.preventDefault();const t=this.currentFilter||null;null!==t&&t.filters.length>0?(this.compositeFilterIndex>=0&&t.filters.splice(this.compositeFilterIndex,1),this.$emit("filterchange",t,e)):this.$emit("filterchange",null,e),this.$emit("closemenu")},submit(e){e.preventDefault();const t=this.currentFilter||null;this.$emit("filterchange",t,e),this.$emit("closemenu")},handleCheckBoxChange(e,t){const i=this.$props.column.field||"",r={...this.currentFilter},o=[...this.currentFilter.filters];let l=[];if(-1!==this.compositeFilterIndex&&r.filters[this.compositeFilterIndex].filters&&"all"!==t&&(l=r.filters[this.compositeFilterIndex].filters),e.value&&"all"===t)this.currentData.forEach((e=>{l.push({field:i,operator:"eq",value:e})}));else if(e.value)l.push({field:i,operator:"eq",value:t});else if(this.currentFilter){const e=l.findIndex((e=>e.value===t));l.splice(e,1)}r.logic="and",-1!==this.compositeFilterIndex?o[this.compositeFilterIndex]={logic:"or",filters:l}:o.push({logic:"or",filters:l}),(!e.value&&"all"===t||0===l.length)&&o.splice(this.compositeFilterIndex,1),r.filters=o,this.currentFilter=r},isAllSelected(){let e=!1;if(this.currentFilter){const t=[...this.currentFilter.filters];return-1!==this.compositeFilterIndex&&(e=this.currentData.every((e=>!(-1===this.compositeFilterIndex||!t[this.compositeFilterIndex].filters)&&t[this.compositeFilterIndex].filters.findIndex((t=>t.value===e))>=0)),e)}return e}}},wi=t.defineComponent({render:()=>null}),Ni=t.defineComponent({name:"GridToolbar",props:{size:{type:String,default:"medium",validator:function(e){return["small","medium"].includes(e)}}},computed:{wrapperClass(){const{size:e}=this.$props;return{"k-toolbar":!0,"k-grid-toolbar":!0,"k-toolbar-solid":!0,[`k-toolbar-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}}},render(){const e=i.getDefaultSlots(this);return t.createVNode("div",{class:this.wrapperClass,role:"toolbar"},[e])}}),Ri=t.defineComponent({name:"KendoVueGridSearchBox",inheritAttrs:!1,props:{onChange:Function,className:String,placeholder:String},setup(e,{emit:i}){const o=t.inject("kendoLocalizationService",{}),{searchChange:l}=t.inject("kendo",{}),{search:n}=t.inject(Ci,{}),s=t.computed((()=>r.getStringFromSearch(n.value))),a=t.computed((()=>({"k-grid-search":!0,"k-searchbox":!0}))),d=t.computed((()=>{const t=o;return null!=t&&t.toLanguageString?t.toLanguageString("searchboxPlaceholder","Search..."):e.placeholder||"Search..."}));return{handleChange:t=>{l&&l(t),i("change",t),e.onChange&&e.onChange.call(void 0,t)},value:s,rootClassName:a,placeholder:d}},render(){return t.createVNode(s.TextBox,t.mergeProps({placeholder:this.placeholder,value:this.value,prefix:()=>t.createVNode(i.SvgIcon,{icon:n.searchIcon},null)},this.$attrs,{class:this.rootClassName,onInput:this.handleChange}),null)}});e.Footer=ii,e.FooterRow=ri,e.Grid=ki,e.GridCell=ci,e.GridColumnMenuCheckboxFilter=yi,e.GridColumnMenuFilter=Pt,e.GridColumnMenuFilterCell=Mt,e.GridColumnMenuFilterUI=Si,e.GridColumnMenuItem=$t,e.GridColumnMenuItemContent=Ft,e.GridColumnMenuItemGroup=kt,e.GridColumnMenuSort=Rt,e.GridDetailRow=wi,e.GridEditCell=gt,e.GridFilterCell=Qt,e.GridGroupCell=pi,e.GridHeaderCell=xt,e.GridHierarchyCell=ct,e.GridNoRecords=fi,e.GridRow=ui,e.GridSearchBox=Ri,e.GridToolbar=Ni,e.applyExpandedState=V,e.autoGenerateColumns=w,e.checkPropCompatibility=function(e){for(let t=0;t<$.length;t++){const i=$[t];if(void 0!==e[i]){const e="on"+i.charAt(0).toUpperCase()+i.slice(1);console.warn(k(i,e))}}},e.filterGroupByField=Kt,e.firefox=H,e.firefoxMaxHeight=A,e.flatData=b,e.footerColumns=N,e.getColSpan=L,e.getColumnWidth=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,e.getDataAsArray=y,e.getFlatColumnsState=D,e.getIndex=x,e.getNestedValue=v,e.getRowSpanOptions=T,e.groupedFirstItemValue=E,e.isRtl=C,e.isSorted=(e,t)=>t&&t.filter((t=>t.field===e)).length>0,e.mapColumns=S,e.parsers=R,e.readColumns=I,e.sanitizeColumns=O,e.sortGroupByField=(e,t)=>{const i=yt(e,t);return Nt(i,t)||wt(i,t)}}));
15
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@progress/kendo-vue-common"),require("@progress/kendo-vue-data-tools"),require("@progress/kendo-vue-indicators"),require("@progress/kendo-vue-intl"),require("@progress/kendo-svg-icons"),require("@progress/kendo-vue-inputs"),require("@progress/kendo-vue-dateinputs"),require("@progress/kendo-vue-popup"),require("@progress/kendo-data-query"),require("@progress/kendo-vue-animation"),require("@progress/kendo-vue-buttons"),require("@progress/kendo-vue-dropdowns")):"function"==typeof define&&define.amd?define(["exports","vue","@progress/kendo-vue-common","@progress/kendo-vue-data-tools","@progress/kendo-vue-indicators","@progress/kendo-vue-intl","@progress/kendo-svg-icons","@progress/kendo-vue-inputs","@progress/kendo-vue-dateinputs","@progress/kendo-vue-popup","@progress/kendo-data-query","@progress/kendo-vue-animation","@progress/kendo-vue-buttons","@progress/kendo-vue-dropdowns"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueGrid={},e.Vue,e.KendoVueCommon,e.KendoVueDatatools,e.KendoVueIndicators,e.KendoVueIntl,e.KendoSVGIcons,e.KendoVueInputs,e.KendoVueDateinputs,e.KendoVuePopup,e.KendoDataQuery,e.KendoVueAnimation,e.KendoVueButtons,e.KendoVueDropdowns)}(this,(function(e,t,i,r,o,l,n,s,a,d,h,c,p,u){"use strict";const g=t.defineComponent({name:"KendoGridNav",props:{currentData:Array},inject:{onNavKeyDown:{default:i.noop},onNavFocus:{default:i.noop},onNavMount:{default:i.noop},handleDispatchFocus:{default:i.noop},kbContext:{default:null},navigation:{default:null}},mounted(){this.onNavMount({scope:this.$el||void 0})},updated(){this.onNavMount({scope:this.$el||void 0})},methods:{onKeyDown(e){this.onNavKeyDown(e,{navigation:this.navigation,kbContext:this.kbContext,onNavigationAction:this.onNavigationAction}),this.$emit("keydown",{dataItems:this.getLeafDataItems(),componentId:this._gridId,selectedField:this.$props.selectedField,event:e})},onFocus(e){this.onNavFocus(e,{kbContext:this.kbContext})},onNavigationAction(e){this.$emit("navigationaction",{focusElement:e.focusElement,event:e.event})},getLeafDataItems(){return this.$props.currentData.filter((e=>"data"===e.rowType)).map((e=>e.dataItem))}},render(){const e=i.getDefaultSlots(this);return t.createVNode("div",{onKeydown:this.onKeyDown,onFocusin:this.onFocus,"data-keyboardnavscope":!0},[e])}}),m={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},f="string";function v(e,t){const i=e.split(".");let r=t;return i.forEach((e=>{r=r?r[e]:void 0})),r}function b(e,t,o,l,n,s,a,d,h,c,p=0,u){let g=p;for(let m=0;m<t.length;m++){let f;if(!n||void 0===t[m].value||void 0===t[m].items){const r=!!h&&!(null==s||!s[i.getter(h)(t[m])]);e[e.length]={dataIndex:l.index,dataItem:t[m],rowType:"data",level:p,group:u,expanded:void 0!==c?v(c,t[m]):null!=r&&r},l.index++;continue}{let e;e=null!=u&&u.parents?[{field:u.field,value:u.value},...u.parents]:u?[u]:[],f={field:t[m].field,value:t[m].value,parents:e}}g=Math.max(g,p+1);let C=!1;const x=r.findGroupExpand(a||[],f);C=c?void 0===c||void 0===v(c,t[m])||v(c,t[m]):x?!1!==x.expanded:!1!==d,e[e.length]={dataIndex:-1,dataItem:t[m],level:p,group:f,rowType:"groupHeader",expanded:C},C&&(f.expanded=C,g=Math.max(b(e,t[m].items,o,l,n,s,a,d,h,c,p+1,f),g)),("always"===o||C&&"visible"===o)&&(e[e.length]={dataIndex:-1,dataItem:t[m],rowType:"groupFooter",level:p,expanded:C})}return g}function C(e){return e&&"rtl"===getComputedStyle(e).direction||!1}function x(e,t){if(!(t&&e&&e.originalEvent&&i.canUseDOM))return-1;let r=document.elementFromPoint(e.clientX,e.originalEvent.clientY);for(;r&&r.parentElement!==t;)r=r.parentElement;const o=t.children;for(let e=0;e<o.length;e++)if(o[e]===r)return e;return-1}const $=["sortChange","filterChange","groupChange","pageChange","expandChange","selectionChange","headerSelectionChange","rowClick","itemChange","dataStateChange","columnResize","columnReorder"],k=(e,t)=>`The ${e} event handler property is deprecated, use https://www.telerik.com/kendo-vue-ui/components/grid/api/GridProps/#toc-${t} instead`;function S(e,t){const i=[[]];let o=0;for(let t=e.length-1;t>=0;t--)o=Math.max(o,e[t].depth),e[t].headerColSpan=e[t].headerColSpan||1,e[t].children.length>0&&(e[t].headerColSpan=e[t].children.reduce(((e,t)=>t.hidden?e:e+t.headerColSpan),0));const l=[];let n=1;return e.forEach(((e,t)=>{i[e.depth]=i[e.depth]||[];let r=!1;0===i[e.depth].length&&(n<=1?n=1+(e.children.length>0?0:o-e.depth):(n--,r=!0)),e.rowSpan=1+(e.children.length>0?0:o-e.depth),e.kFirst=r,e.index=i[e.depth].length,i[e.depth].push(t),e.ariaColumnIndex=l[e.depth]?l[e.depth]+1:1;for(let t=e.depth;t<e.depth+e.rowSpan;t++)l[t]=(l[t]||0)+e.headerColSpan})),r.updateLeft(i,e,t),r.updateRight(i,e,t),i}function I(e,t,o,l=0,n=!1){const s=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.forEach(((e,a)=>{const d=e.id?e.id:r.tableKeyboardNavigationTools.generateNavigatableId(""+o.prevId++,o.idPrefix,"column"),h=!!(i.canUseDOM&&e.media&&window.matchMedia)&&!window.matchMedia(e.media).matches,c=n||h||e.hidden,p=null==t?void 0:t.find((e=>e.id===d)),u=I(e.children,(null==p?void 0:p.children)||[],o,l+1,c);s.push({depth:l,...m,...u.length?{cell:()=>null,filterCell:()=>null}:{},...e,id:d,declarationIndex:s.length,children:u,headerColSpan:0,rowSpan:0,columnType:e.columnType||"data",colSpan:e.colSpan||1,isAccessible:!0,hidden:c,left:null,right:null,rowSpannable:e.rowSpannable,...p?{width:p.width,orderIndex:p.orderIndex}:{}})}));if(s.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===l){const e=[],t=(i,r)=>i.forEach((i=>{i.parentIndex=r,t(i.children,e.push(i)-1)}));return t(s,-1),e}return s}const y=e=>Array.isArray(e)?e:e?e.data:[];function w(e,t,i,o){const l=y(e),n=[];if(l.length>0){let e=l[0];if(t)for(let i=0;i<t.length;i++)e=e.items&&e.items[0];Object.getOwnPropertyNames(e).forEach((e=>{e!==i.column&&n.push({id:r.tableKeyboardNavigationTools.generateNavigatableId(""+o.prevId++,o.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,index:0,columnType:"data",left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0,...m,field:e})}))}return n}const N=e=>e.filter((t=>!((e,t)=>{let i=e[t.parentIndex];for(;i;){if(i.footerCell)return!0;i=e[i.parentIndex]}return!1})(e,t)&&(!!t.footerCell||!(t.children&&t.children.length>0)))),R={number:function(e,t,i){return typeof e===f&&"null"===e.toLowerCase()?null:t.parseNumber(e,i)},date:function(e,t,i){return typeof e===f&&"null"===e.toLowerCase()?null:t.parseDate(e,i)},boolean:function(e){return typeof e===f?"null"===e.toLowerCase()?null:"true"===e.toLowerCase():null!=e?!!e:e},string:function(e){return typeof e===f&&"null"===e.toLowerCase()?null:null!=e?e+"":e},default:function(e){return e}};function F(e,t,i,r){return e.forEach((e=>{e.expanded=t[r]&&!t[r].includes(E(e,i)),e.items&&e.items.length&&(e.items=F(e.items,t,i,r+1))})),e}function V(e,t,i){return t&&t.length&&e.data.forEach((e=>{e.expanded=void 0!==e.expanded?e.expanded:t[0]&&!t[0].includes(E(e,i)),e.items&&e.items.length&&(e.items=F(e.items,t,i,1))})),e}function E(e,t){let i=e;for(;i.items&&i.items.length;)i=i.items[0];return t?i[t]:e.value}const D=e=>{const t=[],i=e=>null==e?void 0:e.forEach((e=>{t.push(e),i(e.children)}));return i(e),t},H="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),A=17895697,O=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:t,parentIndex:i,depth:r,headerColSpan:o,rowSpan:l,index:n,kFirst:s,children:a,...d}=e;return a.length?{children:O(a),...d}:d}))),L=(e,t)=>"function"==typeof e.colSpan?e.colSpan({dataItem:t,column:e}):e.colSpan||1,T=e=>{var t,r;const o="object"==typeof e?null==(t=e.enabled)||t:null!=e&&e,l="object"==typeof e&&null!=(r=e.valueGetter)?r:(e,t)=>i.getter(t)(e);return{enabled:o,valueGetter:l}},G=t.defineComponent({name:"KendoGridSelectionCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,render:[String,Function,Object],isSelected:Boolean,ariaColumnIndex:Number,editor:String,isRtl:Boolean},emits:{selectionchange:null,cellkeydown:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},data:()=>({inputId:i.guid()}),computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},handleOnChange(e){this.$emit("selectionchange",{event:e,dataItem:this.$props.dataItem})}},render(){const e=v(this.$props.field,this.$props.dataItem),o=this.$props.render,l=this.getKeyboardNavigationAttributes(this.$props.id),n="groupHeader"!==this.$props.rowType?t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,"aria-colindex":this.$props.ariaColumnIndex,role:"gridcell",tabindex:l.tabIndex,"data-keyboardnavlevel":l[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":l[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("span",{class:"k-checkbox-wrap"},[t.createVNode("input",{checked:e,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.handleOnChange},null)]),t.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]):null;return i.getTemplate.call(this,{h:t.h,template:o,defaultRendering:n,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,change:this.handleOnChange}})}}),z="grid.noRecords",M="grid.selectAllRows",_="grid.pagerInfo",j="grid.pagerFirstPage",B="grid.pagerPreviousPage",K="grid.pagerNextPage",P="grid.pagerLastPage",W="grid.pagerItemsPerPage",q="grid.pagerPage",U="grid.pagerPageSelection",Y="grid.pagerOf",X="grid.pagerTotalPages",J="grid.groupPanelEmpty",Q="grid.groupColumn",Z="grid.ungroupColumn",ee="grid.columnMenu",te="grid.filterApplyButton",ie="grid.filterClearButton",re="grid.filterClearAllButton",oe="grid.filterResetButton",le="grid.filterSubmitButton",ne="grid.filterTitle",se="grid.sortAscending",ae="grid.sortDescending",de="grid.sortClearButton",he="grid.sortApplyButton",ce="grid.searchPlaceholder",pe="grid.searchboxPlaceholder",ue="grid.exportPDF",ge="grid.filterCheckAll",me="grid.filterChooseOperator",fe="grid.filterSelectAll",ve="grid.filterSelectedItems",be="grid.sortAriaLabel",Ce="grid.sortableColumnAriaLabel",xe="grid.sortableColumnAscendingAriaLabel",$e="grid.sortableColumnDescendingAriaLabel",ke="grid.editDialogTitle",Se="grid.editDialogSaveButtonTitle",Ie="grid.editDialogCancelButtonTitle",ye="grid.filterAriaLabel",we="grid.numericFilterAriaLabel",Ne="grid.groupPanelAriaLabel",Re="grid.groupExpand",Fe="grid.groupCollapse",Ve="grid.groupClearButton",Ee="grid.groupApplyButton",De="grid.detailExpand",He="grid.detailCollapse",Ae="grid.selectRow",Oe="grid.gridAriaLabel",Le="grid.gridRowReorderAriaLabel",Te="grid.gridAdaptiveColumnMenuFilterTitle",Ge="grid.columnMenuColumnChooserTitle",ze="grid.columnMenuColumnChooserSelectedItems",Me="grid.adaptiveColumnMenuChooserTitle",_e="grid.adaptiveColumnMenuChooserSubTitle",je="grid.columnChooserApplyButton",Be="grid.columnChooserResetButton",Ke="grid.adaptiveColumnMenuCheckboxFilterTitle",Pe="grid.adaptiveToolbarSortTitle",We="grid.adaptiveToolbarGroupTitle",qe="grid.toolbarSort",Ue="grid.dateFilterAriaLabel",Ye="grid.textFilterAriaLabel",Xe="grid.booleanFilterAriaLabel",Je="grid.groupHeaderAriaLabel",Qe="grid.groupCaretAriaLabelCollapse",Ze="grid.groupCaretAriaLabelExpand",et="grid.expandDetailTemplateAriaLabel",tt="grid.collapseDetailTemplateAriaLabel",it="grid.toolbarAI",rt="grid.aIResponseData",ot="grid.generatedWithAI",lt="grid.toolbarAIApply",nt="grid.toolbarGroup",st="grid.toolbarFilter",at="grid.toolbarColumnsChooser",dt="grid.toolbarCheckboxFilter",ht={[De]:"Expand detail row",[He]:"Collapse detail row",[Re]:"Expand group",[Fe]:"Collapse Group",[Ve]:"Clear grouping",[Ee]:"Done",[z]:"No records available",[M]:"Select all rows",[J]:"Drag a column header and drop it here to group by that column",[te]:"Apply",[ie]:"Clear",[re]:"Clear all filters",[oe]:"Reset",[le]:"Filter",[ne]:"Filter",[se]:"Sort Ascending",[ae]:"Sort Descending",[de]:"Clear sorting",[he]:"Done",[be]:"Sortable",[Pe]:"Sort by",[We]:"Group by",[qe]:"Sort",[it]:"AI Assistant",[lt]:"Apply",[rt]:"Operation is successful. Data is: \n",[ot]:"Generated with AI",[nt]:"Group",[st]:"Filter",[at]:"Columns",[dt]:"Filter",[Q]:"Group Column",[Z]:"Ungroup Column",[ee]:"Column menu",[W]:"items per page",[_]:"{0} - {1} of {2} items",[j]:"Go to the first page",[B]:"Go to the previous page",[K]:"Go to the next page",[P]:"Go to the last page",[q]:"Page",[U]:"Page size",[Y]:"of",[X]:"{0}",[ce]:"Search",[pe]:"Search...",[ue]:"Export PDF",[ge]:"Check All",[ke]:"Edit Dialog",[Se]:"Save",[Ie]:"Cancel",[me]:"Choose Operator",[ve]:"selected items",[fe]:"Select All",[Ce]:"Sortable Column",[xe]:"Sorted in ascending order",[$e]:"Sorted in descending order",[ye]:"Filter",[we]:"Numeric Filter",[Ue]:"Date Filter",[Ye]:"Text Filter",[Xe]:"Boolean Filter",[Je]:"Group Header",[Qe]:"Collapse Group",[Ze]:"Expand Group",[et]:"Expand Details",[tt]:"Collapse Details",[Ne]:"Group panel",[Oe]:"Table",[Le]:"Drag row",[Ae]:"Select Row",[Ge]:"Columns Chooser",[Te]:"Filter by",[Me]:"Columns Chooser",[_e]:"Selected fields are visible",[Ke]:"Filter by",[ze]:"Selected items",[je]:"Apply",[Be]:"Reset","grid.filterEqOperator":"Is equal to","grid.filterNotEqOperator":"Is not equal to","grid.filterIsNullOperator":"Is null","grid.filterIsNotNullOperator":"Is not null","grid.filterIsEmptyOperator":"Is empty","grid.filterIsNotEmptyOperator":"Is not empty","grid.filterStartsWithOperator":"Starts with","grid.filterContainsOperator":"Contains","grid.filterNotContainsOperator":"Does not contain","grid.filterEndsWithOperator":"Ends with","grid.filterGteOperator":"Is greater than or equal to","grid.filterGtOperator":"Is greater than","grid.filterLteOperator":"Is less than or equal to","grid.filterLtOperator":"Is less than","grid.filterIsTrue":"Is true","grid.filterIsFalse":"Is false","grid.filterBooleanAll":"(All)","grid.filterAfterOrEqualOperator":"Is after or equal to","grid.filterAfterOperator":"Is after","grid.filterBeforeOperator":"Is before","grid.filterBeforeOrEqualOperator":"Is before or equal to","grid.filterAndLogic":"And","grid.filterOrLogic":"Or"},ct=t.defineComponent({name:"KendoGridHierarchyCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,dataIndex:Number,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean},emits:{change:null,cellkeydown:null},inject:{kendo:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},methods:{triggerStateChange(){const e=this.kendo;e.dataItemKey&&void 0!==this.$props.dataItem[e.dataItemKey]&&(null==e||e.dispatchDetailExpand({type:r.DETAIL_EXPAND_ACTION.TOGGLE,id:this.$props.dataItem[e.dataItemKey]}))},triggerKeydown(e,t){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field,expanded:t}),!e.defaultPrevented&&e.keyCode===i.Keys.enter&&(e.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:e,field:this.$props.field,value:!t}),this.triggerStateChange())},clickHandler(e,t,i){e.preventDefault(),this.$emit("change",{dataItem:t,event:e,field:void 0,value:!i}),this.triggerStateChange()}},computed:{wrapperClass(){return{"k-table-td":!0,"k-hierarchy-cell":!0,[this.className||""]:this.className}}},render(){let e=null;const o=this.getKeyboardNavigationAttributes(this.$props.id),s=l.provideLocalizationService(this),a=s.toLanguageString(tt,ht[tt]),d=s.toLanguageString(et,ht[et]);if("groupFooter"===this.$props.rowType)e=t.createVNode("td",{class:this.wrapperClass},null);else if("groupHeader"!==this.$props.rowType){const l=v(this.$props.field,this.$props.dataItem);e=t.createVNode("td",{style:this.$attrs.style,onKeydown:e=>{this.triggerKeydown(e,l)},class:this.wrapperClass,"aria-expanded":l?"true":"false",role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("a",{onClick:e=>{this.clickHandler(e,this.$props.dataItem,l)},href:"#",tabindex:-1,title:l?a:d,"aria-label":l?a:d},[t.createVNode(i.Icon,{name:l?"minus":"plus",icon:l?n.minusIcon:n.plusIcon},null)])])}return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:e,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}}),pt=t.defineComponent({props:{id:String},inject:{getKeyboardNavigationAttributes:{default:i.noop}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=this.getKeyboardNavigationAttributes(this.$props.id);return t.createVNode("td",{class:"k-table-td k-hierarchy-cell",tabindex:e.tabIndex,"data-keyboardnavlevel":e[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":e[r.KEYBOARD_NAV_DATA_ID]},null)}}),ut=t.defineComponent({props:{colSpan:Number,ariaColIndex:Number,dataItem:[Object,String,Number],dataIndex:Number,detail:[String,Function,Object],id:String},inject:{getKeyboardNavigationAttributes:{default:i.noop}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const{colSpan:e,ariaColIndex:o,dataItem:l,dataIndex:n,id:s}=this.$props,a=this.getKeyboardNavigationAttributes(s);return t.createVNode("td",{class:"k-table-td k-detail-cell",colspan:e,"aria-colindex":o,role:"gridcell",tabindex:a.tabIndex,"data-keyboardnavlevel":a[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":a[r.KEYBOARD_NAV_DATA_ID]},[function(e){return i.getTemplate.call(this,{h:t.h,template:this.$props.detail,additionalProps:e})}.call(this,{dataItem:l,dataIndex:n})])}}),gt=t.defineComponent({name:"GridEditCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,readFormat:String,dataIndex:Number},emits:{change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},data:()=>({inputId:i.guid()}),methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e,t){t||(t="checkbox"===e.target.type?e.target.checked:e.target.valueAsDate?e.target.valueAsDate:e.target.value),this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,value:t})}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=v(this.$props.field,this.$props.dataItem),o=this.getKeyboardNavigationAttributes(this.$props.id);let l=null;switch(this.$props.editor){case"numeric":l=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode(s.NumericTextBox,{style:{width:"100%"},value:void 0===e?null:e,onChange:this.changeHandler},null)]);break;case"date":l=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode(a.DatePicker,{style:{width:"100%"},value:e,onChange:this.changeHandler},null)]);break;case"boolean":l=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("input",{checked:e||!1,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.changeHandler},null),t.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]);break;default:l=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[t.createVNode("input",{style:{width:"100%"},class:"k-input-inner",value:null!=e?e:"",onChange:this.changeHandler},null)])])}return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:l,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}});let mt=class{get scrollbarWidth(){const e="undefined"!=typeof document?document:{};if(!this.scrollbar&&e&&e.createElement){const t=e.createElement("div");t.style.cssText="overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block",t.innerHTML="&nbsp;",e.body.appendChild(t),this.scrollbar=t.offsetWidth-t.scrollWidth,e.body.removeChild(t)}return this.scrollbar}};const ft=t.defineComponent({props:{staticHeaders:Boolean,headerRow:Object,columnResize:Object,cols:Array,size:String,draggable:Boolean},data:()=>({divStyle:{},element:null,headerWrap:null,table:null}),computed:{wrapperClass(){return{"k-grid-header":!0,"k-grid-draggable-header":this.$props.draggable}},tableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-header-table":!0,[`k-table-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}}},mounted(){this.headerWrap=i.getRef(this,"headerWrap"),this.table=i.getRef(this,"table"),this.$props.columnResize.colGroupHeader=i.getRef(this,"colGroupHeader");const e=(new mt).scrollbarWidth,t=C(this.$el);this.$props.columnResize&&this.$props.columnResize.setIsRtl(t);const r=Math.max(0,e)+"px",o=t?0:r,l=t?r:0;this.divStyle={padding:`0 ${o} 0 ${l}`}},methods:{setScrollLeft(e){this.headerWrap&&(this.headerWrap.scrollLeft=e)},setWidth(e){this.table&&(this.table.style.width=e+"px")}},setup:()=>({headerWrapRef:t.ref(null),tableRef:t.ref(null),colGroupHeaderRef:t.ref(null)}),render(){return this.$props.staticHeaders?t.createVNode("div",{class:this.wrapperClass,style:this.divStyle},[t.createVNode("div",{ref:i.setRef(this,"headerWrap"),class:"k-grid-header-wrap"},[t.createVNode("table",{class:this.tableClass,ref:i.setRef(this,"table"),role:"none"},[t.createVNode("colgroup",{ref:i.setRef(this,"colGroupHeader")},[this.$props.cols]),this.$props.headerRow])])]):this.$props.headerRow}}),vt=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e),bt=t.defineComponent({props:{onResize:Function},mounted(){this.$el&&(this.draggable=this.$refs.draggable)},methods:{drag(e){const t=this.draggable&&this.draggable.element;t&&this.$emit("resize",e,t,!1)},release(e){const t=this.draggable&&this.draggable.element;t&&this.$emit("resize",e,t,!0)}},render(){const e={cursor:"col-resize",display:"block",height:"1000%",position:"absolute",top:0,width:".5em"};return t.createVNode(i.Draggable,{onDrag:this.drag,onRelease:this.release,ref:"draggable"},{default:()=>[t.createVNode("span",{class:"k-column-resizer",draggable:!1,style:e},null)]})}}),Ct=t.defineComponent({props:{onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},mounted(){this.$el&&(this.draggable=this.$refs.draggable)},methods:{onPress(e){const t=this.draggable&&this.draggable.element;t&&this.$emit("pressHandler",e,t)},onDrag(e){const t=this.draggable&&this.draggable.element;t&&this.$emit("dragHandler",e,t)},onRelease(e){const t=this.draggable&&this.draggable.element;t&&this.$emit("releaseHandler",e,t)}},render(){const e=i.getDefaultSlots(this);return t.createVNode(i.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:"draggable"},{default:()=>[t.createVNode("tr",{class:"k-table-row",role:"row"},[e])]})}}),xt=t.defineComponent({props:{field:String,title:String,sortable:[Boolean,Object],render:[Object,Function,String],selectionValue:[Boolean,String,Number],onHeadercellclick:Function},computed:{linkClass(){return{"k-link":!0,"!k-cursor-default":!this.sortable}}},methods:{clickHandler(e){this.sortable&&this.$emit("headercellclick",e)}},render(){const e=i.getDefaultSlots(this),r=this.$props.render,o=this.$props.title||this.$props.field||" ",l=i.getTemplate.call(this,{h:t.h,template:r,defaultRendering:o,additionalProps:this.$props,additionalListeners:{click:this.clickHandler}});return t.createVNode("span",{class:this.linkClass,onClick:this.clickHandler},[t.createVNode("span",{class:"k-column-title"},[l]),e])}}),$t=t.defineComponent({props:{title:String,iconClass:String,icon:String,svgIcon:Object,selected:Boolean,onMenuitemclick:Function},methods:{onClick(e){this.$emit("menuitemclick",e)},onKeyDown(e){e.keyCode===i.Keys.enter&&this.$emit("menuitemclick",e)}},render(){const{title:e,iconClass:r,selected:o,icon:l,svgIcon:n}=this.$props;return t.createVNode("div",{tabindex:0,onKeydown:this.onKeyDown,onClick:this.onClick,class:"k-columnmenu-item "+(o?"k-selected":"")},[r&&t.createVNode(i.Icon,{class:r},null),(l||n)&&t.createVNode(i.Icon,{name:l,icon:n},null),e])}}),kt=t.defineComponent({render(){const e=i.getDefaultSlots(this);return t.createVNode("div",{class:"k-columnmenu-item-wrapper"},[e])}}),St="desc",It={true:{asc:{asc:"",desc:"desc"},desc:{asc:"asc",desc:""},"":{asc:"asc",desc:"desc"}},false:{asc:{asc:"asc",desc:"desc"},desc:{asc:"asc",desc:"desc"},"":{asc:"asc",desc:"desc"}}},yt=(e,t)=>t?t.findIndex((t=>t.field===e)):-1,wt=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),Nt=(e,t)=>!!(t&&e>-1&&t[e].dir===St),Rt=t.defineComponent({props:{sortable:[Boolean,Object],sort:{type:Array},column:Object,onSortchange:Function,onClosemenu:Function},inject:{kendoLocalizationService:{default:null}},methods:{onAscClick(e){this.onSort(e,"asc"),this.$emit("closemenu")},onDescClick(e){this.onSort(e,St),this.$emit("closemenu")},onSort(e,t){if(e.preventDefault(),!i.hasListener.call(this,"sortchange"))return;const{column:r,sortable:o,sort:l}=this.$props,{allowUnsort:n,mode:s}=vt(o||!1,!1),a=(l||[]).filter((e=>e.field===r.field))[0],d=It[n][a&&a.dir||""][t],h="single"===s?[]:(this.$props.sort||[]).filter((e=>e.field!==r.field));""!==d&&r.field&&h.push({field:r.field,dir:d}),this.$emit("sortchange",h,{event:e,field:this.$props.column.field})}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{sort:e,column:i}=this.$props,r=yt(i.field,e),o=l.provideLocalizationService(this);return t.createVNode(kt,null,{default:()=>[t.createVNode($t,{title:o.toLanguageString(se,ht[se]),icon:"sort-asc-small",svgIcon:n.sortAscSmallIcon,selected:wt(r,e),onMenuitemclick:this.onAscClick},null),t.createVNode($t,{title:o.toLanguageString(ae,ht[ae]),icon:"sort-desc-small",svgIcon:n.sortDescSmallIcon,selected:Nt(r,e),onMenuitemclick:this.onDescClick},null)]})}}),Ft=t.defineComponent({props:{show:Boolean},render(){const e=i.getDefaultSlots(this);return t.createVNode("div",{class:"k-columnmenu-item-content"},[t.createVNode(c.Reveal,{appear:this.$props.show,style:{position:"relative",display:"block"}},{default:()=>[this.$props.show?e:null]})])}}),Vt=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Et={text:[{text:"grid.filterContainsOperator",operator:"contains"},{text:"grid.filterNotContainsOperator",operator:"doesnotcontain"},{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterStartsWithOperator",operator:"startswith"},{text:"grid.filterEndsWithOperator",operator:"endswith"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"},{text:"grid.filterIsEmptyOperator",operator:"isempty"},{text:"grid.filterIsNotEmptyOperator",operator:"isnotempty"}],numeric:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterGteOperator",operator:"gte"},{text:"grid.filterGtOperator",operator:"gt"},{text:"grid.filterLteOperator",operator:"lte"},{text:"grid.filterLtOperator",operator:"lt"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],date:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterAfterOrEqualOperator",operator:"gte"},{text:"grid.filterAfterOperator",operator:"gt"},{text:"grid.filterBeforeOperator",operator:"lt"},{text:"grid.filterBeforeOrEqualOperator",operator:"lte"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],boolean:[{text:"grid.filterEqOperator",operator:"eq"}]},Dt=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Ht=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,ht[e.text]),operator:e.operator}))),At=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Ot=(e,t,i)=>{const r=Lt(i.operators);let o=i.operator;switch(i.filterType){case"numeric":case"date":(!o||Dt(o))&&(o=r),null===e&&o===r&&(o="");break;case"text":(!o||Dt(o))&&(o=r),!e&&o===r&&(o="");break;default:return}return{value:e,operator:o,event:t}},Lt=(e,t)=>t?e[t][0].operator:e[0].operator,Tt=e=>e||"text",Gt=(e,t)=>({value:e,operator:""===e?"":"eq",event:t}),zt=(e,t,i)=>(Dt(e)&&(i=null),{value:i,operator:e,event:t}),Mt=t.defineComponent({props:{field:String,filterType:String,value:[Object,String,Number,Date,Boolean],operator:String,operators:Array,booleanValues:Array},emits:{change:null,filtercellfocus:null},methods:{handleFocus(e){this.$emit("filtercellfocus",e)},triggerChange(e){this.$emit("change",e)},inputChange(e,t){const i=Ot(e,t,this.$props);this.triggerChange(i)},boolDropdownChange(e,t){const i=Gt(e.value.operator,t);this.triggerChange(i)}},render(){const{filterType:e,value:i,booleanValues:r}=this.$props;let o;switch(e){case"numeric":return t.createVNode(s.NumericTextBox,{value:i,onChange:e=>{this.inputChange(e.value,e.event)}},null);case"date":return t.createVNode(a.DatePicker,{value:i,onFocus:this.handleFocus,onChange:e=>{this.inputChange(e.value,e.event)}},null);case"boolean":return o=e=>null==e,t.createVNode(u.DropDownList,{onChange:this.boolDropdownChange,value:r.find((e=>e.operator===(o(i)?"":i))),"data-items":r,textField:"text"},null);default:return t.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[t.createVNode("input",{class:"k-input-inner",value:i||"",onInput:e=>{this.inputChange(e.target.value,e)}},null)])}}}),_t=t.defineComponent({props:{filterType:String,operator:String,operators:Array},emits:{change:null},methods:{triggerChange(e){this.$emit("change",e)},operatorChange(e,t){const i=zt(e.value.operator,t,this.$props.value);this.triggerChange(i)}},render(){const e=this.$props.operators.find((e=>e.operator===this.$props.operator))||null;return"boolean"!==this.$props.filterType?t.createVNode(u.DropDownList,{onChange:this.operatorChange,value:e,"data-items":this.$props.operators,textField:"text"},null):null}});function jt(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Bt=e=>e||{filters:[],logic:"and"},Kt=(e,t)=>Bt(t).filters.filter((t=>!!h.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find((t=>h.isCompositeFilterDescriptor(t)||t.field!==e)))))[0]||null,Pt=t.defineComponent({name:"KendoGridColumnMenuFilter",props:{column:Object,filter:Object,expanded:{type:Boolean,default:void 0},filterable:Boolean,filterOperators:{type:Object,default:function(){return Et}},hideSecondFilter:{type:[Boolean,Object],default:function(){}},filterUI:[String,Function,Object],onFilterfocus:Function,onFilterchange:Function,onExpandchange:Function,onClosemenu:Function},inject:{kendoLocalizationService:{default:null}},data:()=>({currentExpanded:!1,filterGroup:null}),created(){let e;if(this.$props.column&&this.$props.column.field){const t=Tt(this.$props.column.filter),i=Lt(this.$props.filterOperators,t);e=Kt(this.$props.column.field,this.$props.filter),e=e?{...e,filters:e.filters.map((e=>({...e})))}:{logic:"and",filters:[{field:this.$props.column.field,operator:i},{field:this.$props.column.field,operator:i}]},1===e.filters.filter((e=>e.field===this.$props.column.field)).length&&e.filters.splice(1,0,{field:this.$props.column.field,operator:i})}this.currentExpanded=this.$props.expanded||!1,this.filterGroup=e},methods:{removeGroup(e,t){const i=[...t.filters],r=i.findIndex((t=>t===e));return r>-1&&i.splice(r,1),{...t,filters:i}},insertGroup:(e,t)=>({...t,filters:[e,...t.filters]}),isControlled(){return void 0!==this.$props.expanded},onFilterExpand(){const e=this.isControlled(),t=!(e?this.$props.expanded:this.currentExpanded);this.$emit("expandchange",t),e||(this.currentExpanded=t)},filterChangeHandler(e,t){this.filterChange(t||0,e)},firstFilterChange(e){this.filterChange(0,e)},secondFilterChange(e){this.filterChange(1,e)},filterChange(e,t){const i=this.filterGroup.filters.map(((i,r)=>r===e?{...i,value:t.value,operator:t.operator}:i));this.filterGroup={...this.filterGroup,filters:i}},logicChange(e){this.filterGroup={...this.filterGroup,logic:e.target.value.operator}},clear(e){if(e.preventDefault(),!i.hasListener.call(this,"filterchange"))return;const t=this.$props.column.field,r=Bt(this.$props.filter),o=Kt(t,this.$props.filter),l=r.filters.filter((e=>e!==o));l.length?this.$emit("filterchange",{...r,filters:l},{event:e,field:this.$props.column.field}):this.$emit("filterchange",null,{event:e,field:this.$props.column.field}),this.$emit("closemenu")},currentFilterGroup(){return{...this.filterGroup,filters:this.filterGroup.filters.filter((e=>void 0!==e.value&&null!==e.value&&""!==e.value||null===e.value&&e.operator))}},submit(e){if(e.preventDefault(),!i.hasListener.call(this,"filterchange"))return;const t=this.$props.column.field,r=Bt(this.$props.filter),o=Kt(t,this.$props.filter),l=this.currentFilterGroup();let n=null;if(o&&l.filters.length>0){const e=r.filters.map((e=>e===o?l:e));n={...r,filters:e}}else if(0===l.filters.length){const e=r.filters.filter((e=>e!==o));e.length&&(n={...r,filters:e})}else n={...r,filters:[...r.filters,l]};this.$emit("filterchange",n,{event:e,field:this.$props.column.field}),this.$emit("closemenu")},handleFocus(e){this.$emit("filterfocus",e)}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){let e,r;const{column:o,filterUI:s,hideSecondFilter:a,filterOperators:d}=this.$props;if(!o||!o.field)return t.createVNode("div",null,null);const h=o.filter||"text",c=l.provideLocalizationService(this),g=this.filterGroup.filters,m=Ht(d[h],c),f=Ht(At,c),v={field:o.field,value:g[0].value,operator:g[0].operator,booleanValues:f,filterType:h},b={field:o.field,value:g[1].value,operator:g[1].operator,booleanValues:f,filterType:h},C=this.filterGroup.logic,x=Ht(Vt,c),$={value:x.find((e=>e.operator===(null===C?"":C))),data:x},k=0!==this.currentFilterGroup().filters.length,S=this.isControlled()?this.$props.expanded:this.currentExpanded,I=v.field,y=v.value,w=v.operator,N=v.booleanValues,R=v.filterType,F=b.field,V=b.value,E=b.operator,D=b.booleanValues,H=b.filterType,A=s&&i.templateRendering.call(this,s,i.getListeners.call(this)),O=i.getTemplate.call(this,{h:t.h,template:A,defaultRendering:void 0,additionalProps:this.$props,additionalListeners:{change:this.filterChangeHandler,logicchange:this.logicChange}});return t.createVNode(kt,null,{default:()=>[t.createVNode($t,{title:c.toLanguageString(ne,ht[ne]),icon:"filter",svgIcon:n.filterIcon,onMenuitemclick:this.onFilterExpand},null),t.createVNode(Ft,{show:!!S},{default:()=>[t.createVNode("div",{class:"kendo-grid-filter-menu-container"},[t.createVNode("form",{class:"k-filter-menu k-border-up",onSubmit:this.submit,onReset:this.clear},[t.createVNode("div",{class:"k-filter-menu-container"},[!s&&[t.createVNode(_t,{operator:w,filterType:R,onChange:e=>{this.filterChangeHandler(e,0)},operators:m},null),t.createVNode(Mt,{field:I,value:y,operator:w,booleanValues:N,filterType:R,onFiltercellfocus:this.handleFocus,onChange:e=>{this.filterChangeHandler(e,0)},operators:m},null)],!a&&!s&&[t.createVNode(u.DropDownList,{onChange:this.logicChange,class:"k-filter-and","data-items":$.data,value:$.value,textField:"text"},null),t.createVNode(_t,{operator:E,filterType:H,onChange:e=>{this.filterChangeHandler(e,1)},operators:m},null),t.createVNode(Mt,{field:F,value:V,operator:E,booleanValues:D,filterType:H,onFiltercellfocus:this.handleFocus,onChange:e=>{this.filterChangeHandler(e,1)},operators:m},null)],s&&O,t.createVNode("div",{class:"k-columnmenu-actions"},[t.createVNode(p.Button,{themeColor:"primary",disabled:!k},jt(e=c.toLanguageString(le,ht[le]))?e:{default:()=>[e]}),t.createVNode(p.Button,{type:"reset"},jt(r=c.toLanguageString(ie,ht[ie]))?r:{default:()=>[r]})])])])])]})]})}}),Wt=t.defineComponent({name:"KendoColumnMenuContent",inheritAttrs:!1,props:{column:Object,sortable:[Boolean,Object],sort:{type:Array},filter:Object,filterOperators:Object,filterable:Boolean,render:[Boolean,String,Function,Object],onContentfocus:Function,onClosemenu:Function,onSortchange:Function,onExpandchange:Function,onFilterchange:Function},methods:{handleFocus(e){this.$emit("contentfocus",e)},closeMenu(){this.$emit("closemenu")},expandChange(){this.$emit("expandchange")},sortChange(e,t){this.$emit("sortchange",e,t)},filterChange(e,t){this.$emit("filterchange",e,t)},contentKeyDown(e){e.keyCode===i.Keys.esc&&this.$emit("closemenu")}},render(){const e=this.$props.render,r=t.createVNode("div",{style:this.$attrs.style,onKeydown:this.contentKeyDown},[t.createVNode(Rt,{column:this.$props.column,sortable:this.$props.sortable,sort:this.$props.sort,onClosemenu:this.closeMenu,onSortchange:this.sortChange},null),t.createVNode(Pt,{column:this.$props.column,filterable:this.$props.filterable,filter:this.$props.filter,filterOperators:this.$props.filterOperators,onFilterfocus:this.handleFocus,onClosemenu:this.closeMenu,onExpandchange:this.expandChange,onFilterchange:this.filterChange},null)]);return i.getTemplate.call(this,{h:t.h,template:"boolean"!=typeof e&&e,defaultRendering:r,additionalProps:this.$props,additionalListeners:{closemenu:this.closeMenu,filterchange:this.filterChange,sortchange:this.sortChange,expandchange:this.expandChange,contentfocus:this.handleFocus}})}}),qt=t.defineComponent({name:"KendoColumnMenu",props:{animate:{type:[Boolean,Object],default:function(){return!0}},column:Object,sortable:[Boolean,Object],sort:{type:Array},opened:Boolean,filter:Object,filterable:Boolean,filterOperators:Object,render:[Boolean,String,Function,Object],columnMenuIcon:i.SvgIcon,onClose:Function,onSortchange:Function,onFilterchange:Function},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data:()=>({show:!1,blurTimeout:void 0}),created(){this._anchor=i.guid()},computed:{currentOpen(){return this.show||this.$props.opened}},watch:{currentOpen:function(e){this.$nextTick((function(){if(this._content=this.$refs.content,e&&this._content){const e=r.tableKeyboardNavigationTools.getFocusableElements(this._content,{focusable:!0});e.length?e[0].focus():this._content.focus()}}))}},methods:{blur(){clearTimeout(this.blurTimeout),this.blurTimeout=setTimeout((()=>{this.closeMenu()}),200)},focus(){clearTimeout(this.blurTimeout)},handleFocus(e){clearTimeout(this.blurTimeout)},anchorClick(e){e.preventDefault(),this.show=!this.show},closeMenu(){this.$emit("close"),this.show=!1},sortChange(e,t){this.$emit("sortchange",e,t)},filterChange(e,t){this.$emit("filterchange",e,t)}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=this.$props.render,r=l.provideLocalizationService(this),{columnMenuIcon:o}=this.$props;return t.createVNode("div",{style:{display:"inline"}},[t.createVNode("a",{class:"k-grid-header-menu k-grid-column-menu",title:`${this.$props.column.field} ${r.toLanguageString(ee,ht[ee])}`,ref:i.setRef(this,"kendoAnchor"),onClick:this.anchorClick,href:"#"},[o?t.createVNode(i.Icon,{name:o.name,icon:o},null):t.createVNode(i.Icon,{name:"more-vertical",icon:n.moreVerticalIcon},null)]),t.createVNode(d.Popup,{animate:this.$props.animate,anchor:this._anchor,show:this.currentOpen},{default:()=>[t.createVNode("div",{ref:"content",class:"k-column-menu k-grid-columnmenu-popup",tabindex:0,onFocusout:this.blur,onFocusin:this.focus,style:{outline:"none",width:"230px"}},[t.createVNode(Wt,{column:this.$props.column,sortable:this.$props.sortable,sort:this.$props.sort,filter:this.$props.filter,filterable:this.$props.filterable,filterOperators:this.$props.filterOperators,render:e,onContentfocus:this.handleFocus,onClosemenu:this.closeMenu,onSortchange:this.sortChange,onFilterchange:this.filterChange},null)])]})])}});function Ut(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Yt={none:"none",asc:"ascending",desc:"descending"},Xt={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Jt=t.defineComponent({name:"KendoHeaderRow",props:{grid:Object,cellRender:[String,Function,Object],groupable:[Boolean,Object],reorderable:Boolean,sortable:[Boolean,Object],sort:{type:Array},filter:Object,filterable:Boolean,filterOperators:Object,filterChange:Function,filterRow:Object,columns:Array,columnsMap:Array,columnResize:Object,columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:Object,isRtl:Boolean,isColCountDefined:Boolean,columnsInitial:Array,onSortChange:Function,onFilterChange:Function,onSelectionchange:Function,onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},inject:{onNavFocus:{default:i.noop},kendoLocalizationService:{default:null}},data:()=>({columnMenuOpened:{}}),created(){this.serviceIndex=0,this.index=-1,this._element=null,this.cellClick=this.cellClick.bind(this)},methods:{pressHandler(e,t){this.$emit("pressHandler",e,t)},dragHandler(e,t){this.$emit("dragHandler",e,t)},releaseHandler(e){this.$emit("releaseHandler",e)},selectionChangeHandler(e){this.$emit("selectionchange",e)},cellClick(e,t){if(e.preventDefault(),!i.hasListener.call(this,"sortChange"))return;const{allowUnsort:r,mode:o}=vt(this.$props.sortable||!1,t.sortable||!1),l=(this.$props.sort||[]).filter((e=>e.field===t.field))[0],n=Xt[r][l&&l.dir||""],s="single"===o?[]:(this.$props.sort||[]).filter((e=>e.field!==t.field));""!==n&&t.field&&s.push({field:t.field,dir:n}),this.sortChangeHandler(s,{event:e,field:t.field})},sortChangeHandler(e,t){this.$emit("sortChange",e,t)},filterChangeHandler(e,t){this.$emit("filterChange",e,t)},cellClass(e,t,i){let r="k-header"+(i?" k-grid-header-sticky":"")+(t?" "+t:"");return this.$props.sort&&this.$props.sort.filter((t=>t.field===e)).length>0&&(r+=" k-sorted"),r},cellKeyDown(e,t){e.defaultPrevented||(e.keyCode===i.Keys.enter&&this.cellClick(e,t),e.altKey&&e.keyCode===i.Keys.down&&t.field&&(e.preventDefault(),this.columnMenuOpened={[t.field]:!0}))},getTemplate(e){return i.templateRendering.call(this.$props.grid,e,i.getListeners.call(this.$props.grid))},columnMenuClose(){this.onNavFocus({}),this.columnMenuOpened={}}},computed:{element(){return this._element},theadClasses:()=>({"k-table-thead":!0})},render(e){const o=l.provideLocalizationService(this),s=o.toLanguageString(Ce,ht[Ce]),a=o.toLanguageString(xe,ht[xe]),d=o.toLanguageString($e,ht[$e]);this.serviceIndex=0,this.index=-1;const h=function(e){return e.map((function(e){const o=this.$props.columns[e],l=this.$props.sortable&&o.sortable,h=this.$props.sort?this.$props.sort.findIndex((e=>e.field===o.field)):-1,c=h>=0&&this.$props.sort[h].dir||"none",p=function(e){if(!this.$props.sort)return null;const r=e>=0?this.$props.sort[e].dir:"";return e>=0&&[t.createVNode("span",{key:1,class:"k-sort-icon"},[t.createVNode(i.Icon,{name:"sort-"+r+"-small",icon:"asc"===r?n.sortAscSmallIcon:n.sortDescSmallIcon},null)]),this.$props.sort.length>1&&t.createVNode("span",{key:2,class:"k-sort-icon"},[t.createVNode("span",{class:"k-sort-order"},[e+1])])]}.call(this,h),u=o.columnMenu||!1===o.columnMenu?o.columnMenu:this.$props.columnMenu,g=o.menuIcon||this.$props.columnMenuIcon,m=(o.kFirst?"k-first ":"")+this.cellClass(o.field,o.headerClassName,o.locked)+(u?" k-filterable":""),f=u&&"boolean"!=typeof u?this.getTemplate(u):!!u,v=void 0!==o.left?this.$props.isRtl?{left:o.right+"px",right:o.left+"px"}:{left:o.left+"px",right:o.right+"px"}:{},b="none"===Yt[c]?s:"ascending"===Yt[c]?a:d;let C=o.isAccessible?{ariaSort:Yt[c],ariaLabel:b,role:"columnheader",ariaColumnIndex:this.$props.isColCountDefined?this.$props.columnsInitial.findIndex((e=>e.field===o.field))+1:void 0,ariaSelected:!1,ariaHaspopup:u?"menu":this.$props.filterable&&o.filterable?"dialog":void 0}:{role:"columnheader"};const x=o.declarationIndex>=0?++this.index:--this.serviceIndex,$=void 0!==o.columnMenuOpened?o.columnMenuOpened:this.columnMenuOpened[o.field];return t.createVNode(r.HeaderThElement,{ariaSort:l?C.ariaSort:void 0,ariaLabel:l?C.ariaLabel:void 0,role:C.role,ariaColumnIndex:C.ariaColumnIndex,ariaSelected:C.ariaSelected,ariaHaspopup:C.ariaHaspopup,key:x,colSpan:o.headerColSpan,rowSpan:o.rowSpan,class:m,style:v,columnId:o.id,navigatable:o.navigatable,onKeydown:e=>this.cellKeyDown(e,o)},{default:()=>[[0===o.children.length&&u&&t.createVNode(qt,{key:0,column:{field:o.field,filter:o.filter},opened:$,animate:this.$props.columnMenuAnimate,sortable:l,sort:this.$props.sort,onClose:this.columnMenuClose,onSortchange:this.sortChangeHandler,filter:this.$props.filter,filterable:this.$props.filterable&&o.filterable,filterOperators:this.$props.filterOperators,onFilterchange:this.filterChangeHandler,render:f,columnMenuIcon:g},null),o.internalHeaderCell&&t.createVNode("span",{class:"k-cell-inner"},[t.createVNode(o.internalHeaderCell,{key:1,field:o.field,sortable:l,onHeadercellclick:e=>this.cellClick(e,o),onSelectionchange:this.selectionChangeHandler,selectionValue:o.headerSelectionValue,title:o.title,render:(o.headerCell||this.$props.cellRender)&&this.getTemplate(o.headerCell||this.$props.cellRender)},Ut(p)?p:{default:()=>[p]})])||t.createVNode("span",{class:"k-cell-inner"},[t.createVNode(xt,{key:1,field:o.field,sortable:l,onHeadercellclick:e=>this.cellClick(e,o),selectionValue:o.headerSelectionValue,title:o.title,render:(o.headerCell||this.$props.cellRender)&&this.getTemplate(o.headerCell||this.$props.cellRender)},Ut(p)?p:{default:()=>[p]})]),this.$props.columnResize&&this.$props.columnResize.resizable&&o.resizable&&t.createVNode(bt,{key:2,onResize:(e,t,i)=>this.$props.columnResize&&this.$props.columnResize.dragHandler(e,o,t,i)},null)]]})}),this)};return t.createVNode("thead",{role:"rowgroup",class:this.theadClasses,"data-keyboardnavheader":!0},[this.$props.columnsMap.map((function(e,i){let r;return(this.$props.groupable||this.$props.reorderable)&&t.createVNode(Ct,{key:i,onPressHandler:this.pressHandler,onDragHandler:this.dragHandler,onReleaseHandler:this.releaseHandler},Ut(r=h.call(this,e))?r:{default:()=>[r]})||t.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":this.columnsMap.length},[h.call(this,e)])}),this),this.$props.filterRow])}}),Qt=t.defineComponent({name:"KendoGridFilterCell",inheritAttrs:!1,props:{id:String,grid:Object,field:String,filterType:String,colSpan:Number,title:String,value:[String,Number,Boolean,Date],operator:[String,Function],operators:Array,booleanValues:Array,onChange:Function,render:[String,Function,Object],ariaLabel:String,size:String},inject:{kendoLocalizationService:{default:null},kendoIntlService:{default:null}},methods:{inputChange(e,t){const i=Ot(e,t,this.$props);this.triggerChange(i)},operatorChange(e,t){const i=zt(e.value.operator,t,this.$props.value);this.triggerChange(i)},boolDropdownChange(e,t){const i=Gt(e.value.operator,t);this.triggerChange(i)},clear(e){e.preventDefault(),this.triggerChange({value:"",operator:"",event:e})},triggerChange(e){e.field=this.$props.field,this.$emit("change",e)}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{}),kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=l.provideLocalizationService(this),{size:r}=this.$props,o=this.$props.operators.find((e=>e.operator===this.$props.operator))||null,d=t.createVNode("div",{class:"k-filtercell",style:this.$attrs.style},[t.createVNode("div",{class:"k-filtercell-wrapper"},[function(e,i){let o;switch(e){case"numeric":return t.createVNode(s.NumericTextBox,{size:r,value:i,onChange:e=>{this.inputChange(e.value,e.event)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"date":return t.createVNode(a.DatePicker,{size:r,value:i,onChange:e=>{this.inputChange(e.value,e)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"boolean":return o=this.$props.booleanValues,t.createVNode(u.DropDownList,{onChange:this.boolDropdownChange,size:r,value:o.find((e=>e.operator===(null!==i?i:""))),"data-items":o,textField:"text",title:this.$props.title,ariaLabel:this.ariaLabel},null);default:return t.createVNode(s.TextBox,{value:i||"",size:r,onInput:e=>{this.inputChange(e.target.value,e)},title:this.$props.title,"aria-label":this.ariaLabel},null)}}.call(this,this.$props.filterType,this.$props.value),t.createVNode("div",{class:"k-filtercell-operator"},[function(){if("boolean"!==this.$props.filterType)return t.createVNode(u.DropDownList,{onChange:this.operatorChange,value:o,size:r,class:"k-dropdown-operator",icon:"filter",svgIcon:n.filterIcon,iconClassName:"filter k-button-icon","data-items":this.$props.operators,textField:"text",title:e.toLanguageString(me,ht[me]),popupSettings:{width:"",anchor:""},ariaLabel:this.ariaLabel},null)}.call(this),t.createVNode(p.Button,{type:"button",size:r,icon:"filter-clear",svgIcon:n.filterClearIcon,class:{"k-disabled":!(null!==this.$props.value&&""!==this.$props.value||this.$props.operator)},title:e.toLanguageString(ie,ht[ie]),onClick:this.clear},null)])])]),h=this.$props.grid?i.getListeners.call(this.$props.grid):null,c=i.templateRendering.call(this.$props.grid,this.$props.render,h);return i.getTemplate.call(this,{h:t.h,template:c,defaultRendering:d,additionalProps:this.$props,additionalListeners:{change:this.triggerChange}})}});const Zt=t.defineComponent({name:"kendoFilterRow",props:{grid:Object,columns:Array,filter:Object,filterOperators:Object,sort:[Object,Array],cellRender:[String,Function,Object],isRtl:Boolean,ariaRowIndex:Number,size:String,onFilterchange:Function},inject:{kendoLocalizationService:{default:null}},methods:{headerCellClassName(e,t){let i=t?" k-grid-header-sticky":"";return this.$props.sort&&this.$props.sort.filter((t=>t.field===e)).length>0&&(i+=" k-sorted"),i},setFilter(e,t,i,r){const o=[];(""!==e&&null!==e||""!==t)&&o.push({field:i,operator:t,value:e}),this.$props.filter&&this.$props.filter.filters&&(this.$props.filter.filters||[]).forEach((e=>{const t=e;t&&t.field!==i&&o.push(t)}));const l=o.length>0?{logic:"and",filters:o}:null;this.$emit("filterchange",l,r)}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=l.provideLocalizationService(this),i=this.$props.filter&&this.$props.filter.filters||[],o=(e,t=null)=>{const r=i.filter((t=>t.field===e))[0];return r?r.value:t},n=e=>{const t=i.filter((t=>t.field===e))[0];return t?t.operator:null};let s=0,a=-1;const d=this.$props.columns.filter((e=>0===e.children.length)).map((function(i){const l=Tt(i.filter),d=(i.title||i.field)+" "+((e,t)=>{switch(e){case"text":return t.toLanguageString(Ye,ht[Ye]);case"numeric":return t.toLanguageString(we,ht[we]);case"boolean":return t.toLanguageString(Xe,ht[Xe]);case"date":return t.toLanguageString(Ue,ht[Ue]);default:return}})(l,e),h=t.createVNode(Qt,{grid:this.$props.grid,field:i.field,title:i.filterTitle,value:o(i.field,"text"===l?"":null),operator:n(i.field),operators:Ht(this.$props.filterOperators[l]||[],e),booleanValues:Ht(At,e),filterType:l,onChange:e=>{this.setFilter(e.value,e.operator,i.field,e)},render:i.filterCell||this.$props.cellRender,"aria-label":d,size:this.$props.size},null),c=i.declarationIndex>=0?++a:--s,p={ariaLabel:i.filterable?e.toLanguageString(ye,ht[ye]):void 0,ariaColumnIndex:i.ariaColumnIndex},u=void 0!==i.left?this.$props.isRtl?{left:i.right+"px",right:i.left+"px"}:{left:i.left+"px",right:i.right+"px"}:{},g=t.createVNode(r.HeaderTdElement,{key:c,role:"gridcell",columnId:r.tableKeyboardNavigationTools.getFilterColumnId(i.id),navigatable:i.navigatable,style:u,class:this.headerCellClassName(i.field,i.locked)||void 0,ariaColumnIndex:p.ariaColumnIndex,"aria-label":d},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(h)?h:{default:()=>[h]});return i.filterable&&g||t.createVNode(r.HeaderTdElement,{key:c,role:"gridcell",columnId:r.tableKeyboardNavigationTools.getFilterColumnId(i.id),navigatable:i.navigatable,style:u,class:this.headerCellClassName(i.field,i.locked)||void 0,ariaColumnIndex:p.ariaColumnIndex,"aria-label":d},null)}),this);return t.createVNode("tr",{class:"k-table-row k-filter-row","aria-rowindex":this.ariaRowIndex,role:"row"},[d])}}),ei=t.defineComponent({props:{title:String,dir:String,onRemove:Function,onSortChange:Function,onPress:Function,onDrag:Function,onRelease:Function},mounted(){this.element=i.getRef(this,"indicatorContainer"),this.element&&(this.draggable=this.$refs.draggable)},methods:{press(e){this.element&&this.$emit("press",e,this.element)},drag(e){this.element&&this.$emit("drag",e,this.element)},release(e){this.element&&this.$emit("release",e,this.element)},sortChange(e){e.preventDefault();const t="asc"===this.$props.dir?"desc":"asc";this.$emit("sortChange",e,t)},groupRemove(e){e.preventDefault(),this.$emit("remove",e)}},setup:()=>({indicatorContainerRef:t.ref(null)}),render(){return t.createVNode(i.Draggable,{onPress:this.press,onDrag:this.drag,onRelease:this.release,ref:"draggable"},{default:()=>[t.createVNode("div",{class:"k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md",ref:i.setRef(this,"indicatorContainer")},[t.createVNode(i.Icon,{name:"sort-"+this.$props.dir+"-small",class:"k-chip-icon",icon:"asc"===this.$props.dir?n.sortAscSmallIcon:n.sortDescSmallIcon},null),t.createVNode("span",{class:"k-chip-content",tabindex:-1,onClick:this.sortChange},[this.$props.title]),t.createVNode("span",{class:"k-chip-actions"},[t.createVNode("span",{class:"k-chip-action k-chip-remove-action",tabindex:-1,onClick:this.groupRemove},[t.createVNode(i.Icon,{name:"x-circle",icon:n.xCircleIcon},null)])])])]})}}),ti=t.defineComponent({props:{group:Array,resolveTitle:Function,ariaControls:String,onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function,onGroupChange:Function},inject:{kendoLocalizationService:{default:null}},methods:{pressHandler(e,t){this.$emit("pressHandler",e,t)},dragHandler(e,t){this.$emit("dragHandler",e,t)},releaseHandler(e){this.$emit("releaseHandler",e)},onGroupRemove(e,t){const i=this.$props.group.slice();i.splice(t,1),this.$emit("groupChange",i,e)},onGroupSortChange(e,t,i,r){const o=Object.assign({},i,{dir:r}),l=this.$props.group.slice();l.splice(t,1,o),this.$emit("groupChange",l,e)}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=this.$props.group||[],i=this.$props.ariaControls,r=e.map((function(e,i){return t.createVNode(ei,{key:i,dir:e.dir||"asc",title:this.$props.resolveTitle(e.field),onRemove:e=>this.onGroupRemove(e,i),onSortChange:(t,r)=>{this.onGroupSortChange(t,i,e,r)},onPress:this.pressHandler,onDrag:this.dragHandler,onRelease:this.releaseHandler},null)}),this),o=l.provideLocalizationService(this).toLanguageString(Je,ht[Je]);return t.createVNode("div",{class:"k-grouping-header",role:"toolbar","aria-label":o,"aria-controls":i},[!!r.length&&t.createVNode("div",{class:"k-chip-list k-chip-list-md"},[r]),t.createVNode("div",{class:"k-grouping-drop-container"},[!r.length&&l.provideLocalizationService(this).toLanguageString(J,ht[J])])])}}),ii=t.defineComponent({name:"Footer",props:{staticHeaders:Boolean,row:Object,columnResize:Object,cols:Array,size:String},data:()=>({scrollbarWidth:0,rtl:!1,tableWidth:null}),computed:{tableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-footer-table":!0,[`k-table-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}},divStyle(){const e=this.$data.scrollbarWidth+"px";return{padding:`0 ${this.rtl?0:e} 0 ${this.rtl?e:0}`}},tableStyle(){return this.tableWidth?{width:this.tableWidth}:null}},mounted(){this.rtl=C(this.$el),this.$props.columnResize.colGroupFooter=i.getRef(this,"colGroupHeader"),this._footerWrap=i.getRef(this,"footerWrap")},methods:{setScrollLeft(e){this._footerWrap&&(this._footerWrap.scrollLeft=e)},setWidth(e){this.$data.tableWidth=e+"px"}},setup(){const e=t.ref(null);return{colGroupHeaderRef:t.ref(null),footerWrapRef:e}},render(){return this.$props.staticHeaders?t.createVNode("div",{class:"k-grid-footer",style:this.divStyle,role:"presentation"},[t.createVNode("div",{class:"k-grid-footer-wrap",ref:i.setRef(this,"footerWrap"),role:"presentation"},[t.createVNode("table",{class:this.tableClass,style:this.tableStyle,role:"presentation"},[t.createVNode("colgroup",{ref:i.setRef(this,"colGroupHeader")},[this.$props.cols]),t.createVNode("tfoot",{class:"k-table-tfoot",role:"rowgroup"},[this.$props.row])])])]):t.createVNode("tfoot",{class:"k-table-tfoot k-grid-footer",role:"rowgroup"},[this.$props.row])}}),ri=t.defineComponent({name:"FooterRow",props:{isRtl:Boolean,columns:Array,rowIndex:Number},methods:{columnStyles(e){return void 0!==e.left?this.$props.isRtl?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}:{}}},render(){return t.createVNode("tr",{class:"k-table-row",role:"row","aria-rowIndex":this.$props.rowIndex},[N(this.$props.columns).map((function(e,r){let o=null;const l=e.locked&&void 0!==e.left?"k-grid-footer-sticky":"",n=e.footerClassName?`k-table-td ${e.footerClassName} ${l}`:"k-table-td "+l;return o=i.getTemplate.call(this,{h:t.h,template:e.footerCell,defaultRendering:null,additionalProps:{field:e.field,colSpan:1!==e.colSpan?e.colSpan:void 0,defaultStyle:this.columnStyles(e)}}),t.createVNode("td",{key:r,colspan:1!==e.colSpan?e.colSpan:void 0,style:this.columnStyles(e),class:n,role:"gridcell"},[o])}),this)])}});class oi{constructor(e,t){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.fixedScroll=!1,this.askedSkip=void 0,this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.topItems=(e,t)=>{if(!this.container||t)return{topItemsCount:0,topItemsHeight:0};const i=this.container.clientHeight,r=this.container.querySelectorAll(".k-group-footer").length,o=Math.ceil(i/e[0].line),l=Math.ceil(r/o),n=Math.max(l,Math.ceil((e.length-o)/2));let s=0;for(let t=0;t<n;t++)s+=e[t].line+e[t].acc;return{topItemsCount:n,topItemsHeight:s,itemsNeededOnScreen:o+o/2+(l?r/(1+l):0)}},this.horizontalScrollbarHeight=()=>this.container?this.container.offsetHeight-this.container.clientHeight:0,e&&(this.topCacheCount=t,this.attendedSkip=-this.topCacheCount),this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef}get rowHeights(){const e=[],t=this.tableBodyRef&&this.tableBodyRef.children||[];let i=0;for(let r=0;r<t.length;r++)t[r].className.indexOf("k-grouping-row")>-1?i+=t[r].scrollHeight:t[r].className.indexOf("k-detail-row")>-1?e[e.length-1].line+=t[r].scrollHeight:(e.push({line:t[r].scrollHeight,acc:i}),i=0);return e}changePage(e,t){this.attendedSkip=e-this.topCacheCount,this.PageChange({skip:Math.max(0,e-this.topCacheCount),take:this.pageSize},t)}translate(e){this.tableTranslate=e,this.scrollableVirtual&&this.table&&(this.table.style.transform="translateY("+e+"px)")}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0))}localScrollUp(e){if(!this.container)return;const t=this.rowHeights,i=this.container.scrollTop;let r=this.tableTranslate,o=0;const{topItemsCount:l,topItemsHeight:n,itemsNeededOnScreen:s}=this.topItems(t,!!this.topCacheCount),a=i-r;if(!(a>n||t.length<=s)){for(;o<this.topCacheCount+this.attendedSkip-this.realSkip+l&&this.propsSkip-o>0&&!(r+(t[t.length-1-o].line+t[t.length-1-o].acc)+a<=i);)r-=t[t.length-1-o].line+t[t.length-1-o].acc,o++;if(0===o&&0===this.topCacheCount&&this.attendedSkip>0&&(r=Math.max(r-t[0].line,0),o=1),this.propsSkip-o<=0&&r>i)return this.translate(0),this.changePage(0,e),void(this.container.scrollTop=0);if(r>i&&(r=i),r!==this.tableTranslate){this.translate(Math.max(0,r-n));const t=Math.max(0,this.propsSkip-o-l);this.changePage(t,e)}}}localScrollDown(e){if(!this.container)return;const t=this.rowHeights,i=this.container.scrollTop;let r=this.tableTranslate,o=0;const{topItemsCount:l,topItemsHeight:n,itemsNeededOnScreen:s}=this.topItems(t,!!this.topCacheCount);for(;o<t.length-this.topCacheCount&&!(r+t[o].line+t[o].acc>i);)r+=t[o].line+t[o].acc,o++;l>this.propsSkip+o||t.length<=s||(o>=t.length-this.topCacheCount&&this.propsSkip+o>=this.total?(this.translate(r-n),this.changePage(this.total-1-l,e)):r!==this.tableTranslate&&this.propsSkip+o-l!==this.propsSkip&&(this.translate(r-n),this.changePage(this.propsSkip+o-l,e)))}scrollNonStrict(e){const t=this.total*this.prevScrollPos/this.containerHeight;let i=Math.floor(t);i>=this.total&&(i=this.total-1);const r=Math.min(t-i,1);let o=0;const l=i-this.propsSkip,n=this.rowHeights;l>=0&&l<=1?o=-(n[0].line+n[0].acc)*r:-1===l&&(o=-(n[n.length-1].line+n[n.length-1].acc)*r);const{topItemsCount:s,topItemsHeight:a,itemsNeededOnScreen:d}=this.topItems(n,!!this.topCacheCount),h=Math.max(0,o-a-this.horizontalScrollbarHeight()+this.containerHeight*t/this.total);this.prevScrollPos<h&&n.length<=d||(this.translate(h),this.changePage(i-s,e))}scrollHandler(e){if(!this.scrollableVirtual)return;if(this.scrollSyncing||!this.container||!this.table)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,i=this.prevScrollPos;if(this.prevScrollPos=t,void 0!==this.askedSkip)return this.translate(this.containerHeight*this.askedSkip/this.total),this.changePage(this.askedSkip,e),this.prevScrollPos=t,void(this.askedSkip=void 0);t-i<0&&t>this.tableTranslate-this.table.scrollHeight/10?this.localScrollUp(e):t-i>0&&t<this.tableTranslate+2*this.table.scrollHeight/3?this.localScrollDown(e):this.scrollNonStrict(e),this.prevScrollPos=t}}let li=class{constructor(e=0,t,i,r){this.total=e,this.offsets=[],this.heights=[];let o=0;for(let l=0;l<e;l++){this.offsets.push(o);const e=r&&r[l].expanded&&"data"===r[l].rowType?i:t;o+=e,this.heights.push(e)}}height(e){return this.heights[e]}index(e){if(e<0)return;const t=this.offsets.reduce(((t,i,r)=>void 0!==t?t:i===e?r:i>e?r-1:void 0),void 0);return void 0===t?this.total-1:t}offset(e){return this.offsets[e]}totalHeight(){return this.offsets[this.offsets.length-1]+this.heights[this.heights.length-1]}};class ni{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.fixedScroll=!1,this.askedSkip=void 0,this.tableTransform="",this.scrollSyncing=!1,this.lastLoaded=0,this.firstLoaded=0,this.lastScrollTop=0,this.firstLoaded=this.pageSize,this.lastLoaded=this.realSkip+this.pageSize,this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef}translate(e){this.scrollableVirtual&&this.table&&(this.table.style.transform="translateY("+e+"px)")}changePage(e,t){this.PageChange&&this.PageChange({skip:Math.max(0,e),take:this.pageSize},t)}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0))}scrollHandler(e){if(!(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&this.containerRef))return;if(this.scrollSyncing)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,i=this.lastScrollTop>=t,r=!i;this.lastScrollTop=t;let o=this.rowHeightService.index(t),l=this.rowHeightService.offset(o);const{offsetHeight:n}=this.containerRef,s=this.rowHeightService.index(t+n);if(r&&s>=this.lastLoaded&&this.lastLoaded<this.total){const t=o+this.pageSize-this.total;t>0&&(o-=t,l=this.rowHeightService.offset(o)),this.firstLoaded=o,this.translate(l);const i=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(i,this.total),this.changePage(this.firstLoaded,e)}else if(i&&o<this.firstLoaded){const t=Math.floor(.3*this.pageSize);this.firstLoaded=Math.max(o-t,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,e)}}}class si{constructor(e){this.columns=[],this.columnsState=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.initWidths=()=>{var e;const t=(null==(e=this.colGroupMain)?void 0:e.children)||[],i=D(this.columnsState),r=this.columns.filter((e=>{var t;return!(null!=(t=e.children)&&t.length)}));for(let e=0;e<t.length;e++){const o=t[e];let l="";const n=i.find((t=>t.id===r[e].id));n&&(l=n.width||""),o.width=l,this.colGroupHeader&&(this.colGroupHeader.children[e].width=l),this.colGroupFooter&&(this.colGroupFooter.children[e].width=l)}},this.dragHandler=(e,t,i,r)=>{const o=e.originalEvent;r||(o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation());const l=i.closest("th");if(!l)return;const n=l.clientWidth;let s=n;if(this.isRtl?s+=i.getBoundingClientRect().right-i.offsetWidth/2-e.clientX:s+=e.clientX-i.getBoundingClientRect().left-i.offsetWidth/2,!r&&Math.abs(s-n)<1)return;this.fixateInitialWidths(l.parentElement.clientWidth),this.setWidths(t,Math.floor(s)/n);const a=this.columns.filter((e=>!e.children.length)).findIndex((e=>e.id===t.id));this.onResize(a,n,s,o,r,this.columnsState,t.id)},this.dblClickHandler=(e,t)=>{const i=this.columns.filter((e=>t.indexOf(e.id)>-1)),r=D(this.columnsState);if(!this.colGroupMain||!i.length)return;const o={},l=i;for(;l.length>0;){const e=l.pop();if(!e)break;e.children.length?l.push(...e.children):o[e.id]=e}const n=this.columns.filter((e=>!e.children.length)),s=[];n.forEach(((e,t)=>{o[e.id]&&s.push(t)}));const a=[this.colGroupMain.parentElement],d=[this.colGroupMain];this.colGroupHeader&&(a.push(this.colGroupHeader.parentElement),d.push(this.colGroupHeader)),this.colGroupFooter&&(a.push(this.colGroupFooter.parentElement),d.push(this.colGroupFooter)),a.forEach((e=>e.classList.add("k-autofitting")));const h=[];d.forEach((e=>{s.forEach((t=>{e.children[t]&&(e.children[t].width="",h[t]=Math.max(h[t]||0,e.children[t].offsetWidth+1))}))})),d.forEach((e=>{s.forEach((t=>{if(e.children[t]){e.children[t].width=h[t]+"px";const i=r.find((e=>e.id===n[t].id));i&&(i.width=h[t])}}))})),a.forEach((e=>e.classList.remove("k-autofitting"))),this.onResize(s[0],0,0,e,!0,this.columnsState,t[0])},this.updateColElements=e=>{var t,i,r;const o=this.columns.filter((e=>!e.hidden&&!e.children.length));let l=1e-10;for(let n=0;n<e.length;n++){const s=e[n],a=o.findIndex((e=>e.id===s.id)),d=parseFloat((s.width||0).toString()),h=Math.floor(d);l+=d-h;const c=h+Math.floor(l);l-=Math.floor(l);const p=o.find((e=>e.id===s.id));if(!p)return;if(null!=(t=this.colGroupMain)&&t.children[a]){const e=parseInt(this.colGroupMain.children[a].width,10);this.colGroupMain.children[a].width=c+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,p,e-c)}if(null!=(i=this.colGroupHeader)&&i.children[a]){const e=parseInt(this.colGroupHeader.children[a].width,10);this.colGroupHeader.children[a].width=c+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,p,e-c)}if(null!=(r=this.colGroupFooter)&&r.children[a]){const e=parseInt(this.colGroupFooter.children[a].width,10);this.colGroupFooter.children[a].width=c+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,p,e-c)}}},this.onResize=e}fixateInitialWidths(e){var t;let i=0;const r=(null==(t=this.colGroupMain)?void 0:t.children)||[];for(let t=0;t<r.length;t++)r[t].width?e-=r[t].clientWidth:i++;if(0===i)return;const o=Math.floor(e/i),l=D(this.columnsState),n=this.columns.filter((e=>!e.children.length));for(let e=0;e<r.length;e++){const t=r[e],i=t.width?t.clientWidth:o;t.width=i;const s=l.find((t=>t.id===n[e].id));s&&(s.width=i.toString()),this.colGroupHeader&&(this.colGroupHeader.children[e].width=i),this.colGroupFooter&&(this.colGroupFooter.children[e].width=i)}}setWidths(e,t){const i=D(this.columnsState),r=this.columns.findIndex((t=>t.id===e.id)),o=[];let l=e.children.filter((e=>!e.hidden)).length;for(let e=r+1;e<this.columns.length&&!(l<=0);e++){const t=this.columns[e];t.children.length?l+=t.children.filter((e=>!e.hidden)).length:o.push(t),l--}0===o.length&&o.push(e);const n=[];o.forEach((e=>{const r=i.find((t=>t.id===e.id));if(r){let i=r.width?parseFloat(r.width.toString())*t:0;const o=void 0===e.minResizableWidth?10:e.minResizableWidth;i<o&&(i=o),r.width=i,n.push(r)}})),this.updateColElements(n)}updateNextLockedCol(e,t,i){const r=t.index,o=this.colGroupMain.parentElement.closest(".k-grid"),l=null==o?void 0:o.clientWidth,n=this.columns.filter((e=>e.locked)).map((e=>parseInt(e.width+"",10))).reduce(((e,t)=>e+t),0);!t.locked||l<=n+20||this.columns.forEach((t=>{if(null!=t&&t.locked&&i){const o=null==e?void 0:e.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');null==o||o.forEach((e=>{const o=e.style;this.isRtl?(t.index>r&&null!=o&&o.right&&(o.right=parseInt(o.right,10)-i+"px"),t.index<r&&null!=o&&o.left&&(o.left=parseInt(o.left,10)-i+"px")):(t.index>r&&null!=o&&o.left&&(o.left=parseInt(o.left,10)-i+"px"),t.index<r&&null!=o&&o.right&&(o.right=parseInt(o.right,10)-i+"px"))}))}}))}}class ai{constructor(e,t,r){this.reorderable=!1,this.groupable=!1,this.dropElementClue=null,this.dragElementClue=null,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.groupPanelDivElement=null,this.refGroupPanelDiv=e=>{this.groupPanelDivElement=e.children?e.children[0]:e},this.refDropElementClue=e=>{this.dropElementClue=e,this.dropElementClue&&i.canUseDOM&&document.body.appendChild(this.dropElementClue.$el)},this.refDragElementClue=e=>{this.dragElementClue=e,this.dragElementClue&&i.canUseDOM&&document.body.appendChild(this.dragElementClue.$el)},this.pressHandler=(e,t)=>{e.isTouch||e.originalEvent.preventDefault();const i=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),i>=0){const e=this.columns[i];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=i)}},this.dragHandler=(e,t)=>{if(e.isTouch||e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),-1===this.startColumn&&-1===this.startGroup)return;this.currentColumn=this.getColumnIndex(e,t);const i=this.groupPanelDivElement&&this.groupPanelDivElement.children;this.currentGroup=this.isTargetGroupingContainer(e)?i&&i.length?i.length:0:this.getGroupIndex(e);const r=!this.isValid();r&&(this.currentColumn=-1,this.currentGroup=-1);const o=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.isTargetGroupingContainer(e)?e.originalEvent.target:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,o,r),this.updateDropElementClue(e,t,o,r)},this.releaseHandler=e=>{const t=this.startColumn,i=this.currentColumn,r=this.startGroup,o=this.currentGroup;this.dropElementClue&&(this.dropElementClue.visible=!1),this.dragElementClue&&(this.dragElementClue.visible=!1);const l=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,l&&(t>=0&&i>=0?this.columnReorder(t,i,e.originalEvent):r>=0&&o>=0?this.groupReorder(r,o,e.originalEvent):t>=0&&o>=0&&this.columnToGroup(t,o,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=r}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const i=x(e,t);if(-1===i)return-1;for(let e=0;e<t.parentNode.children.length;e++)if(t.parentNode.children[e]===t)return this.columns.findIndex((t=>t.index===i&&t.depth===e));return-1}isTargetGroupingContainer(e){const t=e.originalEvent.target;return t.className.indexOf&&-1!==t.className.indexOf("k-grouping-drop-container")}getGroupIndex(e){return x(e,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)}updateDragElementClue(e,t,i,r){if(!this.dragElementClue)return;const o=this.startColumn>=0?t.children[this.columns[this.startColumn].index].innerText:t.innerText;this.dragElementClue.visible=!0,this.dragElementClue.top=e.pageY+10,this.dragElementClue.left=e.pageX,this.dragElementClue.innerText=o,this.dragElementClue.status=r||!i?"cancel":"plus"}updateDropElementClue(e,t,i,r){if(!this.dropElementClue)return;if(r||!i)return void(this.dropElementClue.visible=!1);const o=i.getBoundingClientRect(),l=(i.closest(".k-grouping-header")||i).getBoundingClientRect();let n=o.left+e.pageX-e.clientX-6;!this.isTargetGroupingContainer(e)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(n+=o.width);const s=l.top+e.pageY-e.clientY;this.dropElementClue.visible=!0,this.dropElementClue.top=s,this.dropElementClue.left=n,this.dropElementClue.height=this.currentColumn>=0?t.clientHeight:l.height}}const di=t.defineComponent({data:()=>({visible:!1,top:0,left:0,innerText:"",status:"cancel"}),render(){return this.visible&&t.createVNode("div",{class:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.top+"px",left:this.left+"px"}},[t.createVNode(i.Icon,{name:this.status,class:"k-drag-status",icon:"cancel"===this.status?n.cancelIcon:n.plusIcon},null),this.innerText])}}),hi=t.defineComponent({data:()=>({height:0,visible:!1,left:0,top:0}),render(){return this.visible&&t.createVNode("div",{class:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.top+"px",left:this.left+"px",height:this.height+"px"}},null)}}),ci=t.defineComponent({name:"GridCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null},props:{id:String,field:String,dataItem:Object,format:String,readFormat:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,dataIndex:Number,rowType:String,level:Number,expanded:Boolean,type:String,editor:String,isSelected:Boolean,isHighlighted:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,onEdit:Function,onSave:Function,onRemove:Function,onCancel:Function,onChange:Function,onSelectionchange:Function},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},methods:{triggerClick(){this.$emit("cellclick",{dataItem:this.$props.dataItem,field:this.$props.field})},triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)}},created(){this._intl=l.provideIntlService(this)},computed:{tdClass(){const{className:e,isHighlighted:t}=this.$props;return{"k-table-td":!0,"k-highlighted":t,[e]:e}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){let e=null;const o=this.getKeyboardNavigationAttributes(this.$props.id);if("groupFooter"===this.$props.rowType)e=t.createVNode("td",{class:this.tdClass},null);else if(void 0!==this.$props.field&&"groupHeader"!==this.$props.rowType){const i=v(this.$props.field,this.$props.dataItem);let l="";null!=i&&(l=this.$props.format?this.$props.type?this._intl.format(this.$props.format,R[this.$props.type](i,this._intl,this.$props.readFormat)):this._intl.format(this.$props.format,i):i.toString()),e=t.createVNode("td",{style:this.$attrs.style,colspan:this.$props.colSpan,class:this.tdClass,onKeydown:this.triggerKeydown,onClick:this.triggerClick,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[l])}return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:e,additionalProps:this.$props,additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),pi=t.defineComponent({name:"KendoGridGroupCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,colSpan:Number,className:String,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,dataIndex:Number,isSelected:Boolean,isRtl:Boolean,ariaColumnIndex:Number,group:Object,render:[String,Function,Object]},emits:{change:null,cellkeydown:null},inject:{kendo:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},methods:{triggerStateChange(){var e;const t=this.kendo;null==(e=null==t?void 0:t.dispatchGroupExpand)||e.call(t,{type:r.GROUP_EXPAND_ACTION.TOGGLE,group:this.$props.group})},triggerKeydown(e,t){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,field:this.$props.field,expanded:this.$props.expanded}),!e.defaultPrevented&&e.keyCode===i.Keys.enter&&(e.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!t}),this.triggerStateChange())},clickHandler(e,t,i){e.preventDefault(),this.$emit("change",{dataItem:t,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!i}),this.triggerStateChange()}},render(){let e=null;const{columnIndex:o,level:s,columnsCount:a,rowType:d,dataItem:h,field:c,expanded:p,render:u}=this.$props,g=this.getKeyboardNavigationAttributes(this.$props.id),m=l.provideLocalizationService(this).toLanguageString(Qe,ht[Qe]),f=l.provideLocalizationService(this).toLanguageString(Ze,ht[Ze]);return void 0===o||void 0===s||o<s||void 0===a||"groupHeader"!==d||void 0===h[c]?e=t.createVNode("td",{style:this.$attrs.style,key:"g"+o,class:"k-table-td k-group-cell"},null):o<=s&&(e=t.createVNode("td",{style:this.$attrs.style,onKeydown:e=>{this.triggerKeydown(e,p)},key:"g-colspan",class:this.tdClass,colspan:a-o,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"aria-expanded":p,"data-grid-col-index":this.$props.columnIndex,tabindex:g.tabIndex,"data-keyboardnavlevel":g[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":g[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("p",{class:"k-reset"},[t.createVNode("a",{onClick:e=>{this.clickHandler(e,h,p)},href:"#",tabindex:-1,title:p?m:f,"aria-label":p?m:f},[t.createVNode(i.Icon,{name:p?"caret-alt-down":this.isRtl?"caret-alt-left":"caret-alt-right",icon:p?n.caretAltDownIcon:this.isRtl?n.caretAltLeftIcon:n.caretAltRightIcon},null)]),h[c]?h[c].toString():""])])),i.getTemplate.call(this,{h:t.h,template:u,defaultRendering:e,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}}),ui=t.defineComponent({name:"KendoGridRow",props:{rowType:String,dataItem:Object,isAltRow:Boolean,isHidden:Boolean,isHighlighted:Boolean,onClick:Function,isInEdit:Boolean,isSelected:Boolean,selectedField:String,rowHeight:Number,ariaRowIndex:Number,dataIndex:Number,render:[String,Function,Object],onRowclick:Function,onRowdblclick:Function},methods:{handleClick(e){this.$emit("rowclick",e)},handleDoubleClick(e){this.$emit("rowdblclick",e)}},computed:{trClass(){const{rowType:e,isAltRow:t,isInEdit:i,selectedField:r,isHighlighted:o}=this.$props;return{"k-table-row":!0,"k-selected":void 0!==r&&v(r,this.$props.dataItem),"k-highlighted":o,"k-table-group-row":"groupHeader"===e,"k-grouping-row":"groupHeader"===e,"k-group-footer":"groupFooter"===e,"k-master-row":"groupHeader"!==e&&"groupFooter"!==e,"k-table-alt-row":t,"k-edit-row":i}}},render(){const e=i.getDefaultSlots(this),r=t.createVNode("tr",{onClick:this.handleClick,onDblclick:this.handleDoubleClick,class:this.trClass,style:{height:this.$props.rowHeight?this.$props.rowHeight+"px":"",visibility:this.$props.isHidden?"hidden":""},role:"row","aria-rowindex":this.$props.ariaRowIndex,"data-grid-row-index":"data"===this.$props.rowType?this.$props.dataIndex:void 0},[e]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:r,additionalProps:this.$props,additionalListeners:{click:this.handleClick},defaultSlots:e,swapDefaultSlots:!0})}}),gi={autoProcessData:[Boolean,Object],topCacheCount:{type:Number,default:0},collapsedGroups:{type:Array,default:function(){return[]}},uniqueField:String,totalGroupedHeight:Number,allGroupedItems:Object,alternatePerGroup:Boolean,columns:Array,columnsState:{type:Array,default:function(){}},defaultColumnsState:{type:Array,default:function(){}},columnVirtualization:Boolean,dataItems:[Array,Object],sortable:[Boolean,Object],defaultSort:Array,sort:Array,filterable:Boolean,filterOperators:Object,filterCellRender:[String,Function,Object],headerCellRender:[String,Function,Object],showLoader:{type:Boolean,default:void 0},loader:[String,Function,Object,Boolean],defaultFilter:Object,filter:Object,defaultSearch:Object,search:Object,searchFields:Array,highlight:Object,pageable:[Boolean,Object],pageSize:Number,total:Number,skip:Number,defaultSkip:Number,take:Number,defaultTake:Number,expandField:String,expandColumn:Object,selectedField:String,cellRender:[String,Function,Object],rowRender:[String,Function,Object],resizable:Boolean,reorderable:Boolean,group:Array,defaultGroup:Array,groupable:[Boolean,Object],groupExpand:Array,defaultGroupExpand:Array,detailExpand:Object,defaultDetailExpand:Object,editField:String,rowClass:Function,scrollable:{type:String,default:"scrollable"},size:{type:String,default:"medium",validator:function(e){return["small","medium"].includes(e)}},pager:[String,Function,Object],rowHeight:Number,detailRowHeight:Number,detail:[String,Function,Object],columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:i.SvgIcon,dataItemKey:String,navigatable:{type:Boolean,default:!1},onItemchange:Function,onExpandchange:Function,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function,onGroupchange:Function,onSearchchange:Function,onGroupexpandchange:Function,onDetailexpandchange:Function},mi=t.defineComponent({props:{field:String,title:String,selectionValue:Boolean,render:[Object,Function,String]},created(){this.inputId=i.guid()},inject:{kendoLocalizationService:{default:null}},methods:{changeHandle(e){this.$emit("selectionchange",{field:this.$props.field,event:e})}},render(){const e=this.$props.render,r=l.provideLocalizationService(this).toLanguageString(M,ht[M]),o=t.createVNode("input",{checked:this.$props.selectionValue,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md","aria-label":r,onChange:this.changeHandle},null),n=i.getTemplate.call(this,{h:t.h,template:e,defaultRendering:o,additionalProps:{...this.$props,selectAll:r},additionalListeners:{selectionchange:this.changeHandle}}),s=e?n:t.createVNode("span",{class:"k-checkbox-wrap"},[n]);return t.createVNode("span",{class:"k-link"},[t.createVNode("span",{class:"k-column-title"},[s])])}}),fi=t.defineComponent({name:"GridNoRecords",inject:{kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=i.getDefaultSlots(this),r=l.provideLocalizationService(this).toLanguageString(z,ht[z]);return e?t.createVNode("div",null,[e]):r}}),vi={name:"@progress/kendo-vue-grid",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:0,version:"7.1.0-develop.4",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};function bi(e){const t=e.replace(/^pager\.([a-z])/,((e,t)=>"grid.pager"+t.toUpperCase()));return{messageKey:t,defaultMessage:ht[t]}}const Ci=Symbol("kendoKey");const xi=t.defineComponent({name:"KendoGrid",inheritAttrs:!1,props:{...gi,toolbar:{type:Object},noRecords:{type:Object}},data:()=>({isRtl:!1,context:void 0,navigation:void 0,showLicenseWatermark:!1,licenseMessage:void 0,notHiddenColumns:[]}),watch:{skip:function(e,t){this.onSkipChanged(e,t)},total:function(e,t){this.onTotalChanged(e,t)},rowHeight:function(e,t){this.onRowHeightChanged(e,t)}},created(){i.validatePackage(vi),this.showLicenseWatermark=i.shouldShowValidationUI(vi),this.licenseMessage=i.getLicenseMessage(vi),this.initialHeight=null,this._columns=[];const e=this.currentGroupable,t=this.getVirtualScroll();this.vs=new t(e||void 0===this.$props.rowHeight||0===this.$props.rowHeight,this.$props.topCacheCount),this.dragLogic=new ai(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnResize=new si(this.onResize.bind(this)),this._columnsMap=[[]],this._header=null,this._footer=null,this.forceUpdateTimeout=void 0,this._gridId=i.guid(),this._gridRoleElementId=i.guid(),this.slicedCurrentData=void 0,this._prevTotal=void 0},mounted(){var e,t;this.setRefs();const r=i.isRtl(this._element);this._prevTotal=this.$props.total,this.isRtl=r,this.initialHeight=(null==(t=null==(e=this._element)?void 0:e.style)?void 0:t.height)||null,this.resizeObserver=i.canUseDOM&&(null==window?void 0:window.ResizeObserver)&&new ResizeObserver(this.calculateMedia),null!=document&&document.body&&this.resizeObserver&&this.resizeObserver.observe(document.body)},updated(){this.setRefs();const e=i.isRtl(this._element);this.isRtl=e,this._prevTotal=this.$props.total,this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform="")},unmounted(){this.gridUnmounted()},computed:{gridId(){return this.$props.id+"-role-element-id"},idPrefix(){return this.$props.navigatable?this.gridId:""},groupExpandable(){return r.getGroupExpandableOptions("object"==typeof this.$props.groupable&&!1!==this.$props.groupable.enabled?this.$props.groupable.expandable:this.$props.groupable)},hierarchClass:()=>i.uGrid.hierarchyCell({}),rowSpannable(){return T(this.$props.rowSpannable)},detailExpandable(){return r.getDetailExpandableOptions(!!this.$props.detail)},nonscrollableWrapperClass(){const{size:e}=this.$props,t=this.$attrs.class;return{"k-grid":!0,"k-grid-md":!e,[`k-grid-${i.kendoThemeMaps.sizeMap[e]||e}`]:e,[t]:!!t}},scrollableWrapperClass(){const{scrollable:e}=this.$props;return{...this.nonscrollableWrapperClass,"k-grid-virtual":"virtual"===e}},gridTableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-table":!0,"k-grid-md":!e,[`k-table-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}},getCorrectHeight(){return"virtual"===this.$props.scrollable?this.initialHeight||"450px":null},currentGroupable(){var e;const t=null==(e=this.gridContext.group)?void 0:e.value;return!0===this.$props.groupable&&(null==t?void 0:t.length)||i.isObject(this.$props.groupable)&&!1!==this.$props.groupable.enabled},computedCollapsed(){let e=[];if(this.$props.group)for(let t=0;t<this.$props.group.length;t++)this.$props.collapsedGroups[t]?e.push(this.$props.collapsedGroups[t]):e.push([]);return e},getAriaRowCount(){const e=this.$props.dataItems,t=this.$props.total||(null==e?void 0:e.total)||(null==e?void 0:e.length)||0;return this.$props.detail?this._columnsMap.length+(this.$props.filterable?1:0)+2*t+(this._columns.some((e=>!!e.footerCell))?1:0):this.$props.pageable||"scrollable"!==this.$props.scrollable?this.$props.groupable?-1:this._columnsMap.length+(this.$props.filterable?1:0)+t+(this._columns.some((e=>!!e.footerCell))?1:0):void 0},getAriaColCount(){const e=this.$props.columns,t=this.$props.columnVirtualization,i=0!==(null==e?void 0:e.filter((e=>void 0!==e.hidden)).length);if(t||i)return 0!==(null==e?void 0:e.length)?null==e?void 0:e.length:-1}},methods:{readColumnElements(){return I(this.$props.columns,this.currentColumnsState,{prevId:0,idPrefix:this.idPrefix})},getResolvedFlatColumnsState(){const e=[],t=(i,r)=>null==i?void 0:i.forEach((i=>{const o=i.hidden||r;e.push({...i,hidden:o}),t(i.children,o)}));return t(this.currentColumnsState,!1),e},filterColumns(e){const t=this.getResolvedFlatColumnsState();return[e.filter((e=>{var i;return!(e.hidden||null!=(i=t.find((t=>t.id===e.id)))&&i.hidden)})),e.filter((e=>{var i;return e.hidden||(null==(i=t.find((t=>t.id===e.id)))?void 0:i.hidden)}))]},getFlatData(e,t,i,r,o,l,n){const s=[];return{flattedData:s,resolvedGroupsCount:b(s,e,t,{index:i},void 0!==r,o,l,this.groupExpandable.defaultExpand,n,this.$props.expandField)}},getColumnsEssentialProps:e=>e&&JSON.stringify(e.map((e=>({id:e.id,field:e.field,title:e.title,children:e.children})))),calculateMedia(){const e=this.filterHiddenColumns(this.$props.columns||[]);this.getColumnsEssentialProps(this.notHiddenColumns)!==this.getColumnsEssentialProps(e)&&this.$forceUpdate()},filterHiddenColumns(e){if(!e||0===e.length)return e;const t=e=>({...e,children:e.children&&e.children.length>0?this.filterHiddenColumns(e.children):e.children});return[...e].filter((e=>!e.hidden)).filter((e=>i.canUseDOM&&e&&e.media?window.matchMedia(e.media).matches:e)).map((e=>t(e)))},getColumns(){const e=this._columns.filter((e=>e.declarationIndex>=0&&-1===e.parentIndex)),t=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:i,parentIndex:r,depth:o,colSpan:l,rowSpan:n,index:s,kFirst:a,children:d,...h}=e;return d.length?{children:t(d),...h}:h})));return t(e)},setRefs(){const e=i.getRef(this,"gridNav");e&&(this._element=e.$el);const t=i.getRef(this,"groupPanelDiv");if(t){let e=t.$el||null;this.dragLogic.refGroupPanelDiv(e)}const r=i.getRef(this,"dropElementClue"),o=i.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(r),this.dragLogic.refDragElementClue(o),this.columnResize.colGroupMain=i.getRef(this,"colGroup"),this._header=i.getRef(this,"header"),this._footer=i.getRef(this,"footer"),this.vs.containerRef=i.getRef(this,"scrollContainer"),this.vs.table=i.getRef(this,"scrollTable"),this.resetTableWidth(),this.vs.tableBodyRef=i.getRef(this,"scrollTableBody")},gridUnmounted(){clearTimeout(this.forceUpdateTimeout),this.columnResize.columns=[],this.dragLogic.columns=[],this.dragLogic&&this.dragLogic.dragElementClue&&(this.dragLogic.dragElementClue.$el.remove(),this.dragLogic.dropElementClue.$el.remove()),this.currentData=[],this._columns=[],null!=document&&document.body&&this.resizeObserver&&this.resizeObserver.disconnect()},resetVirtual(){this.vs.PageChange=this.pageChangeHandler,this.vs.realSkip=this.$props.skip||0,this.vs.pageSize=(void 0!==this.$props.take?this.$props.take:this.$props.pageSize)||0,this.vs.scrollableVirtual="virtual"===this.$props.scrollable,this.vs.propsSkip=(this.$props.skip||0)+("virtual"===this.$props.scrollable?this.vs.topCacheCount+(this.vs.attendedSkip-(this.$props.skip||0)):0)},getVirtualScroll:()=>oi,isAllData(){const{dataItems:e,total:t}=this.$props;return Array.isArray(e)?e.length===t:!!e&&t===e.total},initializeVirtualization(e){if((this.$props.total!==this._prevTotal||"virtual"===this.$props.scrollable!==this.vs.scrollableVirtual)&&this.vs.reset(),this.resetVirtual(),this.vs.total=e,void 0!==this.$props.rowHeight&&this.$props.rowHeight>0&&!this.currentGroupable)this.vs.containerHeight=Math.min(1533915,this.$props.rowHeight*(e||0));else if(this.$props.totalGroupedHeight)this.vs.containerHeight=Math.min(1533915,this.$props.totalGroupedHeight);else if(this.$props.allGroupedItems&&this.$props.allGroupedItems.data){const e=this.totalGroupedRows(V(this.$props.allGroupedItems,this.computedCollapsed,this.$props.uniqueField).data);this.vs.containerHeight=Math.min(1533915,this.$props.rowHeight*e)}else this.vs.containerHeight=1533915;if(this.slicedCurrentData=void 0,this.vs instanceof ni){const{rowHeight:t=0,detail:i,expandField:r}=this.$props;let{detailRowHeight:o=0}=this.$props;o=i&&r?o:t,this.isAllData()?(this.vs.total=this.currentData.length,this.slicedCurrentData=this.currentData.slice(this.vs.realSkip,this.vs.realSkip+this.vs.pageSize),this.vs.rowHeightService=this.rowHeightService(this.vs,this.currentData.length,t,o,this.currentData)):this.vs.rowHeightService=new li(e,t,o);const l=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=H?Math.min(A,l):l}},onSkipChanged(e,t){Math.max(0,this.vs.attendedSkip)!==e&&void 0!==e&&(this.vs.attendedSkip=e,this.vs.propsSkip=(e||0)+("virtual"===this.$props.scrollable?this.vs.topCacheCount+(this.vs.attendedSkip-(e||0)):0))},onTotalChanged(e,t){const i=this.currentGroupable;this.vs.reset(),this.vs=new oi(i||void 0===this.$props.rowHeight||0===this.$props.rowHeight,this.$props.topCacheCount),this.resetVirtual(),this.setRefs()},onRowHeightChanged(e,t){const i=this.currentGroupable;this.vs.reset(),this.vs=new oi(i||void 0===this.$props.rowHeight||0===this.$props.rowHeight,this.$props.topCacheCount),this.resetVirtual(),this.setRefs()},scrollHandler(e){clearTimeout(this.forceUpdateTimeout),this.$props.columnVirtualization&&!this.vs.scrollableVirtual&&(this.forceUpdateTimeout=setTimeout((()=>{this.$forceUpdate()}),0)),this._header&&this._header.setScrollLeft(e.currentTarget.scrollLeft),this._footer&&this._footer.setScrollLeft(e.currentTarget.scrollLeft),this.vs&&this.vs.scrollHandler(e),this.$emit("scroll",e)},rowClick(e,t){"checkbox"!==e.target.type&&this.$emit("rowclick",{dataItem:t.dataItem,...this.getArguments(e)})},rowDoubleClick(e,t){"checkbox"!==e.target.type&&this.$emit("rowdblclick",{dataItem:t.dataItem,...this.getArguments(e)})},loopGroupedItems(e,t,i=0,r=null){return e.forEach((e=>{!r&&t(e,i)&&(r=e),e.items&&e.items.length&&!r&&(r=this.loopGroupedItems(e.items,t,i+1,r))})),r},updateGroupCollapsed(e){let t=this.computedCollapsed,i=t[e.level];const r=this.$props.uniqueField,o=this.allGroupedItems?this.loopGroupedItems(this.allGroupedItems.data,(function(t,i){return t.value===e.dataItem.value&&i===e.level}),0,null):e.dataItem,l=E(o||e.dataItem,r);if(e.value){if(i&&i.length){const e=i.indexOf(l);e>-1&&i.splice(e,1)}}else i?i.includes(l)||i.push(l):i=[l];return t},itemChange(e){var t;const r=i.hasListener.call(this,"itemchange"),o=null==(t=this.gridContext.group)?void 0:t.value;e.field===this.$props.expandField||(o||this.$props.detail)&&void 0===e.field?i.hasListener.call(this,"expandchange")&&e.dataItem&&this.$emit("expandchange",{...this.getArguments(e.event),collapsedGroups:this.updateGroupCollapsed(e),dataItem:e.dataItem,value:e.value}):r&&this.$emit("itemchange",{...this.getArguments(e.event),dataItem:e.dataItem,field:e.field,value:e.value})},cellClickHandler(e){this.$emit("cellclick",{dataItem:e.dataItem,field:e.field})},cellKeydownHandler(e){this.$emit("cellkeydown",e)},editHandler(e){this.$emit("edit",{dataItem:e})},removeHandler(e){this.$emit("remove",{dataItem:e})},saveHandler(e){this.$emit("save",{dataItem:e})},cancelHandler(e){this.$emit("cancel",{dataItem:e})},selectionChangeHandler(e){const{event:t,dataItem:i,dataIndex:r,columnIndex:o}=e;this.$emit("selectionchange",{...this.getArguments(t.event),dataItem:i,startColIndex:o,endColIndex:o,startRowIndex:r,endRowIndex:r,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,isDrag:!1,componentId:this._gridId,selectedField:this.$props.selectedField||""})},onHeaderSelectionChangeHandler(e){this.$emit("headerselectionchange",{field:e.field,event:e.event,target:this})},pageChangeHandler(e,t){this.raiseDataEvent("pagechange",{page:e,event:t},{skip:e.skip,take:e.take},t)},sortChangeHandler(e,t){this.raiseDataEvent("sortchange",{sort:e},{sort:e},t)},filterChangeHandler(e,t){this.raiseDataEvent("filterchange",{filter:e},{filter:e,skip:0},t)},groupChangeHandler(e,t){this.raiseDataEvent("groupchange",{group:e},{group:e,skip:0},t)},handleDetailExpandAction(e,t){var i;if(this.detailExpandable.enabled){const o=null==(i=this.gridContext.detailExpand)?void 0:i.value,l=r.detailExpandReducer(null!=o?o:{},e);this.raiseDataEvent("detailexpandchange",{...this.getArguments(t),detailExpand:l})}},handleGroupExpandAction(e,t){var i;if(this.groupExpandable.enabled){const o=null==(i=this.gridContext.groupExpand)?void 0:i.value,l=r.groupExpandReducer(null!=o?o:[],e,this.groupExpandable);this.$props.expandField||this.raiseDataEvent("groupexpandchange",{...this.getArguments(t),groupExpand:l})}},raiseDataEvent(e,t,r,o){this.$props.autoProcessData?this.gridContext[e]({...this.getArguments(o),...t}):i.hasListener.call(this,e)?this.$emit(e,{...this.getArguments(o),...t}):i.hasListener.call(this,"datastatechange")&&this.$emit("datastatechange",{...this.getArguments(o),data:{...this.getDataState(),...r}})},columnReorder(e,t,i){const o=this._columns[e],l=D(this.currentColumnsState),n=o.depth,s=e=>{do{e++}while(e<this._columns.length&&this._columns[e].depth>n);return e},a=this._columns.splice(e,s(e)-e);this._columns.splice(e<t?s(t-a.length):t,0,...a),this._columns.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>{e.orderIndex=t;const i=l.find((t=>t.id===e.id));i&&(i.orderIndex=t)}));const d=this._columns[e].locked&&this._columns[t].locked;r.updateLeft(this._columnsMap,this._columns,d||this.shouldUpdateLeftRightRef),r.updateRight(this._columnsMap,this._columns,d||this.shouldUpdateLeftRightRef),this.resizedRef&&(this.shouldUpdateLeftRightRef=!1,this.resizedRef=!1);const h=this.getColumns();this.$emit("columnreorder",{target:this,columns:h,event:i,prev:e,next:t}),this.gridContext.columnsstatechange({columnsState:this.currentColumnsState})},groupReorder(e,t,i){var r;const o=null==(r=this.gridContext.group)?void 0:r.value;void 0!==o&&(o.splice(t,0,...o.splice(e,1)),this.groupChangeHandler(o,i))},columnToGroup(e,t,i){var r;const o=this._columns[e].field;if(!o)return;const l=((null==(r=this.gridContext.group)?void 0:r.value)||[]).slice();l.splice(t,0,{field:o}),this.groupChangeHandler(l,i)},resetTableWidth(){let e=0;if(!this.columnResize.colGroupMain)return;const t=this.columnResize.colGroupMain.children;for(let i=0;i<t.length;i++){const r=t[i].width;if(!r)return;e+=parseFloat(r.toString())}e=Math.round(e),this._header&&this._header.setWidth(e),this._footer&&this._footer.setWidth(e),this.vs.table&&(this.vs.table.style.width=e+"px")},onResize(e,t,i,r,o,l,n){this.resetTableWidth(),this.shouldUpdateLeftRightRef=!0,this.resizedRef=!0,this.$emit("columnresize",{columns:this.getColumns(),index:e,targetColumnId:n,event:r,newWidth:t,oldWidth:i,end:o,target:this}),o&&this.gridContext.columnsstatechange({columnsState:l})},initColumnsState(e,t){const i=e=>{var r;const o=t.find((t=>t.id===e.id));if(o){const t={...o};return t.children=null==(r=e.children)?void 0:r.map(i),t}return e};this.currentColumnsState=e.filter((e=>-1===e.parentIndex)).map(i)},configureColumns(e,o){e.filter((e=>"checkbox"===e.columnType)).forEach((e=>{e.width=e.width||"50px",e.defaultCell=t.markRaw(G),e.defaultHeaderCell=t.markRaw(mi),e._type="edit"})),this.$props.selectedField&&this._columns.filter((e=>e.field===this.$props.selectedField)).forEach((e=>{e.width=e.width||"50px",e.internalCell=t.markRaw(G),e.internalHeaderCell=t.markRaw(mi)}));const l=D(this.currentColumnsState);this.initColumnsState(e,l);const n={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let s=0;if(console.log(this.detailExpandable.enabled,this.$props.detail),this.detailExpandable.enabled&&this.$props.detail&&!this.$props.expandField){const i={...n,_type:"expand",id:r.tableKeyboardNavigationTools.generateNavigatableId(""+s++,"expand","column"),defaultCell:t.markRaw(ct),internalCell:t.markRaw(ct),field:this.detailExpandable.column,headerClassName:this.hierarchClass};e.unshift(i),this.currentColumnsState.unshift(l.find((e=>e.id===i.id))||i)}this.$props.expandField&&i.hasListener.call(this,"expandchange")&&this.$props.detail&&(e.unshift({...n,internalCell:t.markRaw(ct),field:this.$props.expandField,headerClassName:"k-hierarchy-cell k-header",id:r.tableKeyboardNavigationTools.generateNavigatableId(`${e.length}`,this.idPrefix,"column"),...this.expandColumn}),s++);for(let i=0;i<o;i++){const i={...n,isAccessible:!1,defaultCell:t.markRaw(pi),internalCell:t.markRaw(pi),id:r.tableKeyboardNavigationTools.generateNavigatableId(""+s++,"group","column"),field:"value",locked:this.$props.lockGroups};e.unshift(i),this.currentColumnsState.unshift(l.find((e=>e.id===i.id))||i)}e.slice(s).forEach((e=>{e.parentIndex>=0&&(e.parentIndex+=s),e.rowSpannable=void 0!==e.rowSpannable?T(e.rowSpannable):this.rowSpannable}))},initColumns(e,t){var i;this._columns=this.readColumnElements();const r=null==(i=this.gridContext.group)?void 0:i.value;0===this._columns.filter((e=>!e.hidden)).length&&(this._columns=w(e,r,{column:this.$props.expandField?this.$props.expandField:this.groupExpandable.column},{prevId:0,idPrefix:this.idPrefix})),this.configureColumns(this._columns,t);const[o,l]=this.filterColumns(this._columns);this._columns=o,this.hiddenColumnsRef=l,this._columnsMap=S(this._columns,!0)},resolveTitle(e){const t=this.findColumnByField(e),i=t&&(t.title||t.field);return void 0===i?e:i},findColumnByField(e){let t;return this.$props.columns.forEach((i=>{const r=this.searchColumn(i,e);r&&(t=r)})),t},searchColumn(e,t){if(e.field===t)return e;if(e.children){let i,r=null;for(i=0;null==r&&i<e.children.length;i++)r=this.searchColumn(e.children[i],t);return r}return null},getDataState(){return{filter:this.$props.filter,sort:this.$props.sort,skip:this.$props.skip,take:void 0!==this.$props.take?this.$props.take:this.$props.pageSize,group:this.$props.group}},getArguments(e){return{event:e,target:this}},getLeafDataItems(){return this.currentData.filter((e=>"data"===e.rowType)).map((e=>e.dataItem))},totalGroupedRows(e){let t=0;return e&&(t=this.addSubItems(e,t)),t},addSubItems(e,t){return e.forEach((e=>{t++,!1!==e.expanded&&e.items&&(t=this.addSubItems(e.items,t)),this.group&&this.group.length&&("always"===this.$props.groupable.footer||!1!==e.expanded&&e.items&&"visible"===this.$props.groupable.footer)&&t++})),t},searchChange(e){const t=this.$props.searchFields||this._columns.map((e=>e.field))||[],i=e.event.target.value,r={logic:"or",filters:t.filter((e=>void 0!==e)).map((e=>{var t;return"string"==typeof e?{field:e,value:i,operator:"contains"}:{value:i,operator:null!=(t=e.operator)?t:"contains",field:e.field,ignoreCase:e.ignoreCase}}))};this.raiseDataEvent("searchchange",{search:r},{skip:0},e)},getCellsToRender(e,t){var i;const r=[];let o=null,l=0;if(t.forEach(((i,n)=>{const s=parseFloat((i.width||"").toString())||10;if(l)return l--,void(o&&(o.width+=s));const a=Math.min(L(i,e),t.length-n);l=a-1,o={width:s,colSpan:a,columnIndex:n},r.push(o)})),this.$props.columnVirtualization){const e=this.scrollLeft||0,o=this.tableWidth||parseFloat(((null==(i=this.$attrs.style)?void 0:i.width)||"").toString());return function(e){const{cellModels:t,columns:i=[],tableViewPortWidth:r,scrollLeft:o}=e;let l=0,n=t.length-1,s=0,a=0;for(let e=0;e<t.length;e++)if(!i[t[e].columnIndex].locked&&(s=a,a+=t[e].width||10,a>=o)){l=e;break}for(let e=l;e<t.length;e++)if(!i[t[e].columnIndex].locked){if(!(s<r+o))break;s+=t[e].width||10,n=e}l>0&&l--,n<t.length-1&&n++;let d=0,h=0;for(let e=0;e<l;e++)i[t[e].columnIndex].locked||(d+=t[e].colSpan);for(let e=n+1;e<t.length;e++)i[t[e].columnIndex].locked||(h+=t[e].colSpan);t[l].colSpan+=d,t[n].colSpan+=h;const c=t.slice(0,l).filter((e=>i[e.columnIndex].locked)),p=t.slice(n+1).filter((e=>i[e.columnIndex].locked));return[...c,...t.slice(l,n+1),...p]}({cellModels:r,columns:t,tableViewPortWidth:o,scrollLeft:e})}return r}},provide(){return{kendo:{dataItemKey:this.$props.dataItemKey,searchChange:this.searchChange,dispatchGroupExpand:this.handleGroupExpandAction,dispatchDetailExpand:this.handleDetailExpandAction}}},setup(e){const i=t.ref(null),r=t.ref(null),o=t.ref(null),l=t.ref(null),n=t.ref(null),s=t.ref(null),a=t.ref(null),d=t.ref(null),h=t.ref(null),c=t.ref(null),p=t.ref(!0),u=t.ref(!1);return{groupPanelDivRef:i,dropElementClueRef:r,dragElementClueRef:o,headerRef:l,footerRef:n,gridNavRef:s,colGroupRef:a,scrollContainerRef:d,scrollTableRef:h,scrollTableBodyRef:c,gridContext:t.inject(Ci,{}),shouldUpdateLeftRightRef:p,resizedRef:u,currentColumnsState:e.columnsState}},render(){var e,l,n,s,a,d,c,p,u,m,f,v,b;const C=null==(e=this.gridContext.sort)?void 0:e.value,x=null==(l=this.gridContext.filter)?void 0:l.value,$=null==(n=this.gridContext.search)?void 0:n.value,k=null==(s=this.gridContext.skip)?void 0:s.value,S=null==(a=this.gridContext.take)?void 0:a.value,I=null==(d=this.gridContext.group)?void 0:d.value,y=null==(c=this.gridContext.groupExpand)?void 0:c.value,w=null==(p=this.gridContext.detailExpand)?void 0:p.value;this.currentColumnsState=null==(u=this.gridContext.columnsState)?void 0:u.value,console.log("detailExpand",w);const N="virtual"===this.$props.scrollable||void 0===this.$props.scrollable&&this.$props.isClient||!1,R=!0===this.$props.autoProcessData?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:this.$props.autoProcessData;let F=this.$props.total||0;const D=r.tableKeyboardNavigationTools.getIdPrefix(this.navigation);let H=[];Array.isArray(this.$props.dataItems)?H=this.$props.dataItems:this.$props.dataItems&&(H=V(this.$props.dataItems,this.$props.collapsedGroups.length?this.computedCollapsed:[],this.$props.uniqueField).data,F=F||this.$props.dataItems.total);const A=!0===this.$props.groupable||i.isObject(this.$props.groupable)&&!1!==this.$props.groupable.enabled;this.dragLogic.reorderable=this.$props.reorderable||!1,this.dragLogic.groupable=A,this.initializeVirtualization(F);const O=H.length===F,L=i.isObject(this.$props.groupable)&&this.$props.groupable.footer||"none";if(this.currentData=[],R){const e=R.page&&!(N&&!this.$props.pageable),{data:t,total:i}=h.process(H,{group:R.group?I:void 0,sort:R.sort?C:void 0,filter:r.combineFilters(R.filter?x:void 0,R.search?$:void 0),...e?{take:this.$props.pageable?S||10:S,skip:k||0}:{}});H=t,F=null!=(m=this.$props.total)?m:i}const{resolvedGroupsCount:T,flattedData:G}=this.getFlatData(H,L,O?0:this.$props.skip||0,I,w,y,this.$props.dataItemKey);this.currentData=G,this.initColumns(this.$props.dataItems,T),this.columnResize.resizable=this.$props.resizable||!1,this.columnResize.columns=this._columns,this.columnResize.columnsState=i.cloneArray(this.currentColumnsState||[]),this.dragLogic.columns=this._columns;const z=this.$props.toolbar,M=this.$props.noRecords,_=this._columns.filter((e=>0===e.children.length)),j=A&&t.createVNode(ti,{ref:e=>{this.groupPanelDivRef=e},group:I||[],ariaControls:this._gridRoleElementId,onGroupChange:this.groupChangeHandler,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,resolveTitle:this.resolveTitle},null),B=(this.dragLogic.reorderable||this.dragLogic.groupable)&&i.canUseDOM&&document&&document.body,K=[B&&t.createVNode(hi,{ref:e=>{this.dropElementClueRef=e}},null),B&&t.createVNode(di,{ref:e=>{this.dragElementClueRef=e}},null)],P=t.createVNode(ft,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.$props.scrollable,ref:e=>{this.headerRef=e},headerRow:t.createVNode(Jt,{grid:this,sort:C,groupable:this.$props.groupable,reorderable:this.$props.reorderable,sortable:this.$props.sortable,onSortChange:this.sortChangeHandler,filter:x,filterable:this.$props.filterable,filterOperators:this.$props.filterOperators||Et,onFilterChange:this.filterChangeHandler,columnMenu:this.$props.columnMenu,columnMenuIcon:this.$props.columnMenuIcon,columnMenuAnimate:this.$props.columnMenuAnimate,onSelectionchange:this.onHeaderSelectionChangeHandler,columns:this._columns,columnsInitial:this.$props.columns,columnResize:this.columnResize,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,columnsMap:this._columnsMap,cellRender:this.$props.headerCellRender,isRtl:this.isRtl,isColCountDefined:void 0!==this.getAriaColCount,filterRow:this.$props.filterable&&t.createVNode(Zt,{grid:this,size:this.$props.size,columns:this._columns,filter:x,filterOperators:this.$props.filterOperators||Et,onFilterchange:this.filterChangeHandler,sort:this.$props.sort,cellRender:this.$props.filterCellRender,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1},null)||void 0},null),cols:_.map((function(e,i){return t.createVNode("col",{key:i.toString(),width:void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0},null)}),this)},null),W=this._columns.some((e=>!!e.footerCell))?t.createVNode(ii,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.$props.scrollable,ref:e=>{this.footerRef=e},row:t.createVNode(ri,{isRtl:this.isRtl,rowIndex:this.getAriaRowCount+1,columns:this._columns},null),cols:_.map((function(e,i){return t.createVNode("col",{key:i.toString(),width:void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0},null)}),this)},null):t.createVNode("span",null,null),q=this.showLicenseWatermark?t.createVNode(i.WatermarkOverlay,{message:this.licenseMessage},null):null,U=this.$attrs.style,Y=U&&i.isObject(U)&&U.width||"";this.tableWidth=parseFloat(Y.toString()),this.scrollLeft=(null==(v=null==(f=this.vs)?void 0:f.container)?void 0:v.scrollLeft)||0;const X=_.findIndex((e=>"function"==typeof e.colSpan))>-1;let J;X||(J=this.getCellsToRender(null,_));const Q=function(e,o,l){let n=!1;const s=this.$props.selectedField,a=s?i.getNestedValue(s,e.dataItem):void 0,d=this.$props.highlight&&this.$props.dataItemKey&&void 0!==i.getter(this.$props.dataItemKey)(e.dataItem)?this.$props.highlight[i.getter(this.$props.dataItemKey)(e.dataItem)]:void 0;return X&&(J=this.getCellsToRender(e.dataItem,_)),{row:J.map((function({columnIndex:s,colSpan:h}){const c=_[s],p=`${c.className?c.className+" ":""}${c.locked?"k-grid-content-sticky":""}`,u=void 0!==c.left?this.isRtl?{left:c.right+"px",right:c.left+"px"}:{left:c.left+"px",right:c.right+"px"}:{};let g,m=!1;if(c.editable&&this.$props.editField){const t=i.getNestedValue(this.$props.editField,e.dataItem);(!0===t||t===c.field)&&(n=!0,m=!0)}c.cell&&(g=c.cell);const f=this.computedCollapsed&&this.computedCollapsed[e.level]&&this.computedCollapsed[e.level].some((t=>t===E(e.dataItem,this.$props.uniqueField))),v=c.id?c.id:s,b=f?!f:e.expanded,C="expand"===c._type,x=r.tableKeyboardNavigationTools.generateNavigatableId(`${o}-${String(s)}`,D,C||"groupHeader"===e.rowType||"groupFooter"===e.rowType||"value"===c.field?"nodata":"cell");return c.internalCell?t.createVNode(c.internalCell,{key:v,id:x,colSpan:h,dataItem:e.dataItem,field:c.field||"",editor:c.editor,format:c.format,readFormat:c.readFormat,type:c.type,className:p,render:g||this.$props.cellRender,onChange:this.itemChange,onSelectionchange:t=>this.selectionChangeHandler({event:t,dataItem:e.dataItem,dataIndex:l,columnIndex:s}),columnIndex:s,columnsCount:this._columns.filter((e=>!e.children.length)).length,rowType:e.rowType,level:e.level,expanded:b,dataIndex:e.dataIndex,style:u,ariaColumnIndex:c.ariaColumnIndex,isRtl:this.isRtl,isSelected:Array.isArray(a)&&a.indexOf(s)>-1,isHighlighted:!("boolean"==typeof d||!d||!c.field||!0!==d[c.field]),group:e.group},null):m?t.createVNode(gt,{id:x,key:v,colSpan:h,dataItem:e.dataItem,field:c.field||"",editor:c.editor,format:c.format,readFormat:c.readFormat,type:c.type,className:p,render:g||this.$props.cellRender,onEdit:this.editHandler,onRemove:this.removeHandler,onSave:this.saveHandler,onCancel:this.cancelHandler,onChange:this.itemChange,columnIndex:s,columnsCount:this._columns.filter((e=>!e.children.length)).length,rowType:e.rowType,level:e.level,expanded:b,dataIndex:e.dataIndex,style:u},null):t.createVNode(ci,{key:v,id:x,colSpan:h,dataItem:e.dataItem,field:c.field||"",editor:c.editor,format:c.format,readFormat:c.readFormat,type:c.type,className:p,render:g||this.$props.cellRender,onCellclick:this.cellClickHandler,onCellkeydown:this.cellKeydownHandler,onEdit:this.editHandler,onRemove:this.removeHandler,onSave:this.saveHandler,onCancel:this.cancelHandler,onChange:this.itemChange,onSelectionchange:t=>this.selectionChangeHandler({event:t,dataItem:e.dataItem,dataIndex:l,columnIndex:s}),columnIndex:s,columnsCount:this._columns.filter((e=>!e.children.length)).length,rowType:e.rowType,level:e.level,expanded:b,dataIndex:e.dataIndex,style:u,isSelected:Array.isArray(a)&&a.indexOf(s)>-1,isHighlighted:!("boolean"==typeof d||!d||!c.field||!0!==d[c.field])},null)}),this),isInEdit:n,isSelected:"boolean"==typeof a&&a,isHighlighted:"boolean"==typeof d&&d}};let Z=0;if("virtual"===this.$props.scrollable&&this.totalGroupedRows(this.currentData)/2>this.$props.take){const e=this.vs.topCacheCount+this.vs.attendedSkip-(this.$props.skip||0);for(let t=0;t<e;){const e=this.currentData.shift();if(!e)break;this.currentData.push(e),Z++,"groupHeader"===e.rowType&&t--,t++}}const ee=e=>e>=this.currentData.length-Z;let te=this.vs.propsSkip||0;const ie=this._columnsMap.length+(this.$props.filterable?1:0)+1;let re,oe=-1,le=0;const ne=this.currentData.length&&this.currentData.map((function(e,o){"data"===e.rowType&&(te++,oe++),this.$props.alternatePerGroup&&"groupHeader"===e.rowType&&(te=0);const l=te%2==0,n=this.$props.dataItemKey&&i.getter(this.$props.dataItemKey)(e.dataItem),s=o+(this.vs.propsSkip||0),a=n||"ai"+s,d=a+"_1";let h;re=s+ie+le,this.$props.detail&&"data"===e.rowType&&(e.expanded||e.dataItem.expanded)&&(h=_.length-(this.detailExpandable.enabled||this.$props.expandField?1:0)-(I?I.length:0)||1,le++,re=s+ie+le);const c=2*o+ie,p=2*o+ie+1,u=Q.call(this,e,a,oe);return[t.createVNode(ui,{key:a,dataItem:e.dataItem,isAltRow:l,isInEdit:u.isInEdit,isSelected:u.isSelected,isHighlighted:u.isHighlighted,rowType:e.rowType,isHidden:ee(o),onRowclick:t=>this.rowClick(t,e),onRowdblclick:t=>this.rowDoubleClick(t,e),selectedField:this.$props.selectedField,rowHeight:this.$props.rowHeight,render:this.$props.rowRender,ariaRowIndex:this.$props.detail?c:re,dataIndex:oe,class:this.$props.rowClass?this.$props.rowClass(e):""},{default:()=>[u.row]}),this.$props.detail&&"data"===e.rowType&&(e.expanded||e.dataItem.expanded)&&t.createVNode("tr",{key:d,class:l?"k-table-row k-table-alt-row k-detail-row":"k-table-row k-detail-row",style:{visibility:ee(o)?"hidden":"",height:this.$props.detailRowHeight+"px"},role:"row","aria-rowindex":this.$props.detail?p:re},[null==I?void 0:I.map((function(i){return t.createVNode(pi,{id:"",dataIndex:e.dataIndex,field:i.field,dataItem:e.dataItem,key:`group-${i.field}-${e.dataIndex}`,group:e.group},null)}),this),(this.$props.expandField||this.detailExpandable.enabled)&&t.createVNode(pt,{id:r.tableKeyboardNavigationTools.generateNavigatableId(`${d}-dhcell`,D)},null),t.createVNode(ut,{dataItem:e.dataItem,dataIndex:e.dataIndex,colSpan:h,ariaColIndex:2+(I?I.length:0),detail:this.$props.detail?this.$props.detail:void 0,id:r.tableKeyboardNavigationTools.generateNavigatableId(`${d}-dcell`,D)},null)])]}),this)||t.createVNode("tr",{class:"k-table-row k-grid-norecords"},[t.createVNode("td",{class:"k-table-td",colspan:this._columns.filter((e=>!e.children.length)).length},[M.length?M:t.createVNode(fi,null,null)])]),se=this.$props.pageable&&t.createVNode(r.Pager,{class:"k-grid-pager",onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,size:this.$props.size,total:F,skip:this.vs.propsSkip||0,pageSize:(void 0!==this.$props.take?this.$props.take:this.$props.pageSize)||10,messagesMap:bi,settings:r.normalize(this.$props.pageable||{})},null),ae=i.getTemplate.call(this,{h:t.h,template:this.$props.pager,defaultRendering:se,additionalProps:{...this.$props,skip:this.vs.propsSkip||0,messagesMap:bi},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),de=e=>C&&C.filter((t=>t.field===e)).length>0,he=t.createVNode("colgroup",{ref:i.setRef(this,"colGroup")},[_.map((function(e,i){return t.createVNode("col",{key:i.toString(),class:de(e.field)?"k-sorted":void 0,width:void 0!==e.width?-1!==e.width.toString().indexOf("%")?e.width:Math.floor(parseFloat(e.width.toString()))+"px":void 0},null)}),this)]),ce={height:this.getCorrectHeight,...this.$attrs.style},pe=this.$props.loader&&t.createVNode("div",{class:"k-loader-container k-loader-container-md k-loader-top"},[t.createVNode("div",{class:"k-loader-container-overlay k-overlay-light"},null),t.createVNode("div",{class:"k-loader-container-inner"},[t.createVNode(o.Loader,{size:"large",type:"infinite-spinner"},null)])]),ue=(null!=(b=this.$props.showLoader)?b:!!this.$props.loader)&&i.getTemplate.call(this,{h:t.h,template:this.$props.loader,defaultRendering:pe});return"none"===this.$props.scrollable?t.createVNode(r.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable},{default:()=>[t.createVNode(g,{ref:e=>{this.gridNavRef=e},currentData:this.currentData,style:ce,class:this.nonscrollableWrapperClass},{default:()=>[z,j,t.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[t.createVNode("table",{class:"k-table",style:{tableLayout:"fixed"},role:"none"},[he,P,t.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0},[ne,ue]),W])]),ae,K]})]}):t.createVNode(r.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable},{default:()=>[t.createVNode(g,{ref:e=>{this.gridNavRef=e},currentData:this.currentData,style:ce,class:this.scrollableWrapperClass},{default:()=>[z,j,t.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[P,t.createVNode("div",{class:"k-grid-container",role:"presentation"},[t.createVNode("div",{role:"presentation",ref:i.setRef(this,"scrollContainer"),class:"k-grid-content k-virtual-content",onScroll:this.scrollHandler},[t.createVNode("div",{class:"k-grid-table-wrap",role:"presentation"},[t.createVNode("table",{role:"none",class:this.gridTableClass,ref:i.setRef(this,"scrollTable")},[he,t.createVNode("tbody",{class:"k-table-tbody",role:"rowgroup","data-keyboardnavbody":!0,ref:i.setRef(this,"scrollTableBody")},[ne])])]),t.createVNode("div",{class:"k-height-container",role:"presentation"},[t.createVNode("div",{style:"virtual"===this.$props.scrollable?{height:this.vs.containerHeight+"px"}:{}},null)])]),ue]),W,q]),ae,K]})]})}}),$i=t.defineComponent({name:"KendoVueGridStateProvider",inheritAttrs:!1,props:gi,setup(e,{emit:i}){const r=t.ref(e.filter||e.defaultFilter||null);t.watch((()=>e.filter),(e=>{r.value=e}));const o=t.ref(e.search||e.defaultSearch||null);t.watch((()=>e.search),(e=>{o.value=e}));const l=t.ref(e.sort||e.defaultSort||[]);t.watch((()=>e.sort),(e=>{l.value=e}));const n=t.ref(e.skip||e.defaultSkip||0),s=t.ref(e.take||e.defaultTake);t.watch((()=>e.skip),(e=>{n.value=e})),t.watch((()=>e.take),(e=>{s.value=e}));const a=t.ref(e.group||e.defaultGroup||[]);t.watch((()=>e.group),(e=>{a.value=e}));const d=t.ref(e.detailExpand||e.defaultDetailExpand||{});t.watch((()=>e.detailExpand),(e=>{d.value=e}));const h=t.ref(e.groupExpand||e.defaultGroupExpand||[]);t.watch((()=>e.groupExpand),(e=>{h.value=e}));const c=t.ref(e.columnsState||e.defaultColumnsState||[]);t.watch((()=>e.columnsState),(e=>{c.value=e})),t.provide(Ci,{sort:l,sortchange:e=>{l.value=e.sort,i("sortchange",e)},filter:r,filterchange:e=>{r.value=e.filter,i("filterchange",e)},search:o,searchchange:e=>{o.value=e.search,i("searchchange",e)},skip:n,take:s,pagechange:e=>{n.value=e.page.skip,s.value=e.page.take,i("pagechange",e)},group:a,groupchange:e=>{a.value=e.group,i("groupchange",e)},detailExpand:d,detailexpandchange:e=>{d.value=e.detailExpand,i("detailexpandchange",e)},groupExpand:h,groupexpandchange:e=>{h.value=e.groupExpand,i("groupexpandchange",e)},columnsState:c,columnsstatechange:e=>{c.value=e.columnsState,i("columnsstatechange",e)}})},render(){return i.getDefaultSlots(this)}}),ki=t.defineComponent({name:"KendoVueGrid",props:gi,setup(e,{expose:i}){const r=t.ref(null);i({get element(){var e;return(null==(e=r.value)?void 0:e.element)||null},get props(){return e},get columns(){var e;return(null==(e=r.value)?void 0:e.columns)||[]},scrollIntoView:e=>{var t;null==(t=r.value)||t.scrollIntoView(e)},fitColumns:e=>{var t;null==(t=r.value)||t.fitColumns(e)},exportAsPdf:()=>{var e;null==(e=r.value)||e.exportAsPdf()}})},computed:{columnsWithTemplates(){const e=i.getListeners.call(this);return i.mapTree(this.$props.columns||[],"children",(t=>{const r={...t},o=i.templateRendering.call(this,r.cell,e),l=i.templateRendering.call(this,r.headerCell,e),n=i.templateRendering.call(this,r.filterCell,e),s=i.templateRendering.call(this,r.footerCell,e),a=i.templateRendering.call(this,r.columnMenu,e);return{...r,cell:o,headerCell:l,filterCell:n,footerCell:s,columnMenu:a}}))}},render(){const e=i.getDefaultSlots(this)||[],r=i.getListeners.call(this),o=e.filter((e=>{var t,i;return e.tag&&-1!==e.tag.toLowerCase().indexOf("toolbar")||e.componentOptions&&-1!==(null==(t=e.componentOptions.tag)?void 0:t.toLowerCase().indexOf("toolbar"))||-1!==(null==(i=null==e?void 0:e.type)?void 0:i.name.toLowerCase().indexOf("toolbar"))})),l=e.filter((e=>{var t,i;return e.tag&&-1!==e.tag.toLowerCase().indexOf("records")||e.componentOptions&&-1!==(null==(t=e.componentOptions.tag)?void 0:t.toLowerCase().indexOf("records"))||-1!==(null==(i=null==e?void 0:e.type)?void 0:i.name.toLowerCase().indexOf("records"))})),{cellRender:n,detail:s,columns:a,rowRender:d,pager:h,loader:c,...p}=this.$props,u=i.templateRendering.call(this,s,r),g=i.templateRendering.call(this,n,r),m=i.templateRendering.call(this,d,r),f=i.templateRendering.call(this,h,r),v=i.templateRendering.call(this,c,r),b=this.columnsWithTemplates;return t.createVNode($i,p,{default:()=>[t.createVNode(xi,t.mergeProps(p,r,{class:this.$attrs.class,style:this.$attrs.style,columns:b,cellRender:g,rowRender:m,pager:f,loader:v,detail:u,toolbar:o,noRecords:l}),null)]})}}),Si=t.defineComponent({name:"KendoGridColumnMenuFilterUI",inheritAttrs:!1,props:{firstFilterProps:Object,secondFilterProps:Object,logicValue:Object,logicData:Array,hideSecondFilter:Boolean,operators:Array,render:[String,Function,Object]},emits:{change:null,filteruifocus:null,logicChange:null},methods:{handleFocus(e){this.$emit("filteruifocus",e)},changeHandler(e,t){this.$emit("change",e,t)},logicChange(e){this.$emit("logicChange",e)}},render(){const{firstFilterProps:e,hideSecondFilter:r,secondFilterProps:o,logicData:l,logicValue:n,operators:s,render:a}=this.$props,d=e.field,h=e.value,c=e.operator,p=e.booleanValues,g=e.filterType,m=o.field,f=o.value,v=o.operator,b=o.booleanValues,C=o.filterType,x=t.createVNode("div",{style:this.$attrs.style,class:this.$attrs.class},[t.createVNode(Mt,{field:d,value:h,operator:c,booleanValues:p,filterType:g,onFiltercellfocus:this.handleFocus,onChange:e=>{this.changeHandler(e,0)},operators:s},null),!r&&t.createVNode("div",null,[t.createVNode(u.DropDownList,{onChange:this.logicChange,class:"k-filter-and","data-items":l,value:n,textField:"text"},null),t.createVNode(Mt,{field:m,value:f,operator:v,booleanValues:b,filterType:C,onFiltercellfocus:this.handleFocus,onChange:e=>{this.changeHandler(e,1)},operators:s},null)])]);return i.getTemplate.call(this,{h:t.h,template:a,defaultRendering:x,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,logicchange:this.logicChange}})}});function Ii(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const yi={name:"KendoGridColumnMenuCheckboxFilter",props:{column:Object,filter:Object,filterable:Boolean,filterOperators:Object,checkAllItem:[String,Object,Function],item:[String,Object,Function],expanded:{type:Boolean,default:void 0},dataItems:Array,searchBox:{type:Boolean,default:!0},uniqueData:{type:Boolean,default:!0}},data:()=>({currentExpanded:!1,currentValue:"",currentData:void 0,dataFromProps:void 0,currentFilter:void 0}),created(){this.compositeFilterIndex=this.getFilterIndex(),this.currentExpanded=this.$props.expanded,this.currentData=this.parseData(this.$props.dataItems,this.$props.uniqueData)||[],this.dataFromProps=this.parseData(this.$props.dataItems,!1)||[],this.currentFilter=this.defaultFilter()},updated(){const e=this.$props.column.field||"",t=this.$props.dataItems.map((t=>v(e,t)));((e,t)=>e.length===t.length&&e.every(((e,i)=>e===t[i])))(t,this.dataFromProps)||(this.currentData=t,this.dataFromProps=t)},inject:{kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){let e,r;const{column:o}=this.$props;if(!o||!o.field)return t.createVNode("div",null,null);const a=l.provideLocalizationService(this),d=void 0!==this.$props.expanded?this.$props.expanded:this.currentExpanded,h=[];if(this.currentFilter){const e=[...this.currentFilter.filters];this.compositeFilterIndex=e.findIndex((e=>!!(e.filters&&e.filters.length>0)&&e.filters[0].field===o.field)),-1!==this.compositeFilterIndex&&e[this.compositeFilterIndex].filters.length>0&&e[this.compositeFilterIndex].filters.forEach((e=>{e.field===this.$props.column.field&&h.push(e.value)}))}const c=function(){return this.$props.searchBox&&t.createVNode("span",{class:"k-list-filter"},[t.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[t.createVNode(i.Icon,{name:"search",icon:n.searchIcon,class:"k-input-icon"},null),t.createVNode("input",{ref:"searchBox",placeholder:a.toLanguageString(ce,ht[ce]),class:"k-input-inner",value:this.currentValue,onInput:this.handleSearchChange},null)])])},u=h.filter(((e,t)=>h.indexOf(e)===t)),g=i.templateRendering.call(this,this.$props.item,i.getListeners.call(this)),m=i.templateRendering.call(this,this.$props.checkAllItem,i.getListeners.call(this)),f=t.createVNode("li",{class:"k-item"},[t.createVNode(s.Checkbox,{label:a.toLanguageString(ge,ht[ge]),onChange:e=>this.handleCheckBoxChange(e,"all"),checked:this.isAllSelected()},null)]),v=i.getTemplate.call(this,{h:t.h,template:m,defaultRendering:f,additionalProps:{checked:this.isAllSelected()},additionalListeners:{change:e=>this.handleCheckBoxChange(e,"all")}});return t.createVNode(kt,null,{default:()=>[t.createVNode($t,{title:a.toLanguageString(ne,ht[ne]),icon:"filter",svgIcon:n.filterIcon,onMenuitemclick:this.onFilterExpand},null),t.createVNode(Ft,{show:!!d},{default:()=>[t.createVNode("div",{class:"kendo-grid-filter-menu-container"},[t.createVNode("form",{class:"k-filter-menu k-border-up",onSubmit:this.submit,onReset:this.clear},[t.createVNode("div",{class:"k-filter-menu-container"},[c.call(this),t.createVNode("ul",{class:"k-reset k-multicheck-wrap"},[v,this.currentData.map((function(e,r){const o=t.createVNode("li",{class:"k-item",key:r},[t.createVNode(s.Checkbox,{label:String(e),onChange:t=>this.handleCheckBoxChange(t,e),checked:u.includes(e)},null)]);return i.getTemplate.call(this,{h:t.h,template:g,defaultRendering:o,additionalProps:{item:e,index:r,checked:u.includes(e)},additionalListeners:{change:t=>this.handleCheckBoxChange(t,e)}})}),this)]),t.createVNode("div",{class:"k-columnmenu-actions"},[t.createVNode(p.Button,{themeColor:"primary"},Ii(e=a.toLanguageString(le,ht[le]))?e:{default:()=>[e]}),t.createVNode(p.Button,{type:"reset"},Ii(r=a.toLanguageString(ie,ht[ie]))?r:{default:()=>[r]})])])])])]})]})},methods:{defaultFilter(){return this.$props.filter?i.clone(this.$props.filter):{filters:[],logic:"and"}},parseData(e,t){const i=this.$props.column.field||"",r=e.map((e=>v(i,e)));return t?r.filter(((e,t)=>r.indexOf(e)===t)):r},getFilterIndex(){const e=this.$props.column.field;return this.defaultFilter().filters.findIndex((t=>t.filters&&t.filters.length>0&&t.filters[0].field===e))},onFilterExpand(){const e=void 0!==this.$props.expanded,t=!(e?this.$props.expanded:this.currentExpanded);this.$emit("expandchange",t),e||(this.currentExpanded=t)},handleSearchChange(e){const t={logic:"and",filters:[{field:this.$props.column.field,operator:"startswith",value:e.target.value,ignoreCase:!0}]};this.currentValue=e.target.value,this.currentData=this.parseData(h.filterBy(this.$props.dataItems||[],t),this.$props.uniqueData)},clear(e){e.preventDefault();const t=this.currentFilter||null;null!==t&&t.filters.length>0?(this.compositeFilterIndex>=0&&t.filters.splice(this.compositeFilterIndex,1),this.$emit("filterchange",t,e)):this.$emit("filterchange",null,e),this.$emit("closemenu")},submit(e){e.preventDefault();const t=this.currentFilter||null;this.$emit("filterchange",t,e),this.$emit("closemenu")},handleCheckBoxChange(e,t){const i=this.$props.column.field||"",r={...this.currentFilter},o=[...this.currentFilter.filters];let l=[];if(-1!==this.compositeFilterIndex&&r.filters[this.compositeFilterIndex].filters&&"all"!==t&&(l=r.filters[this.compositeFilterIndex].filters),e.value&&"all"===t)this.currentData.forEach((e=>{l.push({field:i,operator:"eq",value:e})}));else if(e.value)l.push({field:i,operator:"eq",value:t});else if(this.currentFilter){const e=l.findIndex((e=>e.value===t));l.splice(e,1)}r.logic="and",-1!==this.compositeFilterIndex?o[this.compositeFilterIndex]={logic:"or",filters:l}:o.push({logic:"or",filters:l}),(!e.value&&"all"===t||0===l.length)&&o.splice(this.compositeFilterIndex,1),r.filters=o,this.currentFilter=r},isAllSelected(){let e=!1;if(this.currentFilter){const t=[...this.currentFilter.filters];return-1!==this.compositeFilterIndex&&(e=this.currentData.every((e=>!(-1===this.compositeFilterIndex||!t[this.compositeFilterIndex].filters)&&t[this.compositeFilterIndex].filters.findIndex((t=>t.value===e))>=0)),e)}return e}}},wi=t.defineComponent({render:()=>null}),Ni=t.defineComponent({name:"GridToolbar",props:{size:{type:String,default:"medium",validator:function(e){return["small","medium"].includes(e)}}},computed:{wrapperClass(){const{size:e}=this.$props;return{"k-toolbar":!0,"k-grid-toolbar":!0,"k-toolbar-solid":!0,[`k-toolbar-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}}},render(){const e=i.getDefaultSlots(this);return t.createVNode("div",{class:this.wrapperClass,role:"toolbar"},[e])}}),Ri=t.defineComponent({name:"KendoVueGridSearchBox",inheritAttrs:!1,props:{onChange:Function,className:String,placeholder:String},setup(e,{emit:i}){const o=t.inject("kendoLocalizationService",{}),{searchChange:l}=t.inject("kendo",{}),{search:n}=t.inject(Ci,{}),s=t.computed((()=>r.getStringFromSearch(n.value))),a=t.computed((()=>({"k-grid-search":!0,"k-searchbox":!0}))),d=t.computed((()=>{const t=o;return null!=t&&t.toLanguageString?t.toLanguageString("searchboxPlaceholder","Search..."):e.placeholder||"Search..."}));return{handleChange:t=>{l&&l(t),i("change",t),e.onChange&&e.onChange.call(void 0,t)},value:s,rootClassName:a,placeholder:d}},render(){return t.createVNode(s.TextBox,t.mergeProps({placeholder:this.placeholder,value:this.value,prefix:()=>t.createVNode(i.SvgIcon,{icon:n.searchIcon},null)},this.$attrs,{class:this.rootClassName,onInput:this.handleChange}),null)}});e.Footer=ii,e.FooterRow=ri,e.Grid=ki,e.GridCell=ci,e.GridColumnMenuCheckboxFilter=yi,e.GridColumnMenuFilter=Pt,e.GridColumnMenuFilterCell=Mt,e.GridColumnMenuFilterUI=Si,e.GridColumnMenuItem=$t,e.GridColumnMenuItemContent=Ft,e.GridColumnMenuItemGroup=kt,e.GridColumnMenuSort=Rt,e.GridDetailRow=wi,e.GridEditCell=gt,e.GridFilterCell=Qt,e.GridGroupCell=pi,e.GridHeaderCell=xt,e.GridHierarchyCell=ct,e.GridNoRecords=fi,e.GridRow=ui,e.GridSearchBox=Ri,e.GridToolbar=Ni,e.applyExpandedState=V,e.autoGenerateColumns=w,e.checkPropCompatibility=function(e){for(let t=0;t<$.length;t++){const i=$[t];if(void 0!==e[i]){const e="on"+i.charAt(0).toUpperCase()+i.slice(1);console.warn(k(i,e))}}},e.filterGroupByField=Kt,e.firefox=H,e.firefoxMaxHeight=A,e.flatData=b,e.footerColumns=N,e.getColSpan=L,e.getColumnWidth=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,e.getDataAsArray=y,e.getFlatColumnsState=D,e.getIndex=x,e.getNestedValue=v,e.getRowSpanOptions=T,e.groupedFirstItemValue=E,e.isRtl=C,e.isSorted=(e,t)=>t&&t.filter((t=>t.field===e)).length>0,e.mapColumns=S,e.parsers=R,e.readColumns=I,e.sanitizeColumns=O,e.sortGroupByField=(e,t)=>{const i=yt(e,t);return Nt(i,t)||wt(i,t)}}));
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-grid",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1769163283,version:"7.1.0-develop.3",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-grid",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1769174314,version:"7.1.0-develop.4",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};exports.packageMetadata=e;
@@ -10,8 +10,8 @@ const e = {
10
10
  productName: "Kendo UI for Vue",
11
11
  productCode: "KENDOUIVUE",
12
12
  productCodes: ["KENDOUIVUE"],
13
- publishDate: 1769163283,
14
- version: "7.1.0-develop.3",
13
+ publishDate: 1769174314,
14
+ version: "7.1.0-develop.4",
15
15
  licensingDocsUrl: "https://www.telerik.com/kendo-vue-ui/my-license/"
16
16
  };
17
17
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-vue-grid",
3
- "version": "7.1.0-develop.3",
3
+ "version": "7.1.0-develop.4",
4
4
  "description": "TODO",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -21,16 +21,16 @@
21
21
  "@progress/kendo-data-query": "^1.7.0",
22
22
  "@progress/kendo-drawing": "^1.21.1",
23
23
  "@progress/kendo-licensing": "^1.7.2",
24
- "@progress/kendo-vue-animation": "7.1.0-develop.3",
25
- "@progress/kendo-vue-buttons": "7.1.0-develop.3",
26
- "@progress/kendo-vue-common": "7.1.0-develop.3",
27
- "@progress/kendo-vue-data-tools": "7.1.0-develop.3",
28
- "@progress/kendo-vue-dateinputs": "7.1.0-develop.3",
29
- "@progress/kendo-vue-indicators": "7.1.0-develop.3",
30
- "@progress/kendo-vue-dropdowns": "7.1.0-develop.3",
31
- "@progress/kendo-vue-inputs": "7.1.0-develop.3",
32
- "@progress/kendo-vue-intl": "7.1.0-develop.3",
33
- "@progress/kendo-vue-popup": "7.1.0-develop.3",
24
+ "@progress/kendo-vue-animation": "7.1.0-develop.4",
25
+ "@progress/kendo-vue-buttons": "7.1.0-develop.4",
26
+ "@progress/kendo-vue-common": "7.1.0-develop.4",
27
+ "@progress/kendo-vue-data-tools": "7.1.0-develop.4",
28
+ "@progress/kendo-vue-dateinputs": "7.1.0-develop.4",
29
+ "@progress/kendo-vue-indicators": "7.1.0-develop.4",
30
+ "@progress/kendo-vue-dropdowns": "7.1.0-develop.4",
31
+ "@progress/kendo-vue-inputs": "7.1.0-develop.4",
32
+ "@progress/kendo-vue-intl": "7.1.0-develop.4",
33
+ "@progress/kendo-vue-popup": "7.1.0-develop.4",
34
34
  "@progress/kendo-svg-icons": "^4.4.0",
35
35
  "vue": "^3.0.2"
36
36
  },
@@ -51,7 +51,7 @@
51
51
  "package": {
52
52
  "productName": "Kendo UI for Vue",
53
53
  "productCode": "KENDOUIVUE",
54
- "publishDate": 1769163283,
54
+ "publishDate": 1769174314,
55
55
  "licensingDocsUrl": "https://www.telerik.com/kendo-vue-ui/my-license/"
56
56
  }
57
57
  },