@progress/kendo-react-data-tools 7.0.3-develop.1 → 7.0.3-develop.10

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