@progress/kendo-react-data-tools 7.3.0-develop.4 → 7.4.0-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/js/kendo-react-datatools.js +1 -1
- package/index.d.mts +4 -14
- package/index.d.ts +4 -14
- package/index.js +1 -1
- package/index.mjs +119 -121
- package/navigation/TableKeyboardNavigation.js +1 -1
- package/navigation/TableKeyboardNavigation.mjs +64 -61
- package/navigation/constants.js +1 -1
- package/navigation/constants.mjs +15 -31
- package/navigation/utils.js +1 -1
- package/navigation/utils.mjs +68 -63
- package/package-metadata.mjs +1 -1
- package/package.json +9 -9
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(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")):"function"==typeof define&&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"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactDatatools={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactButtons,e.KendoReactIntl,e.KendoReactInputs,e.KendoReactDropdowns,e.KendoSvgIcons,e.ReactDOM,e.KendoDataQuery,e.KendoReactDateinputs,e.KendoReactPopup,e.KendoReactAnimation)}(this,(function(e,t,r,n,a,o,s,i,l,c,u,p,d,h){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=g(t),f=g(c);const v="pager.info",b="pager.firstPage",C="pager.previousPage",E="pager.nextPage",x="pager.lastPage",y="pager.itemsPerPage",I="pager.page",k="pager.of",R="pager.totalPages",S="pager.pageNumberLabel",L="pager.ariaKeyshortcuts",F="pager.pageSizeAriaLabel",D="pager.mobileSelect",M="pager.moreButtonLabel",N="filter.eqOperator",w="filter.notEqOperator",A="filter.isNullOperator",P="filter.isNotNullOperator",K="filter.isEmptyOperator",O="filter.isNotEmptyOperator",T="filter.startsWithOperator",z="filter.containsOperator",q="filter.notContainsOperator",B="filter.endsWithOperator",G="filter.gteOperator",H="filter.gtOperator",_="filter.lteOperator",$="filter.ltOperator",W="filter.isTrue",j="filter.isFalse",Y="filter.afterOrEqualOperator",V="filter.afterOperator",X="filter.beforeOperator",U="filter.beforeOrEqualOperator",Q="filter.andLogic",Z="filter.orLogic",J="filter.addExpression",ee="filter.addGroup",te="filter.close",re="filter.groupAriaLabel",ne="filter.expressionAriaLabel",ae="filter.expressionDropdownAriaLabel",oe="filter.expressionOperatorDropdownAriaLabel",se="filter.enumFilterDropdownAriaLabel",ie="filter.numericFilterAriaLabel",le="filter.textFilterAriaLabel",ce="columnMenu.filterClearButton",ue="columnMenu.filterSubmitButton",pe="columnMenu.filterTitle",de="columnMenu.sortAscending",he="columnMenu.sortDescending",ge="columnMenu.filterEqOperator",me="columnMenu.filterNotEqOperator",fe="columnMenu.filterIsNullOperator",ve="columnMenu.filterIsNotNullOperator",be="columnMenu.filterIsEmptyOperator",Ce="columnMenu.filterIsNotEmptyOperator",Ee="columnMenu.filterStartsWithOperator",xe="columnMenu.filterContainsOperator",ye="columnMenu.filterNotContainsOperator",Ie="columnMenu.filterEndsWithOperator",ke="columnMenu.filterGteOperator",Re="columnMenu.filterGtOperator",Se="columnMenu.filterLteOperator",Le="columnMenu.filterLtOperator",Fe="columnMenu.filterIsTrue",De="columnMenu.filterAfterOrEqualOperator",Me="columnMenu.filterAfterOperator",Ne="columnMenu.filterBeforeOperator",we="columnMenu.filterBeforeOrEqualOperator",Ae="columnMenu.filterAndLogic",Pe="columnMenu.filterOrLogic",Ke="sort.ariaLabel",Oe="filter.ariaLabel",Te={[y]:"items per page","pager.pageSelection":"Select page",[v]:"{0} - {1} of {2} items",[b]:"Go to the first page",[C]:"Go to the previous page",[E]:"Go to the next page",[x]:"Go to the last page",[I]:"Page",[k]:"of",[R]:"{0}","pager.pageLabel":"Page",[L]:"Enter ArrowRight ArrowLeft","pager.ariaLabel":"Pager",[F]:"Page size",[D]:"Select",[M]:"More pages",[S]:"Type a page number",[Ke]:"Sortable",[Oe]:"Filter",[N]:"Is equal to",[w]:"Is not equal to",[A]:"Is null",[P]:"Is not null",[K]:"Is empty",[O]:"Is not empty",[T]:"Starts with",[z]:"Contains",[q]:"Does not contain",[B]:"Ends with",[G]:"Is greater than or equal to",[H]:"Is greater than",[_]:"Is less than or equal to",[$]:"Is less than",[W]:"Is true",[j]:"Is false",[Y]:"Is after or equal to",[V]:"Is after",[X]:"Is before",[U]:"Is before or equal to",[Q]:"And",[Z]:"Or",[J]:"Add Expression",[ee]:"Add Group",[te]:"Remove",[re]:"Filter toolbar",[ne]:"Filter expression row",[ae]:"Filter dropdown",[oe]:"Filter operator dropdown",[se]:"Select True/False",[ie]:"Enter number",[le]:"Enter text",[ce]:"Clear",[ue]:"Filter",[pe]:"Filter",[de]:"Sort Ascending",[he]:"Sort Descending",[ge]:"Is equal to",[me]:"Is not equal to",[fe]:"Is null",[ve]:"Is not null",[be]:"Is empty",[Ce]:"Is not empty",[Ee]:"Starts with",[xe]:"Contains",[ye]:"Does not contain",[Ie]:"Ends with",[ke]:"Is greater than or equal to",[Re]:"Is greater than",[Se]:"Is less than or equal to",[Le]:"Is less than",[Fe]:"Is true",[De]:"Is after or equal to",[Me]:"Is after",[Ne]:"Is before",[we]:"Is before or equal to",[Ae]:"And",[Pe]:"Or"};let ze=class extends m.Component{constructor(){super(...arguments),this.handlePageChange=(e,t)=>{e.preventDefault(),this.props.pageChange(t,e)},this.handleSelectPageChange=e=>{e.preventDefault(),this.props.pageChange(e.target.value,e)}}render(){const e=o.provideLocalizationService(this),t=this.props.messagesMap?this.props.messagesMap(D):{messageKey:D,defaultMessage:Te[D]},r=this.props.messagesMap?this.props.messagesMap(I):{messageKey:I,defaultMessage:Te[I]},s=this.props.messagesMap?this.props.messagesMap(M):{messageKey:M,defaultMessage:Te[M]},i=e.toLanguageString(s.messageKey,s.defaultMessage),l=this.start>1&&this.renderDots(this.start-1,i),c=this.end<this.props.totalPages&&this.renderDots(this.end+1,i),u=this.start>1&&this.renderOptionDots(this.start-1),p=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),d=[];for(let e=this.start;e<=this.end;e++)d.push(e);const h=d.map((t=>m.createElement(a.Button,{className:n.classNames({"k-selected":this.props.currentPage===t}),key:t,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":e.toLanguageString(r.messageKey,r.defaultMessage)+" "+t,"aria-current":this.props.currentPage===t||void 0,onClick:e=>this.handlePageChange(e,t)},t))),g=d.map((e=>m.createElement("option",{key:e},e)));return m.createElement(m.Fragment,null,m.createElement("select",{style:{width:"5em",margin:"0px 1em",display:"dropdown"===this.props.type?"inline-flex":"none"},className:n.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${n.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":e.toLanguageString(t.messageKey,t.defaultMessage),value:this.props.currentPage,onChange:e=>this.handleSelectPageChange(e)},u,g,p),m.createElement("div",{className:"k-pager-numbers",style:{display:"numbers"===this.props.type?"":"none"}},l,h,c))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const e=this.props.currentPage,t=this.props.buttonCount;if(e>t){const r=e%t;return 0===r?e-t+1:e-r+1}return 1}renderDots(e,t){return m.createElement(a.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t,onClick:t=>this.handlePageChange(t,e)},"...")}renderOptionDots(e){return m.createElement("option",{value:e},"...")}},qe=class extends m.Component{constructor(){super(...arguments),this.state={page:this.props.currentPage},this.handleOnChange=e=>{this.setState({page:e.target.value}),e.target.value&&this.props.pageChange(e.target.value,e)}}render(){const e=o.provideIntlService(this),t=o.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(I):{messageKey:I,defaultMessage:Te[I]},n=this.props.messagesMap?this.props.messagesMap(k):{messageKey:k,defaultMessage:Te[k]},a=this.props.messagesMap?this.props.messagesMap(R):{messageKey:R,defaultMessage:Te[R]},i=this.props.messagesMap?this.props.messagesMap(R):{messageKey:S,defaultMessage:Te[S]};return m.createElement("span",{className:"k-pager-input"},m.createElement("span",null,t.toLanguageString(r.messageKey,r.defaultMessage)),m.createElement(s.NumericTextBox,{value:void 0!==this.props.currentPage?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1,ariaLabel:t.toLanguageString(i.messageKey,i.defaultMessage)}),m.createElement("span",null,`${t.toLanguageString(n.messageKey,n.defaultMessage)} ${e.format(t.toLanguageString(a.messageKey,a.defaultMessage),[this.props.totalPages])}`))}};o.registerForLocalization(qe);let Be=class extends m.Component{constructor(){super(...arguments),this.pageSizeChange=e=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(e.target.value,10)},e)}}render(){const{value:e,pageSizes:t,pageSize:r,messagesMap:n}=this.props,a=t.slice();void 0===e&&0===a.filter((e=>e===r)).length&&a.unshift(r);const s=n?n(y):{messageKey:y,defaultMessage:Te[y]},l=n?n(F):{messageKey:F,defaultMessage:Te[F]};return m.createElement("span",{className:"k-pager-sizes"},m.createElement(i.DropDownList,{value:void 0!==e?e:r,data:a,onChange:this.pageSizeChange,ariaLabel:o.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),m.createElement("span",null,o.provideLocalizationService(this).toLanguageString(s.messageKey,s.defaultMessage)))}};o.registerForLocalization(Be);const Ge={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/"},He=class extends m.Component{constructor(e){super(e),this._element=null,this.onPageChange=(e,t)=>{const r={target:this,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,targetEvent:t,...e};this.props.onPageChange&&this.props.onPageChange.call(void 0,r)},this.changePage=(e,t)=>{this.props.onPageChange&&e>0&&e<=this.totalPages&&this.props.onPageChange({target:this,skip:(e-1)*this.props.take,take:this.props.take,syntheticEvent:t,nativeEvent:t.nativeEvent,targetEvent:t})},this.onWindowResize=()=>{const e=this.element;if(!e||!this.props.responsive)return;const t=e.offsetWidth;t<600?this.setState({showPagerSizes:!1}):t>=600&&t<768?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},n.validatePackage(Ge),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return"rtl"===this.props.dir}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:e,showPagerInfo:t}=this.state,{skip:r,take:a,total:s,pageSizes:i,size:c,responsive:u,messagesMap:p,pageSizeValue:d}=this.props,h=o.provideLocalizationService(this),g=o.provideIntlService(this),f=Math.floor(r/a)+1,y="numeric"===this.props.type?m.createElement(ze,{type:u&&!e?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:c}):m.createElement(qe,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:p,size:c}),S=p?p(b):{messageKey:b,defaultMessage:Te[b]},F=p?p(C):{messageKey:C,defaultMessage:Te[C]},D=p?p(E):{messageKey:E,defaultMessage:Te[E]},M=p?p(x):{messageKey:x,defaultMessage:Te[x]},N=p?p(v):{messageKey:v,defaultMessage:Te[v]},w=p?p(L):{messageKey:L,defaultMessage:Te[L]},A=p?p(I):{messageKey:I,defaultMessage:Te[I]},P=p?p(k):{messageKey:k,defaultMessage:Te[k]},K=p?p(R):{messageKey:R,defaultMessage:Te[R]},O=`${h.toLanguageString(A.messageKey,A.defaultMessage)} ${g.format(h.toLanguageString(K.messageKey,K.defaultMessage),[f])} ${h.toLanguageString(P.messageKey,P.defaultMessage)} ${g.format(h.toLanguageString(K.messageKey,K.defaultMessage),[this.totalPages])}`;let T,z,q,B;this.props.previousNext&&(T=this.renderButton(1,"k-pager-nav k-pager-first"+(1===f?" k-disabled":""),h.toLanguageString(S.messageKey,S.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?l.caretAltToRightIcon:l.caretAltToLeftIcon,1===f||void 0),z=this.renderButton(f-1,"k-pager-nav"+(1===f?" k-disabled":""),h.toLanguageString(F.messageKey,F.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?l.caretAltRightIcon:l.caretAltLeftIcon,1===f||void 0),q=this.renderButton(f+1,"k-pager-nav"+(f>=this.totalPages?" k-disabled":""),h.toLanguageString(D.messageKey,D.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?l.caretAltLeftIcon:l.caretAltRightIcon,f>=this.totalPages||void 0),B=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(f>=this.totalPages?" k-disabled":""),h.toLanguageString(M.messageKey,M.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?l.caretAltToLeftIcon:l.caretAltToRightIcon,f>=this.totalPages||void 0));const G=i&&m.createElement(Be,{pageChange:this.onPageChange,pageSize:a,pageSizes:i,value:d,messagesMap:p,size:c}),H=this.props.info&&m.createElement("span",{className:"k-pager-info"},g.format(h.toLanguageString(N.messageKey,N.defaultMessage),[Math.min(r+1,s),Math.min(r+a,s),s]));return m.createElement("div",{className:n.classNames("k-pager",{[`k-pager-${n.kendoThemeMaps.sizeMap[c]||c}`]:c},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":h.toLanguageString(w.messageKey,w.defaultMessage),"aria-label":O,ref:e=>this._element=e},m.createElement("div",{className:n.classNames("k-pager-numbers-wrap")},T,z,y,q,B),u?e&&G:G,u?t&&H:H)}renderButton(e,t,r,n,o,s){return m.createElement(a.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:t,icon:n,svgIcon:o,title:r,role:"button","aria-disabled":s,onClick:t=>{t.preventDefault(),this.changePage(e,t)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}};He.propTypes={className:r.string,style:r.object,total:r.number.isRequired,skip:r.number.isRequired,take:r.number.isRequired,buttonCount:r.number,info:r.bool,type:r.oneOf(["numeric","input"]),pageSizes:r.arrayOf(r.oneOfType([r.string,r.number])),previousNext:r.bool,onPageChange:r.func,messagesMap:r.func,size:r.oneOf([null,"small","medium","large"]),dir:r.string},He.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"};let _e=He;o.registerForIntl(_e),o.registerForLocalization(_e);let $e=class extends m.Component{constructor(){super(...arguments),this.draggable=null,this.isDragged=!1,this.onDrag=e=>{this.isDragged=!0;const t=this.draggable&&this.draggable.element;t&&this.props.resize(e.event,t,!1)},this.onRelease=e=>{if(!this.isDragged)return;const t=this.draggable&&this.draggable.element;t&&this.props.resize(e.event,t,!0),this.isDragged=!1},this.onDoubleClick=e=>{if(this.isDragged)return;const t=this.draggable&&this.draggable.element;t&&this.props.autofit&&this.props.autofit(e,t)}}render(){return m.createElement(n.Draggable,{onPress:e=>{e.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},m.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}};const We="data-keyboardnavlevel",je="data-keyboardnavscope",Ye="data-keyboardnavheader",Ve="data-keyboardnavbody",Xe="data-keyboardnavid",Ue="_filter",Qe=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[contenteditable]"],Ze=[...Qe,"[tabindex]"],Je=[...Qe,"[tabindex]"].map((e=>e+':not([tabindex="-1"])')),et={[je]:!0},tt={[Ye]:!0},rt={[Ve]:!0},nt=(e,t,r="cell")=>`${t}_${e}_${r}`,at=e=>{if(!e)return;return e.getAttribute(Xe)||void 0},ot=e=>!!e&&!!e.getAttribute(Xe),st=e=>e.querySelector(`[${Ye}]`),it=e=>e.querySelector(`[${Ve}]`),lt=(e,t,r,n,a)=>{if(!r)return[];let o=e+(a?-1:1);for(;o>=0&&o<n.length;){const e=n[o][t];if(e!==r)return[e,[o,t]];o+=a?-1:1}return[]},ct=(e,t,r,n,a)=>{if(!r)return[];let o=t+(a?-1:1);for(;o>=0&&o<n[e].length;){const t=n[e][o];if(t!==r)return[t,[e,o]];o+=a?-1:1}return[]},ut=(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]},pt=e=>e?`${e}${Ue}`:"",dt={generateNavigatableId:nt,getNavigatableId:at,getNavigatableLevel:e=>{if(e)return parseInt(e.getAttribute(We)||"",10)},getNavigatableElement:(e,t={level:0})=>e.querySelector(`[${We}='${t.level}']`),getClosestNavigatableElement:e=>e.parentElement&&e.parentElement.closest(`[${We}]`),getActiveElement:(e,t)=>e.querySelector(`[${Xe}='${t}']`),getClosestScope:e=>e.parentElement&&e.parentElement.closest(`[${je}]`),getHeaderElement:st,getBodyElement:it,getFocusableElements:(e,t={focusable:!1})=>{let r=t.focusable?Ze:Je;return Array.from(e.querySelectorAll(r.join(",")))},getNavigatableElements:(e,t={level:0})=>{if(!e)return[];let r=Ze.map((e=>e+`[${We}='${t.level}']`)).join(",");return Array.from(e.querySelectorAll(r))},filterNavigatableElements:(e={level:0})=>{let t=Ze.map((t=>t+`[${We}='${e.level}']`)).join(",");return e=>e.matches(t)},focusElement:e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:a}=e;n.current&&t&&t.focus&&(r.preventDefault(),t.focus(),ot(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=at(t)),a&&ot(a)&&a.setAttribute("tabIndex","-1"))},getIdPrefix:e=>e.current?e.current.idPrefix:"",isNavigatable:ot,findNextIdByRowIndex:lt,findNextIdByCellIndex:ct,findId:ut,getNextNavigationIndex:e=>e.current?e.current.navigationMatrix.length:0,getFilterColumnId:pt},ht={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};function gt(e,t){const r=e[t].depth;let n=null;for(let a=t+1;a<e.length;a++)if(e[a].depth===r){n=e[a];break}return n}const mt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce(((e,t)=>mt(t)+e),0)),t};function ft(e,t,r){let n=new Array(e.length).fill(0),a=0;t.forEach((e=>{if(e.locked&&(!e.left||r))if(e.left=n[e.depth],a=mt(e),0===e.children.length)for(let t=e.depth;t<n.length;t++)n[t]+=a;else n[e.depth]+=a}))}function vt(e,t,r){let n=0,a=new Array(e.length).fill(0);for(let e=t.length-1;e>=0;e--){const o=t[e];if(o.locked&&(!o.right||r)){if(o.right=a[o.depth],n=mt(o),0===o.children.length)for(let e=o.depth;e<a.length;e++)a[e]+=n;else a[o.depth]+=n;const r=gt(t,e);o.rightBorder=!(r&&r.locked)}}}function bt(e){return!(!e||"rtl"!==getComputedStyle(e).direction)}function Ct(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 e=e=>{const t=e.getBoundingClientRect();return r.x>t.left&&r.x<t.left+t.width&&r.y>t.top&&r.y<t.top+t.height};n=Array.from(t.children).find(e)||null}const a=t.children;for(let e=0;e<a.length;e++)if(a[e]===n)return e;return-1}let Et=class extends m.PureComponent{constructor(e){super(e),this.elementRef=m.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=m.createRef()}get element(){return this.elementRef.current}render(){const e=this.hiddenElementRef.current,{status:t}=this.state,r=this.state.visible&&n.canUseDOM&&c.createPortal(m.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"}},m.createElement(n.IconWrap,{className:"k-drag-status",name:t,icon:"k-i-cancel"===t?l.cancelIcon:l.plusIcon}),this.state.innerText),e&&e.ownerDocument?e.ownerDocument.body:document.body);return m.createElement(m.Fragment,null,r,m.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}},xt=class extends m.PureComponent{constructor(e){super(e),this.state={height:0,visible:!1,left:0,top:0},this.hiddenElementRef=m.createRef()}render(){const e=this.hiddenElementRef.current,t=this.state.visible&&n.canUseDOM&&c.createPortal(m.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"}}),e&&e.ownerDocument?e.ownerDocument.body:document.body);return m.createElement(m.Fragment,null,t,m.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}};function yt(e,t,r){return r?{...e,[t]:r.length?[...r]:void 0}:e&&e[t]?[...e[t]]:[]}function It(e,t,r){if(e[r]){let n=yt(e,r,u.orderBy(yt(e,r),t)),a=yt(n,r).map((e=>It(e,t,r)));return{...n,[r]:a}}return e}function kt(e,t,r){let n=yt(e,r);if(n&&n.length){n=n.map((e=>kt(e,t,r)));const a=u.filterBy(n,{filters:[{filters:t,logic:"and"},{operator:e=>!!(e[r]||[]).length}],logic:"or"});return yt(e,r,a)}return e}const Rt=(e,t,r)=>{const n=e[r]||[],a=n.findIndex(t);if(-1!==a){const t=[...n];return t.splice(a,1),{...e,[r]:t}}return e},St=(e,t,r)=>n.getItemPath(e,t,r),Lt="groupId",Ft="items",Dt=(e,t,r)=>{e.items&&(e[Lt]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach((r=>Dt(r,t-1,e[Lt]))))},Mt=m.createContext(void 0);Mt.displayName="KendoReactTableKeyboardNavigationContext";const Nt=(e,t)=>{const r=m.useContext(Mt);return r&&e&&!1!==t?{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[We]:r.level,[Xe]:e}:{}},wt=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],a=st(r),o=it(r);if(!a||!o)return;const s=Array.from(a.children),i=Array.from(o.children);[...s,...i].forEach(((e,t)=>{Array.from(e.children).forEach((e=>{const r=at(e);if(!r)return;const a=e.rowSpan||1,o=e.colSpan||1;let s;for(let e=t,o=t+a;e<o;e++){if(n[e]||(n[e]=[]),void 0===s){const t=n[e].findIndex((e=>!e));s=t>-1?t:n[e].length}n[e][s]=r||""}for(let e=s+1,a=s+o;e<a;e++)n[t][e]=r||""}))})),t.current.navigationMatrix=n.filter((e=>!!e)),t.current.lastHeaderIndex=s.length-1},At={onConstructor:e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:a,idPrefix:o}=e;t&&(r.current={activeId:"",level:0},a.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:o||n.guid(),navigationMatrix:[],lastHeaderIndex:-1})},onComponentDidMount:e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){wt(e);const a=n.current.navigationMatrix[0][0],o=dt.getActiveElement(t,a);a&&o&&(r.current.activeId=a,o.setAttribute("tabIndex","0"))}},onGetSnapshotBeforeUpdate:e=>{const{contextStateRef:t,navigationStateRef:r,document:a}=e;if(t.current&&r.current&&a){const e=n.getActiveElement(a),o=dt.getNavigatableId(e);o&&o===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},onComponentDidUpdate:e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(wt(e),r.current&&n.current&&t){if(!dt.getActiveElement(t,r.current.activeId)){const e=n.current.navigationMatrix[0][0],a=dt.getActiveElement(t,e);e&&a&&(r.current.activeId=e,a.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&a.focus())}n.current.activeElementIsFocused=!1}},onFocus:(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,a=dt.getNavigatableId(n);if(a&&a!==r.current.activeId){const e=dt.getClosestScope(n);if(!e)return;const t=dt.getActiveElement(e,r.current.activeId);t&&t.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=a}},onKeyDown:(e,t)=>{const{contextStateRef:r,navigationStateRef:a,onNavigationAction:o}=t;if(e.isDefaultPrevented()||!r.current||!a.current)return;if(e.keyCode===n.Keys.esc){const t=dt.getClosestNavigatableElement(e.target);return void dt.focusElement({elementForFocus:t,event:e,contextStateRef:r})}const s=e.target,i=dt.getNavigatableId(s),l=dt.getNavigatableLevel(s),c=dt.getClosestScope(s),u=a.current.navigationMatrix;if(void 0!==l&&c){if(e.keyCode===n.Keys.enter){const t=dt.getNavigatableElement(s,{level:l+1});if(t)return void dt.focusElement({elementForFocus:t,event:e,contextStateRef:r,prevElement:s});{const t=dt.getFocusableElements(s)[0];return void dt.focusElement({elementForFocus:t,event:e,contextStateRef:r,prevElement:s})}}if(e.keyCode===n.Keys.up||e.keyCode===n.Keys.down||e.keyCode===n.Keys.left||e.keyCode===n.Keys.right){const t=e.keyCode===n.Keys.up||e.keyCode===n.Keys.left,l=e.keyCode===n.Keys.up||e.keyCode===n.Keys.down;let p;if(a.current&&a.current.prevNavigationIndexes){const[e,t]=a.current.prevNavigationIndexes;p=u[e][t]===i?a.current.prevNavigationIndexes:ut(u,i)}else p=ut(u,i);if(p){const[n,d]=p,[h,g]=l?lt(n,d,i,u,t):ct(n,d,i,u,t);if(h){const t=dt.getActiveElement(c,h);dt.focusElement({elementForFocus:t,event:e,contextStateRef:r,prevElement:s}),a.current.prevNavigationIndexes=g,o&&o({focusElement:t,event:e})}}}}},generateMatrix:wt},Pt="data-grid-row-index",Kt="data-grid-col-index",Ot="data-prevent-selection",Tt={},zt=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if("TABLE"===r.tagName)return null;r=r.parentElement}return null},qt=e=>{if(!e)return;const t=e.getAttribute(Pt);return t?parseInt(t,10):void 0},Bt=e=>{if(!e)return;const t=e.getAttribute(Kt);return t?parseInt(t,10):void 0},Gt=e=>{const{event:t,dataItemKey:r,selectedState:a}=e,{dataItems:o,startRowIndex:s,endRowIndex:i,startColIndex:l,endColIndex:c,cell:u,isDrag:p,ctrlKey:d,shiftKey:h,metaKey:g,componentId:m,mode:f,dataItem:v}=t,b=n.getter(r);let C={};const E=null!==v;if("single"===f){const e=o.slice(s,s+1)[0],t=b(e);Tt[m]={rowIndex:s,colIndex:l},C[t]=!u||[l]}else if(!p&&(h||d||g||E)){if(d||g||E){Tt[m]={rowIndex:s,colIndex:l};const e=o.slice(s,i+1)[0],t=b(e);C={...a},C[t]=u&&!E?((e,t)=>!e||Array.isArray(e)&&0===e.length?[t]:e.findIndex((e=>e===t))>-1?e.filter((e=>e!==t)):[...e,t])(C[t],l):!C[t]}else if(h){const e=Tt[m]&&Tt[m].rowIndex||0,t=Tt[m]&&Tt[m].colIndex||0,r=Math.min(e,s,i),n=Math.max(e,s,i),a=Math.min(t,l,c),p=Math.max(t,l,c),d=[];for(let e=a;e<=p;e++)d.push(e);o.slice(r,n+1).forEach((e=>{const t=b(e);C[t]=!u||[...d]}))}}else{p||(Tt[m]={rowIndex:s,colIndex:l});const e=[];for(let t=l;t<=c;t++)e.push(t);o.slice(s,i+1).forEach((t=>{const r=b(t);C[r]=!u||[...e]}))}return C},Ht=n.hasRelativeStackingContext(),_t=e=>{if(!e||!Ht)return null;let t=e.parentElement;for(;t;){if("none"!==window.getComputedStyle(t).transform)return t;t=t.parentElement}},$t=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}},Wt=e=>({enabled:!!e&&("boolean"!=typeof e.enabled||e.enabled),drag:!!e&&!!e.drag,mode:e&&e.mode?e.mode:"multiple",cell:!(!e||!e.cell)});var jt=(e=>(e.copy="copy",e.cut="cut",e.paste="paste",e))(jt||{});const Yt=e=>class extends m.Component{constructor(){super(...arguments),this.filterChange=e=>{this.props.onFilterChange&&this.props.onFilterChange(e)},this.inputChange=t=>{const r=t.target.value,{filter:n=[],field:a=""}=this.props,o=this.findCellFilter(),s=o?n.map((e=>e.field===a?{...o,value:r}:e)):[...n,{...e.emptyFilter,value:r,field:a}];this.filterChange({filter:s,field:a,syntheticEvent:t.syntheticEvent})},this.operatorChange=t=>{const{operator:r}=t.target.value,{filter:n=[],field:a=""}=this.props,o=this.findCellFilter(),s=o?n.map((e=>e.field===a?{...o,operator:r}:e)):[...n,{...e.emptyFilter,field:a,operator:r}];this.filterChange({filter:s,field:a,syntheticEvent:t.syntheticEvent})},this.clearButtonClick=e=>{const{filter:t=[],field:r=""}=this.props;this.filterChange({filter:t.filter((e=>e.field!==r)),field:r,syntheticEvent:e})},this.findCellFilter=()=>{const{filter:e=[],field:t}=this.props;return e.find((e=>e.field===t))}}render(){const{clearButtonTitle:t="",operators:r=[]}=this.props,o=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:s,value:i}=o,c={ariaLabel:"filter",value:r.find((e=>e.operator===s))||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:l.filterIcon,data:r,textField:"text",popupSettings:{width:""},components:this.props.components};return m.createElement("div",{className:"k-filtercell"},m.createElement("span",null,e.inputComponent({value:i,onChange:this.inputChange,components:this.props.components,ariaLabel:this.props.ariaLabel,min:this.props.min,max:this.props.max}),m.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(c,this.props)," ",m.createElement(a.Button,{className:n.classNames({"k-clear-button-visible":!(null===i||""===i)||s}),title:t,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:l.filterClearIcon,disabled:!(null!==i&&""!==i||s)}))))}},Vt={emptyFilter:{operator:"eq",value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,a=r.find((e=>e.field===n));return m.createElement(i.DropDownList,{...e,value:e.data.find((e=>e.operator===(a?a.value:""))),onChange:e=>{if(!t.onFilterChange)return;const o=e.target.value.operator;if(""===o)return void(a&&t.onFilterChange.call(void 0,{filter:r.filter((e=>e.field!==a.field)),field:n,syntheticEvent:e.syntheticEvent}));let s=a?r.map((e=>e.field===n?{...a,value:o}:e)):[...r,{value:o,field:n,operator:"eq"}];t.onFilterChange.call(void 0,{filter:s,field:n,syntheticEvent:e.syntheticEvent})}})}};let Xt=class extends(Yt(Vt)){};const Ut={inputComponent:e=>m.createElement(p.DatePicker,{...e}),operatorComponent:e=>m.createElement(i.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};let Qt=class extends(Yt(Ut)){};const Zt={inputComponent:e=>m.createElement(s.NumericTextBox,{...e}),operatorComponent:e=>m.createElement(i.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};let Jt=class extends(Yt(Zt)){};const er={inputComponent:e=>m.createElement(s.Input,{...e}),operatorComponent:e=>m.createElement(i.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};let tr=class extends(Yt(er)){};const rr=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:a,style:o,columnId:s,onKeyDown:i,navigatable:l,ariaColumnIndex:c,ariaLabel:u,role:p,ariaSelected:d}=e,h=Nt(s,l);return m.createElement("th",{"aria-sort":t,"aria-label":u,"aria-colindex":c,"aria-selected":d,colSpan:r,rowSpan:n,className:a,style:o,onKeyDown:i,role:p,...h},e.children)};rr.displayName="KendoReactHeaderThElement";const nr="k-table-row k-filter-row",ar=(e,t,r)=>{let n=""+(r?"k-grid-header-sticky":"");return e.some((e=>e.field===t))&&(n+=" k-sorted"),n};let or=class extends m.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:e}=this.props;e&&e.resizable&&e.setIsRtl(bt(this.element))}render(){return m.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:e=>this.element=e,...tt},this.props.headerRow,this.props.filterRow)}};function sr(e){const t=e.onClick?{onClick:e.onClick}:{},r=m.createElement("span",{className:"k-link",...t},m.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return m.createElement(m.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const ir=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);let lr=class extends m.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.pressHandler&&this.props.pressHandler(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.dragHandler&&this.props.dragHandler(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(e.event)}}render(){return m.createElement(n.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},m.createElement("tr",{className:"k-table-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},this.props.children))}};const cr={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ur={none:"none",asc:"ascending",desc:"descending"};class pr extends m.Component{constructor(){super(...arguments),this.cellClick=(e,t)=>{if(e.preventDefault(),!this.props.sortChange)return;const{allowUnsort:r,mode:n}=ir(this.props.sortable||!1,t.sortable||!1),a=(this.props.sort||[]).filter((e=>e.field===t.field))[0],o=cr[r][a&&a.dir||""],s="single"===n?[]:(this.props.sort||[]).filter((e=>e.field!==t.field));""!==o&&t.field&&s.push({field:t.field,dir:o}),this.props.sortChange(e,s,t.field)},this.cellKeyDown=(e,t)=>{e.isDefaultPrevented()||e.keyCode===n.Keys.enter&&this.cellClick(e,t)},this.cells=e=>e.map(((e,t)=>{const r=this.props.columns[e],{columnResize:a}=this.props,s=a&&a.resizable&&r.resizable,i=this.props.sortable&&r.sortable,l=this.props.sort?this.props.sort.findIndex((e=>e.field===r.field)):-1,c=l>=0&&this.props.sort[l].dir||"none",u={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:r.field},p={field:r.field,onClick:i&&(e=>this.cellClick(e,r))||void 0,selectionChange:this.props.selectionChange,title:r.title,selectionValue:r.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(l),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:u},d=r.columnMenu||this.props.columnMenu,h=n.classNames("k-table-th",{"k-first":r.kFirst,"k-filterable":!!d,"k-header":!0,"k-grid-header-sticky":r.locked,"k-sorted":this.props.sort&&this.props.sort.some((e=>e.field===r.field))},r.headerClassName),g=void 0!==r.locked?{left:r.left,right:r.right,borderRightWidth:r.rightBorder?"1px":""}:{},f=o.provideLocalizationService(this).toLanguageString(Ke,Te[Ke]);let v=r.isAccessible?{ariaSort:i?ur[c]:void 0,role:"columnheader",ariaColumnIndex:r.ariaColumnIndex,ariaSelected:!1,ariaDescription:i?f:""}:{role:"presentation"};return m.createElement(rr,{key:t,colSpan:r.colSpan,rowSpan:r.rowSpan,className:h,style:g,columnId:r.id,navigatable:r.navigatable,onKeyDown:i&&(e=>this.cellKeyDown(e,r))||void 0,...v},r.headerCell&&m.createElement(r.headerCell,{...p}),!r.headerCell&&m.createElement("span",{className:"k-cell-inner"},m.createElement(sr,{...p}),d&&m.createElement(d,{...u})),a&&s&&m.createElement($e,{key:"ColumnResizer",resize:(e,t,n)=>a.dragHandler(e,r,t,n)}))}))}sortIcon(e){if(!this.props.sort||e<0)return null;const t=this.props.sort[e].dir;return t?[m.createElement(n.IconWrap,{key:1,name:`sort-${t}-small`,icon:"asc"===t?l.sortAscSmallIcon:l.sortDescSmallIcon}),this.props.sort.length>1&&m.createElement("span",{key:2,className:"k-sort-order"},e+1)]:null}render(){return this.props.columnsMap.map(((e,t)=>this.props.pressHandler&&m.createElement(lr,{key:t,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:t+1},this.cells(e))||m.createElement("tr",{className:"k-table-row","aria-rowindex":t+1,role:"row"},this.cells(e))))}}o.registerForLocalization(pr);const dr=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=o.provideLocalizationService(this),{ariaLabel:t=e.toLanguageString(le,Te[le])}=this.props;return m.createElement(s.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":t})}};dr.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,ariaLabel:r.string};let hr=dr;o.registerForLocalization(hr);const gr=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=o.provideLocalizationService(this),{min:t,max:r,filter:n,ariaLabel:a=e.toLanguageString(ie,Te[ie])}=this.props;return m.createElement(s.NumericTextBox,{value:"number"==typeof n.value?n.value:null,onChange:this.onChange,ariaLabel:a,"aria-valuemin":t,"aria-valuemax":r,min:t,max:r})}};gr.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired};let mr=gr;o.registerForLocalization(mr);const fr=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=this.props.filter;return m.createElement(p.DatePicker,{value:e.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}};fr.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,ariaLabel:r.string};let vr=fr;const br=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value.value}})}}render(){const e=o.provideLocalizationService(this),{filter:t,data:r=[],defaultItem:n,ariaLabel:a=e.toLanguageString(se,Te[se])}=this.props,s=r.map((t=>({...t,text:e.toLanguageString(t.text,Te[t.text]||t.text)})));return m.createElement(i.DropDownList,{value:s.find((e=>e.value===t.value))||null,onChange:this.onChange,defaultItem:n,data:s,textField:"text",ariaLabel:a})}};br.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,data:r.arrayOf(r.shape({text:r.string,value:r.any})),defaultItem:r.any,ariaLabel:r.string};let Cr=br;o.registerForLocalization(Cr);const Er=class extends m.Component{constructor(){super(...arguments),this.data=[{text:W,value:!0},{text:j,value:!1}]}render(){return m.createElement(Cr,{filter:this.props.filter,onFilterChange:this.props.onFilterChange,data:this.props.data||this.data,defaultItem:this.props.defaultItem,ariaLabel:this.props.ariaLabel})}};Er.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,data:r.arrayOf(r.shape({text:r.string,value:r.any})),ariaLabel:r.string,defaultItem:r.any};let xr=Er;const yr=[{text:z,operator:"contains"},{text:q,operator:"doesnotcontain"},{text:N,operator:"eq"},{text:w,operator:"neq"},{text:T,operator:"startswith"},{text:B,operator:"endswith"},{text:A,operator:"isnull"},{text:P,operator:"isnotnull"},{text:K,operator:"isempty"},{text:O,operator:"isnotempty"}],Ir=[{text:N,operator:"eq"},{text:w,operator:"neq"},{text:G,operator:"gte"},{text:H,operator:"gt"},{text:_,operator:"lte"},{text:$,operator:"lt"},{text:A,operator:"isnull"},{text:P,operator:"isnotnull"}],kr=[{text:N,operator:"eq"},{text:w,operator:"neq"},{text:Y,operator:"gte"},{text:V,operator:"gt"},{text:X,operator:"lt"},{text:U,operator:"lte"},{text:A,operator:"isnull"},{text:P,operator:"isnotnull"}],Rr=[{text:N,operator:"eq"},{text:w,operator:"neq"}];const Sr=e=>"contains"===e||"doesnotcontain"===e||"startswith"===e||"endswith"===e,Lr=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Fr=e=>{void 0===e.value&&!Lr(e.operator)&&(e.value=Sr(e.operator)?"":null)},Dr=class extends m.Component{constructor(){super(...arguments),this.onFieldChange=e=>{const t=e.value.name,r=this.props.fields.find((e=>e.name===t)),n=this.props.filter,a=r&&!r.operators.some((e=>e.operator===n.operator))?r.operators[0].operator:n.operator,o={field:t,operator:a};Fr(o),this.triggerOnFilterChange(n,o,e)},this.onOperatorChange=e=>{const t=e.value.operator,r=this.props.filter;let n;if(Lr(t)){let{value:e,...a}=r;n={...a,operator:t}}else n={...r,operator:t};Fr(n),this.triggerOnFilterChange(r,n,e)},this.onInputChange=e=>{const t=this.props.filter;let r=e.nextFilter;if(Lr(r.operator)){const e=this.props.fields.find((e=>e.name===r.field));r={...r,operator:e&&e.operators[0].operator||r.operator}}this.triggerOnFilterChange(t,r,e)},this.triggerOnFilterChange=(e,t,r)=>{const n={prevFilter:e,nextFilter:t,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onFilterRemove=e=>{const t={filter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onRemove.call(void 0,t)}}render(){const e=o.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(ne,Te[ne])}=this.props,s=t.find((e=>e.name===r.field)),c=(s&&s.operators||[]).map((t=>({...t,text:e.toLanguageString(t.text,Te[t.text]||t.text)})));return m.createElement("div",{className:"k-filter-toolbar"},m.createElement(a.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},m.createElement(a.ToolbarItem,{className:"k-filter-field"},m.createElement(i.DropDownList,{className:"k-filter-dropdown",data:t,textField:"label",value:t.find((e=>e.name===r.field)),onChange:this.onFieldChange,ariaLabel:e.toLanguageString(ae,Te[ae])})),m.createElement(a.ToolbarItem,{className:"k-filter-operator"},m.createElement(i.DropDownList,{data:c,textField:"text",value:c.find((e=>e.operator===r.operator)),onChange:this.onOperatorChange,ariaLabel:e.toLanguageString(oe,Te[oe])})),m.createElement(a.ToolbarItem,{className:"k-filter-value"},s&&m.createElement(s.filter,{filter:r,onFilterChange:this.onInputChange,min:s.min,max:s.max})),m.createElement(a.Button,{className:"k-toolbar-button",title:e.toLanguageString(te,Te[te]),icon:"x",svgIcon:l.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}};Dr.propTypes={filter:r.object.isRequired,fields:r.array.isRequired,ariaLabel:r.string,onChange:r.func.isRequired,onRemove:r.func.isRequired};let Mr=Dr;o.registerForLocalization(Mr);const Nr=class e extends m.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=Sr(n.operator)?"":null;const a={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,a)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map((r=>r===e?t:r));return{...r,filters:n}},this.onChange=e=>{const t={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,t)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter((t=>t!==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 t=o.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:s=t.toLanguageString(re,Te[re])}=this.props;return m.createElement(m.Fragment,null,m.createElement("div",{className:"k-filter-toolbar"},m.createElement(a.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:s},m.createElement(a.ButtonGroup,{className:"k-toolbar-button-group"},m.createElement(a.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:"and"===n.logic,type:"button"},t.toLanguageString(Q,Te[Q])),m.createElement(a.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:"or"===n.logic,type:"button"},t.toLanguageString(Z,Te[Z]))),m.createElement(a.Button,{className:"k-toolbar-button",title:t.toLanguageString(J,Te[J]),icon:"filter-add-expression",svgIcon:l.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},t.toLanguageString(J,Te[J])),m.createElement(a.Button,{className:"k-toolbar-button",title:t.toLanguageString(ee,Te[ee]),icon:"filter-add-group",svgIcon:l.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},t.toLanguageString(ee,Te[ee])),m.createElement(a.Button,{className:"k-toolbar-button",title:t.toLanguageString(te,Te[te]),icon:"x",svgIcon:l.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),n.filters.length>0&&m.createElement("ul",{role:"group",className:"k-filter-lines"},n.filters.map(((t,n)=>m.createElement("li",{role:"treeitem",key:n,className:"k-filter-item"},u.isCompositeFilterDescriptor(t)?m.createElement(e,{filter:t,fields:r,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):m.createElement(Mr,{filter:t,fields:r,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove}))))))}};Nr.propTypes={filter:r.object.isRequired,fields:r.array.isRequired,ariaLabel:r.string,ariaLabelExpression:r.string,onChange:r.func.isRequired,onRemove:r.func.isRequired,defaultGroupFilter:r.object.isRequired};let wr=Nr;o.registerForLocalization(wr);const Ar=class extends m.Component{constructor(e){super(e),this.onFilterChange=e=>{const t={filter:e.nextFilter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,t)},this.onGroupRemove=e=>{const t={filter:{...this.props.value,filters:[]},syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,t)},n.validatePackage(Ge)}render(){return m.createElement("div",{className:n.classNames("k-filter",this.props.className),style:this.props.style},m.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},m.createElement("li",{role:"treeitem",className:"k-filter-group-main"},m.createElement(wr,{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:[]}}))))}};Ar.propTypes={className:r.string,style:r.object,fields:function(e,t){const r=e[t];return void 0===r?new Error(`Property '${t}' is missing.`):Array.isArray(r)?Object.keys(r.reduce(((e,t)=>({...e,[t.name]:1})),{})).length!==r.length?new Error(`Property '${t}' needs to contain objects with unique 'name' field.`):null:new Error(`Property '${t}' needs to be Array<FieldSettings>.`)},ariaLabelGroup:r.string,ariaLabelExpression:r.string,value:r.object.isRequired,onChange:r.func.isRequired};let Pr=Ar;const Kr=e=>m.createElement("div",{onClick:e.onClick,className:n.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&m.createElement(n.IconWrap,{name:e.iconClass?n.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),Or=[{text:xe,operator:"contains"},{text:ye,operator:"doesnotcontain"},{text:ge,operator:"eq"},{text:me,operator:"neq"},{text:Ee,operator:"startswith"},{text:Ie,operator:"endswith"},{text:fe,operator:"isnull"},{text:ve,operator:"isnotnull"},{text:be,operator:"isempty"},{text:Ce,operator:"isnotempty"}],Tr=[{text:ge,operator:"eq"},{text:me,operator:"neq"},{text:ke,operator:"gte"},{text:Re,operator:"gt"},{text:Se,operator:"lte"},{text:Le,operator:"lt"},{text:fe,operator:"isnull"},{text:ve,operator:"isnotnull"}],zr=[{text:ge,operator:"eq"},{text:me,operator:"neq"},{text:De,operator:"gte"},{text:Me,operator:"gt"},{text:Ne,operator:"lt"},{text:we,operator:"lte"},{text:fe,operator:"isnull"},{text:ve,operator:"isnotnull"}],qr=[{text:Fe,operator:""}];let Br=class{static get text(){return[...Or]}static get numeric(){return[...Tr]}static get date(){return[...zr]}static get boolean(){return[...qr]}};const Gr=e=>{const{filter:t,onFilterChange:r,operators:n,initialFilter:a}=e,s=m.useCallback((e=>{const n=t,o=e.target.value.operator,s=n?{...n,operator:o}:{value:a.value,operator:o};r.call(void 0,e.syntheticEvent,s,n)}),[t,r,a]),l=m.useCallback((e=>{const a=e.target.value,o=t,s=o?{...o,value:a}:{value:a,operator:n[0].operator};r.call(void 0,e,s,o)}),[t,r,n]),c=o.useLocalization(),u=n.map((e=>({...e,text:c.toLanguageString(e.text,Te[e.text])})));return m.createElement(m.Fragment,null,m.createElement(i.DropDownList,{value:u.find((e=>e.operator===t.operator))||null,onChange:s,data:u,textField:"text"}),m.createElement(e.input,{value:t.value,onChange:l}))},Hr=e=>{const{filter:t,onFilterChange:r}=e,n=m.useCallback((e=>r.call(void 0,e.syntheticEvent,{...t,value:e.value},t)),[t,r]),a=Br.boolean[0].text;return m.createElement(s.Checkbox,{onChange:n,checked:t.value,label:o.useLocalization().toLanguageString(a,Te[a]),labelPlacement:"after"})},_r=e=>{const t=m.useCallback((e=>m.createElement(s.Input,{...e,value:e.value||""})),[]),r=m.useRef(Br.text),n=m.useRef({operator:"",value:""});return m.createElement(Gr,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},$r=e=>{const t=m.useCallback((e=>m.createElement(s.NumericTextBox,{...e,value:e.value||null})),[]),r=m.useRef(Br.numeric),n=m.useRef({operator:"",value:null});return m.createElement(Gr,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Wr=e=>{const t=m.useCallback((e=>m.createElement(p.DatePicker,{...e,value:e.value||null})),[]),r=m.useRef(Br.date),n=m.useRef({operator:"",value:null});return m.createElement(Gr,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},jr=[{text:Ae,logic:"and"},{text:Pe,logic:"or"}],Yr=e=>{const t=o.useLocalization(),r=(e.data||jr).map((e=>({...e,text:t.toLanguageString(e.text,Te[e.text])})));return m.createElement(i.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find((t=>t.logic===e.value))})},Vr=e=>m.createElement("div",{className:"k-columnmenu-item-content"},m.createElement(h.Reveal,{style:{position:"relative",display:"block"}},e.show&&m.createElement("div",{className:"kendo-grid-filter-menu-container"},m.createElement("form",{className:"k-filter-menu",onSubmit:e.onSubmit,onReset:e.onReset},m.createElement("div",{className:"k-filter-menu-container"},e.children,m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),Xr=e=>{const t=o.useLocalization();return m.createElement(Vr,{...e,actions:m.createElement(m.Fragment,null,m.createElement(a.Button,{type:"reset"},t.toLanguageString(ce,Te[ce])),m.createElement(a.Button,{themeColor:"primary"},t.toLanguageString(ue,Te[ue])))})},Ur=e=>{n.validatePackage(Ge);const t=m.useRef([]),{field:r,filter:a,sort:s=t.current,onSortChange:i,onFilterChange:c,initialFilter:p,sortAsc:h=!1,sortDesc:g=!1,filterContent:f=[],expandFilters:v=!1}=e,[b,C]=m.useState(!1),[E,x]=m.useState(v),[y,I]=m.useState(r&&p?p(r):null),k=m.useRef(null),R=m.useRef(null),S=m.useRef(null),L=m.useRef(!1),F=m.useCallback((()=>(a||[]).find((e=>e.filters.every((e=>!u.isCompositeFilterDescriptor(e)&&e.field===r))))),[a,r]),D=m.useCallback((()=>{C(!1)}),[]),M=m.useCallback((()=>{L.current?L.current=!1:(clearTimeout(S.current),S.current=window.setTimeout((()=>{D()})))}),[D]),N=m.useCallback((()=>clearTimeout(S.current)),[]),w=m.useCallback((e=>{L.current=b&&e.currentTarget===k.current}),[b]),A=m.useCallback((()=>{C(!b),r&&p&&(x(!b&&v),I(b?y:F()||p(r)))}),[F,r,b,y,p,v]);m.useEffect((()=>{b&&R.current&&R.current.focus()}),[b]);const P=m.useCallback((()=>x(!E)),[E]),K=m.useCallback(((e,t)=>{const n=[...s],a=n.findIndex((e=>e.field===r)),o={field:r,dir:t};a>=0?n[a].dir!==o.dir?n.splice(a,1,o):n.splice(a,1):n.push(o),D(),i&&i.call(void 0,e,n,r)}),[s,r,i,D]),O=m.useCallback(((e,t,r)=>{const n={...y,filters:[...y.filters]},a=n.filters.indexOf(r);n.filters.splice(a,1,t),I(n)}),[y]),T=m.useCallback((e=>{e.preventDefault();const t=(a||[]).slice(),n=F(),o=n?t.indexOf(n):-1;o>=0?t.splice(o,1,y):t.push(y),D(),c&&c.call(void 0,e,t,r)}),[a,y,r,c,D,F]),z=m.useCallback((e=>{const t=(a||[]).slice(),n=F(),o=n?t.indexOf(n):-1;o>=0&&t.splice(o,1),p&&I(p(r)),D(),c&&c.call(void 0,e,t,r)}),[a,r,c,p,D,F]),q=m.useCallback((e=>K(e,"asc")),[K]),B=m.useCallback((e=>K(e,"desc")),[K]),G=m.useCallback((e=>y&&I({...y,logic:e.value.logic})),[y]),H=s.find((e=>e.field===r))||{dir:""},[_,$,W]=f,j=o.useLocalization(),Y=[h||g?m.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},h&&m.createElement(Kr,{title:j.toLanguageString(de,Te[de]),iconClass:"k-i-sort-asc-small",svgIcon:l.sortAscSmallIcon,selected:"asc"===H.dir,onClick:q}),g&&m.createElement(Kr,{title:j.toLanguageString(he,Te[he]),iconClass:"k-i-sort-desc-small",svgIcon:l.sortDescSmallIcon,selected:"desc"===H.dir,onClick:B})):null,y&&f.length>0?m.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},m.createElement(Kr,{iconClass:"k-i-filter",svgIcon:l.filterIcon,title:j.toLanguageString(pe,Te[pe]),onClick:P}),m.createElement(Xr,{show:E,onSubmit:T,onReset:z},_&&m.createElement(_,{filter:y.filters[0],onFilterChange:O}),$&&m.createElement($,{value:y.logic,onChange:G}),W&&m.createElement(W,{filter:y.filters[1],onFilterChange:O}))):null],V=[m.createElement("span",{ref:k,onClick:A,onMouseDown:w,className:"k-grid-header-menu k-grid-column-menu"+(F()?" k-active":""),key:"button"},m.createElement(n.IconWrap,{name:"filter",icon:l.filterIcon})),m.createElement(d.Popup,{anchor:k.current,show:b,key:"popup",popupClass:"k-column-menu k-column-menu-popup"},m.createElement("div",{ref:R,tabIndex:0,onBlur:M,onFocus:N,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,Y,{closeMenu:D,field:r}):Y))];return m.createElement(m.Fragment,null,e.render?e.render.call(void 0,V):V)};e.BooleanFilter=xr,e.BooleanFilterCell=Xt,e.ClipboardActionType=jt,e.ClipboardService=class{constructor(e){this.copyHandler=e=>{this.clipboardEvent(jt.copy,e)},this.cutHandler=e=>{this.clipboardEvent(jt.cut,e)},this.pasteHandler=e=>{this.clipboardEvent(jt.paste,e)},this.addEventListeners=e=>{e&&(e.addEventListener(jt.copy,this.copyHandler),e.addEventListener(jt.cut,this.cutHandler),e.addEventListener(jt.paste,this.pasteHandler))},this.removeEventListeners=e=>{e&&(e.removeEventListener(jt.copy,this.copyHandler),e.removeEventListener(jt.cut,this.cutHandler),e.removeEventListener(jt.paste,this.pasteHandler))},this.clipboardEvent=e}},e.ColumnDefaultProps=ht,e.ColumnMenuBooleanColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"and",filters:[{operator:"eq",field:e,value:!1}]})),[]),a=!!e.field,o=a?[Hr]:[];return m.createElement(Ur,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuBooleanFilter=Hr,e.ColumnMenuDateColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"or",filters:[{operator:"eq",field:e,value:null},{operator:"eq",field:e,value:null}]})),[]),a=!!e.field,o=a?[Wr,Yr,Wr]:[];return m.createElement(Ur,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuDateFilter=Wr,e.ColumnMenuFilterForm=Xr,e.ColumnMenuFilterLogic=Yr,e.ColumnMenuForm=Vr,e.ColumnMenuItem=Kr,e.ColumnMenuNumericColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"or",filters:[{operator:"eq",field:e,value:null},{operator:"eq",field:e,value:null}]})),[]),a=!!e.field,o=a?[$r,Yr,$r]:[];return m.createElement(Ur,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuNumericFilter=$r,e.ColumnMenuOperators=Br,e.ColumnMenuTextColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"and",filters:[{operator:"contains",field:e,value:""},{operator:"contains",field:e,value:""}]})),[]),a=!!e.field,o=a?[_r,Yr,_r]:[];return m.createElement(Ur,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuTextFilter=_r,e.ColumnResize=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.onResize=e,this.dragHandler=this.dragHandler.bind(this)}dragHandler(e,t,r,n){const a=e.originalEvent;n||(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation());const o=r.parentElement;if(!o||!o.parentElement)return;const s=o.clientWidth;let i;if(this.isRtl?(i=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX,i+=s):i=s+e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!n&&Math.abs(i-s)<1)return;this.setWidths(t,Math.floor(i)/s);const l=this.columns.filter((e=>!e.children.length)).indexOf(t);this.onResize(l,s,i,a,n)}setWidths(e,t){const r=this.columns.indexOf(e),n=[];let a=e.children.length;for(let e=r+1;a>0&&e<this.columns.length;e++,a--){const t=this.columns[e];t.children.length?a+=t.children.length:n.push(t)}0===n.length&&n.push(e),n.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const n=void 0===e.minResizableWidth?10:e.minResizableWidth;r<n&&(r=n),e.width=Math.floor(r)})),this.updateColElements(n)}updateColElements(e){const t=this.columns.filter((e=>!e.children.length));let r=1e-10;for(let n=0;n<e.length;n++){const a=t.indexOf(e[n]),o=parseFloat((e[n].width||0).toString());r+=o-Math.floor(o);const s=Math.floor(o)+Math.floor(r);r-=Math.floor(r),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[a],s),this.setColWidth(this.colGroupHeader&&this.colGroupHeader.children[a],s),this.setColWidth(this.colGroupFooter&&this.colGroupFooter.children[a],s)}}setColWidth(e,t){e&&(e.style.width=t+"px")}},e.ColumnResizer=$e,e.CommonDragLogic=class{constructor(e,t,r){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=e=>{this.groupPanelDivElement=e},this.refDropElementClue=e=>{this.dropElementClue=e},this.refDragElementClue=e=>{this.dragElementClue=e},this.pressHandler=(e,t)=>{const r=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),r>=0){const e=this.columns[r];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=r)}},this.dragHandler=(e,t)=>{if(e.isTouch||e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),-1===this.startColumn&&-1===this.startGroup)return;this.currentColumn=this.getColumnIndex(e,t),this.currentGroup=this.getGroupIndex(e),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const r=!this.isValid();r&&(this.currentColumn=-1,this.currentGroup=-1);const n=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,n,r),this.updateDropElementClue(e,t,n,r)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,n=this.startGroup,a=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const o=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,o&&(t>=0&&r>=0?this.columnReorder(t,r,e.originalEvent):n>=0&&a>=0?this.groupReorder(n,a,e.originalEvent):t>=0&&a>=0&&this.columnToGroup(t,a,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=r}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const r=Ct(e,t);if(-1===r)return-1;for(let e=0;e<t.parentNode.children.length;e++)if(t.parentNode.children[e]===t)return this.columns.findIndex((t=>t.index===r&&t.depth===e));return-1}getGroupIndex(e){return Ct(e,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)}updateDragElementClue(e,t,r,n){if(!this.dragElementClue)return;const a=this.startColumn>=0?t.children[this.columns[this.startColumn].index].innerText:t.innerText;this.dragElementClue.setState({visible:!0,top:e.pageY+10,left:e.pageX,innerText:a,status:n||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,n){if(!this.dropElementClue)return;if(n||!r)return void this.dropElementClue.setState({visible:!1});const a=r.getBoundingClientRect();let o=a.left+e.pageX-e.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(o+=a.width);const s=a.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:s,left:o,height:this.currentColumn>=0?t.clientHeight:a.height})}},e.DateFilter=vr,e.DateFilterCell=Qt,e.DragClue=Et,e.DropClue=xt,e.EnumFilter=Cr,e.Expression=Mr,e.FILTER_ROW_CLASS=nr,e.FOCUSABLE_ELEMENTS=Ze,e.Filter=Pr,e.FilterRow=function(e){const{columns:t,filter:r,filterChange:a,sort:s=[],ariaRowIndex:i}=e,l=o.useLocalization();return m.createElement("tr",{className:nr,"aria-rowindex":i,role:"row"},t.map(((e,t)=>{const o=void 0!==e.locked?{left:e.left,right:e.right,borderRightWidth:e.rightBorder?"1px":""}:{},i=e.filterCell||e.filter;return m.createElement(rr,{columnId:pt(e.id),navigatable:e.navigatable,style:o,key:t,ariaColumnIndex:e.ariaColumnIndex,ariaLabel:i?l.toLanguageString(Oe,Te[Oe]):void 0,className:n.classNames("k-table-th k-header",ar(s,e.field,e.locked))},i&&m.createElement(i,{field:e.field,filter:r,onFilterChange:a}))})))},e.Group=wr,e.Header=or,e.HeaderCell=sr,e.HeaderRow=pr,e.HeaderSelectionCell=function(e){const t=[m.createElement("input",{key:0,checked:e.selectionValue,id:e.inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:t=>e.selectionChange({field:e.field,syntheticEvent:t})}),m.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return m.createElement(m.Fragment,null,e.render?e.render.call(void 0,t,e):t)},e.HeaderThElement=rr,e.KEYBOARD_NAV_DATA_BODY=Ve,e.KEYBOARD_NAV_DATA_HEADER=Ye,e.KEYBOARD_NAV_DATA_ID=Xe,e.KEYBOARD_NAV_DATA_LEVEL=We,e.KEYBOARD_NAV_DATA_SCOPE=je,e.KEYBOARD_NAV_DATA_ZONE="data-keyboardnavzone",e.KEYBOARD_NAV_FILTER_COL_SUFFIX=Ue,e.NumericFilter=mr,e.NumericFilterCell=Jt,e.Operators=class{static get text(){return[...yr]}static get numeric(){return[...Ir]}static get date(){return[...kr]}static get boolean(){return[...Rr]}},e.Pager=_e,e.TABBABLE_ELEMENTS=Je,e.TABLE_COL_INDEX_ATTRIBUTE=Kt,e.TABLE_PREVENT_SELECTION_ELEMENT=Ot,e.TABLE_ROW_INDEX_ATTRIBUTE=Pt,e.TableKeyboardNavigationContext=Mt,e.TableSelection=e=>{var t;const{onRelease:r,childRef:a}=e,{enabled:o,drag:s,mode:i,cell:l}=Wt(e.selectable),c=m.useRef(null),u=m.useRef(null),p=m.useRef({clientX:0,clientY:0}),[d,h]=m.useState(null),g=m.useRef(),v=m.useRef(!1),b=m.useRef(!1),C=m.useCallback((e=>{const{event:t}=e;b.current=t.originalEvent.target.hasAttribute(Ot),!b.current&&c.current&&(g.current=_t(c.current.element),p.current={clientY:t.clientY,clientX:t.clientX})}),[]),E=m.useCallback((e=>{const{event:t}=e,{clientX:r,clientY:n}=p.current;if(!b.current&&s&&"single"!==i&&((Math.abs(n-t.clientY)>5||Math.abs(r-t.clientX)>5)&&(v.current=!0),v.current)){const e=$t(g.current);h({top:Math.min(n,t.clientY)-e.top,left:Math.min(r,t.clientX)-e.left,width:Math.abs(t.clientX-r),height:Math.abs(t.clientY-n)})}}),[h,s,i]),x=m.useCallback((e=>{const{event:t}=e,{clientX:n,clientY:a}=p.current;if(b.current||!c.current)return;const o=c.current.element&&c.current.element.ownerDocument;if(o){if(v.current){const e=Math.min(a,t.clientY),s=Math.min(n,t.clientX),c=Math.max(a,t.clientY),p=Math.max(n,t.clientX),d=u.current;if(!d)return;d.style.visibility="hidden";const h=o.elementFromPoint(s,e),g=o.elementFromPoint(p,c);if(d.style.visibility="",!h||!g)return;const m=zt(h,"TD"),f=zt(m,"TR"),v=zt(g,"TD"),b=zt(v,"TR"),C=Bt(m),E=qt(f),x=Bt(v),y=qt(b);void 0!==C&&void 0!==E&&void 0!==x&&void 0!==y&&r({nativeEvent:t.originalEvent,startRowIndex:E,startColIndex:C,endRowIndex:y,endColIndex:x,altKey:t.altKey,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,mode:i,cell:l,isDrag:!0})}else{const e=o.elementFromPoint(n,a);if(!e)return;const s=zt(e,"TD"),c=zt(e,"TR"),u=Bt(s),p=qt(c);s&&c&&void 0!==p&&void 0!==u&&r({nativeEvent:t.originalEvent,startRowIndex:p,startColIndex:u,endRowIndex:p,endColIndex:u,altKey:t.altKey,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,mode:i,cell:l,isDrag:!1})}h(null),v.current=!1,p.current={clientX:0,clientY:0}}}),[h,i,l,r]),y=n.useDocument(u);return o?m.createElement(m.Fragment,null,m.createElement(n.Draggable,{onPress:C,onDrag:E,onRelease:x,ref:c,childRef:a},e.children),d&&f.createPortal(m.createElement("div",{ref:u,style:{...d,position:"fixed"},className:"k-marquee k-marquee-color"}),null==(t=y())?void 0:t.body)):m.cloneElement(m.Children.only(e.children),{ref:a})},e.TextFilter=hr,e.TextFilterCell=tr,e.closestTagName=zt,e.createDataTree=(e,t,r,n)=>{let a,o={},s=[];return e.forEach((e=>o[t(e)]={...e})),e.forEach((e=>{a=o[r(e)],a?(a[n]=a[n]||[],a[n].push(o[t(e)])):s.push(o[t(e)])})),s},e.createFilterComponent=Yt,e.extendDataItem=(e,t,r)=>n.extendDataItem(e,t,r),e.filterBy=function(e,t,r){let n={[r]:[...e]};return n=kt(n,t,r),n[r]||[]},e.flatData=function(e,t,r){let n=[];const a=[];for(let r=e.length-1;r>=0;r--){const a=e[r];n.push({root:a,data:t(a),level:[r],levelCount:e.length})}for(;n.length>0;){let e=n.pop();if(a.push({dataItem:e.root,level:[...e.level],...r(e.root),levelCount:e.levelCount}),e.data.length)for(let r=e.data.length-1;r>=0;r--){const a=e.data[r];n.push({root:a,data:t(a),level:[...e.level,r],levelCount:e.data.length})}}return a},e.getColumnIndex=Bt,e.getGroupIds=e=>{const t=[];return n.mapTree(e.data,Ft,(e=>{e[Lt]&&t.push(e[Lt])})),t},e.getIndex=Ct,e.getItemPath=St,e.getOffset=$t,e.getRowIndex=qt,e.getSelectedState=Gt,e.getSelectedStateFromKeyDown=e=>{const{event:t,dataItemKey:r,selectedState:a}=e,{syntheticEvent:o,nativeEvent:s,dataItems:i,componentId:l,mode:c,cell:u,selectedField:p}=t,{target:d,ctrlKey:h,metaKey:g,altKey:m,shiftKey:f}=s;if(o.isDefaultPrevented()||s.keyCode!==n.Keys.enter)return a;const v=zt(d,"TD"),b=zt(d,"TR"),C=Bt(v),E=qt(b);let x={};return v&&b&&void 0!==E&&void 0!==C&&(x=Gt({selectedState:a,dataItemKey:r,event:{ctrlKey:h,metaKey:g,altKey:m,shiftKey:f,dataItems:i,cell:u,mode:c,selectedField:p,componentId:l,startColIndex:C,endColIndex:C,startRowIndex:E,endRowIndex:E,isDrag:!1,syntheticEvent:o,nativeEvent:s,target:t.target,dataItem:null}})),x},e.getSelectionOptions=Wt,e.isRtl=bt,e.mapColumns=function(e){const t=[[]];let r=0;for(let t=e.length-1;t>=0;t--)r=Math.max(r,e[t].depth),e[t].colSpan=e[t].colSpan||1,-1!==e[t].parentIndex&&(e[e[t].parentIndex].colSpan=(e[e[t].parentIndex].colSpan||0)+e[t].colSpan);const n=[];let a=1;return e.forEach(((e,o)=>{t[e.depth]=t[e.depth]||[];let s=!1;0===t[e.depth].length&&(a<=1?a=1+(e.children.length>0?0:r-e.depth):(a--,s=!0)),e.rowSpan=1+(e.children.length>0?0:r-e.depth),e.kFirst=s,e.index=t[e.depth].length,t[e.depth].push(o),e.ariaColumnIndex=n[e.depth]?n[e.depth]+1:1;for(let t=e.depth;t<e.depth+e.rowSpan;t++)n[t]=(n[t]||0)+e.colSpan})),ft(t,e),vt(t,e),t},e.modifySubItems=(e,t,r,a)=>n.mapTree(e,t,(e=>r(e)?{...e,[t]:a(e[t]||[])}:e)),e.moveTreeItem=(e,t,r,n)=>{const a=[...e],o=St(a,t,n),s=o.pop(),i=o.pop(),l=t[t.length-1];if(r){const e=St(a,r,n).pop();(i?i[n]:a).splice(l,1),e[n]=e[n]||[],e[n].push(s)}else(i?i[n]:a).splice(l,1),a.push(s);return a},e.nextColumn=gt,e.normalize=ir,e.orderBy=function(e,t,r){let n=u.orderBy(e,t);return n=n.map((e=>It(e,t,r))),n},e.populateClipboardData=e=>{const{event:t}=e,r=(e=>{const{event:t,selectedState:r,data:a,dataItemKey:o}=e,s={},i={copiedItems:[],pastedItems:[],clipboardData:""},l=e.subItemsField||"items";return Object.entries(r).forEach((([e,r])=>{s[e]=n.isArray(r)?r.map((e=>t.columns[e])):t.columns})),n.mapTree(a,l,(e=>{const r=e[o||t.dataItemKey||""]||"";return s[r]&&i.copiedItems.push({dataItem:e,fields:s[r].map((e=>e.field||""))}),e})),i})(e);let a="";if("paste"===t.type){const e=t.nativeEvent?t.nativeEvent.clipboardData:"";a=e?e.getData("text").trim():"",r.pastedItems=((e,t,r)=>{const n=e.cellDelimiter||"\t",a=e.newLineDelimiter||"\r\n",o=t.includes(a)?a:t.includes("\n")?"\n":null,s=o?t.split(o):[t],i=r.copiedItems.length?r.copiedItems[0].fields[0]:e.columns[0].field||"";return s.map((t=>{const r=t.includes(n)?t.split(n):[t],a=e.columns.map((e=>e.field||"")),o=a.indexOf(i),s=a.slice(o,o+r.length),l={};return a.slice(o,o+r.length).forEach(((e,t)=>l[e]=r[t])),{dataItem:l,fields:s}}))})(t,a,r)}else r.pastedItems=[],a=((e,t)=>{const r=t.newLineDelimiter||"\r\n",n=e.copiedItems.map(((e,r)=>{let n=((e,t)=>{if(!t.length)return null;let r="";return t.forEach(((t,n,a)=>r+=`${e[t]}${n<a.length-1?"\t":""}`)),r})(e.dataItem,e.fields)||"";return t.copyHeaders&&0===r&&(n=((e,t,r)=>{const n=r.cellDelimiter||"\t",a=r.newLineDelimiter||"\r\n";return`${t.join(n)}${a}${e}`})(n,e.fields,t)),n?[n]:[]})).join(r);return navigator.clipboard.writeText(n),n})(r,t);return r.clipboardData=a,r},e.readColumns=function e(t,r,n=0){let a=[];if(!t||!t.length)return[];if(t.forEach((t=>{const o=e(t.children||[],r,n+1);a.push(Object.assign({},{depth:n},ht,t,{id:t.id?t.id:nt(""+r.prevId++,r.idPrefix,"column"),declarationIndex:a.length,children:o,rowSpan:0,colSpan:0,isAccessible:!0}))})),a.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===n){let e=[];const t=(r,n)=>r.forEach((r=>{r.parentIndex=n,t(r.children,e.push(r)-1)}));return t(a,-1),e}return a},e.relativeContextElement=_t,e.removeItems=(e,t,r)=>[...n.mapTree([{[t]:[...e]}],t,(e=>Rt(e,r,t)))[0][t]],e.setExpandedState=e=>n.mapTree(e.data,Ft,(t=>n.extendDataItem(t,Ft,{expanded:!e.collapsedIds.some((e=>e===t[Lt]))}))),e.setGroupIds=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach((e=>Dt(e,t.length,"")))},e.setSelectedState=e=>{const t=e.subItemsField||"items",r=n.getter(e.dataItemKey);return n.mapTree(e.data,t,(a=>n.extendDataItem(a,t,{[e.selectedField]:e.selectedState[r(a)]})))},e.stringOperator=Sr,e.tableColumnsVirtualization=function(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:a}=e,o=r.map((()=>1)),s=r.map((()=>!1));if(!t)return{colSpans:o,hiddenColumns:s};const i=r.map((e=>parseFloat((e.width||"").toString())||10));let l=0;for(let e=0;e<r.length;e++){if(r[e].locked)continue;const t=e<i.length-1?i[e+1]:0;if(!(l+i[e]+t<a))break;s[e]=!0,l+=i[e]}const c=i.reduce(((e,t)=>e+t),0);l=0;for(let e=r.length-1;e>=0;e--)if(!r[e].locked){if(!(l+2*i[e]<c-n-a))break;s[e]=!0,l+=i[e]}const u=[...s],p=e=>e;let d,h,g=u.lastIndexOf(!1),m=u.some(p),f=u.every(p);for(;m&&u.length&&(-1!==g||f);){for(g<u.length-1&&(d=f?u.length:u.length-g-1,h=u.length-d,0===h&&(h=d-1),s[h]=!1,o[h]=d,u.splice(g+1,d));u.length&&!u[u.length-1];)u.pop();g=u.lastIndexOf(!1),m=u.some(p),f=u.every(p)}return{colSpans:o,hiddenColumns:s}},e.tableKeyboardNavigation=At,e.tableKeyboardNavigationBodyAttributes=rt,e.tableKeyboardNavigationHeaderAttributes=tt,e.tableKeyboardNavigationScopeAttributes=et,e.tableKeyboardNavigationTools=dt,e.treeToFlat=(e,t,r)=>{const a=e=>{const a=[];return(e=>!!n.getNestedValue(t,e))(e)&&(e=>!!n.getNestedValue(r,e))(e)&&a.push(...n.getNestedValue(r,e)),a},o=(e,t,r)=>{t.push({...e,level:r}),a(e).forEach((e=>o(e,t,r+1)))},s=[];return e.forEach((e=>o(e,s,0))),s},e.unaryOperator=Lr,e.updateLeft=ft,e.updateRight=vt,e.useTableKeyboardNavigation=Nt}));
|
|
8
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(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")):"function"==typeof define&&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"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactDatatools={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactButtons,e.KendoReactIntl,e.KendoReactInputs,e.KendoReactDropdowns,e.KendoSvgIcons,e.ReactDOM,e.KendoDataQuery,e.KendoReactDateinputs,e.KendoReactPopup,e.KendoReactAnimation)}(this,(function(e,t,r,n,a,o,s,i,l,c,u,p,d,h){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=g(t),f=g(c);const v="pager.info",E="pager.firstPage",C="pager.previousPage",b="pager.nextPage",x="pager.lastPage",y="pager.itemsPerPage",k="pager.page",I="pager.of",S="pager.totalPages",R="pager.pageNumberLabel",L="pager.ariaKeyshortcuts",F="pager.pageSizeAriaLabel",D="pager.mobileSelect",N="pager.moreButtonLabel",M="filter.eqOperator",w="filter.notEqOperator",A="filter.isNullOperator",P="filter.isNotNullOperator",K="filter.isEmptyOperator",O="filter.isNotEmptyOperator",T="filter.startsWithOperator",q="filter.containsOperator",z="filter.notContainsOperator",B="filter.endsWithOperator",G="filter.gteOperator",H="filter.gtOperator",_="filter.lteOperator",$="filter.ltOperator",W="filter.isTrue",j="filter.isFalse",Y="filter.afterOrEqualOperator",V="filter.afterOperator",X="filter.beforeOperator",U="filter.beforeOrEqualOperator",Q="filter.andLogic",Z="filter.orLogic",J="filter.addExpression",ee="filter.addGroup",te="filter.close",re="filter.groupAriaLabel",ne="filter.expressionAriaLabel",ae="filter.expressionDropdownAriaLabel",oe="filter.expressionOperatorDropdownAriaLabel",se="filter.enumFilterDropdownAriaLabel",ie="filter.numericFilterAriaLabel",le="filter.textFilterAriaLabel",ce="columnMenu.filterClearButton",ue="columnMenu.filterSubmitButton",pe="columnMenu.filterTitle",de="columnMenu.sortAscending",he="columnMenu.sortDescending",ge="columnMenu.filterEqOperator",me="columnMenu.filterNotEqOperator",fe="columnMenu.filterIsNullOperator",ve="columnMenu.filterIsNotNullOperator",Ee="columnMenu.filterIsEmptyOperator",Ce="columnMenu.filterIsNotEmptyOperator",be="columnMenu.filterStartsWithOperator",xe="columnMenu.filterContainsOperator",ye="columnMenu.filterNotContainsOperator",ke="columnMenu.filterEndsWithOperator",Ie="columnMenu.filterGteOperator",Se="columnMenu.filterGtOperator",Re="columnMenu.filterLteOperator",Le="columnMenu.filterLtOperator",Fe="columnMenu.filterIsTrue",De="columnMenu.filterAfterOrEqualOperator",Ne="columnMenu.filterAfterOperator",Me="columnMenu.filterBeforeOperator",we="columnMenu.filterBeforeOrEqualOperator",Ae="columnMenu.filterAndLogic",Pe="columnMenu.filterOrLogic",Ke="sort.ariaLabel",Oe="filter.ariaLabel",Te={[y]:"items per page","pager.pageSelection":"Select page",[v]:"{0} - {1} of {2} items",[E]:"Go to the first page",[C]:"Go to the previous page",[b]:"Go to the next page",[x]:"Go to the last page",[k]:"Page",[I]:"of",[S]:"{0}","pager.pageLabel":"Page",[L]:"Enter ArrowRight ArrowLeft","pager.ariaLabel":"Pager",[F]:"Page size",[D]:"Select",[N]:"More pages",[R]:"Type a page number",[Ke]:"Sortable",[Oe]:"Filter",[M]:"Is equal to",[w]:"Is not equal to",[A]:"Is null",[P]:"Is not null",[K]:"Is empty",[O]:"Is not empty",[T]:"Starts with",[q]:"Contains",[z]:"Does not contain",[B]:"Ends with",[G]:"Is greater than or equal to",[H]:"Is greater than",[_]:"Is less than or equal to",[$]:"Is less than",[W]:"Is true",[j]:"Is false",[Y]:"Is after or equal to",[V]:"Is after",[X]:"Is before",[U]:"Is before or equal to",[Q]:"And",[Z]:"Or",[J]:"Add Expression",[ee]:"Add Group",[te]:"Remove",[re]:"Filter toolbar",[ne]:"Filter expression row",[ae]:"Filter dropdown",[oe]:"Filter operator dropdown",[se]:"Select True/False",[ie]:"Enter number",[le]:"Enter text",[ce]:"Clear",[ue]:"Filter",[pe]:"Filter",[de]:"Sort Ascending",[he]:"Sort Descending",[ge]:"Is equal to",[me]:"Is not equal to",[fe]:"Is null",[ve]:"Is not null",[Ee]:"Is empty",[Ce]:"Is not empty",[be]:"Starts with",[xe]:"Contains",[ye]:"Does not contain",[ke]:"Ends with",[Ie]:"Is greater than or equal to",[Se]:"Is greater than",[Re]:"Is less than or equal to",[Le]:"Is less than",[Fe]:"Is true",[De]:"Is after or equal to",[Ne]:"Is after",[Me]:"Is before",[we]:"Is before or equal to",[Ae]:"And",[Pe]:"Or"};let qe=class extends m.Component{constructor(){super(...arguments),this.handlePageChange=(e,t)=>{e.preventDefault(),this.props.pageChange(t,e)},this.handleSelectPageChange=e=>{e.preventDefault(),this.props.pageChange(e.target.value,e)}}render(){const e=o.provideLocalizationService(this),t=this.props.messagesMap?this.props.messagesMap(D):{messageKey:D,defaultMessage:Te[D]},r=this.props.messagesMap?this.props.messagesMap(k):{messageKey:k,defaultMessage:Te[k]},s=this.props.messagesMap?this.props.messagesMap(N):{messageKey:N,defaultMessage:Te[N]},i=e.toLanguageString(s.messageKey,s.defaultMessage),l=this.start>1&&this.renderDots(this.start-1,i),c=this.end<this.props.totalPages&&this.renderDots(this.end+1,i),u=this.start>1&&this.renderOptionDots(this.start-1),p=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),d=[];for(let e=this.start;e<=this.end;e++)d.push(e);const h=d.map((t=>m.createElement(a.Button,{className:n.classNames({"k-selected":this.props.currentPage===t}),key:t,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":e.toLanguageString(r.messageKey,r.defaultMessage)+" "+t,"aria-current":this.props.currentPage===t||void 0,onClick:e=>this.handlePageChange(e,t)},t))),g=d.map((e=>m.createElement("option",{key:e},e)));return m.createElement(m.Fragment,null,m.createElement("select",{style:{width:"5em",margin:"0px 1em",display:"dropdown"===this.props.type?"inline-flex":"none"},className:n.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${n.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":e.toLanguageString(t.messageKey,t.defaultMessage),value:this.props.currentPage,onChange:e=>this.handleSelectPageChange(e)},u,g,p),m.createElement("div",{className:"k-pager-numbers",style:{display:"numbers"===this.props.type?"":"none"}},l,h,c))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const e=this.props.currentPage,t=this.props.buttonCount;if(e>t){const r=e%t;return 0===r?e-t+1:e-r+1}return 1}renderDots(e,t){return m.createElement(a.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t,onClick:t=>this.handlePageChange(t,e)},"...")}renderOptionDots(e){return m.createElement("option",{value:e},"...")}},ze=class extends m.Component{constructor(){super(...arguments),this.state={page:this.props.currentPage},this.handleOnChange=e=>{this.setState({page:e.target.value}),e.target.value&&this.props.pageChange(e.target.value,e)}}render(){const e=o.provideIntlService(this),t=o.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(k):{messageKey:k,defaultMessage:Te[k]},n=this.props.messagesMap?this.props.messagesMap(I):{messageKey:I,defaultMessage:Te[I]},a=this.props.messagesMap?this.props.messagesMap(S):{messageKey:S,defaultMessage:Te[S]},i=this.props.messagesMap?this.props.messagesMap(S):{messageKey:R,defaultMessage:Te[R]};return m.createElement("span",{className:"k-pager-input"},m.createElement("span",null,t.toLanguageString(r.messageKey,r.defaultMessage)),m.createElement(s.NumericTextBox,{value:void 0!==this.props.currentPage?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1,ariaLabel:t.toLanguageString(i.messageKey,i.defaultMessage)}),m.createElement("span",null,`${t.toLanguageString(n.messageKey,n.defaultMessage)} ${e.format(t.toLanguageString(a.messageKey,a.defaultMessage),[this.props.totalPages])}`))}};o.registerForLocalization(ze);let Be=class extends m.Component{constructor(){super(...arguments),this.pageSizeChange=e=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(e.target.value,10)},e)}}render(){const{value:e,pageSizes:t,pageSize:r,messagesMap:n}=this.props,a=t.slice();void 0===e&&0===a.filter((e=>e===r)).length&&a.unshift(r);const s=n?n(y):{messageKey:y,defaultMessage:Te[y]},l=n?n(F):{messageKey:F,defaultMessage:Te[F]};return m.createElement("span",{className:"k-pager-sizes"},m.createElement(i.DropDownList,{value:void 0!==e?e:r,data:a,onChange:this.pageSizeChange,ariaLabel:o.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),m.createElement("span",null,o.provideLocalizationService(this).toLanguageString(s.messageKey,s.defaultMessage)))}};o.registerForLocalization(Be);const Ge={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/"},He=class extends m.Component{constructor(e){super(e),this._element=null,this.onPageChange=(e,t)=>{const r={target:this,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,targetEvent:t,...e};this.props.onPageChange&&this.props.onPageChange.call(void 0,r)},this.changePage=(e,t)=>{this.props.onPageChange&&e>0&&e<=this.totalPages&&this.props.onPageChange({target:this,skip:(e-1)*this.props.take,take:this.props.take,syntheticEvent:t,nativeEvent:t.nativeEvent,targetEvent:t})},this.onWindowResize=()=>{const e=this.element;if(!e||!this.props.responsive)return;const t=e.offsetWidth;t<600?this.setState({showPagerSizes:!1}):t>=600&&t<768?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},n.validatePackage(Ge),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return"rtl"===this.props.dir}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:e,showPagerInfo:t}=this.state,{skip:r,take:a,total:s,pageSizes:i,size:c,responsive:u,messagesMap:p,pageSizeValue:d}=this.props,h=o.provideLocalizationService(this),g=o.provideIntlService(this),f=Math.floor(r/a)+1,y="numeric"===this.props.type?m.createElement(qe,{type:u&&!e?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:c}):m.createElement(ze,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:p,size:c}),R=p?p(E):{messageKey:E,defaultMessage:Te[E]},F=p?p(C):{messageKey:C,defaultMessage:Te[C]},D=p?p(b):{messageKey:b,defaultMessage:Te[b]},N=p?p(x):{messageKey:x,defaultMessage:Te[x]},M=p?p(v):{messageKey:v,defaultMessage:Te[v]},w=p?p(L):{messageKey:L,defaultMessage:Te[L]},A=p?p(k):{messageKey:k,defaultMessage:Te[k]},P=p?p(I):{messageKey:I,defaultMessage:Te[I]},K=p?p(S):{messageKey:S,defaultMessage:Te[S]},O=`${h.toLanguageString(A.messageKey,A.defaultMessage)} ${g.format(h.toLanguageString(K.messageKey,K.defaultMessage),[f])} ${h.toLanguageString(P.messageKey,P.defaultMessage)} ${g.format(h.toLanguageString(K.messageKey,K.defaultMessage),[this.totalPages])}`;let T,q,z,B;this.props.previousNext&&(T=this.renderButton(1,"k-pager-nav k-pager-first"+(1===f?" k-disabled":""),h.toLanguageString(R.messageKey,R.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?l.caretAltToRightIcon:l.caretAltToLeftIcon,1===f||void 0),q=this.renderButton(f-1,"k-pager-nav"+(1===f?" k-disabled":""),h.toLanguageString(F.messageKey,F.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?l.caretAltRightIcon:l.caretAltLeftIcon,1===f||void 0),z=this.renderButton(f+1,"k-pager-nav"+(f>=this.totalPages?" k-disabled":""),h.toLanguageString(D.messageKey,D.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?l.caretAltLeftIcon:l.caretAltRightIcon,f>=this.totalPages||void 0),B=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(f>=this.totalPages?" k-disabled":""),h.toLanguageString(N.messageKey,N.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?l.caretAltToLeftIcon:l.caretAltToRightIcon,f>=this.totalPages||void 0));const G=i&&m.createElement(Be,{pageChange:this.onPageChange,pageSize:a,pageSizes:i,value:d,messagesMap:p,size:c}),H=this.props.info&&m.createElement("span",{className:"k-pager-info"},g.format(h.toLanguageString(M.messageKey,M.defaultMessage),[Math.min(r+1,s),Math.min(r+a,s),s]));return m.createElement("div",{className:n.classNames("k-pager",{[`k-pager-${n.kendoThemeMaps.sizeMap[c]||c}`]:c},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":h.toLanguageString(w.messageKey,w.defaultMessage),"aria-label":O,ref:e=>this._element=e},m.createElement("div",{className:n.classNames("k-pager-numbers-wrap")},T,q,y,z,B),u?e&&G:G,u?t&&H:H)}renderButton(e,t,r,n,o,s){return m.createElement(a.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:t,icon:n,svgIcon:o,title:r,role:"button","aria-disabled":s,onClick:t=>{t.preventDefault(),this.changePage(e,t)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}};He.propTypes={className:r.string,style:r.object,total:r.number.isRequired,skip:r.number.isRequired,take:r.number.isRequired,buttonCount:r.number,info:r.bool,type:r.oneOf(["numeric","input"]),pageSizes:r.arrayOf(r.oneOfType([r.string,r.number])),previousNext:r.bool,onPageChange:r.func,messagesMap:r.func,size:r.oneOf([null,"small","medium","large"]),dir:r.string},He.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"};let _e=He;o.registerForIntl(_e),o.registerForLocalization(_e);let $e=class extends m.Component{constructor(){super(...arguments),this.draggable=null,this.isDragged=!1,this.onDrag=e=>{this.isDragged=!0;const t=this.draggable&&this.draggable.element;t&&this.props.resize(e.event,t,!1)},this.onRelease=e=>{if(!this.isDragged)return;const t=this.draggable&&this.draggable.element;t&&this.props.resize(e.event,t,!0),this.isDragged=!1},this.onDoubleClick=e=>{if(this.isDragged)return;const t=this.draggable&&this.draggable.element;t&&this.props.autofit&&this.props.autofit(e,t)}}render(){return m.createElement(n.Draggable,{onPress:e=>{e.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},m.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}};const We="data-keyboardnavlevel",je="data-keyboardnavscope",Ye="data-keyboardnavheader",Ve="data-keyboardnavbody",Xe="data-keyboardnavid",Ue="_filter",Qe={[je]:!0},Ze={[Ye]:!0},Je={[Ve]:!0},et=(e,t,r="cell")=>`${t}_${e}_${r}`,tt=e=>{if(!e)return;return e.getAttribute(Xe)||void 0},rt=e=>!!e&&!!e.getAttribute(Xe),nt=e=>e.querySelector(`[${Ye}]`),at=e=>e.querySelector(`[${Ve}]`),ot=(e,t,r,n,a)=>{if(!r)return[];let o=e+(a?-1:1);for(;o>=0&&o<n.length;){const e=n[o][t];if(e!==r)return[e,[o,t]];o+=a?-1:1}return[]},st=(e,t,r,n,a)=>{if(!r)return[];let o=t+(a?-1:1);for(;o>=0&&o<n[e].length;){const t=n[e][o];if(t!==r)return[t,[e,o]];o+=a?-1:1}return[]},it=(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]},lt=e=>e?`${e}${Ue}`:"",ct={generateNavigatableId:et,getNavigatableId:tt,getNavigatableLevel:e=>{if(e)return parseInt(e.getAttribute(We)||"",10)},getNavigatableElement:(e,t={level:0})=>e.querySelector(`[${We}='${t.level}']`),getClosestNavigatableElement:e=>e.parentElement&&e.parentElement.closest(`[${We}]`),getActiveNavDataElement:(e,t)=>e.querySelector(`[${Xe}='${t}']`),getClosestScope:e=>e.parentElement&&e.parentElement.closest(`[${je}]`),getHeaderElement:nt,getBodyElement:at,getFocusableElements:(e,t={focusable:!1})=>{let r=t.focusable?n.FOCUSABLE_ELEMENTS:n.TABBABLE_ELEMENTS;return Array.from(e.querySelectorAll(r.join(",")))},getNavigatableElements:(e,t={level:0})=>{if(!e)return[];let r=n.FOCUSABLE_ELEMENTS.map((e=>e+`[${We}='${t.level}']`)).join(",");return Array.from(e.querySelectorAll(r))},filterNavigatableElements:(e={level:0})=>{let t=n.FOCUSABLE_ELEMENTS.map((t=>t+`[${We}='${e.level}']`)).join(",");return e=>e.matches(t)},focusElement:e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:a}=e;if(n.current&&t&&t.focus){r.preventDefault();const e=t.querySelector(".k-checkbox-wrap .k-checkbox");e&&e.focus?e.focus():t.focus(),rt(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=tt(t)),a&&rt(a)&&a.setAttribute("tabIndex","-1")}},getIdPrefix:e=>e.current?e.current.idPrefix:"",isNavigatable:rt,findNextIdByRowIndex:ot,findNextIdByCellIndex:st,findId:it,getNextNavigationIndex:e=>e.current?e.current.navigationMatrix.length:0,getFilterColumnId:lt},ut={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};function pt(e,t){const r=e[t].depth;let n=null;for(let a=t+1;a<e.length;a++)if(e[a].depth===r){n=e[a];break}return n}const dt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce(((e,t)=>dt(t)+e),0)),t};function ht(e,t,r){let n=new Array(e.length).fill(0),a=0;t.forEach((e=>{if(e.locked&&(!e.left||r))if(e.left=n[e.depth],a=dt(e),0===e.children.length)for(let t=e.depth;t<n.length;t++)n[t]+=a;else n[e.depth]+=a}))}function gt(e,t,r){let n=0,a=new Array(e.length).fill(0);for(let e=t.length-1;e>=0;e--){const o=t[e];if(o.locked&&(!o.right||r)){if(o.right=a[o.depth],n=dt(o),0===o.children.length)for(let e=o.depth;e<a.length;e++)a[e]+=n;else a[o.depth]+=n;const r=pt(t,e);o.rightBorder=!(r&&r.locked)}}}function mt(e){return!(!e||"rtl"!==getComputedStyle(e).direction)}function ft(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 e=e=>{const t=e.getBoundingClientRect();return r.x>t.left&&r.x<t.left+t.width&&r.y>t.top&&r.y<t.top+t.height};n=Array.from(t.children).find(e)||null}const a=t.children;for(let e=0;e<a.length;e++)if(a[e]===n)return e;return-1}let vt=class extends m.PureComponent{constructor(e){super(e),this.elementRef=m.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=m.createRef()}get element(){return this.elementRef.current}render(){const e=this.hiddenElementRef.current,{status:t}=this.state,r=this.state.visible&&n.canUseDOM&&c.createPortal(m.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"}},m.createElement(n.IconWrap,{className:"k-drag-status",name:t,icon:"k-i-cancel"===t?l.cancelIcon:l.plusIcon}),this.state.innerText),e&&e.ownerDocument?e.ownerDocument.body:document.body);return m.createElement(m.Fragment,null,r,m.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}},Et=class extends m.PureComponent{constructor(e){super(e),this.state={height:0,visible:!1,left:0,top:0},this.hiddenElementRef=m.createRef()}render(){const e=this.hiddenElementRef.current,t=this.state.visible&&n.canUseDOM&&c.createPortal(m.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"}}),e&&e.ownerDocument?e.ownerDocument.body:document.body);return m.createElement(m.Fragment,null,t,m.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}};function Ct(e,t,r){return r?{...e,[t]:r.length?[...r]:void 0}:e&&e[t]?[...e[t]]:[]}function bt(e,t,r){if(e[r]){let n=Ct(e,r,u.orderBy(Ct(e,r),t)),a=Ct(n,r).map((e=>bt(e,t,r)));return{...n,[r]:a}}return e}function xt(e,t,r){let n=Ct(e,r);if(n&&n.length){n=n.map((e=>xt(e,t,r)));const a=u.filterBy(n,{filters:[{filters:t,logic:"and"},{operator:e=>!!(e[r]||[]).length}],logic:"or"});return Ct(e,r,a)}return e}const yt=(e,t,r)=>{const n=e[r]||[],a=n.findIndex(t);if(-1!==a){const t=[...n];return t.splice(a,1),{...e,[r]:t}}return e},kt=(e,t,r)=>n.getItemPath(e,t,r),It="groupId",St="items",Rt=(e,t,r)=>{e.items&&(e[It]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach((r=>Rt(r,t-1,e[It]))))},Lt=m.createContext(void 0);Lt.displayName="KendoReactTableKeyboardNavigationContext";const Ft=(e,t)=>{const r=m.useContext(Lt);return r&&e&&!1!==t?{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[We]:r.level,[Xe]:e}:{}},Dt=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],a=nt(r),o=at(r);if(!a||!o)return;const s=Array.from(a.children),i=Array.from(o.children);[...s,...i].forEach(((e,t)=>{Array.from(e.children).forEach((e=>{const r=tt(e);if(!r)return;const a=e.rowSpan||1,o=e.colSpan||1;let s;for(let e=t,o=t+a;e<o;e++){if(n[e]||(n[e]=[]),void 0===s){const t=n[e].findIndex((e=>!e));s=t>-1?t:n[e].length}n[e][s]=r||""}for(let e=s+1,a=s+o;e<a;e++)n[t][e]=r||""}))})),t.current.navigationMatrix=n.filter((e=>!!e)),t.current.lastHeaderIndex=s.length-1},Nt={onConstructor:e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:a,idPrefix:o}=e;t&&(r.current={activeId:"",level:0},a.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:o||n.guid(),navigationMatrix:[],lastHeaderIndex:-1})},onComponentDidMount:e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){Dt(e);const a=n.current.navigationMatrix.flat().find((e=>e.endsWith("cell")));if(a){const e=ct.getActiveNavDataElement(t,a);e&&(r.current.activeId=a,e.setAttribute("tabIndex","0"))}}},onGetSnapshotBeforeUpdate:e=>{const{contextStateRef:t,navigationStateRef:r,document:a}=e;if(t.current&&r.current&&a){const e=n.getActiveElement(a),o=ct.getNavigatableId(e);o&&o===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},onComponentDidUpdate:e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(Dt(e),r.current&&n.current&&t){if(!ct.getActiveNavDataElement(t,r.current.activeId)){const e=n.current.navigationMatrix[0][0],a=ct.getActiveNavDataElement(t,e);e&&a&&(r.current.activeId=e,a.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&a.focus())}n.current.activeElementIsFocused=!1}},onFocus:(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,a=ct.getNavigatableId(n);if(a&&a!==r.current.activeId){const e=ct.getClosestScope(n);if(!e)return;const t=ct.getActiveNavDataElement(e,r.current.activeId);t&&t.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=a}},onKeyDown:(e,t)=>{const{contextStateRef:r,navigationStateRef:a,onNavigationAction:o}=t;if(e.isDefaultPrevented()||!r.current||!a.current)return;if(e.keyCode===n.Keys.esc){const t=ct.getClosestNavigatableElement(e.target);return void ct.focusElement({elementForFocus:t,event:e,contextStateRef:r})}const s=e.target,i=-1===s.className.indexOf("k-checkbox")?s:ct.getClosestNavigatableElement(s),l=ct.getNavigatableId(i),c=ct.getNavigatableLevel(i),u=ct.getClosestScope(i),p=a.current.navigationMatrix;if(void 0!==c&&u){if(e.keyCode===n.Keys.enter){const t=ct.getNavigatableElement(i,{level:c+1});if(t)return void ct.focusElement({elementForFocus:t,event:e,contextStateRef:r,prevElement:i});{const t=ct.getFocusableElements(i)[0];return void ct.focusElement({elementForFocus:t,event:e,contextStateRef:r,prevElement:i})}}if(e.keyCode===n.Keys.up||e.keyCode===n.Keys.down||e.keyCode===n.Keys.left||e.keyCode===n.Keys.right){const t=e.keyCode===n.Keys.up||e.keyCode===n.Keys.left,s=e.keyCode===n.Keys.up||e.keyCode===n.Keys.down;let c;if(a.current&&a.current.prevNavigationIndexes){const[e,t]=a.current.prevNavigationIndexes;c=p[e][t]===l?a.current.prevNavigationIndexes:it(p,l)}else c=it(p,l);if(c){const[n,d]=c,[h,g]=s?ot(n,d,l,p,t):st(n,d,l,p,t);if(h){const t=ct.getActiveNavDataElement(u,h);ct.focusElement({elementForFocus:t,event:e,contextStateRef:r,prevElement:i}),a.current.prevNavigationIndexes=g,o&&o({focusElement:t,event:e})}}}}},generateMatrix:Dt},Mt="data-grid-row-index",wt="data-grid-col-index",At="data-prevent-selection",Pt={},Kt=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if("TABLE"===r.tagName)return null;r=r.parentElement}return null},Ot=e=>{if(!e)return;const t=e.getAttribute(Mt);return t?parseInt(t,10):void 0},Tt=e=>{if(!e)return;const t=e.getAttribute(wt);return t?parseInt(t,10):void 0},qt=e=>{const{event:t,dataItemKey:r,selectedState:a}=e,{dataItems:o,startRowIndex:s,endRowIndex:i,startColIndex:l,endColIndex:c,cell:u,isDrag:p,ctrlKey:d,shiftKey:h,metaKey:g,componentId:m,mode:f,dataItem:v}=t,E=n.getter(r);let C={};const b=null!==v;if("single"===f){const e=o.slice(s,s+1)[0],t=E(e);Pt[m]={rowIndex:s,colIndex:l},C[t]=!u||[l]}else if(!p&&(h||d||g||b)){if(d||g||b){Pt[m]={rowIndex:s,colIndex:l};const e=o.slice(s,i+1)[0],t=E(e);C={...a},C[t]=u&&!b?((e,t)=>!e||Array.isArray(e)&&0===e.length?[t]:e.findIndex((e=>e===t))>-1?e.filter((e=>e!==t)):[...e,t])(C[t],l):!C[t]}else if(h){const e=Pt[m]&&Pt[m].rowIndex||0,t=Pt[m]&&Pt[m].colIndex||0,r=Math.min(e,s,i),n=Math.max(e,s,i),a=Math.min(t,l,c),p=Math.max(t,l,c),d=[];for(let e=a;e<=p;e++)d.push(e);o.slice(r,n+1).forEach((e=>{const t=E(e);C[t]=!u||[...d]}))}}else{p||(Pt[m]={rowIndex:s,colIndex:l});const e=[];for(let t=l;t<=c;t++)e.push(t);o.slice(s,i+1).forEach((t=>{const r=E(t);C[r]=!u||[...e]}))}return C},zt=n.hasRelativeStackingContext(),Bt=e=>{if(!e||!zt)return null;let t=e.parentElement;for(;t;){if("none"!==window.getComputedStyle(t).transform)return t;t=t.parentElement}},Gt=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}},Ht=e=>({enabled:!!e&&("boolean"!=typeof e.enabled||e.enabled),drag:!!e&&!!e.drag,mode:e&&e.mode?e.mode:"multiple",cell:!(!e||!e.cell)});var _t=(e=>(e.copy="copy",e.cut="cut",e.paste="paste",e))(_t||{});const $t=e=>class extends m.Component{constructor(){super(...arguments),this.filterChange=e=>{this.props.onFilterChange&&this.props.onFilterChange(e)},this.inputChange=t=>{const r=t.target.value,{filter:n=[],field:a=""}=this.props,o=this.findCellFilter(),s=o?n.map((e=>e.field===a?{...o,value:r}:e)):[...n,{...e.emptyFilter,value:r,field:a}];this.filterChange({filter:s,field:a,syntheticEvent:t.syntheticEvent})},this.operatorChange=t=>{const{operator:r}=t.target.value,{filter:n=[],field:a=""}=this.props,o=this.findCellFilter(),s=o?n.map((e=>e.field===a?{...o,operator:r}:e)):[...n,{...e.emptyFilter,field:a,operator:r}];this.filterChange({filter:s,field:a,syntheticEvent:t.syntheticEvent})},this.clearButtonClick=e=>{const{filter:t=[],field:r=""}=this.props;this.filterChange({filter:t.filter((e=>e.field!==r)),field:r,syntheticEvent:e})},this.findCellFilter=()=>{const{filter:e=[],field:t}=this.props;return e.find((e=>e.field===t))}}render(){const{clearButtonTitle:t="",operators:r=[]}=this.props,o=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:s,value:i}=o,c={ariaLabel:"filter",value:r.find((e=>e.operator===s))||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:l.filterIcon,data:r,textField:"text",popupSettings:{width:""},components:this.props.components};return m.createElement("div",{className:"k-filtercell"},m.createElement("span",null,e.inputComponent({value:i,onChange:this.inputChange,components:this.props.components,ariaLabel:this.props.ariaLabel,min:this.props.min,max:this.props.max}),m.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(c,this.props)," ",m.createElement(a.Button,{className:n.classNames({"k-clear-button-visible":!(null===i||""===i)||s}),title:t,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:l.filterClearIcon,disabled:!(null!==i&&""!==i||s)}))))}},Wt={emptyFilter:{operator:"eq",value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,a=r.find((e=>e.field===n));return m.createElement(i.DropDownList,{...e,value:e.data.find((e=>e.operator===(a?a.value:""))),onChange:e=>{if(!t.onFilterChange)return;const o=e.target.value.operator;if(""===o)return void(a&&t.onFilterChange.call(void 0,{filter:r.filter((e=>e.field!==a.field)),field:n,syntheticEvent:e.syntheticEvent}));let s=a?r.map((e=>e.field===n?{...a,value:o}:e)):[...r,{value:o,field:n,operator:"eq"}];t.onFilterChange.call(void 0,{filter:s,field:n,syntheticEvent:e.syntheticEvent})}})}};let jt=class extends($t(Wt)){};const Yt={inputComponent:e=>m.createElement(p.DatePicker,{...e}),operatorComponent:e=>m.createElement(i.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};let Vt=class extends($t(Yt)){};const Xt={inputComponent:e=>m.createElement(s.NumericTextBox,{...e}),operatorComponent:e=>m.createElement(i.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};let Ut=class extends($t(Xt)){};const Qt={inputComponent:e=>m.createElement(s.Input,{...e}),operatorComponent:e=>m.createElement(i.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};let Zt=class extends($t(Qt)){};const Jt=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:a,style:o,columnId:s,onKeyDown:i,navigatable:l,ariaColumnIndex:c,ariaLabel:u,role:p,ariaSelected:d}=e,h=Ft(s,l);return m.createElement("th",{"aria-sort":t,"aria-label":u,"aria-colindex":c,"aria-selected":d,colSpan:r,rowSpan:n,className:a,style:o,onKeyDown:i,role:p,...h},e.children)};Jt.displayName="KendoReactHeaderThElement";const er="k-table-row k-filter-row",tr=(e,t,r)=>{let n=""+(r?"k-grid-header-sticky":"");return e.some((e=>e.field===t))&&(n+=" k-sorted"),n};let rr=class extends m.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:e}=this.props;e&&e.resizable&&e.setIsRtl(mt(this.element))}render(){return m.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:e=>this.element=e,...Ze},this.props.headerRow,this.props.filterRow)}};function nr(e){const t=e.onClick?{onClick:e.onClick}:{},r=m.createElement("span",{className:"k-link",...t},m.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return m.createElement(m.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const ar=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);let or=class extends m.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.pressHandler&&this.props.pressHandler(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.dragHandler&&this.props.dragHandler(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(e.event)}}render(){return m.createElement(n.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},m.createElement("tr",{className:"k-table-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},this.props.children))}};const sr={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ir={none:"none",asc:"ascending",desc:"descending"};class lr extends m.Component{constructor(){super(...arguments),this.cellClick=(e,t)=>{if(e.preventDefault(),!this.props.sortChange)return;const{allowUnsort:r,mode:n}=ar(this.props.sortable||!1,t.sortable||!1),a=(this.props.sort||[]).filter((e=>e.field===t.field))[0],o=sr[r][a&&a.dir||""],s="single"===n?[]:(this.props.sort||[]).filter((e=>e.field!==t.field));""!==o&&t.field&&s.push({field:t.field,dir:o}),this.props.sortChange(e,s,t.field)},this.cellKeyDown=(e,t)=>{e.isDefaultPrevented()||e.keyCode===n.Keys.enter&&this.cellClick(e,t)},this.cells=e=>e.map(((e,t)=>{const r=this.props.columns[e],{columnResize:a}=this.props,s=a&&a.resizable&&r.resizable,i=this.props.sortable&&r.sortable,l=this.props.sort?this.props.sort.findIndex((e=>e.field===r.field)):-1,c=l>=0&&this.props.sort[l].dir||"none",u={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:r.field},p={field:r.field,onClick:i&&(e=>this.cellClick(e,r))||void 0,selectionChange:this.props.selectionChange,title:r.title,selectionValue:r.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(l),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:u},d=r.columnMenu||this.props.columnMenu,h=n.classNames("k-table-th",{"k-first":r.kFirst,"k-filterable":!!d,"k-header":!0,"k-grid-header-sticky":r.locked,"k-sorted":this.props.sort&&this.props.sort.some((e=>e.field===r.field))},r.headerClassName),g=void 0!==r.locked?{left:r.left,right:r.right,borderRightWidth:r.rightBorder?"1px":""}:{},f=o.provideLocalizationService(this).toLanguageString(Ke,Te[Ke]);let v=r.isAccessible?{ariaSort:i?ir[c]:void 0,role:"columnheader",ariaColumnIndex:r.ariaColumnIndex,ariaSelected:!1,ariaDescription:i?f:""}:{role:"presentation"};return m.createElement(Jt,{key:t,colSpan:r.colSpan,rowSpan:r.rowSpan,className:h,style:g,columnId:r.id,navigatable:r.navigatable,onKeyDown:i&&(e=>this.cellKeyDown(e,r))||void 0,...v},r.headerCell&&m.createElement(r.headerCell,{...p}),!r.headerCell&&m.createElement("span",{className:"k-cell-inner"},m.createElement(nr,{...p}),d&&m.createElement(d,{...u})),a&&s&&m.createElement($e,{key:"ColumnResizer",resize:(e,t,n)=>a.dragHandler(e,r,t,n)}))}))}sortIcon(e){if(!this.props.sort||e<0)return null;const t=this.props.sort[e].dir;return t?[m.createElement(n.IconWrap,{key:1,name:`sort-${t}-small`,icon:"asc"===t?l.sortAscSmallIcon:l.sortDescSmallIcon}),this.props.sort.length>1&&m.createElement("span",{key:2,className:"k-sort-order"},e+1)]:null}render(){return this.props.columnsMap.map(((e,t)=>this.props.pressHandler&&m.createElement(or,{key:t,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:t+1},this.cells(e))||m.createElement("tr",{className:"k-table-row","aria-rowindex":t+1,role:"row"},this.cells(e))))}}o.registerForLocalization(lr);const cr=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=o.provideLocalizationService(this),{ariaLabel:t=e.toLanguageString(le,Te[le])}=this.props;return m.createElement(s.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":t})}};cr.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,ariaLabel:r.string};let ur=cr;o.registerForLocalization(ur);const pr=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=o.provideLocalizationService(this),{min:t,max:r,filter:n,ariaLabel:a=e.toLanguageString(ie,Te[ie])}=this.props;return m.createElement(s.NumericTextBox,{value:"number"==typeof n.value?n.value:null,onChange:this.onChange,ariaLabel:a,"aria-valuemin":t,"aria-valuemax":r,min:t,max:r})}};pr.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired};let dr=pr;o.registerForLocalization(dr);const hr=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=this.props.filter;return m.createElement(p.DatePicker,{value:e.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}};hr.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,ariaLabel:r.string};let gr=hr;const mr=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value.value}})}}render(){const e=o.provideLocalizationService(this),{filter:t,data:r=[],defaultItem:n,ariaLabel:a=e.toLanguageString(se,Te[se])}=this.props,s=r.map((t=>({...t,text:e.toLanguageString(t.text,Te[t.text]||t.text)})));return m.createElement(i.DropDownList,{value:s.find((e=>e.value===t.value))||null,onChange:this.onChange,defaultItem:n,data:s,textField:"text",ariaLabel:a})}};mr.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,data:r.arrayOf(r.shape({text:r.string,value:r.any})),defaultItem:r.any,ariaLabel:r.string};let fr=mr;o.registerForLocalization(fr);const vr=class extends m.Component{constructor(){super(...arguments),this.data=[{text:W,value:!0},{text:j,value:!1}]}render(){return m.createElement(fr,{filter:this.props.filter,onFilterChange:this.props.onFilterChange,data:this.props.data||this.data,defaultItem:this.props.defaultItem,ariaLabel:this.props.ariaLabel})}};vr.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,data:r.arrayOf(r.shape({text:r.string,value:r.any})),ariaLabel:r.string,defaultItem:r.any};let Er=vr;const Cr=[{text:q,operator:"contains"},{text:z,operator:"doesnotcontain"},{text:M,operator:"eq"},{text:w,operator:"neq"},{text:T,operator:"startswith"},{text:B,operator:"endswith"},{text:A,operator:"isnull"},{text:P,operator:"isnotnull"},{text:K,operator:"isempty"},{text:O,operator:"isnotempty"}],br=[{text:M,operator:"eq"},{text:w,operator:"neq"},{text:G,operator:"gte"},{text:H,operator:"gt"},{text:_,operator:"lte"},{text:$,operator:"lt"},{text:A,operator:"isnull"},{text:P,operator:"isnotnull"}],xr=[{text:M,operator:"eq"},{text:w,operator:"neq"},{text:Y,operator:"gte"},{text:V,operator:"gt"},{text:X,operator:"lt"},{text:U,operator:"lte"},{text:A,operator:"isnull"},{text:P,operator:"isnotnull"}],yr=[{text:M,operator:"eq"},{text:w,operator:"neq"}];const kr=e=>"contains"===e||"doesnotcontain"===e||"startswith"===e||"endswith"===e,Ir=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Sr=e=>{void 0===e.value&&!Ir(e.operator)&&(e.value=kr(e.operator)?"":null)},Rr=class extends m.Component{constructor(){super(...arguments),this.onFieldChange=e=>{const t=e.value.name,r=this.props.fields.find((e=>e.name===t)),n=this.props.filter,a=r&&!r.operators.some((e=>e.operator===n.operator))?r.operators[0].operator:n.operator,o={field:t,operator:a};Sr(o),this.triggerOnFilterChange(n,o,e)},this.onOperatorChange=e=>{const t=e.value.operator,r=this.props.filter;let n;if(Ir(t)){let{value:e,...a}=r;n={...a,operator:t}}else n={...r,operator:t};Sr(n),this.triggerOnFilterChange(r,n,e)},this.onInputChange=e=>{const t=this.props.filter;let r=e.nextFilter;if(Ir(r.operator)){const e=this.props.fields.find((e=>e.name===r.field));r={...r,operator:e&&e.operators[0].operator||r.operator}}this.triggerOnFilterChange(t,r,e)},this.triggerOnFilterChange=(e,t,r)=>{const n={prevFilter:e,nextFilter:t,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onFilterRemove=e=>{const t={filter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onRemove.call(void 0,t)}}render(){const e=o.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(ne,Te[ne])}=this.props,s=t.find((e=>e.name===r.field)),c=(s&&s.operators||[]).map((t=>({...t,text:e.toLanguageString(t.text,Te[t.text]||t.text)})));return m.createElement("div",{className:"k-filter-toolbar"},m.createElement(a.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},m.createElement(a.ToolbarItem,{className:"k-filter-field"},m.createElement(i.DropDownList,{className:"k-filter-dropdown",data:t,textField:"label",value:t.find((e=>e.name===r.field)),onChange:this.onFieldChange,ariaLabel:e.toLanguageString(ae,Te[ae])})),m.createElement(a.ToolbarItem,{className:"k-filter-operator"},m.createElement(i.DropDownList,{data:c,textField:"text",value:c.find((e=>e.operator===r.operator)),onChange:this.onOperatorChange,ariaLabel:e.toLanguageString(oe,Te[oe])})),m.createElement(a.ToolbarItem,{className:"k-filter-value"},s&&m.createElement(s.filter,{filter:r,onFilterChange:this.onInputChange,min:s.min,max:s.max})),m.createElement(a.Button,{className:"k-toolbar-button",title:e.toLanguageString(te,Te[te]),icon:"x",svgIcon:l.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}};Rr.propTypes={filter:r.object.isRequired,fields:r.array.isRequired,ariaLabel:r.string,onChange:r.func.isRequired,onRemove:r.func.isRequired};let Lr=Rr;o.registerForLocalization(Lr);const Fr=class e extends m.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=kr(n.operator)?"":null;const a={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,a)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map((r=>r===e?t:r));return{...r,filters:n}},this.onChange=e=>{const t={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,t)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter((t=>t!==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 t=o.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:s=t.toLanguageString(re,Te[re])}=this.props;return m.createElement(m.Fragment,null,m.createElement("div",{className:"k-filter-toolbar"},m.createElement(a.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:s},m.createElement(a.ButtonGroup,{className:"k-toolbar-button-group"},m.createElement(a.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:"and"===n.logic,type:"button"},t.toLanguageString(Q,Te[Q])),m.createElement(a.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:"or"===n.logic,type:"button"},t.toLanguageString(Z,Te[Z]))),m.createElement(a.Button,{className:"k-toolbar-button",title:t.toLanguageString(J,Te[J]),icon:"filter-add-expression",svgIcon:l.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},t.toLanguageString(J,Te[J])),m.createElement(a.Button,{className:"k-toolbar-button",title:t.toLanguageString(ee,Te[ee]),icon:"filter-add-group",svgIcon:l.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},t.toLanguageString(ee,Te[ee])),m.createElement(a.Button,{className:"k-toolbar-button",title:t.toLanguageString(te,Te[te]),icon:"x",svgIcon:l.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),n.filters.length>0&&m.createElement("ul",{role:"group",className:"k-filter-lines"},n.filters.map(((t,n)=>m.createElement("li",{role:"treeitem",key:n,className:"k-filter-item"},u.isCompositeFilterDescriptor(t)?m.createElement(e,{filter:t,fields:r,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):m.createElement(Lr,{filter:t,fields:r,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove}))))))}};Fr.propTypes={filter:r.object.isRequired,fields:r.array.isRequired,ariaLabel:r.string,ariaLabelExpression:r.string,onChange:r.func.isRequired,onRemove:r.func.isRequired,defaultGroupFilter:r.object.isRequired};let Dr=Fr;o.registerForLocalization(Dr);const Nr=class extends m.Component{constructor(e){super(e),this.onFilterChange=e=>{const t={filter:e.nextFilter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,t)},this.onGroupRemove=e=>{const t={filter:{...this.props.value,filters:[]},syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,t)},n.validatePackage(Ge)}render(){return m.createElement("div",{className:n.classNames("k-filter",this.props.className),style:this.props.style},m.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},m.createElement("li",{role:"treeitem",className:"k-filter-group-main"},m.createElement(Dr,{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:[]}}))))}};Nr.propTypes={className:r.string,style:r.object,fields:function(e,t){const r=e[t];return void 0===r?new Error(`Property '${t}' is missing.`):Array.isArray(r)?Object.keys(r.reduce(((e,t)=>({...e,[t.name]:1})),{})).length!==r.length?new Error(`Property '${t}' needs to contain objects with unique 'name' field.`):null:new Error(`Property '${t}' needs to be Array<FieldSettings>.`)},ariaLabelGroup:r.string,ariaLabelExpression:r.string,value:r.object.isRequired,onChange:r.func.isRequired};let Mr=Nr;const wr=e=>m.createElement("div",{onClick:e.onClick,className:n.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&m.createElement(n.IconWrap,{name:e.iconClass?n.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),Ar=[{text:xe,operator:"contains"},{text:ye,operator:"doesnotcontain"},{text:ge,operator:"eq"},{text:me,operator:"neq"},{text:be,operator:"startswith"},{text:ke,operator:"endswith"},{text:fe,operator:"isnull"},{text:ve,operator:"isnotnull"},{text:Ee,operator:"isempty"},{text:Ce,operator:"isnotempty"}],Pr=[{text:ge,operator:"eq"},{text:me,operator:"neq"},{text:Ie,operator:"gte"},{text:Se,operator:"gt"},{text:Re,operator:"lte"},{text:Le,operator:"lt"},{text:fe,operator:"isnull"},{text:ve,operator:"isnotnull"}],Kr=[{text:ge,operator:"eq"},{text:me,operator:"neq"},{text:De,operator:"gte"},{text:Ne,operator:"gt"},{text:Me,operator:"lt"},{text:we,operator:"lte"},{text:fe,operator:"isnull"},{text:ve,operator:"isnotnull"}],Or=[{text:Fe,operator:""}];let Tr=class{static get text(){return[...Ar]}static get numeric(){return[...Pr]}static get date(){return[...Kr]}static get boolean(){return[...Or]}};const qr=e=>{const{filter:t,onFilterChange:r,operators:n,initialFilter:a}=e,s=m.useCallback((e=>{const n=t,o=e.target.value.operator,s=n?{...n,operator:o}:{value:a.value,operator:o};r.call(void 0,e.syntheticEvent,s,n)}),[t,r,a]),l=m.useCallback((e=>{const a=e.target.value,o=t,s=o?{...o,value:a}:{value:a,operator:n[0].operator};r.call(void 0,e,s,o)}),[t,r,n]),c=o.useLocalization(),u=n.map((e=>({...e,text:c.toLanguageString(e.text,Te[e.text])})));return m.createElement(m.Fragment,null,m.createElement(i.DropDownList,{value:u.find((e=>e.operator===t.operator))||null,onChange:s,data:u,textField:"text"}),m.createElement(e.input,{value:t.value,onChange:l}))},zr=e=>{const{filter:t,onFilterChange:r}=e,n=m.useCallback((e=>r.call(void 0,e.syntheticEvent,{...t,value:e.value},t)),[t,r]),a=Tr.boolean[0].text;return m.createElement(s.Checkbox,{onChange:n,checked:t.value,label:o.useLocalization().toLanguageString(a,Te[a]),labelPlacement:"after"})},Br=e=>{const t=m.useCallback((e=>m.createElement(s.Input,{...e,value:e.value||""})),[]),r=m.useRef(Tr.text),n=m.useRef({operator:"",value:""});return m.createElement(qr,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Gr=e=>{const t=m.useCallback((e=>m.createElement(s.NumericTextBox,{...e,value:e.value||null})),[]),r=m.useRef(Tr.numeric),n=m.useRef({operator:"",value:null});return m.createElement(qr,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Hr=e=>{const t=m.useCallback((e=>m.createElement(p.DatePicker,{...e,value:e.value||null})),[]),r=m.useRef(Tr.date),n=m.useRef({operator:"",value:null});return m.createElement(qr,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},_r=[{text:Ae,logic:"and"},{text:Pe,logic:"or"}],$r=e=>{const t=o.useLocalization(),r=(e.data||_r).map((e=>({...e,text:t.toLanguageString(e.text,Te[e.text])})));return m.createElement(i.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find((t=>t.logic===e.value))})},Wr=e=>m.createElement("div",{className:"k-columnmenu-item-content"},m.createElement(h.Reveal,{style:{position:"relative",display:"block"}},e.show&&m.createElement("div",{className:"kendo-grid-filter-menu-container"},m.createElement("form",{className:"k-filter-menu",onSubmit:e.onSubmit,onReset:e.onReset},m.createElement("div",{className:"k-filter-menu-container"},e.children,m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),jr=e=>{const t=o.useLocalization();return m.createElement(Wr,{...e,actions:m.createElement(m.Fragment,null,m.createElement(a.Button,{type:"reset"},t.toLanguageString(ce,Te[ce])),m.createElement(a.Button,{themeColor:"primary"},t.toLanguageString(ue,Te[ue])))})},Yr=e=>{n.validatePackage(Ge);const t=m.useRef([]),{field:r,filter:a,sort:s=t.current,onSortChange:i,onFilterChange:c,initialFilter:p,sortAsc:h=!1,sortDesc:g=!1,filterContent:f=[],expandFilters:v=!1}=e,[E,C]=m.useState(!1),[b,x]=m.useState(v),[y,k]=m.useState(r&&p?p(r):null),I=m.useRef(null),S=m.useRef(null),R=m.useRef(null),L=m.useRef(!1),F=m.useCallback((()=>(a||[]).find((e=>e.filters.every((e=>!u.isCompositeFilterDescriptor(e)&&e.field===r))))),[a,r]),D=m.useCallback((()=>{C(!1)}),[]),N=m.useCallback((()=>{L.current?L.current=!1:(clearTimeout(R.current),R.current=window.setTimeout((()=>{D()})))}),[D]),M=m.useCallback((()=>clearTimeout(R.current)),[]),w=m.useCallback((e=>{L.current=E&&e.currentTarget===I.current}),[E]),A=m.useCallback((()=>{C(!E),r&&p&&(x(!E&&v),k(E?y:F()||p(r)))}),[F,r,E,y,p,v]);m.useEffect((()=>{E&&S.current&&S.current.focus()}),[E]);const P=m.useCallback((()=>x(!b)),[b]),K=m.useCallback(((e,t)=>{const n=[...s],a=n.findIndex((e=>e.field===r)),o={field:r,dir:t};a>=0?n[a].dir!==o.dir?n.splice(a,1,o):n.splice(a,1):n.push(o),D(),i&&i.call(void 0,e,n,r)}),[s,r,i,D]),O=m.useCallback(((e,t,r)=>{const n={...y,filters:[...y.filters]},a=n.filters.indexOf(r);n.filters.splice(a,1,t),k(n)}),[y]),T=m.useCallback((e=>{e.preventDefault();const t=(a||[]).slice(),n=F(),o=n?t.indexOf(n):-1;o>=0?t.splice(o,1,y):t.push(y),D(),c&&c.call(void 0,e,t,r)}),[a,y,r,c,D,F]),q=m.useCallback((e=>{const t=(a||[]).slice(),n=F(),o=n?t.indexOf(n):-1;o>=0&&t.splice(o,1),p&&k(p(r)),D(),c&&c.call(void 0,e,t,r)}),[a,r,c,p,D,F]),z=m.useCallback((e=>K(e,"asc")),[K]),B=m.useCallback((e=>K(e,"desc")),[K]),G=m.useCallback((e=>y&&k({...y,logic:e.value.logic})),[y]),H=s.find((e=>e.field===r))||{dir:""},[_,$,W]=f,j=o.useLocalization(),Y=[h||g?m.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},h&&m.createElement(wr,{title:j.toLanguageString(de,Te[de]),iconClass:"k-i-sort-asc-small",svgIcon:l.sortAscSmallIcon,selected:"asc"===H.dir,onClick:z}),g&&m.createElement(wr,{title:j.toLanguageString(he,Te[he]),iconClass:"k-i-sort-desc-small",svgIcon:l.sortDescSmallIcon,selected:"desc"===H.dir,onClick:B})):null,y&&f.length>0?m.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},m.createElement(wr,{iconClass:"k-i-filter",svgIcon:l.filterIcon,title:j.toLanguageString(pe,Te[pe]),onClick:P}),m.createElement(jr,{show:b,onSubmit:T,onReset:q},_&&m.createElement(_,{filter:y.filters[0],onFilterChange:O}),$&&m.createElement($,{value:y.logic,onChange:G}),W&&m.createElement(W,{filter:y.filters[1],onFilterChange:O}))):null],V=[m.createElement("span",{ref:I,onClick:A,onMouseDown:w,className:"k-grid-header-menu k-grid-column-menu"+(F()?" k-active":""),key:"button"},m.createElement(n.IconWrap,{name:"filter",icon:l.filterIcon})),m.createElement(d.Popup,{anchor:I.current,show:E,key:"popup",popupClass:"k-column-menu k-column-menu-popup"},m.createElement("div",{ref:S,tabIndex:0,onBlur:N,onFocus:M,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,Y,{closeMenu:D,field:r}):Y))];return m.createElement(m.Fragment,null,e.render?e.render.call(void 0,V):V)};e.BooleanFilter=Er,e.BooleanFilterCell=jt,e.ClipboardActionType=_t,e.ClipboardService=class{constructor(e){this.copyHandler=e=>{this.clipboardEvent(_t.copy,e)},this.cutHandler=e=>{this.clipboardEvent(_t.cut,e)},this.pasteHandler=e=>{this.clipboardEvent(_t.paste,e)},this.addEventListeners=e=>{e&&(e.addEventListener(_t.copy,this.copyHandler),e.addEventListener(_t.cut,this.cutHandler),e.addEventListener(_t.paste,this.pasteHandler))},this.removeEventListeners=e=>{e&&(e.removeEventListener(_t.copy,this.copyHandler),e.removeEventListener(_t.cut,this.cutHandler),e.removeEventListener(_t.paste,this.pasteHandler))},this.clipboardEvent=e}},e.ColumnDefaultProps=ut,e.ColumnMenuBooleanColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"and",filters:[{operator:"eq",field:e,value:!1}]})),[]),a=!!e.field,o=a?[zr]:[];return m.createElement(Yr,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuBooleanFilter=zr,e.ColumnMenuDateColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"or",filters:[{operator:"eq",field:e,value:null},{operator:"eq",field:e,value:null}]})),[]),a=!!e.field,o=a?[Hr,$r,Hr]:[];return m.createElement(Yr,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuDateFilter=Hr,e.ColumnMenuFilterForm=jr,e.ColumnMenuFilterLogic=$r,e.ColumnMenuForm=Wr,e.ColumnMenuItem=wr,e.ColumnMenuNumericColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"or",filters:[{operator:"eq",field:e,value:null},{operator:"eq",field:e,value:null}]})),[]),a=!!e.field,o=a?[Gr,$r,Gr]:[];return m.createElement(Yr,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuNumericFilter=Gr,e.ColumnMenuOperators=Tr,e.ColumnMenuTextColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"and",filters:[{operator:"contains",field:e,value:""},{operator:"contains",field:e,value:""}]})),[]),a=!!e.field,o=a?[Br,$r,Br]:[];return m.createElement(Yr,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuTextFilter=Br,e.ColumnResize=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.onResize=e,this.dragHandler=this.dragHandler.bind(this)}dragHandler(e,t,r,n){const a=e.originalEvent;n||(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation());const o=r.parentElement;if(!o||!o.parentElement)return;const s=o.clientWidth;let i;if(this.isRtl?(i=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX,i+=s):i=s+e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!n&&Math.abs(i-s)<1)return;this.setWidths(t,Math.floor(i)/s);const l=this.columns.filter((e=>!e.children.length)).indexOf(t);this.onResize(l,s,i,a,n)}setWidths(e,t){const r=this.columns.indexOf(e),n=[];let a=e.children.length;for(let e=r+1;a>0&&e<this.columns.length;e++,a--){const t=this.columns[e];t.children.length?a+=t.children.length:n.push(t)}0===n.length&&n.push(e),n.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const n=void 0===e.minResizableWidth?10:e.minResizableWidth;r<n&&(r=n),e.width=Math.floor(r)})),this.updateColElements(n)}updateColElements(e){const t=this.columns.filter((e=>!e.children.length));let r=1e-10;for(let n=0;n<e.length;n++){const a=t.indexOf(e[n]),o=parseFloat((e[n].width||0).toString());r+=o-Math.floor(o);const s=Math.floor(o)+Math.floor(r);r-=Math.floor(r),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[a],s),this.setColWidth(this.colGroupHeader&&this.colGroupHeader.children[a],s),this.setColWidth(this.colGroupFooter&&this.colGroupFooter.children[a],s)}}setColWidth(e,t){e&&(e.style.width=t+"px")}},e.ColumnResizer=$e,e.CommonDragLogic=class{constructor(e,t,r){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=e=>{this.groupPanelDivElement=e},this.refDropElementClue=e=>{this.dropElementClue=e},this.refDragElementClue=e=>{this.dragElementClue=e},this.pressHandler=(e,t)=>{const r=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),r>=0){const e=this.columns[r];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=r)}},this.dragHandler=(e,t)=>{if(e.isTouch||e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),-1===this.startColumn&&-1===this.startGroup)return;this.currentColumn=this.getColumnIndex(e,t),this.currentGroup=this.getGroupIndex(e),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const r=!this.isValid();r&&(this.currentColumn=-1,this.currentGroup=-1);const n=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,n,r),this.updateDropElementClue(e,t,n,r)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,n=this.startGroup,a=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const o=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,o&&(t>=0&&r>=0?this.columnReorder(t,r,e.originalEvent):n>=0&&a>=0?this.groupReorder(n,a,e.originalEvent):t>=0&&a>=0&&this.columnToGroup(t,a,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=r}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const r=ft(e,t);if(-1===r)return-1;for(let e=0;e<t.parentNode.children.length;e++)if(t.parentNode.children[e]===t)return this.columns.findIndex((t=>t.index===r&&t.depth===e));return-1}getGroupIndex(e){return ft(e,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)}updateDragElementClue(e,t,r,n){if(!this.dragElementClue)return;const a=this.startColumn>=0?t.children[this.columns[this.startColumn].index].innerText:t.innerText;this.dragElementClue.setState({visible:!0,top:e.pageY+10,left:e.pageX,innerText:a,status:n||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,n){if(!this.dropElementClue)return;if(n||!r)return void this.dropElementClue.setState({visible:!1});const a=r.getBoundingClientRect();let o=a.left+e.pageX-e.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(o+=a.width);const s=a.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:s,left:o,height:this.currentColumn>=0?t.clientHeight:a.height})}},e.DateFilter=gr,e.DateFilterCell=Vt,e.DragClue=vt,e.DropClue=Et,e.EnumFilter=fr,e.Expression=Lr,e.FILTER_ROW_CLASS=er,e.Filter=Mr,e.FilterRow=function(e){const{columns:t,filter:r,filterChange:a,sort:s=[],ariaRowIndex:i}=e,l=o.useLocalization();return m.createElement("tr",{className:er,"aria-rowindex":i,role:"row"},t.map(((e,t)=>{const o=void 0!==e.locked?{left:e.left,right:e.right,borderRightWidth:e.rightBorder?"1px":""}:{},i=e.filterCell||e.filter;return m.createElement(Jt,{columnId:lt(e.id),navigatable:e.navigatable,style:o,key:t,ariaColumnIndex:e.ariaColumnIndex,ariaLabel:i?l.toLanguageString(Oe,Te[Oe]):void 0,className:n.classNames("k-table-th k-header",tr(s,e.field,e.locked))},i&&m.createElement(i,{field:e.field,filter:r,onFilterChange:a}))})))},e.Group=Dr,e.Header=rr,e.HeaderCell=nr,e.HeaderRow=lr,e.HeaderSelectionCell=function(e){const t=[m.createElement("input",{key:0,checked:e.selectionValue,id:e.inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:t=>e.selectionChange({field:e.field,syntheticEvent:t})}),m.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return m.createElement(m.Fragment,null,e.render?e.render.call(void 0,t,e):t)},e.HeaderThElement=Jt,e.KEYBOARD_NAV_DATA_BODY=Ve,e.KEYBOARD_NAV_DATA_HEADER=Ye,e.KEYBOARD_NAV_DATA_ID=Xe,e.KEYBOARD_NAV_DATA_LEVEL=We,e.KEYBOARD_NAV_DATA_SCOPE=je,e.KEYBOARD_NAV_DATA_ZONE="data-keyboardnavzone",e.KEYBOARD_NAV_FILTER_COL_SUFFIX=Ue,e.NumericFilter=dr,e.NumericFilterCell=Ut,e.Operators=class{static get text(){return[...Cr]}static get numeric(){return[...br]}static get date(){return[...xr]}static get boolean(){return[...yr]}},e.Pager=_e,e.TABLE_COL_INDEX_ATTRIBUTE=wt,e.TABLE_PREVENT_SELECTION_ELEMENT=At,e.TABLE_ROW_INDEX_ATTRIBUTE=Mt,e.TableKeyboardNavigationContext=Lt,e.TableSelection=e=>{var t;const{onRelease:r,childRef:a}=e,{enabled:o,drag:s,mode:i,cell:l}=Ht(e.selectable),c=m.useRef(null),u=m.useRef(null),p=m.useRef({clientX:0,clientY:0}),[d,h]=m.useState(null),g=m.useRef(),v=m.useRef(!1),E=m.useRef(!1),C=m.useCallback((e=>{const{event:t}=e;E.current=t.originalEvent.target.hasAttribute(At),!E.current&&c.current&&(g.current=Bt(c.current.element),p.current={clientY:t.clientY,clientX:t.clientX})}),[]),b=m.useCallback((e=>{const{event:t}=e,{clientX:r,clientY:n}=p.current;if(!E.current&&s&&"single"!==i&&((Math.abs(n-t.clientY)>5||Math.abs(r-t.clientX)>5)&&(v.current=!0),v.current)){const e=Gt(g.current);h({top:Math.min(n,t.clientY)-e.top,left:Math.min(r,t.clientX)-e.left,width:Math.abs(t.clientX-r),height:Math.abs(t.clientY-n)})}}),[h,s,i]),x=m.useCallback((e=>{const{event:t}=e,{clientX:n,clientY:a}=p.current;if(E.current||!c.current)return;const o=c.current.element&&c.current.element.ownerDocument;if(o){if(v.current){const e=Math.min(a,t.clientY),s=Math.min(n,t.clientX),c=Math.max(a,t.clientY),p=Math.max(n,t.clientX),d=u.current;if(!d)return;d.style.visibility="hidden";const h=o.elementFromPoint(s,e),g=o.elementFromPoint(p,c);if(d.style.visibility="",!h||!g)return;const m=Kt(h,"TD"),f=Kt(m,"TR"),v=Kt(g,"TD"),E=Kt(v,"TR"),C=Tt(m),b=Ot(f),x=Tt(v),y=Ot(E);void 0!==C&&void 0!==b&&void 0!==x&&void 0!==y&&r({nativeEvent:t.originalEvent,startRowIndex:b,startColIndex:C,endRowIndex:y,endColIndex:x,altKey:t.altKey,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,mode:i,cell:l,isDrag:!0})}else{const e=o.elementFromPoint(n,a);if(!e)return;const s=Kt(e,"TD"),c=Kt(e,"TR"),u=Tt(s),p=Ot(c);s&&c&&void 0!==p&&void 0!==u&&r({nativeEvent:t.originalEvent,startRowIndex:p,startColIndex:u,endRowIndex:p,endColIndex:u,altKey:t.altKey,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,mode:i,cell:l,isDrag:!1})}h(null),v.current=!1,p.current={clientX:0,clientY:0}}}),[h,i,l,r]),y=n.useDocument(u);return o?m.createElement(m.Fragment,null,m.createElement(n.Draggable,{onPress:C,onDrag:b,onRelease:x,ref:c,childRef:a},e.children),d&&f.createPortal(m.createElement("div",{ref:u,style:{...d,position:"fixed"},className:"k-marquee k-marquee-color"}),null==(t=y())?void 0:t.body)):m.cloneElement(m.Children.only(e.children),{ref:a})},e.TextFilter=ur,e.TextFilterCell=Zt,e.closestTagName=Kt,e.createDataTree=(e,t,r,n)=>{let a,o={},s=[];return e.forEach((e=>o[t(e)]={...e})),e.forEach((e=>{a=o[r(e)],a?(a[n]=a[n]||[],a[n].push(o[t(e)])):s.push(o[t(e)])})),s},e.createFilterComponent=$t,e.extendDataItem=(e,t,r)=>n.extendDataItem(e,t,r),e.filterBy=function(e,t,r){let n={[r]:[...e]};return n=xt(n,t,r),n[r]||[]},e.flatData=function(e,t,r){let n=[];const a=[];for(let r=e.length-1;r>=0;r--){const a=e[r];n.push({root:a,data:t(a),level:[r],levelCount:e.length})}for(;n.length>0;){let e=n.pop();if(a.push({dataItem:e.root,level:[...e.level],...r(e.root),levelCount:e.levelCount}),e.data.length)for(let r=e.data.length-1;r>=0;r--){const a=e.data[r];n.push({root:a,data:t(a),level:[...e.level,r],levelCount:e.data.length})}}return a},e.getColumnIndex=Tt,e.getGroupIds=e=>{const t=[];return n.mapTree(e.data,St,(e=>{e[It]&&t.push(e[It])})),t},e.getIndex=ft,e.getItemPath=kt,e.getOffset=Gt,e.getRowIndex=Ot,e.getSelectedState=qt,e.getSelectedStateFromKeyDown=e=>{const{event:t,dataItemKey:r,selectedState:a}=e,{syntheticEvent:o,nativeEvent:s,dataItems:i,componentId:l,mode:c,cell:u,selectedField:p}=t,{target:d,ctrlKey:h,metaKey:g,altKey:m,shiftKey:f}=s;if(o.isDefaultPrevented()||s.keyCode!==n.Keys.enter)return a;const v=Kt(d,"TD"),E=Kt(d,"TR"),C=Tt(v),b=Ot(E);let x={};return v&&E&&void 0!==b&&void 0!==C&&(x=qt({selectedState:a,dataItemKey:r,event:{ctrlKey:h,metaKey:g,altKey:m,shiftKey:f,dataItems:i,cell:u,mode:c,selectedField:p,componentId:l,startColIndex:C,endColIndex:C,startRowIndex:b,endRowIndex:b,isDrag:!1,syntheticEvent:o,nativeEvent:s,target:t.target,dataItem:null}})),x},e.getSelectionOptions=Ht,e.isRtl=mt,e.mapColumns=function(e){const t=[[]];let r=0;for(let t=e.length-1;t>=0;t--)r=Math.max(r,e[t].depth),e[t].colSpan=e[t].colSpan||1,-1!==e[t].parentIndex&&(e[e[t].parentIndex].colSpan=(e[e[t].parentIndex].colSpan||0)+e[t].colSpan);const n=[];let a=1;return e.forEach(((e,o)=>{t[e.depth]=t[e.depth]||[];let s=!1;0===t[e.depth].length&&(a<=1?a=1+(e.children.length>0?0:r-e.depth):(a--,s=!0)),e.rowSpan=1+(e.children.length>0?0:r-e.depth),e.kFirst=s,e.index=t[e.depth].length,t[e.depth].push(o),e.ariaColumnIndex=n[e.depth]?n[e.depth]+1:1;for(let t=e.depth;t<e.depth+e.rowSpan;t++)n[t]=(n[t]||0)+e.colSpan})),ht(t,e),gt(t,e),t},e.modifySubItems=(e,t,r,a)=>n.mapTree(e,t,(e=>r(e)?{...e,[t]:a(e[t]||[])}:e)),e.moveTreeItem=(e,t,r,n)=>{const a=[...e],o=kt(a,t,n),s=o.pop(),i=o.pop(),l=t[t.length-1];if(r){const e=kt(a,r,n).pop();(i?i[n]:a).splice(l,1),e[n]=e[n]||[],e[n].push(s)}else(i?i[n]:a).splice(l,1),a.push(s);return a},e.nextColumn=pt,e.normalize=ar,e.orderBy=function(e,t,r){let n=u.orderBy(e,t);return n=n.map((e=>bt(e,t,r))),n},e.populateClipboardData=e=>{const{event:t}=e,r=(e=>{const{event:t,selectedState:r,data:a,dataItemKey:o}=e,s={},i={copiedItems:[],pastedItems:[],clipboardData:""},l=e.subItemsField||"items";return Object.entries(r).forEach((([e,r])=>{s[e]=n.isArray(r)?r.map((e=>t.columns[e])):t.columns})),n.mapTree(a,l,(e=>{const r=e[o||t.dataItemKey||""]||"";return s[r]&&i.copiedItems.push({dataItem:e,fields:s[r].map((e=>e.field||""))}),e})),i})(e);let a="";if("paste"===t.type){const e=t.nativeEvent?t.nativeEvent.clipboardData:"";a=e?e.getData("text").trim():"",r.pastedItems=((e,t,r)=>{const n=e.cellDelimiter||"\t",a=e.newLineDelimiter||"\r\n",o=t.includes(a)?a:t.includes("\n")?"\n":null,s=o?t.split(o):[t],i=r.copiedItems.length?r.copiedItems[0].fields[0]:e.columns[0].field||"";return s.map((t=>{const r=t.includes(n)?t.split(n):[t],a=e.columns.map((e=>e.field||"")),o=a.indexOf(i),s=a.slice(o,o+r.length),l={};return a.slice(o,o+r.length).forEach(((e,t)=>l[e]=r[t])),{dataItem:l,fields:s}}))})(t,a,r)}else r.pastedItems=[],a=((e,t)=>{const r=t.newLineDelimiter||"\r\n",n=e.copiedItems.map(((e,r)=>{let n=((e,t)=>{if(!t.length)return null;let r="";return t.forEach(((t,n,a)=>r+=`${e[t]}${n<a.length-1?"\t":""}`)),r})(e.dataItem,e.fields)||"";return t.copyHeaders&&0===r&&(n=((e,t,r)=>{const n=r.cellDelimiter||"\t",a=r.newLineDelimiter||"\r\n";return`${t.join(n)}${a}${e}`})(n,e.fields,t)),n?[n]:[]})).join(r);return navigator.clipboard.writeText(n),n})(r,t);return r.clipboardData=a,r},e.readColumns=function e(t,r,n=0){let a=[];if(!t||!t.length)return[];if(t.forEach((t=>{const o=e(t.children||[],r,n+1);a.push(Object.assign({},{depth:n},ut,t,{id:t.id?t.id:et(""+r.prevId++,r.idPrefix,"column"),declarationIndex:a.length,children:o,rowSpan:0,colSpan:0,isAccessible:!0}))})),a.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===n){let e=[];const t=(r,n)=>r.forEach((r=>{r.parentIndex=n,t(r.children,e.push(r)-1)}));return t(a,-1),e}return a},e.relativeContextElement=Bt,e.removeItems=(e,t,r)=>[...n.mapTree([{[t]:[...e]}],t,(e=>yt(e,r,t)))[0][t]],e.setExpandedState=e=>n.mapTree(e.data,St,(t=>n.extendDataItem(t,St,{expanded:!e.collapsedIds.some((e=>e===t[It]))}))),e.setGroupIds=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach((e=>Rt(e,t.length,"")))},e.setSelectedState=e=>{const t=e.subItemsField||"items",r=n.getter(e.dataItemKey);return n.mapTree(e.data,t,(a=>n.extendDataItem(a,t,{[e.selectedField]:e.selectedState[r(a)]})))},e.stringOperator=kr,e.tableColumnsVirtualization=function(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:a}=e,o=r.map((()=>1)),s=r.map((()=>!1));if(!t)return{colSpans:o,hiddenColumns:s};const i=r.map((e=>parseFloat((e.width||"").toString())||10));let l=0;for(let e=0;e<r.length;e++){if(r[e].locked)continue;const t=e<i.length-1?i[e+1]:0;if(!(l+i[e]+t<a))break;s[e]=!0,l+=i[e]}const c=i.reduce(((e,t)=>e+t),0);l=0;for(let e=r.length-1;e>=0;e--)if(!r[e].locked){if(!(l+2*i[e]<c-n-a))break;s[e]=!0,l+=i[e]}const u=[...s],p=e=>e;let d,h,g=u.lastIndexOf(!1),m=u.some(p),f=u.every(p);for(;m&&u.length&&(-1!==g||f);){for(g<u.length-1&&(d=f?u.length:u.length-g-1,h=u.length-d,0===h&&(h=d-1),s[h]=!1,o[h]=d,u.splice(g+1,d));u.length&&!u[u.length-1];)u.pop();g=u.lastIndexOf(!1),m=u.some(p),f=u.every(p)}return{colSpans:o,hiddenColumns:s}},e.tableKeyboardNavigation=Nt,e.tableKeyboardNavigationBodyAttributes=Je,e.tableKeyboardNavigationHeaderAttributes=Ze,e.tableKeyboardNavigationScopeAttributes=Qe,e.tableKeyboardNavigationTools=ct,e.treeToFlat=(e,t,r)=>{const a=e=>{const a=[];return(e=>!!n.getNestedValue(t,e))(e)&&(e=>!!n.getNestedValue(r,e))(e)&&a.push(...n.getNestedValue(r,e)),a},o=(e,t,r)=>{t.push({...e,level:r}),a(e).forEach((e=>o(e,t,r+1)))},s=[];return e.forEach((e=>o(e,s,0))),s},e.unaryOperator=Ir,e.updateLeft=ht,e.updateRight=gt,e.useTableKeyboardNavigation=Ft}));
|
package/index.d.mts
CHANGED
|
@@ -640,12 +640,12 @@ declare interface ColumnResizerResizerProps {
|
|
|
640
640
|
/**
|
|
641
641
|
* The settings for sorting the columns of the component.
|
|
642
642
|
*/
|
|
643
|
-
export declare
|
|
643
|
+
export declare interface ColumnSortSettings {
|
|
644
644
|
/**
|
|
645
645
|
* Enables the removal of the column sorting functionality.
|
|
646
646
|
*/
|
|
647
647
|
allowUnsort?: boolean;
|
|
648
|
-
}
|
|
648
|
+
}
|
|
649
649
|
|
|
650
650
|
/**
|
|
651
651
|
* @hidden
|
|
@@ -1126,11 +1126,6 @@ export declare interface FilterRowProps {
|
|
|
1126
1126
|
*/
|
|
1127
1127
|
export declare function flatData(data: any[], getChildren: (dataItem: any) => any[], itemMap: (item: any) => any): DataItemWrapper[];
|
|
1128
1128
|
|
|
1129
|
-
/**
|
|
1130
|
-
* @hidden
|
|
1131
|
-
*/
|
|
1132
|
-
export declare const FOCUSABLE_ELEMENTS: string[];
|
|
1133
|
-
|
|
1134
1129
|
/** @hidden */
|
|
1135
1130
|
export declare const getColumnIndex: (element: HTMLTableCellElement) => number | undefined;
|
|
1136
1131
|
|
|
@@ -1903,11 +1898,6 @@ export declare type SortSettings = boolean | ColumnSortSettings & {
|
|
|
1903
1898
|
*/
|
|
1904
1899
|
export declare const stringOperator: (operator: any) => boolean;
|
|
1905
1900
|
|
|
1906
|
-
/**
|
|
1907
|
-
* @hidden
|
|
1908
|
-
*/
|
|
1909
|
-
export declare const TABBABLE_ELEMENTS: string[];
|
|
1910
|
-
|
|
1911
1901
|
/** @hidden */
|
|
1912
1902
|
export declare const TABLE_COL_INDEX_ATTRIBUTE = "data-grid-col-index";
|
|
1913
1903
|
|
|
@@ -2100,14 +2090,14 @@ export declare interface TableKeyboardNavigationStateType {
|
|
|
2100
2090
|
* @hidden
|
|
2101
2091
|
*/
|
|
2102
2092
|
export declare const tableKeyboardNavigationTools: {
|
|
2103
|
-
generateNavigatableId: (navigationId: string, idPrefix: string, type?: 'column' | 'cell') => string;
|
|
2093
|
+
generateNavigatableId: (navigationId: string, idPrefix: string, type?: 'column' | 'cell' | 'nodata') => string;
|
|
2104
2094
|
getNavigatableId: (element: Element | null) => string | undefined;
|
|
2105
2095
|
getNavigatableLevel: (element: Element | null) => number | undefined;
|
|
2106
2096
|
getNavigatableElement: (scope: HTMLElement, options?: {
|
|
2107
2097
|
level: number;
|
|
2108
2098
|
}) => HTMLElement;
|
|
2109
2099
|
getClosestNavigatableElement: (target: HTMLElement) => Element | null;
|
|
2110
|
-
|
|
2100
|
+
getActiveNavDataElement: (scope: HTMLElement, activeId?: string) => HTMLElement;
|
|
2111
2101
|
getClosestScope: (target: HTMLElement) => Element | null;
|
|
2112
2102
|
getHeaderElement: (scope: HTMLElement) => Element | null;
|
|
2113
2103
|
getBodyElement: (scope: HTMLElement) => Element | null;
|
package/index.d.ts
CHANGED
|
@@ -640,12 +640,12 @@ declare interface ColumnResizerResizerProps {
|
|
|
640
640
|
/**
|
|
641
641
|
* The settings for sorting the columns of the component.
|
|
642
642
|
*/
|
|
643
|
-
export declare
|
|
643
|
+
export declare interface ColumnSortSettings {
|
|
644
644
|
/**
|
|
645
645
|
* Enables the removal of the column sorting functionality.
|
|
646
646
|
*/
|
|
647
647
|
allowUnsort?: boolean;
|
|
648
|
-
}
|
|
648
|
+
}
|
|
649
649
|
|
|
650
650
|
/**
|
|
651
651
|
* @hidden
|
|
@@ -1126,11 +1126,6 @@ export declare interface FilterRowProps {
|
|
|
1126
1126
|
*/
|
|
1127
1127
|
export declare function flatData(data: any[], getChildren: (dataItem: any) => any[], itemMap: (item: any) => any): DataItemWrapper[];
|
|
1128
1128
|
|
|
1129
|
-
/**
|
|
1130
|
-
* @hidden
|
|
1131
|
-
*/
|
|
1132
|
-
export declare const FOCUSABLE_ELEMENTS: string[];
|
|
1133
|
-
|
|
1134
1129
|
/** @hidden */
|
|
1135
1130
|
export declare const getColumnIndex: (element: HTMLTableCellElement) => number | undefined;
|
|
1136
1131
|
|
|
@@ -1903,11 +1898,6 @@ export declare type SortSettings = boolean | ColumnSortSettings & {
|
|
|
1903
1898
|
*/
|
|
1904
1899
|
export declare const stringOperator: (operator: any) => boolean;
|
|
1905
1900
|
|
|
1906
|
-
/**
|
|
1907
|
-
* @hidden
|
|
1908
|
-
*/
|
|
1909
|
-
export declare const TABBABLE_ELEMENTS: string[];
|
|
1910
|
-
|
|
1911
1901
|
/** @hidden */
|
|
1912
1902
|
export declare const TABLE_COL_INDEX_ATTRIBUTE = "data-grid-col-index";
|
|
1913
1903
|
|
|
@@ -2100,14 +2090,14 @@ export declare interface TableKeyboardNavigationStateType {
|
|
|
2100
2090
|
* @hidden
|
|
2101
2091
|
*/
|
|
2102
2092
|
export declare const tableKeyboardNavigationTools: {
|
|
2103
|
-
generateNavigatableId: (navigationId: string, idPrefix: string, type?: 'column' | 'cell') => string;
|
|
2093
|
+
generateNavigatableId: (navigationId: string, idPrefix: string, type?: 'column' | 'cell' | 'nodata') => string;
|
|
2104
2094
|
getNavigatableId: (element: Element | null) => string | undefined;
|
|
2105
2095
|
getNavigatableLevel: (element: Element | null) => number | undefined;
|
|
2106
2096
|
getNavigatableElement: (scope: HTMLElement, options?: {
|
|
2107
2097
|
level: number;
|
|
2108
2098
|
}) => HTMLElement;
|
|
2109
2099
|
getClosestNavigatableElement: (target: HTMLElement) => Element | null;
|
|
2110
|
-
|
|
2100
|
+
getActiveNavDataElement: (scope: HTMLElement, activeId?: string) => HTMLElement;
|
|
2111
2101
|
getClosestScope: (target: HTMLElement) => Element | null;
|
|
2112
2102
|
getHeaderElement: (scope: HTMLElement) => Element | null;
|
|
2113
2103
|
getBodyElement: (scope: HTMLElement) => Element | null;
|
package/index.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./pager/Pager.js"),
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./pager/Pager.js"),d=require("./drag/ColumnResize.js"),T=require("./drag/ColumnResizer.js"),A=require("./drag/CommonDragLogic.js"),E=require("./drag/DragClue.js"),F=require("./drag/DropClue.js"),e=require("./utils/data-operations.js"),i=require("./utils/group-operations.js"),D=require("./navigation/hooks.js"),t=require("./navigation/constants.js"),_=require("./navigation/TableKeyboardNavigation.js"),g=require("./navigation/TableKeyboardNavigationContext.js"),p=require("./navigation/utils.js"),b=require("./selection/TableSelection.js"),a=require("./selection/constants.js"),r=require("./selection/utils.js"),N=require("./clipboard/clipboard.service.js"),s=require("./clipboard/common.js"),q=require("./filteringCells/FilterComponent.js"),R=require("./filteringCells/BooleanFilter.js"),O=require("./filteringCells/DateFilter.js"),B=require("./filteringCells/NumericFilter.js"),S=require("./filteringCells/TextFilter.js"),I=require("./header/ColumnProps.js"),m=require("./header/FilterRow.js"),M=require("./header/Header.js"),y=require("./header/HeaderCell.js"),K=require("./header/HeaderRow.js"),L=require("./header/HeaderSelectionCell.js"),x=require("./header/SortSettings.js"),o=require("./header/utils/index.js"),v=require("./header/HeaderThElement.js"),V=require("./virtualization/columns.js"),H=require("./filter/filters/TextFilter.js"),Y=require("./filter/filters/NumericFilter.js"),f=require("./filter/filters/DateFilter.js"),P=require("./filter/filters/BooleanFilter.js"),w=require("./filter/filters/EnumFilter.js"),z=require("./filter/Expression.js"),h=require("./filter/Filter.js"),G=require("./filter/Group.js"),u=require("./filter/operators.js"),n=require("./columnmenu/ColumnMenu.js"),C=require("./columnmenu/ColumnMenuFilterForm.js"),U=require("./columnmenu/ColumnMenuFilterLogic.js"),l=require("./columnmenu/ColumnMenuFilters.js"),X=require("./columnmenu/ColumnMenuItem.js"),$=require("./columnmenu/ColumnMenuOperators.js");exports.Pager=c.Pager;exports.ColumnResize=d.ColumnResize;exports.ColumnResizer=T.ColumnResizer;exports.CommonDragLogic=A.CommonDragLogic;exports.DragClue=E.DragClue;exports.DropClue=F.DropClue;exports.createDataTree=e.createDataTree;exports.extendDataItem=e.extendDataItem;exports.filterBy=e.filterBy;exports.flatData=e.flatData;exports.getItemPath=e.getItemPath;exports.modifySubItems=e.modifySubItems;exports.moveTreeItem=e.moveTreeItem;exports.orderBy=e.orderBy;exports.removeItems=e.removeItems;exports.treeToFlat=e.treeToFlat;exports.getGroupIds=i.getGroupIds;exports.setExpandedState=i.setExpandedState;exports.setGroupIds=i.setGroupIds;exports.useTableKeyboardNavigation=D.useTableKeyboardNavigation;exports.KEYBOARD_NAV_DATA_BODY=t.KEYBOARD_NAV_DATA_BODY;exports.KEYBOARD_NAV_DATA_HEADER=t.KEYBOARD_NAV_DATA_HEADER;exports.KEYBOARD_NAV_DATA_ID=t.KEYBOARD_NAV_DATA_ID;exports.KEYBOARD_NAV_DATA_LEVEL=t.KEYBOARD_NAV_DATA_LEVEL;exports.KEYBOARD_NAV_DATA_SCOPE=t.KEYBOARD_NAV_DATA_SCOPE;exports.KEYBOARD_NAV_DATA_ZONE=t.KEYBOARD_NAV_DATA_ZONE;exports.KEYBOARD_NAV_FILTER_COL_SUFFIX=t.KEYBOARD_NAV_FILTER_COL_SUFFIX;exports.tableKeyboardNavigationBodyAttributes=t.tableKeyboardNavigationBodyAttributes;exports.tableKeyboardNavigationHeaderAttributes=t.tableKeyboardNavigationHeaderAttributes;exports.tableKeyboardNavigationScopeAttributes=t.tableKeyboardNavigationScopeAttributes;exports.tableKeyboardNavigation=_.tableKeyboardNavigation;exports.TableKeyboardNavigationContext=g.TableKeyboardNavigationContext;exports.tableKeyboardNavigationTools=p.tableKeyboardNavigationTools;exports.TableSelection=b.TableSelection;exports.TABLE_COL_INDEX_ATTRIBUTE=a.TABLE_COL_INDEX_ATTRIBUTE;exports.TABLE_PREVENT_SELECTION_ELEMENT=a.TABLE_PREVENT_SELECTION_ELEMENT;exports.TABLE_ROW_INDEX_ATTRIBUTE=a.TABLE_ROW_INDEX_ATTRIBUTE;exports.closestTagName=r.closestTagName;exports.getColumnIndex=r.getColumnIndex;exports.getOffset=r.getOffset;exports.getRowIndex=r.getRowIndex;exports.getSelectedState=r.getSelectedState;exports.getSelectedStateFromKeyDown=r.getSelectedStateFromKeyDown;exports.getSelectionOptions=r.getSelectionOptions;exports.relativeContextElement=r.relativeContextElement;exports.setSelectedState=r.setSelectedState;exports.ClipboardService=N.ClipboardService;exports.ClipboardActionType=s.ClipboardActionType;exports.populateClipboardData=s.populateClipboardData;exports.createFilterComponent=q.createFilterComponent;exports.BooleanFilterCell=R.BooleanFilterCell;exports.DateFilterCell=O.DateFilterCell;exports.NumericFilterCell=B.NumericFilterCell;exports.TextFilterCell=S.TextFilterCell;exports.ColumnDefaultProps=I.ColumnDefaultProps;exports.FILTER_ROW_CLASS=m.FILTER_ROW_CLASS;exports.FilterRow=m.FilterRow;exports.Header=M.Header;exports.HeaderCell=y.HeaderCell;exports.HeaderRow=K.HeaderRow;exports.HeaderSelectionCell=L.HeaderSelectionCell;exports.normalize=x.normalize;exports.getIndex=o.getIndex;exports.isRtl=o.isRtl;exports.mapColumns=o.mapColumns;exports.nextColumn=o.nextColumn;exports.readColumns=o.readColumns;exports.updateLeft=o.updateLeft;exports.updateRight=o.updateRight;exports.HeaderThElement=v.HeaderThElement;exports.tableColumnsVirtualization=V.tableColumnsVirtualization;exports.TextFilter=H.TextFilter;exports.NumericFilter=Y.NumericFilter;exports.DateFilter=f.DateFilter;exports.BooleanFilter=P.BooleanFilter;exports.EnumFilter=w.EnumFilter;exports.Expression=z.Expression;exports.Filter=h.Filter;exports.Group=G.Group;exports.Operators=u.Operators;exports.stringOperator=u.stringOperator;exports.unaryOperator=u.unaryOperator;exports.ColumnMenuBooleanColumn=n.ColumnMenuBooleanColumn;exports.ColumnMenuDateColumn=n.ColumnMenuDateColumn;exports.ColumnMenuNumericColumn=n.ColumnMenuNumericColumn;exports.ColumnMenuTextColumn=n.ColumnMenuTextColumn;exports.ColumnMenuFilterForm=C.ColumnMenuFilterForm;exports.ColumnMenuForm=C.ColumnMenuForm;exports.ColumnMenuFilterLogic=U.ColumnMenuFilterLogic;exports.ColumnMenuBooleanFilter=l.ColumnMenuBooleanFilter;exports.ColumnMenuDateFilter=l.ColumnMenuDateFilter;exports.ColumnMenuNumericFilter=l.ColumnMenuNumericFilter;exports.ColumnMenuTextFilter=l.ColumnMenuTextFilter;exports.ColumnMenuItem=X.ColumnMenuItem;exports.ColumnMenuOperators=$.ColumnMenuOperators;
|