@progress/kendo-vue-grid 8.1.0-develop.3 → 8.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.
- package/dist/cdn/js/kendo-vue-grid.js +1 -1
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +12 -12
|
@@ -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-popup"),require("@progress/kendo-data-query"),require("@progress/kendo-vue-animation"),require("@progress/kendo-vue-buttons"),require("@progress/kendo-vue-dropdowns"),require("@progress/kendo-vue-inputs"),require("@progress/kendo-vue-dateinputs")):"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-popup","@progress/kendo-data-query","@progress/kendo-vue-animation","@progress/kendo-vue-buttons","@progress/kendo-vue-dropdowns","@progress/kendo-vue-inputs","@progress/kendo-vue-dateinputs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueGrid={},e.Vue,e.KendoVueCommon,e.KendoVueDatatools,e.KendoVueIndicators,e.KendoVueIntl,e.KendoSVGIcons,e.KendoVuePopup,e.KendoDataQuery,e.KendoVueAnimation,e.KendoVueButtons,e.KendoVueDropdowns,e.KendoVueInputs,e.KendoVueDateinputs)}(this,function(e,t,r,i,o,l,n,a,s,d,c,h,p,u){"use strict";const g=t.defineComponent({name:"KendoGridNav",props:{columnsRef:Array,dataRef:Array,id:String},emits:["keydown","navigationaction","keyboardselectionchange","movetonextpage","movetoprevpage","columnreorder","setcurrentontop"],inject:{onNavKeyDown:{default:r.noop},onNavFocus:{default:r.noop},onNavMount:{default:r.noop},onNavBeforeUpdate:{default:r.noop},onNavUpdate:{default:r.noop},handleDispatchFocus:{default:r.noop},kbContext:{default:null},navigation:{default:null}},mounted(){this.onNavMount({scope:this.$el||void 0})},updated(){this.onNavUpdate({scope:this.$el||void 0}),this.handlePendingStickyNav()},setup:(e,r)=>({pendingStickyNavRef:t.ref(null)}),methods:{handleStickyKeyDown(e){var t,r;const i=e.target;if((38===e.keyCode||40===e.keyCode)&&i.closest(".k-grid-sticky-container")){const o=parseInt((null==(t=i.closest("tr"))?void 0:t.getAttribute("absolute-row-index"))||"",10),l=i.getAttribute("data-keyboardnavid");if(!isNaN(o)&&l&&!(null==(r=this.$el)?void 0:r.querySelector(`.k-grid-content .k-table-tbody>tr[absolute-row-index="${o}"]`)))return this.pendingStickyNavRef={navId:l,key:e.key,code:e.code,keyCode:e.keyCode},e.preventDefault(),e.stopPropagation(),this.$emit("setcurrentontop",{rowIndex:o}),!0}return!1},handlePendingStickyNav(){var e;if(!this.pendingStickyNavRef||!this.$el)return;const{navId:t,key:r,code:i,keyCode:o}=this.pendingStickyNavRef,l=null==(e=this.$el)?void 0:e.querySelector(`.k-grid-content .k-table-tbody td[data-keyboardnavid="${t}"]`);l&&l.dispatchEvent(new KeyboardEvent("keydown",{key:r,code:i,keyCode:o,bubbles:!0,cancelable:!0})),this.pendingStickyNavRef=null},onKeyDown(e){this.handleStickyKeyDown(e)||(this.onNavKeyDown(e,{navigation:this.navigation,kbContext:this.kbContext,onNavigationAction:this.onNavigationAction}),this.onNavBeforeUpdate({scope:this.$el||void 0,kbContext:this.kbContext,navigation:this.navigation}),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){const{columnsRef:t}=this.$props;if("moveToNextPage"===e.action&&this.$emit("movetonextpage",e.event),"moveToPrevPage"===e.action&&this.$emit("movetoprevpage",e.event),e.focusElement&&("reorderToRight"===e.action||"reorderToLeft"===e.action)){const r=parseInt(e.focusElement.ariaColIndex,10)-1;if(!t[r].reorderable)return;if("reorderToRight"===e.action&&r<this.$props.columnsRef.length-1){if(t[r+1].disableReorder)return;this.$emit("columnreorder",r,r+1,e.event)}if("reorderToLeft"===e.action&&r>0){if(t[r-1].disableReorder)return;this.$emit("columnreorder",r,r-1,e.event)}}"select"===e.action&&this.$emit("keyboardselectionchange",e.event),this.$emit("navigationaction",{focusElement:e.focusElement,event:e.event})},getLeafDataItems(){return this.$props.dataRef.filter(e=>"data"===e.rowType).map(e=>e.dataItem)}},render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{onKeydown:this.onKeyDown,onFocusin:this.onFocus,id:this.$props.id,"data-keyboardnavscope":!0},[e])}}),f={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},m="string";function v(e,t){const r=e.split(".");let i=t;return r.forEach(e=>{i=i?i[e]:void 0}),i}function b(e,t,o,l,n,a,s,d,c,h,p=0,u){let g=p;for(let f=0;f<t.length;f++){let m;if(!n||void 0===t[f].value||void 0===t[f].items){const i=!!c&&!(null==a||!a[r.getter(c)(t[f])]);e[e.length]={dataIndex:l.index,dataItem:t[f],rowType:"data",level:p,group:u,expanded:void 0!==h?v(h,t[f]):null!=i&&i},l.index++;continue}{let e;e=null!=u&&u.parents?[{field:u.field,value:u.value},...u.parents]:u?[u]:[],m={field:t[f].field,value:t[f].value,parents:e}}g=Math.max(g,p+1);let C=!1;const x=i.findGroupExpand(s||[],m);C=h?void 0===h||void 0===v(h,t[f])||v(h,t[f]):x?!1!==x.expanded:!1!==d,e[e.length]={dataIndex:-1,dataItem:t[f],level:p,group:m,rowType:"groupHeader",expanded:C},C&&(m.expanded=C,g=Math.max(b(e,t[f].items,o,l,n,a,s,d,c,h,p+1,m),g)),("always"===o||C&&"visible"===o)&&(e[e.length]={dataIndex:-1,dataItem:t[f],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&&r.canUseDOM))return-1;let i=document.elementFromPoint(e.clientX,e.originalEvent.clientY);for(;i&&i.parentElement!==t;)i=i.parentElement;const o=t.children;for(let e=0;e<o.length;e++)if(o[e]===i)return e;return-1}const y=["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 $(e,t){const r=[[]];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((t,i)=>{r[t.depth]=r[t.depth]||[];let a=!1;0===r[t.depth].length&&(n<=1?n=1+(t.children.length>0?0:o-t.depth):(n--,a=!0)),t.rowSpan=1+(t.children.length>0?0:o-t.depth),t.kFirst=a,t.index=r[t.depth].length,t.ariaColumnIndex=l[t.depth]?l[t.depth]+1:1;let s=0;const d=[],c=new Set;let h=t.parentIndex;for(;h>=0&&!c.has(h);)c.add(h),d.unshift(h),h=e[h].parentIndex;for(let t=0;t<d.length;t++){const i=d[t],o=e[i],l=r[o.depth],n=l.indexOf(i);for(let t=0;t<n;t++){const r=l[t];s+=e[r].headerColSpan}}for(let o=0;o<t.depth;o++){const l=r[o]||[],n=(r[t.depth]||[]).indexOf(i);let a=0;for(const r of l){const i=e[r];a<n&&i.depth+i.rowSpan-1>=t.depth&&(d.includes(r)||(s+=i.headerColSpan)),a+=i.headerColSpan}}const p=r[t.depth];for(const r of p){const i=e[r];i.parentIndex===t.parentIndex&&(s+=i.headerColSpan)}t.virtualColumnOffset=s,r[t.depth].push(i);for(let e=t.depth;e<t.depth+t.rowSpan;e++)l[e]=(l[e]||0)+t.headerColSpan}),i.updateLeft(r,e,t),i.updateRight(r,e,t),r}function S(e,t,o,l=0,n=!1){const a=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.forEach((e,s)=>{const d=e.id?e.id:i.tableKeyboardNavigationTools.generateNavigatableId(""+o.prevId++,o.idPrefix,"column"),c=!!(r.canUseDOM&&e.media&&window.matchMedia)&&!window.matchMedia(e.media).matches,h=n||c||e.hidden,p=null==t?void 0:t.find(e=>e.id===d),u=S(e.children,(null==p?void 0:p.children)||[],o,l+1,h);a.push({depth:l,...f,...u.length?{cell:()=>null,filterCell:()=>null}:{},...e,id:d,declarationIndex:a.length,children:u,headerColSpan:0,rowSpan:0,columnType:e.columnType||"data",colSpan:e.colSpan||1,isAccessible:!0,hidden:h,left:null,right:null,rowSpannable:e.rowSpannable,...p?{width:p.width,orderIndex:p.orderIndex}:{}})});if(a.sort((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0)),0===l){const e=[],t=(r,i)=>r.forEach(r=>{r.parentIndex=i,t(r.children,e.push(r)-1)});return t(a,-1),e}return a}const I=e=>Array.isArray(e)?e:e?e.data:[];function R(e,t,r,o){const l=I(e),n=[];if(l.length>0){let e=l[0];if(t)for(let r=0;r<t.length;r++)e=e.items&&e.items[0];Object.getOwnPropertyNames(e).forEach(e=>{e!==r.column&&n.push({id:i.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,...f,field:e})})}return n}const w=e=>e.filter(t=>{var r;return!((e,t)=>{var r;let i=e[t.parentIndex];for(;i;){if(i.footerCell||null!=(r=i.cells)&&r.footerCell)return!0;i=e[i.parentIndex]}return!1})(e,t)&&(!!(t.footerCell||null!=(r=t.cells)&&r.footerCell)||!(t.children&&t.children.length>0))}),N={number:function(e,t,r){return typeof e===m&&"null"===e.toLowerCase()?null:t.parseNumber(e,r)},date:function(e,t,r){return typeof e===m&&"null"===e.toLowerCase()?null:t.parseDate(e,r)},boolean:function(e){return typeof e===m?"null"===e.toLowerCase()?null:"true"===e.toLowerCase():null!=e?!!e:e},string:function(e){return typeof e===m&&"null"===e.toLowerCase()?null:null!=e?e+"":e},default:function(e){return e}};function V(e,t,r,i){return e.forEach(e=>{e.expanded=t[i]&&!t[i].includes(F(e,r)),e.items&&e.items.length&&(e.items=V(e.items,t,r,i+1))}),e}function T(e,t,r){return t&&t.length&&e.data.forEach(e=>{e.expanded=void 0!==e.expanded?e.expanded:t[0]&&!t[0].includes(F(e,r)),e.items&&e.items.length&&(e.items=V(e.items,t,r,1))}),e}function F(e,t){let r=e;for(;r.items&&r.items.length;)r=r.items[0];return t?r[t]:e.value}const H=e=>{const t=[],r=e=>null==e?void 0:e.forEach(e=>{t.push(e),r(e.children)});return r(e),t},E="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),A=17895697,L=e=>(e.sort((e,t)=>e.declarationIndex-t.declarationIndex),e.map(e=>{const{declarationIndex:t,parentIndex:r,depth:i,headerColSpan:o,rowSpan:l,index:n,kFirst:a,children:s,...d}=e;return s.length?{children:L(s),...d}:d})),O=(e,t)=>"function"==typeof e.colSpan?e.colSpan({dataItem:t,column:e}):e.colSpan||1,D=e=>{var t,i;const o="object"==typeof e?null==(t=e.enabled)||t:null!=e&&e,l="object"==typeof e&&null!=(i=e.valueGetter)?i:(e,t)=>r.getter(t)(e);return{enabled:o,valueGetter:l}},G=e=>{let t=0;if(e){const r=e.insertRow(0);r.insertCell(0).textContent=" ",t=r.getBoundingClientRect().height,e.deleteRow(0)}return t},K=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:r.noop}},data:()=>({inputId:r.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=this.$props.isSelected||v(this.$props.field,this.$props.dataItem),o="boolean"==typeof e&&e,l=this.$props.render,n=this.getKeyboardNavigationAttributes(this.$props.id),a="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:n.tabIndex,"data-keyboardnavlevel":n[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":n[i.KEYBOARD_NAV_DATA_ID]},[t.createVNode("span",{class:"k-checkbox-wrap"},[t.createVNode("input",{checked:o,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 r.getTemplate.call(this,{h:t.h,template:l,defaultRendering:a,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,change:this.handleOnChange}})}}),z="grid.noRecords",M="grid.selectAllRows",B="grid.pagerInfo",j="grid.pagerFirstPage",P="grid.pagerPreviousPage",_="grid.pagerNextPage",W="grid.pagerLastPage",q="grid.pagerItemsPerPage",U="grid.pagerPage",Y="grid.pagerPageSelection",X="grid.pagerOf",J="grid.pagerTotalPages",Q="grid.groupPanelEmpty",Z="grid.groupColumn",ee="grid.ungroupColumn",te="grid.columnMenu",re="grid.filterApplyButton",ie="grid.filterClearButton",oe="grid.filterClearAllButton",le="grid.filterResetButton",ne="grid.filterSubmitButton",ae="grid.filterTitle",se="grid.sortAscending",de="grid.sortDescending",ce="grid.sortClearButton",he="grid.sortApplyButton",pe="grid.searchPlaceholder",ue="grid.searchboxPlaceholder",ge="grid.exportPDF",fe="grid.filterCheckAll",me="grid.filterChooseOperator",ve="grid.filterSelectAll",be="grid.filterSelectedItems",Ce="grid.sortAriaLabel",xe="grid.sortableColumnAriaLabel",ye="grid.sortableColumnAscendingAriaLabel",ke="grid.sortableColumnDescendingAriaLabel",$e="grid.editDialogTitle",Se="grid.editDialogSaveButtonTitle",Ie="grid.editDialogCancelButtonTitle",Re="grid.filterAriaLabel",we="grid.numericFilterAriaLabel",Ne="grid.groupPanelAriaLabel",Ve="grid.groupExpand",Te="grid.groupCollapse",Fe="grid.groupClearButton",He="grid.groupApplyButton",Ee="grid.detailExpand",Ae="grid.detailCollapse",Le="grid.selectRow",Oe="grid.gridAriaLabel",De="grid.gridRowReorderAriaLabel",Ge="grid.gridAdaptiveColumnMenuFilterTitle",Ke="grid.columnMenuColumnChooserTitle",ze="grid.columnMenuColumnChooserSelectedItems",Me="grid.adaptiveColumnMenuChooserTitle",Be="grid.adaptiveColumnMenuChooserSubTitle",je="grid.columnChooserApplyButton",Pe="grid.columnChooserResetButton",_e="grid.adaptiveColumnMenuCheckboxFilterTitle",We="grid.adaptiveToolbarSortTitle",qe="grid.adaptiveToolbarGroupTitle",Ue="grid.toolbarSort",Ye="grid.dateFilterAriaLabel",Xe="grid.textFilterAriaLabel",Je="grid.booleanFilterAriaLabel",Qe="grid.groupHeaderAriaLabel",Ze="grid.groupCaretAriaLabelCollapse",et="grid.groupCaretAriaLabelExpand",tt="grid.expandDetailTemplateAriaLabel",rt="grid.collapseDetailTemplateAriaLabel",it="grid.toolbarAI",ot="grid.aIResponseData",lt="grid.generatedWithAI",nt="grid.toolbarAIApply",at="grid.toolbarGroup",st="grid.toolbarFilter",dt="grid.toolbarColumnsChooser",ct="grid.toolbarCheckboxFilter",ht="grid.headerGroupSpacerAccessibleLabel",pt={[Ee]:"Expand detail row",[Ae]:"Collapse detail row",[Ve]:"Expand group",[Te]:"Collapse Group",[Fe]:"Clear grouping",[He]:"Done",[z]:"No records available",[M]:"Select all rows",[Q]:"Drag a column header and drop it here to group by that column",[re]:"Apply",[ie]:"Clear",[oe]:"Clear all filters",[le]:"Reset",[ne]:"Filter",[ae]:"Filter",[se]:"Sort Ascending",[de]:"Sort Descending",[ce]:"Clear sorting",[he]:"Done",[Ce]:"Sortable",[We]:"Sort by",[qe]:"Group by",[Ue]:"Sort",[it]:"AI Assistant",[nt]:"Apply",[ot]:"Operation is successful. Data is: \n",[lt]:"Generated with AI",[at]:"Group",[st]:"Filter",[dt]:"Columns",[ct]:"Filter",[Z]:"Group Column",[ee]:"Ungroup Column",[ht]:"Group",[te]:"Column menu",[q]:"items per page",[B]:"{0} - {1} of {2} items",[j]:"Go to the first page",[P]:"Go to the previous page",[_]:"Go to the next page",[W]:"Go to the last page",[U]:"Page",[Y]:"Page size",[X]:"of",[J]:"{0}",[pe]:"Search",[ue]:"Search...",[ge]:"Export PDF",[fe]:"Check All",[$e]:"Edit Dialog",[Se]:"Save",[Ie]:"Cancel",[me]:"Choose Operator",[be]:"selected items",[ve]:"Select All",[xe]:"Sortable Column",[ye]:"Sorted in ascending order",[ke]:"Sorted in descending order",[Re]:"Filter",[we]:"Numeric Filter",[Ye]:"Date Filter",[Xe]:"Text Filter",[Je]:"Boolean Filter",[Qe]:"Group Header",[Ze]:"Collapse Group",[et]:"Expand Group",[tt]:"Expand Details",[rt]:"Collapse Details",[Ne]:"Group panel",[Oe]:"Table",[De]:"Drag row",[Le]:"Select Row",[Ke]:"Columns Chooser",[Ge]:"Filter by",[Me]:"Columns Chooser",[Be]:"Selected fields are visible",[_e]:"Filter by",[ze]:"Selected items",[je]:"Apply",[Pe]:"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"},ut=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:r.noop}},methods:{triggerStateChange(){const e=this.kendo;e.dataItemKey&&void 0!==this.$props.dataItem[e.dataItemKey]&&(null==e||e.dispatchDetailExpand({type:i.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===r.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,r){e.preventDefault(),this.$emit("change",{dataItem:t,event:e,field:void 0,value:!r}),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),a=l.provideLocalizationService(this),s=a.toLanguageString(rt,pt[rt]),d=a.toLanguageString(tt,pt[tt]);if("groupFooter"===this.$props.rowType)e=t.createVNode("td",{class:this.wrapperClass},null);else if("groupHeader"!==this.$props.rowType){const l=this.$props.expanded;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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[i.KEYBOARD_NAV_DATA_ID]},[t.createVNode("a",{onClick:e=>{this.clickHandler(e,this.$props.dataItem,l)},href:"#",tabindex:-1,title:l?s:d,"aria-label":l?s:d},[t.createVNode(r.Icon,{name:l?"minus":"plus",icon:l?n.minusIcon:n.plusIcon},null)])])}return r.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:e,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}}),gt=t.defineComponent({props:{id:String},inject:{getKeyboardNavigationAttributes:{default:r.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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":e[i.KEYBOARD_NAV_DATA_ID]},null)}}),ft=t.defineComponent({props:{colSpan:Number,ariaColIndex:Number,dataItem:[Object,String,Number],dataIndex:Number,detail:[String,Function,Object],id:String},inject:{getKeyboardNavigationAttributes:{default:r.noop}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const{colSpan:e,ariaColIndex:o,dataItem:l,dataIndex:n,id:a}=this.$props,s=this.getKeyboardNavigationAttributes(a);return t.createVNode("td",{class:"k-table-td k-detail-cell",colspan:e,"aria-colindex":o,role:"gridcell",tabindex:s.tabIndex,"data-keyboardnavlevel":s[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":s[i.KEYBOARD_NAV_DATA_ID]},[function(e){return r.getTemplate.call(this,{h:t.h,template:this.$props.detail,additionalProps:e})}.call(this,{dataItem:l,dataIndex:n})])}}),mt=t.defineComponent({props:{staticHeaders:Boolean,headerRow:Object,columnResize:Object,cols:Array,size:String,draggable:Boolean},emits:["headerscroll"],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-${r.kendoThemeMaps.sizeMap[e]||e}`]:e}}},mounted(){this.headerWrap=r.getRef(this,"headerWrap"),this.table=r.getRef(this,"table"),this.$props.columnResize.colGroupHeader=r.getRef(this,"colGroupHeader");const e=C(this.$el);this.$props.columnResize&&this.$props.columnResize.setIsRtl(e)},methods:{setScrollLeft(e){this.headerWrap&&(this.headerWrap.scrollLeft=e)},setWidth(e){this.table&&(this.table.style.width=e+"px")},handleHeaderScroll(e){this.$emit("headerscroll",e)}},setup:()=>({headerWrapRef:t.ref(null),tableRef:t.ref(null),colGroupHeaderRef:t.ref(null)}),render(){return this.$props.staticHeaders?t.createVNode("div",{class:this.wrapperClass},[t.createVNode("div",{ref:r.setRef(this,"headerWrap"),class:"k-grid-header-wrap",onScroll:this.handleHeaderScroll},[t.createVNode("table",{class:this.tableClass,ref:r.setRef(this,"table"),role:"none"},[t.createVNode("colgroup",{ref:r.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(r.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=r.getDefaultSlots(this);return t.createVNode(r.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:"draggable"},{default:()=>[t.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":this.$props.key},[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=r.getDefaultSlots(this),i=this.$props.render,o=this.$props.title||this.$props.field||" ",l=r.getTemplate.call(this,{h:t.h,template:i,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])}}),yt=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===r.Keys.enter&&this.$emit("menuitemclick",e)}},render(){const{title:e,iconClass:i,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":"")},[i&&t.createVNode(r.Icon,{class:i},null),(l||n)&&t.createVNode(r.Icon,{name:l,icon:n},null),e])}}),kt=t.defineComponent({render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{class:"k-columnmenu-item-wrapper"},[e])}}),$t="desc",St={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"}}},It=(e,t)=>t?t.findIndex(t=>t.field===e):-1,Rt=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),wt=(e,t)=>!!(t&&e>-1&&t[e].dir===$t),Nt=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,$t),this.$emit("closemenu")},onSort(e,t){if(e.preventDefault(),!r.hasListener.call(this,"sortchange"))return;const{column:i,sortable:o,sort:l}=this.$props,{allowUnsort:n,mode:a}=vt(o||!1,!1),s=(l||[]).filter(e=>e.field===i.field)[0],d=St[n][s&&s.dir||""][t],c="single"===a?[]:(this.$props.sort||[]).filter(e=>e.field!==i.field);""!==d&&i.field&&c.push({field:i.field,dir:d}),this.$emit("sortchange",c,{event:e,field:this.$props.column.field})}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{sort:e,column:r}=this.$props,i=It(r.field,e),o=l.provideLocalizationService(this);return t.createVNode(kt,null,{default:()=>[t.createVNode(yt,{title:o.toLanguageString(se,pt[se]),icon:"sort-asc-small",svgIcon:n.sortAscSmallIcon,selected:Rt(i,e),onMenuitemclick:this.onAscClick},null),t.createVNode(yt,{title:o.toLanguageString(de,pt[de]),icon:"sort-desc-small",svgIcon:n.sortDescSmallIcon,selected:wt(i,e),onMenuitemclick:this.onDescClick},null)]})}}),Vt=t.defineComponent({props:{show:Boolean},render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{class:"k-columnmenu-item-content"},[t.createVNode(d.Reveal,{appear:this.$props.show,style:{position:"relative",display:"block"}},{default:()=>[this.$props.show?e:null]})])}}),Tt=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Ft={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"}]},Ht=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Et=(e,t)=>e.map(e=>({text:t.toLanguageString(e.text,pt[e.text]),operator:e.operator})),At=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Lt=(e,t,r)=>{const i=Ot(r.operators);let o=r.operator;switch(r.filterType){case"numeric":case"date":(!o||Ht(o))&&(o=i),null===e&&o===i&&(o="");break;case"text":(!o||Ht(o))&&(o=i),!e&&o===i&&(o="");break;default:return}return{value:e,operator:o,event:t}},Ot=(e,t)=>t?e[t][0].operator:e[0].operator,Dt=e=>e||"text",Gt=(e,t)=>({value:e,operator:""===e?"":"eq",event:t}),Kt=(e,t,r)=>(Ht(e)&&(r=null),{value:r,operator:e,event:t}),zt=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 r=Lt(e,t,this.$props);this.triggerChange(r)},boolDropdownChange(e,t){const r=Gt(e.value.operator,t);this.triggerChange(r)}},render(){const{filterType:e,value:r,booleanValues:i}=this.$props;let o;switch(e){case"numeric":return t.createVNode(p.NumericTextBox,{value:r,onChange:e=>{this.inputChange(e.value,e.event)}},null);case"date":return t.createVNode(u.DatePicker,{value:r,onFocus:this.handleFocus,onChange:e=>{this.inputChange(e.value,e.event)}},null);case"boolean":return o=e=>null==e,t.createVNode(h.DropDownList,{onChange:this.boolDropdownChange,value:i.find(e=>e.operator===(o(r)?"":r)),"data-items":i,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:r||"",onInput:e=>{this.inputChange(e.target.value,e)}},null)])}}}),Mt=t.defineComponent({props:{filterType:String,operator:String,operators:Array},emits:{change:null},methods:{triggerChange(e){this.$emit("change",e)},operatorChange(e,t){const r=Kt(e.value.operator,t,this.$props.value);this.triggerChange(r)}},render(){const e=this.$props.operators.find(e=>e.operator===this.$props.operator)||null;return"boolean"!==this.$props.filterType?t.createVNode(h.DropDownList,{onChange:this.operatorChange,value:e,"data-items":this.$props.operators,textField:"text"},null):null}});function Bt(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const jt=e=>e||{filters:[],logic:"and"},Pt=(e,t)=>jt(t).filters.filter(t=>!!s.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find(t=>s.isCompositeFilterDescriptor(t)||t.field!==e)))[0]||null,_t=t.defineComponent({name:"KendoGridColumnMenuFilter",props:{column:Object,filter:Object,expanded:{type:Boolean,default:void 0},filterable:Boolean,filterOperators:{type:Object,default:function(){return Ft}},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=Dt(this.$props.column.filter),r=Ot(this.$props.filterOperators,t);e=Pt(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:r},{field:this.$props.column.field,operator:r}]},1===e.filters.filter(e=>e.field===this.$props.column.field).length&&e.filters.splice(1,0,{field:this.$props.column.field,operator:r})}this.currentExpanded=this.$props.expanded||!1,this.filterGroup=e},methods:{removeGroup(e,t){const r=[...t.filters],i=r.findIndex(t=>t===e);return i>-1&&r.splice(i,1),{...t,filters:r}},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 r=this.filterGroup.filters.map((r,i)=>i===e?{...r,value:t.value,operator:t.operator}:r);this.filterGroup={...this.filterGroup,filters:r}},logicChange(e){this.filterGroup={...this.filterGroup,logic:e.target.value.operator}},clear(e){if(e.preventDefault(),!r.hasListener.call(this,"filterchange"))return;const t=this.$props.column.field,i=jt(this.$props.filter),o=Pt(t,this.$props.filter),l=i.filters.filter(e=>e!==o);l.length?this.$emit("filterchange",{...i,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(),!r.hasListener.call(this,"filterchange"))return;const t=this.$props.column.field,i=jt(this.$props.filter),o=Pt(t,this.$props.filter),l=this.currentFilterGroup();let n=null;if(o&&l.filters.length>0){const e=i.filters.map(e=>e===o?l:e);n={...i,filters:e}}else if(0===l.filters.length){const e=i.filters.filter(e=>e!==o);e.length&&(n={...i,filters:e})}else n={...i,filters:[...i.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,i;const{column:o,filterUI:a,hideSecondFilter:s,filterOperators:d}=this.$props;if(!o||!o.field)return t.createVNode("div",null,null);const p=o.filter||"text",u=l.provideLocalizationService(this),g=this.filterGroup.filters,f=Et(d[p],u),m=Et(At,u),v={field:o.field,value:g[0].value,operator:g[0].operator,booleanValues:m,filterType:p},b={field:o.field,value:g[1].value,operator:g[1].operator,booleanValues:m,filterType:p},C=this.filterGroup.logic,x=Et(Tt,u),y={value:x.find(e=>e.operator===(null===C?"":C)),data:x},k=0!==this.currentFilterGroup().filters.length,$=this.isControlled()?this.$props.expanded:this.currentExpanded,S=v.field,I=v.value,R=v.operator,w=v.booleanValues,N=v.filterType,V=b.field,T=b.value,F=b.operator,H=b.booleanValues,E=b.filterType,A=a&&r.templateRendering.call(this,a,r.getListeners.call(this)),L=r.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(yt,{title:u.toLanguageString(ae,pt[ae]),icon:"filter",svgIcon:n.filterIcon,onMenuitemclick:this.onFilterExpand},null),t.createVNode(Vt,{show:!!$},{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"},[!a&&[t.createVNode(Mt,{operator:R,filterType:N,onChange:e=>{this.filterChangeHandler(e,0)},operators:f},null),t.createVNode(zt,{field:S,value:I,operator:R,booleanValues:w,filterType:N,onFiltercellfocus:this.handleFocus,onChange:e=>{this.filterChangeHandler(e,0)},operators:f},null)],!s&&!a&&[t.createVNode(h.DropDownList,{onChange:this.logicChange,class:"k-filter-and","data-items":y.data,value:y.value,textField:"text"},null),t.createVNode(Mt,{operator:F,filterType:E,onChange:e=>{this.filterChangeHandler(e,1)},operators:f},null),t.createVNode(zt,{field:V,value:T,operator:F,booleanValues:H,filterType:E,onFiltercellfocus:this.handleFocus,onChange:e=>{this.filterChangeHandler(e,1)},operators:f},null)],a&&L,t.createVNode("div",{class:"k-columnmenu-actions"},[t.createVNode(c.Button,{themeColor:"primary",disabled:!k},Bt(e=u.toLanguageString(ne,pt[ne]))?e:{default:()=>[e]}),t.createVNode(c.Button,{type:"reset"},Bt(i=u.toLanguageString(ie,pt[ie]))?i:{default:()=>[i]})])])])])]})]})}}),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===r.Keys.esc&&this.$emit("closemenu")}},render(){const e=this.$props.render,i=t.createVNode("div",{style:this.$attrs.style,onKeydown:this.contentKeyDown},[t.createVNode(Nt,{column:this.$props.column,sortable:this.$props.sortable,sort:this.$props.sort,onClosemenu:this.closeMenu,onSortchange:this.sortChange},null),t.createVNode(_t,{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 r.getTemplate.call(this,{h:t.h,template:"boolean"!=typeof e&&e,defaultRendering:i,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:r.SvgIcon,onClose:Function,onSortchange:Function,onFilterchange:Function},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data:()=>({show:!1,blurTimeout:void 0}),created(){this._anchor=r.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=i.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,i=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} ${i.toLanguageString(te,pt[te])}`,ref:r.setRef(this,"kendoAnchor"),onClick:this.anchorClick,href:"#"},[o?t.createVNode(r.Icon,{name:o.name,icon:o},null):t.createVNode(r.Icon,{name:"more-vertical",icon:n.moreVerticalIcon},null)]),t.createVNode(a.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,t){const r=e[t];return!r||r.parentIndex<0?[]:[r.parentIndex,...Ut(e,r.parentIndex)]}function Yt(e,t,r){var i;const o=e[t];(null==(i=null==o?void 0:o.children)?void 0:i.length)>0&&o.children.forEach(t=>{let i="number"==typeof t?t:e.indexOf(t);i>=0&&!r.has(i)&&(r.add(i),Yt(e,i,r))})}function Xt(e){const{cellsToRender:t,columns:r,rowIndex:i,enableVirtualization:o,columnsMap:l}=e;if(!o||!t||0===t.length)return{columnsToRender:[],colSpans:[]};const n=[],a=[];let s=-1,d=-1;const c=t.reduce((e,t)=>e+t.colSpan,0);let h=[],p=[];const u=r.filter(e=>0===e.children.length),g=new Map;r.forEach((e,t)=>{if(0===e.children.length){const r=u.findIndex(t=>t===e);r>=0&&g.set(r,t)}});const f=new Set;if(t.forEach(e=>{const t=g.get(e.columnIndex);if(void 0!==t){f.add(t);const e=Ut(r,t);e.forEach(e=>f.add(e)),function(e,t,r){t.forEach(t=>{Ut(e,t).forEach(e=>r.add(e))})}(r,e,f),Yt(r,t,f),e.forEach(e=>{Yt(r,e,f)})}}),l&&Array.isArray(l)){for(let e=0;e<l.length;e++)h[e]=l[e].filter(e=>f.has(e));p=h[i]||[]}const m=function(e,t){let r=-1,i=-1;for(let o=0;o<t.length;o++)e[t[o]].locked||(-1===r&&(r=o),i=o);return{first:r,last:i}}(r,p);s=m.first,d=m.last;let v=0,b=0,C=!1;return p.forEach((e,t)=>{n.push(e);const o=r[e],u=o.headerColSpan||1;let g;if(s===d)g=c;else if(t===s){const e=o.virtualColumnOffset?o.virtualColumnOffset:0,{emptyColSpan:t,skipOffset:l}=function(e,t,r){let i=0,o=!1;if(r>0&&t)for(let l=0;l<r;l++){const n=t[l]||[];for(let t=0;t<n.length;t++){const a=e[n[t]];(a.rowSpan||1)>r-l&&(i+=a.headerColSpan||1,0===t&&(o=!0))}}return{emptyColSpan:i,skipOffset:o}}(r,h,i);b+=t,l&&(b+=e,C=!0),g=e>0&&!l?u+e:u}else if(t===d){let o=t===p.length-1;if(null!=l&&l[i]){const t=l[i],n=e;let a=-1;for(let e=t.length-1;e>=0;e--)if(!r[t[e]].locked){a=t[e];break}o=n===a}if(o)g=u;else{const e=c-v-b;if(g=Math.max(e,u),u>e&&a.length>0){const t=u-e;a[0]-=t}}}else g=u;a.push(g),v+=g}),{columnsToRender:n,colSpans:a,skipOffset:C}}function Jt(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Qt={none:"none",asc:"ascending",desc:"descending"},Zt={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},er=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,cellsToRender:Array,columnVirtualization:Boolean,columnsMap:Array,columnResize:Object,columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:Object,isRtl:Boolean,isColCountDefined:Boolean,headerSelectionValue:[Boolean,Array],columnsInitial:Array,onSortChange:Function,onFilterChange:Function,onSelectionchange:Function,onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},inject:{onNavFocus:{default:r.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(),!r.hasListener.call(this,"sortChange"))return;const{allowUnsort:i,mode:o}=vt(this.$props.sortable||!1,t.sortable||!1),l=(this.$props.sort||[]).filter(e=>e.field===t.field)[0],n=Zt[i][l&&l.dir||""],a="single"===o?[]:(this.$props.sort||[]).filter(e=>e.field!==t.field);""!==n&&t.field&&a.push({field:t.field,dir:n}),this.sortChangeHandler(a,{event:e,field:t.field})},sortChangeHandler(e,t){this.$emit("sortChange",e,t)},filterChangeHandler(e,t){this.$emit("filterChange",e,t)},cellClass(e,t,r){let i="k-header"+(r?" k-grid-header-sticky":"")+(t?" "+t:"");return this.$props.sort&&this.$props.sort.filter(t=>t.field===e).length>0&&(i+=" k-sorted"),i},cellKeyDown(e,t){e.defaultPrevented||(e.keyCode===r.Keys.enter&&this.cellClick(e,t),e.altKey&&e.keyCode===r.Keys.down&&t.field&&(e.preventDefault(),this.columnMenuOpened={[t.field]:!0}))},getTemplate(e){return r.templateRendering.call(this.$props.grid,e,r.getListeners.call(this.$props.grid))},columnMenuClose(){this.onNavFocus({}),this.columnMenuOpened={}}},computed:{element(){return this._element},theadClasses:()=>({"k-table-thead":!0})},render(){const e=l.provideLocalizationService(this),o=e.toLanguageString(xe,pt[xe]),a=e.toLanguageString(ye,pt[ye]),s=e.toLanguageString(ke,pt[ke]);this.serviceIndex=0,this.index=-1;const d=this.$props.columnVirtualization,c=function(e,l){const c=Xt({cellsToRender:this.$props.cellsToRender||[],columns:this.$props.columns,rowIndex:l,enableVirtualization:d,columnsMap:this.$props.columnsMap}),h=d;let p=h&&c.columnsToRender?c.columnsToRender:e;const u=h?c.colSpans:[];return p&&0!==p.length?p.map(function(e,l){var d;const h=this.$props.columns[e],p=this.$props.sortable&&h.sortable,g=this.$props.sort?this.$props.sort.findIndex(e=>e.field===h.field):-1,f=g>=0&&this.$props.sort[g].dir||"none",m=function(e){if(!this.$props.sort)return null;const i=e>=0?this.$props.sort[e].dir:"";return e>=0&&[t.createVNode("span",{key:1,class:"k-sort-icon"},[t.createVNode(r.Icon,{name:"sort-"+i+"-small",icon:"asc"===i?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,g),v=h.columnMenu||!1===h.columnMenu?h.columnMenu:this.$props.columnMenu,b=h.menuIcon||this.$props.columnMenuIcon,C=(h.kFirst?"k-first ":"")+this.cellClass(h.field,h.headerClassName,h.locked)+(v?" k-filterable":""),x=v&&"boolean"!=typeof v?this.getTemplate(v):!!v,y=c.skipOffset?{borderLeftWidth:"1px"}:void 0,k=h.locked&&void 0!==h.left?this.$props.isRtl?{left:h.right+"px",right:h.left+"px"}:{left:h.left+"px",right:h.right+"px"}:y,$="none"===Qt[f]?o:"ascending"===Qt[f]?a:s;let S=h.isAccessible?{ariaSort:Qt[f],ariaLabel:$,role:"columnheader",ariaColumnIndex:this.$props.isColCountDefined?this.$props.columnsInitial.findIndex(e=>e.field===h.field)+1:void 0,ariaSelected:!1,ariaHaspopup:v?"menu":this.$props.filterable&&h.filterable?"dialog":void 0}:{role:"columnheader"};const I=h.declarationIndex>=0?++this.index:--this.serviceIndex,R=void 0!==h.columnMenuOpened?h.columnMenuOpened:this.columnMenuOpened[h.field],w=null!=(d=u[l])?d:h.headerColSpan;return t.createVNode(i.HeaderThElement,{ariaSort:p?S.ariaSort:void 0,ariaLabel:p?S.ariaLabel:void 0,role:S.role,ariaColumnIndex:S.ariaColumnIndex,ariaSelected:S.ariaSelected,ariaHaspopup:S.ariaHaspopup,key:I,colSpan:w,rowSpan:h.rowSpan,class:C,style:k,columnId:h.id,navigatable:h.navigatable,onKeydown:e=>this.cellKeyDown(e,h)},{default:()=>{var e,r;return[[0===h.children.length&&v&&t.createVNode(qt,{key:0,column:{field:h.field,filter:h.filter},opened:R,animate:this.$props.columnMenuAnimate,sortable:p,sort:this.$props.sort,onClose:this.columnMenuClose,onSortchange:this.sortChangeHandler,filter:this.$props.filter,filterable:this.$props.filterable&&h.filterable,filterOperators:this.$props.filterOperators,onFilterchange:this.filterChangeHandler,render:x,columnMenuIcon:b},null),h.internalHeaderCell&&t.createVNode("span",{class:"k-cell-inner"},[t.createVNode(h.internalHeaderCell,{key:1,field:h.field,sortable:p,onHeadercellclick:e=>this.cellClick(e,h),onSelectionchange:this.selectionChangeHandler,selectionValue:null!=(e=h.headerSelectionValue)?e:this.$props.headerSelectionValue,title:h.title,render:(h.headerCell||this.$props.cellRender)&&this.getTemplate(h.headerCell||this.$props.cellRender)},Jt(m)?m:{default:()=>[m]})])||t.createVNode("span",{class:"k-cell-inner"},[t.createVNode(xt,{key:1,field:h.field,sortable:p,onHeadercellclick:e=>this.cellClick(e,h),selectionValue:null!=(r=h.headerSelectionValue)?r:this.$props.headerSelectionValue,title:h.title,render:(h.headerCell||this.$props.cellRender)&&this.getTemplate(h.headerCell||this.$props.cellRender)},Jt(m)?m:{default:()=>[m]})]),this.$props.columnResize&&this.$props.columnResize.resizable&&h.resizable&&t.createVNode(bt,{key:2,onResize:(e,t,r)=>this.$props.columnResize&&this.$props.columnResize.dragHandler(e,h,t,r)},null)]]}})},this):[]};return t.createVNode("thead",{role:"rowgroup",class:this.theadClasses,"data-keyboardnavheader":!0},[this.$props.columnsMap.map(function(e,r){let i;return(this.$props.groupable||this.$props.reorderable)&&t.createVNode(Ct,{key:r,onPressHandler:this.pressHandler,onDragHandler:this.dragHandler,onReleaseHandler:this.releaseHandler},Jt(i=c.call(this,e,r))?i:{default:()=>[i]})||t.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":r+1},[c.call(this,e,r)])},this),this.$props.filterRow])}}),tr=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 r=Lt(e,t,this.$props);this.triggerChange(r)},operatorChange(e,t){const r=Kt(e.value.operator,t,this.$props.value);this.triggerChange(r)},boolDropdownChange(e,t){const r=Gt(e.value.operator,t);this.triggerChange(r)},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:i}=this.$props,o=this.$props.operators.find(e=>e.operator===this.$props.operator)||null,a=t.createVNode("div",{class:"k-filtercell",style:this.$attrs.style},[t.createVNode("div",{class:"k-filtercell-wrapper"},[function(e,r){let o;switch(e){case"numeric":return t.createVNode(p.NumericTextBox,{size:i,value:r,onChange:e=>{this.inputChange(e.value,e.event)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"date":return t.createVNode(u.DatePicker,{size:i,value:r,onChange:e=>{this.inputChange(e.value,e)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"boolean":return o=this.$props.booleanValues,t.createVNode(h.DropDownList,{onChange:this.boolDropdownChange,size:i,value:o.find(e=>e.operator===(null!==r?r:"")),"data-items":o,textField:"text",title:this.$props.title,ariaLabel:this.ariaLabel},null);default:return t.createVNode(p.TextBox,{value:r||"",size:i,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(h.DropDownList,{onChange:this.operatorChange,value:o,size:i,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,pt[me]),popupSettings:{width:"",anchor:""},ariaLabel:this.ariaLabel},null)}.call(this),t.createTextVNode(" "),t.createVNode(c.Button,{type:"button",size:i,icon:"filter-clear",svgIcon:n.filterClearIcon,class:{"k-disabled":!(null!==this.$props.value&&""!==this.$props.value||this.$props.operator)},title:e.toLanguageString(ie,pt[ie]),onClick:this.clear},null)])])]),s=this.$props.grid?r.getListeners.call(this.$props.grid):null,d=r.templateRendering.call(this.$props.grid,this.$props.render,s);return r.getTemplate.call(this,{h:t.h,template:d,defaultRendering:a,additionalProps:this.$props,additionalListeners:{change:this.triggerChange}})}});const rr=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,cellsToRender:Array,columnVirtualization:Boolean,columnsMap:Array,onFilterchange:Function},inject:{kendoLocalizationService:{default:null}},methods:{headerCellClassName(e,t){let r=t?" k-grid-header-sticky":"";return this.$props.sort&&this.$props.sort.filter(t=>t.field===e).length>0&&(r+=" k-sorted"),r},setFilter(e,t,r,i){const o=[];(""!==e&&null!==e||""!==t)&&o.push({field:r,operator:t,value:e}),this.$props.filter&&this.$props.filter.filters&&(this.$props.filter.filters||[]).forEach(e=>{const t=e;t&&t.field!==r&&o.push(t)});const l=o.length>0?{logic:"and",filters:o}:null;this.$emit("filterchange",l,i)}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=l.provideLocalizationService(this),r=this.$props.filter&&this.$props.filter.filters||[],o=(e,t=null)=>{const i=r.filter(t=>t.field===e)[0];return i?i.value:t},n=e=>{const t=r.filter(t=>t.field===e)[0];return t?t.operator:null};let a=0,s=-1;const d=Xt({cellsToRender:this.$props.cellsToRender||[],columns:this.$props.columns,rowIndex:0,enableVirtualization:this.$props.columnVirtualization,columnsMap:this.$props.columnsMap}),c=d.columnsToRender.length>0,h=this.$props.columns.filter(e=>0===e.children.length),p=c?d.columnsToRender.map(e=>this.$props.columns[e]).filter(e=>0===e.children.length):h,u=c?d.colSpans:[],g=p.map(function(r,l){const d=Dt(r.filter),h=(r.title||r.field)+" "+((e,t)=>{switch(e){case"text":return t.toLanguageString(Xe,pt[Xe]);case"numeric":return t.toLanguageString(we,pt[we]);case"boolean":return t.toLanguageString(Je,pt[Je]);case"date":return t.toLanguageString(Ye,pt[Ye]);default:return}})(d,e),p=t.createVNode(tr,{grid:this.$props.grid,field:r.field,title:r.filterTitle,value:o(r.field,"text"===d?"":null),operator:n(r.field),operators:Et(this.$props.filterOperators[d]||[],e),booleanValues:Et(At,e),filterType:d,onChange:e=>{this.setFilter(e.value,e.operator,r.field,e)},render:r.filterCell||this.$props.cellRender,"aria-label":h,size:this.$props.size},null),g=r.declarationIndex>=0?++s:--a,f={ariaLabel:r.filterable?e.toLanguageString(Re,pt[Re]):void 0,ariaColumnIndex:r.ariaColumnIndex},m=r.locked&&void 0!==r.left?this.$props.isRtl?{left:r.right+"px",right:r.left+"px"}:{left:r.left+"px",right:r.right+"px"}:void 0,v=c&&void 0!==u[l]?u[l]:void 0,b=t.createVNode(i.HeaderTdElement,{key:g,role:"gridcell",columnId:i.tableKeyboardNavigationTools.getFilterColumnId(r.id),navigatable:r.navigatable,style:m,class:this.headerCellClassName(r.field,r.locked)||void 0,ariaColumnIndex:f.ariaColumnIndex,"aria-label":h,colSpan:v},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(p)?p:{default:()=>[p]});return r.filterable&&b||t.createVNode(i.HeaderTdElement,{key:g,role:"gridcell",columnId:i.tableKeyboardNavigationTools.getFilterColumnId(r.id),navigatable:r.navigatable,style:m,class:this.headerCellClassName(r.field,r.locked)||void 0,ariaColumnIndex:f.ariaColumnIndex,"aria-label":h,colSpan:v},null)},this);return t.createVNode("tr",{class:"k-table-row k-filter-row","aria-rowindex":this.ariaRowIndex,role:"row"},[g])}}),ir=t.defineComponent({props:{title:String,dir:String,onRemove:Function,onSortChange:Function,onPress:Function,onDrag:Function,onRelease:Function},mounted(){this.element=r.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)},handleKeyDown(e){(e.keyCode===r.Keys.delete||e.keyCode===r.Keys.backspace)&&(e.preventDefault(),e.stopPropagation(),this.$emit("remove",e))},groupRemove(e){e.preventDefault(),this.$emit("remove",e)}},setup:()=>({indicatorContainerRef:t.ref(null)}),render(){return t.createVNode(r.Draggable,{onPress:this.press,onDrag:this.drag,onRelease:this.release,ref:"draggable"},{default:()=>[t.createVNode("div",{class:"k-chip",ref:r.setRef(this,"indicatorContainer"),tabindex:"0",role:"button",onClick:this.sortChange,onKeydown:this.handleKeyDown,style:{touchAction:"none"}},[t.createVNode(r.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"},[t.createVNode("span",{class:"k-chip-label"},[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(r.Icon,{name:"x-circle",icon:n.xCircleIcon},null)])])])]})}}),or=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 r=this.$props.group.slice();r.splice(t,1),this.$emit("groupChange",r,e)},onGroupSortChange(e,t,r,i){const o=Object.assign({},r,{dir:i}),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||[],r=this.$props.ariaControls,i=e.map(function(e,r){return t.createVNode(ir,{key:r,dir:e.dir||"asc",title:this.$props.resolveTitle(e.field),onRemove:e=>this.onGroupRemove(e,r),onSortChange:(t,i)=>{this.onGroupSortChange(t,r,e,i)},onPress:this.pressHandler,onDrag:this.dragHandler,onRelease:this.releaseHandler},null)},this),o=l.provideLocalizationService(this).toLanguageString(Qe,pt[Qe]);return t.createVNode("div",{class:"k-grouping-header",role:"toolbar","aria-label":o,"aria-controls":r},[!!i.length&&t.createVNode("div",{class:"k-chip-list k-chip-list-md"},[i]),t.createVNode("div",{class:"k-grouping-drop-container"},[!i.length&&l.provideLocalizationService(this).toLanguageString(Q,pt[Q])])])}}),lr=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-${r.kendoThemeMaps.sizeMap[e]||e}`]:e}},tableStyle(){return this.tableWidth?{width:this.tableWidth}:null}},mounted(){this.rtl=C(this.$el),this.$props.columnResize.colGroupFooter=r.getRef(this,"colGroupHeader"),this._footerWrap=r.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",role:"presentation"},[t.createVNode("div",{class:"k-grid-footer-wrap",ref:r.setRef(this,"footerWrap"),role:"presentation"},[t.createVNode("table",{class:this.tableClass,style:this.tableStyle,role:"presentation"},[t.createVNode("colgroup",{ref:r.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])}}),nr=t.defineComponent({name:"FooterCell",props:{column:Object,columnIndex:Number,isRtl:Boolean,rowIndex:Number,cells:Object},inject:{getKeyboardNavigationAttributes:{default:r.noop}},computed:{columnStyles(){const e=this.$props.column;if(e.locked&&void 0!==e.left)return this.$props.isRtl?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}},tdClassName(){const e=this.$props.column,t=e.locked&&void 0!==e.left?"k-grid-footer-sticky":"";return e.footerClassName?`k-table-td ${e.footerClassName} ${t}`:"k-table-td "+t}},render(){var e,o;const l=this.$props.column,n=`footer-${this.$props.rowIndex}-${this.$props.columnIndex}`,a=this.getKeyboardNavigationAttributes(n,!0),s=r.getTemplate.call(this,{h:t.h,template:l.footerCell||(null==(e=l.cells)?void 0:e.footerCell)||(null==(o=this.$props.cells)?void 0:o.footerCell),defaultRendering:null,additionalProps:{field:l.field,colSpan:1===l.colSpan?void 0:l.colSpan,defaultStyle:this.columnStyles}});return t.createVNode("td",{key:this.$props.columnIndex,colspan:1===l.colSpan?void 0:l.colSpan,style:this.columnStyles,class:this.tdClassName,role:"gridcell",tabindex:a.tabIndex,"data-keyboardnavlevel":a[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":a[i.KEYBOARD_NAV_DATA_ID]},[s])}}),ar=t.defineComponent({name:"FooterRow",props:{isRtl:Boolean,columns:Array,rowIndex:Number,cells:Object},render(){return t.createVNode("tr",{class:"k-table-row",role:"row","aria-rowIndex":this.$props.rowIndex},[w(this.$props.columns).map((e,r)=>t.createVNode(nr,{key:e.field||e.title||`footer-cell-${r}`,column:e,columnIndex:r,isRtl:this.$props.isRtl,rowIndex:this.$props.rowIndex,cells:this.$props.cells},null))])}}),sr=t.defineComponent({name:"GridTable",props:{selectable:Object,tableClassName:String},setup(e,{slots:r}){const{selectionRelease:o}=t.inject("kendo",{});return()=>t.createVNode(i.TableSelection,{selectable:e.selectable,onRelease:o},{default:()=>{var i;return[t.createVNode("table",{style:{tableLayout:"fixed"},role:"none",class:e.tableClassName},[null==(i=r.default)?void 0:i.call(r)])]}})}}),dr=t.defineComponent({name:"GridTableScrollable",props:{selectable:Object,tableClassName:Object,tableStyle:Object},setup(e,{slots:r}){const{selectionRelease:o}=t.inject("kendo",{});return()=>{const l={...e.tableStyle};return t.createVNode(i.TableSelection,{selectable:e.selectable,onRelease:o},{default:()=>{var i;return[t.createVNode("table",{role:"none",class:e.tableClassName,style:l},[null==(i=r.default)?void 0:i.call(r)])]}})}}});let cr=class{constructor(){this.table=null,this.tableBody=null,this.container=null,this.scrollHeightContainer=null,this.total=0,this.scrollableVirtual=!1,this.pageSize=0,this.fixedScroll=!1,this.tableTransform="",this.scrollSyncing=!1,this.firstToLoad=0,this.lastScrollTop=0,this.firstLoaded=0,this.lastLoaded=0,this.scrollHandler=this.scrollHandler.bind(this)}reset(){this.firstToLoad=0,this.firstLoaded=0,this.lastLoaded=0,this.rowHeightService=void 0,!this.fixedScroll&&this.container&&0!==this.container.scrollTop&&(this.scrollSyncing=!0,this.container.scrollTop=0,this.lastScrollTop=0,this.translate(0,!0))}scrollHandler(e){if(this.scrollSyncing)return void(this.scrollSyncing=!1);if(!(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&this.container))return;const t=this.container.scrollTop,r=this.lastScrollTop>=t,i=!r;this.lastScrollTop=t;const o=this.container.offsetHeight;let l=this.rowHeightService.index(t);const n=this.rowHeightService.index(t+o),a=Math.max(l+this.pageSize-this.total,0);if(l=Math.max(l-a,0),i&&n>=this.lastLoaded&&this.lastLoaded<this.total-1)this.firstToLoad=l,this.loadPage(e);else if(r&&l<this.firstToLoad){const t=Math.max(Math.floor(.3*this.pageSize)-a,0);this.firstToLoad=Math.max(l-t,0),this.loadPage(e)}}update(){var e;const t=this.getItemHeights();if(this.firstLoaded>this.firstToLoad){const e=Math.min(this.firstLoaded-this.firstToLoad,this.pageSize),r=this.getTotalHeight(e,t)-this.getExpectedTotalHeight(e);0!==r&&this.adjustScroll(r)}null==(e=this.rowHeightService)||e.update(this.firstToLoad,t),this.setScrollHeightContainerHeight(),this.firstLoaded=this.firstToLoad,this.lastLoaded=this.firstLoaded+t.length-1}loadPage(e){this.rowHeightService&&(this.translate(this.rowHeightService.offset(this.firstToLoad),!0),this.changePage(this.firstToLoad,e))}translate(e,t){this.scrollableVirtual&&this.table&&(t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}changePage(e,t){this.PageChange&&this.PageChange({skip:Math.max(0,e),take:this.pageSize},t)}adjustScroll(e){this.scrollSyncing=!0,this.container&&(this.container.scrollTop+=e)}setScrollHeightContainerHeight(){var e;if(this.scrollableVirtual&&this.scrollHeightContainer){let t=(null==(e=this.rowHeightService)?void 0:e.totalHeight())||0;t=E?Math.min(A,t):t,this.scrollHeightContainer.style.height=t+"px"}}getItemHeights(){const e=[];return this.tableBody&&Array.from(this.tableBody.children).forEach(t=>{const r=t.getBoundingClientRect().height;t.classList.contains("k-detail-row")?e[e.length-1]+=r:e.push(r)}),e}getTotalHeight(e,t){return t.slice(0,e).reduce((e,t)=>e+t,0)}getExpectedTotalHeight(e){const t=this.rowHeightService;if(!t)return 0;const r=this.firstToLoad+(e-1);return t.offset(r)+t.height(r)-t.offset(this.firstToLoad)}};class hr{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)||[],r=H(this.columnsState),i=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],l=i[e];let n="";const a=r.find(t=>t.id===i[e].id);a&&(n=this.applyWidthConstraints(a,l)),o.width=n,this.colGroupHeader&&(this.colGroupHeader.children[e].width=n),this.colGroupFooter&&(this.colGroupFooter.children[e].width=n),this.colGroupStickyHeader&&(this.colGroupStickyHeader.children[e].width=n),this.colGroupStickyFooter&&(this.colGroupStickyFooter.children[e].width=n)}},this.dragHandler=(e,t,r,i)=>{const o=e.originalEvent;i||(o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation());const l=r.closest("th");if(!l)return;const n=l.clientWidth;let a=n;if(this.isRtl?a+=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX:a+=e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!i&&Math.abs(a-n)<1)return;this.fixateInitialWidths(l.parentElement.clientWidth),this.setWidths(t,Math.floor(a)/n);const s=this.columns.filter(e=>!e.children.length).findIndex(e=>e.id===t.id);this.onResize(s,n,a,o,i,this.columnsState,t.id)},this.dblClickHandler=(e,t)=>{const r=this.columns.filter(e=>t.indexOf(e.id)>-1),i=H(this.columnsState);if(!this.colGroupMain||!r.length)return;const o={},l=r;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),a=[];n.forEach((e,t)=>{o[e.id]&&a.push(t)});const s=[this.colGroupMain.parentElement],d=[this.colGroupMain];this.colGroupHeader&&(s.push(this.colGroupHeader.parentElement),d.push(this.colGroupHeader)),this.colGroupFooter&&(s.push(this.colGroupFooter.parentElement),d.push(this.colGroupFooter)),this.colGroupStickyHeader&&(s.push(this.colGroupStickyHeader.parentElement),d.push(this.colGroupStickyHeader)),this.colGroupStickyFooter&&(s.push(this.colGroupStickyFooter.parentElement),d.push(this.colGroupStickyFooter)),s.forEach(e=>e.classList.add("k-autofitting"));const c=[];d.forEach(e=>{a.forEach(t=>{e.children[t]&&(e.children[t].width="",c[t]=Math.max(c[t]||0,e.children[t].offsetWidth+1))})}),d.forEach(e=>{a.forEach(t=>{if(e.children[t]){e.children[t].width=c[t]+"px";const r=i.find(e=>e.id===n[t].id);r&&(r.width=c[t])}})}),s.forEach(e=>e.classList.remove("k-autofitting")),this.onResize(a[0],0,0,e,!0,this.columnsState,t[0])},this.updateColElements=e=>{var t,r,i,o,l;const n=this.columns.filter(e=>!e.hidden&&!e.children.length);let a=1e-10;for(let s=0;s<e.length;s++){const d=e[s],c=n.findIndex(e=>e.id===d.id),h=parseFloat((d.width||0).toString()),p=Math.floor(h);a+=h-p;const u=p+Math.floor(a);a-=Math.floor(a);const g=n.find(e=>e.id===d.id);if(!g)return;if(null!=(t=this.colGroupMain)&&t.children[c]){const e=parseInt(this.colGroupMain.children[c].width,10);this.colGroupMain.children[c].width=u+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,g,e-u)}if(null!=(r=this.colGroupHeader)&&r.children[c]){const e=parseInt(this.colGroupHeader.children[c].width,10);this.colGroupHeader.children[c].width=u+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,g,e-u)}if(null!=(i=this.colGroupFooter)&&i.children[c]){const e=parseInt(this.colGroupFooter.children[c].width,10);this.colGroupFooter.children[c].width=u+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,g,e-u)}if(null!=(o=this.colGroupStickyHeader)&&o.children[c]){const e=parseInt(this.colGroupStickyHeader.children[c].width,10);this.colGroupStickyHeader.children[c].width=u+"px",this.updateNextLockedCol(this.colGroupStickyHeader.parentElement,g,e-u)}if(null!=(l=this.colGroupStickyFooter)&&l.children[c]){const e=parseInt(this.colGroupStickyFooter.children[c].width,10);this.colGroupStickyFooter.children[c].width=u+"px",this.updateNextLockedCol(this.colGroupStickyFooter.parentElement,g,e-u)}}},this.onResize=e}applyWidthConstraints(e,t,r=1){var i;if(!e.width)return e.width||"";const o=e.width.toString();if(o.includes("%")){const t=parseFloat(o)*r,i=Math.max(0,Math.min(100,t));return e.width=i+"%",e.width}let l=parseFloat(o)*r;const n=null!=(i=t.minResizableWidth)?i:10,a=null==t?void 0:t.minWidth,s=void 0!==a?Math.max(n,a):n,d=null==t?void 0:t.maxWidth;return l<s&&(l=s),void 0!==d&&l>d&&(l=d),e.width=l,l}fixateInitialWidths(e){var t;let r=0;const i=(null==(t=this.colGroupMain)?void 0:t.children)||[];for(let t=0;t<i.length;t++)i[t].width?e-=i[t].clientWidth:r++;if(0===r)return;const o=Math.floor(e/r),l=H(this.columnsState),n=this.columns.filter(e=>!e.children.length);for(let e=0;e<i.length;e++){const t=i[e],r=t.width?t.clientWidth:o;t.width=r;const a=l.find(t=>t.id===n[e].id);a&&(a.width=r.toString()),this.colGroupHeader&&(this.colGroupHeader.children[e].width=r),this.colGroupFooter&&(this.colGroupFooter.children[e].width=r),this.colGroupStickyHeader&&(this.colGroupStickyHeader.children[e].width=r),this.colGroupStickyFooter&&(this.colGroupStickyFooter.children[e].width=r)}}setWidths(e,t){const r=H(this.columnsState),i=this.columns.findIndex(t=>t.id===e.id),o=[];let l=e.children.filter(e=>!e.hidden).length;for(let e=i+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 i=r.find(t=>t.id===e.id);i&&(this.applyWidthConstraints(i,e,t),n.push(i))}),this.updateColElements(n)}updateNextLockedCol(e,t,r){const i=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&&r){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>i&&null!=o&&o.right&&(o.right=parseInt(o.right,10)-r+"px"),t.index<i&&null!=o&&o.left&&(o.left=parseInt(o.left,10)-r+"px")):(t.index>i&&null!=o&&o.left&&(o.left=parseInt(o.left,10)-r+"px"),t.index<i&&null!=o&&o.right&&(o.right=parseInt(o.right,10)-r+"px"))})}})}}let pr=class{constructor(e,t,i){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&&r.canUseDOM&&document.body.appendChild(this.dropElementClue.$el)},this.refDragElementClue=e=>{this.dragElementClue=e,this.dragElementClue&&r.canUseDOM&&document.body.appendChild(this.dragElementClue.$el)},this.pressHandler=(e,t)=>{e.isTouch||e.originalEvent.preventDefault();const r=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),r>=0){const e=this.columns[r];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=r)}},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 r=this.groupPanelDivElement&&this.groupPanelDivElement.children;this.currentGroup=this.isTargetGroupingContainer(e)?r&&r.length?r.length:0:this.getGroupIndex(e);const i=!this.isValid();i&&(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,i),this.updateDropElementClue(e,t,o,i)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,i=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&&r>=0?this.columnReorder(t,r,e.originalEvent):i>=0&&o>=0?this.groupReorder(i,o,e.originalEvent):t>=0&&o>=0&&this.columnToGroup(t,o,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=i}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const r=x(e,t);if(-1===r)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===r&&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,r,i){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=i||!r?"cancel":"plus"}updateDropElementClue(e,t,r,i){if(!this.dropElementClue)return;if(i||!r)return void(this.dropElementClue.visible=!1);const o=r.getBoundingClientRect(),l=(r.closest(".k-grouping-header")||r).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 a=l.top+e.pageY-e.clientY;this.dropElementClue.visible=!0,this.dropElementClue.top=a,this.dropElementClue.left=n,this.dropElementClue.height=this.currentColumn>=0?t.clientHeight:l.height}};const ur=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(r.Icon,{name:this.status,class:"k-drag-status",icon:"cancel"===this.status?n.cancelIcon:n.plusIcon},null),this.innerText])}}),gr=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)}}),fr=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,locked:Boolean,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:r.noop}},computed:{tdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-grid-content-sticky":t,[e]:e}},tdStyle(){const{locked:e}=this.$props,t=e?{position:"sticky",zIndex:2}:{};return{...this.$attrs.style,...t}},groupTdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-group-cell":!0,"k-grid-content-sticky":t,[e]:e}}},methods:{triggerStateChange(){var e;const t=this.kendo;null==(e=null==t?void 0:t.dispatchGroupExpand)||e.call(t,{type:i.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===r.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,r){e.preventDefault(),this.$emit("change",{dataItem:t,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!r}),this.triggerStateChange()}},render(){let e=null;const{columnIndex:o,level:a,columnsCount:s,rowType:d,dataItem:c,field:h,expanded:p,render:u,locked:g}=this.$props,f=this.getKeyboardNavigationAttributes(this.$props.id),m=l.provideLocalizationService(this).toLanguageString(Ze,pt[Ze]),v=l.provideLocalizationService(this).toLanguageString(et,pt[et]);if(void 0===o||void 0===a||o<a||void 0===s||"groupHeader"!==d||void 0===c[h])e=t.createVNode("td",{style:this.$attrs.style,key:"g"+o,class:this.groupTdClass},null);else if(o<=a){const l=t.createVNode("td",{style:this.tdStyle,onKeydown:e=>{this.triggerKeydown(e,p)},key:"g-colspan",class:g?"k-table-td":this.tdClass,colspan:g?0:s-o,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"aria-expanded":p,"data-grid-col-index":this.$props.columnIndex,tabindex:f.tabIndex,"data-keyboardnavlevel":f[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":f[i.KEYBOARD_NAV_DATA_ID]},[t.createVNode("p",{class:"k-reset"},[t.createVNode("a",{onClick:e=>{this.clickHandler(e,c,p)},href:"#",tabindex:-1,title:p?m:v,"aria-label":p?m:v},[t.createVNode(r.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)]),c[h]?c[h].toString():""])]),a={className:"k-table-td",role:"gridcell",colSpan:s-o,style:{borderLeftWidth:0,borderRightWidth:0}},d=g?t.createVNode("td",a,null):null;e=d?[l,d]:l}return r.getTemplate.call(this,{h:t.h,template:u,defaultRendering:e,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}}),mr=t.defineComponent({name:"KendoGridRow",props:{rowType:String,item:Object,isAltRow:Boolean,isHidden:Boolean,isHighlighted:Boolean,onClick:Function,isInEdit:Boolean,isSelected:Boolean,selectedField:String,rowHeight:Number,ariaRowIndex:Number,absoluteRowIndex: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:r,isHighlighted:i,isSelected:o}=this.$props;return{"k-table-row":!0,"k-selected":o,"k-highlighted":i,"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":r}}},render(){const e=r.getDefaultSlots(this),i=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,"absolute-row-index":this.$props.absoluteRowIndex,"data-grid-row-index":"data"===this.$props.rowType?this.$props.dataIndex:void 0},[e]);return r.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:i,additionalProps:{...this.$props,dataItem:this.$props.item.dataItem},additionalListeners:{click:this.handleClick},defaultSlots:e,swapDefaultSlots:!0})}}),vr={id:String,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(){}},cells:Object,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],lockGroups:Boolean,defaultFilter:Object,filter:Object,defaultSearch:Object,search:Object,searchFields:Array,highlight:Object,pageable:[Boolean,Object],pageSize:Number,total:Number,fixedScroll:Boolean,skip:Number,defaultSkip:Number,take:Number,defaultTake:Number,expandField:String,expandColumn:Object,selectedField:String,cellRender:[String,Function,Object],rowRender:[String,Function,Object],rowSpannable:[Boolean,Object],resizable:Boolean,reorderable:Boolean,group:Array,defaultGroup:Array,groupable:[Boolean,Object],groupExpand:Array,defaultGroupExpand:Array,detailExpand:Object,defaultDetailExpand:Object,editField:String,rowClass:Function,select:Object,defaultSelect:Object,selectable:[Boolean,Object],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:r.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},br=t.defineComponent({props:{field:String,title:String,selectionValue:Boolean,render:[Object,Function,String]},created(){this.inputId=r.guid()},inject:{kendoLocalizationService:{default:null}},methods:{changeHandle(e){this.$emit("selectionchange",{field:this.$props.field,event:e})}},render(){const e=this.$props.render,i=l.provideLocalizationService(this).toLanguageString(M,pt[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":i,onChange:this.changeHandle},null),n=r.getTemplate.call(this,{h:t.h,template:e,defaultRendering:o,additionalProps:{...this.$props,selectAll:i},additionalListeners:{selectionchange:this.changeHandle}}),a=e?n:t.createVNode("span",{class:"k-checkbox-wrap"},[n]);return t.createVNode("span",{class:"k-link"},[t.createVNode("span",{class:"k-column-title"},[a])])}}),Cr=t.defineComponent({name:"GridNoRecords",inject:{kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=r.getDefaultSlots(this),i=l.provideLocalizationService(this).toLanguageString(z,pt[z]);return e?t.createVNode("div",null,[e]):i}}),xr=t.defineComponent({name:"GridNoRecordsContainer",props:{id:String},render(){const e=r.getDefaultSlots(this),o=r.uGrid;return t.createVNode("div",{key:"no-records",class:r.classNames(o.noRecords({}))},[t.createVNode("div",t.mergeProps({class:r.classNames(o.noRecordsTemplate({}))},{[i.KEYBOARD_NAV_DATA_ID]:this.$props.id}),[e])])}}),yr={name:"@progress/kendo-vue-grid",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:0,version:"8.1.0-develop.3",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};function kr(e){const t=e.replace(/^pager\.([a-z])/,(e,t)=>"grid.pager"+t.toUpperCase());return{messageKey:t,defaultMessage:pt[t]}}const $r=Symbol("kendoKey"),Sr=t.defineComponent({name:"GridCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null},props:{id:String,field:String,dataItem:Object,format:String,readFormat:String,className:String,columnType:String,colSpan:Number,columnIndex:Number,columnsCount:Number,dataIndex:Number,rowType:String,level:Number,expanded:Boolean,type:String,editor:String,rowSpan:[Number,Object],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:r.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,isSelected:t,isHighlighted:r}=this.$props;return{"k-table-td":!0,"k-selected":t,"k-highlighted":r,[e]:e}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){var e,o,l;let n=null;const a=this.getKeyboardNavigationAttributes(this.$props.id);let s={};if(null===(null==(e=this.$props.rowSpan)?void 0:e.count))return null;if("groupFooter"===this.$props.rowType)s={class:this.tdClass,onKeydown:this.triggerKeydown,onClick:this.triggerClick,tabindex:a.tabIndex,"data-keyboardnavlevel":a[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":a[i.KEYBOARD_NAV_DATA_ID]},n=t.createVNode("td",s,null);else if(void 0!==this.$props.field&&"groupHeader"!==this.$props.rowType){const e=v(this.$props.field,this.$props.dataItem);let r="";null!=e&&(r=this.$props.format?this.$props.type?this._intl.format(this.$props.format,N[this.$props.type](e,this._intl,this.$props.readFormat)):this._intl.format(this.$props.format,e):e.toString()),s={style:this.$attrs.style,colspan:this.$props.colSpan,rowspan:null!=(l=null==(o=this.$props.rowSpan)?void 0:o.count)?l:void 0,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:a.tabIndex,"data-keyboardnavlevel":a[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":a[i.KEYBOARD_NAV_DATA_ID]},n=t.createVNode("td",s,[r])}return r.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:n,additionalProps:{...this.$props,tdProps:s},additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),Ir=t.defineComponent({name:"GridEditCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnType:String,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:r.noop}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},data:()=>({inputId:r.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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[i.KEYBOARD_NAV_DATA_ID]},[t.createVNode(p.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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[i.KEYBOARD_NAV_DATA_ID]},[t.createVNode(u.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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[i.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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[i.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 r.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}})}}),Rr=(e,o,l,n,a,s)=>{const{leafColumns:d,selectedField:c,dataItemKey:h,select:p,highlight:u,editField:g,cellRender:f,cells:m,itemChange:v,selectionChangeHandler:b,editHandler:C,removeHandler:x,saveHandler:y,cancelHandler:k,cellClickHandler:$,cellKeydownHandler:S,computedCollapsed:I,uniqueField:R,columnsRef:w,isRtl:N,idPrefix:V}=e,T=p&&h&&void 0!==r.getter(h)(o.dataItem)?p[r.getter(h)(o.dataItem)]:void 0,H=c?r.getNestedValue(c,o.dataItem):T,E=u&&h&&void 0!==r.getter(h)(o.dataItem)?u[r.getter(h)(o.dataItem)]:void 0,A=(({leafColumns:e,editField:t,item:i})=>{if(!t)return!1;for(const o of e)if(o.editable){const e=r.getNestedValue(t,i.dataItem);if(!0===e||e===o.field)return!0}return!1})({leafColumns:d,editField:g,item:o}),L=(({selectedField:e,dataItemKey:t,select:i,item:o})=>{if(e){const t=r.getNestedValue(e,o.dataItem);return"boolean"==typeof t&&t}if(i&&t&&void 0!==r.getter(t)(o.dataItem)){const e=i[r.getter(t)(o.dataItem)];return"boolean"==typeof e&&e}return!1})({selectedField:c,dataItemKey:h,select:p,item:o}),O=(({highlight:e,dataItemKey:t,item:i})=>{if(e&&t&&void 0!==r.getter(t)(i.dataItem)){const o=e[r.getter(t)(i.dataItem)];return"boolean"==typeof o&&o}return!1})({highlight:u,dataItemKey:h,item:o});return{row:(e.hasDynamicColSpan?e.getCellsToRender(o.dataItem,d):e.cellsToRender).map(({columnIndex:e,colSpan:a})=>{var c,h,p,u,T,A;const L=d[e];let O;if(null!=(c=L.rowSpannable)&&c.enabled&&"data"===o.rowType&&L.field&&s){const e=L.field?null==(p=(h=L.rowSpannable).valueGetter)?void 0:p.call(h,o.dataItem,L.field):null;O={value:e,count:1},s[L.field]&&(null==(u=s[L.field])?void 0:u.value)===e&&null!==s[L.field]?(s[L.field].count++,O.count=null):s[L.field]=O}const D=`${L.className?L.className+" ":""}${L.locked?"k-grid-content-sticky":""}`,G=N?{left:L.right+"px",right:L.left+"px"}:{left:L.left+"px",right:L.right+"px"},K=L.locked&&void 0!==L.left?G:void 0;let z,M=!1;if(L.editable&&g){const e=r.getNestedValue(g,o.dataItem);(!0===e||e===L.field)&&(M=!0)}"groupFooter"===o.rowType?z=(null==(T=L.cells)?void 0:T.groupFooter)||(null==m?void 0:m.groupFooter)||L.cell:L.cell&&(z=L.cell);const B=null==(A=null==I?void 0:I[o.level])?void 0:A.some(e=>e===F(o.dataItem,R)),j=L.id?L.id:e,P=B?!B:o.expanded||o.dataItem.expanded,_="expand"===L._type,W=i.tableKeyboardNavigationTools.generateNavigatableId(`${l}-${String(e)}`,V,_||"groupHeader"===o.rowType||"groupFooter"===o.rowType||"value"===L.field?"nodata":"cell"),q={locked:L.locked,key:j,id:W,colSpan:a,dataItem:o.dataItem,field:L.field||"",editor:L.editor,format:L.format,readFormat:L.readFormat,type:L.type,columnType:L.columnType,className:D,render:z||f,onChange:v,onSelectionchange:t=>b({event:t,dataItem:o.dataItem,dataIndex:n,columnIndex:e}),onCellclick:$,onCellkeydown:S,onEdit:C,onRemove:x,onSave:y,onCancel:k,columnIndex:e,columnsCount:w.filter(e=>!e.children.length).length,rowType:o.rowType,level:o.level,expanded:P,dataIndex:o.dataIndex,style:K,ariaColumnIndex:L.ariaColumnIndex,isRtl:N,isSelected:!!("edit"===(null==L?void 0:L._type)?H:Array.isArray(H)&&H.indexOf(e)>-1),isHighlighted:!("boolean"==typeof E||!E||!L.field||!0!==E[L.field]),group:o.group,rowSpan:O};return L.internalCell?t.createVNode(L.internalCell,q,null):M?t.createVNode(Ir,q,null):t.createVNode(Sr,q,null)}),isInEdit:A,isSelected:L,isHighlighted:O}},wr=t.defineComponent({name:"StickyGroupTable",props:{size:String,items:Array,cols:Array,dataRowContext:{type:Object,required:!0},position:{type:String,required:!0},isStackedMode:Boolean,groupLevelCount:Number,rowHeight:Number},inject:{sticky:{default:null}},mounted(){this.tableRef=r.getRef(this,"table"),this.colGroupRef=r.getRef(this,"colGroup")},updated(){this.tableRef=r.getRef(this,"table"),this.colGroupRef=r.getRef(this,"colGroup")},computed:{isTop(){return"top"===this.position},stickyItems(){return this.isTop?this.sticky.headerItems||[]:this.sticky.footerItems||[]},hasContent(){return this.stickyItems.length>0},containerClassName(){return r.classNames(r.uGrid.stickyContainer({bottom:!this.isTop}))},tableClassName(){return r.classNames(r.uGrid.table({size:this.size}))}},methods:{setWidth(e){const t=r.getRef(this,"tableRef");t&&(t.style.width=e?e+"px":"")},setScrollLeft(e){const t=this.$el;t&&t.scrollLeft!==e&&(t.scrollLeft=e)},renderRows(){return this.stickyItems.map((e,i)=>{const{item:o,flatIndex:l}=e,n=this.dataRowContext.dataItemKey&&r.getter(this.dataRowContext.dataItemKey)(o.dataItem)||"ai"+l,a=Rr(this.dataRowContext,o,n,i),s=this.isTop?"groupHeader":"groupFooter";return t.createVNode(mr,{key:n,rowType:s,item:o,dataIndex:-1,ariaRowIndex:i,absoluteRowIndex:l,isAltRow:!1,isHidden:!1,rowHeight:this.$props.rowHeight,isSelected:!1,isInEdit:!1},{default:()=>[a.row]})})}},render(){return t.createVNode("div",{class:this.containerClassName,style:{display:this.hasContent?"":"none"}},[t.createVNode("table",{ref:r.setRef(this,"table"),class:this.tableClassName},[t.createVNode("colgroup",{ref:r.setRef(this,"colGroup")},[this.$props.cols]),t.createVNode("tbody",{class:r.classNames(r.uGrid.tbody({}))},[this.renderRows()])])])}});function Nr(e,t,r,i,o){var l;const n=[],a=null!=o?o:r,s=[];for(const e of t.values())if(e.headerIndex<r){const t=null!=(l=e.footerIndex)?l:e.lastChildIndex;t>e.headerIndex&&t>=a&&s.push(e)}const d=new Map;for(const e of s){const t=d.get(e.level);(!t||e.headerIndex>t.headerIndex)&&d.set(e.level,e)}const c=Array.from(d.keys()).sort((e,t)=>e-t);for(const t of c){const r=d.get(t);n.push({item:e[r.headerIndex],flatIndex:r.headerIndex})}return n}function Vr(e,t,r,i){const o=[],l=[];for(const e of t.values())null!==e.footerIndex&&e.footerIndex>i&&e.headerIndex<=i&&l.push(e);const n=new Map;for(const e of l){const t=n.get(e.level);(!t||e.footerIndex<t.footerIndex)&&n.set(e.level,e)}const a=Array.from(n.keys()).sort((e,t)=>t-e);for(const t of a){const r=n.get(t);o.push({item:e[r.footerIndex],flatIndex:r.footerIndex})}return o}function Tr(e,t){if(e.length!==t.length)return!0;for(let r=0;r<e.length;r++)if(e[r].flatIndex!==t[r].flatIndex)return!0;return!1}function Fr(e,t){const r=e.querySelectorAll("tbody > tr");let i=0,o=!1;for(let e=0;e<r.length&&e<t.length;e++){const l=r[e],n=l.offsetHeight||l.getBoundingClientRect().height,a=t[e];if(a<0){o=!0;const e=-a,t=Math.max(n-e,0);i+=t,t<=0?(l.style.display="none",l.style.transform="",l.style.clipPath=""):(l.style.display="",l.style.transform=`translateY(${a}px)`,l.style.clipPath=`inset(${e}px 0 0 0)`)}else i+=n,l.style.display="",l.style.transform="",l.style.clipPath=""}e.style.height=o?i+"px":""}function Hr(e,t){const r=e.querySelectorAll("tbody > tr");let i=0,o=!1,l=0;const n=[];for(let e=0;e<r.length&&e<t.length;e++){const a=r[e],s=a.offsetHeight||a.getBoundingClientRect().height;n.push(s);const d=t[e];if(d>0){o=!0;const e=Math.max(s-d,0);i+=e,l+=s-e}else i+=s}for(let e=0;e<r.length&&e<t.length;e++){const i=r[e],a=t[e],s=n[e];a>0?Math.max(s-a,0)<=0?(i.style.display="",i.style.transform="",i.style.clipPath="inset(0 0 100% 0)"):(i.style.display="",i.style.transform="",i.style.clipPath=`inset(0 0 ${a}px 0)`):(i.style.display="",i.style.transform=o?`translateY(${-l}px)`:"",i.style.clipPath="")}e.style.height=o?i+"px":""}function Er(e){const{enabled:r,enabledFooters:i,flatData:o,stickyHeaderRef:l,stickyFooterRef:n,containerRef:a,tableBodyRef:s,isGrouped:d,virtualSkipRef:c,rowHeight:h,rowHeightServiceRef:p}=e,u=r&&d.value,g=!!i&&d.value,f=t.ref([]),m=t.ref([]),v=t.ref([]),b=t.ref([]),C=t.ref([]),x=t.ref([]),y=t.ref(!1),k=t.ref(!1);t.onUpdated(()=>{var e;y.value&&null!=(e=l.value)&&e.$el&&m.value.length>0&&(Fr(l.value.$el,m.value),y.value=!1),l.value&&a.value&&(l.value.$el.scrollLeft=a.value.scrollLeft)}),t.onUpdated(()=>{var e,t;k.value&&null!=(e=n.value)&&e.$el&&C.value.length>0&&(Hr(null==(t=n.value)?void 0:t.$el,C.value),k.value=!1),n.value&&a.value&&(n.value.$el.scrollLeft=a.value.scrollLeft)});return t.watch([()=>u,()=>g,a],()=>{u||(f.value=[],v.value=[]),g||(b.value=[],x.value=[]),!u&&!g&&a.value&&(a.value.style.scrollPaddingTop="",a.value.style.scrollPaddingBottom="")}),{stickyHeaderItems:v,stickyFooterItems:x,scrollToStickyGroup:e=>{var t;if(!u)return;const r=f.value.find(t=>{var r,i;return(null==(r=t.item.group)?void 0:r.field)===e.field&&(null==(i=t.item.group)?void 0:i.value)===e.value});if(!r)return;const i=a.value;if(!i)return;let o=0;const n=h||36,d=null==(t=l.value.$el)?void 0:t.querySelectorAll("tbody > tr"),g=f.value;for(let e=0;e<g.length;e++)if(g[e].item.level<r.item.level){o+=d&&e<d.length&&d[e].offsetHeight||n}const m=null==p?void 0:p.value;let v;if(m)v=m.offset(r.flatIndex);else{const e=s.value,t=(null==c?void 0:c.value)||0,o=r.flatIndex-t;if(e&&o>=0&&o<e.children.length){const t=e.children[o],r=i.getBoundingClientRect();v=e.getBoundingClientRect().top-r.top+i.scrollTop+t.offsetTop}}void 0!==v&&(i.scrollTop=v-o)},update:()=>{var e,t,r,i,d,$,S;if(!u&&!g)return;const I=o.value,R=function(e){const t=[],r=[];for(let i=0;i<e.length;i++){const o=e[i];if("groupHeader"===o.rowType){for(let e=r.length-1;e>=0;e--)if(r[e].level>=o.level){const o=r[e];t.push({headerIndex:o.headerIndex,footerIndex:null,firstChildIndex:o.headerIndex+1,lastChildIndex:i-1,level:o.level}),r.splice(e,1)}r.push({headerIndex:i,level:o.level})}else if("groupFooter"===o.rowType)for(let e=r.length-1;e>=0;e--)if(r[e].level===o.level){const l=r[e];t.push({headerIndex:l.headerIndex,footerIndex:i,firstChildIndex:l.headerIndex+1,lastChildIndex:i-1,level:o.level}),r.splice(e,1);break}}for(const i of r)t.push({headerIndex:i.headerIndex,footerIndex:null,firstChildIndex:i.headerIndex+1,lastChildIndex:e.length-1,level:i.level});const i=new Map;for(const e of t)i.set(e.headerIndex,e);return i}(I);if(0===R.size)return;const w=new Map;if(g)for(const e of R.values())null!==e.footerIndex&&w.set(e.footerIndex,e);const N=a.value,V=s.value;if(!N||!V)return;const T=N.scrollTop,F=N.clientHeight,H=V.children;if(0===H.length)return;const E=null==p?void 0:p.value,A=h||36,L=(null==c?void 0:c.value)||0,O=N.getBoundingClientRect(),D=V.getBoundingClientRect().top-O.top+T,G=H.length,K=new Array(G),z=new Array(G);for(let e=0;e<G;e++){const t=H[e];K[e]=D+t.offsetTop,z[e]=t.offsetHeight}const M=e=>{const t=e-L;return t>=0&&t<G?z[t]:E&&e>=0&&e<I.length?E.height(e):A},B=e=>{const t=e-L;return t>=0&&t<G?K[t]:E&&e>=0&&e<I.length?E.offset(e):void 0},j=e=>{const t=(e=>{let t=0,r=G;for(;t<r;){const i=t+r>>1;K[i]<e?t=i+1:r=i}return t})(e);return t<G?L+t:L},P=e=>{let t=0,r=G-1;for(;t<=r;){const i=t+r>>1;K[i]+z[i]<=e?t=i+1:r=i-1}return r>=0?L+r:I.length-1},_=Math.min(j(T),I.length-1);let W=_;const q=e=>{const t=e.querySelectorAll("tbody > tr");for(let e=0;e<t.length;e++){const r=t[e];r.style.transform="",r.style.clipPath="",r.style.display=""}e.style.height=""};if(u&&l.value){let r=0,i=[],o=[];const n=e=>{var t;const r=[];let i=0;for(const o of e){const e=M(o);let l=0;const n=R.get(o);if(n){const r=null!=(t=n.footerIndex)?t:n.lastChildIndex+1,o=B(r);if(void 0!==o){const t=i+e,r=o-T;r<t&&(l=r-t)}}r.push(l),i+=Math.max(e+l,0)}return{totalHeight:i,offsets:r}},a=new Set;for(;;){W=Math.min(j(T+Math.max(r,0)),I.length-1);const e=a.has(W);a.add(W);Math.min(P(T+F),I.length-1);const t=Nr(I,R,W,0,_),l=n(t.map(e=>e.flatIndex)),s=!Tr(t,o)&&Math.abs(l.totalHeight-r)<1;if(o=t,r=l.totalHeight,i=l.offsets,s||e)break}const s=o.length>0,d=Tr(o,f.value);s?d?(f.value=o,m.value=i,y.value=!0):(l.value.$el.style.display="",Fr(null==(t=l.value)?void 0:t.$el,i)):(l.value.$el.style.display="none",q(null==(e=l.value)?void 0:e.$el)),d&&(v.value=o,f.value=o)}if(g&&n.value){let e=0,t=[],i=[];const o=e=>{const t=[];let r=0;for(let i=e.length-1;i>=0;i--){const o=e[i],l=M(o);let n=0;const a=w.get(o);if(a){const e=B(a.headerIndex);if(void 0!==e){const t=e+M(a.headerIndex),i=T+F-r-l;t>i&&(n=t-i)}}t[i]=n,r+=Math.max(l-n,0)}return{totalHeight:r,offsets:t}},l=new Set;for(;;){const r=Math.min(P(T+F-e),I.length-1),n=l.has(r);l.add(r);const a=Vr(I,R,0,r),s=o(a.map(e=>e.flatIndex)),d=!Tr(a,i)&&Math.abs(s.totalHeight-e)<1;if(i=a,e=s.totalHeight,t=s.offsets,d||n)break}const a=i.length>0,s=Tr(i,b.value);a?s?(b.value=i,C.value=t,k.value=!0):(n.value.$el.style.display="",Hr(n.value.$el,t)):(n.value.$el.style.display="none",q(null==(r=n.value)?void 0:r.$el)),s&&(x.value=i,b.value=i)}const U=(null==(d=null==(i=l.value)?void 0:i.$el)?void 0:d.offsetHeight)||0,Y=(null==(S=null==($=n.value)?void 0:$.$el)?void 0:S.offsetHeight)||0;return N.style.scrollPaddingTop=U>0?U+"px":"",N.style.scrollPaddingBottom=Y>0?Y+"px":"",{stickyHeaderItems:v,stickyFooterItems:x}}}}const Ar=t.defineComponent({name:"KendoGrid",inheritAttrs:!1,props:{...vr,toolbar:{type:Object},noRecords:{type:Object}},data:()=>({isRtl:!1,context:void 0,navigation:void 0,showLicenseWatermark:!1,licenseMessage:void 0,notHiddenColumns:[]}),watch:{rowHeight:function(e,t){var r;this.onRowHeightChanged(e,t),null==(r=this.vsRef)||r.reset()},scrollable:function(){var e;null==(e=this.vsRef)||e.reset()},filter:function(){var e;null==(e=this.vsRef)||e.reset()},group:function(){var e;null==(e=this.vsRef)||e.reset()},currentGroupable:function(){var e;null==(e=this.vsRef)||e.reset()},sort:function(){var e;null==(e=this.vsRef)||e.reset()}},created(){r.validatePackage(yr),this.showLicenseWatermark=r.shouldShowValidationUI(yr),this.licenseMessage=r.getLicenseMessage(yr),this.initialHeight=null,this.columnsRef=[],this.dragLogic=new pr(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnResize=new hr(this.onResize.bind(this)),this._columnsMap=[[]],this._header=null,this._footer=null,this.tableRef=null,this.scrollHeightContainerRef=null,this.forceUpdateTimeout=void 0,this._gridId=r.guid(),this._gridRoleElementId=r.guid(),this.slicedCurrentData=void 0,this._prevTotal=void 0,this._containerHeightRef=0,this._minRowHeightRef=0,this.wrapperScrollTopRef=0,this.scrollLeftRef=0},mounted(){var e,t;this.setRefs();const i=r.isRtl(this._element);if(this._prevTotal=this.$props.total,this.isRtl=i,this.initialHeight=(null==(t=null==(e=this._element)?void 0:e.style)?void 0:t.height)||null,this.resizeObserver=r.canUseDOM&&(null==window?void 0:window.ResizeObserver)&&new ResizeObserver(this.calculateMedia),null!=document&&document.body&&this.resizeObserver&&this.resizeObserver.observe(document.body),r.canUseDOM){const e={rootMargin:"0px",threshold:.9};this.observerRef=window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,e)||null}},updated(){var e;this.setRefs();const t=r.isRtl(this._element);this.isRtl=t,this._prevTotal=this.$props.total,this.vsRef.tableTransform&&this.vsRef.table&&(this.vsRef.table.style.transform=this.vsRef.tableTransform,this.vsRef.tableTransform="");const i=this.updateStickyGroups();this.sticky.headerItems=null==i?void 0:i.stickyHeaderItems,this.sticky.footerItems=null==i?void 0:i.stickyFooterItems,this.isVirtualScroll&&(this.setContainerHeight(),this.setMinRowHeight(),null==(e=this.vsRef)||e.update())},unmounted(){this.gridUnmounted()},computed:{gridId(){return this.$props.id+"-role-element-id"},idPrefix(){return this.$props.navigatable?this.gridId:""},groupExpandable(){return i.getGroupExpandableOptions("object"==typeof this.$props.groupable&&!1!==this.$props.groupable.enabled?this.$props.groupable.expandable:this.$props.groupable)},hierarchClass:()=>r.uGrid.hierarchyCell({}),computedRowSpannable(){return D(this.$props.rowSpannable)},computedSelectable(){return i.getSelectionOptions(this.$props.selectable)},detailExpandable(){return i.getDetailExpandableOptions(!!this.$props.detail)},nonscrollableWrapperClass(){const{size:e}=this.$props,t=this.$attrs.class;return{"k-grid":!0,"k-grid-md":!e,[`k-grid-${r.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-${r.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)||r.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(){var e,t;const r=this.$props.dataItems,i=this.$props.total||(null==r?void 0:r.total)||(null==r?void 0:r.length)||0;return this.$props.detail?this._columnsMap.length+(this.$props.filterable?1:0)+2*i+(this.columnsRef.some(e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)})||null!=(e=this.$props.cells)&&e.footerCell?1:0):this.$props.pageable||"scrollable"!==this.$props.scrollable?this.$props.groupable?-1:this._columnsMap.length+(this.$props.filterable?1:0)+i+(this.columnsRef.some(e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)})||null!=(t=this.$props.cells)&&t.footerCell?1:0):void 0},getAriaColCount(){const e=this.$props.columns,t=this.$props.columnVirtualization,r=0!==(null==e?void 0:e.filter(e=>void 0!==e.hidden).length);if(t||r)return 0!==(null==e?void 0:e.length)?null==e?void 0:e.length:-1},isVirtualScroll(){return"virtual"===this.$props.scrollable||void 0===this.$props.scrollable||!1}},methods:{handleIntersection(e){const t={rowIndex:this.rowIndexRef.value};e.forEach(e=>{e.boundingClientRect.height!==e.intersectionRect.height&&this.setCurrentOnTop(t)})},scrollIntoView(e){var t;if(null==(t=this.vsRef)||!t.container||"none"===this.$props.scrollable)return;const{rowIndex:r}=e;this.rowIndexRef.value=r;const i=this._element;if(this.observerRef.value&&i){this.observerRef.value.disconnect();const t=i.querySelector(`[absolute-row-index="${this.rowIndexRef.value}"]`);t?this.observerRef.value.observe(t):this.setCurrentOnTop(e)}},setCurrentOnTop(e){var t,r;if(null==(t=this.vsRef)||!t.container||"none"===this.$props.scrollable)return;this.observerRef.value&&this.observerRef.value.disconnect();const{rowIndex:i}=e,o=this._element;if(this.isVirtualScroll){const e=(null==(r=this.vsRef.rowHeightService)?void 0:r.offset(i))||0;this.vsRef.container.scroll(0,e)}else if(o){const e=i<1?o.querySelector("tbody > tr:nth-child(1)"):o.querySelector(`tbody > tr:nth-child(${i+1})`);e&&this.containerElementRef&&(this.containerElementRef.scrollTop=e.offsetTop)}},getTotal(){let e=this.$props.total||0;return Array.isArray(this.$props.dataItems)?e=e||this.$props.dataItems.length:this.$props.dataItems&&(e=e||this.$props.dataItems.total),e},readColumnElements(){return S(this.$props.columns,this.currentColumnsState,{prevId:0,idPrefix:this.idPrefix})},getResolvedFlatColumnsState(){const e=[],t=(r,i)=>null==r?void 0:r.forEach(r=>{const o=r.hidden||i;e.push({...r,hidden:o}),t(r.children,o)});return t(this.currentColumnsState,!1),e},filterColumns(e){const t=this.getResolvedFlatColumnsState();return[e.filter(e=>{var r;return!(e.hidden||null!=(r=t.find(t=>t.id===e.id))&&r.hidden)}),e.filter(e=>{var r;return e.hidden||(null==(r=t.find(t=>t.id===e.id))?void 0:r.hidden)})]},getFlatData(e,t,r,i,o,l,n){const a=[];return{flattedData:a,resolvedGroupsCount:b(a,e,t,{index:r},void 0!==i,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=>r.canUseDOM&&e&&e.media?window.matchMedia(e.media).matches:e).map(e=>t(e))},getColumns(){const e=this.columnsRef.filter(e=>e.declarationIndex>=0&&-1===e.parentIndex),t=e=>(e.sort((e,t)=>e.declarationIndex-t.declarationIndex),e.map(e=>{const{declarationIndex:r,parentIndex:i,depth:o,colSpan:l,rowSpan:n,index:a,kFirst:s,children:d,...c}=e;return d.length?{children:t(d),...c}:c}));return t(e)},setRefs(){var e,t;const i=r.getRef(this,"gridNav");i&&(this._element=i.$el);const o=r.getRef(this,"groupPanelDiv");if(o){let e=o.$el||null;this.dragLogic.refGroupPanelDiv(e)}this.stickyHeaderRef=r.getRef(this,"stickyHeader"),this.stickyFooterRef=r.getRef(this,"stickyFooter");const l=r.getRef(this,"dropElementClue"),n=r.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(l),this.dragLogic.refDragElementClue(n),this.columnResize.colGroupMain=r.getRef(this,"colGroup"),this.columnResize.colGroupStickyHeader=null==(e=this.stickyHeaderRef)?void 0:e.colGroupRef,this.columnResize.colGroupStickyFooter=null==(t=this.stickyFooterRef)?void 0:t.colGroupRef,this._header=r.getRef(this,"header"),this._footer=r.getRef(this,"footer"),this.resetTableWidth(),r.setScrollbarWidth()},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.dataRef=[],this.columnsRef=[],null!=document&&document.body&&this.resizeObserver&&this.resizeObserver.disconnect()},isAllData(){const{dataItems:e,total:t}=this.$props;return Array.isArray(e)?e.length===t:!!e&&t===e.total},resetVirtualSkip(){this.isVirtualScroll&&this.virtualSkipRef&&(this.virtualSkipRef=0)},virtualPageChange(e,t){var r;const i=null==(r=this.gridContext.group)?void 0:r.value;this.$props.pageable||null!=i&&i.length?(this.virtualSkipRef=e.skip,this.$forceUpdate()):this.pageChangeHandler(e,t)},initializeVirtualization(){const e=this.vsRef,t=this.$props.rowHeight||this._minRowHeightRef||0;this.tableBodyRef=r.getRef(this,"tableBody"),this.scrollTableRef=r.getComponentElementRef(this,"table"),e&&(e.fixedScroll=this.$props.fixedScroll||!1,e.PageChange=this.virtualPageChange,e.pageSize=this._virtualPageSize,e.scrollableVirtual=this.isVirtualScroll,this.scrollContainerRef=e.container=r.getRef(this,"scrollContainer"),e.tableBody=this.tableBodyRef,e.scrollHeightContainer=r.getRef(this,"scrollHeightContainer"),e.table=this.scrollTableRef,(!e.rowHeightService||e.total!==this._virtualTotal)&&t&&(e.total=this._virtualTotal,e.rowHeightService=new r.RowHeightService(this._virtualTotal,t)))},setContainerHeight(){const e=r.getRef(this,"scrollContainer");this._containerHeightRef=(null==e?void 0:e.offsetHeight)||0},setMinRowHeight(){if(!this._minRowHeightRef&&!this.$props.rowHeight){const e=G(r.getRef(this,"tableBody"));e&&(this._minRowHeightRef=e,this.$forceUpdate())}},onRowHeightChanged(e,t){this.setRefs()},onHeaderScroll(e){const t=e.target.scrollLeft,i=r.getRef(this,"scrollContainer");i&&(i.scrollLeft=t),this.scrollLeftRef=t},scrollHandler(e){var t,r;clearTimeout(this.forceUpdateTimeout);const i=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop;this.$props.columnVirtualization&&(!this.isVirtualScroll||o===this.wrapperScrollTopRef)&&(this.forceUpdateTimeout=setTimeout(()=>{this.$forceUpdate()},0)),this.scrollLeftRef=i,this._header&&this._header.setScrollLeft(e.currentTarget.scrollLeft),this._footer&&this._footer.setScrollLeft(e.currentTarget.scrollLeft),this.stickyHeaderRef&&this.stickyHeaderRef.setScrollLeft(e.currentTarget.scrollLeft),this.stickyFooterRef&&this.stickyFooterRef.setScrollLeft(e.currentTarget.scrollLeft),this.vsRef&&o!==this.wrapperScrollTopRef&&this.vsRef.scrollHandler(e);const l=null==(t=this.virtualSkipRef)?void 0:t.current;this.vsRef.current&&o!==this.wrapperScrollTopRef&&this.vsRef.current.scrollHandler(e);const n=this.isVirtualScroll&&(null==(r=this.virtualSkipRef)?void 0:r.current)!==l;if(this.$emit("scroll",e),this.wrapperScrollTopRef=o,!n){const e=this.updateStickyGroups();this.sticky.headerItems=null==e?void 0:e.stickyHeaderItems,this.sticky.footerItems=null==e?void 0:e.stickyFooterItems}},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,r=0,i=null){return e.forEach(e=>{!i&&t(e,r)&&(i=e),e.items&&e.items.length&&!i&&(i=this.loopGroupedItems(e.items,t,r+1,i))}),i},updateGroupCollapsed(e){let t=this.computedCollapsed,r=t[e.level];const i=this.$props.uniqueField,o=this.allGroupedItems?this.loopGroupedItems(this.allGroupedItems.data,function(t,r){return t.value===e.dataItem.value&&r===e.level},0,null):e.dataItem,l=F(o||e.dataItem,i);if(e.value){if(r&&r.length){const e=r.indexOf(l);e>-1&&r.splice(e,1)}}else r?r.includes(l)||r.push(l):r=[l];return t},itemChange(e){var t;const i=r.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?r.hasListener.call(this,"expandchange")&&e.dataItem&&this.$emit("expandchange",{...this.getArguments(e.event),collapsedGroups:this.updateGroupCollapsed(e),dataItem:e.dataItem,value:e.value}):i&&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){var t;if(this.computedSelectable.enabled){const{event:r,dataItem:o,dataIndex:l,columnIndex:n}=e,a={...this.getArguments(r),dataItem:o,startColIndex:n,endColIndex:n,startRowIndex:l,endRowIndex:l,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:this.computedSelectable.mode,cell:this.computedSelectable.cell,isDrag:!1,componentId:this.$props.id||this._gridId,selectedField:this.$props.selectedField||""};this.gridContext.selectionchange({...a,select:this.$props.dataItemKey?i.getSelectedState({event:a,selectedState:null!=(t=this.$props.select)?t:{},dataItemKey:this.$props.dataItemKey}):{}})}},onKeyboardSelectionChangeHandler(e){var t,r;if(!this.computedSelectable.enabled||!this.$props.dataItemKey)return;const o=null==(t=this.gridContext.select)?void 0:t.value,l={dataItems:this.getLeafDataItems(),mode:this.computedSelectable.mode,cell:this.computedSelectable.cell,componentId:this.$props.id,selectedField:"",...this.getArguments(e)},n=i.getSelectedStateFromKeyDown({event:l,selectedState:null!=o?o:{},dataItemKey:this.$props.dataItemKey});if(n===o)return;const a=e.target,s=i.closestTagName(a,"TD"),d=i.closestTagName(a,"TR"),c=i.getColumnIndex(s),h=i.getRowIndex(d);if(void 0!==c&&void 0!==h){const t=null==(r=I(this.$props.dataItems))?void 0:r[h];this.gridContext.selectionchange({...l,select:n,dataItem:t,startRowIndex:h,startColIndex:c,startDataItem:t,endDataItem:t,endRowIndex:h,endColIndex:c,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},onHeaderSelectionChangeHandler(e){if(this.computedSelectable.enabled){const t=this.getLeafDataItems();this.gridContext.headerselectionchange({select:e.event.target.checked?t.reduce((e,t)=>(this.$props.dataItemKey&&void 0!==r.getter(this.$props.dataItemKey)(t)&&(e[r.getter(this.$props.dataItemKey)(t)]=!0),e),{}):{},field:e.field,event:e.event,target:this,dataItems:t})}},selectionRelease(e){var t;if(this.computedSelectable.enabled){const r=this.getLeafDataItems(),o=r[e.startRowIndex],l=r[e.endRowIndex],n={event:void 0,target:this,selectedField:"",componentId:this.$props.id||this._gridId,dataItems:r,dataItem:null,startDataItem:o,endDataItem:l,...e},a=i.getSelectedState({event:n,selectedState:null!=(t=this.$props.select)?t:{},dataItemKey:this.$props.dataItemKey});this.raiseSelectionEvent(n,a)}},clearSelection(e){this.computedSelectable.enabled&&this.raiseSelectionEvent(e,{})},raiseSelectionEvent(e,t){this.computedSelectable.enabled&&this.gridContext.selectionchange({...e,select:t})},moveToNextPage(e){var t,r,i,o;const l=null!=(i=null!=(r=null==(t=this.gridContext.take)?void 0:t.value)?r:this.$props.pageSize)?i:0,n=((null==(o=this.gridContext.skip)?void 0:o.value)||0)+l;n<this.getTotal()&&this.pageChangeHandler({skip:n,take:l},e)},moveToPrevPage(e){var t,r,i,o;const l=null!=(i=null!=(r=null==(t=this.gridContext.take)?void 0:t.value)?r:this.$props.pageSize)?i:0,n=((null==(o=this.gridContext.skip)?void 0:o.value)||0)-l;n>=0&&this.pageChangeHandler({skip:n,take:l},e)},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 r;if(this.detailExpandable.enabled){const o=null==(r=this.gridContext.detailExpand)?void 0:r.value,l=i.detailExpandReducer(null!=o?o:{},e);this.gridContext.detailexpandchange({...this.getArguments(t),detailExpand:l})}},handleGroupExpandAction(e,t){var r;if(this.groupExpandable.enabled){const o=null==(r=this.gridContext.groupExpand)?void 0:r.value,l=i.groupExpandReducer(null!=o?o:[],e,this.groupExpandable);this.$props.expandField||this.gridContext.groupexpandchange({...this.getArguments(t),groupExpand:l})}this.scrollToStickyGroup(e.group)},raiseDataEvent(e,t,i,o){if(this.resetVirtualSkip(),this.$props.autoProcessData)this.gridContext[e]({...this.getArguments(o),...t});else if(r.hasListener.call(this,e))this.$emit(e,{...this.getArguments(o),...t});else if(r.hasListener.call(this,"datastatechange")){const e={...this.getDataState(),...i};this.gridContext.datastatechange({...this.getArguments(o),data:e,dataState:e})}},columnReorder(e,t,r){const o=this.columnsRef[e],l=H(this.currentColumnsState),n=o.depth,a=e=>{do{e++}while(e<this.columnsRef.length&&this.columnsRef[e].depth>n);return e},s=this.columnsRef.splice(e,a(e)-e);this.columnsRef.splice(e<t?a(t-s.length):t,0,...s),this.columnsRef.filter(e=>e.declarationIndex>=0).forEach((e,t)=>{e.orderIndex=t;const r=l.find(t=>t.id===e.id);r&&(r.orderIndex=t)});const d=this.columnsRef[e].locked&&this.columnsRef[t].locked;i.updateLeft(this._columnsMap,this.columnsRef,d||this.shouldUpdateLeftRightRef),i.updateRight(this._columnsMap,this.columnsRef,d||this.shouldUpdateLeftRightRef),this.resizedRef&&(this.shouldUpdateLeftRightRef=!1,this.resizedRef=!1);const c=this.getColumns();this.$emit("columnreorder",{target:this,columns:c,event:r,prev:e,next:t}),this.gridContext.columnsstatechange({columnsState:this.currentColumnsState})},groupReorder(e,t,r){var i;const o=null==(i=this.gridContext.group)?void 0:i.value;void 0!==o&&(o.splice(t,0,...o.splice(e,1)),this.groupChangeHandler(o,r))},columnToGroup(e,t,r){var i;const o=this.columnsRef[e].field;if(!o)return;const l=((null==(i=this.gridContext.group)?void 0:i.value)||[]).slice();l.splice(t,0,{field:o}),this.groupChangeHandler(l,r)},resetTableWidth(){var e;let t=0;if(!this.columnResize.colGroupMain)return;const i=null==(e=this.columnResize.colGroupMain)?void 0:e.children;for(let e=0;e<i.length;e++){const r=i[e].width;if(!r)return;t+=parseFloat(r.toString())}t=Math.round(t),this._header&&this._header.setWidth(t),this._footer&&this._footer.setWidth(t),this.stickyHeaderRef&&this.stickyHeaderRef.setWidth(t),this.stickyFooterRef&&this.stickyFooterRef.setWidth(t);const o=r.getComponentElementRef(this,"table");o&&t&&(o.style.width=t+"px")},onResize(e,t,r,i,o,l,n){this.resetTableWidth(),this.shouldUpdateLeftRightRef=!0,this.resizedRef=!0,this.$emit("columnresize",{columns:this.getColumns(),index:e,targetColumnId:n,event:i,newWidth:t,oldWidth:r,end:o,target:this}),o&&this.gridContext.columnsstatechange({columnsState:l})},initColumnsState(e,t){const r=e=>{var i;const o=t.find(t=>t.id===e.id);if(o){const t={...o};return t.children=null==(i=e.children)?void 0:i.map(r),t}return e};this.currentColumnsState=e.filter(e=>-1===e.parentIndex).map(r)},configureColumns(e,o){e.filter(e=>"checkbox"===e.columnType).forEach(e=>{e.width=e.width||"50px",e.internalCell=t.markRaw(K),e.internalHeaderCell=t.markRaw(br),e._type="edit",e.columnMenu=!1}),this.$props.selectedField&&this.columnsRef.filter(e=>e.field===this.$props.selectedField).forEach(e=>{e.width=e.width||"50px",e.internalCell=t.markRaw(K),e.internalHeaderCell=t.markRaw(br),e.columnMenu=!1});const l=H(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 a=0;if(this.detailExpandable.enabled&&this.$props.detail&&!this.$props.expandField){const r={...n,_type:"expand",id:i.tableKeyboardNavigationTools.generateNavigatableId(""+a++,"expand","column"),defaultCell:t.markRaw(ut),internalCell:t.markRaw(ut),field:this.detailExpandable.column,headerClassName:this.hierarchClass};e.unshift(r),this.currentColumnsState.unshift(l.find(e=>e.id===r.id)||r)}this.$props.expandField&&r.hasListener.call(this,"expandchange")&&this.$props.detail&&(e.unshift({...n,internalCell:t.markRaw(ut),field:this.$props.expandField,headerClassName:"k-hierarchy-cell k-header",id:i.tableKeyboardNavigationTools.generateNavigatableId(`${e.length}`,this.idPrefix,"column"),...this.expandColumn}),a++);for(let r=0;r<o;r++){const r={...n,isAccessible:!1,defaultCell:t.markRaw(fr),internalCell:t.markRaw(fr),id:i.tableKeyboardNavigationTools.generateNavigatableId(""+a++,"group","column"),field:"value",locked:this.$props.lockGroups,columnMenu:!1};e.unshift(r),this.currentColumnsState.unshift(l.find(e=>e.id===r.id)||r)}e.slice(a).forEach(e=>{e.parentIndex>=0&&(e.parentIndex+=a),e.rowSpannable=void 0!==e.rowSpannable?D(e.rowSpannable):this.computedRowSpannable})},initColumns(e,t){var r;this.columnsRef=this.readColumnElements();const i=null==(r=this.gridContext.group)?void 0:r.value;0===this.columnsRef.filter(e=>!e.hidden).length&&(this.columnsRef=R(e,i,{column:this.$props.expandField?this.$props.expandField:this.groupExpandable.column},{prevId:0,idPrefix:this.idPrefix})),this.configureColumns(this.columnsRef,t);const[o,l]=this.filterColumns(this.columnsRef);this.columnsRef=o,this.hiddenColumnsRef=l,this._columnsMap=$(this.columnsRef,!0)},resolveTitle(e){const t=this.findColumnByField(e),r=t&&(t.title||t.field);return void 0===r?e:r},findColumnByField(e){let t;return this.$props.columns.forEach(r=>{const i=this.searchColumn(r,e);i&&(t=i)}),t},searchColumn(e,t){if(e.field===t)return e;if(e.children){let r,i=null;for(r=0;null==i&&r<e.children.length;r++)i=this.searchColumn(e.children[r],t);return i}return null},getDataState(){var e,t,r,i,o;const l=null==(e=this.gridContext.sort)?void 0:e.value,n=null==(t=this.gridContext.filter)?void 0:t.value,a=null==(r=this.gridContext.skip)?void 0:r.value,s=null==(i=this.gridContext.take)?void 0:i.value,d=null==(o=this.gridContext.group)?void 0:o.value;return{filter:n,sort:l,skip:a,take:void 0!==s?s:this.$props.pageSize,group:d}},getArguments(e){return{event:e,target:this}},getLeafDataItems(){return this.dataRef.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.columnsRef.map(e=>e.field)||[],r=e.event.target.value,i={logic:"or",filters:t.filter(e=>void 0!==e).map(e=>{var t;return"string"==typeof e?{field:e,value:r,operator:"contains"}:{value:r,operator:null!=(t=e.operator)?t:"contains",field:e.field,ignoreCase:e.ignoreCase}})};this.raiseDataEvent("searchchange",{search:i},{skip:0},e)},getCellsToRender(e,t){var r;const i=[];let o=null,l=0;if(t.forEach((r,n)=>{const a=parseFloat((r.width||"").toString())||10;if(l)return l--,void(o&&(o.width+=a));const s=Math.min(O(r,e),t.length-n);l=s-1,o={width:a,colSpan:s,columnIndex:n},i.push(o)}),this.$props.columnVirtualization){const e=this.scrollLeftRef||0,o=this.tableWidth||parseFloat(((null==(r=this.$attrs.style)?void 0:r.width)||"").toString());return function(e){const{cellModels:t,columns:r=[],tableViewPortWidth:i,scrollLeft:o}=e;let l=0,n=t.length-1,a=0,s=0;for(let e=0;e<t.length;e++)if(!r[t[e].columnIndex].locked&&(a=s,s+=t[e].width||10,s>=o)){l=e;break}for(let e=l;e<t.length;e++)if(!r[t[e].columnIndex].locked){if(!(a<i+o))break;a+=t[e].width||10,n=e}l>0&&l--,n<t.length-1&&n++;let d=0,c=0;for(let e=0;e<l;e++)r[t[e].columnIndex].locked||(d+=t[e].colSpan);for(let e=n+1;e<t.length;e++)r[t[e].columnIndex].locked||(c+=t[e].colSpan);t[l].colSpan+=d,t[n].colSpan+=c;const h=t.slice(0,l).filter(e=>r[e.columnIndex].locked),p=t.slice(n+1).filter(e=>r[e.columnIndex].locked);return[...h,...t.slice(l,n+1),...p]}({cellModels:i,columns:t,tableViewPortWidth:o,scrollLeft:e})}return i},calcVirtualPageSize(){const{pageable:e,take:t,pageSize:r}=this.$props;if(!this.isVirtualScroll)return 0;if(!e){if(t)return t;if(r)return r}const i=this.$props.rowHeight||this._minRowHeightRef,o=this._containerHeightRef;return o&&i?Math.ceil(o/i*1.5):0}},provide(){return{kendo:{dataItemKey:this.$props.dataItemKey,searchChange:this.searchChange,selectionRelease:this.selectionRelease,dispatchGroupExpand:this.handleGroupExpandAction,dispatchDetailExpand:this.handleDetailExpandAction,scrollToStickyGroup:this.scrollToStickyGroup},sticky:this.sticky}},setup(e){const r=t.ref(null),i=t.ref(null),o=t.ref(null),l=t.ref(null),n=t.ref(null),a=t.ref(null),s=t.ref(null),d=t.ref([]),c=t.ref([]),h=t.ref(null),p=t.ref(null),u=t.ref(null),g=t.ref(null),f=t.ref(!0),m=t.ref(!1),v=new cr,b=t.ref(0),C=t.inject($r,{}),x="object"==typeof e.groupable&&!!e.groupable.stickyHeaders,y="object"==typeof e.groupable&&!!e.groupable.stickyFooters,k=t.ref([]),$=t.computed(()=>{var e,t;return!(null==(t=null==(e=C.group)?void 0:e.value)||!t.length)}),S=t.ref(null),I=t.ref(void 0),R=t.ref({headerItems:[],footerItems:[]}),{scrollToStickyGroup:w,update:N}=Er({enabled:x,enabledFooters:y,flatData:k,containerRef:h,stickyHeaderRef:p,stickyFooterRef:u,tableBodyRef:g,rowHeight:e.rowHeight,isGrouped:$,virtualSkipRef:b,rowHeightServiceRef:t.computed(()=>null==v?void 0:v.rowHeightService)});return{rowIndexRef:I,observerRef:S,dataRef:k,groupPanelDivRef:r,dropElementClueRef:i,dragElementClueRef:o,headerRef:l,footerRef:n,gridNavRef:a,colGroupRef:s,scrollContainerRef:h,tableBodyRef:g,gridContext:C,shouldUpdateLeftRightRef:f,resizedRef:m,currentColumnsState:e.columnsState,vsRef:v,virtualSkipRef:b,stickyHeaderItems:d,stickyHeaderRef:p,stickyFooterItems:c,stickyFooterRef:u,sticky:R,scrollToStickyGroup:w,updateStickyGroups:N}},render(){var e,l,n,a,d,c,h,p,u,f,m,v,b,C,x,y,k,$;const S=null==(e=this.gridContext.sort)?void 0:e.value,I=null==(l=this.gridContext.filter)?void 0:l.value,R=null==(n=this.gridContext.search)?void 0:n.value,w=null==(a=this.gridContext.select)?void 0:a.value,N=null==(d=this.gridContext.skip)?void 0:d.value,V=null==(c=this.gridContext.take)?void 0:c.value,F=null==(h=this.gridContext.group)?void 0:h.value,H=null==(p=this.gridContext.groupExpand)?void 0:p.value,E=null==(u=this.gridContext.detailExpand)?void 0:u.value,A=(null==F?void 0:F.length)||0,L="object"==typeof this.$props.groupable&&!!this.$props.groupable.stickyHeaders,O="object"==typeof this.$props.groupable&&!!this.$props.groupable.stickyFooters,D=!(null==F||!F.length);let G;this.currentColumnsState=null==(f=this.gridContext.columnsState)?void 0:f.value;const K=!0===this.$props.autoProcessData?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:this.$props.autoProcessData;let z;const M=i.tableKeyboardNavigationTools.getIdPrefix(this.navigation);let B=[];Array.isArray(this.$props.dataItems)?(B=this.$props.dataItems,z=null!=(m=this.$props.total)?m:B.length):(B=(null==(v=T(this.$props.dataItems,this.$props.collapsedGroups.length?this.computedCollapsed:[],this.$props.uniqueField))?void 0:v.data)||[],z=null!=(x=null!=(C=this.$props.total)?C:null==(b=this.$props.dataItems)?void 0:b.total)?x:B.length);const j=!0===this.$props.groupable||r.isObject(this.$props.groupable)&&!1!==this.$props.groupable.enabled;this.dragLogic.reorderable=this.$props.reorderable||!1,this.dragLogic.groupable=j,this._virtualPageSize=this.calcVirtualPageSize();const P=B.length===z,_=r.isObject(this.$props.groupable)&&this.$props.groupable.footer||"none";if(K){const e=K.page&&!(this.isVirtualScroll&&!this.$props.pageable),{data:t,total:r}=s.process(B,{group:K.group?F:void 0,sort:K.sort?S:void 0,filter:i.combineFilters(K.filter?I:void 0,K.search?R:void 0),...e?{take:this.$props.pageable?V||10:V,skip:N||0}:{}});B=t,z=null!=(y=this.$props.total)?y:r}const{resolvedGroupsCount:W,flattedData:q}=this.getFlatData(B,_,P?0:this.$props.skip||0,F,E,H,this.$props.dataItemKey);this.dataRef=q;const U=this.virtualSkipRef||0;if(this._virtualTotal=z,this.isVirtualScroll){let e=N||0;if((D||this.$props.pageable)&&(e=U,this._virtualTotal=this.dataRef.length),P||D||this.$props.pageable)if(0===this._virtualPageSize){const t=Math.min(V||this.$props.pageSize||20,this.dataRef.length);G=this.dataRef.slice(e,e+t)}else G=this.dataRef.slice(e,e+this._virtualPageSize)}this.initializeVirtualization();const Y=null!=(k=this.selectable)&&k.drag?"none":void 0;this.initColumns(this.$props.dataItems,W),this.columnResize.resizable=this.$props.resizable||!1,this.columnResize.columns=this.columnsRef,this.columnResize.columnsState=r.cloneArray(this.currentColumnsState||[]),this.dragLogic.columns=this.columnsRef;const X=this.$props.toolbar,J=this.$props.noRecords,Q=this.columnsRef.filter(e=>0===e.children.length),Z=j&&t.createVNode(or,{ref:e=>{this.groupPanelDivRef=e},group:F||[],ariaControls:this._gridRoleElementId,onGroupChange:this.groupChangeHandler,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,resolveTitle:this.resolveTitle},null),ee=(this.dragLogic.reorderable||this.dragLogic.groupable)&&r.canUseDOM&&document&&document.body,te=[ee&&t.createVNode(gr,{ref:e=>{this.dropElementClueRef=e}},null),ee&&t.createVNode(ur,{ref:e=>{this.dragElementClueRef=e}},null)],re=this.showLicenseWatermark?t.createVNode(r.WatermarkOverlay,{message:this.licenseMessage},null):null,ie=this.$attrs.style,oe=ie&&r.isObject(ie)&&ie.width||"";this.tableWidth=parseFloat(oe.toString());const le=Q.findIndex(e=>"function"==typeof e.colSpan)>-1;let ne;ne=this.getCellsToRender({},Q);const ae=(this.$props.columnVirtualization?this.getCellsToRender({},Q).map(({columnIndex:e})=>Q[e]):Q).map(function(e,r){return t.createVNode("col",{key:e.id||`col-${r}`,width:void 0!==e.width?Math.floor(parseFloat(e.width.toString())):void 0},null)},this),se=t.createVNode(mt,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.$props.scrollable,ref:e=>{this.headerRef=e},onHeaderscroll:this.onHeaderScroll,headerRow:t.createVNode(er,{grid:this,sort:S,groupable:this.$props.groupable,reorderable:this.$props.reorderable,sortable:this.$props.sortable,onSortChange:this.sortChangeHandler,filter:I,filterable:this.$props.filterable,filterOperators:this.$props.filterOperators||Ft,onFilterChange:this.filterChangeHandler,columnMenu:this.$props.columnMenu,columnMenuIcon:this.$props.columnMenuIcon,columnMenuAnimate:this.$props.columnMenuAnimate,onSelectionchange:this.onHeaderSelectionChangeHandler,columns:this.columnsRef,cellsToRender:ne,columnVirtualization:this.$props.columnVirtualization,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,headerSelectionValue:!(!w||!this.dataRef.filter(e=>"data"===e.rowType).every(e=>w&&this.$props.dataItemKey&&void 0!==r.getter(this.$props.dataItemKey)(e.dataItem)?w[r.getter(this.$props.dataItemKey)(e.dataItem)]:void 0)),filterRow:this.$props.filterable&&t.createVNode(rr,{grid:this,size:this.$props.size,columns:this.columnsRef,columnsMap:this._columnsMap,cellsToRender:ne,columnVirtualization:this.$props.columnVirtualization,filter:I,filterOperators:this.$props.filterOperators||Ft,onFilterchange:this.filterChangeHandler,sort:this.$props.sort,cellRender:this.$props.filterCellRender,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1},null)||void 0},null),cols:ae},null),de=this.columnsRef.some(e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)})||null!=($=this.$props.cells)&&$.footerCell?t.createVNode(lr,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.$props.scrollable,ref:e=>{this.footerRef=e},row:t.createVNode(ar,{isRtl:this.isRtl,rowIndex:this.getAriaRowCount+1,columns:this.columnsRef,cells:this.$props.cells},null),cols:ae},null):t.createVNode("span",null,null),ce={leafColumns:Q,cellsToRender:ne,selectedField:this.$props.selectedField,dataItemKey:this.$props.dataItemKey,select:w,highlight:this.$props.highlight,editField:this.$props.editField,cellRender:this.$props.cellRender,cells:this.$props.cells,getCellsToRender:this.getCellsToRender,hasDynamicColSpan:le,itemChange:this.itemChange,selectionChangeHandler:this.selectionChangeHandler,editHandler:this.editHandler,removeHandler:this.removeHandler,saveHandler:this.saveHandler,cancelHandler:this.cancelHandler,cellClickHandler:this.cellClickHandler,cellKeydownHandler:this.cellKeydownHandler,computedCollapsed:this.computedCollapsed,uniqueField:this.$props.uniqueField,columnsRef:this.columnsRef,isRtl:this.isRtl,idPrefix:M},he=function(e,t,r,i,o){return Rr(ce,e,t,r,0,o)};let pe=[];const ue=!this.dataRef.length,ge=e=>e>=this.dataRef.length-0;let fe=0;if(this.dataRef.length){const e=this._columnsMap.length+(this.$props.filterable?1:0)+1;let o=this.$props.skip||0,l=-1,n=0;const a=this.computedRowSpannable.enabled?{}:void 0;if(this.isVirtualScroll){if(U>0){const e=this.dataRef.slice(0,U).filter(e=>"data"===e.rowType).length;l+=e,o+=U}!this.$props.pageable&&P&&(l+=this.$props.skip||0)}pe=(G||this.dataRef).map(function(s,d){"data"===s.rowType&&l++;const c=s.dataIndex%2!=0,h=this.$props.dataItemKey&&r.getter(this.$props.dataItemKey)(s.dataItem),p=d+o,u=h||"ai"+p,g=u+"_1",f=he.call(this,s,u,l,c,a),m=Q.length-(this.detailExpandable.enabled?1:0)-((null==F?void 0:F.length)||0)||1;return fe=p+e+n,[t.createVNode(mr,{key:u,item:s,dataIndex:l,ariaRowIndex:fe,absoluteRowIndex:p,isAltRow:c,isHidden:ge(d),rowHeight:this.$props.rowHeight,isSelected:f.isSelected,isHighlighted:f.isHighlighted,isInEdit:f.isInEdit,rowType:s.rowType,onRowclick:e=>this.rowClick(e,s),onRowdblclick:e=>this.rowDoubleClick(e,s),render:this.$props.rowRender,class:this.$props.rowClass?this.$props.rowClass(s):""},{default:()=>[f.row]}),this.$props.detail&&"data"===s.rowType&&(s.expanded||s.dataItem.expanded)&&t.createVNode("tr",{key:g,class:c?"k-table-row k-table-alt-row k-detail-row":"k-table-row k-detail-row",style:{visibility:ge(d)?"hidden":"",height:this.$props.detailRowHeight+"px"},role:"row","aria-rowindex":fe},[null==F?void 0:F.map(function(e){return t.createVNode(fr,{id:"",dataIndex:s.dataIndex,field:e.field,dataItem:s.dataItem,key:`group-${e.field}-${s.dataIndex}`,locked:this.$props.lockGroups,group:s.group},null)},this),(this.$props.expandField||this.detailExpandable.enabled)&&t.createVNode(gt,{id:i.tableKeyboardNavigationTools.generateNavigatableId(`${g}-dhcell`,M)},null),t.createVNode(ft,{dataItem:s.dataItem,dataIndex:s.dataIndex,colSpan:m,ariaColIndex:2+(F?F.length:0),detail:this.$props.detail?this.$props.detail:void 0,id:i.tableKeyboardNavigationTools.generateNavigatableId(`${g}-dcell`,M)},null)])]},this)}const me=this.$props.pageable&&t.createVNode(i.Pager,{class:"k-grid-pager",onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,size:this.$props.size,total:z,skip:N||0,pageSize:(void 0!==V?V:this.$props.pageSize)||10,messagesMap:kr,settings:i.normalize(this.$props.pageable||{})},null),ve=r.getTemplate.call(this,{h:t.h,template:this.$props.pager,defaultRendering:me,additionalProps:{...this.$props,skip:this.$props.skip||0,messagesMap:kr},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),be=e=>S&&S.filter(t=>t.field===e).length>0,Ce=t.createVNode("colgroup",{ref:r.setRef(this,"colGroup")},[Q.map(function(e,r){return t.createVNode("col",{key:e.id||`col-${r}`,class:be(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)]),xe={height:this.getCorrectHeight,...this.$attrs.style},ye=t.createVNode("div",{class:"k-loading-mask"},[t.createVNode("div",{class:"k-loading-color"},null),t.createVNode("div",{style:{height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},[t.createVNode(o.Loader,{size:"large",type:"converging-spinner"},null)])]),ke=this.$props.showLoader&&r.getTemplate.call(this,{h:t.h,template:this.$props.loader,defaultRendering:ye});return"none"===this.$props.scrollable?t.createVNode(i.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable,scrollable:this.$props.scrollable,columnVirtualization:this.$props.columnVirtualization},{default:()=>[t.createVNode(g,{ref:e=>{this.gridNavRef=e},columnsRef:this.columnsRef,dataRef:this.dataRef,id:this.$props.id,style:xe,class:this.nonscrollableWrapperClass,onMovetonextpage:this.moveToNextPage,onMovetoprevpage:this.moveToPrevPage,onColumnreorder:this.columnReorder,onKeyboardselectionchange:this.onKeyboardSelectionChangeHandler},{default:()=>[X,Z,t.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[t.createVNode(sr,{selectable:this.computedSelectable,class:"k-table",ref:r.setRef(this,"table")},{default:()=>[Ce,se,t.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,ref:r.setRef(this,"tableBody")},[pe,t.createTextVNode(" "),ke]),de]}),ue&&t.createVNode(xr,{id:i.tableKeyboardNavigationTools.generateNavigatableId("no-records",M)},{default:()=>[J.length?J:t.createVNode(Cr,null,null)]})]),ve,ke,te]})]}):t.createVNode(i.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable,scrollable:this.$props.scrollable,columnVirtualization:this.$props.columnVirtualization},{default:()=>[t.createVNode(g,{ref:e=>{this.gridNavRef=e},dataRef:this.dataRef,id:this.$props.id,style:xe,class:this.scrollableWrapperClass,onMovetonextpage:this.moveToNextPage,onMovetoprevpage:this.moveToPrevPage,onColumnreorder:this.columnReorder,onKeyboardselectionchange:this.onKeyboardSelectionChangeHandler,onSetcurrentontop:this.setCurrentOnTop},{default:()=>[X,Z,t.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[se,t.createVNode("div",{class:"k-grid-container",role:"presentation"},[D&&L&&t.createVNode(wr,{ref:r.setRef(this,"stickyHeader"),size:this.$props.size,cols:ae,dataRowContext:ce,position:"top",groupLevelCount:A,rowHeight:this.$props.rowHeight},null),t.createVNode("div",{role:"presentation",ref:r.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(dr,{selectable:this.computedSelectable,tableClassName:this.gridTableClass,tableStyle:{userSelect:Y},ref:r.setRef(this,"table")},{default:()=>[Ce,t.createVNode("tbody",{class:"k-table-tbody",role:"rowgroup","data-keyboardnavbody":!0,ref:r.setRef(this,"tableBody")},[pe])]}),ue&&t.createVNode(xr,{id:i.tableKeyboardNavigationTools.generateNavigatableId("no-records",M)},{default:()=>[J.length?J:t.createVNode(Cr,null,null)]})]),!ue&&t.createVNode("div",{class:"k-height-container",role:"presentation"},[t.createVNode("div",{ref:r.setRef(this,"scrollHeightContainer"),style:"virtual"===this.$props.scrollable?{height:this._containerHeightRef+"px"}:{}},null)])]),D&&O&&t.createVNode(wr,{ref:r.setRef(this,"stickyFooter"),size:this.$props.size,cols:ae,dataRowContext:ce,position:"bottom",groupLevelCount:A,rowHeight:this.$props.rowHeight},null)]),de,re]),ve,ke,te]})]})}}),Lr=t.defineComponent({name:"KendoVueGridStateProvider",inheritAttrs:!1,props:vr,setup(e,{emit:r}){var i,o,l,n,a,s,d,c,h,p;const u=t.ref({filter:null!=(i=e.defaultFilter)?i:e.filter,highlight:e.highlight,select:null!=(o=e.defaultSelect)?o:e.select,search:null!=(l=e.defaultSearch)?l:e.search,sort:null!=(n=e.defaultSort)?n:e.sort,take:null!=(a=e.defaultTake)?a:e.take,skip:null!=(s=e.defaultSkip)?s:e.skip,group:null!=(d=e.defaultGroup)?d:e.group,detailExpand:null!=(c=e.defaultDetailExpand)?c:e.detailExpand,groupExpand:null!=(h=e.defaultGroupExpand)?h:e.groupExpand,columnsState:null!=(p=e.defaultColumnsState)?p:e.columnsState}),g=t.computed(()=>e.filter||u.value.filter||null);t.watch(()=>e.filter,e=>{u.value.filter=e});const f=t.computed(()=>e.search||u.value.search||null);t.watch(()=>e.search,e=>{u.value.search=e});const m=t.computed(()=>e.select||u.value.select||null),v=t.computed(()=>e.sort||u.value.sort||[]);t.watch(()=>e.sort,e=>{u.value.sort=e});const b=t.computed(()=>e.skip||u.value.skip),C=t.computed(()=>e.take||u.value.take);t.watch(()=>e.skip,e=>{u.value.skip=e}),t.watch(()=>e.take,e=>{u.value.take=e});const x=t.computed(()=>e.group||u.value.group||[]);t.watch(()=>e.group,e=>{u.value.group=e});const y=t.computed(()=>e.detailExpand||u.value.detailExpand||{});t.watch(()=>e.detailExpand,e=>{u.value.detailExpand=e});const k=t.computed(()=>e.groupExpand||u.value.groupExpand||[]);t.watch(()=>e.groupExpand,e=>{u.value.groupExpand=e});const $=t.computed(()=>e.columnsState||e.defaultColumnsState||[]);t.watch(()=>e.columnsState,e=>{u.value.columnsState=e}),t.provide($r,{sort:v,sortchange:e=>{u.value.sort=e.sort,r("sortchange",e)},filter:g,filterchange:e=>{u.value.filter=e.filter,r("filterchange",e)},search:f,searchchange:e=>{u.value.search=e.search,u.value.skip=0,r("searchchange",e)},skip:b,take:C,pagechange:e=>{u.value.skip=e.page.skip,u.value.take=e.page.take,r("pagechange",e)},select:m,selectionchange:e=>{u.value.select=e.select,r("selectionchange",e)},headerselectionchange:e=>{u.value.select=e.select,r("headerselectionchange",e)},group:x,groupchange:e=>{u.value.group=e.group,r("groupchange",e)},detailExpand:y,detailexpandchange:e=>{u.value.detailExpand=e.detailExpand,r("detailexpandchange",e)},groupExpand:k,groupexpandchange:e=>{u.value.groupExpand=e.groupExpand,r("groupexpandchange",e)},columnsState:$,columnsstatechange:e=>{u.value.columnsState=e.columnsState,r("columnsstatechange",e)},datastatechange:e=>{u.value={...u.value,...e.data},r("datastatechange",e)}})},render(){return r.getDefaultSlots(this)}}),Or=t.defineComponent({name:"KendoVueGrid",props:vr,setup(e,{expose:r}){const i=t.ref(null);r({get element(){var e;return(null==(e=i.value)?void 0:e.element)||null},get props(){return e},get columns(){var e;return(null==(e=i.value)?void 0:e.columns)||[]},scrollIntoView:e=>{var t;null==(t=i.value)||t.scrollIntoView(e)},fitColumns:e=>{var t;null==(t=i.value)||t.fitColumns(e)},exportAsPdf:()=>{var e;null==(e=i.value)||e.exportAsPdf()}})},methods:{transformTemplate(e,t){return e?r.templateRendering.call(this,e,t):void 0},transformGroupTemplates(e,t){if(e)return{groupHeader:this.transformTemplate(e.groupHeader,t),data:this.transformTemplate(e.data,t),groupFooter:this.transformTemplate(e.groupFooter,t)}},transformCellTemplates(e,t){if(e)return{headerCell:this.transformTemplate(e.headerCell,t),filterCell:this.transformTemplate(e.filterCell,t),footerCell:this.transformTemplate(e.footerCell,t),groupHeader:this.transformTemplate(e.groupHeader,t),data:this.transformTemplate(e.data,t),groupFooter:this.transformTemplate(e.groupFooter,t),select:this.transformGroupTemplates(e.select,t),hierarchy:this.transformGroupTemplates(e.hierarchy,t),group:this.transformGroupTemplates(e.group,t),edit:e.edit?{text:this.transformTemplate(e.edit.text,t),numeric:this.transformTemplate(e.edit.numeric,t),boolean:this.transformTemplate(e.edit.boolean,t),date:this.transformTemplate(e.edit.date,t)}:void 0}}},computed:{columnsWithTemplates(){const e=r.getListeners.call(this);return r.mapTree(this.$props.columns||[],"children",t=>{const r={...t};return{...r,cell:this.transformTemplate(r.cell,e),headerCell:this.transformTemplate(r.headerCell,e),filterCell:this.transformTemplate(r.filterCell,e),footerCell:this.transformTemplate(r.footerCell,e),columnMenu:!1!==r.columnMenu&&this.transformTemplate(r.columnMenu,e),cells:this.transformCellTemplates(r.cells,e)}})},cellsWithTemplates(){const e=r.getListeners.call(this);return this.transformCellTemplates(this.$props.cells,e)}},render(){const e=r.getDefaultSlots(this)||[],i=r.getListeners.call(this),o=e.filter(e=>{var t,r;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==(r=null==e?void 0:e.type)?void 0:r.name.toLowerCase().indexOf("toolbar"))}),l=e.filter(e=>{var t,r;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==(r=null==e?void 0:e.type)?void 0:r.name.toLowerCase().indexOf("records"))}),{cellRender:n,detail:a,columns:s,rowRender:d,pager:c,loader:h,...p}=this.$props,u=this.columnsWithTemplates,g=this.cellsWithTemplates;return t.createVNode(Lr,p,{default:()=>[t.createVNode(Ar,t.mergeProps(p,i,{class:this.$attrs.class,style:this.$attrs.style,columns:u,cells:g,cellRender:this.transformTemplate(n,i),rowRender:this.transformTemplate(d,i),pager:this.transformTemplate(c,i),loader:this.transformTemplate(h,i),detail:this.transformTemplate(a,i),toolbar:o,noRecords:l}),null)]})}}),Dr=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:i,secondFilterProps:o,logicData:l,logicValue:n,operators:a,render:s}=this.$props,d=e.field,c=e.value,p=e.operator,u=e.booleanValues,g=e.filterType,f=o.field,m=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(zt,{field:d,value:c,operator:p,booleanValues:u,filterType:g,onFiltercellfocus:this.handleFocus,onChange:e=>{this.changeHandler(e,0)},operators:a},null),!i&&t.createVNode("div",null,[t.createVNode(h.DropDownList,{onChange:this.logicChange,class:"k-filter-and","data-items":l,value:n,textField:"text"},null),t.createVNode(zt,{field:f,value:m,operator:v,booleanValues:b,filterType:C,onFiltercellfocus:this.handleFocus,onChange:e=>{this.changeHandler(e,1)},operators:a},null)])]);return r.getTemplate.call(this,{h:t.h,template:s,defaultRendering:x,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,logicchange:this.logicChange}})}});function Gr(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Kr={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:"",dataRef:void 0,dataFromProps:void 0,currentFilter:void 0}),created(){this.compositeFilterIndex=this.getFilterIndex(),this.currentExpanded=this.$props.expanded,this.dataRef=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,r)=>e===t[r]))(t,this.dataFromProps)||(this.dataRef=t,this.dataFromProps=t)},inject:{kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){let e,i;const{column:o}=this.$props;if(!o||!o.field)return t.createVNode("div",null,null);const a=l.provideLocalizationService(this),s=void 0!==this.$props.expanded?this.$props.expanded:this.currentExpanded,d=[];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&&d.push(e.value)})}const h=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(r.Icon,{name:"search",icon:n.searchIcon,class:"k-input-icon"},null),t.createVNode("input",{ref:"searchBox",placeholder:a.toLanguageString(pe,pt[pe]),class:"k-input-inner",value:this.currentValue,onInput:this.handleSearchChange},null)])])},u=d.filter((e,t)=>d.indexOf(e)===t),g=r.templateRendering.call(this,this.$props.item,r.getListeners.call(this)),f=r.templateRendering.call(this,this.$props.checkAllItem,r.getListeners.call(this)),m=t.createVNode("li",{class:"k-item"},[t.createVNode(p.Checkbox,{label:a.toLanguageString(fe,pt[fe]),onChange:e=>this.handleCheckBoxChange(e,"all"),checked:this.isAllSelected()},null)]),v=r.getTemplate.call(this,{h:t.h,template:f,defaultRendering:m,additionalProps:{checked:this.isAllSelected()},additionalListeners:{change:e=>this.handleCheckBoxChange(e,"all")}});return t.createVNode(kt,null,{default:()=>[t.createVNode(yt,{title:a.toLanguageString(ae,pt[ae]),icon:"filter",svgIcon:n.filterIcon,onMenuitemclick:this.onFilterExpand},null),t.createVNode(Vt,{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"},[h.call(this),t.createVNode("ul",{class:"k-reset k-multicheck-wrap"},[v,this.dataRef.map(function(e,i){const o=t.createVNode("li",{class:"k-item",key:i},[t.createVNode(p.Checkbox,{label:String(e),onChange:t=>this.handleCheckBoxChange(t,e),checked:u.includes(e)},null)]);return r.getTemplate.call(this,{h:t.h,template:g,defaultRendering:o,additionalProps:{item:e,index:i,checked:u.includes(e)},additionalListeners:{change:t=>this.handleCheckBoxChange(t,e)}})},this)]),t.createVNode("div",{class:"k-columnmenu-actions"},[t.createVNode(c.Button,{themeColor:"primary"},Gr(e=a.toLanguageString(ne,pt[ne]))?e:{default:()=>[e]}),t.createVNode(c.Button,{type:"reset"},Gr(i=a.toLanguageString(ie,pt[ie]))?i:{default:()=>[i]})])])])])]})]})},methods:{defaultFilter(){return this.$props.filter?r.clone(this.$props.filter):{filters:[],logic:"and"}},parseData(e,t){const r=this.$props.column.field||"",i=e.map(e=>v(r,e));return t?i.filter((e,t)=>i.indexOf(e)===t):i},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.dataRef=this.parseData(s.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 r=this.$props.column.field||"",i={...this.currentFilter},o=[...this.currentFilter.filters];let l=[];if(-1!==this.compositeFilterIndex&&i.filters[this.compositeFilterIndex].filters&&"all"!==t&&(l=i.filters[this.compositeFilterIndex].filters),e.value&&"all"===t)this.dataRef.forEach(e=>{l.push({field:r,operator:"eq",value:e})});else if(e.value)l.push({field:r,operator:"eq",value:t});else if(this.currentFilter){const e=l.findIndex(e=>e.value===t);l.splice(e,1)}i.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),i.filters=o,this.currentFilter=i},isAllSelected(){let e=!1;if(this.currentFilter){const t=[...this.currentFilter.filters];return-1!==this.compositeFilterIndex&&(e=this.dataRef.every(e=>!(-1===this.compositeFilterIndex||!t[this.compositeFilterIndex].filters)&&t[this.compositeFilterIndex].filters.findIndex(t=>t.value===e)>=0),e)}return e}}},zr=t.defineComponent({render:()=>null}),Mr=t.defineComponent({name:"GridToolbar",props:{size:{type:String,validator:function(e){return["none","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-${r.kendoThemeMaps.sizeMap[e]||e}`]:e}}},render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{class:this.wrapperClass,role:"toolbar"},[e])}}),Br=t.defineComponent({name:"KendoVueGridSearchBox",inheritAttrs:!1,props:{onChange:Function,className:String,placeholder:String},setup(e,{emit:r}){const o=t.inject("kendoLocalizationService",{}),{searchChange:l}=t.inject("kendo",{}),{search:n}=t.inject($r,{}),a=t.computed(()=>i.getStringFromSearch(n.value)),s=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),r("change",t),e.onChange&&e.onChange.call(void 0,t)},value:a,rootClassName:s,placeholder:d}},render(){return t.createVNode(p.TextBox,t.mergeProps({placeholder:this.placeholder,value:this.value,prefix:()=>t.createVNode(r.Icon,{name:"search",icon:n.searchIcon},null)},this.$attrs,{wrapperClass:"k-grid-search k-searchbox",onInput:this.handleChange}),null)}}),jr=t.defineComponent({name:"KendoVueGridStatusBar",props:{data:{type:Array,default:()=>[]}},setup:e=>()=>t.createVNode("div",{class:"k-selection-aggregates k-grid-selection-aggregates"},[e.data.map((e,r)=>t.createVNode("div",{key:`${e.type}-${r}`},[t.createVNode("span",{class:"k-selection-aggregates-item-text"},[e.type,t.createTextVNode(": ")]),t.createVNode("span",{class:"k-selection-aggregates-item-value"},[e.formattedValue])]))])}),Pr=e=>{var t,r,i,o;const l=e.slice();for(let e=0;e<l.length;e++)for(;null!=(r=null==(t=l[e])?void 0:t.children)&&r.length;)l.splice(e,1,...null!=(o=null==(i=l[e])?void 0:i.children)?o:[]);return l};e.Footer=lr,e.FooterRow=ar,e.Grid=Or,e.GridCell=Sr,e.GridColumnMenuCheckboxFilter=Kr,e.GridColumnMenuFilter=_t,e.GridColumnMenuFilterCell=zt,e.GridColumnMenuFilterUI=Dr,e.GridColumnMenuItem=yt,e.GridColumnMenuItemContent=Vt,e.GridColumnMenuItemGroup=kt,e.GridColumnMenuSort=Nt,e.GridDetailRow=zr,e.GridEditCell=Ir,e.GridFilterCell=tr,e.GridGroupCell=fr,e.GridHeaderCell=xt,e.GridHierarchyCell=ut,e.GridNoRecords=Cr,e.GridRow=mr,e.GridSearchBox=Br,e.GridToolbar=Mr,e.StatusBar=jr,e.applyExpandedState=T,e.autoGenerateColumns=R,e.calcRowHeight=G,e.checkPropCompatibility=function(e){for(let t=0;t<y.length;t++){const r=y[t];if(void 0!==e[r]){const e="on"+r.charAt(0).toUpperCase()+r.slice(1);console.warn(k(r,e))}}},e.filterGroupByField=Pt,e.firefox=E,e.firefoxMaxHeight=A,e.flatData=b,e.footerColumns=w,e.getColSpan=O,e.getColumnWidth=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,e.getDataAsArray=I,e.getFlatColumnsState=H,e.getIndex=x,e.getNestedValue=v,e.getRowSpanOptions=D,e.getStatusData=e=>{const{dataItems:t,target:i}=e,o=Pr(i.columns).map(e=>e.field).filter(e=>e&&"string"==typeof e).map(e=>r.getter(e)),l={dates:[],numbers:[],booleans:[],others:[]};t.forEach(t=>{const i=(t=>{var i;return null==(i=e.select)?void 0:i[r.getter(e.dataItemKey)(t)]})(t);Array.isArray(i)&&i.forEach(e=>{(e=>{"number"==typeof e?l.numbers.push(e):"boolean"==typeof e?l.booleans.push(e):e instanceof Date?l.dates.push(e):l.others.push(e)})(o[e](t))})});const n=l.dates.map(e=>e.getTime()),a=l.booleans.filter(Boolean).length,s=l.booleans.length-a,d=l.numbers.length?l.numbers.reduce((e,t)=>e+t,0):void 0,c={sum:d,average:"number"==typeof d?d/l.numbers.length:void 0,min:l.numbers.length?Math.min(...l.numbers):void 0,max:l.numbers.length?Math.max(...l.numbers):void 0,count:l.numbers.length+l.booleans.length+l.dates.length+l.others.length,isTrue:a>0?a:void 0,isFalse:s>0?s:void 0,earliest:l.dates.length?new Date(Math.min(...n)):void 0,latest:l.dates.length?new Date(Math.max(...n)):void 0},h=(e,t)=>"sum"!==t&&"average"!==t||"number"!=typeof e?("earliest"===t||"latest"===t)&&e instanceof Date?e.toLocaleDateString():String(e):e.toFixed(2),p=[];return Object.keys(c).forEach(e=>{const t=e,r=c[t];void 0!==r&&p.push({type:t,value:r,formattedValue:h(r,t)})}),p},e.groupedFirstItemValue=F,e.isRtl=C,e.isSorted=(e,t)=>t&&t.filter(t=>t.field===e).length>0,e.leafColumns=Pr,e.mapColumns=$,e.parsers=N,e.readColumns=S,e.sanitizeColumns=L,e.sortGroupByField=(e,t)=>{const r=It(e,t);return wt(r,t)||Rt(r,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-popup"),require("@progress/kendo-data-query"),require("@progress/kendo-vue-animation"),require("@progress/kendo-vue-buttons"),require("@progress/kendo-vue-dropdowns"),require("@progress/kendo-vue-inputs"),require("@progress/kendo-vue-dateinputs")):"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-popup","@progress/kendo-data-query","@progress/kendo-vue-animation","@progress/kendo-vue-buttons","@progress/kendo-vue-dropdowns","@progress/kendo-vue-inputs","@progress/kendo-vue-dateinputs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueGrid={},e.Vue,e.KendoVueCommon,e.KendoVueDatatools,e.KendoVueIndicators,e.KendoVueIntl,e.KendoSVGIcons,e.KendoVuePopup,e.KendoDataQuery,e.KendoVueAnimation,e.KendoVueButtons,e.KendoVueDropdowns,e.KendoVueInputs,e.KendoVueDateinputs)}(this,function(e,t,r,i,o,l,n,a,s,d,c,h,p,u){"use strict";const g=t.defineComponent({name:"KendoGridNav",props:{columnsRef:Array,dataRef:Array,id:String},emits:["keydown","navigationaction","keyboardselectionchange","movetonextpage","movetoprevpage","columnreorder","setcurrentontop"],inject:{onNavKeyDown:{default:r.noop},onNavFocus:{default:r.noop},onNavMount:{default:r.noop},onNavBeforeUpdate:{default:r.noop},onNavUpdate:{default:r.noop},handleDispatchFocus:{default:r.noop},kbContext:{default:null},navigation:{default:null}},mounted(){this.onNavMount({scope:this.$el||void 0})},updated(){this.onNavUpdate({scope:this.$el||void 0}),this.handlePendingStickyNav()},setup:(e,r)=>({pendingStickyNavRef:t.ref(null)}),methods:{handleStickyKeyDown(e){var t,r;const i=e.target;if((38===e.keyCode||40===e.keyCode)&&i.closest(".k-grid-sticky-container")){const o=parseInt((null==(t=i.closest("tr"))?void 0:t.getAttribute("absolute-row-index"))||"",10),l=i.getAttribute("data-keyboardnavid");if(!isNaN(o)&&l&&!(null==(r=this.$el)?void 0:r.querySelector(`.k-grid-content .k-table-tbody>tr[absolute-row-index="${o}"]`)))return this.pendingStickyNavRef={navId:l,key:e.key,code:e.code,keyCode:e.keyCode},e.preventDefault(),e.stopPropagation(),this.$emit("setcurrentontop",{rowIndex:o}),!0}return!1},handlePendingStickyNav(){var e;if(!this.pendingStickyNavRef||!this.$el)return;const{navId:t,key:r,code:i,keyCode:o}=this.pendingStickyNavRef,l=null==(e=this.$el)?void 0:e.querySelector(`.k-grid-content .k-table-tbody td[data-keyboardnavid="${t}"]`);l&&l.dispatchEvent(new KeyboardEvent("keydown",{key:r,code:i,keyCode:o,bubbles:!0,cancelable:!0})),this.pendingStickyNavRef=null},onKeyDown(e){this.handleStickyKeyDown(e)||(this.onNavKeyDown(e,{navigation:this.navigation,kbContext:this.kbContext,onNavigationAction:this.onNavigationAction}),this.onNavBeforeUpdate({scope:this.$el||void 0,kbContext:this.kbContext,navigation:this.navigation}),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){const{columnsRef:t}=this.$props;if("moveToNextPage"===e.action&&this.$emit("movetonextpage",e.event),"moveToPrevPage"===e.action&&this.$emit("movetoprevpage",e.event),e.focusElement&&("reorderToRight"===e.action||"reorderToLeft"===e.action)){const r=parseInt(e.focusElement.ariaColIndex,10)-1;if(!t[r].reorderable)return;if("reorderToRight"===e.action&&r<this.$props.columnsRef.length-1){if(t[r+1].disableReorder)return;this.$emit("columnreorder",r,r+1,e.event)}if("reorderToLeft"===e.action&&r>0){if(t[r-1].disableReorder)return;this.$emit("columnreorder",r,r-1,e.event)}}"select"===e.action&&this.$emit("keyboardselectionchange",e.event),this.$emit("navigationaction",{focusElement:e.focusElement,event:e.event})},getLeafDataItems(){return this.$props.dataRef.filter(e=>"data"===e.rowType).map(e=>e.dataItem)}},render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{onKeydown:this.onKeyDown,onFocusin:this.onFocus,id:this.$props.id,"data-keyboardnavscope":!0},[e])}}),f={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},m="string";function v(e,t){const r=e.split(".");let i=t;return r.forEach(e=>{i=i?i[e]:void 0}),i}function b(e,t,o,l,n,a,s,d,c,h,p=0,u){let g=p;for(let f=0;f<t.length;f++){let m;if(!n||void 0===t[f].value||void 0===t[f].items){const i=!!c&&!(null==a||!a[r.getter(c)(t[f])]);e[e.length]={dataIndex:l.index,dataItem:t[f],rowType:"data",level:p,group:u,expanded:void 0!==h?v(h,t[f]):null!=i&&i},l.index++;continue}{let e;e=null!=u&&u.parents?[{field:u.field,value:u.value},...u.parents]:u?[u]:[],m={field:t[f].field,value:t[f].value,parents:e}}g=Math.max(g,p+1);let C=!1;const x=i.findGroupExpand(s||[],m);C=h?void 0===h||void 0===v(h,t[f])||v(h,t[f]):x?!1!==x.expanded:!1!==d,e[e.length]={dataIndex:-1,dataItem:t[f],level:p,group:m,rowType:"groupHeader",expanded:C},C&&(m.expanded=C,g=Math.max(b(e,t[f].items,o,l,n,a,s,d,c,h,p+1,m),g)),("always"===o||C&&"visible"===o)&&(e[e.length]={dataIndex:-1,dataItem:t[f],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&&r.canUseDOM))return-1;let i=document.elementFromPoint(e.clientX,e.originalEvent.clientY);for(;i&&i.parentElement!==t;)i=i.parentElement;const o=t.children;for(let e=0;e<o.length;e++)if(o[e]===i)return e;return-1}const y=["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 $(e,t){const r=[[]];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((t,i)=>{r[t.depth]=r[t.depth]||[];let a=!1;0===r[t.depth].length&&(n<=1?n=1+(t.children.length>0?0:o-t.depth):(n--,a=!0)),t.rowSpan=1+(t.children.length>0?0:o-t.depth),t.kFirst=a,t.index=r[t.depth].length,t.ariaColumnIndex=l[t.depth]?l[t.depth]+1:1;let s=0;const d=[],c=new Set;let h=t.parentIndex;for(;h>=0&&!c.has(h);)c.add(h),d.unshift(h),h=e[h].parentIndex;for(let t=0;t<d.length;t++){const i=d[t],o=e[i],l=r[o.depth],n=l.indexOf(i);for(let t=0;t<n;t++){const r=l[t];s+=e[r].headerColSpan}}for(let o=0;o<t.depth;o++){const l=r[o]||[],n=(r[t.depth]||[]).indexOf(i);let a=0;for(const r of l){const i=e[r];a<n&&i.depth+i.rowSpan-1>=t.depth&&(d.includes(r)||(s+=i.headerColSpan)),a+=i.headerColSpan}}const p=r[t.depth];for(const r of p){const i=e[r];i.parentIndex===t.parentIndex&&(s+=i.headerColSpan)}t.virtualColumnOffset=s,r[t.depth].push(i);for(let e=t.depth;e<t.depth+t.rowSpan;e++)l[e]=(l[e]||0)+t.headerColSpan}),i.updateLeft(r,e,t),i.updateRight(r,e,t),r}function S(e,t,o,l=0,n=!1){const a=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.forEach((e,s)=>{const d=e.id?e.id:i.tableKeyboardNavigationTools.generateNavigatableId(""+o.prevId++,o.idPrefix,"column"),c=!!(r.canUseDOM&&e.media&&window.matchMedia)&&!window.matchMedia(e.media).matches,h=n||c||e.hidden,p=null==t?void 0:t.find(e=>e.id===d),u=S(e.children,(null==p?void 0:p.children)||[],o,l+1,h);a.push({depth:l,...f,...u.length?{cell:()=>null,filterCell:()=>null}:{},...e,id:d,declarationIndex:a.length,children:u,headerColSpan:0,rowSpan:0,columnType:e.columnType||"data",colSpan:e.colSpan||1,isAccessible:!0,hidden:h,left:null,right:null,rowSpannable:e.rowSpannable,...p?{width:p.width,orderIndex:p.orderIndex}:{}})});if(a.sort((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0)),0===l){const e=[],t=(r,i)=>r.forEach(r=>{r.parentIndex=i,t(r.children,e.push(r)-1)});return t(a,-1),e}return a}const I=e=>Array.isArray(e)?e:e?e.data:[];function R(e,t,r,o){const l=I(e),n=[];if(l.length>0){let e=l[0];if(t)for(let r=0;r<t.length;r++)e=e.items&&e.items[0];Object.getOwnPropertyNames(e).forEach(e=>{e!==r.column&&n.push({id:i.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,...f,field:e})})}return n}const w=e=>e.filter(t=>{var r;return!((e,t)=>{var r;let i=e[t.parentIndex];for(;i;){if(i.footerCell||null!=(r=i.cells)&&r.footerCell)return!0;i=e[i.parentIndex]}return!1})(e,t)&&(!!(t.footerCell||null!=(r=t.cells)&&r.footerCell)||!(t.children&&t.children.length>0))}),N={number:function(e,t,r){return typeof e===m&&"null"===e.toLowerCase()?null:t.parseNumber(e,r)},date:function(e,t,r){return typeof e===m&&"null"===e.toLowerCase()?null:t.parseDate(e,r)},boolean:function(e){return typeof e===m?"null"===e.toLowerCase()?null:"true"===e.toLowerCase():null!=e?!!e:e},string:function(e){return typeof e===m&&"null"===e.toLowerCase()?null:null!=e?e+"":e},default:function(e){return e}};function V(e,t,r,i){return e.forEach(e=>{e.expanded=t[i]&&!t[i].includes(F(e,r)),e.items&&e.items.length&&(e.items=V(e.items,t,r,i+1))}),e}function T(e,t,r){return t&&t.length&&e.data.forEach(e=>{e.expanded=void 0!==e.expanded?e.expanded:t[0]&&!t[0].includes(F(e,r)),e.items&&e.items.length&&(e.items=V(e.items,t,r,1))}),e}function F(e,t){let r=e;for(;r.items&&r.items.length;)r=r.items[0];return t?r[t]:e.value}const H=e=>{const t=[],r=e=>null==e?void 0:e.forEach(e=>{t.push(e),r(e.children)});return r(e),t},E="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),A=17895697,L=e=>(e.sort((e,t)=>e.declarationIndex-t.declarationIndex),e.map(e=>{const{declarationIndex:t,parentIndex:r,depth:i,headerColSpan:o,rowSpan:l,index:n,kFirst:a,children:s,...d}=e;return s.length?{children:L(s),...d}:d})),O=(e,t)=>"function"==typeof e.colSpan?e.colSpan({dataItem:t,column:e}):e.colSpan||1,D=e=>{var t,i;const o="object"==typeof e?null==(t=e.enabled)||t:null!=e&&e,l="object"==typeof e&&null!=(i=e.valueGetter)?i:(e,t)=>r.getter(t)(e);return{enabled:o,valueGetter:l}},G=e=>{let t=0;if(e){const r=e.insertRow(0);r.insertCell(0).textContent=" ",t=r.getBoundingClientRect().height,e.deleteRow(0)}return t},K=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:r.noop}},data:()=>({inputId:r.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=this.$props.isSelected||v(this.$props.field,this.$props.dataItem),o="boolean"==typeof e&&e,l=this.$props.render,n=this.getKeyboardNavigationAttributes(this.$props.id),a="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:n.tabIndex,"data-keyboardnavlevel":n[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":n[i.KEYBOARD_NAV_DATA_ID]},[t.createVNode("span",{class:"k-checkbox-wrap"},[t.createVNode("input",{checked:o,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 r.getTemplate.call(this,{h:t.h,template:l,defaultRendering:a,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,change:this.handleOnChange}})}}),z="grid.noRecords",M="grid.selectAllRows",B="grid.pagerInfo",j="grid.pagerFirstPage",P="grid.pagerPreviousPage",_="grid.pagerNextPage",W="grid.pagerLastPage",q="grid.pagerItemsPerPage",U="grid.pagerPage",Y="grid.pagerPageSelection",X="grid.pagerOf",J="grid.pagerTotalPages",Q="grid.groupPanelEmpty",Z="grid.groupColumn",ee="grid.ungroupColumn",te="grid.columnMenu",re="grid.filterApplyButton",ie="grid.filterClearButton",oe="grid.filterClearAllButton",le="grid.filterResetButton",ne="grid.filterSubmitButton",ae="grid.filterTitle",se="grid.sortAscending",de="grid.sortDescending",ce="grid.sortClearButton",he="grid.sortApplyButton",pe="grid.searchPlaceholder",ue="grid.searchboxPlaceholder",ge="grid.exportPDF",fe="grid.filterCheckAll",me="grid.filterChooseOperator",ve="grid.filterSelectAll",be="grid.filterSelectedItems",Ce="grid.sortAriaLabel",xe="grid.sortableColumnAriaLabel",ye="grid.sortableColumnAscendingAriaLabel",ke="grid.sortableColumnDescendingAriaLabel",$e="grid.editDialogTitle",Se="grid.editDialogSaveButtonTitle",Ie="grid.editDialogCancelButtonTitle",Re="grid.filterAriaLabel",we="grid.numericFilterAriaLabel",Ne="grid.groupPanelAriaLabel",Ve="grid.groupExpand",Te="grid.groupCollapse",Fe="grid.groupClearButton",He="grid.groupApplyButton",Ee="grid.detailExpand",Ae="grid.detailCollapse",Le="grid.selectRow",Oe="grid.gridAriaLabel",De="grid.gridRowReorderAriaLabel",Ge="grid.gridAdaptiveColumnMenuFilterTitle",Ke="grid.columnMenuColumnChooserTitle",ze="grid.columnMenuColumnChooserSelectedItems",Me="grid.adaptiveColumnMenuChooserTitle",Be="grid.adaptiveColumnMenuChooserSubTitle",je="grid.columnChooserApplyButton",Pe="grid.columnChooserResetButton",_e="grid.adaptiveColumnMenuCheckboxFilterTitle",We="grid.adaptiveToolbarSortTitle",qe="grid.adaptiveToolbarGroupTitle",Ue="grid.toolbarSort",Ye="grid.dateFilterAriaLabel",Xe="grid.textFilterAriaLabel",Je="grid.booleanFilterAriaLabel",Qe="grid.groupHeaderAriaLabel",Ze="grid.groupCaretAriaLabelCollapse",et="grid.groupCaretAriaLabelExpand",tt="grid.expandDetailTemplateAriaLabel",rt="grid.collapseDetailTemplateAriaLabel",it="grid.toolbarAI",ot="grid.aIResponseData",lt="grid.generatedWithAI",nt="grid.toolbarAIApply",at="grid.toolbarGroup",st="grid.toolbarFilter",dt="grid.toolbarColumnsChooser",ct="grid.toolbarCheckboxFilter",ht="grid.headerGroupSpacerAccessibleLabel",pt={[Ee]:"Expand detail row",[Ae]:"Collapse detail row",[Ve]:"Expand group",[Te]:"Collapse Group",[Fe]:"Clear grouping",[He]:"Done",[z]:"No records available",[M]:"Select all rows",[Q]:"Drag a column header and drop it here to group by that column",[re]:"Apply",[ie]:"Clear",[oe]:"Clear all filters",[le]:"Reset",[ne]:"Filter",[ae]:"Filter",[se]:"Sort Ascending",[de]:"Sort Descending",[ce]:"Clear sorting",[he]:"Done",[Ce]:"Sortable",[We]:"Sort by",[qe]:"Group by",[Ue]:"Sort",[it]:"AI Assistant",[nt]:"Apply",[ot]:"Operation is successful. Data is: \n",[lt]:"Generated with AI",[at]:"Group",[st]:"Filter",[dt]:"Columns",[ct]:"Filter",[Z]:"Group Column",[ee]:"Ungroup Column",[ht]:"Group",[te]:"Column menu",[q]:"items per page",[B]:"{0} - {1} of {2} items",[j]:"Go to the first page",[P]:"Go to the previous page",[_]:"Go to the next page",[W]:"Go to the last page",[U]:"Page",[Y]:"Page size",[X]:"of",[J]:"{0}",[pe]:"Search",[ue]:"Search...",[ge]:"Export PDF",[fe]:"Check All",[$e]:"Edit Dialog",[Se]:"Save",[Ie]:"Cancel",[me]:"Choose Operator",[be]:"selected items",[ve]:"Select All",[xe]:"Sortable Column",[ye]:"Sorted in ascending order",[ke]:"Sorted in descending order",[Re]:"Filter",[we]:"Numeric Filter",[Ye]:"Date Filter",[Xe]:"Text Filter",[Je]:"Boolean Filter",[Qe]:"Group Header",[Ze]:"Collapse Group",[et]:"Expand Group",[tt]:"Expand Details",[rt]:"Collapse Details",[Ne]:"Group panel",[Oe]:"Table",[De]:"Drag row",[Le]:"Select Row",[Ke]:"Columns Chooser",[Ge]:"Filter by",[Me]:"Columns Chooser",[Be]:"Selected fields are visible",[_e]:"Filter by",[ze]:"Selected items",[je]:"Apply",[Pe]:"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"},ut=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:r.noop}},methods:{triggerStateChange(){const e=this.kendo;e.dataItemKey&&void 0!==this.$props.dataItem[e.dataItemKey]&&(null==e||e.dispatchDetailExpand({type:i.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===r.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,r){e.preventDefault(),this.$emit("change",{dataItem:t,event:e,field:void 0,value:!r}),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),a=l.provideLocalizationService(this),s=a.toLanguageString(rt,pt[rt]),d=a.toLanguageString(tt,pt[tt]);if("groupFooter"===this.$props.rowType)e=t.createVNode("td",{class:this.wrapperClass},null);else if("groupHeader"!==this.$props.rowType){const l=this.$props.expanded;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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[i.KEYBOARD_NAV_DATA_ID]},[t.createVNode("a",{onClick:e=>{this.clickHandler(e,this.$props.dataItem,l)},href:"#",tabindex:-1,title:l?s:d,"aria-label":l?s:d},[t.createVNode(r.Icon,{name:l?"minus":"plus",icon:l?n.minusIcon:n.plusIcon},null)])])}return r.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:e,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}}),gt=t.defineComponent({props:{id:String},inject:{getKeyboardNavigationAttributes:{default:r.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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":e[i.KEYBOARD_NAV_DATA_ID]},null)}}),ft=t.defineComponent({props:{colSpan:Number,ariaColIndex:Number,dataItem:[Object,String,Number],dataIndex:Number,detail:[String,Function,Object],id:String},inject:{getKeyboardNavigationAttributes:{default:r.noop}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const{colSpan:e,ariaColIndex:o,dataItem:l,dataIndex:n,id:a}=this.$props,s=this.getKeyboardNavigationAttributes(a);return t.createVNode("td",{class:"k-table-td k-detail-cell",colspan:e,"aria-colindex":o,role:"gridcell",tabindex:s.tabIndex,"data-keyboardnavlevel":s[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":s[i.KEYBOARD_NAV_DATA_ID]},[function(e){return r.getTemplate.call(this,{h:t.h,template:this.$props.detail,additionalProps:e})}.call(this,{dataItem:l,dataIndex:n})])}}),mt=t.defineComponent({props:{staticHeaders:Boolean,headerRow:Object,columnResize:Object,cols:Array,size:String,draggable:Boolean},emits:["headerscroll"],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-${r.kendoThemeMaps.sizeMap[e]||e}`]:e}}},mounted(){this.headerWrap=r.getRef(this,"headerWrap"),this.table=r.getRef(this,"table"),this.$props.columnResize.colGroupHeader=r.getRef(this,"colGroupHeader");const e=C(this.$el);this.$props.columnResize&&this.$props.columnResize.setIsRtl(e)},methods:{setScrollLeft(e){this.headerWrap&&(this.headerWrap.scrollLeft=e)},setWidth(e){this.table&&(this.table.style.width=e+"px")},handleHeaderScroll(e){this.$emit("headerscroll",e)}},setup:()=>({headerWrapRef:t.ref(null),tableRef:t.ref(null),colGroupHeaderRef:t.ref(null)}),render(){return this.$props.staticHeaders?t.createVNode("div",{class:this.wrapperClass},[t.createVNode("div",{ref:r.setRef(this,"headerWrap"),class:"k-grid-header-wrap",onScroll:this.handleHeaderScroll},[t.createVNode("table",{class:this.tableClass,ref:r.setRef(this,"table"),role:"none"},[t.createVNode("colgroup",{ref:r.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(r.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=r.getDefaultSlots(this);return t.createVNode(r.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:"draggable"},{default:()=>[t.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":this.$props.key},[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=r.getDefaultSlots(this),i=this.$props.render,o=this.$props.title||this.$props.field||" ",l=r.getTemplate.call(this,{h:t.h,template:i,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])}}),yt=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===r.Keys.enter&&this.$emit("menuitemclick",e)}},render(){const{title:e,iconClass:i,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":"")},[i&&t.createVNode(r.Icon,{class:i},null),(l||n)&&t.createVNode(r.Icon,{name:l,icon:n},null),e])}}),kt=t.defineComponent({render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{class:"k-columnmenu-item-wrapper"},[e])}}),$t="desc",St={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"}}},It=(e,t)=>t?t.findIndex(t=>t.field===e):-1,Rt=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),wt=(e,t)=>!!(t&&e>-1&&t[e].dir===$t),Nt=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,$t),this.$emit("closemenu")},onSort(e,t){if(e.preventDefault(),!r.hasListener.call(this,"sortchange"))return;const{column:i,sortable:o,sort:l}=this.$props,{allowUnsort:n,mode:a}=vt(o||!1,!1),s=(l||[]).filter(e=>e.field===i.field)[0],d=St[n][s&&s.dir||""][t],c="single"===a?[]:(this.$props.sort||[]).filter(e=>e.field!==i.field);""!==d&&i.field&&c.push({field:i.field,dir:d}),this.$emit("sortchange",c,{event:e,field:this.$props.column.field})}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{sort:e,column:r}=this.$props,i=It(r.field,e),o=l.provideLocalizationService(this);return t.createVNode(kt,null,{default:()=>[t.createVNode(yt,{title:o.toLanguageString(se,pt[se]),icon:"sort-asc-small",svgIcon:n.sortAscSmallIcon,selected:Rt(i,e),onMenuitemclick:this.onAscClick},null),t.createVNode(yt,{title:o.toLanguageString(de,pt[de]),icon:"sort-desc-small",svgIcon:n.sortDescSmallIcon,selected:wt(i,e),onMenuitemclick:this.onDescClick},null)]})}}),Vt=t.defineComponent({props:{show:Boolean},render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{class:"k-columnmenu-item-content"},[t.createVNode(d.Reveal,{appear:this.$props.show,style:{position:"relative",display:"block"}},{default:()=>[this.$props.show?e:null]})])}}),Tt=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Ft={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"}]},Ht=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Et=(e,t)=>e.map(e=>({text:t.toLanguageString(e.text,pt[e.text]),operator:e.operator})),At=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Lt=(e,t,r)=>{const i=Ot(r.operators);let o=r.operator;switch(r.filterType){case"numeric":case"date":(!o||Ht(o))&&(o=i),null===e&&o===i&&(o="");break;case"text":(!o||Ht(o))&&(o=i),!e&&o===i&&(o="");break;default:return}return{value:e,operator:o,event:t}},Ot=(e,t)=>t?e[t][0].operator:e[0].operator,Dt=e=>e||"text",Gt=(e,t)=>({value:e,operator:""===e?"":"eq",event:t}),Kt=(e,t,r)=>(Ht(e)&&(r=null),{value:r,operator:e,event:t}),zt=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 r=Lt(e,t,this.$props);this.triggerChange(r)},boolDropdownChange(e,t){const r=Gt(e.value.operator,t);this.triggerChange(r)}},render(){const{filterType:e,value:r,booleanValues:i}=this.$props;let o;switch(e){case"numeric":return t.createVNode(p.NumericTextBox,{value:r,onChange:e=>{this.inputChange(e.value,e.event)}},null);case"date":return t.createVNode(u.DatePicker,{value:r,onFocus:this.handleFocus,onChange:e=>{this.inputChange(e.value,e.event)}},null);case"boolean":return o=e=>null==e,t.createVNode(h.DropDownList,{onChange:this.boolDropdownChange,value:i.find(e=>e.operator===(o(r)?"":r)),"data-items":i,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:r||"",onInput:e=>{this.inputChange(e.target.value,e)}},null)])}}}),Mt=t.defineComponent({props:{filterType:String,operator:String,operators:Array},emits:{change:null},methods:{triggerChange(e){this.$emit("change",e)},operatorChange(e,t){const r=Kt(e.value.operator,t,this.$props.value);this.triggerChange(r)}},render(){const e=this.$props.operators.find(e=>e.operator===this.$props.operator)||null;return"boolean"!==this.$props.filterType?t.createVNode(h.DropDownList,{onChange:this.operatorChange,value:e,"data-items":this.$props.operators,textField:"text"},null):null}});function Bt(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const jt=e=>e||{filters:[],logic:"and"},Pt=(e,t)=>jt(t).filters.filter(t=>!!s.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find(t=>s.isCompositeFilterDescriptor(t)||t.field!==e)))[0]||null,_t=t.defineComponent({name:"KendoGridColumnMenuFilter",props:{column:Object,filter:Object,expanded:{type:Boolean,default:void 0},filterable:Boolean,filterOperators:{type:Object,default:function(){return Ft}},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=Dt(this.$props.column.filter),r=Ot(this.$props.filterOperators,t);e=Pt(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:r},{field:this.$props.column.field,operator:r}]},1===e.filters.filter(e=>e.field===this.$props.column.field).length&&e.filters.splice(1,0,{field:this.$props.column.field,operator:r})}this.currentExpanded=this.$props.expanded||!1,this.filterGroup=e},methods:{removeGroup(e,t){const r=[...t.filters],i=r.findIndex(t=>t===e);return i>-1&&r.splice(i,1),{...t,filters:r}},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 r=this.filterGroup.filters.map((r,i)=>i===e?{...r,value:t.value,operator:t.operator}:r);this.filterGroup={...this.filterGroup,filters:r}},logicChange(e){this.filterGroup={...this.filterGroup,logic:e.target.value.operator}},clear(e){if(e.preventDefault(),!r.hasListener.call(this,"filterchange"))return;const t=this.$props.column.field,i=jt(this.$props.filter),o=Pt(t,this.$props.filter),l=i.filters.filter(e=>e!==o);l.length?this.$emit("filterchange",{...i,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(),!r.hasListener.call(this,"filterchange"))return;const t=this.$props.column.field,i=jt(this.$props.filter),o=Pt(t,this.$props.filter),l=this.currentFilterGroup();let n=null;if(o&&l.filters.length>0){const e=i.filters.map(e=>e===o?l:e);n={...i,filters:e}}else if(0===l.filters.length){const e=i.filters.filter(e=>e!==o);e.length&&(n={...i,filters:e})}else n={...i,filters:[...i.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,i;const{column:o,filterUI:a,hideSecondFilter:s,filterOperators:d}=this.$props;if(!o||!o.field)return t.createVNode("div",null,null);const p=o.filter||"text",u=l.provideLocalizationService(this),g=this.filterGroup.filters,f=Et(d[p],u),m=Et(At,u),v={field:o.field,value:g[0].value,operator:g[0].operator,booleanValues:m,filterType:p},b={field:o.field,value:g[1].value,operator:g[1].operator,booleanValues:m,filterType:p},C=this.filterGroup.logic,x=Et(Tt,u),y={value:x.find(e=>e.operator===(null===C?"":C)),data:x},k=0!==this.currentFilterGroup().filters.length,$=this.isControlled()?this.$props.expanded:this.currentExpanded,S=v.field,I=v.value,R=v.operator,w=v.booleanValues,N=v.filterType,V=b.field,T=b.value,F=b.operator,H=b.booleanValues,E=b.filterType,A=a&&r.templateRendering.call(this,a,r.getListeners.call(this)),L=r.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(yt,{title:u.toLanguageString(ae,pt[ae]),icon:"filter",svgIcon:n.filterIcon,onMenuitemclick:this.onFilterExpand},null),t.createVNode(Vt,{show:!!$},{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"},[!a&&[t.createVNode(Mt,{operator:R,filterType:N,onChange:e=>{this.filterChangeHandler(e,0)},operators:f},null),t.createVNode(zt,{field:S,value:I,operator:R,booleanValues:w,filterType:N,onFiltercellfocus:this.handleFocus,onChange:e=>{this.filterChangeHandler(e,0)},operators:f},null)],!s&&!a&&[t.createVNode(h.DropDownList,{onChange:this.logicChange,class:"k-filter-and","data-items":y.data,value:y.value,textField:"text"},null),t.createVNode(Mt,{operator:F,filterType:E,onChange:e=>{this.filterChangeHandler(e,1)},operators:f},null),t.createVNode(zt,{field:V,value:T,operator:F,booleanValues:H,filterType:E,onFiltercellfocus:this.handleFocus,onChange:e=>{this.filterChangeHandler(e,1)},operators:f},null)],a&&L,t.createVNode("div",{class:"k-columnmenu-actions"},[t.createVNode(c.Button,{themeColor:"primary",disabled:!k},Bt(e=u.toLanguageString(ne,pt[ne]))?e:{default:()=>[e]}),t.createVNode(c.Button,{type:"reset"},Bt(i=u.toLanguageString(ie,pt[ie]))?i:{default:()=>[i]})])])])])]})]})}}),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===r.Keys.esc&&this.$emit("closemenu")}},render(){const e=this.$props.render,i=t.createVNode("div",{style:this.$attrs.style,onKeydown:this.contentKeyDown},[t.createVNode(Nt,{column:this.$props.column,sortable:this.$props.sortable,sort:this.$props.sort,onClosemenu:this.closeMenu,onSortchange:this.sortChange},null),t.createVNode(_t,{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 r.getTemplate.call(this,{h:t.h,template:"boolean"!=typeof e&&e,defaultRendering:i,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:r.SvgIcon,onClose:Function,onSortchange:Function,onFilterchange:Function},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data:()=>({show:!1,blurTimeout:void 0}),created(){this._anchor=r.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=i.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,i=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} ${i.toLanguageString(te,pt[te])}`,ref:r.setRef(this,"kendoAnchor"),onClick:this.anchorClick,href:"#"},[o?t.createVNode(r.Icon,{name:o.name,icon:o},null):t.createVNode(r.Icon,{name:"more-vertical",icon:n.moreVerticalIcon},null)]),t.createVNode(a.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,t){const r=e[t];return!r||r.parentIndex<0?[]:[r.parentIndex,...Ut(e,r.parentIndex)]}function Yt(e,t,r){var i;const o=e[t];(null==(i=null==o?void 0:o.children)?void 0:i.length)>0&&o.children.forEach(t=>{let i="number"==typeof t?t:e.indexOf(t);i>=0&&!r.has(i)&&(r.add(i),Yt(e,i,r))})}function Xt(e){const{cellsToRender:t,columns:r,rowIndex:i,enableVirtualization:o,columnsMap:l}=e;if(!o||!t||0===t.length)return{columnsToRender:[],colSpans:[]};const n=[],a=[];let s=-1,d=-1;const c=t.reduce((e,t)=>e+t.colSpan,0);let h=[],p=[];const u=r.filter(e=>0===e.children.length),g=new Map;r.forEach((e,t)=>{if(0===e.children.length){const r=u.findIndex(t=>t===e);r>=0&&g.set(r,t)}});const f=new Set;if(t.forEach(e=>{const t=g.get(e.columnIndex);if(void 0!==t){f.add(t);const e=Ut(r,t);e.forEach(e=>f.add(e)),function(e,t,r){t.forEach(t=>{Ut(e,t).forEach(e=>r.add(e))})}(r,e,f),Yt(r,t,f),e.forEach(e=>{Yt(r,e,f)})}}),l&&Array.isArray(l)){for(let e=0;e<l.length;e++)h[e]=l[e].filter(e=>f.has(e));p=h[i]||[]}const m=function(e,t){let r=-1,i=-1;for(let o=0;o<t.length;o++)e[t[o]].locked||(-1===r&&(r=o),i=o);return{first:r,last:i}}(r,p);s=m.first,d=m.last;let v=0,b=0,C=!1;return p.forEach((e,t)=>{n.push(e);const o=r[e],u=o.headerColSpan||1;let g;if(s===d)g=c;else if(t===s){const e=o.virtualColumnOffset?o.virtualColumnOffset:0,{emptyColSpan:t,skipOffset:l}=function(e,t,r){let i=0,o=!1;if(r>0&&t)for(let l=0;l<r;l++){const n=t[l]||[];for(let t=0;t<n.length;t++){const a=e[n[t]];(a.rowSpan||1)>r-l&&(i+=a.headerColSpan||1,0===t&&(o=!0))}}return{emptyColSpan:i,skipOffset:o}}(r,h,i);b+=t,l&&(b+=e,C=!0),g=e>0&&!l?u+e:u}else if(t===d){let o=t===p.length-1;if(null!=l&&l[i]){const t=l[i],n=e;let a=-1;for(let e=t.length-1;e>=0;e--)if(!r[t[e]].locked){a=t[e];break}o=n===a}if(o)g=u;else{const e=c-v-b;if(g=Math.max(e,u),u>e&&a.length>0){const t=u-e;a[0]-=t}}}else g=u;a.push(g),v+=g}),{columnsToRender:n,colSpans:a,skipOffset:C}}function Jt(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Qt={none:"none",asc:"ascending",desc:"descending"},Zt={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},er=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,cellsToRender:Array,columnVirtualization:Boolean,columnsMap:Array,columnResize:Object,columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:Object,isRtl:Boolean,isColCountDefined:Boolean,headerSelectionValue:[Boolean,Array],columnsInitial:Array,onSortChange:Function,onFilterChange:Function,onSelectionchange:Function,onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},inject:{onNavFocus:{default:r.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(),!r.hasListener.call(this,"sortChange"))return;const{allowUnsort:i,mode:o}=vt(this.$props.sortable||!1,t.sortable||!1),l=(this.$props.sort||[]).filter(e=>e.field===t.field)[0],n=Zt[i][l&&l.dir||""],a="single"===o?[]:(this.$props.sort||[]).filter(e=>e.field!==t.field);""!==n&&t.field&&a.push({field:t.field,dir:n}),this.sortChangeHandler(a,{event:e,field:t.field})},sortChangeHandler(e,t){this.$emit("sortChange",e,t)},filterChangeHandler(e,t){this.$emit("filterChange",e,t)},cellClass(e,t,r){let i="k-header"+(r?" k-grid-header-sticky":"")+(t?" "+t:"");return this.$props.sort&&this.$props.sort.filter(t=>t.field===e).length>0&&(i+=" k-sorted"),i},cellKeyDown(e,t){e.defaultPrevented||(e.keyCode===r.Keys.enter&&this.cellClick(e,t),e.altKey&&e.keyCode===r.Keys.down&&t.field&&(e.preventDefault(),this.columnMenuOpened={[t.field]:!0}))},getTemplate(e){return r.templateRendering.call(this.$props.grid,e,r.getListeners.call(this.$props.grid))},columnMenuClose(){this.onNavFocus({}),this.columnMenuOpened={}}},computed:{element(){return this._element},theadClasses:()=>({"k-table-thead":!0})},render(){const e=l.provideLocalizationService(this),o=e.toLanguageString(xe,pt[xe]),a=e.toLanguageString(ye,pt[ye]),s=e.toLanguageString(ke,pt[ke]);this.serviceIndex=0,this.index=-1;const d=this.$props.columnVirtualization,c=function(e,l){const c=Xt({cellsToRender:this.$props.cellsToRender||[],columns:this.$props.columns,rowIndex:l,enableVirtualization:d,columnsMap:this.$props.columnsMap}),h=d;let p=h&&c.columnsToRender?c.columnsToRender:e;const u=h?c.colSpans:[];return p&&0!==p.length?p.map(function(e,l){var d;const h=this.$props.columns[e],p=this.$props.sortable&&h.sortable,g=this.$props.sort?this.$props.sort.findIndex(e=>e.field===h.field):-1,f=g>=0&&this.$props.sort[g].dir||"none",m=function(e){if(!this.$props.sort)return null;const i=e>=0?this.$props.sort[e].dir:"";return e>=0&&[t.createVNode("span",{key:1,class:"k-sort-icon"},[t.createVNode(r.Icon,{name:"sort-"+i+"-small",icon:"asc"===i?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,g),v=h.columnMenu||!1===h.columnMenu?h.columnMenu:this.$props.columnMenu,b=h.menuIcon||this.$props.columnMenuIcon,C=(h.kFirst?"k-first ":"")+this.cellClass(h.field,h.headerClassName,h.locked)+(v?" k-filterable":""),x=v&&"boolean"!=typeof v?this.getTemplate(v):!!v,y=c.skipOffset?{borderLeftWidth:"1px"}:void 0,k=h.locked&&void 0!==h.left?this.$props.isRtl?{left:h.right+"px",right:h.left+"px"}:{left:h.left+"px",right:h.right+"px"}:y,$="none"===Qt[f]?o:"ascending"===Qt[f]?a:s;let S=h.isAccessible?{ariaSort:Qt[f],ariaLabel:$,role:"columnheader",ariaColumnIndex:this.$props.isColCountDefined?this.$props.columnsInitial.findIndex(e=>e.field===h.field)+1:void 0,ariaSelected:!1,ariaHaspopup:v?"menu":this.$props.filterable&&h.filterable?"dialog":void 0}:{role:"columnheader"};const I=h.declarationIndex>=0?++this.index:--this.serviceIndex,R=void 0!==h.columnMenuOpened?h.columnMenuOpened:this.columnMenuOpened[h.field],w=null!=(d=u[l])?d:h.headerColSpan;return t.createVNode(i.HeaderThElement,{ariaSort:p?S.ariaSort:void 0,ariaLabel:p?S.ariaLabel:void 0,role:S.role,ariaColumnIndex:S.ariaColumnIndex,ariaSelected:S.ariaSelected,ariaHaspopup:S.ariaHaspopup,key:I,colSpan:w,rowSpan:h.rowSpan,class:C,style:k,columnId:h.id,navigatable:h.navigatable,onKeydown:e=>this.cellKeyDown(e,h)},{default:()=>{var e,r;return[[0===h.children.length&&v&&t.createVNode(qt,{key:0,column:{field:h.field,filter:h.filter},opened:R,animate:this.$props.columnMenuAnimate,sortable:p,sort:this.$props.sort,onClose:this.columnMenuClose,onSortchange:this.sortChangeHandler,filter:this.$props.filter,filterable:this.$props.filterable&&h.filterable,filterOperators:this.$props.filterOperators,onFilterchange:this.filterChangeHandler,render:x,columnMenuIcon:b},null),h.internalHeaderCell&&t.createVNode("span",{class:"k-cell-inner"},[t.createVNode(h.internalHeaderCell,{key:1,field:h.field,sortable:p,onHeadercellclick:e=>this.cellClick(e,h),onSelectionchange:this.selectionChangeHandler,selectionValue:null!=(e=h.headerSelectionValue)?e:this.$props.headerSelectionValue,title:h.title,render:(h.headerCell||this.$props.cellRender)&&this.getTemplate(h.headerCell||this.$props.cellRender)},Jt(m)?m:{default:()=>[m]})])||t.createVNode("span",{class:"k-cell-inner"},[t.createVNode(xt,{key:1,field:h.field,sortable:p,onHeadercellclick:e=>this.cellClick(e,h),selectionValue:null!=(r=h.headerSelectionValue)?r:this.$props.headerSelectionValue,title:h.title,render:(h.headerCell||this.$props.cellRender)&&this.getTemplate(h.headerCell||this.$props.cellRender)},Jt(m)?m:{default:()=>[m]})]),this.$props.columnResize&&this.$props.columnResize.resizable&&h.resizable&&t.createVNode(bt,{key:2,onResize:(e,t,r)=>this.$props.columnResize&&this.$props.columnResize.dragHandler(e,h,t,r)},null)]]}})},this):[]};return t.createVNode("thead",{role:"rowgroup",class:this.theadClasses,"data-keyboardnavheader":!0},[this.$props.columnsMap.map(function(e,r){let i;return(this.$props.groupable||this.$props.reorderable)&&t.createVNode(Ct,{key:r,onPressHandler:this.pressHandler,onDragHandler:this.dragHandler,onReleaseHandler:this.releaseHandler},Jt(i=c.call(this,e,r))?i:{default:()=>[i]})||t.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":r+1},[c.call(this,e,r)])},this),this.$props.filterRow])}}),tr=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 r=Lt(e,t,this.$props);this.triggerChange(r)},operatorChange(e,t){const r=Kt(e.value.operator,t,this.$props.value);this.triggerChange(r)},boolDropdownChange(e,t){const r=Gt(e.value.operator,t);this.triggerChange(r)},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:i}=this.$props,o=this.$props.operators.find(e=>e.operator===this.$props.operator)||null,a=t.createVNode("div",{class:"k-filtercell",style:this.$attrs.style},[t.createVNode("div",{class:"k-filtercell-wrapper"},[function(e,r){let o;switch(e){case"numeric":return t.createVNode(p.NumericTextBox,{size:i,value:r,onChange:e=>{this.inputChange(e.value,e.event)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"date":return t.createVNode(u.DatePicker,{size:i,value:r,onChange:e=>{this.inputChange(e.value,e)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"boolean":return o=this.$props.booleanValues,t.createVNode(h.DropDownList,{onChange:this.boolDropdownChange,size:i,value:o.find(e=>e.operator===(null!==r?r:"")),"data-items":o,textField:"text",title:this.$props.title,ariaLabel:this.ariaLabel},null);default:return t.createVNode(p.TextBox,{value:r||"",size:i,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(h.DropDownList,{onChange:this.operatorChange,value:o,size:i,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,pt[me]),popupSettings:{width:"",anchor:""},ariaLabel:this.ariaLabel},null)}.call(this),t.createTextVNode(" "),t.createVNode(c.Button,{type:"button",size:i,icon:"filter-clear",svgIcon:n.filterClearIcon,class:{"k-disabled":!(null!==this.$props.value&&""!==this.$props.value||this.$props.operator)},title:e.toLanguageString(ie,pt[ie]),onClick:this.clear},null)])])]),s=this.$props.grid?r.getListeners.call(this.$props.grid):null,d=r.templateRendering.call(this.$props.grid,this.$props.render,s);return r.getTemplate.call(this,{h:t.h,template:d,defaultRendering:a,additionalProps:this.$props,additionalListeners:{change:this.triggerChange}})}});const rr=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,cellsToRender:Array,columnVirtualization:Boolean,columnsMap:Array,onFilterchange:Function},inject:{kendoLocalizationService:{default:null}},methods:{headerCellClassName(e,t){let r=t?" k-grid-header-sticky":"";return this.$props.sort&&this.$props.sort.filter(t=>t.field===e).length>0&&(r+=" k-sorted"),r},setFilter(e,t,r,i){const o=[];(""!==e&&null!==e||""!==t)&&o.push({field:r,operator:t,value:e}),this.$props.filter&&this.$props.filter.filters&&(this.$props.filter.filters||[]).forEach(e=>{const t=e;t&&t.field!==r&&o.push(t)});const l=o.length>0?{logic:"and",filters:o}:null;this.$emit("filterchange",l,i)}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=l.provideLocalizationService(this),r=this.$props.filter&&this.$props.filter.filters||[],o=(e,t=null)=>{const i=r.filter(t=>t.field===e)[0];return i?i.value:t},n=e=>{const t=r.filter(t=>t.field===e)[0];return t?t.operator:null};let a=0,s=-1;const d=Xt({cellsToRender:this.$props.cellsToRender||[],columns:this.$props.columns,rowIndex:0,enableVirtualization:this.$props.columnVirtualization,columnsMap:this.$props.columnsMap}),c=d.columnsToRender.length>0,h=this.$props.columns.filter(e=>0===e.children.length),p=c?d.columnsToRender.map(e=>this.$props.columns[e]).filter(e=>0===e.children.length):h,u=c?d.colSpans:[],g=p.map(function(r,l){const d=Dt(r.filter),h=(r.title||r.field)+" "+((e,t)=>{switch(e){case"text":return t.toLanguageString(Xe,pt[Xe]);case"numeric":return t.toLanguageString(we,pt[we]);case"boolean":return t.toLanguageString(Je,pt[Je]);case"date":return t.toLanguageString(Ye,pt[Ye]);default:return}})(d,e),p=t.createVNode(tr,{grid:this.$props.grid,field:r.field,title:r.filterTitle,value:o(r.field,"text"===d?"":null),operator:n(r.field),operators:Et(this.$props.filterOperators[d]||[],e),booleanValues:Et(At,e),filterType:d,onChange:e=>{this.setFilter(e.value,e.operator,r.field,e)},render:r.filterCell||this.$props.cellRender,"aria-label":h,size:this.$props.size},null),g=r.declarationIndex>=0?++s:--a,f={ariaLabel:r.filterable?e.toLanguageString(Re,pt[Re]):void 0,ariaColumnIndex:r.ariaColumnIndex},m=r.locked&&void 0!==r.left?this.$props.isRtl?{left:r.right+"px",right:r.left+"px"}:{left:r.left+"px",right:r.right+"px"}:void 0,v=c&&void 0!==u[l]?u[l]:void 0,b=t.createVNode(i.HeaderTdElement,{key:g,role:"gridcell",columnId:i.tableKeyboardNavigationTools.getFilterColumnId(r.id),navigatable:r.navigatable,style:m,class:this.headerCellClassName(r.field,r.locked)||void 0,ariaColumnIndex:f.ariaColumnIndex,"aria-label":h,colSpan:v},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(p)?p:{default:()=>[p]});return r.filterable&&b||t.createVNode(i.HeaderTdElement,{key:g,role:"gridcell",columnId:i.tableKeyboardNavigationTools.getFilterColumnId(r.id),navigatable:r.navigatable,style:m,class:this.headerCellClassName(r.field,r.locked)||void 0,ariaColumnIndex:f.ariaColumnIndex,"aria-label":h,colSpan:v},null)},this);return t.createVNode("tr",{class:"k-table-row k-filter-row","aria-rowindex":this.ariaRowIndex,role:"row"},[g])}}),ir=t.defineComponent({props:{title:String,dir:String,onRemove:Function,onSortChange:Function,onPress:Function,onDrag:Function,onRelease:Function},mounted(){this.element=r.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)},handleKeyDown(e){(e.keyCode===r.Keys.delete||e.keyCode===r.Keys.backspace)&&(e.preventDefault(),e.stopPropagation(),this.$emit("remove",e))},groupRemove(e){e.preventDefault(),this.$emit("remove",e)}},setup:()=>({indicatorContainerRef:t.ref(null)}),render(){return t.createVNode(r.Draggable,{onPress:this.press,onDrag:this.drag,onRelease:this.release,ref:"draggable"},{default:()=>[t.createVNode("div",{class:"k-chip",ref:r.setRef(this,"indicatorContainer"),tabindex:"0",role:"button",onClick:this.sortChange,onKeydown:this.handleKeyDown,style:{touchAction:"none"}},[t.createVNode(r.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"},[t.createVNode("span",{class:"k-chip-label"},[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(r.Icon,{name:"x-circle",icon:n.xCircleIcon},null)])])])]})}}),or=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 r=this.$props.group.slice();r.splice(t,1),this.$emit("groupChange",r,e)},onGroupSortChange(e,t,r,i){const o=Object.assign({},r,{dir:i}),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||[],r=this.$props.ariaControls,i=e.map(function(e,r){return t.createVNode(ir,{key:r,dir:e.dir||"asc",title:this.$props.resolveTitle(e.field),onRemove:e=>this.onGroupRemove(e,r),onSortChange:(t,i)=>{this.onGroupSortChange(t,r,e,i)},onPress:this.pressHandler,onDrag:this.dragHandler,onRelease:this.releaseHandler},null)},this),o=l.provideLocalizationService(this).toLanguageString(Qe,pt[Qe]);return t.createVNode("div",{class:"k-grouping-header",role:"toolbar","aria-label":o,"aria-controls":r},[!!i.length&&t.createVNode("div",{class:"k-chip-list k-chip-list-md"},[i]),t.createVNode("div",{class:"k-grouping-drop-container"},[!i.length&&l.provideLocalizationService(this).toLanguageString(Q,pt[Q])])])}}),lr=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-${r.kendoThemeMaps.sizeMap[e]||e}`]:e}},tableStyle(){return this.tableWidth?{width:this.tableWidth}:null}},mounted(){this.rtl=C(this.$el),this.$props.columnResize.colGroupFooter=r.getRef(this,"colGroupHeader"),this._footerWrap=r.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",role:"presentation"},[t.createVNode("div",{class:"k-grid-footer-wrap",ref:r.setRef(this,"footerWrap"),role:"presentation"},[t.createVNode("table",{class:this.tableClass,style:this.tableStyle,role:"presentation"},[t.createVNode("colgroup",{ref:r.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])}}),nr=t.defineComponent({name:"FooterCell",props:{column:Object,columnIndex:Number,isRtl:Boolean,rowIndex:Number,cells:Object},inject:{getKeyboardNavigationAttributes:{default:r.noop}},computed:{columnStyles(){const e=this.$props.column;if(e.locked&&void 0!==e.left)return this.$props.isRtl?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}},tdClassName(){const e=this.$props.column,t=e.locked&&void 0!==e.left?"k-grid-footer-sticky":"";return e.footerClassName?`k-table-td ${e.footerClassName} ${t}`:"k-table-td "+t}},render(){var e,o;const l=this.$props.column,n=`footer-${this.$props.rowIndex}-${this.$props.columnIndex}`,a=this.getKeyboardNavigationAttributes(n,!0),s=r.getTemplate.call(this,{h:t.h,template:l.footerCell||(null==(e=l.cells)?void 0:e.footerCell)||(null==(o=this.$props.cells)?void 0:o.footerCell),defaultRendering:null,additionalProps:{field:l.field,colSpan:1===l.colSpan?void 0:l.colSpan,defaultStyle:this.columnStyles}});return t.createVNode("td",{key:this.$props.columnIndex,colspan:1===l.colSpan?void 0:l.colSpan,style:this.columnStyles,class:this.tdClassName,role:"gridcell",tabindex:a.tabIndex,"data-keyboardnavlevel":a[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":a[i.KEYBOARD_NAV_DATA_ID]},[s])}}),ar=t.defineComponent({name:"FooterRow",props:{isRtl:Boolean,columns:Array,rowIndex:Number,cells:Object},render(){return t.createVNode("tr",{class:"k-table-row",role:"row","aria-rowIndex":this.$props.rowIndex},[w(this.$props.columns).map((e,r)=>t.createVNode(nr,{key:e.field||e.title||`footer-cell-${r}`,column:e,columnIndex:r,isRtl:this.$props.isRtl,rowIndex:this.$props.rowIndex,cells:this.$props.cells},null))])}}),sr=t.defineComponent({name:"GridTable",props:{selectable:Object,tableClassName:String},setup(e,{slots:r}){const{selectionRelease:o}=t.inject("kendo",{});return()=>t.createVNode(i.TableSelection,{selectable:e.selectable,onRelease:o},{default:()=>{var i;return[t.createVNode("table",{style:{tableLayout:"fixed"},role:"none",class:e.tableClassName},[null==(i=r.default)?void 0:i.call(r)])]}})}}),dr=t.defineComponent({name:"GridTableScrollable",props:{selectable:Object,tableClassName:Object,tableStyle:Object},setup(e,{slots:r}){const{selectionRelease:o}=t.inject("kendo",{});return()=>{const l={...e.tableStyle};return t.createVNode(i.TableSelection,{selectable:e.selectable,onRelease:o},{default:()=>{var i;return[t.createVNode("table",{role:"none",class:e.tableClassName,style:l},[null==(i=r.default)?void 0:i.call(r)])]}})}}});let cr=class{constructor(){this.table=null,this.tableBody=null,this.container=null,this.scrollHeightContainer=null,this.total=0,this.scrollableVirtual=!1,this.pageSize=0,this.fixedScroll=!1,this.tableTransform="",this.scrollSyncing=!1,this.firstToLoad=0,this.lastScrollTop=0,this.firstLoaded=0,this.lastLoaded=0,this.scrollHandler=this.scrollHandler.bind(this)}reset(){this.firstToLoad=0,this.firstLoaded=0,this.lastLoaded=0,this.rowHeightService=void 0,!this.fixedScroll&&this.container&&0!==this.container.scrollTop&&(this.scrollSyncing=!0,this.container.scrollTop=0,this.lastScrollTop=0,this.translate(0,!0))}scrollHandler(e){if(this.scrollSyncing)return void(this.scrollSyncing=!1);if(!(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&this.container))return;const t=this.container.scrollTop,r=this.lastScrollTop>=t,i=!r;this.lastScrollTop=t;const o=this.container.offsetHeight;let l=this.rowHeightService.index(t);const n=this.rowHeightService.index(t+o),a=Math.max(l+this.pageSize-this.total,0);if(l=Math.max(l-a,0),i&&n>=this.lastLoaded&&this.lastLoaded<this.total-1)this.firstToLoad=l,this.loadPage(e);else if(r&&l<this.firstToLoad){const t=Math.max(Math.floor(.3*this.pageSize)-a,0);this.firstToLoad=Math.max(l-t,0),this.loadPage(e)}}update(){var e;const t=this.getItemHeights();if(this.firstLoaded>this.firstToLoad){const e=Math.min(this.firstLoaded-this.firstToLoad,this.pageSize),r=this.getTotalHeight(e,t)-this.getExpectedTotalHeight(e);0!==r&&this.adjustScroll(r)}null==(e=this.rowHeightService)||e.update(this.firstToLoad,t),this.setScrollHeightContainerHeight(),this.firstLoaded=this.firstToLoad,this.lastLoaded=this.firstLoaded+t.length-1}loadPage(e){this.rowHeightService&&(this.translate(this.rowHeightService.offset(this.firstToLoad),!0),this.changePage(this.firstToLoad,e))}translate(e,t){this.scrollableVirtual&&this.table&&(t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}changePage(e,t){this.PageChange&&this.PageChange({skip:Math.max(0,e),take:this.pageSize},t)}adjustScroll(e){this.scrollSyncing=!0,this.container&&(this.container.scrollTop+=e)}setScrollHeightContainerHeight(){var e;if(this.scrollableVirtual&&this.scrollHeightContainer){let t=(null==(e=this.rowHeightService)?void 0:e.totalHeight())||0;t=E?Math.min(A,t):t,this.scrollHeightContainer.style.height=t+"px"}}getItemHeights(){const e=[];return this.tableBody&&Array.from(this.tableBody.children).forEach(t=>{const r=t.getBoundingClientRect().height;t.classList.contains("k-detail-row")?e[e.length-1]+=r:e.push(r)}),e}getTotalHeight(e,t){return t.slice(0,e).reduce((e,t)=>e+t,0)}getExpectedTotalHeight(e){const t=this.rowHeightService;if(!t)return 0;const r=this.firstToLoad+(e-1);return t.offset(r)+t.height(r)-t.offset(this.firstToLoad)}};class hr{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)||[],r=H(this.columnsState),i=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],l=i[e];let n="";const a=r.find(t=>t.id===i[e].id);a&&(n=this.applyWidthConstraints(a,l)),o.width=n,this.colGroupHeader&&(this.colGroupHeader.children[e].width=n),this.colGroupFooter&&(this.colGroupFooter.children[e].width=n),this.colGroupStickyHeader&&(this.colGroupStickyHeader.children[e].width=n),this.colGroupStickyFooter&&(this.colGroupStickyFooter.children[e].width=n)}},this.dragHandler=(e,t,r,i)=>{const o=e.originalEvent;i||(o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation());const l=r.closest("th");if(!l)return;const n=l.clientWidth;let a=n;if(this.isRtl?a+=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX:a+=e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!i&&Math.abs(a-n)<1)return;this.fixateInitialWidths(l.parentElement.clientWidth),this.setWidths(t,Math.floor(a)/n);const s=this.columns.filter(e=>!e.children.length).findIndex(e=>e.id===t.id);this.onResize(s,n,a,o,i,this.columnsState,t.id)},this.dblClickHandler=(e,t)=>{const r=this.columns.filter(e=>t.indexOf(e.id)>-1),i=H(this.columnsState);if(!this.colGroupMain||!r.length)return;const o={},l=r;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),a=[];n.forEach((e,t)=>{o[e.id]&&a.push(t)});const s=[this.colGroupMain.parentElement],d=[this.colGroupMain];this.colGroupHeader&&(s.push(this.colGroupHeader.parentElement),d.push(this.colGroupHeader)),this.colGroupFooter&&(s.push(this.colGroupFooter.parentElement),d.push(this.colGroupFooter)),this.colGroupStickyHeader&&(s.push(this.colGroupStickyHeader.parentElement),d.push(this.colGroupStickyHeader)),this.colGroupStickyFooter&&(s.push(this.colGroupStickyFooter.parentElement),d.push(this.colGroupStickyFooter)),s.forEach(e=>e.classList.add("k-autofitting"));const c=[];d.forEach(e=>{a.forEach(t=>{e.children[t]&&(e.children[t].width="",c[t]=Math.max(c[t]||0,e.children[t].offsetWidth+1))})}),d.forEach(e=>{a.forEach(t=>{if(e.children[t]){e.children[t].width=c[t]+"px";const r=i.find(e=>e.id===n[t].id);r&&(r.width=c[t])}})}),s.forEach(e=>e.classList.remove("k-autofitting")),this.onResize(a[0],0,0,e,!0,this.columnsState,t[0])},this.updateColElements=e=>{var t,r,i,o,l;const n=this.columns.filter(e=>!e.hidden&&!e.children.length);let a=1e-10;for(let s=0;s<e.length;s++){const d=e[s],c=n.findIndex(e=>e.id===d.id),h=parseFloat((d.width||0).toString()),p=Math.floor(h);a+=h-p;const u=p+Math.floor(a);a-=Math.floor(a);const g=n.find(e=>e.id===d.id);if(!g)return;if(null!=(t=this.colGroupMain)&&t.children[c]){const e=parseInt(this.colGroupMain.children[c].width,10);this.colGroupMain.children[c].width=u+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,g,e-u)}if(null!=(r=this.colGroupHeader)&&r.children[c]){const e=parseInt(this.colGroupHeader.children[c].width,10);this.colGroupHeader.children[c].width=u+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,g,e-u)}if(null!=(i=this.colGroupFooter)&&i.children[c]){const e=parseInt(this.colGroupFooter.children[c].width,10);this.colGroupFooter.children[c].width=u+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,g,e-u)}if(null!=(o=this.colGroupStickyHeader)&&o.children[c]){const e=parseInt(this.colGroupStickyHeader.children[c].width,10);this.colGroupStickyHeader.children[c].width=u+"px",this.updateNextLockedCol(this.colGroupStickyHeader.parentElement,g,e-u)}if(null!=(l=this.colGroupStickyFooter)&&l.children[c]){const e=parseInt(this.colGroupStickyFooter.children[c].width,10);this.colGroupStickyFooter.children[c].width=u+"px",this.updateNextLockedCol(this.colGroupStickyFooter.parentElement,g,e-u)}}},this.onResize=e}applyWidthConstraints(e,t,r=1){var i;if(!e.width)return e.width||"";const o=e.width.toString();if(o.includes("%")){const t=parseFloat(o)*r,i=Math.max(0,Math.min(100,t));return e.width=i+"%",e.width}let l=parseFloat(o)*r;const n=null!=(i=t.minResizableWidth)?i:10,a=null==t?void 0:t.minWidth,s=void 0!==a?Math.max(n,a):n,d=null==t?void 0:t.maxWidth;return l<s&&(l=s),void 0!==d&&l>d&&(l=d),e.width=l,l}fixateInitialWidths(e){var t;let r=0;const i=(null==(t=this.colGroupMain)?void 0:t.children)||[];for(let t=0;t<i.length;t++)i[t].width?e-=i[t].clientWidth:r++;if(0===r)return;const o=Math.floor(e/r),l=H(this.columnsState),n=this.columns.filter(e=>!e.children.length);for(let e=0;e<i.length;e++){const t=i[e],r=t.width?t.clientWidth:o;t.width=r;const a=l.find(t=>t.id===n[e].id);a&&(a.width=r.toString()),this.colGroupHeader&&(this.colGroupHeader.children[e].width=r),this.colGroupFooter&&(this.colGroupFooter.children[e].width=r),this.colGroupStickyHeader&&(this.colGroupStickyHeader.children[e].width=r),this.colGroupStickyFooter&&(this.colGroupStickyFooter.children[e].width=r)}}setWidths(e,t){const r=H(this.columnsState),i=this.columns.findIndex(t=>t.id===e.id),o=[];let l=e.children.filter(e=>!e.hidden).length;for(let e=i+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 i=r.find(t=>t.id===e.id);i&&(this.applyWidthConstraints(i,e,t),n.push(i))}),this.updateColElements(n)}updateNextLockedCol(e,t,r){const i=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&&r){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>i&&null!=o&&o.right&&(o.right=parseInt(o.right,10)-r+"px"),t.index<i&&null!=o&&o.left&&(o.left=parseInt(o.left,10)-r+"px")):(t.index>i&&null!=o&&o.left&&(o.left=parseInt(o.left,10)-r+"px"),t.index<i&&null!=o&&o.right&&(o.right=parseInt(o.right,10)-r+"px"))})}})}}let pr=class{constructor(e,t,i){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&&r.canUseDOM&&document.body.appendChild(this.dropElementClue.$el)},this.refDragElementClue=e=>{this.dragElementClue=e,this.dragElementClue&&r.canUseDOM&&document.body.appendChild(this.dragElementClue.$el)},this.pressHandler=(e,t)=>{e.isTouch||e.originalEvent.preventDefault();const r=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),r>=0){const e=this.columns[r];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=r)}},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 r=this.groupPanelDivElement&&this.groupPanelDivElement.children;this.currentGroup=this.isTargetGroupingContainer(e)?r&&r.length?r.length:0:this.getGroupIndex(e);const i=!this.isValid();i&&(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,i),this.updateDropElementClue(e,t,o,i)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,i=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&&r>=0?this.columnReorder(t,r,e.originalEvent):i>=0&&o>=0?this.groupReorder(i,o,e.originalEvent):t>=0&&o>=0&&this.columnToGroup(t,o,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=i}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const r=x(e,t);if(-1===r)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===r&&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,r,i){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=i||!r?"cancel":"plus"}updateDropElementClue(e,t,r,i){if(!this.dropElementClue)return;if(i||!r)return void(this.dropElementClue.visible=!1);const o=r.getBoundingClientRect(),l=(r.closest(".k-grouping-header")||r).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 a=l.top+e.pageY-e.clientY;this.dropElementClue.visible=!0,this.dropElementClue.top=a,this.dropElementClue.left=n,this.dropElementClue.height=this.currentColumn>=0?t.clientHeight:l.height}};const ur=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(r.Icon,{name:this.status,class:"k-drag-status",icon:"cancel"===this.status?n.cancelIcon:n.plusIcon},null),this.innerText])}}),gr=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)}}),fr=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,locked:Boolean,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:r.noop}},computed:{tdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-grid-content-sticky":t,[e]:e}},tdStyle(){const{locked:e}=this.$props,t=e?{position:"sticky",zIndex:2}:{};return{...this.$attrs.style,...t}},groupTdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-group-cell":!0,"k-grid-content-sticky":t,[e]:e}}},methods:{triggerStateChange(){var e;const t=this.kendo;null==(e=null==t?void 0:t.dispatchGroupExpand)||e.call(t,{type:i.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===r.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,r){e.preventDefault(),this.$emit("change",{dataItem:t,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!r}),this.triggerStateChange()}},render(){let e=null;const{columnIndex:o,level:a,columnsCount:s,rowType:d,dataItem:c,field:h,expanded:p,render:u,locked:g}=this.$props,f=this.getKeyboardNavigationAttributes(this.$props.id),m=l.provideLocalizationService(this).toLanguageString(Ze,pt[Ze]),v=l.provideLocalizationService(this).toLanguageString(et,pt[et]);if(void 0===o||void 0===a||o<a||void 0===s||"groupHeader"!==d||void 0===c[h])e=t.createVNode("td",{style:this.$attrs.style,key:"g"+o,class:this.groupTdClass},null);else if(o<=a){const l=t.createVNode("td",{style:this.tdStyle,onKeydown:e=>{this.triggerKeydown(e,p)},key:"g-colspan",class:g?"k-table-td":this.tdClass,colspan:g?0:s-o,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"aria-expanded":p,"data-grid-col-index":this.$props.columnIndex,tabindex:f.tabIndex,"data-keyboardnavlevel":f[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":f[i.KEYBOARD_NAV_DATA_ID]},[t.createVNode("p",{class:"k-reset"},[t.createVNode("a",{onClick:e=>{this.clickHandler(e,c,p)},href:"#",tabindex:-1,title:p?m:v,"aria-label":p?m:v},[t.createVNode(r.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)]),c[h]?c[h].toString():""])]),a={className:"k-table-td",role:"gridcell",colSpan:s-o,style:{borderLeftWidth:0,borderRightWidth:0}},d=g?t.createVNode("td",a,null):null;e=d?[l,d]:l}return r.getTemplate.call(this,{h:t.h,template:u,defaultRendering:e,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}}),mr=t.defineComponent({name:"KendoGridRow",props:{rowType:String,item:Object,isAltRow:Boolean,isHidden:Boolean,isHighlighted:Boolean,onClick:Function,isInEdit:Boolean,isSelected:Boolean,selectedField:String,rowHeight:Number,ariaRowIndex:Number,absoluteRowIndex: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:r,isHighlighted:i,isSelected:o}=this.$props;return{"k-table-row":!0,"k-selected":o,"k-highlighted":i,"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":r}}},render(){const e=r.getDefaultSlots(this),i=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,"absolute-row-index":this.$props.absoluteRowIndex,"data-grid-row-index":"data"===this.$props.rowType?this.$props.dataIndex:void 0},[e]);return r.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:i,additionalProps:{...this.$props,dataItem:this.$props.item.dataItem},additionalListeners:{click:this.handleClick},defaultSlots:e,swapDefaultSlots:!0})}}),vr={id:String,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(){}},cells:Object,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],lockGroups:Boolean,defaultFilter:Object,filter:Object,defaultSearch:Object,search:Object,searchFields:Array,highlight:Object,pageable:[Boolean,Object],pageSize:Number,total:Number,fixedScroll:Boolean,skip:Number,defaultSkip:Number,take:Number,defaultTake:Number,expandField:String,expandColumn:Object,selectedField:String,cellRender:[String,Function,Object],rowRender:[String,Function,Object],rowSpannable:[Boolean,Object],resizable:Boolean,reorderable:Boolean,group:Array,defaultGroup:Array,groupable:[Boolean,Object],groupExpand:Array,defaultGroupExpand:Array,detailExpand:Object,defaultDetailExpand:Object,editField:String,rowClass:Function,select:Object,defaultSelect:Object,selectable:[Boolean,Object],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:r.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},br=t.defineComponent({props:{field:String,title:String,selectionValue:Boolean,render:[Object,Function,String]},created(){this.inputId=r.guid()},inject:{kendoLocalizationService:{default:null}},methods:{changeHandle(e){this.$emit("selectionchange",{field:this.$props.field,event:e})}},render(){const e=this.$props.render,i=l.provideLocalizationService(this).toLanguageString(M,pt[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":i,onChange:this.changeHandle},null),n=r.getTemplate.call(this,{h:t.h,template:e,defaultRendering:o,additionalProps:{...this.$props,selectAll:i},additionalListeners:{selectionchange:this.changeHandle}}),a=e?n:t.createVNode("span",{class:"k-checkbox-wrap"},[n]);return t.createVNode("span",{class:"k-link"},[t.createVNode("span",{class:"k-column-title"},[a])])}}),Cr=t.defineComponent({name:"GridNoRecords",inject:{kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=r.getDefaultSlots(this),i=l.provideLocalizationService(this).toLanguageString(z,pt[z]);return e?t.createVNode("div",null,[e]):i}}),xr=t.defineComponent({name:"GridNoRecordsContainer",props:{id:String},render(){const e=r.getDefaultSlots(this),o=r.uGrid;return t.createVNode("div",{key:"no-records",class:r.classNames(o.noRecords({}))},[t.createVNode("div",t.mergeProps({class:r.classNames(o.noRecordsTemplate({}))},{[i.KEYBOARD_NAV_DATA_ID]:this.$props.id}),[e])])}}),yr={name:"@progress/kendo-vue-grid",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:0,version:"8.1.0-develop.4",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};function kr(e){const t=e.replace(/^pager\.([a-z])/,(e,t)=>"grid.pager"+t.toUpperCase());return{messageKey:t,defaultMessage:pt[t]}}const $r=Symbol("kendoKey"),Sr=t.defineComponent({name:"GridCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null},props:{id:String,field:String,dataItem:Object,format:String,readFormat:String,className:String,columnType:String,colSpan:Number,columnIndex:Number,columnsCount:Number,dataIndex:Number,rowType:String,level:Number,expanded:Boolean,type:String,editor:String,rowSpan:[Number,Object],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:r.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,isSelected:t,isHighlighted:r}=this.$props;return{"k-table-td":!0,"k-selected":t,"k-highlighted":r,[e]:e}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){var e,o,l;let n=null;const a=this.getKeyboardNavigationAttributes(this.$props.id);let s={};if(null===(null==(e=this.$props.rowSpan)?void 0:e.count))return null;if("groupFooter"===this.$props.rowType)s={class:this.tdClass,onKeydown:this.triggerKeydown,onClick:this.triggerClick,tabindex:a.tabIndex,"data-keyboardnavlevel":a[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":a[i.KEYBOARD_NAV_DATA_ID]},n=t.createVNode("td",s,null);else if(void 0!==this.$props.field&&"groupHeader"!==this.$props.rowType){const e=v(this.$props.field,this.$props.dataItem);let r="";null!=e&&(r=this.$props.format?this.$props.type?this._intl.format(this.$props.format,N[this.$props.type](e,this._intl,this.$props.readFormat)):this._intl.format(this.$props.format,e):e.toString()),s={style:this.$attrs.style,colspan:this.$props.colSpan,rowspan:null!=(l=null==(o=this.$props.rowSpan)?void 0:o.count)?l:void 0,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:a.tabIndex,"data-keyboardnavlevel":a[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":a[i.KEYBOARD_NAV_DATA_ID]},n=t.createVNode("td",s,[r])}return r.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:n,additionalProps:{...this.$props,tdProps:s},additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),Ir=t.defineComponent({name:"GridEditCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnType:String,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:r.noop}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},data:()=>({inputId:r.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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[i.KEYBOARD_NAV_DATA_ID]},[t.createVNode(p.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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[i.KEYBOARD_NAV_DATA_ID]},[t.createVNode(u.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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[i.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[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[i.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 r.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}})}}),Rr=(e,o,l,n,a,s)=>{const{leafColumns:d,selectedField:c,dataItemKey:h,select:p,highlight:u,editField:g,cellRender:f,cells:m,itemChange:v,selectionChangeHandler:b,editHandler:C,removeHandler:x,saveHandler:y,cancelHandler:k,cellClickHandler:$,cellKeydownHandler:S,computedCollapsed:I,uniqueField:R,columnsRef:w,isRtl:N,idPrefix:V}=e,T=p&&h&&void 0!==r.getter(h)(o.dataItem)?p[r.getter(h)(o.dataItem)]:void 0,H=c?r.getNestedValue(c,o.dataItem):T,E=u&&h&&void 0!==r.getter(h)(o.dataItem)?u[r.getter(h)(o.dataItem)]:void 0,A=(({leafColumns:e,editField:t,item:i})=>{if(!t)return!1;for(const o of e)if(o.editable){const e=r.getNestedValue(t,i.dataItem);if(!0===e||e===o.field)return!0}return!1})({leafColumns:d,editField:g,item:o}),L=(({selectedField:e,dataItemKey:t,select:i,item:o})=>{if(e){const t=r.getNestedValue(e,o.dataItem);return"boolean"==typeof t&&t}if(i&&t&&void 0!==r.getter(t)(o.dataItem)){const e=i[r.getter(t)(o.dataItem)];return"boolean"==typeof e&&e}return!1})({selectedField:c,dataItemKey:h,select:p,item:o}),O=(({highlight:e,dataItemKey:t,item:i})=>{if(e&&t&&void 0!==r.getter(t)(i.dataItem)){const o=e[r.getter(t)(i.dataItem)];return"boolean"==typeof o&&o}return!1})({highlight:u,dataItemKey:h,item:o});return{row:(e.hasDynamicColSpan?e.getCellsToRender(o.dataItem,d):e.cellsToRender).map(({columnIndex:e,colSpan:a})=>{var c,h,p,u,T,A;const L=d[e];let O;if(null!=(c=L.rowSpannable)&&c.enabled&&"data"===o.rowType&&L.field&&s){const e=L.field?null==(p=(h=L.rowSpannable).valueGetter)?void 0:p.call(h,o.dataItem,L.field):null;O={value:e,count:1},s[L.field]&&(null==(u=s[L.field])?void 0:u.value)===e&&null!==s[L.field]?(s[L.field].count++,O.count=null):s[L.field]=O}const D=`${L.className?L.className+" ":""}${L.locked?"k-grid-content-sticky":""}`,G=N?{left:L.right+"px",right:L.left+"px"}:{left:L.left+"px",right:L.right+"px"},K=L.locked&&void 0!==L.left?G:void 0;let z,M=!1;if(L.editable&&g){const e=r.getNestedValue(g,o.dataItem);(!0===e||e===L.field)&&(M=!0)}"groupFooter"===o.rowType?z=(null==(T=L.cells)?void 0:T.groupFooter)||(null==m?void 0:m.groupFooter)||L.cell:L.cell&&(z=L.cell);const B=null==(A=null==I?void 0:I[o.level])?void 0:A.some(e=>e===F(o.dataItem,R)),j=L.id?L.id:e,P=B?!B:o.expanded||o.dataItem.expanded,_="expand"===L._type,W=i.tableKeyboardNavigationTools.generateNavigatableId(`${l}-${String(e)}`,V,_||"groupHeader"===o.rowType||"groupFooter"===o.rowType||"value"===L.field?"nodata":"cell"),q={locked:L.locked,key:j,id:W,colSpan:a,dataItem:o.dataItem,field:L.field||"",editor:L.editor,format:L.format,readFormat:L.readFormat,type:L.type,columnType:L.columnType,className:D,render:z||f,onChange:v,onSelectionchange:t=>b({event:t,dataItem:o.dataItem,dataIndex:n,columnIndex:e}),onCellclick:$,onCellkeydown:S,onEdit:C,onRemove:x,onSave:y,onCancel:k,columnIndex:e,columnsCount:w.filter(e=>!e.children.length).length,rowType:o.rowType,level:o.level,expanded:P,dataIndex:o.dataIndex,style:K,ariaColumnIndex:L.ariaColumnIndex,isRtl:N,isSelected:!!("edit"===(null==L?void 0:L._type)?H:Array.isArray(H)&&H.indexOf(e)>-1),isHighlighted:!("boolean"==typeof E||!E||!L.field||!0!==E[L.field]),group:o.group,rowSpan:O};return L.internalCell?t.createVNode(L.internalCell,q,null):M?t.createVNode(Ir,q,null):t.createVNode(Sr,q,null)}),isInEdit:A,isSelected:L,isHighlighted:O}},wr=t.defineComponent({name:"StickyGroupTable",props:{size:String,items:Array,cols:Array,dataRowContext:{type:Object,required:!0},position:{type:String,required:!0},isStackedMode:Boolean,groupLevelCount:Number,rowHeight:Number},inject:{sticky:{default:null}},mounted(){this.tableRef=r.getRef(this,"table"),this.colGroupRef=r.getRef(this,"colGroup")},updated(){this.tableRef=r.getRef(this,"table"),this.colGroupRef=r.getRef(this,"colGroup")},computed:{isTop(){return"top"===this.position},stickyItems(){return this.isTop?this.sticky.headerItems||[]:this.sticky.footerItems||[]},hasContent(){return this.stickyItems.length>0},containerClassName(){return r.classNames(r.uGrid.stickyContainer({bottom:!this.isTop}))},tableClassName(){return r.classNames(r.uGrid.table({size:this.size}))}},methods:{setWidth(e){const t=r.getRef(this,"tableRef");t&&(t.style.width=e?e+"px":"")},setScrollLeft(e){const t=this.$el;t&&t.scrollLeft!==e&&(t.scrollLeft=e)},renderRows(){return this.stickyItems.map((e,i)=>{const{item:o,flatIndex:l}=e,n=this.dataRowContext.dataItemKey&&r.getter(this.dataRowContext.dataItemKey)(o.dataItem)||"ai"+l,a=Rr(this.dataRowContext,o,n,i),s=this.isTop?"groupHeader":"groupFooter";return t.createVNode(mr,{key:n,rowType:s,item:o,dataIndex:-1,ariaRowIndex:i,absoluteRowIndex:l,isAltRow:!1,isHidden:!1,rowHeight:this.$props.rowHeight,isSelected:!1,isInEdit:!1},{default:()=>[a.row]})})}},render(){return t.createVNode("div",{class:this.containerClassName,style:{display:this.hasContent?"":"none"}},[t.createVNode("table",{ref:r.setRef(this,"table"),class:this.tableClassName},[t.createVNode("colgroup",{ref:r.setRef(this,"colGroup")},[this.$props.cols]),t.createVNode("tbody",{class:r.classNames(r.uGrid.tbody({}))},[this.renderRows()])])])}});function Nr(e,t,r,i,o){var l;const n=[],a=null!=o?o:r,s=[];for(const e of t.values())if(e.headerIndex<r){const t=null!=(l=e.footerIndex)?l:e.lastChildIndex;t>e.headerIndex&&t>=a&&s.push(e)}const d=new Map;for(const e of s){const t=d.get(e.level);(!t||e.headerIndex>t.headerIndex)&&d.set(e.level,e)}const c=Array.from(d.keys()).sort((e,t)=>e-t);for(const t of c){const r=d.get(t);n.push({item:e[r.headerIndex],flatIndex:r.headerIndex})}return n}function Vr(e,t,r,i){const o=[],l=[];for(const e of t.values())null!==e.footerIndex&&e.footerIndex>i&&e.headerIndex<=i&&l.push(e);const n=new Map;for(const e of l){const t=n.get(e.level);(!t||e.footerIndex<t.footerIndex)&&n.set(e.level,e)}const a=Array.from(n.keys()).sort((e,t)=>t-e);for(const t of a){const r=n.get(t);o.push({item:e[r.footerIndex],flatIndex:r.footerIndex})}return o}function Tr(e,t){if(e.length!==t.length)return!0;for(let r=0;r<e.length;r++)if(e[r].flatIndex!==t[r].flatIndex)return!0;return!1}function Fr(e,t){const r=e.querySelectorAll("tbody > tr");let i=0,o=!1;for(let e=0;e<r.length&&e<t.length;e++){const l=r[e],n=l.offsetHeight||l.getBoundingClientRect().height,a=t[e];if(a<0){o=!0;const e=-a,t=Math.max(n-e,0);i+=t,t<=0?(l.style.display="none",l.style.transform="",l.style.clipPath=""):(l.style.display="",l.style.transform=`translateY(${a}px)`,l.style.clipPath=`inset(${e}px 0 0 0)`)}else i+=n,l.style.display="",l.style.transform="",l.style.clipPath=""}e.style.height=o?i+"px":""}function Hr(e,t){const r=e.querySelectorAll("tbody > tr");let i=0,o=!1,l=0;const n=[];for(let e=0;e<r.length&&e<t.length;e++){const a=r[e],s=a.offsetHeight||a.getBoundingClientRect().height;n.push(s);const d=t[e];if(d>0){o=!0;const e=Math.max(s-d,0);i+=e,l+=s-e}else i+=s}for(let e=0;e<r.length&&e<t.length;e++){const i=r[e],a=t[e],s=n[e];a>0?Math.max(s-a,0)<=0?(i.style.display="",i.style.transform="",i.style.clipPath="inset(0 0 100% 0)"):(i.style.display="",i.style.transform="",i.style.clipPath=`inset(0 0 ${a}px 0)`):(i.style.display="",i.style.transform=o?`translateY(${-l}px)`:"",i.style.clipPath="")}e.style.height=o?i+"px":""}function Er(e){const{enabled:r,enabledFooters:i,flatData:o,stickyHeaderRef:l,stickyFooterRef:n,containerRef:a,tableBodyRef:s,isGrouped:d,virtualSkipRef:c,rowHeight:h,rowHeightServiceRef:p}=e,u=r&&d.value,g=!!i&&d.value,f=t.ref([]),m=t.ref([]),v=t.ref([]),b=t.ref([]),C=t.ref([]),x=t.ref([]),y=t.ref(!1),k=t.ref(!1);t.onUpdated(()=>{var e;y.value&&null!=(e=l.value)&&e.$el&&m.value.length>0&&(Fr(l.value.$el,m.value),y.value=!1),l.value&&a.value&&(l.value.$el.scrollLeft=a.value.scrollLeft)}),t.onUpdated(()=>{var e,t;k.value&&null!=(e=n.value)&&e.$el&&C.value.length>0&&(Hr(null==(t=n.value)?void 0:t.$el,C.value),k.value=!1),n.value&&a.value&&(n.value.$el.scrollLeft=a.value.scrollLeft)});return t.watch([()=>u,()=>g,a],()=>{u||(f.value=[],v.value=[]),g||(b.value=[],x.value=[]),!u&&!g&&a.value&&(a.value.style.scrollPaddingTop="",a.value.style.scrollPaddingBottom="")}),{stickyHeaderItems:v,stickyFooterItems:x,scrollToStickyGroup:e=>{var t;if(!u)return;const r=f.value.find(t=>{var r,i;return(null==(r=t.item.group)?void 0:r.field)===e.field&&(null==(i=t.item.group)?void 0:i.value)===e.value});if(!r)return;const i=a.value;if(!i)return;let o=0;const n=h||36,d=null==(t=l.value.$el)?void 0:t.querySelectorAll("tbody > tr"),g=f.value;for(let e=0;e<g.length;e++)if(g[e].item.level<r.item.level){o+=d&&e<d.length&&d[e].offsetHeight||n}const m=null==p?void 0:p.value;let v;if(m)v=m.offset(r.flatIndex);else{const e=s.value,t=(null==c?void 0:c.value)||0,o=r.flatIndex-t;if(e&&o>=0&&o<e.children.length){const t=e.children[o],r=i.getBoundingClientRect();v=e.getBoundingClientRect().top-r.top+i.scrollTop+t.offsetTop}}void 0!==v&&(i.scrollTop=v-o)},update:()=>{var e,t,r,i,d,$,S;if(!u&&!g)return;const I=o.value,R=function(e){const t=[],r=[];for(let i=0;i<e.length;i++){const o=e[i];if("groupHeader"===o.rowType){for(let e=r.length-1;e>=0;e--)if(r[e].level>=o.level){const o=r[e];t.push({headerIndex:o.headerIndex,footerIndex:null,firstChildIndex:o.headerIndex+1,lastChildIndex:i-1,level:o.level}),r.splice(e,1)}r.push({headerIndex:i,level:o.level})}else if("groupFooter"===o.rowType)for(let e=r.length-1;e>=0;e--)if(r[e].level===o.level){const l=r[e];t.push({headerIndex:l.headerIndex,footerIndex:i,firstChildIndex:l.headerIndex+1,lastChildIndex:i-1,level:o.level}),r.splice(e,1);break}}for(const i of r)t.push({headerIndex:i.headerIndex,footerIndex:null,firstChildIndex:i.headerIndex+1,lastChildIndex:e.length-1,level:i.level});const i=new Map;for(const e of t)i.set(e.headerIndex,e);return i}(I);if(0===R.size)return;const w=new Map;if(g)for(const e of R.values())null!==e.footerIndex&&w.set(e.footerIndex,e);const N=a.value,V=s.value;if(!N||!V)return;const T=N.scrollTop,F=N.clientHeight,H=V.children;if(0===H.length)return;const E=null==p?void 0:p.value,A=h||36,L=(null==c?void 0:c.value)||0,O=N.getBoundingClientRect(),D=V.getBoundingClientRect().top-O.top+T,G=H.length,K=new Array(G),z=new Array(G);for(let e=0;e<G;e++){const t=H[e];K[e]=D+t.offsetTop,z[e]=t.offsetHeight}const M=e=>{const t=e-L;return t>=0&&t<G?z[t]:E&&e>=0&&e<I.length?E.height(e):A},B=e=>{const t=e-L;return t>=0&&t<G?K[t]:E&&e>=0&&e<I.length?E.offset(e):void 0},j=e=>{const t=(e=>{let t=0,r=G;for(;t<r;){const i=t+r>>1;K[i]<e?t=i+1:r=i}return t})(e);return t<G?L+t:L},P=e=>{let t=0,r=G-1;for(;t<=r;){const i=t+r>>1;K[i]+z[i]<=e?t=i+1:r=i-1}return r>=0?L+r:I.length-1},_=Math.min(j(T),I.length-1);let W=_;const q=e=>{const t=e.querySelectorAll("tbody > tr");for(let e=0;e<t.length;e++){const r=t[e];r.style.transform="",r.style.clipPath="",r.style.display=""}e.style.height=""};if(u&&l.value){let r=0,i=[],o=[];const n=e=>{var t;const r=[];let i=0;for(const o of e){const e=M(o);let l=0;const n=R.get(o);if(n){const r=null!=(t=n.footerIndex)?t:n.lastChildIndex+1,o=B(r);if(void 0!==o){const t=i+e,r=o-T;r<t&&(l=r-t)}}r.push(l),i+=Math.max(e+l,0)}return{totalHeight:i,offsets:r}},a=new Set;for(;;){W=Math.min(j(T+Math.max(r,0)),I.length-1);const e=a.has(W);a.add(W);Math.min(P(T+F),I.length-1);const t=Nr(I,R,W,0,_),l=n(t.map(e=>e.flatIndex)),s=!Tr(t,o)&&Math.abs(l.totalHeight-r)<1;if(o=t,r=l.totalHeight,i=l.offsets,s||e)break}const s=o.length>0,d=Tr(o,f.value);s?d?(f.value=o,m.value=i,y.value=!0):(l.value.$el.style.display="",Fr(null==(t=l.value)?void 0:t.$el,i)):(l.value.$el.style.display="none",q(null==(e=l.value)?void 0:e.$el)),d&&(v.value=o,f.value=o)}if(g&&n.value){let e=0,t=[],i=[];const o=e=>{const t=[];let r=0;for(let i=e.length-1;i>=0;i--){const o=e[i],l=M(o);let n=0;const a=w.get(o);if(a){const e=B(a.headerIndex);if(void 0!==e){const t=e+M(a.headerIndex),i=T+F-r-l;t>i&&(n=t-i)}}t[i]=n,r+=Math.max(l-n,0)}return{totalHeight:r,offsets:t}},l=new Set;for(;;){const r=Math.min(P(T+F-e),I.length-1),n=l.has(r);l.add(r);const a=Vr(I,R,0,r),s=o(a.map(e=>e.flatIndex)),d=!Tr(a,i)&&Math.abs(s.totalHeight-e)<1;if(i=a,e=s.totalHeight,t=s.offsets,d||n)break}const a=i.length>0,s=Tr(i,b.value);a?s?(b.value=i,C.value=t,k.value=!0):(n.value.$el.style.display="",Hr(n.value.$el,t)):(n.value.$el.style.display="none",q(null==(r=n.value)?void 0:r.$el)),s&&(x.value=i,b.value=i)}const U=(null==(d=null==(i=l.value)?void 0:i.$el)?void 0:d.offsetHeight)||0,Y=(null==(S=null==($=n.value)?void 0:$.$el)?void 0:S.offsetHeight)||0;return N.style.scrollPaddingTop=U>0?U+"px":"",N.style.scrollPaddingBottom=Y>0?Y+"px":"",{stickyHeaderItems:v,stickyFooterItems:x}}}}const Ar=t.defineComponent({name:"KendoGrid",inheritAttrs:!1,props:{...vr,toolbar:{type:Object},noRecords:{type:Object}},data:()=>({isRtl:!1,context:void 0,navigation:void 0,showLicenseWatermark:!1,licenseMessage:void 0,notHiddenColumns:[]}),watch:{rowHeight:function(e,t){var r;this.onRowHeightChanged(e,t),null==(r=this.vsRef)||r.reset()},scrollable:function(){var e;null==(e=this.vsRef)||e.reset()},filter:function(){var e;null==(e=this.vsRef)||e.reset()},group:function(){var e;null==(e=this.vsRef)||e.reset()},currentGroupable:function(){var e;null==(e=this.vsRef)||e.reset()},sort:function(){var e;null==(e=this.vsRef)||e.reset()}},created(){r.validatePackage(yr),this.showLicenseWatermark=r.shouldShowValidationUI(yr),this.licenseMessage=r.getLicenseMessage(yr),this.initialHeight=null,this.columnsRef=[],this.dragLogic=new pr(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnResize=new hr(this.onResize.bind(this)),this._columnsMap=[[]],this._header=null,this._footer=null,this.tableRef=null,this.scrollHeightContainerRef=null,this.forceUpdateTimeout=void 0,this._gridId=r.guid(),this._gridRoleElementId=r.guid(),this.slicedCurrentData=void 0,this._prevTotal=void 0,this._containerHeightRef=0,this._minRowHeightRef=0,this.wrapperScrollTopRef=0,this.scrollLeftRef=0},mounted(){var e,t;this.setRefs();const i=r.isRtl(this._element);if(this._prevTotal=this.$props.total,this.isRtl=i,this.initialHeight=(null==(t=null==(e=this._element)?void 0:e.style)?void 0:t.height)||null,this.resizeObserver=r.canUseDOM&&(null==window?void 0:window.ResizeObserver)&&new ResizeObserver(this.calculateMedia),null!=document&&document.body&&this.resizeObserver&&this.resizeObserver.observe(document.body),r.canUseDOM){const e={rootMargin:"0px",threshold:.9};this.observerRef=window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,e)||null}},updated(){var e;this.setRefs();const t=r.isRtl(this._element);this.isRtl=t,this._prevTotal=this.$props.total,this.vsRef.tableTransform&&this.vsRef.table&&(this.vsRef.table.style.transform=this.vsRef.tableTransform,this.vsRef.tableTransform="");const i=this.updateStickyGroups();this.sticky.headerItems=null==i?void 0:i.stickyHeaderItems,this.sticky.footerItems=null==i?void 0:i.stickyFooterItems,this.isVirtualScroll&&(this.setContainerHeight(),this.setMinRowHeight(),null==(e=this.vsRef)||e.update())},unmounted(){this.gridUnmounted()},computed:{gridId(){return this.$props.id+"-role-element-id"},idPrefix(){return this.$props.navigatable?this.gridId:""},groupExpandable(){return i.getGroupExpandableOptions("object"==typeof this.$props.groupable&&!1!==this.$props.groupable.enabled?this.$props.groupable.expandable:this.$props.groupable)},hierarchClass:()=>r.uGrid.hierarchyCell({}),computedRowSpannable(){return D(this.$props.rowSpannable)},computedSelectable(){return i.getSelectionOptions(this.$props.selectable)},detailExpandable(){return i.getDetailExpandableOptions(!!this.$props.detail)},nonscrollableWrapperClass(){const{size:e}=this.$props,t=this.$attrs.class;return{"k-grid":!0,"k-grid-md":!e,[`k-grid-${r.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-${r.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)||r.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(){var e,t;const r=this.$props.dataItems,i=this.$props.total||(null==r?void 0:r.total)||(null==r?void 0:r.length)||0;return this.$props.detail?this._columnsMap.length+(this.$props.filterable?1:0)+2*i+(this.columnsRef.some(e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)})||null!=(e=this.$props.cells)&&e.footerCell?1:0):this.$props.pageable||"scrollable"!==this.$props.scrollable?this.$props.groupable?-1:this._columnsMap.length+(this.$props.filterable?1:0)+i+(this.columnsRef.some(e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)})||null!=(t=this.$props.cells)&&t.footerCell?1:0):void 0},getAriaColCount(){const e=this.$props.columns,t=this.$props.columnVirtualization,r=0!==(null==e?void 0:e.filter(e=>void 0!==e.hidden).length);if(t||r)return 0!==(null==e?void 0:e.length)?null==e?void 0:e.length:-1},isVirtualScroll(){return"virtual"===this.$props.scrollable||void 0===this.$props.scrollable||!1}},methods:{handleIntersection(e){const t={rowIndex:this.rowIndexRef.value};e.forEach(e=>{e.boundingClientRect.height!==e.intersectionRect.height&&this.setCurrentOnTop(t)})},scrollIntoView(e){var t;if(null==(t=this.vsRef)||!t.container||"none"===this.$props.scrollable)return;const{rowIndex:r}=e;this.rowIndexRef.value=r;const i=this._element;if(this.observerRef.value&&i){this.observerRef.value.disconnect();const t=i.querySelector(`[absolute-row-index="${this.rowIndexRef.value}"]`);t?this.observerRef.value.observe(t):this.setCurrentOnTop(e)}},setCurrentOnTop(e){var t,r;if(null==(t=this.vsRef)||!t.container||"none"===this.$props.scrollable)return;this.observerRef.value&&this.observerRef.value.disconnect();const{rowIndex:i}=e,o=this._element;if(this.isVirtualScroll){const e=(null==(r=this.vsRef.rowHeightService)?void 0:r.offset(i))||0;this.vsRef.container.scroll(0,e)}else if(o){const e=i<1?o.querySelector("tbody > tr:nth-child(1)"):o.querySelector(`tbody > tr:nth-child(${i+1})`);e&&this.containerElementRef&&(this.containerElementRef.scrollTop=e.offsetTop)}},getTotal(){let e=this.$props.total||0;return Array.isArray(this.$props.dataItems)?e=e||this.$props.dataItems.length:this.$props.dataItems&&(e=e||this.$props.dataItems.total),e},readColumnElements(){return S(this.$props.columns,this.currentColumnsState,{prevId:0,idPrefix:this.idPrefix})},getResolvedFlatColumnsState(){const e=[],t=(r,i)=>null==r?void 0:r.forEach(r=>{const o=r.hidden||i;e.push({...r,hidden:o}),t(r.children,o)});return t(this.currentColumnsState,!1),e},filterColumns(e){const t=this.getResolvedFlatColumnsState();return[e.filter(e=>{var r;return!(e.hidden||null!=(r=t.find(t=>t.id===e.id))&&r.hidden)}),e.filter(e=>{var r;return e.hidden||(null==(r=t.find(t=>t.id===e.id))?void 0:r.hidden)})]},getFlatData(e,t,r,i,o,l,n){const a=[];return{flattedData:a,resolvedGroupsCount:b(a,e,t,{index:r},void 0!==i,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=>r.canUseDOM&&e&&e.media?window.matchMedia(e.media).matches:e).map(e=>t(e))},getColumns(){const e=this.columnsRef.filter(e=>e.declarationIndex>=0&&-1===e.parentIndex),t=e=>(e.sort((e,t)=>e.declarationIndex-t.declarationIndex),e.map(e=>{const{declarationIndex:r,parentIndex:i,depth:o,colSpan:l,rowSpan:n,index:a,kFirst:s,children:d,...c}=e;return d.length?{children:t(d),...c}:c}));return t(e)},setRefs(){var e,t;const i=r.getRef(this,"gridNav");i&&(this._element=i.$el);const o=r.getRef(this,"groupPanelDiv");if(o){let e=o.$el||null;this.dragLogic.refGroupPanelDiv(e)}this.stickyHeaderRef=r.getRef(this,"stickyHeader"),this.stickyFooterRef=r.getRef(this,"stickyFooter");const l=r.getRef(this,"dropElementClue"),n=r.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(l),this.dragLogic.refDragElementClue(n),this.columnResize.colGroupMain=r.getRef(this,"colGroup"),this.columnResize.colGroupStickyHeader=null==(e=this.stickyHeaderRef)?void 0:e.colGroupRef,this.columnResize.colGroupStickyFooter=null==(t=this.stickyFooterRef)?void 0:t.colGroupRef,this._header=r.getRef(this,"header"),this._footer=r.getRef(this,"footer"),this.resetTableWidth(),r.setScrollbarWidth()},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.dataRef=[],this.columnsRef=[],null!=document&&document.body&&this.resizeObserver&&this.resizeObserver.disconnect()},isAllData(){const{dataItems:e,total:t}=this.$props;return Array.isArray(e)?e.length===t:!!e&&t===e.total},resetVirtualSkip(){this.isVirtualScroll&&this.virtualSkipRef&&(this.virtualSkipRef=0)},virtualPageChange(e,t){var r;const i=null==(r=this.gridContext.group)?void 0:r.value;this.$props.pageable||null!=i&&i.length?(this.virtualSkipRef=e.skip,this.$forceUpdate()):this.pageChangeHandler(e,t)},initializeVirtualization(){const e=this.vsRef,t=this.$props.rowHeight||this._minRowHeightRef||0;this.tableBodyRef=r.getRef(this,"tableBody"),this.scrollTableRef=r.getComponentElementRef(this,"table"),e&&(e.fixedScroll=this.$props.fixedScroll||!1,e.PageChange=this.virtualPageChange,e.pageSize=this._virtualPageSize,e.scrollableVirtual=this.isVirtualScroll,this.scrollContainerRef=e.container=r.getRef(this,"scrollContainer"),e.tableBody=this.tableBodyRef,e.scrollHeightContainer=r.getRef(this,"scrollHeightContainer"),e.table=this.scrollTableRef,(!e.rowHeightService||e.total!==this._virtualTotal)&&t&&(e.total=this._virtualTotal,e.rowHeightService=new r.RowHeightService(this._virtualTotal,t)))},setContainerHeight(){const e=r.getRef(this,"scrollContainer");this._containerHeightRef=(null==e?void 0:e.offsetHeight)||0},setMinRowHeight(){if(!this._minRowHeightRef&&!this.$props.rowHeight){const e=G(r.getRef(this,"tableBody"));e&&(this._minRowHeightRef=e,this.$forceUpdate())}},onRowHeightChanged(e,t){this.setRefs()},onHeaderScroll(e){const t=e.target.scrollLeft,i=r.getRef(this,"scrollContainer");i&&(i.scrollLeft=t),this.scrollLeftRef=t},scrollHandler(e){var t,r;clearTimeout(this.forceUpdateTimeout);const i=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop;this.$props.columnVirtualization&&(!this.isVirtualScroll||o===this.wrapperScrollTopRef)&&(this.forceUpdateTimeout=setTimeout(()=>{this.$forceUpdate()},0)),this.scrollLeftRef=i,this._header&&this._header.setScrollLeft(e.currentTarget.scrollLeft),this._footer&&this._footer.setScrollLeft(e.currentTarget.scrollLeft),this.stickyHeaderRef&&this.stickyHeaderRef.setScrollLeft(e.currentTarget.scrollLeft),this.stickyFooterRef&&this.stickyFooterRef.setScrollLeft(e.currentTarget.scrollLeft),this.vsRef&&o!==this.wrapperScrollTopRef&&this.vsRef.scrollHandler(e);const l=null==(t=this.virtualSkipRef)?void 0:t.current;this.vsRef.current&&o!==this.wrapperScrollTopRef&&this.vsRef.current.scrollHandler(e);const n=this.isVirtualScroll&&(null==(r=this.virtualSkipRef)?void 0:r.current)!==l;if(this.$emit("scroll",e),this.wrapperScrollTopRef=o,!n){const e=this.updateStickyGroups();this.sticky.headerItems=null==e?void 0:e.stickyHeaderItems,this.sticky.footerItems=null==e?void 0:e.stickyFooterItems}},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,r=0,i=null){return e.forEach(e=>{!i&&t(e,r)&&(i=e),e.items&&e.items.length&&!i&&(i=this.loopGroupedItems(e.items,t,r+1,i))}),i},updateGroupCollapsed(e){let t=this.computedCollapsed,r=t[e.level];const i=this.$props.uniqueField,o=this.allGroupedItems?this.loopGroupedItems(this.allGroupedItems.data,function(t,r){return t.value===e.dataItem.value&&r===e.level},0,null):e.dataItem,l=F(o||e.dataItem,i);if(e.value){if(r&&r.length){const e=r.indexOf(l);e>-1&&r.splice(e,1)}}else r?r.includes(l)||r.push(l):r=[l];return t},itemChange(e){var t;const i=r.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?r.hasListener.call(this,"expandchange")&&e.dataItem&&this.$emit("expandchange",{...this.getArguments(e.event),collapsedGroups:this.updateGroupCollapsed(e),dataItem:e.dataItem,value:e.value}):i&&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){var t;if(this.computedSelectable.enabled){const{event:r,dataItem:o,dataIndex:l,columnIndex:n}=e,a={...this.getArguments(r),dataItem:o,startColIndex:n,endColIndex:n,startRowIndex:l,endRowIndex:l,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:this.computedSelectable.mode,cell:this.computedSelectable.cell,isDrag:!1,componentId:this.$props.id||this._gridId,selectedField:this.$props.selectedField||""};this.gridContext.selectionchange({...a,select:this.$props.dataItemKey?i.getSelectedState({event:a,selectedState:null!=(t=this.$props.select)?t:{},dataItemKey:this.$props.dataItemKey}):{}})}},onKeyboardSelectionChangeHandler(e){var t,r;if(!this.computedSelectable.enabled||!this.$props.dataItemKey)return;const o=null==(t=this.gridContext.select)?void 0:t.value,l={dataItems:this.getLeafDataItems(),mode:this.computedSelectable.mode,cell:this.computedSelectable.cell,componentId:this.$props.id,selectedField:"",...this.getArguments(e)},n=i.getSelectedStateFromKeyDown({event:l,selectedState:null!=o?o:{},dataItemKey:this.$props.dataItemKey});if(n===o)return;const a=e.target,s=i.closestTagName(a,"TD"),d=i.closestTagName(a,"TR"),c=i.getColumnIndex(s),h=i.getRowIndex(d);if(void 0!==c&&void 0!==h){const t=null==(r=I(this.$props.dataItems))?void 0:r[h];this.gridContext.selectionchange({...l,select:n,dataItem:t,startRowIndex:h,startColIndex:c,startDataItem:t,endDataItem:t,endRowIndex:h,endColIndex:c,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},onHeaderSelectionChangeHandler(e){if(this.computedSelectable.enabled){const t=this.getLeafDataItems();this.gridContext.headerselectionchange({select:e.event.target.checked?t.reduce((e,t)=>(this.$props.dataItemKey&&void 0!==r.getter(this.$props.dataItemKey)(t)&&(e[r.getter(this.$props.dataItemKey)(t)]=!0),e),{}):{},field:e.field,event:e.event,target:this,dataItems:t})}},selectionRelease(e){var t;if(this.computedSelectable.enabled){const r=this.getLeafDataItems(),o=r[e.startRowIndex],l=r[e.endRowIndex],n={event:void 0,target:this,selectedField:"",componentId:this.$props.id||this._gridId,dataItems:r,dataItem:null,startDataItem:o,endDataItem:l,...e},a=i.getSelectedState({event:n,selectedState:null!=(t=this.$props.select)?t:{},dataItemKey:this.$props.dataItemKey});this.raiseSelectionEvent(n,a)}},clearSelection(e){this.computedSelectable.enabled&&this.raiseSelectionEvent(e,{})},raiseSelectionEvent(e,t){this.computedSelectable.enabled&&this.gridContext.selectionchange({...e,select:t})},moveToNextPage(e){var t,r,i,o;const l=null!=(i=null!=(r=null==(t=this.gridContext.take)?void 0:t.value)?r:this.$props.pageSize)?i:0,n=((null==(o=this.gridContext.skip)?void 0:o.value)||0)+l;n<this.getTotal()&&this.pageChangeHandler({skip:n,take:l},e)},moveToPrevPage(e){var t,r,i,o;const l=null!=(i=null!=(r=null==(t=this.gridContext.take)?void 0:t.value)?r:this.$props.pageSize)?i:0,n=((null==(o=this.gridContext.skip)?void 0:o.value)||0)-l;n>=0&&this.pageChangeHandler({skip:n,take:l},e)},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 r;if(this.detailExpandable.enabled){const o=null==(r=this.gridContext.detailExpand)?void 0:r.value,l=i.detailExpandReducer(null!=o?o:{},e);this.gridContext.detailexpandchange({...this.getArguments(t),detailExpand:l})}},handleGroupExpandAction(e,t){var r;if(this.groupExpandable.enabled){const o=null==(r=this.gridContext.groupExpand)?void 0:r.value,l=i.groupExpandReducer(null!=o?o:[],e,this.groupExpandable);this.$props.expandField||this.gridContext.groupexpandchange({...this.getArguments(t),groupExpand:l})}this.scrollToStickyGroup(e.group)},raiseDataEvent(e,t,i,o){if(this.resetVirtualSkip(),this.$props.autoProcessData)this.gridContext[e]({...this.getArguments(o),...t});else if(r.hasListener.call(this,e))this.$emit(e,{...this.getArguments(o),...t});else if(r.hasListener.call(this,"datastatechange")){const e={...this.getDataState(),...i};this.gridContext.datastatechange({...this.getArguments(o),data:e,dataState:e})}},columnReorder(e,t,r){const o=this.columnsRef[e],l=H(this.currentColumnsState),n=o.depth,a=e=>{do{e++}while(e<this.columnsRef.length&&this.columnsRef[e].depth>n);return e},s=this.columnsRef.splice(e,a(e)-e);this.columnsRef.splice(e<t?a(t-s.length):t,0,...s),this.columnsRef.filter(e=>e.declarationIndex>=0).forEach((e,t)=>{e.orderIndex=t;const r=l.find(t=>t.id===e.id);r&&(r.orderIndex=t)});const d=this.columnsRef[e].locked&&this.columnsRef[t].locked;i.updateLeft(this._columnsMap,this.columnsRef,d||this.shouldUpdateLeftRightRef),i.updateRight(this._columnsMap,this.columnsRef,d||this.shouldUpdateLeftRightRef),this.resizedRef&&(this.shouldUpdateLeftRightRef=!1,this.resizedRef=!1);const c=this.getColumns();this.$emit("columnreorder",{target:this,columns:c,event:r,prev:e,next:t}),this.gridContext.columnsstatechange({columnsState:this.currentColumnsState})},groupReorder(e,t,r){var i;const o=null==(i=this.gridContext.group)?void 0:i.value;void 0!==o&&(o.splice(t,0,...o.splice(e,1)),this.groupChangeHandler(o,r))},columnToGroup(e,t,r){var i;const o=this.columnsRef[e].field;if(!o)return;const l=((null==(i=this.gridContext.group)?void 0:i.value)||[]).slice();l.splice(t,0,{field:o}),this.groupChangeHandler(l,r)},resetTableWidth(){var e;let t=0;if(!this.columnResize.colGroupMain)return;const i=null==(e=this.columnResize.colGroupMain)?void 0:e.children;for(let e=0;e<i.length;e++){const r=i[e].width;if(!r)return;t+=parseFloat(r.toString())}t=Math.round(t),this._header&&this._header.setWidth(t),this._footer&&this._footer.setWidth(t),this.stickyHeaderRef&&this.stickyHeaderRef.setWidth(t),this.stickyFooterRef&&this.stickyFooterRef.setWidth(t);const o=r.getComponentElementRef(this,"table");o&&t&&(o.style.width=t+"px")},onResize(e,t,r,i,o,l,n){this.resetTableWidth(),this.shouldUpdateLeftRightRef=!0,this.resizedRef=!0,this.$emit("columnresize",{columns:this.getColumns(),index:e,targetColumnId:n,event:i,newWidth:t,oldWidth:r,end:o,target:this}),o&&this.gridContext.columnsstatechange({columnsState:l})},initColumnsState(e,t){const r=e=>{var i;const o=t.find(t=>t.id===e.id);if(o){const t={...o};return t.children=null==(i=e.children)?void 0:i.map(r),t}return e};this.currentColumnsState=e.filter(e=>-1===e.parentIndex).map(r)},configureColumns(e,o){e.filter(e=>"checkbox"===e.columnType).forEach(e=>{e.width=e.width||"50px",e.internalCell=t.markRaw(K),e.internalHeaderCell=t.markRaw(br),e._type="edit",e.columnMenu=!1}),this.$props.selectedField&&this.columnsRef.filter(e=>e.field===this.$props.selectedField).forEach(e=>{e.width=e.width||"50px",e.internalCell=t.markRaw(K),e.internalHeaderCell=t.markRaw(br),e.columnMenu=!1});const l=H(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 a=0;if(this.detailExpandable.enabled&&this.$props.detail&&!this.$props.expandField){const r={...n,_type:"expand",id:i.tableKeyboardNavigationTools.generateNavigatableId(""+a++,"expand","column"),defaultCell:t.markRaw(ut),internalCell:t.markRaw(ut),field:this.detailExpandable.column,headerClassName:this.hierarchClass};e.unshift(r),this.currentColumnsState.unshift(l.find(e=>e.id===r.id)||r)}this.$props.expandField&&r.hasListener.call(this,"expandchange")&&this.$props.detail&&(e.unshift({...n,internalCell:t.markRaw(ut),field:this.$props.expandField,headerClassName:"k-hierarchy-cell k-header",id:i.tableKeyboardNavigationTools.generateNavigatableId(`${e.length}`,this.idPrefix,"column"),...this.expandColumn}),a++);for(let r=0;r<o;r++){const r={...n,isAccessible:!1,defaultCell:t.markRaw(fr),internalCell:t.markRaw(fr),id:i.tableKeyboardNavigationTools.generateNavigatableId(""+a++,"group","column"),field:"value",locked:this.$props.lockGroups,columnMenu:!1};e.unshift(r),this.currentColumnsState.unshift(l.find(e=>e.id===r.id)||r)}e.slice(a).forEach(e=>{e.parentIndex>=0&&(e.parentIndex+=a),e.rowSpannable=void 0!==e.rowSpannable?D(e.rowSpannable):this.computedRowSpannable})},initColumns(e,t){var r;this.columnsRef=this.readColumnElements();const i=null==(r=this.gridContext.group)?void 0:r.value;0===this.columnsRef.filter(e=>!e.hidden).length&&(this.columnsRef=R(e,i,{column:this.$props.expandField?this.$props.expandField:this.groupExpandable.column},{prevId:0,idPrefix:this.idPrefix})),this.configureColumns(this.columnsRef,t);const[o,l]=this.filterColumns(this.columnsRef);this.columnsRef=o,this.hiddenColumnsRef=l,this._columnsMap=$(this.columnsRef,!0)},resolveTitle(e){const t=this.findColumnByField(e),r=t&&(t.title||t.field);return void 0===r?e:r},findColumnByField(e){let t;return this.$props.columns.forEach(r=>{const i=this.searchColumn(r,e);i&&(t=i)}),t},searchColumn(e,t){if(e.field===t)return e;if(e.children){let r,i=null;for(r=0;null==i&&r<e.children.length;r++)i=this.searchColumn(e.children[r],t);return i}return null},getDataState(){var e,t,r,i,o;const l=null==(e=this.gridContext.sort)?void 0:e.value,n=null==(t=this.gridContext.filter)?void 0:t.value,a=null==(r=this.gridContext.skip)?void 0:r.value,s=null==(i=this.gridContext.take)?void 0:i.value,d=null==(o=this.gridContext.group)?void 0:o.value;return{filter:n,sort:l,skip:a,take:void 0!==s?s:this.$props.pageSize,group:d}},getArguments(e){return{event:e,target:this}},getLeafDataItems(){return this.dataRef.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.columnsRef.map(e=>e.field)||[],r=e.event.target.value,i={logic:"or",filters:t.filter(e=>void 0!==e).map(e=>{var t;return"string"==typeof e?{field:e,value:r,operator:"contains"}:{value:r,operator:null!=(t=e.operator)?t:"contains",field:e.field,ignoreCase:e.ignoreCase}})};this.raiseDataEvent("searchchange",{search:i},{skip:0},e)},getCellsToRender(e,t){var r;const i=[];let o=null,l=0;if(t.forEach((r,n)=>{const a=parseFloat((r.width||"").toString())||10;if(l)return l--,void(o&&(o.width+=a));const s=Math.min(O(r,e),t.length-n);l=s-1,o={width:a,colSpan:s,columnIndex:n},i.push(o)}),this.$props.columnVirtualization){const e=this.scrollLeftRef||0,o=this.tableWidth||parseFloat(((null==(r=this.$attrs.style)?void 0:r.width)||"").toString());return function(e){const{cellModels:t,columns:r=[],tableViewPortWidth:i,scrollLeft:o}=e;let l=0,n=t.length-1,a=0,s=0;for(let e=0;e<t.length;e++)if(!r[t[e].columnIndex].locked&&(a=s,s+=t[e].width||10,s>=o)){l=e;break}for(let e=l;e<t.length;e++)if(!r[t[e].columnIndex].locked){if(!(a<i+o))break;a+=t[e].width||10,n=e}l>0&&l--,n<t.length-1&&n++;let d=0,c=0;for(let e=0;e<l;e++)r[t[e].columnIndex].locked||(d+=t[e].colSpan);for(let e=n+1;e<t.length;e++)r[t[e].columnIndex].locked||(c+=t[e].colSpan);t[l].colSpan+=d,t[n].colSpan+=c;const h=t.slice(0,l).filter(e=>r[e.columnIndex].locked),p=t.slice(n+1).filter(e=>r[e.columnIndex].locked);return[...h,...t.slice(l,n+1),...p]}({cellModels:i,columns:t,tableViewPortWidth:o,scrollLeft:e})}return i},calcVirtualPageSize(){const{pageable:e,take:t,pageSize:r}=this.$props;if(!this.isVirtualScroll)return 0;if(!e){if(t)return t;if(r)return r}const i=this.$props.rowHeight||this._minRowHeightRef,o=this._containerHeightRef;return o&&i?Math.ceil(o/i*1.5):0}},provide(){return{kendo:{dataItemKey:this.$props.dataItemKey,searchChange:this.searchChange,selectionRelease:this.selectionRelease,dispatchGroupExpand:this.handleGroupExpandAction,dispatchDetailExpand:this.handleDetailExpandAction,scrollToStickyGroup:this.scrollToStickyGroup},sticky:this.sticky}},setup(e){const r=t.ref(null),i=t.ref(null),o=t.ref(null),l=t.ref(null),n=t.ref(null),a=t.ref(null),s=t.ref(null),d=t.ref([]),c=t.ref([]),h=t.ref(null),p=t.ref(null),u=t.ref(null),g=t.ref(null),f=t.ref(!0),m=t.ref(!1),v=new cr,b=t.ref(0),C=t.inject($r,{}),x="object"==typeof e.groupable&&!!e.groupable.stickyHeaders,y="object"==typeof e.groupable&&!!e.groupable.stickyFooters,k=t.ref([]),$=t.computed(()=>{var e,t;return!(null==(t=null==(e=C.group)?void 0:e.value)||!t.length)}),S=t.ref(null),I=t.ref(void 0),R=t.ref({headerItems:[],footerItems:[]}),{scrollToStickyGroup:w,update:N}=Er({enabled:x,enabledFooters:y,flatData:k,containerRef:h,stickyHeaderRef:p,stickyFooterRef:u,tableBodyRef:g,rowHeight:e.rowHeight,isGrouped:$,virtualSkipRef:b,rowHeightServiceRef:t.computed(()=>null==v?void 0:v.rowHeightService)});return{rowIndexRef:I,observerRef:S,dataRef:k,groupPanelDivRef:r,dropElementClueRef:i,dragElementClueRef:o,headerRef:l,footerRef:n,gridNavRef:a,colGroupRef:s,scrollContainerRef:h,tableBodyRef:g,gridContext:C,shouldUpdateLeftRightRef:f,resizedRef:m,currentColumnsState:e.columnsState,vsRef:v,virtualSkipRef:b,stickyHeaderItems:d,stickyHeaderRef:p,stickyFooterItems:c,stickyFooterRef:u,sticky:R,scrollToStickyGroup:w,updateStickyGroups:N}},render(){var e,l,n,a,d,c,h,p,u,f,m,v,b,C,x,y,k,$;const S=null==(e=this.gridContext.sort)?void 0:e.value,I=null==(l=this.gridContext.filter)?void 0:l.value,R=null==(n=this.gridContext.search)?void 0:n.value,w=null==(a=this.gridContext.select)?void 0:a.value,N=null==(d=this.gridContext.skip)?void 0:d.value,V=null==(c=this.gridContext.take)?void 0:c.value,F=null==(h=this.gridContext.group)?void 0:h.value,H=null==(p=this.gridContext.groupExpand)?void 0:p.value,E=null==(u=this.gridContext.detailExpand)?void 0:u.value,A=(null==F?void 0:F.length)||0,L="object"==typeof this.$props.groupable&&!!this.$props.groupable.stickyHeaders,O="object"==typeof this.$props.groupable&&!!this.$props.groupable.stickyFooters,D=!(null==F||!F.length);let G;this.currentColumnsState=null==(f=this.gridContext.columnsState)?void 0:f.value;const K=!0===this.$props.autoProcessData?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:this.$props.autoProcessData;let z;const M=i.tableKeyboardNavigationTools.getIdPrefix(this.navigation);let B=[];Array.isArray(this.$props.dataItems)?(B=this.$props.dataItems,z=null!=(m=this.$props.total)?m:B.length):(B=(null==(v=T(this.$props.dataItems,this.$props.collapsedGroups.length?this.computedCollapsed:[],this.$props.uniqueField))?void 0:v.data)||[],z=null!=(x=null!=(C=this.$props.total)?C:null==(b=this.$props.dataItems)?void 0:b.total)?x:B.length);const j=!0===this.$props.groupable||r.isObject(this.$props.groupable)&&!1!==this.$props.groupable.enabled;this.dragLogic.reorderable=this.$props.reorderable||!1,this.dragLogic.groupable=j,this._virtualPageSize=this.calcVirtualPageSize();const P=B.length===z,_=r.isObject(this.$props.groupable)&&this.$props.groupable.footer||"none";if(K){const e=K.page&&!(this.isVirtualScroll&&!this.$props.pageable),{data:t,total:r}=s.process(B,{group:K.group?F:void 0,sort:K.sort?S:void 0,filter:i.combineFilters(K.filter?I:void 0,K.search?R:void 0),...e?{take:this.$props.pageable?V||10:V,skip:N||0}:{}});B=t,z=null!=(y=this.$props.total)?y:r}const{resolvedGroupsCount:W,flattedData:q}=this.getFlatData(B,_,P?0:this.$props.skip||0,F,E,H,this.$props.dataItemKey);this.dataRef=q;const U=this.virtualSkipRef||0;if(this._virtualTotal=z,this.isVirtualScroll){let e=N||0;if((D||this.$props.pageable)&&(e=U,this._virtualTotal=this.dataRef.length),P||D||this.$props.pageable)if(0===this._virtualPageSize){const t=Math.min(V||this.$props.pageSize||20,this.dataRef.length);G=this.dataRef.slice(e,e+t)}else G=this.dataRef.slice(e,e+this._virtualPageSize)}this.initializeVirtualization();const Y=null!=(k=this.selectable)&&k.drag?"none":void 0;this.initColumns(this.$props.dataItems,W),this.columnResize.resizable=this.$props.resizable||!1,this.columnResize.columns=this.columnsRef,this.columnResize.columnsState=r.cloneArray(this.currentColumnsState||[]),this.dragLogic.columns=this.columnsRef;const X=this.$props.toolbar,J=this.$props.noRecords,Q=this.columnsRef.filter(e=>0===e.children.length),Z=j&&t.createVNode(or,{ref:e=>{this.groupPanelDivRef=e},group:F||[],ariaControls:this._gridRoleElementId,onGroupChange:this.groupChangeHandler,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,resolveTitle:this.resolveTitle},null),ee=(this.dragLogic.reorderable||this.dragLogic.groupable)&&r.canUseDOM&&document&&document.body,te=[ee&&t.createVNode(gr,{ref:e=>{this.dropElementClueRef=e}},null),ee&&t.createVNode(ur,{ref:e=>{this.dragElementClueRef=e}},null)],re=this.showLicenseWatermark?t.createVNode(r.WatermarkOverlay,{message:this.licenseMessage},null):null,ie=this.$attrs.style,oe=ie&&r.isObject(ie)&&ie.width||"";this.tableWidth=parseFloat(oe.toString());const le=Q.findIndex(e=>"function"==typeof e.colSpan)>-1;let ne;ne=this.getCellsToRender({},Q);const ae=(this.$props.columnVirtualization?this.getCellsToRender({},Q).map(({columnIndex:e})=>Q[e]):Q).map(function(e,r){return t.createVNode("col",{key:e.id||`col-${r}`,width:void 0!==e.width?Math.floor(parseFloat(e.width.toString())):void 0},null)},this),se=t.createVNode(mt,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.$props.scrollable,ref:e=>{this.headerRef=e},onHeaderscroll:this.onHeaderScroll,headerRow:t.createVNode(er,{grid:this,sort:S,groupable:this.$props.groupable,reorderable:this.$props.reorderable,sortable:this.$props.sortable,onSortChange:this.sortChangeHandler,filter:I,filterable:this.$props.filterable,filterOperators:this.$props.filterOperators||Ft,onFilterChange:this.filterChangeHandler,columnMenu:this.$props.columnMenu,columnMenuIcon:this.$props.columnMenuIcon,columnMenuAnimate:this.$props.columnMenuAnimate,onSelectionchange:this.onHeaderSelectionChangeHandler,columns:this.columnsRef,cellsToRender:ne,columnVirtualization:this.$props.columnVirtualization,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,headerSelectionValue:!(!w||!this.dataRef.filter(e=>"data"===e.rowType).every(e=>w&&this.$props.dataItemKey&&void 0!==r.getter(this.$props.dataItemKey)(e.dataItem)?w[r.getter(this.$props.dataItemKey)(e.dataItem)]:void 0)),filterRow:this.$props.filterable&&t.createVNode(rr,{grid:this,size:this.$props.size,columns:this.columnsRef,columnsMap:this._columnsMap,cellsToRender:ne,columnVirtualization:this.$props.columnVirtualization,filter:I,filterOperators:this.$props.filterOperators||Ft,onFilterchange:this.filterChangeHandler,sort:this.$props.sort,cellRender:this.$props.filterCellRender,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1},null)||void 0},null),cols:ae},null),de=this.columnsRef.some(e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)})||null!=($=this.$props.cells)&&$.footerCell?t.createVNode(lr,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.$props.scrollable,ref:e=>{this.footerRef=e},row:t.createVNode(ar,{isRtl:this.isRtl,rowIndex:this.getAriaRowCount+1,columns:this.columnsRef,cells:this.$props.cells},null),cols:ae},null):t.createVNode("span",null,null),ce={leafColumns:Q,cellsToRender:ne,selectedField:this.$props.selectedField,dataItemKey:this.$props.dataItemKey,select:w,highlight:this.$props.highlight,editField:this.$props.editField,cellRender:this.$props.cellRender,cells:this.$props.cells,getCellsToRender:this.getCellsToRender,hasDynamicColSpan:le,itemChange:this.itemChange,selectionChangeHandler:this.selectionChangeHandler,editHandler:this.editHandler,removeHandler:this.removeHandler,saveHandler:this.saveHandler,cancelHandler:this.cancelHandler,cellClickHandler:this.cellClickHandler,cellKeydownHandler:this.cellKeydownHandler,computedCollapsed:this.computedCollapsed,uniqueField:this.$props.uniqueField,columnsRef:this.columnsRef,isRtl:this.isRtl,idPrefix:M},he=function(e,t,r,i,o){return Rr(ce,e,t,r,0,o)};let pe=[];const ue=!this.dataRef.length,ge=e=>e>=this.dataRef.length-0;let fe=0;if(this.dataRef.length){const e=this._columnsMap.length+(this.$props.filterable?1:0)+1;let o=this.$props.skip||0,l=-1,n=0;const a=this.computedRowSpannable.enabled?{}:void 0;if(this.isVirtualScroll){if(U>0){const e=this.dataRef.slice(0,U).filter(e=>"data"===e.rowType).length;l+=e,o+=U}!this.$props.pageable&&P&&(l+=this.$props.skip||0)}pe=(G||this.dataRef).map(function(s,d){"data"===s.rowType&&l++;const c=s.dataIndex%2!=0,h=this.$props.dataItemKey&&r.getter(this.$props.dataItemKey)(s.dataItem),p=d+o,u=h||"ai"+p,g=u+"_1",f=he.call(this,s,u,l,c,a),m=Q.length-(this.detailExpandable.enabled?1:0)-((null==F?void 0:F.length)||0)||1;return fe=p+e+n,[t.createVNode(mr,{key:u,item:s,dataIndex:l,ariaRowIndex:fe,absoluteRowIndex:p,isAltRow:c,isHidden:ge(d),rowHeight:this.$props.rowHeight,isSelected:f.isSelected,isHighlighted:f.isHighlighted,isInEdit:f.isInEdit,rowType:s.rowType,onRowclick:e=>this.rowClick(e,s),onRowdblclick:e=>this.rowDoubleClick(e,s),render:this.$props.rowRender,class:this.$props.rowClass?this.$props.rowClass(s):""},{default:()=>[f.row]}),this.$props.detail&&"data"===s.rowType&&(s.expanded||s.dataItem.expanded)&&t.createVNode("tr",{key:g,class:c?"k-table-row k-table-alt-row k-detail-row":"k-table-row k-detail-row",style:{visibility:ge(d)?"hidden":"",height:this.$props.detailRowHeight+"px"},role:"row","aria-rowindex":fe},[null==F?void 0:F.map(function(e){return t.createVNode(fr,{id:"",dataIndex:s.dataIndex,field:e.field,dataItem:s.dataItem,key:`group-${e.field}-${s.dataIndex}`,locked:this.$props.lockGroups,group:s.group},null)},this),(this.$props.expandField||this.detailExpandable.enabled)&&t.createVNode(gt,{id:i.tableKeyboardNavigationTools.generateNavigatableId(`${g}-dhcell`,M)},null),t.createVNode(ft,{dataItem:s.dataItem,dataIndex:s.dataIndex,colSpan:m,ariaColIndex:2+(F?F.length:0),detail:this.$props.detail?this.$props.detail:void 0,id:i.tableKeyboardNavigationTools.generateNavigatableId(`${g}-dcell`,M)},null)])]},this)}const me=this.$props.pageable&&t.createVNode(i.Pager,{class:"k-grid-pager",onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,size:this.$props.size,total:z,skip:N||0,pageSize:(void 0!==V?V:this.$props.pageSize)||10,messagesMap:kr,settings:i.normalize(this.$props.pageable||{})},null),ve=r.getTemplate.call(this,{h:t.h,template:this.$props.pager,defaultRendering:me,additionalProps:{...this.$props,skip:this.$props.skip||0,messagesMap:kr},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),be=e=>S&&S.filter(t=>t.field===e).length>0,Ce=t.createVNode("colgroup",{ref:r.setRef(this,"colGroup")},[Q.map(function(e,r){return t.createVNode("col",{key:e.id||`col-${r}`,class:be(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)]),xe={height:this.getCorrectHeight,...this.$attrs.style},ye=t.createVNode("div",{class:"k-loading-mask"},[t.createVNode("div",{class:"k-loading-color"},null),t.createVNode("div",{style:{height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},[t.createVNode(o.Loader,{size:"large",type:"converging-spinner"},null)])]),ke=this.$props.showLoader&&r.getTemplate.call(this,{h:t.h,template:this.$props.loader,defaultRendering:ye});return"none"===this.$props.scrollable?t.createVNode(i.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable,scrollable:this.$props.scrollable,columnVirtualization:this.$props.columnVirtualization},{default:()=>[t.createVNode(g,{ref:e=>{this.gridNavRef=e},columnsRef:this.columnsRef,dataRef:this.dataRef,id:this.$props.id,style:xe,class:this.nonscrollableWrapperClass,onMovetonextpage:this.moveToNextPage,onMovetoprevpage:this.moveToPrevPage,onColumnreorder:this.columnReorder,onKeyboardselectionchange:this.onKeyboardSelectionChangeHandler},{default:()=>[X,Z,t.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[t.createVNode(sr,{selectable:this.computedSelectable,class:"k-table",ref:r.setRef(this,"table")},{default:()=>[Ce,se,t.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,ref:r.setRef(this,"tableBody")},[pe,t.createTextVNode(" "),ke]),de]}),ue&&t.createVNode(xr,{id:i.tableKeyboardNavigationTools.generateNavigatableId("no-records",M)},{default:()=>[J.length?J:t.createVNode(Cr,null,null)]})]),ve,ke,te]})]}):t.createVNode(i.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable,scrollable:this.$props.scrollable,columnVirtualization:this.$props.columnVirtualization},{default:()=>[t.createVNode(g,{ref:e=>{this.gridNavRef=e},dataRef:this.dataRef,id:this.$props.id,style:xe,class:this.scrollableWrapperClass,onMovetonextpage:this.moveToNextPage,onMovetoprevpage:this.moveToPrevPage,onColumnreorder:this.columnReorder,onKeyboardselectionchange:this.onKeyboardSelectionChangeHandler,onSetcurrentontop:this.setCurrentOnTop},{default:()=>[X,Z,t.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[se,t.createVNode("div",{class:"k-grid-container",role:"presentation"},[D&&L&&t.createVNode(wr,{ref:r.setRef(this,"stickyHeader"),size:this.$props.size,cols:ae,dataRowContext:ce,position:"top",groupLevelCount:A,rowHeight:this.$props.rowHeight},null),t.createVNode("div",{role:"presentation",ref:r.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(dr,{selectable:this.computedSelectable,tableClassName:this.gridTableClass,tableStyle:{userSelect:Y},ref:r.setRef(this,"table")},{default:()=>[Ce,t.createVNode("tbody",{class:"k-table-tbody",role:"rowgroup","data-keyboardnavbody":!0,ref:r.setRef(this,"tableBody")},[pe])]}),ue&&t.createVNode(xr,{id:i.tableKeyboardNavigationTools.generateNavigatableId("no-records",M)},{default:()=>[J.length?J:t.createVNode(Cr,null,null)]})]),!ue&&t.createVNode("div",{class:"k-height-container",role:"presentation"},[t.createVNode("div",{ref:r.setRef(this,"scrollHeightContainer"),style:"virtual"===this.$props.scrollable?{height:this._containerHeightRef+"px"}:{}},null)])]),D&&O&&t.createVNode(wr,{ref:r.setRef(this,"stickyFooter"),size:this.$props.size,cols:ae,dataRowContext:ce,position:"bottom",groupLevelCount:A,rowHeight:this.$props.rowHeight},null)]),de,re]),ve,ke,te]})]})}}),Lr=t.defineComponent({name:"KendoVueGridStateProvider",inheritAttrs:!1,props:vr,setup(e,{emit:r}){var i,o,l,n,a,s,d,c,h,p;const u=t.ref({filter:null!=(i=e.defaultFilter)?i:e.filter,highlight:e.highlight,select:null!=(o=e.defaultSelect)?o:e.select,search:null!=(l=e.defaultSearch)?l:e.search,sort:null!=(n=e.defaultSort)?n:e.sort,take:null!=(a=e.defaultTake)?a:e.take,skip:null!=(s=e.defaultSkip)?s:e.skip,group:null!=(d=e.defaultGroup)?d:e.group,detailExpand:null!=(c=e.defaultDetailExpand)?c:e.detailExpand,groupExpand:null!=(h=e.defaultGroupExpand)?h:e.groupExpand,columnsState:null!=(p=e.defaultColumnsState)?p:e.columnsState}),g=t.computed(()=>e.filter||u.value.filter||null);t.watch(()=>e.filter,e=>{u.value.filter=e});const f=t.computed(()=>e.search||u.value.search||null);t.watch(()=>e.search,e=>{u.value.search=e});const m=t.computed(()=>e.select||u.value.select||null),v=t.computed(()=>e.sort||u.value.sort||[]);t.watch(()=>e.sort,e=>{u.value.sort=e});const b=t.computed(()=>e.skip||u.value.skip),C=t.computed(()=>e.take||u.value.take);t.watch(()=>e.skip,e=>{u.value.skip=e}),t.watch(()=>e.take,e=>{u.value.take=e});const x=t.computed(()=>e.group||u.value.group||[]);t.watch(()=>e.group,e=>{u.value.group=e});const y=t.computed(()=>e.detailExpand||u.value.detailExpand||{});t.watch(()=>e.detailExpand,e=>{u.value.detailExpand=e});const k=t.computed(()=>e.groupExpand||u.value.groupExpand||[]);t.watch(()=>e.groupExpand,e=>{u.value.groupExpand=e});const $=t.computed(()=>e.columnsState||e.defaultColumnsState||[]);t.watch(()=>e.columnsState,e=>{u.value.columnsState=e}),t.provide($r,{sort:v,sortchange:e=>{u.value.sort=e.sort,r("sortchange",e)},filter:g,filterchange:e=>{u.value.filter=e.filter,r("filterchange",e)},search:f,searchchange:e=>{u.value.search=e.search,u.value.skip=0,r("searchchange",e)},skip:b,take:C,pagechange:e=>{u.value.skip=e.page.skip,u.value.take=e.page.take,r("pagechange",e)},select:m,selectionchange:e=>{u.value.select=e.select,r("selectionchange",e)},headerselectionchange:e=>{u.value.select=e.select,r("headerselectionchange",e)},group:x,groupchange:e=>{u.value.group=e.group,r("groupchange",e)},detailExpand:y,detailexpandchange:e=>{u.value.detailExpand=e.detailExpand,r("detailexpandchange",e)},groupExpand:k,groupexpandchange:e=>{u.value.groupExpand=e.groupExpand,r("groupexpandchange",e)},columnsState:$,columnsstatechange:e=>{u.value.columnsState=e.columnsState,r("columnsstatechange",e)},datastatechange:e=>{u.value={...u.value,...e.data},r("datastatechange",e)}})},render(){return r.getDefaultSlots(this)}}),Or=t.defineComponent({name:"KendoVueGrid",props:vr,setup(e,{expose:r}){const i=t.ref(null);r({get element(){var e;return(null==(e=i.value)?void 0:e.element)||null},get props(){return e},get columns(){var e;return(null==(e=i.value)?void 0:e.columns)||[]},scrollIntoView:e=>{var t;null==(t=i.value)||t.scrollIntoView(e)},fitColumns:e=>{var t;null==(t=i.value)||t.fitColumns(e)},exportAsPdf:()=>{var e;null==(e=i.value)||e.exportAsPdf()}})},methods:{transformTemplate(e,t){return e?r.templateRendering.call(this,e,t):void 0},transformGroupTemplates(e,t){if(e)return{groupHeader:this.transformTemplate(e.groupHeader,t),data:this.transformTemplate(e.data,t),groupFooter:this.transformTemplate(e.groupFooter,t)}},transformCellTemplates(e,t){if(e)return{headerCell:this.transformTemplate(e.headerCell,t),filterCell:this.transformTemplate(e.filterCell,t),footerCell:this.transformTemplate(e.footerCell,t),groupHeader:this.transformTemplate(e.groupHeader,t),data:this.transformTemplate(e.data,t),groupFooter:this.transformTemplate(e.groupFooter,t),select:this.transformGroupTemplates(e.select,t),hierarchy:this.transformGroupTemplates(e.hierarchy,t),group:this.transformGroupTemplates(e.group,t),edit:e.edit?{text:this.transformTemplate(e.edit.text,t),numeric:this.transformTemplate(e.edit.numeric,t),boolean:this.transformTemplate(e.edit.boolean,t),date:this.transformTemplate(e.edit.date,t)}:void 0}}},computed:{columnsWithTemplates(){const e=r.getListeners.call(this);return r.mapTree(this.$props.columns||[],"children",t=>{const r={...t};return{...r,cell:this.transformTemplate(r.cell,e),headerCell:this.transformTemplate(r.headerCell,e),filterCell:this.transformTemplate(r.filterCell,e),footerCell:this.transformTemplate(r.footerCell,e),columnMenu:!1!==r.columnMenu&&this.transformTemplate(r.columnMenu,e),cells:this.transformCellTemplates(r.cells,e)}})},cellsWithTemplates(){const e=r.getListeners.call(this);return this.transformCellTemplates(this.$props.cells,e)}},render(){const e=r.getDefaultSlots(this)||[],i=r.getListeners.call(this),o=e.filter(e=>{var t,r;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==(r=null==e?void 0:e.type)?void 0:r.name.toLowerCase().indexOf("toolbar"))}),l=e.filter(e=>{var t,r;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==(r=null==e?void 0:e.type)?void 0:r.name.toLowerCase().indexOf("records"))}),{cellRender:n,detail:a,columns:s,rowRender:d,pager:c,loader:h,...p}=this.$props,u=this.columnsWithTemplates,g=this.cellsWithTemplates;return t.createVNode(Lr,p,{default:()=>[t.createVNode(Ar,t.mergeProps(p,i,{class:this.$attrs.class,style:this.$attrs.style,columns:u,cells:g,cellRender:this.transformTemplate(n,i),rowRender:this.transformTemplate(d,i),pager:this.transformTemplate(c,i),loader:this.transformTemplate(h,i),detail:this.transformTemplate(a,i),toolbar:o,noRecords:l}),null)]})}}),Dr=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:i,secondFilterProps:o,logicData:l,logicValue:n,operators:a,render:s}=this.$props,d=e.field,c=e.value,p=e.operator,u=e.booleanValues,g=e.filterType,f=o.field,m=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(zt,{field:d,value:c,operator:p,booleanValues:u,filterType:g,onFiltercellfocus:this.handleFocus,onChange:e=>{this.changeHandler(e,0)},operators:a},null),!i&&t.createVNode("div",null,[t.createVNode(h.DropDownList,{onChange:this.logicChange,class:"k-filter-and","data-items":l,value:n,textField:"text"},null),t.createVNode(zt,{field:f,value:m,operator:v,booleanValues:b,filterType:C,onFiltercellfocus:this.handleFocus,onChange:e=>{this.changeHandler(e,1)},operators:a},null)])]);return r.getTemplate.call(this,{h:t.h,template:s,defaultRendering:x,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,logicchange:this.logicChange}})}});function Gr(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Kr={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:"",dataRef:void 0,dataFromProps:void 0,currentFilter:void 0}),created(){this.compositeFilterIndex=this.getFilterIndex(),this.currentExpanded=this.$props.expanded,this.dataRef=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,r)=>e===t[r]))(t,this.dataFromProps)||(this.dataRef=t,this.dataFromProps=t)},inject:{kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){let e,i;const{column:o}=this.$props;if(!o||!o.field)return t.createVNode("div",null,null);const a=l.provideLocalizationService(this),s=void 0!==this.$props.expanded?this.$props.expanded:this.currentExpanded,d=[];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&&d.push(e.value)})}const h=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(r.Icon,{name:"search",icon:n.searchIcon,class:"k-input-icon"},null),t.createVNode("input",{ref:"searchBox",placeholder:a.toLanguageString(pe,pt[pe]),class:"k-input-inner",value:this.currentValue,onInput:this.handleSearchChange},null)])])},u=d.filter((e,t)=>d.indexOf(e)===t),g=r.templateRendering.call(this,this.$props.item,r.getListeners.call(this)),f=r.templateRendering.call(this,this.$props.checkAllItem,r.getListeners.call(this)),m=t.createVNode("li",{class:"k-item"},[t.createVNode(p.Checkbox,{label:a.toLanguageString(fe,pt[fe]),onChange:e=>this.handleCheckBoxChange(e,"all"),checked:this.isAllSelected()},null)]),v=r.getTemplate.call(this,{h:t.h,template:f,defaultRendering:m,additionalProps:{checked:this.isAllSelected()},additionalListeners:{change:e=>this.handleCheckBoxChange(e,"all")}});return t.createVNode(kt,null,{default:()=>[t.createVNode(yt,{title:a.toLanguageString(ae,pt[ae]),icon:"filter",svgIcon:n.filterIcon,onMenuitemclick:this.onFilterExpand},null),t.createVNode(Vt,{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"},[h.call(this),t.createVNode("ul",{class:"k-reset k-multicheck-wrap"},[v,this.dataRef.map(function(e,i){const o=t.createVNode("li",{class:"k-item",key:i},[t.createVNode(p.Checkbox,{label:String(e),onChange:t=>this.handleCheckBoxChange(t,e),checked:u.includes(e)},null)]);return r.getTemplate.call(this,{h:t.h,template:g,defaultRendering:o,additionalProps:{item:e,index:i,checked:u.includes(e)},additionalListeners:{change:t=>this.handleCheckBoxChange(t,e)}})},this)]),t.createVNode("div",{class:"k-columnmenu-actions"},[t.createVNode(c.Button,{themeColor:"primary"},Gr(e=a.toLanguageString(ne,pt[ne]))?e:{default:()=>[e]}),t.createVNode(c.Button,{type:"reset"},Gr(i=a.toLanguageString(ie,pt[ie]))?i:{default:()=>[i]})])])])])]})]})},methods:{defaultFilter(){return this.$props.filter?r.clone(this.$props.filter):{filters:[],logic:"and"}},parseData(e,t){const r=this.$props.column.field||"",i=e.map(e=>v(r,e));return t?i.filter((e,t)=>i.indexOf(e)===t):i},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.dataRef=this.parseData(s.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 r=this.$props.column.field||"",i={...this.currentFilter},o=[...this.currentFilter.filters];let l=[];if(-1!==this.compositeFilterIndex&&i.filters[this.compositeFilterIndex].filters&&"all"!==t&&(l=i.filters[this.compositeFilterIndex].filters),e.value&&"all"===t)this.dataRef.forEach(e=>{l.push({field:r,operator:"eq",value:e})});else if(e.value)l.push({field:r,operator:"eq",value:t});else if(this.currentFilter){const e=l.findIndex(e=>e.value===t);l.splice(e,1)}i.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),i.filters=o,this.currentFilter=i},isAllSelected(){let e=!1;if(this.currentFilter){const t=[...this.currentFilter.filters];return-1!==this.compositeFilterIndex&&(e=this.dataRef.every(e=>!(-1===this.compositeFilterIndex||!t[this.compositeFilterIndex].filters)&&t[this.compositeFilterIndex].filters.findIndex(t=>t.value===e)>=0),e)}return e}}},zr=t.defineComponent({render:()=>null}),Mr=t.defineComponent({name:"GridToolbar",props:{size:{type:String,validator:function(e){return["none","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-${r.kendoThemeMaps.sizeMap[e]||e}`]:e}}},render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{class:this.wrapperClass,role:"toolbar"},[e])}}),Br=t.defineComponent({name:"KendoVueGridSearchBox",inheritAttrs:!1,props:{onChange:Function,className:String,placeholder:String},setup(e,{emit:r}){const o=t.inject("kendoLocalizationService",{}),{searchChange:l}=t.inject("kendo",{}),{search:n}=t.inject($r,{}),a=t.computed(()=>i.getStringFromSearch(n.value)),s=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),r("change",t),e.onChange&&e.onChange.call(void 0,t)},value:a,rootClassName:s,placeholder:d}},render(){return t.createVNode(p.TextBox,t.mergeProps({placeholder:this.placeholder,value:this.value,prefix:()=>t.createVNode(r.Icon,{name:"search",icon:n.searchIcon},null)},this.$attrs,{wrapperClass:"k-grid-search k-searchbox",onInput:this.handleChange}),null)}}),jr=t.defineComponent({name:"KendoVueGridStatusBar",props:{data:{type:Array,default:()=>[]}},setup:e=>()=>t.createVNode("div",{class:"k-selection-aggregates k-grid-selection-aggregates"},[e.data.map((e,r)=>t.createVNode("div",{key:`${e.type}-${r}`},[t.createVNode("span",{class:"k-selection-aggregates-item-text"},[e.type,t.createTextVNode(": ")]),t.createVNode("span",{class:"k-selection-aggregates-item-value"},[e.formattedValue])]))])}),Pr=e=>{var t,r,i,o;const l=e.slice();for(let e=0;e<l.length;e++)for(;null!=(r=null==(t=l[e])?void 0:t.children)&&r.length;)l.splice(e,1,...null!=(o=null==(i=l[e])?void 0:i.children)?o:[]);return l};e.Footer=lr,e.FooterRow=ar,e.Grid=Or,e.GridCell=Sr,e.GridColumnMenuCheckboxFilter=Kr,e.GridColumnMenuFilter=_t,e.GridColumnMenuFilterCell=zt,e.GridColumnMenuFilterUI=Dr,e.GridColumnMenuItem=yt,e.GridColumnMenuItemContent=Vt,e.GridColumnMenuItemGroup=kt,e.GridColumnMenuSort=Nt,e.GridDetailRow=zr,e.GridEditCell=Ir,e.GridFilterCell=tr,e.GridGroupCell=fr,e.GridHeaderCell=xt,e.GridHierarchyCell=ut,e.GridNoRecords=Cr,e.GridRow=mr,e.GridSearchBox=Br,e.GridToolbar=Mr,e.StatusBar=jr,e.applyExpandedState=T,e.autoGenerateColumns=R,e.calcRowHeight=G,e.checkPropCompatibility=function(e){for(let t=0;t<y.length;t++){const r=y[t];if(void 0!==e[r]){const e="on"+r.charAt(0).toUpperCase()+r.slice(1);console.warn(k(r,e))}}},e.filterGroupByField=Pt,e.firefox=E,e.firefoxMaxHeight=A,e.flatData=b,e.footerColumns=w,e.getColSpan=O,e.getColumnWidth=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,e.getDataAsArray=I,e.getFlatColumnsState=H,e.getIndex=x,e.getNestedValue=v,e.getRowSpanOptions=D,e.getStatusData=e=>{const{dataItems:t,target:i}=e,o=Pr(i.columns).map(e=>e.field).filter(e=>e&&"string"==typeof e).map(e=>r.getter(e)),l={dates:[],numbers:[],booleans:[],others:[]};t.forEach(t=>{const i=(t=>{var i;return null==(i=e.select)?void 0:i[r.getter(e.dataItemKey)(t)]})(t);Array.isArray(i)&&i.forEach(e=>{(e=>{"number"==typeof e?l.numbers.push(e):"boolean"==typeof e?l.booleans.push(e):e instanceof Date?l.dates.push(e):l.others.push(e)})(o[e](t))})});const n=l.dates.map(e=>e.getTime()),a=l.booleans.filter(Boolean).length,s=l.booleans.length-a,d=l.numbers.length?l.numbers.reduce((e,t)=>e+t,0):void 0,c={sum:d,average:"number"==typeof d?d/l.numbers.length:void 0,min:l.numbers.length?Math.min(...l.numbers):void 0,max:l.numbers.length?Math.max(...l.numbers):void 0,count:l.numbers.length+l.booleans.length+l.dates.length+l.others.length,isTrue:a>0?a:void 0,isFalse:s>0?s:void 0,earliest:l.dates.length?new Date(Math.min(...n)):void 0,latest:l.dates.length?new Date(Math.max(...n)):void 0},h=(e,t)=>"sum"!==t&&"average"!==t||"number"!=typeof e?("earliest"===t||"latest"===t)&&e instanceof Date?e.toLocaleDateString():String(e):e.toFixed(2),p=[];return Object.keys(c).forEach(e=>{const t=e,r=c[t];void 0!==r&&p.push({type:t,value:r,formattedValue:h(r,t)})}),p},e.groupedFirstItemValue=F,e.isRtl=C,e.isSorted=(e,t)=>t&&t.filter(t=>t.field===e).length>0,e.leafColumns=Pr,e.mapColumns=$,e.parsers=N,e.readColumns=S,e.sanitizeColumns=L,e.sortGroupByField=(e,t)=>{const r=It(e,t);return wt(r,t)||Rt(r,t)}});
|
package/package-metadata.js
CHANGED
|
@@ -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:
|
|
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: 1774865538,version:"8.1.0-develop.4",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};exports.packageMetadata=e;
|
package/package-metadata.mjs
CHANGED
|
@@ -10,8 +10,8 @@ const e = {
|
|
|
10
10
|
productName: "Kendo UI for Vue",
|
|
11
11
|
productCode: "KENDOUIVUE",
|
|
12
12
|
productCodes: ["KENDOUIVUE"],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: "8.1.0-develop.
|
|
13
|
+
publishDate: 1774865538,
|
|
14
|
+
version: "8.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": "8.1.0-develop.
|
|
3
|
+
"version": "8.1.0-develop.4",
|
|
4
4
|
"description": "TODO",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -27,16 +27,16 @@
|
|
|
27
27
|
"@progress/kendo-data-query": "^1.7.0",
|
|
28
28
|
"@progress/kendo-drawing": "^1.21.1",
|
|
29
29
|
"@progress/kendo-licensing": "^1.7.2",
|
|
30
|
-
"@progress/kendo-vue-animation": "8.1.0-develop.
|
|
31
|
-
"@progress/kendo-vue-buttons": "8.1.0-develop.
|
|
32
|
-
"@progress/kendo-vue-common": "8.1.0-develop.
|
|
33
|
-
"@progress/kendo-vue-data-tools": "8.1.0-develop.
|
|
34
|
-
"@progress/kendo-vue-dateinputs": "8.1.0-develop.
|
|
35
|
-
"@progress/kendo-vue-indicators": "8.1.0-develop.
|
|
36
|
-
"@progress/kendo-vue-dropdowns": "8.1.0-develop.
|
|
37
|
-
"@progress/kendo-vue-inputs": "8.1.0-develop.
|
|
38
|
-
"@progress/kendo-vue-intl": "8.1.0-develop.
|
|
39
|
-
"@progress/kendo-vue-popup": "8.1.0-develop.
|
|
30
|
+
"@progress/kendo-vue-animation": "8.1.0-develop.4",
|
|
31
|
+
"@progress/kendo-vue-buttons": "8.1.0-develop.4",
|
|
32
|
+
"@progress/kendo-vue-common": "8.1.0-develop.4",
|
|
33
|
+
"@progress/kendo-vue-data-tools": "8.1.0-develop.4",
|
|
34
|
+
"@progress/kendo-vue-dateinputs": "8.1.0-develop.4",
|
|
35
|
+
"@progress/kendo-vue-indicators": "8.1.0-develop.4",
|
|
36
|
+
"@progress/kendo-vue-dropdowns": "8.1.0-develop.4",
|
|
37
|
+
"@progress/kendo-vue-inputs": "8.1.0-develop.4",
|
|
38
|
+
"@progress/kendo-vue-intl": "8.1.0-develop.4",
|
|
39
|
+
"@progress/kendo-vue-popup": "8.1.0-develop.4",
|
|
40
40
|
"@progress/kendo-svg-icons": "^4.4.0",
|
|
41
41
|
"vue": "^3.0.2"
|
|
42
42
|
},
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"package": {
|
|
58
58
|
"productName": "Kendo UI for Vue",
|
|
59
59
|
"productCode": "KENDOUIVUE",
|
|
60
|
-
"publishDate":
|
|
60
|
+
"publishDate": 1774865538,
|
|
61
61
|
"licensingDocsUrl": "https://www.telerik.com/kendo-vue-ui/my-license/"
|
|
62
62
|
}
|
|
63
63
|
},
|