@progress/kendo-react-data-tools 7.2.2-develop.1 → 7.2.3-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/js/kendo-react-datatools.js +5 -5
- package/index.js +4 -4
- package/index.mjs +971 -957
- package/messages/index.d.ts +6 -1
- package/package.json +9 -9
package/index.js
CHANGED
|
@@ -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
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const pr=require("react"),p=require("prop-types"),g=require("@progress/kendo-react-common"),O=require("@progress/kendo-react-buttons"),F=require("@progress/kendo-react-intl"),$=require("@progress/kendo-react-inputs"),H=require("@progress/kendo-react-dropdowns"),L=require("@progress/kendo-svg-icons"),Ct=require("react-dom"),le=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),Ee="pager.info",Ce="pager.firstPage",be="pager.previousPage",xe="pager.nextPage",ye="pager.lastPage",Ie="pager.itemsPerPage",fr="pager.pageSelection",Y="pager.page",Se="pager.of",Fe="pager.totalPages",vr="pager.pageLabel",ke="pager.ariaKeyshortcuts",De="pager.ariaLabel",Le="pager.pageSizeAriaLabel",Re="pager.mobileSelect",Me="pager.moreButtonLabel",ce="filter.eqOperator",ue="filter.notEqOperator",we="filter.isNullOperator",Ae="filter.isNotNullOperator",_t="filter.isEmptyOperator",qt="filter.isNotEmptyOperator",Gt="filter.startsWithOperator",Ht="filter.containsOperator",Wt="filter.notContainsOperator",$t="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",te="filter.addExpression",ne="filter.addGroup",ae="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",Te="columnMenu.filterEqOperator",Pe="columnMenu.filterNotEqOperator",Be="columnMenu.filterIsNullOperator",Ke="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",C={[Ie]:"items per page",[fr]:"Select page",[Ee]:"{0} - {1} of {2} items",[Ce]:"Go to the first page",[be]:"Go to the previous page",[xe]:"Go to the next page",[ye]:"Go to the last page",[Y]:"Page",[Se]:"of",[Fe]:"{0}",[vr]:"Page",[ke]:"Enter ArrowRight ArrowLeft",[De]:"Pager",[Le]:"Page size",[Re]:"Select",[Me]:"More pages",[ct]:"Sortable",[ut]:"Filter",[ce]:"Is equal to",[ue]:"Is not equal to",[we]:"Is null",[Ae]:"Is not null",[_t]:"Is empty",[qt]:"Is not empty",[Gt]:"Starts with",[Ht]:"Contains",[Wt]:"Does not contain",[$t]:"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",[te]:"Add Expression",[ne]:"Add Group",[ae]:"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",[Te]:"Is equal to",[Pe]:"Is not equal to",[Be]:"Is null",[Ke]:"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 Er 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(Re):{messageKey:Re,defaultMessage:C[Re]},r=this.props.messagesMap?this.props.messagesMap(Y):{messageKey:Y,defaultMessage:C[Y]},o=this.props.messagesMap?this.props.messagesMap(Me):{messageKey:Me,defaultMessage:C[Me]},s=t.toLanguageString(o.messageKey,o.defaultMessage),i=this.start>1&&this.renderDots(this.start-1,s),l=this.end<this.props.totalPages&&this.renderDots(this.end+1,s),c=this.start>1&&this.renderOptionDots(this.start-1),u=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),d=[];for(let h=this.start;h<=this.end;h++)d.push(h);const m=d.map(h=>a.createElement(O.Button,{className:g.classNames({"k-selected":this.props.currentPage===h}),key:h,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(r.messageKey,r.defaultMessage)+" "+h,"aria-current":this.props.currentPage===h?!0:void 0,onClick:E=>this.handlePageChange(E,h)},h)),v=d.map(h=>a.createElement("option",{key:h},h));return a.createElement(a.Fragment,null,a.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:g.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${g.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(n.messageKey,n.defaultMessage),value:this.props.currentPage,onChange:h=>this.handleSelectPageChange(h)},c,v,u),a.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},i,m,l))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const t=this.props.currentPage,n=this.props.buttonCount;if(t>n){const r=t%n;return r===0?t-n+1:t-r+1}return 1}renderDots(t,n){return a.createElement(O.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":n,onClick:r=>this.handlePageChange(r,t)},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(Y):{messageKey:Y,defaultMessage:C[Y]},o=this.props.messagesMap?this.props.messagesMap(Se):{messageKey:Se,defaultMessage:C[Se]},s=this.props.messagesMap?this.props.messagesMap(Fe):{messageKey:Fe,defaultMessage:C[Fe]};return a.createElement(a.Fragment,null,a.createElement("span",{className:"k-pager-input"},a.createElement("span",null,n.toLanguageString(r.messageKey,r.defaultMessage)),a.createElement($.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1}),a.createElement("span",null,`${n.toLanguageString(o.messageKey,o.defaultMessage)} ${t.format(n.toLanguageString(s.messageKey,s.defaultMessage),[this.props.totalPages])}`)))}}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(Ie):{messageKey:Ie,defaultMessage:C[Ie]},l=o?o(Le):{messageKey:Le,defaultMessage:C[Le]};return a.createElement("span",{className:"k-pager-sizes"},a.createElement(H.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,Cr=768;class de 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<Cr?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},g.validatePackage(xt),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return this.props.dir==="rtl"}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:t,showPagerInfo:n}=this.state,{skip:r,take:o,total:s,pageSizes:i,size:l,responsive:c,messagesMap:u,pageSizeValue:d}=this.props,m=F.provideLocalizationService(this),v=F.provideIntlService(this),h=Math.floor(r/o)+1,E=this.props.type==="numeric"?a.createElement(Er,{type:c&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:h,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:this.props.size}):a.createElement(bn,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:h,pageChange:this.changePage,messagesMap:u,size:this.props.size}),y=u?u(Ce):{messageKey:Ce,defaultMessage:C[Ce]},b=u?u(be):{messageKey:be,defaultMessage:C[be]},f=u?u(xe):{messageKey:xe,defaultMessage:C[xe]},S=u?u(ye):{messageKey:ye,defaultMessage:C[ye]},R=u?u(Ee):{messageKey:Ee,defaultMessage:C[Ee]},k=u?u(ke):{messageKey:ke,defaultMessage:C[ke]},x=u?u(De):{messageKey:De,defaultMessage:C[De]};let I,D,T,z;this.props.previousNext&&(I=this.renderButton(1,"k-pager-nav k-pager-first"+(h===1?" k-disabled":""),m.toLanguageString(y.messageKey,y.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?L.caretAltToRightIcon:L.caretAltToLeftIcon,h===1?!0:void 0),D=this.renderButton(h-1,"k-pager-nav"+(h===1?" k-disabled":""),m.toLanguageString(b.messageKey,b.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?L.caretAltRightIcon:L.caretAltLeftIcon,h===1?!0:void 0),T=this.renderButton(h+1,"k-pager-nav"+(h>=this.totalPages?" k-disabled":""),m.toLanguageString(f.messageKey,f.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?L.caretAltLeftIcon:L.caretAltRightIcon,h>=this.totalPages?!0:void 0),z=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(h>=this.totalPages?" k-disabled":""),m.toLanguageString(S.messageKey,S.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?L.caretAltToLeftIcon:L.caretAltToRightIcon,h>=this.totalPages?!0:void 0));const _=i&&a.createElement(xn,{pageChange:this.onPageChange,pageSize:o,pageSizes:i,value:d,messagesMap:u,size:this.props.size}),G=this.props.info&&a.createElement("span",{className:"k-pager-info"},v.format(m.toLanguageString(R.messageKey,R.defaultMessage),[Math.min(r+1,s),Math.min(r+o,s),s]));return a.createElement("div",{className:g.classNames("k-pager",{[`k-pager-${g.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":m.toLanguageString(k.messageKey,k.defaultMessage),"aria-label":m.toLanguageString(x.messageKey,x.defaultMessage),ref:w=>this._element=w},a.createElement("div",{className:g.classNames("k-pager-numbers-wrap")},I,D,E,T,z),c?t&&_:_,c?n&&G:G)}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)}}de.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};de.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"};F.registerForIntl(de);F.registerForLocalization(de);const pe=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:L.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:g.classNames({["k-clear-button-visible"]:!(l===null||l==="")||i}),title:r,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:L.filterClearIcon,disabled:!(!(l===null||l==="")||i)}))))}},Bt="eq",br={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(H.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 xr extends pe(br){}const yr={inputComponent:e=>a.createElement(bt.DatePicker,{...e}),operatorComponent:e=>a.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class Ir extends pe(yr){}const Sr={inputComponent:e=>a.createElement($.NumericTextBox,{...e}),operatorComponent:e=>a.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class Fr extends pe(Sr){}const kr={inputComponent:e=>a.createElement($.Input,{...e}),operatorComponent:e=>a.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class Dr extends pe(kr){}const yn={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},U="data-keyboardnavlevel",yt="data-keyboardnavscope",It="data-keyboardnavheader",St="data-keyboardnavbody",he="data-keyboardnavid",Lr="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]"],ze=[...Sn,"[tabindex]"],Fn=[...Sn,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Rr={[yt]:!0},kn={[It]:!0},Mr={[St]:!0},Ft=a.createContext(void 0);Ft.displayName="KendoReactTableKeyboardNavigationContext";const Dn=(e,t)=>{const n=a.useContext(Ft);return!n||!e||t===!1?{}:{tabIndex:n&&n.activeId&&n.activeId===e?0:-1,[U]:n.level,[he]:e}},_e=e=>{const{ariaSort:t,colSpan:n,rowSpan:r,className:o,style:s,columnId:i,onKeyDown:l,navigatable:c,ariaColumnIndex:u,ariaLabel:d,role:m,ariaSelected:v}=e,h=Dn(i,c);return a.createElement("th",{"aria-sort":t,"aria-label":d,"aria-colindex":u,"aria-selected":v,colSpan:n,rowSpan:r,className:o,style:s,onKeyDown:l,role:m,...h},e.children)};_e.displayName="KendoReactHeaderThElement";const Ln=(e,t,n="cell")=>`${t}_${e}_${n}`,Nr=e=>{if(e)return parseInt(e.getAttribute(U)||"",10)},kt=e=>{if(!e)return;const t=e.getAttribute(he);return t||void 0},dt=e=>e?!!e.getAttribute(he):!1,Or=(e,t={level:0})=>e.querySelector(`[${U}='${t.level}']`),wr=e=>e.parentElement&&e.parentElement.closest(`[${U}]`),Ar=(e,t)=>e.querySelector(`[${he}='${t}']`),Tr=e=>e.parentElement&&e.parentElement.closest(`[${yt}]`),Rn=e=>e.querySelector(`[${It}]`),Mn=e=>e.querySelector(`[${St}]`),Pr=(e,t={focusable:!1})=>{let n=t.focusable?ze:Fn;return Array.from(e.querySelectorAll(n.join(",")))},Br=(e,t={level:0})=>{if(!e)return[];let n=ze.map(r=>r+`[${U}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(n))},Kr=(e={level:0})=>{let t=ze.map(n=>n+`[${U}='${e.level}']`).join(",");return n=>n.matches(t)},zr=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"))},_r=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]}},qr=e=>e.current?e.current.navigationMatrix.length:0,wn=e=>e?`${e}${In}`:"",N={generateNavigatableId:Ln,getNavigatableId:kt,getNavigatableLevel:Nr,getNavigatableElement:Or,getClosestNavigatableElement:wr,getActiveElement:Ar,getClosestScope:Tr,getHeaderElement:Rn,getBodyElement:Mn,getFocusableElements:Pr,getNavigatableElements:Br,filterNavigatableElements:Kr,focusElement:zr,getIdPrefix:_r,isNavigatable:dt,findNextIdByRowIndex:Nn,findNextIdByCellIndex:On,findId:pt,getNextNavigationIndex:qr,getFilterColumnId:wn},An="k-table-row k-filter-row",Gr=(e,t,n)=>{let r=`${n?"k-grid-header-sticky":""}`;return e.some(o=>o.field===t)&&(r+=" k-sorted"),r},Hr=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(_e,{columnId:wn(l.id),navigatable:l.navigatable,style:u,key:c,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:d?i.toLanguageString(ut,C[ut]):void 0,className:g.classNames("k-table-th k-header",Gr(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 Dt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((n,r)=>Dt(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=Dt(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=Dt(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:Ln(`${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 $r 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(g.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 Vr 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(g.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 Yr={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Ur={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=Yr[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===g.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},m={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,h=g.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),E=o.locked!==void 0?{left:o.left,right:o.right,borderRightWidth:o.rightBorder?"1px":""}:{},y=F.provideLocalizationService(this).toLanguageString(ct,C[ct]);let b=o.isAccessible?{ariaSort:l?Ur[u]:void 0,role:"columnheader",ariaColumnIndex:o.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?y:""}:{role:"presentation"};return a.createElement(_e,{key:r,colSpan:o.colSpan,rowSpan:o.rowSpan,className:h,style:E,columnId:o.id,navigatable:o.navigatable,onKeyDown:l&&(f=>this.cellKeyDown(f,o))||void 0,...b},o.headerCell&&a.createElement(o.headerCell,{...m}),!o.headerCell&&a.createElement("span",{className:"k-cell-inner"},a.createElement(_n,{...m}),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(g.IconWrap,{key:1,name:`sort-${n}-small`,icon:n==="asc"?L.sortAscSmallIcon:L.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(Vr,{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 jr(e){const t=[a.createElement("input",{key:0,checked:e.selectionValue,id:e.inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:n=>e.selectionChange({field:e.field,syntheticEvent:n})}),a.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return a.createElement(a.Fragment,null,e.render?e.render.call(void 0,t,e):t)}function Xr(e){const{enabled:t,columns:n=[],tableViewPortWidth:r,scrollLeft:o}=e,s=n.map(()=>1),i=n.map(()=>!1);if(!t)return{colSpans:s,hiddenColumns:i};const l=n.map(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],m=f=>f;let v=d.lastIndexOf(!1),h=d.some(m),E=d.every(m),y,b;for(;h&&d.length&&(v!==-1||E);){for(v<d.length-1&&(y=E?d.length:d.length-v-1,b=d.length-y,b===0&&(b=y-1),i[b]=!1,s[b]=y,d.splice(v+1,y));d.length&&!d[d.length-1];)d.pop();v=d.lastIndexOf(!1),h=d.some(m),E=d.every(m)}return{colSpans:s,hiddenColumns:i}}class Zr{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 Qr{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 Jr 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&&g.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(g.IconWrap,{className:"k-drag-status",name:n,icon:n==="k-i-cancel"?L.cancelIcon:L.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 eo 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&&g.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 Lt 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,C[rt])}=this.props;return a.createElement($.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":n})}}Lt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string};F.registerForLocalization(Lt);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,C[nt])}=this.props;return a.createElement($.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 Wn 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})}}Wn.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string};class qe 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,C[tt])}=this.props,i=r.map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return a.createElement(H.DropDownList,{value:i.find(l=>l.value===n.value)||null,onChange:this.onChange,defaultItem:o,data:i,textField:"text",ariaLabel:s})}}qe.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(qe);class $n extends a.Component{constructor(){super(...arguments),this.data=[{text:Xt,value:!0},{text:Zt,value:!1}]}render(){return a.createElement(qe,{filter:this.props.filter,onFilterChange:this.props.onFilterChange,data:this.props.data||this.data,defaultItem:this.props.defaultItem,ariaLabel:this.props.ariaLabel})}}$n.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 to=[{text:Ht,operator:"contains"},{text:Wt,operator:"doesnotcontain"},{text:ce,operator:"eq"},{text:ue,operator:"neq"},{text:Gt,operator:"startswith"},{text:$t,operator:"endswith"},{text:we,operator:"isnull"},{text:Ae,operator:"isnotnull"},{text:_t,operator:"isempty"},{text:qt,operator:"isnotempty"}],no=[{text:ce,operator:"eq"},{text:ue,operator:"neq"},{text:Vt,operator:"gte"},{text:Yt,operator:"gt"},{text:Ut,operator:"lte"},{text:jt,operator:"lt"},{text:we,operator:"isnull"},{text:Ae,operator:"isnotnull"}],ro=[{text:ce,operator:"eq"},{text:ue,operator:"neq"},{text:Qt,operator:"gte"},{text:Jt,operator:"gt"},{text:en,operator:"lt"},{text:tn,operator:"lte"},{text:we,operator:"isnull"},{text:Ae,operator:"isnotnull"}],oo=[{text:ce,operator:"eq"},{text:ue,operator:"neq"}];class so{static get text(){return[...to]}static get numeric(){return[...no]}static get date(){return[...ro]}static get boolean(){return[...oo]}}const Mt=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",Oe=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",Kt=e=>{e.value===void 0&&!Oe(e.operator)&&(e.value=Mt(e.operator)?"":null)};class Ge 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(Oe(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(Oe(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,C[Qe])}=this.props,s=n.find(l=>l.name===r.field),i=(s&&s.operators||[]).map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return a.createElement("div",{className:"k-filter-toolbar"},a.createElement(O.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:o},a.createElement(O.ToolbarItem,{className:"k-filter-field"},a.createElement(H.DropDownList,{className:"k-filter-dropdown",data:n,textField:"label",value:n.find(l=>l.name===r.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(Je,C[Je])})),a.createElement(O.ToolbarItem,{className:"k-filter-operator"},a.createElement(H.DropDownList,{data:i,textField:"text",value:i.find(l=>l.operator===r.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(et,C[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(ae,C[ae]),icon:"x",svgIcon:L.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}}Ge.propTypes={filter:p.object.isRequired,fields:p.array.isRequired,ariaLabel:p.string,onChange:p.func.isRequired,onRemove:p.func.isRequired};F.registerForLocalization(Ge);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,C[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,C[je])),a.createElement(O.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:n.logic==="or",type:"button"},e.toLanguageString(Xe,C[Xe]))),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(te,C[te]),icon:"filter-add-expression",svgIcon:L.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(te,C[te])),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(ne,C[ne]),icon:"filter-add-group",svgIcon:L.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(ne,C[ne])),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(ae,C[ae]),icon:"x",svgIcon:L.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"},le.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(Ge,{filter:o,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};let He=Vn;He.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(He);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)},g.validatePackage(xt)}render(){return a.createElement("div",{className:g.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(He,{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 Ne=e=>a.createElement("div",{onClick:e.onClick,className:g.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&a.createElement(g.IconWrap,{name:e.iconClass?g.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),ao=[{text:sn,operator:"contains"},{text:an,operator:"doesnotcontain"},{text:Te,operator:"eq"},{text:Pe,operator:"neq"},{text:on,operator:"startswith"},{text:ln,operator:"endswith"},{text:Be,operator:"isnull"},{text:Ke,operator:"isnotnull"},{text:nn,operator:"isempty"},{text:rn,operator:"isnotempty"}],io=[{text:Te,operator:"eq"},{text:Pe,operator:"neq"},{text:cn,operator:"gte"},{text:un,operator:"gt"},{text:dn,operator:"lte"},{text:pn,operator:"lt"},{text:Be,operator:"isnull"},{text:Ke,operator:"isnotnull"}],lo=[{text:Te,operator:"eq"},{text:Pe,operator:"neq"},{text:gn,operator:"gte"},{text:mn,operator:"gt"},{text:fn,operator:"lt"},{text:vn,operator:"lte"},{text:Be,operator:"isnull"},{text:Ke,operator:"isnotnull"}],co=[{text:hn,operator:""}];class ge{static get text(){return[...ao]}static get numeric(){return[...io]}static get date(){return[...lo]}static get boolean(){return[...co]}}const Nt=e=>{const{filter:t,onFilterChange:n,operators:r,initialFilter:o}=e,s=a.useCallback(u=>{const d=t,m=u.target.value.operator,v=d?{...d,operator:m}:{value:o.value,operator:m};n.call(void 0,u.syntheticEvent,v,d)},[t,n,o]),i=a.useCallback(u=>{const d=u.target.value,m=t,v=m?{...m,value:d}:{value:d,operator:r[0].operator};n.call(void 0,u,v,m)},[t,n,r]),l=F.useLocalization(),c=r.map(u=>({...u,text:l.toLanguageString(u.text,C[u.text])}));return a.createElement(a.Fragment,null,a.createElement(H.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=ge.boolean[0].text;return a.createElement($.Checkbox,{onChange:r,checked:t.value,label:F.useLocalization().toLanguageString(o,C[o]),labelPlacement:"after"})},gt=e=>{const t=a.useCallback(o=>a.createElement($.Input,{...o,value:o.value||""}),[]),n=a.useRef(ge.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($.NumericTextBox,{...o,value:o.value||null}),[]),n=a.useRef(ge.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(ge.date),r=a.useRef({operator:"",value:null});return a.createElement(Nt,{initialFilter:r.current,input:t,operators:e.operators||n.current,...e})},uo=[{text:En,logic:"and"},{text:Cn,logic:"or"}],We=e=>{const t=F.useLocalization(),n=(e.data||uo).map(r=>({...r,text:t.toLanguageString(r.text,C[r.text])}));return a.createElement(H.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,C[ot])),a.createElement(O.Button,{themeColor:"primary"},t.toLanguageString(st,C[st])))})},$e=e=>{g.validatePackage(xt);const t=a.useRef([]),{field:n,filter:r,sort:o=t.current,onSortChange:s,onFilterChange:i,initialFilter:l,sortAsc:c=!1,sortDesc:u=!1,filterContent:d=[],expandFilters:m=!1}=e,[v,h]=a.useState(!1),[E,y]=a.useState(m),[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(A=>!le.isCompositeFilterDescriptor(A)&&A.field===n)),[r,n]),D=a.useCallback(()=>{h(!1)},[]),T=a.useCallback(()=>{if(x.current){x.current=!1;return}clearTimeout(k.current),k.current=window.setTimeout(()=>{D()})},[D]),z=a.useCallback(()=>clearTimeout(k.current),[]),_=a.useCallback(M=>{x.current=v&&M.currentTarget===S.current},[v]),G=a.useCallback(()=>{h(!v),n&&l&&(y(v?!1:m),f(v?b:I()||l(n)))},[I,n,v,b,l,m]);a.useEffect(()=>{v&&R.current&&R.current.focus()},[v]);const w=a.useCallback(()=>y(!E),[E]),P=a.useCallback((M,A)=>{const B=[...o],K=B.findIndex(dr=>dr.field===n),ee={field:n,dir:A};K>=0?B[K].dir!==ee.dir?B.splice(K,1,ee):B.splice(K,1):B.push(ee),D(),s&&s.call(void 0,M,B,n)},[o,n,s,D]),j=a.useCallback((M,A,B)=>{const K={...b,filters:[...b.filters]},ee=K.filters.indexOf(B);K.filters.splice(ee,1,A),f(K)},[b]),me=a.useCallback(M=>{M.preventDefault();const A=(r||[]).slice(),B=I(),K=B?A.indexOf(B):-1;K>=0?A.splice(K,1,b):A.push(b),D(),i&&i.call(void 0,M,A,n)},[r,b,n,i,D,I]),fe=a.useCallback(M=>{const A=(r||[]).slice(),B=I(),K=B?A.indexOf(B):-1;K>=0&&A.splice(K,1),l&&f(l(n)),D(),i&&i.call(void 0,M,A,n)},[r,n,i,l,D,I]),Ve=a.useCallback(M=>P(M,"asc"),[P]),ve=a.useCallback(M=>P(M,"desc"),[P]),Ye=a.useCallback(M=>b&&f({...b,logic:M.value.logic}),[b]),X=o.find(M=>M.field===n)||{dir:""},[Z,Q,J]=d,Ue=F.useLocalization(),ir=c||u?a.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},c&&a.createElement(Ne,{title:Ue.toLanguageString(it,C[it]),iconClass:"k-i-sort-asc-small",svgIcon:L.sortAscSmallIcon,selected:X.dir==="asc",onClick:Ve}),u&&a.createElement(Ne,{title:Ue.toLanguageString(lt,C[lt]),iconClass:"k-i-sort-desc-small",svgIcon:L.sortDescSmallIcon,selected:X.dir==="desc",onClick:ve})):null,lr=b&&d.length>0?a.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},a.createElement(Ne,{iconClass:"k-i-filter",svgIcon:L.filterIcon,title:Ue.toLanguageString(at,C[at]),onClick:w}),a.createElement(Xn,{show:E,onSubmit:me,onReset:fe},Z&&a.createElement(Z,{filter:b.filters[0],onFilterChange:j}),Q&&a.createElement(Q,{value:b.logic,onChange:Ye}),J&&a.createElement(J,{filter:b.filters[1],onFilterChange:j}))):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(g.IconWrap,{name:"filter",icon:L.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:T,onFocus:z,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,wt,{closeMenu:D,field:n}):wt)),At=[cr,ur];return a.createElement(a.Fragment,null,e.render?e.render.call(void 0,At):At)},po=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,We,gt]:[];return a.createElement($e,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?r:void 0,field:t,...n})},ho=e=>{const{field:t,...n}=e,r=a.useCallback(i=>({logic:"or",filters:[{operator:"eq",field:i,value:null},{operator:"eq",field:i,value:null}]}),[]),o=!!e.field,s=o?[mt,We,mt]:[];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?[ft,We,ft]:[];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:"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 re(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=re(e,n,le.orderBy(re(e,n),t)),o=re(r,n).map(s=>Zn(s,t,n));return{...r,[n]:o}}return e}function fo(e,t,n){let r=le.orderBy(e,t);return r=r.map(o=>Zn(o,t,n)),r}function Qn(e,t,n){let r=re(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=le.filterBy(r,s);return re(e,n,i)}return e}function vo(e,t,n){let r={[n]:[...e]};return r=Qn(r,t,n),r[n]||[]}function Eo(e,t,n){let r=[];const o=[];for(let s=e.length-1;s>=0;s--){const i=e[s];r.push({root:i,data:t(i),level:[s],levelCount:e.length})}for(;r.length>0;){let s=r.pop();if(o.push({dataItem:s.root,level:[...s.level],...n(s.root),levelCount:s.levelCount}),s.data.length)for(let i=s.data.length-1;i>=0;i--){const l=s.data[i];r.push({root:l,data:t(l),level:[...s.level,i],levelCount:s.data.length})}}return o}const Co=(e,t,n)=>{const r=c=>!!g.getNestedValue(t,c),o=c=>!!g.getNestedValue(n,c),s=c=>{const u=[];return r(c)&&o(c)&&u.push(...g.getNestedValue(n,c)),u},i=(c,u,d)=>{u.push({...c,level:d}),s(c).forEach(m=>i(m,u,d+1))},l=[];return e.forEach(c=>i(c,l,0)),l},bo=(e,t,n,r)=>{let o={},s=[],i;return e.forEach(l=>o[t(l)]={...l}),e.forEach(l=>{i=o[n(l)],i?(i[r]=i[r]||[],i[r].push(o[t(l)])):s.push(o[t(l)])}),s},xo=(e,t,n)=>g.extendDataItem(e,t,n),yo=(e,t,n)=>[...g.mapTree([{[t]:[...e]}],t,o=>Io(o,n,t))[0][t]],Io=(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},So=(e,t,n,r)=>g.mapTree(e,t,o=>n(o)?{...o,[t]:r(o[t]||[])}:o),vt=(e,t,n)=>g.getItemPath(e,t,n),Fo=(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},ie="groupId",Et="items",Jn=(e,t,n)=>{e.items&&(e[ie]=`${n}${n&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(r=>Jn(r,t-1,e[ie])))},ko=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 g.mapTree(e.data,Et,n=>{n[ie]&&t.push(n[ie])}),t},Lo=e=>g.mapTree(e.data,Et,t=>g.extendDataItem(t,Et,{expanded:!e.collapsedIds.some(n=>n===t[ie])})),Ro=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||g.guid(),navigationMatrix:[],lastHeaderIndex:-1})},Mo=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"))}},No=e=>{const{contextStateRef:t,navigationStateRef:n,document:r}=e;if(t.current&&n.current&&r){const o=g.getActiveElement(r),s=N.getNavigatableId(o);s&&s===t.current.activeId&&(n.current.activeElementIsFocused=!0)}},Oo=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}},wo=(e,t)=>{const{contextStateRef:n}=t;if(e.isDefaultPrevented()||!n.current)return;const r=e.target,o=N.getNavigatableId(r);if(o&&o!==n.current.activeId){const s=N.getClosestScope(r);if(!s)return;const i=N.getActiveElement(s,n.current.activeId);i&&i.setAttribute("tabIndex","-1"),r.setAttribute("tabIndex","0"),n.current.activeId=o}},Ao=(e,t)=>{const{contextStateRef:n,navigationStateRef:r,onNavigationAction:o}=t;if(e.isDefaultPrevented()||!n.current||!r.current)return;if(e.keyCode===g.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===g.Keys.enter){const d=N.getNavigatableElement(s,{level:l+1});if(d){N.focusElement({elementForFocus:d,event:e,contextStateRef:n,prevElement:s});return}else{const m=N.getFocusableElements(s)[0];N.focusElement({elementForFocus:m,event:e,contextStateRef:n,prevElement:s});return}}if(e.keyCode===g.Keys.up||e.keyCode===g.Keys.down||e.keyCode===g.Keys.left||e.keyCode===g.Keys.right){const d=e.keyCode===g.Keys.up||e.keyCode===g.Keys.left,m=e.keyCode===g.Keys.up||e.keyCode===g.Keys.down;let v;if(r.current&&r.current.prevNavigationIndexes){const[h,E]=r.current.prevNavigationIndexes;u[h][E]===i?v=r.current.prevNavigationIndexes:v=pt(u,i)}else v=pt(u,i);if(v){const[h,E]=v,[y,b]=m?Nn(h,E,i,u,d):On(h,E,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 m=kt(d);if(!m)return;const v=d.rowSpan||1,h=d.colSpan||1;let E;for(let y=u,b=u+v;y<b;y++){if(r[y]||(r[y]=[]),E===void 0){const f=r[y].findIndex(S=>!S);E=f>-1?f:r[y].length}r[y][E]=m||""}for(let y=E+1,b=E+h;y<b;y++)r[u][y]=m||""})}),t.current.navigationMatrix=r.filter(c=>!!c),t.current.lastHeaderIndex=i.length-1},To={onConstructor:Ro,onComponentDidMount:Mo,onGetSnapshotBeforeUpdate:No,onComponentDidUpdate:Oo,onFocus:wo,onKeyDown:Ao,generateMatrix:Ot},er="data-grid-row-index",tr="data-grid-col-index",nr="data-prevent-selection",Po="items",V={},Bo=(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},oe=e=>{if(!e)return;const t=e.getAttribute(er);return t?parseInt(t,10):void 0},se=e=>{if(!e)return;const t=e.getAttribute(tr);return t?parseInt(t,10):void 0},Ko=e=>{const t=e.subItemsField||Po,n=g.getter(e.dataItemKey);return g.mapTree(e.data,t,r=>g.extendDataItem(r,t,{[e.selectedField]:e.selectedState[n(r)]}))},zo=e=>{const{event:t,dataItemKey:n,selectedState:r}=e,{syntheticEvent:o,nativeEvent:s,dataItems:i,componentId:l,mode:c,cell:u,selectedField:d}=t,{target:m,ctrlKey:v,metaKey:h,altKey:E,shiftKey:y}=s;if(o.isDefaultPrevented()||s.keyCode!==g.Keys.enter)return r;const b=W(m,"TD"),f=W(m,"TR"),S=se(b),R=oe(f);let k={};return b&&f&&R!==void 0&&S!==void 0&&(k=rr({selectedState:r,dataItemKey:n,event:{ctrlKey:v,metaKey:h,altKey:E,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:m,shiftKey:v,metaKey:h,componentId:E,mode:y,dataItem:b}=t,f=g.getter(n);let S={};const R=b!==null;if(y==="single"){const k=o.slice(s,s+1)[0],x=f(k);V[E]={rowIndex:s,colIndex:l},S[x]=u?[l]:!0}else if(d||!v&&!m&&!h&&!R){d||(V[E]={rowIndex:s,colIndex:l});const k=[];for(let I=l;I<=c;I++)k.push(I);o.slice(s,i+1).forEach(I=>{const D=f(I);S[D]=u?[...k]:!0})}else if(m||h||R){V[E]={rowIndex:s,colIndex:l};const x=o.slice(s,i+1)[0],I=f(x);S={...r},S[I]=u&&!R?Bo(S[I],l):!S[I]}else if(v){const k=V[E]&&V[E].rowIndex||0,x=V[E]&&V[E].colIndex||0,I=Math.min(k,s,i),D=Math.max(k,s,i),T=Math.min(x,l,c),z=Math.max(x,l,c),_=[];for(let w=T;w<=z;w++)_.push(w);o.slice(I,D+1).forEach(w=>{const P=f(w);S[P]=u?[..._]:!0})}return S},_o=g.hasRelativeStackingContext(),or=e=>{if(!e||!_o)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}},qo=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,m]=a.useState(null),v=a.useRef(),h=a.useRef(!1),E=a.useRef(!1),y=a.useCallback(k=>{const{event:x}=k;E.current=x.originalEvent.target.hasAttribute(nr),!(E.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:D}=u.current;if(!E.current&&!(!o||s==="single")&&((Math.abs(D-x.clientY)>5||Math.abs(I-x.clientX)>5)&&(h.current=!0),h.current)){const T=sr(v.current);m({top:Math.min(D,x.clientY)-T.top,left:Math.min(I,x.clientX)-T.left,width:Math.abs(x.clientX-I),height:Math.abs(x.clientY-D)})}},[m,o,s]),f=a.useCallback(k=>{const{event:x}=k,{clientX:I,clientY:D}=u.current;if(E.current||!l.current)return;const T=l.current.element&&l.current.element.ownerDocument;if(T){if(h.current){const z=Math.min(D,x.clientY),_=Math.min(I,x.clientX),G=Math.max(D,x.clientY),w=Math.max(I,x.clientX),P=c.current;if(!P)return;P.style.visibility="hidden";const j=T.elementFromPoint(_,z),me=T.elementFromPoint(w,G);if(P.style.visibility="",!j||!me)return;const fe=W(j,"TD"),Ve=W(fe,"TR"),ve=W(me,"TD"),Ye=W(ve,"TR"),X=se(fe),Z=oe(Ve),Q=se(ve),J=oe(Ye);X!==void 0&&Z!==void 0&&Q!==void 0&&J!==void 0&&t({nativeEvent:x.originalEvent,startRowIndex:Z,startColIndex:X,endRowIndex:J,endColIndex:Q,altKey:x.altKey,shiftKey:x.shiftKey,ctrlKey:x.ctrlKey,metaKey:x.metaKey,mode:s,cell:i,isDrag:!0})}else{const z=T.elementFromPoint(I,D);if(!z)return;const _=W(z,"TD"),G=W(z,"TR"),w=se(_),P=oe(G);_&&G&&P!==void 0&&w!==void 0&&t({nativeEvent:x.originalEvent,startRowIndex:P,startColIndex:w,endRowIndex:P,endColIndex:w,altKey:x.altKey,shiftKey:x.shiftKey,ctrlKey:x.ctrlKey,metaKey:x.metaKey,mode:s,cell:i,isDrag:!1})}m(null),h.current=!1,u.current={clientX:0,clientY:0}}},[m,s,i,t]),S=g.useDocument(c);return r?a.createElement(a.Fragment,null,a.createElement(g.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})},Go="items";var q=(e=>(e.copy="copy",e.cut="cut",e.paste="paste",e))(q||{});const Ho=(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]},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
|
|
6
6
|
`,s=t.includes(o)?o:t.includes(`
|
|
7
7
|
`)?`
|
|
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],
|
|
9
|
-
`;return`${t.join(r)}${o}${e}`},
|
|
10
|
-
`,r=e.copiedItems.map((o,s)=>{let i=Wo(o.dataItem,o.fields)||"";return t.copyHeaders&&s===0&&(i
|
|
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
|
|
9
|
+
`;return`${t.join(r)}${o}${e}`},Yo=e=>{const{event:t,selectedState:n,data:r,dataItemKey:o}=e,s={},i={copiedItems:[],pastedItems:[],clipboardData:""},l=e.subItemsField||Ho;return Object.entries(n).forEach(([c,u])=>{s[c]=m.isArray(u)?u.map(d=>t.columns[d]):t.columns}),m.mapTree(r,l,c=>{const u=c[o||t.dataItemKey||""]||"";return s[u]&&i.copiedItems.push({dataItem:c,fields:s[u].map(d=>d.field||"")}),c}),i},Uo=(e,t)=>{const n=t.newLineDelimiter||`\r
|
|
10
|
+
`,r=e.copiedItems.map((o,s)=>{let i=Wo(o.dataItem,o.fields)||"";return t.copyHeaders&&s===0&&(i=Vo(i,o.fields,t)),i?[i]:[]}).join(n);return navigator.clipboard.writeText(r),r},jo=e=>{const{event:t}=e,n=Yo(e);let r="";if(t.type==="paste"){const o=t.nativeEvent?t.nativeEvent.clipboardData:"";r=o?o.getData("text").trim():"",n.pastedItems=$o(t,r,n)}else n.pastedItems=[],r=Uo(n,t);return n.clipboardData=r,n};class Xo{constructor(t){this.copyHandler=n=>{this.clipboardEvent(q.copy,n)},this.cutHandler=n=>{this.clipboardEvent(q.cut,n)},this.pasteHandler=n=>{this.clipboardEvent(q.paste,n)},this.addEventListeners=n=>{n&&(n.addEventListener(q.copy,this.copyHandler),n.addEventListener(q.cut,this.cutHandler),n.addEventListener(q.paste,this.pasteHandler))},this.removeEventListeners=n=>{n&&(n.removeEventListener(q.copy,this.copyHandler),n.removeEventListener(q.cut,this.cutHandler),n.removeEventListener(q.paste,this.pasteHandler))},this.clipboardEvent=t}}exports.BooleanFilter=Wn;exports.BooleanFilterCell=yr;exports.ClipboardActionType=q;exports.ClipboardService=Xo;exports.ColumnDefaultProps=yn;exports.ColumnMenuBooleanColumn=fo;exports.ColumnMenuBooleanFilter=Un;exports.ColumnMenuDateColumn=mo;exports.ColumnMenuDateFilter=ft;exports.ColumnMenuFilterForm=Xn;exports.ColumnMenuFilterLogic=He;exports.ColumnMenuForm=jn;exports.ColumnMenuItem=Me;exports.ColumnMenuNumericColumn=go;exports.ColumnMenuNumericFilter=mt;exports.ColumnMenuOperators=ve;exports.ColumnMenuTextColumn=ho;exports.ColumnMenuTextFilter=gt;exports.ColumnResize=Qr;exports.ColumnResizer=Gn;exports.CommonDragLogic=Jr;exports.DateFilter=$n;exports.DateFilterCell=Sr;exports.DragClue=eo;exports.DropClue=to;exports.EnumFilter=_e;exports.Expression=qe;exports.FILTER_ROW_CLASS=An;exports.FOCUSABLE_ELEMENTS=Ke;exports.Filter=Yn;exports.FilterRow=$r;exports.Group=Ge;exports.Header=Vr;exports.HeaderCell=_n;exports.HeaderRow=Hn;exports.HeaderSelectionCell=Xr;exports.HeaderThElement=ze;exports.KEYBOARD_NAV_DATA_BODY=St;exports.KEYBOARD_NAV_DATA_HEADER=It;exports.KEYBOARD_NAV_DATA_ID=fe;exports.KEYBOARD_NAV_DATA_LEVEL=Z;exports.KEYBOARD_NAV_DATA_SCOPE=yt;exports.KEYBOARD_NAV_DATA_ZONE=Rr;exports.KEYBOARD_NAV_FILTER_COL_SUFFIX=In;exports.NumericFilter=Rt;exports.NumericFilterCell=kr;exports.Operators=ao;exports.Pager=ge;exports.TABBABLE_ELEMENTS=Fn;exports.TABLE_COL_INDEX_ATTRIBUTE=tr;exports.TABLE_PREVENT_SELECTION_ELEMENT=nr;exports.TABLE_ROW_INDEX_ATTRIBUTE=er;exports.TableKeyboardNavigationContext=Ft;exports.TableSelection=Go;exports.TextFilter=Dt;exports.TextFilterCell=Dr;exports.closestTagName=W;exports.createDataTree=xo;exports.createFilterComponent=me;exports.extendDataItem=yo;exports.filterBy=Eo;exports.flatData=Co;exports.getColumnIndex=le;exports.getGroupIds=Do;exports.getIndex=ht;exports.getItemPath=vt;exports.getOffset=sr;exports.getRowIndex=ie;exports.getSelectedState=rr;exports.getSelectedStateFromKeyDown=_o;exports.getSelectionOptions=ar;exports.isRtl=zn;exports.mapColumns=Wr;exports.modifySubItems=Fo;exports.moveTreeItem=ko;exports.nextColumn=Tn;exports.normalize=qn;exports.orderBy=vo;exports.populateClipboardData=jo;exports.readColumns=Kn;exports.relativeContextElement=or;exports.removeItems=Io;exports.setExpandedState=Ro;exports.setGroupIds=Lo;exports.setSelectedState=zo;exports.stringOperator=Mt;exports.tableColumnsVirtualization=Zr;exports.tableKeyboardNavigation=Po;exports.tableKeyboardNavigationBodyAttributes=Nr;exports.tableKeyboardNavigationHeaderAttributes=kn;exports.tableKeyboardNavigationScopeAttributes=Mr;exports.tableKeyboardNavigationTools=N;exports.treeToFlat=bo;exports.unaryOperator=Ne;exports.updateLeft=Pn;exports.updateRight=Bn;exports.useTableKeyboardNavigation=Ln;
|