@progress/kendo-react-data-tools 7.1.0-develop.2 → 7.1.0-develop.6

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.
@@ -2,4 +2,4 @@
2
2
  * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- (function(c,j){typeof exports=="object"&&typeof module!="undefined"?j(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-intl"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-data-query"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-animation")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-buttons","@progress/kendo-react-intl","@progress/kendo-react-inputs","@progress/kendo-react-dropdowns","@progress/kendo-svg-icons","react-dom","@progress/kendo-data-query","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-animation"],j):(c=typeof globalThis!="undefined"?globalThis:c||self,j(c.KendoReactDatatools={},c.React,c.PropTypes,c.KendoReactCommon,c.KendoReactButtons,c.KendoReactIntl,c.KendoReactInputs,c.KendoReactDropdowns,c.KendoSvgIcons,c.ReactDOM,c.KendoDataQuery,c.KendoReactDateinputs,c.KendoReactPopup,c.KendoReactAnimation))})(this,function(c,j,g,m,k,S,V,G,N,Ye,X,Ue,ln,cn){"use strict";"use client";function Rt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const s=Rt(j),un=Rt(Ye),me="pager.info",Ee="pager.firstPage",ve="pager.previousPage",Ce="pager.nextPage",be="pager.lastPage",xe="pager.itemsPerPage",dn="pager.pageSelection",$="pager.page",ye="pager.of",Ie="pager.totalPages",hn="pager.pageLabel",Fe="pager.ariaKeyshortcuts",Se="pager.ariaLabel",Le="pager.pageSizeAriaLabel",Me="pager.mobileSelect",De="pager.moreButtonLabel",Z="filter.eqOperator",J="filter.notEqOperator",Ne="filter.isNullOperator",Oe="filter.isNotNullOperator",Kt="filter.isEmptyOperator",Bt="filter.isNotEmptyOperator",zt="filter.startsWithOperator",Tt="filter.containsOperator",_t="filter.notContainsOperator",qt="filter.endsWithOperator",Pt="filter.gteOperator",Gt="filter.gtOperator",Ht="filter.lteOperator",Wt="filter.ltOperator",Vt="filter.isTrue",$t="filter.isFalse",Yt="filter.afterOrEqualOperator",Ut="filter.afterOperator",jt="filter.beforeOperator",Xt="filter.beforeOrEqualOperator",je="filter.andLogic",Xe="filter.orLogic",Q="filter.addExpression",ee="filter.addGroup",te="filter.close",Ze="filter.groupAriaLabel",Je="filter.expressionAriaLabel",Qe="filter.expressionDropdownAriaLabel",et="filter.expressionOperatorDropdownAriaLabel",tt="filter.enumFilterDropdownAriaLabel",rt="filter.numericFilterAriaLabel",nt="filter.textFilterAriaLabel",at="columnMenu.filterClearButton",it="columnMenu.filterSubmitButton",st="columnMenu.filterTitle",ot="columnMenu.sortAscending",lt="columnMenu.sortDescending",Ae="columnMenu.filterEqOperator",we="columnMenu.filterNotEqOperator",ke="columnMenu.filterIsNullOperator",Re="columnMenu.filterIsNotNullOperator",Zt="columnMenu.filterIsEmptyOperator",Jt="columnMenu.filterIsNotEmptyOperator",Qt="columnMenu.filterStartsWithOperator",er="columnMenu.filterContainsOperator",tr="columnMenu.filterNotContainsOperator",rr="columnMenu.filterEndsWithOperator",nr="columnMenu.filterGteOperator",ar="columnMenu.filterGtOperator",ir="columnMenu.filterLteOperator",sr="columnMenu.filterLtOperator",or="columnMenu.filterIsTrue",lr="columnMenu.filterAfterOrEqualOperator",cr="columnMenu.filterAfterOperator",ur="columnMenu.filterBeforeOperator",dr="columnMenu.filterBeforeOrEqualOperator",hr="columnMenu.filterAndLogic",gr="columnMenu.filterOrLogic",ct="sort.ariaLabel",ut="filter.ariaLabel",C={[xe]:"items per page",[dn]:"Select page",[me]:"{0} - {1} of {2} items",[Ee]:"Go to the first page",[ve]:"Go to the previous page",[Ce]:"Go to the next page",[be]:"Go to the last page",[$]:"Page",[ye]:"of",[Ie]:"{0}",[hn]:"Page",[Fe]:"Enter ArrowRight ArrowLeft",[Se]:"Pager",[Le]:"Page size",[Me]:"Select",[De]:"More pages",[ct]:"Sortable",[ut]:"Filter",[Z]:"Is equal to",[J]:"Is not equal to",[Ne]:"Is null",[Oe]:"Is not null",[Kt]:"Is empty",[Bt]:"Is not empty",[zt]:"Starts with",[Tt]:"Contains",[_t]:"Does not contain",[qt]:"Ends with",[Pt]:"Is greater than or equal to",[Gt]:"Is greater than",[Ht]:"Is less than or equal to",[Wt]:"Is less than",[Vt]:"Is true",[$t]:"Is false",[Yt]:"Is after or equal to",[Ut]:"Is after",[jt]:"Is before",[Xt]:"Is before or equal to",[je]:"And",[Xe]:"Or",[Q]:"Add Expression",[ee]:"Add Group",[te]:"Close",[Ze]:"Filter toolbar",[Je]:"Filter expression row",[Qe]:"Filter dropdown",[et]:"Filter operator dropdown",[tt]:"Select True/False",[rt]:"Enter number",[nt]:"Enter text",[at]:"Clear",[it]:"Filter",[st]:"Filter",[ot]:"Sort Ascending",[lt]:"Sort Descending",[Ae]:"Is equal to",[we]:"Is not equal to",[ke]:"Is null",[Re]:"Is not null",[Zt]:"Is empty",[Jt]:"Is not empty",[Qt]:"Starts with",[er]:"Contains",[tr]:"Does not contain",[rr]:"Ends with",[nr]:"Is greater than or equal to",[ar]:"Is greater than",[ir]:"Is less than or equal to",[sr]:"Is less than",[or]:"Is true",[lr]:"Is after or equal to",[cr]:"Is after",[ur]:"Is before",[dr]:"Is before or equal to",[hr]:"And",[gr]:"Or"},pr="...";class gn extends s.Component{constructor(){super(...arguments),this.handlePageChange=(t,r)=>{t.preventDefault(),this.props.pageChange(r,t)},this.handleSelectPageChange=t=>{t.preventDefault(),this.props.pageChange(t.target.value,t)}}render(){const t=S.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(Me):{messageKey:Me,defaultMessage:C[Me]},n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},a=this.props.messagesMap?this.props.messagesMap(De):{messageKey:De,defaultMessage:C[De]},i=t.toLanguageString(a.messageKey,a.defaultMessage),o=this.start>1&&this.renderDots(this.start-1,i),l=this.end<this.props.totalPages&&this.renderDots(this.end+1,i),u=this.start>1&&this.renderOptionDots(this.start-1),d=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),h=[];for(let p=this.start;p<=this.end;p++)h.push(p);const E=h.map(p=>s.createElement(k.Button,{className:m.classNames({"k-selected":this.props.currentPage===p}),key:p,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(n.messageKey,n.defaultMessage)+" "+p,"aria-current":this.props.currentPage===p?!0:void 0,onClick:x=>this.handlePageChange(x,p)},p)),v=h.map(p=>s.createElement("option",{key:p},p));return s.createElement(s.Fragment,null,s.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:m.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${m.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(r.messageKey,r.defaultMessage),value:this.props.currentPage,onChange:p=>this.handleSelectPageChange(p)},u,v,d),s.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},o,E,l))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const t=this.props.currentPage,r=this.props.buttonCount;if(t>r){const n=t%r;return n===0?t-r+1:t-n+1}return 1}renderDots(t,r){return s.createElement(k.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":r,onClick:n=>this.handlePageChange(n,t)},pr)}renderOptionDots(t){return s.createElement("option",{value:t},pr)}}class fr extends s.Component{constructor(){super(...arguments),this.state={page:this.props.currentPage},this.handleOnChange=t=>{this.setState({page:t.target.value}),t.target.value&&this.props.pageChange(t.target.value,t)}}render(){const t=S.provideIntlService(this),r=S.provideLocalizationService(this),n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},a=this.props.messagesMap?this.props.messagesMap(ye):{messageKey:ye,defaultMessage:C[ye]},i=this.props.messagesMap?this.props.messagesMap(Ie):{messageKey:Ie,defaultMessage:C[Ie]};return s.createElement(s.Fragment,null,s.createElement("span",{className:"k-pager-input"},s.createElement("span",null,r.toLanguageString(n.messageKey,n.defaultMessage)),s.createElement(V.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1}),s.createElement("span",null,`${r.toLanguageString(a.messageKey,a.defaultMessage)} ${t.format(r.toLanguageString(i.messageKey,i.defaultMessage),[this.props.totalPages])}`)))}}S.registerForLocalization(fr);class mr extends s.Component{constructor(){super(...arguments),this.pageSizeChange=t=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(t.target.value,10)},t)}}render(){const{value:t,pageSizes:r,pageSize:n,messagesMap:a}=this.props,i=r.slice();t===void 0&&i.filter(u=>u===n).length===0&&i.unshift(n);const o=a?a(xe):{messageKey:xe,defaultMessage:C[xe]},l=a?a(Le):{messageKey:Le,defaultMessage:C[Le]};return s.createElement("span",{className:"k-pager-sizes"},s.createElement(G.DropDownList,{value:t!==void 0?t:n,data:i,onChange:this.pageSizeChange,ariaLabel:S.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),s.createElement("span",null,S.provideLocalizationService(this).toLanguageString(o.messageKey,o.defaultMessage)))}}S.registerForLocalization(mr);const dt={name:"@progress/kendo-react-data-tools",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},Er=600,pn=768;class re extends s.Component{constructor(t){super(t),this._element=null,this.onPageChange=(r,n)=>{const a={target:this,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,targetEvent:n,...r};this.props.onPageChange&&this.props.onPageChange.call(void 0,a)},this.changePage=(r,n)=>{this.props.onPageChange&&r>0&&r<=this.totalPages&&this.props.onPageChange({target:this,skip:(r-1)*this.props.take,take:this.props.take,syntheticEvent:n,nativeEvent:n.nativeEvent,targetEvent:n})},this.onWindowResize=()=>{const r=this.element;if(!r||!this.props.responsive)return;const n=r.offsetWidth;n<Er?this.setState({showPagerSizes:!1}):n>=Er&&n<pn?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},m.validatePackage(dt),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return this.props.dir==="rtl"}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:t,showPagerInfo:r}=this.state,{skip:n,take:a,total:i,pageSizes:o,size:l,responsive:u,messagesMap:d,pageSizeValue:h}=this.props,E=S.provideLocalizationService(this),v=S.provideIntlService(this),p=Math.floor(n/a)+1,x=this.props.type==="numeric"?s.createElement(gn,{type:u&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:p,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:this.props.size}):s.createElement(fr,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:p,pageChange:this.changePage,messagesMap:d,size:this.props.size}),I=d?d(Ee):{messageKey:Ee,defaultMessage:C[Ee]},y=d?d(ve):{messageKey:ve,defaultMessage:C[ve]},f=d?d(Ce):{messageKey:Ce,defaultMessage:C[Ce]},L=d?d(be):{messageKey:be,defaultMessage:C[be]},A=d?d(me):{messageKey:me,defaultMessage:C[me]},M=d?d(Fe):{messageKey:Fe,defaultMessage:C[Fe]},b=d?d(Se):{messageKey:Se,defaultMessage:C[Se]};let F,D,B,q;this.props.previousNext&&(F=this.renderButton(1,"k-pager-nav k-pager-first"+(p===1?" k-disabled":""),E.toLanguageString(I.messageKey,I.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?N.caretAltToRightIcon:N.caretAltToLeftIcon,p===1?!0:void 0),D=this.renderButton(p-1,"k-pager-nav"+(p===1?" k-disabled":""),E.toLanguageString(y.messageKey,y.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?N.caretAltRightIcon:N.caretAltLeftIcon,p===1?!0:void 0),B=this.renderButton(p+1,"k-pager-nav"+(p>=this.totalPages?" k-disabled":""),E.toLanguageString(f.messageKey,f.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?N.caretAltLeftIcon:N.caretAltRightIcon,p>=this.totalPages?!0:void 0),q=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(p>=this.totalPages?" k-disabled":""),E.toLanguageString(L.messageKey,L.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?N.caretAltToLeftIcon:N.caretAltToRightIcon,p>=this.totalPages?!0:void 0));const P=o&&s.createElement(mr,{pageChange:this.onPageChange,pageSize:a,pageSizes:o,value:h,messagesMap:d,size:this.props.size}),H=this.props.info&&s.createElement("span",{className:"k-pager-info"},v.format(E.toLanguageString(A.messageKey,A.defaultMessage),[Math.min(n+1,i),Math.min(n+a,i),i]));return s.createElement("div",{className:m.classNames("k-pager",{[`k-pager-${m.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":E.toLanguageString(M.messageKey,M.defaultMessage),"aria-label":E.toLanguageString(b.messageKey,b.defaultMessage),ref:R=>this._element=R},s.createElement("div",{className:m.classNames("k-pager-numbers-wrap")},F,D,x,B,q),u?t&&P:P,u?r&&H:H)}renderButton(t,r,n,a,i,o){return s.createElement(k.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:r,icon:a,svgIcon:i,title:n,role:"button","aria-disabled":o,onClick:l=>{l.preventDefault(),this.changePage(t,l)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}}re.propTypes={className:g.string,style:g.object,total:g.number.isRequired,skip:g.number.isRequired,take:g.number.isRequired,buttonCount:g.number,info:g.bool,type:g.oneOf(["numeric","input"]),pageSizes:g.arrayOf(g.oneOfType([g.string,g.number])),previousNext:g.bool,onPageChange:g.func,messagesMap:g.func,size:g.oneOf([null,"small","medium","large"]),dir:g.string},re.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"},S.registerForIntl(re),S.registerForLocalization(re);const ne=e=>class extends s.Component{constructor(){super(...arguments),this.filterChange=n=>{this.props.onFilterChange&&this.props.onFilterChange(n)},this.inputChange=n=>{const a=n.target.value,{filter:i=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?i.map(d=>d.field===o?{...l,value:a}:d):[...i,{...e.emptyFilter,value:a,field:o}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.operatorChange=n=>{const{operator:a}=n.target.value,{filter:i=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?i.map(d=>d.field===o?{...l,operator:a}:d):[...i,{...e.emptyFilter,field:o,operator:a}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.clearButtonClick=n=>{const{filter:a=[],field:i=""}=this.props;this.filterChange({filter:a.filter(o=>o.field!==i),field:i,syntheticEvent:n})},this.findCellFilter=()=>{const{filter:n=[],field:a}=this.props;return n.find(i=>i.field===a)}}render(){const{clearButtonTitle:n="",operators:a=[]}=this.props,i=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:o,value:l}=i,u={ariaLabel:"filter",value:a.find(d=>d.operator===o)||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:N.filterIcon,data:a,textField:"text",popupSettings:{width:""},components:this.props.components};return s.createElement("div",{className:"k-filtercell"},s.createElement("span",null,e.inputComponent({value:l,onChange:this.inputChange,components:this.props.components,ariaLabel:this.props.ariaLabel,min:this.props.min,max:this.props.max}),s.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(u,this.props)," ",s.createElement(k.Button,{className:m.classNames({["k-clear-button-visible"]:!(l===null||l==="")||o}),title:n,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:N.filterClearIcon,disabled:!(!(l===null||l==="")||o)}))))}},vr="eq",fn={emptyFilter:{operator:vr,value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,a=r.find(i=>i.field===n);return s.createElement(G.DropDownList,{...e,value:e.data.find(i=>i.operator===(a?a.value:"")),onChange:i=>{if(!t.onFilterChange)return;const o=i.target.value.operator;if(o===""){a&&t.onFilterChange.call(void 0,{filter:r.filter(u=>u.field!==a.field),field:n,syntheticEvent:i.syntheticEvent});return}let l=a?r.map(u=>u.field===n?{...a,value:o}:u):[...r,{value:o,field:n,operator:vr}];t.onFilterChange.call(void 0,{filter:l,field:n,syntheticEvent:i.syntheticEvent})}})}};class mn extends ne(fn){}const En={inputComponent:e=>s.createElement(Ue.DatePicker,{...e}),operatorComponent:e=>s.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class vn extends ne(En){}const Cn={inputComponent:e=>s.createElement(V.NumericTextBox,{...e}),operatorComponent:e=>s.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class bn extends ne(Cn){}const xn={inputComponent:e=>s.createElement(V.Input,{...e}),operatorComponent:e=>s.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class yn extends ne(xn){}const Cr={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},Y="data-keyboardnavlevel",ht="data-keyboardnavscope",gt="data-keyboardnavheader",pt="data-keyboardnavbody",ae="data-keyboardnavid",In="data-keyboardnavzone",br="_filter",xr=["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]"],Ke=[...xr,"[tabindex]"],yr=[...xr,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Fn={[ht]:!0},Ir={[gt]:!0},Sn={[pt]:!0},ft=s.createContext(void 0);ft.displayName="KendoReactTableKeyboardNavigationContext";const Fr=(e,t)=>{const r=s.useContext(ft);return!r||!e||t===!1?{}:{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[Y]:r.level,[ae]:e}},Be=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:a,style:i,columnId:o,onKeyDown:l,navigatable:u,ariaColumnIndex:d,ariaLabel:h,role:E,ariaSelected:v}=e,p=Fr(o,u);return s.createElement("th",{"aria-sort":t,"aria-label":h,"aria-colindex":d,"aria-selected":v,colSpan:r,rowSpan:n,className:a,style:i,onKeyDown:l,role:E,...p},e.children)};Be.displayName="KendoReactHeaderThElement";const Sr=(e,t,r="cell")=>`${t}_${e}_${r}`,Ln=e=>{if(e)return parseInt(e.getAttribute(Y)||"",10)},mt=e=>{if(!e)return;const t=e.getAttribute(ae);return t||void 0},Et=e=>e?!!e.getAttribute(ae):!1,Mn=(e,t={level:0})=>e.querySelector(`[${Y}='${t.level}']`),Dn=e=>e.parentElement&&e.parentElement.closest(`[${Y}]`),Nn=(e,t)=>e.querySelector(`[${ae}='${t}']`),On=e=>e.parentElement&&e.parentElement.closest(`[${ht}]`),Lr=e=>e.querySelector(`[${gt}]`),Mr=e=>e.querySelector(`[${pt}]`),An=(e,t={focusable:!1})=>{let r=t.focusable?Ke:yr;return Array.from(e.querySelectorAll(r.join(",")))},wn=(e,t={level:0})=>{if(!e)return[];let r=Ke.map(n=>n+`[${Y}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(r))},kn=(e={level:0})=>{let t=Ke.map(r=>r+`[${Y}='${e.level}']`).join(",");return r=>r.matches(t)},Rn=e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:a}=e;n.current&&t&&t.focus&&(r.preventDefault(),t.focus(),Et(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=mt(t)),a&&Et(a)&&a.setAttribute("tabIndex","-1"))},Kn=e=>e.current?e.current.idPrefix:"",Dr=(e,t,r,n,a)=>{if(!r)return[];let i=e+(a?-1:1);for(;i>=0&&i<n.length;){const o=n[i][t];if(o!==r)return[o,[i,t]];i=i+(a?-1:1)}return[]},Nr=(e,t,r,n,a)=>{if(!r)return[];let i=t+(a?-1:1);for(;i>=0&&i<n[e].length;){const o=n[e][i];if(o!==r)return[o,[e,i]];i=i+(a?-1:1)}return[]},vt=(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]}},Bn=e=>e.current?e.current.navigationMatrix.length:0,Or=e=>e?`${e}${br}`:"",O={generateNavigatableId:Sr,getNavigatableId:mt,getNavigatableLevel:Ln,getNavigatableElement:Mn,getClosestNavigatableElement:Dn,getActiveElement:Nn,getClosestScope:On,getHeaderElement:Lr,getBodyElement:Mr,getFocusableElements:An,getNavigatableElements:wn,filterNavigatableElements:kn,focusElement:Rn,getIdPrefix:Kn,isNavigatable:Et,findNextIdByRowIndex:Dr,findNextIdByCellIndex:Nr,findId:vt,getNextNavigationIndex:Bn,getFilterColumnId:Or},Ar="k-table-row k-filter-row",zn=(e,t,r)=>{let n=`${r?"k-grid-header-sticky":""}`;return e.some(a=>a.field===t)&&(n+=" k-sorted"),n},Tn=function(e){const{columns:t,filter:r,filterChange:n,sort:a=[],ariaRowIndex:i}=e,o=S.useLocalization();return s.createElement("tr",{className:Ar,"aria-rowindex":i,role:"row"},t.map((l,u)=>{const d=l.locked!==void 0?{left:l.left,right:l.right,borderRightWidth:l.rightBorder?"1px":""}:{},h=l.filterCell||l.filter;return s.createElement(Be,{columnId:Or(l.id),navigatable:l.navigatable,style:d,key:u,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:h?o.toLanguageString(ut,C[ut]):void 0,className:m.classNames("k-table-th k-header",zn(a,l.field,l.locked))},h&&s.createElement(h,{field:l.field,filter:r,onFilterChange:n}))}))};function wr(e,t){const r=e[t].depth;let n=null;for(let a=t+1;a<e.length;a++)if(e[a].depth===r){n=e[a];break}return n}const Ct=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((r,n)=>Ct(n)+r,0)),t};function _n(e){const t=[[]];let r=0;for(let i=e.length-1;i>=0;i--)r=Math.max(r,e[i].depth),e[i].colSpan=e[i].colSpan||1,e[i].parentIndex!==-1&&(e[e[i].parentIndex].colSpan=(e[e[i].parentIndex].colSpan||0)+e[i].colSpan);const n=[];let a=1;return e.forEach((i,o)=>{t[i.depth]=t[i.depth]||[];let l=!1;t[i.depth].length===0&&(a<=1?a=1+(i.children.length>0?0:r-i.depth):(a--,l=!0)),i.rowSpan=1+(i.children.length>0?0:r-i.depth),i.kFirst=l,i.index=t[i.depth].length,t[i.depth].push(o),i.ariaColumnIndex=n[i.depth]?n[i.depth]+1:1;for(let u=i.depth;u<i.depth+i.rowSpan;u++)n[u]=(n[u]||0)+i.colSpan}),kr(t,e),Rr(t,e),t}function kr(e,t,r){let n=new Array(e.length).fill(0),a=0;t.forEach(i=>{if(i.locked&&(!i.left||r))if(i.left=n[i.depth],a=Ct(i),i.children.length===0)for(let o=i.depth;o<n.length;o++)n[o]+=a;else n[i.depth]+=a})}function Rr(e,t,r){let n=0,a=new Array(e.length).fill(0);for(let i=t.length-1;i>=0;i--){const o=t[i];if(o.locked&&(!o.right||r)){if(o.right=a[o.depth],n=Ct(o),o.children.length===0)for(let u=o.depth;u<a.length;u++)a[u]+=n;else a[o.depth]+=n;const l=wr(t,i);o.rightBorder=!(l&&l.locked)}}}function Kr(e,t,r=0){let n=[];if(!e||!e.length)return[];e.forEach(i=>{const o=Kr(i.children||[],t,r+1);n.push(Object.assign({},{depth:r},Cr,i,{id:i.id?i.id:Sr(`${t.prevId++}`,t.idPrefix,"column"),declarationIndex:n.length,children:o,rowSpan:0,colSpan:0,isAccessible:!0}))});const a=(i,o)=>i.orderIndex===o.orderIndex?i.declarationIndex-o.declarationIndex:(i.orderIndex||0)-(o.orderIndex||0);if(n.sort(a),r===0){let i=[];const o=(l,u)=>l.forEach(d=>{d.parentIndex=u,o(d.children,i.push(d)-1)});return o(n,-1),i}return n}function Br(e){return!!(e&&getComputedStyle(e).direction==="rtl")}function bt(e,t){if(!t||!e||!e.originalEvent)return-1;const r={x:e.clientX,y:e.originalEvent.clientY};let n=t.ownerDocument?t.ownerDocument.elementFromPoint(r.x,r.y):null;for(;n&&n.parentElement!==t;)n=n.parentElement;if(!n&&t.matches("tr")){const i=o=>{const l=o.getBoundingClientRect();return r.x>l.left&&r.x<l.left+l.width&&r.y>l.top&&r.y<l.top+l.height};n=Array.from(t.children).find(i)||null}const a=t.children;for(let i=0;i<a.length;i++)if(a[i]===n)return i;return-1}class qn extends s.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:t}=this.props;t&&t.resizable&&t.setIsRtl(Br(this.element))}render(){return s.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:t=>this.element=t,...Ir},this.props.headerRow,this.props.filterRow)}}function zr(e){const t=e.onClick?{onClick:e.onClick}:{},r=s.createElement("span",{className:"k-link",...t},s.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return s.createElement(s.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const Tr=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);class _r extends s.Component{constructor(){super(...arguments),this.draggable=null,this.isDragged=!1,this.onDrag=t=>{this.isDragged=!0;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!1)},this.onRelease=t=>{if(!this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!0),this.isDragged=!1},this.onDoubleClick=t=>{if(this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.autofit&&this.props.autofit(t,r)}}render(){return s.createElement(m.Draggable,{onPress:t=>{t.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},s.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}}class Pn extends s.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.pressHandler&&this.props.pressHandler(t.event,r)},this.onDrag=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.dragHandler&&this.props.dragHandler(t.event,r)},this.onRelease=t=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(t.event)}}render(){return s.createElement(m.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},s.createElement("tr",{className:"k-table-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},this.props.children))}}const Gn={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Hn={none:"none",asc:"ascending",desc:"descending"};class qr extends s.Component{constructor(){super(...arguments),this.cellClick=(t,r)=>{if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:n,mode:a}=Tr(this.props.sortable||!1,r.sortable||!1),i=(this.props.sort||[]).filter(u=>u.field===r.field)[0],o=Gn[n][i&&i.dir||""],l=a==="single"?[]:(this.props.sort||[]).filter(u=>u.field!==r.field);o!==""&&r.field&&l.push({field:r.field,dir:o}),this.props.sortChange(t,l,r.field)},this.cellKeyDown=(t,r)=>{t.isDefaultPrevented()||t.keyCode===m.Keys.enter&&this.cellClick(t,r)},this.cells=t=>t.map((r,n)=>{const a=this.props.columns[r],{columnResize:i}=this.props,o=i&&i.resizable&&a.resizable,l=this.props.sortable&&a.sortable,u=this.props.sort?this.props.sort.findIndex(f=>f.field===a.field):-1,d=u>=0&&this.props.sort[u].dir||"none",h={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:a.field},E={field:a.field,onClick:l&&(f=>this.cellClick(f,a))||void 0,selectionChange:this.props.selectionChange,title:a.title,selectionValue:a.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(u),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:h},v=a.columnMenu||this.props.columnMenu,p=m.classNames("k-table-th",{"k-first":a.kFirst,"k-filterable":!!v,"k-header":!0,"k-grid-header-sticky":a.locked,"k-sorted":this.props.sort&&this.props.sort.some(f=>f.field===a.field)},a.headerClassName),x=a.locked!==void 0?{left:a.left,right:a.right,borderRightWidth:a.rightBorder?"1px":""}:{},I=S.provideLocalizationService(this).toLanguageString(ct,C[ct]);let y=a.isAccessible?{ariaSort:l?Hn[d]:void 0,role:"columnheader",ariaColumnIndex:a.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?I:""}:{role:"presentation"};return s.createElement(Be,{key:n,colSpan:a.colSpan,rowSpan:a.rowSpan,className:p,style:x,columnId:a.id,navigatable:a.navigatable,onKeyDown:l&&(f=>this.cellKeyDown(f,a))||void 0,...y},a.headerCell&&s.createElement(a.headerCell,{...E}),!a.headerCell&&s.createElement("span",{className:"k-cell-inner"},s.createElement(zr,{...E}),v&&s.createElement(v,{...h})),i&&o&&s.createElement(_r,{key:"ColumnResizer",resize:(f,L,A)=>i.dragHandler(f,a,L,A)}))})}sortIcon(t){if(!this.props.sort||t<0)return null;const r=this.props.sort[t].dir;return r?[s.createElement(m.IconWrap,{key:1,name:`sort-${r}-small`,icon:r==="asc"?N.sortAscSmallIcon:N.sortDescSmallIcon}),this.props.sort.length>1&&s.createElement("span",{key:2,className:"k-sort-order"},t+1)]:null}render(){return this.props.columnsMap.map((t,r)=>this.props.pressHandler&&s.createElement(Pn,{key:r,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:r+1},this.cells(t))||s.createElement("tr",{className:"k-table-row","aria-rowindex":r+1,role:"row"},this.cells(t)))}}S.registerForLocalization(qr);function Wn(e){const t=[s.createElement("input",{key:0,checked:e.selectionValue,id:e.inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:r=>e.selectionChange({field:e.field,syntheticEvent:r})}),s.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return s.createElement(s.Fragment,null,e.render?e.render.call(void 0,t,e):t)}function Vn(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:a}=e,i=r.map(()=>1),o=r.map(()=>!1);if(!t)return{colSpans:i,hiddenColumns:o};const l=r.map(f=>parseFloat((f.width||"").toString())||10);let u=0;for(let f=0;f<r.length;f++){if(r[f].locked)continue;const L=f<l.length-1?l[f+1]:0;if(u+l[f]+L<a)o[f]=!0,u+=l[f];else break}const d=l.reduce((f,L)=>f+L,0);u=0;for(let f=r.length-1;f>=0;f--)if(!r[f].locked)if(u+2*l[f]<d-n-a)o[f]=!0,u+=l[f];else break;const h=[...o],E=f=>f;let v=h.lastIndexOf(!1),p=h.some(E),x=h.every(E),I,y;for(;p&&h.length&&(v!==-1||x);){for(v<h.length-1&&(I=x?h.length:h.length-v-1,y=h.length-I,y===0&&(y=I-1),o[y]=!1,i[y]=I,h.splice(v+1,I));h.length&&!h[h.length-1];)h.pop();v=h.lastIndexOf(!1),p=h.some(E),x=h.every(E)}return{colSpans:i,hiddenColumns:o}}class $n{constructor(t){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=r=>{this.isRtl=r},this.onResize=t,this.dragHandler=this.dragHandler.bind(this)}dragHandler(t,r,n,a){const i=t.originalEvent;a||(i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation());const o=n.parentElement;if(!o||!o.parentElement)return;const l=o.clientWidth;let u;if(this.isRtl?(u=n.getBoundingClientRect().right-n.offsetWidth/2-t.clientX,u+=l):u=l+t.clientX-n.getBoundingClientRect().left-n.offsetWidth/2,!a&&Math.abs(u-l)<1)return;this.setWidths(r,Math.floor(u)/l);const d=this.columns.filter(h=>!h.children.length).indexOf(r);this.onResize(d,l,u,i,a)}setWidths(t,r){const n=this.columns.indexOf(t),a=[];let i=t.children.length;for(let o=n+1;i>0&&o<this.columns.length;o++,i--){const l=this.columns[o];l.children.length?i+=l.children.length:a.push(l)}a.length===0&&a.push(t),a.forEach(o=>{let l=o.width?parseFloat(o.width.toString())*r:0;const u=o.minResizableWidth===void 0?10:o.minResizableWidth;l<u&&(l=u),o.width=Math.floor(l)}),this.updateColElements(a)}updateColElements(t){const r=this.columns.filter(a=>!a.children.length);let n=1e-10;for(let a=0;a<t.length;a++){const i=r.indexOf(t[a]),o=parseFloat((t[a].width||0).toString());n+=o-Math.floor(o);const l=Math.floor(o)+Math.floor(n);n-=Math.floor(n),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[i],l),this.setColWidth(this.colGroupHeader&&this.colGroupHeader.children[i],l),this.setColWidth(this.colGroupFooter&&this.colGroupFooter.children[i],l)}}setColWidth(t,r){t&&(t.style.width=r+"px")}}class Yn{constructor(t,r,n){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=a=>{this.groupPanelDivElement=a},this.refDropElementClue=a=>{this.dropElementClue=a},this.refDragElementClue=a=>{this.dragElementClue=a},this.pressHandler=(a,i)=>{const o=this.getColumnIndex(a,i);if(this.startGroup=this.getGroupIndex(a),o>=0){const l=this.columns[o];(l.reorderable&&this.reorderable||l.groupable&&this.groupable)&&(this.startColumn=o)}},this.dragHandler=(a,i)=>{if(a.isTouch||a.originalEvent.preventDefault(),a.originalEvent.stopPropagation(),this.startColumn===-1&&this.startGroup===-1)return;this.currentColumn=this.getColumnIndex(a,i),this.currentGroup=this.getGroupIndex(a),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const o=!this.isValid();o&&(this.currentColumn=-1,this.currentGroup=-1);const l=this.currentColumn>=0?i.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(a,i,l,o),this.updateDropElementClue(a,i,l,o)},this.releaseHandler=a=>{const i=this.startColumn,o=this.currentColumn,l=this.startGroup,u=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const d=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,d&&(i>=0&&o>=0?this.columnReorder(i,o,a.originalEvent):l>=0&&u>=0?this.groupReorder(l,u,a.originalEvent):i>=0&&u>=0&&this.columnToGroup(i,u,a.originalEvent))},this.columnReorder=t,this.groupReorder=r,this.columnToGroup=n}getColumnIndex(t,r){if(!r||r.parentElement===this.groupPanelDivElement)return-1;const n=bt(t,r);if(n===-1)return-1;for(let a=0;a<r.parentNode.children.length;a++)if(r.parentNode.children[a]===r)return this.columns.findIndex(i=>i.index===n&&i.depth===a);return-1}getGroupIndex(t){return bt(t,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:this.startColumn===-1?!1:this.currentGroup>=0?this.columns[this.startColumn].groupable===!0&&this.groupable===!0:this.reorderable===!0&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&this.columns[this.startColumn].reorderable===!0&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex}updateDragElementClue(t,r,n,a){if(!this.dragElementClue)return;const i=this.startColumn>=0?r.children[this.columns[this.startColumn].index].innerText:r.innerText;this.dragElementClue.setState({visible:!0,top:t.pageY+10,left:t.pageX,innerText:i,status:a||!n?"k-i-cancel":"k-i-plus"})}updateDropElementClue(t,r,n,a){if(!this.dropElementClue)return;if(a||!n){this.dropElementClue.setState({visible:!1});return}const i=n.getBoundingClientRect();let o=i.left+t.pageX-t.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&this.startGroup!==-1)&&(o+=i.width);const l=i.top+t.pageY-t.clientY;this.dropElementClue.setState({visible:!0,top:l,left:o,height:this.currentColumn>=0?r.clientHeight:i.height})}}class Un extends s.PureComponent{constructor(t){super(t),this.elementRef=s.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=s.createRef()}get element(){return this.elementRef.current}render(){const t=this.hiddenElementRef.current,{status:r}=this.state,n=this.state.visible&&m.canUseDOM&&Ye.createPortal(s.createElement("div",{ref:this.elementRef,className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.state.top+"px",left:this.state.left+"px"}},s.createElement(m.IconWrap,{className:"k-drag-status",name:r,icon:r==="k-i-cancel"?N.cancelIcon:N.plusIcon}),this.state.innerText),t&&t.ownerDocument?t.ownerDocument.body:document.body);return s.createElement(s.Fragment,null,n,s.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class jn extends s.PureComponent{constructor(t){super(t),this.state={height:0,visible:!1,left:0,top:0},this.hiddenElementRef=s.createRef()}render(){const t=this.hiddenElementRef.current,r=this.state.visible&&m.canUseDOM&&Ye.createPortal(s.createElement("div",{className:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.state.top+"px",left:this.state.left+"px",height:this.state.height+"px"}}),t&&t.ownerDocument?t.ownerDocument.body:document.body);return s.createElement(s.Fragment,null,r,s.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class xt extends s.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=S.provideLocalizationService(this),{ariaLabel:r=t.toLanguageString(nt,C[nt])}=this.props;return s.createElement(V.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":r})}}xt.propTypes={filter:g.object.isRequired,onFilterChange:g.func.isRequired,ariaLabel:g.string},S.registerForLocalization(xt);class yt extends s.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=S.provideLocalizationService(this),{min:r,max:n,filter:a,ariaLabel:i=t.toLanguageString(rt,C[rt])}=this.props;return s.createElement(V.NumericTextBox,{value:typeof a.value=="number"?a.value:null,onChange:this.onChange,ariaLabel:i,"aria-valuemin":r,"aria-valuemax":n,min:r,max:n})}}yt.propTypes={filter:g.object.isRequired,onFilterChange:g.func.isRequired},S.registerForLocalization(yt);class Pr extends s.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=this.props.filter;return s.createElement(Ue.DatePicker,{value:t.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}}Pr.propTypes={filter:g.object.isRequired,onFilterChange:g.func.isRequired,ariaLabel:g.string};class ze extends s.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value.value}})}}render(){const t=S.provideLocalizationService(this),{filter:r,data:n=[],defaultItem:a,ariaLabel:i=t.toLanguageString(tt,C[tt])}=this.props,o=n.map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return s.createElement(G.DropDownList,{value:o.find(l=>l.value===r.value)||null,onChange:this.onChange,defaultItem:a,data:o,textField:"text",ariaLabel:i})}}ze.propTypes={filter:g.object.isRequired,onFilterChange:g.func.isRequired,data:g.arrayOf(g.shape({text:g.string,value:g.any})),defaultItem:g.any,ariaLabel:g.string},S.registerForLocalization(ze);class Gr extends s.Component{constructor(){super(...arguments),this.data=[{text:Vt,value:!0},{text:$t,value:!1}]}render(){return s.createElement(ze,{filter:this.props.filter,onFilterChange:this.props.onFilterChange,data:this.props.data||this.data,defaultItem:this.props.defaultItem,ariaLabel:this.props.ariaLabel})}}Gr.propTypes={filter:g.object.isRequired,onFilterChange:g.func.isRequired,data:g.arrayOf(g.shape({text:g.string,value:g.any})),ariaLabel:g.string,defaultItem:g.any};const Xn=[{text:Tt,operator:"contains"},{text:_t,operator:"doesnotcontain"},{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:zt,operator:"startswith"},{text:qt,operator:"endswith"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"},{text:Kt,operator:"isempty"},{text:Bt,operator:"isnotempty"}],Zn=[{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:Pt,operator:"gte"},{text:Gt,operator:"gt"},{text:Ht,operator:"lte"},{text:Wt,operator:"lt"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"}],Jn=[{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:Yt,operator:"gte"},{text:Ut,operator:"gt"},{text:jt,operator:"lt"},{text:Xt,operator:"lte"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"}],Qn=[{text:Z,operator:"eq"},{text:J,operator:"neq"}];class ea{static get text(){return[...Xn]}static get numeric(){return[...Zn]}static get date(){return[...Jn]}static get boolean(){return[...Qn]}}const It=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",Te=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",Hr=e=>{e.value===void 0&&!Te(e.operator)&&(e.value=It(e.operator)?"":null)};class _e extends s.Component{constructor(){super(...arguments),this.onFieldChange=t=>{const r=t.value.name,n=this.props.fields.find(l=>l.name===r),a=this.props.filter,i=n&&!n.operators.some(l=>l.operator===a.operator)?n.operators[0].operator:a.operator,o={field:r,operator:i};Hr(o),this.triggerOnFilterChange(a,o,t)},this.onOperatorChange=t=>{const r=t.value.operator,n=this.props.filter;let a;if(Te(r)){let{value:i,...o}=n;a={...o,operator:r}}else a={...n,operator:r};Hr(a),this.triggerOnFilterChange(n,a,t)},this.onInputChange=t=>{const r=this.props.filter;let n=t.nextFilter;if(Te(n.operator)){const a=this.props.fields.find(i=>i.name===n.field);n={...n,operator:a&&a.operators[0].operator||n.operator}}this.triggerOnFilterChange(r,n,t)},this.triggerOnFilterChange=(t,r,n)=>{const a={prevFilter:t,nextFilter:r,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,target:this};this.props.onChange.call(void 0,a)},this.onFilterRemove=t=>{const r={filter:this.props.filter,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,target:this};this.props.onRemove.call(void 0,r)}}render(){const t=S.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:a=t.toLanguageString(Je,C[Je])}=this.props,i=r.find(l=>l.name===n.field),o=(i&&i.operators||[]).map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return s.createElement("div",{className:"k-filter-toolbar"},s.createElement(k.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:a},s.createElement(k.ToolbarItem,{className:"k-filter-field"},s.createElement(G.DropDownList,{className:"k-filter-dropdown",data:r,textField:"label",value:r.find(l=>l.name===n.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(Qe,C[Qe])})),s.createElement(k.ToolbarItem,{className:"k-filter-operator"},s.createElement(G.DropDownList,{data:o,textField:"text",value:o.find(l=>l.operator===n.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(et,C[et])})),s.createElement(k.ToolbarItem,{className:"k-filter-value"},i&&s.createElement(i.filter,{filter:n,onFilterChange:this.onInputChange,min:i.min,max:i.max})),s.createElement(k.Button,{className:"k-toolbar-button",title:t.toLanguageString(te,C[te]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}}_e.propTypes={filter:g.object.isRequired,fields:g.array.isRequired,ariaLabel:g.string,onChange:g.func.isRequired,onRemove:g.func.isRequired},S.registerForLocalization(_e);const Wr=class extends s.Component{constructor(){super(...arguments),this.onGroupRemove=e=>{const t={filter:this.props.filter,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onRemove.call(void 0,t)},this.onAddExpression=e=>{const t=this.props.filter,r=this.props.fields[0],n={field:r.name,operator:r.operators[0].operator};n.value=It(n.operator)?"":null;const a={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,a)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map(a=>a===e?t:a);return{...r,filters:n}},this.onChange=e=>{const r={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,r)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter(a=>a!==e.filter),n={nextFilter:{...t,filters:r},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const e=S.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(Ze,C[Ze])}=this.props;return s.createElement(s.Fragment,null,s.createElement("div",{className:"k-filter-toolbar"},s.createElement(k.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},s.createElement(k.ButtonGroup,{className:"k-toolbar-button-group"},s.createElement(k.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:r.logic==="and",type:"button"},e.toLanguageString(je,C[je])),s.createElement(k.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:r.logic==="or",type:"button"},e.toLanguageString(Xe,C[Xe]))),s.createElement(k.Button,{className:"k-toolbar-button",title:e.toLanguageString(Q,C[Q]),icon:"filter-add-expression",svgIcon:N.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(Q,C[Q])),s.createElement(k.Button,{className:"k-toolbar-button",title:e.toLanguageString(ee,C[ee]),icon:"filter-add-group",svgIcon:N.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(ee,C[ee])),s.createElement(k.Button,{className:"k-toolbar-button",title:e.toLanguageString(te,C[te]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),r.filters.length>0&&s.createElement("ul",{role:"group",className:"k-filter-lines"},r.filters.map((a,i)=>s.createElement("li",{role:"treeitem",key:i,className:"k-filter-item"},X.isCompositeFilterDescriptor(a)?s.createElement(Wr,{filter:a,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):s.createElement(_e,{filter:a,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};let qe=Wr;qe.propTypes={filter:g.object.isRequired,fields:g.array.isRequired,ariaLabel:g.string,ariaLabelExpression:g.string,onChange:g.func.isRequired,onRemove:g.func.isRequired,defaultGroupFilter:g.object.isRequired},S.registerForLocalization(qe);class Vr extends s.Component{constructor(t){super(t),this.onFilterChange=r=>{const n={filter:r.nextFilter,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onGroupRemove=r=>{const n={filter:{...this.props.value,filters:[]},syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},m.validatePackage(dt)}render(){return s.createElement("div",{className:m.classNames("k-filter",this.props.className),style:this.props.style},s.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},s.createElement("li",{role:"treeitem",className:"k-filter-group-main"},s.createElement(qe,{filter:this.props.value,fields:this.props.fields,ariaLabel:this.props.ariaLabelGroup,ariaLabelExpression:this.props.ariaLabelExpression,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.props.defaultGroupFilter||{logic:"and",filters:[]}}))))}}Vr.propTypes={className:g.string,style:g.object,fields:function(e,t){const r=e[t];if(r===void 0)return new Error(`Property '${t}' is missing.`);if(Array.isArray(r)){if(Object.keys(r.reduce((n,a)=>({...n,[a.name]:1}),{})).length!==r.length)return new Error(`Property '${t}' needs to contain objects with unique 'name' field.`)}else return new Error(`Property '${t}' needs to be Array<FieldSettings>.`);return null},ariaLabelGroup:g.string,ariaLabelExpression:g.string,value:g.object.isRequired,onChange:g.func.isRequired};const Pe=e=>s.createElement("div",{onClick:e.onClick,className:m.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&s.createElement(m.IconWrap,{name:e.iconClass?m.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),ta=[{text:er,operator:"contains"},{text:tr,operator:"doesnotcontain"},{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:Qt,operator:"startswith"},{text:rr,operator:"endswith"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"},{text:Zt,operator:"isempty"},{text:Jt,operator:"isnotempty"}],ra=[{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:nr,operator:"gte"},{text:ar,operator:"gt"},{text:ir,operator:"lte"},{text:sr,operator:"lt"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"}],na=[{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:lr,operator:"gte"},{text:cr,operator:"gt"},{text:ur,operator:"lt"},{text:dr,operator:"lte"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"}],aa=[{text:or,operator:""}];class ie{static get text(){return[...ta]}static get numeric(){return[...ra]}static get date(){return[...na]}static get boolean(){return[...aa]}}const Ft=e=>{const{filter:t,onFilterChange:r,operators:n,initialFilter:a}=e,i=s.useCallback(d=>{const h=t,E=d.target.value.operator,v=h?{...h,operator:E}:{value:a.value,operator:E};r.call(void 0,d.syntheticEvent,v,h)},[t,r,a]),o=s.useCallback(d=>{const h=d.target.value,E=t,v=E?{...E,value:h}:{value:h,operator:n[0].operator};r.call(void 0,d,v,E)},[t,r,n]),l=S.useLocalization(),u=n.map(d=>({...d,text:l.toLanguageString(d.text,C[d.text])}));return s.createElement(s.Fragment,null,s.createElement(G.DropDownList,{value:u.find(d=>d.operator===t.operator)||null,onChange:i,data:u,textField:"text"}),s.createElement(e.input,{value:t.value,onChange:o}))},$r=e=>{const{filter:t,onFilterChange:r}=e,n=s.useCallback(i=>r.call(void 0,i.syntheticEvent,{...t,value:i.value},t),[t,r]),a=ie.boolean[0].text;return s.createElement(V.Checkbox,{onChange:n,checked:t.value,label:S.useLocalization().toLanguageString(a,C[a]),labelPlacement:"after"})},St=e=>{const t=s.useCallback(a=>s.createElement(V.Input,{...a,value:a.value||""}),[]),r=s.useRef(ie.text),n=s.useRef({operator:"",value:""});return s.createElement(Ft,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Lt=e=>{const t=s.useCallback(a=>s.createElement(V.NumericTextBox,{...a,value:a.value||null}),[]),r=s.useRef(ie.numeric),n=s.useRef({operator:"",value:null});return s.createElement(Ft,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Mt=e=>{const t=s.useCallback(a=>s.createElement(Ue.DatePicker,{...a,value:a.value||null}),[]),r=s.useRef(ie.date),n=s.useRef({operator:"",value:null});return s.createElement(Ft,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},ia=[{text:hr,logic:"and"},{text:gr,logic:"or"}],Ge=e=>{const t=S.useLocalization(),r=(e.data||ia).map(n=>({...n,text:t.toLanguageString(n.text,C[n.text])}));return s.createElement(G.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find(n=>n.logic===e.value)})},Yr=e=>s.createElement("div",{className:"k-columnmenu-item-content"},s.createElement(cn.Reveal,{style:{position:"relative",display:"block"}},e.show&&s.createElement("div",{className:"kendo-grid-filter-menu-container"},s.createElement("form",{className:"k-filter-menu k-group k-reset k-state-border-up",onSubmit:e.onSubmit,onReset:e.onReset},s.createElement("div",{className:"k-filter-menu-container"},e.children,s.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),Ur=e=>{const t=S.useLocalization();return s.createElement(Yr,{...e,actions:s.createElement(s.Fragment,null,s.createElement(k.Button,{type:"reset"},t.toLanguageString(at,C[at])),s.createElement(k.Button,{themeColor:"primary"},t.toLanguageString(it,C[it])))})},He=e=>{m.validatePackage(dt);const t=s.useRef([]),{field:r,filter:n,sort:a=t.current,onSortChange:i,onFilterChange:o,initialFilter:l,sortAsc:u=!1,sortDesc:d=!1,filterContent:h=[],expandFilters:E=!1}=e,[v,p]=s.useState(!1),[x,I]=s.useState(E),[y,f]=s.useState(r&&l?l(r):null),L=s.useRef(null),A=s.useRef(null),M=s.useRef(null),b=s.useRef(!1),F=s.useCallback(()=>(n||[]).find(w=>w.filters.every(K=>!X.isCompositeFilterDescriptor(K)&&K.field===r)),[n,r]),D=s.useCallback(()=>{p(!1)},[]),B=s.useCallback(()=>{if(b.current){b.current=!1;return}clearTimeout(M.current),M.current=window.setTimeout(()=>{D()})},[D]),q=s.useCallback(()=>clearTimeout(M.current),[]),P=s.useCallback(w=>{b.current=v&&w.currentTarget===L.current},[v]),H=s.useCallback(()=>{p(!v),r&&l&&(I(v?!1:E),f(v?y:F()||l(r)))},[F,r,v,y,l,E]);s.useEffect(()=>{v&&A.current&&A.current.focus()},[v]);const R=s.useCallback(()=>I(!x),[x]),z=s.useCallback((w,K)=>{const T=[...a],_=T.findIndex(qa=>qa.field===r),fe={field:r,dir:K};_>=0?T[_].dir!==fe.dir?T.splice(_,1,fe):T.splice(_,1):T.push(fe),D(),i&&i.call(void 0,w,T,r)},[a,r,i,D]),ue=s.useCallback((w,K,T)=>{const _={...y,filters:[...y.filters]},fe=_.filters.indexOf(T);_.filters.splice(fe,1,K),f(_)},[y]),We=s.useCallback(w=>{w.preventDefault();const K=(n||[]).slice(),T=F(),_=T?K.indexOf(T):-1;_>=0?K.splice(_,1,y):K.push(y),D(),o&&o.call(void 0,w,K,r)},[n,y,r,o,D,F]),Ve=s.useCallback(w=>{const K=(n||[]).slice(),T=F(),_=T?K.indexOf(T):-1;_>=0&&K.splice(_,1),l&&f(l(r)),D(),o&&o.call(void 0,w,K,r)},[n,r,o,l,D,F]),At=s.useCallback(w=>z(w,"asc"),[z]),$e=s.useCallback(w=>z(w,"desc"),[z]),wt=s.useCallback(w=>y&&f({...y,logic:w.value.logic}),[y]),de=a.find(w=>w.field===r)||{dir:""},[he,ge,pe]=h,kt=S.useLocalization(),Ba=u||d?s.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},u&&s.createElement(Pe,{title:kt.toLanguageString(ot,C[ot]),iconClass:"k-i-sort-asc-small",svgIcon:N.sortAscSmallIcon,selected:de.dir==="asc",onClick:At}),d&&s.createElement(Pe,{title:kt.toLanguageString(lt,C[lt]),iconClass:"k-i-sort-desc-small",svgIcon:N.sortDescSmallIcon,selected:de.dir==="desc",onClick:$e})):null,za=y&&h.length>0?s.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},s.createElement(Pe,{iconClass:"k-i-filter",svgIcon:N.filterIcon,title:kt.toLanguageString(st,C[st]),onClick:R}),s.createElement(Ur,{show:x,onSubmit:We,onReset:Ve},he&&s.createElement(he,{filter:y.filters[0],onFilterChange:ue}),ge&&s.createElement(ge,{value:y.logic,onChange:wt}),pe&&s.createElement(pe,{filter:y.filters[1],onFilterChange:ue}))):null,sn=[Ba,za],Ta=s.createElement("span",{ref:L,onClick:H,onMouseDown:P,className:"k-grid-header-menu k-grid-column-menu"+(F()?" k-active":""),key:"button"},s.createElement(m.IconWrap,{name:"more-vertical",icon:N.moreVerticalIcon})),_a=s.createElement(ln.Popup,{anchor:L.current,show:v,key:"popup"},s.createElement("div",{className:"k-grid-columnmenu-popup",ref:A,tabIndex:0,onBlur:B,onFocus:q,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,sn,{closeMenu:D,field:r}):sn)),on=[Ta,_a];return s.createElement(s.Fragment,null,e.render?e.render.call(void 0,on):on)},sa=e=>{const{field:t,...r}=e,n=s.useCallback(o=>({logic:"and",filters:[{operator:"contains",field:o,value:""},{operator:"contains",field:o,value:""}]}),[]),a=!!e.field,i=a?[St,Ge,St]:[];return s.createElement(He,{sortAsc:a,sortDesc:a,filterContent:i,initialFilter:a?n:void 0,field:t,...r})},oa=e=>{const{field:t,...r}=e,n=s.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),a=!!e.field,i=a?[Lt,Ge,Lt]:[];return s.createElement(He,{sortAsc:a,sortDesc:a,filterContent:i,initialFilter:a?n:void 0,field:t,...r})},la=e=>{const{field:t,...r}=e,n=s.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),a=!!e.field,i=a?[Mt,Ge,Mt]:[];return s.createElement(He,{sortAsc:a,sortDesc:a,filterContent:i,initialFilter:a?n:void 0,field:t,...r})},ca=e=>{const{field:t,...r}=e,n=s.useCallback(o=>({logic:"and",filters:[{operator:"eq",field:o,value:!1}]}),[]),a=!!e.field,i=a?[$r]:[];return s.createElement(He,{sortAsc:a,sortDesc:a,filterContent:i,initialFilter:a?n:void 0,field:t,...r})};function se(e,t,r){return r?{...e,[t]:r.length?[...r]:void 0}:e&&e[t]?[...e[t]]:[]}function jr(e,t,r){if(e[r]){let n=se(e,r,X.orderBy(se(e,r),t)),a=se(n,r).map(i=>jr(i,t,r));return{...n,[r]:a}}return e}function ua(e,t,r){let n=X.orderBy(e,t);return n=n.map(a=>jr(a,t,r)),n}function Xr(e,t,r){let n=se(e,r);if(n&&n.length){n=n.map(l=>Xr(l,t,r));const i={filters:[{filters:t,logic:"and"},{operator:l=>!!(l[r]||[]).length}],logic:"or"},o=X.filterBy(n,i);return se(e,r,o)}return e}function da(e,t,r){let n={[r]:[...e]};return n=Xr(n,t,r),n[r]||[]}function ha(e,t,r){let n=[];const a=[];for(let i=e.length-1;i>=0;i--){const o=e[i];n.push({root:o,data:t(o),level:[i],levelCount:e.length})}for(;n.length>0;){let i=n.pop();if(a.push({dataItem:i.root,level:[...i.level],...r(i.root),levelCount:i.levelCount}),i.data.length)for(let o=i.data.length-1;o>=0;o--){const l=i.data[o];n.push({root:l,data:t(l),level:[...i.level,o],levelCount:i.data.length})}}return a}const ga=(e,t,r)=>{const n=u=>!!m.getNestedValue(t,u),a=u=>!!m.getNestedValue(r,u),i=u=>{const d=[];return n(u)&&a(u)&&d.push(...m.getNestedValue(r,u)),d},o=(u,d,h)=>{d.push({...u,level:h}),i(u).forEach(E=>o(E,d,h+1))},l=[];return e.forEach(u=>o(u,l,0)),l},pa=(e,t,r,n)=>{let a={},i=[],o;return e.forEach(l=>a[t(l)]={...l}),e.forEach(l=>{o=a[r(l)],o?(o[n]=o[n]||[],o[n].push(a[t(l)])):i.push(a[t(l)])}),i},fa=(e,t,r)=>m.extendDataItem(e,t,r),ma=(e,t,r)=>[...m.mapTree([{[t]:[...e]}],t,a=>Ea(a,r,t))[0][t]],Ea=(e,t,r)=>{const n=e[r]||[],a=n.findIndex(t);if(a!==-1){const i=[...n];return i.splice(a,1),{...e,[r]:i}}return e},va=(e,t,r,n)=>m.mapTree(e,t,a=>r(a)?{...a,[t]:n(a[t]||[])}:a),Dt=(e,t,r)=>m.getItemPath(e,t,r),Ca=(e,t,r,n)=>{const a=[...e],i=Dt(a,t,n),o=i.pop(),l=i.pop(),u=t[t.length-1];if(r){const h=Dt(a,r,n).pop();(l?l[n]:a).splice(u,1),h[n]=h[n]||[],h[n].push(o)}else(l?l[n]:a).splice(u,1),a.push(o);return a},oe="groupId",Nt="items",Zr=(e,t,r)=>{e.items&&(e[oe]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(n=>Zr(n,t-1,e[oe])))},ba=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach(r=>Zr(r,t.length,""))},xa=e=>{const t=[];return m.mapTree(e.data,Nt,r=>{r[oe]&&t.push(r[oe])}),t},ya=e=>m.mapTree(e.data,Nt,t=>m.extendDataItem(t,Nt,{expanded:!e.collapsedIds.some(r=>r===t[oe])})),Ia=e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:n,idPrefix:a}=e;t&&(r.current={activeId:"",level:0},n.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:a||m.guid(),navigationMatrix:[],lastHeaderIndex:-1})},Fa=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){Ot(e);const a=n.current.navigationMatrix[0][0],i=O.getActiveElement(t,a);a&&i&&(r.current.activeId=a,i.setAttribute("tabIndex","0"))}},Sa=e=>{const{contextStateRef:t,navigationStateRef:r,document:n}=e;if(t.current&&r.current&&n){const a=m.getActiveElement(n),i=O.getNavigatableId(a);i&&i===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},La=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(Ot(e),r.current&&n.current&&t){if(!O.getActiveElement(t,r.current.activeId)){const i=n.current.navigationMatrix[0][0],o=O.getActiveElement(t,i);i&&o&&(r.current.activeId=i,o.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&o.focus())}n.current.activeElementIsFocused=!1}},Ma=(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,a=O.getNavigatableId(n);if(a&&a!==r.current.activeId){const i=O.getClosestScope(n);if(!i)return;const o=O.getActiveElement(i,r.current.activeId);o&&o.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=a}},Da=(e,t)=>{const{contextStateRef:r,navigationStateRef:n,onNavigationAction:a}=t;if(e.isDefaultPrevented()||!r.current||!n.current)return;if(e.keyCode===m.Keys.esc){const h=O.getClosestNavigatableElement(e.target);O.focusElement({elementForFocus:h,event:e,contextStateRef:r});return}const i=e.target,o=O.getNavigatableId(i),l=O.getNavigatableLevel(i),u=O.getClosestScope(i),d=n.current.navigationMatrix;if(l!==void 0&&u){if(e.keyCode===m.Keys.enter){const h=O.getNavigatableElement(i,{level:l+1});if(h){O.focusElement({elementForFocus:h,event:e,contextStateRef:r,prevElement:i});return}else{const E=O.getFocusableElements(i)[0];O.focusElement({elementForFocus:E,event:e,contextStateRef:r,prevElement:i});return}}if(e.keyCode===m.Keys.up||e.keyCode===m.Keys.down||e.keyCode===m.Keys.left||e.keyCode===m.Keys.right){const h=e.keyCode===m.Keys.up||e.keyCode===m.Keys.left,E=e.keyCode===m.Keys.up||e.keyCode===m.Keys.down;let v;if(n.current&&n.current.prevNavigationIndexes){const[p,x]=n.current.prevNavigationIndexes;d[p][x]===o?v=n.current.prevNavigationIndexes:v=vt(d,o)}else v=vt(d,o);if(v){const[p,x]=v,[I,y]=E?Dr(p,x,o,d,h):Nr(p,x,o,d,h);if(I){const f=O.getActiveElement(u,I);O.focusElement({elementForFocus:f,event:e,contextStateRef:r,prevElement:i}),n.current.prevNavigationIndexes=y,a&&a({focusElement:f,event:e})}}}}},Ot=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],a=Lr(r),i=Mr(r);if(!a||!i)return;const o=Array.from(a.children),l=Array.from(i.children);[...o,...l].forEach((u,d)=>{Array.from(u.children).forEach(h=>{const E=mt(h);if(!E)return;const v=h.rowSpan||1,p=h.colSpan||1;let x;for(let I=d,y=d+v;I<y;I++){if(n[I]||(n[I]=[]),x===void 0){const f=n[I].findIndex(L=>!L);x=f>-1?f:n[I].length}n[I][x]=E||""}for(let I=x+1,y=x+p;I<y;I++)n[d][I]=E||""})}),t.current.navigationMatrix=n.filter(u=>!!u),t.current.lastHeaderIndex=o.length-1},Na={onConstructor:Ia,onComponentDidMount:Fa,onGetSnapshotBeforeUpdate:Sa,onComponentDidUpdate:La,onFocus:Ma,onKeyDown:Da,generateMatrix:Ot},Jr="data-grid-row-index",Qr="data-grid-col-index",en="data-prevent-selection",Oa="items",U={},Aa=(e,t)=>!e||Array.isArray(e)&&e.length===0?[t]:e.findIndex(n=>n===t)>-1?e.filter(n=>n!==t):[...e,t],W=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if(r.tagName==="TABLE")return null;r=r.parentElement}return null},le=e=>{if(!e)return;const t=e.getAttribute(Jr);return t?parseInt(t,10):void 0},ce=e=>{if(!e)return;const t=e.getAttribute(Qr);return t?parseInt(t,10):void 0},wa=e=>{const t=e.subItemsField||Oa,r=m.getter(e.dataItemKey);return m.mapTree(e.data,t,n=>m.extendDataItem(n,t,{[e.selectedField]:e.selectedState[r(n)]}))},ka=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{syntheticEvent:a,nativeEvent:i,dataItems:o,componentId:l,mode:u,cell:d,selectedField:h}=t,{target:E,ctrlKey:v,metaKey:p,altKey:x,shiftKey:I}=i;if(a.isDefaultPrevented()||i.keyCode!==m.Keys.enter)return n;const y=W(E,"TD"),f=W(E,"TR"),L=ce(y),A=le(f);let M={};return y&&f&&A!==void 0&&L!==void 0&&(M=tn({selectedState:n,dataItemKey:r,event:{ctrlKey:v,metaKey:p,altKey:x,shiftKey:I,dataItems:o,cell:d,mode:u,selectedField:h,componentId:l,startColIndex:L,endColIndex:L,startRowIndex:A,endRowIndex:A,isDrag:!1,syntheticEvent:a,nativeEvent:i,target:t.target,dataItem:null}})),M},tn=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{dataItems:a,startRowIndex:i,endRowIndex:o,startColIndex:l,endColIndex:u,cell:d,isDrag:h,ctrlKey:E,shiftKey:v,metaKey:p,componentId:x,mode:I,dataItem:y}=t,f=m.getter(r);let L={};const A=y!==null;if(I==="single"){const M=a.slice(i,i+1)[0],b=f(M);U[x]={rowIndex:i,colIndex:l},L[b]=d?[l]:!0}else if(h||!v&&!E&&!p&&!A){h||(U[x]={rowIndex:i,colIndex:l});const M=[];for(let F=l;F<=u;F++)M.push(F);a.slice(i,o+1).forEach(F=>{const D=f(F);L[D]=d?[...M]:!0})}else if(E||p||A){U[x]={rowIndex:i,colIndex:l};const b=a.slice(i,o+1)[0],F=f(b);L={...n},L[F]=d&&!A?Aa(L[F],l):!L[F]}else if(v){const M=U[x]&&U[x].rowIndex||0,b=U[x]&&U[x].colIndex||0,F=Math.min(M,i,o),D=Math.max(M,i,o),B=Math.min(b,l,u),q=Math.max(b,l,u),P=[];for(let R=B;R<=q;R++)P.push(R);a.slice(F,D+1).forEach(R=>{const z=f(R);L[z]=d?[...P]:!0})}return L},Ra=m.hasRelativeStackingContext(),rn=e=>{if(!e||!Ra)return null;let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).transform!=="none")return t;t=t.parentElement}},nn=e=>{if(e&&e.ownerDocument&&e!==e.ownerDocument.body){const t=e.getBoundingClientRect();return{left:t.left-e.scrollLeft,top:t.top-e.scrollTop}}return{left:0,top:0}},an=e=>{const t=e?typeof e.enabled=="boolean"?e.enabled:!0:!1,r=e?!!e.drag:!1,n=e&&e.mode?e.mode:"multiple",a=!!(e&&e.cell);return{enabled:t,drag:r,mode:n,cell:a}},Ka=e=>{var A;const{onRelease:t,childRef:r}=e,{enabled:n,drag:a,mode:i,cell:o}=an(e.selectable),l=s.useRef(null),u=s.useRef(null),d=s.useRef({clientX:0,clientY:0}),[h,E]=s.useState(null),v=s.useRef(),p=s.useRef(!1),x=s.useRef(!1),I=s.useCallback(M=>{const{event:b}=M;x.current=b.originalEvent.target.hasAttribute(en),!(x.current||!l.current)&&(v.current=rn(l.current.element),d.current={clientY:b.clientY,clientX:b.clientX})},[]),y=s.useCallback(M=>{const{event:b}=M,{clientX:F,clientY:D}=d.current;if(!x.current&&!(!a||i==="single")&&((Math.abs(D-b.clientY)>5||Math.abs(F-b.clientX)>5)&&(p.current=!0),p.current)){const B=nn(v.current);E({top:Math.min(D,b.clientY)-B.top,left:Math.min(F,b.clientX)-B.left,width:Math.abs(b.clientX-F),height:Math.abs(b.clientY-D)})}},[E,a,i]),f=s.useCallback(M=>{const{event:b}=M,{clientX:F,clientY:D}=d.current;if(x.current||!l.current)return;const B=l.current.element&&l.current.element.ownerDocument;if(B){if(p.current){const q=Math.min(D,b.clientY),P=Math.min(F,b.clientX),H=Math.max(D,b.clientY),R=Math.max(F,b.clientX),z=u.current;if(!z)return;z.style.visibility="hidden";const ue=B.elementFromPoint(P,q),We=B.elementFromPoint(R,H);if(z.style.visibility="",!ue||!We)return;const Ve=W(ue,"TD"),At=W(Ve,"TR"),$e=W(We,"TD"),wt=W($e,"TR"),de=ce(Ve),he=le(At),ge=ce($e),pe=le(wt);de!==void 0&&he!==void 0&&ge!==void 0&&pe!==void 0&&t({nativeEvent:b.originalEvent,startRowIndex:he,startColIndex:de,endRowIndex:pe,endColIndex:ge,altKey:b.altKey,shiftKey:b.shiftKey,ctrlKey:b.ctrlKey,metaKey:b.metaKey,mode:i,cell:o,isDrag:!0})}else{const q=B.elementFromPoint(F,D);if(!q)return;const P=W(q,"TD"),H=W(q,"TR"),R=ce(P),z=le(H);P&&H&&z!==void 0&&R!==void 0&&t({nativeEvent:b.originalEvent,startRowIndex:z,startColIndex:R,endRowIndex:z,endColIndex:R,altKey:b.altKey,shiftKey:b.shiftKey,ctrlKey:b.ctrlKey,metaKey:b.metaKey,mode:i,cell:o,isDrag:!1})}E(null),p.current=!1,d.current={clientX:0,clientY:0}}},[E,i,o,t]),L=m.useDocument(u);return n?s.createElement(s.Fragment,null,s.createElement(m.Draggable,{onPress:I,onDrag:y,onRelease:f,ref:l,childRef:r},e.children),h&&un.createPortal(s.createElement("div",{ref:u,style:{...h,position:"fixed"},className:"k-marquee k-marquee-color"}),(A=L())==null?void 0:A.body)):s.cloneElement(s.Children.only(e.children),{ref:r})};c.BooleanFilter=Gr,c.BooleanFilterCell=mn,c.ColumnDefaultProps=Cr,c.ColumnMenuBooleanColumn=ca,c.ColumnMenuBooleanFilter=$r,c.ColumnMenuDateColumn=la,c.ColumnMenuDateFilter=Mt,c.ColumnMenuFilterForm=Ur,c.ColumnMenuFilterLogic=Ge,c.ColumnMenuForm=Yr,c.ColumnMenuItem=Pe,c.ColumnMenuNumericColumn=oa,c.ColumnMenuNumericFilter=Lt,c.ColumnMenuOperators=ie,c.ColumnMenuTextColumn=sa,c.ColumnMenuTextFilter=St,c.ColumnResize=$n,c.ColumnResizer=_r,c.CommonDragLogic=Yn,c.DateFilter=Pr,c.DateFilterCell=vn,c.DragClue=Un,c.DropClue=jn,c.EnumFilter=ze,c.Expression=_e,c.FILTER_ROW_CLASS=Ar,c.FOCUSABLE_ELEMENTS=Ke,c.Filter=Vr,c.FilterRow=Tn,c.Group=qe,c.Header=qn,c.HeaderCell=zr,c.HeaderRow=qr,c.HeaderSelectionCell=Wn,c.HeaderThElement=Be,c.KEYBOARD_NAV_DATA_BODY=pt,c.KEYBOARD_NAV_DATA_HEADER=gt,c.KEYBOARD_NAV_DATA_ID=ae,c.KEYBOARD_NAV_DATA_LEVEL=Y,c.KEYBOARD_NAV_DATA_SCOPE=ht,c.KEYBOARD_NAV_DATA_ZONE=In,c.KEYBOARD_NAV_FILTER_COL_SUFFIX=br,c.NumericFilter=yt,c.NumericFilterCell=bn,c.Operators=ea,c.Pager=re,c.TABBABLE_ELEMENTS=yr,c.TABLE_COL_INDEX_ATTRIBUTE=Qr,c.TABLE_PREVENT_SELECTION_ELEMENT=en,c.TABLE_ROW_INDEX_ATTRIBUTE=Jr,c.TableKeyboardNavigationContext=ft,c.TableSelection=Ka,c.TextFilter=xt,c.TextFilterCell=yn,c.closestTagName=W,c.createDataTree=pa,c.createFilterComponent=ne,c.extendDataItem=fa,c.filterBy=da,c.flatData=ha,c.getColumnIndex=ce,c.getGroupIds=xa,c.getIndex=bt,c.getItemPath=Dt,c.getOffset=nn,c.getRowIndex=le,c.getSelectedState=tn,c.getSelectedStateFromKeyDown=ka,c.getSelectionOptions=an,c.isRtl=Br,c.mapColumns=_n,c.modifySubItems=va,c.moveTreeItem=Ca,c.nextColumn=wr,c.normalize=Tr,c.orderBy=ua,c.readColumns=Kr,c.relativeContextElement=rn,c.removeItems=ma,c.setExpandedState=ya,c.setGroupIds=ba,c.setSelectedState=wa,c.stringOperator=It,c.tableColumnsVirtualization=Vn,c.tableKeyboardNavigation=Na,c.tableKeyboardNavigationBodyAttributes=Sn,c.tableKeyboardNavigationHeaderAttributes=Ir,c.tableKeyboardNavigationScopeAttributes=Fn,c.tableKeyboardNavigationTools=O,c.treeToFlat=ga,c.unaryOperator=Te,c.updateLeft=kr,c.updateRight=Rr,c.useTableKeyboardNavigation=Fr,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
5
+ (function(c,j){typeof exports=="object"&&typeof module!="undefined"?j(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-intl"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-data-query"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-animation")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-buttons","@progress/kendo-react-intl","@progress/kendo-react-inputs","@progress/kendo-react-dropdowns","@progress/kendo-svg-icons","react-dom","@progress/kendo-data-query","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-animation"],j):(c=typeof globalThis!="undefined"?globalThis:c||self,j(c.KendoReactDatatools={},c.React,c.PropTypes,c.KendoReactCommon,c.KendoReactButtons,c.KendoReactIntl,c.KendoReactInputs,c.KendoReactDropdowns,c.KendoSvgIcons,c.ReactDOM,c.KendoDataQuery,c.KendoReactDateinputs,c.KendoReactPopup,c.KendoReactAnimation))})(this,function(c,j,g,m,k,S,$,G,N,Ye,X,Ue,ln,cn){"use strict";"use client";function Rt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const s=Rt(j),un=Rt(Ye),me="pager.info",Ee="pager.firstPage",ve="pager.previousPage",Ce="pager.nextPage",be="pager.lastPage",xe="pager.itemsPerPage",dn="pager.pageSelection",V="pager.page",ye="pager.of",Ie="pager.totalPages",hn="pager.pageLabel",Fe="pager.ariaKeyshortcuts",Se="pager.ariaLabel",Le="pager.pageSizeAriaLabel",Me="pager.mobileSelect",De="pager.moreButtonLabel",Z="filter.eqOperator",J="filter.notEqOperator",Ne="filter.isNullOperator",Oe="filter.isNotNullOperator",Kt="filter.isEmptyOperator",Bt="filter.isNotEmptyOperator",zt="filter.startsWithOperator",Tt="filter.containsOperator",_t="filter.notContainsOperator",qt="filter.endsWithOperator",Pt="filter.gteOperator",Gt="filter.gtOperator",Ht="filter.lteOperator",Wt="filter.ltOperator",$t="filter.isTrue",Vt="filter.isFalse",Yt="filter.afterOrEqualOperator",Ut="filter.afterOperator",jt="filter.beforeOperator",Xt="filter.beforeOrEqualOperator",je="filter.andLogic",Xe="filter.orLogic",Q="filter.addExpression",ee="filter.addGroup",te="filter.close",Ze="filter.groupAriaLabel",Je="filter.expressionAriaLabel",Qe="filter.expressionDropdownAriaLabel",et="filter.expressionOperatorDropdownAriaLabel",tt="filter.enumFilterDropdownAriaLabel",rt="filter.numericFilterAriaLabel",nt="filter.textFilterAriaLabel",at="columnMenu.filterClearButton",it="columnMenu.filterSubmitButton",st="columnMenu.filterTitle",ot="columnMenu.sortAscending",lt="columnMenu.sortDescending",Ae="columnMenu.filterEqOperator",we="columnMenu.filterNotEqOperator",ke="columnMenu.filterIsNullOperator",Re="columnMenu.filterIsNotNullOperator",Zt="columnMenu.filterIsEmptyOperator",Jt="columnMenu.filterIsNotEmptyOperator",Qt="columnMenu.filterStartsWithOperator",er="columnMenu.filterContainsOperator",tr="columnMenu.filterNotContainsOperator",rr="columnMenu.filterEndsWithOperator",nr="columnMenu.filterGteOperator",ar="columnMenu.filterGtOperator",ir="columnMenu.filterLteOperator",sr="columnMenu.filterLtOperator",or="columnMenu.filterIsTrue",lr="columnMenu.filterAfterOrEqualOperator",cr="columnMenu.filterAfterOperator",ur="columnMenu.filterBeforeOperator",dr="columnMenu.filterBeforeOrEqualOperator",hr="columnMenu.filterAndLogic",gr="columnMenu.filterOrLogic",ct="sort.ariaLabel",ut="filter.ariaLabel",C={[xe]:"items per page",[dn]:"Select page",[me]:"{0} - {1} of {2} items",[Ee]:"Go to the first page",[ve]:"Go to the previous page",[Ce]:"Go to the next page",[be]:"Go to the last page",[V]:"Page",[ye]:"of",[Ie]:"{0}",[hn]:"Page",[Fe]:"Enter ArrowRight ArrowLeft",[Se]:"Pager",[Le]:"Page size",[Me]:"Select",[De]:"More pages",[ct]:"Sortable",[ut]:"Filter",[Z]:"Is equal to",[J]:"Is not equal to",[Ne]:"Is null",[Oe]:"Is not null",[Kt]:"Is empty",[Bt]:"Is not empty",[zt]:"Starts with",[Tt]:"Contains",[_t]:"Does not contain",[qt]:"Ends with",[Pt]:"Is greater than or equal to",[Gt]:"Is greater than",[Ht]:"Is less than or equal to",[Wt]:"Is less than",[$t]:"Is true",[Vt]:"Is false",[Yt]:"Is after or equal to",[Ut]:"Is after",[jt]:"Is before",[Xt]:"Is before or equal to",[je]:"And",[Xe]:"Or",[Q]:"Add Expression",[ee]:"Add Group",[te]:"Close",[Ze]:"Filter toolbar",[Je]:"Filter expression row",[Qe]:"Filter dropdown",[et]:"Filter operator dropdown",[tt]:"Select True/False",[rt]:"Enter number",[nt]:"Enter text",[at]:"Clear",[it]:"Filter",[st]:"Filter",[ot]:"Sort Ascending",[lt]:"Sort Descending",[Ae]:"Is equal to",[we]:"Is not equal to",[ke]:"Is null",[Re]:"Is not null",[Zt]:"Is empty",[Jt]:"Is not empty",[Qt]:"Starts with",[er]:"Contains",[tr]:"Does not contain",[rr]:"Ends with",[nr]:"Is greater than or equal to",[ar]:"Is greater than",[ir]:"Is less than or equal to",[sr]:"Is less than",[or]:"Is true",[lr]:"Is after or equal to",[cr]:"Is after",[ur]:"Is before",[dr]:"Is before or equal to",[hr]:"And",[gr]:"Or"},pr="...";class gn extends s.Component{constructor(){super(...arguments),this.handlePageChange=(t,r)=>{t.preventDefault(),this.props.pageChange(r,t)},this.handleSelectPageChange=t=>{t.preventDefault(),this.props.pageChange(t.target.value,t)}}render(){const t=S.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(Me):{messageKey:Me,defaultMessage:C[Me]},n=this.props.messagesMap?this.props.messagesMap(V):{messageKey:V,defaultMessage:C[V]},a=this.props.messagesMap?this.props.messagesMap(De):{messageKey:De,defaultMessage:C[De]},i=t.toLanguageString(a.messageKey,a.defaultMessage),o=this.start>1&&this.renderDots(this.start-1,i),l=this.end<this.props.totalPages&&this.renderDots(this.end+1,i),u=this.start>1&&this.renderOptionDots(this.start-1),d=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),h=[];for(let p=this.start;p<=this.end;p++)h.push(p);const E=h.map(p=>s.createElement(k.Button,{className:m.classNames({"k-selected":this.props.currentPage===p}),key:p,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(n.messageKey,n.defaultMessage)+" "+p,"aria-current":this.props.currentPage===p?!0:void 0,onClick:x=>this.handlePageChange(x,p)},p)),v=h.map(p=>s.createElement("option",{key:p},p));return s.createElement(s.Fragment,null,s.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:m.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${m.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(r.messageKey,r.defaultMessage),value:this.props.currentPage,onChange:p=>this.handleSelectPageChange(p)},u,v,d),s.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},o,E,l))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const t=this.props.currentPage,r=this.props.buttonCount;if(t>r){const n=t%r;return n===0?t-r+1:t-n+1}return 1}renderDots(t,r){return s.createElement(k.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":r,onClick:n=>this.handlePageChange(n,t)},pr)}renderOptionDots(t){return s.createElement("option",{value:t},pr)}}class fr extends s.Component{constructor(){super(...arguments),this.state={page:this.props.currentPage},this.handleOnChange=t=>{this.setState({page:t.target.value}),t.target.value&&this.props.pageChange(t.target.value,t)}}render(){const t=S.provideIntlService(this),r=S.provideLocalizationService(this),n=this.props.messagesMap?this.props.messagesMap(V):{messageKey:V,defaultMessage:C[V]},a=this.props.messagesMap?this.props.messagesMap(ye):{messageKey:ye,defaultMessage:C[ye]},i=this.props.messagesMap?this.props.messagesMap(Ie):{messageKey:Ie,defaultMessage:C[Ie]};return s.createElement(s.Fragment,null,s.createElement("span",{className:"k-pager-input"},s.createElement("span",null,r.toLanguageString(n.messageKey,n.defaultMessage)),s.createElement($.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1}),s.createElement("span",null,`${r.toLanguageString(a.messageKey,a.defaultMessage)} ${t.format(r.toLanguageString(i.messageKey,i.defaultMessage),[this.props.totalPages])}`)))}}S.registerForLocalization(fr);class mr extends s.Component{constructor(){super(...arguments),this.pageSizeChange=t=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(t.target.value,10)},t)}}render(){const{value:t,pageSizes:r,pageSize:n,messagesMap:a}=this.props,i=r.slice();t===void 0&&i.filter(u=>u===n).length===0&&i.unshift(n);const o=a?a(xe):{messageKey:xe,defaultMessage:C[xe]},l=a?a(Le):{messageKey:Le,defaultMessage:C[Le]};return s.createElement("span",{className:"k-pager-sizes"},s.createElement(G.DropDownList,{value:t!==void 0?t:n,data:i,onChange:this.pageSizeChange,ariaLabel:S.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),s.createElement("span",null,S.provideLocalizationService(this).toLanguageString(o.messageKey,o.defaultMessage)))}}S.registerForLocalization(mr);const dt={name:"@progress/kendo-react-data-tools",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},Er=600,pn=768;class re extends s.Component{constructor(t){super(t),this._element=null,this.onPageChange=(r,n)=>{const a={target:this,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,targetEvent:n,...r};this.props.onPageChange&&this.props.onPageChange.call(void 0,a)},this.changePage=(r,n)=>{this.props.onPageChange&&r>0&&r<=this.totalPages&&this.props.onPageChange({target:this,skip:(r-1)*this.props.take,take:this.props.take,syntheticEvent:n,nativeEvent:n.nativeEvent,targetEvent:n})},this.onWindowResize=()=>{const r=this.element;if(!r||!this.props.responsive)return;const n=r.offsetWidth;n<Er?this.setState({showPagerSizes:!1}):n>=Er&&n<pn?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},m.validatePackage(dt),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return this.props.dir==="rtl"}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:t,showPagerInfo:r}=this.state,{skip:n,take:a,total:i,pageSizes:o,size:l,responsive:u,messagesMap:d,pageSizeValue:h}=this.props,E=S.provideLocalizationService(this),v=S.provideIntlService(this),p=Math.floor(n/a)+1,x=this.props.type==="numeric"?s.createElement(gn,{type:u&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:p,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:this.props.size}):s.createElement(fr,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:p,pageChange:this.changePage,messagesMap:d,size:this.props.size}),I=d?d(Ee):{messageKey:Ee,defaultMessage:C[Ee]},y=d?d(ve):{messageKey:ve,defaultMessage:C[ve]},f=d?d(Ce):{messageKey:Ce,defaultMessage:C[Ce]},L=d?d(be):{messageKey:be,defaultMessage:C[be]},A=d?d(me):{messageKey:me,defaultMessage:C[me]},M=d?d(Fe):{messageKey:Fe,defaultMessage:C[Fe]},b=d?d(Se):{messageKey:Se,defaultMessage:C[Se]};let F,D,B,q;this.props.previousNext&&(F=this.renderButton(1,"k-pager-nav k-pager-first"+(p===1?" k-disabled":""),E.toLanguageString(I.messageKey,I.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?N.caretAltToRightIcon:N.caretAltToLeftIcon,p===1?!0:void 0),D=this.renderButton(p-1,"k-pager-nav"+(p===1?" k-disabled":""),E.toLanguageString(y.messageKey,y.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?N.caretAltRightIcon:N.caretAltLeftIcon,p===1?!0:void 0),B=this.renderButton(p+1,"k-pager-nav"+(p>=this.totalPages?" k-disabled":""),E.toLanguageString(f.messageKey,f.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?N.caretAltLeftIcon:N.caretAltRightIcon,p>=this.totalPages?!0:void 0),q=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(p>=this.totalPages?" k-disabled":""),E.toLanguageString(L.messageKey,L.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?N.caretAltToLeftIcon:N.caretAltToRightIcon,p>=this.totalPages?!0:void 0));const P=o&&s.createElement(mr,{pageChange:this.onPageChange,pageSize:a,pageSizes:o,value:h,messagesMap:d,size:this.props.size}),H=this.props.info&&s.createElement("span",{className:"k-pager-info"},v.format(E.toLanguageString(A.messageKey,A.defaultMessage),[Math.min(n+1,i),Math.min(n+a,i),i]));return s.createElement("div",{className:m.classNames("k-pager",{[`k-pager-${m.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":E.toLanguageString(M.messageKey,M.defaultMessage),"aria-label":E.toLanguageString(b.messageKey,b.defaultMessage),ref:R=>this._element=R},s.createElement("div",{className:m.classNames("k-pager-numbers-wrap")},F,D,x,B,q),u?t&&P:P,u?r&&H:H)}renderButton(t,r,n,a,i,o){return s.createElement(k.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:r,icon:a,svgIcon:i,title:n,role:"button","aria-disabled":o,onClick:l=>{l.preventDefault(),this.changePage(t,l)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}}re.propTypes={className:g.string,style:g.object,total:g.number.isRequired,skip:g.number.isRequired,take:g.number.isRequired,buttonCount:g.number,info:g.bool,type:g.oneOf(["numeric","input"]),pageSizes:g.arrayOf(g.oneOfType([g.string,g.number])),previousNext:g.bool,onPageChange:g.func,messagesMap:g.func,size:g.oneOf([null,"small","medium","large"]),dir:g.string},re.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"},S.registerForIntl(re),S.registerForLocalization(re);const ne=e=>class extends s.Component{constructor(){super(...arguments),this.filterChange=n=>{this.props.onFilterChange&&this.props.onFilterChange(n)},this.inputChange=n=>{const a=n.target.value,{filter:i=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?i.map(d=>d.field===o?{...l,value:a}:d):[...i,{...e.emptyFilter,value:a,field:o}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.operatorChange=n=>{const{operator:a}=n.target.value,{filter:i=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?i.map(d=>d.field===o?{...l,operator:a}:d):[...i,{...e.emptyFilter,field:o,operator:a}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.clearButtonClick=n=>{const{filter:a=[],field:i=""}=this.props;this.filterChange({filter:a.filter(o=>o.field!==i),field:i,syntheticEvent:n})},this.findCellFilter=()=>{const{filter:n=[],field:a}=this.props;return n.find(i=>i.field===a)}}render(){const{clearButtonTitle:n="",operators:a=[]}=this.props,i=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:o,value:l}=i,u={ariaLabel:"filter",value:a.find(d=>d.operator===o)||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:N.filterIcon,data:a,textField:"text",popupSettings:{width:""},components:this.props.components};return s.createElement("div",{className:"k-filtercell"},s.createElement("span",null,e.inputComponent({value:l,onChange:this.inputChange,components:this.props.components,ariaLabel:this.props.ariaLabel,min:this.props.min,max:this.props.max}),s.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(u,this.props)," ",s.createElement(k.Button,{className:m.classNames({["k-clear-button-visible"]:!(l===null||l==="")||o}),title:n,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:N.filterClearIcon,disabled:!(!(l===null||l==="")||o)}))))}},vr="eq",fn={emptyFilter:{operator:vr,value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,a=r.find(i=>i.field===n);return s.createElement(G.DropDownList,{...e,value:e.data.find(i=>i.operator===(a?a.value:"")),onChange:i=>{if(!t.onFilterChange)return;const o=i.target.value.operator;if(o===""){a&&t.onFilterChange.call(void 0,{filter:r.filter(u=>u.field!==a.field),field:n,syntheticEvent:i.syntheticEvent});return}let l=a?r.map(u=>u.field===n?{...a,value:o}:u):[...r,{value:o,field:n,operator:vr}];t.onFilterChange.call(void 0,{filter:l,field:n,syntheticEvent:i.syntheticEvent})}})}};class mn extends ne(fn){}const En={inputComponent:e=>s.createElement(Ue.DatePicker,{...e}),operatorComponent:e=>s.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class vn extends ne(En){}const Cn={inputComponent:e=>s.createElement($.NumericTextBox,{...e}),operatorComponent:e=>s.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class bn extends ne(Cn){}const xn={inputComponent:e=>s.createElement($.Input,{...e}),operatorComponent:e=>s.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class yn extends ne(xn){}const Cr={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},Y="data-keyboardnavlevel",ht="data-keyboardnavscope",gt="data-keyboardnavheader",pt="data-keyboardnavbody",ae="data-keyboardnavid",In="data-keyboardnavzone",br="_filter",xr=["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]"],Ke=[...xr,"[tabindex]"],yr=[...xr,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Fn={[ht]:!0},Ir={[gt]:!0},Sn={[pt]:!0},ft=s.createContext(void 0);ft.displayName="KendoReactTableKeyboardNavigationContext";const Fr=(e,t)=>{const r=s.useContext(ft);return!r||!e||t===!1?{}:{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[Y]:r.level,[ae]:e}},Be=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:a,style:i,columnId:o,onKeyDown:l,navigatable:u,ariaColumnIndex:d,ariaLabel:h,role:E,ariaSelected:v}=e,p=Fr(o,u);return s.createElement("th",{"aria-sort":t,"aria-label":h,"aria-colindex":d,"aria-selected":v,colSpan:r,rowSpan:n,className:a,style:i,onKeyDown:l,role:E,...p},e.children)};Be.displayName="KendoReactHeaderThElement";const Sr=(e,t,r="cell")=>`${t}_${e}_${r}`,Ln=e=>{if(e)return parseInt(e.getAttribute(Y)||"",10)},mt=e=>{if(!e)return;const t=e.getAttribute(ae);return t||void 0},Et=e=>e?!!e.getAttribute(ae):!1,Mn=(e,t={level:0})=>e.querySelector(`[${Y}='${t.level}']`),Dn=e=>e.parentElement&&e.parentElement.closest(`[${Y}]`),Nn=(e,t)=>e.querySelector(`[${ae}='${t}']`),On=e=>e.parentElement&&e.parentElement.closest(`[${ht}]`),Lr=e=>e.querySelector(`[${gt}]`),Mr=e=>e.querySelector(`[${pt}]`),An=(e,t={focusable:!1})=>{let r=t.focusable?Ke:yr;return Array.from(e.querySelectorAll(r.join(",")))},wn=(e,t={level:0})=>{if(!e)return[];let r=Ke.map(n=>n+`[${Y}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(r))},kn=(e={level:0})=>{let t=Ke.map(r=>r+`[${Y}='${e.level}']`).join(",");return r=>r.matches(t)},Rn=e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:a}=e;n.current&&t&&t.focus&&(r.preventDefault(),t.focus(),Et(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=mt(t)),a&&Et(a)&&a.setAttribute("tabIndex","-1"))},Kn=e=>e.current?e.current.idPrefix:"",Dr=(e,t,r,n,a)=>{if(!r)return[];let i=e+(a?-1:1);for(;i>=0&&i<n.length;){const o=n[i][t];if(o!==r)return[o,[i,t]];i=i+(a?-1:1)}return[]},Nr=(e,t,r,n,a)=>{if(!r)return[];let i=t+(a?-1:1);for(;i>=0&&i<n[e].length;){const o=n[e][i];if(o!==r)return[o,[e,i]];i=i+(a?-1:1)}return[]},vt=(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]}},Bn=e=>e.current?e.current.navigationMatrix.length:0,Or=e=>e?`${e}${br}`:"",O={generateNavigatableId:Sr,getNavigatableId:mt,getNavigatableLevel:Ln,getNavigatableElement:Mn,getClosestNavigatableElement:Dn,getActiveElement:Nn,getClosestScope:On,getHeaderElement:Lr,getBodyElement:Mr,getFocusableElements:An,getNavigatableElements:wn,filterNavigatableElements:kn,focusElement:Rn,getIdPrefix:Kn,isNavigatable:Et,findNextIdByRowIndex:Dr,findNextIdByCellIndex:Nr,findId:vt,getNextNavigationIndex:Bn,getFilterColumnId:Or},Ar="k-table-row k-filter-row",zn=(e,t,r)=>{let n=`${r?"k-grid-header-sticky":""}`;return e.some(a=>a.field===t)&&(n+=" k-sorted"),n},Tn=function(e){const{columns:t,filter:r,filterChange:n,sort:a=[],ariaRowIndex:i}=e,o=S.useLocalization();return s.createElement("tr",{className:Ar,"aria-rowindex":i,role:"row"},t.map((l,u)=>{const d=l.locked!==void 0?{left:l.left,right:l.right,borderRightWidth:l.rightBorder?"1px":""}:{},h=l.filterCell||l.filter;return s.createElement(Be,{columnId:Or(l.id),navigatable:l.navigatable,style:d,key:u,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:h?o.toLanguageString(ut,C[ut]):void 0,className:m.classNames("k-table-th k-header",zn(a,l.field,l.locked))},h&&s.createElement(h,{field:l.field,filter:r,onFilterChange:n}))}))};function wr(e,t){const r=e[t].depth;let n=null;for(let a=t+1;a<e.length;a++)if(e[a].depth===r){n=e[a];break}return n}const Ct=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((r,n)=>Ct(n)+r,0)),t};function _n(e){const t=[[]];let r=0;for(let i=e.length-1;i>=0;i--)r=Math.max(r,e[i].depth),e[i].colSpan=e[i].colSpan||1,e[i].parentIndex!==-1&&(e[e[i].parentIndex].colSpan=(e[e[i].parentIndex].colSpan||0)+e[i].colSpan);const n=[];let a=1;return e.forEach((i,o)=>{t[i.depth]=t[i.depth]||[];let l=!1;t[i.depth].length===0&&(a<=1?a=1+(i.children.length>0?0:r-i.depth):(a--,l=!0)),i.rowSpan=1+(i.children.length>0?0:r-i.depth),i.kFirst=l,i.index=t[i.depth].length,t[i.depth].push(o),i.ariaColumnIndex=n[i.depth]?n[i.depth]+1:1;for(let u=i.depth;u<i.depth+i.rowSpan;u++)n[u]=(n[u]||0)+i.colSpan}),kr(t,e),Rr(t,e),t}function kr(e,t,r){let n=new Array(e.length).fill(0),a=0;t.forEach(i=>{if(i.locked&&(!i.left||r))if(i.left=n[i.depth],a=Ct(i),i.children.length===0)for(let o=i.depth;o<n.length;o++)n[o]+=a;else n[i.depth]+=a})}function Rr(e,t,r){let n=0,a=new Array(e.length).fill(0);for(let i=t.length-1;i>=0;i--){const o=t[i];if(o.locked&&(!o.right||r)){if(o.right=a[o.depth],n=Ct(o),o.children.length===0)for(let u=o.depth;u<a.length;u++)a[u]+=n;else a[o.depth]+=n;const l=wr(t,i);o.rightBorder=!(l&&l.locked)}}}function Kr(e,t,r=0){let n=[];if(!e||!e.length)return[];e.forEach(i=>{const o=Kr(i.children||[],t,r+1);n.push(Object.assign({},{depth:r},Cr,i,{id:i.id?i.id:Sr(`${t.prevId++}`,t.idPrefix,"column"),declarationIndex:n.length,children:o,rowSpan:0,colSpan:0,isAccessible:!0}))});const a=(i,o)=>i.orderIndex===o.orderIndex?i.declarationIndex-o.declarationIndex:(i.orderIndex||0)-(o.orderIndex||0);if(n.sort(a),r===0){let i=[];const o=(l,u)=>l.forEach(d=>{d.parentIndex=u,o(d.children,i.push(d)-1)});return o(n,-1),i}return n}function Br(e){return!!(e&&getComputedStyle(e).direction==="rtl")}function bt(e,t){if(!t||!e||!e.originalEvent)return-1;const r={x:e.clientX,y:e.originalEvent.clientY};let n=t.ownerDocument?t.ownerDocument.elementFromPoint(r.x,r.y):null;for(;n&&n.parentElement!==t;)n=n.parentElement;if(!n&&t.matches("tr")){const i=o=>{const l=o.getBoundingClientRect();return r.x>l.left&&r.x<l.left+l.width&&r.y>l.top&&r.y<l.top+l.height};n=Array.from(t.children).find(i)||null}const a=t.children;for(let i=0;i<a.length;i++)if(a[i]===n)return i;return-1}class qn extends s.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:t}=this.props;t&&t.resizable&&t.setIsRtl(Br(this.element))}render(){return s.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:t=>this.element=t,...Ir},this.props.headerRow,this.props.filterRow)}}function zr(e){const t=e.onClick?{onClick:e.onClick}:{},r=s.createElement("span",{className:"k-link",...t},s.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return s.createElement(s.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const Tr=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);class _r extends s.Component{constructor(){super(...arguments),this.draggable=null,this.isDragged=!1,this.onDrag=t=>{this.isDragged=!0;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!1)},this.onRelease=t=>{if(!this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!0),this.isDragged=!1},this.onDoubleClick=t=>{if(this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.autofit&&this.props.autofit(t,r)}}render(){return s.createElement(m.Draggable,{onPress:t=>{t.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},s.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}}class Pn extends s.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.pressHandler&&this.props.pressHandler(t.event,r)},this.onDrag=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.dragHandler&&this.props.dragHandler(t.event,r)},this.onRelease=t=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(t.event)}}render(){return s.createElement(m.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},s.createElement("tr",{className:"k-table-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},this.props.children))}}const Gn={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Hn={none:"none",asc:"ascending",desc:"descending"};class qr extends s.Component{constructor(){super(...arguments),this.cellClick=(t,r)=>{if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:n,mode:a}=Tr(this.props.sortable||!1,r.sortable||!1),i=(this.props.sort||[]).filter(u=>u.field===r.field)[0],o=Gn[n][i&&i.dir||""],l=a==="single"?[]:(this.props.sort||[]).filter(u=>u.field!==r.field);o!==""&&r.field&&l.push({field:r.field,dir:o}),this.props.sortChange(t,l,r.field)},this.cellKeyDown=(t,r)=>{t.isDefaultPrevented()||t.keyCode===m.Keys.enter&&this.cellClick(t,r)},this.cells=t=>t.map((r,n)=>{const a=this.props.columns[r],{columnResize:i}=this.props,o=i&&i.resizable&&a.resizable,l=this.props.sortable&&a.sortable,u=this.props.sort?this.props.sort.findIndex(f=>f.field===a.field):-1,d=u>=0&&this.props.sort[u].dir||"none",h={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:a.field},E={field:a.field,onClick:l&&(f=>this.cellClick(f,a))||void 0,selectionChange:this.props.selectionChange,title:a.title,selectionValue:a.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(u),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:h},v=a.columnMenu||this.props.columnMenu,p=m.classNames("k-table-th",{"k-first":a.kFirst,"k-filterable":!!v,"k-header":!0,"k-grid-header-sticky":a.locked,"k-sorted":this.props.sort&&this.props.sort.some(f=>f.field===a.field)},a.headerClassName),x=a.locked!==void 0?{left:a.left,right:a.right,borderRightWidth:a.rightBorder?"1px":""}:{},I=S.provideLocalizationService(this).toLanguageString(ct,C[ct]);let y=a.isAccessible?{ariaSort:l?Hn[d]:void 0,role:"columnheader",ariaColumnIndex:a.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?I:""}:{role:"presentation"};return s.createElement(Be,{key:n,colSpan:a.colSpan,rowSpan:a.rowSpan,className:p,style:x,columnId:a.id,navigatable:a.navigatable,onKeyDown:l&&(f=>this.cellKeyDown(f,a))||void 0,...y},a.headerCell&&s.createElement(a.headerCell,{...E}),!a.headerCell&&s.createElement("span",{className:"k-cell-inner"},s.createElement(zr,{...E}),v&&s.createElement(v,{...h})),i&&o&&s.createElement(_r,{key:"ColumnResizer",resize:(f,L,A)=>i.dragHandler(f,a,L,A)}))})}sortIcon(t){if(!this.props.sort||t<0)return null;const r=this.props.sort[t].dir;return r?[s.createElement(m.IconWrap,{key:1,name:`sort-${r}-small`,icon:r==="asc"?N.sortAscSmallIcon:N.sortDescSmallIcon}),this.props.sort.length>1&&s.createElement("span",{key:2,className:"k-sort-order"},t+1)]:null}render(){return this.props.columnsMap.map((t,r)=>this.props.pressHandler&&s.createElement(Pn,{key:r,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:r+1},this.cells(t))||s.createElement("tr",{className:"k-table-row","aria-rowindex":r+1,role:"row"},this.cells(t)))}}S.registerForLocalization(qr);function Wn(e){const t=[s.createElement("input",{key:0,checked:e.selectionValue,id:e.inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:r=>e.selectionChange({field:e.field,syntheticEvent:r})}),s.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return s.createElement(s.Fragment,null,e.render?e.render.call(void 0,t,e):t)}function $n(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:a}=e,i=r.map(()=>1),o=r.map(()=>!1);if(!t)return{colSpans:i,hiddenColumns:o};const l=r.map(f=>parseFloat((f.width||"").toString())||10);let u=0;for(let f=0;f<r.length;f++){if(r[f].locked)continue;const L=f<l.length-1?l[f+1]:0;if(u+l[f]+L<a)o[f]=!0,u+=l[f];else break}const d=l.reduce((f,L)=>f+L,0);u=0;for(let f=r.length-1;f>=0;f--)if(!r[f].locked)if(u+2*l[f]<d-n-a)o[f]=!0,u+=l[f];else break;const h=[...o],E=f=>f;let v=h.lastIndexOf(!1),p=h.some(E),x=h.every(E),I,y;for(;p&&h.length&&(v!==-1||x);){for(v<h.length-1&&(I=x?h.length:h.length-v-1,y=h.length-I,y===0&&(y=I-1),o[y]=!1,i[y]=I,h.splice(v+1,I));h.length&&!h[h.length-1];)h.pop();v=h.lastIndexOf(!1),p=h.some(E),x=h.every(E)}return{colSpans:i,hiddenColumns:o}}class Vn{constructor(t){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=r=>{this.isRtl=r},this.onResize=t,this.dragHandler=this.dragHandler.bind(this)}dragHandler(t,r,n,a){const i=t.originalEvent;a||(i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation());const o=n.parentElement;if(!o||!o.parentElement)return;const l=o.clientWidth;let u;if(this.isRtl?(u=n.getBoundingClientRect().right-n.offsetWidth/2-t.clientX,u+=l):u=l+t.clientX-n.getBoundingClientRect().left-n.offsetWidth/2,!a&&Math.abs(u-l)<1)return;this.setWidths(r,Math.floor(u)/l);const d=this.columns.filter(h=>!h.children.length).indexOf(r);this.onResize(d,l,u,i,a)}setWidths(t,r){const n=this.columns.indexOf(t),a=[];let i=t.children.length;for(let o=n+1;i>0&&o<this.columns.length;o++,i--){const l=this.columns[o];l.children.length?i+=l.children.length:a.push(l)}a.length===0&&a.push(t),a.forEach(o=>{let l=o.width?parseFloat(o.width.toString())*r:0;const u=o.minResizableWidth===void 0?10:o.minResizableWidth;l<u&&(l=u),o.width=Math.floor(l)}),this.updateColElements(a)}updateColElements(t){const r=this.columns.filter(a=>!a.children.length);let n=1e-10;for(let a=0;a<t.length;a++){const i=r.indexOf(t[a]),o=parseFloat((t[a].width||0).toString());n+=o-Math.floor(o);const l=Math.floor(o)+Math.floor(n);n-=Math.floor(n),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[i],l),this.setColWidth(this.colGroupHeader&&this.colGroupHeader.children[i],l),this.setColWidth(this.colGroupFooter&&this.colGroupFooter.children[i],l)}}setColWidth(t,r){t&&(t.style.width=r+"px")}}class Yn{constructor(t,r,n){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=a=>{this.groupPanelDivElement=a},this.refDropElementClue=a=>{this.dropElementClue=a},this.refDragElementClue=a=>{this.dragElementClue=a},this.pressHandler=(a,i)=>{const o=this.getColumnIndex(a,i);if(this.startGroup=this.getGroupIndex(a),o>=0){const l=this.columns[o];(l.reorderable&&this.reorderable||l.groupable&&this.groupable)&&(this.startColumn=o)}},this.dragHandler=(a,i)=>{if(a.isTouch||a.originalEvent.preventDefault(),a.originalEvent.stopPropagation(),this.startColumn===-1&&this.startGroup===-1)return;this.currentColumn=this.getColumnIndex(a,i),this.currentGroup=this.getGroupIndex(a),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const o=!this.isValid();o&&(this.currentColumn=-1,this.currentGroup=-1);const l=this.currentColumn>=0?i.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(a,i,l,o),this.updateDropElementClue(a,i,l,o)},this.releaseHandler=a=>{const i=this.startColumn,o=this.currentColumn,l=this.startGroup,u=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const d=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,d&&(i>=0&&o>=0?this.columnReorder(i,o,a.originalEvent):l>=0&&u>=0?this.groupReorder(l,u,a.originalEvent):i>=0&&u>=0&&this.columnToGroup(i,u,a.originalEvent))},this.columnReorder=t,this.groupReorder=r,this.columnToGroup=n}getColumnIndex(t,r){if(!r||r.parentElement===this.groupPanelDivElement)return-1;const n=bt(t,r);if(n===-1)return-1;for(let a=0;a<r.parentNode.children.length;a++)if(r.parentNode.children[a]===r)return this.columns.findIndex(i=>i.index===n&&i.depth===a);return-1}getGroupIndex(t){return bt(t,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:this.startColumn===-1?!1:this.currentGroup>=0?this.columns[this.startColumn].groupable===!0&&this.groupable===!0:this.reorderable===!0&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&this.columns[this.startColumn].reorderable===!0&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex}updateDragElementClue(t,r,n,a){if(!this.dragElementClue)return;const i=this.startColumn>=0?r.children[this.columns[this.startColumn].index].innerText:r.innerText;this.dragElementClue.setState({visible:!0,top:t.pageY+10,left:t.pageX,innerText:i,status:a||!n?"k-i-cancel":"k-i-plus"})}updateDropElementClue(t,r,n,a){if(!this.dropElementClue)return;if(a||!n){this.dropElementClue.setState({visible:!1});return}const i=n.getBoundingClientRect();let o=i.left+t.pageX-t.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&this.startGroup!==-1)&&(o+=i.width);const l=i.top+t.pageY-t.clientY;this.dropElementClue.setState({visible:!0,top:l,left:o,height:this.currentColumn>=0?r.clientHeight:i.height})}}class Un extends s.PureComponent{constructor(t){super(t),this.elementRef=s.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=s.createRef()}get element(){return this.elementRef.current}render(){const t=this.hiddenElementRef.current,{status:r}=this.state,n=this.state.visible&&m.canUseDOM&&Ye.createPortal(s.createElement("div",{ref:this.elementRef,className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.state.top+"px",left:this.state.left+"px"}},s.createElement(m.IconWrap,{className:"k-drag-status",name:r,icon:r==="k-i-cancel"?N.cancelIcon:N.plusIcon}),this.state.innerText),t&&t.ownerDocument?t.ownerDocument.body:document.body);return s.createElement(s.Fragment,null,n,s.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class jn extends s.PureComponent{constructor(t){super(t),this.state={height:0,visible:!1,left:0,top:0},this.hiddenElementRef=s.createRef()}render(){const t=this.hiddenElementRef.current,r=this.state.visible&&m.canUseDOM&&Ye.createPortal(s.createElement("div",{className:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.state.top+"px",left:this.state.left+"px",height:this.state.height+"px"}}),t&&t.ownerDocument?t.ownerDocument.body:document.body);return s.createElement(s.Fragment,null,r,s.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class xt extends s.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=S.provideLocalizationService(this),{ariaLabel:r=t.toLanguageString(nt,C[nt])}=this.props;return s.createElement($.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":r})}}xt.propTypes={filter:g.object.isRequired,onFilterChange:g.func.isRequired,ariaLabel:g.string},S.registerForLocalization(xt);class yt extends s.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=S.provideLocalizationService(this),{min:r,max:n,filter:a,ariaLabel:i=t.toLanguageString(rt,C[rt])}=this.props;return s.createElement($.NumericTextBox,{value:typeof a.value=="number"?a.value:null,onChange:this.onChange,ariaLabel:i,"aria-valuemin":r,"aria-valuemax":n,min:r,max:n})}}yt.propTypes={filter:g.object.isRequired,onFilterChange:g.func.isRequired},S.registerForLocalization(yt);class Pr extends s.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=this.props.filter;return s.createElement(Ue.DatePicker,{value:t.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}}Pr.propTypes={filter:g.object.isRequired,onFilterChange:g.func.isRequired,ariaLabel:g.string};class ze extends s.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value.value}})}}render(){const t=S.provideLocalizationService(this),{filter:r,data:n=[],defaultItem:a,ariaLabel:i=t.toLanguageString(tt,C[tt])}=this.props,o=n.map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return s.createElement(G.DropDownList,{value:o.find(l=>l.value===r.value)||null,onChange:this.onChange,defaultItem:a,data:o,textField:"text",ariaLabel:i})}}ze.propTypes={filter:g.object.isRequired,onFilterChange:g.func.isRequired,data:g.arrayOf(g.shape({text:g.string,value:g.any})),defaultItem:g.any,ariaLabel:g.string},S.registerForLocalization(ze);class Gr extends s.Component{constructor(){super(...arguments),this.data=[{text:$t,value:!0},{text:Vt,value:!1}]}render(){return s.createElement(ze,{filter:this.props.filter,onFilterChange:this.props.onFilterChange,data:this.props.data||this.data,defaultItem:this.props.defaultItem,ariaLabel:this.props.ariaLabel})}}Gr.propTypes={filter:g.object.isRequired,onFilterChange:g.func.isRequired,data:g.arrayOf(g.shape({text:g.string,value:g.any})),ariaLabel:g.string,defaultItem:g.any};const Xn=[{text:Tt,operator:"contains"},{text:_t,operator:"doesnotcontain"},{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:zt,operator:"startswith"},{text:qt,operator:"endswith"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"},{text:Kt,operator:"isempty"},{text:Bt,operator:"isnotempty"}],Zn=[{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:Pt,operator:"gte"},{text:Gt,operator:"gt"},{text:Ht,operator:"lte"},{text:Wt,operator:"lt"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"}],Jn=[{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:Yt,operator:"gte"},{text:Ut,operator:"gt"},{text:jt,operator:"lt"},{text:Xt,operator:"lte"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"}],Qn=[{text:Z,operator:"eq"},{text:J,operator:"neq"}];class ea{static get text(){return[...Xn]}static get numeric(){return[...Zn]}static get date(){return[...Jn]}static get boolean(){return[...Qn]}}const It=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",Te=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",Hr=e=>{e.value===void 0&&!Te(e.operator)&&(e.value=It(e.operator)?"":null)};class _e extends s.Component{constructor(){super(...arguments),this.onFieldChange=t=>{const r=t.value.name,n=this.props.fields.find(l=>l.name===r),a=this.props.filter,i=n&&!n.operators.some(l=>l.operator===a.operator)?n.operators[0].operator:a.operator,o={field:r,operator:i};Hr(o),this.triggerOnFilterChange(a,o,t)},this.onOperatorChange=t=>{const r=t.value.operator,n=this.props.filter;let a;if(Te(r)){let{value:i,...o}=n;a={...o,operator:r}}else a={...n,operator:r};Hr(a),this.triggerOnFilterChange(n,a,t)},this.onInputChange=t=>{const r=this.props.filter;let n=t.nextFilter;if(Te(n.operator)){const a=this.props.fields.find(i=>i.name===n.field);n={...n,operator:a&&a.operators[0].operator||n.operator}}this.triggerOnFilterChange(r,n,t)},this.triggerOnFilterChange=(t,r,n)=>{const a={prevFilter:t,nextFilter:r,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,target:this};this.props.onChange.call(void 0,a)},this.onFilterRemove=t=>{const r={filter:this.props.filter,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,target:this};this.props.onRemove.call(void 0,r)}}render(){const t=S.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:a=t.toLanguageString(Je,C[Je])}=this.props,i=r.find(l=>l.name===n.field),o=(i&&i.operators||[]).map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return s.createElement("div",{className:"k-filter-toolbar"},s.createElement(k.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:a},s.createElement(k.ToolbarItem,{className:"k-filter-field"},s.createElement(G.DropDownList,{className:"k-filter-dropdown",data:r,textField:"label",value:r.find(l=>l.name===n.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(Qe,C[Qe])})),s.createElement(k.ToolbarItem,{className:"k-filter-operator"},s.createElement(G.DropDownList,{data:o,textField:"text",value:o.find(l=>l.operator===n.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(et,C[et])})),s.createElement(k.ToolbarItem,{className:"k-filter-value"},i&&s.createElement(i.filter,{filter:n,onFilterChange:this.onInputChange,min:i.min,max:i.max})),s.createElement(k.Button,{className:"k-toolbar-button",title:t.toLanguageString(te,C[te]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}}_e.propTypes={filter:g.object.isRequired,fields:g.array.isRequired,ariaLabel:g.string,onChange:g.func.isRequired,onRemove:g.func.isRequired},S.registerForLocalization(_e);const Wr=class extends s.Component{constructor(){super(...arguments),this.onGroupRemove=e=>{const t={filter:this.props.filter,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onRemove.call(void 0,t)},this.onAddExpression=e=>{const t=this.props.filter,r=this.props.fields[0],n={field:r.name,operator:r.operators[0].operator};n.value=It(n.operator)?"":null;const a={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,a)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map(a=>a===e?t:a);return{...r,filters:n}},this.onChange=e=>{const r={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,r)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter(a=>a!==e.filter),n={nextFilter:{...t,filters:r},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const e=S.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(Ze,C[Ze])}=this.props;return s.createElement(s.Fragment,null,s.createElement("div",{className:"k-filter-toolbar"},s.createElement(k.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},s.createElement(k.ButtonGroup,{className:"k-toolbar-button-group"},s.createElement(k.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:r.logic==="and",type:"button"},e.toLanguageString(je,C[je])),s.createElement(k.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:r.logic==="or",type:"button"},e.toLanguageString(Xe,C[Xe]))),s.createElement(k.Button,{className:"k-toolbar-button",title:e.toLanguageString(Q,C[Q]),icon:"filter-add-expression",svgIcon:N.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(Q,C[Q])),s.createElement(k.Button,{className:"k-toolbar-button",title:e.toLanguageString(ee,C[ee]),icon:"filter-add-group",svgIcon:N.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(ee,C[ee])),s.createElement(k.Button,{className:"k-toolbar-button",title:e.toLanguageString(te,C[te]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),r.filters.length>0&&s.createElement("ul",{role:"group",className:"k-filter-lines"},r.filters.map((a,i)=>s.createElement("li",{role:"treeitem",key:i,className:"k-filter-item"},X.isCompositeFilterDescriptor(a)?s.createElement(Wr,{filter:a,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):s.createElement(_e,{filter:a,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};let qe=Wr;qe.propTypes={filter:g.object.isRequired,fields:g.array.isRequired,ariaLabel:g.string,ariaLabelExpression:g.string,onChange:g.func.isRequired,onRemove:g.func.isRequired,defaultGroupFilter:g.object.isRequired},S.registerForLocalization(qe);class $r extends s.Component{constructor(t){super(t),this.onFilterChange=r=>{const n={filter:r.nextFilter,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onGroupRemove=r=>{const n={filter:{...this.props.value,filters:[]},syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},m.validatePackage(dt)}render(){return s.createElement("div",{className:m.classNames("k-filter",this.props.className),style:this.props.style},s.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},s.createElement("li",{role:"treeitem",className:"k-filter-group-main"},s.createElement(qe,{filter:this.props.value,fields:this.props.fields,ariaLabel:this.props.ariaLabelGroup,ariaLabelExpression:this.props.ariaLabelExpression,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.props.defaultGroupFilter||{logic:"and",filters:[]}}))))}}$r.propTypes={className:g.string,style:g.object,fields:function(e,t){const r=e[t];if(r===void 0)return new Error(`Property '${t}' is missing.`);if(Array.isArray(r)){if(Object.keys(r.reduce((n,a)=>({...n,[a.name]:1}),{})).length!==r.length)return new Error(`Property '${t}' needs to contain objects with unique 'name' field.`)}else return new Error(`Property '${t}' needs to be Array<FieldSettings>.`);return null},ariaLabelGroup:g.string,ariaLabelExpression:g.string,value:g.object.isRequired,onChange:g.func.isRequired};const Pe=e=>s.createElement("div",{onClick:e.onClick,className:m.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&s.createElement(m.IconWrap,{name:e.iconClass?m.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),ta=[{text:er,operator:"contains"},{text:tr,operator:"doesnotcontain"},{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:Qt,operator:"startswith"},{text:rr,operator:"endswith"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"},{text:Zt,operator:"isempty"},{text:Jt,operator:"isnotempty"}],ra=[{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:nr,operator:"gte"},{text:ar,operator:"gt"},{text:ir,operator:"lte"},{text:sr,operator:"lt"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"}],na=[{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:lr,operator:"gte"},{text:cr,operator:"gt"},{text:ur,operator:"lt"},{text:dr,operator:"lte"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"}],aa=[{text:or,operator:""}];class ie{static get text(){return[...ta]}static get numeric(){return[...ra]}static get date(){return[...na]}static get boolean(){return[...aa]}}const Ft=e=>{const{filter:t,onFilterChange:r,operators:n,initialFilter:a}=e,i=s.useCallback(d=>{const h=t,E=d.target.value.operator,v=h?{...h,operator:E}:{value:a.value,operator:E};r.call(void 0,d.syntheticEvent,v,h)},[t,r,a]),o=s.useCallback(d=>{const h=d.target.value,E=t,v=E?{...E,value:h}:{value:h,operator:n[0].operator};r.call(void 0,d,v,E)},[t,r,n]),l=S.useLocalization(),u=n.map(d=>({...d,text:l.toLanguageString(d.text,C[d.text])}));return s.createElement(s.Fragment,null,s.createElement(G.DropDownList,{value:u.find(d=>d.operator===t.operator)||null,onChange:i,data:u,textField:"text"}),s.createElement(e.input,{value:t.value,onChange:o}))},Vr=e=>{const{filter:t,onFilterChange:r}=e,n=s.useCallback(i=>r.call(void 0,i.syntheticEvent,{...t,value:i.value},t),[t,r]),a=ie.boolean[0].text;return s.createElement($.Checkbox,{onChange:n,checked:t.value,label:S.useLocalization().toLanguageString(a,C[a]),labelPlacement:"after"})},St=e=>{const t=s.useCallback(a=>s.createElement($.Input,{...a,value:a.value||""}),[]),r=s.useRef(ie.text),n=s.useRef({operator:"",value:""});return s.createElement(Ft,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Lt=e=>{const t=s.useCallback(a=>s.createElement($.NumericTextBox,{...a,value:a.value||null}),[]),r=s.useRef(ie.numeric),n=s.useRef({operator:"",value:null});return s.createElement(Ft,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Mt=e=>{const t=s.useCallback(a=>s.createElement(Ue.DatePicker,{...a,value:a.value||null}),[]),r=s.useRef(ie.date),n=s.useRef({operator:"",value:null});return s.createElement(Ft,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},ia=[{text:hr,logic:"and"},{text:gr,logic:"or"}],Ge=e=>{const t=S.useLocalization(),r=(e.data||ia).map(n=>({...n,text:t.toLanguageString(n.text,C[n.text])}));return s.createElement(G.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find(n=>n.logic===e.value)})},Yr=e=>s.createElement("div",{className:"k-columnmenu-item-content"},s.createElement(cn.Reveal,{style:{position:"relative",display:"block"}},e.show&&s.createElement("div",{className:"kendo-grid-filter-menu-container"},s.createElement("form",{className:"k-filter-menu",onSubmit:e.onSubmit,onReset:e.onReset},s.createElement("div",{className:"k-filter-menu-container"},e.children,s.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),Ur=e=>{const t=S.useLocalization();return s.createElement(Yr,{...e,actions:s.createElement(s.Fragment,null,s.createElement(k.Button,{type:"reset"},t.toLanguageString(at,C[at])),s.createElement(k.Button,{themeColor:"primary"},t.toLanguageString(it,C[it])))})},He=e=>{m.validatePackage(dt);const t=s.useRef([]),{field:r,filter:n,sort:a=t.current,onSortChange:i,onFilterChange:o,initialFilter:l,sortAsc:u=!1,sortDesc:d=!1,filterContent:h=[],expandFilters:E=!1}=e,[v,p]=s.useState(!1),[x,I]=s.useState(E),[y,f]=s.useState(r&&l?l(r):null),L=s.useRef(null),A=s.useRef(null),M=s.useRef(null),b=s.useRef(!1),F=s.useCallback(()=>(n||[]).find(w=>w.filters.every(K=>!X.isCompositeFilterDescriptor(K)&&K.field===r)),[n,r]),D=s.useCallback(()=>{p(!1)},[]),B=s.useCallback(()=>{if(b.current){b.current=!1;return}clearTimeout(M.current),M.current=window.setTimeout(()=>{D()})},[D]),q=s.useCallback(()=>clearTimeout(M.current),[]),P=s.useCallback(w=>{b.current=v&&w.currentTarget===L.current},[v]),H=s.useCallback(()=>{p(!v),r&&l&&(I(v?!1:E),f(v?y:F()||l(r)))},[F,r,v,y,l,E]);s.useEffect(()=>{v&&A.current&&A.current.focus()},[v]);const R=s.useCallback(()=>I(!x),[x]),z=s.useCallback((w,K)=>{const T=[...a],_=T.findIndex(qa=>qa.field===r),fe={field:r,dir:K};_>=0?T[_].dir!==fe.dir?T.splice(_,1,fe):T.splice(_,1):T.push(fe),D(),i&&i.call(void 0,w,T,r)},[a,r,i,D]),ue=s.useCallback((w,K,T)=>{const _={...y,filters:[...y.filters]},fe=_.filters.indexOf(T);_.filters.splice(fe,1,K),f(_)},[y]),We=s.useCallback(w=>{w.preventDefault();const K=(n||[]).slice(),T=F(),_=T?K.indexOf(T):-1;_>=0?K.splice(_,1,y):K.push(y),D(),o&&o.call(void 0,w,K,r)},[n,y,r,o,D,F]),$e=s.useCallback(w=>{const K=(n||[]).slice(),T=F(),_=T?K.indexOf(T):-1;_>=0&&K.splice(_,1),l&&f(l(r)),D(),o&&o.call(void 0,w,K,r)},[n,r,o,l,D,F]),At=s.useCallback(w=>z(w,"asc"),[z]),Ve=s.useCallback(w=>z(w,"desc"),[z]),wt=s.useCallback(w=>y&&f({...y,logic:w.value.logic}),[y]),de=a.find(w=>w.field===r)||{dir:""},[he,ge,pe]=h,kt=S.useLocalization(),Ba=u||d?s.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},u&&s.createElement(Pe,{title:kt.toLanguageString(ot,C[ot]),iconClass:"k-i-sort-asc-small",svgIcon:N.sortAscSmallIcon,selected:de.dir==="asc",onClick:At}),d&&s.createElement(Pe,{title:kt.toLanguageString(lt,C[lt]),iconClass:"k-i-sort-desc-small",svgIcon:N.sortDescSmallIcon,selected:de.dir==="desc",onClick:Ve})):null,za=y&&h.length>0?s.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},s.createElement(Pe,{iconClass:"k-i-filter",svgIcon:N.filterIcon,title:kt.toLanguageString(st,C[st]),onClick:R}),s.createElement(Ur,{show:x,onSubmit:We,onReset:$e},he&&s.createElement(he,{filter:y.filters[0],onFilterChange:ue}),ge&&s.createElement(ge,{value:y.logic,onChange:wt}),pe&&s.createElement(pe,{filter:y.filters[1],onFilterChange:ue}))):null,sn=[Ba,za],Ta=s.createElement("span",{ref:L,onClick:H,onMouseDown:P,className:"k-grid-header-menu k-grid-column-menu"+(F()?" k-active":""),key:"button"},s.createElement(m.IconWrap,{name:"filter",icon:N.filterIcon})),_a=s.createElement(ln.Popup,{anchor:L.current,show:v,key:"popup",popupClass:"k-column-menu k-column-menu-popup"},s.createElement("div",{ref:A,tabIndex:0,onBlur:B,onFocus:q,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,sn,{closeMenu:D,field:r}):sn)),on=[Ta,_a];return s.createElement(s.Fragment,null,e.render?e.render.call(void 0,on):on)},sa=e=>{const{field:t,...r}=e,n=s.useCallback(o=>({logic:"and",filters:[{operator:"contains",field:o,value:""},{operator:"contains",field:o,value:""}]}),[]),a=!!e.field,i=a?[St,Ge,St]:[];return s.createElement(He,{sortAsc:a,sortDesc:a,filterContent:i,initialFilter:a?n:void 0,field:t,...r})},oa=e=>{const{field:t,...r}=e,n=s.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),a=!!e.field,i=a?[Lt,Ge,Lt]:[];return s.createElement(He,{sortAsc:a,sortDesc:a,filterContent:i,initialFilter:a?n:void 0,field:t,...r})},la=e=>{const{field:t,...r}=e,n=s.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),a=!!e.field,i=a?[Mt,Ge,Mt]:[];return s.createElement(He,{sortAsc:a,sortDesc:a,filterContent:i,initialFilter:a?n:void 0,field:t,...r})},ca=e=>{const{field:t,...r}=e,n=s.useCallback(o=>({logic:"and",filters:[{operator:"eq",field:o,value:!1}]}),[]),a=!!e.field,i=a?[Vr]:[];return s.createElement(He,{sortAsc:a,sortDesc:a,filterContent:i,initialFilter:a?n:void 0,field:t,...r})};function se(e,t,r){return r?{...e,[t]:r.length?[...r]:void 0}:e&&e[t]?[...e[t]]:[]}function jr(e,t,r){if(e[r]){let n=se(e,r,X.orderBy(se(e,r),t)),a=se(n,r).map(i=>jr(i,t,r));return{...n,[r]:a}}return e}function ua(e,t,r){let n=X.orderBy(e,t);return n=n.map(a=>jr(a,t,r)),n}function Xr(e,t,r){let n=se(e,r);if(n&&n.length){n=n.map(l=>Xr(l,t,r));const i={filters:[{filters:t,logic:"and"},{operator:l=>!!(l[r]||[]).length}],logic:"or"},o=X.filterBy(n,i);return se(e,r,o)}return e}function da(e,t,r){let n={[r]:[...e]};return n=Xr(n,t,r),n[r]||[]}function ha(e,t,r){let n=[];const a=[];for(let i=e.length-1;i>=0;i--){const o=e[i];n.push({root:o,data:t(o),level:[i],levelCount:e.length})}for(;n.length>0;){let i=n.pop();if(a.push({dataItem:i.root,level:[...i.level],...r(i.root),levelCount:i.levelCount}),i.data.length)for(let o=i.data.length-1;o>=0;o--){const l=i.data[o];n.push({root:l,data:t(l),level:[...i.level,o],levelCount:i.data.length})}}return a}const ga=(e,t,r)=>{const n=u=>!!m.getNestedValue(t,u),a=u=>!!m.getNestedValue(r,u),i=u=>{const d=[];return n(u)&&a(u)&&d.push(...m.getNestedValue(r,u)),d},o=(u,d,h)=>{d.push({...u,level:h}),i(u).forEach(E=>o(E,d,h+1))},l=[];return e.forEach(u=>o(u,l,0)),l},pa=(e,t,r,n)=>{let a={},i=[],o;return e.forEach(l=>a[t(l)]={...l}),e.forEach(l=>{o=a[r(l)],o?(o[n]=o[n]||[],o[n].push(a[t(l)])):i.push(a[t(l)])}),i},fa=(e,t,r)=>m.extendDataItem(e,t,r),ma=(e,t,r)=>[...m.mapTree([{[t]:[...e]}],t,a=>Ea(a,r,t))[0][t]],Ea=(e,t,r)=>{const n=e[r]||[],a=n.findIndex(t);if(a!==-1){const i=[...n];return i.splice(a,1),{...e,[r]:i}}return e},va=(e,t,r,n)=>m.mapTree(e,t,a=>r(a)?{...a,[t]:n(a[t]||[])}:a),Dt=(e,t,r)=>m.getItemPath(e,t,r),Ca=(e,t,r,n)=>{const a=[...e],i=Dt(a,t,n),o=i.pop(),l=i.pop(),u=t[t.length-1];if(r){const h=Dt(a,r,n).pop();(l?l[n]:a).splice(u,1),h[n]=h[n]||[],h[n].push(o)}else(l?l[n]:a).splice(u,1),a.push(o);return a},oe="groupId",Nt="items",Zr=(e,t,r)=>{e.items&&(e[oe]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(n=>Zr(n,t-1,e[oe])))},ba=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach(r=>Zr(r,t.length,""))},xa=e=>{const t=[];return m.mapTree(e.data,Nt,r=>{r[oe]&&t.push(r[oe])}),t},ya=e=>m.mapTree(e.data,Nt,t=>m.extendDataItem(t,Nt,{expanded:!e.collapsedIds.some(r=>r===t[oe])})),Ia=e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:n,idPrefix:a}=e;t&&(r.current={activeId:"",level:0},n.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:a||m.guid(),navigationMatrix:[],lastHeaderIndex:-1})},Fa=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){Ot(e);const a=n.current.navigationMatrix[0][0],i=O.getActiveElement(t,a);a&&i&&(r.current.activeId=a,i.setAttribute("tabIndex","0"))}},Sa=e=>{const{contextStateRef:t,navigationStateRef:r,document:n}=e;if(t.current&&r.current&&n){const a=m.getActiveElement(n),i=O.getNavigatableId(a);i&&i===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},La=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(Ot(e),r.current&&n.current&&t){if(!O.getActiveElement(t,r.current.activeId)){const i=n.current.navigationMatrix[0][0],o=O.getActiveElement(t,i);i&&o&&(r.current.activeId=i,o.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&o.focus())}n.current.activeElementIsFocused=!1}},Ma=(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,a=O.getNavigatableId(n);if(a&&a!==r.current.activeId){const i=O.getClosestScope(n);if(!i)return;const o=O.getActiveElement(i,r.current.activeId);o&&o.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=a}},Da=(e,t)=>{const{contextStateRef:r,navigationStateRef:n,onNavigationAction:a}=t;if(e.isDefaultPrevented()||!r.current||!n.current)return;if(e.keyCode===m.Keys.esc){const h=O.getClosestNavigatableElement(e.target);O.focusElement({elementForFocus:h,event:e,contextStateRef:r});return}const i=e.target,o=O.getNavigatableId(i),l=O.getNavigatableLevel(i),u=O.getClosestScope(i),d=n.current.navigationMatrix;if(l!==void 0&&u){if(e.keyCode===m.Keys.enter){const h=O.getNavigatableElement(i,{level:l+1});if(h){O.focusElement({elementForFocus:h,event:e,contextStateRef:r,prevElement:i});return}else{const E=O.getFocusableElements(i)[0];O.focusElement({elementForFocus:E,event:e,contextStateRef:r,prevElement:i});return}}if(e.keyCode===m.Keys.up||e.keyCode===m.Keys.down||e.keyCode===m.Keys.left||e.keyCode===m.Keys.right){const h=e.keyCode===m.Keys.up||e.keyCode===m.Keys.left,E=e.keyCode===m.Keys.up||e.keyCode===m.Keys.down;let v;if(n.current&&n.current.prevNavigationIndexes){const[p,x]=n.current.prevNavigationIndexes;d[p][x]===o?v=n.current.prevNavigationIndexes:v=vt(d,o)}else v=vt(d,o);if(v){const[p,x]=v,[I,y]=E?Dr(p,x,o,d,h):Nr(p,x,o,d,h);if(I){const f=O.getActiveElement(u,I);O.focusElement({elementForFocus:f,event:e,contextStateRef:r,prevElement:i}),n.current.prevNavigationIndexes=y,a&&a({focusElement:f,event:e})}}}}},Ot=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],a=Lr(r),i=Mr(r);if(!a||!i)return;const o=Array.from(a.children),l=Array.from(i.children);[...o,...l].forEach((u,d)=>{Array.from(u.children).forEach(h=>{const E=mt(h);if(!E)return;const v=h.rowSpan||1,p=h.colSpan||1;let x;for(let I=d,y=d+v;I<y;I++){if(n[I]||(n[I]=[]),x===void 0){const f=n[I].findIndex(L=>!L);x=f>-1?f:n[I].length}n[I][x]=E||""}for(let I=x+1,y=x+p;I<y;I++)n[d][I]=E||""})}),t.current.navigationMatrix=n.filter(u=>!!u),t.current.lastHeaderIndex=o.length-1},Na={onConstructor:Ia,onComponentDidMount:Fa,onGetSnapshotBeforeUpdate:Sa,onComponentDidUpdate:La,onFocus:Ma,onKeyDown:Da,generateMatrix:Ot},Jr="data-grid-row-index",Qr="data-grid-col-index",en="data-prevent-selection",Oa="items",U={},Aa=(e,t)=>!e||Array.isArray(e)&&e.length===0?[t]:e.findIndex(n=>n===t)>-1?e.filter(n=>n!==t):[...e,t],W=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if(r.tagName==="TABLE")return null;r=r.parentElement}return null},le=e=>{if(!e)return;const t=e.getAttribute(Jr);return t?parseInt(t,10):void 0},ce=e=>{if(!e)return;const t=e.getAttribute(Qr);return t?parseInt(t,10):void 0},wa=e=>{const t=e.subItemsField||Oa,r=m.getter(e.dataItemKey);return m.mapTree(e.data,t,n=>m.extendDataItem(n,t,{[e.selectedField]:e.selectedState[r(n)]}))},ka=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{syntheticEvent:a,nativeEvent:i,dataItems:o,componentId:l,mode:u,cell:d,selectedField:h}=t,{target:E,ctrlKey:v,metaKey:p,altKey:x,shiftKey:I}=i;if(a.isDefaultPrevented()||i.keyCode!==m.Keys.enter)return n;const y=W(E,"TD"),f=W(E,"TR"),L=ce(y),A=le(f);let M={};return y&&f&&A!==void 0&&L!==void 0&&(M=tn({selectedState:n,dataItemKey:r,event:{ctrlKey:v,metaKey:p,altKey:x,shiftKey:I,dataItems:o,cell:d,mode:u,selectedField:h,componentId:l,startColIndex:L,endColIndex:L,startRowIndex:A,endRowIndex:A,isDrag:!1,syntheticEvent:a,nativeEvent:i,target:t.target,dataItem:null}})),M},tn=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{dataItems:a,startRowIndex:i,endRowIndex:o,startColIndex:l,endColIndex:u,cell:d,isDrag:h,ctrlKey:E,shiftKey:v,metaKey:p,componentId:x,mode:I,dataItem:y}=t,f=m.getter(r);let L={};const A=y!==null;if(I==="single"){const M=a.slice(i,i+1)[0],b=f(M);U[x]={rowIndex:i,colIndex:l},L[b]=d?[l]:!0}else if(h||!v&&!E&&!p&&!A){h||(U[x]={rowIndex:i,colIndex:l});const M=[];for(let F=l;F<=u;F++)M.push(F);a.slice(i,o+1).forEach(F=>{const D=f(F);L[D]=d?[...M]:!0})}else if(E||p||A){U[x]={rowIndex:i,colIndex:l};const b=a.slice(i,o+1)[0],F=f(b);L={...n},L[F]=d&&!A?Aa(L[F],l):!L[F]}else if(v){const M=U[x]&&U[x].rowIndex||0,b=U[x]&&U[x].colIndex||0,F=Math.min(M,i,o),D=Math.max(M,i,o),B=Math.min(b,l,u),q=Math.max(b,l,u),P=[];for(let R=B;R<=q;R++)P.push(R);a.slice(F,D+1).forEach(R=>{const z=f(R);L[z]=d?[...P]:!0})}return L},Ra=m.hasRelativeStackingContext(),rn=e=>{if(!e||!Ra)return null;let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).transform!=="none")return t;t=t.parentElement}},nn=e=>{if(e&&e.ownerDocument&&e!==e.ownerDocument.body){const t=e.getBoundingClientRect();return{left:t.left-e.scrollLeft,top:t.top-e.scrollTop}}return{left:0,top:0}},an=e=>{const t=e?typeof e.enabled=="boolean"?e.enabled:!0:!1,r=e?!!e.drag:!1,n=e&&e.mode?e.mode:"multiple",a=!!(e&&e.cell);return{enabled:t,drag:r,mode:n,cell:a}},Ka=e=>{var A;const{onRelease:t,childRef:r}=e,{enabled:n,drag:a,mode:i,cell:o}=an(e.selectable),l=s.useRef(null),u=s.useRef(null),d=s.useRef({clientX:0,clientY:0}),[h,E]=s.useState(null),v=s.useRef(),p=s.useRef(!1),x=s.useRef(!1),I=s.useCallback(M=>{const{event:b}=M;x.current=b.originalEvent.target.hasAttribute(en),!(x.current||!l.current)&&(v.current=rn(l.current.element),d.current={clientY:b.clientY,clientX:b.clientX})},[]),y=s.useCallback(M=>{const{event:b}=M,{clientX:F,clientY:D}=d.current;if(!x.current&&!(!a||i==="single")&&((Math.abs(D-b.clientY)>5||Math.abs(F-b.clientX)>5)&&(p.current=!0),p.current)){const B=nn(v.current);E({top:Math.min(D,b.clientY)-B.top,left:Math.min(F,b.clientX)-B.left,width:Math.abs(b.clientX-F),height:Math.abs(b.clientY-D)})}},[E,a,i]),f=s.useCallback(M=>{const{event:b}=M,{clientX:F,clientY:D}=d.current;if(x.current||!l.current)return;const B=l.current.element&&l.current.element.ownerDocument;if(B){if(p.current){const q=Math.min(D,b.clientY),P=Math.min(F,b.clientX),H=Math.max(D,b.clientY),R=Math.max(F,b.clientX),z=u.current;if(!z)return;z.style.visibility="hidden";const ue=B.elementFromPoint(P,q),We=B.elementFromPoint(R,H);if(z.style.visibility="",!ue||!We)return;const $e=W(ue,"TD"),At=W($e,"TR"),Ve=W(We,"TD"),wt=W(Ve,"TR"),de=ce($e),he=le(At),ge=ce(Ve),pe=le(wt);de!==void 0&&he!==void 0&&ge!==void 0&&pe!==void 0&&t({nativeEvent:b.originalEvent,startRowIndex:he,startColIndex:de,endRowIndex:pe,endColIndex:ge,altKey:b.altKey,shiftKey:b.shiftKey,ctrlKey:b.ctrlKey,metaKey:b.metaKey,mode:i,cell:o,isDrag:!0})}else{const q=B.elementFromPoint(F,D);if(!q)return;const P=W(q,"TD"),H=W(q,"TR"),R=ce(P),z=le(H);P&&H&&z!==void 0&&R!==void 0&&t({nativeEvent:b.originalEvent,startRowIndex:z,startColIndex:R,endRowIndex:z,endColIndex:R,altKey:b.altKey,shiftKey:b.shiftKey,ctrlKey:b.ctrlKey,metaKey:b.metaKey,mode:i,cell:o,isDrag:!1})}E(null),p.current=!1,d.current={clientX:0,clientY:0}}},[E,i,o,t]),L=m.useDocument(u);return n?s.createElement(s.Fragment,null,s.createElement(m.Draggable,{onPress:I,onDrag:y,onRelease:f,ref:l,childRef:r},e.children),h&&un.createPortal(s.createElement("div",{ref:u,style:{...h,position:"fixed"},className:"k-marquee k-marquee-color"}),(A=L())==null?void 0:A.body)):s.cloneElement(s.Children.only(e.children),{ref:r})};c.BooleanFilter=Gr,c.BooleanFilterCell=mn,c.ColumnDefaultProps=Cr,c.ColumnMenuBooleanColumn=ca,c.ColumnMenuBooleanFilter=Vr,c.ColumnMenuDateColumn=la,c.ColumnMenuDateFilter=Mt,c.ColumnMenuFilterForm=Ur,c.ColumnMenuFilterLogic=Ge,c.ColumnMenuForm=Yr,c.ColumnMenuItem=Pe,c.ColumnMenuNumericColumn=oa,c.ColumnMenuNumericFilter=Lt,c.ColumnMenuOperators=ie,c.ColumnMenuTextColumn=sa,c.ColumnMenuTextFilter=St,c.ColumnResize=Vn,c.ColumnResizer=_r,c.CommonDragLogic=Yn,c.DateFilter=Pr,c.DateFilterCell=vn,c.DragClue=Un,c.DropClue=jn,c.EnumFilter=ze,c.Expression=_e,c.FILTER_ROW_CLASS=Ar,c.FOCUSABLE_ELEMENTS=Ke,c.Filter=$r,c.FilterRow=Tn,c.Group=qe,c.Header=qn,c.HeaderCell=zr,c.HeaderRow=qr,c.HeaderSelectionCell=Wn,c.HeaderThElement=Be,c.KEYBOARD_NAV_DATA_BODY=pt,c.KEYBOARD_NAV_DATA_HEADER=gt,c.KEYBOARD_NAV_DATA_ID=ae,c.KEYBOARD_NAV_DATA_LEVEL=Y,c.KEYBOARD_NAV_DATA_SCOPE=ht,c.KEYBOARD_NAV_DATA_ZONE=In,c.KEYBOARD_NAV_FILTER_COL_SUFFIX=br,c.NumericFilter=yt,c.NumericFilterCell=bn,c.Operators=ea,c.Pager=re,c.TABBABLE_ELEMENTS=yr,c.TABLE_COL_INDEX_ATTRIBUTE=Qr,c.TABLE_PREVENT_SELECTION_ELEMENT=en,c.TABLE_ROW_INDEX_ATTRIBUTE=Jr,c.TableKeyboardNavigationContext=ft,c.TableSelection=Ka,c.TextFilter=xt,c.TextFilterCell=yn,c.closestTagName=W,c.createDataTree=pa,c.createFilterComponent=ne,c.extendDataItem=fa,c.filterBy=da,c.flatData=ha,c.getColumnIndex=ce,c.getGroupIds=xa,c.getIndex=bt,c.getItemPath=Dt,c.getOffset=nn,c.getRowIndex=le,c.getSelectedState=tn,c.getSelectedStateFromKeyDown=ka,c.getSelectionOptions=an,c.isRtl=Br,c.mapColumns=_n,c.modifySubItems=va,c.moveTreeItem=Ca,c.nextColumn=wr,c.normalize=Tr,c.orderBy=ua,c.readColumns=Kr,c.relativeContextElement=rn,c.removeItems=ma,c.setExpandedState=ya,c.setGroupIds=ba,c.setSelectedState=wa,c.stringOperator=It,c.tableColumnsVirtualization=$n,c.tableKeyboardNavigation=Na,c.tableKeyboardNavigationBodyAttributes=Sn,c.tableKeyboardNavigationHeaderAttributes=Ir,c.tableKeyboardNavigationScopeAttributes=Fn,c.tableKeyboardNavigationTools=O,c.treeToFlat=ga,c.unaryOperator=Te,c.updateLeft=kr,c.updateRight=Rr,c.useTableKeyboardNavigation=Fr,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});