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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,9 +2,9 @@
2
2
  * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- (function(c,ee){typeof exports=="object"&&typeof module!="undefined"?ee(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-intl"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-data-query"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-animation")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-buttons","@progress/kendo-react-intl","@progress/kendo-react-inputs","@progress/kendo-react-dropdowns","@progress/kendo-svg-icons","react-dom","@progress/kendo-data-query","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-animation"],ee):(c=typeof globalThis!="undefined"?globalThis:c||self,ee(c.KendoReactDatatools={},c.React,c.PropTypes,c.KendoReactCommon,c.KendoReactButtons,c.KendoReactIntl,c.KendoReactInputs,c.KendoReactDropdowns,c.KendoSvgIcons,c.ReactDOM,c.KendoDataQuery,c.KendoReactDateinputs,c.KendoReactPopup,c.KendoReactAnimation))})(this,function(c,ee,p,m,K,L,Y,H,N,Ye,te,je,cn,un){"use strict";"use client";function Rt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const i=Rt(ee),dn=Rt(Ye),be="pager.info",xe="pager.firstPage",ye="pager.previousPage",Ie="pager.nextPage",Fe="pager.lastPage",Le="pager.itemsPerPage",hn="pager.pageSelection",$="pager.page",X="pager.of",j="pager.totalPages",Ue="pager.pageNumberLabel",pn="pager.pageLabel",Se="pager.ariaKeyshortcuts",gn="pager.ariaLabel",De="pager.pageSizeAriaLabel",Me="pager.mobileSelect",Ne="pager.moreButtonLabel",re="filter.eqOperator",ne="filter.notEqOperator",Oe="filter.isNullOperator",Ae="filter.isNotNullOperator",Bt="filter.isEmptyOperator",Tt="filter.isNotEmptyOperator",zt="filter.startsWithOperator",_t="filter.containsOperator",Pt="filter.notContainsOperator",qt="filter.endsWithOperator",Gt="filter.gteOperator",Ht="filter.gtOperator",$t="filter.lteOperator",Wt="filter.ltOperator",Vt="filter.isTrue",Yt="filter.isFalse",jt="filter.afterOrEqualOperator",Ut="filter.afterOperator",Xt="filter.beforeOperator",Zt="filter.beforeOrEqualOperator",Xe="filter.andLogic",Ze="filter.orLogic",ae="filter.addExpression",se="filter.addGroup",ie="filter.close",Je="filter.groupAriaLabel",Qe="filter.expressionAriaLabel",et="filter.expressionDropdownAriaLabel",tt="filter.expressionOperatorDropdownAriaLabel",rt="filter.enumFilterDropdownAriaLabel",nt="filter.numericFilterAriaLabel",at="filter.textFilterAriaLabel",st="columnMenu.filterClearButton",it="columnMenu.filterSubmitButton",ot="columnMenu.filterTitle",lt="columnMenu.sortAscending",ct="columnMenu.sortDescending",we="columnMenu.filterEqOperator",Ke="columnMenu.filterNotEqOperator",ke="columnMenu.filterIsNullOperator",Re="columnMenu.filterIsNotNullOperator",Jt="columnMenu.filterIsEmptyOperator",Qt="columnMenu.filterIsNotEmptyOperator",er="columnMenu.filterStartsWithOperator",tr="columnMenu.filterContainsOperator",rr="columnMenu.filterNotContainsOperator",nr="columnMenu.filterEndsWithOperator",ar="columnMenu.filterGteOperator",sr="columnMenu.filterGtOperator",ir="columnMenu.filterLteOperator",or="columnMenu.filterLtOperator",lr="columnMenu.filterIsTrue",cr="columnMenu.filterAfterOrEqualOperator",ur="columnMenu.filterAfterOperator",dr="columnMenu.filterBeforeOperator",hr="columnMenu.filterBeforeOrEqualOperator",pr="columnMenu.filterAndLogic",gr="columnMenu.filterOrLogic",ut="sort.ariaLabel",dt="filter.ariaLabel",C={[Le]:"items per page",[hn]:"Select page",[be]:"{0} - {1} of {2} items",[xe]:"Go to the first page",[ye]:"Go to the previous page",[Ie]:"Go to the next page",[Fe]:"Go to the last page",[$]:"Page",[X]:"of",[j]:"{0}",[pn]:"Page",[Se]:"Enter ArrowRight ArrowLeft",[gn]:"Pager",[De]:"Page size",[Me]:"Select",[Ne]:"More pages",[Ue]:"Type a page number",[ut]:"Sortable",[dt]:"Filter",[re]:"Is equal to",[ne]:"Is not equal to",[Oe]:"Is null",[Ae]:"Is not null",[Bt]:"Is empty",[Tt]:"Is not empty",[zt]:"Starts with",[_t]:"Contains",[Pt]:"Does not contain",[qt]:"Ends with",[Gt]:"Is greater than or equal to",[Ht]:"Is greater than",[$t]:"Is less than or equal to",[Wt]:"Is less than",[Vt]:"Is true",[Yt]:"Is false",[jt]:"Is after or equal to",[Ut]:"Is after",[Xt]:"Is before",[Zt]:"Is before or equal to",[Xe]:"And",[Ze]:"Or",[ae]:"Add Expression",[se]:"Add Group",[ie]:"Remove",[Je]:"Filter toolbar",[Qe]:"Filter expression row",[et]:"Filter dropdown",[tt]:"Filter operator dropdown",[rt]:"Select True/False",[nt]:"Enter number",[at]:"Enter text",[st]:"Clear",[it]:"Filter",[ot]:"Filter",[lt]:"Sort Ascending",[ct]:"Sort Descending",[we]:"Is equal to",[Ke]:"Is not equal to",[ke]:"Is null",[Re]:"Is not null",[Jt]:"Is empty",[Qt]:"Is not empty",[er]:"Starts with",[tr]:"Contains",[rr]:"Does not contain",[nr]:"Ends with",[ar]:"Is greater than or equal to",[sr]:"Is greater than",[ir]:"Is less than or equal to",[or]:"Is less than",[lr]:"Is true",[cr]:"Is after or equal to",[ur]:"Is after",[dr]:"Is before",[hr]:"Is before or equal to",[pr]:"And",[gr]:"Or"},fr="...";class fn extends i.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=L.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(Me):{messageKey:Me,defaultMessage:C[Me]},n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},a=this.props.messagesMap?this.props.messagesMap(Ne):{messageKey:Ne,defaultMessage:C[Ne]},s=t.toLanguageString(a.messageKey,a.defaultMessage),o=this.start>1&&this.renderDots(this.start-1,s),l=this.end<this.props.totalPages&&this.renderDots(this.end+1,s),u=this.start>1&&this.renderOptionDots(this.start-1),d=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),h=[];for(let f=this.start;f<=this.end;f++)h.push(f);const g=h.map(f=>i.createElement(K.Button,{className:m.classNames({"k-selected":this.props.currentPage===f}),key:f,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(n.messageKey,n.defaultMessage)+" "+f,"aria-current":this.props.currentPage===f?!0:void 0,onClick:b=>this.handlePageChange(b,f)},f)),v=h.map(f=>i.createElement("option",{key:f},f));return i.createElement(i.Fragment,null,i.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:m.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${m.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(r.messageKey,r.defaultMessage),value:this.props.currentPage,onChange:f=>this.handleSelectPageChange(f)},u,v,d),i.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},o,g,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 i.createElement(K.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":r,onClick:n=>this.handlePageChange(n,t)},fr)}renderOptionDots(t){return i.createElement("option",{value:t},fr)}}class mr extends i.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=L.provideIntlService(this),r=L.provideLocalizationService(this),n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},a=this.props.messagesMap?this.props.messagesMap(X):{messageKey:X,defaultMessage:C[X]},s=this.props.messagesMap?this.props.messagesMap(j):{messageKey:j,defaultMessage:C[j]},o=this.props.messagesMap?this.props.messagesMap(j):{messageKey:Ue,defaultMessage:C[Ue]};return i.createElement("span",{className:"k-pager-input"},i.createElement("span",null,r.toLanguageString(n.messageKey,n.defaultMessage)),i.createElement(Y.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1,ariaLabel:r.toLanguageString(o.messageKey,o.defaultMessage)}),i.createElement("span",null,`${r.toLanguageString(a.messageKey,a.defaultMessage)} ${t.format(r.toLanguageString(s.messageKey,s.defaultMessage),[this.props.totalPages])}`))}}L.registerForLocalization(mr);class Er extends i.Component{constructor(){super(...arguments),this.pageSizeChange=t=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(t.target.value,10)},t)}}render(){const{value:t,pageSizes:r,pageSize:n,messagesMap:a}=this.props,s=r.slice();t===void 0&&s.filter(u=>u===n).length===0&&s.unshift(n);const o=a?a(Le):{messageKey:Le,defaultMessage:C[Le]},l=a?a(De):{messageKey:De,defaultMessage:C[De]};return i.createElement("span",{className:"k-pager-sizes"},i.createElement(H.DropDownList,{value:t!==void 0?t:n,data:s,onChange:this.pageSizeChange,ariaLabel:L.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),i.createElement("span",null,L.provideLocalizationService(this).toLanguageString(o.messageKey,o.defaultMessage)))}}L.registerForLocalization(Er);const ht={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/"},vr=600,mn=768;class oe extends i.Component{constructor(t){super(t),this._element=null,this.onPageChange=(r,n)=>{const a={target:this,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,targetEvent:n,...r};this.props.onPageChange&&this.props.onPageChange.call(void 0,a)},this.changePage=(r,n)=>{this.props.onPageChange&&r>0&&r<=this.totalPages&&this.props.onPageChange({target:this,skip:(r-1)*this.props.take,take:this.props.take,syntheticEvent:n,nativeEvent:n.nativeEvent,targetEvent:n})},this.onWindowResize=()=>{const r=this.element;if(!r||!this.props.responsive)return;const n=r.offsetWidth;n<vr?this.setState({showPagerSizes:!1}):n>=vr&&n<mn?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},m.validatePackage(ht),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return this.props.dir==="rtl"}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:t,showPagerInfo:r}=this.state,{skip:n,take:a,total:s,pageSizes:o,size:l,responsive:u,messagesMap:d,pageSizeValue:h}=this.props,g=L.provideLocalizationService(this),v=L.provideIntlService(this),f=Math.floor(n/a)+1,b=this.props.type==="numeric"?i.createElement(fn,{type:u&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:l}):i.createElement(mr,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:d,size:l}),I=d?d(xe):{messageKey:xe,defaultMessage:C[xe]},x=d?d(ye):{messageKey:ye,defaultMessage:C[ye]},E=d?d(Ie):{messageKey:Ie,defaultMessage:C[Ie]},S=d?d(Fe):{messageKey:Fe,defaultMessage:C[Fe]},A=d?d(be):{messageKey:be,defaultMessage:C[be]},D=d?d(Se):{messageKey:Se,defaultMessage:C[Se]},y=d?d($):{messageKey:$,defaultMessage:C[$]},F=d?d(X):{messageKey:X,defaultMessage:C[X]},M=d?d(j):{messageKey:j,defaultMessage:C[j]},_=`${v.format(g.toLanguageString(y.messageKey,y.defaultMessage),[a])} ${g.toLanguageString(F.messageKey,F.defaultMessage)} ${v.format(g.toLanguageString(M.messageKey,M.defaultMessage),[h])}`;let P,q,W,R;this.props.previousNext&&(P=this.renderButton(1,"k-pager-nav k-pager-first"+(f===1?" k-disabled":""),g.toLanguageString(I.messageKey,I.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?N.caretAltToRightIcon:N.caretAltToLeftIcon,f===1?!0:void 0),q=this.renderButton(f-1,"k-pager-nav"+(f===1?" k-disabled":""),g.toLanguageString(x.messageKey,x.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?N.caretAltRightIcon:N.caretAltLeftIcon,f===1?!0:void 0),W=this.renderButton(f+1,"k-pager-nav"+(f>=this.totalPages?" k-disabled":""),g.toLanguageString(E.messageKey,E.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?N.caretAltLeftIcon:N.caretAltRightIcon,f>=this.totalPages?!0:void 0),R=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(f>=this.totalPages?" k-disabled":""),g.toLanguageString(S.messageKey,S.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?N.caretAltToLeftIcon:N.caretAltToRightIcon,f>=this.totalPages?!0:void 0));const k=o&&i.createElement(Er,{pageChange:this.onPageChange,pageSize:a,pageSizes:o,value:h,messagesMap:d,size:l}),U=this.props.info&&i.createElement("span",{className:"k-pager-info"},v.format(g.toLanguageString(A.messageKey,A.defaultMessage),[Math.min(n+1,s),Math.min(n+a,s),s]));return i.createElement("div",{className:m.classNames("k-pager",{[`k-pager-${m.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":g.toLanguageString(D.messageKey,D.defaultMessage),"aria-label":_,ref:Q=>this._element=Q},i.createElement("div",{className:m.classNames("k-pager-numbers-wrap")},P,q,b,W,R),u?t&&k:k,u?r&&U:U)}renderButton(t,r,n,a,s,o){return i.createElement(K.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:r,icon:a,svgIcon:s,title:n,role:"button","aria-disabled":o,onClick:l=>{l.preventDefault(),this.changePage(t,l)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}}oe.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},oe.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"},L.registerForIntl(oe),L.registerForLocalization(oe);const le=e=>class extends i.Component{constructor(){super(...arguments),this.filterChange=n=>{this.props.onFilterChange&&this.props.onFilterChange(n)},this.inputChange=n=>{const a=n.target.value,{filter:s=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?s.map(d=>d.field===o?{...l,value:a}:d):[...s,{...e.emptyFilter,value:a,field:o}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.operatorChange=n=>{const{operator:a}=n.target.value,{filter:s=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?s.map(d=>d.field===o?{...l,operator:a}:d):[...s,{...e.emptyFilter,field:o,operator:a}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.clearButtonClick=n=>{const{filter:a=[],field:s=""}=this.props;this.filterChange({filter:a.filter(o=>o.field!==s),field:s,syntheticEvent:n})},this.findCellFilter=()=>{const{filter:n=[],field:a}=this.props;return n.find(s=>s.field===a)}}render(){const{clearButtonTitle:n="",operators:a=[]}=this.props,s=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:o,value:l}=s,u={ariaLabel:"filter",value:a.find(d=>d.operator===o)||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:N.filterIcon,data:a,textField:"text",popupSettings:{width:""},components:this.props.components};return i.createElement("div",{className:"k-filtercell"},i.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}),i.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(u,this.props)," ",i.createElement(K.Button,{className:m.classNames({["k-clear-button-visible"]:!(l===null||l==="")||o}),title:n,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:N.filterClearIcon,disabled:!(!(l===null||l==="")||o)}))))}},Cr="eq",En={emptyFilter:{operator:Cr,value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,a=r.find(s=>s.field===n);return i.createElement(H.DropDownList,{...e,value:e.data.find(s=>s.operator===(a?a.value:"")),onChange:s=>{if(!t.onFilterChange)return;const o=s.target.value.operator;if(o===""){a&&t.onFilterChange.call(void 0,{filter:r.filter(u=>u.field!==a.field),field:n,syntheticEvent:s.syntheticEvent});return}let l=a?r.map(u=>u.field===n?{...a,value:o}:u):[...r,{value:o,field:n,operator:Cr}];t.onFilterChange.call(void 0,{filter:l,field:n,syntheticEvent:s.syntheticEvent})}})}};class vn extends le(En){}const Cn={inputComponent:e=>i.createElement(je.DatePicker,{...e}),operatorComponent:e=>i.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class bn extends le(Cn){}const xn={inputComponent:e=>i.createElement(Y.NumericTextBox,{...e}),operatorComponent:e=>i.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class yn extends le(xn){}const In={inputComponent:e=>i.createElement(Y.Input,{...e}),operatorComponent:e=>i.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class Fn extends le(In){}const br={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},Z="data-keyboardnavlevel",pt="data-keyboardnavscope",gt="data-keyboardnavheader",ft="data-keyboardnavbody",ce="data-keyboardnavid",Ln="data-keyboardnavzone",xr="_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]"],Be=[...yr,"[tabindex]"],Ir=[...yr,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Sn={[pt]:!0},Fr={[gt]:!0},Dn={[ft]:!0},mt=i.createContext(void 0);mt.displayName="KendoReactTableKeyboardNavigationContext";const Lr=(e,t)=>{const r=i.useContext(mt);return!r||!e||t===!1?{}:{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[Z]:r.level,[ce]:e}},Te=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:a,style:s,columnId:o,onKeyDown:l,navigatable:u,ariaColumnIndex:d,ariaLabel:h,role:g,ariaSelected:v}=e,f=Lr(o,u);return i.createElement("th",{"aria-sort":t,"aria-label":h,"aria-colindex":d,"aria-selected":v,colSpan:r,rowSpan:n,className:a,style:s,onKeyDown:l,role:g,...f},e.children)};Te.displayName="KendoReactHeaderThElement";const Sr=(e,t,r="cell")=>`${t}_${e}_${r}`,Mn=e=>{if(e)return parseInt(e.getAttribute(Z)||"",10)},Et=e=>{if(!e)return;const t=e.getAttribute(ce);return t||void 0},vt=e=>e?!!e.getAttribute(ce):!1,Nn=(e,t={level:0})=>e.querySelector(`[${Z}='${t.level}']`),On=e=>e.parentElement&&e.parentElement.closest(`[${Z}]`),An=(e,t)=>e.querySelector(`[${ce}='${t}']`),wn=e=>e.parentElement&&e.parentElement.closest(`[${pt}]`),Dr=e=>e.querySelector(`[${gt}]`),Mr=e=>e.querySelector(`[${ft}]`),Kn=(e,t={focusable:!1})=>{let r=t.focusable?Be:Ir;return Array.from(e.querySelectorAll(r.join(",")))},kn=(e,t={level:0})=>{if(!e)return[];let r=Be.map(n=>n+`[${Z}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(r))},Rn=(e={level:0})=>{let t=Be.map(r=>r+`[${Z}='${e.level}']`).join(",");return r=>r.matches(t)},Bn=e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:a}=e;n.current&&t&&t.focus&&(r.preventDefault(),t.focus(),vt(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=Et(t)),a&&vt(a)&&a.setAttribute("tabIndex","-1"))},Tn=e=>e.current?e.current.idPrefix:"",Nr=(e,t,r,n,a)=>{if(!r)return[];let s=e+(a?-1:1);for(;s>=0&&s<n.length;){const o=n[s][t];if(o!==r)return[o,[s,t]];s=s+(a?-1:1)}return[]},Or=(e,t,r,n,a)=>{if(!r)return[];let s=t+(a?-1:1);for(;s>=0&&s<n[e].length;){const o=n[e][s];if(o!==r)return[o,[e,s]];s=s+(a?-1:1)}return[]},Ct=(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]}},zn=e=>e.current?e.current.navigationMatrix.length:0,Ar=e=>e?`${e}${xr}`:"",O={generateNavigatableId:Sr,getNavigatableId:Et,getNavigatableLevel:Mn,getNavigatableElement:Nn,getClosestNavigatableElement:On,getActiveElement:An,getClosestScope:wn,getHeaderElement:Dr,getBodyElement:Mr,getFocusableElements:Kn,getNavigatableElements:kn,filterNavigatableElements:Rn,focusElement:Bn,getIdPrefix:Tn,isNavigatable:vt,findNextIdByRowIndex:Nr,findNextIdByCellIndex:Or,findId:Ct,getNextNavigationIndex:zn,getFilterColumnId:Ar},wr="k-table-row k-filter-row",_n=(e,t,r)=>{let n=`${r?"k-grid-header-sticky":""}`;return e.some(a=>a.field===t)&&(n+=" k-sorted"),n},Pn=function(e){const{columns:t,filter:r,filterChange:n,sort:a=[],ariaRowIndex:s}=e,o=L.useLocalization();return i.createElement("tr",{className:wr,"aria-rowindex":s,role:"row"},t.map((l,u)=>{const d=l.locked!==void 0?{left:l.left,right:l.right,borderRightWidth:l.rightBorder?"1px":""}:{},h=l.filterCell||l.filter;return i.createElement(Te,{columnId:Ar(l.id),navigatable:l.navigatable,style:d,key:u,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:h?o.toLanguageString(dt,C[dt]):void 0,className:m.classNames("k-table-th k-header",_n(a,l.field,l.locked))},h&&i.createElement(h,{field:l.field,filter:r,onFilterChange:n}))}))};function Kr(e,t){const r=e[t].depth;let n=null;for(let a=t+1;a<e.length;a++)if(e[a].depth===r){n=e[a];break}return n}const bt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((r,n)=>bt(n)+r,0)),t};function qn(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 a=1;return e.forEach((s,o)=>{t[s.depth]=t[s.depth]||[];let l=!1;t[s.depth].length===0&&(a<=1?a=1+(s.children.length>0?0:r-s.depth):(a--,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(o),s.ariaColumnIndex=n[s.depth]?n[s.depth]+1:1;for(let u=s.depth;u<s.depth+s.rowSpan;u++)n[u]=(n[u]||0)+s.colSpan}),kr(t,e),Rr(t,e),t}function kr(e,t,r){let n=new Array(e.length).fill(0),a=0;t.forEach(s=>{if(s.locked&&(!s.left||r))if(s.left=n[s.depth],a=bt(s),s.children.length===0)for(let o=s.depth;o<n.length;o++)n[o]+=a;else n[s.depth]+=a})}function Rr(e,t,r){let n=0,a=new Array(e.length).fill(0);for(let s=t.length-1;s>=0;s--){const o=t[s];if(o.locked&&(!o.right||r)){if(o.right=a[o.depth],n=bt(o),o.children.length===0)for(let u=o.depth;u<a.length;u++)a[u]+=n;else a[o.depth]+=n;const l=Kr(t,s);o.rightBorder=!(l&&l.locked)}}}function Br(e,t,r=0){let n=[];if(!e||!e.length)return[];e.forEach(s=>{const o=Br(s.children||[],t,r+1);n.push(Object.assign({},{depth:r},br,s,{id:s.id?s.id:Sr(`${t.prevId++}`,t.idPrefix,"column"),declarationIndex:n.length,children:o,rowSpan:0,colSpan:0,isAccessible:!0}))});const a=(s,o)=>s.orderIndex===o.orderIndex?s.declarationIndex-o.declarationIndex:(s.orderIndex||0)-(o.orderIndex||0);if(n.sort(a),r===0){let s=[];const o=(l,u)=>l.forEach(d=>{d.parentIndex=u,o(d.children,s.push(d)-1)});return o(n,-1),s}return n}function Tr(e){return!!(e&&getComputedStyle(e).direction==="rtl")}function xt(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=o=>{const l=o.getBoundingClientRect();return r.x>l.left&&r.x<l.left+l.width&&r.y>l.top&&r.y<l.top+l.height};n=Array.from(t.children).find(s)||null}const a=t.children;for(let s=0;s<a.length;s++)if(a[s]===n)return s;return-1}class Gn extends i.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:t}=this.props;t&&t.resizable&&t.setIsRtl(Tr(this.element))}render(){return i.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:t=>this.element=t,...Fr},this.props.headerRow,this.props.filterRow)}}function zr(e){const t=e.onClick?{onClick:e.onClick}:{},r=i.createElement("span",{className:"k-link",...t},i.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const _r=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);class Pr extends i.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 i.createElement(m.Draggable,{onPress:t=>{t.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},i.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}}class Hn extends i.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 i.createElement(m.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},i.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"}},Wn={none:"none",asc:"ascending",desc:"descending"};class qr extends i.Component{constructor(){super(...arguments),this.cellClick=(t,r)=>{if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:n,mode:a}=_r(this.props.sortable||!1,r.sortable||!1),s=(this.props.sort||[]).filter(u=>u.field===r.field)[0],o=$n[n][s&&s.dir||""],l=a==="single"?[]:(this.props.sort||[]).filter(u=>u.field!==r.field);o!==""&&r.field&&l.push({field:r.field,dir:o}),this.props.sortChange(t,l,r.field)},this.cellKeyDown=(t,r)=>{t.isDefaultPrevented()||t.keyCode===m.Keys.enter&&this.cellClick(t,r)},this.cells=t=>t.map((r,n)=>{const a=this.props.columns[r],{columnResize:s}=this.props,o=s&&s.resizable&&a.resizable,l=this.props.sortable&&a.sortable,u=this.props.sort?this.props.sort.findIndex(E=>E.field===a.field):-1,d=u>=0&&this.props.sort[u].dir||"none",h={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:a.field},g={field:a.field,onClick:l&&(E=>this.cellClick(E,a))||void 0,selectionChange:this.props.selectionChange,title:a.title,selectionValue:a.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(u),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:h},v=a.columnMenu||this.props.columnMenu,f=m.classNames("k-table-th",{"k-first":a.kFirst,"k-filterable":!!v,"k-header":!0,"k-grid-header-sticky":a.locked,"k-sorted":this.props.sort&&this.props.sort.some(E=>E.field===a.field)},a.headerClassName),b=a.locked!==void 0?{left:a.left,right:a.right,borderRightWidth:a.rightBorder?"1px":""}:{},I=L.provideLocalizationService(this).toLanguageString(ut,C[ut]);let x=a.isAccessible?{ariaSort:l?Wn[d]:void 0,role:"columnheader",ariaColumnIndex:a.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?I:""}:{role:"presentation"};return i.createElement(Te,{key:n,colSpan:a.colSpan,rowSpan:a.rowSpan,className:f,style:b,columnId:a.id,navigatable:a.navigatable,onKeyDown:l&&(E=>this.cellKeyDown(E,a))||void 0,...x},a.headerCell&&i.createElement(a.headerCell,{...g}),!a.headerCell&&i.createElement("span",{className:"k-cell-inner"},i.createElement(zr,{...g}),v&&i.createElement(v,{...h})),s&&o&&i.createElement(Pr,{key:"ColumnResizer",resize:(E,S,A)=>s.dragHandler(E,a,S,A)}))})}sortIcon(t){if(!this.props.sort||t<0)return null;const r=this.props.sort[t].dir;return r?[i.createElement(m.IconWrap,{key:1,name:`sort-${r}-small`,icon:r==="asc"?N.sortAscSmallIcon:N.sortDescSmallIcon}),this.props.sort.length>1&&i.createElement("span",{key:2,className:"k-sort-order"},t+1)]:null}render(){return this.props.columnsMap.map((t,r)=>this.props.pressHandler&&i.createElement(Hn,{key:r,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:r+1},this.cells(t))||i.createElement("tr",{className:"k-table-row","aria-rowindex":r+1,role:"row"},this.cells(t)))}}L.registerForLocalization(qr);function Vn(e){const t=[i.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})}),i.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,t,e):t)}function Yn(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:a}=e,s=r.map(()=>1),o=r.map(()=>!1);if(!t)return{colSpans:s,hiddenColumns:o};const l=r.map(E=>parseFloat((E.width||"").toString())||10);let u=0;for(let E=0;E<r.length;E++){if(r[E].locked)continue;const S=E<l.length-1?l[E+1]:0;if(u+l[E]+S<a)o[E]=!0,u+=l[E];else break}const d=l.reduce((E,S)=>E+S,0);u=0;for(let E=r.length-1;E>=0;E--)if(!r[E].locked)if(u+2*l[E]<d-n-a)o[E]=!0,u+=l[E];else break;const h=[...o],g=E=>E;let v=h.lastIndexOf(!1),f=h.some(g),b=h.every(g),I,x;for(;f&&h.length&&(v!==-1||b);){for(v<h.length-1&&(I=b?h.length:h.length-v-1,x=h.length-I,x===0&&(x=I-1),o[x]=!1,s[x]=I,h.splice(v+1,I));h.length&&!h[h.length-1];)h.pop();v=h.lastIndexOf(!1),f=h.some(g),b=h.every(g)}return{colSpans:s,hiddenColumns:o}}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,a){const s=t.originalEvent;a||(s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation());const o=n.parentElement;if(!o||!o.parentElement)return;const l=o.clientWidth;let u;if(this.isRtl?(u=n.getBoundingClientRect().right-n.offsetWidth/2-t.clientX,u+=l):u=l+t.clientX-n.getBoundingClientRect().left-n.offsetWidth/2,!a&&Math.abs(u-l)<1)return;this.setWidths(r,Math.floor(u)/l);const d=this.columns.filter(h=>!h.children.length).indexOf(r);this.onResize(d,l,u,s,a)}setWidths(t,r){const n=this.columns.indexOf(t),a=[];let s=t.children.length;for(let o=n+1;s>0&&o<this.columns.length;o++,s--){const l=this.columns[o];l.children.length?s+=l.children.length:a.push(l)}a.length===0&&a.push(t),a.forEach(o=>{let l=o.width?parseFloat(o.width.toString())*r:0;const u=o.minResizableWidth===void 0?10:o.minResizableWidth;l<u&&(l=u),o.width=Math.floor(l)}),this.updateColElements(a)}updateColElements(t){const r=this.columns.filter(a=>!a.children.length);let n=1e-10;for(let a=0;a<t.length;a++){const s=r.indexOf(t[a]),o=parseFloat((t[a].width||0).toString());n+=o-Math.floor(o);const l=Math.floor(o)+Math.floor(n);n-=Math.floor(n),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[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 Un{constructor(t,r,n){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=a=>{this.groupPanelDivElement=a},this.refDropElementClue=a=>{this.dropElementClue=a},this.refDragElementClue=a=>{this.dragElementClue=a},this.pressHandler=(a,s)=>{const o=this.getColumnIndex(a,s);if(this.startGroup=this.getGroupIndex(a),o>=0){const l=this.columns[o];(l.reorderable&&this.reorderable||l.groupable&&this.groupable)&&(this.startColumn=o)}},this.dragHandler=(a,s)=>{if(a.isTouch||a.originalEvent.preventDefault(),a.originalEvent.stopPropagation(),this.startColumn===-1&&this.startGroup===-1)return;this.currentColumn=this.getColumnIndex(a,s),this.currentGroup=this.getGroupIndex(a),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const o=!this.isValid();o&&(this.currentColumn=-1,this.currentGroup=-1);const l=this.currentColumn>=0?s.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(a,s,l,o),this.updateDropElementClue(a,s,l,o)},this.releaseHandler=a=>{const s=this.startColumn,o=this.currentColumn,l=this.startGroup,u=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const d=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,d&&(s>=0&&o>=0?this.columnReorder(s,o,a.originalEvent):l>=0&&u>=0?this.groupReorder(l,u,a.originalEvent):s>=0&&u>=0&&this.columnToGroup(s,u,a.originalEvent))},this.columnReorder=t,this.groupReorder=r,this.columnToGroup=n}getColumnIndex(t,r){if(!r||r.parentElement===this.groupPanelDivElement)return-1;const n=xt(t,r);if(n===-1)return-1;for(let a=0;a<r.parentNode.children.length;a++)if(r.parentNode.children[a]===r)return this.columns.findIndex(s=>s.index===n&&s.depth===a);return-1}getGroupIndex(t){return xt(t,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:this.startColumn===-1?!1:this.currentGroup>=0?this.columns[this.startColumn].groupable===!0&&this.groupable===!0:this.reorderable===!0&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&this.columns[this.startColumn].reorderable===!0&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex}updateDragElementClue(t,r,n,a){if(!this.dragElementClue)return;const 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:a||!n?"k-i-cancel":"k-i-plus"})}updateDropElementClue(t,r,n,a){if(!this.dropElementClue)return;if(a||!n){this.dropElementClue.setState({visible:!1});return}const s=n.getBoundingClientRect();let o=s.left+t.pageX-t.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&this.startGroup!==-1)&&(o+=s.width);const l=s.top+t.pageY-t.clientY;this.dropElementClue.setState({visible:!0,top:l,left:o,height:this.currentColumn>=0?r.clientHeight:s.height})}}class Xn extends i.PureComponent{constructor(t){super(t),this.elementRef=i.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=i.createRef()}get element(){return this.elementRef.current}render(){const t=this.hiddenElementRef.current,{status:r}=this.state,n=this.state.visible&&m.canUseDOM&&Ye.createPortal(i.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"}},i.createElement(m.IconWrap,{className:"k-drag-status",name:r,icon:r==="k-i-cancel"?N.cancelIcon:N.plusIcon}),this.state.innerText),t&&t.ownerDocument?t.ownerDocument.body:document.body);return i.createElement(i.Fragment,null,n,i.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class Zn extends i.PureComponent{constructor(t){super(t),this.state={height:0,visible:!1,left:0,top:0},this.hiddenElementRef=i.createRef()}render(){const t=this.hiddenElementRef.current,r=this.state.visible&&m.canUseDOM&&Ye.createPortal(i.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 i.createElement(i.Fragment,null,r,i.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class yt extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=L.provideLocalizationService(this),{ariaLabel:r=t.toLanguageString(at,C[at])}=this.props;return i.createElement(Y.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":r})}}yt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string},L.registerForLocalization(yt);class It extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=L.provideLocalizationService(this),{min:r,max:n,filter:a,ariaLabel:s=t.toLanguageString(nt,C[nt])}=this.props;return i.createElement(Y.NumericTextBox,{value:typeof a.value=="number"?a.value:null,onChange:this.onChange,ariaLabel:s,"aria-valuemin":r,"aria-valuemax":n,min:r,max:n})}}It.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired},L.registerForLocalization(It);class Gr extends i.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 i.createElement(je.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 ze extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value.value}})}}render(){const t=L.provideLocalizationService(this),{filter:r,data:n=[],defaultItem:a,ariaLabel:s=t.toLanguageString(rt,C[rt])}=this.props,o=n.map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return i.createElement(H.DropDownList,{value:o.find(l=>l.value===r.value)||null,onChange:this.onChange,defaultItem:a,data:o,textField:"text",ariaLabel:s})}}ze.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},L.registerForLocalization(ze);class Hr extends i.Component{constructor(){super(...arguments),this.data=[{text:Vt,value:!0},{text:Yt,value:!1}]}render(){return i.createElement(ze,{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 Jn=[{text:_t,operator:"contains"},{text:Pt,operator:"doesnotcontain"},{text:re,operator:"eq"},{text:ne,operator:"neq"},{text:zt,operator:"startswith"},{text:qt,operator:"endswith"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"},{text:Bt,operator:"isempty"},{text:Tt,operator:"isnotempty"}],Qn=[{text:re,operator:"eq"},{text:ne,operator:"neq"},{text:Gt,operator:"gte"},{text:Ht,operator:"gt"},{text:$t,operator:"lte"},{text:Wt,operator:"lt"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"}],ea=[{text:re,operator:"eq"},{text:ne,operator:"neq"},{text:jt,operator:"gte"},{text:Ut,operator:"gt"},{text:Xt,operator:"lt"},{text:Zt,operator:"lte"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"}],ta=[{text:re,operator:"eq"},{text:ne,operator:"neq"}];class ra{static get text(){return[...Jn]}static get numeric(){return[...Qn]}static get date(){return[...ea]}static get boolean(){return[...ta]}}const Ft=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",_e=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",$r=e=>{e.value===void 0&&!_e(e.operator)&&(e.value=Ft(e.operator)?"":null)};class Pe extends i.Component{constructor(){super(...arguments),this.onFieldChange=t=>{const r=t.value.name,n=this.props.fields.find(l=>l.name===r),a=this.props.filter,s=n&&!n.operators.some(l=>l.operator===a.operator)?n.operators[0].operator:a.operator,o={field:r,operator:s};$r(o),this.triggerOnFilterChange(a,o,t)},this.onOperatorChange=t=>{const r=t.value.operator,n=this.props.filter;let a;if(_e(r)){let{value:s,...o}=n;a={...o,operator:r}}else a={...n,operator:r};$r(a),this.triggerOnFilterChange(n,a,t)},this.onInputChange=t=>{const r=this.props.filter;let n=t.nextFilter;if(_e(n.operator)){const a=this.props.fields.find(s=>s.name===n.field);n={...n,operator:a&&a.operators[0].operator||n.operator}}this.triggerOnFilterChange(r,n,t)},this.triggerOnFilterChange=(t,r,n)=>{const a={prevFilter:t,nextFilter:r,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,target:this};this.props.onChange.call(void 0,a)},this.onFilterRemove=t=>{const r={filter:this.props.filter,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,target:this};this.props.onRemove.call(void 0,r)}}render(){const t=L.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:a=t.toLanguageString(Qe,C[Qe])}=this.props,s=r.find(l=>l.name===n.field),o=(s&&s.operators||[]).map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return i.createElement("div",{className:"k-filter-toolbar"},i.createElement(K.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:a},i.createElement(K.ToolbarItem,{className:"k-filter-field"},i.createElement(H.DropDownList,{className:"k-filter-dropdown",data:r,textField:"label",value:r.find(l=>l.name===n.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(et,C[et])})),i.createElement(K.ToolbarItem,{className:"k-filter-operator"},i.createElement(H.DropDownList,{data:o,textField:"text",value:o.find(l=>l.operator===n.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(tt,C[tt])})),i.createElement(K.ToolbarItem,{className:"k-filter-value"},s&&i.createElement(s.filter,{filter:n,onFilterChange:this.onInputChange,min:s.min,max:s.max})),i.createElement(K.Button,{className:"k-toolbar-button",title:t.toLanguageString(ie,C[ie]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}}Pe.propTypes={filter:p.object.isRequired,fields:p.array.isRequired,ariaLabel:p.string,onChange:p.func.isRequired,onRemove:p.func.isRequired},L.registerForLocalization(Pe);const Wr=class extends i.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=Ft(n.operator)?"":null;const a={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,a)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map(a=>a===e?t:a);return{...r,filters:n}},this.onChange=e=>{const r={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,r)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter(a=>a!==e.filter),n={nextFilter:{...t,filters:r},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const e=L.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(Je,C[Je])}=this.props;return i.createElement(i.Fragment,null,i.createElement("div",{className:"k-filter-toolbar"},i.createElement(K.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},i.createElement(K.ButtonGroup,{className:"k-toolbar-button-group"},i.createElement(K.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:r.logic==="and",type:"button"},e.toLanguageString(Xe,C[Xe])),i.createElement(K.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:r.logic==="or",type:"button"},e.toLanguageString(Ze,C[Ze]))),i.createElement(K.Button,{className:"k-toolbar-button",title:e.toLanguageString(ae,C[ae]),icon:"filter-add-expression",svgIcon:N.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(ae,C[ae])),i.createElement(K.Button,{className:"k-toolbar-button",title:e.toLanguageString(se,C[se]),icon:"filter-add-group",svgIcon:N.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(se,C[se])),i.createElement(K.Button,{className:"k-toolbar-button",title:e.toLanguageString(ie,C[ie]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),r.filters.length>0&&i.createElement("ul",{role:"group",className:"k-filter-lines"},r.filters.map((a,s)=>i.createElement("li",{role:"treeitem",key:s,className:"k-filter-item"},te.isCompositeFilterDescriptor(a)?i.createElement(Wr,{filter:a,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):i.createElement(Pe,{filter:a,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};let qe=Wr;qe.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},L.registerForLocalization(qe);class Vr extends i.Component{constructor(t){super(t),this.onFilterChange=r=>{const n={filter:r.nextFilter,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onGroupRemove=r=>{const n={filter:{...this.props.value,filters:[]},syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},m.validatePackage(ht)}render(){return i.createElement("div",{className:m.classNames("k-filter",this.props.className),style:this.props.style},i.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},i.createElement("li",{role:"treeitem",className:"k-filter-group-main"},i.createElement(qe,{filter:this.props.value,fields:this.props.fields,ariaLabel:this.props.ariaLabelGroup,ariaLabelExpression:this.props.ariaLabelExpression,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.props.defaultGroupFilter||{logic:"and",filters:[]}}))))}}Vr.propTypes={className: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,a)=>({...n,[a.name]:1}),{})).length!==r.length)return new Error(`Property '${t}' needs to contain objects with unique 'name' field.`)}else return new Error(`Property '${t}' needs to be Array<FieldSettings>.`);return null},ariaLabelGroup:p.string,ariaLabelExpression:p.string,value:p.object.isRequired,onChange:p.func.isRequired};const Ge=e=>i.createElement("div",{onClick:e.onClick,className:m.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&i.createElement(m.IconWrap,{name:e.iconClass?m.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),na=[{text:tr,operator:"contains"},{text:rr,operator:"doesnotcontain"},{text:we,operator:"eq"},{text:Ke,operator:"neq"},{text:er,operator:"startswith"},{text:nr,operator:"endswith"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"},{text:Jt,operator:"isempty"},{text:Qt,operator:"isnotempty"}],aa=[{text:we,operator:"eq"},{text:Ke,operator:"neq"},{text:ar,operator:"gte"},{text:sr,operator:"gt"},{text:ir,operator:"lte"},{text:or,operator:"lt"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"}],sa=[{text:we,operator:"eq"},{text:Ke,operator:"neq"},{text:cr,operator:"gte"},{text:ur,operator:"gt"},{text:dr,operator:"lt"},{text:hr,operator:"lte"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"}],ia=[{text:lr,operator:""}];class ue{static get text(){return[...na]}static get numeric(){return[...aa]}static get date(){return[...sa]}static get boolean(){return[...ia]}}const Lt=e=>{const{filter:t,onFilterChange:r,operators:n,initialFilter:a}=e,s=i.useCallback(d=>{const h=t,g=d.target.value.operator,v=h?{...h,operator:g}:{value:a.value,operator:g};r.call(void 0,d.syntheticEvent,v,h)},[t,r,a]),o=i.useCallback(d=>{const h=d.target.value,g=t,v=g?{...g,value:h}:{value:h,operator:n[0].operator};r.call(void 0,d,v,g)},[t,r,n]),l=L.useLocalization(),u=n.map(d=>({...d,text:l.toLanguageString(d.text,C[d.text])}));return i.createElement(i.Fragment,null,i.createElement(H.DropDownList,{value:u.find(d=>d.operator===t.operator)||null,onChange:s,data:u,textField:"text"}),i.createElement(e.input,{value:t.value,onChange:o}))},Yr=e=>{const{filter:t,onFilterChange:r}=e,n=i.useCallback(s=>r.call(void 0,s.syntheticEvent,{...t,value:s.value},t),[t,r]),a=ue.boolean[0].text;return i.createElement(Y.Checkbox,{onChange:n,checked:t.value,label:L.useLocalization().toLanguageString(a,C[a]),labelPlacement:"after"})},St=e=>{const t=i.useCallback(a=>i.createElement(Y.Input,{...a,value:a.value||""}),[]),r=i.useRef(ue.text),n=i.useRef({operator:"",value:""});return i.createElement(Lt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Dt=e=>{const t=i.useCallback(a=>i.createElement(Y.NumericTextBox,{...a,value:a.value||null}),[]),r=i.useRef(ue.numeric),n=i.useRef({operator:"",value:null});return i.createElement(Lt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Mt=e=>{const t=i.useCallback(a=>i.createElement(je.DatePicker,{...a,value:a.value||null}),[]),r=i.useRef(ue.date),n=i.useRef({operator:"",value:null});return i.createElement(Lt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},oa=[{text:pr,logic:"and"},{text:gr,logic:"or"}],He=e=>{const t=L.useLocalization(),r=(e.data||oa).map(n=>({...n,text:t.toLanguageString(n.text,C[n.text])}));return i.createElement(H.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find(n=>n.logic===e.value)})},jr=e=>i.createElement("div",{className:"k-columnmenu-item-content"},i.createElement(un.Reveal,{style:{position:"relative",display:"block"}},e.show&&i.createElement("div",{className:"kendo-grid-filter-menu-container"},i.createElement("form",{className:"k-filter-menu",onSubmit:e.onSubmit,onReset:e.onReset},i.createElement("div",{className:"k-filter-menu-container"},e.children,i.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),Ur=e=>{const t=L.useLocalization();return i.createElement(jr,{...e,actions:i.createElement(i.Fragment,null,i.createElement(K.Button,{type:"reset"},t.toLanguageString(st,C[st])),i.createElement(K.Button,{themeColor:"primary"},t.toLanguageString(it,C[it])))})},$e=e=>{m.validatePackage(ht);const t=i.useRef([]),{field:r,filter:n,sort:a=t.current,onSortChange:s,onFilterChange:o,initialFilter:l,sortAsc:u=!1,sortDesc:d=!1,filterContent:h=[],expandFilters:g=!1}=e,[v,f]=i.useState(!1),[b,I]=i.useState(g),[x,E]=i.useState(r&&l?l(r):null),S=i.useRef(null),A=i.useRef(null),D=i.useRef(null),y=i.useRef(!1),F=i.useCallback(()=>(n||[]).find(w=>w.filters.every(B=>!te.isCompositeFilterDescriptor(B)&&B.field===r)),[n,r]),M=i.useCallback(()=>{f(!1)},[]),_=i.useCallback(()=>{if(y.current){y.current=!1;return}clearTimeout(D.current),D.current=window.setTimeout(()=>{M()})},[M]),P=i.useCallback(()=>clearTimeout(D.current),[]),q=i.useCallback(w=>{y.current=v&&w.currentTarget===S.current},[v]),W=i.useCallback(()=>{f(!v),r&&l&&(I(v?!1:g),E(v?x:F()||l(r)))},[F,r,v,x,l,g]);i.useEffect(()=>{v&&A.current&&A.current.focus()},[v]);const R=i.useCallback(()=>I(!b),[b]),k=i.useCallback((w,B)=>{const T=[...a],z=T.findIndex(Xa=>Xa.field===r),Ce={field:r,dir:B};z>=0?T[z].dir!==Ce.dir?T.splice(z,1,Ce):T.splice(z,1):T.push(Ce),M(),s&&s.call(void 0,w,T,r)},[a,r,s,M]),U=i.useCallback((w,B,T)=>{const z={...x,filters:[...x.filters]},Ce=z.filters.indexOf(T);z.filters.splice(Ce,1,B),E(z)},[x]),Q=i.useCallback(w=>{w.preventDefault();const B=(n||[]).slice(),T=F(),z=T?B.indexOf(T):-1;z>=0?B.splice(z,1,x):B.push(x),M(),o&&o.call(void 0,w,B,r)},[n,x,r,o,M,F]),We=i.useCallback(w=>{const B=(n||[]).slice(),T=F(),z=T?B.indexOf(T):-1;z>=0&&B.splice(z,1),l&&E(l(r)),M(),o&&o.call(void 0,w,B,r)},[n,r,o,l,M,F]),wt=i.useCallback(w=>k(w,"asc"),[k]),Ve=i.useCallback(w=>k(w,"desc"),[k]),Kt=i.useCallback(w=>x&&E({...x,logic:w.value.logic}),[x]),fe=a.find(w=>w.field===r)||{dir:""},[me,Ee,ve]=h,kt=L.useLocalization(),Va=u||d?i.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},u&&i.createElement(Ge,{title:kt.toLanguageString(lt,C[lt]),iconClass:"k-i-sort-asc-small",svgIcon:N.sortAscSmallIcon,selected:fe.dir==="asc",onClick:wt}),d&&i.createElement(Ge,{title:kt.toLanguageString(ct,C[ct]),iconClass:"k-i-sort-desc-small",svgIcon:N.sortDescSmallIcon,selected:fe.dir==="desc",onClick:Ve})):null,Ya=x&&h.length>0?i.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},i.createElement(Ge,{iconClass:"k-i-filter",svgIcon:N.filterIcon,title:kt.toLanguageString(ot,C[ot]),onClick:R}),i.createElement(Ur,{show:b,onSubmit:Q,onReset:We},me&&i.createElement(me,{filter:x.filters[0],onFilterChange:U}),Ee&&i.createElement(Ee,{value:x.logic,onChange:Kt}),ve&&i.createElement(ve,{filter:x.filters[1],onFilterChange:U}))):null,on=[Va,Ya],ja=i.createElement("span",{ref:S,onClick:W,onMouseDown:q,className:"k-grid-header-menu k-grid-column-menu"+(F()?" k-active":""),key:"button"},i.createElement(m.IconWrap,{name:"filter",icon:N.filterIcon})),Ua=i.createElement(cn.Popup,{anchor:S.current,show:v,key:"popup",popupClass:"k-column-menu k-column-menu-popup"},i.createElement("div",{ref:A,tabIndex:0,onBlur:_,onFocus:P,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,on,{closeMenu:M,field:r}):on)),ln=[ja,Ua];return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,ln):ln)},la=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"and",filters:[{operator:"contains",field:o,value:""},{operator:"contains",field:o,value:""}]}),[]),a=!!e.field,s=a?[St,He,St]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})},ca=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),a=!!e.field,s=a?[Dt,He,Dt]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})},ua=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),a=!!e.field,s=a?[Mt,He,Mt]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})},da=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"and",filters:[{operator:"eq",field:o,value:!1}]}),[]),a=!!e.field,s=a?[Yr]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})};function de(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=de(e,r,te.orderBy(de(e,r),t)),a=de(n,r).map(s=>Xr(s,t,r));return{...n,[r]:a}}return e}function ha(e,t,r){let n=te.orderBy(e,t);return n=n.map(a=>Xr(a,t,r)),n}function Zr(e,t,r){let n=de(e,r);if(n&&n.length){n=n.map(l=>Zr(l,t,r));const s={filters:[{filters:t,logic:"and"},{operator:l=>!!(l[r]||[]).length}],logic:"or"},o=te.filterBy(n,s);return de(e,r,o)}return e}function pa(e,t,r){let n={[r]:[...e]};return n=Zr(n,t,r),n[r]||[]}function ga(e,t,r){let n=[];const a=[];for(let s=e.length-1;s>=0;s--){const o=e[s];n.push({root:o,data:t(o),level:[s],levelCount:e.length})}for(;n.length>0;){let s=n.pop();if(a.push({dataItem:s.root,level:[...s.level],...r(s.root),levelCount:s.levelCount}),s.data.length)for(let o=s.data.length-1;o>=0;o--){const l=s.data[o];n.push({root:l,data:t(l),level:[...s.level,o],levelCount:s.data.length})}}return a}const fa=(e,t,r)=>{const n=u=>!!m.getNestedValue(t,u),a=u=>!!m.getNestedValue(r,u),s=u=>{const d=[];return n(u)&&a(u)&&d.push(...m.getNestedValue(r,u)),d},o=(u,d,h)=>{d.push({...u,level:h}),s(u).forEach(g=>o(g,d,h+1))},l=[];return e.forEach(u=>o(u,l,0)),l},ma=(e,t,r,n)=>{let a={},s=[],o;return e.forEach(l=>a[t(l)]={...l}),e.forEach(l=>{o=a[r(l)],o?(o[n]=o[n]||[],o[n].push(a[t(l)])):s.push(a[t(l)])}),s},Ea=(e,t,r)=>m.extendDataItem(e,t,r),va=(e,t,r)=>[...m.mapTree([{[t]:[...e]}],t,a=>Ca(a,r,t))[0][t]],Ca=(e,t,r)=>{const n=e[r]||[],a=n.findIndex(t);if(a!==-1){const s=[...n];return s.splice(a,1),{...e,[r]:s}}return e},ba=(e,t,r,n)=>m.mapTree(e,t,a=>r(a)?{...a,[t]:n(a[t]||[])}:a),Nt=(e,t,r)=>m.getItemPath(e,t,r),xa=(e,t,r,n)=>{const a=[...e],s=Nt(a,t,n),o=s.pop(),l=s.pop(),u=t[t.length-1];if(r){const h=Nt(a,r,n).pop();(l?l[n]:a).splice(u,1),h[n]=h[n]||[],h[n].push(o)}else(l?l[n]:a).splice(u,1),a.push(o);return a},he="groupId",Ot="items",Jr=(e,t,r)=>{e.items&&(e[he]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(n=>Jr(n,t-1,e[he])))},ya=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach(r=>Jr(r,t.length,""))},Ia=e=>{const t=[];return m.mapTree(e.data,Ot,r=>{r[he]&&t.push(r[he])}),t},Fa=e=>m.mapTree(e.data,Ot,t=>m.extendDataItem(t,Ot,{expanded:!e.collapsedIds.some(r=>r===t[he])})),La=e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:n,idPrefix:a}=e;t&&(r.current={activeId:"",level:0},n.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:a||m.guid(),navigationMatrix:[],lastHeaderIndex:-1})},Sa=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){At(e);const a=n.current.navigationMatrix[0][0],s=O.getActiveElement(t,a);a&&s&&(r.current.activeId=a,s.setAttribute("tabIndex","0"))}},Da=e=>{const{contextStateRef:t,navigationStateRef:r,document:n}=e;if(t.current&&r.current&&n){const a=m.getActiveElement(n),s=O.getNavigatableId(a);s&&s===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},Ma=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(At(e),r.current&&n.current&&t){if(!O.getActiveElement(t,r.current.activeId)){const s=n.current.navigationMatrix[0][0],o=O.getActiveElement(t,s);s&&o&&(r.current.activeId=s,o.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&o.focus())}n.current.activeElementIsFocused=!1}},Na=(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,a=O.getNavigatableId(n);if(a&&a!==r.current.activeId){const s=O.getClosestScope(n);if(!s)return;const o=O.getActiveElement(s,r.current.activeId);o&&o.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=a}},Oa=(e,t)=>{const{contextStateRef:r,navigationStateRef:n,onNavigationAction:a}=t;if(e.isDefaultPrevented()||!r.current||!n.current)return;if(e.keyCode===m.Keys.esc){const h=O.getClosestNavigatableElement(e.target);O.focusElement({elementForFocus:h,event:e,contextStateRef:r});return}const s=e.target,o=O.getNavigatableId(s),l=O.getNavigatableLevel(s),u=O.getClosestScope(s),d=n.current.navigationMatrix;if(l!==void 0&&u){if(e.keyCode===m.Keys.enter){const h=O.getNavigatableElement(s,{level:l+1});if(h){O.focusElement({elementForFocus:h,event:e,contextStateRef:r,prevElement:s});return}else{const g=O.getFocusableElements(s)[0];O.focusElement({elementForFocus:g,event:e,contextStateRef:r,prevElement:s});return}}if(e.keyCode===m.Keys.up||e.keyCode===m.Keys.down||e.keyCode===m.Keys.left||e.keyCode===m.Keys.right){const h=e.keyCode===m.Keys.up||e.keyCode===m.Keys.left,g=e.keyCode===m.Keys.up||e.keyCode===m.Keys.down;let v;if(n.current&&n.current.prevNavigationIndexes){const[f,b]=n.current.prevNavigationIndexes;d[f][b]===o?v=n.current.prevNavigationIndexes:v=Ct(d,o)}else v=Ct(d,o);if(v){const[f,b]=v,[I,x]=g?Nr(f,b,o,d,h):Or(f,b,o,d,h);if(I){const E=O.getActiveElement(u,I);O.focusElement({elementForFocus:E,event:e,contextStateRef:r,prevElement:s}),n.current.prevNavigationIndexes=x,a&&a({focusElement:E,event:e})}}}}},At=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],a=Dr(r),s=Mr(r);if(!a||!s)return;const o=Array.from(a.children),l=Array.from(s.children);[...o,...l].forEach((u,d)=>{Array.from(u.children).forEach(h=>{const g=Et(h);if(!g)return;const v=h.rowSpan||1,f=h.colSpan||1;let b;for(let I=d,x=d+v;I<x;I++){if(n[I]||(n[I]=[]),b===void 0){const E=n[I].findIndex(S=>!S);b=E>-1?E:n[I].length}n[I][b]=g||""}for(let I=b+1,x=b+f;I<x;I++)n[d][I]=g||""})}),t.current.navigationMatrix=n.filter(u=>!!u),t.current.lastHeaderIndex=o.length-1},Aa={onConstructor:La,onComponentDidMount:Sa,onGetSnapshotBeforeUpdate:Da,onComponentDidUpdate:Ma,onFocus:Na,onKeyDown:Oa,generateMatrix:At},Qr="data-grid-row-index",en="data-grid-col-index",tn="data-prevent-selection",wa="items",J={},Ka=(e,t)=>!e||Array.isArray(e)&&e.length===0?[t]:e.findIndex(n=>n===t)>-1?e.filter(n=>n!==t):[...e,t],V=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if(r.tagName==="TABLE")return null;r=r.parentElement}return null},pe=e=>{if(!e)return;const t=e.getAttribute(Qr);return t?parseInt(t,10):void 0},ge=e=>{if(!e)return;const t=e.getAttribute(en);return t?parseInt(t,10):void 0},ka=e=>{const t=e.subItemsField||wa,r=m.getter(e.dataItemKey);return m.mapTree(e.data,t,n=>m.extendDataItem(n,t,{[e.selectedField]:e.selectedState[r(n)]}))},Ra=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{syntheticEvent:a,nativeEvent:s,dataItems:o,componentId:l,mode:u,cell:d,selectedField:h}=t,{target:g,ctrlKey:v,metaKey:f,altKey:b,shiftKey:I}=s;if(a.isDefaultPrevented()||s.keyCode!==m.Keys.enter)return n;const x=V(g,"TD"),E=V(g,"TR"),S=ge(x),A=pe(E);let D={};return x&&E&&A!==void 0&&S!==void 0&&(D=rn({selectedState:n,dataItemKey:r,event:{ctrlKey:v,metaKey:f,altKey:b,shiftKey:I,dataItems:o,cell:d,mode:u,selectedField:h,componentId:l,startColIndex:S,endColIndex:S,startRowIndex:A,endRowIndex:A,isDrag:!1,syntheticEvent:a,nativeEvent:s,target:t.target,dataItem:null}})),D},rn=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{dataItems:a,startRowIndex:s,endRowIndex:o,startColIndex:l,endColIndex:u,cell:d,isDrag:h,ctrlKey:g,shiftKey:v,metaKey:f,componentId:b,mode:I,dataItem:x}=t,E=m.getter(r);let S={};const A=x!==null;if(I==="single"){const D=a.slice(s,s+1)[0],y=E(D);J[b]={rowIndex:s,colIndex:l},S[y]=d?[l]:!0}else if(h||!v&&!g&&!f&&!A){h||(J[b]={rowIndex:s,colIndex:l});const D=[];for(let F=l;F<=u;F++)D.push(F);a.slice(s,o+1).forEach(F=>{const M=E(F);S[M]=d?[...D]:!0})}else if(g||f||A){J[b]={rowIndex:s,colIndex:l};const y=a.slice(s,o+1)[0],F=E(y);S={...n},S[F]=d&&!A?Ka(S[F],l):!S[F]}else if(v){const D=J[b]&&J[b].rowIndex||0,y=J[b]&&J[b].colIndex||0,F=Math.min(D,s,o),M=Math.max(D,s,o),_=Math.min(y,l,u),P=Math.max(y,l,u),q=[];for(let R=_;R<=P;R++)q.push(R);a.slice(F,M+1).forEach(R=>{const k=E(R);S[k]=d?[...q]:!0})}return S},Ba=m.hasRelativeStackingContext(),nn=e=>{if(!e||!Ba)return null;let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).transform!=="none")return t;t=t.parentElement}},an=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}},sn=e=>{const t=e?typeof e.enabled=="boolean"?e.enabled:!0:!1,r=e?!!e.drag:!1,n=e&&e.mode?e.mode:"multiple",a=!!(e&&e.cell);return{enabled:t,drag:r,mode:n,cell:a}},Ta=e=>{var A;const{onRelease:t,childRef:r}=e,{enabled:n,drag:a,mode:s,cell:o}=sn(e.selectable),l=i.useRef(null),u=i.useRef(null),d=i.useRef({clientX:0,clientY:0}),[h,g]=i.useState(null),v=i.useRef(),f=i.useRef(!1),b=i.useRef(!1),I=i.useCallback(D=>{const{event:y}=D;b.current=y.originalEvent.target.hasAttribute(tn),!(b.current||!l.current)&&(v.current=nn(l.current.element),d.current={clientY:y.clientY,clientX:y.clientX})},[]),x=i.useCallback(D=>{const{event:y}=D,{clientX:F,clientY:M}=d.current;if(!b.current&&!(!a||s==="single")&&((Math.abs(M-y.clientY)>5||Math.abs(F-y.clientX)>5)&&(f.current=!0),f.current)){const _=an(v.current);g({top:Math.min(M,y.clientY)-_.top,left:Math.min(F,y.clientX)-_.left,width:Math.abs(y.clientX-F),height:Math.abs(y.clientY-M)})}},[g,a,s]),E=i.useCallback(D=>{const{event:y}=D,{clientX:F,clientY:M}=d.current;if(b.current||!l.current)return;const _=l.current.element&&l.current.element.ownerDocument;if(_){if(f.current){const P=Math.min(M,y.clientY),q=Math.min(F,y.clientX),W=Math.max(M,y.clientY),R=Math.max(F,y.clientX),k=u.current;if(!k)return;k.style.visibility="hidden";const U=_.elementFromPoint(q,P),Q=_.elementFromPoint(R,W);if(k.style.visibility="",!U||!Q)return;const We=V(U,"TD"),wt=V(We,"TR"),Ve=V(Q,"TD"),Kt=V(Ve,"TR"),fe=ge(We),me=pe(wt),Ee=ge(Ve),ve=pe(Kt);fe!==void 0&&me!==void 0&&Ee!==void 0&&ve!==void 0&&t({nativeEvent:y.originalEvent,startRowIndex:me,startColIndex:fe,endRowIndex:ve,endColIndex:Ee,altKey:y.altKey,shiftKey:y.shiftKey,ctrlKey:y.ctrlKey,metaKey:y.metaKey,mode:s,cell:o,isDrag:!0})}else{const P=_.elementFromPoint(F,M);if(!P)return;const q=V(P,"TD"),W=V(P,"TR"),R=ge(q),k=pe(W);q&&W&&k!==void 0&&R!==void 0&&t({nativeEvent:y.originalEvent,startRowIndex:k,startColIndex:R,endRowIndex:k,endColIndex:R,altKey:y.altKey,shiftKey:y.shiftKey,ctrlKey:y.ctrlKey,metaKey:y.metaKey,mode:s,cell:o,isDrag:!1})}g(null),f.current=!1,d.current={clientX:0,clientY:0}}},[g,s,o,t]),S=m.useDocument(u);return n?i.createElement(i.Fragment,null,i.createElement(m.Draggable,{onPress:I,onDrag:x,onRelease:E,ref:l,childRef:r},e.children),h&&dn.createPortal(i.createElement("div",{ref:u,style:{...h,position:"fixed"},className:"k-marquee k-marquee-color"}),(A=S())==null?void 0:A.body)):i.cloneElement(i.Children.only(e.children),{ref:r})},za="items";var G=(e=>(e.copy="copy",e.cut="cut",e.paste="paste",e))(G||{});const _a=(e,t,r)=>{const n=e.cellDelimiter||" ",a=e.newLineDelimiter||`\r
5
+ (function(c,ee){typeof exports=="object"&&typeof module!="undefined"?ee(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-intl"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-data-query"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-animation")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-buttons","@progress/kendo-react-intl","@progress/kendo-react-inputs","@progress/kendo-react-dropdowns","@progress/kendo-svg-icons","react-dom","@progress/kendo-data-query","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-animation"],ee):(c=typeof globalThis!="undefined"?globalThis:c||self,ee(c.KendoReactDatatools={},c.React,c.PropTypes,c.KendoReactCommon,c.KendoReactButtons,c.KendoReactIntl,c.KendoReactInputs,c.KendoReactDropdowns,c.KendoSvgIcons,c.ReactDOM,c.KendoDataQuery,c.KendoReactDateinputs,c.KendoReactPopup,c.KendoReactAnimation))})(this,function(c,ee,p,m,K,L,Y,H,N,Ye,te,je,cn,un){"use strict";"use client";function Rt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const i=Rt(ee),dn=Rt(Ye),be="pager.info",xe="pager.firstPage",ye="pager.previousPage",Ie="pager.nextPage",Fe="pager.lastPage",Le="pager.itemsPerPage",hn="pager.pageSelection",$="pager.page",X="pager.of",j="pager.totalPages",Ue="pager.pageNumberLabel",pn="pager.pageLabel",Se="pager.ariaKeyshortcuts",gn="pager.ariaLabel",De="pager.pageSizeAriaLabel",Me="pager.mobileSelect",Ne="pager.moreButtonLabel",re="filter.eqOperator",ne="filter.notEqOperator",Oe="filter.isNullOperator",Ae="filter.isNotNullOperator",Bt="filter.isEmptyOperator",Tt="filter.isNotEmptyOperator",zt="filter.startsWithOperator",Pt="filter.containsOperator",_t="filter.notContainsOperator",qt="filter.endsWithOperator",Gt="filter.gteOperator",Ht="filter.gtOperator",$t="filter.lteOperator",Wt="filter.ltOperator",Vt="filter.isTrue",Yt="filter.isFalse",jt="filter.afterOrEqualOperator",Ut="filter.afterOperator",Xt="filter.beforeOperator",Zt="filter.beforeOrEqualOperator",Xe="filter.andLogic",Ze="filter.orLogic",ae="filter.addExpression",se="filter.addGroup",ie="filter.close",Je="filter.groupAriaLabel",Qe="filter.expressionAriaLabel",et="filter.expressionDropdownAriaLabel",tt="filter.expressionOperatorDropdownAriaLabel",rt="filter.enumFilterDropdownAriaLabel",nt="filter.numericFilterAriaLabel",at="filter.textFilterAriaLabel",st="columnMenu.filterClearButton",it="columnMenu.filterSubmitButton",ot="columnMenu.filterTitle",lt="columnMenu.sortAscending",ct="columnMenu.sortDescending",we="columnMenu.filterEqOperator",Ke="columnMenu.filterNotEqOperator",ke="columnMenu.filterIsNullOperator",Re="columnMenu.filterIsNotNullOperator",Jt="columnMenu.filterIsEmptyOperator",Qt="columnMenu.filterIsNotEmptyOperator",er="columnMenu.filterStartsWithOperator",tr="columnMenu.filterContainsOperator",rr="columnMenu.filterNotContainsOperator",nr="columnMenu.filterEndsWithOperator",ar="columnMenu.filterGteOperator",sr="columnMenu.filterGtOperator",ir="columnMenu.filterLteOperator",or="columnMenu.filterLtOperator",lr="columnMenu.filterIsTrue",cr="columnMenu.filterAfterOrEqualOperator",ur="columnMenu.filterAfterOperator",dr="columnMenu.filterBeforeOperator",hr="columnMenu.filterBeforeOrEqualOperator",pr="columnMenu.filterAndLogic",gr="columnMenu.filterOrLogic",ut="sort.ariaLabel",dt="filter.ariaLabel",C={[Le]:"items per page",[hn]:"Select page",[be]:"{0} - {1} of {2} items",[xe]:"Go to the first page",[ye]:"Go to the previous page",[Ie]:"Go to the next page",[Fe]:"Go to the last page",[$]:"Page",[X]:"of",[j]:"{0}",[pn]:"Page",[Se]:"Enter ArrowRight ArrowLeft",[gn]:"Pager",[De]:"Page size",[Me]:"Select",[Ne]:"More pages",[Ue]:"Type a page number",[ut]:"Sortable",[dt]:"Filter",[re]:"Is equal to",[ne]:"Is not equal to",[Oe]:"Is null",[Ae]:"Is not null",[Bt]:"Is empty",[Tt]:"Is not empty",[zt]:"Starts with",[Pt]:"Contains",[_t]:"Does not contain",[qt]:"Ends with",[Gt]:"Is greater than or equal to",[Ht]:"Is greater than",[$t]:"Is less than or equal to",[Wt]:"Is less than",[Vt]:"Is true",[Yt]:"Is false",[jt]:"Is after or equal to",[Ut]:"Is after",[Xt]:"Is before",[Zt]:"Is before or equal to",[Xe]:"And",[Ze]:"Or",[ae]:"Add Expression",[se]:"Add Group",[ie]:"Remove",[Je]:"Filter toolbar",[Qe]:"Filter expression row",[et]:"Filter dropdown",[tt]:"Filter operator dropdown",[rt]:"Select True/False",[nt]:"Enter number",[at]:"Enter text",[st]:"Clear",[it]:"Filter",[ot]:"Filter",[lt]:"Sort Ascending",[ct]:"Sort Descending",[we]:"Is equal to",[Ke]:"Is not equal to",[ke]:"Is null",[Re]:"Is not null",[Jt]:"Is empty",[Qt]:"Is not empty",[er]:"Starts with",[tr]:"Contains",[rr]:"Does not contain",[nr]:"Ends with",[ar]:"Is greater than or equal to",[sr]:"Is greater than",[ir]:"Is less than or equal to",[or]:"Is less than",[lr]:"Is true",[cr]:"Is after or equal to",[ur]:"Is after",[dr]:"Is before",[hr]:"Is before or equal to",[pr]:"And",[gr]:"Or"},fr="...";class fn extends i.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=L.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(Me):{messageKey:Me,defaultMessage:C[Me]},n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},a=this.props.messagesMap?this.props.messagesMap(Ne):{messageKey:Ne,defaultMessage:C[Ne]},s=t.toLanguageString(a.messageKey,a.defaultMessage),o=this.start>1&&this.renderDots(this.start-1,s),l=this.end<this.props.totalPages&&this.renderDots(this.end+1,s),u=this.start>1&&this.renderOptionDots(this.start-1),d=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),h=[];for(let f=this.start;f<=this.end;f++)h.push(f);const g=h.map(f=>i.createElement(K.Button,{className:m.classNames({"k-selected":this.props.currentPage===f}),key:f,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(n.messageKey,n.defaultMessage)+" "+f,"aria-current":this.props.currentPage===f?!0:void 0,onClick:b=>this.handlePageChange(b,f)},f)),v=h.map(f=>i.createElement("option",{key:f},f));return i.createElement(i.Fragment,null,i.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:m.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${m.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(r.messageKey,r.defaultMessage),value:this.props.currentPage,onChange:f=>this.handleSelectPageChange(f)},u,v,d),i.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},o,g,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 i.createElement(K.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":r,onClick:n=>this.handlePageChange(n,t)},fr)}renderOptionDots(t){return i.createElement("option",{value:t},fr)}}class mr extends i.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=L.provideIntlService(this),r=L.provideLocalizationService(this),n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},a=this.props.messagesMap?this.props.messagesMap(X):{messageKey:X,defaultMessage:C[X]},s=this.props.messagesMap?this.props.messagesMap(j):{messageKey:j,defaultMessage:C[j]},o=this.props.messagesMap?this.props.messagesMap(j):{messageKey:Ue,defaultMessage:C[Ue]};return i.createElement("span",{className:"k-pager-input"},i.createElement("span",null,r.toLanguageString(n.messageKey,n.defaultMessage)),i.createElement(Y.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1,ariaLabel:r.toLanguageString(o.messageKey,o.defaultMessage)}),i.createElement("span",null,`${r.toLanguageString(a.messageKey,a.defaultMessage)} ${t.format(r.toLanguageString(s.messageKey,s.defaultMessage),[this.props.totalPages])}`))}}L.registerForLocalization(mr);class Er extends i.Component{constructor(){super(...arguments),this.pageSizeChange=t=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(t.target.value,10)},t)}}render(){const{value:t,pageSizes:r,pageSize:n,messagesMap:a}=this.props,s=r.slice();t===void 0&&s.filter(u=>u===n).length===0&&s.unshift(n);const o=a?a(Le):{messageKey:Le,defaultMessage:C[Le]},l=a?a(De):{messageKey:De,defaultMessage:C[De]};return i.createElement("span",{className:"k-pager-sizes"},i.createElement(H.DropDownList,{value:t!==void 0?t:n,data:s,onChange:this.pageSizeChange,ariaLabel:L.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),i.createElement("span",null,L.provideLocalizationService(this).toLanguageString(o.messageKey,o.defaultMessage)))}}L.registerForLocalization(Er);const ht={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/"},vr=600,mn=768;class oe extends i.Component{constructor(t){super(t),this._element=null,this.onPageChange=(r,n)=>{const a={target:this,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,targetEvent:n,...r};this.props.onPageChange&&this.props.onPageChange.call(void 0,a)},this.changePage=(r,n)=>{this.props.onPageChange&&r>0&&r<=this.totalPages&&this.props.onPageChange({target:this,skip:(r-1)*this.props.take,take:this.props.take,syntheticEvent:n,nativeEvent:n.nativeEvent,targetEvent:n})},this.onWindowResize=()=>{const r=this.element;if(!r||!this.props.responsive)return;const n=r.offsetWidth;n<vr?this.setState({showPagerSizes:!1}):n>=vr&&n<mn?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},m.validatePackage(ht),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return this.props.dir==="rtl"}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:t,showPagerInfo:r}=this.state,{skip:n,take:a,total:s,pageSizes:o,size:l,responsive:u,messagesMap:d,pageSizeValue:h}=this.props,g=L.provideLocalizationService(this),v=L.provideIntlService(this),f=Math.floor(n/a)+1,b=this.props.type==="numeric"?i.createElement(fn,{type:u&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:l}):i.createElement(mr,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:d,size:l}),I=d?d(xe):{messageKey:xe,defaultMessage:C[xe]},x=d?d(ye):{messageKey:ye,defaultMessage:C[ye]},E=d?d(Ie):{messageKey:Ie,defaultMessage:C[Ie]},S=d?d(Fe):{messageKey:Fe,defaultMessage:C[Fe]},A=d?d(be):{messageKey:be,defaultMessage:C[be]},M=d?d(Se):{messageKey:Se,defaultMessage:C[Se]},y=d?d($):{messageKey:$,defaultMessage:C[$]},F=d?d(X):{messageKey:X,defaultMessage:C[X]},D=d?d(j):{messageKey:j,defaultMessage:C[j]},P=`${g.toLanguageString(y.messageKey,y.defaultMessage)} ${v.format(g.toLanguageString(D.messageKey,D.defaultMessage),[f])} ${g.toLanguageString(F.messageKey,F.defaultMessage)} ${v.format(g.toLanguageString(D.messageKey,D.defaultMessage),[this.totalPages])}`;let _,q,W,R;this.props.previousNext&&(_=this.renderButton(1,"k-pager-nav k-pager-first"+(f===1?" k-disabled":""),g.toLanguageString(I.messageKey,I.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?N.caretAltToRightIcon:N.caretAltToLeftIcon,f===1?!0:void 0),q=this.renderButton(f-1,"k-pager-nav"+(f===1?" k-disabled":""),g.toLanguageString(x.messageKey,x.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?N.caretAltRightIcon:N.caretAltLeftIcon,f===1?!0:void 0),W=this.renderButton(f+1,"k-pager-nav"+(f>=this.totalPages?" k-disabled":""),g.toLanguageString(E.messageKey,E.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?N.caretAltLeftIcon:N.caretAltRightIcon,f>=this.totalPages?!0:void 0),R=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(f>=this.totalPages?" k-disabled":""),g.toLanguageString(S.messageKey,S.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?N.caretAltToLeftIcon:N.caretAltToRightIcon,f>=this.totalPages?!0:void 0));const k=o&&i.createElement(Er,{pageChange:this.onPageChange,pageSize:a,pageSizes:o,value:h,messagesMap:d,size:l}),U=this.props.info&&i.createElement("span",{className:"k-pager-info"},v.format(g.toLanguageString(A.messageKey,A.defaultMessage),[Math.min(n+1,s),Math.min(n+a,s),s]));return i.createElement("div",{className:m.classNames("k-pager",{[`k-pager-${m.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":g.toLanguageString(M.messageKey,M.defaultMessage),"aria-label":P,ref:Q=>this._element=Q},i.createElement("div",{className:m.classNames("k-pager-numbers-wrap")},_,q,b,W,R),u?t&&k:k,u?r&&U:U)}renderButton(t,r,n,a,s,o){return i.createElement(K.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:r,icon:a,svgIcon:s,title:n,role:"button","aria-disabled":o,onClick:l=>{l.preventDefault(),this.changePage(t,l)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}}oe.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},oe.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"},L.registerForIntl(oe),L.registerForLocalization(oe);const le=e=>class extends i.Component{constructor(){super(...arguments),this.filterChange=n=>{this.props.onFilterChange&&this.props.onFilterChange(n)},this.inputChange=n=>{const a=n.target.value,{filter:s=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?s.map(d=>d.field===o?{...l,value:a}:d):[...s,{...e.emptyFilter,value:a,field:o}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.operatorChange=n=>{const{operator:a}=n.target.value,{filter:s=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?s.map(d=>d.field===o?{...l,operator:a}:d):[...s,{...e.emptyFilter,field:o,operator:a}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.clearButtonClick=n=>{const{filter:a=[],field:s=""}=this.props;this.filterChange({filter:a.filter(o=>o.field!==s),field:s,syntheticEvent:n})},this.findCellFilter=()=>{const{filter:n=[],field:a}=this.props;return n.find(s=>s.field===a)}}render(){const{clearButtonTitle:n="",operators:a=[]}=this.props,s=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:o,value:l}=s,u={ariaLabel:"filter",value:a.find(d=>d.operator===o)||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:N.filterIcon,data:a,textField:"text",popupSettings:{width:""},components:this.props.components};return i.createElement("div",{className:"k-filtercell"},i.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}),i.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(u,this.props)," ",i.createElement(K.Button,{className:m.classNames({["k-clear-button-visible"]:!(l===null||l==="")||o}),title:n,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:N.filterClearIcon,disabled:!(!(l===null||l==="")||o)}))))}},Cr="eq",En={emptyFilter:{operator:Cr,value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,a=r.find(s=>s.field===n);return i.createElement(H.DropDownList,{...e,value:e.data.find(s=>s.operator===(a?a.value:"")),onChange:s=>{if(!t.onFilterChange)return;const o=s.target.value.operator;if(o===""){a&&t.onFilterChange.call(void 0,{filter:r.filter(u=>u.field!==a.field),field:n,syntheticEvent:s.syntheticEvent});return}let l=a?r.map(u=>u.field===n?{...a,value:o}:u):[...r,{value:o,field:n,operator:Cr}];t.onFilterChange.call(void 0,{filter:l,field:n,syntheticEvent:s.syntheticEvent})}})}};class vn extends le(En){}const Cn={inputComponent:e=>i.createElement(je.DatePicker,{...e}),operatorComponent:e=>i.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class bn extends le(Cn){}const xn={inputComponent:e=>i.createElement(Y.NumericTextBox,{...e}),operatorComponent:e=>i.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class yn extends le(xn){}const In={inputComponent:e=>i.createElement(Y.Input,{...e}),operatorComponent:e=>i.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class Fn extends le(In){}const br={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},Z="data-keyboardnavlevel",pt="data-keyboardnavscope",gt="data-keyboardnavheader",ft="data-keyboardnavbody",ce="data-keyboardnavid",Ln="data-keyboardnavzone",xr="_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]"],Be=[...yr,"[tabindex]"],Ir=[...yr,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Sn={[pt]:!0},Fr={[gt]:!0},Dn={[ft]:!0},mt=i.createContext(void 0);mt.displayName="KendoReactTableKeyboardNavigationContext";const Lr=(e,t)=>{const r=i.useContext(mt);return!r||!e||t===!1?{}:{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[Z]:r.level,[ce]:e}},Te=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:a,style:s,columnId:o,onKeyDown:l,navigatable:u,ariaColumnIndex:d,ariaLabel:h,role:g,ariaSelected:v}=e,f=Lr(o,u);return i.createElement("th",{"aria-sort":t,"aria-label":h,"aria-colindex":d,"aria-selected":v,colSpan:r,rowSpan:n,className:a,style:s,onKeyDown:l,role:g,...f},e.children)};Te.displayName="KendoReactHeaderThElement";const Sr=(e,t,r="cell")=>`${t}_${e}_${r}`,Mn=e=>{if(e)return parseInt(e.getAttribute(Z)||"",10)},Et=e=>{if(!e)return;const t=e.getAttribute(ce);return t||void 0},vt=e=>e?!!e.getAttribute(ce):!1,Nn=(e,t={level:0})=>e.querySelector(`[${Z}='${t.level}']`),On=e=>e.parentElement&&e.parentElement.closest(`[${Z}]`),An=(e,t)=>e.querySelector(`[${ce}='${t}']`),wn=e=>e.parentElement&&e.parentElement.closest(`[${pt}]`),Dr=e=>e.querySelector(`[${gt}]`),Mr=e=>e.querySelector(`[${ft}]`),Kn=(e,t={focusable:!1})=>{let r=t.focusable?Be:Ir;return Array.from(e.querySelectorAll(r.join(",")))},kn=(e,t={level:0})=>{if(!e)return[];let r=Be.map(n=>n+`[${Z}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(r))},Rn=(e={level:0})=>{let t=Be.map(r=>r+`[${Z}='${e.level}']`).join(",");return r=>r.matches(t)},Bn=e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:a}=e;n.current&&t&&t.focus&&(r.preventDefault(),t.focus(),vt(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=Et(t)),a&&vt(a)&&a.setAttribute("tabIndex","-1"))},Tn=e=>e.current?e.current.idPrefix:"",Nr=(e,t,r,n,a)=>{if(!r)return[];let s=e+(a?-1:1);for(;s>=0&&s<n.length;){const o=n[s][t];if(o!==r)return[o,[s,t]];s=s+(a?-1:1)}return[]},Or=(e,t,r,n,a)=>{if(!r)return[];let s=t+(a?-1:1);for(;s>=0&&s<n[e].length;){const o=n[e][s];if(o!==r)return[o,[e,s]];s=s+(a?-1:1)}return[]},Ct=(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]}},zn=e=>e.current?e.current.navigationMatrix.length:0,Ar=e=>e?`${e}${xr}`:"",O={generateNavigatableId:Sr,getNavigatableId:Et,getNavigatableLevel:Mn,getNavigatableElement:Nn,getClosestNavigatableElement:On,getActiveElement:An,getClosestScope:wn,getHeaderElement:Dr,getBodyElement:Mr,getFocusableElements:Kn,getNavigatableElements:kn,filterNavigatableElements:Rn,focusElement:Bn,getIdPrefix:Tn,isNavigatable:vt,findNextIdByRowIndex:Nr,findNextIdByCellIndex:Or,findId:Ct,getNextNavigationIndex:zn,getFilterColumnId:Ar},wr="k-table-row k-filter-row",Pn=(e,t,r)=>{let n=`${r?"k-grid-header-sticky":""}`;return e.some(a=>a.field===t)&&(n+=" k-sorted"),n},_n=function(e){const{columns:t,filter:r,filterChange:n,sort:a=[],ariaRowIndex:s}=e,o=L.useLocalization();return i.createElement("tr",{className:wr,"aria-rowindex":s,role:"row"},t.map((l,u)=>{const d=l.locked!==void 0?{left:l.left,right:l.right,borderRightWidth:l.rightBorder?"1px":""}:{},h=l.filterCell||l.filter;return i.createElement(Te,{columnId:Ar(l.id),navigatable:l.navigatable,style:d,key:u,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:h?o.toLanguageString(dt,C[dt]):void 0,className:m.classNames("k-table-th k-header",Pn(a,l.field,l.locked))},h&&i.createElement(h,{field:l.field,filter:r,onFilterChange:n}))}))};function Kr(e,t){const r=e[t].depth;let n=null;for(let a=t+1;a<e.length;a++)if(e[a].depth===r){n=e[a];break}return n}const bt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((r,n)=>bt(n)+r,0)),t};function qn(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 a=1;return e.forEach((s,o)=>{t[s.depth]=t[s.depth]||[];let l=!1;t[s.depth].length===0&&(a<=1?a=1+(s.children.length>0?0:r-s.depth):(a--,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(o),s.ariaColumnIndex=n[s.depth]?n[s.depth]+1:1;for(let u=s.depth;u<s.depth+s.rowSpan;u++)n[u]=(n[u]||0)+s.colSpan}),kr(t,e),Rr(t,e),t}function kr(e,t,r){let n=new Array(e.length).fill(0),a=0;t.forEach(s=>{if(s.locked&&(!s.left||r))if(s.left=n[s.depth],a=bt(s),s.children.length===0)for(let o=s.depth;o<n.length;o++)n[o]+=a;else n[s.depth]+=a})}function Rr(e,t,r){let n=0,a=new Array(e.length).fill(0);for(let s=t.length-1;s>=0;s--){const o=t[s];if(o.locked&&(!o.right||r)){if(o.right=a[o.depth],n=bt(o),o.children.length===0)for(let u=o.depth;u<a.length;u++)a[u]+=n;else a[o.depth]+=n;const l=Kr(t,s);o.rightBorder=!(l&&l.locked)}}}function Br(e,t,r=0){let n=[];if(!e||!e.length)return[];e.forEach(s=>{const o=Br(s.children||[],t,r+1);n.push(Object.assign({},{depth:r},br,s,{id:s.id?s.id:Sr(`${t.prevId++}`,t.idPrefix,"column"),declarationIndex:n.length,children:o,rowSpan:0,colSpan:0,isAccessible:!0}))});const a=(s,o)=>s.orderIndex===o.orderIndex?s.declarationIndex-o.declarationIndex:(s.orderIndex||0)-(o.orderIndex||0);if(n.sort(a),r===0){let s=[];const o=(l,u)=>l.forEach(d=>{d.parentIndex=u,o(d.children,s.push(d)-1)});return o(n,-1),s}return n}function Tr(e){return!!(e&&getComputedStyle(e).direction==="rtl")}function xt(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=o=>{const l=o.getBoundingClientRect();return r.x>l.left&&r.x<l.left+l.width&&r.y>l.top&&r.y<l.top+l.height};n=Array.from(t.children).find(s)||null}const a=t.children;for(let s=0;s<a.length;s++)if(a[s]===n)return s;return-1}class Gn extends i.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:t}=this.props;t&&t.resizable&&t.setIsRtl(Tr(this.element))}render(){return i.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:t=>this.element=t,...Fr},this.props.headerRow,this.props.filterRow)}}function zr(e){const t=e.onClick?{onClick:e.onClick}:{},r=i.createElement("span",{className:"k-link",...t},i.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const Pr=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);class _r extends i.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 i.createElement(m.Draggable,{onPress:t=>{t.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},i.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}}class Hn extends i.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 i.createElement(m.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},i.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"}},Wn={none:"none",asc:"ascending",desc:"descending"};class qr extends i.Component{constructor(){super(...arguments),this.cellClick=(t,r)=>{if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:n,mode:a}=Pr(this.props.sortable||!1,r.sortable||!1),s=(this.props.sort||[]).filter(u=>u.field===r.field)[0],o=$n[n][s&&s.dir||""],l=a==="single"?[]:(this.props.sort||[]).filter(u=>u.field!==r.field);o!==""&&r.field&&l.push({field:r.field,dir:o}),this.props.sortChange(t,l,r.field)},this.cellKeyDown=(t,r)=>{t.isDefaultPrevented()||t.keyCode===m.Keys.enter&&this.cellClick(t,r)},this.cells=t=>t.map((r,n)=>{const a=this.props.columns[r],{columnResize:s}=this.props,o=s&&s.resizable&&a.resizable,l=this.props.sortable&&a.sortable,u=this.props.sort?this.props.sort.findIndex(E=>E.field===a.field):-1,d=u>=0&&this.props.sort[u].dir||"none",h={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:a.field},g={field:a.field,onClick:l&&(E=>this.cellClick(E,a))||void 0,selectionChange:this.props.selectionChange,title:a.title,selectionValue:a.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(u),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:h},v=a.columnMenu||this.props.columnMenu,f=m.classNames("k-table-th",{"k-first":a.kFirst,"k-filterable":!!v,"k-header":!0,"k-grid-header-sticky":a.locked,"k-sorted":this.props.sort&&this.props.sort.some(E=>E.field===a.field)},a.headerClassName),b=a.locked!==void 0?{left:a.left,right:a.right,borderRightWidth:a.rightBorder?"1px":""}:{},I=L.provideLocalizationService(this).toLanguageString(ut,C[ut]);let x=a.isAccessible?{ariaSort:l?Wn[d]:void 0,role:"columnheader",ariaColumnIndex:a.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?I:""}:{role:"presentation"};return i.createElement(Te,{key:n,colSpan:a.colSpan,rowSpan:a.rowSpan,className:f,style:b,columnId:a.id,navigatable:a.navigatable,onKeyDown:l&&(E=>this.cellKeyDown(E,a))||void 0,...x},a.headerCell&&i.createElement(a.headerCell,{...g}),!a.headerCell&&i.createElement("span",{className:"k-cell-inner"},i.createElement(zr,{...g}),v&&i.createElement(v,{...h})),s&&o&&i.createElement(_r,{key:"ColumnResizer",resize:(E,S,A)=>s.dragHandler(E,a,S,A)}))})}sortIcon(t){if(!this.props.sort||t<0)return null;const r=this.props.sort[t].dir;return r?[i.createElement(m.IconWrap,{key:1,name:`sort-${r}-small`,icon:r==="asc"?N.sortAscSmallIcon:N.sortDescSmallIcon}),this.props.sort.length>1&&i.createElement("span",{key:2,className:"k-sort-order"},t+1)]:null}render(){return this.props.columnsMap.map((t,r)=>this.props.pressHandler&&i.createElement(Hn,{key:r,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:r+1},this.cells(t))||i.createElement("tr",{className:"k-table-row","aria-rowindex":r+1,role:"row"},this.cells(t)))}}L.registerForLocalization(qr);function Vn(e){const t=[i.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})}),i.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,t,e):t)}function Yn(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:a}=e,s=r.map(()=>1),o=r.map(()=>!1);if(!t)return{colSpans:s,hiddenColumns:o};const l=r.map(E=>parseFloat((E.width||"").toString())||10);let u=0;for(let E=0;E<r.length;E++){if(r[E].locked)continue;const S=E<l.length-1?l[E+1]:0;if(u+l[E]+S<a)o[E]=!0,u+=l[E];else break}const d=l.reduce((E,S)=>E+S,0);u=0;for(let E=r.length-1;E>=0;E--)if(!r[E].locked)if(u+2*l[E]<d-n-a)o[E]=!0,u+=l[E];else break;const h=[...o],g=E=>E;let v=h.lastIndexOf(!1),f=h.some(g),b=h.every(g),I,x;for(;f&&h.length&&(v!==-1||b);){for(v<h.length-1&&(I=b?h.length:h.length-v-1,x=h.length-I,x===0&&(x=I-1),o[x]=!1,s[x]=I,h.splice(v+1,I));h.length&&!h[h.length-1];)h.pop();v=h.lastIndexOf(!1),f=h.some(g),b=h.every(g)}return{colSpans:s,hiddenColumns:o}}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,a){const s=t.originalEvent;a||(s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation());const o=n.parentElement;if(!o||!o.parentElement)return;const l=o.clientWidth;let u;if(this.isRtl?(u=n.getBoundingClientRect().right-n.offsetWidth/2-t.clientX,u+=l):u=l+t.clientX-n.getBoundingClientRect().left-n.offsetWidth/2,!a&&Math.abs(u-l)<1)return;this.setWidths(r,Math.floor(u)/l);const d=this.columns.filter(h=>!h.children.length).indexOf(r);this.onResize(d,l,u,s,a)}setWidths(t,r){const n=this.columns.indexOf(t),a=[];let s=t.children.length;for(let o=n+1;s>0&&o<this.columns.length;o++,s--){const l=this.columns[o];l.children.length?s+=l.children.length:a.push(l)}a.length===0&&a.push(t),a.forEach(o=>{let l=o.width?parseFloat(o.width.toString())*r:0;const u=o.minResizableWidth===void 0?10:o.minResizableWidth;l<u&&(l=u),o.width=Math.floor(l)}),this.updateColElements(a)}updateColElements(t){const r=this.columns.filter(a=>!a.children.length);let n=1e-10;for(let a=0;a<t.length;a++){const s=r.indexOf(t[a]),o=parseFloat((t[a].width||0).toString());n+=o-Math.floor(o);const l=Math.floor(o)+Math.floor(n);n-=Math.floor(n),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[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 Un{constructor(t,r,n){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=a=>{this.groupPanelDivElement=a},this.refDropElementClue=a=>{this.dropElementClue=a},this.refDragElementClue=a=>{this.dragElementClue=a},this.pressHandler=(a,s)=>{const o=this.getColumnIndex(a,s);if(this.startGroup=this.getGroupIndex(a),o>=0){const l=this.columns[o];(l.reorderable&&this.reorderable||l.groupable&&this.groupable)&&(this.startColumn=o)}},this.dragHandler=(a,s)=>{if(a.isTouch||a.originalEvent.preventDefault(),a.originalEvent.stopPropagation(),this.startColumn===-1&&this.startGroup===-1)return;this.currentColumn=this.getColumnIndex(a,s),this.currentGroup=this.getGroupIndex(a),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const o=!this.isValid();o&&(this.currentColumn=-1,this.currentGroup=-1);const l=this.currentColumn>=0?s.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(a,s,l,o),this.updateDropElementClue(a,s,l,o)},this.releaseHandler=a=>{const s=this.startColumn,o=this.currentColumn,l=this.startGroup,u=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const d=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,d&&(s>=0&&o>=0?this.columnReorder(s,o,a.originalEvent):l>=0&&u>=0?this.groupReorder(l,u,a.originalEvent):s>=0&&u>=0&&this.columnToGroup(s,u,a.originalEvent))},this.columnReorder=t,this.groupReorder=r,this.columnToGroup=n}getColumnIndex(t,r){if(!r||r.parentElement===this.groupPanelDivElement)return-1;const n=xt(t,r);if(n===-1)return-1;for(let a=0;a<r.parentNode.children.length;a++)if(r.parentNode.children[a]===r)return this.columns.findIndex(s=>s.index===n&&s.depth===a);return-1}getGroupIndex(t){return xt(t,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:this.startColumn===-1?!1:this.currentGroup>=0?this.columns[this.startColumn].groupable===!0&&this.groupable===!0:this.reorderable===!0&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&this.columns[this.startColumn].reorderable===!0&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex}updateDragElementClue(t,r,n,a){if(!this.dragElementClue)return;const 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:a||!n?"k-i-cancel":"k-i-plus"})}updateDropElementClue(t,r,n,a){if(!this.dropElementClue)return;if(a||!n){this.dropElementClue.setState({visible:!1});return}const s=n.getBoundingClientRect();let o=s.left+t.pageX-t.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&this.startGroup!==-1)&&(o+=s.width);const l=s.top+t.pageY-t.clientY;this.dropElementClue.setState({visible:!0,top:l,left:o,height:this.currentColumn>=0?r.clientHeight:s.height})}}class Xn extends i.PureComponent{constructor(t){super(t),this.elementRef=i.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=i.createRef()}get element(){return this.elementRef.current}render(){const t=this.hiddenElementRef.current,{status:r}=this.state,n=this.state.visible&&m.canUseDOM&&Ye.createPortal(i.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"}},i.createElement(m.IconWrap,{className:"k-drag-status",name:r,icon:r==="k-i-cancel"?N.cancelIcon:N.plusIcon}),this.state.innerText),t&&t.ownerDocument?t.ownerDocument.body:document.body);return i.createElement(i.Fragment,null,n,i.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class Zn extends i.PureComponent{constructor(t){super(t),this.state={height:0,visible:!1,left:0,top:0},this.hiddenElementRef=i.createRef()}render(){const t=this.hiddenElementRef.current,r=this.state.visible&&m.canUseDOM&&Ye.createPortal(i.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 i.createElement(i.Fragment,null,r,i.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class yt extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=L.provideLocalizationService(this),{ariaLabel:r=t.toLanguageString(at,C[at])}=this.props;return i.createElement(Y.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":r})}}yt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string},L.registerForLocalization(yt);class It extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=L.provideLocalizationService(this),{min:r,max:n,filter:a,ariaLabel:s=t.toLanguageString(nt,C[nt])}=this.props;return i.createElement(Y.NumericTextBox,{value:typeof a.value=="number"?a.value:null,onChange:this.onChange,ariaLabel:s,"aria-valuemin":r,"aria-valuemax":n,min:r,max:n})}}It.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired},L.registerForLocalization(It);class Gr extends i.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 i.createElement(je.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 ze extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value.value}})}}render(){const t=L.provideLocalizationService(this),{filter:r,data:n=[],defaultItem:a,ariaLabel:s=t.toLanguageString(rt,C[rt])}=this.props,o=n.map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return i.createElement(H.DropDownList,{value:o.find(l=>l.value===r.value)||null,onChange:this.onChange,defaultItem:a,data:o,textField:"text",ariaLabel:s})}}ze.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},L.registerForLocalization(ze);class Hr extends i.Component{constructor(){super(...arguments),this.data=[{text:Vt,value:!0},{text:Yt,value:!1}]}render(){return i.createElement(ze,{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 Jn=[{text:Pt,operator:"contains"},{text:_t,operator:"doesnotcontain"},{text:re,operator:"eq"},{text:ne,operator:"neq"},{text:zt,operator:"startswith"},{text:qt,operator:"endswith"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"},{text:Bt,operator:"isempty"},{text:Tt,operator:"isnotempty"}],Qn=[{text:re,operator:"eq"},{text:ne,operator:"neq"},{text:Gt,operator:"gte"},{text:Ht,operator:"gt"},{text:$t,operator:"lte"},{text:Wt,operator:"lt"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"}],ea=[{text:re,operator:"eq"},{text:ne,operator:"neq"},{text:jt,operator:"gte"},{text:Ut,operator:"gt"},{text:Xt,operator:"lt"},{text:Zt,operator:"lte"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"}],ta=[{text:re,operator:"eq"},{text:ne,operator:"neq"}];class ra{static get text(){return[...Jn]}static get numeric(){return[...Qn]}static get date(){return[...ea]}static get boolean(){return[...ta]}}const Ft=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",Pe=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",$r=e=>{e.value===void 0&&!Pe(e.operator)&&(e.value=Ft(e.operator)?"":null)};class _e extends i.Component{constructor(){super(...arguments),this.onFieldChange=t=>{const r=t.value.name,n=this.props.fields.find(l=>l.name===r),a=this.props.filter,s=n&&!n.operators.some(l=>l.operator===a.operator)?n.operators[0].operator:a.operator,o={field:r,operator:s};$r(o),this.triggerOnFilterChange(a,o,t)},this.onOperatorChange=t=>{const r=t.value.operator,n=this.props.filter;let a;if(Pe(r)){let{value:s,...o}=n;a={...o,operator:r}}else a={...n,operator:r};$r(a),this.triggerOnFilterChange(n,a,t)},this.onInputChange=t=>{const r=this.props.filter;let n=t.nextFilter;if(Pe(n.operator)){const a=this.props.fields.find(s=>s.name===n.field);n={...n,operator:a&&a.operators[0].operator||n.operator}}this.triggerOnFilterChange(r,n,t)},this.triggerOnFilterChange=(t,r,n)=>{const a={prevFilter:t,nextFilter:r,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,target:this};this.props.onChange.call(void 0,a)},this.onFilterRemove=t=>{const r={filter:this.props.filter,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,target:this};this.props.onRemove.call(void 0,r)}}render(){const t=L.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:a=t.toLanguageString(Qe,C[Qe])}=this.props,s=r.find(l=>l.name===n.field),o=(s&&s.operators||[]).map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return i.createElement("div",{className:"k-filter-toolbar"},i.createElement(K.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:a},i.createElement(K.ToolbarItem,{className:"k-filter-field"},i.createElement(H.DropDownList,{className:"k-filter-dropdown",data:r,textField:"label",value:r.find(l=>l.name===n.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(et,C[et])})),i.createElement(K.ToolbarItem,{className:"k-filter-operator"},i.createElement(H.DropDownList,{data:o,textField:"text",value:o.find(l=>l.operator===n.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(tt,C[tt])})),i.createElement(K.ToolbarItem,{className:"k-filter-value"},s&&i.createElement(s.filter,{filter:n,onFilterChange:this.onInputChange,min:s.min,max:s.max})),i.createElement(K.Button,{className:"k-toolbar-button",title:t.toLanguageString(ie,C[ie]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}}_e.propTypes={filter:p.object.isRequired,fields:p.array.isRequired,ariaLabel:p.string,onChange:p.func.isRequired,onRemove:p.func.isRequired},L.registerForLocalization(_e);const Wr=class extends i.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=Ft(n.operator)?"":null;const a={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,a)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map(a=>a===e?t:a);return{...r,filters:n}},this.onChange=e=>{const r={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,r)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter(a=>a!==e.filter),n={nextFilter:{...t,filters:r},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const e=L.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(Je,C[Je])}=this.props;return i.createElement(i.Fragment,null,i.createElement("div",{className:"k-filter-toolbar"},i.createElement(K.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},i.createElement(K.ButtonGroup,{className:"k-toolbar-button-group"},i.createElement(K.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:r.logic==="and",type:"button"},e.toLanguageString(Xe,C[Xe])),i.createElement(K.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:r.logic==="or",type:"button"},e.toLanguageString(Ze,C[Ze]))),i.createElement(K.Button,{className:"k-toolbar-button",title:e.toLanguageString(ae,C[ae]),icon:"filter-add-expression",svgIcon:N.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(ae,C[ae])),i.createElement(K.Button,{className:"k-toolbar-button",title:e.toLanguageString(se,C[se]),icon:"filter-add-group",svgIcon:N.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(se,C[se])),i.createElement(K.Button,{className:"k-toolbar-button",title:e.toLanguageString(ie,C[ie]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),r.filters.length>0&&i.createElement("ul",{role:"group",className:"k-filter-lines"},r.filters.map((a,s)=>i.createElement("li",{role:"treeitem",key:s,className:"k-filter-item"},te.isCompositeFilterDescriptor(a)?i.createElement(Wr,{filter:a,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):i.createElement(_e,{filter:a,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};let qe=Wr;qe.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},L.registerForLocalization(qe);class Vr extends i.Component{constructor(t){super(t),this.onFilterChange=r=>{const n={filter:r.nextFilter,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onGroupRemove=r=>{const n={filter:{...this.props.value,filters:[]},syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},m.validatePackage(ht)}render(){return i.createElement("div",{className:m.classNames("k-filter",this.props.className),style:this.props.style},i.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},i.createElement("li",{role:"treeitem",className:"k-filter-group-main"},i.createElement(qe,{filter:this.props.value,fields:this.props.fields,ariaLabel:this.props.ariaLabelGroup,ariaLabelExpression:this.props.ariaLabelExpression,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.props.defaultGroupFilter||{logic:"and",filters:[]}}))))}}Vr.propTypes={className: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,a)=>({...n,[a.name]:1}),{})).length!==r.length)return new Error(`Property '${t}' needs to contain objects with unique 'name' field.`)}else return new Error(`Property '${t}' needs to be Array<FieldSettings>.`);return null},ariaLabelGroup:p.string,ariaLabelExpression:p.string,value:p.object.isRequired,onChange:p.func.isRequired};const Ge=e=>i.createElement("div",{onClick:e.onClick,className:m.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&i.createElement(m.IconWrap,{name:e.iconClass?m.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),na=[{text:tr,operator:"contains"},{text:rr,operator:"doesnotcontain"},{text:we,operator:"eq"},{text:Ke,operator:"neq"},{text:er,operator:"startswith"},{text:nr,operator:"endswith"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"},{text:Jt,operator:"isempty"},{text:Qt,operator:"isnotempty"}],aa=[{text:we,operator:"eq"},{text:Ke,operator:"neq"},{text:ar,operator:"gte"},{text:sr,operator:"gt"},{text:ir,operator:"lte"},{text:or,operator:"lt"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"}],sa=[{text:we,operator:"eq"},{text:Ke,operator:"neq"},{text:cr,operator:"gte"},{text:ur,operator:"gt"},{text:dr,operator:"lt"},{text:hr,operator:"lte"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"}],ia=[{text:lr,operator:""}];class ue{static get text(){return[...na]}static get numeric(){return[...aa]}static get date(){return[...sa]}static get boolean(){return[...ia]}}const Lt=e=>{const{filter:t,onFilterChange:r,operators:n,initialFilter:a}=e,s=i.useCallback(d=>{const h=t,g=d.target.value.operator,v=h?{...h,operator:g}:{value:a.value,operator:g};r.call(void 0,d.syntheticEvent,v,h)},[t,r,a]),o=i.useCallback(d=>{const h=d.target.value,g=t,v=g?{...g,value:h}:{value:h,operator:n[0].operator};r.call(void 0,d,v,g)},[t,r,n]),l=L.useLocalization(),u=n.map(d=>({...d,text:l.toLanguageString(d.text,C[d.text])}));return i.createElement(i.Fragment,null,i.createElement(H.DropDownList,{value:u.find(d=>d.operator===t.operator)||null,onChange:s,data:u,textField:"text"}),i.createElement(e.input,{value:t.value,onChange:o}))},Yr=e=>{const{filter:t,onFilterChange:r}=e,n=i.useCallback(s=>r.call(void 0,s.syntheticEvent,{...t,value:s.value},t),[t,r]),a=ue.boolean[0].text;return i.createElement(Y.Checkbox,{onChange:n,checked:t.value,label:L.useLocalization().toLanguageString(a,C[a]),labelPlacement:"after"})},St=e=>{const t=i.useCallback(a=>i.createElement(Y.Input,{...a,value:a.value||""}),[]),r=i.useRef(ue.text),n=i.useRef({operator:"",value:""});return i.createElement(Lt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Dt=e=>{const t=i.useCallback(a=>i.createElement(Y.NumericTextBox,{...a,value:a.value||null}),[]),r=i.useRef(ue.numeric),n=i.useRef({operator:"",value:null});return i.createElement(Lt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Mt=e=>{const t=i.useCallback(a=>i.createElement(je.DatePicker,{...a,value:a.value||null}),[]),r=i.useRef(ue.date),n=i.useRef({operator:"",value:null});return i.createElement(Lt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},oa=[{text:pr,logic:"and"},{text:gr,logic:"or"}],He=e=>{const t=L.useLocalization(),r=(e.data||oa).map(n=>({...n,text:t.toLanguageString(n.text,C[n.text])}));return i.createElement(H.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find(n=>n.logic===e.value)})},jr=e=>i.createElement("div",{className:"k-columnmenu-item-content"},i.createElement(un.Reveal,{style:{position:"relative",display:"block"}},e.show&&i.createElement("div",{className:"kendo-grid-filter-menu-container"},i.createElement("form",{className:"k-filter-menu",onSubmit:e.onSubmit,onReset:e.onReset},i.createElement("div",{className:"k-filter-menu-container"},e.children,i.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),Ur=e=>{const t=L.useLocalization();return i.createElement(jr,{...e,actions:i.createElement(i.Fragment,null,i.createElement(K.Button,{type:"reset"},t.toLanguageString(st,C[st])),i.createElement(K.Button,{themeColor:"primary"},t.toLanguageString(it,C[it])))})},$e=e=>{m.validatePackage(ht);const t=i.useRef([]),{field:r,filter:n,sort:a=t.current,onSortChange:s,onFilterChange:o,initialFilter:l,sortAsc:u=!1,sortDesc:d=!1,filterContent:h=[],expandFilters:g=!1}=e,[v,f]=i.useState(!1),[b,I]=i.useState(g),[x,E]=i.useState(r&&l?l(r):null),S=i.useRef(null),A=i.useRef(null),M=i.useRef(null),y=i.useRef(!1),F=i.useCallback(()=>(n||[]).find(w=>w.filters.every(B=>!te.isCompositeFilterDescriptor(B)&&B.field===r)),[n,r]),D=i.useCallback(()=>{f(!1)},[]),P=i.useCallback(()=>{if(y.current){y.current=!1;return}clearTimeout(M.current),M.current=window.setTimeout(()=>{D()})},[D]),_=i.useCallback(()=>clearTimeout(M.current),[]),q=i.useCallback(w=>{y.current=v&&w.currentTarget===S.current},[v]),W=i.useCallback(()=>{f(!v),r&&l&&(I(v?!1:g),E(v?x:F()||l(r)))},[F,r,v,x,l,g]);i.useEffect(()=>{v&&A.current&&A.current.focus()},[v]);const R=i.useCallback(()=>I(!b),[b]),k=i.useCallback((w,B)=>{const T=[...a],z=T.findIndex(Xa=>Xa.field===r),Ce={field:r,dir:B};z>=0?T[z].dir!==Ce.dir?T.splice(z,1,Ce):T.splice(z,1):T.push(Ce),D(),s&&s.call(void 0,w,T,r)},[a,r,s,D]),U=i.useCallback((w,B,T)=>{const z={...x,filters:[...x.filters]},Ce=z.filters.indexOf(T);z.filters.splice(Ce,1,B),E(z)},[x]),Q=i.useCallback(w=>{w.preventDefault();const B=(n||[]).slice(),T=F(),z=T?B.indexOf(T):-1;z>=0?B.splice(z,1,x):B.push(x),D(),o&&o.call(void 0,w,B,r)},[n,x,r,o,D,F]),We=i.useCallback(w=>{const B=(n||[]).slice(),T=F(),z=T?B.indexOf(T):-1;z>=0&&B.splice(z,1),l&&E(l(r)),D(),o&&o.call(void 0,w,B,r)},[n,r,o,l,D,F]),wt=i.useCallback(w=>k(w,"asc"),[k]),Ve=i.useCallback(w=>k(w,"desc"),[k]),Kt=i.useCallback(w=>x&&E({...x,logic:w.value.logic}),[x]),fe=a.find(w=>w.field===r)||{dir:""},[me,Ee,ve]=h,kt=L.useLocalization(),Va=u||d?i.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},u&&i.createElement(Ge,{title:kt.toLanguageString(lt,C[lt]),iconClass:"k-i-sort-asc-small",svgIcon:N.sortAscSmallIcon,selected:fe.dir==="asc",onClick:wt}),d&&i.createElement(Ge,{title:kt.toLanguageString(ct,C[ct]),iconClass:"k-i-sort-desc-small",svgIcon:N.sortDescSmallIcon,selected:fe.dir==="desc",onClick:Ve})):null,Ya=x&&h.length>0?i.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},i.createElement(Ge,{iconClass:"k-i-filter",svgIcon:N.filterIcon,title:kt.toLanguageString(ot,C[ot]),onClick:R}),i.createElement(Ur,{show:b,onSubmit:Q,onReset:We},me&&i.createElement(me,{filter:x.filters[0],onFilterChange:U}),Ee&&i.createElement(Ee,{value:x.logic,onChange:Kt}),ve&&i.createElement(ve,{filter:x.filters[1],onFilterChange:U}))):null,on=[Va,Ya],ja=i.createElement("span",{ref:S,onClick:W,onMouseDown:q,className:"k-grid-header-menu k-grid-column-menu"+(F()?" k-active":""),key:"button"},i.createElement(m.IconWrap,{name:"filter",icon:N.filterIcon})),Ua=i.createElement(cn.Popup,{anchor:S.current,show:v,key:"popup",popupClass:"k-column-menu k-column-menu-popup"},i.createElement("div",{ref:A,tabIndex:0,onBlur:P,onFocus:_,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,on,{closeMenu:D,field:r}):on)),ln=[ja,Ua];return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,ln):ln)},la=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"and",filters:[{operator:"contains",field:o,value:""},{operator:"contains",field:o,value:""}]}),[]),a=!!e.field,s=a?[St,He,St]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})},ca=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),a=!!e.field,s=a?[Dt,He,Dt]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})},ua=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),a=!!e.field,s=a?[Mt,He,Mt]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})},da=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"and",filters:[{operator:"eq",field:o,value:!1}]}),[]),a=!!e.field,s=a?[Yr]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})};function de(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=de(e,r,te.orderBy(de(e,r),t)),a=de(n,r).map(s=>Xr(s,t,r));return{...n,[r]:a}}return e}function ha(e,t,r){let n=te.orderBy(e,t);return n=n.map(a=>Xr(a,t,r)),n}function Zr(e,t,r){let n=de(e,r);if(n&&n.length){n=n.map(l=>Zr(l,t,r));const s={filters:[{filters:t,logic:"and"},{operator:l=>!!(l[r]||[]).length}],logic:"or"},o=te.filterBy(n,s);return de(e,r,o)}return e}function pa(e,t,r){let n={[r]:[...e]};return n=Zr(n,t,r),n[r]||[]}function ga(e,t,r){let n=[];const a=[];for(let s=e.length-1;s>=0;s--){const o=e[s];n.push({root:o,data:t(o),level:[s],levelCount:e.length})}for(;n.length>0;){let s=n.pop();if(a.push({dataItem:s.root,level:[...s.level],...r(s.root),levelCount:s.levelCount}),s.data.length)for(let o=s.data.length-1;o>=0;o--){const l=s.data[o];n.push({root:l,data:t(l),level:[...s.level,o],levelCount:s.data.length})}}return a}const fa=(e,t,r)=>{const n=u=>!!m.getNestedValue(t,u),a=u=>!!m.getNestedValue(r,u),s=u=>{const d=[];return n(u)&&a(u)&&d.push(...m.getNestedValue(r,u)),d},o=(u,d,h)=>{d.push({...u,level:h}),s(u).forEach(g=>o(g,d,h+1))},l=[];return e.forEach(u=>o(u,l,0)),l},ma=(e,t,r,n)=>{let a={},s=[],o;return e.forEach(l=>a[t(l)]={...l}),e.forEach(l=>{o=a[r(l)],o?(o[n]=o[n]||[],o[n].push(a[t(l)])):s.push(a[t(l)])}),s},Ea=(e,t,r)=>m.extendDataItem(e,t,r),va=(e,t,r)=>[...m.mapTree([{[t]:[...e]}],t,a=>Ca(a,r,t))[0][t]],Ca=(e,t,r)=>{const n=e[r]||[],a=n.findIndex(t);if(a!==-1){const s=[...n];return s.splice(a,1),{...e,[r]:s}}return e},ba=(e,t,r,n)=>m.mapTree(e,t,a=>r(a)?{...a,[t]:n(a[t]||[])}:a),Nt=(e,t,r)=>m.getItemPath(e,t,r),xa=(e,t,r,n)=>{const a=[...e],s=Nt(a,t,n),o=s.pop(),l=s.pop(),u=t[t.length-1];if(r){const h=Nt(a,r,n).pop();(l?l[n]:a).splice(u,1),h[n]=h[n]||[],h[n].push(o)}else(l?l[n]:a).splice(u,1),a.push(o);return a},he="groupId",Ot="items",Jr=(e,t,r)=>{e.items&&(e[he]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(n=>Jr(n,t-1,e[he])))},ya=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach(r=>Jr(r,t.length,""))},Ia=e=>{const t=[];return m.mapTree(e.data,Ot,r=>{r[he]&&t.push(r[he])}),t},Fa=e=>m.mapTree(e.data,Ot,t=>m.extendDataItem(t,Ot,{expanded:!e.collapsedIds.some(r=>r===t[he])})),La=e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:n,idPrefix:a}=e;t&&(r.current={activeId:"",level:0},n.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:a||m.guid(),navigationMatrix:[],lastHeaderIndex:-1})},Sa=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){At(e);const a=n.current.navigationMatrix[0][0],s=O.getActiveElement(t,a);a&&s&&(r.current.activeId=a,s.setAttribute("tabIndex","0"))}},Da=e=>{const{contextStateRef:t,navigationStateRef:r,document:n}=e;if(t.current&&r.current&&n){const a=m.getActiveElement(n),s=O.getNavigatableId(a);s&&s===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},Ma=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(At(e),r.current&&n.current&&t){if(!O.getActiveElement(t,r.current.activeId)){const s=n.current.navigationMatrix[0][0],o=O.getActiveElement(t,s);s&&o&&(r.current.activeId=s,o.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&o.focus())}n.current.activeElementIsFocused=!1}},Na=(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,a=O.getNavigatableId(n);if(a&&a!==r.current.activeId){const s=O.getClosestScope(n);if(!s)return;const o=O.getActiveElement(s,r.current.activeId);o&&o.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=a}},Oa=(e,t)=>{const{contextStateRef:r,navigationStateRef:n,onNavigationAction:a}=t;if(e.isDefaultPrevented()||!r.current||!n.current)return;if(e.keyCode===m.Keys.esc){const h=O.getClosestNavigatableElement(e.target);O.focusElement({elementForFocus:h,event:e,contextStateRef:r});return}const s=e.target,o=O.getNavigatableId(s),l=O.getNavigatableLevel(s),u=O.getClosestScope(s),d=n.current.navigationMatrix;if(l!==void 0&&u){if(e.keyCode===m.Keys.enter){const h=O.getNavigatableElement(s,{level:l+1});if(h){O.focusElement({elementForFocus:h,event:e,contextStateRef:r,prevElement:s});return}else{const g=O.getFocusableElements(s)[0];O.focusElement({elementForFocus:g,event:e,contextStateRef:r,prevElement:s});return}}if(e.keyCode===m.Keys.up||e.keyCode===m.Keys.down||e.keyCode===m.Keys.left||e.keyCode===m.Keys.right){const h=e.keyCode===m.Keys.up||e.keyCode===m.Keys.left,g=e.keyCode===m.Keys.up||e.keyCode===m.Keys.down;let v;if(n.current&&n.current.prevNavigationIndexes){const[f,b]=n.current.prevNavigationIndexes;d[f][b]===o?v=n.current.prevNavigationIndexes:v=Ct(d,o)}else v=Ct(d,o);if(v){const[f,b]=v,[I,x]=g?Nr(f,b,o,d,h):Or(f,b,o,d,h);if(I){const E=O.getActiveElement(u,I);O.focusElement({elementForFocus:E,event:e,contextStateRef:r,prevElement:s}),n.current.prevNavigationIndexes=x,a&&a({focusElement:E,event:e})}}}}},At=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],a=Dr(r),s=Mr(r);if(!a||!s)return;const o=Array.from(a.children),l=Array.from(s.children);[...o,...l].forEach((u,d)=>{Array.from(u.children).forEach(h=>{const g=Et(h);if(!g)return;const v=h.rowSpan||1,f=h.colSpan||1;let b;for(let I=d,x=d+v;I<x;I++){if(n[I]||(n[I]=[]),b===void 0){const E=n[I].findIndex(S=>!S);b=E>-1?E:n[I].length}n[I][b]=g||""}for(let I=b+1,x=b+f;I<x;I++)n[d][I]=g||""})}),t.current.navigationMatrix=n.filter(u=>!!u),t.current.lastHeaderIndex=o.length-1},Aa={onConstructor:La,onComponentDidMount:Sa,onGetSnapshotBeforeUpdate:Da,onComponentDidUpdate:Ma,onFocus:Na,onKeyDown:Oa,generateMatrix:At},Qr="data-grid-row-index",en="data-grid-col-index",tn="data-prevent-selection",wa="items",J={},Ka=(e,t)=>!e||Array.isArray(e)&&e.length===0?[t]:e.findIndex(n=>n===t)>-1?e.filter(n=>n!==t):[...e,t],V=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if(r.tagName==="TABLE")return null;r=r.parentElement}return null},pe=e=>{if(!e)return;const t=e.getAttribute(Qr);return t?parseInt(t,10):void 0},ge=e=>{if(!e)return;const t=e.getAttribute(en);return t?parseInt(t,10):void 0},ka=e=>{const t=e.subItemsField||wa,r=m.getter(e.dataItemKey);return m.mapTree(e.data,t,n=>m.extendDataItem(n,t,{[e.selectedField]:e.selectedState[r(n)]}))},Ra=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{syntheticEvent:a,nativeEvent:s,dataItems:o,componentId:l,mode:u,cell:d,selectedField:h}=t,{target:g,ctrlKey:v,metaKey:f,altKey:b,shiftKey:I}=s;if(a.isDefaultPrevented()||s.keyCode!==m.Keys.enter)return n;const x=V(g,"TD"),E=V(g,"TR"),S=ge(x),A=pe(E);let M={};return x&&E&&A!==void 0&&S!==void 0&&(M=rn({selectedState:n,dataItemKey:r,event:{ctrlKey:v,metaKey:f,altKey:b,shiftKey:I,dataItems:o,cell:d,mode:u,selectedField:h,componentId:l,startColIndex:S,endColIndex:S,startRowIndex:A,endRowIndex:A,isDrag:!1,syntheticEvent:a,nativeEvent:s,target:t.target,dataItem:null}})),M},rn=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{dataItems:a,startRowIndex:s,endRowIndex:o,startColIndex:l,endColIndex:u,cell:d,isDrag:h,ctrlKey:g,shiftKey:v,metaKey:f,componentId:b,mode:I,dataItem:x}=t,E=m.getter(r);let S={};const A=x!==null;if(I==="single"){const M=a.slice(s,s+1)[0],y=E(M);J[b]={rowIndex:s,colIndex:l},S[y]=d?[l]:!0}else if(h||!v&&!g&&!f&&!A){h||(J[b]={rowIndex:s,colIndex:l});const M=[];for(let F=l;F<=u;F++)M.push(F);a.slice(s,o+1).forEach(F=>{const D=E(F);S[D]=d?[...M]:!0})}else if(g||f||A){J[b]={rowIndex:s,colIndex:l};const y=a.slice(s,o+1)[0],F=E(y);S={...n},S[F]=d&&!A?Ka(S[F],l):!S[F]}else if(v){const M=J[b]&&J[b].rowIndex||0,y=J[b]&&J[b].colIndex||0,F=Math.min(M,s,o),D=Math.max(M,s,o),P=Math.min(y,l,u),_=Math.max(y,l,u),q=[];for(let R=P;R<=_;R++)q.push(R);a.slice(F,D+1).forEach(R=>{const k=E(R);S[k]=d?[...q]:!0})}return S},Ba=m.hasRelativeStackingContext(),nn=e=>{if(!e||!Ba)return null;let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).transform!=="none")return t;t=t.parentElement}},an=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}},sn=e=>{const t=e?typeof e.enabled=="boolean"?e.enabled:!0:!1,r=e?!!e.drag:!1,n=e&&e.mode?e.mode:"multiple",a=!!(e&&e.cell);return{enabled:t,drag:r,mode:n,cell:a}},Ta=e=>{var A;const{onRelease:t,childRef:r}=e,{enabled:n,drag:a,mode:s,cell:o}=sn(e.selectable),l=i.useRef(null),u=i.useRef(null),d=i.useRef({clientX:0,clientY:0}),[h,g]=i.useState(null),v=i.useRef(),f=i.useRef(!1),b=i.useRef(!1),I=i.useCallback(M=>{const{event:y}=M;b.current=y.originalEvent.target.hasAttribute(tn),!(b.current||!l.current)&&(v.current=nn(l.current.element),d.current={clientY:y.clientY,clientX:y.clientX})},[]),x=i.useCallback(M=>{const{event:y}=M,{clientX:F,clientY:D}=d.current;if(!b.current&&!(!a||s==="single")&&((Math.abs(D-y.clientY)>5||Math.abs(F-y.clientX)>5)&&(f.current=!0),f.current)){const P=an(v.current);g({top:Math.min(D,y.clientY)-P.top,left:Math.min(F,y.clientX)-P.left,width:Math.abs(y.clientX-F),height:Math.abs(y.clientY-D)})}},[g,a,s]),E=i.useCallback(M=>{const{event:y}=M,{clientX:F,clientY:D}=d.current;if(b.current||!l.current)return;const P=l.current.element&&l.current.element.ownerDocument;if(P){if(f.current){const _=Math.min(D,y.clientY),q=Math.min(F,y.clientX),W=Math.max(D,y.clientY),R=Math.max(F,y.clientX),k=u.current;if(!k)return;k.style.visibility="hidden";const U=P.elementFromPoint(q,_),Q=P.elementFromPoint(R,W);if(k.style.visibility="",!U||!Q)return;const We=V(U,"TD"),wt=V(We,"TR"),Ve=V(Q,"TD"),Kt=V(Ve,"TR"),fe=ge(We),me=pe(wt),Ee=ge(Ve),ve=pe(Kt);fe!==void 0&&me!==void 0&&Ee!==void 0&&ve!==void 0&&t({nativeEvent:y.originalEvent,startRowIndex:me,startColIndex:fe,endRowIndex:ve,endColIndex:Ee,altKey:y.altKey,shiftKey:y.shiftKey,ctrlKey:y.ctrlKey,metaKey:y.metaKey,mode:s,cell:o,isDrag:!0})}else{const _=P.elementFromPoint(F,D);if(!_)return;const q=V(_,"TD"),W=V(_,"TR"),R=ge(q),k=pe(W);q&&W&&k!==void 0&&R!==void 0&&t({nativeEvent:y.originalEvent,startRowIndex:k,startColIndex:R,endRowIndex:k,endColIndex:R,altKey:y.altKey,shiftKey:y.shiftKey,ctrlKey:y.ctrlKey,metaKey:y.metaKey,mode:s,cell:o,isDrag:!1})}g(null),f.current=!1,d.current={clientX:0,clientY:0}}},[g,s,o,t]),S=m.useDocument(u);return n?i.createElement(i.Fragment,null,i.createElement(m.Draggable,{onPress:I,onDrag:x,onRelease:E,ref:l,childRef:r},e.children),h&&dn.createPortal(i.createElement("div",{ref:u,style:{...h,position:"fixed"},className:"k-marquee k-marquee-color"}),(A=S())==null?void 0:A.body)):i.cloneElement(i.Children.only(e.children),{ref:r})},za="items";var G=(e=>(e.copy="copy",e.cut="cut",e.paste="paste",e))(G||{});const Pa=(e,t,r)=>{const n=e.cellDelimiter||" ",a=e.newLineDelimiter||`\r
6
6
  `,s=t.includes(a)?a:t.includes(`
7
7
  `)?`
8
- `:null,o=s?t.split(s):[t],l=r.copiedItems.length?r.copiedItems[0].fields[0]:e.columns[0].field||"";return o.map(d=>{const h=d.includes(n)?d.split(n):[d],g=e.columns.map(I=>I.field||""),v=g.indexOf(l),f=g.slice(v,v+h.length),b={};return g.slice(v,v+h.length).forEach((I,x)=>b[I]=h[x]),{dataItem:b,fields:f}})},Pa=(e,t)=>{if(!t.length)return null;let r="";return t.forEach((n,a,s)=>r+=`${e[n]}${a<s.length-1?" ":""}`),r},qa=(e,t,r)=>{const n=r.cellDelimiter||" ",a=r.newLineDelimiter||`\r
8
+ `:null,o=s?t.split(s):[t],l=r.copiedItems.length?r.copiedItems[0].fields[0]:e.columns[0].field||"";return o.map(d=>{const h=d.includes(n)?d.split(n):[d],g=e.columns.map(I=>I.field||""),v=g.indexOf(l),f=g.slice(v,v+h.length),b={};return g.slice(v,v+h.length).forEach((I,x)=>b[I]=h[x]),{dataItem:b,fields:f}})},_a=(e,t)=>{if(!t.length)return null;let r="";return t.forEach((n,a,s)=>r+=`${e[n]}${a<s.length-1?" ":""}`),r},qa=(e,t,r)=>{const n=r.cellDelimiter||" ",a=r.newLineDelimiter||`\r
9
9
  `;return`${t.join(n)}${a}${e}`},Ga=e=>{const{event:t,selectedState:r,data:n,dataItemKey:a}=e,s={},o={copiedItems:[],pastedItems:[],clipboardData:""},l=e.subItemsField||za;return Object.entries(r).forEach(([u,d])=>{s[u]=m.isArray(d)?d.map(h=>t.columns[h]):t.columns}),m.mapTree(n,l,u=>{const d=u[a||t.dataItemKey||""]||"";return s[d]&&o.copiedItems.push({dataItem:u,fields:s[d].map(h=>h.field||"")}),u}),o},Ha=(e,t)=>{const r=t.newLineDelimiter||`\r
10
- `,n=e.copiedItems.map((a,s)=>{let o=Pa(a.dataItem,a.fields)||"";return t.copyHeaders&&s===0&&(o=qa(o,a.fields,t)),o?[o]:[]}).join(r);return navigator.clipboard.writeText(n),n},$a=e=>{const{event:t}=e,r=Ga(e);let n="";if(t.type==="paste"){const a=t.nativeEvent?t.nativeEvent.clipboardData:"";n=a?a.getData("text").trim():"",r.pastedItems=_a(t,n,r)}else r.pastedItems=[],n=Ha(r,t);return r.clipboardData=n,r};class Wa{constructor(t){this.copyHandler=r=>{this.clipboardEvent(G.copy,r)},this.cutHandler=r=>{this.clipboardEvent(G.cut,r)},this.pasteHandler=r=>{this.clipboardEvent(G.paste,r)},this.addEventListeners=r=>{r&&(r.addEventListener(G.copy,this.copyHandler),r.addEventListener(G.cut,this.cutHandler),r.addEventListener(G.paste,this.pasteHandler))},this.removeEventListeners=r=>{r&&(r.removeEventListener(G.copy,this.copyHandler),r.removeEventListener(G.cut,this.cutHandler),r.removeEventListener(G.paste,this.pasteHandler))},this.clipboardEvent=t}}c.BooleanFilter=Hr,c.BooleanFilterCell=vn,c.ClipboardActionType=G,c.ClipboardService=Wa,c.ColumnDefaultProps=br,c.ColumnMenuBooleanColumn=da,c.ColumnMenuBooleanFilter=Yr,c.ColumnMenuDateColumn=ua,c.ColumnMenuDateFilter=Mt,c.ColumnMenuFilterForm=Ur,c.ColumnMenuFilterLogic=He,c.ColumnMenuForm=jr,c.ColumnMenuItem=Ge,c.ColumnMenuNumericColumn=ca,c.ColumnMenuNumericFilter=Dt,c.ColumnMenuOperators=ue,c.ColumnMenuTextColumn=la,c.ColumnMenuTextFilter=St,c.ColumnResize=jn,c.ColumnResizer=Pr,c.CommonDragLogic=Un,c.DateFilter=Gr,c.DateFilterCell=bn,c.DragClue=Xn,c.DropClue=Zn,c.EnumFilter=ze,c.Expression=Pe,c.FILTER_ROW_CLASS=wr,c.FOCUSABLE_ELEMENTS=Be,c.Filter=Vr,c.FilterRow=Pn,c.Group=qe,c.Header=Gn,c.HeaderCell=zr,c.HeaderRow=qr,c.HeaderSelectionCell=Vn,c.HeaderThElement=Te,c.KEYBOARD_NAV_DATA_BODY=ft,c.KEYBOARD_NAV_DATA_HEADER=gt,c.KEYBOARD_NAV_DATA_ID=ce,c.KEYBOARD_NAV_DATA_LEVEL=Z,c.KEYBOARD_NAV_DATA_SCOPE=pt,c.KEYBOARD_NAV_DATA_ZONE=Ln,c.KEYBOARD_NAV_FILTER_COL_SUFFIX=xr,c.NumericFilter=It,c.NumericFilterCell=yn,c.Operators=ra,c.Pager=oe,c.TABBABLE_ELEMENTS=Ir,c.TABLE_COL_INDEX_ATTRIBUTE=en,c.TABLE_PREVENT_SELECTION_ELEMENT=tn,c.TABLE_ROW_INDEX_ATTRIBUTE=Qr,c.TableKeyboardNavigationContext=mt,c.TableSelection=Ta,c.TextFilter=yt,c.TextFilterCell=Fn,c.closestTagName=V,c.createDataTree=ma,c.createFilterComponent=le,c.extendDataItem=Ea,c.filterBy=pa,c.flatData=ga,c.getColumnIndex=ge,c.getGroupIds=Ia,c.getIndex=xt,c.getItemPath=Nt,c.getOffset=an,c.getRowIndex=pe,c.getSelectedState=rn,c.getSelectedStateFromKeyDown=Ra,c.getSelectionOptions=sn,c.isRtl=Tr,c.mapColumns=qn,c.modifySubItems=ba,c.moveTreeItem=xa,c.nextColumn=Kr,c.normalize=_r,c.orderBy=ha,c.populateClipboardData=$a,c.readColumns=Br,c.relativeContextElement=nn,c.removeItems=va,c.setExpandedState=Fa,c.setGroupIds=ya,c.setSelectedState=ka,c.stringOperator=Ft,c.tableColumnsVirtualization=Yn,c.tableKeyboardNavigation=Aa,c.tableKeyboardNavigationBodyAttributes=Dn,c.tableKeyboardNavigationHeaderAttributes=Fr,c.tableKeyboardNavigationScopeAttributes=Sn,c.tableKeyboardNavigationTools=O,c.treeToFlat=fa,c.unaryOperator=_e,c.updateLeft=kr,c.updateRight=Rr,c.useTableKeyboardNavigation=Lr,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
10
+ `,n=e.copiedItems.map((a,s)=>{let o=_a(a.dataItem,a.fields)||"";return t.copyHeaders&&s===0&&(o=qa(o,a.fields,t)),o?[o]:[]}).join(r);return navigator.clipboard.writeText(n),n},$a=e=>{const{event:t}=e,r=Ga(e);let n="";if(t.type==="paste"){const a=t.nativeEvent?t.nativeEvent.clipboardData:"";n=a?a.getData("text").trim():"",r.pastedItems=Pa(t,n,r)}else r.pastedItems=[],n=Ha(r,t);return r.clipboardData=n,r};class Wa{constructor(t){this.copyHandler=r=>{this.clipboardEvent(G.copy,r)},this.cutHandler=r=>{this.clipboardEvent(G.cut,r)},this.pasteHandler=r=>{this.clipboardEvent(G.paste,r)},this.addEventListeners=r=>{r&&(r.addEventListener(G.copy,this.copyHandler),r.addEventListener(G.cut,this.cutHandler),r.addEventListener(G.paste,this.pasteHandler))},this.removeEventListeners=r=>{r&&(r.removeEventListener(G.copy,this.copyHandler),r.removeEventListener(G.cut,this.cutHandler),r.removeEventListener(G.paste,this.pasteHandler))},this.clipboardEvent=t}}c.BooleanFilter=Hr,c.BooleanFilterCell=vn,c.ClipboardActionType=G,c.ClipboardService=Wa,c.ColumnDefaultProps=br,c.ColumnMenuBooleanColumn=da,c.ColumnMenuBooleanFilter=Yr,c.ColumnMenuDateColumn=ua,c.ColumnMenuDateFilter=Mt,c.ColumnMenuFilterForm=Ur,c.ColumnMenuFilterLogic=He,c.ColumnMenuForm=jr,c.ColumnMenuItem=Ge,c.ColumnMenuNumericColumn=ca,c.ColumnMenuNumericFilter=Dt,c.ColumnMenuOperators=ue,c.ColumnMenuTextColumn=la,c.ColumnMenuTextFilter=St,c.ColumnResize=jn,c.ColumnResizer=_r,c.CommonDragLogic=Un,c.DateFilter=Gr,c.DateFilterCell=bn,c.DragClue=Xn,c.DropClue=Zn,c.EnumFilter=ze,c.Expression=_e,c.FILTER_ROW_CLASS=wr,c.FOCUSABLE_ELEMENTS=Be,c.Filter=Vr,c.FilterRow=_n,c.Group=qe,c.Header=Gn,c.HeaderCell=zr,c.HeaderRow=qr,c.HeaderSelectionCell=Vn,c.HeaderThElement=Te,c.KEYBOARD_NAV_DATA_BODY=ft,c.KEYBOARD_NAV_DATA_HEADER=gt,c.KEYBOARD_NAV_DATA_ID=ce,c.KEYBOARD_NAV_DATA_LEVEL=Z,c.KEYBOARD_NAV_DATA_SCOPE=pt,c.KEYBOARD_NAV_DATA_ZONE=Ln,c.KEYBOARD_NAV_FILTER_COL_SUFFIX=xr,c.NumericFilter=It,c.NumericFilterCell=yn,c.Operators=ra,c.Pager=oe,c.TABBABLE_ELEMENTS=Ir,c.TABLE_COL_INDEX_ATTRIBUTE=en,c.TABLE_PREVENT_SELECTION_ELEMENT=tn,c.TABLE_ROW_INDEX_ATTRIBUTE=Qr,c.TableKeyboardNavigationContext=mt,c.TableSelection=Ta,c.TextFilter=yt,c.TextFilterCell=Fn,c.closestTagName=V,c.createDataTree=ma,c.createFilterComponent=le,c.extendDataItem=Ea,c.filterBy=pa,c.flatData=ga,c.getColumnIndex=ge,c.getGroupIds=Ia,c.getIndex=xt,c.getItemPath=Nt,c.getOffset=an,c.getRowIndex=pe,c.getSelectedState=rn,c.getSelectedStateFromKeyDown=Ra,c.getSelectionOptions=sn,c.isRtl=Tr,c.mapColumns=qn,c.modifySubItems=ba,c.moveTreeItem=xa,c.nextColumn=Kr,c.normalize=Pr,c.orderBy=ha,c.populateClipboardData=$a,c.readColumns=Br,c.relativeContextElement=nn,c.removeItems=va,c.setExpandedState=Fa,c.setGroupIds=ya,c.setSelectedState=ka,c.stringOperator=Ft,c.tableColumnsVirtualization=Yn,c.tableKeyboardNavigation=Aa,c.tableKeyboardNavigationBodyAttributes=Dn,c.tableKeyboardNavigationHeaderAttributes=Fr,c.tableKeyboardNavigationScopeAttributes=Sn,c.tableKeyboardNavigationTools=O,c.treeToFlat=fa,c.unaryOperator=Pe,c.updateLeft=kr,c.updateRight=Rr,c.useTableKeyboardNavigation=Lr,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
package/index.js CHANGED
@@ -2,7 +2,7 @@
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 pr=require("react"),p=require("prop-types"),m=require("@progress/kendo-react-common"),O=require("@progress/kendo-react-buttons"),F=require("@progress/kendo-react-intl"),U=require("@progress/kendo-react-inputs"),$=require("@progress/kendo-react-dropdowns"),D=require("@progress/kendo-svg-icons"),Ct=require("react-dom"),de=require("@progress/kendo-data-query"),bt=require("@progress/kendo-react-dateinputs"),hr=require("@progress/kendo-react-popup"),gr=require("@progress/kendo-react-animation");function zt(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=zt(pr),mr=zt(Ct),be="pager.info",xe="pager.firstPage",ye="pager.previousPage",Ie="pager.nextPage",Se="pager.lastPage",Fe="pager.itemsPerPage",fr="pager.pageSelection",H="pager.page",X="pager.of",Y="pager.totalPages",Ue="pager.pageNumberLabel",vr="pager.pageLabel",ke="pager.ariaKeyshortcuts",Er="pager.ariaLabel",Le="pager.pageSizeAriaLabel",De="pager.mobileSelect",Re="pager.moreButtonLabel",pe="filter.eqOperator",he="filter.notEqOperator",Oe="filter.isNullOperator",we="filter.isNotNullOperator",_t="filter.isEmptyOperator",qt="filter.isNotEmptyOperator",Gt="filter.startsWithOperator",Ht="filter.containsOperator",$t="filter.notContainsOperator",Wt="filter.endsWithOperator",Vt="filter.gteOperator",Yt="filter.gtOperator",Ut="filter.lteOperator",jt="filter.ltOperator",Xt="filter.isTrue",Zt="filter.isFalse",Qt="filter.afterOrEqualOperator",Jt="filter.afterOperator",en="filter.beforeOperator",tn="filter.beforeOrEqualOperator",je="filter.andLogic",Xe="filter.orLogic",oe="filter.addExpression",se="filter.addGroup",ce="filter.close",Ze="filter.groupAriaLabel",Qe="filter.expressionAriaLabel",Je="filter.expressionDropdownAriaLabel",et="filter.expressionOperatorDropdownAriaLabel",tt="filter.enumFilterDropdownAriaLabel",nt="filter.numericFilterAriaLabel",rt="filter.textFilterAriaLabel",ot="columnMenu.filterClearButton",st="columnMenu.filterSubmitButton",at="columnMenu.filterTitle",it="columnMenu.sortAscending",lt="columnMenu.sortDescending",Ae="columnMenu.filterEqOperator",Te="columnMenu.filterNotEqOperator",Pe="columnMenu.filterIsNullOperator",Be="columnMenu.filterIsNotNullOperator",nn="columnMenu.filterIsEmptyOperator",rn="columnMenu.filterIsNotEmptyOperator",on="columnMenu.filterStartsWithOperator",sn="columnMenu.filterContainsOperator",an="columnMenu.filterNotContainsOperator",ln="columnMenu.filterEndsWithOperator",cn="columnMenu.filterGteOperator",un="columnMenu.filterGtOperator",dn="columnMenu.filterLteOperator",pn="columnMenu.filterLtOperator",hn="columnMenu.filterIsTrue",gn="columnMenu.filterAfterOrEqualOperator",mn="columnMenu.filterAfterOperator",fn="columnMenu.filterBeforeOperator",vn="columnMenu.filterBeforeOrEqualOperator",En="columnMenu.filterAndLogic",Cn="columnMenu.filterOrLogic",ct="sort.ariaLabel",ut="filter.ariaLabel",E={[Fe]:"items per page",[fr]:"Select page",[be]:"{0} - {1} of {2} items",[xe]:"Go to the first page",[ye]:"Go to the previous page",[Ie]:"Go to the next page",[Se]:"Go to the last page",[H]:"Page",[X]:"of",[Y]:"{0}",[vr]:"Page",[ke]:"Enter ArrowRight ArrowLeft",[Er]:"Pager",[Le]:"Page size",[De]:"Select",[Re]:"More pages",[Ue]:"Type a page number",[ct]:"Sortable",[ut]:"Filter",[pe]:"Is equal to",[he]:"Is not equal to",[Oe]:"Is null",[we]:"Is not null",[_t]:"Is empty",[qt]:"Is not empty",[Gt]:"Starts with",[Ht]:"Contains",[$t]:"Does not contain",[Wt]:"Ends with",[Vt]:"Is greater than or equal to",[Yt]:"Is greater than",[Ut]:"Is less than or equal to",[jt]:"Is less than",[Xt]:"Is true",[Zt]:"Is false",[Qt]:"Is after or equal to",[Jt]:"Is after",[en]:"Is before",[tn]:"Is before or equal to",[je]:"And",[Xe]:"Or",[oe]:"Add Expression",[se]:"Add Group",[ce]:"Remove",[Ze]:"Filter toolbar",[Qe]:"Filter expression row",[Je]:"Filter dropdown",[et]:"Filter operator dropdown",[tt]:"Select True/False",[nt]:"Enter number",[rt]:"Enter text",[ot]:"Clear",[st]:"Filter",[at]:"Filter",[it]:"Sort Ascending",[lt]:"Sort Descending",[Ae]:"Is equal to",[Te]:"Is not equal to",[Pe]:"Is null",[Be]:"Is not null",[nn]:"Is empty",[rn]:"Is not empty",[on]:"Starts with",[sn]:"Contains",[an]:"Does not contain",[ln]:"Ends with",[cn]:"Is greater than or equal to",[un]:"Is greater than",[dn]:"Is less than or equal to",[pn]:"Is less than",[hn]:"Is true",[gn]:"Is after or equal to",[mn]:"Is after",[fn]:"Is before",[vn]:"Is before or equal to",[En]:"And",[Cn]:"Or"},Tt="...";class Cr 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=F.provideLocalizationService(this),n=this.props.messagesMap?this.props.messagesMap(De):{messageKey:De,defaultMessage:E[De]},r=this.props.messagesMap?this.props.messagesMap(H):{messageKey:H,defaultMessage:E[H]},o=this.props.messagesMap?this.props.messagesMap(Re):{messageKey:Re,defaultMessage:E[Re]},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 g=this.start;g<=this.end;g++)d.push(g);const h=d.map(g=>a.createElement(O.Button,{className:m.classNames({"k-selected":this.props.currentPage===g}),key:g,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(r.messageKey,r.defaultMessage)+" "+g,"aria-current":this.props.currentPage===g?!0:void 0,onClick:C=>this.handlePageChange(C,g)},g)),v=d.map(g=>a.createElement("option",{key:g},g));return a.createElement(a.Fragment,null,a.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:m.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${m.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(n.messageKey,n.defaultMessage),value:this.props.currentPage,onChange:g=>this.handleSelectPageChange(g)},c,v,u),a.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},i,h,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)},Tt)}renderOptionDots(t){return a.createElement("option",{value:t},Tt)}}class bn 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=F.provideIntlService(this),n=F.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(H):{messageKey:H,defaultMessage:E[H]},o=this.props.messagesMap?this.props.messagesMap(X):{messageKey:X,defaultMessage:E[X]},s=this.props.messagesMap?this.props.messagesMap(Y):{messageKey:Y,defaultMessage:E[Y]},i=this.props.messagesMap?this.props.messagesMap(Y):{messageKey:Ue,defaultMessage:E[Ue]};return a.createElement("span",{className:"k-pager-input"},a.createElement("span",null,n.toLanguageString(r.messageKey,r.defaultMessage)),a.createElement(U.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1,ariaLabel:n.toLanguageString(i.messageKey,i.defaultMessage)}),a.createElement("span",null,`${n.toLanguageString(o.messageKey,o.defaultMessage)} ${t.format(n.toLanguageString(s.messageKey,s.defaultMessage),[this.props.totalPages])}`))}}F.registerForLocalization(bn);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(Fe):{messageKey:Fe,defaultMessage:E[Fe]},l=o?o(Le):{messageKey:Le,defaultMessage:E[Le]};return a.createElement("span",{className:"k-pager-sizes"},a.createElement($.DropDownList,{value:t!==void 0?t:r,data:s,onChange:this.pageSizeChange,ariaLabel:F.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),a.createElement("span",null,F.provideLocalizationService(this).toLanguageString(i.messageKey,i.defaultMessage)))}}F.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/"},Pt=600,br=768;class ge 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<Pt?this.setState({showPagerSizes:!1}):r>=Pt&&r<br?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},m.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,h=F.provideLocalizationService(this),v=F.provideIntlService(this),g=Math.floor(r/o)+1,C=this.props.type==="numeric"?a.createElement(Cr,{type:c&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:g,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:l}):a.createElement(bn,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:g,pageChange:this.changePage,messagesMap:u,size:l}),y=u?u(xe):{messageKey:xe,defaultMessage:E[xe]},b=u?u(ye):{messageKey:ye,defaultMessage:E[ye]},f=u?u(Ie):{messageKey:Ie,defaultMessage:E[Ie]},S=u?u(Se):{messageKey:Se,defaultMessage:E[Se]},R=u?u(be):{messageKey:be,defaultMessage:E[be]},k=u?u(ke):{messageKey:ke,defaultMessage:E[ke]},x=u?u(H):{messageKey:H,defaultMessage:E[H]},I=u?u(X):{messageKey:X,defaultMessage:E[X]},L=u?u(Y):{messageKey:Y,defaultMessage:E[Y]},K=`${v.format(h.toLanguageString(x.messageKey,x.defaultMessage),[o])} ${h.toLanguageString(I.messageKey,I.defaultMessage)} ${v.format(h.toLanguageString(L.messageKey,L.defaultMessage),[d])}`;let z,_,G,A;this.props.previousNext&&(z=this.renderButton(1,"k-pager-nav k-pager-first"+(g===1?" k-disabled":""),h.toLanguageString(y.messageKey,y.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?D.caretAltToRightIcon:D.caretAltToLeftIcon,g===1?!0:void 0),_=this.renderButton(g-1,"k-pager-nav"+(g===1?" k-disabled":""),h.toLanguageString(b.messageKey,b.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?D.caretAltRightIcon:D.caretAltLeftIcon,g===1?!0:void 0),G=this.renderButton(g+1,"k-pager-nav"+(g>=this.totalPages?" k-disabled":""),h.toLanguageString(f.messageKey,f.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?D.caretAltLeftIcon:D.caretAltRightIcon,g>=this.totalPages?!0:void 0),A=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(g>=this.totalPages?" k-disabled":""),h.toLanguageString(S.messageKey,S.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?D.caretAltToLeftIcon:D.caretAltToRightIcon,g>=this.totalPages?!0:void 0));const w=i&&a.createElement(xn,{pageChange:this.onPageChange,pageSize:o,pageSizes:i,value:d,messagesMap:u,size:l}),V=this.props.info&&a.createElement("span",{className:"k-pager-info"},v.format(h.toLanguageString(R.messageKey,R.defaultMessage),[Math.min(r+1,s),Math.min(r+o,s),s]));return a.createElement("div",{className:m.classNames("k-pager",{[`k-pager-${m.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":h.toLanguageString(k.messageKey,k.defaultMessage),"aria-label":K,ref:Q=>this._element=Q},a.createElement("div",{className:m.classNames("k-pager-numbers-wrap")},z,_,C,G,A),c?t&&w:w,c?n&&V:V)}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)}}ge.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};ge.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"};F.registerForIntl(ge);F.registerForLocalization(ge);const me=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:m.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)}))))}},Bt="eq",xr={emptyFilter:{operator:Bt,value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:n=[],field:r}=t,o=n.find(s=>s.field===r);return a.createElement($.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:Bt}];t.onFilterChange.call(void 0,{filter:l,field:r,syntheticEvent:s.syntheticEvent})}})}};class yr extends me(xr){}const Ir={inputComponent:e=>a.createElement(bt.DatePicker,{...e}),operatorComponent:e=>a.createElement($.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class Sr extends me(Ir){}const Fr={inputComponent:e=>a.createElement(U.NumericTextBox,{...e}),operatorComponent:e=>a.createElement($.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class kr extends me(Fr){}const Lr={inputComponent:e=>a.createElement(U.Input,{...e}),operatorComponent:e=>a.createElement($.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class Dr extends me(Lr){}const yn={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},Z="data-keyboardnavlevel",yt="data-keyboardnavscope",It="data-keyboardnavheader",St="data-keyboardnavbody",fe="data-keyboardnavid",Rr="data-keyboardnavzone",In="_filter",Sn=["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=[...Sn,"[tabindex]"],Fn=[...Sn,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Mr={[yt]:!0},kn={[It]:!0},Nr={[St]:!0},Ft=a.createContext(void 0);Ft.displayName="KendoReactTableKeyboardNavigationContext";const Ln=(e,t)=>{const n=a.useContext(Ft);return!n||!e||t===!1?{}:{tabIndex:n&&n.activeId&&n.activeId===e?0:-1,[Z]:n.level,[fe]: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:h,ariaSelected:v}=e,g=Ln(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:h,...g},e.children)};ze.displayName="KendoReactHeaderThElement";const Dn=(e,t,n="cell")=>`${t}_${e}_${n}`,Or=e=>{if(e)return parseInt(e.getAttribute(Z)||"",10)},kt=e=>{if(!e)return;const t=e.getAttribute(fe);return t||void 0},dt=e=>e?!!e.getAttribute(fe):!1,wr=(e,t={level:0})=>e.querySelector(`[${Z}='${t.level}']`),Ar=e=>e.parentElement&&e.parentElement.closest(`[${Z}]`),Tr=(e,t)=>e.querySelector(`[${fe}='${t}']`),Pr=e=>e.parentElement&&e.parentElement.closest(`[${yt}]`),Rn=e=>e.querySelector(`[${It}]`),Mn=e=>e.querySelector(`[${St}]`),Br=(e,t={focusable:!1})=>{let n=t.focusable?Ke:Fn;return Array.from(e.querySelectorAll(n.join(",")))},Kr=(e,t={level:0})=>{if(!e)return[];let n=Ke.map(r=>r+`[${Z}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(n))},zr=(e={level:0})=>{let t=Ke.map(n=>n+`[${Z}='${e.level}']`).join(",");return n=>n.matches(t)},_r=e=>{const{elementForFocus:t,event:n,contextStateRef:r,prevElement:o}=e;r.current&&t&&t.focus&&(n.preventDefault(),t.focus(),dt(t)&&(t.setAttribute("tabIndex","0"),r.current.activeId=kt(t)),o&&dt(o)&&o.setAttribute("tabIndex","-1"))},qr=e=>e.current?e.current.idPrefix:"",Nn=(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[]},On=(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[]},pt=(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]}},Gr=e=>e.current?e.current.navigationMatrix.length:0,wn=e=>e?`${e}${In}`:"",N={generateNavigatableId:Dn,getNavigatableId:kt,getNavigatableLevel:Or,getNavigatableElement:wr,getClosestNavigatableElement:Ar,getActiveElement:Tr,getClosestScope:Pr,getHeaderElement:Rn,getBodyElement:Mn,getFocusableElements:Br,getNavigatableElements:Kr,filterNavigatableElements:zr,focusElement:_r,getIdPrefix:qr,isNavigatable:dt,findNextIdByRowIndex:Nn,findNextIdByCellIndex:On,findId:pt,getNextNavigationIndex:Gr,getFilterColumnId:wn},An="k-table-row k-filter-row",Hr=(e,t,n)=>{let r=`${n?"k-grid-header-sticky":""}`;return e.some(o=>o.field===t)&&(r+=" k-sorted"),r},$r=function(e){const{columns:t,filter:n,filterChange:r,sort:o=[],ariaRowIndex:s}=e,i=F.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:wn(l.id),navigatable:l.navigatable,style:u,key:c,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:d?i.toLanguageString(ut,E[ut]):void 0,className:m.classNames("k-table-th k-header",Hr(o,l.field,l.locked))},d&&a.createElement(d,{field:l.field,filter:n,onFilterChange:r}))}))};function Tn(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 Lt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((n,r)=>Lt(r)+n,0)),t};function Wr(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}),Pn(t,e),Bn(t,e),t}function Pn(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=Lt(s),s.children.length===0)for(let i=s.depth;i<r.length;i++)r[i]+=o;else r[s.depth]+=o})}function Bn(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=Lt(i),i.children.length===0)for(let c=i.depth;c<o.length;c++)o[c]+=r;else o[i.depth]+=r;const l=Tn(t,s);i.rightBorder=!(l&&l.locked)}}}function Kn(e,t,n=0){let r=[];if(!e||!e.length)return[];e.forEach(s=>{const i=Kn(s.children||[],t,n+1);r.push(Object.assign({},{depth:n},yn,s,{id:s.id?s.id:Dn(`${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 zn(e){return!!(e&&getComputedStyle(e).direction==="rtl")}function ht(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 Vr extends a.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:t}=this.props;t&&t.resizable&&t.setIsRtl(zn(this.element))}render(){return a.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:t=>this.element=t,...kn},this.props.headerRow,this.props.filterRow)}}function _n(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 qn=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);class Gn 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(m.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 Yr 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(m.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 Ur={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},jr={none:"none",asc:"ascending",desc:"descending"};class Hn extends a.Component{constructor(){super(...arguments),this.cellClick=(t,n)=>{if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:r,mode:o}=qn(this.props.sortable||!1,n.sortable||!1),s=(this.props.sort||[]).filter(c=>c.field===n.field)[0],i=Ur[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===m.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(f=>f.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},h={field:o.field,onClick:l&&(f=>this.cellClick(f,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,g=m.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(f=>f.field===o.field)},o.headerClassName),C=o.locked!==void 0?{left:o.left,right:o.right,borderRightWidth:o.rightBorder?"1px":""}:{},y=F.provideLocalizationService(this).toLanguageString(ct,E[ct]);let b=o.isAccessible?{ariaSort:l?jr[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:g,style:C,columnId:o.id,navigatable:o.navigatable,onKeyDown:l&&(f=>this.cellKeyDown(f,o))||void 0,...b},o.headerCell&&a.createElement(o.headerCell,{...h}),!o.headerCell&&a.createElement("span",{className:"k-cell-inner"},a.createElement(_n,{...h}),v&&a.createElement(v,{...d})),s&&i&&a.createElement(Gn,{key:"ColumnResizer",resize:(f,S,R)=>s.dragHandler(f,o,S,R)}))})}sortIcon(t){if(!this.props.sort||t<0)return null;const n=this.props.sort[t].dir;return n?[a.createElement(m.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(Yr,{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)))}}F.registerForLocalization(Hn);function Xr(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 Zr(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(f=>parseFloat((f.width||"").toString())||10);let c=0;for(let f=0;f<n.length;f++){if(n[f].locked)continue;const S=f<l.length-1?l[f+1]:0;if(c+l[f]+S<o)i[f]=!0,c+=l[f];else break}const u=l.reduce((f,S)=>f+S,0);c=0;for(let f=n.length-1;f>=0;f--)if(!n[f].locked)if(c+2*l[f]<u-r-o)i[f]=!0,c+=l[f];else break;const d=[...i],h=f=>f;let v=d.lastIndexOf(!1),g=d.some(h),C=d.every(h),y,b;for(;g&&d.length&&(v!==-1||C);){for(v<d.length-1&&(y=C?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),g=d.some(h),C=d.every(h)}return{colSpans:s,hiddenColumns:i}}class Qr{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 Jr{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=ht(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 ht(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 eo 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&&m.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(m.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 to 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&&m.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 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=F.provideLocalizationService(this),{ariaLabel:n=t.toLanguageString(rt,E[rt])}=this.props;return a.createElement(U.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":n})}}Dt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string};F.registerForLocalization(Dt);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=F.provideLocalizationService(this),{min:n,max:r,filter:o,ariaLabel:s=t.toLanguageString(nt,E[nt])}=this.props;return a.createElement(U.NumericTextBox,{value:typeof o.value=="number"?o.value:null,onChange:this.onChange,ariaLabel:s,"aria-valuemin":n,"aria-valuemax":r,min:n,max:r})}}Rt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired};F.registerForLocalization(Rt);class $n 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(bt.DatePicker,{value:t.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}}$n.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=F.provideLocalizationService(this),{filter:n,data:r=[],defaultItem:o,ariaLabel:s=t.toLanguageString(tt,E[tt])}=this.props,i=r.map(l=>({...l,text:t.toLanguageString(l.text,E[l.text]||l.text)}));return a.createElement($.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};F.registerForLocalization(_e);class Wn extends a.Component{constructor(){super(...arguments),this.data=[{text:Xt,value:!0},{text:Zt,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 no=[{text:Ht,operator:"contains"},{text:$t,operator:"doesnotcontain"},{text:pe,operator:"eq"},{text:he,operator:"neq"},{text:Gt,operator:"startswith"},{text:Wt,operator:"endswith"},{text:Oe,operator:"isnull"},{text:we,operator:"isnotnull"},{text:_t,operator:"isempty"},{text:qt,operator:"isnotempty"}],ro=[{text:pe,operator:"eq"},{text:he,operator:"neq"},{text:Vt,operator:"gte"},{text:Yt,operator:"gt"},{text:Ut,operator:"lte"},{text:jt,operator:"lt"},{text:Oe,operator:"isnull"},{text:we,operator:"isnotnull"}],oo=[{text:pe,operator:"eq"},{text:he,operator:"neq"},{text:Qt,operator:"gte"},{text:Jt,operator:"gt"},{text:en,operator:"lt"},{text:tn,operator:"lte"},{text:Oe,operator:"isnull"},{text:we,operator:"isnotnull"}],so=[{text:pe,operator:"eq"},{text:he,operator:"neq"}];class ao{static get text(){return[...no]}static get numeric(){return[...ro]}static get date(){return[...oo]}static get boolean(){return[...so]}}const Mt=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",Ne=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",Kt=e=>{e.value===void 0&&!Ne(e.operator)&&(e.value=Mt(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};Kt(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};Kt(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=F.provideLocalizationService(this),{fields:n,filter:r,ariaLabel:o=t.toLanguageString(Qe,E[Qe])}=this.props,s=n.find(l=>l.name===r.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($.DropDownList,{className:"k-filter-dropdown",data:n,textField:"label",value:n.find(l=>l.name===r.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(Je,E[Je])})),a.createElement(O.ToolbarItem,{className:"k-filter-operator"},a.createElement($.DropDownList,{data:i,textField:"text",value:i.find(l=>l.operator===r.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(et,E[et])})),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(ce,E[ce]),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};F.registerForLocalization(qe);const Vn=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=Mt(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=F.provideLocalizationService(this),{fields:t,filter:n,ariaLabel:r=e.toLanguageString(Ze,E[Ze])}=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(je,E[je])),a.createElement(O.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:n.logic==="or",type:"button"},e.toLanguageString(Xe,E[Xe]))),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(oe,E[oe]),icon:"filter-add-expression",svgIcon:D.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(oe,E[oe])),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(se,E[se]),icon:"filter-add-group",svgIcon:D.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(se,E[se])),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(ce,E[ce]),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"},de.isCompositeFilterDescriptor(o)?a.createElement(Vn,{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=Vn;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};F.registerForLocalization(Ge);class Yn 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)},m.validatePackage(xt)}render(){return a.createElement("div",{className:m.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:[]}}))))}}Yn.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:m.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&a.createElement(m.IconWrap,{name:e.iconClass?m.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),io=[{text:sn,operator:"contains"},{text:an,operator:"doesnotcontain"},{text:Ae,operator:"eq"},{text:Te,operator:"neq"},{text:on,operator:"startswith"},{text:ln,operator:"endswith"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"},{text:nn,operator:"isempty"},{text:rn,operator:"isnotempty"}],lo=[{text:Ae,operator:"eq"},{text:Te,operator:"neq"},{text:cn,operator:"gte"},{text:un,operator:"gt"},{text:dn,operator:"lte"},{text:pn,operator:"lt"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"}],co=[{text:Ae,operator:"eq"},{text:Te,operator:"neq"},{text:gn,operator:"gte"},{text:mn,operator:"gt"},{text:fn,operator:"lt"},{text:vn,operator:"lte"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"}],uo=[{text:hn,operator:""}];class ve{static get text(){return[...io]}static get numeric(){return[...lo]}static get date(){return[...co]}static get boolean(){return[...uo]}}const Nt=e=>{const{filter:t,onFilterChange:n,operators:r,initialFilter:o}=e,s=a.useCallback(u=>{const d=t,h=u.target.value.operator,v=d?{...d,operator:h}:{value:o.value,operator:h};n.call(void 0,u.syntheticEvent,v,d)},[t,n,o]),i=a.useCallback(u=>{const d=u.target.value,h=t,v=h?{...h,value:d}:{value:d,operator:r[0].operator};n.call(void 0,u,v,h)},[t,n,r]),l=F.useLocalization(),c=r.map(u=>({...u,text:l.toLanguageString(u.text,E[u.text])}));return a.createElement(a.Fragment,null,a.createElement($.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}))},Un=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=ve.boolean[0].text;return a.createElement(U.Checkbox,{onChange:r,checked:t.value,label:F.useLocalization().toLanguageString(o,E[o]),labelPlacement:"after"})},gt=e=>{const t=a.useCallback(o=>a.createElement(U.Input,{...o,value:o.value||""}),[]),n=a.useRef(ve.text),r=a.useRef({operator:"",value:""});return a.createElement(Nt,{initialFilter:r.current,input:t,operators:e.operators||n.current,...e})},mt=e=>{const t=a.useCallback(o=>a.createElement(U.NumericTextBox,{...o,value:o.value||null}),[]),n=a.useRef(ve.numeric),r=a.useRef({operator:"",value:null});return a.createElement(Nt,{initialFilter:r.current,input:t,operators:e.operators||n.current,...e})},ft=e=>{const t=a.useCallback(o=>a.createElement(bt.DatePicker,{...o,value:o.value||null}),[]),n=a.useRef(ve.date),r=a.useRef({operator:"",value:null});return a.createElement(Nt,{initialFilter:r.current,input:t,operators:e.operators||n.current,...e})},po=[{text:En,logic:"and"},{text:Cn,logic:"or"}],He=e=>{const t=F.useLocalization(),n=(e.data||po).map(r=>({...r,text:t.toLanguageString(r.text,E[r.text])}));return a.createElement($.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:n,value:n.find(r=>r.logic===e.value)})},jn=e=>a.createElement("div",{className:"k-columnmenu-item-content"},a.createElement(gr.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=F.useLocalization();return a.createElement(jn,{...e,actions:a.createElement(a.Fragment,null,a.createElement(O.Button,{type:"reset"},t.toLanguageString(ot,E[ot])),a.createElement(O.Button,{themeColor:"primary"},t.toLanguageString(st,E[st])))})},$e=e=>{m.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:h=!1}=e,[v,g]=a.useState(!1),[C,y]=a.useState(h),[b,f]=a.useState(n&&l?l(n):null),S=a.useRef(null),R=a.useRef(null),k=a.useRef(null),x=a.useRef(!1),I=a.useCallback(()=>(r||[]).find(M=>M.filters.every(T=>!de.isCompositeFilterDescriptor(T)&&T.field===n)),[r,n]),L=a.useCallback(()=>{g(!1)},[]),K=a.useCallback(()=>{if(x.current){x.current=!1;return}clearTimeout(k.current),k.current=window.setTimeout(()=>{L()})},[L]),z=a.useCallback(()=>clearTimeout(k.current),[]),_=a.useCallback(M=>{x.current=v&&M.currentTarget===S.current},[v]),G=a.useCallback(()=>{g(!v),n&&l&&(y(v?!1:h),f(v?b:I()||l(n)))},[I,n,v,b,l,h]);a.useEffect(()=>{v&&R.current&&R.current.focus()},[v]);const A=a.useCallback(()=>y(!C),[C]),w=a.useCallback((M,T)=>{const P=[...o],B=P.findIndex(dr=>dr.field===n),re={field:n,dir:T};B>=0?P[B].dir!==re.dir?P.splice(B,1,re):P.splice(B,1):P.push(re),L(),s&&s.call(void 0,M,P,n)},[o,n,s,L]),V=a.useCallback((M,T,P)=>{const B={...b,filters:[...b.filters]},re=B.filters.indexOf(P);B.filters.splice(re,1,T),f(B)},[b]),Q=a.useCallback(M=>{M.preventDefault();const T=(r||[]).slice(),P=I(),B=P?T.indexOf(P):-1;B>=0?T.splice(B,1,b):T.push(b),L(),i&&i.call(void 0,M,T,n)},[r,b,n,i,L,I]),Ee=a.useCallback(M=>{const T=(r||[]).slice(),P=I(),B=P?T.indexOf(P):-1;B>=0&&T.splice(B,1),l&&f(l(n)),L(),i&&i.call(void 0,M,T,n)},[r,n,i,l,L,I]),We=a.useCallback(M=>w(M,"asc"),[w]),Ce=a.useCallback(M=>w(M,"desc"),[w]),Ve=a.useCallback(M=>b&&f({...b,logic:M.value.logic}),[b]),J=o.find(M=>M.field===n)||{dir:""},[ee,te,ne]=d,Ye=F.useLocalization(),ir=c||u?a.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},c&&a.createElement(Me,{title:Ye.toLanguageString(it,E[it]),iconClass:"k-i-sort-asc-small",svgIcon:D.sortAscSmallIcon,selected:J.dir==="asc",onClick:We}),u&&a.createElement(Me,{title:Ye.toLanguageString(lt,E[lt]),iconClass:"k-i-sort-desc-small",svgIcon:D.sortDescSmallIcon,selected:J.dir==="desc",onClick:Ce})):null,lr=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(at,E[at]),onClick:A}),a.createElement(Xn,{show:C,onSubmit:Q,onReset:Ee},ee&&a.createElement(ee,{filter:b.filters[0],onFilterChange:V}),te&&a.createElement(te,{value:b.logic,onChange:Ve}),ne&&a.createElement(ne,{filter:b.filters[1],onFilterChange:V}))):null,wt=[ir,lr],cr=a.createElement("span",{ref:S,onClick:G,onMouseDown:_,className:"k-grid-header-menu k-grid-column-menu"+(I()?" k-active":""),key:"button"},a.createElement(m.IconWrap,{name:"filter",icon:D.filterIcon})),ur=a.createElement(hr.Popup,{anchor:S.current,show:v,key:"popup",popupClass:"k-column-menu k-column-menu-popup"},a.createElement("div",{ref:R,tabIndex:0,onBlur:K,onFocus:z,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,wt,{closeMenu:L,field:n}):wt)),At=[cr,ur];return a.createElement(a.Fragment,null,e.render?e.render.call(void 0,At):At)},ho=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?[gt,He,gt]:[];return a.createElement($e,{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:"or",filters:[{operator:"eq",field:i,value:null},{operator:"eq",field:i,value:null}]}),[]),o=!!e.field,s=o?[mt,He,mt]:[];return a.createElement($e,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?r:void 0,field:t,...n})},mo=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($e,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?r:void 0,field:t,...n})},fo=e=>{const{field:t,...n}=e,r=a.useCallback(i=>({logic:"and",filters:[{operator:"eq",field:i,value:!1}]}),[]),o=!!e.field,s=o?[Un]:[];return a.createElement($e,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?r:void 0,field:t,...n})};function ae(e,t,n){return n?{...e,[t]:n.length?[...n]:void 0}:e&&e[t]?[...e[t]]:[]}function Zn(e,t,n){if(e[n]){let r=ae(e,n,de.orderBy(ae(e,n),t)),o=ae(r,n).map(s=>Zn(s,t,n));return{...r,[n]:o}}return e}function vo(e,t,n){let r=de.orderBy(e,t);return r=r.map(o=>Zn(o,t,n)),r}function Qn(e,t,n){let r=ae(e,n);if(r&&r.length){r=r.map(l=>Qn(l,t,n));const s={filters:[{filters:t,logic:"and"},{operator:l=>!!(l[n]||[]).length}],logic:"or"},i=de.filterBy(r,s);return ae(e,n,i)}return e}function Eo(e,t,n){let r={[n]:[...e]};return r=Qn(r,t,n),r[n]||[]}function Co(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 bo=(e,t,n)=>{const r=c=>!!m.getNestedValue(t,c),o=c=>!!m.getNestedValue(n,c),s=c=>{const u=[];return r(c)&&o(c)&&u.push(...m.getNestedValue(n,c)),u},i=(c,u,d)=>{u.push({...c,level:d}),s(c).forEach(h=>i(h,u,d+1))},l=[];return e.forEach(c=>i(c,l,0)),l},xo=(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},yo=(e,t,n)=>m.extendDataItem(e,t,n),Io=(e,t,n)=>[...m.mapTree([{[t]:[...e]}],t,o=>So(o,n,t))[0][t]],So=(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},Fo=(e,t,n,r)=>m.mapTree(e,t,o=>n(o)?{...o,[t]:r(o[t]||[])}:o),vt=(e,t,n)=>m.getItemPath(e,t,n),ko=(e,t,n,r)=>{const o=[...e],s=vt(o,t,r),i=s.pop(),l=s.pop(),c=t[t.length-1];if(n){const d=vt(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},ue="groupId",Et="items",Jn=(e,t,n)=>{e.items&&(e[ue]=`${n}${n&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(r=>Jn(r,t-1,e[ue])))},Lo=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach(n=>Jn(n,t.length,""))},Do=e=>{const t=[];return m.mapTree(e.data,Et,n=>{n[ue]&&t.push(n[ue])}),t},Ro=e=>m.mapTree(e.data,Et,t=>m.extendDataItem(t,Et,{expanded:!e.collapsedIds.some(n=>n===t[ue])})),Mo=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||m.guid(),navigationMatrix:[],lastHeaderIndex:-1})},No=e=>{const{scope:t,contextStateRef:n,navigationStateRef:r}=e;if(n.current&&r.current&&t){Ot(e);const o=r.current.navigationMatrix[0][0],s=N.getActiveElement(t,o);o&&s&&(n.current.activeId=o,s.setAttribute("tabIndex","0"))}},Oo=e=>{const{contextStateRef:t,navigationStateRef:n,document:r}=e;if(t.current&&n.current&&r){const o=m.getActiveElement(r),s=N.getNavigatableId(o);s&&s===t.current.activeId&&(n.current.activeElementIsFocused=!0)}},wo=e=>{const{scope:t,contextStateRef:n,navigationStateRef:r}=e;if(Ot(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}},Ao=(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}},To=(e,t)=>{const{contextStateRef:n,navigationStateRef:r,onNavigationAction:o}=t;if(e.isDefaultPrevented()||!n.current||!r.current)return;if(e.keyCode===m.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===m.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 h=N.getFocusableElements(s)[0];N.focusElement({elementForFocus:h,event:e,contextStateRef:n,prevElement:s});return}}if(e.keyCode===m.Keys.up||e.keyCode===m.Keys.down||e.keyCode===m.Keys.left||e.keyCode===m.Keys.right){const d=e.keyCode===m.Keys.up||e.keyCode===m.Keys.left,h=e.keyCode===m.Keys.up||e.keyCode===m.Keys.down;let v;if(r.current&&r.current.prevNavigationIndexes){const[g,C]=r.current.prevNavigationIndexes;u[g][C]===i?v=r.current.prevNavigationIndexes:v=pt(u,i)}else v=pt(u,i);if(v){const[g,C]=v,[y,b]=h?Nn(g,C,i,u,d):On(g,C,i,u,d);if(y){const f=N.getActiveElement(c,y);N.focusElement({elementForFocus:f,event:e,contextStateRef:n,prevElement:s}),r.current.prevNavigationIndexes=b,o&&o({focusElement:f,event:e})}}}}},Ot=e=>{const{navigationStateRef:t,scope:n}=e;if(!t.current||!n)return;const r=[],o=Rn(n),s=Mn(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 h=kt(d);if(!h)return;const v=d.rowSpan||1,g=d.colSpan||1;let C;for(let y=u,b=u+v;y<b;y++){if(r[y]||(r[y]=[]),C===void 0){const f=r[y].findIndex(S=>!S);C=f>-1?f:r[y].length}r[y][C]=h||""}for(let y=C+1,b=C+g;y<b;y++)r[u][y]=h||""})}),t.current.navigationMatrix=r.filter(c=>!!c),t.current.lastHeaderIndex=i.length-1},Po={onConstructor:Mo,onComponentDidMount:No,onGetSnapshotBeforeUpdate:Oo,onComponentDidUpdate:wo,onFocus:Ao,onKeyDown:To,generateMatrix:Ot},er="data-grid-row-index",tr="data-grid-col-index",nr="data-prevent-selection",Bo="items",j={},Ko=(e,t)=>!e||Array.isArray(e)&&e.length===0?[t]:e.findIndex(r=>r===t)>-1?e.filter(r=>r!==t):[...e,t],W=(e,t)=>{let n=e;for(;n;){if(n.tagName===t)return n;if(n.tagName==="TABLE")return null;n=n.parentElement}return null},ie=e=>{if(!e)return;const t=e.getAttribute(er);return t?parseInt(t,10):void 0},le=e=>{if(!e)return;const t=e.getAttribute(tr);return t?parseInt(t,10):void 0},zo=e=>{const t=e.subItemsField||Bo,n=m.getter(e.dataItemKey);return m.mapTree(e.data,t,r=>m.extendDataItem(r,t,{[e.selectedField]:e.selectedState[n(r)]}))},_o=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:h,ctrlKey:v,metaKey:g,altKey:C,shiftKey:y}=s;if(o.isDefaultPrevented()||s.keyCode!==m.Keys.enter)return r;const b=W(h,"TD"),f=W(h,"TR"),S=le(b),R=ie(f);let k={};return b&&f&&R!==void 0&&S!==void 0&&(k=rr({selectedState:r,dataItemKey:n,event:{ctrlKey:v,metaKey:g,altKey:C,shiftKey:y,dataItems:i,cell:u,mode:c,selectedField:d,componentId:l,startColIndex:S,endColIndex:S,startRowIndex:R,endRowIndex:R,isDrag:!1,syntheticEvent:o,nativeEvent:s,target:t.target,dataItem:null}})),k},rr=e=>{const{event:t,dataItemKey:n,selectedState:r}=e,{dataItems:o,startRowIndex:s,endRowIndex:i,startColIndex:l,endColIndex:c,cell:u,isDrag:d,ctrlKey:h,shiftKey:v,metaKey:g,componentId:C,mode:y,dataItem:b}=t,f=m.getter(n);let S={};const R=b!==null;if(y==="single"){const k=o.slice(s,s+1)[0],x=f(k);j[C]={rowIndex:s,colIndex:l},S[x]=u?[l]:!0}else if(d||!v&&!h&&!g&&!R){d||(j[C]={rowIndex:s,colIndex:l});const k=[];for(let I=l;I<=c;I++)k.push(I);o.slice(s,i+1).forEach(I=>{const L=f(I);S[L]=u?[...k]:!0})}else if(h||g||R){j[C]={rowIndex:s,colIndex:l};const x=o.slice(s,i+1)[0],I=f(x);S={...r},S[I]=u&&!R?Ko(S[I],l):!S[I]}else if(v){const k=j[C]&&j[C].rowIndex||0,x=j[C]&&j[C].colIndex||0,I=Math.min(k,s,i),L=Math.max(k,s,i),K=Math.min(x,l,c),z=Math.max(x,l,c),_=[];for(let A=K;A<=z;A++)_.push(A);o.slice(I,L+1).forEach(A=>{const w=f(A);S[w]=u?[..._]:!0})}return S},qo=m.hasRelativeStackingContext(),or=e=>{if(!e||!qo)return null;let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).transform!=="none")return t;t=t.parentElement}},sr=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}},ar=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}},Go=e=>{var R;const{onRelease:t,childRef:n}=e,{enabled:r,drag:o,mode:s,cell:i}=ar(e.selectable),l=a.useRef(null),c=a.useRef(null),u=a.useRef({clientX:0,clientY:0}),[d,h]=a.useState(null),v=a.useRef(),g=a.useRef(!1),C=a.useRef(!1),y=a.useCallback(k=>{const{event:x}=k;C.current=x.originalEvent.target.hasAttribute(nr),!(C.current||!l.current)&&(v.current=or(l.current.element),u.current={clientY:x.clientY,clientX:x.clientX})},[]),b=a.useCallback(k=>{const{event:x}=k,{clientX:I,clientY:L}=u.current;if(!C.current&&!(!o||s==="single")&&((Math.abs(L-x.clientY)>5||Math.abs(I-x.clientX)>5)&&(g.current=!0),g.current)){const K=sr(v.current);h({top:Math.min(L,x.clientY)-K.top,left:Math.min(I,x.clientX)-K.left,width:Math.abs(x.clientX-I),height:Math.abs(x.clientY-L)})}},[h,o,s]),f=a.useCallback(k=>{const{event:x}=k,{clientX:I,clientY:L}=u.current;if(C.current||!l.current)return;const K=l.current.element&&l.current.element.ownerDocument;if(K){if(g.current){const z=Math.min(L,x.clientY),_=Math.min(I,x.clientX),G=Math.max(L,x.clientY),A=Math.max(I,x.clientX),w=c.current;if(!w)return;w.style.visibility="hidden";const V=K.elementFromPoint(_,z),Q=K.elementFromPoint(A,G);if(w.style.visibility="",!V||!Q)return;const Ee=W(V,"TD"),We=W(Ee,"TR"),Ce=W(Q,"TD"),Ve=W(Ce,"TR"),J=le(Ee),ee=ie(We),te=le(Ce),ne=ie(Ve);J!==void 0&&ee!==void 0&&te!==void 0&&ne!==void 0&&t({nativeEvent:x.originalEvent,startRowIndex:ee,startColIndex:J,endRowIndex:ne,endColIndex:te,altKey:x.altKey,shiftKey:x.shiftKey,ctrlKey:x.ctrlKey,metaKey:x.metaKey,mode:s,cell:i,isDrag:!0})}else{const z=K.elementFromPoint(I,L);if(!z)return;const _=W(z,"TD"),G=W(z,"TR"),A=le(_),w=ie(G);_&&G&&w!==void 0&&A!==void 0&&t({nativeEvent:x.originalEvent,startRowIndex:w,startColIndex:A,endRowIndex:w,endColIndex:A,altKey:x.altKey,shiftKey:x.shiftKey,ctrlKey:x.ctrlKey,metaKey:x.metaKey,mode:s,cell:i,isDrag:!1})}h(null),g.current=!1,u.current={clientX:0,clientY:0}}},[h,s,i,t]),S=m.useDocument(c);return r?a.createElement(a.Fragment,null,a.createElement(m.Draggable,{onPress:y,onDrag:b,onRelease:f,ref:l,childRef:n},e.children),d&&mr.createPortal(a.createElement("div",{ref:c,style:{...d,position:"fixed"},className:"k-marquee k-marquee-color"}),(R=S())==null?void 0:R.body)):a.cloneElement(a.Children.only(e.children),{ref:n})},Ho="items";var q=(e=>(e.copy="copy",e.cut="cut",e.paste="paste",e))(q||{});const $o=(e,t,n)=>{const r=e.cellDelimiter||" ",o=e.newLineDelimiter||`\r
5
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const pr=require("react"),p=require("prop-types"),m=require("@progress/kendo-react-common"),O=require("@progress/kendo-react-buttons"),F=require("@progress/kendo-react-intl"),U=require("@progress/kendo-react-inputs"),$=require("@progress/kendo-react-dropdowns"),D=require("@progress/kendo-svg-icons"),Ct=require("react-dom"),de=require("@progress/kendo-data-query"),bt=require("@progress/kendo-react-dateinputs"),hr=require("@progress/kendo-react-popup"),gr=require("@progress/kendo-react-animation");function zt(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=zt(pr),mr=zt(Ct),be="pager.info",xe="pager.firstPage",ye="pager.previousPage",Ie="pager.nextPage",Se="pager.lastPage",Fe="pager.itemsPerPage",fr="pager.pageSelection",H="pager.page",X="pager.of",Y="pager.totalPages",Ue="pager.pageNumberLabel",vr="pager.pageLabel",ke="pager.ariaKeyshortcuts",Er="pager.ariaLabel",Le="pager.pageSizeAriaLabel",De="pager.mobileSelect",Re="pager.moreButtonLabel",pe="filter.eqOperator",he="filter.notEqOperator",Oe="filter.isNullOperator",we="filter.isNotNullOperator",_t="filter.isEmptyOperator",qt="filter.isNotEmptyOperator",Gt="filter.startsWithOperator",Ht="filter.containsOperator",$t="filter.notContainsOperator",Wt="filter.endsWithOperator",Vt="filter.gteOperator",Yt="filter.gtOperator",Ut="filter.lteOperator",jt="filter.ltOperator",Xt="filter.isTrue",Zt="filter.isFalse",Qt="filter.afterOrEqualOperator",Jt="filter.afterOperator",en="filter.beforeOperator",tn="filter.beforeOrEqualOperator",je="filter.andLogic",Xe="filter.orLogic",oe="filter.addExpression",se="filter.addGroup",ce="filter.close",Ze="filter.groupAriaLabel",Qe="filter.expressionAriaLabel",Je="filter.expressionDropdownAriaLabel",et="filter.expressionOperatorDropdownAriaLabel",tt="filter.enumFilterDropdownAriaLabel",nt="filter.numericFilterAriaLabel",rt="filter.textFilterAriaLabel",ot="columnMenu.filterClearButton",st="columnMenu.filterSubmitButton",at="columnMenu.filterTitle",it="columnMenu.sortAscending",lt="columnMenu.sortDescending",Ae="columnMenu.filterEqOperator",Te="columnMenu.filterNotEqOperator",Pe="columnMenu.filterIsNullOperator",Be="columnMenu.filterIsNotNullOperator",nn="columnMenu.filterIsEmptyOperator",rn="columnMenu.filterIsNotEmptyOperator",on="columnMenu.filterStartsWithOperator",sn="columnMenu.filterContainsOperator",an="columnMenu.filterNotContainsOperator",ln="columnMenu.filterEndsWithOperator",cn="columnMenu.filterGteOperator",un="columnMenu.filterGtOperator",dn="columnMenu.filterLteOperator",pn="columnMenu.filterLtOperator",hn="columnMenu.filterIsTrue",gn="columnMenu.filterAfterOrEqualOperator",mn="columnMenu.filterAfterOperator",fn="columnMenu.filterBeforeOperator",vn="columnMenu.filterBeforeOrEqualOperator",En="columnMenu.filterAndLogic",Cn="columnMenu.filterOrLogic",ct="sort.ariaLabel",ut="filter.ariaLabel",E={[Fe]:"items per page",[fr]:"Select page",[be]:"{0} - {1} of {2} items",[xe]:"Go to the first page",[ye]:"Go to the previous page",[Ie]:"Go to the next page",[Se]:"Go to the last page",[H]:"Page",[X]:"of",[Y]:"{0}",[vr]:"Page",[ke]:"Enter ArrowRight ArrowLeft",[Er]:"Pager",[Le]:"Page size",[De]:"Select",[Re]:"More pages",[Ue]:"Type a page number",[ct]:"Sortable",[ut]:"Filter",[pe]:"Is equal to",[he]:"Is not equal to",[Oe]:"Is null",[we]:"Is not null",[_t]:"Is empty",[qt]:"Is not empty",[Gt]:"Starts with",[Ht]:"Contains",[$t]:"Does not contain",[Wt]:"Ends with",[Vt]:"Is greater than or equal to",[Yt]:"Is greater than",[Ut]:"Is less than or equal to",[jt]:"Is less than",[Xt]:"Is true",[Zt]:"Is false",[Qt]:"Is after or equal to",[Jt]:"Is after",[en]:"Is before",[tn]:"Is before or equal to",[je]:"And",[Xe]:"Or",[oe]:"Add Expression",[se]:"Add Group",[ce]:"Remove",[Ze]:"Filter toolbar",[Qe]:"Filter expression row",[Je]:"Filter dropdown",[et]:"Filter operator dropdown",[tt]:"Select True/False",[nt]:"Enter number",[rt]:"Enter text",[ot]:"Clear",[st]:"Filter",[at]:"Filter",[it]:"Sort Ascending",[lt]:"Sort Descending",[Ae]:"Is equal to",[Te]:"Is not equal to",[Pe]:"Is null",[Be]:"Is not null",[nn]:"Is empty",[rn]:"Is not empty",[on]:"Starts with",[sn]:"Contains",[an]:"Does not contain",[ln]:"Ends with",[cn]:"Is greater than or equal to",[un]:"Is greater than",[dn]:"Is less than or equal to",[pn]:"Is less than",[hn]:"Is true",[gn]:"Is after or equal to",[mn]:"Is after",[fn]:"Is before",[vn]:"Is before or equal to",[En]:"And",[Cn]:"Or"},Tt="...";class Cr 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=F.provideLocalizationService(this),n=this.props.messagesMap?this.props.messagesMap(De):{messageKey:De,defaultMessage:E[De]},r=this.props.messagesMap?this.props.messagesMap(H):{messageKey:H,defaultMessage:E[H]},o=this.props.messagesMap?this.props.messagesMap(Re):{messageKey:Re,defaultMessage:E[Re]},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 g=this.start;g<=this.end;g++)d.push(g);const h=d.map(g=>a.createElement(O.Button,{className:m.classNames({"k-selected":this.props.currentPage===g}),key:g,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(r.messageKey,r.defaultMessage)+" "+g,"aria-current":this.props.currentPage===g?!0:void 0,onClick:C=>this.handlePageChange(C,g)},g)),v=d.map(g=>a.createElement("option",{key:g},g));return a.createElement(a.Fragment,null,a.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:m.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${m.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(n.messageKey,n.defaultMessage),value:this.props.currentPage,onChange:g=>this.handleSelectPageChange(g)},c,v,u),a.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},i,h,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)},Tt)}renderOptionDots(t){return a.createElement("option",{value:t},Tt)}}class bn 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=F.provideIntlService(this),n=F.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(H):{messageKey:H,defaultMessage:E[H]},o=this.props.messagesMap?this.props.messagesMap(X):{messageKey:X,defaultMessage:E[X]},s=this.props.messagesMap?this.props.messagesMap(Y):{messageKey:Y,defaultMessage:E[Y]},i=this.props.messagesMap?this.props.messagesMap(Y):{messageKey:Ue,defaultMessage:E[Ue]};return a.createElement("span",{className:"k-pager-input"},a.createElement("span",null,n.toLanguageString(r.messageKey,r.defaultMessage)),a.createElement(U.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1,ariaLabel:n.toLanguageString(i.messageKey,i.defaultMessage)}),a.createElement("span",null,`${n.toLanguageString(o.messageKey,o.defaultMessage)} ${t.format(n.toLanguageString(s.messageKey,s.defaultMessage),[this.props.totalPages])}`))}}F.registerForLocalization(bn);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(Fe):{messageKey:Fe,defaultMessage:E[Fe]},l=o?o(Le):{messageKey:Le,defaultMessage:E[Le]};return a.createElement("span",{className:"k-pager-sizes"},a.createElement($.DropDownList,{value:t!==void 0?t:r,data:s,onChange:this.pageSizeChange,ariaLabel:F.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),a.createElement("span",null,F.provideLocalizationService(this).toLanguageString(i.messageKey,i.defaultMessage)))}}F.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/"},Pt=600,br=768;class ge 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<Pt?this.setState({showPagerSizes:!1}):r>=Pt&&r<br?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},m.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,h=F.provideLocalizationService(this),v=F.provideIntlService(this),g=Math.floor(r/o)+1,C=this.props.type==="numeric"?a.createElement(Cr,{type:c&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:g,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:l}):a.createElement(bn,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:g,pageChange:this.changePage,messagesMap:u,size:l}),y=u?u(xe):{messageKey:xe,defaultMessage:E[xe]},b=u?u(ye):{messageKey:ye,defaultMessage:E[ye]},f=u?u(Ie):{messageKey:Ie,defaultMessage:E[Ie]},S=u?u(Se):{messageKey:Se,defaultMessage:E[Se]},R=u?u(be):{messageKey:be,defaultMessage:E[be]},L=u?u(ke):{messageKey:ke,defaultMessage:E[ke]},x=u?u(H):{messageKey:H,defaultMessage:E[H]},I=u?u(X):{messageKey:X,defaultMessage:E[X]},k=u?u(Y):{messageKey:Y,defaultMessage:E[Y]},K=`${h.toLanguageString(x.messageKey,x.defaultMessage)} ${v.format(h.toLanguageString(k.messageKey,k.defaultMessage),[g])} ${h.toLanguageString(I.messageKey,I.defaultMessage)} ${v.format(h.toLanguageString(k.messageKey,k.defaultMessage),[this.totalPages])}`;let z,_,G,A;this.props.previousNext&&(z=this.renderButton(1,"k-pager-nav k-pager-first"+(g===1?" k-disabled":""),h.toLanguageString(y.messageKey,y.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?D.caretAltToRightIcon:D.caretAltToLeftIcon,g===1?!0:void 0),_=this.renderButton(g-1,"k-pager-nav"+(g===1?" k-disabled":""),h.toLanguageString(b.messageKey,b.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?D.caretAltRightIcon:D.caretAltLeftIcon,g===1?!0:void 0),G=this.renderButton(g+1,"k-pager-nav"+(g>=this.totalPages?" k-disabled":""),h.toLanguageString(f.messageKey,f.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?D.caretAltLeftIcon:D.caretAltRightIcon,g>=this.totalPages?!0:void 0),A=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(g>=this.totalPages?" k-disabled":""),h.toLanguageString(S.messageKey,S.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?D.caretAltToLeftIcon:D.caretAltToRightIcon,g>=this.totalPages?!0:void 0));const w=i&&a.createElement(xn,{pageChange:this.onPageChange,pageSize:o,pageSizes:i,value:d,messagesMap:u,size:l}),V=this.props.info&&a.createElement("span",{className:"k-pager-info"},v.format(h.toLanguageString(R.messageKey,R.defaultMessage),[Math.min(r+1,s),Math.min(r+o,s),s]));return a.createElement("div",{className:m.classNames("k-pager",{[`k-pager-${m.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":h.toLanguageString(L.messageKey,L.defaultMessage),"aria-label":K,ref:Q=>this._element=Q},a.createElement("div",{className:m.classNames("k-pager-numbers-wrap")},z,_,C,G,A),c?t&&w:w,c?n&&V:V)}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)}}ge.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};ge.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"};F.registerForIntl(ge);F.registerForLocalization(ge);const me=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:m.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)}))))}},Bt="eq",xr={emptyFilter:{operator:Bt,value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:n=[],field:r}=t,o=n.find(s=>s.field===r);return a.createElement($.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:Bt}];t.onFilterChange.call(void 0,{filter:l,field:r,syntheticEvent:s.syntheticEvent})}})}};class yr extends me(xr){}const Ir={inputComponent:e=>a.createElement(bt.DatePicker,{...e}),operatorComponent:e=>a.createElement($.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class Sr extends me(Ir){}const Fr={inputComponent:e=>a.createElement(U.NumericTextBox,{...e}),operatorComponent:e=>a.createElement($.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class kr extends me(Fr){}const Lr={inputComponent:e=>a.createElement(U.Input,{...e}),operatorComponent:e=>a.createElement($.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class Dr extends me(Lr){}const yn={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},Z="data-keyboardnavlevel",yt="data-keyboardnavscope",It="data-keyboardnavheader",St="data-keyboardnavbody",fe="data-keyboardnavid",Rr="data-keyboardnavzone",In="_filter",Sn=["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=[...Sn,"[tabindex]"],Fn=[...Sn,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Mr={[yt]:!0},kn={[It]:!0},Nr={[St]:!0},Ft=a.createContext(void 0);Ft.displayName="KendoReactTableKeyboardNavigationContext";const Ln=(e,t)=>{const n=a.useContext(Ft);return!n||!e||t===!1?{}:{tabIndex:n&&n.activeId&&n.activeId===e?0:-1,[Z]:n.level,[fe]: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:h,ariaSelected:v}=e,g=Ln(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:h,...g},e.children)};ze.displayName="KendoReactHeaderThElement";const Dn=(e,t,n="cell")=>`${t}_${e}_${n}`,Or=e=>{if(e)return parseInt(e.getAttribute(Z)||"",10)},kt=e=>{if(!e)return;const t=e.getAttribute(fe);return t||void 0},dt=e=>e?!!e.getAttribute(fe):!1,wr=(e,t={level:0})=>e.querySelector(`[${Z}='${t.level}']`),Ar=e=>e.parentElement&&e.parentElement.closest(`[${Z}]`),Tr=(e,t)=>e.querySelector(`[${fe}='${t}']`),Pr=e=>e.parentElement&&e.parentElement.closest(`[${yt}]`),Rn=e=>e.querySelector(`[${It}]`),Mn=e=>e.querySelector(`[${St}]`),Br=(e,t={focusable:!1})=>{let n=t.focusable?Ke:Fn;return Array.from(e.querySelectorAll(n.join(",")))},Kr=(e,t={level:0})=>{if(!e)return[];let n=Ke.map(r=>r+`[${Z}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(n))},zr=(e={level:0})=>{let t=Ke.map(n=>n+`[${Z}='${e.level}']`).join(",");return n=>n.matches(t)},_r=e=>{const{elementForFocus:t,event:n,contextStateRef:r,prevElement:o}=e;r.current&&t&&t.focus&&(n.preventDefault(),t.focus(),dt(t)&&(t.setAttribute("tabIndex","0"),r.current.activeId=kt(t)),o&&dt(o)&&o.setAttribute("tabIndex","-1"))},qr=e=>e.current?e.current.idPrefix:"",Nn=(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[]},On=(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[]},pt=(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]}},Gr=e=>e.current?e.current.navigationMatrix.length:0,wn=e=>e?`${e}${In}`:"",N={generateNavigatableId:Dn,getNavigatableId:kt,getNavigatableLevel:Or,getNavigatableElement:wr,getClosestNavigatableElement:Ar,getActiveElement:Tr,getClosestScope:Pr,getHeaderElement:Rn,getBodyElement:Mn,getFocusableElements:Br,getNavigatableElements:Kr,filterNavigatableElements:zr,focusElement:_r,getIdPrefix:qr,isNavigatable:dt,findNextIdByRowIndex:Nn,findNextIdByCellIndex:On,findId:pt,getNextNavigationIndex:Gr,getFilterColumnId:wn},An="k-table-row k-filter-row",Hr=(e,t,n)=>{let r=`${n?"k-grid-header-sticky":""}`;return e.some(o=>o.field===t)&&(r+=" k-sorted"),r},$r=function(e){const{columns:t,filter:n,filterChange:r,sort:o=[],ariaRowIndex:s}=e,i=F.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:wn(l.id),navigatable:l.navigatable,style:u,key:c,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:d?i.toLanguageString(ut,E[ut]):void 0,className:m.classNames("k-table-th k-header",Hr(o,l.field,l.locked))},d&&a.createElement(d,{field:l.field,filter:n,onFilterChange:r}))}))};function Tn(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 Lt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((n,r)=>Lt(r)+n,0)),t};function Wr(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}),Pn(t,e),Bn(t,e),t}function Pn(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=Lt(s),s.children.length===0)for(let i=s.depth;i<r.length;i++)r[i]+=o;else r[s.depth]+=o})}function Bn(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=Lt(i),i.children.length===0)for(let c=i.depth;c<o.length;c++)o[c]+=r;else o[i.depth]+=r;const l=Tn(t,s);i.rightBorder=!(l&&l.locked)}}}function Kn(e,t,n=0){let r=[];if(!e||!e.length)return[];e.forEach(s=>{const i=Kn(s.children||[],t,n+1);r.push(Object.assign({},{depth:n},yn,s,{id:s.id?s.id:Dn(`${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 zn(e){return!!(e&&getComputedStyle(e).direction==="rtl")}function ht(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 Vr extends a.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:t}=this.props;t&&t.resizable&&t.setIsRtl(zn(this.element))}render(){return a.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:t=>this.element=t,...kn},this.props.headerRow,this.props.filterRow)}}function _n(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 qn=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);class Gn 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(m.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 Yr 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(m.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 Ur={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},jr={none:"none",asc:"ascending",desc:"descending"};class Hn extends a.Component{constructor(){super(...arguments),this.cellClick=(t,n)=>{if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:r,mode:o}=qn(this.props.sortable||!1,n.sortable||!1),s=(this.props.sort||[]).filter(c=>c.field===n.field)[0],i=Ur[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===m.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(f=>f.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},h={field:o.field,onClick:l&&(f=>this.cellClick(f,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,g=m.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(f=>f.field===o.field)},o.headerClassName),C=o.locked!==void 0?{left:o.left,right:o.right,borderRightWidth:o.rightBorder?"1px":""}:{},y=F.provideLocalizationService(this).toLanguageString(ct,E[ct]);let b=o.isAccessible?{ariaSort:l?jr[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:g,style:C,columnId:o.id,navigatable:o.navigatable,onKeyDown:l&&(f=>this.cellKeyDown(f,o))||void 0,...b},o.headerCell&&a.createElement(o.headerCell,{...h}),!o.headerCell&&a.createElement("span",{className:"k-cell-inner"},a.createElement(_n,{...h}),v&&a.createElement(v,{...d})),s&&i&&a.createElement(Gn,{key:"ColumnResizer",resize:(f,S,R)=>s.dragHandler(f,o,S,R)}))})}sortIcon(t){if(!this.props.sort||t<0)return null;const n=this.props.sort[t].dir;return n?[a.createElement(m.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(Yr,{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)))}}F.registerForLocalization(Hn);function Xr(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 Zr(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(f=>parseFloat((f.width||"").toString())||10);let c=0;for(let f=0;f<n.length;f++){if(n[f].locked)continue;const S=f<l.length-1?l[f+1]:0;if(c+l[f]+S<o)i[f]=!0,c+=l[f];else break}const u=l.reduce((f,S)=>f+S,0);c=0;for(let f=n.length-1;f>=0;f--)if(!n[f].locked)if(c+2*l[f]<u-r-o)i[f]=!0,c+=l[f];else break;const d=[...i],h=f=>f;let v=d.lastIndexOf(!1),g=d.some(h),C=d.every(h),y,b;for(;g&&d.length&&(v!==-1||C);){for(v<d.length-1&&(y=C?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),g=d.some(h),C=d.every(h)}return{colSpans:s,hiddenColumns:i}}class Qr{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 Jr{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=ht(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 ht(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 eo 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&&m.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(m.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 to 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&&m.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 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=F.provideLocalizationService(this),{ariaLabel:n=t.toLanguageString(rt,E[rt])}=this.props;return a.createElement(U.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":n})}}Dt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string};F.registerForLocalization(Dt);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=F.provideLocalizationService(this),{min:n,max:r,filter:o,ariaLabel:s=t.toLanguageString(nt,E[nt])}=this.props;return a.createElement(U.NumericTextBox,{value:typeof o.value=="number"?o.value:null,onChange:this.onChange,ariaLabel:s,"aria-valuemin":n,"aria-valuemax":r,min:n,max:r})}}Rt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired};F.registerForLocalization(Rt);class $n 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(bt.DatePicker,{value:t.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}}$n.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=F.provideLocalizationService(this),{filter:n,data:r=[],defaultItem:o,ariaLabel:s=t.toLanguageString(tt,E[tt])}=this.props,i=r.map(l=>({...l,text:t.toLanguageString(l.text,E[l.text]||l.text)}));return a.createElement($.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};F.registerForLocalization(_e);class Wn extends a.Component{constructor(){super(...arguments),this.data=[{text:Xt,value:!0},{text:Zt,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 no=[{text:Ht,operator:"contains"},{text:$t,operator:"doesnotcontain"},{text:pe,operator:"eq"},{text:he,operator:"neq"},{text:Gt,operator:"startswith"},{text:Wt,operator:"endswith"},{text:Oe,operator:"isnull"},{text:we,operator:"isnotnull"},{text:_t,operator:"isempty"},{text:qt,operator:"isnotempty"}],ro=[{text:pe,operator:"eq"},{text:he,operator:"neq"},{text:Vt,operator:"gte"},{text:Yt,operator:"gt"},{text:Ut,operator:"lte"},{text:jt,operator:"lt"},{text:Oe,operator:"isnull"},{text:we,operator:"isnotnull"}],oo=[{text:pe,operator:"eq"},{text:he,operator:"neq"},{text:Qt,operator:"gte"},{text:Jt,operator:"gt"},{text:en,operator:"lt"},{text:tn,operator:"lte"},{text:Oe,operator:"isnull"},{text:we,operator:"isnotnull"}],so=[{text:pe,operator:"eq"},{text:he,operator:"neq"}];class ao{static get text(){return[...no]}static get numeric(){return[...ro]}static get date(){return[...oo]}static get boolean(){return[...so]}}const Mt=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",Ne=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",Kt=e=>{e.value===void 0&&!Ne(e.operator)&&(e.value=Mt(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};Kt(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};Kt(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=F.provideLocalizationService(this),{fields:n,filter:r,ariaLabel:o=t.toLanguageString(Qe,E[Qe])}=this.props,s=n.find(l=>l.name===r.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($.DropDownList,{className:"k-filter-dropdown",data:n,textField:"label",value:n.find(l=>l.name===r.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(Je,E[Je])})),a.createElement(O.ToolbarItem,{className:"k-filter-operator"},a.createElement($.DropDownList,{data:i,textField:"text",value:i.find(l=>l.operator===r.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(et,E[et])})),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(ce,E[ce]),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};F.registerForLocalization(qe);const Vn=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=Mt(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=F.provideLocalizationService(this),{fields:t,filter:n,ariaLabel:r=e.toLanguageString(Ze,E[Ze])}=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(je,E[je])),a.createElement(O.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:n.logic==="or",type:"button"},e.toLanguageString(Xe,E[Xe]))),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(oe,E[oe]),icon:"filter-add-expression",svgIcon:D.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(oe,E[oe])),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(se,E[se]),icon:"filter-add-group",svgIcon:D.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(se,E[se])),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(ce,E[ce]),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"},de.isCompositeFilterDescriptor(o)?a.createElement(Vn,{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=Vn;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};F.registerForLocalization(Ge);class Yn 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)},m.validatePackage(xt)}render(){return a.createElement("div",{className:m.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:[]}}))))}}Yn.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:m.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&a.createElement(m.IconWrap,{name:e.iconClass?m.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),io=[{text:sn,operator:"contains"},{text:an,operator:"doesnotcontain"},{text:Ae,operator:"eq"},{text:Te,operator:"neq"},{text:on,operator:"startswith"},{text:ln,operator:"endswith"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"},{text:nn,operator:"isempty"},{text:rn,operator:"isnotempty"}],lo=[{text:Ae,operator:"eq"},{text:Te,operator:"neq"},{text:cn,operator:"gte"},{text:un,operator:"gt"},{text:dn,operator:"lte"},{text:pn,operator:"lt"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"}],co=[{text:Ae,operator:"eq"},{text:Te,operator:"neq"},{text:gn,operator:"gte"},{text:mn,operator:"gt"},{text:fn,operator:"lt"},{text:vn,operator:"lte"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"}],uo=[{text:hn,operator:""}];class ve{static get text(){return[...io]}static get numeric(){return[...lo]}static get date(){return[...co]}static get boolean(){return[...uo]}}const Nt=e=>{const{filter:t,onFilterChange:n,operators:r,initialFilter:o}=e,s=a.useCallback(u=>{const d=t,h=u.target.value.operator,v=d?{...d,operator:h}:{value:o.value,operator:h};n.call(void 0,u.syntheticEvent,v,d)},[t,n,o]),i=a.useCallback(u=>{const d=u.target.value,h=t,v=h?{...h,value:d}:{value:d,operator:r[0].operator};n.call(void 0,u,v,h)},[t,n,r]),l=F.useLocalization(),c=r.map(u=>({...u,text:l.toLanguageString(u.text,E[u.text])}));return a.createElement(a.Fragment,null,a.createElement($.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}))},Un=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=ve.boolean[0].text;return a.createElement(U.Checkbox,{onChange:r,checked:t.value,label:F.useLocalization().toLanguageString(o,E[o]),labelPlacement:"after"})},gt=e=>{const t=a.useCallback(o=>a.createElement(U.Input,{...o,value:o.value||""}),[]),n=a.useRef(ve.text),r=a.useRef({operator:"",value:""});return a.createElement(Nt,{initialFilter:r.current,input:t,operators:e.operators||n.current,...e})},mt=e=>{const t=a.useCallback(o=>a.createElement(U.NumericTextBox,{...o,value:o.value||null}),[]),n=a.useRef(ve.numeric),r=a.useRef({operator:"",value:null});return a.createElement(Nt,{initialFilter:r.current,input:t,operators:e.operators||n.current,...e})},ft=e=>{const t=a.useCallback(o=>a.createElement(bt.DatePicker,{...o,value:o.value||null}),[]),n=a.useRef(ve.date),r=a.useRef({operator:"",value:null});return a.createElement(Nt,{initialFilter:r.current,input:t,operators:e.operators||n.current,...e})},po=[{text:En,logic:"and"},{text:Cn,logic:"or"}],He=e=>{const t=F.useLocalization(),n=(e.data||po).map(r=>({...r,text:t.toLanguageString(r.text,E[r.text])}));return a.createElement($.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:n,value:n.find(r=>r.logic===e.value)})},jn=e=>a.createElement("div",{className:"k-columnmenu-item-content"},a.createElement(gr.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=F.useLocalization();return a.createElement(jn,{...e,actions:a.createElement(a.Fragment,null,a.createElement(O.Button,{type:"reset"},t.toLanguageString(ot,E[ot])),a.createElement(O.Button,{themeColor:"primary"},t.toLanguageString(st,E[st])))})},$e=e=>{m.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:h=!1}=e,[v,g]=a.useState(!1),[C,y]=a.useState(h),[b,f]=a.useState(n&&l?l(n):null),S=a.useRef(null),R=a.useRef(null),L=a.useRef(null),x=a.useRef(!1),I=a.useCallback(()=>(r||[]).find(M=>M.filters.every(T=>!de.isCompositeFilterDescriptor(T)&&T.field===n)),[r,n]),k=a.useCallback(()=>{g(!1)},[]),K=a.useCallback(()=>{if(x.current){x.current=!1;return}clearTimeout(L.current),L.current=window.setTimeout(()=>{k()})},[k]),z=a.useCallback(()=>clearTimeout(L.current),[]),_=a.useCallback(M=>{x.current=v&&M.currentTarget===S.current},[v]),G=a.useCallback(()=>{g(!v),n&&l&&(y(v?!1:h),f(v?b:I()||l(n)))},[I,n,v,b,l,h]);a.useEffect(()=>{v&&R.current&&R.current.focus()},[v]);const A=a.useCallback(()=>y(!C),[C]),w=a.useCallback((M,T)=>{const P=[...o],B=P.findIndex(dr=>dr.field===n),re={field:n,dir:T};B>=0?P[B].dir!==re.dir?P.splice(B,1,re):P.splice(B,1):P.push(re),k(),s&&s.call(void 0,M,P,n)},[o,n,s,k]),V=a.useCallback((M,T,P)=>{const B={...b,filters:[...b.filters]},re=B.filters.indexOf(P);B.filters.splice(re,1,T),f(B)},[b]),Q=a.useCallback(M=>{M.preventDefault();const T=(r||[]).slice(),P=I(),B=P?T.indexOf(P):-1;B>=0?T.splice(B,1,b):T.push(b),k(),i&&i.call(void 0,M,T,n)},[r,b,n,i,k,I]),Ee=a.useCallback(M=>{const T=(r||[]).slice(),P=I(),B=P?T.indexOf(P):-1;B>=0&&T.splice(B,1),l&&f(l(n)),k(),i&&i.call(void 0,M,T,n)},[r,n,i,l,k,I]),We=a.useCallback(M=>w(M,"asc"),[w]),Ce=a.useCallback(M=>w(M,"desc"),[w]),Ve=a.useCallback(M=>b&&f({...b,logic:M.value.logic}),[b]),J=o.find(M=>M.field===n)||{dir:""},[ee,te,ne]=d,Ye=F.useLocalization(),ir=c||u?a.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},c&&a.createElement(Me,{title:Ye.toLanguageString(it,E[it]),iconClass:"k-i-sort-asc-small",svgIcon:D.sortAscSmallIcon,selected:J.dir==="asc",onClick:We}),u&&a.createElement(Me,{title:Ye.toLanguageString(lt,E[lt]),iconClass:"k-i-sort-desc-small",svgIcon:D.sortDescSmallIcon,selected:J.dir==="desc",onClick:Ce})):null,lr=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(at,E[at]),onClick:A}),a.createElement(Xn,{show:C,onSubmit:Q,onReset:Ee},ee&&a.createElement(ee,{filter:b.filters[0],onFilterChange:V}),te&&a.createElement(te,{value:b.logic,onChange:Ve}),ne&&a.createElement(ne,{filter:b.filters[1],onFilterChange:V}))):null,wt=[ir,lr],cr=a.createElement("span",{ref:S,onClick:G,onMouseDown:_,className:"k-grid-header-menu k-grid-column-menu"+(I()?" k-active":""),key:"button"},a.createElement(m.IconWrap,{name:"filter",icon:D.filterIcon})),ur=a.createElement(hr.Popup,{anchor:S.current,show:v,key:"popup",popupClass:"k-column-menu k-column-menu-popup"},a.createElement("div",{ref:R,tabIndex:0,onBlur:K,onFocus:z,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,wt,{closeMenu:k,field:n}):wt)),At=[cr,ur];return a.createElement(a.Fragment,null,e.render?e.render.call(void 0,At):At)},ho=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?[gt,He,gt]:[];return a.createElement($e,{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:"or",filters:[{operator:"eq",field:i,value:null},{operator:"eq",field:i,value:null}]}),[]),o=!!e.field,s=o?[mt,He,mt]:[];return a.createElement($e,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?r:void 0,field:t,...n})},mo=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($e,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?r:void 0,field:t,...n})},fo=e=>{const{field:t,...n}=e,r=a.useCallback(i=>({logic:"and",filters:[{operator:"eq",field:i,value:!1}]}),[]),o=!!e.field,s=o?[Un]:[];return a.createElement($e,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?r:void 0,field:t,...n})};function ae(e,t,n){return n?{...e,[t]:n.length?[...n]:void 0}:e&&e[t]?[...e[t]]:[]}function Zn(e,t,n){if(e[n]){let r=ae(e,n,de.orderBy(ae(e,n),t)),o=ae(r,n).map(s=>Zn(s,t,n));return{...r,[n]:o}}return e}function vo(e,t,n){let r=de.orderBy(e,t);return r=r.map(o=>Zn(o,t,n)),r}function Qn(e,t,n){let r=ae(e,n);if(r&&r.length){r=r.map(l=>Qn(l,t,n));const s={filters:[{filters:t,logic:"and"},{operator:l=>!!(l[n]||[]).length}],logic:"or"},i=de.filterBy(r,s);return ae(e,n,i)}return e}function Eo(e,t,n){let r={[n]:[...e]};return r=Qn(r,t,n),r[n]||[]}function Co(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 bo=(e,t,n)=>{const r=c=>!!m.getNestedValue(t,c),o=c=>!!m.getNestedValue(n,c),s=c=>{const u=[];return r(c)&&o(c)&&u.push(...m.getNestedValue(n,c)),u},i=(c,u,d)=>{u.push({...c,level:d}),s(c).forEach(h=>i(h,u,d+1))},l=[];return e.forEach(c=>i(c,l,0)),l},xo=(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},yo=(e,t,n)=>m.extendDataItem(e,t,n),Io=(e,t,n)=>[...m.mapTree([{[t]:[...e]}],t,o=>So(o,n,t))[0][t]],So=(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},Fo=(e,t,n,r)=>m.mapTree(e,t,o=>n(o)?{...o,[t]:r(o[t]||[])}:o),vt=(e,t,n)=>m.getItemPath(e,t,n),ko=(e,t,n,r)=>{const o=[...e],s=vt(o,t,r),i=s.pop(),l=s.pop(),c=t[t.length-1];if(n){const d=vt(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},ue="groupId",Et="items",Jn=(e,t,n)=>{e.items&&(e[ue]=`${n}${n&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(r=>Jn(r,t-1,e[ue])))},Lo=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach(n=>Jn(n,t.length,""))},Do=e=>{const t=[];return m.mapTree(e.data,Et,n=>{n[ue]&&t.push(n[ue])}),t},Ro=e=>m.mapTree(e.data,Et,t=>m.extendDataItem(t,Et,{expanded:!e.collapsedIds.some(n=>n===t[ue])})),Mo=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||m.guid(),navigationMatrix:[],lastHeaderIndex:-1})},No=e=>{const{scope:t,contextStateRef:n,navigationStateRef:r}=e;if(n.current&&r.current&&t){Ot(e);const o=r.current.navigationMatrix[0][0],s=N.getActiveElement(t,o);o&&s&&(n.current.activeId=o,s.setAttribute("tabIndex","0"))}},Oo=e=>{const{contextStateRef:t,navigationStateRef:n,document:r}=e;if(t.current&&n.current&&r){const o=m.getActiveElement(r),s=N.getNavigatableId(o);s&&s===t.current.activeId&&(n.current.activeElementIsFocused=!0)}},wo=e=>{const{scope:t,contextStateRef:n,navigationStateRef:r}=e;if(Ot(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}},Ao=(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}},To=(e,t)=>{const{contextStateRef:n,navigationStateRef:r,onNavigationAction:o}=t;if(e.isDefaultPrevented()||!n.current||!r.current)return;if(e.keyCode===m.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===m.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 h=N.getFocusableElements(s)[0];N.focusElement({elementForFocus:h,event:e,contextStateRef:n,prevElement:s});return}}if(e.keyCode===m.Keys.up||e.keyCode===m.Keys.down||e.keyCode===m.Keys.left||e.keyCode===m.Keys.right){const d=e.keyCode===m.Keys.up||e.keyCode===m.Keys.left,h=e.keyCode===m.Keys.up||e.keyCode===m.Keys.down;let v;if(r.current&&r.current.prevNavigationIndexes){const[g,C]=r.current.prevNavigationIndexes;u[g][C]===i?v=r.current.prevNavigationIndexes:v=pt(u,i)}else v=pt(u,i);if(v){const[g,C]=v,[y,b]=h?Nn(g,C,i,u,d):On(g,C,i,u,d);if(y){const f=N.getActiveElement(c,y);N.focusElement({elementForFocus:f,event:e,contextStateRef:n,prevElement:s}),r.current.prevNavigationIndexes=b,o&&o({focusElement:f,event:e})}}}}},Ot=e=>{const{navigationStateRef:t,scope:n}=e;if(!t.current||!n)return;const r=[],o=Rn(n),s=Mn(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 h=kt(d);if(!h)return;const v=d.rowSpan||1,g=d.colSpan||1;let C;for(let y=u,b=u+v;y<b;y++){if(r[y]||(r[y]=[]),C===void 0){const f=r[y].findIndex(S=>!S);C=f>-1?f:r[y].length}r[y][C]=h||""}for(let y=C+1,b=C+g;y<b;y++)r[u][y]=h||""})}),t.current.navigationMatrix=r.filter(c=>!!c),t.current.lastHeaderIndex=i.length-1},Po={onConstructor:Mo,onComponentDidMount:No,onGetSnapshotBeforeUpdate:Oo,onComponentDidUpdate:wo,onFocus:Ao,onKeyDown:To,generateMatrix:Ot},er="data-grid-row-index",tr="data-grid-col-index",nr="data-prevent-selection",Bo="items",j={},Ko=(e,t)=>!e||Array.isArray(e)&&e.length===0?[t]:e.findIndex(r=>r===t)>-1?e.filter(r=>r!==t):[...e,t],W=(e,t)=>{let n=e;for(;n;){if(n.tagName===t)return n;if(n.tagName==="TABLE")return null;n=n.parentElement}return null},ie=e=>{if(!e)return;const t=e.getAttribute(er);return t?parseInt(t,10):void 0},le=e=>{if(!e)return;const t=e.getAttribute(tr);return t?parseInt(t,10):void 0},zo=e=>{const t=e.subItemsField||Bo,n=m.getter(e.dataItemKey);return m.mapTree(e.data,t,r=>m.extendDataItem(r,t,{[e.selectedField]:e.selectedState[n(r)]}))},_o=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:h,ctrlKey:v,metaKey:g,altKey:C,shiftKey:y}=s;if(o.isDefaultPrevented()||s.keyCode!==m.Keys.enter)return r;const b=W(h,"TD"),f=W(h,"TR"),S=le(b),R=ie(f);let L={};return b&&f&&R!==void 0&&S!==void 0&&(L=rr({selectedState:r,dataItemKey:n,event:{ctrlKey:v,metaKey:g,altKey:C,shiftKey:y,dataItems:i,cell:u,mode:c,selectedField:d,componentId:l,startColIndex:S,endColIndex:S,startRowIndex:R,endRowIndex:R,isDrag:!1,syntheticEvent:o,nativeEvent:s,target:t.target,dataItem:null}})),L},rr=e=>{const{event:t,dataItemKey:n,selectedState:r}=e,{dataItems:o,startRowIndex:s,endRowIndex:i,startColIndex:l,endColIndex:c,cell:u,isDrag:d,ctrlKey:h,shiftKey:v,metaKey:g,componentId:C,mode:y,dataItem:b}=t,f=m.getter(n);let S={};const R=b!==null;if(y==="single"){const L=o.slice(s,s+1)[0],x=f(L);j[C]={rowIndex:s,colIndex:l},S[x]=u?[l]:!0}else if(d||!v&&!h&&!g&&!R){d||(j[C]={rowIndex:s,colIndex:l});const L=[];for(let I=l;I<=c;I++)L.push(I);o.slice(s,i+1).forEach(I=>{const k=f(I);S[k]=u?[...L]:!0})}else if(h||g||R){j[C]={rowIndex:s,colIndex:l};const x=o.slice(s,i+1)[0],I=f(x);S={...r},S[I]=u&&!R?Ko(S[I],l):!S[I]}else if(v){const L=j[C]&&j[C].rowIndex||0,x=j[C]&&j[C].colIndex||0,I=Math.min(L,s,i),k=Math.max(L,s,i),K=Math.min(x,l,c),z=Math.max(x,l,c),_=[];for(let A=K;A<=z;A++)_.push(A);o.slice(I,k+1).forEach(A=>{const w=f(A);S[w]=u?[..._]:!0})}return S},qo=m.hasRelativeStackingContext(),or=e=>{if(!e||!qo)return null;let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).transform!=="none")return t;t=t.parentElement}},sr=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}},ar=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}},Go=e=>{var R;const{onRelease:t,childRef:n}=e,{enabled:r,drag:o,mode:s,cell:i}=ar(e.selectable),l=a.useRef(null),c=a.useRef(null),u=a.useRef({clientX:0,clientY:0}),[d,h]=a.useState(null),v=a.useRef(),g=a.useRef(!1),C=a.useRef(!1),y=a.useCallback(L=>{const{event:x}=L;C.current=x.originalEvent.target.hasAttribute(nr),!(C.current||!l.current)&&(v.current=or(l.current.element),u.current={clientY:x.clientY,clientX:x.clientX})},[]),b=a.useCallback(L=>{const{event:x}=L,{clientX:I,clientY:k}=u.current;if(!C.current&&!(!o||s==="single")&&((Math.abs(k-x.clientY)>5||Math.abs(I-x.clientX)>5)&&(g.current=!0),g.current)){const K=sr(v.current);h({top:Math.min(k,x.clientY)-K.top,left:Math.min(I,x.clientX)-K.left,width:Math.abs(x.clientX-I),height:Math.abs(x.clientY-k)})}},[h,o,s]),f=a.useCallback(L=>{const{event:x}=L,{clientX:I,clientY:k}=u.current;if(C.current||!l.current)return;const K=l.current.element&&l.current.element.ownerDocument;if(K){if(g.current){const z=Math.min(k,x.clientY),_=Math.min(I,x.clientX),G=Math.max(k,x.clientY),A=Math.max(I,x.clientX),w=c.current;if(!w)return;w.style.visibility="hidden";const V=K.elementFromPoint(_,z),Q=K.elementFromPoint(A,G);if(w.style.visibility="",!V||!Q)return;const Ee=W(V,"TD"),We=W(Ee,"TR"),Ce=W(Q,"TD"),Ve=W(Ce,"TR"),J=le(Ee),ee=ie(We),te=le(Ce),ne=ie(Ve);J!==void 0&&ee!==void 0&&te!==void 0&&ne!==void 0&&t({nativeEvent:x.originalEvent,startRowIndex:ee,startColIndex:J,endRowIndex:ne,endColIndex:te,altKey:x.altKey,shiftKey:x.shiftKey,ctrlKey:x.ctrlKey,metaKey:x.metaKey,mode:s,cell:i,isDrag:!0})}else{const z=K.elementFromPoint(I,k);if(!z)return;const _=W(z,"TD"),G=W(z,"TR"),A=le(_),w=ie(G);_&&G&&w!==void 0&&A!==void 0&&t({nativeEvent:x.originalEvent,startRowIndex:w,startColIndex:A,endRowIndex:w,endColIndex:A,altKey:x.altKey,shiftKey:x.shiftKey,ctrlKey:x.ctrlKey,metaKey:x.metaKey,mode:s,cell:i,isDrag:!1})}h(null),g.current=!1,u.current={clientX:0,clientY:0}}},[h,s,i,t]),S=m.useDocument(c);return r?a.createElement(a.Fragment,null,a.createElement(m.Draggable,{onPress:y,onDrag:b,onRelease:f,ref:l,childRef:n},e.children),d&&mr.createPortal(a.createElement("div",{ref:c,style:{...d,position:"fixed"},className:"k-marquee k-marquee-color"}),(R=S())==null?void 0:R.body)):a.cloneElement(a.Children.only(e.children),{ref:n})},Ho="items";var q=(e=>(e.copy="copy",e.cut="cut",e.paste="paste",e))(q||{});const $o=(e,t,n)=>{const r=e.cellDelimiter||" ",o=e.newLineDelimiter||`\r
6
6
  `,s=t.includes(o)?o:t.includes(`
7
7
  `)?`
8
8
  `:null,i=s?t.split(s):[t],l=n.copiedItems.length?n.copiedItems[0].fields[0]:e.columns[0].field||"";return i.map(u=>{const d=u.includes(r)?u.split(r):[u],h=e.columns.map(y=>y.field||""),v=h.indexOf(l),g=h.slice(v,v+d.length),C={};return h.slice(v,v+d.length).forEach((y,b)=>C[y]=d[b]),{dataItem:C,fields:g}})},Wo=(e,t)=>{if(!t.length)return null;let n="";return t.forEach((r,o,s)=>n+=`${e[r]}${o<s.length-1?" ":""}`),n},Vo=(e,t,n)=>{const r=n.cellDelimiter||" ",o=n.newLineDelimiter||`\r
package/index.mjs CHANGED
@@ -232,7 +232,7 @@ const Et = {
232
232
  name: "@progress/kendo-react-data-tools",
233
233
  productName: "KendoReact",
234
234
  productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
235
- publishDate: 1708963623,
235
+ publishDate: 1709038422,
236
236
  version: "",
237
237
  licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
238
238
  }, Tt = 600, wr = 768;
@@ -310,18 +310,24 @@ class Pe extends a.Component {
310
310
  messagesMap: u,
311
311
  size: l
312
312
  }
313
- ), b = u ? u(me) : { messageKey: me, defaultMessage: v[me] }, C = u ? u(ve) : { messageKey: ve, defaultMessage: v[ve] }, f = u ? u(Ee) : { messageKey: Ee, defaultMessage: v[Ee] }, I = u ? u(Ce) : { messageKey: Ce, defaultMessage: v[Ce] }, F = u ? u(fe) : { messageKey: fe, defaultMessage: v[fe] }, k = u ? u(be) : { messageKey: be, defaultMessage: v[be] }, x = u ? u(_) : { messageKey: _, defaultMessage: v[_] }, y = u ? u(X) : { messageKey: X, defaultMessage: v[X] }, S = u ? u(U) : { messageKey: U, defaultMessage: v[U] }, A = `${m.format(h.toLanguageString(
313
+ ), b = u ? u(me) : { messageKey: me, defaultMessage: v[me] }, C = u ? u(ve) : { messageKey: ve, defaultMessage: v[ve] }, f = u ? u(Ee) : { messageKey: Ee, defaultMessage: v[Ee] }, I = u ? u(Ce) : { messageKey: Ce, defaultMessage: v[Ce] }, F = u ? u(fe) : { messageKey: fe, defaultMessage: v[fe] }, S = u ? u(be) : { messageKey: be, defaultMessage: v[be] }, x = u ? u(_) : { messageKey: _, defaultMessage: v[_] }, y = u ? u(X) : { messageKey: X, defaultMessage: v[X] }, k = u ? u(U) : { messageKey: U, defaultMessage: v[U] }, A = `${h.toLanguageString(
314
314
  x.messageKey,
315
315
  x.defaultMessage
316
- ), [s])} ${h.toLanguageString(
316
+ )} ${m.format(
317
+ h.toLanguageString(
318
+ k.messageKey,
319
+ k.defaultMessage
320
+ ),
321
+ [g]
322
+ )} ${h.toLanguageString(
317
323
  y.messageKey,
318
324
  y.defaultMessage
319
325
  )} ${m.format(
320
326
  h.toLanguageString(
321
- S.messageKey,
322
- S.defaultMessage
327
+ k.messageKey,
328
+ k.defaultMessage
323
329
  ),
324
- [d]
330
+ [this.totalPages]
325
331
  )}`;
326
332
  let P, T, G, D;
327
333
  this.props.previousNext && (P = this.renderButton(
@@ -382,7 +388,7 @@ class Pe extends a.Component {
382
388
  role: "application",
383
389
  "aria-roledescription": "pager",
384
390
  dir: this.props.dir,
385
- "aria-keyshortcuts": h.toLanguageString(k.messageKey, k.defaultMessage),
391
+ "aria-keyshortcuts": h.toLanguageString(S.messageKey, S.defaultMessage),
386
392
  "aria-label": A,
387
393
  ref: (Z) => this._element = Z
388
394
  },
@@ -2112,10 +2118,10 @@ const Ft = (e) => {
2112
2118
  sortDesc: u = !1,
2113
2119
  filterContent: d = [],
2114
2120
  expandFilters: h = !1
2115
- } = e, [m, g] = a.useState(!1), [E, b] = a.useState(h), [C, f] = a.useState(n && l ? l(n) : null), I = a.useRef(null), F = a.useRef(null), k = a.useRef(null), x = a.useRef(!1), y = a.useCallback(
2121
+ } = e, [m, g] = a.useState(!1), [E, b] = a.useState(h), [C, f] = a.useState(n && l ? l(n) : null), I = a.useRef(null), F = a.useRef(null), S = a.useRef(null), x = a.useRef(!1), y = a.useCallback(
2116
2122
  () => (r || []).find((M) => M.filters.every((w) => !en(w) && w.field === n)),
2117
2123
  [r, n]
2118
- ), S = a.useCallback(
2124
+ ), k = a.useCallback(
2119
2125
  () => {
2120
2126
  g(!1);
2121
2127
  },
@@ -2126,13 +2132,13 @@ const Ft = (e) => {
2126
2132
  x.current = !1;
2127
2133
  return;
2128
2134
  }
2129
- clearTimeout(k.current), k.current = window.setTimeout(() => {
2130
- S();
2135
+ clearTimeout(S.current), S.current = window.setTimeout(() => {
2136
+ k();
2131
2137
  });
2132
2138
  },
2133
- [S]
2139
+ [k]
2134
2140
  ), P = a.useCallback(
2135
- () => clearTimeout(k.current),
2141
+ () => clearTimeout(S.current),
2136
2142
  []
2137
2143
  ), T = a.useCallback((M) => {
2138
2144
  x.current = m && M.currentTarget === I.current;
@@ -2154,9 +2160,9 @@ const Ft = (e) => {
2154
2160
  ), L = a.useCallback(
2155
2161
  (M, w) => {
2156
2162
  const O = [...s], N = O.findIndex((ar) => ar.field === n), oe = { field: n, dir: w };
2157
- N >= 0 ? O[N].dir !== oe.dir ? O.splice(N, 1, oe) : O.splice(N, 1) : O.push(oe), S(), o && o.call(void 0, M, O, n);
2163
+ N >= 0 ? O[N].dir !== oe.dir ? O.splice(N, 1, oe) : O.splice(N, 1) : O.push(oe), k(), o && o.call(void 0, M, O, n);
2158
2164
  },
2159
- [s, n, o, S]
2165
+ [s, n, o, k]
2160
2166
  ), V = a.useCallback(
2161
2167
  (M, w, O) => {
2162
2168
  const N = { ...C, filters: [...C.filters] }, oe = N.filters.indexOf(O);
@@ -2167,15 +2173,15 @@ const Ft = (e) => {
2167
2173
  (M) => {
2168
2174
  M.preventDefault();
2169
2175
  const w = (r || []).slice(), O = y(), N = O ? w.indexOf(O) : -1;
2170
- N >= 0 ? w.splice(N, 1, C) : w.push(C), S(), i && i.call(void 0, M, w, n);
2176
+ N >= 0 ? w.splice(N, 1, C) : w.push(C), k(), i && i.call(void 0, M, w, n);
2171
2177
  },
2172
- [r, C, n, i, S, y]
2178
+ [r, C, n, i, k, y]
2173
2179
  ), he = a.useCallback(
2174
2180
  (M) => {
2175
2181
  const w = (r || []).slice(), O = y(), N = O ? w.indexOf(O) : -1;
2176
- N >= 0 && w.splice(N, 1), l && f(l(n)), S(), i && i.call(void 0, M, w, n);
2182
+ N >= 0 && w.splice(N, 1), l && f(l(n)), k(), i && i.call(void 0, M, w, n);
2177
2183
  },
2178
- [r, n, i, l, S, y]
2184
+ [r, n, i, l, k, y]
2179
2185
  ), Ge = a.useCallback((M) => L(M, "asc"), [L]), ge = a.useCallback((M) => L(M, "desc"), [L]), ze = a.useCallback(
2180
2186
  (M) => C && f({ ...C, logic: M.value.logic }),
2181
2187
  [C]
@@ -2246,7 +2252,7 @@ const Ft = (e) => {
2246
2252
  onFocus: P,
2247
2253
  style: { outline: "none" }
2248
2254
  },
2249
- e.itemsRender ? e.itemsRender.call(void 0, Lt, { closeMenu: S, field: n }) : Lt
2255
+ e.itemsRender ? e.itemsRender.call(void 0, Lt, { closeMenu: k, field: n }) : Lt
2250
2256
  )
2251
2257
  ), Dt = [sr, or];
2252
2258
  return /* @__PURE__ */ a.createElement(a.Fragment, null, e.render ? e.render.call(void 0, Dt) : Dt);
@@ -2612,8 +2618,8 @@ const Ao = (e, t, n) => {
2612
2618
  if (s.isDefaultPrevented() || o.keyCode !== K.enter)
2613
2619
  return r;
2614
2620
  const C = Y(h, "TD"), f = Y(h, "TR"), I = Fe(C), F = Se(f);
2615
- let k = {};
2616
- return C && f && F !== void 0 && I !== void 0 && (k = qs({
2621
+ let S = {};
2622
+ return C && f && F !== void 0 && I !== void 0 && (S = qs({
2617
2623
  selectedState: r,
2618
2624
  dataItemKey: n,
2619
2625
  event: {
@@ -2636,7 +2642,7 @@ const Ao = (e, t, n) => {
2636
2642
  target: t.target,
2637
2643
  dataItem: null
2638
2644
  }
2639
- })), k;
2645
+ })), S;
2640
2646
  }, qs = (e) => {
2641
2647
  const { event: t, dataItemKey: n, selectedState: r } = e, {
2642
2648
  dataItems: s,
@@ -2656,7 +2662,7 @@ const Ao = (e, t, n) => {
2656
2662
  let I = {};
2657
2663
  const F = C !== null;
2658
2664
  if (b === "single") {
2659
- const k = s.slice(o, o + 1)[0], x = f(k);
2665
+ const S = s.slice(o, o + 1)[0], x = f(S);
2660
2666
  j[E] = {
2661
2667
  rowIndex: o,
2662
2668
  colIndex: l
@@ -2666,12 +2672,12 @@ const Ao = (e, t, n) => {
2666
2672
  rowIndex: o,
2667
2673
  colIndex: l
2668
2674
  });
2669
- const k = [];
2675
+ const S = [];
2670
2676
  for (let y = l; y <= c; y++)
2671
- k.push(y);
2677
+ S.push(y);
2672
2678
  s.slice(o, i + 1).forEach((y) => {
2673
- const S = f(y);
2674
- I[S] = u ? [...k] : !0;
2679
+ const k = f(y);
2680
+ I[k] = u ? [...S] : !0;
2675
2681
  });
2676
2682
  } else if (h || g || F) {
2677
2683
  j[E] = {
@@ -2681,10 +2687,10 @@ const Ao = (e, t, n) => {
2681
2687
  const x = s.slice(o, i + 1)[0], y = f(x);
2682
2688
  I = { ...r }, I[y] = u && !F ? Bs(I[y], l) : !I[y];
2683
2689
  } else if (m) {
2684
- const k = j[E] && j[E].rowIndex || 0, x = j[E] && j[E].colIndex || 0, y = Math.min(k, o, i), S = Math.max(k, o, i), A = Math.min(x, l, c), P = Math.max(x, l, c), T = [];
2690
+ const S = j[E] && j[E].rowIndex || 0, x = j[E] && j[E].colIndex || 0, y = Math.min(S, o, i), k = Math.max(S, o, i), A = Math.min(x, l, c), P = Math.max(x, l, c), T = [];
2685
2691
  for (let D = A; D <= P; D++)
2686
2692
  T.push(D);
2687
- s.slice(y, S + 1).forEach((D) => {
2693
+ s.slice(y, k + 1).forEach((D) => {
2688
2694
  const L = f(D);
2689
2695
  I[L] = u ? [...T] : !0;
2690
2696
  });
@@ -2719,8 +2725,8 @@ const Ao = (e, t, n) => {
2719
2725
  mode: o,
2720
2726
  cell: i
2721
2727
  } = $s(e.selectable), l = a.useRef(null), c = a.useRef(null), u = a.useRef({ clientX: 0, clientY: 0 }), [d, h] = a.useState(null), m = a.useRef(), g = a.useRef(!1), E = a.useRef(!1), b = a.useCallback(
2722
- (k) => {
2723
- const { event: x } = k;
2728
+ (S) => {
2729
+ const { event: x } = S;
2724
2730
  E.current = x.originalEvent.target.hasAttribute(Ts), !(E.current || !l.current) && (m.current = zs(l.current.element), u.current = {
2725
2731
  clientY: x.clientY,
2726
2732
  clientX: x.clientX
@@ -2728,28 +2734,28 @@ const Ao = (e, t, n) => {
2728
2734
  },
2729
2735
  []
2730
2736
  ), C = a.useCallback(
2731
- (k) => {
2732
- const { event: x } = k, { clientX: y, clientY: S } = u.current;
2733
- if (!E.current && !(!s || o === "single") && ((Math.abs(S - x.clientY) > 5 || Math.abs(y - x.clientX) > 5) && (g.current = !0), g.current)) {
2737
+ (S) => {
2738
+ const { event: x } = S, { clientX: y, clientY: k } = u.current;
2739
+ if (!E.current && !(!s || o === "single") && ((Math.abs(k - x.clientY) > 5 || Math.abs(y - x.clientX) > 5) && (g.current = !0), g.current)) {
2734
2740
  const A = _s(m.current);
2735
2741
  h({
2736
- top: Math.min(S, x.clientY) - A.top,
2742
+ top: Math.min(k, x.clientY) - A.top,
2737
2743
  left: Math.min(y, x.clientX) - A.left,
2738
2744
  width: Math.abs(x.clientX - y),
2739
- height: Math.abs(x.clientY - S)
2745
+ height: Math.abs(x.clientY - k)
2740
2746
  });
2741
2747
  }
2742
2748
  },
2743
2749
  [h, s, o]
2744
2750
  ), f = a.useCallback(
2745
- (k) => {
2746
- const { event: x } = k, { clientX: y, clientY: S } = u.current;
2751
+ (S) => {
2752
+ const { event: x } = S, { clientX: y, clientY: k } = u.current;
2747
2753
  if (E.current || !l.current)
2748
2754
  return;
2749
2755
  const A = l.current.element && l.current.element.ownerDocument;
2750
2756
  if (A) {
2751
2757
  if (g.current) {
2752
- const P = Math.min(S, x.clientY), T = Math.min(y, x.clientX), G = Math.max(S, x.clientY), D = Math.max(y, x.clientX), L = c.current;
2758
+ const P = Math.min(k, x.clientY), T = Math.min(y, x.clientX), G = Math.max(k, x.clientY), D = Math.max(y, x.clientX), L = c.current;
2753
2759
  if (!L)
2754
2760
  return;
2755
2761
  L.style.visibility = "hidden";
@@ -2772,7 +2778,7 @@ const Ao = (e, t, n) => {
2772
2778
  isDrag: !0
2773
2779
  });
2774
2780
  } else {
2775
- const P = A.elementFromPoint(y, S);
2781
+ const P = A.elementFromPoint(y, k);
2776
2782
  if (!P)
2777
2783
  return;
2778
2784
  const T = Y(P, "TD"), G = Y(P, "TR"), D = Fe(T), L = Se(G);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-data-tools",
3
- "version": "7.2.3-develop.2",
3
+ "version": "7.2.3",
4
4
  "description": "Includes React Pager & React Filter component, an intuitive interface to create complex filter descriptions. KendoReact Data Tools package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -25,14 +25,14 @@
25
25
  "@progress/kendo-data-query": "^1.0.0",
26
26
  "@progress/kendo-drawing": "^1.19.0",
27
27
  "@progress/kendo-licensing": "^1.3.4",
28
- "@progress/kendo-react-animation": "7.2.3-develop.2",
29
- "@progress/kendo-react-buttons": "7.2.3-develop.2",
30
- "@progress/kendo-react-common": "7.2.3-develop.2",
31
- "@progress/kendo-react-dateinputs": "7.2.3-develop.2",
32
- "@progress/kendo-react-dropdowns": "7.2.3-develop.2",
33
- "@progress/kendo-react-inputs": "7.2.3-develop.2",
34
- "@progress/kendo-react-intl": "7.2.3-develop.2",
35
- "@progress/kendo-react-popup": "7.2.3-develop.2",
28
+ "@progress/kendo-react-animation": "7.2.3",
29
+ "@progress/kendo-react-buttons": "7.2.3",
30
+ "@progress/kendo-react-common": "7.2.3",
31
+ "@progress/kendo-react-dateinputs": "7.2.3",
32
+ "@progress/kendo-react-dropdowns": "7.2.3",
33
+ "@progress/kendo-react-inputs": "7.2.3",
34
+ "@progress/kendo-react-intl": "7.2.3",
35
+ "@progress/kendo-react-popup": "7.2.3",
36
36
  "@progress/kendo-svg-icons": "^2.1.0",
37
37
  "react": "^16.8.2 || ^17.0.0 || ^18.0.0",
38
38
  "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"