@progress/kendo-react-data-tools 7.1.0-develop.1 → 7.1.0-develop.5

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