@progress/kendo-react-data-tools 7.0.0-develop.9 → 7.0.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/dist/cdn/js/kendo-react-datatools.js +1 -1
- package/index.js +1 -1
- package/index.mjs +2 -1
- package/package.json +10 -9
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
(function(c,j){typeof exports=="object"&&typeof module<"u"?j(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-intl"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-data-query"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-animation")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-buttons","@progress/kendo-react-intl","@progress/kendo-react-inputs","@progress/kendo-react-dropdowns","@progress/kendo-svg-icons","react-dom","@progress/kendo-data-query","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-animation"],j):(c=typeof globalThis<"u"?globalThis:c||self,j(c.KendoReactDatatools={},c.React,c.PropTypes,c.KendoReactCommon,c.KendoReactButtons,c.KendoReactIntl,c.KendoReactInputs,c.KendoReactDropdowns,c.KendoSvgIcons,c.ReactDOM,c.KendoDataQuery,c.KendoReactDateinputs,c.KendoReactPopup,c.KendoReactAnimation))})(this,function(c,j,ln,m,T,S,V,G,N,Ye,X,Ue,cn,un){"use strict";function je(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const i=je(j),h=je(ln),pn=je(Ye),me="pager.info",Ee="pager.firstPage",ve="pager.previousPage",Ce="pager.nextPage",be="pager.lastPage",ye="pager.itemsPerPage",dn="pager.pageSelection",$="pager.page",xe="pager.of",Ie="pager.totalPages",hn="pager.pageLabel",Fe="pager.ariaKeyshortcuts",Se="pager.ariaLabel",Le="pager.pageSizeAriaLabel",Me="pager.mobileSelect",De="pager.moreButtonLabel",Z="filter.eqOperator",J="filter.notEqOperator",Ne="filter.isNullOperator",Oe="filter.isNotNullOperator",kt="filter.isEmptyOperator",Rt="filter.isNotEmptyOperator",Kt="filter.startsWithOperator",Bt="filter.containsOperator",zt="filter.notContainsOperator",_t="filter.endsWithOperator",qt="filter.gteOperator",Gt="filter.gtOperator",Ht="filter.lteOperator",Wt="filter.ltOperator",Vt="filter.isTrue",$t="filter.isFalse",Yt="filter.afterOrEqualOperator",Ut="filter.afterOperator",jt="filter.beforeOperator",Xt="filter.beforeOrEqualOperator",Xe="filter.andLogic",Ze="filter.orLogic",Q="filter.addExpression",ee="filter.addGroup",te="filter.close",Je="filter.groupAriaLabel",Qe="filter.expressionAriaLabel",et="filter.expressionDropdownAriaLabel",tt="filter.expressionOperatorDropdownAriaLabel",rt="filter.enumFilterDropdownAriaLabel",nt="filter.numericFilterAriaLabel",st="filter.textFilterAriaLabel",at="columnMenu.filterClearButton",it="columnMenu.filterSubmitButton",ot="columnMenu.filterTitle",lt="columnMenu.sortAscending",ct="columnMenu.sortDescending",Ae="columnMenu.filterEqOperator",we="columnMenu.filterNotEqOperator",Te="columnMenu.filterIsNullOperator",Pe="columnMenu.filterIsNotNullOperator",Zt="columnMenu.filterIsEmptyOperator",Jt="columnMenu.filterIsNotEmptyOperator",Qt="columnMenu.filterStartsWithOperator",er="columnMenu.filterContainsOperator",tr="columnMenu.filterNotContainsOperator",rr="columnMenu.filterEndsWithOperator",nr="columnMenu.filterGteOperator",sr="columnMenu.filterGtOperator",ar="columnMenu.filterLteOperator",ir="columnMenu.filterLtOperator",or="columnMenu.filterIsTrue",lr="columnMenu.filterAfterOrEqualOperator",cr="columnMenu.filterAfterOperator",ur="columnMenu.filterBeforeOperator",pr="columnMenu.filterBeforeOrEqualOperator",dr="columnMenu.filterAndLogic",hr="columnMenu.filterOrLogic",ut="sort.ariaLabel",pt="filter.ariaLabel",C={[ye]:"items per page",[dn]:"Select page",[me]:"{0} - {1} of {2} items",[Ee]:"Go to the first page",[ve]:"Go to the previous page",[Ce]:"Go to the next page",[be]:"Go to the last page",[$]:"Page",[xe]:"of",[Ie]:"{0}",[hn]:"Page",[Fe]:"Enter ArrowRight ArrowLeft",[Se]:"Pager",[Le]:"Page size",[Me]:"Select",[De]:"More pages",[ut]:"Sortable",[pt]:"Filter",[Z]:"Is equal to",[J]:"Is not equal to",[Ne]:"Is null",[Oe]:"Is not null",[kt]:"Is empty",[Rt]:"Is not empty",[Kt]:"Starts with",[Bt]:"Contains",[zt]:"Does not contain",[_t]:"Ends with",[qt]:"Is greater than or equal to",[Gt]:"Is greater than",[Ht]:"Is less than or equal to",[Wt]:"Is less than",[Vt]:"Is true",[$t]:"Is false",[Yt]:"Is after or equal to",[Ut]:"Is after",[jt]:"Is before",[Xt]:"Is before or equal to",[Xe]:"And",[Ze]:"Or",[Q]:"Add Expression",[ee]:"Add Group",[te]:"Close",[Je]:"Filter toolbar",[Qe]:"Filter expression row",[et]:"Filter dropdown",[tt]:"Filter operator dropdown",[rt]:"Select True/False",[nt]:"Enter number",[st]:"Enter text",[at]:"Clear",[it]:"Filter",[ot]:"Filter",[lt]:"Sort Ascending",[ct]:"Sort Descending",[Ae]:"Is equal to",[we]:"Is not equal to",[Te]:"Is null",[Pe]:"Is not null",[Zt]:"Is empty",[Jt]:"Is not empty",[Qt]:"Starts with",[er]:"Contains",[tr]:"Does not contain",[rr]:"Ends with",[nr]:"Is greater than or equal to",[sr]:"Is greater than",[ar]:"Is less than or equal to",[ir]:"Is less than",[or]:"Is true",[lr]:"Is after or equal to",[cr]:"Is after",[ur]:"Is before",[pr]:"Is before or equal to",[dr]:"And",[hr]:"Or"},gr="...";class gn extends i.Component{constructor(){super(...arguments),this.handlePageChange=(t,r)=>{t.preventDefault(),this.props.pageChange(r,t)},this.handleSelectPageChange=t=>{t.preventDefault(),this.props.pageChange(t.target.value,t)}}render(){const t=S.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(Me):{messageKey:Me,defaultMessage:C[Me]},n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},s=this.props.messagesMap?this.props.messagesMap(De):{messageKey:De,defaultMessage:C[De]},a=t.toLanguageString(s.messageKey,s.defaultMessage),o=this.start>1&&this.renderDots(this.start-1,a),l=this.end<this.props.totalPages&&this.renderDots(this.end+1,a),u=this.start>1&&this.renderOptionDots(this.start-1),p=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),d=[];for(let g=this.start;g<=this.end;g++)d.push(g);const E=d.map(g=>i.createElement(T.Button,{className:m.classNames({"k-selected":this.props.currentPage===g}),key:g,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(n.messageKey,n.defaultMessage)+" "+g,"aria-current":this.props.currentPage===g?!0:void 0,onClick:y=>this.handlePageChange(y,g)},g)),v=d.map(g=>i.createElement("option",{key:g},g));return i.createElement(i.Fragment,null,i.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:m.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${m.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(r.messageKey,r.defaultMessage),value:this.props.currentPage,onChange:g=>this.handleSelectPageChange(g)},u,v,p),i.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},o,E,l))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const t=this.props.currentPage,r=this.props.buttonCount;if(t>r){const n=t%r;return n===0?t-r+1:t-n+1}return 1}renderDots(t,r){return i.createElement(T.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":r,onClick:n=>this.handlePageChange(n,t)},gr)}renderOptionDots(t){return i.createElement("option",{value:t},gr)}}class fr extends i.Component{constructor(){super(...arguments),this.state={page:this.props.currentPage},this.handleOnChange=t=>{this.setState({page:t.target.value}),t.target.value&&this.props.pageChange(t.target.value,t)}}render(){const t=S.provideIntlService(this),r=S.provideLocalizationService(this),n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},s=this.props.messagesMap?this.props.messagesMap(xe):{messageKey:xe,defaultMessage:C[xe]},a=this.props.messagesMap?this.props.messagesMap(Ie):{messageKey:Ie,defaultMessage:C[Ie]};return i.createElement(i.Fragment,null,i.createElement("span",{className:"k-pager-input"},i.createElement("span",null,r.toLanguageString(n.messageKey,n.defaultMessage)),i.createElement(V.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1}),i.createElement("span",null,`${r.toLanguageString(s.messageKey,s.defaultMessage)} ${t.format(r.toLanguageString(a.messageKey,a.defaultMessage),[this.props.totalPages])}`)))}}S.registerForLocalization(fr);class mr extends i.Component{constructor(){super(...arguments),this.pageSizeChange=t=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(t.target.value,10)},t)}}render(){const{value:t,pageSizes:r,pageSize:n,messagesMap:s}=this.props,a=r.slice();t===void 0&&a.filter(u=>u===n).length===0&&a.unshift(n);const o=s?s(ye):{messageKey:ye,defaultMessage:C[ye]},l=s?s(Le):{messageKey:Le,defaultMessage:C[Le]};return i.createElement("span",{className:"k-pager-sizes"},i.createElement(G.DropDownList,{value:t!==void 0?t:n,data:a,onChange:this.pageSizeChange,ariaLabel:S.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),i.createElement("span",null,S.provideLocalizationService(this).toLanguageString(o.messageKey,o.defaultMessage)))}}S.registerForLocalization(mr);const dt={name:"@progress/kendo-react-data-tools",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},Er=600,fn=768;class re extends i.Component{constructor(t){super(t),this._element=null,this.onPageChange=(r,n)=>{const s={target:this,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,targetEvent:n,...r};this.props.onPageChange&&this.props.onPageChange.call(void 0,s)},this.changePage=(r,n)=>{this.props.onPageChange&&r>0&&r<=this.totalPages&&this.props.onPageChange({target:this,skip:(r-1)*this.props.take,take:this.props.take,syntheticEvent:n,nativeEvent:n.nativeEvent,targetEvent:n})},this.onWindowResize=()=>{const r=this.element;if(!r||!this.props.responsive)return;const n=r.offsetWidth;n<Er?this.setState({showPagerSizes:!1}):n>=Er&&n<fn?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},m.validatePackage(dt),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return this.props.dir==="rtl"}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:t,showPagerInfo:r}=this.state,{skip:n,take:s,total:a,pageSizes:o,size:l,responsive:u,messagesMap:p,pageSizeValue:d}=this.props,E=S.provideLocalizationService(this),v=S.provideIntlService(this),g=Math.floor(n/s)+1,y=this.props.type==="numeric"?i.createElement(gn,{type:u&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:g,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:this.props.size}):i.createElement(fr,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:g,pageChange:this.changePage,messagesMap:p,size:this.props.size}),I=p?p(Ee):{messageKey:Ee,defaultMessage:C[Ee]},x=p?p(ve):{messageKey:ve,defaultMessage:C[ve]},f=p?p(Ce):{messageKey:Ce,defaultMessage:C[Ce]},L=p?p(be):{messageKey:be,defaultMessage:C[be]},A=p?p(me):{messageKey:me,defaultMessage:C[me]},M=p?p(Fe):{messageKey:Fe,defaultMessage:C[Fe]},b=p?p(Se):{messageKey:Se,defaultMessage:C[Se]};let F,D,R,_;this.props.previousNext&&(F=this.renderButton(1,"k-pager-nav k-pager-first"+(g===1?" k-disabled":""),E.toLanguageString(I.messageKey,I.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?N.caretAltToRightIcon:N.caretAltToLeftIcon,g===1?!0:void 0),D=this.renderButton(g-1,"k-pager-nav"+(g===1?" k-disabled":""),E.toLanguageString(x.messageKey,x.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?N.caretAltRightIcon:N.caretAltLeftIcon,g===1?!0:void 0),R=this.renderButton(g+1,"k-pager-nav"+(g>=this.totalPages?" k-disabled":""),E.toLanguageString(f.messageKey,f.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?N.caretAltLeftIcon:N.caretAltRightIcon,g>=this.totalPages?!0:void 0),_=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(g>=this.totalPages?" k-disabled":""),E.toLanguageString(L.messageKey,L.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?N.caretAltToLeftIcon:N.caretAltToRightIcon,g>=this.totalPages?!0:void 0));const q=o&&i.createElement(mr,{pageChange:this.onPageChange,pageSize:s,pageSizes:o,value:d,messagesMap:p,size:this.props.size}),H=this.props.info&&i.createElement("span",{className:"k-pager-info"},v.format(E.toLanguageString(A.messageKey,A.defaultMessage),[Math.min(n+1,a),Math.min(n+s,a),a]));return i.createElement("div",{className:m.classNames("k-pager",{[`k-pager-${m.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":E.toLanguageString(M.messageKey,M.defaultMessage),"aria-label":E.toLanguageString(b.messageKey,b.defaultMessage),ref:P=>this._element=P},i.createElement("div",{className:m.classNames("k-pager-numbers-wrap")},F,D,y,R,_),u?t&&q:q,u?r&&H:H)}renderButton(t,r,n,s,a,o){return i.createElement(T.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:r,icon:s,svgIcon:a,title:n,role:"button","aria-disabled":o,onClick:l=>{l.preventDefault(),this.changePage(t,l)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}}re.propTypes={className:h.string,style:h.object,total:h.number.isRequired,skip:h.number.isRequired,take:h.number.isRequired,buttonCount:h.number,info:h.bool,type:h.oneOf(["numeric","input"]),pageSizes:h.arrayOf(h.oneOfType([h.string,h.number])),previousNext:h.bool,onPageChange:h.func,messagesMap:h.func,size:h.oneOf([null,"small","medium","large"]),dir:h.string},re.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"},S.registerForIntl(re),S.registerForLocalization(re);const ne=e=>class extends i.Component{constructor(){super(...arguments),this.filterChange=n=>{this.props.onFilterChange&&this.props.onFilterChange(n)},this.inputChange=n=>{const s=n.target.value,{filter:a=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?a.map(p=>p.field===o?{...l,value:s}:p):[...a,{...e.emptyFilter,value:s,field:o}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.operatorChange=n=>{const{operator:s}=n.target.value,{filter:a=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?a.map(p=>p.field===o?{...l,operator:s}:p):[...a,{...e.emptyFilter,field:o,operator:s}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.clearButtonClick=n=>{const{filter:s=[],field:a=""}=this.props;this.filterChange({filter:s.filter(o=>o.field!==a),field:a,syntheticEvent:n})},this.findCellFilter=()=>{const{filter:n=[],field:s}=this.props;return n.find(a=>a.field===s)}}render(){const{clearButtonTitle:n="",operators:s=[]}=this.props,a=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:o,value:l}=a,u={ariaLabel:"filter",value:s.find(p=>p.operator===o)||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:N.filterIcon,data:s,textField:"text",popupSettings:{width:""},components:this.props.components};return i.createElement("div",{className:"k-filtercell"},i.createElement("span",null,e.inputComponent({value:l,onChange:this.inputChange,components:this.props.components,ariaLabel:this.props.ariaLabel,min:this.props.min,max:this.props.max}),i.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(u,this.props)," ",i.createElement(T.Button,{className:m.classNames({["k-clear-button-visible"]:!(l===null||l==="")||o}),title:n,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:N.filterClearIcon,disabled:!(!(l===null||l==="")||o)}))))}},vr="eq",mn={emptyFilter:{operator:vr,value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,s=r.find(a=>a.field===n);return i.createElement(G.DropDownList,{...e,value:e.data.find(a=>a.operator===(s?s.value:"")),onChange:a=>{if(!t.onFilterChange)return;const o=a.target.value.operator;if(o===""){s&&t.onFilterChange.call(void 0,{filter:r.filter(u=>u.field!==s.field),field:n,syntheticEvent:a.syntheticEvent});return}let l=s?r.map(u=>u.field===n?{...s,value:o}:u):[...r,{value:o,field:n,operator:vr}];t.onFilterChange.call(void 0,{filter:l,field:n,syntheticEvent:a.syntheticEvent})}})}};class En extends ne(mn){}const vn={inputComponent:e=>i.createElement(Ue.DatePicker,{...e}),operatorComponent:e=>i.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class Cn extends ne(vn){}const bn={inputComponent:e=>i.createElement(V.NumericTextBox,{...e}),operatorComponent:e=>i.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class yn extends ne(bn){}const xn={inputComponent:e=>i.createElement(V.Input,{...e}),operatorComponent:e=>i.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class In extends ne(xn){}const Cr={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},Y="data-keyboardnavlevel",ht="data-keyboardnavscope",gt="data-keyboardnavheader",ft="data-keyboardnavbody",se="data-keyboardnavid",Fn="data-keyboardnavzone",br="_filter",yr=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[contenteditable]"],ke=[...yr,"[tabindex]"],xr=[...yr,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Sn={[ht]:!0},Ir={[gt]:!0},Ln={[ft]:!0},mt=i.createContext(void 0);mt.displayName="KendoReactTableKeyboardNavigationContext";const Fr=(e,t)=>{const r=i.useContext(mt);return!r||!e||t===!1?{}:{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[Y]:r.level,[se]:e}},Re=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:s,style:a,columnId:o,onKeyDown:l,navigatable:u,ariaColumnIndex:p,ariaLabel:d,role:E,ariaSelected:v}=e,g=Fr(o,u);return i.createElement("th",{"aria-sort":t,"aria-label":d,"aria-colindex":p,"aria-selected":v,colSpan:r,rowSpan:n,className:s,style:a,onKeyDown:l,role:E,...g},e.children)};Re.displayName="KendoReactHeaderThElement";const Sr=(e,t,r="cell")=>`${t}_${e}_${r}`,Mn=e=>{if(e)return parseInt(e.getAttribute(Y)||"",10)},Et=e=>{if(!e)return;const t=e.getAttribute(se);return t||void 0},vt=e=>e?!!e.getAttribute(se):!1,Dn=(e,t={level:0})=>e.querySelector(`[${Y}='${t.level}']`),Nn=e=>e.parentElement&&e.parentElement.closest(`[${Y}]`),On=(e,t)=>e.querySelector(`[${se}='${t}']`),An=e=>e.parentElement&&e.parentElement.closest(`[${ht}]`),Lr=e=>e.querySelector(`[${gt}]`),Mr=e=>e.querySelector(`[${ft}]`),wn=(e,t={focusable:!1})=>{let r=t.focusable?ke:xr;return Array.from(e.querySelectorAll(r.join(",")))},Tn=(e,t={level:0})=>{if(!e)return[];let r=ke.map(n=>n+`[${Y}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(r))},Pn=(e={level:0})=>{let t=ke.map(r=>r+`[${Y}='${e.level}']`).join(",");return r=>r.matches(t)},kn=e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:s}=e;n.current&&t&&t.focus&&(r.preventDefault(),t.focus(),vt(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=Et(t)),s&&vt(s)&&s.setAttribute("tabIndex","-1"))},Rn=e=>e.current?e.current.idPrefix:"",Dr=(e,t,r,n,s)=>{if(!r)return[];let a=e+(s?-1:1);for(;a>=0&&a<n.length;){const o=n[a][t];if(o!==r)return[o,[a,t]];a=a+(s?-1:1)}return[]},Nr=(e,t,r,n,s)=>{if(!r)return[];let a=t+(s?-1:1);for(;a>=0&&a<n[e].length;){const o=n[e][a];if(o!==r)return[o,[e,a]];a=a+(s?-1:1)}return[]},Ct=(e,t)=>{if(t){for(let r=0;r<e.length;r++)for(let n=0;n<e[r].length;n++)if(e[r][n]===t)return[r,n]}},Kn=e=>e.current?e.current.navigationMatrix.length:0,Or=e=>e?`${e}${br}`:"",O={generateNavigatableId:Sr,getNavigatableId:Et,getNavigatableLevel:Mn,getNavigatableElement:Dn,getClosestNavigatableElement:Nn,getActiveElement:On,getClosestScope:An,getHeaderElement:Lr,getBodyElement:Mr,getFocusableElements:wn,getNavigatableElements:Tn,filterNavigatableElements:Pn,focusElement:kn,getIdPrefix:Rn,isNavigatable:vt,findNextIdByRowIndex:Dr,findNextIdByCellIndex:Nr,findId:Ct,getNextNavigationIndex:Kn,getFilterColumnId:Or},Ar="k-table-row k-filter-row",Bn=(e,t,r)=>{let n=`${r?"k-grid-header-sticky":""}`;return e.some(s=>s.field===t)&&(n+=" k-sorted"),n},zn=function(e){const{columns:t,filter:r,filterChange:n,sort:s=[],ariaRowIndex:a}=e,o=S.useLocalization();return i.createElement("tr",{className:Ar,"aria-rowindex":a,role:"row"},t.map((l,u)=>{const p=l.locked!==void 0?{left:l.left,right:l.right,borderRightWidth:l.rightBorder?"1px":""}:{},d=l.filterCell||l.filter;return i.createElement(Re,{columnId:Or(l.id),navigatable:l.navigatable,style:p,key:u,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:d?o.toLanguageString(pt,C[pt]):void 0,className:m.classNames("k-table-th k-header",Bn(s,l.field,l.locked))},d&&i.createElement(d,{field:l.field,filter:r,onFilterChange:n}))}))};function wr(e,t){const r=e[t].depth;let n=null;for(let s=t+1;s<e.length;s++)if(e[s].depth===r){n=e[s];break}return n}const bt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((r,n)=>bt(n)+r,0)),t};function _n(e){const t=[[]];let r=0;for(let a=e.length-1;a>=0;a--)r=Math.max(r,e[a].depth),e[a].colSpan=e[a].colSpan||1,e[a].parentIndex!==-1&&(e[e[a].parentIndex].colSpan=(e[e[a].parentIndex].colSpan||0)+e[a].colSpan);const n=[];let s=1;return e.forEach((a,o)=>{t[a.depth]=t[a.depth]||[];let l=!1;t[a.depth].length===0&&(s<=1?s=1+(a.children.length>0?0:r-a.depth):(s--,l=!0)),a.rowSpan=1+(a.children.length>0?0:r-a.depth),a.kFirst=l,a.index=t[a.depth].length,t[a.depth].push(o),a.ariaColumnIndex=n[a.depth]?n[a.depth]+1:1;for(let u=a.depth;u<a.depth+a.rowSpan;u++)n[u]=(n[u]||0)+a.colSpan}),Tr(t,e),Pr(t,e),t}function Tr(e,t,r){let n=new Array(e.length).fill(0),s=0;t.forEach(a=>{if(a.locked&&(!a.left||r))if(a.left=n[a.depth],s=bt(a),a.children.length===0)for(let o=a.depth;o<n.length;o++)n[o]+=s;else n[a.depth]+=s})}function Pr(e,t,r){let n=0,s=new Array(e.length).fill(0);for(let a=t.length-1;a>=0;a--){const o=t[a];if(o.locked&&(!o.right||r)){if(o.right=s[o.depth],n=bt(o),o.children.length===0)for(let u=o.depth;u<s.length;u++)s[u]+=n;else s[o.depth]+=n;const l=wr(t,a);o.rightBorder=!(l&&l.locked)}}}function kr(e,t,r=0){let n=[];if(!e||!e.length)return[];e.forEach(a=>{const o=kr(a.children||[],t,r+1);n.push(Object.assign({},{depth:r},Cr,a,{id:a.id?a.id:Sr(`${t.prevId++}`,t.idPrefix,"column"),declarationIndex:n.length,children:o,rowSpan:0,colSpan:0,isAccessible:!0}))});const s=(a,o)=>a.orderIndex===o.orderIndex?a.declarationIndex-o.declarationIndex:(a.orderIndex||0)-(o.orderIndex||0);if(n.sort(s),r===0){let a=[];const o=(l,u)=>l.forEach(p=>{p.parentIndex=u,o(p.children,a.push(p)-1)});return o(n,-1),a}return n}function Rr(e){return!!(e&&getComputedStyle(e).direction==="rtl")}function yt(e,t){if(!t||!e||!e.originalEvent)return-1;const r={x:e.clientX,y:e.originalEvent.clientY};let n=t.ownerDocument?t.ownerDocument.elementFromPoint(r.x,r.y):null;for(;n&&n.parentElement!==t;)n=n.parentElement;if(!n&&t.matches("tr")){const a=o=>{const l=o.getBoundingClientRect();return r.x>l.left&&r.x<l.left+l.width&&r.y>l.top&&r.y<l.top+l.height};n=Array.from(t.children).find(a)||null}const s=t.children;for(let a=0;a<s.length;a++)if(s[a]===n)return a;return-1}class qn extends i.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:t}=this.props;t&&t.resizable&&t.setIsRtl(Rr(this.element))}render(){return i.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:t=>this.element=t,...Ir},this.props.headerRow,this.props.filterRow)}}function Kr(e){const t=e.onClick?{onClick:e.onClick}:{},r=i.createElement("span",{className:"k-link",...t},i.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const Br=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);class zr extends i.Component{constructor(){super(...arguments),this.draggable=null,this.isDragged=!1,this.onDrag=t=>{this.isDragged=!0;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!1)},this.onRelease=t=>{if(!this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!0),this.isDragged=!1},this.onDoubleClick=t=>{if(this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.autofit&&this.props.autofit(t,r)}}render(){return i.createElement(m.Draggable,{onPress:t=>{t.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},i.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}}class Gn extends i.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.pressHandler&&this.props.pressHandler(t.event,r)},this.onDrag=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.dragHandler&&this.props.dragHandler(t.event,r)},this.onRelease=t=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(t.event)}}render(){return i.createElement(m.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},i.createElement("tr",{className:"k-table-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},this.props.children))}}const Hn={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Wn={none:"none",asc:"ascending",desc:"descending"};class _r extends i.Component{constructor(){super(...arguments),this.cellClick=(t,r)=>{if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:n,mode:s}=Br(this.props.sortable||!1,r.sortable||!1),a=(this.props.sort||[]).filter(u=>u.field===r.field)[0],o=Hn[n][a&&a.dir||""],l=s==="single"?[]:(this.props.sort||[]).filter(u=>u.field!==r.field);o!==""&&r.field&&l.push({field:r.field,dir:o}),this.props.sortChange(t,l,r.field)},this.cellKeyDown=(t,r)=>{t.isDefaultPrevented()||t.keyCode===m.Keys.enter&&this.cellClick(t,r)},this.cells=t=>t.map((r,n)=>{const s=this.props.columns[r],{columnResize:a}=this.props,o=a&&a.resizable&&s.resizable,l=this.props.sortable&&s.sortable,u=this.props.sort?this.props.sort.findIndex(f=>f.field===s.field):-1,p=u>=0&&this.props.sort[u].dir||"none",d={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:s.field},E={field:s.field,onClick:l&&(f=>this.cellClick(f,s))||void 0,selectionChange:this.props.selectionChange,title:s.title,selectionValue:s.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(u),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:d},v=s.columnMenu||this.props.columnMenu,g=m.classNames("k-table-th",{"k-first":s.kFirst,"k-filterable":!!v,"k-header":!0,"k-grid-header-sticky":s.locked,"k-sorted":this.props.sort&&this.props.sort.some(f=>f.field===s.field)},s.headerClassName),y=s.locked!==void 0?{left:s.left,right:s.right,borderRightWidth:s.rightBorder?"1px":""}:{},I=S.provideLocalizationService(this).toLanguageString(ut,C[ut]);let x=s.isAccessible?{ariaSort:l?Wn[p]:void 0,role:"columnheader",ariaColumnIndex:s.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?I:""}:{role:"presentation"};return i.createElement(Re,{key:n,colSpan:s.colSpan,rowSpan:s.rowSpan,className:g,style:y,columnId:s.id,navigatable:s.navigatable,onKeyDown:l&&(f=>this.cellKeyDown(f,s))||void 0,...x},s.headerCell&&i.createElement(s.headerCell,{...E}),!s.headerCell&&i.createElement("span",{className:"k-cell-inner"},i.createElement(Kr,{...E}),v&&i.createElement(v,{...d})),a&&o&&i.createElement(zr,{key:"ColumnResizer",resize:(f,L,A)=>a.dragHandler(f,s,L,A)}))})}sortIcon(t){if(!this.props.sort||t<0)return null;const r=this.props.sort[t].dir;return r?[i.createElement(m.IconWrap,{key:1,name:`sort-${r}-small`,icon:r==="asc"?N.sortAscSmallIcon:N.sortDescSmallIcon}),this.props.sort.length>1&&i.createElement("span",{key:2,className:"k-sort-order"},t+1)]:null}render(){return this.props.columnsMap.map((t,r)=>this.props.pressHandler&&i.createElement(Gn,{key:r,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:r+1},this.cells(t))||i.createElement("tr",{className:"k-table-row","aria-rowindex":r+1,role:"row"},this.cells(t)))}}S.registerForLocalization(_r);function Vn(e){const t=[i.createElement("input",{key:0,checked:e.selectionValue,id:e.inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:r=>e.selectionChange({field:e.field,syntheticEvent:r})}),i.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,t,e):t)}function $n(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:s}=e,a=r.map(()=>1),o=r.map(()=>!1);if(!t)return{colSpans:a,hiddenColumns:o};const l=r.map(f=>parseFloat((f.width||"").toString())||10);let u=0;for(let f=0;f<r.length;f++){if(r[f].locked)continue;const L=f<l.length-1?l[f+1]:0;if(u+l[f]+L<s)o[f]=!0,u+=l[f];else break}const p=l.reduce((f,L)=>f+L,0);u=0;for(let f=r.length-1;f>=0;f--)if(!r[f].locked)if(u+2*l[f]<p-n-s)o[f]=!0,u+=l[f];else break;const d=[...o],E=f=>f;let v=d.lastIndexOf(!1),g=d.some(E),y=d.every(E),I,x;for(;g&&d.length&&(v!==-1||y);){for(v<d.length-1&&(I=y?d.length:d.length-v-1,x=d.length-I,x===0&&(x=I-1),o[x]=!1,a[x]=I,d.splice(v+1,I));d.length&&!d[d.length-1];)d.pop();v=d.lastIndexOf(!1),g=d.some(E),y=d.every(E)}return{colSpans:a,hiddenColumns:o}}class Yn{constructor(t){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=r=>{this.isRtl=r},this.onResize=t,this.dragHandler=this.dragHandler.bind(this)}dragHandler(t,r,n,s){const a=t.originalEvent;s||(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation());const o=n.parentElement;if(!o||!o.parentElement)return;const l=o.clientWidth;let u;if(this.isRtl?(u=n.getBoundingClientRect().right-n.offsetWidth/2-t.clientX,u+=l):u=l+t.clientX-n.getBoundingClientRect().left-n.offsetWidth/2,!s&&Math.abs(u-l)<1)return;this.setWidths(r,Math.floor(u)/l);const p=this.columns.filter(d=>!d.children.length).indexOf(r);this.onResize(p,l,u,a,s)}setWidths(t,r){const n=this.columns.indexOf(t),s=[];let a=t.children.length;for(let o=n+1;a>0&&o<this.columns.length;o++,a--){const l=this.columns[o];l.children.length?a+=l.children.length:s.push(l)}s.length===0&&s.push(t),s.forEach(o=>{let l=o.width?parseFloat(o.width.toString())*r:0;const u=o.minResizableWidth===void 0?10:o.minResizableWidth;l<u&&(l=u),o.width=Math.floor(l)}),this.updateColElements(s)}updateColElements(t){const r=this.columns.filter(s=>!s.children.length);let n=1e-10;for(let s=0;s<t.length;s++){const a=r.indexOf(t[s]),o=parseFloat((t[s].width||0).toString());n+=o-Math.floor(o);const l=Math.floor(o)+Math.floor(n);n-=Math.floor(n),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[a],l),this.setColWidth(this.colGroupHeader&&this.colGroupHeader.children[a],l),this.setColWidth(this.colGroupFooter&&this.colGroupFooter.children[a],l)}}setColWidth(t,r){t&&(t.style.width=r+"px")}}class Un{constructor(t,r,n){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=s=>{this.groupPanelDivElement=s},this.refDropElementClue=s=>{this.dropElementClue=s},this.refDragElementClue=s=>{this.dragElementClue=s},this.pressHandler=(s,a)=>{const o=this.getColumnIndex(s,a);if(this.startGroup=this.getGroupIndex(s),o>=0){const l=this.columns[o];(l.reorderable&&this.reorderable||l.groupable&&this.groupable)&&(this.startColumn=o)}},this.dragHandler=(s,a)=>{if(s.isTouch||s.originalEvent.preventDefault(),s.originalEvent.stopPropagation(),this.startColumn===-1&&this.startGroup===-1)return;this.currentColumn=this.getColumnIndex(s,a),this.currentGroup=this.getGroupIndex(s),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const o=!this.isValid();o&&(this.currentColumn=-1,this.currentGroup=-1);const l=this.currentColumn>=0?a.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(s,a,l,o),this.updateDropElementClue(s,a,l,o)},this.releaseHandler=s=>{const a=this.startColumn,o=this.currentColumn,l=this.startGroup,u=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const p=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,p&&(a>=0&&o>=0?this.columnReorder(a,o,s.originalEvent):l>=0&&u>=0?this.groupReorder(l,u,s.originalEvent):a>=0&&u>=0&&this.columnToGroup(a,u,s.originalEvent))},this.columnReorder=t,this.groupReorder=r,this.columnToGroup=n}getColumnIndex(t,r){if(!r||r.parentElement===this.groupPanelDivElement)return-1;const n=yt(t,r);if(n===-1)return-1;for(let s=0;s<r.parentNode.children.length;s++)if(r.parentNode.children[s]===r)return this.columns.findIndex(a=>a.index===n&&a.depth===s);return-1}getGroupIndex(t){return yt(t,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:this.startColumn===-1?!1:this.currentGroup>=0?this.columns[this.startColumn].groupable===!0&&this.groupable===!0:this.reorderable===!0&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&this.columns[this.startColumn].reorderable===!0&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex}updateDragElementClue(t,r,n,s){if(!this.dragElementClue)return;const a=this.startColumn>=0?r.children[this.columns[this.startColumn].index].innerText:r.innerText;this.dragElementClue.setState({visible:!0,top:t.pageY+10,left:t.pageX,innerText:a,status:s||!n?"k-i-cancel":"k-i-plus"})}updateDropElementClue(t,r,n,s){if(!this.dropElementClue)return;if(s||!n){this.dropElementClue.setState({visible:!1});return}const a=n.getBoundingClientRect();let o=a.left+t.pageX-t.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&this.startGroup!==-1)&&(o+=a.width);const l=a.top+t.pageY-t.clientY;this.dropElementClue.setState({visible:!0,top:l,left:o,height:this.currentColumn>=0?r.clientHeight:a.height})}}class jn extends i.PureComponent{constructor(t){super(t),this.elementRef=i.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=i.createRef()}get element(){return this.elementRef.current}render(){const t=this.hiddenElementRef.current,{status:r}=this.state,n=this.state.visible&&m.canUseDOM&&Ye.createPortal(i.createElement("div",{ref:this.elementRef,className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.state.top+"px",left:this.state.left+"px"}},i.createElement(m.IconWrap,{className:"k-drag-status",name:r,icon:r==="k-i-cancel"?N.cancelIcon:N.plusIcon}),this.state.innerText),t&&t.ownerDocument?t.ownerDocument.body:document.body);return i.createElement(i.Fragment,null,n,i.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class Xn extends i.PureComponent{constructor(t){super(t),this.state={height:0,visible:!1,left:0,top:0},this.hiddenElementRef=i.createRef()}render(){const t=this.hiddenElementRef.current,r=this.state.visible&&m.canUseDOM&&Ye.createPortal(i.createElement("div",{className:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.state.top+"px",left:this.state.left+"px",height:this.state.height+"px"}}),t&&t.ownerDocument?t.ownerDocument.body:document.body);return i.createElement(i.Fragment,null,r,i.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class xt extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=S.provideLocalizationService(this),{ariaLabel:r=t.toLanguageString(st,C[st])}=this.props;return i.createElement(V.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":r})}}xt.propTypes={filter:h.object.isRequired,onFilterChange:h.func.isRequired,ariaLabel:h.string},S.registerForLocalization(xt);class It extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=S.provideLocalizationService(this),{min:r,max:n,filter:s,ariaLabel:a=t.toLanguageString(nt,C[nt])}=this.props;return i.createElement(V.NumericTextBox,{value:typeof s.value=="number"?s.value:null,onChange:this.onChange,ariaLabel:a,"aria-valuemin":r,"aria-valuemax":n,min:r,max:n})}}It.propTypes={filter:h.object.isRequired,onFilterChange:h.func.isRequired},S.registerForLocalization(It);class qr extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=this.props.filter;return i.createElement(Ue.DatePicker,{value:t.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}}qr.propTypes={filter:h.object.isRequired,onFilterChange:h.func.isRequired,ariaLabel:h.string};class Ke extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value.value}})}}render(){const t=S.provideLocalizationService(this),{filter:r,data:n=[],defaultItem:s,ariaLabel:a=t.toLanguageString(rt,C[rt])}=this.props,o=n.map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return i.createElement(G.DropDownList,{value:o.find(l=>l.value===r.value)||null,onChange:this.onChange,defaultItem:s,data:o,textField:"text",ariaLabel:a})}}Ke.propTypes={filter:h.object.isRequired,onFilterChange:h.func.isRequired,data:h.arrayOf(h.shape({text:h.string,value:h.any})),defaultItem:h.any,ariaLabel:h.string},S.registerForLocalization(Ke);class Gr extends i.Component{constructor(){super(...arguments),this.data=[{text:Vt,value:!0},{text:$t,value:!1}]}render(){return i.createElement(Ke,{filter:this.props.filter,onFilterChange:this.props.onFilterChange,data:this.props.data||this.data,defaultItem:this.props.defaultItem,ariaLabel:this.props.ariaLabel})}}Gr.propTypes={filter:h.object.isRequired,onFilterChange:h.func.isRequired,data:h.arrayOf(h.shape({text:h.string,value:h.any})),ariaLabel:h.string,defaultItem:h.any};const Zn=[{text:Bt,operator:"contains"},{text:zt,operator:"doesnotcontain"},{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:Kt,operator:"startswith"},{text:_t,operator:"endswith"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"},{text:kt,operator:"isempty"},{text:Rt,operator:"isnotempty"}],Jn=[{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:qt,operator:"gte"},{text:Gt,operator:"gt"},{text:Ht,operator:"lte"},{text:Wt,operator:"lt"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"}],Qn=[{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:Yt,operator:"gte"},{text:Ut,operator:"gt"},{text:jt,operator:"lt"},{text:Xt,operator:"lte"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"}],es=[{text:Z,operator:"eq"},{text:J,operator:"neq"}];class ts{static get text(){return[...Zn]}static get numeric(){return[...Jn]}static get date(){return[...Qn]}static get boolean(){return[...es]}}const Ft=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",Be=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",Hr=e=>{e.value===void 0&&!Be(e.operator)&&(e.value=Ft(e.operator)?"":null)};class ze extends i.Component{constructor(){super(...arguments),this.onFieldChange=t=>{const r=t.value.name,n=this.props.fields.find(l=>l.name===r),s=this.props.filter,a=n&&!n.operators.some(l=>l.operator===s.operator)?n.operators[0].operator:s.operator,o={field:r,operator:a};Hr(o),this.triggerOnFilterChange(s,o,t)},this.onOperatorChange=t=>{const r=t.value.operator,n=this.props.filter;let s;if(Be(r)){let{value:a,...o}=n;s={...o,operator:r}}else s={...n,operator:r};Hr(s),this.triggerOnFilterChange(n,s,t)},this.onInputChange=t=>{const r=this.props.filter;let n=t.nextFilter;if(Be(n.operator)){const s=this.props.fields.find(a=>a.name===n.field);n={...n,operator:s&&s.operators[0].operator||n.operator}}this.triggerOnFilterChange(r,n,t)},this.triggerOnFilterChange=(t,r,n)=>{const s={prevFilter:t,nextFilter:r,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,target:this};this.props.onChange.call(void 0,s)},this.onFilterRemove=t=>{const r={filter:this.props.filter,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,target:this};this.props.onRemove.call(void 0,r)}}render(){const t=S.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:s=t.toLanguageString(Qe,C[Qe])}=this.props,a=r.find(l=>l.name===n.field),o=(a&&a.operators||[]).map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return i.createElement("div",{className:"k-filter-toolbar"},i.createElement(T.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:s},i.createElement(T.ToolbarItem,{className:"k-filter-field"},i.createElement(G.DropDownList,{className:"k-filter-dropdown",data:r,textField:"label",value:r.find(l=>l.name===n.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(et,C[et])})),i.createElement(T.ToolbarItem,{className:"k-filter-operator"},i.createElement(G.DropDownList,{data:o,textField:"text",value:o.find(l=>l.operator===n.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(tt,C[tt])})),i.createElement(T.ToolbarItem,{className:"k-filter-value"},a&&i.createElement(a.filter,{filter:n,onFilterChange:this.onInputChange,min:a.min,max:a.max})),i.createElement(T.Button,{className:"k-toolbar-button",title:t.toLanguageString(te,C[te]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}}ze.propTypes={filter:h.object.isRequired,fields:h.array.isRequired,ariaLabel:h.string,onChange:h.func.isRequired,onRemove:h.func.isRequired},S.registerForLocalization(ze);const Wr=class extends i.Component{constructor(){super(...arguments),this.onGroupRemove=e=>{const t={filter:this.props.filter,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onRemove.call(void 0,t)},this.onAddExpression=e=>{const t=this.props.filter,r=this.props.fields[0],n={field:r.name,operator:r.operators[0].operator};n.value=Ft(n.operator)?"":null;const s={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,s)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map(s=>s===e?t:s);return{...r,filters:n}},this.onChange=e=>{const r={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,r)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter(s=>s!==e.filter),n={nextFilter:{...t,filters:r},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const e=S.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(Je,C[Je])}=this.props;return i.createElement(i.Fragment,null,i.createElement("div",{className:"k-filter-toolbar"},i.createElement(T.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},i.createElement(T.ButtonGroup,{className:"k-toolbar-button-group"},i.createElement(T.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:r.logic==="and",type:"button"},e.toLanguageString(Xe,C[Xe])),i.createElement(T.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:r.logic==="or",type:"button"},e.toLanguageString(Ze,C[Ze]))),i.createElement(T.Button,{className:"k-toolbar-button",title:e.toLanguageString(Q,C[Q]),icon:"filter-add-expression",svgIcon:N.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(Q,C[Q])),i.createElement(T.Button,{className:"k-toolbar-button",title:e.toLanguageString(ee,C[ee]),icon:"filter-add-group",svgIcon:N.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(ee,C[ee])),i.createElement(T.Button,{className:"k-toolbar-button",title:e.toLanguageString(te,C[te]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),r.filters.length>0&&i.createElement("ul",{role:"group",className:"k-filter-lines"},r.filters.map((s,a)=>i.createElement("li",{role:"treeitem",key:a,className:"k-filter-item"},X.isCompositeFilterDescriptor(s)?i.createElement(Wr,{filter:s,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):i.createElement(ze,{filter:s,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};let _e=Wr;_e.propTypes={filter:h.object.isRequired,fields:h.array.isRequired,ariaLabel:h.string,ariaLabelExpression:h.string,onChange:h.func.isRequired,onRemove:h.func.isRequired,defaultGroupFilter:h.object.isRequired},S.registerForLocalization(_e);class Vr extends i.Component{constructor(t){super(t),this.onFilterChange=r=>{const n={filter:r.nextFilter,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onGroupRemove=r=>{const n={filter:{...this.props.value,filters:[]},syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},m.validatePackage(dt)}render(){return i.createElement("div",{className:m.classNames("k-filter",this.props.className),style:this.props.style},i.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},i.createElement("li",{role:"treeitem",className:"k-filter-group-main"},i.createElement(_e,{filter:this.props.value,fields:this.props.fields,ariaLabel:this.props.ariaLabelGroup,ariaLabelExpression:this.props.ariaLabelExpression,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.props.defaultGroupFilter||{logic:"and",filters:[]}}))))}}Vr.propTypes={className:h.string,style:h.object,fields:function(e,t){const r=e[t];if(r===void 0)return new Error(`Property '${t}' is missing.`);if(Array.isArray(r)){if(Object.keys(r.reduce((n,s)=>({...n,[s.name]:1}),{})).length!==r.length)return new Error(`Property '${t}' needs to contain objects with unique 'name' field.`)}else return new Error(`Property '${t}' needs to be Array<FieldSettings>.`);return null},ariaLabelGroup:h.string,ariaLabelExpression:h.string,value:h.object.isRequired,onChange:h.func.isRequired};const qe=e=>i.createElement("div",{onClick:e.onClick,className:m.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&i.createElement(m.IconWrap,{name:e.iconClass?m.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),rs=[{text:er,operator:"contains"},{text:tr,operator:"doesnotcontain"},{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:Qt,operator:"startswith"},{text:rr,operator:"endswith"},{text:Te,operator:"isnull"},{text:Pe,operator:"isnotnull"},{text:Zt,operator:"isempty"},{text:Jt,operator:"isnotempty"}],ns=[{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:nr,operator:"gte"},{text:sr,operator:"gt"},{text:ar,operator:"lte"},{text:ir,operator:"lt"},{text:Te,operator:"isnull"},{text:Pe,operator:"isnotnull"}],ss=[{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:lr,operator:"gte"},{text:cr,operator:"gt"},{text:ur,operator:"lt"},{text:pr,operator:"lte"},{text:Te,operator:"isnull"},{text:Pe,operator:"isnotnull"}],as=[{text:or,operator:""}];class ae{static get text(){return[...rs]}static get numeric(){return[...ns]}static get date(){return[...ss]}static get boolean(){return[...as]}}const St=e=>{const{filter:t,onFilterChange:r,operators:n,initialFilter:s}=e,a=i.useCallback(p=>{const d=t,E=p.target.value.operator,v=d?{...d,operator:E}:{value:s.value,operator:E};r.call(void 0,p.syntheticEvent,v,d)},[t,r,s]),o=i.useCallback(p=>{const d=p.target.value,E=t,v=E?{...E,value:d}:{value:d,operator:n[0].operator};r.call(void 0,p,v,E)},[t,r,n]),l=S.useLocalization(),u=n.map(p=>({...p,text:l.toLanguageString(p.text,C[p.text])}));return i.createElement(i.Fragment,null,i.createElement(G.DropDownList,{value:u.find(p=>p.operator===t.operator)||null,onChange:a,data:u,textField:"text"}),i.createElement(e.input,{value:t.value,onChange:o}))},$r=e=>{const{filter:t,onFilterChange:r}=e,n=i.useCallback(a=>r.call(void 0,a.syntheticEvent,{...t,value:a.value},t),[t,r]),s=ae.boolean[0].text;return i.createElement(V.Checkbox,{onChange:n,checked:t.value,label:S.useLocalization().toLanguageString(s,C[s]),labelPlacement:"after"})},Lt=e=>{const t=i.useCallback(s=>i.createElement(V.Input,{...s,value:s.value||""}),[]),r=i.useRef(ae.text),n=i.useRef({operator:"",value:""});return i.createElement(St,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Mt=e=>{const t=i.useCallback(s=>i.createElement(V.NumericTextBox,{...s,value:s.value||null}),[]),r=i.useRef(ae.numeric),n=i.useRef({operator:"",value:null});return i.createElement(St,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Dt=e=>{const t=i.useCallback(s=>i.createElement(Ue.DatePicker,{...s,value:s.value||null}),[]),r=i.useRef(ae.date),n=i.useRef({operator:"",value:null});return i.createElement(St,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},is=[{text:dr,logic:"and"},{text:hr,logic:"or"}],Ge=e=>{const t=S.useLocalization(),r=(e.data||is).map(n=>({...n,text:t.toLanguageString(n.text,C[n.text])}));return i.createElement(G.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find(n=>n.logic===e.value)})},Yr=e=>i.createElement("div",{className:"k-columnmenu-item-content"},i.createElement(un.Reveal,{style:{position:"relative",display:"block"}},e.show&&i.createElement("div",{className:"kendo-grid-filter-menu-container"},i.createElement("form",{className:"k-filter-menu k-group k-reset k-state-border-up",onSubmit:e.onSubmit,onReset:e.onReset},i.createElement("div",{className:"k-filter-menu-container"},e.children,i.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),Ur=e=>{const t=S.useLocalization();return i.createElement(Yr,{...e,actions:i.createElement(i.Fragment,null,i.createElement(T.Button,{type:"reset"},t.toLanguageString(at,C[at])),i.createElement(T.Button,{themeColor:"primary"},t.toLanguageString(it,C[it])))})},He=e=>{m.validatePackage(dt);const t=i.useRef([]),{field:r,filter:n,sort:s=t.current,onSortChange:a,onFilterChange:o,initialFilter:l,sortAsc:u=!1,sortDesc:p=!1,filterContent:d=[],expandFilters:E=!1}=e,[v,g]=i.useState(!1),[y,I]=i.useState(E),[x,f]=i.useState(r&&l?l(r):null),L=i.useRef(null),A=i.useRef(null),M=i.useRef(null),b=i.useRef(!1),F=i.useCallback(()=>(n||[]).find(w=>w.filters.every(k=>!X.isCompositeFilterDescriptor(k)&&k.field===r)),[n,r]),D=i.useCallback(()=>{g(!1)},[]),R=i.useCallback(()=>{if(b.current){b.current=!1;return}clearTimeout(M.current),M.current=window.setTimeout(()=>{D()})},[D]),_=i.useCallback(()=>clearTimeout(M.current),[]),q=i.useCallback(w=>{b.current=v&&w.currentTarget===L.current},[v]),H=i.useCallback(()=>{g(!v),r&&l&&(I(v?!1:E),f(v?x:F()||l(r)))},[F,r,v,x,l,E]);i.useEffect(()=>{v&&A.current&&A.current.focus()},[v]);const P=i.useCallback(()=>I(!y),[y]),K=i.useCallback((w,k)=>{const B=[...s],z=B.findIndex(qs=>qs.field===r),fe={field:r,dir:k};z>=0?B[z].dir!==fe.dir?B.splice(z,1,fe):B.splice(z,1):B.push(fe),D(),a&&a.call(void 0,w,B,r)},[s,r,a,D]),ue=i.useCallback((w,k,B)=>{const z={...x,filters:[...x.filters]},fe=z.filters.indexOf(B);z.filters.splice(fe,1,k),f(z)},[x]),We=i.useCallback(w=>{w.preventDefault();const k=(n||[]).slice(),B=F(),z=B?k.indexOf(B):-1;z>=0?k.splice(z,1,x):k.push(x),D(),o&&o.call(void 0,w,k,r)},[n,x,r,o,D,F]),Ve=i.useCallback(w=>{const k=(n||[]).slice(),B=F(),z=B?k.indexOf(B):-1;z>=0&&k.splice(z,1),l&&f(l(r)),D(),o&&o.call(void 0,w,k,r)},[n,r,o,l,D,F]),wt=i.useCallback(w=>K(w,"asc"),[K]),$e=i.useCallback(w=>K(w,"desc"),[K]),Tt=i.useCallback(w=>x&&f({...x,logic:w.value.logic}),[x]),pe=s.find(w=>w.field===r)||{dir:""},[de,he,ge]=d,Pt=S.useLocalization(),Ks=u||p?i.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},u&&i.createElement(qe,{title:Pt.toLanguageString(lt,C[lt]),iconClass:"k-i-sort-asc-small",svgIcon:N.sortAscSmallIcon,selected:pe.dir==="asc",onClick:wt}),p&&i.createElement(qe,{title:Pt.toLanguageString(ct,C[ct]),iconClass:"k-i-sort-desc-small",svgIcon:N.sortDescSmallIcon,selected:pe.dir==="desc",onClick:$e})):null,Bs=x&&d.length>0?i.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},i.createElement(qe,{iconClass:"k-i-filter",svgIcon:N.filterIcon,title:Pt.toLanguageString(ot,C[ot]),onClick:P}),i.createElement(Ur,{show:y,onSubmit:We,onReset:Ve},de&&i.createElement(de,{filter:x.filters[0],onFilterChange:ue}),he&&i.createElement(he,{value:x.logic,onChange:Tt}),ge&&i.createElement(ge,{filter:x.filters[1],onFilterChange:ue}))):null,an=[Ks,Bs],zs=i.createElement("span",{ref:L,onClick:H,onMouseDown:q,className:"k-grid-header-menu k-grid-column-menu"+(F()?" k-active":""),key:"button"},i.createElement(m.IconWrap,{name:"more-vertical",icon:N.moreVerticalIcon})),_s=i.createElement(cn.Popup,{anchor:L.current,show:v,key:"popup"},i.createElement("div",{className:"k-grid-columnmenu-popup",ref:A,tabIndex:0,onBlur:R,onFocus:_,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,an,{closeMenu:D,field:r}):an)),on=[zs,_s];return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,on):on)},os=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"and",filters:[{operator:"contains",field:o,value:""},{operator:"contains",field:o,value:""}]}),[]),s=!!e.field,a=s?[Lt,Ge,Lt]:[];return i.createElement(He,{sortAsc:s,sortDesc:s,filterContent:a,initialFilter:s?n:void 0,field:t,...r})},ls=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),s=!!e.field,a=s?[Mt,Ge,Mt]:[];return i.createElement(He,{sortAsc:s,sortDesc:s,filterContent:a,initialFilter:s?n:void 0,field:t,...r})},cs=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),s=!!e.field,a=s?[Dt,Ge,Dt]:[];return i.createElement(He,{sortAsc:s,sortDesc:s,filterContent:a,initialFilter:s?n:void 0,field:t,...r})},us=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"and",filters:[{operator:"eq",field:o,value:!1}]}),[]),s=!!e.field,a=s?[$r]:[];return i.createElement(He,{sortAsc:s,sortDesc:s,filterContent:a,initialFilter:s?n:void 0,field:t,...r})};function ie(e,t,r){return r?{...e,[t]:r.length?[...r]:void 0}:e&&e[t]?[...e[t]]:[]}function jr(e,t,r){if(e[r]){let n=ie(e,r,X.orderBy(ie(e,r),t)),s=ie(n,r).map(a=>jr(a,t,r));return{...n,[r]:s}}return e}function ps(e,t,r){let n=X.orderBy(e,t);return n=n.map(s=>jr(s,t,r)),n}function Xr(e,t,r){let n=ie(e,r);if(n&&n.length){n=n.map(l=>Xr(l,t,r));const a={filters:[{filters:t,logic:"and"},{operator:l=>!!(l[r]||[]).length}],logic:"or"},o=X.filterBy(n,a);return ie(e,r,o)}return e}function ds(e,t,r){let n={[r]:[...e]};return n=Xr(n,t,r),n[r]||[]}function hs(e,t,r){let n=[];const s=[];for(let a=e.length-1;a>=0;a--){const o=e[a];n.push({root:o,data:t(o),level:[a],levelCount:e.length})}for(;n.length>0;){let a=n.pop();if(s.push({dataItem:a.root,level:[...a.level],...r(a.root),levelCount:a.levelCount}),a.data.length)for(let o=a.data.length-1;o>=0;o--){const l=a.data[o];n.push({root:l,data:t(l),level:[...a.level,o],levelCount:a.data.length})}}return s}const gs=(e,t,r)=>{const n=u=>!!m.getNestedValue(t,u),s=u=>!!m.getNestedValue(r,u),a=u=>{const p=[];return n(u)&&s(u)&&p.push(...m.getNestedValue(r,u)),p},o=(u,p,d)=>{p.push({...u,level:d}),a(u).forEach(E=>o(E,p,d+1))},l=[];return e.forEach(u=>o(u,l,0)),l},fs=(e,t,r,n)=>{let s={},a=[],o;return e.forEach(l=>s[t(l)]={...l}),e.forEach(l=>{o=s[r(l)],o?(o[n]=o[n]||[],o[n].push(s[t(l)])):a.push(s[t(l)])}),a},ms=(e,t,r)=>m.extendDataItem(e,t,r),Es=(e,t,r)=>[...m.mapTree([{[t]:[...e]}],t,s=>vs(s,r,t))[0][t]],vs=(e,t,r)=>{const n=e[r]||[],s=n.findIndex(t);if(s!==-1){const a=[...n];return a.splice(s,1),{...e,[r]:a}}return e},Cs=(e,t,r,n)=>m.mapTree(e,t,s=>r(s)?{...s,[t]:n(s[t]||[])}:s),Nt=(e,t,r)=>m.getItemPath(e,t,r),bs=(e,t,r,n)=>{const s=[...e],a=Nt(s,t,n),o=a.pop(),l=a.pop(),u=t[t.length-1];if(r){const d=Nt(s,r,n).pop();(l?l[n]:s).splice(u,1),d[n]=d[n]||[],d[n].push(o)}else(l?l[n]:s).splice(u,1),s.push(o);return s},oe="groupId",Ot="items",Zr=(e,t,r)=>{e.items&&(e[oe]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(n=>Zr(n,t-1,e[oe])))},ys=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach(r=>Zr(r,t.length,""))},xs=e=>{const t=[];return m.mapTree(e.data,Ot,r=>{r[oe]&&t.push(r[oe])}),t},Is=e=>m.mapTree(e.data,Ot,t=>m.extendDataItem(t,Ot,{expanded:!e.collapsedIds.some(r=>r===t[oe])})),Fs=e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:n,idPrefix:s}=e;t&&(r.current={activeId:"",level:0},n.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:s||m.guid(),navigationMatrix:[],lastHeaderIndex:-1})},Ss=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){At(e);const s=n.current.navigationMatrix[0][0],a=O.getActiveElement(t,s);s&&a&&(r.current.activeId=s,a.setAttribute("tabIndex","0"))}},Ls=e=>{const{contextStateRef:t,navigationStateRef:r,document:n}=e;if(t.current&&r.current&&n){const s=m.getActiveElement(n),a=O.getNavigatableId(s);a&&a===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},Ms=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(At(e),r.current&&n.current&&t){if(!O.getActiveElement(t,r.current.activeId)){const a=n.current.navigationMatrix[0][0],o=O.getActiveElement(t,a);a&&o&&(r.current.activeId=a,o.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&o.focus())}n.current.activeElementIsFocused=!1}},Ds=(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,s=O.getNavigatableId(n);if(s&&s!==r.current.activeId){const a=O.getClosestScope(n);if(!a)return;const o=O.getActiveElement(a,r.current.activeId);o&&o.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=s}},Ns=(e,t)=>{const{contextStateRef:r,navigationStateRef:n,onNavigationAction:s}=t;if(e.isDefaultPrevented()||!r.current||!n.current)return;if(e.keyCode===m.Keys.esc){const d=O.getClosestNavigatableElement(e.target);O.focusElement({elementForFocus:d,event:e,contextStateRef:r});return}const a=e.target,o=O.getNavigatableId(a),l=O.getNavigatableLevel(a),u=O.getClosestScope(a),p=n.current.navigationMatrix;if(l!==void 0&&u){if(e.keyCode===m.Keys.enter){const d=O.getNavigatableElement(a,{level:l+1});if(d){O.focusElement({elementForFocus:d,event:e,contextStateRef:r,prevElement:a});return}else{const E=O.getFocusableElements(a)[0];O.focusElement({elementForFocus:E,event:e,contextStateRef:r,prevElement:a});return}}if(e.keyCode===m.Keys.up||e.keyCode===m.Keys.down||e.keyCode===m.Keys.left||e.keyCode===m.Keys.right){const d=e.keyCode===m.Keys.up||e.keyCode===m.Keys.left,E=e.keyCode===m.Keys.up||e.keyCode===m.Keys.down;let v;if(n.current&&n.current.prevNavigationIndexes){const[g,y]=n.current.prevNavigationIndexes;p[g][y]===o?v=n.current.prevNavigationIndexes:v=Ct(p,o)}else v=Ct(p,o);if(v){const[g,y]=v,[I,x]=E?Dr(g,y,o,p,d):Nr(g,y,o,p,d);if(I){const f=O.getActiveElement(u,I);O.focusElement({elementForFocus:f,event:e,contextStateRef:r,prevElement:a}),n.current.prevNavigationIndexes=x,s&&s({focusElement:f,event:e})}}}}},At=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],s=Lr(r),a=Mr(r);if(!s||!a)return;const o=Array.from(s.children),l=Array.from(a.children);[...o,...l].forEach((u,p)=>{Array.from(u.children).forEach(d=>{const E=Et(d);if(!E)return;const v=d.rowSpan||1,g=d.colSpan||1;let y;for(let I=p,x=p+v;I<x;I++){if(n[I]||(n[I]=[]),y===void 0){const f=n[I].findIndex(L=>!L);y=f>-1?f:n[I].length}n[I][y]=E||""}for(let I=y+1,x=y+g;I<x;I++)n[p][I]=E||""})}),t.current.navigationMatrix=n.filter(u=>!!u),t.current.lastHeaderIndex=o.length-1},Os={onConstructor:Fs,onComponentDidMount:Ss,onGetSnapshotBeforeUpdate:Ls,onComponentDidUpdate:Ms,onFocus:Ds,onKeyDown:Ns,generateMatrix:At},Jr="data-grid-row-index",Qr="data-grid-col-index",en="data-prevent-selection",As="items",U={},ws=(e,t)=>!e||Array.isArray(e)&&e.length===0?[t]:e.findIndex(n=>n===t)>-1?e.filter(n=>n!==t):[...e,t],W=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if(r.tagName==="TABLE")return null;r=r.parentElement}return null},le=e=>{if(!e)return;const t=e.getAttribute(Jr);return t?parseInt(t,10):void 0},ce=e=>{if(!e)return;const t=e.getAttribute(Qr);return t?parseInt(t,10):void 0},Ts=e=>{const t=e.subItemsField||As,r=m.getter(e.dataItemKey);return m.mapTree(e.data,t,n=>m.extendDataItem(n,t,{[e.selectedField]:e.selectedState[r(n)]}))},Ps=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{syntheticEvent:s,nativeEvent:a,dataItems:o,componentId:l,mode:u,cell:p,selectedField:d}=t,{target:E,ctrlKey:v,metaKey:g,altKey:y,shiftKey:I}=a;if(s.isDefaultPrevented()||a.keyCode!==m.Keys.enter)return n;const x=W(E,"TD"),f=W(E,"TR"),L=ce(x),A=le(f);let M={};return x&&f&&A!==void 0&&L!==void 0&&(M=tn({selectedState:n,dataItemKey:r,event:{ctrlKey:v,metaKey:g,altKey:y,shiftKey:I,dataItems:o,cell:p,mode:u,selectedField:d,componentId:l,startColIndex:L,endColIndex:L,startRowIndex:A,endRowIndex:A,isDrag:!1,syntheticEvent:s,nativeEvent:a,target:t.target,dataItem:null}})),M},tn=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{dataItems:s,startRowIndex:a,endRowIndex:o,startColIndex:l,endColIndex:u,cell:p,isDrag:d,ctrlKey:E,shiftKey:v,metaKey:g,componentId:y,mode:I,dataItem:x}=t,f=m.getter(r);let L={};const A=x!==null;if(I==="single"){const M=s.slice(a,a+1)[0],b=f(M);U[y]={rowIndex:a,colIndex:l},L[b]=p?[l]:!0}else if(d||!v&&!E&&!g&&!A){d||(U[y]={rowIndex:a,colIndex:l});const M=[];for(let F=l;F<=u;F++)M.push(F);s.slice(a,o+1).forEach(F=>{const D=f(F);L[D]=p?[...M]:!0})}else if(E||g||A){U[y]={rowIndex:a,colIndex:l};const b=s.slice(a,o+1)[0],F=f(b);L={...n},L[F]=p&&!A?ws(L[F],l):!L[F]}else if(v){const M=U[y]&&U[y].rowIndex||0,b=U[y]&&U[y].colIndex||0,F=Math.min(M,a,o),D=Math.max(M,a,o),R=Math.min(b,l,u),_=Math.max(b,l,u),q=[];for(let P=R;P<=_;P++)q.push(P);s.slice(F,D+1).forEach(P=>{const K=f(P);L[K]=p?[...q]:!0})}return L},ks=m.hasRelativeStackingContext(),rn=e=>{if(!e||!ks)return null;let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).transform!=="none")return t;t=t.parentElement}},nn=e=>{if(e&&e.ownerDocument&&e!==e.ownerDocument.body){const t=e.getBoundingClientRect();return{left:t.left-e.scrollLeft,top:t.top-e.scrollTop}}return{left:0,top:0}},sn=e=>{const t=e?typeof e.enabled=="boolean"?e.enabled:!0:!1,r=e?!!e.drag:!1,n=e&&e.mode?e.mode:"multiple",s=!!(e&&e.cell);return{enabled:t,drag:r,mode:n,cell:s}},Rs=e=>{var A;const{onRelease:t,childRef:r}=e,{enabled:n,drag:s,mode:a,cell:o}=sn(e.selectable),l=i.useRef(null),u=i.useRef(null),p=i.useRef({clientX:0,clientY:0}),[d,E]=i.useState(null),v=i.useRef(),g=i.useRef(!1),y=i.useRef(!1),I=i.useCallback(M=>{const{event:b}=M;y.current=b.originalEvent.target.hasAttribute(en),!(y.current||!l.current)&&(v.current=rn(l.current.element),p.current={clientY:b.clientY,clientX:b.clientX})},[]),x=i.useCallback(M=>{const{event:b}=M,{clientX:F,clientY:D}=p.current;if(!y.current&&!(!s||a==="single")&&((Math.abs(D-b.clientY)>5||Math.abs(F-b.clientX)>5)&&(g.current=!0),g.current)){const R=nn(v.current);E({top:Math.min(D,b.clientY)-R.top,left:Math.min(F,b.clientX)-R.left,width:Math.abs(b.clientX-F),height:Math.abs(b.clientY-D)})}},[E,s,a]),f=i.useCallback(M=>{const{event:b}=M,{clientX:F,clientY:D}=p.current;if(y.current||!l.current)return;const R=l.current.element&&l.current.element.ownerDocument;if(R){if(g.current){const _=Math.min(D,b.clientY),q=Math.min(F,b.clientX),H=Math.max(D,b.clientY),P=Math.max(F,b.clientX),K=u.current;if(!K)return;K.style.visibility="hidden";const ue=R.elementFromPoint(q,_),We=R.elementFromPoint(P,H);if(K.style.visibility="",!ue||!We)return;const Ve=W(ue,"TD"),wt=W(Ve,"TR"),$e=W(We,"TD"),Tt=W($e,"TR"),pe=ce(Ve),de=le(wt),he=ce($e),ge=le(Tt);pe!==void 0&&de!==void 0&&he!==void 0&&ge!==void 0&&t({nativeEvent:b.originalEvent,startRowIndex:de,startColIndex:pe,endRowIndex:ge,endColIndex:he,altKey:b.altKey,shiftKey:b.shiftKey,ctrlKey:b.ctrlKey,metaKey:b.metaKey,mode:a,cell:o,isDrag:!0})}else{const _=R.elementFromPoint(F,D);if(!_)return;const q=W(_,"TD"),H=W(_,"TR"),P=ce(q),K=le(H);q&&H&&K!==void 0&&P!==void 0&&t({nativeEvent:b.originalEvent,startRowIndex:K,startColIndex:P,endRowIndex:K,endColIndex:P,altKey:b.altKey,shiftKey:b.shiftKey,ctrlKey:b.ctrlKey,metaKey:b.metaKey,mode:a,cell:o,isDrag:!1})}E(null),g.current=!1,p.current={clientX:0,clientY:0}}},[E,a,o,t]),L=m.useDocument(u);return n?i.createElement(i.Fragment,null,i.createElement(m.Draggable,{onPress:I,onDrag:x,onRelease:f,ref:l,childRef:r},e.children),d&&pn.createPortal(i.createElement("div",{ref:u,style:{...d,position:"fixed"},className:"k-marquee k-marquee-color"}),(A=L())==null?void 0:A.body)):i.cloneElement(i.Children.only(e.children),{ref:r})};c.BooleanFilter=Gr,c.BooleanFilterCell=En,c.ColumnDefaultProps=Cr,c.ColumnMenuBooleanColumn=us,c.ColumnMenuBooleanFilter=$r,c.ColumnMenuDateColumn=cs,c.ColumnMenuDateFilter=Dt,c.ColumnMenuFilterForm=Ur,c.ColumnMenuFilterLogic=Ge,c.ColumnMenuForm=Yr,c.ColumnMenuItem=qe,c.ColumnMenuNumericColumn=ls,c.ColumnMenuNumericFilter=Mt,c.ColumnMenuOperators=ae,c.ColumnMenuTextColumn=os,c.ColumnMenuTextFilter=Lt,c.ColumnResize=Yn,c.ColumnResizer=zr,c.CommonDragLogic=Un,c.DateFilter=qr,c.DateFilterCell=Cn,c.DragClue=jn,c.DropClue=Xn,c.EnumFilter=Ke,c.Expression=ze,c.FILTER_ROW_CLASS=Ar,c.FOCUSABLE_ELEMENTS=ke,c.Filter=Vr,c.FilterRow=zn,c.Group=_e,c.Header=qn,c.HeaderCell=Kr,c.HeaderRow=_r,c.HeaderSelectionCell=Vn,c.HeaderThElement=Re,c.KEYBOARD_NAV_DATA_BODY=ft,c.KEYBOARD_NAV_DATA_HEADER=gt,c.KEYBOARD_NAV_DATA_ID=se,c.KEYBOARD_NAV_DATA_LEVEL=Y,c.KEYBOARD_NAV_DATA_SCOPE=ht,c.KEYBOARD_NAV_DATA_ZONE=Fn,c.KEYBOARD_NAV_FILTER_COL_SUFFIX=br,c.NumericFilter=It,c.NumericFilterCell=yn,c.Operators=ts,c.Pager=re,c.TABBABLE_ELEMENTS=xr,c.TABLE_COL_INDEX_ATTRIBUTE=Qr,c.TABLE_PREVENT_SELECTION_ELEMENT=en,c.TABLE_ROW_INDEX_ATTRIBUTE=Jr,c.TableKeyboardNavigationContext=mt,c.TableSelection=Rs,c.TextFilter=xt,c.TextFilterCell=In,c.closestTagName=W,c.createDataTree=fs,c.createFilterComponent=ne,c.extendDataItem=ms,c.filterBy=ds,c.flatData=hs,c.getColumnIndex=ce,c.getGroupIds=xs,c.getIndex=yt,c.getItemPath=Nt,c.getOffset=nn,c.getRowIndex=le,c.getSelectedState=tn,c.getSelectedStateFromKeyDown=Ps,c.getSelectionOptions=sn,c.isRtl=Rr,c.mapColumns=_n,c.modifySubItems=Cs,c.moveTreeItem=bs,c.nextColumn=wr,c.normalize=Br,c.orderBy=ps,c.readColumns=kr,c.relativeContextElement=rn,c.removeItems=Es,c.setExpandedState=Is,c.setGroupIds=ys,c.setSelectedState=Ts,c.stringOperator=Ft,c.tableColumnsVirtualization=$n,c.tableKeyboardNavigation=Os,c.tableKeyboardNavigationBodyAttributes=Ln,c.tableKeyboardNavigationHeaderAttributes=Ir,c.tableKeyboardNavigationScopeAttributes=Sn,c.tableKeyboardNavigationTools=O,c.treeToFlat=gs,c.unaryOperator=Be,c.updateLeft=Tr,c.updateRight=Pr,c.useTableKeyboardNavigation=Fr,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
|
|
5
|
+
(function(c,j){typeof exports=="object"&&typeof module<"u"?j(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-intl"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-data-query"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-animation")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-buttons","@progress/kendo-react-intl","@progress/kendo-react-inputs","@progress/kendo-react-dropdowns","@progress/kendo-svg-icons","react-dom","@progress/kendo-data-query","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-animation"],j):(c=typeof globalThis<"u"?globalThis:c||self,j(c.KendoReactDatatools={},c.React,c.PropTypes,c.KendoReactCommon,c.KendoReactButtons,c.KendoReactIntl,c.KendoReactInputs,c.KendoReactDropdowns,c.KendoSvgIcons,c.ReactDOM,c.KendoDataQuery,c.KendoReactDateinputs,c.KendoReactPopup,c.KendoReactAnimation))})(this,function(c,j,ln,m,T,S,V,G,N,Ye,X,Ue,cn,un){"use strict";"use client";function je(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const i=je(j),h=je(ln),pn=je(Ye),me="pager.info",Ee="pager.firstPage",ve="pager.previousPage",Ce="pager.nextPage",be="pager.lastPage",ye="pager.itemsPerPage",dn="pager.pageSelection",$="pager.page",xe="pager.of",Ie="pager.totalPages",hn="pager.pageLabel",Fe="pager.ariaKeyshortcuts",Se="pager.ariaLabel",Le="pager.pageSizeAriaLabel",Me="pager.mobileSelect",De="pager.moreButtonLabel",Z="filter.eqOperator",J="filter.notEqOperator",Ne="filter.isNullOperator",Oe="filter.isNotNullOperator",kt="filter.isEmptyOperator",Rt="filter.isNotEmptyOperator",Kt="filter.startsWithOperator",Bt="filter.containsOperator",zt="filter.notContainsOperator",_t="filter.endsWithOperator",qt="filter.gteOperator",Gt="filter.gtOperator",Ht="filter.lteOperator",Wt="filter.ltOperator",Vt="filter.isTrue",$t="filter.isFalse",Yt="filter.afterOrEqualOperator",Ut="filter.afterOperator",jt="filter.beforeOperator",Xt="filter.beforeOrEqualOperator",Xe="filter.andLogic",Ze="filter.orLogic",Q="filter.addExpression",ee="filter.addGroup",te="filter.close",Je="filter.groupAriaLabel",Qe="filter.expressionAriaLabel",et="filter.expressionDropdownAriaLabel",tt="filter.expressionOperatorDropdownAriaLabel",rt="filter.enumFilterDropdownAriaLabel",nt="filter.numericFilterAriaLabel",st="filter.textFilterAriaLabel",at="columnMenu.filterClearButton",it="columnMenu.filterSubmitButton",ot="columnMenu.filterTitle",lt="columnMenu.sortAscending",ct="columnMenu.sortDescending",Ae="columnMenu.filterEqOperator",we="columnMenu.filterNotEqOperator",Te="columnMenu.filterIsNullOperator",Pe="columnMenu.filterIsNotNullOperator",Zt="columnMenu.filterIsEmptyOperator",Jt="columnMenu.filterIsNotEmptyOperator",Qt="columnMenu.filterStartsWithOperator",er="columnMenu.filterContainsOperator",tr="columnMenu.filterNotContainsOperator",rr="columnMenu.filterEndsWithOperator",nr="columnMenu.filterGteOperator",sr="columnMenu.filterGtOperator",ar="columnMenu.filterLteOperator",ir="columnMenu.filterLtOperator",or="columnMenu.filterIsTrue",lr="columnMenu.filterAfterOrEqualOperator",cr="columnMenu.filterAfterOperator",ur="columnMenu.filterBeforeOperator",pr="columnMenu.filterBeforeOrEqualOperator",dr="columnMenu.filterAndLogic",hr="columnMenu.filterOrLogic",ut="sort.ariaLabel",pt="filter.ariaLabel",C={[ye]:"items per page",[dn]:"Select page",[me]:"{0} - {1} of {2} items",[Ee]:"Go to the first page",[ve]:"Go to the previous page",[Ce]:"Go to the next page",[be]:"Go to the last page",[$]:"Page",[xe]:"of",[Ie]:"{0}",[hn]:"Page",[Fe]:"Enter ArrowRight ArrowLeft",[Se]:"Pager",[Le]:"Page size",[Me]:"Select",[De]:"More pages",[ut]:"Sortable",[pt]:"Filter",[Z]:"Is equal to",[J]:"Is not equal to",[Ne]:"Is null",[Oe]:"Is not null",[kt]:"Is empty",[Rt]:"Is not empty",[Kt]:"Starts with",[Bt]:"Contains",[zt]:"Does not contain",[_t]:"Ends with",[qt]:"Is greater than or equal to",[Gt]:"Is greater than",[Ht]:"Is less than or equal to",[Wt]:"Is less than",[Vt]:"Is true",[$t]:"Is false",[Yt]:"Is after or equal to",[Ut]:"Is after",[jt]:"Is before",[Xt]:"Is before or equal to",[Xe]:"And",[Ze]:"Or",[Q]:"Add Expression",[ee]:"Add Group",[te]:"Close",[Je]:"Filter toolbar",[Qe]:"Filter expression row",[et]:"Filter dropdown",[tt]:"Filter operator dropdown",[rt]:"Select True/False",[nt]:"Enter number",[st]:"Enter text",[at]:"Clear",[it]:"Filter",[ot]:"Filter",[lt]:"Sort Ascending",[ct]:"Sort Descending",[Ae]:"Is equal to",[we]:"Is not equal to",[Te]:"Is null",[Pe]:"Is not null",[Zt]:"Is empty",[Jt]:"Is not empty",[Qt]:"Starts with",[er]:"Contains",[tr]:"Does not contain",[rr]:"Ends with",[nr]:"Is greater than or equal to",[sr]:"Is greater than",[ar]:"Is less than or equal to",[ir]:"Is less than",[or]:"Is true",[lr]:"Is after or equal to",[cr]:"Is after",[ur]:"Is before",[pr]:"Is before or equal to",[dr]:"And",[hr]:"Or"},gr="...";class gn extends i.Component{constructor(){super(...arguments),this.handlePageChange=(t,r)=>{t.preventDefault(),this.props.pageChange(r,t)},this.handleSelectPageChange=t=>{t.preventDefault(),this.props.pageChange(t.target.value,t)}}render(){const t=S.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(Me):{messageKey:Me,defaultMessage:C[Me]},n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},s=this.props.messagesMap?this.props.messagesMap(De):{messageKey:De,defaultMessage:C[De]},a=t.toLanguageString(s.messageKey,s.defaultMessage),o=this.start>1&&this.renderDots(this.start-1,a),l=this.end<this.props.totalPages&&this.renderDots(this.end+1,a),u=this.start>1&&this.renderOptionDots(this.start-1),p=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),d=[];for(let g=this.start;g<=this.end;g++)d.push(g);const E=d.map(g=>i.createElement(T.Button,{className:m.classNames({"k-selected":this.props.currentPage===g}),key:g,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(n.messageKey,n.defaultMessage)+" "+g,"aria-current":this.props.currentPage===g?!0:void 0,onClick:y=>this.handlePageChange(y,g)},g)),v=d.map(g=>i.createElement("option",{key:g},g));return i.createElement(i.Fragment,null,i.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:m.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${m.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(r.messageKey,r.defaultMessage),value:this.props.currentPage,onChange:g=>this.handleSelectPageChange(g)},u,v,p),i.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},o,E,l))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const t=this.props.currentPage,r=this.props.buttonCount;if(t>r){const n=t%r;return n===0?t-r+1:t-n+1}return 1}renderDots(t,r){return i.createElement(T.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":r,onClick:n=>this.handlePageChange(n,t)},gr)}renderOptionDots(t){return i.createElement("option",{value:t},gr)}}class fr extends i.Component{constructor(){super(...arguments),this.state={page:this.props.currentPage},this.handleOnChange=t=>{this.setState({page:t.target.value}),t.target.value&&this.props.pageChange(t.target.value,t)}}render(){const t=S.provideIntlService(this),r=S.provideLocalizationService(this),n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},s=this.props.messagesMap?this.props.messagesMap(xe):{messageKey:xe,defaultMessage:C[xe]},a=this.props.messagesMap?this.props.messagesMap(Ie):{messageKey:Ie,defaultMessage:C[Ie]};return i.createElement(i.Fragment,null,i.createElement("span",{className:"k-pager-input"},i.createElement("span",null,r.toLanguageString(n.messageKey,n.defaultMessage)),i.createElement(V.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1}),i.createElement("span",null,`${r.toLanguageString(s.messageKey,s.defaultMessage)} ${t.format(r.toLanguageString(a.messageKey,a.defaultMessage),[this.props.totalPages])}`)))}}S.registerForLocalization(fr);class mr extends i.Component{constructor(){super(...arguments),this.pageSizeChange=t=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(t.target.value,10)},t)}}render(){const{value:t,pageSizes:r,pageSize:n,messagesMap:s}=this.props,a=r.slice();t===void 0&&a.filter(u=>u===n).length===0&&a.unshift(n);const o=s?s(ye):{messageKey:ye,defaultMessage:C[ye]},l=s?s(Le):{messageKey:Le,defaultMessage:C[Le]};return i.createElement("span",{className:"k-pager-sizes"},i.createElement(G.DropDownList,{value:t!==void 0?t:n,data:a,onChange:this.pageSizeChange,ariaLabel:S.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),i.createElement("span",null,S.provideLocalizationService(this).toLanguageString(o.messageKey,o.defaultMessage)))}}S.registerForLocalization(mr);const dt={name:"@progress/kendo-react-data-tools",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},Er=600,fn=768;class re extends i.Component{constructor(t){super(t),this._element=null,this.onPageChange=(r,n)=>{const s={target:this,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,targetEvent:n,...r};this.props.onPageChange&&this.props.onPageChange.call(void 0,s)},this.changePage=(r,n)=>{this.props.onPageChange&&r>0&&r<=this.totalPages&&this.props.onPageChange({target:this,skip:(r-1)*this.props.take,take:this.props.take,syntheticEvent:n,nativeEvent:n.nativeEvent,targetEvent:n})},this.onWindowResize=()=>{const r=this.element;if(!r||!this.props.responsive)return;const n=r.offsetWidth;n<Er?this.setState({showPagerSizes:!1}):n>=Er&&n<fn?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},m.validatePackage(dt),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return this.props.dir==="rtl"}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:t,showPagerInfo:r}=this.state,{skip:n,take:s,total:a,pageSizes:o,size:l,responsive:u,messagesMap:p,pageSizeValue:d}=this.props,E=S.provideLocalizationService(this),v=S.provideIntlService(this),g=Math.floor(n/s)+1,y=this.props.type==="numeric"?i.createElement(gn,{type:u&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:g,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:this.props.size}):i.createElement(fr,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:g,pageChange:this.changePage,messagesMap:p,size:this.props.size}),I=p?p(Ee):{messageKey:Ee,defaultMessage:C[Ee]},x=p?p(ve):{messageKey:ve,defaultMessage:C[ve]},f=p?p(Ce):{messageKey:Ce,defaultMessage:C[Ce]},L=p?p(be):{messageKey:be,defaultMessage:C[be]},A=p?p(me):{messageKey:me,defaultMessage:C[me]},M=p?p(Fe):{messageKey:Fe,defaultMessage:C[Fe]},b=p?p(Se):{messageKey:Se,defaultMessage:C[Se]};let F,D,R,_;this.props.previousNext&&(F=this.renderButton(1,"k-pager-nav k-pager-first"+(g===1?" k-disabled":""),E.toLanguageString(I.messageKey,I.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?N.caretAltToRightIcon:N.caretAltToLeftIcon,g===1?!0:void 0),D=this.renderButton(g-1,"k-pager-nav"+(g===1?" k-disabled":""),E.toLanguageString(x.messageKey,x.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?N.caretAltRightIcon:N.caretAltLeftIcon,g===1?!0:void 0),R=this.renderButton(g+1,"k-pager-nav"+(g>=this.totalPages?" k-disabled":""),E.toLanguageString(f.messageKey,f.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?N.caretAltLeftIcon:N.caretAltRightIcon,g>=this.totalPages?!0:void 0),_=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(g>=this.totalPages?" k-disabled":""),E.toLanguageString(L.messageKey,L.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?N.caretAltToLeftIcon:N.caretAltToRightIcon,g>=this.totalPages?!0:void 0));const q=o&&i.createElement(mr,{pageChange:this.onPageChange,pageSize:s,pageSizes:o,value:d,messagesMap:p,size:this.props.size}),H=this.props.info&&i.createElement("span",{className:"k-pager-info"},v.format(E.toLanguageString(A.messageKey,A.defaultMessage),[Math.min(n+1,a),Math.min(n+s,a),a]));return i.createElement("div",{className:m.classNames("k-pager",{[`k-pager-${m.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":E.toLanguageString(M.messageKey,M.defaultMessage),"aria-label":E.toLanguageString(b.messageKey,b.defaultMessage),ref:P=>this._element=P},i.createElement("div",{className:m.classNames("k-pager-numbers-wrap")},F,D,y,R,_),u?t&&q:q,u?r&&H:H)}renderButton(t,r,n,s,a,o){return i.createElement(T.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:r,icon:s,svgIcon:a,title:n,role:"button","aria-disabled":o,onClick:l=>{l.preventDefault(),this.changePage(t,l)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}}re.propTypes={className:h.string,style:h.object,total:h.number.isRequired,skip:h.number.isRequired,take:h.number.isRequired,buttonCount:h.number,info:h.bool,type:h.oneOf(["numeric","input"]),pageSizes:h.arrayOf(h.oneOfType([h.string,h.number])),previousNext:h.bool,onPageChange:h.func,messagesMap:h.func,size:h.oneOf([null,"small","medium","large"]),dir:h.string},re.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"},S.registerForIntl(re),S.registerForLocalization(re);const ne=e=>class extends i.Component{constructor(){super(...arguments),this.filterChange=n=>{this.props.onFilterChange&&this.props.onFilterChange(n)},this.inputChange=n=>{const s=n.target.value,{filter:a=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?a.map(p=>p.field===o?{...l,value:s}:p):[...a,{...e.emptyFilter,value:s,field:o}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.operatorChange=n=>{const{operator:s}=n.target.value,{filter:a=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?a.map(p=>p.field===o?{...l,operator:s}:p):[...a,{...e.emptyFilter,field:o,operator:s}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.clearButtonClick=n=>{const{filter:s=[],field:a=""}=this.props;this.filterChange({filter:s.filter(o=>o.field!==a),field:a,syntheticEvent:n})},this.findCellFilter=()=>{const{filter:n=[],field:s}=this.props;return n.find(a=>a.field===s)}}render(){const{clearButtonTitle:n="",operators:s=[]}=this.props,a=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:o,value:l}=a,u={ariaLabel:"filter",value:s.find(p=>p.operator===o)||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:N.filterIcon,data:s,textField:"text",popupSettings:{width:""},components:this.props.components};return i.createElement("div",{className:"k-filtercell"},i.createElement("span",null,e.inputComponent({value:l,onChange:this.inputChange,components:this.props.components,ariaLabel:this.props.ariaLabel,min:this.props.min,max:this.props.max}),i.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(u,this.props)," ",i.createElement(T.Button,{className:m.classNames({["k-clear-button-visible"]:!(l===null||l==="")||o}),title:n,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:N.filterClearIcon,disabled:!(!(l===null||l==="")||o)}))))}},vr="eq",mn={emptyFilter:{operator:vr,value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,s=r.find(a=>a.field===n);return i.createElement(G.DropDownList,{...e,value:e.data.find(a=>a.operator===(s?s.value:"")),onChange:a=>{if(!t.onFilterChange)return;const o=a.target.value.operator;if(o===""){s&&t.onFilterChange.call(void 0,{filter:r.filter(u=>u.field!==s.field),field:n,syntheticEvent:a.syntheticEvent});return}let l=s?r.map(u=>u.field===n?{...s,value:o}:u):[...r,{value:o,field:n,operator:vr}];t.onFilterChange.call(void 0,{filter:l,field:n,syntheticEvent:a.syntheticEvent})}})}};class En extends ne(mn){}const vn={inputComponent:e=>i.createElement(Ue.DatePicker,{...e}),operatorComponent:e=>i.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class Cn extends ne(vn){}const bn={inputComponent:e=>i.createElement(V.NumericTextBox,{...e}),operatorComponent:e=>i.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class yn extends ne(bn){}const xn={inputComponent:e=>i.createElement(V.Input,{...e}),operatorComponent:e=>i.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class In extends ne(xn){}const Cr={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},Y="data-keyboardnavlevel",ht="data-keyboardnavscope",gt="data-keyboardnavheader",ft="data-keyboardnavbody",se="data-keyboardnavid",Fn="data-keyboardnavzone",br="_filter",yr=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[contenteditable]"],ke=[...yr,"[tabindex]"],xr=[...yr,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Sn={[ht]:!0},Ir={[gt]:!0},Ln={[ft]:!0},mt=i.createContext(void 0);mt.displayName="KendoReactTableKeyboardNavigationContext";const Fr=(e,t)=>{const r=i.useContext(mt);return!r||!e||t===!1?{}:{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[Y]:r.level,[se]:e}},Re=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:s,style:a,columnId:o,onKeyDown:l,navigatable:u,ariaColumnIndex:p,ariaLabel:d,role:E,ariaSelected:v}=e,g=Fr(o,u);return i.createElement("th",{"aria-sort":t,"aria-label":d,"aria-colindex":p,"aria-selected":v,colSpan:r,rowSpan:n,className:s,style:a,onKeyDown:l,role:E,...g},e.children)};Re.displayName="KendoReactHeaderThElement";const Sr=(e,t,r="cell")=>`${t}_${e}_${r}`,Mn=e=>{if(e)return parseInt(e.getAttribute(Y)||"",10)},Et=e=>{if(!e)return;const t=e.getAttribute(se);return t||void 0},vt=e=>e?!!e.getAttribute(se):!1,Dn=(e,t={level:0})=>e.querySelector(`[${Y}='${t.level}']`),Nn=e=>e.parentElement&&e.parentElement.closest(`[${Y}]`),On=(e,t)=>e.querySelector(`[${se}='${t}']`),An=e=>e.parentElement&&e.parentElement.closest(`[${ht}]`),Lr=e=>e.querySelector(`[${gt}]`),Mr=e=>e.querySelector(`[${ft}]`),wn=(e,t={focusable:!1})=>{let r=t.focusable?ke:xr;return Array.from(e.querySelectorAll(r.join(",")))},Tn=(e,t={level:0})=>{if(!e)return[];let r=ke.map(n=>n+`[${Y}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(r))},Pn=(e={level:0})=>{let t=ke.map(r=>r+`[${Y}='${e.level}']`).join(",");return r=>r.matches(t)},kn=e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:s}=e;n.current&&t&&t.focus&&(r.preventDefault(),t.focus(),vt(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=Et(t)),s&&vt(s)&&s.setAttribute("tabIndex","-1"))},Rn=e=>e.current?e.current.idPrefix:"",Dr=(e,t,r,n,s)=>{if(!r)return[];let a=e+(s?-1:1);for(;a>=0&&a<n.length;){const o=n[a][t];if(o!==r)return[o,[a,t]];a=a+(s?-1:1)}return[]},Nr=(e,t,r,n,s)=>{if(!r)return[];let a=t+(s?-1:1);for(;a>=0&&a<n[e].length;){const o=n[e][a];if(o!==r)return[o,[e,a]];a=a+(s?-1:1)}return[]},Ct=(e,t)=>{if(t){for(let r=0;r<e.length;r++)for(let n=0;n<e[r].length;n++)if(e[r][n]===t)return[r,n]}},Kn=e=>e.current?e.current.navigationMatrix.length:0,Or=e=>e?`${e}${br}`:"",O={generateNavigatableId:Sr,getNavigatableId:Et,getNavigatableLevel:Mn,getNavigatableElement:Dn,getClosestNavigatableElement:Nn,getActiveElement:On,getClosestScope:An,getHeaderElement:Lr,getBodyElement:Mr,getFocusableElements:wn,getNavigatableElements:Tn,filterNavigatableElements:Pn,focusElement:kn,getIdPrefix:Rn,isNavigatable:vt,findNextIdByRowIndex:Dr,findNextIdByCellIndex:Nr,findId:Ct,getNextNavigationIndex:Kn,getFilterColumnId:Or},Ar="k-table-row k-filter-row",Bn=(e,t,r)=>{let n=`${r?"k-grid-header-sticky":""}`;return e.some(s=>s.field===t)&&(n+=" k-sorted"),n},zn=function(e){const{columns:t,filter:r,filterChange:n,sort:s=[],ariaRowIndex:a}=e,o=S.useLocalization();return i.createElement("tr",{className:Ar,"aria-rowindex":a,role:"row"},t.map((l,u)=>{const p=l.locked!==void 0?{left:l.left,right:l.right,borderRightWidth:l.rightBorder?"1px":""}:{},d=l.filterCell||l.filter;return i.createElement(Re,{columnId:Or(l.id),navigatable:l.navigatable,style:p,key:u,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:d?o.toLanguageString(pt,C[pt]):void 0,className:m.classNames("k-table-th k-header",Bn(s,l.field,l.locked))},d&&i.createElement(d,{field:l.field,filter:r,onFilterChange:n}))}))};function wr(e,t){const r=e[t].depth;let n=null;for(let s=t+1;s<e.length;s++)if(e[s].depth===r){n=e[s];break}return n}const bt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((r,n)=>bt(n)+r,0)),t};function _n(e){const t=[[]];let r=0;for(let a=e.length-1;a>=0;a--)r=Math.max(r,e[a].depth),e[a].colSpan=e[a].colSpan||1,e[a].parentIndex!==-1&&(e[e[a].parentIndex].colSpan=(e[e[a].parentIndex].colSpan||0)+e[a].colSpan);const n=[];let s=1;return e.forEach((a,o)=>{t[a.depth]=t[a.depth]||[];let l=!1;t[a.depth].length===0&&(s<=1?s=1+(a.children.length>0?0:r-a.depth):(s--,l=!0)),a.rowSpan=1+(a.children.length>0?0:r-a.depth),a.kFirst=l,a.index=t[a.depth].length,t[a.depth].push(o),a.ariaColumnIndex=n[a.depth]?n[a.depth]+1:1;for(let u=a.depth;u<a.depth+a.rowSpan;u++)n[u]=(n[u]||0)+a.colSpan}),Tr(t,e),Pr(t,e),t}function Tr(e,t,r){let n=new Array(e.length).fill(0),s=0;t.forEach(a=>{if(a.locked&&(!a.left||r))if(a.left=n[a.depth],s=bt(a),a.children.length===0)for(let o=a.depth;o<n.length;o++)n[o]+=s;else n[a.depth]+=s})}function Pr(e,t,r){let n=0,s=new Array(e.length).fill(0);for(let a=t.length-1;a>=0;a--){const o=t[a];if(o.locked&&(!o.right||r)){if(o.right=s[o.depth],n=bt(o),o.children.length===0)for(let u=o.depth;u<s.length;u++)s[u]+=n;else s[o.depth]+=n;const l=wr(t,a);o.rightBorder=!(l&&l.locked)}}}function kr(e,t,r=0){let n=[];if(!e||!e.length)return[];e.forEach(a=>{const o=kr(a.children||[],t,r+1);n.push(Object.assign({},{depth:r},Cr,a,{id:a.id?a.id:Sr(`${t.prevId++}`,t.idPrefix,"column"),declarationIndex:n.length,children:o,rowSpan:0,colSpan:0,isAccessible:!0}))});const s=(a,o)=>a.orderIndex===o.orderIndex?a.declarationIndex-o.declarationIndex:(a.orderIndex||0)-(o.orderIndex||0);if(n.sort(s),r===0){let a=[];const o=(l,u)=>l.forEach(p=>{p.parentIndex=u,o(p.children,a.push(p)-1)});return o(n,-1),a}return n}function Rr(e){return!!(e&&getComputedStyle(e).direction==="rtl")}function yt(e,t){if(!t||!e||!e.originalEvent)return-1;const r={x:e.clientX,y:e.originalEvent.clientY};let n=t.ownerDocument?t.ownerDocument.elementFromPoint(r.x,r.y):null;for(;n&&n.parentElement!==t;)n=n.parentElement;if(!n&&t.matches("tr")){const a=o=>{const l=o.getBoundingClientRect();return r.x>l.left&&r.x<l.left+l.width&&r.y>l.top&&r.y<l.top+l.height};n=Array.from(t.children).find(a)||null}const s=t.children;for(let a=0;a<s.length;a++)if(s[a]===n)return a;return-1}class qn extends i.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:t}=this.props;t&&t.resizable&&t.setIsRtl(Rr(this.element))}render(){return i.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:t=>this.element=t,...Ir},this.props.headerRow,this.props.filterRow)}}function Kr(e){const t=e.onClick?{onClick:e.onClick}:{},r=i.createElement("span",{className:"k-link",...t},i.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const Br=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);class zr extends i.Component{constructor(){super(...arguments),this.draggable=null,this.isDragged=!1,this.onDrag=t=>{this.isDragged=!0;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!1)},this.onRelease=t=>{if(!this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!0),this.isDragged=!1},this.onDoubleClick=t=>{if(this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.autofit&&this.props.autofit(t,r)}}render(){return i.createElement(m.Draggable,{onPress:t=>{t.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},i.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}}class Gn extends i.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.pressHandler&&this.props.pressHandler(t.event,r)},this.onDrag=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.dragHandler&&this.props.dragHandler(t.event,r)},this.onRelease=t=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(t.event)}}render(){return i.createElement(m.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},i.createElement("tr",{className:"k-table-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},this.props.children))}}const Hn={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Wn={none:"none",asc:"ascending",desc:"descending"};class _r extends i.Component{constructor(){super(...arguments),this.cellClick=(t,r)=>{if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:n,mode:s}=Br(this.props.sortable||!1,r.sortable||!1),a=(this.props.sort||[]).filter(u=>u.field===r.field)[0],o=Hn[n][a&&a.dir||""],l=s==="single"?[]:(this.props.sort||[]).filter(u=>u.field!==r.field);o!==""&&r.field&&l.push({field:r.field,dir:o}),this.props.sortChange(t,l,r.field)},this.cellKeyDown=(t,r)=>{t.isDefaultPrevented()||t.keyCode===m.Keys.enter&&this.cellClick(t,r)},this.cells=t=>t.map((r,n)=>{const s=this.props.columns[r],{columnResize:a}=this.props,o=a&&a.resizable&&s.resizable,l=this.props.sortable&&s.sortable,u=this.props.sort?this.props.sort.findIndex(f=>f.field===s.field):-1,p=u>=0&&this.props.sort[u].dir||"none",d={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:s.field},E={field:s.field,onClick:l&&(f=>this.cellClick(f,s))||void 0,selectionChange:this.props.selectionChange,title:s.title,selectionValue:s.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(u),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:d},v=s.columnMenu||this.props.columnMenu,g=m.classNames("k-table-th",{"k-first":s.kFirst,"k-filterable":!!v,"k-header":!0,"k-grid-header-sticky":s.locked,"k-sorted":this.props.sort&&this.props.sort.some(f=>f.field===s.field)},s.headerClassName),y=s.locked!==void 0?{left:s.left,right:s.right,borderRightWidth:s.rightBorder?"1px":""}:{},I=S.provideLocalizationService(this).toLanguageString(ut,C[ut]);let x=s.isAccessible?{ariaSort:l?Wn[p]:void 0,role:"columnheader",ariaColumnIndex:s.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?I:""}:{role:"presentation"};return i.createElement(Re,{key:n,colSpan:s.colSpan,rowSpan:s.rowSpan,className:g,style:y,columnId:s.id,navigatable:s.navigatable,onKeyDown:l&&(f=>this.cellKeyDown(f,s))||void 0,...x},s.headerCell&&i.createElement(s.headerCell,{...E}),!s.headerCell&&i.createElement("span",{className:"k-cell-inner"},i.createElement(Kr,{...E}),v&&i.createElement(v,{...d})),a&&o&&i.createElement(zr,{key:"ColumnResizer",resize:(f,L,A)=>a.dragHandler(f,s,L,A)}))})}sortIcon(t){if(!this.props.sort||t<0)return null;const r=this.props.sort[t].dir;return r?[i.createElement(m.IconWrap,{key:1,name:`sort-${r}-small`,icon:r==="asc"?N.sortAscSmallIcon:N.sortDescSmallIcon}),this.props.sort.length>1&&i.createElement("span",{key:2,className:"k-sort-order"},t+1)]:null}render(){return this.props.columnsMap.map((t,r)=>this.props.pressHandler&&i.createElement(Gn,{key:r,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:r+1},this.cells(t))||i.createElement("tr",{className:"k-table-row","aria-rowindex":r+1,role:"row"},this.cells(t)))}}S.registerForLocalization(_r);function Vn(e){const t=[i.createElement("input",{key:0,checked:e.selectionValue,id:e.inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:r=>e.selectionChange({field:e.field,syntheticEvent:r})}),i.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,t,e):t)}function $n(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:s}=e,a=r.map(()=>1),o=r.map(()=>!1);if(!t)return{colSpans:a,hiddenColumns:o};const l=r.map(f=>parseFloat((f.width||"").toString())||10);let u=0;for(let f=0;f<r.length;f++){if(r[f].locked)continue;const L=f<l.length-1?l[f+1]:0;if(u+l[f]+L<s)o[f]=!0,u+=l[f];else break}const p=l.reduce((f,L)=>f+L,0);u=0;for(let f=r.length-1;f>=0;f--)if(!r[f].locked)if(u+2*l[f]<p-n-s)o[f]=!0,u+=l[f];else break;const d=[...o],E=f=>f;let v=d.lastIndexOf(!1),g=d.some(E),y=d.every(E),I,x;for(;g&&d.length&&(v!==-1||y);){for(v<d.length-1&&(I=y?d.length:d.length-v-1,x=d.length-I,x===0&&(x=I-1),o[x]=!1,a[x]=I,d.splice(v+1,I));d.length&&!d[d.length-1];)d.pop();v=d.lastIndexOf(!1),g=d.some(E),y=d.every(E)}return{colSpans:a,hiddenColumns:o}}class Yn{constructor(t){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=r=>{this.isRtl=r},this.onResize=t,this.dragHandler=this.dragHandler.bind(this)}dragHandler(t,r,n,s){const a=t.originalEvent;s||(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation());const o=n.parentElement;if(!o||!o.parentElement)return;const l=o.clientWidth;let u;if(this.isRtl?(u=n.getBoundingClientRect().right-n.offsetWidth/2-t.clientX,u+=l):u=l+t.clientX-n.getBoundingClientRect().left-n.offsetWidth/2,!s&&Math.abs(u-l)<1)return;this.setWidths(r,Math.floor(u)/l);const p=this.columns.filter(d=>!d.children.length).indexOf(r);this.onResize(p,l,u,a,s)}setWidths(t,r){const n=this.columns.indexOf(t),s=[];let a=t.children.length;for(let o=n+1;a>0&&o<this.columns.length;o++,a--){const l=this.columns[o];l.children.length?a+=l.children.length:s.push(l)}s.length===0&&s.push(t),s.forEach(o=>{let l=o.width?parseFloat(o.width.toString())*r:0;const u=o.minResizableWidth===void 0?10:o.minResizableWidth;l<u&&(l=u),o.width=Math.floor(l)}),this.updateColElements(s)}updateColElements(t){const r=this.columns.filter(s=>!s.children.length);let n=1e-10;for(let s=0;s<t.length;s++){const a=r.indexOf(t[s]),o=parseFloat((t[s].width||0).toString());n+=o-Math.floor(o);const l=Math.floor(o)+Math.floor(n);n-=Math.floor(n),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[a],l),this.setColWidth(this.colGroupHeader&&this.colGroupHeader.children[a],l),this.setColWidth(this.colGroupFooter&&this.colGroupFooter.children[a],l)}}setColWidth(t,r){t&&(t.style.width=r+"px")}}class Un{constructor(t,r,n){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=s=>{this.groupPanelDivElement=s},this.refDropElementClue=s=>{this.dropElementClue=s},this.refDragElementClue=s=>{this.dragElementClue=s},this.pressHandler=(s,a)=>{const o=this.getColumnIndex(s,a);if(this.startGroup=this.getGroupIndex(s),o>=0){const l=this.columns[o];(l.reorderable&&this.reorderable||l.groupable&&this.groupable)&&(this.startColumn=o)}},this.dragHandler=(s,a)=>{if(s.isTouch||s.originalEvent.preventDefault(),s.originalEvent.stopPropagation(),this.startColumn===-1&&this.startGroup===-1)return;this.currentColumn=this.getColumnIndex(s,a),this.currentGroup=this.getGroupIndex(s),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const o=!this.isValid();o&&(this.currentColumn=-1,this.currentGroup=-1);const l=this.currentColumn>=0?a.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(s,a,l,o),this.updateDropElementClue(s,a,l,o)},this.releaseHandler=s=>{const a=this.startColumn,o=this.currentColumn,l=this.startGroup,u=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const p=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,p&&(a>=0&&o>=0?this.columnReorder(a,o,s.originalEvent):l>=0&&u>=0?this.groupReorder(l,u,s.originalEvent):a>=0&&u>=0&&this.columnToGroup(a,u,s.originalEvent))},this.columnReorder=t,this.groupReorder=r,this.columnToGroup=n}getColumnIndex(t,r){if(!r||r.parentElement===this.groupPanelDivElement)return-1;const n=yt(t,r);if(n===-1)return-1;for(let s=0;s<r.parentNode.children.length;s++)if(r.parentNode.children[s]===r)return this.columns.findIndex(a=>a.index===n&&a.depth===s);return-1}getGroupIndex(t){return yt(t,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:this.startColumn===-1?!1:this.currentGroup>=0?this.columns[this.startColumn].groupable===!0&&this.groupable===!0:this.reorderable===!0&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&this.columns[this.startColumn].reorderable===!0&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex}updateDragElementClue(t,r,n,s){if(!this.dragElementClue)return;const a=this.startColumn>=0?r.children[this.columns[this.startColumn].index].innerText:r.innerText;this.dragElementClue.setState({visible:!0,top:t.pageY+10,left:t.pageX,innerText:a,status:s||!n?"k-i-cancel":"k-i-plus"})}updateDropElementClue(t,r,n,s){if(!this.dropElementClue)return;if(s||!n){this.dropElementClue.setState({visible:!1});return}const a=n.getBoundingClientRect();let o=a.left+t.pageX-t.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&this.startGroup!==-1)&&(o+=a.width);const l=a.top+t.pageY-t.clientY;this.dropElementClue.setState({visible:!0,top:l,left:o,height:this.currentColumn>=0?r.clientHeight:a.height})}}class jn extends i.PureComponent{constructor(t){super(t),this.elementRef=i.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=i.createRef()}get element(){return this.elementRef.current}render(){const t=this.hiddenElementRef.current,{status:r}=this.state,n=this.state.visible&&m.canUseDOM&&Ye.createPortal(i.createElement("div",{ref:this.elementRef,className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.state.top+"px",left:this.state.left+"px"}},i.createElement(m.IconWrap,{className:"k-drag-status",name:r,icon:r==="k-i-cancel"?N.cancelIcon:N.plusIcon}),this.state.innerText),t&&t.ownerDocument?t.ownerDocument.body:document.body);return i.createElement(i.Fragment,null,n,i.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class Xn extends i.PureComponent{constructor(t){super(t),this.state={height:0,visible:!1,left:0,top:0},this.hiddenElementRef=i.createRef()}render(){const t=this.hiddenElementRef.current,r=this.state.visible&&m.canUseDOM&&Ye.createPortal(i.createElement("div",{className:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.state.top+"px",left:this.state.left+"px",height:this.state.height+"px"}}),t&&t.ownerDocument?t.ownerDocument.body:document.body);return i.createElement(i.Fragment,null,r,i.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class xt extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=S.provideLocalizationService(this),{ariaLabel:r=t.toLanguageString(st,C[st])}=this.props;return i.createElement(V.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":r})}}xt.propTypes={filter:h.object.isRequired,onFilterChange:h.func.isRequired,ariaLabel:h.string},S.registerForLocalization(xt);class It extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=S.provideLocalizationService(this),{min:r,max:n,filter:s,ariaLabel:a=t.toLanguageString(nt,C[nt])}=this.props;return i.createElement(V.NumericTextBox,{value:typeof s.value=="number"?s.value:null,onChange:this.onChange,ariaLabel:a,"aria-valuemin":r,"aria-valuemax":n,min:r,max:n})}}It.propTypes={filter:h.object.isRequired,onFilterChange:h.func.isRequired},S.registerForLocalization(It);class qr extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=this.props.filter;return i.createElement(Ue.DatePicker,{value:t.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}}qr.propTypes={filter:h.object.isRequired,onFilterChange:h.func.isRequired,ariaLabel:h.string};class Ke extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value.value}})}}render(){const t=S.provideLocalizationService(this),{filter:r,data:n=[],defaultItem:s,ariaLabel:a=t.toLanguageString(rt,C[rt])}=this.props,o=n.map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return i.createElement(G.DropDownList,{value:o.find(l=>l.value===r.value)||null,onChange:this.onChange,defaultItem:s,data:o,textField:"text",ariaLabel:a})}}Ke.propTypes={filter:h.object.isRequired,onFilterChange:h.func.isRequired,data:h.arrayOf(h.shape({text:h.string,value:h.any})),defaultItem:h.any,ariaLabel:h.string},S.registerForLocalization(Ke);class Gr extends i.Component{constructor(){super(...arguments),this.data=[{text:Vt,value:!0},{text:$t,value:!1}]}render(){return i.createElement(Ke,{filter:this.props.filter,onFilterChange:this.props.onFilterChange,data:this.props.data||this.data,defaultItem:this.props.defaultItem,ariaLabel:this.props.ariaLabel})}}Gr.propTypes={filter:h.object.isRequired,onFilterChange:h.func.isRequired,data:h.arrayOf(h.shape({text:h.string,value:h.any})),ariaLabel:h.string,defaultItem:h.any};const Zn=[{text:Bt,operator:"contains"},{text:zt,operator:"doesnotcontain"},{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:Kt,operator:"startswith"},{text:_t,operator:"endswith"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"},{text:kt,operator:"isempty"},{text:Rt,operator:"isnotempty"}],Jn=[{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:qt,operator:"gte"},{text:Gt,operator:"gt"},{text:Ht,operator:"lte"},{text:Wt,operator:"lt"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"}],Qn=[{text:Z,operator:"eq"},{text:J,operator:"neq"},{text:Yt,operator:"gte"},{text:Ut,operator:"gt"},{text:jt,operator:"lt"},{text:Xt,operator:"lte"},{text:Ne,operator:"isnull"},{text:Oe,operator:"isnotnull"}],es=[{text:Z,operator:"eq"},{text:J,operator:"neq"}];class ts{static get text(){return[...Zn]}static get numeric(){return[...Jn]}static get date(){return[...Qn]}static get boolean(){return[...es]}}const Ft=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",Be=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",Hr=e=>{e.value===void 0&&!Be(e.operator)&&(e.value=Ft(e.operator)?"":null)};class ze extends i.Component{constructor(){super(...arguments),this.onFieldChange=t=>{const r=t.value.name,n=this.props.fields.find(l=>l.name===r),s=this.props.filter,a=n&&!n.operators.some(l=>l.operator===s.operator)?n.operators[0].operator:s.operator,o={field:r,operator:a};Hr(o),this.triggerOnFilterChange(s,o,t)},this.onOperatorChange=t=>{const r=t.value.operator,n=this.props.filter;let s;if(Be(r)){let{value:a,...o}=n;s={...o,operator:r}}else s={...n,operator:r};Hr(s),this.triggerOnFilterChange(n,s,t)},this.onInputChange=t=>{const r=this.props.filter;let n=t.nextFilter;if(Be(n.operator)){const s=this.props.fields.find(a=>a.name===n.field);n={...n,operator:s&&s.operators[0].operator||n.operator}}this.triggerOnFilterChange(r,n,t)},this.triggerOnFilterChange=(t,r,n)=>{const s={prevFilter:t,nextFilter:r,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,target:this};this.props.onChange.call(void 0,s)},this.onFilterRemove=t=>{const r={filter:this.props.filter,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,target:this};this.props.onRemove.call(void 0,r)}}render(){const t=S.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:s=t.toLanguageString(Qe,C[Qe])}=this.props,a=r.find(l=>l.name===n.field),o=(a&&a.operators||[]).map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return i.createElement("div",{className:"k-filter-toolbar"},i.createElement(T.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:s},i.createElement(T.ToolbarItem,{className:"k-filter-field"},i.createElement(G.DropDownList,{className:"k-filter-dropdown",data:r,textField:"label",value:r.find(l=>l.name===n.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(et,C[et])})),i.createElement(T.ToolbarItem,{className:"k-filter-operator"},i.createElement(G.DropDownList,{data:o,textField:"text",value:o.find(l=>l.operator===n.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(tt,C[tt])})),i.createElement(T.ToolbarItem,{className:"k-filter-value"},a&&i.createElement(a.filter,{filter:n,onFilterChange:this.onInputChange,min:a.min,max:a.max})),i.createElement(T.Button,{className:"k-toolbar-button",title:t.toLanguageString(te,C[te]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}}ze.propTypes={filter:h.object.isRequired,fields:h.array.isRequired,ariaLabel:h.string,onChange:h.func.isRequired,onRemove:h.func.isRequired},S.registerForLocalization(ze);const Wr=class extends i.Component{constructor(){super(...arguments),this.onGroupRemove=e=>{const t={filter:this.props.filter,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onRemove.call(void 0,t)},this.onAddExpression=e=>{const t=this.props.filter,r=this.props.fields[0],n={field:r.name,operator:r.operators[0].operator};n.value=Ft(n.operator)?"":null;const s={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,s)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map(s=>s===e?t:s);return{...r,filters:n}},this.onChange=e=>{const r={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,r)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter(s=>s!==e.filter),n={nextFilter:{...t,filters:r},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const e=S.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(Je,C[Je])}=this.props;return i.createElement(i.Fragment,null,i.createElement("div",{className:"k-filter-toolbar"},i.createElement(T.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},i.createElement(T.ButtonGroup,{className:"k-toolbar-button-group"},i.createElement(T.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:r.logic==="and",type:"button"},e.toLanguageString(Xe,C[Xe])),i.createElement(T.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:r.logic==="or",type:"button"},e.toLanguageString(Ze,C[Ze]))),i.createElement(T.Button,{className:"k-toolbar-button",title:e.toLanguageString(Q,C[Q]),icon:"filter-add-expression",svgIcon:N.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(Q,C[Q])),i.createElement(T.Button,{className:"k-toolbar-button",title:e.toLanguageString(ee,C[ee]),icon:"filter-add-group",svgIcon:N.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(ee,C[ee])),i.createElement(T.Button,{className:"k-toolbar-button",title:e.toLanguageString(te,C[te]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),r.filters.length>0&&i.createElement("ul",{role:"group",className:"k-filter-lines"},r.filters.map((s,a)=>i.createElement("li",{role:"treeitem",key:a,className:"k-filter-item"},X.isCompositeFilterDescriptor(s)?i.createElement(Wr,{filter:s,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):i.createElement(ze,{filter:s,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};let _e=Wr;_e.propTypes={filter:h.object.isRequired,fields:h.array.isRequired,ariaLabel:h.string,ariaLabelExpression:h.string,onChange:h.func.isRequired,onRemove:h.func.isRequired,defaultGroupFilter:h.object.isRequired},S.registerForLocalization(_e);class Vr extends i.Component{constructor(t){super(t),this.onFilterChange=r=>{const n={filter:r.nextFilter,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onGroupRemove=r=>{const n={filter:{...this.props.value,filters:[]},syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},m.validatePackage(dt)}render(){return i.createElement("div",{className:m.classNames("k-filter",this.props.className),style:this.props.style},i.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},i.createElement("li",{role:"treeitem",className:"k-filter-group-main"},i.createElement(_e,{filter:this.props.value,fields:this.props.fields,ariaLabel:this.props.ariaLabelGroup,ariaLabelExpression:this.props.ariaLabelExpression,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.props.defaultGroupFilter||{logic:"and",filters:[]}}))))}}Vr.propTypes={className:h.string,style:h.object,fields:function(e,t){const r=e[t];if(r===void 0)return new Error(`Property '${t}' is missing.`);if(Array.isArray(r)){if(Object.keys(r.reduce((n,s)=>({...n,[s.name]:1}),{})).length!==r.length)return new Error(`Property '${t}' needs to contain objects with unique 'name' field.`)}else return new Error(`Property '${t}' needs to be Array<FieldSettings>.`);return null},ariaLabelGroup:h.string,ariaLabelExpression:h.string,value:h.object.isRequired,onChange:h.func.isRequired};const qe=e=>i.createElement("div",{onClick:e.onClick,className:m.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&i.createElement(m.IconWrap,{name:e.iconClass?m.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),rs=[{text:er,operator:"contains"},{text:tr,operator:"doesnotcontain"},{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:Qt,operator:"startswith"},{text:rr,operator:"endswith"},{text:Te,operator:"isnull"},{text:Pe,operator:"isnotnull"},{text:Zt,operator:"isempty"},{text:Jt,operator:"isnotempty"}],ns=[{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:nr,operator:"gte"},{text:sr,operator:"gt"},{text:ar,operator:"lte"},{text:ir,operator:"lt"},{text:Te,operator:"isnull"},{text:Pe,operator:"isnotnull"}],ss=[{text:Ae,operator:"eq"},{text:we,operator:"neq"},{text:lr,operator:"gte"},{text:cr,operator:"gt"},{text:ur,operator:"lt"},{text:pr,operator:"lte"},{text:Te,operator:"isnull"},{text:Pe,operator:"isnotnull"}],as=[{text:or,operator:""}];class ae{static get text(){return[...rs]}static get numeric(){return[...ns]}static get date(){return[...ss]}static get boolean(){return[...as]}}const St=e=>{const{filter:t,onFilterChange:r,operators:n,initialFilter:s}=e,a=i.useCallback(p=>{const d=t,E=p.target.value.operator,v=d?{...d,operator:E}:{value:s.value,operator:E};r.call(void 0,p.syntheticEvent,v,d)},[t,r,s]),o=i.useCallback(p=>{const d=p.target.value,E=t,v=E?{...E,value:d}:{value:d,operator:n[0].operator};r.call(void 0,p,v,E)},[t,r,n]),l=S.useLocalization(),u=n.map(p=>({...p,text:l.toLanguageString(p.text,C[p.text])}));return i.createElement(i.Fragment,null,i.createElement(G.DropDownList,{value:u.find(p=>p.operator===t.operator)||null,onChange:a,data:u,textField:"text"}),i.createElement(e.input,{value:t.value,onChange:o}))},$r=e=>{const{filter:t,onFilterChange:r}=e,n=i.useCallback(a=>r.call(void 0,a.syntheticEvent,{...t,value:a.value},t),[t,r]),s=ae.boolean[0].text;return i.createElement(V.Checkbox,{onChange:n,checked:t.value,label:S.useLocalization().toLanguageString(s,C[s]),labelPlacement:"after"})},Lt=e=>{const t=i.useCallback(s=>i.createElement(V.Input,{...s,value:s.value||""}),[]),r=i.useRef(ae.text),n=i.useRef({operator:"",value:""});return i.createElement(St,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Mt=e=>{const t=i.useCallback(s=>i.createElement(V.NumericTextBox,{...s,value:s.value||null}),[]),r=i.useRef(ae.numeric),n=i.useRef({operator:"",value:null});return i.createElement(St,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Dt=e=>{const t=i.useCallback(s=>i.createElement(Ue.DatePicker,{...s,value:s.value||null}),[]),r=i.useRef(ae.date),n=i.useRef({operator:"",value:null});return i.createElement(St,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},is=[{text:dr,logic:"and"},{text:hr,logic:"or"}],Ge=e=>{const t=S.useLocalization(),r=(e.data||is).map(n=>({...n,text:t.toLanguageString(n.text,C[n.text])}));return i.createElement(G.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find(n=>n.logic===e.value)})},Yr=e=>i.createElement("div",{className:"k-columnmenu-item-content"},i.createElement(un.Reveal,{style:{position:"relative",display:"block"}},e.show&&i.createElement("div",{className:"kendo-grid-filter-menu-container"},i.createElement("form",{className:"k-filter-menu k-group k-reset k-state-border-up",onSubmit:e.onSubmit,onReset:e.onReset},i.createElement("div",{className:"k-filter-menu-container"},e.children,i.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),Ur=e=>{const t=S.useLocalization();return i.createElement(Yr,{...e,actions:i.createElement(i.Fragment,null,i.createElement(T.Button,{type:"reset"},t.toLanguageString(at,C[at])),i.createElement(T.Button,{themeColor:"primary"},t.toLanguageString(it,C[it])))})},He=e=>{m.validatePackage(dt);const t=i.useRef([]),{field:r,filter:n,sort:s=t.current,onSortChange:a,onFilterChange:o,initialFilter:l,sortAsc:u=!1,sortDesc:p=!1,filterContent:d=[],expandFilters:E=!1}=e,[v,g]=i.useState(!1),[y,I]=i.useState(E),[x,f]=i.useState(r&&l?l(r):null),L=i.useRef(null),A=i.useRef(null),M=i.useRef(null),b=i.useRef(!1),F=i.useCallback(()=>(n||[]).find(w=>w.filters.every(k=>!X.isCompositeFilterDescriptor(k)&&k.field===r)),[n,r]),D=i.useCallback(()=>{g(!1)},[]),R=i.useCallback(()=>{if(b.current){b.current=!1;return}clearTimeout(M.current),M.current=window.setTimeout(()=>{D()})},[D]),_=i.useCallback(()=>clearTimeout(M.current),[]),q=i.useCallback(w=>{b.current=v&&w.currentTarget===L.current},[v]),H=i.useCallback(()=>{g(!v),r&&l&&(I(v?!1:E),f(v?x:F()||l(r)))},[F,r,v,x,l,E]);i.useEffect(()=>{v&&A.current&&A.current.focus()},[v]);const P=i.useCallback(()=>I(!y),[y]),K=i.useCallback((w,k)=>{const B=[...s],z=B.findIndex(qs=>qs.field===r),fe={field:r,dir:k};z>=0?B[z].dir!==fe.dir?B.splice(z,1,fe):B.splice(z,1):B.push(fe),D(),a&&a.call(void 0,w,B,r)},[s,r,a,D]),ue=i.useCallback((w,k,B)=>{const z={...x,filters:[...x.filters]},fe=z.filters.indexOf(B);z.filters.splice(fe,1,k),f(z)},[x]),We=i.useCallback(w=>{w.preventDefault();const k=(n||[]).slice(),B=F(),z=B?k.indexOf(B):-1;z>=0?k.splice(z,1,x):k.push(x),D(),o&&o.call(void 0,w,k,r)},[n,x,r,o,D,F]),Ve=i.useCallback(w=>{const k=(n||[]).slice(),B=F(),z=B?k.indexOf(B):-1;z>=0&&k.splice(z,1),l&&f(l(r)),D(),o&&o.call(void 0,w,k,r)},[n,r,o,l,D,F]),wt=i.useCallback(w=>K(w,"asc"),[K]),$e=i.useCallback(w=>K(w,"desc"),[K]),Tt=i.useCallback(w=>x&&f({...x,logic:w.value.logic}),[x]),pe=s.find(w=>w.field===r)||{dir:""},[de,he,ge]=d,Pt=S.useLocalization(),Ks=u||p?i.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},u&&i.createElement(qe,{title:Pt.toLanguageString(lt,C[lt]),iconClass:"k-i-sort-asc-small",svgIcon:N.sortAscSmallIcon,selected:pe.dir==="asc",onClick:wt}),p&&i.createElement(qe,{title:Pt.toLanguageString(ct,C[ct]),iconClass:"k-i-sort-desc-small",svgIcon:N.sortDescSmallIcon,selected:pe.dir==="desc",onClick:$e})):null,Bs=x&&d.length>0?i.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},i.createElement(qe,{iconClass:"k-i-filter",svgIcon:N.filterIcon,title:Pt.toLanguageString(ot,C[ot]),onClick:P}),i.createElement(Ur,{show:y,onSubmit:We,onReset:Ve},de&&i.createElement(de,{filter:x.filters[0],onFilterChange:ue}),he&&i.createElement(he,{value:x.logic,onChange:Tt}),ge&&i.createElement(ge,{filter:x.filters[1],onFilterChange:ue}))):null,an=[Ks,Bs],zs=i.createElement("span",{ref:L,onClick:H,onMouseDown:q,className:"k-grid-header-menu k-grid-column-menu"+(F()?" k-active":""),key:"button"},i.createElement(m.IconWrap,{name:"more-vertical",icon:N.moreVerticalIcon})),_s=i.createElement(cn.Popup,{anchor:L.current,show:v,key:"popup"},i.createElement("div",{className:"k-grid-columnmenu-popup",ref:A,tabIndex:0,onBlur:R,onFocus:_,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,an,{closeMenu:D,field:r}):an)),on=[zs,_s];return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,on):on)},os=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"and",filters:[{operator:"contains",field:o,value:""},{operator:"contains",field:o,value:""}]}),[]),s=!!e.field,a=s?[Lt,Ge,Lt]:[];return i.createElement(He,{sortAsc:s,sortDesc:s,filterContent:a,initialFilter:s?n:void 0,field:t,...r})},ls=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),s=!!e.field,a=s?[Mt,Ge,Mt]:[];return i.createElement(He,{sortAsc:s,sortDesc:s,filterContent:a,initialFilter:s?n:void 0,field:t,...r})},cs=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),s=!!e.field,a=s?[Dt,Ge,Dt]:[];return i.createElement(He,{sortAsc:s,sortDesc:s,filterContent:a,initialFilter:s?n:void 0,field:t,...r})},us=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"and",filters:[{operator:"eq",field:o,value:!1}]}),[]),s=!!e.field,a=s?[$r]:[];return i.createElement(He,{sortAsc:s,sortDesc:s,filterContent:a,initialFilter:s?n:void 0,field:t,...r})};function ie(e,t,r){return r?{...e,[t]:r.length?[...r]:void 0}:e&&e[t]?[...e[t]]:[]}function jr(e,t,r){if(e[r]){let n=ie(e,r,X.orderBy(ie(e,r),t)),s=ie(n,r).map(a=>jr(a,t,r));return{...n,[r]:s}}return e}function ps(e,t,r){let n=X.orderBy(e,t);return n=n.map(s=>jr(s,t,r)),n}function Xr(e,t,r){let n=ie(e,r);if(n&&n.length){n=n.map(l=>Xr(l,t,r));const a={filters:[{filters:t,logic:"and"},{operator:l=>!!(l[r]||[]).length}],logic:"or"},o=X.filterBy(n,a);return ie(e,r,o)}return e}function ds(e,t,r){let n={[r]:[...e]};return n=Xr(n,t,r),n[r]||[]}function hs(e,t,r){let n=[];const s=[];for(let a=e.length-1;a>=0;a--){const o=e[a];n.push({root:o,data:t(o),level:[a],levelCount:e.length})}for(;n.length>0;){let a=n.pop();if(s.push({dataItem:a.root,level:[...a.level],...r(a.root),levelCount:a.levelCount}),a.data.length)for(let o=a.data.length-1;o>=0;o--){const l=a.data[o];n.push({root:l,data:t(l),level:[...a.level,o],levelCount:a.data.length})}}return s}const gs=(e,t,r)=>{const n=u=>!!m.getNestedValue(t,u),s=u=>!!m.getNestedValue(r,u),a=u=>{const p=[];return n(u)&&s(u)&&p.push(...m.getNestedValue(r,u)),p},o=(u,p,d)=>{p.push({...u,level:d}),a(u).forEach(E=>o(E,p,d+1))},l=[];return e.forEach(u=>o(u,l,0)),l},fs=(e,t,r,n)=>{let s={},a=[],o;return e.forEach(l=>s[t(l)]={...l}),e.forEach(l=>{o=s[r(l)],o?(o[n]=o[n]||[],o[n].push(s[t(l)])):a.push(s[t(l)])}),a},ms=(e,t,r)=>m.extendDataItem(e,t,r),Es=(e,t,r)=>[...m.mapTree([{[t]:[...e]}],t,s=>vs(s,r,t))[0][t]],vs=(e,t,r)=>{const n=e[r]||[],s=n.findIndex(t);if(s!==-1){const a=[...n];return a.splice(s,1),{...e,[r]:a}}return e},Cs=(e,t,r,n)=>m.mapTree(e,t,s=>r(s)?{...s,[t]:n(s[t]||[])}:s),Nt=(e,t,r)=>m.getItemPath(e,t,r),bs=(e,t,r,n)=>{const s=[...e],a=Nt(s,t,n),o=a.pop(),l=a.pop(),u=t[t.length-1];if(r){const d=Nt(s,r,n).pop();(l?l[n]:s).splice(u,1),d[n]=d[n]||[],d[n].push(o)}else(l?l[n]:s).splice(u,1),s.push(o);return s},oe="groupId",Ot="items",Zr=(e,t,r)=>{e.items&&(e[oe]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(n=>Zr(n,t-1,e[oe])))},ys=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach(r=>Zr(r,t.length,""))},xs=e=>{const t=[];return m.mapTree(e.data,Ot,r=>{r[oe]&&t.push(r[oe])}),t},Is=e=>m.mapTree(e.data,Ot,t=>m.extendDataItem(t,Ot,{expanded:!e.collapsedIds.some(r=>r===t[oe])})),Fs=e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:n,idPrefix:s}=e;t&&(r.current={activeId:"",level:0},n.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:s||m.guid(),navigationMatrix:[],lastHeaderIndex:-1})},Ss=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){At(e);const s=n.current.navigationMatrix[0][0],a=O.getActiveElement(t,s);s&&a&&(r.current.activeId=s,a.setAttribute("tabIndex","0"))}},Ls=e=>{const{contextStateRef:t,navigationStateRef:r,document:n}=e;if(t.current&&r.current&&n){const s=m.getActiveElement(n),a=O.getNavigatableId(s);a&&a===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},Ms=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(At(e),r.current&&n.current&&t){if(!O.getActiveElement(t,r.current.activeId)){const a=n.current.navigationMatrix[0][0],o=O.getActiveElement(t,a);a&&o&&(r.current.activeId=a,o.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&o.focus())}n.current.activeElementIsFocused=!1}},Ds=(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,s=O.getNavigatableId(n);if(s&&s!==r.current.activeId){const a=O.getClosestScope(n);if(!a)return;const o=O.getActiveElement(a,r.current.activeId);o&&o.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=s}},Ns=(e,t)=>{const{contextStateRef:r,navigationStateRef:n,onNavigationAction:s}=t;if(e.isDefaultPrevented()||!r.current||!n.current)return;if(e.keyCode===m.Keys.esc){const d=O.getClosestNavigatableElement(e.target);O.focusElement({elementForFocus:d,event:e,contextStateRef:r});return}const a=e.target,o=O.getNavigatableId(a),l=O.getNavigatableLevel(a),u=O.getClosestScope(a),p=n.current.navigationMatrix;if(l!==void 0&&u){if(e.keyCode===m.Keys.enter){const d=O.getNavigatableElement(a,{level:l+1});if(d){O.focusElement({elementForFocus:d,event:e,contextStateRef:r,prevElement:a});return}else{const E=O.getFocusableElements(a)[0];O.focusElement({elementForFocus:E,event:e,contextStateRef:r,prevElement:a});return}}if(e.keyCode===m.Keys.up||e.keyCode===m.Keys.down||e.keyCode===m.Keys.left||e.keyCode===m.Keys.right){const d=e.keyCode===m.Keys.up||e.keyCode===m.Keys.left,E=e.keyCode===m.Keys.up||e.keyCode===m.Keys.down;let v;if(n.current&&n.current.prevNavigationIndexes){const[g,y]=n.current.prevNavigationIndexes;p[g][y]===o?v=n.current.prevNavigationIndexes:v=Ct(p,o)}else v=Ct(p,o);if(v){const[g,y]=v,[I,x]=E?Dr(g,y,o,p,d):Nr(g,y,o,p,d);if(I){const f=O.getActiveElement(u,I);O.focusElement({elementForFocus:f,event:e,contextStateRef:r,prevElement:a}),n.current.prevNavigationIndexes=x,s&&s({focusElement:f,event:e})}}}}},At=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],s=Lr(r),a=Mr(r);if(!s||!a)return;const o=Array.from(s.children),l=Array.from(a.children);[...o,...l].forEach((u,p)=>{Array.from(u.children).forEach(d=>{const E=Et(d);if(!E)return;const v=d.rowSpan||1,g=d.colSpan||1;let y;for(let I=p,x=p+v;I<x;I++){if(n[I]||(n[I]=[]),y===void 0){const f=n[I].findIndex(L=>!L);y=f>-1?f:n[I].length}n[I][y]=E||""}for(let I=y+1,x=y+g;I<x;I++)n[p][I]=E||""})}),t.current.navigationMatrix=n.filter(u=>!!u),t.current.lastHeaderIndex=o.length-1},Os={onConstructor:Fs,onComponentDidMount:Ss,onGetSnapshotBeforeUpdate:Ls,onComponentDidUpdate:Ms,onFocus:Ds,onKeyDown:Ns,generateMatrix:At},Jr="data-grid-row-index",Qr="data-grid-col-index",en="data-prevent-selection",As="items",U={},ws=(e,t)=>!e||Array.isArray(e)&&e.length===0?[t]:e.findIndex(n=>n===t)>-1?e.filter(n=>n!==t):[...e,t],W=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if(r.tagName==="TABLE")return null;r=r.parentElement}return null},le=e=>{if(!e)return;const t=e.getAttribute(Jr);return t?parseInt(t,10):void 0},ce=e=>{if(!e)return;const t=e.getAttribute(Qr);return t?parseInt(t,10):void 0},Ts=e=>{const t=e.subItemsField||As,r=m.getter(e.dataItemKey);return m.mapTree(e.data,t,n=>m.extendDataItem(n,t,{[e.selectedField]:e.selectedState[r(n)]}))},Ps=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{syntheticEvent:s,nativeEvent:a,dataItems:o,componentId:l,mode:u,cell:p,selectedField:d}=t,{target:E,ctrlKey:v,metaKey:g,altKey:y,shiftKey:I}=a;if(s.isDefaultPrevented()||a.keyCode!==m.Keys.enter)return n;const x=W(E,"TD"),f=W(E,"TR"),L=ce(x),A=le(f);let M={};return x&&f&&A!==void 0&&L!==void 0&&(M=tn({selectedState:n,dataItemKey:r,event:{ctrlKey:v,metaKey:g,altKey:y,shiftKey:I,dataItems:o,cell:p,mode:u,selectedField:d,componentId:l,startColIndex:L,endColIndex:L,startRowIndex:A,endRowIndex:A,isDrag:!1,syntheticEvent:s,nativeEvent:a,target:t.target,dataItem:null}})),M},tn=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{dataItems:s,startRowIndex:a,endRowIndex:o,startColIndex:l,endColIndex:u,cell:p,isDrag:d,ctrlKey:E,shiftKey:v,metaKey:g,componentId:y,mode:I,dataItem:x}=t,f=m.getter(r);let L={};const A=x!==null;if(I==="single"){const M=s.slice(a,a+1)[0],b=f(M);U[y]={rowIndex:a,colIndex:l},L[b]=p?[l]:!0}else if(d||!v&&!E&&!g&&!A){d||(U[y]={rowIndex:a,colIndex:l});const M=[];for(let F=l;F<=u;F++)M.push(F);s.slice(a,o+1).forEach(F=>{const D=f(F);L[D]=p?[...M]:!0})}else if(E||g||A){U[y]={rowIndex:a,colIndex:l};const b=s.slice(a,o+1)[0],F=f(b);L={...n},L[F]=p&&!A?ws(L[F],l):!L[F]}else if(v){const M=U[y]&&U[y].rowIndex||0,b=U[y]&&U[y].colIndex||0,F=Math.min(M,a,o),D=Math.max(M,a,o),R=Math.min(b,l,u),_=Math.max(b,l,u),q=[];for(let P=R;P<=_;P++)q.push(P);s.slice(F,D+1).forEach(P=>{const K=f(P);L[K]=p?[...q]:!0})}return L},ks=m.hasRelativeStackingContext(),rn=e=>{if(!e||!ks)return null;let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).transform!=="none")return t;t=t.parentElement}},nn=e=>{if(e&&e.ownerDocument&&e!==e.ownerDocument.body){const t=e.getBoundingClientRect();return{left:t.left-e.scrollLeft,top:t.top-e.scrollTop}}return{left:0,top:0}},sn=e=>{const t=e?typeof e.enabled=="boolean"?e.enabled:!0:!1,r=e?!!e.drag:!1,n=e&&e.mode?e.mode:"multiple",s=!!(e&&e.cell);return{enabled:t,drag:r,mode:n,cell:s}},Rs=e=>{var A;const{onRelease:t,childRef:r}=e,{enabled:n,drag:s,mode:a,cell:o}=sn(e.selectable),l=i.useRef(null),u=i.useRef(null),p=i.useRef({clientX:0,clientY:0}),[d,E]=i.useState(null),v=i.useRef(),g=i.useRef(!1),y=i.useRef(!1),I=i.useCallback(M=>{const{event:b}=M;y.current=b.originalEvent.target.hasAttribute(en),!(y.current||!l.current)&&(v.current=rn(l.current.element),p.current={clientY:b.clientY,clientX:b.clientX})},[]),x=i.useCallback(M=>{const{event:b}=M,{clientX:F,clientY:D}=p.current;if(!y.current&&!(!s||a==="single")&&((Math.abs(D-b.clientY)>5||Math.abs(F-b.clientX)>5)&&(g.current=!0),g.current)){const R=nn(v.current);E({top:Math.min(D,b.clientY)-R.top,left:Math.min(F,b.clientX)-R.left,width:Math.abs(b.clientX-F),height:Math.abs(b.clientY-D)})}},[E,s,a]),f=i.useCallback(M=>{const{event:b}=M,{clientX:F,clientY:D}=p.current;if(y.current||!l.current)return;const R=l.current.element&&l.current.element.ownerDocument;if(R){if(g.current){const _=Math.min(D,b.clientY),q=Math.min(F,b.clientX),H=Math.max(D,b.clientY),P=Math.max(F,b.clientX),K=u.current;if(!K)return;K.style.visibility="hidden";const ue=R.elementFromPoint(q,_),We=R.elementFromPoint(P,H);if(K.style.visibility="",!ue||!We)return;const Ve=W(ue,"TD"),wt=W(Ve,"TR"),$e=W(We,"TD"),Tt=W($e,"TR"),pe=ce(Ve),de=le(wt),he=ce($e),ge=le(Tt);pe!==void 0&&de!==void 0&&he!==void 0&&ge!==void 0&&t({nativeEvent:b.originalEvent,startRowIndex:de,startColIndex:pe,endRowIndex:ge,endColIndex:he,altKey:b.altKey,shiftKey:b.shiftKey,ctrlKey:b.ctrlKey,metaKey:b.metaKey,mode:a,cell:o,isDrag:!0})}else{const _=R.elementFromPoint(F,D);if(!_)return;const q=W(_,"TD"),H=W(_,"TR"),P=ce(q),K=le(H);q&&H&&K!==void 0&&P!==void 0&&t({nativeEvent:b.originalEvent,startRowIndex:K,startColIndex:P,endRowIndex:K,endColIndex:P,altKey:b.altKey,shiftKey:b.shiftKey,ctrlKey:b.ctrlKey,metaKey:b.metaKey,mode:a,cell:o,isDrag:!1})}E(null),g.current=!1,p.current={clientX:0,clientY:0}}},[E,a,o,t]),L=m.useDocument(u);return n?i.createElement(i.Fragment,null,i.createElement(m.Draggable,{onPress:I,onDrag:x,onRelease:f,ref:l,childRef:r},e.children),d&&pn.createPortal(i.createElement("div",{ref:u,style:{...d,position:"fixed"},className:"k-marquee k-marquee-color"}),(A=L())==null?void 0:A.body)):i.cloneElement(i.Children.only(e.children),{ref:r})};c.BooleanFilter=Gr,c.BooleanFilterCell=En,c.ColumnDefaultProps=Cr,c.ColumnMenuBooleanColumn=us,c.ColumnMenuBooleanFilter=$r,c.ColumnMenuDateColumn=cs,c.ColumnMenuDateFilter=Dt,c.ColumnMenuFilterForm=Ur,c.ColumnMenuFilterLogic=Ge,c.ColumnMenuForm=Yr,c.ColumnMenuItem=qe,c.ColumnMenuNumericColumn=ls,c.ColumnMenuNumericFilter=Mt,c.ColumnMenuOperators=ae,c.ColumnMenuTextColumn=os,c.ColumnMenuTextFilter=Lt,c.ColumnResize=Yn,c.ColumnResizer=zr,c.CommonDragLogic=Un,c.DateFilter=qr,c.DateFilterCell=Cn,c.DragClue=jn,c.DropClue=Xn,c.EnumFilter=Ke,c.Expression=ze,c.FILTER_ROW_CLASS=Ar,c.FOCUSABLE_ELEMENTS=ke,c.Filter=Vr,c.FilterRow=zn,c.Group=_e,c.Header=qn,c.HeaderCell=Kr,c.HeaderRow=_r,c.HeaderSelectionCell=Vn,c.HeaderThElement=Re,c.KEYBOARD_NAV_DATA_BODY=ft,c.KEYBOARD_NAV_DATA_HEADER=gt,c.KEYBOARD_NAV_DATA_ID=se,c.KEYBOARD_NAV_DATA_LEVEL=Y,c.KEYBOARD_NAV_DATA_SCOPE=ht,c.KEYBOARD_NAV_DATA_ZONE=Fn,c.KEYBOARD_NAV_FILTER_COL_SUFFIX=br,c.NumericFilter=It,c.NumericFilterCell=yn,c.Operators=ts,c.Pager=re,c.TABBABLE_ELEMENTS=xr,c.TABLE_COL_INDEX_ATTRIBUTE=Qr,c.TABLE_PREVENT_SELECTION_ELEMENT=en,c.TABLE_ROW_INDEX_ATTRIBUTE=Jr,c.TableKeyboardNavigationContext=mt,c.TableSelection=Rs,c.TextFilter=xt,c.TextFilterCell=In,c.closestTagName=W,c.createDataTree=fs,c.createFilterComponent=ne,c.extendDataItem=ms,c.filterBy=ds,c.flatData=hs,c.getColumnIndex=ce,c.getGroupIds=xs,c.getIndex=yt,c.getItemPath=Nt,c.getOffset=nn,c.getRowIndex=le,c.getSelectedState=tn,c.getSelectedStateFromKeyDown=Ps,c.getSelectionOptions=sn,c.isRtl=Rr,c.mapColumns=_n,c.modifySubItems=Cs,c.moveTreeItem=bs,c.nextColumn=wr,c.normalize=Br,c.orderBy=ps,c.readColumns=kr,c.relativeContextElement=rn,c.removeItems=Es,c.setExpandedState=Is,c.setGroupIds=ys,c.setSelectedState=Ts,c.stringOperator=Ft,c.tableColumnsVirtualization=$n,c.tableKeyboardNavigation=Os,c.tableKeyboardNavigationBodyAttributes=Ln,c.tableKeyboardNavigationHeaderAttributes=Ir,c.tableKeyboardNavigationScopeAttributes=Sn,c.tableKeyboardNavigationTools=O,c.treeToFlat=gs,c.unaryOperator=Be,c.updateLeft=Tr,c.updateRight=Pr,c.useTableKeyboardNavigation=Fr,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
|
package/index.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Copyright © 2023 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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const dn=require("react"),pn=require("prop-types"),f=require("@progress/kendo-react-common"),O=require("@progress/kendo-react-buttons"),S=require("@progress/kendo-react-intl"),W=require("@progress/kendo-react-inputs"),G=require("@progress/kendo-react-dropdowns"),D=require("@progress/kendo-svg-icons"),Et=require("react-dom"),ie=require("@progress/kendo-data-query"),Ct=require("@progress/kendo-react-dateinputs"),hn=require("@progress/kendo-react-popup"),gn=require("@progress/kendo-react-animation");function xt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const a=xt(dn),p=xt(pn),fn=xt(Et),ve="pager.info",Ee="pager.firstPage",Ce="pager.previousPage",xe="pager.nextPage",be="pager.lastPage",ye="pager.itemsPerPage",mn="pager.pageSelection",$="pager.page",Ie="pager.of",ke="pager.totalPages",vn="pager.pageLabel",Se="pager.ariaKeyshortcuts",Fe="pager.ariaLabel",Re="pager.pageSizeAriaLabel",De="pager.mobileSelect",Le="pager.moreButtonLabel",le="filter.eqOperator",ce="filter.notEqOperator",Oe="filter.isNullOperator",Ae="filter.isNotNullOperator",zt="filter.isEmptyOperator",_t="filter.isNotEmptyOperator",qt="filter.startsWithOperator",Gt="filter.containsOperator",Ht="filter.notContainsOperator",Wt="filter.endsWithOperator",Vt="filter.gteOperator",$t="filter.gtOperator",Yt="filter.lteOperator",Ut="filter.ltOperator",Xt="filter.isTrue",jt="filter.isFalse",Zt="filter.afterOrEqualOperator",Qt="filter.afterOperator",Jt="filter.beforeOperator",er="filter.beforeOrEqualOperator",Ue="filter.andLogic",Xe="filter.orLogic",ee="filter.addExpression",te="filter.addGroup",se="filter.close",je="filter.groupAriaLabel",Ze="filter.expressionAriaLabel",Qe="filter.expressionDropdownAriaLabel",Je="filter.expressionOperatorDropdownAriaLabel",et="filter.enumFilterDropdownAriaLabel",tt="filter.numericFilterAriaLabel",rt="filter.textFilterAriaLabel",nt="columnMenu.filterClearButton",ot="columnMenu.filterSubmitButton",st="columnMenu.filterTitle",at="columnMenu.sortAscending",it="columnMenu.sortDescending",we="columnMenu.filterEqOperator",Te="columnMenu.filterNotEqOperator",Pe="columnMenu.filterIsNullOperator",Be="columnMenu.filterIsNotNullOperator",tr="columnMenu.filterIsEmptyOperator",rr="columnMenu.filterIsNotEmptyOperator",nr="columnMenu.filterStartsWithOperator",or="columnMenu.filterContainsOperator",sr="columnMenu.filterNotContainsOperator",ar="columnMenu.filterEndsWithOperator",ir="columnMenu.filterGteOperator",lr="columnMenu.filterGtOperator",cr="columnMenu.filterLteOperator",ur="columnMenu.filterLtOperator",dr="columnMenu.filterIsTrue",pr="columnMenu.filterAfterOrEqualOperator",hr="columnMenu.filterAfterOperator",gr="columnMenu.filterBeforeOperator",fr="columnMenu.filterBeforeOrEqualOperator",mr="columnMenu.filterAndLogic",vr="columnMenu.filterOrLogic",lt="sort.ariaLabel",ct="filter.ariaLabel",E={[ye]:"items per page",[mn]:"Select page",[ve]:"{0} - {1} of {2} items",[Ee]:"Go to the first page",[Ce]:"Go to the previous page",[xe]:"Go to the next page",[be]:"Go to the last page",[$]:"Page",[Ie]:"of",[ke]:"{0}",[vn]:"Page",[Se]:"Enter ArrowRight ArrowLeft",[Fe]:"Pager",[Re]:"Page size",[De]:"Select",[Le]:"More pages",[lt]:"Sortable",[ct]:"Filter",[le]:"Is equal to",[ce]:"Is not equal to",[Oe]:"Is null",[Ae]:"Is not null",[zt]:"Is empty",[_t]:"Is not empty",[qt]:"Starts with",[Gt]:"Contains",[Ht]:"Does not contain",[Wt]:"Ends with",[Vt]:"Is greater than or equal to",[$t]:"Is greater than",[Yt]:"Is less than or equal to",[Ut]:"Is less than",[Xt]:"Is true",[jt]:"Is false",[Zt]:"Is after or equal to",[Qt]:"Is after",[Jt]:"Is before",[er]:"Is before or equal to",[Ue]:"And",[Xe]:"Or",[ee]:"Add Expression",[te]:"Add Group",[se]:"Close",[je]:"Filter toolbar",[Ze]:"Filter expression row",[Qe]:"Filter dropdown",[Je]:"Filter operator dropdown",[et]:"Select True/False",[tt]:"Enter number",[rt]:"Enter text",[nt]:"Clear",[ot]:"Filter",[st]:"Filter",[at]:"Sort Ascending",[it]:"Sort Descending",[we]:"Is equal to",[Te]:"Is not equal to",[Pe]:"Is null",[Be]:"Is not null",[tr]:"Is empty",[rr]:"Is not empty",[nr]:"Starts with",[or]:"Contains",[sr]:"Does not contain",[ar]:"Ends with",[ir]:"Is greater than or equal to",[lr]:"Is greater than",[cr]:"Is less than or equal to",[ur]:"Is less than",[dr]:"Is true",[pr]:"Is after or equal to",[hr]:"Is after",[gr]:"Is before",[fr]:"Is before or equal to",[mr]:"And",[vr]:"Or"},Tt="...";class En extends a.Component{constructor(){super(...arguments),this.handlePageChange=(t,r)=>{t.preventDefault(),this.props.pageChange(r,t)},this.handleSelectPageChange=t=>{t.preventDefault(),this.props.pageChange(t.target.value,t)}}render(){const t=S.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(De):{messageKey:De,defaultMessage:E[De]},n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:E[$]},o=this.props.messagesMap?this.props.messagesMap(Le):{messageKey:Le,defaultMessage:E[Le]},s=t.toLanguageString(o.messageKey,o.defaultMessage),i=this.start>1&&this.renderDots(this.start-1,s),l=this.end<this.props.totalPages&&this.renderDots(this.end+1,s),c=this.start>1&&this.renderOptionDots(this.start-1),u=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),d=[];for(let h=this.start;h<=this.end;h++)d.push(h);const m=d.map(h=>a.createElement(O.Button,{className:f.classNames({"k-selected":this.props.currentPage===h}),key:h,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(n.messageKey,n.defaultMessage)+" "+h,"aria-current":this.props.currentPage===h?!0:void 0,onClick:x=>this.handlePageChange(x,h)},h)),v=d.map(h=>a.createElement("option",{key:h},h));return a.createElement(a.Fragment,null,a.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:f.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${f.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(r.messageKey,r.defaultMessage),value:this.props.currentPage,onChange:h=>this.handleSelectPageChange(h)},c,v,u),a.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},i,m,l))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const t=this.props.currentPage,r=this.props.buttonCount;if(t>r){const n=t%r;return n===0?t-r+1:t-n+1}return 1}renderDots(t,r){return a.createElement(O.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":r,onClick:n=>this.handlePageChange(n,t)},Tt)}renderOptionDots(t){return a.createElement("option",{value:t},Tt)}}class Er extends a.Component{constructor(){super(...arguments),this.state={page:this.props.currentPage},this.handleOnChange=t=>{this.setState({page:t.target.value}),t.target.value&&this.props.pageChange(t.target.value,t)}}render(){const t=S.provideIntlService(this),r=S.provideLocalizationService(this),n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:E[$]},o=this.props.messagesMap?this.props.messagesMap(Ie):{messageKey:Ie,defaultMessage:E[Ie]},s=this.props.messagesMap?this.props.messagesMap(ke):{messageKey:ke,defaultMessage:E[ke]};return a.createElement(a.Fragment,null,a.createElement("span",{className:"k-pager-input"},a.createElement("span",null,r.toLanguageString(n.messageKey,n.defaultMessage)),a.createElement(W.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1}),a.createElement("span",null,`${r.toLanguageString(o.messageKey,o.defaultMessage)} ${t.format(r.toLanguageString(s.messageKey,s.defaultMessage),[this.props.totalPages])}`)))}}S.registerForLocalization(Er);class Cr extends a.Component{constructor(){super(...arguments),this.pageSizeChange=t=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(t.target.value,10)},t)}}render(){const{value:t,pageSizes:r,pageSize:n,messagesMap:o}=this.props,s=r.slice();t===void 0&&s.filter(c=>c===n).length===0&&s.unshift(n);const i=o?o(ye):{messageKey:ye,defaultMessage:E[ye]},l=o?o(Re):{messageKey:Re,defaultMessage:E[Re]};return a.createElement("span",{className:"k-pager-sizes"},a.createElement(G.DropDownList,{value:t!==void 0?t:n,data:s,onChange:this.pageSizeChange,ariaLabel:S.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),a.createElement("span",null,S.provideLocalizationService(this).toLanguageString(i.messageKey,i.defaultMessage)))}}S.registerForLocalization(Cr);const bt={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,Cn=768;class ue extends a.Component{constructor(t){super(t),this._element=null,this.onPageChange=(r,n)=>{const o={target:this,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,targetEvent:n,...r};this.props.onPageChange&&this.props.onPageChange.call(void 0,o)},this.changePage=(r,n)=>{this.props.onPageChange&&r>0&&r<=this.totalPages&&this.props.onPageChange({target:this,skip:(r-1)*this.props.take,take:this.props.take,syntheticEvent:n,nativeEvent:n.nativeEvent,targetEvent:n})},this.onWindowResize=()=>{const r=this.element;if(!r||!this.props.responsive)return;const n=r.offsetWidth;n<Pt?this.setState({showPagerSizes:!1}):n>=Pt&&n<Cn?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},f.validatePackage(bt),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return this.props.dir==="rtl"}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:t,showPagerInfo:r}=this.state,{skip:n,take:o,total:s,pageSizes:i,size:l,responsive:c,messagesMap:u,pageSizeValue:d}=this.props,m=S.provideLocalizationService(this),v=S.provideIntlService(this),h=Math.floor(n/o)+1,x=this.props.type==="numeric"?a.createElement(En,{type:c&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:h,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:this.props.size}):a.createElement(Er,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:h,pageChange:this.changePage,messagesMap:u,size:this.props.size}),y=u?u(Ee):{messageKey:Ee,defaultMessage:E[Ee]},b=u?u(Ce):{messageKey:Ce,defaultMessage:E[Ce]},g=u?u(xe):{messageKey:xe,defaultMessage:E[xe]},k=u?u(be):{messageKey:be,defaultMessage:E[be]},L=u?u(ve):{messageKey:ve,defaultMessage:E[ve]},F=u?u(Se):{messageKey:Se,defaultMessage:E[Se]},C=u?u(Fe):{messageKey:Fe,defaultMessage:E[Fe]};let I,R,T,z;this.props.previousNext&&(I=this.renderButton(1,"k-pager-nav k-pager-first"+(h===1?" k-disabled":""),m.toLanguageString(y.messageKey,y.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?D.caretAltToRightIcon:D.caretAltToLeftIcon,h===1?!0:void 0),R=this.renderButton(h-1,"k-pager-nav"+(h===1?" k-disabled":""),m.toLanguageString(b.messageKey,b.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?D.caretAltRightIcon:D.caretAltLeftIcon,h===1?!0:void 0),T=this.renderButton(h+1,"k-pager-nav"+(h>=this.totalPages?" k-disabled":""),m.toLanguageString(g.messageKey,g.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?D.caretAltLeftIcon:D.caretAltRightIcon,h>=this.totalPages?!0:void 0),z=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(h>=this.totalPages?" k-disabled":""),m.toLanguageString(k.messageKey,k.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?D.caretAltToLeftIcon:D.caretAltToRightIcon,h>=this.totalPages?!0:void 0));const _=i&&a.createElement(Cr,{pageChange:this.onPageChange,pageSize:o,pageSizes:i,value:d,messagesMap:u,size:this.props.size}),q=this.props.info&&a.createElement("span",{className:"k-pager-info"},v.format(m.toLanguageString(L.messageKey,L.defaultMessage),[Math.min(n+1,s),Math.min(n+o,s),s]));return a.createElement("div",{className:f.classNames("k-pager",{[`k-pager-${f.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":m.toLanguageString(F.messageKey,F.defaultMessage),"aria-label":m.toLanguageString(C.messageKey,C.defaultMessage),ref:A=>this._element=A},a.createElement("div",{className:f.classNames("k-pager-numbers-wrap")},I,R,x,T,z),c?t&&_:_,c?r&&q:q)}renderButton(t,r,n,o,s,i){return a.createElement(O.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:r,icon:o,svgIcon:s,title:n,role:"button","aria-disabled":i,onClick:l=>{l.preventDefault(),this.changePage(t,l)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}}ue.propTypes={className:p.string,style:p.object,total:p.number.isRequired,skip:p.number.isRequired,take:p.number.isRequired,buttonCount:p.number,info:p.bool,type:p.oneOf(["numeric","input"]),pageSizes:p.arrayOf(p.oneOfType([p.string,p.number])),previousNext:p.bool,onPageChange:p.func,messagesMap:p.func,size:p.oneOf([null,"small","medium","large"]),dir:p.string};ue.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"};S.registerForIntl(ue);S.registerForLocalization(ue);const de=e=>class extends a.Component{constructor(){super(...arguments),this.filterChange=n=>{this.props.onFilterChange&&this.props.onFilterChange(n)},this.inputChange=n=>{const o=n.target.value,{filter:s=[],field:i=""}=this.props,l=this.findCellFilter(),c=l?s.map(u=>u.field===i?{...l,value:o}:u):[...s,{...e.emptyFilter,value:o,field:i}];this.filterChange({filter:c,field:i,syntheticEvent:n.syntheticEvent})},this.operatorChange=n=>{const{operator:o}=n.target.value,{filter:s=[],field:i=""}=this.props,l=this.findCellFilter(),c=l?s.map(u=>u.field===i?{...l,operator:o}:u):[...s,{...e.emptyFilter,field:i,operator:o}];this.filterChange({filter:c,field:i,syntheticEvent:n.syntheticEvent})},this.clearButtonClick=n=>{const{filter:o=[],field:s=""}=this.props;this.filterChange({filter:o.filter(i=>i.field!==s),field:s,syntheticEvent:n})},this.findCellFilter=()=>{const{filter:n=[],field:o}=this.props;return n.find(s=>s.field===o)}}render(){const{clearButtonTitle:n="",operators:o=[]}=this.props,s=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:i,value:l}=s,c={ariaLabel:"filter",value:o.find(u=>u.operator===i)||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:D.filterIcon,data:o,textField:"text",popupSettings:{width:""},components:this.props.components};return a.createElement("div",{className:"k-filtercell"},a.createElement("span",null,e.inputComponent({value:l,onChange:this.inputChange,components:this.props.components,ariaLabel:this.props.ariaLabel,min:this.props.min,max:this.props.max}),a.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(c,this.props)," ",a.createElement(O.Button,{className:f.classNames({["k-clear-button-visible"]:!(l===null||l==="")||i}),title:n,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:D.filterClearIcon,disabled:!(!(l===null||l==="")||i)}))))}},Bt="eq",xn={emptyFilter:{operator:Bt,value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,o=r.find(s=>s.field===n);return a.createElement(G.DropDownList,{...e,value:e.data.find(s=>s.operator===(o?o.value:"")),onChange:s=>{if(!t.onFilterChange)return;const i=s.target.value.operator;if(i===""){o&&t.onFilterChange.call(void 0,{filter:r.filter(c=>c.field!==o.field),field:n,syntheticEvent:s.syntheticEvent});return}let l=o?r.map(c=>c.field===n?{...o,value:i}:c):[...r,{value:i,field:n,operator:Bt}];t.onFilterChange.call(void 0,{filter:l,field:n,syntheticEvent:s.syntheticEvent})}})}};class bn extends de(xn){}const yn={inputComponent:e=>a.createElement(Ct.DatePicker,{...e}),operatorComponent:e=>a.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class In extends de(yn){}const kn={inputComponent:e=>a.createElement(W.NumericTextBox,{...e}),operatorComponent:e=>a.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class Sn extends de(kn){}const Fn={inputComponent:e=>a.createElement(W.Input,{...e}),operatorComponent:e=>a.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class Rn extends de(Fn){}const xr={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},Y="data-keyboardnavlevel",yt="data-keyboardnavscope",It="data-keyboardnavheader",kt="data-keyboardnavbody",pe="data-keyboardnavid",Dn="data-keyboardnavzone",br="_filter",yr=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[contenteditable]"],Ke=[...yr,"[tabindex]"],Ir=[...yr,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Ln={[yt]:!0},kr={[It]:!0},Mn={[kt]:!0},St=a.createContext(void 0);St.displayName="KendoReactTableKeyboardNavigationContext";const Sr=(e,t)=>{const r=a.useContext(St);return!r||!e||t===!1?{}:{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[Y]:r.level,[pe]:e}},ze=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:o,style:s,columnId:i,onKeyDown:l,navigatable:c,ariaColumnIndex:u,ariaLabel:d,role:m,ariaSelected:v}=e,h=Sr(i,c);return a.createElement("th",{"aria-sort":t,"aria-label":d,"aria-colindex":u,"aria-selected":v,colSpan:r,rowSpan:n,className:o,style:s,onKeyDown:l,role:m,...h},e.children)};ze.displayName="KendoReactHeaderThElement";const Fr=(e,t,r="cell")=>`${t}_${e}_${r}`,Nn=e=>{if(e)return parseInt(e.getAttribute(Y)||"",10)},Ft=e=>{if(!e)return;const t=e.getAttribute(pe);return t||void 0},ut=e=>e?!!e.getAttribute(pe):!1,On=(e,t={level:0})=>e.querySelector(`[${Y}='${t.level}']`),An=e=>e.parentElement&&e.parentElement.closest(`[${Y}]`),wn=(e,t)=>e.querySelector(`[${pe}='${t}']`),Tn=e=>e.parentElement&&e.parentElement.closest(`[${yt}]`),Rr=e=>e.querySelector(`[${It}]`),Dr=e=>e.querySelector(`[${kt}]`),Pn=(e,t={focusable:!1})=>{let r=t.focusable?Ke:Ir;return Array.from(e.querySelectorAll(r.join(",")))},Bn=(e,t={level:0})=>{if(!e)return[];let r=Ke.map(n=>n+`[${Y}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(r))},Kn=(e={level:0})=>{let t=Ke.map(r=>r+`[${Y}='${e.level}']`).join(",");return r=>r.matches(t)},zn=e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:o}=e;n.current&&t&&t.focus&&(r.preventDefault(),t.focus(),ut(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=Ft(t)),o&&ut(o)&&o.setAttribute("tabIndex","-1"))},_n=e=>e.current?e.current.idPrefix:"",Lr=(e,t,r,n,o)=>{if(!r)return[];let s=e+(o?-1:1);for(;s>=0&&s<n.length;){const i=n[s][t];if(i!==r)return[i,[s,t]];s=s+(o?-1:1)}return[]},Mr=(e,t,r,n,o)=>{if(!r)return[];let s=t+(o?-1:1);for(;s>=0&&s<n[e].length;){const i=n[e][s];if(i!==r)return[i,[e,s]];s=s+(o?-1:1)}return[]},dt=(e,t)=>{if(t){for(let r=0;r<e.length;r++)for(let n=0;n<e[r].length;n++)if(e[r][n]===t)return[r,n]}},qn=e=>e.current?e.current.navigationMatrix.length:0,Nr=e=>e?`${e}${br}`:"",N={generateNavigatableId:Fr,getNavigatableId:Ft,getNavigatableLevel:Nn,getNavigatableElement:On,getClosestNavigatableElement:An,getActiveElement:wn,getClosestScope:Tn,getHeaderElement:Rr,getBodyElement:Dr,getFocusableElements:Pn,getNavigatableElements:Bn,filterNavigatableElements:Kn,focusElement:zn,getIdPrefix:_n,isNavigatable:ut,findNextIdByRowIndex:Lr,findNextIdByCellIndex:Mr,findId:dt,getNextNavigationIndex:qn,getFilterColumnId:Nr},Or="k-table-row k-filter-row",Gn=(e,t,r)=>{let n=`${r?"k-grid-header-sticky":""}`;return e.some(o=>o.field===t)&&(n+=" k-sorted"),n},Hn=function(e){const{columns:t,filter:r,filterChange:n,sort:o=[],ariaRowIndex:s}=e,i=S.useLocalization();return a.createElement("tr",{className:Or,"aria-rowindex":s,role:"row"},t.map((l,c)=>{const u=l.locked!==void 0?{left:l.left,right:l.right,borderRightWidth:l.rightBorder?"1px":""}:{},d=l.filterCell||l.filter;return a.createElement(ze,{columnId:Nr(l.id),navigatable:l.navigatable,style:u,key:c,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:d?i.toLanguageString(ct,E[ct]):void 0,className:f.classNames("k-table-th k-header",Gn(o,l.field,l.locked))},d&&a.createElement(d,{field:l.field,filter:r,onFilterChange:n}))}))};function Ar(e,t){const r=e[t].depth;let n=null;for(let o=t+1;o<e.length;o++)if(e[o].depth===r){n=e[o];break}return n}const Rt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((r,n)=>Rt(n)+r,0)),t};function Wn(e){const t=[[]];let r=0;for(let s=e.length-1;s>=0;s--)r=Math.max(r,e[s].depth),e[s].colSpan=e[s].colSpan||1,e[s].parentIndex!==-1&&(e[e[s].parentIndex].colSpan=(e[e[s].parentIndex].colSpan||0)+e[s].colSpan);const n=[];let o=1;return e.forEach((s,i)=>{t[s.depth]=t[s.depth]||[];let l=!1;t[s.depth].length===0&&(o<=1?o=1+(s.children.length>0?0:r-s.depth):(o--,l=!0)),s.rowSpan=1+(s.children.length>0?0:r-s.depth),s.kFirst=l,s.index=t[s.depth].length,t[s.depth].push(i),s.ariaColumnIndex=n[s.depth]?n[s.depth]+1:1;for(let c=s.depth;c<s.depth+s.rowSpan;c++)n[c]=(n[c]||0)+s.colSpan}),wr(t,e),Tr(t,e),t}function wr(e,t,r){let n=new Array(e.length).fill(0),o=0;t.forEach(s=>{if(s.locked&&(!s.left||r))if(s.left=n[s.depth],o=Rt(s),s.children.length===0)for(let i=s.depth;i<n.length;i++)n[i]+=o;else n[s.depth]+=o})}function Tr(e,t,r){let n=0,o=new Array(e.length).fill(0);for(let s=t.length-1;s>=0;s--){const i=t[s];if(i.locked&&(!i.right||r)){if(i.right=o[i.depth],n=Rt(i),i.children.length===0)for(let c=i.depth;c<o.length;c++)o[c]+=n;else o[i.depth]+=n;const l=Ar(t,s);i.rightBorder=!(l&&l.locked)}}}function Pr(e,t,r=0){let n=[];if(!e||!e.length)return[];e.forEach(s=>{const i=Pr(s.children||[],t,r+1);n.push(Object.assign({},{depth:r},xr,s,{id:s.id?s.id:Fr(`${t.prevId++}`,t.idPrefix,"column"),declarationIndex:n.length,children:i,rowSpan:0,colSpan:0,isAccessible:!0}))});const o=(s,i)=>s.orderIndex===i.orderIndex?s.declarationIndex-i.declarationIndex:(s.orderIndex||0)-(i.orderIndex||0);if(n.sort(o),r===0){let s=[];const i=(l,c)=>l.forEach(u=>{u.parentIndex=c,i(u.children,s.push(u)-1)});return i(n,-1),s}return n}function Br(e){return!!(e&&getComputedStyle(e).direction==="rtl")}function pt(e,t){if(!t||!e||!e.originalEvent)return-1;const r={x:e.clientX,y:e.originalEvent.clientY};let n=t.ownerDocument?t.ownerDocument.elementFromPoint(r.x,r.y):null;for(;n&&n.parentElement!==t;)n=n.parentElement;if(!n&&t.matches("tr")){const s=i=>{const l=i.getBoundingClientRect();return r.x>l.left&&r.x<l.left+l.width&&r.y>l.top&&r.y<l.top+l.height};n=Array.from(t.children).find(s)||null}const o=t.children;for(let s=0;s<o.length;s++)if(o[s]===n)return s;return-1}class Vn extends a.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:t}=this.props;t&&t.resizable&&t.setIsRtl(Br(this.element))}render(){return a.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:t=>this.element=t,...kr},this.props.headerRow,this.props.filterRow)}}function Kr(e){const t=e.onClick?{onClick:e.onClick}:{},r=a.createElement("span",{className:"k-link",...t},a.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return a.createElement(a.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const zr=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);class _r extends a.Component{constructor(){super(...arguments),this.draggable=null,this.isDragged=!1,this.onDrag=t=>{this.isDragged=!0;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!1)},this.onRelease=t=>{if(!this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!0),this.isDragged=!1},this.onDoubleClick=t=>{if(this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.autofit&&this.props.autofit(t,r)}}render(){return a.createElement(f.Draggable,{onPress:t=>{t.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},a.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}}class $n extends a.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.pressHandler&&this.props.pressHandler(t.event,r)},this.onDrag=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.dragHandler&&this.props.dragHandler(t.event,r)},this.onRelease=t=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(t.event)}}render(){return a.createElement(f.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},a.createElement("tr",{className:"k-table-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},this.props.children))}}const Yn={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Un={none:"none",asc:"ascending",desc:"descending"};class qr extends a.Component{constructor(){super(...arguments),this.cellClick=(t,r)=>{if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:n,mode:o}=zr(this.props.sortable||!1,r.sortable||!1),s=(this.props.sort||[]).filter(c=>c.field===r.field)[0],i=Yn[n][s&&s.dir||""],l=o==="single"?[]:(this.props.sort||[]).filter(c=>c.field!==r.field);i!==""&&r.field&&l.push({field:r.field,dir:i}),this.props.sortChange(t,l,r.field)},this.cellKeyDown=(t,r)=>{t.isDefaultPrevented()||t.keyCode===f.Keys.enter&&this.cellClick(t,r)},this.cells=t=>t.map((r,n)=>{const o=this.props.columns[r],{columnResize:s}=this.props,i=s&&s.resizable&&o.resizable,l=this.props.sortable&&o.sortable,c=this.props.sort?this.props.sort.findIndex(g=>g.field===o.field):-1,u=c>=0&&this.props.sort[c].dir||"none",d={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:o.field},m={field:o.field,onClick:l&&(g=>this.cellClick(g,o))||void 0,selectionChange:this.props.selectionChange,title:o.title,selectionValue:o.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(c),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:d},v=o.columnMenu||this.props.columnMenu,h=f.classNames("k-table-th",{"k-first":o.kFirst,"k-filterable":!!v,"k-header":!0,"k-grid-header-sticky":o.locked,"k-sorted":this.props.sort&&this.props.sort.some(g=>g.field===o.field)},o.headerClassName),x=o.locked!==void 0?{left:o.left,right:o.right,borderRightWidth:o.rightBorder?"1px":""}:{},y=S.provideLocalizationService(this).toLanguageString(lt,E[lt]);let b=o.isAccessible?{ariaSort:l?Un[u]:void 0,role:"columnheader",ariaColumnIndex:o.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?y:""}:{role:"presentation"};return a.createElement(ze,{key:n,colSpan:o.colSpan,rowSpan:o.rowSpan,className:h,style:x,columnId:o.id,navigatable:o.navigatable,onKeyDown:l&&(g=>this.cellKeyDown(g,o))||void 0,...b},o.headerCell&&a.createElement(o.headerCell,{...m}),!o.headerCell&&a.createElement("span",{className:"k-cell-inner"},a.createElement(Kr,{...m}),v&&a.createElement(v,{...d})),s&&i&&a.createElement(_r,{key:"ColumnResizer",resize:(g,k,L)=>s.dragHandler(g,o,k,L)}))})}sortIcon(t){if(!this.props.sort||t<0)return null;const r=this.props.sort[t].dir;return r?[a.createElement(f.IconWrap,{key:1,name:`sort-${r}-small`,icon:r==="asc"?D.sortAscSmallIcon:D.sortDescSmallIcon}),this.props.sort.length>1&&a.createElement("span",{key:2,className:"k-sort-order"},t+1)]:null}render(){return this.props.columnsMap.map((t,r)=>this.props.pressHandler&&a.createElement($n,{key:r,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:r+1},this.cells(t))||a.createElement("tr",{className:"k-table-row","aria-rowindex":r+1,role:"row"},this.cells(t)))}}S.registerForLocalization(qr);function Xn(e){const t=[a.createElement("input",{key:0,checked:e.selectionValue,id:e.inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:r=>e.selectionChange({field:e.field,syntheticEvent:r})}),a.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return a.createElement(a.Fragment,null,e.render?e.render.call(void 0,t,e):t)}function jn(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:o}=e,s=r.map(()=>1),i=r.map(()=>!1);if(!t)return{colSpans:s,hiddenColumns:i};const l=r.map(g=>parseFloat((g.width||"").toString())||10);let c=0;for(let g=0;g<r.length;g++){if(r[g].locked)continue;const k=g<l.length-1?l[g+1]:0;if(c+l[g]+k<o)i[g]=!0,c+=l[g];else break}const u=l.reduce((g,k)=>g+k,0);c=0;for(let g=r.length-1;g>=0;g--)if(!r[g].locked)if(c+2*l[g]<u-n-o)i[g]=!0,c+=l[g];else break;const d=[...i],m=g=>g;let v=d.lastIndexOf(!1),h=d.some(m),x=d.every(m),y,b;for(;h&&d.length&&(v!==-1||x);){for(v<d.length-1&&(y=x?d.length:d.length-v-1,b=d.length-y,b===0&&(b=y-1),i[b]=!1,s[b]=y,d.splice(v+1,y));d.length&&!d[d.length-1];)d.pop();v=d.lastIndexOf(!1),h=d.some(m),x=d.every(m)}return{colSpans:s,hiddenColumns:i}}class Zn{constructor(t){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=r=>{this.isRtl=r},this.onResize=t,this.dragHandler=this.dragHandler.bind(this)}dragHandler(t,r,n,o){const s=t.originalEvent;o||(s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation());const i=n.parentElement;if(!i||!i.parentElement)return;const l=i.clientWidth;let c;if(this.isRtl?(c=n.getBoundingClientRect().right-n.offsetWidth/2-t.clientX,c+=l):c=l+t.clientX-n.getBoundingClientRect().left-n.offsetWidth/2,!o&&Math.abs(c-l)<1)return;this.setWidths(r,Math.floor(c)/l);const u=this.columns.filter(d=>!d.children.length).indexOf(r);this.onResize(u,l,c,s,o)}setWidths(t,r){const n=this.columns.indexOf(t),o=[];let s=t.children.length;for(let i=n+1;s>0&&i<this.columns.length;i++,s--){const l=this.columns[i];l.children.length?s+=l.children.length:o.push(l)}o.length===0&&o.push(t),o.forEach(i=>{let l=i.width?parseFloat(i.width.toString())*r:0;const c=i.minResizableWidth===void 0?10:i.minResizableWidth;l<c&&(l=c),i.width=Math.floor(l)}),this.updateColElements(o)}updateColElements(t){const r=this.columns.filter(o=>!o.children.length);let n=1e-10;for(let o=0;o<t.length;o++){const s=r.indexOf(t[o]),i=parseFloat((t[o].width||0).toString());n+=i-Math.floor(i);const l=Math.floor(i)+Math.floor(n);n-=Math.floor(n),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[s],l),this.setColWidth(this.colGroupHeader&&this.colGroupHeader.children[s],l),this.setColWidth(this.colGroupFooter&&this.colGroupFooter.children[s],l)}}setColWidth(t,r){t&&(t.style.width=r+"px")}}class Qn{constructor(t,r,n){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=o=>{this.groupPanelDivElement=o},this.refDropElementClue=o=>{this.dropElementClue=o},this.refDragElementClue=o=>{this.dragElementClue=o},this.pressHandler=(o,s)=>{const i=this.getColumnIndex(o,s);if(this.startGroup=this.getGroupIndex(o),i>=0){const l=this.columns[i];(l.reorderable&&this.reorderable||l.groupable&&this.groupable)&&(this.startColumn=i)}},this.dragHandler=(o,s)=>{if(o.isTouch||o.originalEvent.preventDefault(),o.originalEvent.stopPropagation(),this.startColumn===-1&&this.startGroup===-1)return;this.currentColumn=this.getColumnIndex(o,s),this.currentGroup=this.getGroupIndex(o),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const i=!this.isValid();i&&(this.currentColumn=-1,this.currentGroup=-1);const l=this.currentColumn>=0?s.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(o,s,l,i),this.updateDropElementClue(o,s,l,i)},this.releaseHandler=o=>{const s=this.startColumn,i=this.currentColumn,l=this.startGroup,c=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const u=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,u&&(s>=0&&i>=0?this.columnReorder(s,i,o.originalEvent):l>=0&&c>=0?this.groupReorder(l,c,o.originalEvent):s>=0&&c>=0&&this.columnToGroup(s,c,o.originalEvent))},this.columnReorder=t,this.groupReorder=r,this.columnToGroup=n}getColumnIndex(t,r){if(!r||r.parentElement===this.groupPanelDivElement)return-1;const n=pt(t,r);if(n===-1)return-1;for(let o=0;o<r.parentNode.children.length;o++)if(r.parentNode.children[o]===r)return this.columns.findIndex(s=>s.index===n&&s.depth===o);return-1}getGroupIndex(t){return pt(t,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:this.startColumn===-1?!1:this.currentGroup>=0?this.columns[this.startColumn].groupable===!0&&this.groupable===!0:this.reorderable===!0&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&this.columns[this.startColumn].reorderable===!0&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex}updateDragElementClue(t,r,n,o){if(!this.dragElementClue)return;const s=this.startColumn>=0?r.children[this.columns[this.startColumn].index].innerText:r.innerText;this.dragElementClue.setState({visible:!0,top:t.pageY+10,left:t.pageX,innerText:s,status:o||!n?"k-i-cancel":"k-i-plus"})}updateDropElementClue(t,r,n,o){if(!this.dropElementClue)return;if(o||!n){this.dropElementClue.setState({visible:!1});return}const s=n.getBoundingClientRect();let i=s.left+t.pageX-t.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&this.startGroup!==-1)&&(i+=s.width);const l=s.top+t.pageY-t.clientY;this.dropElementClue.setState({visible:!0,top:l,left:i,height:this.currentColumn>=0?r.clientHeight:s.height})}}class Jn extends a.PureComponent{constructor(t){super(t),this.elementRef=a.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=a.createRef()}get element(){return this.elementRef.current}render(){const t=this.hiddenElementRef.current,{status:r}=this.state,n=this.state.visible&&f.canUseDOM&&Et.createPortal(a.createElement("div",{ref:this.elementRef,className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.state.top+"px",left:this.state.left+"px"}},a.createElement(f.IconWrap,{className:"k-drag-status",name:r,icon:r==="k-i-cancel"?D.cancelIcon:D.plusIcon}),this.state.innerText),t&&t.ownerDocument?t.ownerDocument.body:document.body);return a.createElement(a.Fragment,null,n,a.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class 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,r=this.state.visible&&f.canUseDOM&&Et.createPortal(a.createElement("div",{className:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.state.top+"px",left:this.state.left+"px",height:this.state.height+"px"}}),t&&t.ownerDocument?t.ownerDocument.body:document.body);return a.createElement(a.Fragment,null,r,a.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class 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),{ariaLabel:r=t.toLanguageString(rt,E[rt])}=this.props;return a.createElement(W.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":r})}}Dt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string};S.registerForLocalization(Dt);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=S.provideLocalizationService(this),{min:r,max:n,filter:o,ariaLabel:s=t.toLanguageString(tt,E[tt])}=this.props;return a.createElement(W.NumericTextBox,{value:typeof o.value=="number"?o.value:null,onChange:this.onChange,ariaLabel:s,"aria-valuemin":r,"aria-valuemax":n,min:r,max:n})}}Lt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired};S.registerForLocalization(Lt);class Gr extends a.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=this.props.filter;return a.createElement(Ct.DatePicker,{value:t.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}}Gr.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string};class _e extends a.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value.value}})}}render(){const t=S.provideLocalizationService(this),{filter:r,data:n=[],defaultItem:o,ariaLabel:s=t.toLanguageString(et,E[et])}=this.props,i=n.map(l=>({...l,text:t.toLanguageString(l.text,E[l.text]||l.text)}));return a.createElement(G.DropDownList,{value:i.find(l=>l.value===r.value)||null,onChange:this.onChange,defaultItem:o,data:i,textField:"text",ariaLabel:s})}}_e.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,data:p.arrayOf(p.shape({text:p.string,value:p.any})),defaultItem:p.any,ariaLabel:p.string};S.registerForLocalization(_e);class Hr extends a.Component{constructor(){super(...arguments),this.data=[{text:Xt,value:!0},{text:jt,value:!1}]}render(){return a.createElement(_e,{filter:this.props.filter,onFilterChange:this.props.onFilterChange,data:this.props.data||this.data,defaultItem:this.props.defaultItem,ariaLabel:this.props.ariaLabel})}}Hr.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,data:p.arrayOf(p.shape({text:p.string,value:p.any})),ariaLabel:p.string,defaultItem:p.any};const to=[{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"}],ro=[{text:le,operator:"eq"},{text:ce,operator:"neq"},{text:Vt,operator:"gte"},{text:$t,operator:"gt"},{text:Yt,operator:"lte"},{text:Ut,operator:"lt"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"}],no=[{text:le,operator:"eq"},{text:ce,operator:"neq"},{text:Zt,operator:"gte"},{text:Qt,operator:"gt"},{text:Jt,operator:"lt"},{text:er,operator:"lte"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"}],oo=[{text:le,operator:"eq"},{text:ce,operator:"neq"}];class so{static get text(){return[...to]}static get numeric(){return[...ro]}static get date(){return[...no]}static get boolean(){return[...oo]}}const Mt=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",Ne=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",Kt=e=>{e.value===void 0&&!Ne(e.operator)&&(e.value=Mt(e.operator)?"":null)};class qe extends a.Component{constructor(){super(...arguments),this.onFieldChange=t=>{const r=t.value.name,n=this.props.fields.find(l=>l.name===r),o=this.props.filter,s=n&&!n.operators.some(l=>l.operator===o.operator)?n.operators[0].operator:o.operator,i={field:r,operator:s};Kt(i),this.triggerOnFilterChange(o,i,t)},this.onOperatorChange=t=>{const r=t.value.operator,n=this.props.filter;let o;if(Ne(r)){let{value:s,...i}=n;o={...i,operator:r}}else o={...n,operator:r};Kt(o),this.triggerOnFilterChange(n,o,t)},this.onInputChange=t=>{const r=this.props.filter;let n=t.nextFilter;if(Ne(n.operator)){const o=this.props.fields.find(s=>s.name===n.field);n={...n,operator:o&&o.operators[0].operator||n.operator}}this.triggerOnFilterChange(r,n,t)},this.triggerOnFilterChange=(t,r,n)=>{const o={prevFilter:t,nextFilter:r,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,target:this};this.props.onChange.call(void 0,o)},this.onFilterRemove=t=>{const r={filter:this.props.filter,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,target:this};this.props.onRemove.call(void 0,r)}}render(){const t=S.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:o=t.toLanguageString(Ze,E[Ze])}=this.props,s=r.find(l=>l.name===n.field),i=(s&&s.operators||[]).map(l=>({...l,text:t.toLanguageString(l.text,E[l.text]||l.text)}));return a.createElement("div",{className:"k-filter-toolbar"},a.createElement(O.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:o},a.createElement(O.ToolbarItem,{className:"k-filter-field"},a.createElement(G.DropDownList,{className:"k-filter-dropdown",data:r,textField:"label",value:r.find(l=>l.name===n.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(Qe,E[Qe])})),a.createElement(O.ToolbarItem,{className:"k-filter-operator"},a.createElement(G.DropDownList,{data:i,textField:"text",value:i.find(l=>l.operator===n.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(Je,E[Je])})),a.createElement(O.ToolbarItem,{className:"k-filter-value"},s&&a.createElement(s.filter,{filter:n,onFilterChange:this.onInputChange,min:s.min,max:s.max})),a.createElement(O.Button,{className:"k-toolbar-button",title:t.toLanguageString(se,E[se]),icon:"x",svgIcon:D.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}}qe.propTypes={filter:p.object.isRequired,fields:p.array.isRequired,ariaLabel:p.string,onChange:p.func.isRequired,onRemove:p.func.isRequired};S.registerForLocalization(qe);const Wr=class extends a.Component{constructor(){super(...arguments),this.onGroupRemove=e=>{const t={filter:this.props.filter,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onRemove.call(void 0,t)},this.onAddExpression=e=>{const t=this.props.filter,r=this.props.fields[0],n={field:r.name,operator:r.operators[0].operator};n.value=Mt(n.operator)?"":null;const o={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,o)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map(o=>o===e?t:o);return{...r,filters:n}},this.onChange=e=>{const r={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,r)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter(o=>o!==e.filter),n={nextFilter:{...t,filters:r},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const e=S.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(je,E[je])}=this.props;return a.createElement(a.Fragment,null,a.createElement("div",{className:"k-filter-toolbar"},a.createElement(O.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},a.createElement(O.ButtonGroup,{className:"k-toolbar-button-group"},a.createElement(O.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:r.logic==="and",type:"button"},e.toLanguageString(Ue,E[Ue])),a.createElement(O.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:r.logic==="or",type:"button"},e.toLanguageString(Xe,E[Xe]))),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(ee,E[ee]),icon:"filter-add-expression",svgIcon:D.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(ee,E[ee])),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(te,E[te]),icon:"filter-add-group",svgIcon:D.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(te,E[te])),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(se,E[se]),icon:"x",svgIcon:D.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),r.filters.length>0&&a.createElement("ul",{role:"group",className:"k-filter-lines"},r.filters.map((o,s)=>a.createElement("li",{role:"treeitem",key:s,className:"k-filter-item"},ie.isCompositeFilterDescriptor(o)?a.createElement(Wr,{filter:o,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):a.createElement(qe,{filter:o,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};let Ge=Wr;Ge.propTypes={filter:p.object.isRequired,fields:p.array.isRequired,ariaLabel:p.string,ariaLabelExpression:p.string,onChange:p.func.isRequired,onRemove:p.func.isRequired,defaultGroupFilter:p.object.isRequired};S.registerForLocalization(Ge);class Vr extends a.Component{constructor(t){super(t),this.onFilterChange=r=>{const n={filter:r.nextFilter,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onGroupRemove=r=>{const n={filter:{...this.props.value,filters:[]},syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},f.validatePackage(bt)}render(){return a.createElement("div",{className:f.classNames("k-filter",this.props.className),style:this.props.style},a.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},a.createElement("li",{role:"treeitem",className:"k-filter-group-main"},a.createElement(Ge,{filter:this.props.value,fields:this.props.fields,ariaLabel:this.props.ariaLabelGroup,ariaLabelExpression:this.props.ariaLabelExpression,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.props.defaultGroupFilter||{logic:"and",filters:[]}}))))}}Vr.propTypes={className:p.string,style:p.object,fields:function(e,t){const r=e[t];if(r===void 0)return new Error(`Property '${t}' is missing.`);if(Array.isArray(r)){if(Object.keys(r.reduce((n,o)=>({...n,[o.name]:1}),{})).length!==r.length)return new Error(`Property '${t}' needs to contain objects with unique 'name' field.`)}else return new Error(`Property '${t}' needs to be Array<FieldSettings>.`);return null},ariaLabelGroup:p.string,ariaLabelExpression:p.string,value:p.object.isRequired,onChange:p.func.isRequired};const Me=e=>a.createElement("div",{onClick:e.onClick,className:f.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&a.createElement(f.IconWrap,{name:e.iconClass?f.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),ao=[{text:or,operator:"contains"},{text:sr,operator:"doesnotcontain"},{text:we,operator:"eq"},{text:Te,operator:"neq"},{text:nr,operator:"startswith"},{text:ar,operator:"endswith"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"},{text:tr,operator:"isempty"},{text:rr,operator:"isnotempty"}],io=[{text:we,operator:"eq"},{text:Te,operator:"neq"},{text:ir,operator:"gte"},{text:lr,operator:"gt"},{text:cr,operator:"lte"},{text:ur,operator:"lt"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"}],lo=[{text:we,operator:"eq"},{text:Te,operator:"neq"},{text:pr,operator:"gte"},{text:hr,operator:"gt"},{text:gr,operator:"lt"},{text:fr,operator:"lte"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"}],co=[{text:dr,operator:""}];class he{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:r,operators:n,initialFilter:o}=e,s=a.useCallback(u=>{const d=t,m=u.target.value.operator,v=d?{...d,operator:m}:{value:o.value,operator:m};r.call(void 0,u.syntheticEvent,v,d)},[t,r,o]),i=a.useCallback(u=>{const d=u.target.value,m=t,v=m?{...m,value:d}:{value:d,operator:n[0].operator};r.call(void 0,u,v,m)},[t,r,n]),l=S.useLocalization(),c=n.map(u=>({...u,text:l.toLanguageString(u.text,E[u.text])}));return a.createElement(a.Fragment,null,a.createElement(G.DropDownList,{value:c.find(u=>u.operator===t.operator)||null,onChange:s,data:c,textField:"text"}),a.createElement(e.input,{value:t.value,onChange:i}))},$r=e=>{const{filter:t,onFilterChange:r}=e,n=a.useCallback(s=>r.call(void 0,s.syntheticEvent,{...t,value:s.value},t),[t,r]),o=he.boolean[0].text;return a.createElement(W.Checkbox,{onChange:n,checked:t.value,label:S.useLocalization().toLanguageString(o,E[o]),labelPlacement:"after"})},ht=e=>{const t=a.useCallback(o=>a.createElement(W.Input,{...o,value:o.value||""}),[]),r=a.useRef(he.text),n=a.useRef({operator:"",value:""});return a.createElement(Nt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},gt=e=>{const t=a.useCallback(o=>a.createElement(W.NumericTextBox,{...o,value:o.value||null}),[]),r=a.useRef(he.numeric),n=a.useRef({operator:"",value:null});return a.createElement(Nt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},ft=e=>{const t=a.useCallback(o=>a.createElement(Ct.DatePicker,{...o,value:o.value||null}),[]),r=a.useRef(he.date),n=a.useRef({operator:"",value:null});return a.createElement(Nt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},uo=[{text:mr,logic:"and"},{text:vr,logic:"or"}],He=e=>{const t=S.useLocalization(),r=(e.data||uo).map(n=>({...n,text:t.toLanguageString(n.text,E[n.text])}));return a.createElement(G.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find(n=>n.logic===e.value)})},Yr=e=>a.createElement("div",{className:"k-columnmenu-item-content"},a.createElement(gn.Reveal,{style:{position:"relative",display:"block"}},e.show&&a.createElement("div",{className:"kendo-grid-filter-menu-container"},a.createElement("form",{className:"k-filter-menu k-group k-reset k-state-border-up",onSubmit:e.onSubmit,onReset:e.onReset},a.createElement("div",{className:"k-filter-menu-container"},e.children,a.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),Ur=e=>{const t=S.useLocalization();return a.createElement(Yr,{...e,actions:a.createElement(a.Fragment,null,a.createElement(O.Button,{type:"reset"},t.toLanguageString(nt,E[nt])),a.createElement(O.Button,{themeColor:"primary"},t.toLanguageString(ot,E[ot])))})},We=e=>{f.validatePackage(bt);const t=a.useRef([]),{field:r,filter:n,sort:o=t.current,onSortChange:s,onFilterChange:i,initialFilter:l,sortAsc:c=!1,sortDesc:u=!1,filterContent:d=[],expandFilters:m=!1}=e,[v,h]=a.useState(!1),[x,y]=a.useState(m),[b,g]=a.useState(r&&l?l(r):null),k=a.useRef(null),L=a.useRef(null),F=a.useRef(null),C=a.useRef(!1),I=a.useCallback(()=>(n||[]).find(M=>M.filters.every(w=>!ie.isCompositeFilterDescriptor(w)&&w.field===r)),[n,r]),R=a.useCallback(()=>{h(!1)},[]),T=a.useCallback(()=>{if(C.current){C.current=!1;return}clearTimeout(F.current),F.current=window.setTimeout(()=>{R()})},[R]),z=a.useCallback(()=>clearTimeout(F.current),[]),_=a.useCallback(M=>{C.current=v&&M.currentTarget===k.current},[v]),q=a.useCallback(()=>{h(!v),r&&l&&(y(v?!1:m),g(v?b:I()||l(r)))},[I,r,v,b,l,m]);a.useEffect(()=>{v&&L.current&&L.current.focus()},[v]);const A=a.useCallback(()=>y(!x),[x]),P=a.useCallback((M,w)=>{const B=[...o],K=B.findIndex(un=>un.field===r),J={field:r,dir:w};K>=0?B[K].dir!==J.dir?B.splice(K,1,J):B.splice(K,1):B.push(J),R(),s&&s.call(void 0,M,B,r)},[o,r,s,R]),U=a.useCallback((M,w,B)=>{const K={...b,filters:[...b.filters]},J=K.filters.indexOf(B);K.filters.splice(J,1,w),g(K)},[b]),ge=a.useCallback(M=>{M.preventDefault();const w=(n||[]).slice(),B=I(),K=B?w.indexOf(B):-1;K>=0?w.splice(K,1,b):w.push(b),R(),i&&i.call(void 0,M,w,r)},[n,b,r,i,R,I]),fe=a.useCallback(M=>{const w=(n||[]).slice(),B=I(),K=B?w.indexOf(B):-1;K>=0&&w.splice(K,1),l&&g(l(r)),R(),i&&i.call(void 0,M,w,r)},[n,r,i,l,R,I]),Ve=a.useCallback(M=>P(M,"asc"),[P]),me=a.useCallback(M=>P(M,"desc"),[P]),$e=a.useCallback(M=>b&&g({...b,logic:M.value.logic}),[b]),X=o.find(M=>M.field===r)||{dir:""},[j,Z,Q]=d,Ye=S.useLocalization(),sn=c||u?a.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},c&&a.createElement(Me,{title:Ye.toLanguageString(at,E[at]),iconClass:"k-i-sort-asc-small",svgIcon:D.sortAscSmallIcon,selected:X.dir==="asc",onClick:Ve}),u&&a.createElement(Me,{title:Ye.toLanguageString(it,E[it]),iconClass:"k-i-sort-desc-small",svgIcon:D.sortDescSmallIcon,selected:X.dir==="desc",onClick:me})):null,an=b&&d.length>0?a.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},a.createElement(Me,{iconClass:"k-i-filter",svgIcon:D.filterIcon,title:Ye.toLanguageString(st,E[st]),onClick:A}),a.createElement(Ur,{show:x,onSubmit:ge,onReset:fe},j&&a.createElement(j,{filter:b.filters[0],onFilterChange:U}),Z&&a.createElement(Z,{value:b.logic,onChange:$e}),Q&&a.createElement(Q,{filter:b.filters[1],onFilterChange:U}))):null,At=[sn,an],ln=a.createElement("span",{ref:k,onClick:q,onMouseDown:_,className:"k-grid-header-menu k-grid-column-menu"+(I()?" k-active":""),key:"button"},a.createElement(f.IconWrap,{name:"more-vertical",icon:D.moreVerticalIcon})),cn=a.createElement(hn.Popup,{anchor:k.current,show:v,key:"popup"},a.createElement("div",{className:"k-grid-columnmenu-popup",ref:L,tabIndex:0,onBlur:T,onFocus:z,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,At,{closeMenu:R,field:r}):At)),wt=[ln,cn];return a.createElement(a.Fragment,null,e.render?e.render.call(void 0,wt):wt)},po=e=>{const{field:t,...r}=e,n=a.useCallback(i=>({logic:"and",filters:[{operator:"contains",field:i,value:""},{operator:"contains",field:i,value:""}]}),[]),o=!!e.field,s=o?[ht,He,ht]:[];return a.createElement(We,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?n:void 0,field:t,...r})},ho=e=>{const{field:t,...r}=e,n=a.useCallback(i=>({logic:"or",filters:[{operator:"eq",field:i,value:null},{operator:"eq",field:i,value:null}]}),[]),o=!!e.field,s=o?[gt,He,gt]:[];return a.createElement(We,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?n:void 0,field:t,...r})},go=e=>{const{field:t,...r}=e,n=a.useCallback(i=>({logic:"or",filters:[{operator:"eq",field:i,value:null},{operator:"eq",field:i,value:null}]}),[]),o=!!e.field,s=o?[ft,He,ft]:[];return a.createElement(We,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?n:void 0,field:t,...r})},fo=e=>{const{field:t,...r}=e,n=a.useCallback(i=>({logic:"and",filters:[{operator:"eq",field:i,value:!1}]}),[]),o=!!e.field,s=o?[$r]:[];return a.createElement(We,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?n:void 0,field:t,...r})};function re(e,t,r){return r?{...e,[t]:r.length?[...r]:void 0}:e&&e[t]?[...e[t]]:[]}function Xr(e,t,r){if(e[r]){let n=re(e,r,ie.orderBy(re(e,r),t)),o=re(n,r).map(s=>Xr(s,t,r));return{...n,[r]:o}}return e}function mo(e,t,r){let n=ie.orderBy(e,t);return n=n.map(o=>Xr(o,t,r)),n}function jr(e,t,r){let n=re(e,r);if(n&&n.length){n=n.map(l=>jr(l,t,r));const s={filters:[{filters:t,logic:"and"},{operator:l=>!!(l[r]||[]).length}],logic:"or"},i=ie.filterBy(n,s);return re(e,r,i)}return e}function vo(e,t,r){let n={[r]:[...e]};return n=jr(n,t,r),n[r]||[]}function Eo(e,t,r){let n=[];const o=[];for(let s=e.length-1;s>=0;s--){const i=e[s];n.push({root:i,data:t(i),level:[s],levelCount:e.length})}for(;n.length>0;){let s=n.pop();if(o.push({dataItem:s.root,level:[...s.level],...r(s.root),levelCount:s.levelCount}),s.data.length)for(let i=s.data.length-1;i>=0;i--){const l=s.data[i];n.push({root:l,data:t(l),level:[...s.level,i],levelCount:s.data.length})}}return o}const Co=(e,t,r)=>{const n=c=>!!f.getNestedValue(t,c),o=c=>!!f.getNestedValue(r,c),s=c=>{const u=[];return n(c)&&o(c)&&u.push(...f.getNestedValue(r,c)),u},i=(c,u,d)=>{u.push({...c,level:d}),s(c).forEach(m=>i(m,u,d+1))},l=[];return e.forEach(c=>i(c,l,0)),l},xo=(e,t,r,n)=>{let o={},s=[],i;return e.forEach(l=>o[t(l)]={...l}),e.forEach(l=>{i=o[r(l)],i?(i[n]=i[n]||[],i[n].push(o[t(l)])):s.push(o[t(l)])}),s},bo=(e,t,r)=>f.extendDataItem(e,t,r),yo=(e,t,r)=>[...f.mapTree([{[t]:[...e]}],t,o=>Io(o,r,t))[0][t]],Io=(e,t,r)=>{const n=e[r]||[],o=n.findIndex(t);if(o!==-1){const s=[...n];return s.splice(o,1),{...e,[r]:s}}return e},ko=(e,t,r,n)=>f.mapTree(e,t,o=>r(o)?{...o,[t]:n(o[t]||[])}:o),mt=(e,t,r)=>f.getItemPath(e,t,r),So=(e,t,r,n)=>{const o=[...e],s=mt(o,t,n),i=s.pop(),l=s.pop(),c=t[t.length-1];if(r){const d=mt(o,r,n).pop();(l?l[n]:o).splice(c,1),d[n]=d[n]||[],d[n].push(i)}else(l?l[n]:o).splice(c,1),o.push(i);return o},ae="groupId",vt="items",Zr=(e,t,r)=>{e.items&&(e[ae]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(n=>Zr(n,t-1,e[ae])))},Fo=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach(r=>Zr(r,t.length,""))},Ro=e=>{const t=[];return f.mapTree(e.data,vt,r=>{r[ae]&&t.push(r[ae])}),t},Do=e=>f.mapTree(e.data,vt,t=>f.extendDataItem(t,vt,{expanded:!e.collapsedIds.some(r=>r===t[ae])})),Lo=e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:n,idPrefix:o}=e;t&&(r.current={activeId:"",level:0},n.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:o||f.guid(),navigationMatrix:[],lastHeaderIndex:-1})},Mo=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){Ot(e);const o=n.current.navigationMatrix[0][0],s=N.getActiveElement(t,o);o&&s&&(r.current.activeId=o,s.setAttribute("tabIndex","0"))}},No=e=>{const{contextStateRef:t,navigationStateRef:r,document:n}=e;if(t.current&&r.current&&n){const o=f.getActiveElement(n),s=N.getNavigatableId(o);s&&s===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},Oo=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(Ot(e),r.current&&n.current&&t){if(!N.getActiveElement(t,r.current.activeId)){const s=n.current.navigationMatrix[0][0],i=N.getActiveElement(t,s);s&&i&&(r.current.activeId=s,i.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&i.focus())}n.current.activeElementIsFocused=!1}},Ao=(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,o=N.getNavigatableId(n);if(o&&o!==r.current.activeId){const s=N.getClosestScope(n);if(!s)return;const i=N.getActiveElement(s,r.current.activeId);i&&i.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=o}},wo=(e,t)=>{const{contextStateRef:r,navigationStateRef:n,onNavigationAction:o}=t;if(e.isDefaultPrevented()||!r.current||!n.current)return;if(e.keyCode===f.Keys.esc){const d=N.getClosestNavigatableElement(e.target);N.focusElement({elementForFocus:d,event:e,contextStateRef:r});return}const s=e.target,i=N.getNavigatableId(s),l=N.getNavigatableLevel(s),c=N.getClosestScope(s),u=n.current.navigationMatrix;if(l!==void 0&&c){if(e.keyCode===f.Keys.enter){const d=N.getNavigatableElement(s,{level:l+1});if(d){N.focusElement({elementForFocus:d,event:e,contextStateRef:r,prevElement:s});return}else{const m=N.getFocusableElements(s)[0];N.focusElement({elementForFocus:m,event:e,contextStateRef:r,prevElement:s});return}}if(e.keyCode===f.Keys.up||e.keyCode===f.Keys.down||e.keyCode===f.Keys.left||e.keyCode===f.Keys.right){const d=e.keyCode===f.Keys.up||e.keyCode===f.Keys.left,m=e.keyCode===f.Keys.up||e.keyCode===f.Keys.down;let v;if(n.current&&n.current.prevNavigationIndexes){const[h,x]=n.current.prevNavigationIndexes;u[h][x]===i?v=n.current.prevNavigationIndexes:v=dt(u,i)}else v=dt(u,i);if(v){const[h,x]=v,[y,b]=m?Lr(h,x,i,u,d):Mr(h,x,i,u,d);if(y){const g=N.getActiveElement(c,y);N.focusElement({elementForFocus:g,event:e,contextStateRef:r,prevElement:s}),n.current.prevNavigationIndexes=b,o&&o({focusElement:g,event:e})}}}}},Ot=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],o=Rr(r),s=Dr(r);if(!o||!s)return;const i=Array.from(o.children),l=Array.from(s.children);[...i,...l].forEach((c,u)=>{Array.from(c.children).forEach(d=>{const m=Ft(d);if(!m)return;const v=d.rowSpan||1,h=d.colSpan||1;let x;for(let y=u,b=u+v;y<b;y++){if(n[y]||(n[y]=[]),x===void 0){const g=n[y].findIndex(k=>!k);x=g>-1?g:n[y].length}n[y][x]=m||""}for(let y=x+1,b=x+h;y<b;y++)n[u][y]=m||""})}),t.current.navigationMatrix=n.filter(c=>!!c),t.current.lastHeaderIndex=i.length-1},To={onConstructor:Lo,onComponentDidMount:Mo,onGetSnapshotBeforeUpdate:No,onComponentDidUpdate:Oo,onFocus:Ao,onKeyDown:wo,generateMatrix:Ot},Qr="data-grid-row-index",Jr="data-grid-col-index",en="data-prevent-selection",Po="items",V={},Bo=(e,t)=>!e||Array.isArray(e)&&e.length===0?[t]:e.findIndex(n=>n===t)>-1?e.filter(n=>n!==t):[...e,t],H=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if(r.tagName==="TABLE")return null;r=r.parentElement}return null},ne=e=>{if(!e)return;const t=e.getAttribute(Qr);return t?parseInt(t,10):void 0},oe=e=>{if(!e)return;const t=e.getAttribute(Jr);return t?parseInt(t,10):void 0},Ko=e=>{const t=e.subItemsField||Po,r=f.getter(e.dataItemKey);return f.mapTree(e.data,t,n=>f.extendDataItem(n,t,{[e.selectedField]:e.selectedState[r(n)]}))},zo=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{syntheticEvent:o,nativeEvent:s,dataItems:i,componentId:l,mode:c,cell:u,selectedField:d}=t,{target:m,ctrlKey:v,metaKey:h,altKey:x,shiftKey:y}=s;if(o.isDefaultPrevented()||s.keyCode!==f.Keys.enter)return n;const b=H(m,"TD"),g=H(m,"TR"),k=oe(b),L=ne(g);let F={};return b&&g&&L!==void 0&&k!==void 0&&(F=tn({selectedState:n,dataItemKey:r,event:{ctrlKey:v,metaKey:h,altKey:x,shiftKey:y,dataItems:i,cell:u,mode:c,selectedField:d,componentId:l,startColIndex:k,endColIndex:k,startRowIndex:L,endRowIndex:L,isDrag:!1,syntheticEvent:o,nativeEvent:s,target:t.target,dataItem:null}})),F},tn=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{dataItems:o,startRowIndex:s,endRowIndex:i,startColIndex:l,endColIndex:c,cell:u,isDrag:d,ctrlKey:m,shiftKey:v,metaKey:h,componentId:x,mode:y,dataItem:b}=t,g=f.getter(r);let k={};const L=b!==null;if(y==="single"){const F=o.slice(s,s+1)[0],C=g(F);V[x]={rowIndex:s,colIndex:l},k[C]=u?[l]:!0}else if(d||!v&&!m&&!h&&!L){d||(V[x]={rowIndex:s,colIndex:l});const F=[];for(let I=l;I<=c;I++)F.push(I);o.slice(s,i+1).forEach(I=>{const R=g(I);k[R]=u?[...F]:!0})}else if(m||h||L){V[x]={rowIndex:s,colIndex:l};const C=o.slice(s,i+1)[0],I=g(C);k={...n},k[I]=u&&!L?Bo(k[I],l):!k[I]}else if(v){const F=V[x]&&V[x].rowIndex||0,C=V[x]&&V[x].colIndex||0,I=Math.min(F,s,i),R=Math.max(F,s,i),T=Math.min(C,l,c),z=Math.max(C,l,c),_=[];for(let A=T;A<=z;A++)_.push(A);o.slice(I,R+1).forEach(A=>{const P=g(A);k[P]=u?[..._]:!0})}return k},_o=f.hasRelativeStackingContext(),rn=e=>{if(!e||!_o)return null;let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).transform!=="none")return t;t=t.parentElement}},nn=e=>{if(e&&e.ownerDocument&&e!==e.ownerDocument.body){const t=e.getBoundingClientRect();return{left:t.left-e.scrollLeft,top:t.top-e.scrollTop}}return{left:0,top:0}},on=e=>{const t=e?typeof e.enabled=="boolean"?e.enabled:!0:!1,r=e?!!e.drag:!1,n=e&&e.mode?e.mode:"multiple",o=!!(e&&e.cell);return{enabled:t,drag:r,mode:n,cell:o}},qo=e=>{var L;const{onRelease:t,childRef:r}=e,{enabled:n,drag:o,mode:s,cell:i}=on(e.selectable),l=a.useRef(null),c=a.useRef(null),u=a.useRef({clientX:0,clientY:0}),[d,m]=a.useState(null),v=a.useRef(),h=a.useRef(!1),x=a.useRef(!1),y=a.useCallback(F=>{const{event:C}=F;x.current=C.originalEvent.target.hasAttribute(en),!(x.current||!l.current)&&(v.current=rn(l.current.element),u.current={clientY:C.clientY,clientX:C.clientX})},[]),b=a.useCallback(F=>{const{event:C}=F,{clientX:I,clientY:R}=u.current;if(!x.current&&!(!o||s==="single")&&((Math.abs(R-C.clientY)>5||Math.abs(I-C.clientX)>5)&&(h.current=!0),h.current)){const T=nn(v.current);m({top:Math.min(R,C.clientY)-T.top,left:Math.min(I,C.clientX)-T.left,width:Math.abs(C.clientX-I),height:Math.abs(C.clientY-R)})}},[m,o,s]),g=a.useCallback(F=>{const{event:C}=F,{clientX:I,clientY:R}=u.current;if(x.current||!l.current)return;const T=l.current.element&&l.current.element.ownerDocument;if(T){if(h.current){const z=Math.min(R,C.clientY),_=Math.min(I,C.clientX),q=Math.max(R,C.clientY),A=Math.max(I,C.clientX),P=c.current;if(!P)return;P.style.visibility="hidden";const U=T.elementFromPoint(_,z),ge=T.elementFromPoint(A,q);if(P.style.visibility="",!U||!ge)return;const fe=H(U,"TD"),Ve=H(fe,"TR"),me=H(ge,"TD"),$e=H(me,"TR"),X=oe(fe),j=ne(Ve),Z=oe(me),Q=ne($e);X!==void 0&&j!==void 0&&Z!==void 0&&Q!==void 0&&t({nativeEvent:C.originalEvent,startRowIndex:j,startColIndex:X,endRowIndex:Q,endColIndex:Z,altKey:C.altKey,shiftKey:C.shiftKey,ctrlKey:C.ctrlKey,metaKey:C.metaKey,mode:s,cell:i,isDrag:!0})}else{const z=T.elementFromPoint(I,R);if(!z)return;const _=H(z,"TD"),q=H(z,"TR"),A=oe(_),P=ne(q);_&&q&&P!==void 0&&A!==void 0&&t({nativeEvent:C.originalEvent,startRowIndex:P,startColIndex:A,endRowIndex:P,endColIndex:A,altKey:C.altKey,shiftKey:C.shiftKey,ctrlKey:C.ctrlKey,metaKey:C.metaKey,mode:s,cell:i,isDrag:!1})}m(null),h.current=!1,u.current={clientX:0,clientY:0}}},[m,s,i,t]),k=f.useDocument(c);return n?a.createElement(a.Fragment,null,a.createElement(f.Draggable,{onPress:y,onDrag:b,onRelease:g,ref:l,childRef:r},e.children),d&&fn.createPortal(a.createElement("div",{ref:c,style:{...d,position:"fixed"},className:"k-marquee k-marquee-color"}),(L=k())==null?void 0:L.body)):a.cloneElement(a.Children.only(e.children),{ref:r})};exports.BooleanFilter=Hr;exports.BooleanFilterCell=bn;exports.ColumnDefaultProps=xr;exports.ColumnMenuBooleanColumn=fo;exports.ColumnMenuBooleanFilter=$r;exports.ColumnMenuDateColumn=go;exports.ColumnMenuDateFilter=ft;exports.ColumnMenuFilterForm=Ur;exports.ColumnMenuFilterLogic=He;exports.ColumnMenuForm=Yr;exports.ColumnMenuItem=Me;exports.ColumnMenuNumericColumn=ho;exports.ColumnMenuNumericFilter=gt;exports.ColumnMenuOperators=he;exports.ColumnMenuTextColumn=po;exports.ColumnMenuTextFilter=ht;exports.ColumnResize=Zn;exports.ColumnResizer=_r;exports.CommonDragLogic=Qn;exports.DateFilter=Gr;exports.DateFilterCell=In;exports.DragClue=Jn;exports.DropClue=eo;exports.EnumFilter=_e;exports.Expression=qe;exports.FILTER_ROW_CLASS=Or;exports.FOCUSABLE_ELEMENTS=Ke;exports.Filter=Vr;exports.FilterRow=Hn;exports.Group=Ge;exports.Header=Vn;exports.HeaderCell=Kr;exports.HeaderRow=qr;exports.HeaderSelectionCell=Xn;exports.HeaderThElement=ze;exports.KEYBOARD_NAV_DATA_BODY=kt;exports.KEYBOARD_NAV_DATA_HEADER=It;exports.KEYBOARD_NAV_DATA_ID=pe;exports.KEYBOARD_NAV_DATA_LEVEL=Y;exports.KEYBOARD_NAV_DATA_SCOPE=yt;exports.KEYBOARD_NAV_DATA_ZONE=Dn;exports.KEYBOARD_NAV_FILTER_COL_SUFFIX=br;exports.NumericFilter=Lt;exports.NumericFilterCell=Sn;exports.Operators=so;exports.Pager=ue;exports.TABBABLE_ELEMENTS=Ir;exports.TABLE_COL_INDEX_ATTRIBUTE=Jr;exports.TABLE_PREVENT_SELECTION_ELEMENT=en;exports.TABLE_ROW_INDEX_ATTRIBUTE=Qr;exports.TableKeyboardNavigationContext=St;exports.TableSelection=qo;exports.TextFilter=Dt;exports.TextFilterCell=Rn;exports.closestTagName=H;exports.createDataTree=xo;exports.createFilterComponent=de;exports.extendDataItem=bo;exports.filterBy=vo;exports.flatData=Eo;exports.getColumnIndex=oe;exports.getGroupIds=Ro;exports.getIndex=pt;exports.getItemPath=mt;exports.getOffset=nn;exports.getRowIndex=ne;exports.getSelectedState=tn;exports.getSelectedStateFromKeyDown=zo;exports.getSelectionOptions=on;exports.isRtl=Br;exports.mapColumns=Wn;exports.modifySubItems=ko;exports.moveTreeItem=So;exports.nextColumn=Ar;exports.normalize=zr;exports.orderBy=mo;exports.readColumns=Pr;exports.relativeContextElement=rn;exports.removeItems=yo;exports.setExpandedState=Do;exports.setGroupIds=Fo;exports.setSelectedState=Ko;exports.stringOperator=Mt;exports.tableColumnsVirtualization=jn;exports.tableKeyboardNavigation=To;exports.tableKeyboardNavigationBodyAttributes=Mn;exports.tableKeyboardNavigationHeaderAttributes=kr;exports.tableKeyboardNavigationScopeAttributes=Ln;exports.tableKeyboardNavigationTools=N;exports.treeToFlat=Co;exports.unaryOperator=Ne;exports.updateLeft=wr;exports.updateRight=Tr;exports.useTableKeyboardNavigation=Sr;
|
|
5
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const dn=require("react"),pn=require("prop-types"),f=require("@progress/kendo-react-common"),O=require("@progress/kendo-react-buttons"),S=require("@progress/kendo-react-intl"),W=require("@progress/kendo-react-inputs"),G=require("@progress/kendo-react-dropdowns"),D=require("@progress/kendo-svg-icons"),Et=require("react-dom"),ie=require("@progress/kendo-data-query"),Ct=require("@progress/kendo-react-dateinputs"),hn=require("@progress/kendo-react-popup"),gn=require("@progress/kendo-react-animation");function xt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const a=xt(dn),p=xt(pn),fn=xt(Et),ve="pager.info",Ee="pager.firstPage",Ce="pager.previousPage",xe="pager.nextPage",be="pager.lastPage",ye="pager.itemsPerPage",mn="pager.pageSelection",$="pager.page",Ie="pager.of",ke="pager.totalPages",vn="pager.pageLabel",Se="pager.ariaKeyshortcuts",Fe="pager.ariaLabel",Re="pager.pageSizeAriaLabel",De="pager.mobileSelect",Le="pager.moreButtonLabel",le="filter.eqOperator",ce="filter.notEqOperator",Oe="filter.isNullOperator",Ae="filter.isNotNullOperator",zt="filter.isEmptyOperator",_t="filter.isNotEmptyOperator",qt="filter.startsWithOperator",Gt="filter.containsOperator",Ht="filter.notContainsOperator",Wt="filter.endsWithOperator",Vt="filter.gteOperator",$t="filter.gtOperator",Yt="filter.lteOperator",Ut="filter.ltOperator",Xt="filter.isTrue",jt="filter.isFalse",Zt="filter.afterOrEqualOperator",Qt="filter.afterOperator",Jt="filter.beforeOperator",er="filter.beforeOrEqualOperator",Ue="filter.andLogic",Xe="filter.orLogic",ee="filter.addExpression",te="filter.addGroup",se="filter.close",je="filter.groupAriaLabel",Ze="filter.expressionAriaLabel",Qe="filter.expressionDropdownAriaLabel",Je="filter.expressionOperatorDropdownAriaLabel",et="filter.enumFilterDropdownAriaLabel",tt="filter.numericFilterAriaLabel",rt="filter.textFilterAriaLabel",nt="columnMenu.filterClearButton",ot="columnMenu.filterSubmitButton",st="columnMenu.filterTitle",at="columnMenu.sortAscending",it="columnMenu.sortDescending",we="columnMenu.filterEqOperator",Te="columnMenu.filterNotEqOperator",Pe="columnMenu.filterIsNullOperator",Be="columnMenu.filterIsNotNullOperator",tr="columnMenu.filterIsEmptyOperator",rr="columnMenu.filterIsNotEmptyOperator",nr="columnMenu.filterStartsWithOperator",or="columnMenu.filterContainsOperator",sr="columnMenu.filterNotContainsOperator",ar="columnMenu.filterEndsWithOperator",ir="columnMenu.filterGteOperator",lr="columnMenu.filterGtOperator",cr="columnMenu.filterLteOperator",ur="columnMenu.filterLtOperator",dr="columnMenu.filterIsTrue",pr="columnMenu.filterAfterOrEqualOperator",hr="columnMenu.filterAfterOperator",gr="columnMenu.filterBeforeOperator",fr="columnMenu.filterBeforeOrEqualOperator",mr="columnMenu.filterAndLogic",vr="columnMenu.filterOrLogic",lt="sort.ariaLabel",ct="filter.ariaLabel",E={[ye]:"items per page",[mn]:"Select page",[ve]:"{0} - {1} of {2} items",[Ee]:"Go to the first page",[Ce]:"Go to the previous page",[xe]:"Go to the next page",[be]:"Go to the last page",[$]:"Page",[Ie]:"of",[ke]:"{0}",[vn]:"Page",[Se]:"Enter ArrowRight ArrowLeft",[Fe]:"Pager",[Re]:"Page size",[De]:"Select",[Le]:"More pages",[lt]:"Sortable",[ct]:"Filter",[le]:"Is equal to",[ce]:"Is not equal to",[Oe]:"Is null",[Ae]:"Is not null",[zt]:"Is empty",[_t]:"Is not empty",[qt]:"Starts with",[Gt]:"Contains",[Ht]:"Does not contain",[Wt]:"Ends with",[Vt]:"Is greater than or equal to",[$t]:"Is greater than",[Yt]:"Is less than or equal to",[Ut]:"Is less than",[Xt]:"Is true",[jt]:"Is false",[Zt]:"Is after or equal to",[Qt]:"Is after",[Jt]:"Is before",[er]:"Is before or equal to",[Ue]:"And",[Xe]:"Or",[ee]:"Add Expression",[te]:"Add Group",[se]:"Close",[je]:"Filter toolbar",[Ze]:"Filter expression row",[Qe]:"Filter dropdown",[Je]:"Filter operator dropdown",[et]:"Select True/False",[tt]:"Enter number",[rt]:"Enter text",[nt]:"Clear",[ot]:"Filter",[st]:"Filter",[at]:"Sort Ascending",[it]:"Sort Descending",[we]:"Is equal to",[Te]:"Is not equal to",[Pe]:"Is null",[Be]:"Is not null",[tr]:"Is empty",[rr]:"Is not empty",[nr]:"Starts with",[or]:"Contains",[sr]:"Does not contain",[ar]:"Ends with",[ir]:"Is greater than or equal to",[lr]:"Is greater than",[cr]:"Is less than or equal to",[ur]:"Is less than",[dr]:"Is true",[pr]:"Is after or equal to",[hr]:"Is after",[gr]:"Is before",[fr]:"Is before or equal to",[mr]:"And",[vr]:"Or"},Tt="...";class En extends a.Component{constructor(){super(...arguments),this.handlePageChange=(t,r)=>{t.preventDefault(),this.props.pageChange(r,t)},this.handleSelectPageChange=t=>{t.preventDefault(),this.props.pageChange(t.target.value,t)}}render(){const t=S.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(De):{messageKey:De,defaultMessage:E[De]},n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:E[$]},o=this.props.messagesMap?this.props.messagesMap(Le):{messageKey:Le,defaultMessage:E[Le]},s=t.toLanguageString(o.messageKey,o.defaultMessage),i=this.start>1&&this.renderDots(this.start-1,s),l=this.end<this.props.totalPages&&this.renderDots(this.end+1,s),c=this.start>1&&this.renderOptionDots(this.start-1),u=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),d=[];for(let h=this.start;h<=this.end;h++)d.push(h);const m=d.map(h=>a.createElement(O.Button,{className:f.classNames({"k-selected":this.props.currentPage===h}),key:h,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(n.messageKey,n.defaultMessage)+" "+h,"aria-current":this.props.currentPage===h?!0:void 0,onClick:x=>this.handlePageChange(x,h)},h)),v=d.map(h=>a.createElement("option",{key:h},h));return a.createElement(a.Fragment,null,a.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:f.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${f.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(r.messageKey,r.defaultMessage),value:this.props.currentPage,onChange:h=>this.handleSelectPageChange(h)},c,v,u),a.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},i,m,l))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const t=this.props.currentPage,r=this.props.buttonCount;if(t>r){const n=t%r;return n===0?t-r+1:t-n+1}return 1}renderDots(t,r){return a.createElement(O.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":r,onClick:n=>this.handlePageChange(n,t)},Tt)}renderOptionDots(t){return a.createElement("option",{value:t},Tt)}}class Er extends a.Component{constructor(){super(...arguments),this.state={page:this.props.currentPage},this.handleOnChange=t=>{this.setState({page:t.target.value}),t.target.value&&this.props.pageChange(t.target.value,t)}}render(){const t=S.provideIntlService(this),r=S.provideLocalizationService(this),n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:E[$]},o=this.props.messagesMap?this.props.messagesMap(Ie):{messageKey:Ie,defaultMessage:E[Ie]},s=this.props.messagesMap?this.props.messagesMap(ke):{messageKey:ke,defaultMessage:E[ke]};return a.createElement(a.Fragment,null,a.createElement("span",{className:"k-pager-input"},a.createElement("span",null,r.toLanguageString(n.messageKey,n.defaultMessage)),a.createElement(W.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1}),a.createElement("span",null,`${r.toLanguageString(o.messageKey,o.defaultMessage)} ${t.format(r.toLanguageString(s.messageKey,s.defaultMessage),[this.props.totalPages])}`)))}}S.registerForLocalization(Er);class Cr extends a.Component{constructor(){super(...arguments),this.pageSizeChange=t=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(t.target.value,10)},t)}}render(){const{value:t,pageSizes:r,pageSize:n,messagesMap:o}=this.props,s=r.slice();t===void 0&&s.filter(c=>c===n).length===0&&s.unshift(n);const i=o?o(ye):{messageKey:ye,defaultMessage:E[ye]},l=o?o(Re):{messageKey:Re,defaultMessage:E[Re]};return a.createElement("span",{className:"k-pager-sizes"},a.createElement(G.DropDownList,{value:t!==void 0?t:n,data:s,onChange:this.pageSizeChange,ariaLabel:S.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),a.createElement("span",null,S.provideLocalizationService(this).toLanguageString(i.messageKey,i.defaultMessage)))}}S.registerForLocalization(Cr);const bt={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,Cn=768;class ue extends a.Component{constructor(t){super(t),this._element=null,this.onPageChange=(r,n)=>{const o={target:this,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,targetEvent:n,...r};this.props.onPageChange&&this.props.onPageChange.call(void 0,o)},this.changePage=(r,n)=>{this.props.onPageChange&&r>0&&r<=this.totalPages&&this.props.onPageChange({target:this,skip:(r-1)*this.props.take,take:this.props.take,syntheticEvent:n,nativeEvent:n.nativeEvent,targetEvent:n})},this.onWindowResize=()=>{const r=this.element;if(!r||!this.props.responsive)return;const n=r.offsetWidth;n<Pt?this.setState({showPagerSizes:!1}):n>=Pt&&n<Cn?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},f.validatePackage(bt),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return this.props.dir==="rtl"}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:t,showPagerInfo:r}=this.state,{skip:n,take:o,total:s,pageSizes:i,size:l,responsive:c,messagesMap:u,pageSizeValue:d}=this.props,m=S.provideLocalizationService(this),v=S.provideIntlService(this),h=Math.floor(n/o)+1,x=this.props.type==="numeric"?a.createElement(En,{type:c&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:h,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:this.props.size}):a.createElement(Er,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:h,pageChange:this.changePage,messagesMap:u,size:this.props.size}),y=u?u(Ee):{messageKey:Ee,defaultMessage:E[Ee]},b=u?u(Ce):{messageKey:Ce,defaultMessage:E[Ce]},g=u?u(xe):{messageKey:xe,defaultMessage:E[xe]},k=u?u(be):{messageKey:be,defaultMessage:E[be]},L=u?u(ve):{messageKey:ve,defaultMessage:E[ve]},F=u?u(Se):{messageKey:Se,defaultMessage:E[Se]},C=u?u(Fe):{messageKey:Fe,defaultMessage:E[Fe]};let I,R,T,z;this.props.previousNext&&(I=this.renderButton(1,"k-pager-nav k-pager-first"+(h===1?" k-disabled":""),m.toLanguageString(y.messageKey,y.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?D.caretAltToRightIcon:D.caretAltToLeftIcon,h===1?!0:void 0),R=this.renderButton(h-1,"k-pager-nav"+(h===1?" k-disabled":""),m.toLanguageString(b.messageKey,b.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?D.caretAltRightIcon:D.caretAltLeftIcon,h===1?!0:void 0),T=this.renderButton(h+1,"k-pager-nav"+(h>=this.totalPages?" k-disabled":""),m.toLanguageString(g.messageKey,g.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?D.caretAltLeftIcon:D.caretAltRightIcon,h>=this.totalPages?!0:void 0),z=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(h>=this.totalPages?" k-disabled":""),m.toLanguageString(k.messageKey,k.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?D.caretAltToLeftIcon:D.caretAltToRightIcon,h>=this.totalPages?!0:void 0));const _=i&&a.createElement(Cr,{pageChange:this.onPageChange,pageSize:o,pageSizes:i,value:d,messagesMap:u,size:this.props.size}),q=this.props.info&&a.createElement("span",{className:"k-pager-info"},v.format(m.toLanguageString(L.messageKey,L.defaultMessage),[Math.min(n+1,s),Math.min(n+o,s),s]));return a.createElement("div",{className:f.classNames("k-pager",{[`k-pager-${f.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":m.toLanguageString(F.messageKey,F.defaultMessage),"aria-label":m.toLanguageString(C.messageKey,C.defaultMessage),ref:A=>this._element=A},a.createElement("div",{className:f.classNames("k-pager-numbers-wrap")},I,R,x,T,z),c?t&&_:_,c?r&&q:q)}renderButton(t,r,n,o,s,i){return a.createElement(O.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:r,icon:o,svgIcon:s,title:n,role:"button","aria-disabled":i,onClick:l=>{l.preventDefault(),this.changePage(t,l)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}}ue.propTypes={className:p.string,style:p.object,total:p.number.isRequired,skip:p.number.isRequired,take:p.number.isRequired,buttonCount:p.number,info:p.bool,type:p.oneOf(["numeric","input"]),pageSizes:p.arrayOf(p.oneOfType([p.string,p.number])),previousNext:p.bool,onPageChange:p.func,messagesMap:p.func,size:p.oneOf([null,"small","medium","large"]),dir:p.string};ue.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"};S.registerForIntl(ue);S.registerForLocalization(ue);const de=e=>class extends a.Component{constructor(){super(...arguments),this.filterChange=n=>{this.props.onFilterChange&&this.props.onFilterChange(n)},this.inputChange=n=>{const o=n.target.value,{filter:s=[],field:i=""}=this.props,l=this.findCellFilter(),c=l?s.map(u=>u.field===i?{...l,value:o}:u):[...s,{...e.emptyFilter,value:o,field:i}];this.filterChange({filter:c,field:i,syntheticEvent:n.syntheticEvent})},this.operatorChange=n=>{const{operator:o}=n.target.value,{filter:s=[],field:i=""}=this.props,l=this.findCellFilter(),c=l?s.map(u=>u.field===i?{...l,operator:o}:u):[...s,{...e.emptyFilter,field:i,operator:o}];this.filterChange({filter:c,field:i,syntheticEvent:n.syntheticEvent})},this.clearButtonClick=n=>{const{filter:o=[],field:s=""}=this.props;this.filterChange({filter:o.filter(i=>i.field!==s),field:s,syntheticEvent:n})},this.findCellFilter=()=>{const{filter:n=[],field:o}=this.props;return n.find(s=>s.field===o)}}render(){const{clearButtonTitle:n="",operators:o=[]}=this.props,s=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:i,value:l}=s,c={ariaLabel:"filter",value:o.find(u=>u.operator===i)||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:D.filterIcon,data:o,textField:"text",popupSettings:{width:""},components:this.props.components};return a.createElement("div",{className:"k-filtercell"},a.createElement("span",null,e.inputComponent({value:l,onChange:this.inputChange,components:this.props.components,ariaLabel:this.props.ariaLabel,min:this.props.min,max:this.props.max}),a.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(c,this.props)," ",a.createElement(O.Button,{className:f.classNames({["k-clear-button-visible"]:!(l===null||l==="")||i}),title:n,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:D.filterClearIcon,disabled:!(!(l===null||l==="")||i)}))))}},Bt="eq",xn={emptyFilter:{operator:Bt,value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,o=r.find(s=>s.field===n);return a.createElement(G.DropDownList,{...e,value:e.data.find(s=>s.operator===(o?o.value:"")),onChange:s=>{if(!t.onFilterChange)return;const i=s.target.value.operator;if(i===""){o&&t.onFilterChange.call(void 0,{filter:r.filter(c=>c.field!==o.field),field:n,syntheticEvent:s.syntheticEvent});return}let l=o?r.map(c=>c.field===n?{...o,value:i}:c):[...r,{value:i,field:n,operator:Bt}];t.onFilterChange.call(void 0,{filter:l,field:n,syntheticEvent:s.syntheticEvent})}})}};class bn extends de(xn){}const yn={inputComponent:e=>a.createElement(Ct.DatePicker,{...e}),operatorComponent:e=>a.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class In extends de(yn){}const kn={inputComponent:e=>a.createElement(W.NumericTextBox,{...e}),operatorComponent:e=>a.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class Sn extends de(kn){}const Fn={inputComponent:e=>a.createElement(W.Input,{...e}),operatorComponent:e=>a.createElement(G.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class Rn extends de(Fn){}const xr={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},Y="data-keyboardnavlevel",yt="data-keyboardnavscope",It="data-keyboardnavheader",kt="data-keyboardnavbody",pe="data-keyboardnavid",Dn="data-keyboardnavzone",br="_filter",yr=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[contenteditable]"],Ke=[...yr,"[tabindex]"],Ir=[...yr,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Ln={[yt]:!0},kr={[It]:!0},Mn={[kt]:!0},St=a.createContext(void 0);St.displayName="KendoReactTableKeyboardNavigationContext";const Sr=(e,t)=>{const r=a.useContext(St);return!r||!e||t===!1?{}:{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[Y]:r.level,[pe]:e}},ze=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:o,style:s,columnId:i,onKeyDown:l,navigatable:c,ariaColumnIndex:u,ariaLabel:d,role:m,ariaSelected:v}=e,h=Sr(i,c);return a.createElement("th",{"aria-sort":t,"aria-label":d,"aria-colindex":u,"aria-selected":v,colSpan:r,rowSpan:n,className:o,style:s,onKeyDown:l,role:m,...h},e.children)};ze.displayName="KendoReactHeaderThElement";const Fr=(e,t,r="cell")=>`${t}_${e}_${r}`,Nn=e=>{if(e)return parseInt(e.getAttribute(Y)||"",10)},Ft=e=>{if(!e)return;const t=e.getAttribute(pe);return t||void 0},ut=e=>e?!!e.getAttribute(pe):!1,On=(e,t={level:0})=>e.querySelector(`[${Y}='${t.level}']`),An=e=>e.parentElement&&e.parentElement.closest(`[${Y}]`),wn=(e,t)=>e.querySelector(`[${pe}='${t}']`),Tn=e=>e.parentElement&&e.parentElement.closest(`[${yt}]`),Rr=e=>e.querySelector(`[${It}]`),Dr=e=>e.querySelector(`[${kt}]`),Pn=(e,t={focusable:!1})=>{let r=t.focusable?Ke:Ir;return Array.from(e.querySelectorAll(r.join(",")))},Bn=(e,t={level:0})=>{if(!e)return[];let r=Ke.map(n=>n+`[${Y}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(r))},Kn=(e={level:0})=>{let t=Ke.map(r=>r+`[${Y}='${e.level}']`).join(",");return r=>r.matches(t)},zn=e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:o}=e;n.current&&t&&t.focus&&(r.preventDefault(),t.focus(),ut(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=Ft(t)),o&&ut(o)&&o.setAttribute("tabIndex","-1"))},_n=e=>e.current?e.current.idPrefix:"",Lr=(e,t,r,n,o)=>{if(!r)return[];let s=e+(o?-1:1);for(;s>=0&&s<n.length;){const i=n[s][t];if(i!==r)return[i,[s,t]];s=s+(o?-1:1)}return[]},Mr=(e,t,r,n,o)=>{if(!r)return[];let s=t+(o?-1:1);for(;s>=0&&s<n[e].length;){const i=n[e][s];if(i!==r)return[i,[e,s]];s=s+(o?-1:1)}return[]},dt=(e,t)=>{if(t){for(let r=0;r<e.length;r++)for(let n=0;n<e[r].length;n++)if(e[r][n]===t)return[r,n]}},qn=e=>e.current?e.current.navigationMatrix.length:0,Nr=e=>e?`${e}${br}`:"",N={generateNavigatableId:Fr,getNavigatableId:Ft,getNavigatableLevel:Nn,getNavigatableElement:On,getClosestNavigatableElement:An,getActiveElement:wn,getClosestScope:Tn,getHeaderElement:Rr,getBodyElement:Dr,getFocusableElements:Pn,getNavigatableElements:Bn,filterNavigatableElements:Kn,focusElement:zn,getIdPrefix:_n,isNavigatable:ut,findNextIdByRowIndex:Lr,findNextIdByCellIndex:Mr,findId:dt,getNextNavigationIndex:qn,getFilterColumnId:Nr},Or="k-table-row k-filter-row",Gn=(e,t,r)=>{let n=`${r?"k-grid-header-sticky":""}`;return e.some(o=>o.field===t)&&(n+=" k-sorted"),n},Hn=function(e){const{columns:t,filter:r,filterChange:n,sort:o=[],ariaRowIndex:s}=e,i=S.useLocalization();return a.createElement("tr",{className:Or,"aria-rowindex":s,role:"row"},t.map((l,c)=>{const u=l.locked!==void 0?{left:l.left,right:l.right,borderRightWidth:l.rightBorder?"1px":""}:{},d=l.filterCell||l.filter;return a.createElement(ze,{columnId:Nr(l.id),navigatable:l.navigatable,style:u,key:c,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:d?i.toLanguageString(ct,E[ct]):void 0,className:f.classNames("k-table-th k-header",Gn(o,l.field,l.locked))},d&&a.createElement(d,{field:l.field,filter:r,onFilterChange:n}))}))};function Ar(e,t){const r=e[t].depth;let n=null;for(let o=t+1;o<e.length;o++)if(e[o].depth===r){n=e[o];break}return n}const Rt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((r,n)=>Rt(n)+r,0)),t};function Wn(e){const t=[[]];let r=0;for(let s=e.length-1;s>=0;s--)r=Math.max(r,e[s].depth),e[s].colSpan=e[s].colSpan||1,e[s].parentIndex!==-1&&(e[e[s].parentIndex].colSpan=(e[e[s].parentIndex].colSpan||0)+e[s].colSpan);const n=[];let o=1;return e.forEach((s,i)=>{t[s.depth]=t[s.depth]||[];let l=!1;t[s.depth].length===0&&(o<=1?o=1+(s.children.length>0?0:r-s.depth):(o--,l=!0)),s.rowSpan=1+(s.children.length>0?0:r-s.depth),s.kFirst=l,s.index=t[s.depth].length,t[s.depth].push(i),s.ariaColumnIndex=n[s.depth]?n[s.depth]+1:1;for(let c=s.depth;c<s.depth+s.rowSpan;c++)n[c]=(n[c]||0)+s.colSpan}),wr(t,e),Tr(t,e),t}function wr(e,t,r){let n=new Array(e.length).fill(0),o=0;t.forEach(s=>{if(s.locked&&(!s.left||r))if(s.left=n[s.depth],o=Rt(s),s.children.length===0)for(let i=s.depth;i<n.length;i++)n[i]+=o;else n[s.depth]+=o})}function Tr(e,t,r){let n=0,o=new Array(e.length).fill(0);for(let s=t.length-1;s>=0;s--){const i=t[s];if(i.locked&&(!i.right||r)){if(i.right=o[i.depth],n=Rt(i),i.children.length===0)for(let c=i.depth;c<o.length;c++)o[c]+=n;else o[i.depth]+=n;const l=Ar(t,s);i.rightBorder=!(l&&l.locked)}}}function Pr(e,t,r=0){let n=[];if(!e||!e.length)return[];e.forEach(s=>{const i=Pr(s.children||[],t,r+1);n.push(Object.assign({},{depth:r},xr,s,{id:s.id?s.id:Fr(`${t.prevId++}`,t.idPrefix,"column"),declarationIndex:n.length,children:i,rowSpan:0,colSpan:0,isAccessible:!0}))});const o=(s,i)=>s.orderIndex===i.orderIndex?s.declarationIndex-i.declarationIndex:(s.orderIndex||0)-(i.orderIndex||0);if(n.sort(o),r===0){let s=[];const i=(l,c)=>l.forEach(u=>{u.parentIndex=c,i(u.children,s.push(u)-1)});return i(n,-1),s}return n}function Br(e){return!!(e&&getComputedStyle(e).direction==="rtl")}function pt(e,t){if(!t||!e||!e.originalEvent)return-1;const r={x:e.clientX,y:e.originalEvent.clientY};let n=t.ownerDocument?t.ownerDocument.elementFromPoint(r.x,r.y):null;for(;n&&n.parentElement!==t;)n=n.parentElement;if(!n&&t.matches("tr")){const s=i=>{const l=i.getBoundingClientRect();return r.x>l.left&&r.x<l.left+l.width&&r.y>l.top&&r.y<l.top+l.height};n=Array.from(t.children).find(s)||null}const o=t.children;for(let s=0;s<o.length;s++)if(o[s]===n)return s;return-1}class Vn extends a.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:t}=this.props;t&&t.resizable&&t.setIsRtl(Br(this.element))}render(){return a.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:t=>this.element=t,...kr},this.props.headerRow,this.props.filterRow)}}function Kr(e){const t=e.onClick?{onClick:e.onClick}:{},r=a.createElement("span",{className:"k-link",...t},a.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return a.createElement(a.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const zr=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);class _r extends a.Component{constructor(){super(...arguments),this.draggable=null,this.isDragged=!1,this.onDrag=t=>{this.isDragged=!0;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!1)},this.onRelease=t=>{if(!this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!0),this.isDragged=!1},this.onDoubleClick=t=>{if(this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.autofit&&this.props.autofit(t,r)}}render(){return a.createElement(f.Draggable,{onPress:t=>{t.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},a.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}}class $n extends a.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.pressHandler&&this.props.pressHandler(t.event,r)},this.onDrag=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.dragHandler&&this.props.dragHandler(t.event,r)},this.onRelease=t=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(t.event)}}render(){return a.createElement(f.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},a.createElement("tr",{className:"k-table-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},this.props.children))}}const Yn={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Un={none:"none",asc:"ascending",desc:"descending"};class qr extends a.Component{constructor(){super(...arguments),this.cellClick=(t,r)=>{if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:n,mode:o}=zr(this.props.sortable||!1,r.sortable||!1),s=(this.props.sort||[]).filter(c=>c.field===r.field)[0],i=Yn[n][s&&s.dir||""],l=o==="single"?[]:(this.props.sort||[]).filter(c=>c.field!==r.field);i!==""&&r.field&&l.push({field:r.field,dir:i}),this.props.sortChange(t,l,r.field)},this.cellKeyDown=(t,r)=>{t.isDefaultPrevented()||t.keyCode===f.Keys.enter&&this.cellClick(t,r)},this.cells=t=>t.map((r,n)=>{const o=this.props.columns[r],{columnResize:s}=this.props,i=s&&s.resizable&&o.resizable,l=this.props.sortable&&o.sortable,c=this.props.sort?this.props.sort.findIndex(g=>g.field===o.field):-1,u=c>=0&&this.props.sort[c].dir||"none",d={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:o.field},m={field:o.field,onClick:l&&(g=>this.cellClick(g,o))||void 0,selectionChange:this.props.selectionChange,title:o.title,selectionValue:o.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(c),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:d},v=o.columnMenu||this.props.columnMenu,h=f.classNames("k-table-th",{"k-first":o.kFirst,"k-filterable":!!v,"k-header":!0,"k-grid-header-sticky":o.locked,"k-sorted":this.props.sort&&this.props.sort.some(g=>g.field===o.field)},o.headerClassName),x=o.locked!==void 0?{left:o.left,right:o.right,borderRightWidth:o.rightBorder?"1px":""}:{},y=S.provideLocalizationService(this).toLanguageString(lt,E[lt]);let b=o.isAccessible?{ariaSort:l?Un[u]:void 0,role:"columnheader",ariaColumnIndex:o.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?y:""}:{role:"presentation"};return a.createElement(ze,{key:n,colSpan:o.colSpan,rowSpan:o.rowSpan,className:h,style:x,columnId:o.id,navigatable:o.navigatable,onKeyDown:l&&(g=>this.cellKeyDown(g,o))||void 0,...b},o.headerCell&&a.createElement(o.headerCell,{...m}),!o.headerCell&&a.createElement("span",{className:"k-cell-inner"},a.createElement(Kr,{...m}),v&&a.createElement(v,{...d})),s&&i&&a.createElement(_r,{key:"ColumnResizer",resize:(g,k,L)=>s.dragHandler(g,o,k,L)}))})}sortIcon(t){if(!this.props.sort||t<0)return null;const r=this.props.sort[t].dir;return r?[a.createElement(f.IconWrap,{key:1,name:`sort-${r}-small`,icon:r==="asc"?D.sortAscSmallIcon:D.sortDescSmallIcon}),this.props.sort.length>1&&a.createElement("span",{key:2,className:"k-sort-order"},t+1)]:null}render(){return this.props.columnsMap.map((t,r)=>this.props.pressHandler&&a.createElement($n,{key:r,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:r+1},this.cells(t))||a.createElement("tr",{className:"k-table-row","aria-rowindex":r+1,role:"row"},this.cells(t)))}}S.registerForLocalization(qr);function Xn(e){const t=[a.createElement("input",{key:0,checked:e.selectionValue,id:e.inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:r=>e.selectionChange({field:e.field,syntheticEvent:r})}),a.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return a.createElement(a.Fragment,null,e.render?e.render.call(void 0,t,e):t)}function jn(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:o}=e,s=r.map(()=>1),i=r.map(()=>!1);if(!t)return{colSpans:s,hiddenColumns:i};const l=r.map(g=>parseFloat((g.width||"").toString())||10);let c=0;for(let g=0;g<r.length;g++){if(r[g].locked)continue;const k=g<l.length-1?l[g+1]:0;if(c+l[g]+k<o)i[g]=!0,c+=l[g];else break}const u=l.reduce((g,k)=>g+k,0);c=0;for(let g=r.length-1;g>=0;g--)if(!r[g].locked)if(c+2*l[g]<u-n-o)i[g]=!0,c+=l[g];else break;const d=[...i],m=g=>g;let v=d.lastIndexOf(!1),h=d.some(m),x=d.every(m),y,b;for(;h&&d.length&&(v!==-1||x);){for(v<d.length-1&&(y=x?d.length:d.length-v-1,b=d.length-y,b===0&&(b=y-1),i[b]=!1,s[b]=y,d.splice(v+1,y));d.length&&!d[d.length-1];)d.pop();v=d.lastIndexOf(!1),h=d.some(m),x=d.every(m)}return{colSpans:s,hiddenColumns:i}}class Zn{constructor(t){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=r=>{this.isRtl=r},this.onResize=t,this.dragHandler=this.dragHandler.bind(this)}dragHandler(t,r,n,o){const s=t.originalEvent;o||(s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation());const i=n.parentElement;if(!i||!i.parentElement)return;const l=i.clientWidth;let c;if(this.isRtl?(c=n.getBoundingClientRect().right-n.offsetWidth/2-t.clientX,c+=l):c=l+t.clientX-n.getBoundingClientRect().left-n.offsetWidth/2,!o&&Math.abs(c-l)<1)return;this.setWidths(r,Math.floor(c)/l);const u=this.columns.filter(d=>!d.children.length).indexOf(r);this.onResize(u,l,c,s,o)}setWidths(t,r){const n=this.columns.indexOf(t),o=[];let s=t.children.length;for(let i=n+1;s>0&&i<this.columns.length;i++,s--){const l=this.columns[i];l.children.length?s+=l.children.length:o.push(l)}o.length===0&&o.push(t),o.forEach(i=>{let l=i.width?parseFloat(i.width.toString())*r:0;const c=i.minResizableWidth===void 0?10:i.minResizableWidth;l<c&&(l=c),i.width=Math.floor(l)}),this.updateColElements(o)}updateColElements(t){const r=this.columns.filter(o=>!o.children.length);let n=1e-10;for(let o=0;o<t.length;o++){const s=r.indexOf(t[o]),i=parseFloat((t[o].width||0).toString());n+=i-Math.floor(i);const l=Math.floor(i)+Math.floor(n);n-=Math.floor(n),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[s],l),this.setColWidth(this.colGroupHeader&&this.colGroupHeader.children[s],l),this.setColWidth(this.colGroupFooter&&this.colGroupFooter.children[s],l)}}setColWidth(t,r){t&&(t.style.width=r+"px")}}class Qn{constructor(t,r,n){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=o=>{this.groupPanelDivElement=o},this.refDropElementClue=o=>{this.dropElementClue=o},this.refDragElementClue=o=>{this.dragElementClue=o},this.pressHandler=(o,s)=>{const i=this.getColumnIndex(o,s);if(this.startGroup=this.getGroupIndex(o),i>=0){const l=this.columns[i];(l.reorderable&&this.reorderable||l.groupable&&this.groupable)&&(this.startColumn=i)}},this.dragHandler=(o,s)=>{if(o.isTouch||o.originalEvent.preventDefault(),o.originalEvent.stopPropagation(),this.startColumn===-1&&this.startGroup===-1)return;this.currentColumn=this.getColumnIndex(o,s),this.currentGroup=this.getGroupIndex(o),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const i=!this.isValid();i&&(this.currentColumn=-1,this.currentGroup=-1);const l=this.currentColumn>=0?s.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(o,s,l,i),this.updateDropElementClue(o,s,l,i)},this.releaseHandler=o=>{const s=this.startColumn,i=this.currentColumn,l=this.startGroup,c=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const u=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,u&&(s>=0&&i>=0?this.columnReorder(s,i,o.originalEvent):l>=0&&c>=0?this.groupReorder(l,c,o.originalEvent):s>=0&&c>=0&&this.columnToGroup(s,c,o.originalEvent))},this.columnReorder=t,this.groupReorder=r,this.columnToGroup=n}getColumnIndex(t,r){if(!r||r.parentElement===this.groupPanelDivElement)return-1;const n=pt(t,r);if(n===-1)return-1;for(let o=0;o<r.parentNode.children.length;o++)if(r.parentNode.children[o]===r)return this.columns.findIndex(s=>s.index===n&&s.depth===o);return-1}getGroupIndex(t){return pt(t,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:this.startColumn===-1?!1:this.currentGroup>=0?this.columns[this.startColumn].groupable===!0&&this.groupable===!0:this.reorderable===!0&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&this.columns[this.startColumn].reorderable===!0&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex}updateDragElementClue(t,r,n,o){if(!this.dragElementClue)return;const s=this.startColumn>=0?r.children[this.columns[this.startColumn].index].innerText:r.innerText;this.dragElementClue.setState({visible:!0,top:t.pageY+10,left:t.pageX,innerText:s,status:o||!n?"k-i-cancel":"k-i-plus"})}updateDropElementClue(t,r,n,o){if(!this.dropElementClue)return;if(o||!n){this.dropElementClue.setState({visible:!1});return}const s=n.getBoundingClientRect();let i=s.left+t.pageX-t.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&this.startGroup!==-1)&&(i+=s.width);const l=s.top+t.pageY-t.clientY;this.dropElementClue.setState({visible:!0,top:l,left:i,height:this.currentColumn>=0?r.clientHeight:s.height})}}class Jn extends a.PureComponent{constructor(t){super(t),this.elementRef=a.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=a.createRef()}get element(){return this.elementRef.current}render(){const t=this.hiddenElementRef.current,{status:r}=this.state,n=this.state.visible&&f.canUseDOM&&Et.createPortal(a.createElement("div",{ref:this.elementRef,className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.state.top+"px",left:this.state.left+"px"}},a.createElement(f.IconWrap,{className:"k-drag-status",name:r,icon:r==="k-i-cancel"?D.cancelIcon:D.plusIcon}),this.state.innerText),t&&t.ownerDocument?t.ownerDocument.body:document.body);return a.createElement(a.Fragment,null,n,a.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class 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,r=this.state.visible&&f.canUseDOM&&Et.createPortal(a.createElement("div",{className:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.state.top+"px",left:this.state.left+"px",height:this.state.height+"px"}}),t&&t.ownerDocument?t.ownerDocument.body:document.body);return a.createElement(a.Fragment,null,r,a.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class 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),{ariaLabel:r=t.toLanguageString(rt,E[rt])}=this.props;return a.createElement(W.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":r})}}Dt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string};S.registerForLocalization(Dt);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=S.provideLocalizationService(this),{min:r,max:n,filter:o,ariaLabel:s=t.toLanguageString(tt,E[tt])}=this.props;return a.createElement(W.NumericTextBox,{value:typeof o.value=="number"?o.value:null,onChange:this.onChange,ariaLabel:s,"aria-valuemin":r,"aria-valuemax":n,min:r,max:n})}}Lt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired};S.registerForLocalization(Lt);class Gr extends a.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=this.props.filter;return a.createElement(Ct.DatePicker,{value:t.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}}Gr.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string};class _e extends a.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value.value}})}}render(){const t=S.provideLocalizationService(this),{filter:r,data:n=[],defaultItem:o,ariaLabel:s=t.toLanguageString(et,E[et])}=this.props,i=n.map(l=>({...l,text:t.toLanguageString(l.text,E[l.text]||l.text)}));return a.createElement(G.DropDownList,{value:i.find(l=>l.value===r.value)||null,onChange:this.onChange,defaultItem:o,data:i,textField:"text",ariaLabel:s})}}_e.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,data:p.arrayOf(p.shape({text:p.string,value:p.any})),defaultItem:p.any,ariaLabel:p.string};S.registerForLocalization(_e);class Hr extends a.Component{constructor(){super(...arguments),this.data=[{text:Xt,value:!0},{text:jt,value:!1}]}render(){return a.createElement(_e,{filter:this.props.filter,onFilterChange:this.props.onFilterChange,data:this.props.data||this.data,defaultItem:this.props.defaultItem,ariaLabel:this.props.ariaLabel})}}Hr.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,data:p.arrayOf(p.shape({text:p.string,value:p.any})),ariaLabel:p.string,defaultItem:p.any};const to=[{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"}],ro=[{text:le,operator:"eq"},{text:ce,operator:"neq"},{text:Vt,operator:"gte"},{text:$t,operator:"gt"},{text:Yt,operator:"lte"},{text:Ut,operator:"lt"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"}],no=[{text:le,operator:"eq"},{text:ce,operator:"neq"},{text:Zt,operator:"gte"},{text:Qt,operator:"gt"},{text:Jt,operator:"lt"},{text:er,operator:"lte"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"}],oo=[{text:le,operator:"eq"},{text:ce,operator:"neq"}];class so{static get text(){return[...to]}static get numeric(){return[...ro]}static get date(){return[...no]}static get boolean(){return[...oo]}}const Mt=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",Ne=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",Kt=e=>{e.value===void 0&&!Ne(e.operator)&&(e.value=Mt(e.operator)?"":null)};class qe extends a.Component{constructor(){super(...arguments),this.onFieldChange=t=>{const r=t.value.name,n=this.props.fields.find(l=>l.name===r),o=this.props.filter,s=n&&!n.operators.some(l=>l.operator===o.operator)?n.operators[0].operator:o.operator,i={field:r,operator:s};Kt(i),this.triggerOnFilterChange(o,i,t)},this.onOperatorChange=t=>{const r=t.value.operator,n=this.props.filter;let o;if(Ne(r)){let{value:s,...i}=n;o={...i,operator:r}}else o={...n,operator:r};Kt(o),this.triggerOnFilterChange(n,o,t)},this.onInputChange=t=>{const r=this.props.filter;let n=t.nextFilter;if(Ne(n.operator)){const o=this.props.fields.find(s=>s.name===n.field);n={...n,operator:o&&o.operators[0].operator||n.operator}}this.triggerOnFilterChange(r,n,t)},this.triggerOnFilterChange=(t,r,n)=>{const o={prevFilter:t,nextFilter:r,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,target:this};this.props.onChange.call(void 0,o)},this.onFilterRemove=t=>{const r={filter:this.props.filter,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,target:this};this.props.onRemove.call(void 0,r)}}render(){const t=S.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:o=t.toLanguageString(Ze,E[Ze])}=this.props,s=r.find(l=>l.name===n.field),i=(s&&s.operators||[]).map(l=>({...l,text:t.toLanguageString(l.text,E[l.text]||l.text)}));return a.createElement("div",{className:"k-filter-toolbar"},a.createElement(O.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:o},a.createElement(O.ToolbarItem,{className:"k-filter-field"},a.createElement(G.DropDownList,{className:"k-filter-dropdown",data:r,textField:"label",value:r.find(l=>l.name===n.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(Qe,E[Qe])})),a.createElement(O.ToolbarItem,{className:"k-filter-operator"},a.createElement(G.DropDownList,{data:i,textField:"text",value:i.find(l=>l.operator===n.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(Je,E[Je])})),a.createElement(O.ToolbarItem,{className:"k-filter-value"},s&&a.createElement(s.filter,{filter:n,onFilterChange:this.onInputChange,min:s.min,max:s.max})),a.createElement(O.Button,{className:"k-toolbar-button",title:t.toLanguageString(se,E[se]),icon:"x",svgIcon:D.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}}qe.propTypes={filter:p.object.isRequired,fields:p.array.isRequired,ariaLabel:p.string,onChange:p.func.isRequired,onRemove:p.func.isRequired};S.registerForLocalization(qe);const Wr=class extends a.Component{constructor(){super(...arguments),this.onGroupRemove=e=>{const t={filter:this.props.filter,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onRemove.call(void 0,t)},this.onAddExpression=e=>{const t=this.props.filter,r=this.props.fields[0],n={field:r.name,operator:r.operators[0].operator};n.value=Mt(n.operator)?"":null;const o={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,o)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map(o=>o===e?t:o);return{...r,filters:n}},this.onChange=e=>{const r={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,r)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter(o=>o!==e.filter),n={nextFilter:{...t,filters:r},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const e=S.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(je,E[je])}=this.props;return a.createElement(a.Fragment,null,a.createElement("div",{className:"k-filter-toolbar"},a.createElement(O.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},a.createElement(O.ButtonGroup,{className:"k-toolbar-button-group"},a.createElement(O.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:r.logic==="and",type:"button"},e.toLanguageString(Ue,E[Ue])),a.createElement(O.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:r.logic==="or",type:"button"},e.toLanguageString(Xe,E[Xe]))),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(ee,E[ee]),icon:"filter-add-expression",svgIcon:D.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(ee,E[ee])),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(te,E[te]),icon:"filter-add-group",svgIcon:D.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(te,E[te])),a.createElement(O.Button,{className:"k-toolbar-button",title:e.toLanguageString(se,E[se]),icon:"x",svgIcon:D.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),r.filters.length>0&&a.createElement("ul",{role:"group",className:"k-filter-lines"},r.filters.map((o,s)=>a.createElement("li",{role:"treeitem",key:s,className:"k-filter-item"},ie.isCompositeFilterDescriptor(o)?a.createElement(Wr,{filter:o,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):a.createElement(qe,{filter:o,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};let Ge=Wr;Ge.propTypes={filter:p.object.isRequired,fields:p.array.isRequired,ariaLabel:p.string,ariaLabelExpression:p.string,onChange:p.func.isRequired,onRemove:p.func.isRequired,defaultGroupFilter:p.object.isRequired};S.registerForLocalization(Ge);class Vr extends a.Component{constructor(t){super(t),this.onFilterChange=r=>{const n={filter:r.nextFilter,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onGroupRemove=r=>{const n={filter:{...this.props.value,filters:[]},syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},f.validatePackage(bt)}render(){return a.createElement("div",{className:f.classNames("k-filter",this.props.className),style:this.props.style},a.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},a.createElement("li",{role:"treeitem",className:"k-filter-group-main"},a.createElement(Ge,{filter:this.props.value,fields:this.props.fields,ariaLabel:this.props.ariaLabelGroup,ariaLabelExpression:this.props.ariaLabelExpression,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.props.defaultGroupFilter||{logic:"and",filters:[]}}))))}}Vr.propTypes={className:p.string,style:p.object,fields:function(e,t){const r=e[t];if(r===void 0)return new Error(`Property '${t}' is missing.`);if(Array.isArray(r)){if(Object.keys(r.reduce((n,o)=>({...n,[o.name]:1}),{})).length!==r.length)return new Error(`Property '${t}' needs to contain objects with unique 'name' field.`)}else return new Error(`Property '${t}' needs to be Array<FieldSettings>.`);return null},ariaLabelGroup:p.string,ariaLabelExpression:p.string,value:p.object.isRequired,onChange:p.func.isRequired};const Me=e=>a.createElement("div",{onClick:e.onClick,className:f.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&a.createElement(f.IconWrap,{name:e.iconClass?f.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),ao=[{text:or,operator:"contains"},{text:sr,operator:"doesnotcontain"},{text:we,operator:"eq"},{text:Te,operator:"neq"},{text:nr,operator:"startswith"},{text:ar,operator:"endswith"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"},{text:tr,operator:"isempty"},{text:rr,operator:"isnotempty"}],io=[{text:we,operator:"eq"},{text:Te,operator:"neq"},{text:ir,operator:"gte"},{text:lr,operator:"gt"},{text:cr,operator:"lte"},{text:ur,operator:"lt"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"}],lo=[{text:we,operator:"eq"},{text:Te,operator:"neq"},{text:pr,operator:"gte"},{text:hr,operator:"gt"},{text:gr,operator:"lt"},{text:fr,operator:"lte"},{text:Pe,operator:"isnull"},{text:Be,operator:"isnotnull"}],co=[{text:dr,operator:""}];class he{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:r,operators:n,initialFilter:o}=e,s=a.useCallback(u=>{const d=t,m=u.target.value.operator,v=d?{...d,operator:m}:{value:o.value,operator:m};r.call(void 0,u.syntheticEvent,v,d)},[t,r,o]),i=a.useCallback(u=>{const d=u.target.value,m=t,v=m?{...m,value:d}:{value:d,operator:n[0].operator};r.call(void 0,u,v,m)},[t,r,n]),l=S.useLocalization(),c=n.map(u=>({...u,text:l.toLanguageString(u.text,E[u.text])}));return a.createElement(a.Fragment,null,a.createElement(G.DropDownList,{value:c.find(u=>u.operator===t.operator)||null,onChange:s,data:c,textField:"text"}),a.createElement(e.input,{value:t.value,onChange:i}))},$r=e=>{const{filter:t,onFilterChange:r}=e,n=a.useCallback(s=>r.call(void 0,s.syntheticEvent,{...t,value:s.value},t),[t,r]),o=he.boolean[0].text;return a.createElement(W.Checkbox,{onChange:n,checked:t.value,label:S.useLocalization().toLanguageString(o,E[o]),labelPlacement:"after"})},ht=e=>{const t=a.useCallback(o=>a.createElement(W.Input,{...o,value:o.value||""}),[]),r=a.useRef(he.text),n=a.useRef({operator:"",value:""});return a.createElement(Nt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},gt=e=>{const t=a.useCallback(o=>a.createElement(W.NumericTextBox,{...o,value:o.value||null}),[]),r=a.useRef(he.numeric),n=a.useRef({operator:"",value:null});return a.createElement(Nt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},ft=e=>{const t=a.useCallback(o=>a.createElement(Ct.DatePicker,{...o,value:o.value||null}),[]),r=a.useRef(he.date),n=a.useRef({operator:"",value:null});return a.createElement(Nt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},uo=[{text:mr,logic:"and"},{text:vr,logic:"or"}],He=e=>{const t=S.useLocalization(),r=(e.data||uo).map(n=>({...n,text:t.toLanguageString(n.text,E[n.text])}));return a.createElement(G.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find(n=>n.logic===e.value)})},Yr=e=>a.createElement("div",{className:"k-columnmenu-item-content"},a.createElement(gn.Reveal,{style:{position:"relative",display:"block"}},e.show&&a.createElement("div",{className:"kendo-grid-filter-menu-container"},a.createElement("form",{className:"k-filter-menu k-group k-reset k-state-border-up",onSubmit:e.onSubmit,onReset:e.onReset},a.createElement("div",{className:"k-filter-menu-container"},e.children,a.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),Ur=e=>{const t=S.useLocalization();return a.createElement(Yr,{...e,actions:a.createElement(a.Fragment,null,a.createElement(O.Button,{type:"reset"},t.toLanguageString(nt,E[nt])),a.createElement(O.Button,{themeColor:"primary"},t.toLanguageString(ot,E[ot])))})},We=e=>{f.validatePackage(bt);const t=a.useRef([]),{field:r,filter:n,sort:o=t.current,onSortChange:s,onFilterChange:i,initialFilter:l,sortAsc:c=!1,sortDesc:u=!1,filterContent:d=[],expandFilters:m=!1}=e,[v,h]=a.useState(!1),[x,y]=a.useState(m),[b,g]=a.useState(r&&l?l(r):null),k=a.useRef(null),L=a.useRef(null),F=a.useRef(null),C=a.useRef(!1),I=a.useCallback(()=>(n||[]).find(M=>M.filters.every(w=>!ie.isCompositeFilterDescriptor(w)&&w.field===r)),[n,r]),R=a.useCallback(()=>{h(!1)},[]),T=a.useCallback(()=>{if(C.current){C.current=!1;return}clearTimeout(F.current),F.current=window.setTimeout(()=>{R()})},[R]),z=a.useCallback(()=>clearTimeout(F.current),[]),_=a.useCallback(M=>{C.current=v&&M.currentTarget===k.current},[v]),q=a.useCallback(()=>{h(!v),r&&l&&(y(v?!1:m),g(v?b:I()||l(r)))},[I,r,v,b,l,m]);a.useEffect(()=>{v&&L.current&&L.current.focus()},[v]);const A=a.useCallback(()=>y(!x),[x]),P=a.useCallback((M,w)=>{const B=[...o],K=B.findIndex(un=>un.field===r),J={field:r,dir:w};K>=0?B[K].dir!==J.dir?B.splice(K,1,J):B.splice(K,1):B.push(J),R(),s&&s.call(void 0,M,B,r)},[o,r,s,R]),U=a.useCallback((M,w,B)=>{const K={...b,filters:[...b.filters]},J=K.filters.indexOf(B);K.filters.splice(J,1,w),g(K)},[b]),ge=a.useCallback(M=>{M.preventDefault();const w=(n||[]).slice(),B=I(),K=B?w.indexOf(B):-1;K>=0?w.splice(K,1,b):w.push(b),R(),i&&i.call(void 0,M,w,r)},[n,b,r,i,R,I]),fe=a.useCallback(M=>{const w=(n||[]).slice(),B=I(),K=B?w.indexOf(B):-1;K>=0&&w.splice(K,1),l&&g(l(r)),R(),i&&i.call(void 0,M,w,r)},[n,r,i,l,R,I]),Ve=a.useCallback(M=>P(M,"asc"),[P]),me=a.useCallback(M=>P(M,"desc"),[P]),$e=a.useCallback(M=>b&&g({...b,logic:M.value.logic}),[b]),X=o.find(M=>M.field===r)||{dir:""},[j,Z,Q]=d,Ye=S.useLocalization(),sn=c||u?a.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},c&&a.createElement(Me,{title:Ye.toLanguageString(at,E[at]),iconClass:"k-i-sort-asc-small",svgIcon:D.sortAscSmallIcon,selected:X.dir==="asc",onClick:Ve}),u&&a.createElement(Me,{title:Ye.toLanguageString(it,E[it]),iconClass:"k-i-sort-desc-small",svgIcon:D.sortDescSmallIcon,selected:X.dir==="desc",onClick:me})):null,an=b&&d.length>0?a.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},a.createElement(Me,{iconClass:"k-i-filter",svgIcon:D.filterIcon,title:Ye.toLanguageString(st,E[st]),onClick:A}),a.createElement(Ur,{show:x,onSubmit:ge,onReset:fe},j&&a.createElement(j,{filter:b.filters[0],onFilterChange:U}),Z&&a.createElement(Z,{value:b.logic,onChange:$e}),Q&&a.createElement(Q,{filter:b.filters[1],onFilterChange:U}))):null,At=[sn,an],ln=a.createElement("span",{ref:k,onClick:q,onMouseDown:_,className:"k-grid-header-menu k-grid-column-menu"+(I()?" k-active":""),key:"button"},a.createElement(f.IconWrap,{name:"more-vertical",icon:D.moreVerticalIcon})),cn=a.createElement(hn.Popup,{anchor:k.current,show:v,key:"popup"},a.createElement("div",{className:"k-grid-columnmenu-popup",ref:L,tabIndex:0,onBlur:T,onFocus:z,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,At,{closeMenu:R,field:r}):At)),wt=[ln,cn];return a.createElement(a.Fragment,null,e.render?e.render.call(void 0,wt):wt)},po=e=>{const{field:t,...r}=e,n=a.useCallback(i=>({logic:"and",filters:[{operator:"contains",field:i,value:""},{operator:"contains",field:i,value:""}]}),[]),o=!!e.field,s=o?[ht,He,ht]:[];return a.createElement(We,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?n:void 0,field:t,...r})},ho=e=>{const{field:t,...r}=e,n=a.useCallback(i=>({logic:"or",filters:[{operator:"eq",field:i,value:null},{operator:"eq",field:i,value:null}]}),[]),o=!!e.field,s=o?[gt,He,gt]:[];return a.createElement(We,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?n:void 0,field:t,...r})},go=e=>{const{field:t,...r}=e,n=a.useCallback(i=>({logic:"or",filters:[{operator:"eq",field:i,value:null},{operator:"eq",field:i,value:null}]}),[]),o=!!e.field,s=o?[ft,He,ft]:[];return a.createElement(We,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?n:void 0,field:t,...r})},fo=e=>{const{field:t,...r}=e,n=a.useCallback(i=>({logic:"and",filters:[{operator:"eq",field:i,value:!1}]}),[]),o=!!e.field,s=o?[$r]:[];return a.createElement(We,{sortAsc:o,sortDesc:o,filterContent:s,initialFilter:o?n:void 0,field:t,...r})};function re(e,t,r){return r?{...e,[t]:r.length?[...r]:void 0}:e&&e[t]?[...e[t]]:[]}function Xr(e,t,r){if(e[r]){let n=re(e,r,ie.orderBy(re(e,r),t)),o=re(n,r).map(s=>Xr(s,t,r));return{...n,[r]:o}}return e}function mo(e,t,r){let n=ie.orderBy(e,t);return n=n.map(o=>Xr(o,t,r)),n}function jr(e,t,r){let n=re(e,r);if(n&&n.length){n=n.map(l=>jr(l,t,r));const s={filters:[{filters:t,logic:"and"},{operator:l=>!!(l[r]||[]).length}],logic:"or"},i=ie.filterBy(n,s);return re(e,r,i)}return e}function vo(e,t,r){let n={[r]:[...e]};return n=jr(n,t,r),n[r]||[]}function Eo(e,t,r){let n=[];const o=[];for(let s=e.length-1;s>=0;s--){const i=e[s];n.push({root:i,data:t(i),level:[s],levelCount:e.length})}for(;n.length>0;){let s=n.pop();if(o.push({dataItem:s.root,level:[...s.level],...r(s.root),levelCount:s.levelCount}),s.data.length)for(let i=s.data.length-1;i>=0;i--){const l=s.data[i];n.push({root:l,data:t(l),level:[...s.level,i],levelCount:s.data.length})}}return o}const Co=(e,t,r)=>{const n=c=>!!f.getNestedValue(t,c),o=c=>!!f.getNestedValue(r,c),s=c=>{const u=[];return n(c)&&o(c)&&u.push(...f.getNestedValue(r,c)),u},i=(c,u,d)=>{u.push({...c,level:d}),s(c).forEach(m=>i(m,u,d+1))},l=[];return e.forEach(c=>i(c,l,0)),l},xo=(e,t,r,n)=>{let o={},s=[],i;return e.forEach(l=>o[t(l)]={...l}),e.forEach(l=>{i=o[r(l)],i?(i[n]=i[n]||[],i[n].push(o[t(l)])):s.push(o[t(l)])}),s},bo=(e,t,r)=>f.extendDataItem(e,t,r),yo=(e,t,r)=>[...f.mapTree([{[t]:[...e]}],t,o=>Io(o,r,t))[0][t]],Io=(e,t,r)=>{const n=e[r]||[],o=n.findIndex(t);if(o!==-1){const s=[...n];return s.splice(o,1),{...e,[r]:s}}return e},ko=(e,t,r,n)=>f.mapTree(e,t,o=>r(o)?{...o,[t]:n(o[t]||[])}:o),mt=(e,t,r)=>f.getItemPath(e,t,r),So=(e,t,r,n)=>{const o=[...e],s=mt(o,t,n),i=s.pop(),l=s.pop(),c=t[t.length-1];if(r){const d=mt(o,r,n).pop();(l?l[n]:o).splice(c,1),d[n]=d[n]||[],d[n].push(i)}else(l?l[n]:o).splice(c,1),o.push(i);return o},ae="groupId",vt="items",Zr=(e,t,r)=>{e.items&&(e[ae]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(n=>Zr(n,t-1,e[ae])))},Fo=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach(r=>Zr(r,t.length,""))},Ro=e=>{const t=[];return f.mapTree(e.data,vt,r=>{r[ae]&&t.push(r[ae])}),t},Do=e=>f.mapTree(e.data,vt,t=>f.extendDataItem(t,vt,{expanded:!e.collapsedIds.some(r=>r===t[ae])})),Lo=e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:n,idPrefix:o}=e;t&&(r.current={activeId:"",level:0},n.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:o||f.guid(),navigationMatrix:[],lastHeaderIndex:-1})},Mo=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){Ot(e);const o=n.current.navigationMatrix[0][0],s=N.getActiveElement(t,o);o&&s&&(r.current.activeId=o,s.setAttribute("tabIndex","0"))}},No=e=>{const{contextStateRef:t,navigationStateRef:r,document:n}=e;if(t.current&&r.current&&n){const o=f.getActiveElement(n),s=N.getNavigatableId(o);s&&s===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},Oo=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(Ot(e),r.current&&n.current&&t){if(!N.getActiveElement(t,r.current.activeId)){const s=n.current.navigationMatrix[0][0],i=N.getActiveElement(t,s);s&&i&&(r.current.activeId=s,i.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&i.focus())}n.current.activeElementIsFocused=!1}},Ao=(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,o=N.getNavigatableId(n);if(o&&o!==r.current.activeId){const s=N.getClosestScope(n);if(!s)return;const i=N.getActiveElement(s,r.current.activeId);i&&i.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=o}},wo=(e,t)=>{const{contextStateRef:r,navigationStateRef:n,onNavigationAction:o}=t;if(e.isDefaultPrevented()||!r.current||!n.current)return;if(e.keyCode===f.Keys.esc){const d=N.getClosestNavigatableElement(e.target);N.focusElement({elementForFocus:d,event:e,contextStateRef:r});return}const s=e.target,i=N.getNavigatableId(s),l=N.getNavigatableLevel(s),c=N.getClosestScope(s),u=n.current.navigationMatrix;if(l!==void 0&&c){if(e.keyCode===f.Keys.enter){const d=N.getNavigatableElement(s,{level:l+1});if(d){N.focusElement({elementForFocus:d,event:e,contextStateRef:r,prevElement:s});return}else{const m=N.getFocusableElements(s)[0];N.focusElement({elementForFocus:m,event:e,contextStateRef:r,prevElement:s});return}}if(e.keyCode===f.Keys.up||e.keyCode===f.Keys.down||e.keyCode===f.Keys.left||e.keyCode===f.Keys.right){const d=e.keyCode===f.Keys.up||e.keyCode===f.Keys.left,m=e.keyCode===f.Keys.up||e.keyCode===f.Keys.down;let v;if(n.current&&n.current.prevNavigationIndexes){const[h,x]=n.current.prevNavigationIndexes;u[h][x]===i?v=n.current.prevNavigationIndexes:v=dt(u,i)}else v=dt(u,i);if(v){const[h,x]=v,[y,b]=m?Lr(h,x,i,u,d):Mr(h,x,i,u,d);if(y){const g=N.getActiveElement(c,y);N.focusElement({elementForFocus:g,event:e,contextStateRef:r,prevElement:s}),n.current.prevNavigationIndexes=b,o&&o({focusElement:g,event:e})}}}}},Ot=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],o=Rr(r),s=Dr(r);if(!o||!s)return;const i=Array.from(o.children),l=Array.from(s.children);[...i,...l].forEach((c,u)=>{Array.from(c.children).forEach(d=>{const m=Ft(d);if(!m)return;const v=d.rowSpan||1,h=d.colSpan||1;let x;for(let y=u,b=u+v;y<b;y++){if(n[y]||(n[y]=[]),x===void 0){const g=n[y].findIndex(k=>!k);x=g>-1?g:n[y].length}n[y][x]=m||""}for(let y=x+1,b=x+h;y<b;y++)n[u][y]=m||""})}),t.current.navigationMatrix=n.filter(c=>!!c),t.current.lastHeaderIndex=i.length-1},To={onConstructor:Lo,onComponentDidMount:Mo,onGetSnapshotBeforeUpdate:No,onComponentDidUpdate:Oo,onFocus:Ao,onKeyDown:wo,generateMatrix:Ot},Qr="data-grid-row-index",Jr="data-grid-col-index",en="data-prevent-selection",Po="items",V={},Bo=(e,t)=>!e||Array.isArray(e)&&e.length===0?[t]:e.findIndex(n=>n===t)>-1?e.filter(n=>n!==t):[...e,t],H=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if(r.tagName==="TABLE")return null;r=r.parentElement}return null},ne=e=>{if(!e)return;const t=e.getAttribute(Qr);return t?parseInt(t,10):void 0},oe=e=>{if(!e)return;const t=e.getAttribute(Jr);return t?parseInt(t,10):void 0},Ko=e=>{const t=e.subItemsField||Po,r=f.getter(e.dataItemKey);return f.mapTree(e.data,t,n=>f.extendDataItem(n,t,{[e.selectedField]:e.selectedState[r(n)]}))},zo=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{syntheticEvent:o,nativeEvent:s,dataItems:i,componentId:l,mode:c,cell:u,selectedField:d}=t,{target:m,ctrlKey:v,metaKey:h,altKey:x,shiftKey:y}=s;if(o.isDefaultPrevented()||s.keyCode!==f.Keys.enter)return n;const b=H(m,"TD"),g=H(m,"TR"),k=oe(b),L=ne(g);let F={};return b&&g&&L!==void 0&&k!==void 0&&(F=tn({selectedState:n,dataItemKey:r,event:{ctrlKey:v,metaKey:h,altKey:x,shiftKey:y,dataItems:i,cell:u,mode:c,selectedField:d,componentId:l,startColIndex:k,endColIndex:k,startRowIndex:L,endRowIndex:L,isDrag:!1,syntheticEvent:o,nativeEvent:s,target:t.target,dataItem:null}})),F},tn=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{dataItems:o,startRowIndex:s,endRowIndex:i,startColIndex:l,endColIndex:c,cell:u,isDrag:d,ctrlKey:m,shiftKey:v,metaKey:h,componentId:x,mode:y,dataItem:b}=t,g=f.getter(r);let k={};const L=b!==null;if(y==="single"){const F=o.slice(s,s+1)[0],C=g(F);V[x]={rowIndex:s,colIndex:l},k[C]=u?[l]:!0}else if(d||!v&&!m&&!h&&!L){d||(V[x]={rowIndex:s,colIndex:l});const F=[];for(let I=l;I<=c;I++)F.push(I);o.slice(s,i+1).forEach(I=>{const R=g(I);k[R]=u?[...F]:!0})}else if(m||h||L){V[x]={rowIndex:s,colIndex:l};const C=o.slice(s,i+1)[0],I=g(C);k={...n},k[I]=u&&!L?Bo(k[I],l):!k[I]}else if(v){const F=V[x]&&V[x].rowIndex||0,C=V[x]&&V[x].colIndex||0,I=Math.min(F,s,i),R=Math.max(F,s,i),T=Math.min(C,l,c),z=Math.max(C,l,c),_=[];for(let A=T;A<=z;A++)_.push(A);o.slice(I,R+1).forEach(A=>{const P=g(A);k[P]=u?[..._]:!0})}return k},_o=f.hasRelativeStackingContext(),rn=e=>{if(!e||!_o)return null;let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).transform!=="none")return t;t=t.parentElement}},nn=e=>{if(e&&e.ownerDocument&&e!==e.ownerDocument.body){const t=e.getBoundingClientRect();return{left:t.left-e.scrollLeft,top:t.top-e.scrollTop}}return{left:0,top:0}},on=e=>{const t=e?typeof e.enabled=="boolean"?e.enabled:!0:!1,r=e?!!e.drag:!1,n=e&&e.mode?e.mode:"multiple",o=!!(e&&e.cell);return{enabled:t,drag:r,mode:n,cell:o}},qo=e=>{var L;const{onRelease:t,childRef:r}=e,{enabled:n,drag:o,mode:s,cell:i}=on(e.selectable),l=a.useRef(null),c=a.useRef(null),u=a.useRef({clientX:0,clientY:0}),[d,m]=a.useState(null),v=a.useRef(),h=a.useRef(!1),x=a.useRef(!1),y=a.useCallback(F=>{const{event:C}=F;x.current=C.originalEvent.target.hasAttribute(en),!(x.current||!l.current)&&(v.current=rn(l.current.element),u.current={clientY:C.clientY,clientX:C.clientX})},[]),b=a.useCallback(F=>{const{event:C}=F,{clientX:I,clientY:R}=u.current;if(!x.current&&!(!o||s==="single")&&((Math.abs(R-C.clientY)>5||Math.abs(I-C.clientX)>5)&&(h.current=!0),h.current)){const T=nn(v.current);m({top:Math.min(R,C.clientY)-T.top,left:Math.min(I,C.clientX)-T.left,width:Math.abs(C.clientX-I),height:Math.abs(C.clientY-R)})}},[m,o,s]),g=a.useCallback(F=>{const{event:C}=F,{clientX:I,clientY:R}=u.current;if(x.current||!l.current)return;const T=l.current.element&&l.current.element.ownerDocument;if(T){if(h.current){const z=Math.min(R,C.clientY),_=Math.min(I,C.clientX),q=Math.max(R,C.clientY),A=Math.max(I,C.clientX),P=c.current;if(!P)return;P.style.visibility="hidden";const U=T.elementFromPoint(_,z),ge=T.elementFromPoint(A,q);if(P.style.visibility="",!U||!ge)return;const fe=H(U,"TD"),Ve=H(fe,"TR"),me=H(ge,"TD"),$e=H(me,"TR"),X=oe(fe),j=ne(Ve),Z=oe(me),Q=ne($e);X!==void 0&&j!==void 0&&Z!==void 0&&Q!==void 0&&t({nativeEvent:C.originalEvent,startRowIndex:j,startColIndex:X,endRowIndex:Q,endColIndex:Z,altKey:C.altKey,shiftKey:C.shiftKey,ctrlKey:C.ctrlKey,metaKey:C.metaKey,mode:s,cell:i,isDrag:!0})}else{const z=T.elementFromPoint(I,R);if(!z)return;const _=H(z,"TD"),q=H(z,"TR"),A=oe(_),P=ne(q);_&&q&&P!==void 0&&A!==void 0&&t({nativeEvent:C.originalEvent,startRowIndex:P,startColIndex:A,endRowIndex:P,endColIndex:A,altKey:C.altKey,shiftKey:C.shiftKey,ctrlKey:C.ctrlKey,metaKey:C.metaKey,mode:s,cell:i,isDrag:!1})}m(null),h.current=!1,u.current={clientX:0,clientY:0}}},[m,s,i,t]),k=f.useDocument(c);return n?a.createElement(a.Fragment,null,a.createElement(f.Draggable,{onPress:y,onDrag:b,onRelease:g,ref:l,childRef:r},e.children),d&&fn.createPortal(a.createElement("div",{ref:c,style:{...d,position:"fixed"},className:"k-marquee k-marquee-color"}),(L=k())==null?void 0:L.body)):a.cloneElement(a.Children.only(e.children),{ref:r})};exports.BooleanFilter=Hr;exports.BooleanFilterCell=bn;exports.ColumnDefaultProps=xr;exports.ColumnMenuBooleanColumn=fo;exports.ColumnMenuBooleanFilter=$r;exports.ColumnMenuDateColumn=go;exports.ColumnMenuDateFilter=ft;exports.ColumnMenuFilterForm=Ur;exports.ColumnMenuFilterLogic=He;exports.ColumnMenuForm=Yr;exports.ColumnMenuItem=Me;exports.ColumnMenuNumericColumn=ho;exports.ColumnMenuNumericFilter=gt;exports.ColumnMenuOperators=he;exports.ColumnMenuTextColumn=po;exports.ColumnMenuTextFilter=ht;exports.ColumnResize=Zn;exports.ColumnResizer=_r;exports.CommonDragLogic=Qn;exports.DateFilter=Gr;exports.DateFilterCell=In;exports.DragClue=Jn;exports.DropClue=eo;exports.EnumFilter=_e;exports.Expression=qe;exports.FILTER_ROW_CLASS=Or;exports.FOCUSABLE_ELEMENTS=Ke;exports.Filter=Vr;exports.FilterRow=Hn;exports.Group=Ge;exports.Header=Vn;exports.HeaderCell=Kr;exports.HeaderRow=qr;exports.HeaderSelectionCell=Xn;exports.HeaderThElement=ze;exports.KEYBOARD_NAV_DATA_BODY=kt;exports.KEYBOARD_NAV_DATA_HEADER=It;exports.KEYBOARD_NAV_DATA_ID=pe;exports.KEYBOARD_NAV_DATA_LEVEL=Y;exports.KEYBOARD_NAV_DATA_SCOPE=yt;exports.KEYBOARD_NAV_DATA_ZONE=Dn;exports.KEYBOARD_NAV_FILTER_COL_SUFFIX=br;exports.NumericFilter=Lt;exports.NumericFilterCell=Sn;exports.Operators=so;exports.Pager=ue;exports.TABBABLE_ELEMENTS=Ir;exports.TABLE_COL_INDEX_ATTRIBUTE=Jr;exports.TABLE_PREVENT_SELECTION_ELEMENT=en;exports.TABLE_ROW_INDEX_ATTRIBUTE=Qr;exports.TableKeyboardNavigationContext=St;exports.TableSelection=qo;exports.TextFilter=Dt;exports.TextFilterCell=Rn;exports.closestTagName=H;exports.createDataTree=xo;exports.createFilterComponent=de;exports.extendDataItem=bo;exports.filterBy=vo;exports.flatData=Eo;exports.getColumnIndex=oe;exports.getGroupIds=Ro;exports.getIndex=pt;exports.getItemPath=mt;exports.getOffset=nn;exports.getRowIndex=ne;exports.getSelectedState=tn;exports.getSelectedStateFromKeyDown=zo;exports.getSelectionOptions=on;exports.isRtl=Br;exports.mapColumns=Wn;exports.modifySubItems=ko;exports.moveTreeItem=So;exports.nextColumn=Ar;exports.normalize=zr;exports.orderBy=mo;exports.readColumns=Pr;exports.relativeContextElement=rn;exports.removeItems=yo;exports.setExpandedState=Do;exports.setGroupIds=Fo;exports.setSelectedState=Ko;exports.stringOperator=Mt;exports.tableColumnsVirtualization=jn;exports.tableKeyboardNavigation=To;exports.tableKeyboardNavigationBodyAttributes=Mn;exports.tableKeyboardNavigationHeaderAttributes=kr;exports.tableKeyboardNavigationScopeAttributes=Ln;exports.tableKeyboardNavigationTools=N;exports.treeToFlat=Co;exports.unaryOperator=Ne;exports.updateLeft=wr;exports.updateRight=Tr;exports.useTableKeyboardNavigation=Sr;
|
package/index.mjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Copyright © 2023 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";
|
|
5
6
|
import * as a from "react";
|
|
6
7
|
import * as d from "prop-types";
|
|
7
8
|
import { classNames as _, kendoThemeMaps as _t, validatePackage as dt, Draggable as ht, Keys as B, IconWrap as Re, canUseDOM as $t, toIconName as sn, extendDataItem as gt, mapTree as ae, getItemPath as an, getNestedValue as $e, guid as ln, getActiveElement as cn, getter as Wt, hasRelativeStackingContext as un, useDocument as pn } from "@progress/kendo-react-common";
|
|
@@ -229,7 +230,7 @@ const mt = {
|
|
|
229
230
|
name: "@progress/kendo-react-data-tools",
|
|
230
231
|
productName: "KendoReact",
|
|
231
232
|
productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
|
|
232
|
-
publishDate:
|
|
233
|
+
publishDate: 1702304853,
|
|
233
234
|
version: "",
|
|
234
235
|
licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
|
|
235
236
|
}, At = 600, Ln = 768;
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-react-data-tools",
|
|
3
|
-
"version": "7.0.0
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "Includes React Pager & React Filter component, an intuitive interface to create complex filter descriptions. KendoReact Data Tools package",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
7
7
|
"homepage": "https://www.telerik.com/kendo-react-ui",
|
|
8
8
|
"main": "./index.js",
|
|
9
|
+
"module": "./index.mjs",
|
|
9
10
|
"types": "./index.d.ts",
|
|
10
11
|
"exports": {
|
|
11
12
|
".": {
|
|
@@ -18,14 +19,14 @@
|
|
|
18
19
|
"@progress/kendo-data-query": "^1.0.0",
|
|
19
20
|
"@progress/kendo-drawing": "^1.17.2",
|
|
20
21
|
"@progress/kendo-licensing": "^1.3.0",
|
|
21
|
-
"@progress/kendo-react-animation": "7.0.0
|
|
22
|
-
"@progress/kendo-react-buttons": "7.0.0
|
|
23
|
-
"@progress/kendo-react-common": "7.0.0
|
|
24
|
-
"@progress/kendo-react-dateinputs": "7.0.0
|
|
25
|
-
"@progress/kendo-react-dropdowns": "7.0.0
|
|
26
|
-
"@progress/kendo-react-inputs": "7.0.0
|
|
27
|
-
"@progress/kendo-react-intl": "7.0.0
|
|
28
|
-
"@progress/kendo-react-popup": "7.0.0
|
|
22
|
+
"@progress/kendo-react-animation": "7.0.0",
|
|
23
|
+
"@progress/kendo-react-buttons": "7.0.0",
|
|
24
|
+
"@progress/kendo-react-common": "7.0.0",
|
|
25
|
+
"@progress/kendo-react-dateinputs": "7.0.0",
|
|
26
|
+
"@progress/kendo-react-dropdowns": "7.0.0",
|
|
27
|
+
"@progress/kendo-react-inputs": "7.0.0",
|
|
28
|
+
"@progress/kendo-react-intl": "7.0.0",
|
|
29
|
+
"@progress/kendo-react-popup": "7.0.0",
|
|
29
30
|
"@progress/kendo-svg-icons": "^2.0.0",
|
|
30
31
|
"react": "^16.8.2 || ^17.0.0 || ^18.0.0",
|
|
31
32
|
"react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
|