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