@progress/kendo-vue-data-tools
Version:
15 lines • 88 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@progress/kendo-vue-common"),require("vue"),require("@progress/kendo-svg-icons"),require("@progress/kendo-vue-buttons"),require("@progress/kendo-vue-dropdowns"),require("@progress/kendo-vue-inputs"),require("@progress/kendo-vue-dateinputs"),require("@progress/kendo-vue-intl"),require("@progress/kendo-data-query"),require("@progress/kendo-vue-popup"),require("@progress/kendo-vue-animation")):"function"==typeof define&&define.amd?define(["exports","@progress/kendo-vue-common","vue","@progress/kendo-svg-icons","@progress/kendo-vue-buttons","@progress/kendo-vue-dropdowns","@progress/kendo-vue-inputs","@progress/kendo-vue-dateinputs","@progress/kendo-vue-intl","@progress/kendo-data-query","@progress/kendo-vue-popup","@progress/kendo-vue-animation"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueDatatools={},e.KendoVueCommon,e.Vue,e.KendoSVGIcons,e.KendoVueButtons,e.KendoVueDropdowns,e.KendoVueInputs,e.KendoVueDateinputs,e.KendoVueIntl,e.KendoDataQuery,e.KendoVuePopup,e.KendoVueAnimation)}(this,(function(e,t,r,n,i,o,a,l,s,d,c,p){"use strict";function u(e,r){if(!(r&&e&&e.originalEvent&&t.canUseDOM))return-1;let n=document.elementFromPoint(e.clientX,e.originalEvent.clientY);for(;n&&n.parentElement!==r;)n=n.parentElement;const i=r.children;for(let e=0;e<i.length;e++)if(i[e]===n)return e;return-1}const h=r.defineComponent({data:()=>({visible:!1,top:0,left:0,innerText:"",status:"cancel"}),render(){return this.visible&&r.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"}},[r.createVNode(t.Icon,{name:this.status,class:"k-drag-status",icon:"cancel"===this.status?n.cancelIcon:n.plusIcon},null),this.innerText])}}),g=r.defineComponent({data:()=>({height:0,visible:!1,left:0,top:0}),render(){return this.visible&&r.createVNode("div",{class:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.top+"px",left:this.left+"px",height:this.height+"px"}},null)}}),f="grid.columnMenu",m="pager.info",v="pager.firstPage",b="pager.previousPage",C="pager.nextPage",k="pager.lastPage",x="pager.itemsPerPage",$="pager.pageInputAriaLabel",S="pager.smallPageSelectorAriaLabel",y="pager.pageSelection",I="pager.page",N="pager.of",F="pager.totalPages",O="filter.eqOperator",L="filter.groupFilterAriaLabel",V="filter.notEqOperator",E="filter.isNullOperator",w="filter.isNotNullOperator",z="filter.isEmptyOperator",A="filter.isNotEmptyOperator",M="filter.startsWithOperator",R="filter.containsOperator",D="filter.notContainsOperator",P="filter.endsWithOperator",T="filter.gteOperator",K="filter.gtOperator",j="filter.lteOperator",B="filter.ltOperator",G="filter.isTrue",H="filter.isFalse",q="filter.afterOrEqualOperator",_="filter.afterOperator",W="filter.beforeOperator",U="filter.beforeOrEqualOperator",Y="filter.andLogic",X="filter.orLogic",Q="filter.addExpression",Z="filter.addGroup",J="filter.close",ee="columnMenu.filterChooseOperator",te="columnMenu.filterClearButton",re="columnMenu.filterSubmitButton",ne="columnMenu.filterTitle",ie="columnMenu.sortAscending",oe="columnMenu.sortDescending",ae="columnMenu.filterEqOperator",le="columnMenu.filterNotEqOperator",se="columnMenu.filterIsNullOperator",de="columnMenu.filterIsNotNullOperator",ce="columnMenu.filterIsEmptyOperator",pe="columnMenu.filterIsNotEmptyOperator",ue="columnMenu.filterStartsWithOperator",he="columnMenu.filterContainsOperator",ge="columnMenu.filterNotContainsOperator",fe="columnMenu.filterEndsWithOperator",me="columnMenu.filterGteOperator",ve="columnMenu.filterGtOperator",be="columnMenu.filterLteOperator",Ce="columnMenu.filterLtOperator",ke="columnMenu.filterIsTrue",xe="columnMenu.filterAfterOrEqualOperator",$e="columnMenu.filterAfterOperator",Se="columnMenu.filterBeforeOperator",ye="columnMenu.filterBeforeOrEqualOperator",Ie="columnMenu.filterAndLogic",Ne="columnMenu.filterOrLogic",Fe="grid.searchPlaceholder",Oe="grid.selectAllRows",Le="grid.filterCheckAll",Ve="sort.ariaLabel",Ee="filter.ariaLabel",we="filter.groupAriaLabel",ze="filter.expressionAriaLabel",Ae="filter.expressionDropdownAriaLabel",Me="filter.expressionOperatorDropdownAriaLabel",Re="filter.enumFilterDropdownAriaLabel",De="filter.numericFilterAriaLabel",Pe="filter.textFilterAriaLabel",Te="filter.dateFilterAriaLabel",Ke="filter.dropdownOperatorAriaLabel",je={[L]:"Group Filter",[S]:"Select page",[$]:"Pager - Page number input",[x]:"items per page",[y]:"Select page",[m]:"{0} - {1} of {2} items",[v]:"Go to the first page",[b]:"Go to the previous page",[C]:"Go to the next page",[k]:"Go to the last page",[I]:"Page",[N]:"of",[F]:"{0}",[Fe]:"Search",[Oe]:"Select All Rows",[Le]:"Check All",[Ve]:"Sortable",[Ee]:"Filter",[O]:"Is equal to",[V]:"Is not equal to",[E]:"Is null",[w]:"Is not null",[z]:"Is empty",[A]:"Is not empty",[M]:"Starts with",[R]:"Contains",[D]:"Does not contain",[P]:"Ends with",[T]:"Is greater than or equal to",[K]:"Is greater than",[j]:"Is less than or equal to",[B]:"Is less than",[G]:"Is true",[H]:"Is false",[q]:"Is after or equal to",[_]:"Is after",[W]:"Is before",[U]:"Is before or equal to",[Y]:"And",[X]:"Or",[Q]:"Add Expression",[Z]:"Add Group",[J]:"Remove",[we]:"Filter toolbar",[ze]:"Filter expression row",[Ae]:"Filter dropdown",[Me]:"Filter operator dropdown",[Re]:"Select True/False",[De]:"Enter number",[Pe]:"Enter text",[Te]:"Enter date",[Ke]:"Choose Operator",[ee]:"Choose Operator",[te]:"Clear",[re]:"Filter",[ne]:"Filter",[ie]:"Sort Ascending",[oe]:"Sort Descending",[ae]:"Is equal to",[le]:"Is not equal to",[se]:"Is null",[de]:"Is not null",[ce]:"Is empty",[pe]:"Is not empty",[ue]:"Starts with",[he]:"Contains",[ge]:"Does not contain",[fe]:"Ends with",[me]:"Is greater than or equal to",[ve]:"Is greater than",[be]:"Is less than or equal to",[Ce]:"Is less than",[ke]:"Is true",[xe]:"Is after or equal to",[$e]:"Is after",[Se]:"Is before",[ye]:"Is before or equal to",[Ie]:"And",[Ne]:"Or","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"},Be=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Ge={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"}]},He=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,qe=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,je[e.text]),operator:e.operator}))),_e=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],We=(e,t,r)=>{const n=Ue(r.operators);let i=r.operator;switch(r.filterType){case"numeric":case"date":(!i||He(i))&&(i=n),null===e&&i===n&&(i="");break;case"text":(!i||He(i))&&(i=n),!e&&i===n&&(i="");break;default:return}return{value:e,operator:i,event:t}},Ue=(e,t)=>t?e[t][0].operator:e[0].operator,Ye=e=>e||"text",Xe=(e,t)=>({value:e,operator:""===e?"":"eq",event:t}),Qe=(e,t,r)=>(He(e)&&(r=null),{value:r,operator:e,event:t}),Ze=r.defineComponent({name:"KendoFilterCell",inheritAttrs:!1,emits:{change:null},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=We(e,t,this.$props);this.triggerChange(r)},operatorChange(e,t){const r=Qe(e.value.operator,t,this.$props.value);this.triggerChange(r)},boolDropdownChange(e,t){const r=Xe(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:r.inject("kendoIntlService",{}),kendoLocalizationService:r.inject("kendoLocalizationService",{})}),render(){const{size:e}=this.$props,d=s.provideLocalizationService(this),c=this.$props.operators.find((e=>e.operator===this.$props.operator))||null,p=r.createVNode("div",{class:"k-filtercell",style:this.$attrs.style},[r.createVNode("div",{class:"k-filtercell-wrapper"},[function(t,n){let i;switch(t){case"numeric":return r.createVNode(a.NumericTextBox,{size:e,value:n,onChange:e=>{this.inputChange(e.value,e.event)},title:this.$props.title,"aria-label":this.ariaLabel||d.toLanguageString(De,je[De])},null);case"date":return r.createVNode(l.DatePicker,{size:e,value:n,onChange:e=>{this.inputChange(e.value,e)},title:this.$props.title,"aria-label":this.ariaLabel||d.toLanguageString(Te,je[Te])},null);case"boolean":return i=this.$props.booleanValues,r.createVNode(o.DropDownList,{onChange:this.boolDropdownChange,size:e,value:i.find((e=>e.operator===(null!==n?n:""))),"data-items":i,textField:"text",title:this.$props.title,"aria-label":this.ariaLabel||d.toLanguageString(Re,je[Re])},null);default:return r.createVNode(a.TextBox,{size:e,value:n||"",onInput:e=>{this.inputChange(e.target.value,e)},title:this.$props.title,"aria-label":this.ariaLabel||d.toLanguageString(Pe,je[Pe])},null)}}.call(this,this.$props.filterType,this.$props.value),r.createVNode("div",{class:"k-filtercell-operator"},[function(){if("boolean"!==this.$props.filterType)return r.createVNode(o.DropDownList,{onChange:this.operatorChange,value:c,size:e,class:"k-dropdown-operator",icon:"filter",svgIcon:n.filterIcon,iconClassName:"k-button-icon","data-items":this.$props.operators,textField:"text",title:d.toLanguageString(ee,je[ee]),popupSettings:{width:"",anchor:""},"aria-label":this.ariaLabel||d.toLanguageString(Ke,je[Ke])},null)}.call(this),r.createVNode(i.Button,{size:e,type:"button",icon:"filter-clear",svgIcon:n.filterClearIcon,class:{"k-disabled":!(null!==this.$props.value&&""!==this.$props.value||this.$props.operator)},title:d.toLanguageString(te,je[te]),onClick:this.clear},null)])])]),u=this.$props.grid?t.getListeners.call(this.$props.grid):null,h=t.templateRendering.call(this.$props.grid,this.$props.render,u);return t.getTemplate.call(this,{h:r.h,template:h,defaultRendering:p,additionalProps:this.$props,additionalListeners:{change:this.triggerChange}})}});function Je(e,t,r){return r?{...e,[t]:r.length?[...r]:void 0}:e&&e[t]?[...e[t]]:[]}function et(e,t,r){if(e[r]){let n=Je(e,r,d.orderBy(Je(e,r),t)),i=Je(n,r).map((e=>et(e,t,r)));return{...n,[r]:i}}return e}function tt(e,t,r){let n=Je(e,r);if(n&&n.length){n=n.map((e=>tt(e,t,r)));const i=d.filterBy(n,{filters:[{filters:t,logic:"and"},{operator:e=>!!(e[r]||[]).length}],logic:"or"});return Je(e,r,i)}return e}const rt="groupId",nt="items",it=(e,t,r)=>{e.items&&(e[rt]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach((r=>it(r,t-1,e[rt]))))};const ot=r.defineComponent({name:"KendoNumericButtons",props:{buttonCount:Number,totalPages:Number,currentPage:Number,size:String,responsiveSize:String,onPagechange:Function},inject:{kendoLocalizationService:{default:null}},computed:{start(){const e=this.$props.currentPage,t=this.$props.buttonCount;if(e>t){const r=e%t;return 0===r?e-t+1:e-r+1}return 1},end(){return Math.min(this.start+this.$props.buttonCount-1,this.$props.totalPages)},dropdownClass(){const{size:e}=this.$props;return{"k-picker":!0,"k-dropdown-list":!0,"k-dropdown":!0,"k-rounded-md":!0,"k-picker-solid":!0,[`k-picker-${t.kendoThemeMaps.sizeMap[e]||e}`]:e}}},methods:{click(e,t){e.preventDefault(),this.$emit("pagechange",t,e)},ddlChange(e){this.$emit("pagechange",parseInt(e.target.value,10),e)}},render(){const e=s.provideLocalizationService(this),t=this.$props.messagesMap?this.$props.messagesMap(S):{messageKey:S,defaultMessage:je[S]},n=this.start>1&&r.createVNode(i.Button,{fillMode:"flat",themeColor:"primary",size:this.$props.size,rounded:null,onClick:e=>this.click(e,this.start-1)},{default:()=>[r.createTextVNode("...")]}),o=this.end<this.$props.totalPages&&r.createVNode(i.Button,{fillMode:"flat",themeColor:"primary",size:this.$props.size,rounded:null,onClick:e=>this.click(e,this.end+1)},{default:()=>[r.createTextVNode("...")]}),a=[];for(let e=this.start;e<=this.end;e++)a.push(e);const l=a.map((function(e){return r.createVNode(i.Button,{key:e,class:"k-link",onClick:t=>this.click(t,e),selected:this.$props.currentPage===e,fillMode:"flat",themeColor:"primary",size:this.$props.size,rounded:null,role:"button",title:"Page "+e,"aria-current":this.$props.currentPage===e||void 0},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!r.isVNode(e)}(e)?e:{default:()=>[e]})}),this);return r.createVNode("div",{class:"k-pager-numbers-wrap"},[r.createVNode("div",{class:"k-pager-numbers",style:{display:"small"!==this.$props.responsiveSize?"":"none"}},[n,l,o]),function(n){return r.createVNode("select",{style:{width:"5em",margin:"0px 1em",display:"small"===this.$props.responsiveSize?"inline-flex":"none"},class:this.dropdownClass,"aria-label":e.toLanguageString(t.messageKey,t.defaultMessage),onChange:this.ddlChange},[n.map((function(e){return r.createVNode("option",{value:e,selected:e===this.$props.currentPage},[e])}),this)])}.call(this,a)])}}),at=r.defineComponent({name:"KendoPagerInput",props:{totalPages:Number,currentPage:Number,messagesMap:Function,size:String,onPagechange:Function},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data:()=>({currentText:void 0}),computed:{computedValue(){return void 0!==this.$props.currentPage?this.$props.currentPage:this.currentText}},methods:{changeHangler(e){this.currentText=e.target.value,this.currentText&&this.$emit("pagechange",this.currentText,e)}},setup:()=>({kendoIntlService:r.inject("kendoIntlService",{}),kendoLocalizationService:r.inject("kendoLocalizationService",{})}),render(){const e=s.provideIntlService(this),t=s.provideLocalizationService(this),n=this.$props.messagesMap?this.$props.messagesMap(I):{messageKey:I,defaultMessage:je[I]},i=this.$props.messagesMap?this.$props.messagesMap(N):{messageKey:N,defaultMessage:je[N]},o=this.$props.messagesMap?this.$props.messagesMap(F):{messageKey:F,defaultMessage:je[F]},l=this.$props.messagesMap?this.$props.messagesMap($):{messageKey:$,defaultMessage:je[$]};return r.createVNode("span",{class:"k-pager-input"},[r.createVNode("span",null,[t.toLanguageString(n.messageKey,n.defaultMessage)]),r.createVNode(a.NumericTextBox,{min:1,value:this.computedValue,onChange:this.changeHangler,spinners:!1,size:this.$props.size,ariaLabel:t.toLanguageString(l.messageKey,l.defaultMessage)},null),r.createVNode("span",null,[`${t.toLanguageString(i.messageKey,i.defaultMessage)} ${e.format(t.toLanguageString(o.messageKey,o.defaultMessage),[this.$props.totalPages])}`])])}}),lt=r.defineComponent({name:"KendoPagerPageSizes",props:{value:[String,Number],pageSize:Number,pageSizes:Array,size:String,messagesMap:Function,onPagechange:Function},inject:{kendoLocalizationService:{default:null}},methods:{pageSizeChange(e){this.$emit("pagechange",{skip:0,take:parseInt(e.target.value,10)},e)}},setup:()=>({kendoLocalizationService:r.inject("kendoLocalizationService",{})}),render(){const{value:e,pageSizes:t,pageSize:n}=this.$props,i=s.provideLocalizationService(this),a=t.slice();void 0===e&&0===a.filter((e=>e===n)).length&&a.unshift(n);const l=this.$props.messagesMap?this.$props.messagesMap(x):{messageKey:x,defaultMessage:je[x]},d=this.$props.messagesMap?this.$props.messagesMap(y):{messageKey:y,defaultMessage:je[y]};return r.createVNode("span",{class:"k-pager-sizes k-label"},[r.createVNode(o.DropDownList,{value:void 0!==e?e:n,dataItems:a,size:this.$props.size,ariaLabel:i.toLanguageString(d.messageKey,d.defaultMessage),onChange:this.pageSizeChange},null),i.toLanguageString(l.messageKey,l.defaultMessage)])}}),st=r.defineComponent({name:"KendoPagerInfo",props:{totalPages:Number,currentPage:Number,skip:Number,messagesMap:Function},inject:{kendoLocalizationService:{default:null},kendoIntlService:{default:null}},setup:()=>({kendoIntlService:r.inject("kendoIntlService",{}),kendoLocalizationService:r.inject("kendoLocalizationService",{})}),render(){const e=s.provideIntlService(this),t=s.provideLocalizationService(this),n=this.$props.messagesMap?this.$props.messagesMap(m):{messageKey:m,defaultMessage:je[m]};return r.createVNode("span",{class:"k-pager-info"},[e.format(t.toLanguageString(n.messageKey,n.defaultMessage),[Math.min(this.$props.skip+1,this.$props.totalPages),Math.min(this.$props.skip+this.$props.currentPage,this.$props.totalPages),this.$props.totalPages])])}}),dt=r.defineComponent({name:"KendoPagerNavigationButton",props:{title:String,disabled:Boolean,icon:String,svgIcon:Object,page:Number,size:String,onPagechange:Function},inject:{kendoLocalizationService:{default:null},kendoIntlService:{default:null}},methods:{changePage(e){e.preventDefault(),this.$emit("pagechange",this.$props.page,e)}},render(){return r.createVNode(i.Button,{fillMode:"flat",themeColor:"base",size:this.$props.size,rounded:null,class:"k-pager-nav",ariaLabel:this.title,icon:t.getIconName(this.icon),svgIcon:this.svgIcon,title:this.title,disabled:this.disabled,role:"button",onClick:this.changePage},null)}}),ct=r.defineComponent({name:"KendoPager",props:{pageSizeValue:[String,Number],total:Number,skip:Number,take:Number,pageSize:Number,settings:[Object,Boolean],buttonCount:{type:Number,default:10},info:{type:Boolean,default:!0},type:{type:String,default:"numeric",validator:function(e){return["numeric","input"].includes(e)}},pageSizes:{type:Array},previousNext:Boolean,messagesMap:Function,responsive:{type:Boolean,default:!0},size:{type:String,default:"medium",validator:function(e){return[null,"small","medium","large"].includes(e)}},pagerRender:[String,Function,Object],width:[Number,String],ariaControls:{type:String,default:void 0},onPagesizechange:Function,onPagechange:Function},data:()=>({currentRtl:!1,itemsToFit:void 0,itemsWidths:void 0}),mounted(){t.canUseDOM&&window.ResizeObserver&&(this.observerResize=new window.ResizeObserver(this.onWindowResize),this.observerResize.observe(this.$el)),this.currentRtl=t.isRtl(this.$el);const e=this.collectPagerChildrenWidths();this.itemsWidths=e,this.onWindowResize()},unmounted(){var e;null!=(e=this.document)&&e.body&&this.observerResize&&this.observerResize.disconnect()},inject:{kendoLocalizationService:{default:null},kendoIntlService:{default:null}},computed:{wrapperClass(){const{size:e}=this.$props;return{"k-pager":!0,[`k-pager-${t.kendoThemeMaps.sizeMap[e]||e}`]:e}},totalPages(){return Math.ceil((this.$props.total||0)/this.currentTake)},currentPage(){return Math.floor((this.$props.skip||0)/this.currentTake)+1},currentTake(){return this.$props.take||this.$props.pageSize},showPageSizes(){return this.itemsToFit.includes(this.pagerSizesIndex)},showInfo(){return this.itemsToFit.includes(this.pagerInfoIndex)}},methods:{changePage(e,t){e>0&&e<=this.totalPages&&this.$emit("pagechange",{skip:(e-1)*this.currentTake,take:this.currentTake},t)},triggerPageChange(e,r){t.hasListener.call(this,"pagesizechange")?this.$emit("pagesizechange",e,r):this.$emit("pagechange",e,r)},onWindowResize(){const e=this.$el;!e||!this.$props.responsive||!1===this.$props.settings.responsive||(this.itemsToFit=this.fitChildrenInParent(e,this.itemsWidths||[]))},transformDimension:e=>"string"==typeof e&&e.endsWith("px")?e:e+"px",collectPagerChildrenWidths(){var e;return Array.from((null==(e=this.$el)?void 0:e.children)||[]).map((e=>e instanceof HTMLElement?{class:e.className,width:e.offsetWidth}:0))},fitChildrenInParent(e,t){let r=[],n=0,i=t;const o=e.offsetWidth;for(let a=0;a<t.length;a++){const l=0===a?8:0,s=e.children[a],d=0===a?t[a].width:(null==s?void 0:s.offsetWidth)||t[a].width;n+=d,n<o-20-l?r.push(t[a].class):i[a].width=d}return this.itemsWidths=i,r}},setup:()=>({kendoIntlService:r.inject("kendoIntlService",{}),kendoLocalizationService:r.inject("kendoLocalizationService",{})}),render(){var e,i;const{skip:o,take:a,total:l,pageSizes:d,buttonCount:c,messagesMap:p,info:u,type:h,previousNext:g,pageSizeValue:f}=this.$props,m={pageSizes:d,buttonCount:c,info:u,previousNext:g,type:h,skip:o,take:a,total:l,messagesMap:p,pageSizeValue:f,...this.$props.settings},x=this.$props.pagerRender||this.$props.settings.pagerRender,$=x?t.templateRendering.call(this,x,t.getListeners.call(this)):null,S=s.provideLocalizationService(this),y=p?p(v):{messageKey:v,defaultMessage:je[v]},I=p?p(b):{messageKey:b,defaultMessage:je[b]},N=p?p(C):{messageKey:C,defaultMessage:je[C]},F=p?p(k):{messageKey:k,defaultMessage:je[k]},O="numeric"===m.type?r.createVNode(ot,{responsiveSize:this.responsive&&this.itemsToFit&&this.itemsToFit.length<2?"small":"large",size:this.size,buttonCount:m.buttonCount||0,totalPages:this.totalPages,currentPage:this.currentPage,onPagechange:this.changePage},null):r.createVNode(at,{currentPage:this.currentPage,totalPages:this.totalPages,onPagechange:this.changePage,messagesMap:p,size:this.size},null);let L,V,E,w;m.previousNext&&(L=r.createVNode(dt,{class:"k-pager-first",size:this.size,disabled:1===this.currentPage,page:1,title:S.toLanguageString(y.messageKey,y.defaultMessage),icon:this.currentRtl?"caret-alt-to-right":"caret-alt-to-left",svgIcon:this.currentRtl?n.caretAltToRightIcon:n.caretAltToLeftIcon,onPagechange:this.changePage},null),V=r.createVNode(dt,{disabled:1===this.currentPage,size:this.size,page:this.currentPage-1,title:S.toLanguageString(I.messageKey,I.defaultMessage),icon:this.currentRtl?"caret-alt-right":"caret-alt-left",svgIcon:this.currentRtl?n.caretAltRightIcon:n.caretAltLeftIcon,onPagechange:this.changePage},null),E=r.createVNode(dt,{disabled:this.currentPage===this.totalPages,size:this.size,page:this.currentPage+1,title:S.toLanguageString(N.messageKey,N.defaultMessage),icon:this.currentRtl?"caret-alt-left":"caret-alt-right",svgIcon:this.currentRtl?n.caretAltLeftIcon:n.caretAltRightIcon,onPagechange:this.changePage},null),w=r.createVNode(dt,{class:"k-pager-last",disabled:this.currentPage===this.totalPages,size:this.size,page:this.totalPages,title:S.toLanguageString(F.messageKey,F.defaultMessage),icon:this.currentRtl?"caret-alt-to-left":"caret-alt-to-right",svgIcon:this.currentRtl?n.caretAltToLeftIcon:n.caretAltToRightIcon,onPagechange:this.changePage},null));const z=m.pageSizes&&r.createVNode(lt,{onPagechange:this.triggerPageChange,pageSize:this.currentTake,pageSizes:m.pageSizes,value:m.pageSizeValue,messagesMap:p,size:this.size},null),A=m.info&&r.createVNode(st,{totalPages:this.$props.total,skip:this.$props.skip,currentPage:this.currentTake,messagesMap:p},null);let M=t.getTemplate.call(this,{h:r.h,template:$,additionalProps:{...this.$props,current:this.currentPage},additionalListeners:{pagechange:this.triggerPageChange}});const R=this.transformDimension(this.$props.width);return x?r.createVNode("div",{class:this.wrapperClass,style:{width:R},role:"application","aria-roledescription":"pager"},[M]):r.createVNode("div",{class:this.wrapperClass,style:{width:R},role:"application","aria-roledescription":"pager","aria-keyshortcuts":"Enter ArrowRight ArrowLeft","aria-label":"Page navigation, page "+this.currentPage+" of "+this.totalPages,"aria-controls":this.$props.ariaControls},[r.createVNode("div",{class:"k-pager-numbers-wrap"},[L,V,O,E,w]),!(this.responsive&&this.itemsToFit&&(null==(e=this.itemsToFit)||!e.find((e=>-1!==e.indexOf("k-pager-sizes")))))&&z,!(this.responsive&&this.itemsToFit&&(null==(i=this.itemsToFit)||!i.find((e=>-1!==e.indexOf("k-pager-info")))))&&A])}}),pt="data-keyboardnavlevel",ut="data-keyboardnavscope",ht="data-keyboardnavheader",gt="data-keyboardnavbody",ft="data-keyboardnavid",mt="_filter",vt=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[contenteditable]"],bt=[...vt,"[tabindex]"],Ct=[...vt,"[tabindex]"].map((e=>e+':not([tabindex="-1"])')),kt={[ut]:!0},xt={[ht]:!0},$t={[gt]:!0},St=r.defineComponent({name:"KendoHeaderThElement",emits:{keydown:null},props:{ariaSort:{type:String,validator:function(e){return["none","ascending","descending"].includes(e)}},ariaLabel:String,ariaColumnIndex:Number,ariaSelected:Boolean,ariaHaspopup:String,colSpan:Number,rowSpan:Number,role:String,columnId:String,navigatable:Boolean},computed:{thClass(){const{className:e}=this.$props;return{"k-table-th":!0,[e]:e}}},inject:{getKeyboardNavigationAttributes:{default:t.noop}},setup:()=>({kendoIntlService:r.inject("kendoIntlService",{}),kendoLocalizationService:r.inject("kendoLocalizationService",{})}),render(){const{ariaSort:e,colSpan:n,rowSpan:i,columnId:o,navigatable:a,ariaColumnIndex:l,ariaLabel:s,ariaHaspopup:d,role:c,ariaSelected:p}=this.$props,u=this.getKeyboardNavigationAttributes(o,a),h=t.getDefaultSlots(this);return r.createVNode("th",{style:{top:"0px"},"aria-sort":e,"aria-label":s,"aria-colindex":l,"aria-selected":p,"aria-haspopup":d,colspan:n,rowspan:i,class:this.thClass,onKeydown:this.onKeyDown,role:c,tabindex:u.tabIndex,"data-keyboardnavlevel":u[pt],"data-keyboardnavid":u[ft]},[h])},methods:{onKeyDown(e){this.$emit("keydown",e)}}}),yt=(e,t,r="cell")=>`${t}_${e}_${r}`,It=e=>{if(!e)return;return e.getAttribute(ft)||void 0},Nt=e=>!!e&&!!e.getAttribute(ft),Ft=e=>e.querySelector(`[${ht}]`),Ot=e=>e.querySelector(`[${gt}]`),Lt=(e,t,r,n,i)=>{if(!r)return[];let o=e+(i?-1:1);for(;o>=0&&o<n.length;){const e=n[o][t];if(e!==r)return[e,[o,t]];o+=i?-1:1}return[]},Vt=(e,t,r,n,i)=>{if(!r)return[];let o=t+(i?-1:1);for(;o>=0&&o<n[e].length;){const t=n[e][o];if(t!==r)return[t,[e,o]];o+=i?-1:1}return[]},Et=(e,t)=>{if(t)for(let r=0;r<e.length;r++)for(let n=0;n<e[r].length;n++)if(e[r][n]===t)return[r,n]},wt={generateNavigatableId:yt,getNavigatableId:It,getNavigatableLevel:e=>{if(e)return parseInt(e.getAttribute(pt)||"",10)},getNavigatableElement:(e,t={level:0})=>e.querySelector(`[${pt}='${t.level}']`),getClosestNavigatableElement:e=>e.parentElement&&e.parentElement.closest(`[${pt}]`),getActiveElement:(e,t)=>e.querySelector(`[${ft}='${t}']`),getClosestScope:e=>e.parentElement&&e.parentElement.closest(`[${ut}]`),getHeaderElement:Ft,getBodyElement:Ot,getFocusableElements:(e,t={focusable:!1})=>{let r=t.focusable?bt:Ct;return Array.from(e.querySelectorAll(r.join(",")))},getNavigatableElements:(e,t={level:0})=>{if(!e)return[];let r=bt.map((e=>e+`[${pt}='${t.level}']`)).join(",");return Array.from(e.querySelectorAll(r))},filterNavigatableElements:(e={level:0})=>{let t=bt.map((t=>t+`[${pt}='${e.level}']`)).join(",");return e=>e.matches(t)},focusElement:e=>{const{elementForFocus:t,event:r,kbContext:n,prevElement:i}=e;n&&t&&t.focus&&(r.preventDefault(),t.focus(),Nt(t)&&(t.setAttribute("tabIndex","0"),n.activeId=It(t)),i&&Nt(i)&&i.setAttribute("tabIndex","-1"))},getIdPrefix:e=>e?e.idPrefix:"",isNavigatable:Nt,findNextIdByRowIndex:Lt,findNextIdByCellIndex:Vt,findId:Et,getNextNavigationIndex:e=>e?e.navigationMatrix.length:0,getFilterColumnId:e=>e?`${e}${mt}`:""},zt=r.defineComponent({name:"KendoTableKeyboardNavigationProvider",props:{navigatable:{type:Boolean,default:!1},id:String},data:function(){return{scope:void 0,kbContext:void 0,navigation:void 0}},provide:function(){return{getKeyboardNavigationAttributes:this.getKeyboardNavigationAttributes,onNavMount:this.onComponentDidMount,onGetSnapshotBeforeUpdate:this.onGetSnapshotBeforeUpdate,onComponentDidUpdate:this.onComponentDidUpdate,onNavFocus:this.onFocus,onNavKeyDown:this.onKeyDown,generateMatrix:this.generateMatrix,kbContext:this.kbContext,navigation:this.navigation}},created(){const{navigatable:e,id:r}=this.$props;e&&(this.kbContext={activeId:"",level:0},this.navigation={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:r||t.guid(),navigationMatrix:[],lastHeaderIndex:-1})},methods:{getKeyboardNavigationAttributes(e){return e&&!1!==this.$props.navigatable?{tabIndex:this.kbContext.activeId&&this.kbContext.activeId===e?0:-1,[pt]:this.kbContext.level,[ft]:e}:{}},onComponentDidMount(e){const{scope:t=this.scope}=e;if(this.kbContext&&this.navigation&&t){this.scope=t,this.generateMatrix(e);const r=this.navigation.navigationMatrix[0][0],n=wt.getActiveElement(t,r);r&&n&&(this.kbContext.activeId=r,n.setAttribute("tabIndex","0"))}},onGetSnapshotBeforeUpdate(e){const{kbContext:t=this.kbContext,navigation:r=this.navigation,document:n}=e;if(t&&r&&n){const e=n.activeElement,i=wt.getNavigatableId(e);i&&i===t.activeId&&(r.activeElementIsFocused=!0)}},onComponentDidUpdate(e){const{scope:t}=e;if(this.generateMatrix(e),this.kbContext&&this.navigation&&t){if(!wt.getActiveElement(t,this.kbContext.activeId)){const e=this.navigation.navigationMatrix[0][0],r=wt.getActiveElement(t,e);e&&r&&(this.kbContext.activeId=e,r.setAttribute("tabIndex","0"),this.navigation.activeElementIsFocused&&r.focus())}this.navigation.activeElementIsFocused=!1}},onFocus(e){const t=this.kbContext;if(e.defaultPrevented||!t)return;const r=e.target,n=wt.getNavigatableId(r);if(n&&n!==t.activeId){const e=wt.getClosestScope(r);if(!e)return;const i=wt.getActiveElement(e,t.activeId);i&&i.setAttribute("tabIndex","-1"),r.setAttribute("tabIndex","0"),t.activeId=n}},onKeyDown(e,r){const{kbContext:n=this.kbContext,navigation:i=this.navigation,onNavigationAction:o}=r;if(e.defaultPrevented||!n||!i)return;if(e.keyCode===t.Keys.esc){const t=wt.getClosestNavigatableElement(e.target);return void wt.focusElement({elementForFocus:t,event:e,kbContext:n})}const a=e.target,l=wt.getNavigatableId(a),s=wt.getNavigatableLevel(a),d=wt.getClosestScope(a),c=i.navigationMatrix;if(void 0!==s&&d){if(e.keyCode===t.Keys.enter){const t=wt.getNavigatableElement(a,{level:s+1});if(t)return void wt.focusElement({elementForFocus:t,event:e,kbContext:n,prevElement:a});{const t=wt.getFocusableElements(a)[0];return void wt.focusElement({elementForFocus:t,event:e,kbContext:n,prevElement:a})}}if(e.keyCode===t.Keys.up||e.keyCode===t.Keys.down||e.keyCode===t.Keys.left||e.keyCode===t.Keys.right){const r=e.keyCode===t.Keys.up||e.keyCode===t.Keys.left,s=e.keyCode===t.Keys.up||e.keyCode===t.Keys.down;let p;if(i&&i.prevNavigationIndexes){const[e,t]=i.prevNavigationIndexes;p=c[e][t]===l?i.prevNavigationIndexes:Et(c,l)}else p=Et(c,l);if(p){const[t,u]=p,[h,g]=s?Lt(t,u,l,c,r):Vt(t,u,l,c,r);if(h){const t=wt.getActiveElement(d,h);wt.focusElement({elementForFocus:t,event:e,kbContext:n,prevElement:a}),i.prevNavigationIndexes=g,o&&o({focusElement:t,event:e})}}}}},generateMatrix(e){const{navigation:t=this.navigation,scope:r}=e;if(!t||!r)return;const n=[],i=Ft(r),o=Ot(r);if(!i||!o)return;const a=Array.from(i.children),l=Array.from(o.children);[...a,...l].forEach(((e,t)=>{Array.from(e.children).forEach((e=>{const r=It(e);if(!r)return;const i=e.rowSpan||1,o=e.colSpan||1;let a;for(let e=t,o=t+i;e<o;e++){if(n[e]||(n[e]=[]),void 0===a){const t=n[e].findIndex((e=>!e));a=t>-1?t:n[e].length}n[e][a]=r||""}for(let e=a+1,i=a+o;e<i;e++)n[t][e]=r||""}))})),t.navigationMatrix=n.filter((e=>!!e)),t.lastHeaderIndex=a.length-1}},render(){return t.getDefaultSlots(this)[0]}}),At="data-grid-row-index",Mt="data-grid-col-index",Rt={},Dt=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if("TABLE"===r.tagName)return null;r=r.parentElement}return null},Pt=e=>{if(!e)return;const t=e.getAttribute(At);return t?parseInt(t,10):void 0},Tt=e=>{if(!e)return;const t=e.getAttribute(Mt);return t?parseInt(t,10):void 0},Kt=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{dataItems:i,startRowIndex:o,endRowIndex:a,startColIndex:l,endColIndex:s,cell:d,isDrag:c,ctrlKey:p,shiftKey:u,metaKey:h,componentId:g,mode:f,dataItem:m}=t;let v={};const b=null!==m;if("single"===f){const e=i.slice(o,o+1)[0][r];Rt[g]={rowIndex:o,colIndex:l},v[e]=!d||[l]}else if(!c&&(u||p||h||b)){if(p||h||b){Rt[g]={rowIndex:o,colIndex:l};const e=i.slice(o,a+1)[0][r];v={...n},v[e]=d&&!b?((e,t)=>!e||Array.isArray(e)&&0===e.length?[t]:e.findIndex((e=>e===t))>-1?e.filter((e=>e===t)):[...e,t])(v[e],l):!v[e]}else if(u){const e=Rt[g]&&Rt[g].rowIndex||0,t=Rt[g]&&Rt[g].colIndex||0,n=Math.min(e,o,a),c=Math.max(e,o,a),p=Math.min(t,l,s),u=Math.max(t,l,s),h=[];for(let e=p;e<=u;e++)h.push(e);i.slice(n,c+1).forEach((e=>{const t=e[r];v[t]=!d||[...h]}))}}else{c||(Rt[g]={rowIndex:o,colIndex:l});const e=[];for(let t=l;t<=s;t++)e.push(t);i.slice(o,a+1).forEach((t=>{const n=t[r];v[n]=!d||[...e]}))}return v},jt=t.hasRelativeStackingContext(),Bt=r.defineComponent({name:"kendoTextFilter",props:{filter:{type:Object,required:!0},ariaLabel:String,onFilterchange:Function},inject:{kendoLocalizationService:{default:null}},render(){const e=s.provideLocalizationService(this),{ariaLabel:t=e.toLanguageString(Pe,je[Pe])}=this.$props;return r.createVNode(a.TextBox,{value:this.$props.filter.value||"",onInput:this.onChange,ariaLabel:t},null)},methods:{onChange(e){this.$emit("filterchange",{nextFilter:{...this.$props.filter,value:e.value}})}}}),Gt=r.defineComponent({name:"kendoNumericFilter",props:{filter:{type:Object,required:!0},onFilterchange:Function},inject:{kendoLocalizationService:{default:null}},render(){const e=this.$props.filter,t=s.provideLocalizationService(this).toLanguageString(De,je[De]);return r.createVNode(a.NumericTextBox,{value:"number"==typeof e.value?e.value:null,onChange:this.onChange,ariaLabel:t},null)},methods:{onChange(e){this.$emit("filterchange",{nextFilter:{...this.$props.filter,value:e.value}})}}}),Ht=r.defineComponent({name:"KendoDateFilter",props:{filter:{type:Object,required:!0},onFilterchange:Function},render(){const e=this.$props.filter;return r.createVNode(l.DatePicker,{value:e.value||null,onChange:this.onChange},null)},methods:{onChange(e){this.$emit("filterchange",{nextFilter:{...this.$props.filter,value:e.value}})}}}),qt=r.defineComponent({name:"KendoEnumFilter",props:{filter:{type:Object,required:!0},dataItems:Array,defaultItem:Object,ariaLabel:String,onFilterchange:Function},inject:{kendoLocalizationService:{default:null}},render(){const e=s.provideLocalizationService(this),{filter:t,dataItems:n=[],defaultItem:i,ariaLabel:a=e.toLanguageString(Re,je[Re])}=this.$props,l=n.map((t=>({...t,text:e.toLanguageString(t.text,je[t.text]||t.text)})));return r.createVNode(o.DropDownList,{value:l.find((e=>e.value===t.value))||null,onChange:this.onChange,defaultItem:i,dataItems:l,textField:"text",ariaLabel:a},null)},methods:{onChange(e){this.$emit("filterchange",{nextFilter:{...this.$props.filter,value:e.value.value}})}}}),_t=r.defineComponent({name:"KendoBooleanFilter",props:{filter:{type:Object,required:!0},dataItems:{type:Array,default:function(){}},defaultItem:Object,onFilterchange:Function},data:()=>({currentData:[{text:G,value:!0},{text:H,value:!1}]}),render(){return r.createVNode(qt,{filter:this.$props.filter,onFilterchange:this.handleFilterChange,dataItems:this.$props.dataItems||this.currentData,defaultItem:this.$props.defaultItem},null)},methods:{handleFilterChange(e){this.$emit("filterchange",e)}}}),Wt=[{text:R,operator:"contains"},{text:D,operator:"doesnotcontain"},{text:O,operator:"eq"},{text:V,operator:"neq"},{text:M,operator:"startswith"},{text:P,operator:"endswith"},{text:E,operator:"isnull"},{text:w,operator:"isnotnull"},{text:z,operator:"isempty"},{text:A,operator:"isnotempty"}],Ut=[{text:O,operator:"eq"},{text:V,operator:"neq"},{text:T,operator:"gte"},{text:K,operator:"gt"},{text:j,operator:"lte"},{text:B,operator:"lt"},{text:E,operator:"isnull"},{text:w,operator:"isnotnull"}],Yt=[{text:O,operator:"eq"},{text:V,operator:"neq"},{text:q,operator:"gte"},{text:_,operator:"gt"},{text:W,operator:"lt"},{text:U,operator:"lte"},{text:E,operator:"isnull"},{text:w,operator:"isnotnull"}],Xt=[{text:O,operator:"eq"},{text:V,operator:"neq"}];const Qt=e=>"contains"===e||"doesnotcontain"===e||"startswith"===e||"endswith"===e,Zt=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Jt=r.defineComponent({name:"KendoExpression",emits:{change:null,remove:null},props:{filter:{type:Object,required:!0},fields:{type:Array,required:!0}},inject:{kendoLocalizationService:{default:null}},render(){const{fields:e,filter:a}=this.$props,l=e.find((e=>e.name===a.field)),d=s.provideLocalizationService(this),c=(l&&l.operators||[]).map((e=>({...e,text:d.toLanguageString(e.text,je[e.text]||e.text)})));let p=null;const u=function(e,n){switch(e){case"numeric":p=r.createVNode(Gt,{filter:a,onFilterchange:this.onInputChange},null);break;case"date":p=r.createVNode(Ht,{filter:a,onFilterchange:this.onInputChange},null);break;case"boolean":p=r.createVNode(_t,{filter:a,onFilterchange:this.onInputChange},null);break;default:p=r.createVNode(Bt,{filter:a,onFilterchange:this.onInputChange},null)}return t.getTemplate.call(this,{h:r.h,template:n,defaultRendering:p,additionalProps:{filter:a},additionalListeners:{filterchange:this.onInputChange}})};return r.createVNode("div",{class:"k-filter-toolbar"},[r.createVNode(i.Toolbar,{overflow:"none",keyboardNavigation:!1,ariaLabel:a.ariaLabel?a.ariaLabel:void 0},{default:()=>[r.createVNode(i.ToolbarItem,{class:"k-filter-field"},{default:()=>[r.createVNode(o.DropDownList,{class:"k-filter-dropdown",dataItems:e,textField:"label",value:e.find((e=>e.name===a.field)),onChange:this.onFieldChange,ariaLabel:d.toLanguageString(Ae,je[Ae])},null)]}),r.createVNode(i.ToolbarItem,{class:"k-filter-operator"},{default:()=>[r.createVNode(o.DropDownList,{dataItems:c,textField:"text",value:c.find((e=>e.operator===a.operator)),onChange:this.onOperatorChange,ariaLabel:d.toLanguageString(Me,je[Me])},null)]}),r.createVNode(i.ToolbarItem,{class:"k-filter-value"},{default:()=>[l&&u.call(this,l.filter,l.filterRender)]}),r.createVNode(i.Button,{title:d.toLanguageString(J,je[J]),icon:"x",svgIcon:n.xIcon,fillMode:"flat",type:"button",class:"k-toolbar-button",onClick:this.onFilterRemove},null)]})])},methods:{onFieldChange(e){const t=e.value.name,r=this.$props.fields.find((e=>e.name===t)),n=this.$props.filter,i=r&&!r.operators.some((e=>e.operator===n.operator))?r.operators[0].operator:n.operator,o={field:t,operator:i};Zt(i)||(o.value=Qt(i)?"":null),this.triggerOnFilterChange(n,o,e)},onOperatorChange(e){const t=e.value.operator,r=this.$props.filter;let n;if(Zt(t)){let{value:e,...i}=r;n={...i,operator:t}}else n={...r,operator:t};this.triggerOnFilterChange(r,n,e)},onInputChange(e){const t=this.$props.filter;let r=e.nextFilter;if(Zt(r.operator)){const e=this.$props.fields.find((e=>e.name===r.field));r={...r,operator:e&&e.operators[0].operator||r.operator}}this.triggerOnFilterChange(t,r,e)},triggerOnFilterChange(e,t,r){const n={prevFilter:e,nextFilter:t,event:r.event,target:this};this.$emit("change",n)},onFilterRemove(e){const t={filter:this.$props.filter,event:e.event,target:this};this.$emit("remove",t)}}});function er(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!r.isVNode(e)}const tr=r.defineComponent({name:"KendoFilterGroup",emits:{change:null,remove:null},props:{filter:{type:Object,required:!0},fields:{type:Array,required:!0},defaultGroupFilter:{type:Object,required:!0},ariaLabel:{type:String,default:void 0}},inject:{kendoLocalizationService:{default:null}},render(){let e,t;const{filter:o}=this.$props,a=s.provideLocalizationService(this);return r.createVNode("div",{class:"k-filter-toolbar"},[r.createVNode(i.Toolbar,{overflow:"none",keyboardNavigation:!1,"aria-label":this.$props.ariaLabel},{default:()=>[r.createVNode(i.ButtonGroup,{class:"k-toolbar-button-group"},{default:()=>[r.createVNode(i.Button,{togglable:!0,onClick:this.onLogicAnd,class:"k-toolbar-button",selected:"and"===o.logic,type:"button"},er(e=a.toLanguageString(Y,je[Y]))?e:{default:()=>[e]}),r.createVNode(i.Button,{togglable:!0,onClick:this.onLogicOr,class:"k-toolbar-button",selected:"or"===o.logic,type:"button"},er(t=a.toLanguageString(X,je[X]))?t:{default:()=>[t]})]}),r.createVNode(i.Button,{title:a.toLanguageString(Q,je[Q]),icon:"filter-add-expression",svgIcon:n.filterAddExpressionIcon,type:"button",class:"k-toolbar-button",onClick:this.onAddExpression},null),r.createVNode(i.Button,{title:a.toLanguageString(Z,je[Z]),icon:"filter-add-group",svgIcon:n.filterAddGroupIcon,type:"button",class:"k-toolbar-button",onClick:this.onAddGroup},null),r.createVNode(i.Button,{title:a.toLanguageString(J,je[J]),icon:"x",svgIcon:n.xIcon,fillMode:"flat",type:"button",class:"k-toolbar-button",onClick:this.onGroupRemove},null)]})])},methods:{onGroupRemove(){this.$emit("remove",{filter:this.$props.filter})},onAddExpression(){const e=this.$props.filter,t=this.$props.fields[0],r={field:t.name,operator:t.operators[0].operator};r.value=Qt(r.operator)?"":null,this.$emit("change",{nextFilter:{...e,filters:[...e.filters,r]},prevFilter:e})},onAddGroup(){const e=this.$props.filter;this.$emit("change",{nextFilter:{...e,filters:[...e.filters,{...this.$props.defaultGroupFilter}]},prevFilter:e})},onLogicAnd(){this.changeLogic("and")},onLogicOr(){this.changeLogic("or")},changeLogic(e){const t=this.$props.filter;t.logic!==e&&this.$emit("change",{nextFilter:{...t,logic:e},prevFilter:t})}}}),rr=r.defineComponent({name:"KendoFilterGroup",emits:{change:null,remove:null},props:{filter:{type:Object,required:!0},fields:{type:Array,required:!0},defaultGroupFilter:{type:Object,required:!0}},inject:{kendoLocalizationService:{default:null}},render(){const e=s.provideLocalizationService(this),{fields:t,filter:n,filterRender:i}=this.$props;return n.filters.length>0?r.createVNode("ul",{class:"k-filter-lines",role:"group"},[n.filters.map((function(n,i){return r.createVNode("li",{key:i,class:"k-filter-item",role:"treeitem"},[d.isCompositeFilterDescriptor(n)?[r.createVNode(tr,{filter:n,fields:t,ariaLabel:e.toLanguageString(L,je[L]),onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.$props.defaultGroupFilter},null),r.createVNode(rr,{filter:n,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.$props.defaultGroupFilter},null)]:r.createVNode(Jt,{filter:n,fields:t,onChange:this.onChange,onRemove:this.onRemove},null)])}),this)]):null},methods:{replaceFilter(e,t){const r=this.$props.filter,n=r.filters.map((r=>r===e?t:r));return{...r,filters:n}},onChange(e){const t={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.$props.filter,event:e.event,target:this};this.$emit("change",t)},onRemove(e){const t=this.$props.filter,r=t.filters.filter((t=>t!==e.filter)),n={nextFilter:{...t,filters:r},prevFilter:t,event:e.event,target:this};this.$emit("change",n)}}}),nr={name:"@progress/kendo-vue-data-tools",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:1632380454,version:"6.3.0",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"},ir=r.defineComponent({name:"KendoFilter",emits:{change:null,changemodel:null,"update:modelValue":null},model:{event:"changemodel"},props:{fields:{type:Array,required:!0},modelValue:{type:Object,default:void 0},value:Object,defaultGroupFilter:Object,upperToolbarAriaLabel:{type:String,default:void 0}},inject:{kendoLocalizationService:{default:null}},created(){t.validatePackage(nr)},computed:{computedValue(){let e;return void 0!==this.$props.value?e=this.$props.value:void 0!==this.$props.modelValue&&(e=this.$props.modelValue),e}},render(){const e=s.provideLocalizationService(this),n=this.$props.fields.map((function(e){return{...e,filterRender:t.templateRendering.call(this,e.filterRender,t.getListeners.call(this))}}),this);return r.createVNode("div",{class:"k-filter"},[r.createVNode("ul",{class:"k-filter-container",role:"tree","aria-label":e.toLanguageString(Ee,je[Ee])},[r.createVNode("li",{class:"k-filter-group-main",role:"treeitem"},[r.createVNode(tr,{"aria-label":this.$props.upperToolbarAriaLabel,filter:this.computedValue,fields:n,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.$props.defaultGroupFilter||{logic:"and",filters:[]}},null),r.createVNode(rr,{filter:this.computedValue,fields:n,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.$props.defaultGroupFilter||{logic:"and",filters:[]}},null)])])])},methods:{onFilterChange(e){const t={filter:e.nextFilter,event:e.event,target:this};this.$emit("changemodel",e.nextFilter),this.$emit("update:modelValue",e.nextFilter),this.$emit("change",t)},onGroupRemove(e){const t={...this.computedValue,filters:[]},r={filter:t,event:e.event,target:this};this.$emit("changemodel",t),this.$emit("update:modelValue",t),this.$emit("change",r)}}}),or={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};const ar=r.defineComponent({name:"kendoFilterRow",props:{grid:Object,columns:Array,filter:[Object,Array],filterOperators:Object,sort:[Object,Array],cellRender:[String,Function,Object],isRtl:Boolean,ariaRowIndex:Number,size:String},inject:{kendoLocalizationService:{default:null}},methods:{headerCellClassName(e,t){let r="k-table-th k-header"+(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,n){const i=this.$props.filter,o=[];(""!==e&&null!==e||""!==t)&&o.push({field:r,operator:t,value:e}),i&&(i.filters||i.length)&&(i.length?i:i.filters||[]).forEach((e=>{const t=e;t&&t.field!==r&&o.push(t)}));const a=o.length>0?{logic:"and",filters:o}:null;this.$emit("filterchange",a,n)}},setup:()=>({kendoLocalizationService:r.inject("kendoLocalizationService",{})}),render(){const e=s.provideLocalizationService(this),t=this.$props.filter&&this.$props.filter.filters?this.$props.filter.filters:this.$props.filter.length?this.$props.filter:[],n=(e,r=null)=>{const n=t.filter((t=>t.field===e))[0];return n?n.value:r},i=e=>{const r=t.filter((t=>t.field===e))[0];return r?r.operator:null};let o=0,a=-1;const l=this.$props.columns.filter((e=>0===e.children.length)).map((function(t){const l=Ye(t.filter),s=r.createVNode(Ze,{grid:this.$props.grid,field:t.field,size:this.$props.size,title:t.filterTitle,value:n(t.field,"text"===l?"":null),operator:i(t.field),operators:qe(this.$props.filterOperators[l]||[],e),booleanValues:qe(_e,e),filterType:l,onChange:e=>{this.setFilter(e.value,e.operator,t.field,e)},render:t.filterCell||this.$props.cellRender},null),d=t.declarationIndex>=0?++a:--o,c={ariaLabel:t.filterable?e.toLanguageString(Ee,je[Ee]):void 0,ariaColumnIndex:t.ariaColumnIndex},p=void 0!==t.left?this.$props.isRtl?{left:t.right+"px",right:t.left+"px"}:{left:t.left+"px",right:t.right+"px"}:{},u=r.createVNode(St,{key:d,columnId:wt.getFilterColumnId(t.id),navigatable:t.navigatable,style:p,class:this.headerCellClassName(t.field,t.locked)||void 0,ariaLabel:c.ariaLabel,ariaColumnIndex:c.ariaColumnIndex},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!r.isVNode(e)}(s)?s:{default:()=>[s]});return t.filterable&&u||r.createVNode(St,{key:d,columnId:wt.getFilterColumnId(t.id),navigatable:t.navigatable,style:p,class:this.headerCellClassName(t.field,t.locked)||void 0,ariaLabel:c.ariaLabel,ariaColumnIndex:c.ariaColumnIndex},null)}),this);return r.createVNode("tr",{class:"k-table-row k-filter-row","aria-rowindex":this.ariaRowIndex,role:"row"},[l])}}),lr=r.defineComp