@progress/kendo-react-grid 7.4.0-develop.7 → 7.4.0-develop.8

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.
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-data-query"),require("@progress/kendo-react-animation")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-buttons","@progress/kendo-react-dropdowns","@progress/kendo-data-query","@progress/kendo-react-animation"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactGrid={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactDataTools,e.KendoReactIntl,e.KendoSvgIcons,e.KendoReactInputs,e.KendoReactDateinputs,e.KendoReactPopup,e.KendoReactButtons,e.KendoReactDropdowns,e.KendoDataQuery,e.KendoReactAnimation)}(this,(function(e,t,r,s,i,o,l,n,a,h,p,c,d,u){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=g(t);const f=e=>null;function C(e,t){const r=(e||"").split(".");let s=t;return r.forEach((e=>{s=s?s[e]:void 0})),s}function b(e,t,r,s,i,o,l=0){let n=l;for(let a=0;a<t.length;a++){if(!i||void 0===t[a].value||void 0===t[a].items){e[e.length]={dataIndex:s.index,dataItem:t[a],rowType:"data",level:l,expanded:void 0===o||C(o,t[a])},s.index++;continue}n=Math.max(n,l+1);const h=void 0===o||void 0===C(o,t[a])||C(o,t[a]);e[e.length]={dataIndex:-1,dataItem:t[a],level:l,rowType:"groupHeader",expanded:h},h&&(n=Math.max(b(e,t[a].items,r,s,i,o,l+1),n)),("always"===r||h&&"visible"===r)&&(e[e.length]={dataIndex:-1,dataItem:t[a],rowType:"groupFooter",level:l,expanded:h})}return n}function v(e,t,r,s=0){let o=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.forEach(((e,l)=>{e=e.props?e.props:e;const n=t[l]||null,a=v(e.children,n&&n.children||[],r,s+1);o.push(Object.assign({depth:s},f.defaultProps,a.length?{cell:()=>null,filterCell:()=>null}:{},n?{width:n.width,orderIndex:n.orderIndex}:{},e,{id:e.id?e.id:i.tableKeyboardNavigationTools.generateNavigatableId(""+r.prevId++,r.idPrefix,"column"),declarationIndex:o.length,children:a,rowSpan:0,colSpan:0,isAccessible:!0,left:n&&Math.floor(n.left),right:n&&Math.floor(n.right)}))}));if(o.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===s){let e=[];const t=(r,s)=>r.forEach((r=>{r.parentIndex=s,t(r.children,e.push(r)-1)}));return t(o,-1),e}return o}f.displayName="KendoReactGridColumn",f.defaultProps={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},f.propTypes={field:r.string,title:r.string,editable:r.bool,sortable:r.oneOfType([r.bool,r.shape({allowUnsort:r.bool.isRequired})]),cell:r.any,filterCell:r.any,filterTitle:r.string,filterable:r.bool,filter:r.oneOf(["text","numeric","boolean","date"]),editor:r.oneOf(["text","numeric","boolean","date"]),width:r.oneOfType([r.string,r.number]),minResizableWidth:r.number,headerCell:r.any,footerCell:r.any,headerSelectionValue:r.bool,format:r.string,headerClassName:r.string,className:r.string,reorderable:r.bool,resizable:r.bool,orderIndex:r.number,groupable:r.bool,columnMenu:r.any,locked:r.bool};const x=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,k=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:t,parentIndex:r,depth:s,colSpan:i,rowSpan:o,index:l,kFirst:n,children:a,...h}=e;return a.length?{children:k(a),...h}:h}))),E="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),I=17895697,y=(e,t)=>{if(e||t)return t?e?{...e,...t,select:{...e.select||{},...t.select||{}},hierarchy:{...e.hierarchy||{},...t.hierarchy||{}},group:{...e.group||{},...t.group||{}},edit:{...e.edit||{},...t.edit||{}}}:t:e},S="grid.noRecords",w="grid.pagerInfo",R="grid.pagerFirstPage",N="grid.pagerPreviousPage",D="grid.pagerNextPage",T="grid.pagerLastPage",F="grid.pagerItemsPerPage",z="grid.groupPanelEmpty",M="grid.groupColumn",L="grid.ungroupColumn",G="grid.columnMenu",O="grid.filterClearButton",H="grid.filterSubmitButton",P="grid.filterTitle",_="grid.sortAscending",A="grid.sortDescending",K="grid.searchPlaceholder",W="grid.filterCheckAll",B="grid.filterChooseOperator",q="grid.filterSelectedItems",V="grid.sortAriaLabel",U="grid.filterAriaLabel",j="grid.groupPanelAriaLabel",$="grid.groupExpand",X="grid.groupCollapse",Y="grid.detailExpand",Q="grid.detailCollapse",J="grid.selectRow",Z="grid.gridAriaLabel",ee={[Y]:"Expand detail row",[Q]:"Collapse detail row",[$]:"Expand group",[X]:"Collapse Group",[S]:"No records available",[z]:"Drag a column header and drop it here to group by that column",[O]:"Clear",[H]:"Filter",[P]:"Filter",[_]:"Sort Ascending",[A]:"Sort Descending",[V]:"Sortable",[M]:"Group Column",[L]:"Ungroup Column",[G]:"Column menu",[F]:"items per page",[w]:"{0} - {1} of {2} items",[R]:"Go to the first page",[N]:"Go to the previous page",[D]:"Go to the next page",[T]:"Go to the last page","grid.pagerPage":"Page","grid.pagerPageSizeAriaLabel":"Page size","grid.pagerOf":"of","grid.pagerTotalPages":"{0}",[K]:"Search",[W]:"Check All",[B]:"Choose Operator",[q]:"selected items",[U]:"Filter",[j]:"Group panel",[Z]:"Table",[J]:"Select Row","grid.filterEqOperator":"Is equal to","grid.filterNotEqOperator":"Is not equal to","grid.filterIsNullOperator":"Is null","grid.filterIsNotNullOperator":"Is not null","grid.filterIsEmptyOperator":"Is empty","grid.filterIsNotEmptyOperator":"Is not empty","grid.filterStartsWithOperator":"Starts with","grid.filterContainsOperator":"Contains","grid.filterNotContainsOperator":"Does not contain","grid.filterEndsWithOperator":"Ends with","grid.filterGteOperator":"Is greater than or equal to","grid.filterGtOperator":"Is greater than","grid.filterLteOperator":"Is less than or equal to","grid.filterLtOperator":"Is less than","grid.filterIsTrue":"Is true","grid.filterIsFalse":"Is false","grid.filterBooleanAll":"(All)","grid.filterAfterOrEqualOperator":"Is after or equal to","grid.filterAfterOperator":"Is after","grid.filterBeforeOperator":"Is before","grid.filterBeforeOrEqualOperator":"Is before or equal to","grid.filterAndLogic":"And","grid.filterOrLogic":"Or"};function te(e){const t=e.replace(/^pager\.([a-z])/,((e,t)=>"grid.pager"+t.toUpperCase()));return{messageKey:t,defaultMessage:ee[t]}}const re=e=>{const{selectionChange:t,field:r,dataItem:l,id:n,className:a,colSpan:h,style:p,ariaColumnIndex:c,rowType:d,cells:u,render:g}=e,f=o.useLocalization(),b=m.useCallback((e=>{t&&t({syntheticEvent:e})}),[t]),v=s.useId(),x=C(r,l),k=i.useTableKeyboardNavigation(n),E={colSpan:h,style:p,className:s.classNames("k-table-td",a),"aria-colindex":c,role:"gridcell",...k},I="boolean"==typeof x&&x,y=m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{id:v,tabIndex:-1,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":f.toLanguageString(J,ee[J]),"aria-checked":I,checked:I,onChange:b})),S="groupHeader"!==d?m.createElement("td",{...E},y):null,w=d||"data",R=u;if(R&&R.select&&R.select[w]){const t=R.select[w];return m.createElement(t,{...e,tdProps:E},y)}return g?g.call(void 0,S,e):S},se=e=>{let t=null,r=null,n=null;const a=C(e.field,e.dataItem),h=i.useTableKeyboardNavigation(e.id),p=o.useLocalization(),c=m.useCallback((t=>{t.isDefaultPrevented()||t.keyCode===s.Keys.enter&&e.onChange&&(t.preventDefault(),e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!a}))}),[e.dataItem,e.dataIndex,e.field,e.onChange,a]);if("groupFooter"===e.rowType)r={className:"k-table-td k-hierarchy-cell",role:"gridcell",...h},t=m.createElement("td",{...r});else if("groupHeader"!==e.rowType){const i=a?Q:Y,o=p.toLanguageString(i,ee[i]);r={className:"k-table-td k-hierarchy-cell",onKeyDown:c,"aria-expanded":!!a,role:"gridcell","aria-colindex":e.ariaColumnIndex,...h},n=m.createElement("a",{onClick:t=>{t.preventDefault(),e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!a})},"aria-label":o,href:"#",tabIndex:-1},m.createElement(s.IconWrap,{name:a?"minus":"plus",icon:a?l.minusIcon:l.plusIcon})),t=m.createElement("td",{...r},n)}const d=e.rowType||"data",u=e.cells;if(u&&u.hierarchy&&u.hierarchy[d]){const t=u.hierarchy[d];return m.createElement(t,{...e,tdProps:r},n)}return e.render?e.render.call(void 0,t,e):t},ie=i.TABLE_ROW_INDEX_ATTRIBUTE,oe=i.TABLE_COL_INDEX_ATTRIBUTE,le=i.TABLE_PREVENT_SELECTION_ELEMENT,ne=e=>{const t=C(e.field,e.dataItem);let r=null;const o=s.classNames("k-table-td","k-grid-edit-cell",{"k-selected":e.isSelected},e.className),l=s.useId(),h=i.useTableKeyboardNavigation(e.id);let p=null,c=null;const d=m.useCallback((t=>{if(e.onChange){const r="checkbox"===t.target.type?t.target.checked:t.target.value;e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t,value:r})}}),[e.onChange,e.dataItem,e.dataIndex,e.field]),u=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),g=m.useCallback((t=>{e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})}),[e.onChange,e.dataItem,e.dataIndex,e.field]);switch(e.editor){case"numeric":p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=m.createElement(n.NumericTextBox,{width:"100%",value:void 0===t?null:t,onChange:g}),r=m.createElement("td",{...p},c);break;case"date":p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=m.createElement(a.DatePicker,{width:"100%",value:t,onChange:g}),r=m.createElement("td",{...p},c);break;case"boolean":p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=[m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{checked:t||!1,id:l,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:d})),m.createElement("label",{className:"k-checkbox-label",htmlFor:l,key:2})],r=m.createElement("td",{...p},c);break;default:p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=m.createElement("input",{style:{width:"100%"},className:"k-input",value:t||"",onChange:d}),r=m.createElement("td",{...p},c)}const f=e.editor||"text",b=e.cells;if(b&&b.edit&&b.edit[f]){const t=b.edit[f];return m.createElement(t,{...e,tdProps:p},c)}return e.render?e.render.call(void 0,r,e):r};let ae=class extends m.Component{constructor(){super(...arguments),this.headerWrap=null,this.table=null,this.syncScroll=!1,this.scrollbarWidth=s.getScrollbarWidth(),this.onScroll=e=>{if(this.syncScroll)return void(this.syncScroll=!1);if(!this.headerWrap)return;const t=this.headerWrap.scrollLeft,r=this.props.scrollableDataElement();r&&r.scrollLeft!==t&&(r.scrollLeft=t)}}get element(){return this.props.elemRef.current}componentDidMount(){const e=i.isRtl(this.element);this.props.columnResize&&this.props.columnResize.setIsRtl(e),this.forceUpdate()}setScrollLeft(e){this.headerWrap&&this.headerWrap.scrollLeft!==e&&(this.syncScroll=!0,this.headerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?m.createElement("div",{ref:this.props.elemRef,className:s.classNames("k-grid-header",{"k-grid-draggable-header":this.props.draggable}),role:"presentation"},m.createElement("div",{ref:e=>{this.headerWrap=e},className:"k-grid-header-wrap",style:this.scrollbarWidth?{}:{borderWidth:0},onScroll:this.onScroll,role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:s.classNames("k-table k-grid-header-table",{"k-table-md":!this.props.size,[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupHeader=e}},this.props.cols),m.createElement("thead",{className:"k-table-thead",role:"rowgroup",...i.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)))):m.createElement("thead",{role:"presentation",className:s.classNames("k-table-thead",{"k-grid-draggable-header":this.props.draggable}),...i.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}};const he=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);let pe=class extends m.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.pressHandler&&this.props.pressHandler(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.dragHandler&&this.props.dragHandler(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(e.event)}}render(){return m.createElement(s.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,hint:this.props.dragClue,autoScroll:{boundaryElementRef:this.props.headerRef,direction:{horizontal:!0,vertical:!1}},scrollContainer:this.props.containerRef||void 0,ref:e=>{this.draggable=e}},m.createElement("tr",{className:"k-table-row",style:{touchAction:"none"},role:"row","aria-rowindex":this.props.ariaRowIndex},this.props.children))}};class ce extends m.Component{constructor(){super(...arguments),this.state={show:!1},this._anchor=null,this._content=null,this.blurTimeout=void 0,this.willBlur=!1,this.blur=()=>{this.willBlur?this.willBlur=!1:(clearTimeout(this.blurTimeout),this.blurTimeout=window.setTimeout((()=>{this.closeMenu()})))},this.focus=()=>{clearTimeout(this.blurTimeout)},this.anchorClick=e=>{e.preventDefault(),this.state.show&&this.props.onCloseMenu&&this.props.onCloseMenu(),this.setState({show:!this.state.show},(()=>this.state.show&&this._content&&this._content.focus()))},this.closeMenu=()=>{this.props.onCloseMenu&&this.props.onCloseMenu(),this.setState({show:!1})},this.onAnchorMouseDown=e=>{this.willBlur=this.state.show&&e.currentTarget===this._anchor},this.onAnchorKeyDown=e=>{var t;if(e.keyCode===s.Keys.tab){const r=e.target,s=r&&(null==(t=r.closest(".k-grid"))?void 0:t.getElementsByClassName("k-grid-content")[0]);s&&s.scrollWidth>s.clientWidth&&r.scrollIntoView({inline:"center"})}}}render(){const{columnMenu:e,...t}=this.props,{column:r}=this.props,i=o.provideLocalizationService(this),n=r.title||r.field,a=n?`${n} `:"";return m.createElement(m.Fragment,null,m.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:e=>this._anchor=e,onClick:this.anchorClick,onMouseDown:this.onAnchorMouseDown,onKeyDown:this.onAnchorKeyDown,href:"#","aria-label":`${a}${i.toLanguageString(G,ee[G])}`},m.createElement(s.IconWrap,{name:"filter",icon:l.filterIcon})),m.createElement(h.Popup,{anchor:this._anchor,show:this.state.show,popupClass:"k-column-menu k-column-menu-popup k-grid-columnmenu-popup"},m.createElement("div",{ref:e=>this._content=e,tabIndex:0,onBlur:this.blur,onFocus:this.focus,style:{outline:"none"}},e&&m.createElement(e,{...t,onCloseMenu:this.closeMenu}))))}}let de=class extends m.Component{render(){const{columnMenuWrapperProps:e}=this.props,t=this.props.onClick?{onClick:this.props.onClick}:{},r=m.createElement("span",{className:"k-cell-inner"},m.createElement("span",{className:s.classNames("k-link",{"!k-cursor-default":!this.props.columnMenuWrapperProps.sortable}),...t},m.createElement("span",{className:"k-column-title"},this.props.title||this.props.field||" "),this.props.children),e.columnMenu&&m.createElement(ce,{...e}));return this.props.render?this.props.render.call(void 0,r,this.props):r}};const ue={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ge={none:"none",asc:"ascending",desc:"descending"};let me=class extends m.Component{constructor(e){super(e),this.serviceIndex=0,this.index=-1,this.cellKeyDown=(e,t)=>{if(e.isDefaultPrevented())return;const{keyCode:r,metaKey:i,ctrlKey:o}=e;if(this.props.sortable&&t.sortable&&e.keyCode===s.Keys.enter&&this.cellClick(e,t),i&&r===s.Keys.enter||o&&r===s.Keys.space){const r=this.props.columns.findIndex((e=>e.field===t.field));this.props.columnGroupChange&&this.props.columnGroupChange(r,e)}},this.cells=e=>e.map((e=>{const t=this.props.columns[e],r=this.props.sortable&&t.sortable,l=this.props.sort?this.props.sort.findIndex((e=>e.field===t.field)):-1,n=l>=0&&this.props.sort[l].dir||"none",a=null===t.columnMenu?null:t.columnMenu||this.props.columnMenu,h=s.classNames({"k-first":t.kFirst,"k-filterable":!!a,"k-table-th":!0,"k-header":!0,"k-grid-header-sticky":t.locked,"k-sorted":this.props.sort&&this.props.sort.some((e=>e.field===t.field))},t.headerClassName);!1===t.locked&&(t.left=0);const p=void 0!==t.left?this.props.isRtl?{left:t.right,right:t.left}:{left:t.left,right:t.right}:{},c=o.provideLocalizationService(this).toLanguageString(V,ee[V]),d=t.isAccessible?{ariaSort:ge[n],role:"columnheader",ariaColumnIndex:t.ariaColumnIndex,ariaSelected:!1,ariaDescription:r?c:""}:{role:"presentation"},u=t.declarationIndex>=0?++this.index:--this.serviceIndex,g=t.headerCell?t.headerCell:de,f=m.createElement(g,{key:1,field:t.field,onClick:r&&(e=>this.cellClick(e,t))||void 0,selectionChange:this.props.selectionChange,title:t.title,selectionValue:t.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(l),columnMenuWrapperProps:{column:{field:t.field,title:t.title,locked:t.locked,filter:t.filter,id:t.id},sortable:r&&this.props.sortable,sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.filter,filterable:this.props.filterable&&t.filterable,filterOperators:this.props.filterOperators,onFilterChange:this.props.filterChange,group:this.props.group,groupable:this.props.groupable,onGroupChange:this.props.groupChange,columnMenu:a}}),C={...d,key:u,colSpan:t.colSpan,rowSpan:t.rowSpan,className:h,style:p,columnId:t.id,navigatable:t.navigatable,onKeyDown:e=>this.cellKeyDown(e,t),role:"columnheader"},b=[f,this.props.columnResize&&this.props.columnResize.resizable&&t.resizable&&m.createElement(i.ColumnResizer,{key:2,resize:(e,r,s)=>this.props.columnResize&&this.props.columnResize.dragHandler(e,t,r,s),autofit:e=>this.props.columnResize&&this.props.columnResize.dblClickHandler(e,[t.id])})],v=y(this.props.cells,t.cells);if(v&&v.headerCell){const t=v.headerCell;return m.createElement(t,{key:u,thProps:C,index:e},b)}return m.createElement(i.HeaderThElement,{...C,key:u},b)})),this.cellClick=this.cellClick.bind(this)}cellClick(e,t){if(e.preventDefault(),!this.props.sortChange)return;const{allowUnsort:r,mode:s}=he(this.props.sortable||!1,t.sortable||!1),i=(this.props.sort||[]).filter((e=>e.field===t.field))[0],o=ue[r][i&&i.dir||""],l="single"===s?[]:(this.props.sort||[]).filter((e=>e.field!==t.field));""!==o&&t.field&&l.push({field:t.field,dir:o}),this.props.sortChange(l,e)}sortIcon(e){return this.props.sort?e>=0&&[m.createElement("span",{key:1,className:"k-sort-icon"},m.createElement(s.IconWrap,{name:"sort-"+this.props.sort[e].dir+"-small",icon:"asc"===this.props.sort[e].dir?l.sortAscSmallIcon:l.sortDescSmallIcon})),this.props.sort.length>1&&m.createElement("span",{key:2,className:"k-sort-icon"},m.createElement("span",{className:"k-sort-order"},e+1))]:null}render(){return this.serviceIndex=0,this.index=-1,this.props.columnsMap.map(((e,t)=>this.props.pressHandler&&m.createElement(pe,{key:t,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:t+1,dragClue:this.props.dragClue,headerRef:this.props.headerRef,containerRef:this.props.containerRef},this.cells(e))||m.createElement("tr",{key:t,className:"k-table-row",role:"row","aria-rowindex":t+1},this.cells(e))))}};o.registerForLocalization(me);const fe=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Ce={text:[{text:"grid.filterContainsOperator",operator:"contains"},{text:"grid.filterNotContainsOperator",operator:"doesnotcontain"},{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterStartsWithOperator",operator:"startswith"},{text:"grid.filterEndsWithOperator",operator:"endswith"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"},{text:"grid.filterIsEmptyOperator",operator:"isempty"},{text:"grid.filterIsNotEmptyOperator",operator:"isnotempty"}],numeric:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterGteOperator",operator:"gte"},{text:"grid.filterGtOperator",operator:"gt"},{text:"grid.filterLteOperator",operator:"lte"},{text:"grid.filterLtOperator",operator:"lt"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],date:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterAfterOrEqualOperator",operator:"gte"},{text:"grid.filterAfterOperator",operator:"gt"},{text:"grid.filterBeforeOperator",operator:"lt"},{text:"grid.filterBeforeOrEqualOperator",operator:"lte"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],boolean:[{text:"grid.filterEqOperator",operator:"eq"}]},be=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,ve=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,ee[e.text]),operator:e.operator}))),xe=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],ke={text:!1,numeric:!1,date:!1,boolean:!0},Ee=(e,t,r)=>{const s=Ie(r.operators);let i=r.operator;switch(r.filterType){case"numeric":case"date":(!i||be(i))&&(i=s),null===e&&i===s&&(i="");break;case"text":(!i||be(i))&&(i=s),!e&&i===s&&(i="");break;default:return}r.onChange({value:e,operator:i,syntheticEvent:t})},Ie=(e,t)=>t?e[t][0].operator:e[0].operator,ye=e=>e||"text",Se=(e,t)=>{const r=e.target.value;t({value:r.operator,operator:""===r.operator?"":"eq",syntheticEvent:e.syntheticEvent})},we=(e,t,r)=>{let s=t;const i=e.target.value;e.target.state.opened&&(be(i.operator)&&(s=null),null===t&&!be(i.operator)&&(s=void 0),r({value:s,operator:i.operator,syntheticEvent:e.syntheticEvent}))};class Re extends m.Component{constructor(e){super(e),this._inputRef=m.createRef(),this.renderOperatorEditor=e=>{if("boolean"===this.props.filterType)return;const t=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(c.DropDownList,{size:this.props.size,value:t,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter k-icon",svgIcon:l.filterIcon,data:this.props.operators,textField:"text",title:e.toLanguageString(B,ee[B]),popupSettings:{width:""}})},this.inputChange=this.inputChange.bind(this),this.clear=this.clear.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){const e=o.provideLocalizationService(this),t=m.createElement("div",{className:"k-filtercell"},m.createElement("div",{className:"k-filtercell-wrapper"},this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues),m.createElement("div",{className:"k-filtercell-operator"},this.renderOperatorEditor(e)," ",m.createElement(p.Button,{size:this.props.size,icon:"filter-clear",svgIcon:l.filterClearIcon,className:s.classNames({"k-clear-button-visible":!!(null!==this.props.value&&""!==this.props.value||this.props.operator)}),title:e.toLanguageString(O,ee[O]),type:"button",onClick:this.clear,disabled:!(null!==this.props.value&&""!==this.props.value||this.props.operator)}))));return this.props.render?this.props.render.call(void 0,t,this.props):t}inputChange(e,t){Ee(e,t,this.props)}operatorChange(e){we(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Se(e,this.props.onChange)}clear(e){e.preventDefault(),this.props.onChange({value:"",operator:"",syntheticEvent:e}),this._inputRef.current&&(this._inputRef.current.element.value="",setTimeout((()=>{this._inputRef.current.element.focus()}),0))}filterComponent(e,t,r){switch(e){case"numeric":return m.createElement(n.NumericTextBox,{ref:this._inputRef,size:this.props.size,value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"date":return m.createElement(a.DatePicker,{ref:this._inputRef,size:this.props.size,value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"boolean":{const e=e=>null==e;return m.createElement(c.DropDownList,{ref:this._inputRef,size:this.props.size,onChange:this.boolDropdownChange,value:r.find((r=>r.operator===(e(t)?"":t))),data:r,textField:"text",title:this.props.title,ariaLabel:this.props.ariaLabel})}default:return m.createElement(n.TextBox,{ref:this._inputRef,size:this.props.size,value:t||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)},title:this.props.title,"aria-label":this.props.ariaLabel})}}}o.registerForLocalization(Re);let Ne=class extends m.Component{headerCellClassName(e,t){let r=""+(t?"k-grid-header-sticky":"");return this.props.sort&&this.props.sort.filter((t=>t.field===e)).length>0&&(r+=" k-sorted"),r}setFilter(e,t,r,s){if(!this.props.filterChange)return;const i=[];(""!==e&&null!==e||""!==t)&&i.push({field:r,operator:t,value:e}),this.props.filter&&this.props.filter.filters&&(this.props.filter.filters||[]).forEach((e=>{const t=e;t&&t.field!==r&&i.push(t)}));const o=this.props.filter&&this.props.filter.logic?this.props.filter.logic:"and";this.props.filterChange(i.length>0?{logic:o,filters:i}:null,s)}render(){const e=o.provideLocalizationService(this),t=this.props.filter&&this.props.filter.filters||[];let r=0,l=-1;const n=this.props.columns.filter((e=>0===e.children.length)).map((o=>{const n=ye(o.filter),a=(e=>{if(void 0===e)return;const r=t.filter((t=>t.field===e));return r.length?r[0]:void 0})(o.field),h=o.filterable?e.toLanguageString(U,ee[U]):void 0;let p=a&&a.value;void 0===p&&(p="text"===n?"":null);const c=o.filterable&&{render:this.props.cellRender,field:o.field,title:o.filterTitle,value:p,operator:a&&a.operator,operators:ve(this.props.filterOperators[n]||[],e),booleanValues:ve(xe,e),filterType:n,ariaLabel:h,onChange:e=>{this.setFilter(e.value,e.operator,o.field,e.syntheticEvent)}},d=o.declarationIndex>=0?++l:--r,u={ariaLabel:h,ariaColumnIndex:o.ariaColumnIndex},g=void 0!==o.left?this.props.isRtl?{left:o.right,right:o.left}:{left:o.left,right:o.right}:{},f={columnId:i.tableKeyboardNavigationTools.getFilterColumnId(o.id),navigatable:o.navigatable,style:g,className:s.classNames("k-table-th",this.headerCellClassName(o.field,o.locked)||void 0),role:"columnheader",...u},C=c&&(o.filterCell?m.createElement(o.filterCell,{...c}):m.createElement(Re,{size:this.props.size,...c})),b=y(this.props.cells,o.cells);if(b&&b.filterCell){const e=b.filterCell;return m.createElement(e,{key:d,...c,thProps:f,index:l},C)}return m.createElement(i.HeaderThElement,{key:d,...f},C)}));return m.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},n)}};o.registerForLocalization(Ne);let De=class extends m.Component{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.onPress&&this.props.onPress(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.onDrag&&this.props.onDrag(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.onRelease&&this.props.onRelease(e.event)},this.sortChange=e=>{if(e.preventDefault(),this.props.onSortChange){const t="asc"===this.props.dir?"desc":"asc";this.props.onSortChange(e,t)}},this.groupRemove=e=>{e.preventDefault(),e.stopPropagation(),this.props.onRemove&&this.props.onRemove(e)},this.onContextMenu=e=>{const t={title:this.props.title,dir:this.props.dir,index:this.props.index};this.props.onContextMenu&&this.props.onContextMenu.call(void 0,e,{dataItem:{...t}})}}render(){const{dir:e}=this.props;return m.createElement(s.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},m.createElement("div",{className:"k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md",onClick:this.sortChange,onContextMenu:this.onContextMenu,role:"button",style:{touchAction:"none"}},m.createElement("span",null,m.createElement(s.IconWrap,{name:"sort-"+e+"-small",icon:"asc"===e?l.sortAscSmallIcon:l.sortDescSmallIcon,size:"small"})),m.createElement("span",{className:"k-chip-content"},this.props.title),m.createElement("span",{className:"k-chip-actions"},m.createElement("span",{className:"k-chip-action k-chip-remove-action",onClick:this.groupRemove},m.createElement(s.IconWrap,{name:"x-circle",icon:l.xCircleIcon,size:"small"})))))}};o.registerForLocalization(De);class Te extends m.Component{constructor(){super(...arguments),this.onGroupRemove=(e,t)=>{const r=this.props.group.slice();r.splice(t,1),this.props.groupChange(r,e)},this.onGroupSortChange=(e,t,r,s)=>{const i=Object.assign({},r,{dir:s}),o=this.props.group.slice();o.splice(t,1,i),this.props.groupChange(o,e)}}render(){const e=(this.props.group||[]).map(((e,t)=>m.createElement(De,{key:t,index:t,dir:e.dir||"asc",title:this.props.resolveTitle(e.field),onRemove:e=>{this.onGroupRemove(e,t)},onSortChange:(r,s)=>{this.onGroupSortChange(r,t,e,s)},onPress:this.props.pressHandler,onDrag:this.props.dragHandler,onRelease:this.props.releaseHandler,onContextMenu:this.props.onContextMenu})));return m.createElement("div",{ref:this.props.refCallback,className:"k-grouping-header",role:"toolbar","aria-label":o.provideLocalizationService(this).toLanguageString(j,ee[j]),"aria-controls":this.props.ariaControls||""},m.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},e),m.createElement("div",{className:"k-grouping-drop-container"},!e.length&&o.provideLocalizationService(this).toLanguageString(z,ee[z])," "))}}o.registerForLocalization(Te);let Fe=class extends m.Component{constructor(){super(...arguments),this.footerWrap=null,this.table=null,this.scrollbarWidth=s.getScrollbarWidth()}componentDidMount(){this.setState({})}setScrollLeft(e){this.footerWrap&&(this.footerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?m.createElement("div",{className:"k-grid-footer",role:"presentation"},m.createElement("div",{ref:e=>{this.footerWrap=e},className:"k-grid-footer-wrap",style:this.scrollbarWidth?{}:{borderWidth:0},role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:s.classNames("k-table k-grid-footer-table",{"k-table-md":!this.props.size,[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupFooter=e},role:"presentation"},this.props.cols),m.createElement("tfoot",{className:"k-table-tfoot",role:"presentation"},this.props.row)))):m.createElement("tfoot",{className:"k-table-tfoot"},this.props.row)}},ze=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=m.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=m.createRef(),this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.reactVersion=Number.parseFloat(m.version),this.topItems=(e,t)=>{if(!this.container||t)return{topItemsCount:0,topItemsHeight:0};const r=this.container.clientHeight,s=Math.ceil(r/e[0].line),i=Math.ceil((e.length-s)/2);let o=0;for(let t=0;t<i;t++)o+=e[t].line+e[t].acc;return{topItemsCount:i,topItemsHeight:o,itemsNeededOnScreen:s+s/2}},this.horizontalScrollbarHeight=()=>this.container?this.container.offsetHeight-this.container.clientHeight:0,e&&(this.topCacheCount=4,this.attendedSkip=-this.topCacheCount),this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}get rowHeights(){const e=[],t=this.tableBodyRef.current&&this.tableBodyRef.current.children||[];let r=0;for(let s=0;s<t.length;s++)t[s].className.indexOf("k-grouping-row")>-1?r+=t[s].scrollHeight:t[s].className.indexOf("k-detail-row")>-1?e[e.length-1].line+=t[s].scrollHeight:(e.push({line:t[s].scrollHeight,acc:r}),r=0);return e}changePage(e,t){this.attendedSkip=e-this.topCacheCount,this.PageChange&&this.PageChange({skip:Math.max(0,e-this.topCacheCount),take:this.pageSize},t)}translate(e,t){this.tableTranslate=e,this.scrollableVirtual&&this.table&&(this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}localScrollUp(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let s=this.tableTranslate,i=0;const{topItemsCount:o,topItemsHeight:l,itemsNeededOnScreen:n}=this.topItems(t,!!this.topCacheCount),a=r-s;if(!(a>l||t.length<=n)){for(;i<this.topCacheCount+this.attendedSkip-this.realSkip+o&&this.propsSkip-i>0&&!(s+(t[t.length-1-i].line+t[t.length-1-i].acc)+a<=r);)s-=t[t.length-1-i].line+t[t.length-1-i].acc,i++;if(0===i&&0===this.topCacheCount&&this.attendedSkip>0&&(s=Math.max(s-t[0].line,0),i=1),this.propsSkip-i<=0&&s>r)return this.translate(0),this.changePage(0,e),void(this.container.scrollTop=0);if(s>r&&(s=r),s!==this.tableTranslate){this.translate(Math.max(0,s-l));const t=Math.max(0,this.propsSkip-i-o);this.changePage(t,e)}}}localScrollDown(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let s=this.tableTranslate,i=0;const{topItemsCount:o,topItemsHeight:l,itemsNeededOnScreen:n}=this.topItems(t,!!this.topCacheCount);for(;i<t.length-this.topCacheCount&&!(s+t[i].line+t[i].acc>r);)s+=t[i].line+t[i].acc,i++;o>this.propsSkip+i||t.length<=n||(i>=t.length-this.topCacheCount&&this.propsSkip+i>=this.total?(this.translate(s-l),this.changePage(this.total-1-o,e)):s!==this.tableTranslate&&this.propsSkip+i-o!==this.propsSkip&&(this.translate(s-l),this.changePage(this.propsSkip+i-o,e)))}scrollNonStrict(e){const t=this.total*this.prevScrollPos/this.containerHeight;let r=Math.floor(t);r>=this.total&&(r=this.total-1);const s=Math.min(t-r,1);let i=0;const o=r-this.propsSkip,l=this.rowHeights;o>=0&&o<=1?i=-(l[0].line+l[0].acc)*s:-1===o&&(i=-(l[l.length-1].line+l[l.length-1].acc)*s);const{topItemsCount:n,topItemsHeight:a}=this.topItems(l,!!this.topCacheCount);this.translate(Math.max(0,i-a-this.horizontalScrollbarHeight()+this.containerHeight*t/this.total)),this.changePage(r-n,e)}scrollHandler(e){if(!this.scrollableVirtual)return;if(this.scrollSyncing||!this.container||!this.table)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,r=this.prevScrollPos;if(this.prevScrollPos=t,void 0!==this.askedSkip)return this.translate(this.containerHeight*this.askedSkip/this.total),this.changePage(this.askedSkip,e),this.prevScrollPos=t,void(this.askedSkip=void 0);t-r<0&&t>this.tableTranslate-this.table.scrollHeight/10?this.localScrollUp(e):t-r>0&&t<this.tableTranslate+2*this.table.scrollHeight/3?this.localScrollDown(e):this.scrollNonStrict(e),this.prevScrollPos=t}},Me=class{constructor(e=0,t,r,s){this.total=e,this.offsets=[],this.heights=[];let i=0;for(let o=0;o<e;o++){this.offsets.push(i);const e=s&&s[o].expanded&&"data"===s[o].rowType?r:t;i+=e,this.heights.push(e)}}height(e){return this.heights[e]}index(e){if(e<0)return;const t=this.offsets.reduce(((t,r,s)=>void 0!==t?t:r===e?s:r>e?s-1:void 0),void 0);return void 0===t?this.total-1:t}offset(e){return this.offsets[e]}totalHeight(){return this.offsets[this.offsets.length-1]+this.heights[this.heights.length-1]}},Le=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=m.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=m.createRef(),this.tableTransform="",this.scrollSyncing=!1,this.lastLoaded=0,this.firstLoaded=0,this.lastScrollTop=0,this.reactVersion=Number.parseFloat(m.version),this.firstLoaded=this.pageSize,this.lastLoaded=this.realSkip+this.pageSize,this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}translate(e,t){this.scrollableVirtual&&this.table&&(E||this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}changePage(e,t){this.PageChange&&this.PageChange({skip:Math.max(0,e),take:this.pageSize},t)}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}scrollHandler(e){if(!(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&this.containerRef.current))return;if(this.scrollSyncing)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,r=this.lastScrollTop>=t,s=!r;this.lastScrollTop=t;let i=this.rowHeightService.index(t),o=this.rowHeightService.offset(i);const{offsetHeight:l}=this.containerRef.current,n=this.rowHeightService.index(t+l);if(s&&n>=this.lastLoaded&&this.lastLoaded<this.total){const t=i+this.pageSize-this.total;t>0&&(i-=t,o=this.rowHeightService.offset(i)),this.firstLoaded=i,this.translate(o);let r=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(r,this.total),this.changePage(this.firstLoaded,e)}else if(r&&i<this.firstLoaded){const t=Math.floor(.3*this.pageSize);this.firstLoaded=Math.max(i-t,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,e)}}},Ge=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.dragHandler=(e,t,r,s)=>{const i=e.originalEvent;s||(i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation());const o=r.closest("th");if(!o||!o)return;const l=o.clientWidth;let n=l;if(this.isRtl?n+=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX:n+=e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!s&&Math.abs(n-l)<1)return;this.fixateInitialWidths(o.parentElement.clientWidth),this.setWidths(t,Math.floor(n)/l);const a=this.columns.filter((e=>!e.children.length)).findIndex((e=>e.id===t.id));this.onResize(a,l,n,i,s,t.id)},this.dblClickHandler=(e,t)=>{const r=this.columns.filter((e=>t.indexOf(e.id)>-1));if(!this.colGroupMain||!r.length)return;const s={},i=r;for(;i.length>0;){const e=i.pop();if(!e)break;e.children.length?i.push(...e.children):s[e.id]=e}const o=this.columns.filter((e=>!e.children.length)),l=[];o.forEach(((e,t)=>{s[e.id]&&l.push(t)}));const n=[this.colGroupMain.parentElement],a=[this.colGroupMain];this.colGroupHeader&&(n.push(this.colGroupHeader.parentElement),a.push(this.colGroupHeader)),this.colGroupFooter&&(n.push(this.colGroupFooter.parentElement),a.push(this.colGroupFooter)),n.forEach((e=>e.classList.add("k-autofitting")));let h=[];a.forEach((e=>{l.forEach((t=>{e.children[t]&&(e.children[t].width="",h[t]=Math.max(h[t]||0,e.children[t].offsetWidth+1))}))})),a.forEach((e=>{l.forEach((t=>{e.children[t]&&(e.children[t].width=h[t]+"px",o[t].width=h[t])}))})),n.forEach((e=>e.classList.remove("k-autofitting"))),this.onResize(l[0],0,0,e,!0,t[0])},this.updateColElements=e=>{const t=this.columns.filter((e=>!e.children.length));let r=1e-10;for(let s=0;s<e.length;s++){const i=e[s],o=t.findIndex((e=>e.id===i.id)),l=parseFloat((i.width||0).toString()),n=Math.floor(l);r+=l-n;const a=n+Math.floor(r);if(r-=Math.floor(r),this.colGroupMain&&this.colGroupMain.children[o]){const e=parseInt(this.colGroupMain.children[o].width,10);this.colGroupMain.children[o].width=a+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,i,e-a)}if(this.colGroupHeader&&this.colGroupHeader.children[o]){const e=parseInt(this.colGroupHeader.children[o].width,10);this.colGroupHeader.children[o].width=a+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,i,e-a)}if(this.colGroupFooter&&this.colGroupFooter.children[o]){const e=parseInt(this.colGroupFooter.children[o].width,10);this.colGroupFooter.children[o].width=a+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,i,e-a)}}},this.onResize=e}fixateInitialWidths(e){const t=this.columns.filter((e=>!e.children.length));let r=0,s=this.colGroupMain?this.colGroupMain.children:[];for(let t=0;t<s.length;t++)s[t].width?e-=parseFloat(s[t].width):r++;if(0===r)return;const i=Math.floor(e/r);for(let e=0;e<s.length;e++){const r=s[e];r.width||(r.width=i,t[e].width=i.toString(),this.colGroupHeader&&(this.colGroupHeader.children[e].width=i),this.colGroupFooter&&(this.colGroupFooter.children[e].width=i))}}setWidths(e,t){const r=this.columns.findIndex((t=>t.id===e.id)),s=[];let i=e.children.length;for(let e=r+1;i>0&&e<this.columns.length;e++,i--){const t=this.columns[e];t.children.length?i+=t.children.length:s.push(t)}return 0===s.length&&s.push(e),s.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const s=void 0===e.minResizableWidth?10:e.minResizableWidth;r<s&&(r=s),e.width=r})),this.updateColElements(s),s}updateNextLockedCol(e,t,r){const s=t.index,i=this.colGroupMain.parentElement.closest(".k-grid"),o=null==i?void 0:i.clientWidth,l=this.columns.filter((e=>e.locked)).map((e=>parseInt(e.width+"",10))).reduce(((e,t)=>e+t),0);!t.locked||o<=l+20||this.columns.forEach((t=>{if(null!=t&&t.locked&&r){const i=null==e?void 0:e.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');null==i||i.forEach((e=>{const i=e.style;this.isRtl?(t.index>s&&i&&i.right&&(i.right=parseInt(i.right,10)-r+"px"),t.index<s&&i&&i.left&&(i.left=parseInt(i.left,10)-r+"px")):(t.index>s&&i&&i.left&&(i.left=parseInt(i.left,10)-r+"px"),t.index<s&&i&&i.right&&(i.right=parseInt(i.right,10)-r+"px"))}))}}))}},Oe=class{constructor(e,t,r){this.refDragElementClue=m.createRef(),this.refDropElementClue=m.createRef(),this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.groupPanelDivElement=null,this.refGroupPanelDiv=e=>{this.groupPanelDivElement=e&&e.children?e.children[0]:e},this.pressHandler=(e,t)=>{const r=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),r>=0){const e=this.columns[r];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=r)}},this.dragHandler=(e,t)=>{if(e.isTouch||e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),-1===this.startColumn&&-1===this.startGroup)return;this.currentColumn=this.getColumnIndex(e,t),this.currentGroup=this.isTargetGroupingContainer(e)?this.getCurrentGroupsLength:this.getGroupIndex(e);const r=!this.isValid();r&&(this.currentColumn=-1,this.currentGroup=-1);const s=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.isTargetGroupingContainer(e)?e.originalEvent.target:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,s,r),this.updateDropElementClue(e,t,s,r)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,s=this.startGroup,i=this.currentGroup;e.originalEvent.preventDefault(),this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const o=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,o&&(t>=0&&r>=0?this.columnReorder(t,r,e.originalEvent):s>=0&&i>=0?this.groupReorder(s,i,e.originalEvent):t>=0&&i>=0&&this.columnToGroup(t,i,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=r}get dragClueRef(){return this.refDragElementClue}get dropClueRef(){return this.refDropElementClue}get getCurrentGroupsLength(){const e=this.groupPanelDivElement&&this.groupPanelDivElement.children;return e&&e.length||0}get dragElementClue(){return this.refDragElementClue.current}get dropElementClue(){return this.refDropElementClue.current}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const r=i.getIndex(e,t);if(-1===r)return-1;for(let e=0;e<t.parentNode.children.length;e++)if(t.parentNode.children[e]===t)return this.columns.findIndex((t=>t.index===r&&t.depth===e));return-1}isTargetGroupingContainer(e){const t=e.originalEvent.target;return!!t.className.indexOf&&-1!==t.className.indexOf("k-grouping-drop-container")}getGroupIndex(e){return i.getIndex(e,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)}updateDragElementClue(e,t,r,s){if(!this.dragElementClue)return;const i=this.startColumn>=0?t.children[this.columns[this.startColumn].index].innerText:t.innerText;this.dragElementClue.setState({visible:!0,top:e.pageY+10,left:e.pageX,innerText:i,status:s||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,s){if(!this.dropElementClue)return;if(s||!r)return void this.dropElementClue.setState({visible:!1});const i=r.getBoundingClientRect(),o=(r.closest(".k-grouping-header")||r).getBoundingClientRect();let l=i.left+e.pageX-e.clientX-6;!this.isTargetGroupingContainer(e)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(l+=i.width);const n=o.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:n,left:l,height:this.currentColumn>=0?t.clientHeight:o.height})}};const He=e=>{let t=null;const r=o.useInternationalization(),l=i.useTableKeyboardNavigation(e.id),n=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]);let a=null,h=null;if("groupFooter"===e.rowType)a={onContextMenu:n,className:e.className},t=m.createElement("td",{...a});else if("groupHeader"!==e.rowType){if(void 0!==e.field){const t=C(e.field,e.dataItem);null!=t&&(h=e.format?r.format(e.format,t):t.toString())}const i=s.classNames("k-table-td",e.className,{"k-selected":e.isSelected});a={onContextMenu:n,colSpan:e.colSpan,style:e.style,className:i,role:"gridcell","aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,...l},t=m.createElement("td",{...a},h)}const p=e.rowType||"data",c=e.cells;if(c&&c[p]){const t=c[p];return m.createElement(t,{...e,tdProps:a},h)}return e.render?e.render.call(void 0,t,e):t},Pe=e=>{let t=null;const{columnIndex:r,level:n,columnsCount:a,rowType:h,dataItem:p,field:c,onChange:d,expanded:u,render:g,dataIndex:f,ariaColumnIndex:C,isRtl:b}=e,v=c||"",x=i.useTableKeyboardNavigation(e.id),k=o.useLocalization();let E=null,I=null,y=null;const S=m.useCallback((e=>{e.isDefaultPrevented()||e.keyCode===s.Keys.enter&&d&&(e.preventDefault(),d({dataItem:p,dataIndex:f,syntheticEvent:e,field:void 0,value:!u}))}),[u,d,p,f]),w=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),R=(t,r)=>{const i=u?X:$,o=k.toLanguageString(i,ee[i]);return E={className:"k-table-td",style:{...e.style,...r},colSpan:t,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":u,"aria-colindex":C,onKeyDown:S,onContextMenu:w,...x},y=m.createElement("p",{className:"k-reset"},m.createElement("a",{onClick:e=>{e.preventDefault(),d&&d({dataItem:p,dataIndex:f,syntheticEvent:e,field:void 0,value:!u})},href:"#",tabIndex:-1,"aria-label":o},m.createElement(s.IconWrap,{name:u?"caret-alt-down":b?"caret-alt-left":"caret-alt-right",icon:u?l.caretAltDownIcon:b?l.caretAltLeftIcon:l.caretAltRightIcon})),p[v]instanceof Date&&p[v].toString?p[v].toString():p[v]),m.createElement("td",{...E,key:E.key},y)};void 0===r||void 0===n||r<n||void 0===a||"groupHeader"!==h||void 0===p[v]?(E={style:e.style,key:"g"+r,className:s.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":e.locked}),role:"gridcell",onContextMenu:w},t=m.createElement("td",{...E,key:E.key})):r<=n&&!e.locked?t=R(a-r,{}):r<=n&&e.locked&&(I={className:"k-table-td",role:"gridcell",colSpan:a-r,style:{borderLeftWidth:0,borderRightWidth:0},onContextMenu:w},t=m.createElement(m.Fragment,null,R(0,{position:"sticky",zIndex:2}),m.createElement("td",{...I})));const N=e.rowType||"data",D=e.cells;if(D&&D.group&&D.group[N]){const t=D.group[N];return m.createElement(t,{...e,tdProps:E,td2Props:I},y)}return g?g.call(void 0,t,e):t};let _e=class extends m.Component{render(){const e=s.classNames("k-table-row",{"k-table-group-row k-grouping-row":"groupHeader"===this.props.rowType,"k-group-footer":"groupFooter"===this.props.rowType,"k-master-row":"groupHeader"!==this.props.rowType&&"groupFooter"!==this.props.rowType,"k-table-alt-row k-alt":"groupHeader"!==this.props.rowType&&"groupFooter"!==this.props.rowType&&this.props.isAltRow,"k-selected":this.props.isSelected,"k-grid-edit-row":this.props.isInEdit}),t=m.createElement("tr",{id:this.props.id,onClick:this.props.onClick,onDoubleClick:this.props.onDoubleClick,className:e,style:{height:this.props.rowHeight?this.props.rowHeight+"px":"",visibility:this.props.isHidden?"hidden":""},role:"row","aria-rowindex":this.props.ariaRowIndex,"absolute-row-index":this.props.absoluteRowIndex,key:this.props.absoluteRowIndex,[ie]:"data"===this.props.rowType?this.props.dataIndex:void 0},this.props.children);return this.props.render?this.props.render.call(void 0,t,this.props):t}};class Ae extends m.Component{get _inputId(){return this.props.id}render(){const e=o.provideLocalizationService(this),{columnMenuWrapperProps:t}=this.props,r=[m.createElement("span",{key:0,className:"k-checkbox-wrap"},m.createElement("input",{id:this._inputId,type:"checkbox",tabIndex:-1,className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":e.toLanguageString(J,ee[J]),"aria-checked":this.props.selectionValue,checked:this.props.selectionValue,onChange:e=>this.props.selectionChange({field:this.props.field,syntheticEvent:e})})),t.columnMenu&&m.createElement(ce,{...t})];return this.props.render?this.props.render.call(void 0,r,this.props):r}}o.registerForLocalization(Ae);const Ke=s.withIdHOC(Ae),We=class extends m.Component{render(){return this.props.children||o.provideLocalizationService(this).toLanguageString(S,ee[S])}};We.displayName="KendoReactGridNoRecords";let Be=We;o.registerForLocalization(Be);class qe extends m.Component{constructor(){super(...arguments),this._element=null,this.renderCell=(e,t)=>{const r={colSpan:1!==e.colSpan?e.colSpan:void 0,style:void 0!==e.left?this.props.isRtl?{left:e.right,right:e.left}:{left:e.left,right:e.right}:{},className:s.classNames("k-table-td",e.locked&&void 0!==e.left?"k-grid-footer-sticky":""),key:t,role:"gridcell","aria-colindex":e.ariaColumnIndex},i={field:e.field,ariaColumnIndex:e.ariaColumnIndex,...r},o=y(this.props.cells,e.cells);if(o&&o.footerCell){const e=o.footerCell;return m.createElement(e,{...i,tdProps:r,index:t})}return e.footerCell&&m.createElement(e.footerCell,{...i,key:t})||m.createElement("td",{...r})}}get element(){return this._element}render(){return m.createElement("tr",{className:"k-table-row",role:"row","aria-rowindex":this.props.ariaRowIndex},(e=>e.filter((t=>!(((e,t)=>{let r=e[t.parentIndex];for(;r;){if(r.footerCell)return!0;r=e[r.parentIndex]}return!1})(e,t)||!t.footerCell&&t.children&&t.children.length>0))))(this.props.columns).map(this.renderCell))}}const Ve=e=>(({buttonCount:e=10,info:t=!0,type:r="numeric",pageSizes:s,previousNext:i=!0,responsive:o,pageSizeValue:l})=>({buttonCount:e,info:t,pageSizes:!0===s?[5,10,20]:s||void 0,previousNext:i,responsive:!1!==o,type:r,pageSizeValue:l}))(!0===e?{}:e),Ue={name:"@progress/kendo-react-grid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},je=e=>{const{colSpan:t,ariaColIndex:r,dataItem:s,dataIndex:o,id:l}=e,n=i.useTableKeyboardNavigation(l),a=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem)}),[e.onContextMenu,e.dataItem]);return m.createElement("td",{onContextMenu:a,className:"k-table-td k-detail-cell",colSpan:t,"aria-colindex":r,role:"gridcell",...n},m.createElement(e.detail,{dataItem:s,dataIndex:o}))},$e=e=>m.createElement("td",{className:"k-table-td k-hierarchy-cell",role:"gridcell"}),Xe=class extends m.Component{constructor(e){super(e),this._columns=[],this._columnsMap=[[]],this._columnsMutations=0,this._resized=!1,this._shouldUpdateLeftRight=!0,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this._data=[],this._slicedData=void 0,this.wrapperScrollTop=0,this.showLicenseWatermark=!1,this.headerRef=m.createRef(),this.headerElementRef=m.createRef(),this._element=null,this.tableElement=null,this.containerRef=m.createRef(),this.tableBodyRef=m.createRef(),this._footer=null,this.forceUpdateTimeout=void 0,this.isRtl=!1,this.observer=null,this.handleIntersection=e=>{const t={rowIndex:this.rowIndex};e.forEach((e=>{e.isIntersecting||this.setCurrentOnTop(t)}))},this.setCurrentOnTop=e=>{if(!this.vs.container||"none"===this.props.scrollable)return;this.observer&&this.observer.disconnect();const{rowIndex:t}=e;if("virtual"===this.props.scrollable)this.vs.askedSkip=t,this.vs.container.scroll(0,Math.round(this.vs.askedSkip/this.vs.total*this.vs.container.scrollHeight));else if(this.element){const e=t<1?this.element.querySelector("tbody > tr:nth-child(1)"):this.element.querySelector(`tbody > tr:nth-child(${t+1})`);e&&this.containerRef.current&&(this.containerRef.current.scrollTop=e.offsetTop)}},this.scrollIntoView=e=>{if(!this.vs.container||"none"===this.props.scrollable)return;this.rowIndex=e.rowIndex;const{rowIndex:t}=e,r=this.element;if(this.observer&&r){this.observer.disconnect();const s=r.querySelector(`[absolute-row-index="${t}"]`);s?this.observer.observe(s):this.setCurrentOnTop(e)}},this.fitColumns=e=>{this.columnResize.dblClickHandler(null,e)},this.onContextMenu=(e,t,r)=>{if(this.props.onContextMenu){const s={target:this,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:t,field:r};this.props.onContextMenu.call(void 0,s)}},this.getVirtualScroll=e=>{const{rowHeight:t,detailRowHeight:r,detail:s,expandField:i,groupable:o}=e,l=this.isAllData(),n=void 0!==t&&t>0,a=void 0!==r&&r>0,h=!0===o||"object"==typeof o&&!1!==o.enabled;return!n||h&&!l||s&&i&&(!a||!l)?ze:Le},this.isAllData=()=>{const{data:e,total:t}=this.props;return Array.isArray(e)?e.length===t:!!e&&t===e.total},this.initializeVirtualization=(e,t)=>{if(this.reInitVirtualization("virtual"===this.props.scrollable,this.props.total,this.props.filter,this.props.group,this.props.sort,t||void 0===this.props.rowHeight||0===this.props.rowHeight),this.vs.fixedScroll=this.props.fixedScroll||!1,this.vs.PageChange=this.pageChange,this.vs.realSkip=this.props.skip||0,this.vs.pageSize=(void 0!==this.props.take?this.props.take:this.props.pageSize)||0,this.vs.scrollableVirtual="virtual"===this.props.scrollable,this.vs.total=e,this.vs.propsSkip=(this.props.skip||0)+("virtual"===this.props.scrollable?this.vs.topCacheCount+(this.vs.attendedSkip-(this.props.skip||0)):0),void 0!==this.props.rowHeight&&this.props.rowHeight>0&&!t){const t=this.props.rowHeight*e;this.vs.containerHeight=E?Math.min(I,t):t}else this.vs.containerHeight=1533915;if(this.vs.containerRef=this.containerRef,this.vs.tableBodyRef=this.tableBodyRef,this.vs.table=this.tableElement,this._slicedData=void 0,this.vs instanceof Le){const{rowHeight:t=0,detail:r,expandField:s}=this.props;let{detailRowHeight:i=0}=this.props;i=r&&s?i:t,this.isAllData()?(this.vs.total=this._data.length,this._slicedData=this._data.slice(this.vs.realSkip,this.vs.realSkip+this.vs.pageSize),this.vs.rowHeightService=this.rowHeightService(this.vs,this._data.length,t,i,this._data)):this.vs.rowHeightService=new Me(e,t,i);const o=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=E?Math.min(I,o):o}},this.scrollHandler=e=>{if(e.target!==e.currentTarget)return;clearTimeout(this.forceUpdateTimeout),this.vs.table=this.tableElement;const t=e.currentTarget.scrollLeft,r=e.currentTarget.scrollTop;this.props.columnVirtualization&&(!this.vs.scrollableVirtual||r===this.wrapperScrollTop)&&(this.forceUpdateTimeout=window.setTimeout((()=>{this.forceUpdate()}),0)),this._header&&this._header.setScrollLeft(t),this._footer&&this._footer.setScrollLeft(t),this.vs&&r!==this.wrapperScrollTop&&this.vs.scrollHandler(e),s.dispatchEvent(this.props.onScroll,e,this,void 0),this.wrapperScrollTop=r},this.onKeyDown=e=>{if(i.tableKeyboardNavigation.onKeyDown(e,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,onNavigationAction:this.onNavigationAction}),this.props.onKeyDown){const{mode:t,cell:r}=i.getSelectionOptions(this.props.selectable),s={dataItems:this.getLeafDataItems(),mode:t,cell:r,componentId:this._gridId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,s)}},this.onFocus=e=>{i.tableKeyboardNavigation.onFocus(e,{contextStateRef:this.contextStateRef})},this.onNavigationAction=e=>{if(this.props.onNavigationAction){const t={focusElement:e.focusElement,...this.getArguments(e.event)};this.props.onNavigationAction.call(void 0,t)}},this.rowClick=(e,t)=>{this.props.onRowClick&&"TD"===e.target.nodeName&&this.props.onRowClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.rowDblClick=(e,t)=>{this.props.onRowDoubleClick&&"TD"===e.target.nodeName&&this.props.onRowDoubleClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.itemChange=e=>{const t=this.props.onItemChange;if(e.field===this.props.expandField||this.props.group&&void 0===e.field){const t=this.props.onExpandChange;t&&t.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}else t&&t.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,field:e.field,value:e.value})},this.onHeaderSelectionChange=e=>{this.props.onHeaderSelectionChange&&this.props.onHeaderSelectionChange.call(void 0,{field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:this,dataItems:this.getLeafDataItems(),selectedField:this.props.selectedField})},this.selectionRelease=e=>{if(this.props.onSelectionChange){const t={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._gridId,dataItems:this.getLeafDataItems(),dataItem:null,...e};this.props.onSelectionChange.call(void 0,t)}},this.pageChange=(e,t,r)=>{this.raiseDataEvent(this.props.onPageChange,{page:e},{skip:e.skip,take:e.take},t,r)},this.pagerPageChange=e=>{this.pageChange({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},this.sortChange=(e,t)=>{this.raiseDataEvent(this.props.onSortChange,{sort:e},{sort:e,..."virtual"===this.props.scrollable?{skip:0}:{}},t)},this.filterChange=(e,t)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:e},{filter:e||void 0,skip:0},t)},this.groupChange=(e,t)=>{const r=t.nativeEvent?t:{nativeEvent:t.nativeEvent||t.originalEvent};this.raiseDataEvent(this.props.onGroupChange,{group:e},{group:e,skip:0},r)},this.onClipboard=(e,t)=>{if(this.props.onClipboard){if(!this.inActiveElement()||!e)return;this.props.onClipboard.call(void 0,{type:e,nativeEvent:t,columns:this._columns,dataItemKey:this.props.dataItemKey||"",..."boolean"!=typeof this.props.clipboard?this.props.clipboard:{}})}},this.inActiveElement=()=>{var e,t,r;if(!s.canUseDOM)return!1;const i=s.getActiveElement(this.document),o=i?i.matches(".k-table-td")?i:null==(e=this.document)?void 0:e.body:null==(t=this.document)?void 0:t.body,l=o.closest(".k-grid-container"),n=o&&(null==(r=this._element)?void 0:r.contains(o));return!!(o&&n&&l)},this.onResize=(e,t,r,s,i,o)=>{this.resetTableWidth(),this._shouldUpdateLeftRight=!0,this._resized=!0,this._columnsMutations++,this.props.onColumnResize&&this.props.onColumnResize.call(void 0,{columns:this.columns,nativeEvent:s,targetColumnId:o,index:e,newWidth:t,oldWidth:r,end:i,target:this})},this.reInitVirtualization=s.memoizeOne(((e,t,r,s,i,o)=>{this.vs.reset();const l=this.getVirtualScroll(this.props);this.vs=new l(o)})),this.flatData=s.memoizeOne(((e,t,r,s,i,o,l)=>{const n=[];return{flattedData:n,resolvedGroupsCount:b(n,e,t,{index:r},void 0!==s,i)}})),this.rowHeightService=s.memoizeOne(((e,t,r,s,i)=>new Me(t,r,s,i))),this.childrenToArray=s.memoizeOne((e=>m.Children.toArray(e))),this.readColumns=s.memoizeOne(((e,t,r)=>{const s=e.filter((e=>e&&e.type&&"KendoReactGridColumn"===e.type.displayName));return v(s,this.columns,{prevId:0,idPrefix:t})})),this.mapColumns=s.memoizeOne((e=>i.mapColumns(e))),this.configureColumns=s.memoizeOne(((e,t,r)=>{this.props.selectedField&&e.filter((e=>e.field===this.props.selectedField)).forEach((e=>{e.width=e.width||"50px",e.cell=e.cell||re,e.headerCell=e.headerCell||Ke}));const s={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let i=0;this.props.expandField&&this.props.onExpandChange&&this.props.detail&&(e.unshift({...s,cell:se,field:this.props.expandField,headerClassName:"k-hierarchy-cell k-header"}),i++);for(let r=0;r<t;r++)e.unshift({...s,isAccessible:!1,cell:Pe,field:"value",locked:this.props.lockGroups}),i++;e.slice(i).forEach((e=>e.parentIndex>=0&&(e.parentIndex+=i)))})),this.getHeaderRow=s.memoizeOne(((e,t,r,s,i,o,l,n,a,h,p,c)=>m.createElement(me,{cells:this.props.cells,sort:e,sortable:t,sortChange:this.sortChange,group:r||[],groupable:s,groupChange:this.groupChange,filter:i,filterable:o,filterOperators:l,filterChange:this.filterChange,columnMenu:a,selectionChange:this.onHeaderSelectionChange,columns:h,columnResize:this.columnResize,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,columnsMap:p,cellRender:n,isRtl:c,dragClue:this.dragLogic.dragClueRef,headerRef:this.headerElementRef,containerRef:this.containerRef,columnGroupChange:this.columnGroupChange}))),this.resolveTitle=e=>{const t=this._columns.find((t=>t.field===e)),r=t&&(t.title||t.field);return void 0===r?e:r},this.getLeafDataItems=()=>this._data.filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),s.validatePackage(Ue),this.showLicenseWatermark=s.shouldShowValidationUI(Ue);const t=!0===this.props.groupable||"object"==typeof this.props.groupable&&!1!==this.props.groupable.enabled,r=this.getVirtualScroll(e);this.vs=new r(t||void 0===e.rowHeight||0===e.rowHeight),this.dragLogic=new Oe(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnGroupChange=this.columnGroupChange.bind(this),this.columnResize=new Ge(this.onResize),this.props.clipboard&&(this.clipboardService=new i.ClipboardService(this.onClipboard)),i.tableKeyboardNavigation.onConstructor({navigatable:!!e.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,idPrefix:this._gridId})}get columns(){const e=this._columns.filter((e=>e.declarationIndex>=0&&-1===e.parentIndex));return k(e)}get element(){return this._element}get document(){if(s.canUseDOM)return this.element&&this.element.ownerDocument||document}get _header(){return this.headerRef.current}get _gridId(){return this.props.id+"-role-element-id"}componentDidMount(){this.resetTableWidth(),s.setScrollbarWidth();const e=i.isRtl(this.element);this.isRtl=e,i.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.isRtl&&this.forceUpdate();this.clipboardService&&this.clipboardService.addEventListeners(this.document),this.observer=s.canUseDOM&&window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,{rootMargin:"0px",threshold:.9})||null}getSnapshotBeforeUpdate(){return i.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(){this.resetTableWidth(),s.setScrollbarWidth(),this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform=""),i.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){clearTimeout(this.forceUpdateTimeout),this.clipboardService&&this.clipboardService.removeEventListeners(this.document)}render(){var e;let t=this.props.total||0;const r=i.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),l=o.provideLocalizationService(this);let n=[];Array.isArray(this.props.data)?(n=this.props.data,t=t||this.props.data.length):this.props.data&&(n=this.props.data.data,t=t||this.props.data.total);const a="object"==typeof this.props.groupable&&this.props.groupable.footer||"none",{resolvedGroupsCount:h,flattedData:p}=this.flatData(n,a,this.props.skip||0,this.props.group,this.props.expandField,this.props.filter,this.props.sort);this._data=p;const c=!0===this.props.groupable||"object"==typeof this.props.groupable&&!1!==this.props.groupable.enabled;this.columnResize.resizable=this.props.resizable||!1,this.dragLogic.reorderable=this.props.reorderable||!1,this.dragLogic.groupable=c;const d=this.props.selectable&&this.props.selectable.drag?"none":void 0;this.initializeVirtualization(t,c);const u=this.childrenToArray(this.props.children);this.initColumns(u,h);const g=u.map((e=>e&&e.type&&"KendoReactGridToolbar"===e.type.displayName?m.cloneElement(e,{...e.props,ariaControls:this._gridId}):null)),f=u.filter((e=>e&&e.type&&"KendoReactGridNoRecords"===e.type.displayName)),b=u.filter((e=>e&&e.type&&"KendoReactGridStatusBar"===e.type.displayName)),v=this._columns.filter((e=>0===e.children.length)),k=c&&m.createElement(Te,{group:this.props.group||[],groupChange:this.groupChange,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,refCallback:this.dragLogic.refGroupPanelDiv,resolveTitle:this.resolveTitle,ariaControls:this._gridId,onContextMenu:this.onContextMenu}),{sort:E,sortable:I,group:S,filter:w,filterable:R,filterOperators:N=Ce,headerCellRender:D,columnMenu:T}=this.props,F=m.createElement(ae,{size:this.props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,scrollableDataElement:()=>this.vs.container,draggable:this.props.reorderable||c,ref:this.headerRef,elemRef:this.headerElementRef,headerRow:this.getHeaderRow(E,I,S,c,w,R,N,D,T,this._columns,this._columnsMap,this.isRtl),filterRow:this.props.filterable&&m.createElement(Ne,{cells:this.props.cells,size:this.props.size,columns:this._columns,filter:this.props.filter,filterOperators:this.props.filterOperators||Ce,filterChange:this.filterChange,sort:this.props.sort,cellRender:this.props.filterCellRender,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1})||void 0,cols:v.map(((e,t)=>m.createElement("col",{key:t.toString(),width:x(e)})))}),z=this.vs&&this.vs.container&&this.vs.container.scrollLeft||0,M=parseFloat(((this.props.style||{}).width||"").toString()),{colSpans:L,hiddenColumns:G}=i.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:v,tableViewPortWidth:M,scrollLeft:z}),O=(e,t,s)=>{let o=!1;const l=this.props.selectedField?C(this.props.selectedField,e.dataItem):void 0;return{row:v.map(((n,a)=>{if(G[a])return null;const h=n.id?n.id:a,p=`${n.className?n.className+" ":""}${n.locked?"k-grid-content-sticky":""}`,c=void 0!==n.left?this.isRtl?{left:n.right,right:n.left}:{left:n.left,right:n.right}:{};let d=!1;if(n.editable&&this.props.editField){const t=C(this.props.editField,e.dataItem);t&&(!0===t||t===n.field)&&(o=!0,d=!0)}const u=n.cell||d&&ne||He,g=this.props.expandField&&this.props.detail&&n.field===this.props.expandField;return m.createElement(u,{onContextMenu:this.onContextMenu,key:h,locked:this.props.lockGroups,id:i.tableKeyboardNavigationTools.generateNavigatableId(`${t}-${String(a)}`,r,g?"nodata":"cell"),colSpan:L[a],dataItem:e.dataItem,field:n.field,editor:n.editor,format:n.format,className:p,render:this.props.cellRender,cells:y(this.props.cells,n.cells),onChange:this.itemChange,selectionChange:this.props.onSelectionChange?t=>{this.selectionChange({event:t,dataItem:e.dataItem,dataIndex:s,columnIndex:a})}:void 0,columnIndex:a,columnsCount:v.length,rowType:e.rowType,level:e.level,expanded:e.expanded,dataIndex:e.dataIndex,style:c,ariaColumnIndex:n.ariaColumnIndex,isSelected:Array.isArray(l)&&l.indexOf(a)>-1})})),isInEdit:o,isSelected:"boolean"==typeof l&&l}};let H=0;if("virtual"===this.props.scrollable)for(let e=0;e<this.vs.topCacheCount+this.vs.attendedSkip-(this.props.skip||0);e++){const t=this._data.shift();if(!t)break;this._data.push(t),H++,"groupHeader"===t.rowType&&e--}const P=e=>e>=this._data.length-H;let _=this.vs.realSkip||0;const A=[];let K=!1;const W=this._columnsMap.length+(this.props.filterable?1:0)+1,B=m.createElement("div",{key:"no-records",className:"k-grid-norecords","aria-rowindex":W},m.createElement("div",{className:"k-grid-norecords-template"},f.length?f:m.createElement(Be,null)));let q=0;if(this._data.length){let e=-1,t=0;(this._slicedData||this._data).forEach(((o,l)=>{"data"===o.rowType&&(_++,e++);const n=_%2==0,a=this.props.dataItemKey&&s.getter(this.props.dataItemKey)(o.dataItem),h=l+(this.vs.realSkip||0),p=a||"ai"+h,c=p+"_1",d=O(o,p,e);if(q=h+W+t,A.push(m.createElement(_e,{key:p,dataItem:o.dataItem,isAltRow:n,isInEdit:d.isInEdit,rowType:o.rowType,isHidden:P(l),onClick:e=>this.rowClick(e,o),onDoubleClick:e=>this.rowDblClick(e,o),selectedField:this.props.selectedField,rowHeight:this.props.rowHeight,render:this.props.rowRender,ariaRowIndex:q,absoluteRowIndex:h,dataIndex:e,isSelected:d.isSelected},d.row)),this.props.detail&&"data"===o.rowType&&o.expanded){const e=v.length-(this.props.expandField?1:0)-(this.props.group?this.props.group.length:0)||1;t++,q=h+W+t,A.push(m.createElement("tr",{key:c,className:s.classNames("k-table-row",n?"k-detail-row k-table-alt-row k-alt":"k-detail-row"),style:{visibility:P(l)?"hidden":"",height:this.props.detailRowHeight},role:"row","aria-rowindex":q},this.props.group&&this.props.group.map(((e,t)=>{var r;const s=null==(r=null==d?void 0:d.row[t])?void 0:r.props.style,i=s?this.isRtl?{left:s.right,right:s.left}:{left:s.left,right:s.right}:{};return m.createElement(Pe,{id:"",dataIndex:o.dataIndex,field:e.field,dataItem:o.dataItem,key:t,style:i,ariaColumnIndex:1+t,isSelected:!1,locked:this.props.lockGroups,isRtl:this.isRtl,cells:this.props.cells})})),this.props.expandField&&m.createElement($e,{id:i.tableKeyboardNavigationTools.generateNavigatableId(`${c}-dhcell`,r)}),m.createElement(je,{onContextMenu:this.onContextMenu,dataItem:o.dataItem,dataIndex:o.dataIndex,colSpan:e,ariaColIndex:2+(this.props.group?this.props.group.length:0),detail:this.props.detail,id:i.tableKeyboardNavigationTools.generateNavigatableId(`${c}-dcell`,r)})))}}))}else K=!0;const V={size:this.props.size,onPageChange:this.pagerPageChange,total:t,dir:this.isRtl?"rtl":void 0,skip:this.vs.propsSkip||0,take:(void 0!==this.props.take?this.props.take:this.props.pageSize)||10,messagesMap:te,...Ve(this.props.pageable||{})},U=this.props.pager?m.createElement(this.props.pager,{...V}):m.createElement(i.Pager,{className:"k-grid-pager",...V}),j=e=>this.props.sort&&this.props.sort.filter((t=>t.field===e)).length>0,$=null!=(e=this.props.cells)&&e.footerCell||this._columns.some((e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)}))?m.createElement(Fe,{size:this.props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,ref:e=>this._footer=e,row:m.createElement(qe,{cells:this.props.cells,columns:this._columns,isRtl:this.isRtl,ariaRowIndex:q+1}),cols:v.map(((e,t)=>m.createElement("col",{key:t.toString(),width:x(e)})))}):null,X=m.createElement("colgroup",{ref:e=>{this.columnResize.colGroupMain=e}},v.map(((e,t)=>m.createElement("col",{key:t.toString(),className:j(e.field)?"k-sorted":void 0,width:x(e)})))),Y=this.dragLogic.reorderable||this.dragLogic.groupable,Q=this.props.columnVirtualization?"block":"table";if("none"===this.props.scrollable)return m.createElement(i.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:this.props.style,className:s.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...i.tableKeyboardNavigationScopeAttributes},g,k,m.createElement(i.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e}},m.createElement("table",{className:s.classNames("k-table k-grid-table",{[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),style:{userSelect:d,display:Q}},X,F,m.createElement("tbody",{role:"rowgroup",className:"k-table-tbody",...i.tableKeyboardNavigationBodyAttributes},A),$)),K&&B,Y&&m.createElement(m.Fragment,null,m.createElement(i.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(i.DragClue,{ref:this.dragLogic.refDragElementClue}))),b,this.props.pageable&&U);let J=this.props.style||{};return"virtual"===this.props.scrollable&&(J.height||(J=Object.assign({},J,{height:"450px"}))),m.createElement(i.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:J,className:s.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size,"k-grid-virtual":"virtual"===this.props.scrollable},this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...i.tableKeyboardNavigationScopeAttributes},g,k,m.createElement("div",{className:"k-grid-aria-root",role:"grid","aria-colcount":v.length,"aria-rowcount":t,id:this._gridId,"aria-label":l.toLanguageString(Z,ee[Z])},F,m.createElement("div",{className:"k-grid-container",role:"presentation"},m.createElement("div",{ref:this.containerRef,className:"k-grid-content k-virtual-content",onScroll:this.scrollHandler,role:"presentation"},m.createElement("div",{className:"k-grid-table-wrap",role:"presentation"},m.createElement(i.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e}},m.createElement("table",{className:s.classNames("k-table k-grid-table",{"k-table-md":!this.props.size,[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),role:"presentation",style:{userSelect:d,display:Q}},X,m.createElement("tbody",{className:"k-table-tbody",ref:this.tableBodyRef,role:"rowgroup",...i.tableKeyboardNavigationBodyAttributes},A))),K&&B),m.createElement("div",{className:"k-height-container",role:"presentation"},m.createElement("div",{style:"virtual"===this.props.scrollable?{height:this.vs.containerHeight+"px"}:{}})))),$,Y&&m.createElement(m.Fragment,null,m.createElement(i.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(i.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&m.createElement(s.WatermarkOverlay,null)),b,this.props.pageable&&U))}selectionChange(e){if(this.props.onSelectionChange){const{event:t,dataItem:r,dataIndex:s,columnIndex:o}=e,{mode:l,cell:n}=i.getSelectionOptions(this.props.selectable),a={...this.getArguments(t.syntheticEvent),dataItem:r,startColIndex:o,endColIndex:o,startRowIndex:s,endRowIndex:s,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:l,cell:n,isDrag:!1,componentId:this._gridId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,a)}}raiseDataEvent(e,t,r,s,i){const o=this.props.onDataStateChange;if(e){const r={...this.getArguments(s),...t,targetEvent:i};e.call(void 0,r)}else o&&o.call(void 0,{...this.getArguments(s),targetEvent:i||{},dataState:{...this.getDataState(),...r}})}columnReorder(e,t,r){const s=this._columns[e],o=s.depth,l=e=>{do{e++}while(e<this._columns.length&&this._columns[e].depth>o);return e},n=this._columns.splice(e,l(e)-e);this._columns.splice(e<t?l(t-n.length):t,0,...n),this._columns.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>e.orderIndex=t)),this._columnsMutations++;const a=this._columns[e].locked&&this._columns[t].locked;i.updateLeft(this._columnsMap,this._columns,a||this._shouldUpdateLeftRight),i.updateRight(this._columnsMap,this._columns,a||this._shouldUpdateLeftRight),this._resized&&(this._shouldUpdateLeftRight=!1,this._resized=!1);const h=this.columns;if(this.forceUpdate(),this.props.onColumnReorder){const e={target:this,columns:h,columnId:s.id,nativeEvent:r};this.props.onColumnReorder.call(void 0,e)}}groupReorder(e,t,r){if(void 0===this.props.group)return;const s=this.props.group.slice();s.splice(t,0,...s.splice(e,1)),this.groupChange(s,r)}columnToGroup(e,t,r){const s=this._columns[e].field;if(!s)return;const i=(this.props.group||[]).slice();i.splice(t,0,{field:s}),this.groupChange(i,r)}columnGroupChange(e,t){const r=this.dragLogic.getCurrentGroupsLength;this.columnToGroup(e,r,t)}resetTableWidth(){let e=0;if(!this.columnResize.colGroupMain)return;const t=this.columnResize.colGroupMain.children;for(let r=0;r<t.length;r++){const s=t[r].width;if(!s)return;e+=parseFloat(s.toString())}e=Math.round(e),this._header&&this._header.setWidth(e),this._footer&&this._footer.setWidth(e),this.tableElement&&(this.tableElement.style.width=e+"px")}initColumns(e,t){const r=i.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this._columns=this.readColumns(e,r,this._columnsMutations),0===this._columns.length&&(this._columns=function(e,t,r,s){let o=[];Array.isArray(e)?o=e:e&&(o=e.data);const l=[];if(o.length>0){let e=o[0];if(t)for(let r=0;r<t.length;r++)e=e.items&&e.items[0];Object.getOwnPropertyNames(e).forEach((e=>{e!==r&&l.push(Object.assign({id:i.tableKeyboardNavigationTools.generateNavigatableId(""+s.prevId++,s.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,rowSpan:0,index:0,left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0},f.defaultProps,{field:e}))}))}return l}(this.props.data,this.props.group,this.props.expandField,{prevId:0,idPrefix:r})),this.configureColumns(this._columns,t,r),this._columnsMap=this.mapColumns(this._columns),this.columnResize.columns=this._columns,this.dragLogic.columns=this._columns}getDataState(){return{filter:this.props.filter,sort:this.props.sort,skip:this.props.skip,take:void 0!==this.props.take?this.props.take:this.props.pageSize,group:this.props.group}}getArguments(e){return{nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:this}}};Xe.displayName="KendoReactGrid",Xe.defaultProps={},Xe.propTypes={data:r.oneOfType([r.array,r.shape({data:r.array,total:r.number})]),sortable:r.oneOfType([r.bool,r.shape({mode:r.oneOf(["single","multiple"]),allowUnsort:r.bool})]),onSortChange:r.func,sort:r.array,filterable:r.bool,filter:r.any,onFilterChange:r.func,pageable:r.oneOfType([r.bool,r.shape({buttonCount:r.number,responsive:r.bool,info:r.bool,type:r.oneOf(["numeric","input"]),pageSizes:r.oneOfType([r.bool,r.arrayOf(r.oneOfType([r.string,r.number]))]),previousNext:r.bool})]),pageSize:r.number,onPageChange:r.func,total:r.number,skip:r.number,take:r.number,fixedScroll:r.bool,onExpandChange:r.func,expandField:r.string,selectedField:r.string,onSelectionChange:r.func,onHeaderSelectionChange:r.func,resizable:r.bool,reorderable:r.bool,group:r.any,groupable:r.oneOfType([r.bool,r.shape({enabled:r.bool,footer:r.oneOf(["always","visible","none"])})]),onGroupChange:r.func,onRowClick:r.func,onRowDoubleClick:r.func,onItemChange:r.func,editField:r.string,scrollable:r.oneOf(["none","scrollable","virtual"]),rowHeight:r.number,detailRowHeight:r.number,detail:r.any,style:r.object,onDataStateChange:r.func,onColumnResize:r.func,onColumnReorder:r.func,dataItemKey:r.string,navigatable:r.bool,size:r.oneOf(["small","medium"])},Xe.contextType=i.TableKeyboardNavigationContext;let Ye=Xe;o.registerForLocalization(Ye);let Qe=class extends m.Component{render(){const{children:e}=this.props;return m.createElement("div",{id:this.props.id,className:s.classNames("k-columnmenu-item-wrapper",this.props.className),style:this.props.style},e)}},Je=class extends m.Component{render(){const{title:e,iconClass:t,svgIcon:r,selected:i}=this.props;return m.createElement("div",{onClick:this.props.onClick,className:"k-columnmenu-item "+(i?"k-selected":"")},(t||r)&&m.createElement(s.IconWrap,{name:t&&s.toIconName(t),icon:r}),e)}},Ze=class extends m.Component{constructor(){super(...arguments),this.onGroupClick=e=>{if(e.preventDefault(),this.props.onGroupChange){const{column:t}=this.props;if(!t.field)return;const r=(this.props.group||[]).slice(),s=r.findIndex((e=>e.field===t.field));s>-1?r.splice(s,1):r.push({field:t.field}),this.props.onGroupChange(r,e)}this.props.onCloseMenu&&this.props.onCloseMenu()}}render(){const{group:e,column:t}=this.props,r=o.provideLocalizationService(this),s=!!(e&&t.field&&e.find((e=>e.field===t.field))),i=s?L:M;return m.createElement(Qe,null,m.createElement(Je,{title:r.toLanguageString(i,ee[i]),iconClass:s?"k-i-ungroup":"k-i-group",svgIcon:s?l.ungroupIcon:l.groupIcon,onClick:this.onGroupClick}))}};o.registerForIntl(Ze),o.registerForLocalization(Ze);const et="desc",tt={true:{asc:{asc:"",desc:"desc"},desc:{asc:"asc",desc:""},"":{asc:"asc",desc:"desc"}},false:{asc:{asc:"asc",desc:"desc"},desc:{asc:"asc",desc:"desc"},"":{asc:"asc",desc:"desc"}}},rt=(e,t)=>t?t.findIndex((t=>t.field===e)):-1,st=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),it=(e,t)=>!!(t&&e>-1&&t[e].dir===et),ot=class extends m.Component{constructor(){super(...arguments),this.onAscClick=e=>{this.onSort(e,"asc"),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onDescClick=e=>{this.onSort(e,et),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onSort=(e,t)=>{if(e.preventDefault(),!this.props.onSortChange)return;const{column:r,sortable:s,sort:i}=this.props,{allowUnsort:o,mode:l}=he(s||!1,!1),n=(i||[]).filter((e=>e.field===r.field))[0],a=tt[o][n&&n.dir||""][t],h="single"===l?[]:(this.props.sort||[]).filter((e=>e.field!==r.field));""!==a&&r.field&&h.push({field:r.field,dir:a}),this.props.onSortChange(h,e)}}render(){const{sort:e,column:t}=this.props,r=rt(t.field,e),s=o.provideLocalizationService(this);return m.createElement(Qe,null,m.createElement(Je,{title:s.toLanguageString(_,ee[_]),iconClass:"k-i-sort-asc-sm",svgIcon:l.sortAscSmallIcon,selected:st(r,e),onClick:this.onAscClick}),m.createElement(Je,{title:s.toLanguageString(A,ee[A]),iconClass:"k-i-sort-desc-sm",svgIcon:l.sortDescSmallIcon,selected:it(r,e),onClick:this.onDescClick}))}};ot.active=(e,t)=>{const r=rt(e,t);return it(r,t)||st(r,t)};let lt=ot;o.registerForIntl(lt),o.registerForLocalization(lt);class nt extends m.Component{render(){return m.createElement("div",{id:this.props.id,className:s.classNames("k-columnmenu-item-content",this.props.className),style:this.props.style},m.createElement(u.Reveal,{style:{position:"relative",display:"block"}},this.props.show?this.props.children:null))}}class at extends m.Component{constructor(e){super(e),this.renderOperatorEditor=()=>{if("boolean"===this.props.filterType)return;const e=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(c.DropDownList,{value:e,onChange:this.operatorChange,data:this.props.operators,textField:"text"})},this.inputChange=this.inputChange.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){return m.createElement(m.Fragment,null,this.renderOperatorEditor(),this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues))}inputChange(e,t){Ee(e,t,this.props)}operatorChange(e){we(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Se(e,this.props.onChange)}filterComponent(e,t,r){switch(e){case"numeric":return m.createElement(n.NumericTextBox,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},rangeOnEnter:!1});case"date":return m.createElement(a.DatePicker,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)}});case"boolean":{const e=e=>null==e;return m.createElement(c.DropDownList,{onChange:this.boolDropdownChange,value:r.find((r=>r.operator===(e(t)?"":t))),data:r,textField:"text"})}default:return m.createElement(n.Input,{value:t||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)}})}}}class ht extends m.Component{render(){const{firstFilterProps:e,hideSecondFilter:t,secondFilterProps:r,logicData:s,logicValue:i,onLogicChange:o}=this.props;return m.createElement(m.Fragment,null,m.createElement(at,{...e}),!t&&m.createElement(m.Fragment,null,m.createElement(c.DropDownList,{data:s,value:i,onChange:o,className:"k-filter-and",textField:"text"}),m.createElement(at,{...r})))}}const pt=e=>e||{filters:[],logic:"and"},ct=(e,t)=>pt(t).filters.filter((t=>!!d.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find((t=>d.isCompositeFilterDescriptor(t)||t.field!==e)))))[0]||null,dt=class extends m.Component{constructor(e){let t;if(super(e),this.removeGroup=(e,t)=>{const r=[...t.filters],s=r.findIndex((t=>t===e));return s>-1&&r.splice(s,1),{...t,filters:r}},this.insertGroup=(e,t)=>({...t,filters:[e,...t.filters]}),this.isControlled=()=>void 0!==this.props.expanded,this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.firstFilterChange=e=>{this.filterChange(0,e)},this.secondFilterChange=e=>{this.filterChange(1,e)},this.filterChange=(e,t)=>{const r=this.state.filterGroup.filters.map(((r,s)=>s===e?{...r,value:t.value,operator:t.operator}:r));this.setState({filterGroup:{...this.state.filterGroup,filters:r}})},this.logicChange=e=>{this.setState({filterGroup:{...this.state.filterGroup,logic:e.target.value.operator}})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=pt(this.props.filter),s=ct(t,this.props.filter),i=r.filters.filter((e=>e!==s));i.length?this.props.onFilterChange({...r,filters:i},e):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.currentFilterGroup=()=>({...this.state.filterGroup,filters:this.state.filterGroup.filters.filter((e=>void 0!==e.value&&null!==e.value&&""!==e.value||null===e.value&&e.operator))}),this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=pt(this.props.filter),s=ct(t,this.props.filter),i=this.currentFilterGroup();let o=null;if(s&&i.filters.length>0){const e=r.filters.map((e=>e===s?i:e));o={...r,filters:e}}else if(0===i.filters.length){const e=r.filters.filter((e=>e!==s));e.length&&(o={...r,filters:e})}else o={...r,filters:[...r.filters,i]};this.props.onFilterChange(o,e),this.props.onCloseMenu&&this.props.onCloseMenu()},e.column&&e.column.field){const r=ye(e.column.filter),s=Ie(e.filterOperators,r);t=ct(e.column.field,e.filter),t=t?{...t,filters:t.filters.map((e=>({...e})))}:{logic:"and",filters:[{field:e.column.field,operator:s,value:be(s)?null:void 0},{field:e.column.field,operator:s,value:be(s)?null:void 0}]},1===t.filters.filter((t=>t.field===e.column.field)).length&&t.filters.splice(1,0,{field:e.column.field,operator:s})}this.state={expanded:e.expanded||!1,filterGroup:t}}render(){const{column:e,filterUI:t,hideSecondFilter:r,filterOperators:s}=this.props;if(!e||!e.field)return m.createElement("div",null);const i=ye(e.filter),n=void 0!==r?r:ke[i],a=o.provideLocalizationService(this),h=this.state.filterGroup.filters,c=ve(s[i],a),d=ve(xe,a),u={field:e.field,value:h[0].value,operator:h[0].operator,operators:c,booleanValues:d,onChange:this.firstFilterChange,filterType:i},g={field:e.field,value:h[1].value,operator:h[1].operator,operators:c,booleanValues:d,onChange:this.secondFilterChange,filterType:i},f=this.state.filterGroup.logic,C=ve(fe,a),b={value:C.find((e=>e.operator===(null===f?"":f))),onChange:this.logicChange,data:C},v=t,x={firstFilterProps:u,secondFilterProps:g,logicData:b.data,logicValue:b.value,onLogicChange:b.onChange,hideSecondFilter:n},k=0!==this.currentFilterGroup().filters.length||be(h[0].operator)||be(h[1].operator),E=this.isControlled()?this.props.expanded:this.state.expanded,I=this.props.alwaysExpand;return m.createElement(Qe,null,!I&&m.createElement(Je,{title:a.toLanguageString(P,ee[P]),iconClass:"k-i-filter",svgIcon:l.filterIcon,onClick:this.onFilterExpand}),m.createElement(nt,{show:I||!!E},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear,onKeyDown:e=>e.stopPropagation()},m.createElement("div",{className:"k-filter-menu-container"},v?m.createElement(v,{...x}):m.createElement(ht,{...x}),m.createElement("div",{className:"k-actions k-actions-stretched"},m.createElement(p.Button,{themeColor:"primary",disabled:!k},a.toLanguageString(H,ee[H])),m.createElement(p.Button,{type:"reset"},a.toLanguageString(O,ee[O])))))))}};dt.active=(e,t)=>!!ct(e,t);let ut=dt;o.registerForLocalization(ut);const gt=class extends m.Component{constructor(e){super(e),this.defaultFilter=()=>this.props.filter?s.clone(this.props.filter):{filters:[],logic:"and"},this.isControlled=()=>void 0!==this.props.expanded,this.parseData=(e,t)=>{const r=this.props.column.field||"",s=e.map((e=>C(r,e)));return t?s.filter(((e,t)=>s.indexOf(e)===t)):s},this.getFilterIndex=()=>{const e=this.props.column.field;return this.defaultFilter().filters.findIndex((t=>t.filters&&t.filters.length>0&&t.filters[0].field===e))},this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.handleSearchChange=e=>{const t=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",r={logic:"and",filters:[{field:this.props.column.field,operator:t,value:e.target.value,ignoreCase:!0}]};this.setState({value:e.target.value,data:this.parseData(d.filterBy(this.props.data||[],r),this.props.uniqueData)})},this.handleClear=()=>{const e=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",t={logic:"and",filters:[{field:this.props.column.field,operator:e,value:"",ignoreCase:!0}]};this.setState({value:"",data:this.parseData(d.filterBy(this.props.data||[],t),this.props.uniqueData)})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;null!==t&&t.filters.length>0?(this.compositeFilterIndex>=0&&t.filters.splice(this.compositeFilterIndex,1),this.props.onFilterChange(t,e)):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;this.props.onFilterChange(t,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.handleCheckBoxChange=(e,t)=>{const r=this.props.column.field||"",s={...this.state.currentFilter},i=[...this.state.currentFilter.filters];let o=[];if(-1!==this.compositeFilterIndex&&s.filters[this.compositeFilterIndex].filters&&"all"!==t&&(o=s.filters[this.compositeFilterIndex].filters),e.value&&"all"===t)this.state.data.forEach((e=>{o.push({field:r,operator:"eq",value:e})}));else if(e.value)o.push({field:r,operator:"eq",value:t});else if(this.state.currentFilter){const e=o.findIndex((e=>e.value===t));o.splice(e,1)}s.logic="and",-1!==this.compositeFilterIndex?i[this.compositeFilterIndex]={logic:"or",filters:o}:i.push({logic:"or",filters:o}),(!e.value&&"all"===t||0===o.length)&&i.splice(this.compositeFilterIndex,1),s.filters=i,this.setState({currentFilter:s})},this.isAllSelected=()=>{let e=!1;if(this.state.currentFilter){const t=[...this.state.currentFilter.filters];return-1!==this.compositeFilterIndex&&(e=this.state.data.every((e=>!(-1===this.compositeFilterIndex||!t[this.compositeFilterIndex].filters)&&t[this.compositeFilterIndex].filters.findIndex((t=>t.value===e))>=0)),e)}return e},this.compositeFilterIndex=this.getFilterIndex(),this.state={expanded:e.expanded||!1,value:"",data:this.parseData(this.props.data,this.props.uniqueData)||[],dataFromProps:this.parseData(this.props.data,!1)||[],currentFilter:this.defaultFilter()}}componentDidUpdate(){const e=this.props.column.field||"",t=this.props.data.map((t=>C(e,t)));((e,t)=>e.length===t.length&&e.every(((e,r)=>e===t[r])))(t,this.state.dataFromProps)||this.setState({data:t,dataFromProps:t})}render(){const{column:e}=this.props;if(!e||!e.field)return m.createElement("div",null);const t=o.provideLocalizationService(this),r=this.isControlled()?this.props.expanded:this.state.expanded,i=[];if(this.state.currentFilter){const t=[...this.state.currentFilter.filters];this.compositeFilterIndex=t.findIndex((t=>!!(t.filters&&t.filters.length>0)&&t.filters[0].field===e.field)),-1!==this.compositeFilterIndex&&t[this.compositeFilterIndex].filters.length>0&&t[this.compositeFilterIndex].filters.forEach((e=>{e.field===this.props.column.field&&i.push(e.value)}))}const a=this.props.searchBox?m.createElement(this.props.searchBox,{value:this.state.value,onChange:this.handleSearchChange}):m.createElement("div",{className:"k-searchbox k-textbox k-input k-input-md k-input-solid"},m.createElement(s.IconWrap,{className:"k-input-icon",name:"search",icon:l.searchIcon}),m.createElement(n.Input,{className:"k-input-inner",type:"text",placeholder:t.toLanguageString(K,ee[K]),value:this.state.value,onChange:e=>this.handleSearchChange(e.nativeEvent)}),m.createElement(p.Button,{type:"button",rounded:null,className:"k-input-button",onClick:this.handleClear,icon:"x",svgIcon:l.xIcon})),h=i.filter(((e,t)=>i.indexOf(e)===t));return m.createElement(Qe,null,m.createElement(Je,{title:t.toLanguageString(P,ee[P]),iconClass:"k-i-filter",svgIcon:l.filterIcon,onClick:this.onFilterExpand}),m.createElement(nt,{show:!!r},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},m.createElement("div",{className:"k-filter-menu-container"},a,m.createElement("ul",{className:"k-reset k-multicheck-wrap"},m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(n.Checkbox,{label:t.toLanguageString(W,ee[W]),onChange:e=>this.handleCheckBoxChange(e,"all"),checked:this.isAllSelected()})),this.state.data.map(((e,t)=>m.createElement("li",{className:"k-item",key:t},m.createElement(n.Checkbox,{label:String(e),onChange:t=>this.handleCheckBoxChange(t,e),checked:h.includes(e)}))))),m.createElement("div",{className:"k-filter-selected-items"},h.length+" "+t.toLanguageString(q,ee[q])),m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},m.createElement(p.Button,{themeColor:"primary",type:"submit"},t.toLanguageString(H,ee[H])),m.createElement(p.Button,{className:"k-button",type:"reset"},t.toLanguageString(O,ee[O])))))))}};gt.defaultProps={uniqueData:!0};let mt=gt;o.registerForLocalization(mt);const ft=e=>{const[t,r]=m.useState(""),i=m.useMemo((()=>new Set(e.columnsState.map((e=>e.id)))),[e.columnsState]),o=m.useMemo((()=>e.columns.filter((e=>{var r;return null==(r=e.title||e.field)?void 0:r.toLowerCase().includes(t.toLowerCase())}))),[e.columns,t]),[a,h]=m.useState(e.columns.map((e=>i.has(e.id)))),c=m.useCallback((()=>{const t=e.columns.filter(((e,t)=>a[t]));e.onColumnsChange.call(void 0,t),e.onCloseMenu.call(void 0)}),[a,e.columns,e.onColumnsChange,e.onCloseMenu]),d=m.useCallback((()=>{h(e.columns.map((e=>i.has(e.id))))}),[i,e.columns]),u=a.filter((e=>e)).length,g=u===a.length,f=m.useCallback((()=>{h(e.columns.map(((e,t)=>!(!g||0!==t)||!g)))}),[e.columns,g]),C=m.useCallback(((e,t)=>{const r=a.slice();r[t]=e,h(r)}),[a]);return m.createElement("form",{className:"k-filter-menu"},m.createElement("div",{className:"k-filter-menu-container"},m.createElement(n.TextBox,{className:"k-searchbox",value:t,onChange:e=>r(String(e.target.value)),prefix:()=>m.createElement(n.InputPrefix,null,m.createElement(s.IconWrap,{name:"search",icon:l.searchIcon}))}),m.createElement("ul",{className:"k-reset k-multicheck-wrap"},!t&&m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(n.Checkbox,{checked:g,onChange:f,label:"(Select all)"})),o.map(((e,t)=>m.createElement("li",{key:e.id,className:"k-item"},m.createElement(n.Checkbox,{disabled:a[t]&&1===u,checked:a[t],onChange:e=>{var r;return C(!(null==(r=e.target.element)||!r.checked),t)},label:e.title||e.field}))))),m.createElement("div",{className:"k-filter-selected-items"},u," selected items"),m.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},m.createElement(p.Button,{type:"button",themeColor:"primary",onClick:c},"Apply"),m.createElement(p.Button,{type:"button",onClick:d},"Reset"))))};ft.displayName="GridColumnMenuColumnsList";class Ct extends m.Component{render(){return null}}const bt=class extends m.Component{render(){return m.createElement("div",{className:s.classNames("k-toolbar k-grid-toolbar",{"k-toolbar-md":!this.props.size,[`k-toolbar-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),"aria-label":this.props.ariaLabel,"aria-controls":this.props.ariaControls,role:"toolbar"},this.props.children)}};bt.displayName="KendoReactGridToolbar";let vt=bt;const xt=e=>{const{data:t=[]}=e;return m.createElement("div",{className:"k-selection-aggregates k-grid-selection-aggregates"},t.map(((e,t)=>m.createElement("div",{key:t},m.createElement("span",{className:"k-selection-aggregates-item-text"},e.type,": "),m.createElement("span",{className:"k-selection-aggregates-item-value"},e.formattedValue)))))};xt.displayName="KendoReactGridStatusBar";const kt=e=>{var t;const r=e.slice();for(let e=0;e<r.length;e++)for(;r[e]&&null!=(t=r[e].children)&&t.length;)r.splice(e,1,...r[e].children);return r},Et=s.withIdHOC(Ye);Et.displayName="KendoReactGrid",Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return i.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return i.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return i.setSelectedState}}),e.GRID_COL_INDEX_ATTRIBUTE=oe,e.GRID_PREVENT_SELECTION_ELEMENT=le,e.GRID_ROW_INDEX_ATTRIBUTE=ie,e.Grid=Et,e.GridCell=He,e.GridClassComponent=Ye,e.GridColumn=f,e.GridColumnMenuCheckboxFilter=mt,e.GridColumnMenuColumnsList=ft,e.GridColumnMenuFilter=ut,e.GridColumnMenuFilterCell=at,e.GridColumnMenuFilterUI=ht,e.GridColumnMenuGroup=Ze,e.GridColumnMenuItem=Je,e.GridColumnMenuItemContent=nt,e.GridColumnMenuItemGroup=Qe,e.GridColumnMenuSort=lt,e.GridColumnMenuWrapper=ce,e.GridCommonDragLogic=Oe,e.GridDetailRow=Ct,e.GridEditCell=ne,e.GridFilterCell=Re,e.GridGroupCell=Pe,e.GridHeaderCell=de,e.GridHierarchyCell=se,e.GridNoRecords=Be,e.GridRow=_e,e.GridSelectionCell=re,e.GridToolbar=vt,e.StatusBar=xt,e.booleanFilterValues=xe,e.cellBoolDropdownChange=Se,e.cellInputChange=Ee,e.cellOperatorChange=we,e.filterGroupByField=ct,e.getStatusData=e=>{const{dataItems:t,target:r,selectedField:i}=e,o=kt(r.columns).map((e=>e.field)).filter((e=>e&&"string"==typeof e)).map((e=>s.getter(e))),l=s.getter(i),n={dates:[],numbers:[],booleans:[],others:[]};t.forEach((e=>{const t=l(e);t&&t.forEach((t=>{(e=>{"number"==typeof e?n.numbers.push(e):"boolean"==typeof e?n.booleans.push(e):e instanceof Date?n.dates.push(e):n.others.push(e)})(o[t](e))}))}));const a=n.dates.map((e=>e.getTime())),h=n.booleans.filter((e=>e)).length,p=n.booleans.filter((e=>!e)).length,c=n.numbers.length?n.numbers.reduce(((e,t)=>e+t),0):void 0,d={sum:c,average:"number"==typeof c?c/n.numbers.length:void 0,min:n.numbers.length?Math.min(...n.numbers):void 0,max:n.numbers.length?Math.max(...n.numbers):void 0,count:n.numbers.length+n.booleans.length+n.dates.length+n.others.length,isTrue:h>0?h:void 0,isFalse:p>0?p:void 0,earliest:n.dates.length?new Date(Math.min(...a)):void 0,latest:n.dates.length?new Date(Math.max(...a)):void 0},u=(e,t)=>"sum"!==t&&"average"!==t||"number"!=typeof e?("earliest"===t||"latest"===t)&&e instanceof Date?e.toLocaleDateString():String(e):e.toFixed(2),g=[];return Object.keys(d).forEach((e=>{const t=e,r=d[t];void 0!==r&&g.push({type:t,value:r,formattedValue:u(r,t)})})),g},e.gridMessages=ee,e.leafColumns=kt,e.operators=Ce,e.pagerFirstPage=R,e.pagerInfo=w,e.pagerItemPerPage=F,e.pagerLastPage=T,e.pagerNextPage=D,e.pagerPreviousPage=N,e.rootFilterOrDefault=pt}));
8
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-data-query"),require("@progress/kendo-react-animation")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-buttons","@progress/kendo-react-dropdowns","@progress/kendo-data-query","@progress/kendo-react-animation"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactGrid={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactDataTools,e.KendoReactIntl,e.KendoSvgIcons,e.KendoReactInputs,e.KendoReactDateinputs,e.KendoReactPopup,e.KendoReactButtons,e.KendoReactDropdowns,e.KendoDataQuery,e.KendoReactAnimation)}(this,(function(e,t,r,s,i,o,l,n,a,h,p,c,d,u){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=g(t);const f=e=>null;function C(e,t){const r=(e||"").split(".");let s=t;return r.forEach((e=>{s=s?s[e]:void 0})),s}function b(e,t,r,s,i,o,l=0){let n=l;for(let a=0;a<t.length;a++){if(!i||void 0===t[a].value||void 0===t[a].items){e[e.length]={dataIndex:s.index,dataItem:t[a],rowType:"data",level:l,expanded:void 0===o||C(o,t[a])},s.index++;continue}n=Math.max(n,l+1);const h=void 0===o||void 0===C(o,t[a])||C(o,t[a]);e[e.length]={dataIndex:-1,dataItem:t[a],level:l,rowType:"groupHeader",expanded:h},h&&(n=Math.max(b(e,t[a].items,r,s,i,o,l+1),n)),("always"===r||h&&"visible"===r)&&(e[e.length]={dataIndex:-1,dataItem:t[a],rowType:"groupFooter",level:l,expanded:h})}return n}function v(e,t,r,s=0){let o=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.forEach(((e,l)=>{e=e.props?e.props:e;const n=t[l]||null,a=v(e.children,n&&n.children||[],r,s+1);o.push(Object.assign({depth:s},f.defaultProps,a.length?{cell:()=>null,filterCell:()=>null}:{},n?{width:n.width,orderIndex:n.orderIndex}:{},e,{id:e.id?e.id:i.tableKeyboardNavigationTools.generateNavigatableId(""+r.prevId++,r.idPrefix,"column"),declarationIndex:o.length,children:a,rowSpan:0,colSpan:0,isAccessible:!0,left:n&&Math.floor(n.left),right:n&&Math.floor(n.right)}))}));if(o.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===s){let e=[];const t=(r,s)=>r.forEach((r=>{r.parentIndex=s,t(r.children,e.push(r)-1)}));return t(o,-1),e}return o}f.displayName="KendoReactGridColumn",f.defaultProps={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},f.propTypes={field:r.string,title:r.string,editable:r.bool,sortable:r.oneOfType([r.bool,r.shape({allowUnsort:r.bool.isRequired})]),cell:r.any,filterCell:r.any,filterTitle:r.string,filterable:r.bool,filter:r.oneOf(["text","numeric","boolean","date"]),editor:r.oneOf(["text","numeric","boolean","date"]),width:r.oneOfType([r.string,r.number]),minResizableWidth:r.number,headerCell:r.any,footerCell:r.any,headerSelectionValue:r.bool,format:r.string,headerClassName:r.string,className:r.string,reorderable:r.bool,resizable:r.bool,orderIndex:r.number,groupable:r.bool,columnMenu:r.any,locked:r.bool};const x=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,k=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:t,parentIndex:r,depth:s,colSpan:i,rowSpan:o,index:l,kFirst:n,children:a,...h}=e;return a.length?{children:k(a),...h}:h}))),E="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),I=17895697,y=(e,t)=>{if(e||t)return t?e?{...e,...t,select:{...e.select||{},...t.select||{}},hierarchy:{...e.hierarchy||{},...t.hierarchy||{}},group:{...e.group||{},...t.group||{}},edit:{...e.edit||{},...t.edit||{}}}:t:e},S="grid.noRecords",w="grid.pagerInfo",R="grid.pagerFirstPage",N="grid.pagerPreviousPage",D="grid.pagerNextPage",T="grid.pagerLastPage",F="grid.pagerItemsPerPage",z="grid.groupPanelEmpty",M="grid.groupColumn",L="grid.ungroupColumn",G="grid.columnMenu",O="grid.filterClearButton",H="grid.filterSubmitButton",P="grid.filterTitle",_="grid.sortAscending",A="grid.sortDescending",K="grid.searchPlaceholder",W="grid.filterCheckAll",B="grid.filterChooseOperator",q="grid.filterSelectedItems",V="grid.sortAriaLabel",U="grid.filterAriaLabel",j="grid.groupPanelAriaLabel",$="grid.groupExpand",X="grid.groupCollapse",Y="grid.detailExpand",Q="grid.detailCollapse",J="grid.selectRow",Z="grid.gridAriaLabel",ee={[Y]:"Expand detail row",[Q]:"Collapse detail row",[$]:"Expand group",[X]:"Collapse Group",[S]:"No records available",[z]:"Drag a column header and drop it here to group by that column",[O]:"Clear",[H]:"Filter",[P]:"Filter",[_]:"Sort Ascending",[A]:"Sort Descending",[V]:"Sortable",[M]:"Group Column",[L]:"Ungroup Column",[G]:"Column menu",[F]:"items per page",[w]:"{0} - {1} of {2} items",[R]:"Go to the first page",[N]:"Go to the previous page",[D]:"Go to the next page",[T]:"Go to the last page","grid.pagerPage":"Page","grid.pagerPageSizeAriaLabel":"Page size","grid.pagerOf":"of","grid.pagerTotalPages":"{0}",[K]:"Search",[W]:"Check All",[B]:"Choose Operator",[q]:"selected items",[U]:"Filter",[j]:"Group panel",[Z]:"Table",[J]:"Select Row","grid.filterEqOperator":"Is equal to","grid.filterNotEqOperator":"Is not equal to","grid.filterIsNullOperator":"Is null","grid.filterIsNotNullOperator":"Is not null","grid.filterIsEmptyOperator":"Is empty","grid.filterIsNotEmptyOperator":"Is not empty","grid.filterStartsWithOperator":"Starts with","grid.filterContainsOperator":"Contains","grid.filterNotContainsOperator":"Does not contain","grid.filterEndsWithOperator":"Ends with","grid.filterGteOperator":"Is greater than or equal to","grid.filterGtOperator":"Is greater than","grid.filterLteOperator":"Is less than or equal to","grid.filterLtOperator":"Is less than","grid.filterIsTrue":"Is true","grid.filterIsFalse":"Is false","grid.filterBooleanAll":"(All)","grid.filterAfterOrEqualOperator":"Is after or equal to","grid.filterAfterOperator":"Is after","grid.filterBeforeOperator":"Is before","grid.filterBeforeOrEqualOperator":"Is before or equal to","grid.filterAndLogic":"And","grid.filterOrLogic":"Or"};function te(e){const t=e.replace(/^pager\.([a-z])/,((e,t)=>"grid.pager"+t.toUpperCase()));return{messageKey:t,defaultMessage:ee[t]}}const re=e=>{const{selectionChange:t,field:r,dataItem:l,id:n,className:a,colSpan:h,style:p,ariaColumnIndex:c,rowType:d,cells:u,render:g}=e,f=o.useLocalization(),b=m.useCallback((e=>{t&&t({syntheticEvent:e})}),[t]),v=s.useId(),x=C(r,l),k=i.useTableKeyboardNavigation(n),E={colSpan:h,style:p,className:s.classNames("k-table-td",a),"aria-colindex":c,role:"gridcell",...k},I="boolean"==typeof x&&x,y=m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{id:v,tabIndex:-1,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":f.toLanguageString(J,ee[J]),"aria-checked":I,checked:I,onChange:b})),S="groupHeader"!==d?m.createElement("td",{...E},y):null,w=d||"data",R=u;if(R&&R.select&&R.select[w]){const t=R.select[w];return m.createElement(t,{...e,tdProps:E},y)}return g?g.call(void 0,S,e):S},se=e=>{let t=null,r=null,n=null;const a=C(e.field,e.dataItem),h=i.useTableKeyboardNavigation(e.id),p=o.useLocalization(),c=m.useCallback((t=>{t.isDefaultPrevented()||t.keyCode===s.Keys.enter&&e.onChange&&(t.preventDefault(),e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!a}))}),[e.dataItem,e.dataIndex,e.field,e.onChange,a]);if("groupFooter"===e.rowType)r={className:"k-table-td k-hierarchy-cell",role:"gridcell",...h},t=m.createElement("td",{...r});else if("groupHeader"!==e.rowType){const i=a?Q:Y,o=p.toLanguageString(i,ee[i]);r={className:"k-table-td k-hierarchy-cell",onKeyDown:c,"aria-expanded":!!a,role:"gridcell","aria-colindex":e.ariaColumnIndex,...h},n=m.createElement("a",{onClick:t=>{t.preventDefault(),e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!a})},"aria-label":o,href:"#",tabIndex:-1},m.createElement(s.IconWrap,{name:a?"minus":"plus",icon:a?l.minusIcon:l.plusIcon})),t=m.createElement("td",{...r},n)}const d=e.rowType||"data",u=e.cells;if(u&&u.hierarchy&&u.hierarchy[d]){const t=u.hierarchy[d];return m.createElement(t,{...e,tdProps:r},n)}return e.render?e.render.call(void 0,t,e):t},ie=i.TABLE_ROW_INDEX_ATTRIBUTE,oe=i.TABLE_COL_INDEX_ATTRIBUTE,le=i.TABLE_PREVENT_SELECTION_ELEMENT,ne=e=>{const t=C(e.field,e.dataItem);let r=null;const o=s.classNames("k-table-td","k-grid-edit-cell",{"k-selected":e.isSelected},e.className),l=s.useId(),h=i.useTableKeyboardNavigation(e.id);let p=null,c=null;const d=m.useCallback((t=>{if(e.onChange){const r="checkbox"===t.target.type?t.target.checked:t.target.value;e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t,value:r})}}),[e.onChange,e.dataItem,e.dataIndex,e.field]),u=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),g=m.useCallback((t=>{e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})}),[e.onChange,e.dataItem,e.dataIndex,e.field]);switch(e.editor){case"numeric":p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=m.createElement(n.NumericTextBox,{width:"100%",value:void 0===t?null:t,onChange:g}),r=m.createElement("td",{...p},c);break;case"date":p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=m.createElement(a.DatePicker,{width:"100%",value:t,onChange:g}),r=m.createElement("td",{...p},c);break;case"boolean":p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=[m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{checked:t||!1,id:l,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:d})),m.createElement("label",{className:"k-checkbox-label",htmlFor:l,key:2})],r=m.createElement("td",{...p},c);break;default:p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=m.createElement("input",{style:{width:"100%"},className:"k-input",value:t||"",onChange:d}),r=m.createElement("td",{...p},c)}const f=e.editor||"text",b=e.cells;if(b&&b.edit&&b.edit[f]){const t=b.edit[f];return m.createElement(t,{...e,tdProps:p},c)}return e.render?e.render.call(void 0,r,e):r};let ae=class extends m.Component{constructor(){super(...arguments),this.headerWrap=null,this.table=null,this.syncScroll=!1,this.scrollbarWidth=s.getScrollbarWidth(),this.onScroll=e=>{if(this.syncScroll)return void(this.syncScroll=!1);if(!this.headerWrap)return;const t=this.headerWrap.scrollLeft,r=this.props.scrollableDataElement();r&&r.scrollLeft!==t&&(r.scrollLeft=t)}}get element(){return this.props.elemRef.current}componentDidMount(){const e=i.isRtl(this.element);this.props.columnResize&&this.props.columnResize.setIsRtl(e),this.forceUpdate()}setScrollLeft(e){this.headerWrap&&this.headerWrap.scrollLeft!==e&&(this.syncScroll=!0,this.headerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?m.createElement("div",{ref:this.props.elemRef,className:s.classNames("k-grid-header",{"k-grid-draggable-header":this.props.draggable}),role:"presentation"},m.createElement("div",{ref:e=>{this.headerWrap=e},className:"k-grid-header-wrap",style:this.scrollbarWidth?{}:{borderWidth:0},onScroll:this.onScroll,role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:s.classNames("k-table k-grid-header-table",{"k-table-md":!this.props.size,[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupHeader=e}},this.props.cols),m.createElement("thead",{className:"k-table-thead",role:"rowgroup",...i.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)))):m.createElement("thead",{role:"presentation",className:s.classNames("k-table-thead",{"k-grid-draggable-header":this.props.draggable}),...i.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}};const he=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);let pe=class extends m.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.pressHandler&&this.props.pressHandler(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.dragHandler&&this.props.dragHandler(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(e.event)}}render(){return m.createElement(s.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,hint:this.props.dragClue,autoScroll:{boundaryElementRef:this.props.headerRef,direction:{horizontal:!0,vertical:!1}},scrollContainer:this.props.containerRef||void 0,ref:e=>{this.draggable=e}},m.createElement("tr",{className:"k-table-row",style:{touchAction:"none"},role:"row","aria-rowindex":this.props.ariaRowIndex},this.props.children))}};class ce extends m.Component{constructor(){super(...arguments),this.state={show:!1},this._anchor=null,this._content=null,this.blurTimeout=void 0,this.willBlur=!1,this.blur=()=>{this.willBlur?this.willBlur=!1:(clearTimeout(this.blurTimeout),this.blurTimeout=window.setTimeout((()=>{this.closeMenu()})))},this.focus=()=>{clearTimeout(this.blurTimeout)},this.anchorClick=e=>{e.preventDefault(),this.state.show&&this.props.onCloseMenu&&this.props.onCloseMenu(),this.setState({show:!this.state.show},(()=>this.state.show&&this._content&&this._content.focus()))},this.closeMenu=()=>{this.props.onCloseMenu&&this.props.onCloseMenu(),this.setState({show:!1})},this.onAnchorMouseDown=e=>{this.willBlur=this.state.show&&e.currentTarget===this._anchor},this.onAnchorKeyDown=e=>{var t;if(e.keyCode===s.Keys.tab){const r=e.target,s=r&&(null==(t=r.closest(".k-grid"))?void 0:t.getElementsByClassName("k-grid-content")[0]);s&&s.scrollWidth>s.clientWidth&&r.scrollIntoView({inline:"center"})}}}render(){const{columnMenu:e,...t}=this.props,{column:r}=this.props,i=o.provideLocalizationService(this),n=r.title||r.field,a=n?`${n} `:"";return m.createElement(m.Fragment,null,m.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:e=>this._anchor=e,onClick:this.anchorClick,onMouseDown:this.onAnchorMouseDown,onKeyDown:this.onAnchorKeyDown,href:"#","aria-label":`${a}${i.toLanguageString(G,ee[G])}`},m.createElement(s.IconWrap,{name:"filter",icon:l.filterIcon})),m.createElement(h.Popup,{anchor:this._anchor,show:this.state.show,popupClass:"k-column-menu k-column-menu-popup k-grid-columnmenu-popup"},m.createElement("div",{ref:e=>this._content=e,tabIndex:0,onBlur:this.blur,onFocus:this.focus,style:{outline:"none"}},e&&m.createElement(e,{...t,onCloseMenu:this.closeMenu}))))}}let de=class extends m.Component{render(){const{columnMenuWrapperProps:e}=this.props,t=this.props.onClick?{onClick:this.props.onClick}:{},r=m.createElement("span",{className:"k-cell-inner"},m.createElement("span",{className:s.classNames("k-link",{"!k-cursor-default":!this.props.columnMenuWrapperProps.sortable}),...t},m.createElement("span",{className:"k-column-title"},this.props.title||this.props.field||" "),this.props.children),e.columnMenu&&m.createElement(ce,{...e}));return this.props.render?this.props.render.call(void 0,r,this.props):r}};const ue={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ge={none:"none",asc:"ascending",desc:"descending"};let me=class extends m.Component{constructor(e){super(e),this.serviceIndex=0,this.index=-1,this.cellKeyDown=(e,t)=>{if(e.isDefaultPrevented())return;const{keyCode:r,metaKey:i,ctrlKey:o}=e;if(this.props.sortable&&t.sortable&&e.keyCode===s.Keys.enter&&this.cellClick(e,t),i&&r===s.Keys.enter||o&&r===s.Keys.space){const r=this.props.columns.findIndex((e=>e.field===t.field));this.props.columnGroupChange&&this.props.columnGroupChange(r,e)}},this.cells=e=>e.map((e=>{const t=this.props.columns[e],r=this.props.sortable&&t.sortable,l=this.props.sort?this.props.sort.findIndex((e=>e.field===t.field)):-1,n=l>=0&&this.props.sort[l].dir||"none",a=null===t.columnMenu?null:t.columnMenu||this.props.columnMenu,h=s.classNames({"k-first":t.kFirst,"k-filterable":!!a,"k-table-th":!0,"k-header":!0,"k-grid-header-sticky":t.locked,"k-sorted":this.props.sort&&this.props.sort.some((e=>e.field===t.field))},t.headerClassName);!1===t.locked&&(t.left=0);const p=void 0!==t.left?this.props.isRtl?{left:t.right,right:t.left}:{left:t.left,right:t.right}:{},c=o.provideLocalizationService(this).toLanguageString(V,ee[V]),d=t.isAccessible?{ariaSort:ge[n],role:"columnheader",ariaColumnIndex:t.ariaColumnIndex,ariaSelected:!1,ariaDescription:r?c:""}:{role:"presentation"},u=t.declarationIndex>=0?++this.index:--this.serviceIndex,g=t.headerCell?t.headerCell:de,f=m.createElement(g,{key:1,field:t.field,onClick:r&&(e=>this.cellClick(e,t))||void 0,selectionChange:this.props.selectionChange,title:t.title,selectionValue:t.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(l),columnMenuWrapperProps:{column:{field:t.field,title:t.title,locked:t.locked,filter:t.filter,id:t.id},sortable:r&&this.props.sortable,sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.filter,filterable:this.props.filterable&&t.filterable,filterOperators:this.props.filterOperators,onFilterChange:this.props.filterChange,group:this.props.group,groupable:this.props.groupable,onGroupChange:this.props.groupChange,columnMenu:a}}),C={...d,key:u,colSpan:t.colSpan,rowSpan:t.rowSpan,className:h,style:p,columnId:t.id,navigatable:t.navigatable,onKeyDown:e=>this.cellKeyDown(e,t),role:"columnheader"},b=[f,this.props.columnResize&&this.props.columnResize.resizable&&t.resizable&&m.createElement(i.ColumnResizer,{key:2,resize:(e,r,s)=>this.props.columnResize&&this.props.columnResize.dragHandler(e,t,r,s),autofit:e=>this.props.columnResize&&this.props.columnResize.dblClickHandler(e,[t.id])})],v=y(this.props.cells,t.cells);if(v&&v.headerCell){const t=v.headerCell;return m.createElement(t,{...f.props,key:u,thProps:C,index:e},b)}return m.createElement(i.HeaderThElement,{...C,key:u},b)})),this.cellClick=this.cellClick.bind(this)}cellClick(e,t){if(e.preventDefault(),!this.props.sortChange)return;const{allowUnsort:r,mode:s}=he(this.props.sortable||!1,t.sortable||!1),i=(this.props.sort||[]).filter((e=>e.field===t.field))[0],o=ue[r][i&&i.dir||""],l="single"===s?[]:(this.props.sort||[]).filter((e=>e.field!==t.field));""!==o&&t.field&&l.push({field:t.field,dir:o}),this.props.sortChange(l,e)}sortIcon(e){return this.props.sort?e>=0&&[m.createElement("span",{key:1,className:"k-sort-icon"},m.createElement(s.IconWrap,{name:"sort-"+this.props.sort[e].dir+"-small",icon:"asc"===this.props.sort[e].dir?l.sortAscSmallIcon:l.sortDescSmallIcon})),this.props.sort.length>1&&m.createElement("span",{key:2,className:"k-sort-icon"},m.createElement("span",{className:"k-sort-order"},e+1))]:null}render(){return this.serviceIndex=0,this.index=-1,this.props.columnsMap.map(((e,t)=>this.props.pressHandler&&m.createElement(pe,{key:t,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:t+1,dragClue:this.props.dragClue,headerRef:this.props.headerRef,containerRef:this.props.containerRef},this.cells(e))||m.createElement("tr",{key:t,className:"k-table-row",role:"row","aria-rowindex":t+1},this.cells(e))))}};o.registerForLocalization(me);const fe=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Ce={text:[{text:"grid.filterContainsOperator",operator:"contains"},{text:"grid.filterNotContainsOperator",operator:"doesnotcontain"},{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterStartsWithOperator",operator:"startswith"},{text:"grid.filterEndsWithOperator",operator:"endswith"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"},{text:"grid.filterIsEmptyOperator",operator:"isempty"},{text:"grid.filterIsNotEmptyOperator",operator:"isnotempty"}],numeric:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterGteOperator",operator:"gte"},{text:"grid.filterGtOperator",operator:"gt"},{text:"grid.filterLteOperator",operator:"lte"},{text:"grid.filterLtOperator",operator:"lt"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],date:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterAfterOrEqualOperator",operator:"gte"},{text:"grid.filterAfterOperator",operator:"gt"},{text:"grid.filterBeforeOperator",operator:"lt"},{text:"grid.filterBeforeOrEqualOperator",operator:"lte"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],boolean:[{text:"grid.filterEqOperator",operator:"eq"}]},be=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,ve=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,ee[e.text]),operator:e.operator}))),xe=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],ke={text:!1,numeric:!1,date:!1,boolean:!0},Ee=(e,t,r)=>{const s=Ie(r.operators);let i=r.operator;switch(r.filterType){case"numeric":case"date":(!i||be(i))&&(i=s),null===e&&i===s&&(i="");break;case"text":(!i||be(i))&&(i=s),!e&&i===s&&(i="");break;default:return}r.onChange({value:e,operator:i,syntheticEvent:t})},Ie=(e,t)=>t?e[t][0].operator:e[0].operator,ye=e=>e||"text",Se=(e,t)=>{const r=e.target.value;t({value:r.operator,operator:""===r.operator?"":"eq",syntheticEvent:e.syntheticEvent})},we=(e,t,r)=>{let s=t;const i=e.target.value;e.target.state.opened&&(be(i.operator)&&(s=null),null===t&&!be(i.operator)&&(s=void 0),r({value:s,operator:i.operator,syntheticEvent:e.syntheticEvent}))};class Re extends m.Component{constructor(e){super(e),this._inputRef=m.createRef(),this.renderOperatorEditor=e=>{if("boolean"===this.props.filterType)return;const t=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(c.DropDownList,{size:this.props.size,value:t,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter k-icon",svgIcon:l.filterIcon,data:this.props.operators,textField:"text",title:e.toLanguageString(B,ee[B]),popupSettings:{width:""}})},this.inputChange=this.inputChange.bind(this),this.clear=this.clear.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){const e=o.provideLocalizationService(this),t=m.createElement("div",{className:"k-filtercell"},m.createElement("div",{className:"k-filtercell-wrapper"},this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues),m.createElement("div",{className:"k-filtercell-operator"},this.renderOperatorEditor(e)," ",m.createElement(p.Button,{size:this.props.size,icon:"filter-clear",svgIcon:l.filterClearIcon,className:s.classNames({"k-clear-button-visible":!!(null!==this.props.value&&""!==this.props.value||this.props.operator)}),title:e.toLanguageString(O,ee[O]),type:"button",onClick:this.clear,disabled:!(null!==this.props.value&&""!==this.props.value||this.props.operator)}))));return this.props.render?this.props.render.call(void 0,t,this.props):t}inputChange(e,t){Ee(e,t,this.props)}operatorChange(e){we(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Se(e,this.props.onChange)}clear(e){e.preventDefault(),this.props.onChange({value:"",operator:"",syntheticEvent:e}),this._inputRef.current&&(this._inputRef.current.element.value="",setTimeout((()=>{this._inputRef.current.element.focus()}),0))}filterComponent(e,t,r){switch(e){case"numeric":return m.createElement(n.NumericTextBox,{ref:this._inputRef,size:this.props.size,value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"date":return m.createElement(a.DatePicker,{ref:this._inputRef,size:this.props.size,value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"boolean":{const e=e=>null==e;return m.createElement(c.DropDownList,{ref:this._inputRef,size:this.props.size,onChange:this.boolDropdownChange,value:r.find((r=>r.operator===(e(t)?"":t))),data:r,textField:"text",title:this.props.title,ariaLabel:this.props.ariaLabel})}default:return m.createElement(n.TextBox,{ref:this._inputRef,size:this.props.size,value:t||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)},title:this.props.title,"aria-label":this.props.ariaLabel})}}}o.registerForLocalization(Re);let Ne=class extends m.Component{headerCellClassName(e,t){let r=""+(t?"k-grid-header-sticky":"");return this.props.sort&&this.props.sort.filter((t=>t.field===e)).length>0&&(r+=" k-sorted"),r}setFilter(e,t,r,s){if(!this.props.filterChange)return;const i=[];(""!==e&&null!==e||""!==t)&&i.push({field:r,operator:t,value:e}),this.props.filter&&this.props.filter.filters&&(this.props.filter.filters||[]).forEach((e=>{const t=e;t&&t.field!==r&&i.push(t)}));const o=this.props.filter&&this.props.filter.logic?this.props.filter.logic:"and";this.props.filterChange(i.length>0?{logic:o,filters:i}:null,s)}render(){const e=o.provideLocalizationService(this),t=this.props.filter&&this.props.filter.filters||[];let r=0,l=-1;const n=this.props.columns.filter((e=>0===e.children.length)).map((o=>{const n=ye(o.filter),a=(e=>{if(void 0===e)return;const r=t.filter((t=>t.field===e));return r.length?r[0]:void 0})(o.field),h=o.filterable?e.toLanguageString(U,ee[U]):void 0;let p=a&&a.value;void 0===p&&(p="text"===n?"":null);const c=o.filterable&&{render:this.props.cellRender,field:o.field,title:o.filterTitle,value:p,operator:a&&a.operator,operators:ve(this.props.filterOperators[n]||[],e),booleanValues:ve(xe,e),filterType:n,ariaLabel:h,onChange:e=>{this.setFilter(e.value,e.operator,o.field,e.syntheticEvent)}},d=o.declarationIndex>=0?++l:--r,u={ariaLabel:h,ariaColumnIndex:o.ariaColumnIndex},g=void 0!==o.left?this.props.isRtl?{left:o.right,right:o.left}:{left:o.left,right:o.right}:{},f={columnId:i.tableKeyboardNavigationTools.getFilterColumnId(o.id),navigatable:o.navigatable,style:g,className:s.classNames("k-table-th",this.headerCellClassName(o.field,o.locked)||void 0),role:"columnheader",...u},C=c&&(o.filterCell?m.createElement(o.filterCell,{...c}):m.createElement(Re,{size:this.props.size,...c})),b=y(this.props.cells,o.cells);if(b&&b.filterCell){const e=b.filterCell;return m.createElement(e,{key:d,...c,thProps:f,index:l},C)}return m.createElement(i.HeaderThElement,{key:d,...f},C)}));return m.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},n)}};o.registerForLocalization(Ne);let De=class extends m.Component{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.onPress&&this.props.onPress(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.onDrag&&this.props.onDrag(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.onRelease&&this.props.onRelease(e.event)},this.sortChange=e=>{if(e.preventDefault(),this.props.onSortChange){const t="asc"===this.props.dir?"desc":"asc";this.props.onSortChange(e,t)}},this.groupRemove=e=>{e.preventDefault(),e.stopPropagation(),this.props.onRemove&&this.props.onRemove(e)},this.onContextMenu=e=>{const t={title:this.props.title,dir:this.props.dir,index:this.props.index};this.props.onContextMenu&&this.props.onContextMenu.call(void 0,e,{dataItem:{...t}})}}render(){const{dir:e}=this.props;return m.createElement(s.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},m.createElement("div",{className:"k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md",onClick:this.sortChange,onContextMenu:this.onContextMenu,role:"button",style:{touchAction:"none"}},m.createElement("span",null,m.createElement(s.IconWrap,{name:"sort-"+e+"-small",icon:"asc"===e?l.sortAscSmallIcon:l.sortDescSmallIcon,size:"small"})),m.createElement("span",{className:"k-chip-content"},this.props.title),m.createElement("span",{className:"k-chip-actions"},m.createElement("span",{className:"k-chip-action k-chip-remove-action",onClick:this.groupRemove},m.createElement(s.IconWrap,{name:"x-circle",icon:l.xCircleIcon,size:"small"})))))}};o.registerForLocalization(De);class Te extends m.Component{constructor(){super(...arguments),this.onGroupRemove=(e,t)=>{const r=this.props.group.slice();r.splice(t,1),this.props.groupChange(r,e)},this.onGroupSortChange=(e,t,r,s)=>{const i=Object.assign({},r,{dir:s}),o=this.props.group.slice();o.splice(t,1,i),this.props.groupChange(o,e)}}render(){const e=(this.props.group||[]).map(((e,t)=>m.createElement(De,{key:t,index:t,dir:e.dir||"asc",title:this.props.resolveTitle(e.field),onRemove:e=>{this.onGroupRemove(e,t)},onSortChange:(r,s)=>{this.onGroupSortChange(r,t,e,s)},onPress:this.props.pressHandler,onDrag:this.props.dragHandler,onRelease:this.props.releaseHandler,onContextMenu:this.props.onContextMenu})));return m.createElement("div",{ref:this.props.refCallback,className:"k-grouping-header",role:"toolbar","aria-label":o.provideLocalizationService(this).toLanguageString(j,ee[j]),"aria-controls":this.props.ariaControls||""},m.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},e),m.createElement("div",{className:"k-grouping-drop-container"},!e.length&&o.provideLocalizationService(this).toLanguageString(z,ee[z])," "))}}o.registerForLocalization(Te);let Fe=class extends m.Component{constructor(){super(...arguments),this.footerWrap=null,this.table=null,this.scrollbarWidth=s.getScrollbarWidth()}componentDidMount(){this.setState({})}setScrollLeft(e){this.footerWrap&&(this.footerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?m.createElement("div",{className:"k-grid-footer",role:"presentation"},m.createElement("div",{ref:e=>{this.footerWrap=e},className:"k-grid-footer-wrap",style:this.scrollbarWidth?{}:{borderWidth:0},role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:s.classNames("k-table k-grid-footer-table",{"k-table-md":!this.props.size,[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupFooter=e},role:"presentation"},this.props.cols),m.createElement("tfoot",{className:"k-table-tfoot",role:"presentation"},this.props.row)))):m.createElement("tfoot",{className:"k-table-tfoot"},this.props.row)}},ze=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=m.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=m.createRef(),this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.reactVersion=Number.parseFloat(m.version),this.topItems=(e,t)=>{if(!this.container||t)return{topItemsCount:0,topItemsHeight:0};const r=this.container.clientHeight,s=Math.ceil(r/e[0].line),i=Math.ceil((e.length-s)/2);let o=0;for(let t=0;t<i;t++)o+=e[t].line+e[t].acc;return{topItemsCount:i,topItemsHeight:o,itemsNeededOnScreen:s+s/2}},this.horizontalScrollbarHeight=()=>this.container?this.container.offsetHeight-this.container.clientHeight:0,e&&(this.topCacheCount=4,this.attendedSkip=-this.topCacheCount),this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}get rowHeights(){const e=[],t=this.tableBodyRef.current&&this.tableBodyRef.current.children||[];let r=0;for(let s=0;s<t.length;s++)t[s].className.indexOf("k-grouping-row")>-1?r+=t[s].scrollHeight:t[s].className.indexOf("k-detail-row")>-1?e[e.length-1].line+=t[s].scrollHeight:(e.push({line:t[s].scrollHeight,acc:r}),r=0);return e}changePage(e,t){this.attendedSkip=e-this.topCacheCount,this.PageChange&&this.PageChange({skip:Math.max(0,e-this.topCacheCount),take:this.pageSize},t)}translate(e,t){this.tableTranslate=e,this.scrollableVirtual&&this.table&&(this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}localScrollUp(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let s=this.tableTranslate,i=0;const{topItemsCount:o,topItemsHeight:l,itemsNeededOnScreen:n}=this.topItems(t,!!this.topCacheCount),a=r-s;if(!(a>l||t.length<=n)){for(;i<this.topCacheCount+this.attendedSkip-this.realSkip+o&&this.propsSkip-i>0&&!(s+(t[t.length-1-i].line+t[t.length-1-i].acc)+a<=r);)s-=t[t.length-1-i].line+t[t.length-1-i].acc,i++;if(0===i&&0===this.topCacheCount&&this.attendedSkip>0&&(s=Math.max(s-t[0].line,0),i=1),this.propsSkip-i<=0&&s>r)return this.translate(0),this.changePage(0,e),void(this.container.scrollTop=0);if(s>r&&(s=r),s!==this.tableTranslate){this.translate(Math.max(0,s-l));const t=Math.max(0,this.propsSkip-i-o);this.changePage(t,e)}}}localScrollDown(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let s=this.tableTranslate,i=0;const{topItemsCount:o,topItemsHeight:l,itemsNeededOnScreen:n}=this.topItems(t,!!this.topCacheCount);for(;i<t.length-this.topCacheCount&&!(s+t[i].line+t[i].acc>r);)s+=t[i].line+t[i].acc,i++;o>this.propsSkip+i||t.length<=n||(i>=t.length-this.topCacheCount&&this.propsSkip+i>=this.total?(this.translate(s-l),this.changePage(this.total-1-o,e)):s!==this.tableTranslate&&this.propsSkip+i-o!==this.propsSkip&&(this.translate(s-l),this.changePage(this.propsSkip+i-o,e)))}scrollNonStrict(e){const t=this.total*this.prevScrollPos/this.containerHeight;let r=Math.floor(t);r>=this.total&&(r=this.total-1);const s=Math.min(t-r,1);let i=0;const o=r-this.propsSkip,l=this.rowHeights;o>=0&&o<=1?i=-(l[0].line+l[0].acc)*s:-1===o&&(i=-(l[l.length-1].line+l[l.length-1].acc)*s);const{topItemsCount:n,topItemsHeight:a}=this.topItems(l,!!this.topCacheCount);this.translate(Math.max(0,i-a-this.horizontalScrollbarHeight()+this.containerHeight*t/this.total)),this.changePage(r-n,e)}scrollHandler(e){if(!this.scrollableVirtual)return;if(this.scrollSyncing||!this.container||!this.table)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,r=this.prevScrollPos;if(this.prevScrollPos=t,void 0!==this.askedSkip)return this.translate(this.containerHeight*this.askedSkip/this.total),this.changePage(this.askedSkip,e),this.prevScrollPos=t,void(this.askedSkip=void 0);t-r<0&&t>this.tableTranslate-this.table.scrollHeight/10?this.localScrollUp(e):t-r>0&&t<this.tableTranslate+2*this.table.scrollHeight/3?this.localScrollDown(e):this.scrollNonStrict(e),this.prevScrollPos=t}},Me=class{constructor(e=0,t,r,s){this.total=e,this.offsets=[],this.heights=[];let i=0;for(let o=0;o<e;o++){this.offsets.push(i);const e=s&&s[o].expanded&&"data"===s[o].rowType?r:t;i+=e,this.heights.push(e)}}height(e){return this.heights[e]}index(e){if(e<0)return;const t=this.offsets.reduce(((t,r,s)=>void 0!==t?t:r===e?s:r>e?s-1:void 0),void 0);return void 0===t?this.total-1:t}offset(e){return this.offsets[e]}totalHeight(){return this.offsets[this.offsets.length-1]+this.heights[this.heights.length-1]}},Le=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=m.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=m.createRef(),this.tableTransform="",this.scrollSyncing=!1,this.lastLoaded=0,this.firstLoaded=0,this.lastScrollTop=0,this.reactVersion=Number.parseFloat(m.version),this.firstLoaded=this.pageSize,this.lastLoaded=this.realSkip+this.pageSize,this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}translate(e,t){this.scrollableVirtual&&this.table&&(E||this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}changePage(e,t){this.PageChange&&this.PageChange({skip:Math.max(0,e),take:this.pageSize},t)}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}scrollHandler(e){if(!(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&this.containerRef.current))return;if(this.scrollSyncing)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,r=this.lastScrollTop>=t,s=!r;this.lastScrollTop=t;let i=this.rowHeightService.index(t),o=this.rowHeightService.offset(i);const{offsetHeight:l}=this.containerRef.current,n=this.rowHeightService.index(t+l);if(s&&n>=this.lastLoaded&&this.lastLoaded<this.total){const t=i+this.pageSize-this.total;t>0&&(i-=t,o=this.rowHeightService.offset(i)),this.firstLoaded=i,this.translate(o);let r=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(r,this.total),this.changePage(this.firstLoaded,e)}else if(r&&i<this.firstLoaded){const t=Math.floor(.3*this.pageSize);this.firstLoaded=Math.max(i-t,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,e)}}},Ge=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.dragHandler=(e,t,r,s)=>{const i=e.originalEvent;s||(i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation());const o=r.closest("th");if(!o||!o)return;const l=o.clientWidth;let n=l;if(this.isRtl?n+=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX:n+=e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!s&&Math.abs(n-l)<1)return;this.fixateInitialWidths(o.parentElement.clientWidth),this.setWidths(t,Math.floor(n)/l);const a=this.columns.filter((e=>!e.children.length)).findIndex((e=>e.id===t.id));this.onResize(a,l,n,i,s,t.id)},this.dblClickHandler=(e,t)=>{const r=this.columns.filter((e=>t.indexOf(e.id)>-1));if(!this.colGroupMain||!r.length)return;const s={},i=r;for(;i.length>0;){const e=i.pop();if(!e)break;e.children.length?i.push(...e.children):s[e.id]=e}const o=this.columns.filter((e=>!e.children.length)),l=[];o.forEach(((e,t)=>{s[e.id]&&l.push(t)}));const n=[this.colGroupMain.parentElement],a=[this.colGroupMain];this.colGroupHeader&&(n.push(this.colGroupHeader.parentElement),a.push(this.colGroupHeader)),this.colGroupFooter&&(n.push(this.colGroupFooter.parentElement),a.push(this.colGroupFooter)),n.forEach((e=>e.classList.add("k-autofitting")));let h=[];a.forEach((e=>{l.forEach((t=>{e.children[t]&&(e.children[t].width="",h[t]=Math.max(h[t]||0,e.children[t].offsetWidth+1))}))})),a.forEach((e=>{l.forEach((t=>{e.children[t]&&(e.children[t].width=h[t]+"px",o[t].width=h[t])}))})),n.forEach((e=>e.classList.remove("k-autofitting"))),this.onResize(l[0],0,0,e,!0,t[0])},this.updateColElements=e=>{const t=this.columns.filter((e=>!e.children.length));let r=1e-10;for(let s=0;s<e.length;s++){const i=e[s],o=t.findIndex((e=>e.id===i.id)),l=parseFloat((i.width||0).toString()),n=Math.floor(l);r+=l-n;const a=n+Math.floor(r);if(r-=Math.floor(r),this.colGroupMain&&this.colGroupMain.children[o]){const e=parseInt(this.colGroupMain.children[o].width,10);this.colGroupMain.children[o].width=a+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,i,e-a)}if(this.colGroupHeader&&this.colGroupHeader.children[o]){const e=parseInt(this.colGroupHeader.children[o].width,10);this.colGroupHeader.children[o].width=a+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,i,e-a)}if(this.colGroupFooter&&this.colGroupFooter.children[o]){const e=parseInt(this.colGroupFooter.children[o].width,10);this.colGroupFooter.children[o].width=a+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,i,e-a)}}},this.onResize=e}fixateInitialWidths(e){const t=this.columns.filter((e=>!e.children.length));let r=0,s=this.colGroupMain?this.colGroupMain.children:[];for(let t=0;t<s.length;t++)s[t].width?e-=parseFloat(s[t].width):r++;if(0===r)return;const i=Math.floor(e/r);for(let e=0;e<s.length;e++){const r=s[e];r.width||(r.width=i,t[e].width=i.toString(),this.colGroupHeader&&(this.colGroupHeader.children[e].width=i),this.colGroupFooter&&(this.colGroupFooter.children[e].width=i))}}setWidths(e,t){const r=this.columns.findIndex((t=>t.id===e.id)),s=[];let i=e.children.length;for(let e=r+1;i>0&&e<this.columns.length;e++,i--){const t=this.columns[e];t.children.length?i+=t.children.length:s.push(t)}return 0===s.length&&s.push(e),s.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const s=void 0===e.minResizableWidth?10:e.minResizableWidth;r<s&&(r=s),e.width=r})),this.updateColElements(s),s}updateNextLockedCol(e,t,r){const s=t.index,i=this.colGroupMain.parentElement.closest(".k-grid"),o=null==i?void 0:i.clientWidth,l=this.columns.filter((e=>e.locked)).map((e=>parseInt(e.width+"",10))).reduce(((e,t)=>e+t),0);!t.locked||o<=l+20||this.columns.forEach((t=>{if(null!=t&&t.locked&&r){const i=null==e?void 0:e.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');null==i||i.forEach((e=>{const i=e.style;this.isRtl?(t.index>s&&i&&i.right&&(i.right=parseInt(i.right,10)-r+"px"),t.index<s&&i&&i.left&&(i.left=parseInt(i.left,10)-r+"px")):(t.index>s&&i&&i.left&&(i.left=parseInt(i.left,10)-r+"px"),t.index<s&&i&&i.right&&(i.right=parseInt(i.right,10)-r+"px"))}))}}))}},Oe=class{constructor(e,t,r){this.refDragElementClue=m.createRef(),this.refDropElementClue=m.createRef(),this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.groupPanelDivElement=null,this.refGroupPanelDiv=e=>{this.groupPanelDivElement=e&&e.children?e.children[0]:e},this.pressHandler=(e,t)=>{const r=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),r>=0){const e=this.columns[r];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=r)}},this.dragHandler=(e,t)=>{if(e.isTouch||e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),-1===this.startColumn&&-1===this.startGroup)return;this.currentColumn=this.getColumnIndex(e,t),this.currentGroup=this.isTargetGroupingContainer(e)?this.getCurrentGroupsLength:this.getGroupIndex(e);const r=!this.isValid();r&&(this.currentColumn=-1,this.currentGroup=-1);const s=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.isTargetGroupingContainer(e)?e.originalEvent.target:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,s,r),this.updateDropElementClue(e,t,s,r)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,s=this.startGroup,i=this.currentGroup;e.originalEvent.preventDefault(),this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const o=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,o&&(t>=0&&r>=0?this.columnReorder(t,r,e.originalEvent):s>=0&&i>=0?this.groupReorder(s,i,e.originalEvent):t>=0&&i>=0&&this.columnToGroup(t,i,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=r}get dragClueRef(){return this.refDragElementClue}get dropClueRef(){return this.refDropElementClue}get getCurrentGroupsLength(){const e=this.groupPanelDivElement&&this.groupPanelDivElement.children;return e&&e.length||0}get dragElementClue(){return this.refDragElementClue.current}get dropElementClue(){return this.refDropElementClue.current}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const r=i.getIndex(e,t);if(-1===r)return-1;for(let e=0;e<t.parentNode.children.length;e++)if(t.parentNode.children[e]===t)return this.columns.findIndex((t=>t.index===r&&t.depth===e));return-1}isTargetGroupingContainer(e){const t=e.originalEvent.target;return!!t.className.indexOf&&-1!==t.className.indexOf("k-grouping-drop-container")}getGroupIndex(e){return i.getIndex(e,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)}updateDragElementClue(e,t,r,s){if(!this.dragElementClue)return;const i=this.startColumn>=0?t.children[this.columns[this.startColumn].index].innerText:t.innerText;this.dragElementClue.setState({visible:!0,top:e.pageY+10,left:e.pageX,innerText:i,status:s||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,s){if(!this.dropElementClue)return;if(s||!r)return void this.dropElementClue.setState({visible:!1});const i=r.getBoundingClientRect(),o=(r.closest(".k-grouping-header")||r).getBoundingClientRect();let l=i.left+e.pageX-e.clientX-6;!this.isTargetGroupingContainer(e)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(l+=i.width);const n=o.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:n,left:l,height:this.currentColumn>=0?t.clientHeight:o.height})}};const He=e=>{let t=null;const r=o.useInternationalization(),l=i.useTableKeyboardNavigation(e.id),n=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]);let a=null,h=null;if("groupFooter"===e.rowType)a={onContextMenu:n,className:e.className},t=m.createElement("td",{...a});else if("groupHeader"!==e.rowType){if(void 0!==e.field){const t=C(e.field,e.dataItem);null!=t&&(h=e.format?r.format(e.format,t):t.toString())}const i=s.classNames("k-table-td",e.className,{"k-selected":e.isSelected});a={onContextMenu:n,colSpan:e.colSpan,style:e.style,className:i,role:"gridcell","aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,...l},t=m.createElement("td",{...a},h)}const p=e.rowType||"data",c=e.cells;if(c&&c[p]){const t=c[p];return m.createElement(t,{...e,tdProps:a},h)}return e.render?e.render.call(void 0,t,e):t},Pe=e=>{let t=null;const{columnIndex:r,level:n,columnsCount:a,rowType:h,dataItem:p,field:c,onChange:d,expanded:u,render:g,dataIndex:f,ariaColumnIndex:C,isRtl:b}=e,v=c||"",x=i.useTableKeyboardNavigation(e.id),k=o.useLocalization();let E=null,I=null,y=null;const S=m.useCallback((e=>{e.isDefaultPrevented()||e.keyCode===s.Keys.enter&&d&&(e.preventDefault(),d({dataItem:p,dataIndex:f,syntheticEvent:e,field:void 0,value:!u}))}),[u,d,p,f]),w=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),R=(t,r)=>{const i=u?X:$,o=k.toLanguageString(i,ee[i]);return E={className:"k-table-td",style:{...e.style,...r},colSpan:t,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":u,"aria-colindex":C,onKeyDown:S,onContextMenu:w,...x},y=m.createElement("p",{className:"k-reset"},m.createElement("a",{onClick:e=>{e.preventDefault(),d&&d({dataItem:p,dataIndex:f,syntheticEvent:e,field:void 0,value:!u})},href:"#",tabIndex:-1,"aria-label":o},m.createElement(s.IconWrap,{name:u?"caret-alt-down":b?"caret-alt-left":"caret-alt-right",icon:u?l.caretAltDownIcon:b?l.caretAltLeftIcon:l.caretAltRightIcon})),p[v]instanceof Date&&p[v].toString?p[v].toString():p[v]),m.createElement("td",{...E,key:E.key},y)};void 0===r||void 0===n||r<n||void 0===a||"groupHeader"!==h||void 0===p[v]?(E={style:e.style,key:"g"+r,className:s.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":e.locked}),role:"gridcell",onContextMenu:w},t=m.createElement("td",{...E,key:E.key})):r<=n&&!e.locked?t=R(a-r,{}):r<=n&&e.locked&&(I={className:"k-table-td",role:"gridcell",colSpan:a-r,style:{borderLeftWidth:0,borderRightWidth:0},onContextMenu:w},t=m.createElement(m.Fragment,null,R(0,{position:"sticky",zIndex:2}),m.createElement("td",{...I})));const N=e.rowType||"data",D=e.cells;if(D&&D.group&&D.group[N]){const t=D.group[N];return m.createElement(t,{...e,tdProps:E,td2Props:I},y)}return g?g.call(void 0,t,e):t};let _e=class extends m.Component{render(){const e=s.classNames("k-table-row",{"k-table-group-row k-grouping-row":"groupHeader"===this.props.rowType,"k-group-footer":"groupFooter"===this.props.rowType,"k-master-row":"groupHeader"!==this.props.rowType&&"groupFooter"!==this.props.rowType,"k-table-alt-row k-alt":"groupHeader"!==this.props.rowType&&"groupFooter"!==this.props.rowType&&this.props.isAltRow,"k-selected":this.props.isSelected,"k-grid-edit-row":this.props.isInEdit}),t=m.createElement("tr",{id:this.props.id,onClick:this.props.onClick,onDoubleClick:this.props.onDoubleClick,className:e,style:{height:this.props.rowHeight?this.props.rowHeight+"px":"",visibility:this.props.isHidden?"hidden":""},role:"row","aria-rowindex":this.props.ariaRowIndex,"absolute-row-index":this.props.absoluteRowIndex,key:this.props.absoluteRowIndex,[ie]:"data"===this.props.rowType?this.props.dataIndex:void 0},this.props.children);return this.props.render?this.props.render.call(void 0,t,this.props):t}};class Ae extends m.Component{get _inputId(){return this.props.id}render(){const e=o.provideLocalizationService(this),{columnMenuWrapperProps:t}=this.props,r=[m.createElement("span",{key:0,className:"k-checkbox-wrap"},m.createElement("input",{id:this._inputId,type:"checkbox",tabIndex:-1,className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":e.toLanguageString(J,ee[J]),"aria-checked":this.props.selectionValue,checked:this.props.selectionValue,onChange:e=>this.props.selectionChange({field:this.props.field,syntheticEvent:e})})),t.columnMenu&&m.createElement(ce,{...t})];return this.props.render?this.props.render.call(void 0,r,this.props):r}}o.registerForLocalization(Ae);const Ke=s.withIdHOC(Ae),We=class extends m.Component{render(){return this.props.children||o.provideLocalizationService(this).toLanguageString(S,ee[S])}};We.displayName="KendoReactGridNoRecords";let Be=We;o.registerForLocalization(Be);class qe extends m.Component{constructor(){super(...arguments),this._element=null,this.renderCell=(e,t)=>{const r={colSpan:1!==e.colSpan?e.colSpan:void 0,style:void 0!==e.left?this.props.isRtl?{left:e.right,right:e.left}:{left:e.left,right:e.right}:{},className:s.classNames("k-table-td",e.locked&&void 0!==e.left?"k-grid-footer-sticky":""),key:t,role:"gridcell","aria-colindex":e.ariaColumnIndex},i={field:e.field,ariaColumnIndex:e.ariaColumnIndex,...r},o=y(this.props.cells,e.cells);if(o&&o.footerCell){const e=o.footerCell;return m.createElement(e,{...i,tdProps:r,index:t})}return e.footerCell&&m.createElement(e.footerCell,{...i,key:t})||m.createElement("td",{...r})}}get element(){return this._element}render(){return m.createElement("tr",{className:"k-table-row",role:"row","aria-rowindex":this.props.ariaRowIndex},(e=>e.filter((t=>!(((e,t)=>{let r=e[t.parentIndex];for(;r;){if(r.footerCell)return!0;r=e[r.parentIndex]}return!1})(e,t)||!t.footerCell&&t.children&&t.children.length>0))))(this.props.columns).map(this.renderCell))}}const Ve=e=>(({buttonCount:e=10,info:t=!0,type:r="numeric",pageSizes:s,previousNext:i=!0,responsive:o,pageSizeValue:l})=>({buttonCount:e,info:t,pageSizes:!0===s?[5,10,20]:s||void 0,previousNext:i,responsive:!1!==o,type:r,pageSizeValue:l}))(!0===e?{}:e),Ue={name:"@progress/kendo-react-grid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},je=e=>{const{colSpan:t,ariaColIndex:r,dataItem:s,dataIndex:o,id:l}=e,n=i.useTableKeyboardNavigation(l),a=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem)}),[e.onContextMenu,e.dataItem]);return m.createElement("td",{onContextMenu:a,className:"k-table-td k-detail-cell",colSpan:t,"aria-colindex":r,role:"gridcell",...n},m.createElement(e.detail,{dataItem:s,dataIndex:o}))},$e=e=>m.createElement("td",{className:"k-table-td k-hierarchy-cell",role:"gridcell"}),Xe=class extends m.Component{constructor(e){super(e),this._columns=[],this._columnsMap=[[]],this._columnsMutations=0,this._resized=!1,this._shouldUpdateLeftRight=!0,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this._data=[],this._slicedData=void 0,this.wrapperScrollTop=0,this.showLicenseWatermark=!1,this.headerRef=m.createRef(),this.headerElementRef=m.createRef(),this._element=null,this.tableElement=null,this.containerRef=m.createRef(),this.tableBodyRef=m.createRef(),this._footer=null,this.forceUpdateTimeout=void 0,this.isRtl=!1,this.observer=null,this.handleIntersection=e=>{const t={rowIndex:this.rowIndex};e.forEach((e=>{e.isIntersecting||this.setCurrentOnTop(t)}))},this.setCurrentOnTop=e=>{if(!this.vs.container||"none"===this.props.scrollable)return;this.observer&&this.observer.disconnect();const{rowIndex:t}=e;if("virtual"===this.props.scrollable)this.vs.askedSkip=t,this.vs.container.scroll(0,Math.round(this.vs.askedSkip/this.vs.total*this.vs.container.scrollHeight));else if(this.element){const e=t<1?this.element.querySelector("tbody > tr:nth-child(1)"):this.element.querySelector(`tbody > tr:nth-child(${t+1})`);e&&this.containerRef.current&&(this.containerRef.current.scrollTop=e.offsetTop)}},this.scrollIntoView=e=>{if(!this.vs.container||"none"===this.props.scrollable)return;this.rowIndex=e.rowIndex;const{rowIndex:t}=e,r=this.element;if(this.observer&&r){this.observer.disconnect();const s=r.querySelector(`[absolute-row-index="${t}"]`);s?this.observer.observe(s):this.setCurrentOnTop(e)}},this.fitColumns=e=>{this.columnResize.dblClickHandler(null,e)},this.onContextMenu=(e,t,r)=>{if(this.props.onContextMenu){const s={target:this,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:t,field:r};this.props.onContextMenu.call(void 0,s)}},this.getVirtualScroll=e=>{const{rowHeight:t,detailRowHeight:r,detail:s,expandField:i,groupable:o}=e,l=this.isAllData(),n=void 0!==t&&t>0,a=void 0!==r&&r>0,h=!0===o||"object"==typeof o&&!1!==o.enabled;return!n||h&&!l||s&&i&&(!a||!l)?ze:Le},this.isAllData=()=>{const{data:e,total:t}=this.props;return Array.isArray(e)?e.length===t:!!e&&t===e.total},this.initializeVirtualization=(e,t)=>{if(this.reInitVirtualization("virtual"===this.props.scrollable,this.props.total,this.props.filter,this.props.group,this.props.sort,t||void 0===this.props.rowHeight||0===this.props.rowHeight),this.vs.fixedScroll=this.props.fixedScroll||!1,this.vs.PageChange=this.pageChange,this.vs.realSkip=this.props.skip||0,this.vs.pageSize=(void 0!==this.props.take?this.props.take:this.props.pageSize)||0,this.vs.scrollableVirtual="virtual"===this.props.scrollable,this.vs.total=e,this.vs.propsSkip=(this.props.skip||0)+("virtual"===this.props.scrollable?this.vs.topCacheCount+(this.vs.attendedSkip-(this.props.skip||0)):0),void 0!==this.props.rowHeight&&this.props.rowHeight>0&&!t){const t=this.props.rowHeight*e;this.vs.containerHeight=E?Math.min(I,t):t}else this.vs.containerHeight=1533915;if(this.vs.containerRef=this.containerRef,this.vs.tableBodyRef=this.tableBodyRef,this.vs.table=this.tableElement,this._slicedData=void 0,this.vs instanceof Le){const{rowHeight:t=0,detail:r,expandField:s}=this.props;let{detailRowHeight:i=0}=this.props;i=r&&s?i:t,this.isAllData()?(this.vs.total=this._data.length,this._slicedData=this._data.slice(this.vs.realSkip,this.vs.realSkip+this.vs.pageSize),this.vs.rowHeightService=this.rowHeightService(this.vs,this._data.length,t,i,this._data)):this.vs.rowHeightService=new Me(e,t,i);const o=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=E?Math.min(I,o):o}},this.scrollHandler=e=>{if(e.target!==e.currentTarget)return;clearTimeout(this.forceUpdateTimeout),this.vs.table=this.tableElement;const t=e.currentTarget.scrollLeft,r=e.currentTarget.scrollTop;this.props.columnVirtualization&&(!this.vs.scrollableVirtual||r===this.wrapperScrollTop)&&(this.forceUpdateTimeout=window.setTimeout((()=>{this.forceUpdate()}),0)),this._header&&this._header.setScrollLeft(t),this._footer&&this._footer.setScrollLeft(t),this.vs&&r!==this.wrapperScrollTop&&this.vs.scrollHandler(e),s.dispatchEvent(this.props.onScroll,e,this,void 0),this.wrapperScrollTop=r},this.onKeyDown=e=>{if(i.tableKeyboardNavigation.onKeyDown(e,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,onNavigationAction:this.onNavigationAction}),this.props.onKeyDown){const{mode:t,cell:r}=i.getSelectionOptions(this.props.selectable),s={dataItems:this.getLeafDataItems(),mode:t,cell:r,componentId:this._gridId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,s)}},this.onFocus=e=>{i.tableKeyboardNavigation.onFocus(e,{contextStateRef:this.contextStateRef})},this.onNavigationAction=e=>{if(this.props.onNavigationAction){const t={focusElement:e.focusElement,...this.getArguments(e.event)};this.props.onNavigationAction.call(void 0,t)}},this.rowClick=(e,t)=>{this.props.onRowClick&&"TD"===e.target.nodeName&&this.props.onRowClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.rowDblClick=(e,t)=>{this.props.onRowDoubleClick&&"TD"===e.target.nodeName&&this.props.onRowDoubleClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.itemChange=e=>{const t=this.props.onItemChange;if(e.field===this.props.expandField||this.props.group&&void 0===e.field){const t=this.props.onExpandChange;t&&t.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}else t&&t.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,field:e.field,value:e.value})},this.onHeaderSelectionChange=e=>{this.props.onHeaderSelectionChange&&this.props.onHeaderSelectionChange.call(void 0,{field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:this,dataItems:this.getLeafDataItems(),selectedField:this.props.selectedField})},this.selectionRelease=e=>{if(this.props.onSelectionChange){const t={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._gridId,dataItems:this.getLeafDataItems(),dataItem:null,...e};this.props.onSelectionChange.call(void 0,t)}},this.pageChange=(e,t,r)=>{this.raiseDataEvent(this.props.onPageChange,{page:e},{skip:e.skip,take:e.take},t,r)},this.pagerPageChange=e=>{this.pageChange({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},this.sortChange=(e,t)=>{this.raiseDataEvent(this.props.onSortChange,{sort:e},{sort:e,..."virtual"===this.props.scrollable?{skip:0}:{}},t)},this.filterChange=(e,t)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:e},{filter:e||void 0,skip:0},t)},this.groupChange=(e,t)=>{const r=t.nativeEvent?t:{nativeEvent:t.nativeEvent||t.originalEvent};this.raiseDataEvent(this.props.onGroupChange,{group:e},{group:e,skip:0},r)},this.onClipboard=(e,t)=>{if(this.props.onClipboard){if(!this.inActiveElement()||!e)return;this.props.onClipboard.call(void 0,{type:e,nativeEvent:t,columns:this._columns,dataItemKey:this.props.dataItemKey||"",..."boolean"!=typeof this.props.clipboard?this.props.clipboard:{}})}},this.inActiveElement=()=>{var e,t,r;if(!s.canUseDOM)return!1;const i=s.getActiveElement(this.document),o=i?i.matches(".k-table-td")?i:null==(e=this.document)?void 0:e.body:null==(t=this.document)?void 0:t.body,l=o.closest(".k-grid-container"),n=o&&(null==(r=this._element)?void 0:r.contains(o));return!!(o&&n&&l)},this.onResize=(e,t,r,s,i,o)=>{this.resetTableWidth(),this._shouldUpdateLeftRight=!0,this._resized=!0,this._columnsMutations++,this.props.onColumnResize&&this.props.onColumnResize.call(void 0,{columns:this.columns,nativeEvent:s,targetColumnId:o,index:e,newWidth:t,oldWidth:r,end:i,target:this})},this.reInitVirtualization=s.memoizeOne(((e,t,r,s,i,o)=>{this.vs.reset();const l=this.getVirtualScroll(this.props);this.vs=new l(o)})),this.flatData=s.memoizeOne(((e,t,r,s,i,o,l)=>{const n=[];return{flattedData:n,resolvedGroupsCount:b(n,e,t,{index:r},void 0!==s,i)}})),this.rowHeightService=s.memoizeOne(((e,t,r,s,i)=>new Me(t,r,s,i))),this.childrenToArray=s.memoizeOne((e=>m.Children.toArray(e))),this.readColumns=s.memoizeOne(((e,t,r)=>{const s=e.filter((e=>e&&e.type&&"KendoReactGridColumn"===e.type.displayName));return v(s,this.columns,{prevId:0,idPrefix:t})})),this.mapColumns=s.memoizeOne((e=>i.mapColumns(e))),this.configureColumns=s.memoizeOne(((e,t,r)=>{this.props.selectedField&&e.filter((e=>e.field===this.props.selectedField)).forEach((e=>{e.width=e.width||"50px",e.cell=e.cell||re,e.headerCell=e.headerCell||Ke}));const s={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let i=0;this.props.expandField&&this.props.onExpandChange&&this.props.detail&&(e.unshift({...s,cell:se,field:this.props.expandField,headerClassName:"k-hierarchy-cell k-header"}),i++);for(let r=0;r<t;r++)e.unshift({...s,isAccessible:!1,cell:Pe,field:"value",locked:this.props.lockGroups}),i++;e.slice(i).forEach((e=>e.parentIndex>=0&&(e.parentIndex+=i)))})),this.getHeaderRow=s.memoizeOne(((e,t,r,s,i,o,l,n,a,h,p,c)=>m.createElement(me,{cells:this.props.cells,sort:e,sortable:t,sortChange:this.sortChange,group:r||[],groupable:s,groupChange:this.groupChange,filter:i,filterable:o,filterOperators:l,filterChange:this.filterChange,columnMenu:a,selectionChange:this.onHeaderSelectionChange,columns:h,columnResize:this.columnResize,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,columnsMap:p,cellRender:n,isRtl:c,dragClue:this.dragLogic.dragClueRef,headerRef:this.headerElementRef,containerRef:this.containerRef,columnGroupChange:this.columnGroupChange}))),this.resolveTitle=e=>{const t=this._columns.find((t=>t.field===e)),r=t&&(t.title||t.field);return void 0===r?e:r},this.getLeafDataItems=()=>this._data.filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),s.validatePackage(Ue),this.showLicenseWatermark=s.shouldShowValidationUI(Ue);const t=!0===this.props.groupable||"object"==typeof this.props.groupable&&!1!==this.props.groupable.enabled,r=this.getVirtualScroll(e);this.vs=new r(t||void 0===e.rowHeight||0===e.rowHeight),this.dragLogic=new Oe(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnGroupChange=this.columnGroupChange.bind(this),this.columnResize=new Ge(this.onResize),this.props.clipboard&&(this.clipboardService=new i.ClipboardService(this.onClipboard)),i.tableKeyboardNavigation.onConstructor({navigatable:!!e.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,idPrefix:this._gridId})}get columns(){const e=this._columns.filter((e=>e.declarationIndex>=0&&-1===e.parentIndex));return k(e)}get element(){return this._element}get document(){if(s.canUseDOM)return this.element&&this.element.ownerDocument||document}get _header(){return this.headerRef.current}get _gridId(){return this.props.id+"-role-element-id"}componentDidMount(){this.resetTableWidth(),s.setScrollbarWidth();const e=i.isRtl(this.element);this.isRtl=e,i.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.isRtl&&this.forceUpdate();this.clipboardService&&this.clipboardService.addEventListeners(this.document),this.observer=s.canUseDOM&&window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,{rootMargin:"0px",threshold:.9})||null}getSnapshotBeforeUpdate(){return i.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(){this.resetTableWidth(),s.setScrollbarWidth(),this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform=""),i.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){clearTimeout(this.forceUpdateTimeout),this.clipboardService&&this.clipboardService.removeEventListeners(this.document)}render(){var e;let t=this.props.total||0;const r=i.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),l=o.provideLocalizationService(this);let n=[];Array.isArray(this.props.data)?(n=this.props.data,t=t||this.props.data.length):this.props.data&&(n=this.props.data.data,t=t||this.props.data.total);const a="object"==typeof this.props.groupable&&this.props.groupable.footer||"none",{resolvedGroupsCount:h,flattedData:p}=this.flatData(n,a,this.props.skip||0,this.props.group,this.props.expandField,this.props.filter,this.props.sort);this._data=p;const c=!0===this.props.groupable||"object"==typeof this.props.groupable&&!1!==this.props.groupable.enabled;this.columnResize.resizable=this.props.resizable||!1,this.dragLogic.reorderable=this.props.reorderable||!1,this.dragLogic.groupable=c;const d=this.props.selectable&&this.props.selectable.drag?"none":void 0;this.initializeVirtualization(t,c);const u=this.childrenToArray(this.props.children);this.initColumns(u,h);const g=u.map((e=>e&&e.type&&"KendoReactGridToolbar"===e.type.displayName?m.cloneElement(e,{...e.props,ariaControls:this._gridId}):null)),f=u.filter((e=>e&&e.type&&"KendoReactGridNoRecords"===e.type.displayName)),b=u.filter((e=>e&&e.type&&"KendoReactGridStatusBar"===e.type.displayName)),v=this._columns.filter((e=>0===e.children.length)),k=c&&m.createElement(Te,{group:this.props.group||[],groupChange:this.groupChange,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,refCallback:this.dragLogic.refGroupPanelDiv,resolveTitle:this.resolveTitle,ariaControls:this._gridId,onContextMenu:this.onContextMenu}),{sort:E,sortable:I,group:S,filter:w,filterable:R,filterOperators:N=Ce,headerCellRender:D,columnMenu:T}=this.props,F=m.createElement(ae,{size:this.props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,scrollableDataElement:()=>this.vs.container,draggable:this.props.reorderable||c,ref:this.headerRef,elemRef:this.headerElementRef,headerRow:this.getHeaderRow(E,I,S,c,w,R,N,D,T,this._columns,this._columnsMap,this.isRtl),filterRow:this.props.filterable&&m.createElement(Ne,{cells:this.props.cells,size:this.props.size,columns:this._columns,filter:this.props.filter,filterOperators:this.props.filterOperators||Ce,filterChange:this.filterChange,sort:this.props.sort,cellRender:this.props.filterCellRender,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1})||void 0,cols:v.map(((e,t)=>m.createElement("col",{key:t.toString(),width:x(e)})))}),z=this.vs&&this.vs.container&&this.vs.container.scrollLeft||0,M=parseFloat(((this.props.style||{}).width||"").toString()),{colSpans:L,hiddenColumns:G}=i.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:v,tableViewPortWidth:M,scrollLeft:z}),O=(e,t,s)=>{let o=!1;const l=this.props.selectedField?C(this.props.selectedField,e.dataItem):void 0;return{row:v.map(((n,a)=>{if(G[a])return null;const h=n.id?n.id:a,p=`${n.className?n.className+" ":""}${n.locked?"k-grid-content-sticky":""}`,c=void 0!==n.left?this.isRtl?{left:n.right,right:n.left}:{left:n.left,right:n.right}:{};let d=!1;if(n.editable&&this.props.editField){const t=C(this.props.editField,e.dataItem);t&&(!0===t||t===n.field)&&(o=!0,d=!0)}const u=n.cell||d&&ne||He,g=this.props.expandField&&this.props.detail&&n.field===this.props.expandField;return m.createElement(u,{onContextMenu:this.onContextMenu,key:h,locked:this.props.lockGroups,id:i.tableKeyboardNavigationTools.generateNavigatableId(`${t}-${String(a)}`,r,g?"nodata":"cell"),colSpan:L[a],dataItem:e.dataItem,field:n.field,editor:n.editor,format:n.format,className:p,render:this.props.cellRender,cells:y(this.props.cells,n.cells),onChange:this.itemChange,selectionChange:this.props.onSelectionChange?t=>{this.selectionChange({event:t,dataItem:e.dataItem,dataIndex:s,columnIndex:a})}:void 0,columnIndex:a,columnsCount:v.length,rowType:e.rowType,level:e.level,expanded:e.expanded,dataIndex:e.dataIndex,style:c,ariaColumnIndex:n.ariaColumnIndex,isSelected:Array.isArray(l)&&l.indexOf(a)>-1})})),isInEdit:o,isSelected:"boolean"==typeof l&&l}};let H=0;if("virtual"===this.props.scrollable)for(let e=0;e<this.vs.topCacheCount+this.vs.attendedSkip-(this.props.skip||0);e++){const t=this._data.shift();if(!t)break;this._data.push(t),H++,"groupHeader"===t.rowType&&e--}const P=e=>e>=this._data.length-H;let _=this.vs.realSkip||0;const A=[];let K=!1;const W=this._columnsMap.length+(this.props.filterable?1:0)+1,B=m.createElement("div",{key:"no-records",className:"k-grid-norecords","aria-rowindex":W},m.createElement("div",{className:"k-grid-norecords-template"},f.length?f:m.createElement(Be,null)));let q=0;if(this._data.length){let e=-1,t=0;(this._slicedData||this._data).forEach(((o,l)=>{"data"===o.rowType&&(_++,e++);const n=_%2==0,a=this.props.dataItemKey&&s.getter(this.props.dataItemKey)(o.dataItem),h=l+(this.vs.realSkip||0),p=a||"ai"+h,c=p+"_1",d=O(o,p,e);if(q=h+W+t,A.push(m.createElement(_e,{key:p,dataItem:o.dataItem,isAltRow:n,isInEdit:d.isInEdit,rowType:o.rowType,isHidden:P(l),onClick:e=>this.rowClick(e,o),onDoubleClick:e=>this.rowDblClick(e,o),selectedField:this.props.selectedField,rowHeight:this.props.rowHeight,render:this.props.rowRender,ariaRowIndex:q,absoluteRowIndex:h,dataIndex:e,isSelected:d.isSelected},d.row)),this.props.detail&&"data"===o.rowType&&o.expanded){const e=v.length-(this.props.expandField?1:0)-(this.props.group?this.props.group.length:0)||1;t++,q=h+W+t,A.push(m.createElement("tr",{key:c,className:s.classNames("k-table-row",n?"k-detail-row k-table-alt-row k-alt":"k-detail-row"),style:{visibility:P(l)?"hidden":"",height:this.props.detailRowHeight},role:"row","aria-rowindex":q},this.props.group&&this.props.group.map(((e,t)=>{var r;const s=null==(r=null==d?void 0:d.row[t])?void 0:r.props.style,i=s?this.isRtl?{left:s.right,right:s.left}:{left:s.left,right:s.right}:{};return m.createElement(Pe,{id:"",dataIndex:o.dataIndex,field:e.field,dataItem:o.dataItem,key:t,style:i,ariaColumnIndex:1+t,isSelected:!1,locked:this.props.lockGroups,isRtl:this.isRtl,cells:this.props.cells})})),this.props.expandField&&m.createElement($e,{id:i.tableKeyboardNavigationTools.generateNavigatableId(`${c}-dhcell`,r)}),m.createElement(je,{onContextMenu:this.onContextMenu,dataItem:o.dataItem,dataIndex:o.dataIndex,colSpan:e,ariaColIndex:2+(this.props.group?this.props.group.length:0),detail:this.props.detail,id:i.tableKeyboardNavigationTools.generateNavigatableId(`${c}-dcell`,r)})))}}))}else K=!0;const V={size:this.props.size,onPageChange:this.pagerPageChange,total:t,dir:this.isRtl?"rtl":void 0,skip:this.vs.propsSkip||0,take:(void 0!==this.props.take?this.props.take:this.props.pageSize)||10,messagesMap:te,...Ve(this.props.pageable||{})},U=this.props.pager?m.createElement(this.props.pager,{...V}):m.createElement(i.Pager,{className:"k-grid-pager",...V}),j=e=>this.props.sort&&this.props.sort.filter((t=>t.field===e)).length>0,$=null!=(e=this.props.cells)&&e.footerCell||this._columns.some((e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)}))?m.createElement(Fe,{size:this.props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,ref:e=>this._footer=e,row:m.createElement(qe,{cells:this.props.cells,columns:this._columns,isRtl:this.isRtl,ariaRowIndex:q+1}),cols:v.map(((e,t)=>m.createElement("col",{key:t.toString(),width:x(e)})))}):null,X=m.createElement("colgroup",{ref:e=>{this.columnResize.colGroupMain=e}},v.map(((e,t)=>m.createElement("col",{key:t.toString(),className:j(e.field)?"k-sorted":void 0,width:x(e)})))),Y=this.dragLogic.reorderable||this.dragLogic.groupable,Q=this.props.columnVirtualization?"block":"table";if("none"===this.props.scrollable)return m.createElement(i.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:this.props.style,className:s.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...i.tableKeyboardNavigationScopeAttributes},g,k,m.createElement(i.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e}},m.createElement("table",{className:s.classNames("k-table k-grid-table",{[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),style:{userSelect:d,display:Q}},X,F,m.createElement("tbody",{role:"rowgroup",className:"k-table-tbody",...i.tableKeyboardNavigationBodyAttributes},A),$)),K&&B,Y&&m.createElement(m.Fragment,null,m.createElement(i.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(i.DragClue,{ref:this.dragLogic.refDragElementClue}))),b,this.props.pageable&&U);let J=this.props.style||{};return"virtual"===this.props.scrollable&&(J.height||(J=Object.assign({},J,{height:"450px"}))),m.createElement(i.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:J,className:s.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size,"k-grid-virtual":"virtual"===this.props.scrollable},this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...i.tableKeyboardNavigationScopeAttributes},g,k,m.createElement("div",{className:"k-grid-aria-root",role:"grid","aria-colcount":v.length,"aria-rowcount":t,id:this._gridId,"aria-label":l.toLanguageString(Z,ee[Z])},F,m.createElement("div",{className:"k-grid-container",role:"presentation"},m.createElement("div",{ref:this.containerRef,className:"k-grid-content k-virtual-content",onScroll:this.scrollHandler,role:"presentation"},m.createElement("div",{className:"k-grid-table-wrap",role:"presentation"},m.createElement(i.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e}},m.createElement("table",{className:s.classNames("k-table k-grid-table",{"k-table-md":!this.props.size,[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),role:"presentation",style:{userSelect:d,display:Q}},X,m.createElement("tbody",{className:"k-table-tbody",ref:this.tableBodyRef,role:"rowgroup",...i.tableKeyboardNavigationBodyAttributes},A))),K&&B),m.createElement("div",{className:"k-height-container",role:"presentation"},m.createElement("div",{style:"virtual"===this.props.scrollable?{height:this.vs.containerHeight+"px"}:{}})))),$,Y&&m.createElement(m.Fragment,null,m.createElement(i.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(i.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&m.createElement(s.WatermarkOverlay,null)),b,this.props.pageable&&U))}selectionChange(e){if(this.props.onSelectionChange){const{event:t,dataItem:r,dataIndex:s,columnIndex:o}=e,{mode:l,cell:n}=i.getSelectionOptions(this.props.selectable),a={...this.getArguments(t.syntheticEvent),dataItem:r,startColIndex:o,endColIndex:o,startRowIndex:s,endRowIndex:s,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:l,cell:n,isDrag:!1,componentId:this._gridId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,a)}}raiseDataEvent(e,t,r,s,i){const o=this.props.onDataStateChange;if(e){const r={...this.getArguments(s),...t,targetEvent:i};e.call(void 0,r)}else o&&o.call(void 0,{...this.getArguments(s),targetEvent:i||{},dataState:{...this.getDataState(),...r}})}columnReorder(e,t,r){const s=this._columns[e],o=s.depth,l=e=>{do{e++}while(e<this._columns.length&&this._columns[e].depth>o);return e},n=this._columns.splice(e,l(e)-e);this._columns.splice(e<t?l(t-n.length):t,0,...n),this._columns.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>e.orderIndex=t)),this._columnsMutations++;const a=this._columns[e].locked&&this._columns[t].locked;i.updateLeft(this._columnsMap,this._columns,a||this._shouldUpdateLeftRight),i.updateRight(this._columnsMap,this._columns,a||this._shouldUpdateLeftRight),this._resized&&(this._shouldUpdateLeftRight=!1,this._resized=!1);const h=this.columns;if(this.forceUpdate(),this.props.onColumnReorder){const e={target:this,columns:h,columnId:s.id,nativeEvent:r};this.props.onColumnReorder.call(void 0,e)}}groupReorder(e,t,r){if(void 0===this.props.group)return;const s=this.props.group.slice();s.splice(t,0,...s.splice(e,1)),this.groupChange(s,r)}columnToGroup(e,t,r){const s=this._columns[e].field;if(!s)return;const i=(this.props.group||[]).slice();i.splice(t,0,{field:s}),this.groupChange(i,r)}columnGroupChange(e,t){const r=this.dragLogic.getCurrentGroupsLength;this.columnToGroup(e,r,t)}resetTableWidth(){let e=0;if(!this.columnResize.colGroupMain)return;const t=this.columnResize.colGroupMain.children;for(let r=0;r<t.length;r++){const s=t[r].width;if(!s)return;e+=parseFloat(s.toString())}e=Math.round(e),this._header&&this._header.setWidth(e),this._footer&&this._footer.setWidth(e),this.tableElement&&(this.tableElement.style.width=e+"px")}initColumns(e,t){const r=i.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this._columns=this.readColumns(e,r,this._columnsMutations),0===this._columns.length&&(this._columns=function(e,t,r,s){let o=[];Array.isArray(e)?o=e:e&&(o=e.data);const l=[];if(o.length>0){let e=o[0];if(t)for(let r=0;r<t.length;r++)e=e.items&&e.items[0];Object.getOwnPropertyNames(e).forEach((e=>{e!==r&&l.push(Object.assign({id:i.tableKeyboardNavigationTools.generateNavigatableId(""+s.prevId++,s.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,rowSpan:0,index:0,left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0},f.defaultProps,{field:e}))}))}return l}(this.props.data,this.props.group,this.props.expandField,{prevId:0,idPrefix:r})),this.configureColumns(this._columns,t,r),this._columnsMap=this.mapColumns(this._columns),this.columnResize.columns=this._columns,this.dragLogic.columns=this._columns}getDataState(){return{filter:this.props.filter,sort:this.props.sort,skip:this.props.skip,take:void 0!==this.props.take?this.props.take:this.props.pageSize,group:this.props.group}}getArguments(e){return{nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:this}}};Xe.displayName="KendoReactGrid",Xe.defaultProps={},Xe.propTypes={data:r.oneOfType([r.array,r.shape({data:r.array,total:r.number})]),sortable:r.oneOfType([r.bool,r.shape({mode:r.oneOf(["single","multiple"]),allowUnsort:r.bool})]),onSortChange:r.func,sort:r.array,filterable:r.bool,filter:r.any,onFilterChange:r.func,pageable:r.oneOfType([r.bool,r.shape({buttonCount:r.number,responsive:r.bool,info:r.bool,type:r.oneOf(["numeric","input"]),pageSizes:r.oneOfType([r.bool,r.arrayOf(r.oneOfType([r.string,r.number]))]),previousNext:r.bool})]),pageSize:r.number,onPageChange:r.func,total:r.number,skip:r.number,take:r.number,fixedScroll:r.bool,onExpandChange:r.func,expandField:r.string,selectedField:r.string,onSelectionChange:r.func,onHeaderSelectionChange:r.func,resizable:r.bool,reorderable:r.bool,group:r.any,groupable:r.oneOfType([r.bool,r.shape({enabled:r.bool,footer:r.oneOf(["always","visible","none"])})]),onGroupChange:r.func,onRowClick:r.func,onRowDoubleClick:r.func,onItemChange:r.func,editField:r.string,scrollable:r.oneOf(["none","scrollable","virtual"]),rowHeight:r.number,detailRowHeight:r.number,detail:r.any,style:r.object,onDataStateChange:r.func,onColumnResize:r.func,onColumnReorder:r.func,dataItemKey:r.string,navigatable:r.bool,size:r.oneOf(["small","medium"])},Xe.contextType=i.TableKeyboardNavigationContext;let Ye=Xe;o.registerForLocalization(Ye);let Qe=class extends m.Component{render(){const{children:e}=this.props;return m.createElement("div",{id:this.props.id,className:s.classNames("k-columnmenu-item-wrapper",this.props.className),style:this.props.style},e)}},Je=class extends m.Component{render(){const{title:e,iconClass:t,svgIcon:r,selected:i}=this.props;return m.createElement("div",{onClick:this.props.onClick,className:"k-columnmenu-item "+(i?"k-selected":"")},(t||r)&&m.createElement(s.IconWrap,{name:t&&s.toIconName(t),icon:r}),e)}},Ze=class extends m.Component{constructor(){super(...arguments),this.onGroupClick=e=>{if(e.preventDefault(),this.props.onGroupChange){const{column:t}=this.props;if(!t.field)return;const r=(this.props.group||[]).slice(),s=r.findIndex((e=>e.field===t.field));s>-1?r.splice(s,1):r.push({field:t.field}),this.props.onGroupChange(r,e)}this.props.onCloseMenu&&this.props.onCloseMenu()}}render(){const{group:e,column:t}=this.props,r=o.provideLocalizationService(this),s=!!(e&&t.field&&e.find((e=>e.field===t.field))),i=s?L:M;return m.createElement(Qe,null,m.createElement(Je,{title:r.toLanguageString(i,ee[i]),iconClass:s?"k-i-ungroup":"k-i-group",svgIcon:s?l.ungroupIcon:l.groupIcon,onClick:this.onGroupClick}))}};o.registerForIntl(Ze),o.registerForLocalization(Ze);const et="desc",tt={true:{asc:{asc:"",desc:"desc"},desc:{asc:"asc",desc:""},"":{asc:"asc",desc:"desc"}},false:{asc:{asc:"asc",desc:"desc"},desc:{asc:"asc",desc:"desc"},"":{asc:"asc",desc:"desc"}}},rt=(e,t)=>t?t.findIndex((t=>t.field===e)):-1,st=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),it=(e,t)=>!!(t&&e>-1&&t[e].dir===et),ot=class extends m.Component{constructor(){super(...arguments),this.onAscClick=e=>{this.onSort(e,"asc"),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onDescClick=e=>{this.onSort(e,et),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onSort=(e,t)=>{if(e.preventDefault(),!this.props.onSortChange)return;const{column:r,sortable:s,sort:i}=this.props,{allowUnsort:o,mode:l}=he(s||!1,!1),n=(i||[]).filter((e=>e.field===r.field))[0],a=tt[o][n&&n.dir||""][t],h="single"===l?[]:(this.props.sort||[]).filter((e=>e.field!==r.field));""!==a&&r.field&&h.push({field:r.field,dir:a}),this.props.onSortChange(h,e)}}render(){const{sort:e,column:t}=this.props,r=rt(t.field,e),s=o.provideLocalizationService(this);return m.createElement(Qe,null,m.createElement(Je,{title:s.toLanguageString(_,ee[_]),iconClass:"k-i-sort-asc-sm",svgIcon:l.sortAscSmallIcon,selected:st(r,e),onClick:this.onAscClick}),m.createElement(Je,{title:s.toLanguageString(A,ee[A]),iconClass:"k-i-sort-desc-sm",svgIcon:l.sortDescSmallIcon,selected:it(r,e),onClick:this.onDescClick}))}};ot.active=(e,t)=>{const r=rt(e,t);return it(r,t)||st(r,t)};let lt=ot;o.registerForIntl(lt),o.registerForLocalization(lt);class nt extends m.Component{render(){return m.createElement("div",{id:this.props.id,className:s.classNames("k-columnmenu-item-content",this.props.className),style:this.props.style},m.createElement(u.Reveal,{style:{position:"relative",display:"block"}},this.props.show?this.props.children:null))}}class at extends m.Component{constructor(e){super(e),this.renderOperatorEditor=()=>{if("boolean"===this.props.filterType)return;const e=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(c.DropDownList,{value:e,onChange:this.operatorChange,data:this.props.operators,textField:"text"})},this.inputChange=this.inputChange.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){return m.createElement(m.Fragment,null,this.renderOperatorEditor(),this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues))}inputChange(e,t){Ee(e,t,this.props)}operatorChange(e){we(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Se(e,this.props.onChange)}filterComponent(e,t,r){switch(e){case"numeric":return m.createElement(n.NumericTextBox,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},rangeOnEnter:!1});case"date":return m.createElement(a.DatePicker,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)}});case"boolean":{const e=e=>null==e;return m.createElement(c.DropDownList,{onChange:this.boolDropdownChange,value:r.find((r=>r.operator===(e(t)?"":t))),data:r,textField:"text"})}default:return m.createElement(n.Input,{value:t||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)}})}}}class ht extends m.Component{render(){const{firstFilterProps:e,hideSecondFilter:t,secondFilterProps:r,logicData:s,logicValue:i,onLogicChange:o}=this.props;return m.createElement(m.Fragment,null,m.createElement(at,{...e}),!t&&m.createElement(m.Fragment,null,m.createElement(c.DropDownList,{data:s,value:i,onChange:o,className:"k-filter-and",textField:"text"}),m.createElement(at,{...r})))}}const pt=e=>e||{filters:[],logic:"and"},ct=(e,t)=>pt(t).filters.filter((t=>!!d.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find((t=>d.isCompositeFilterDescriptor(t)||t.field!==e)))))[0]||null,dt=class extends m.Component{constructor(e){let t;if(super(e),this.removeGroup=(e,t)=>{const r=[...t.filters],s=r.findIndex((t=>t===e));return s>-1&&r.splice(s,1),{...t,filters:r}},this.insertGroup=(e,t)=>({...t,filters:[e,...t.filters]}),this.isControlled=()=>void 0!==this.props.expanded,this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.firstFilterChange=e=>{this.filterChange(0,e)},this.secondFilterChange=e=>{this.filterChange(1,e)},this.filterChange=(e,t)=>{const r=this.state.filterGroup.filters.map(((r,s)=>s===e?{...r,value:t.value,operator:t.operator}:r));this.setState({filterGroup:{...this.state.filterGroup,filters:r}})},this.logicChange=e=>{this.setState({filterGroup:{...this.state.filterGroup,logic:e.target.value.operator}})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=pt(this.props.filter),s=ct(t,this.props.filter),i=r.filters.filter((e=>e!==s));i.length?this.props.onFilterChange({...r,filters:i},e):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.currentFilterGroup=()=>({...this.state.filterGroup,filters:this.state.filterGroup.filters.filter((e=>void 0!==e.value&&null!==e.value&&""!==e.value||null===e.value&&e.operator))}),this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=pt(this.props.filter),s=ct(t,this.props.filter),i=this.currentFilterGroup();let o=null;if(s&&i.filters.length>0){const e=r.filters.map((e=>e===s?i:e));o={...r,filters:e}}else if(0===i.filters.length){const e=r.filters.filter((e=>e!==s));e.length&&(o={...r,filters:e})}else o={...r,filters:[...r.filters,i]};this.props.onFilterChange(o,e),this.props.onCloseMenu&&this.props.onCloseMenu()},e.column&&e.column.field){const r=ye(e.column.filter),s=Ie(e.filterOperators,r);t=ct(e.column.field,e.filter),t=t?{...t,filters:t.filters.map((e=>({...e})))}:{logic:"and",filters:[{field:e.column.field,operator:s,value:be(s)?null:void 0},{field:e.column.field,operator:s,value:be(s)?null:void 0}]},1===t.filters.filter((t=>t.field===e.column.field)).length&&t.filters.splice(1,0,{field:e.column.field,operator:s})}this.state={expanded:e.expanded||!1,filterGroup:t}}render(){const{column:e,filterUI:t,hideSecondFilter:r,filterOperators:s}=this.props;if(!e||!e.field)return m.createElement("div",null);const i=ye(e.filter),n=void 0!==r?r:ke[i],a=o.provideLocalizationService(this),h=this.state.filterGroup.filters,c=ve(s[i],a),d=ve(xe,a),u={field:e.field,value:h[0].value,operator:h[0].operator,operators:c,booleanValues:d,onChange:this.firstFilterChange,filterType:i},g={field:e.field,value:h[1].value,operator:h[1].operator,operators:c,booleanValues:d,onChange:this.secondFilterChange,filterType:i},f=this.state.filterGroup.logic,C=ve(fe,a),b={value:C.find((e=>e.operator===(null===f?"":f))),onChange:this.logicChange,data:C},v=t,x={firstFilterProps:u,secondFilterProps:g,logicData:b.data,logicValue:b.value,onLogicChange:b.onChange,hideSecondFilter:n},k=0!==this.currentFilterGroup().filters.length||be(h[0].operator)||be(h[1].operator),E=this.isControlled()?this.props.expanded:this.state.expanded,I=this.props.alwaysExpand;return m.createElement(Qe,null,!I&&m.createElement(Je,{title:a.toLanguageString(P,ee[P]),iconClass:"k-i-filter",svgIcon:l.filterIcon,onClick:this.onFilterExpand}),m.createElement(nt,{show:I||!!E},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear,onKeyDown:e=>e.stopPropagation()},m.createElement("div",{className:"k-filter-menu-container"},v?m.createElement(v,{...x}):m.createElement(ht,{...x}),m.createElement("div",{className:"k-actions k-actions-stretched"},m.createElement(p.Button,{themeColor:"primary",disabled:!k},a.toLanguageString(H,ee[H])),m.createElement(p.Button,{type:"reset"},a.toLanguageString(O,ee[O])))))))}};dt.active=(e,t)=>!!ct(e,t);let ut=dt;o.registerForLocalization(ut);const gt=class extends m.Component{constructor(e){super(e),this.defaultFilter=()=>this.props.filter?s.clone(this.props.filter):{filters:[],logic:"and"},this.isControlled=()=>void 0!==this.props.expanded,this.parseData=(e,t)=>{const r=this.props.column.field||"",s=e.map((e=>C(r,e)));return t?s.filter(((e,t)=>s.indexOf(e)===t)):s},this.getFilterIndex=()=>{const e=this.props.column.field;return this.defaultFilter().filters.findIndex((t=>t.filters&&t.filters.length>0&&t.filters[0].field===e))},this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.handleSearchChange=e=>{const t=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",r={logic:"and",filters:[{field:this.props.column.field,operator:t,value:e.target.value,ignoreCase:!0}]};this.setState({value:e.target.value,data:this.parseData(d.filterBy(this.props.data||[],r),this.props.uniqueData)})},this.handleClear=()=>{const e=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",t={logic:"and",filters:[{field:this.props.column.field,operator:e,value:"",ignoreCase:!0}]};this.setState({value:"",data:this.parseData(d.filterBy(this.props.data||[],t),this.props.uniqueData)})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;null!==t&&t.filters.length>0?(this.compositeFilterIndex>=0&&t.filters.splice(this.compositeFilterIndex,1),this.props.onFilterChange(t,e)):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;this.props.onFilterChange(t,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.handleCheckBoxChange=(e,t)=>{const r=this.props.column.field||"",s={...this.state.currentFilter},i=[...this.state.currentFilter.filters];let o=[];if(-1!==this.compositeFilterIndex&&s.filters[this.compositeFilterIndex].filters&&"all"!==t&&(o=s.filters[this.compositeFilterIndex].filters),e.value&&"all"===t)this.state.data.forEach((e=>{o.push({field:r,operator:"eq",value:e})}));else if(e.value)o.push({field:r,operator:"eq",value:t});else if(this.state.currentFilter){const e=o.findIndex((e=>e.value===t));o.splice(e,1)}s.logic="and",-1!==this.compositeFilterIndex?i[this.compositeFilterIndex]={logic:"or",filters:o}:i.push({logic:"or",filters:o}),(!e.value&&"all"===t||0===o.length)&&i.splice(this.compositeFilterIndex,1),s.filters=i,this.setState({currentFilter:s})},this.isAllSelected=()=>{let e=!1;if(this.state.currentFilter){const t=[...this.state.currentFilter.filters];return-1!==this.compositeFilterIndex&&(e=this.state.data.every((e=>!(-1===this.compositeFilterIndex||!t[this.compositeFilterIndex].filters)&&t[this.compositeFilterIndex].filters.findIndex((t=>t.value===e))>=0)),e)}return e},this.compositeFilterIndex=this.getFilterIndex(),this.state={expanded:e.expanded||!1,value:"",data:this.parseData(this.props.data,this.props.uniqueData)||[],dataFromProps:this.parseData(this.props.data,!1)||[],currentFilter:this.defaultFilter()}}componentDidUpdate(){const e=this.props.column.field||"",t=this.props.data.map((t=>C(e,t)));((e,t)=>e.length===t.length&&e.every(((e,r)=>e===t[r])))(t,this.state.dataFromProps)||this.setState({data:t,dataFromProps:t})}render(){const{column:e}=this.props;if(!e||!e.field)return m.createElement("div",null);const t=o.provideLocalizationService(this),r=this.isControlled()?this.props.expanded:this.state.expanded,i=[];if(this.state.currentFilter){const t=[...this.state.currentFilter.filters];this.compositeFilterIndex=t.findIndex((t=>!!(t.filters&&t.filters.length>0)&&t.filters[0].field===e.field)),-1!==this.compositeFilterIndex&&t[this.compositeFilterIndex].filters.length>0&&t[this.compositeFilterIndex].filters.forEach((e=>{e.field===this.props.column.field&&i.push(e.value)}))}const a=this.props.searchBox?m.createElement(this.props.searchBox,{value:this.state.value,onChange:this.handleSearchChange}):m.createElement("div",{className:"k-searchbox k-textbox k-input k-input-md k-input-solid"},m.createElement(s.IconWrap,{className:"k-input-icon",name:"search",icon:l.searchIcon}),m.createElement(n.Input,{className:"k-input-inner",type:"text",placeholder:t.toLanguageString(K,ee[K]),value:this.state.value,onChange:e=>this.handleSearchChange(e.nativeEvent)}),m.createElement(p.Button,{type:"button",rounded:null,className:"k-input-button",onClick:this.handleClear,icon:"x",svgIcon:l.xIcon})),h=i.filter(((e,t)=>i.indexOf(e)===t));return m.createElement(Qe,null,m.createElement(Je,{title:t.toLanguageString(P,ee[P]),iconClass:"k-i-filter",svgIcon:l.filterIcon,onClick:this.onFilterExpand}),m.createElement(nt,{show:!!r},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},m.createElement("div",{className:"k-filter-menu-container"},a,m.createElement("ul",{className:"k-reset k-multicheck-wrap"},m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(n.Checkbox,{label:t.toLanguageString(W,ee[W]),onChange:e=>this.handleCheckBoxChange(e,"all"),checked:this.isAllSelected()})),this.state.data.map(((e,t)=>m.createElement("li",{className:"k-item",key:t},m.createElement(n.Checkbox,{label:String(e),onChange:t=>this.handleCheckBoxChange(t,e),checked:h.includes(e)}))))),m.createElement("div",{className:"k-filter-selected-items"},h.length+" "+t.toLanguageString(q,ee[q])),m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},m.createElement(p.Button,{themeColor:"primary",type:"submit"},t.toLanguageString(H,ee[H])),m.createElement(p.Button,{className:"k-button",type:"reset"},t.toLanguageString(O,ee[O])))))))}};gt.defaultProps={uniqueData:!0};let mt=gt;o.registerForLocalization(mt);const ft=e=>{const[t,r]=m.useState(""),i=m.useMemo((()=>new Set(e.columnsState.map((e=>e.id)))),[e.columnsState]),o=m.useMemo((()=>e.columns.filter((e=>{var r;return null==(r=e.title||e.field)?void 0:r.toLowerCase().includes(t.toLowerCase())}))),[e.columns,t]),[a,h]=m.useState(e.columns.map((e=>i.has(e.id)))),c=m.useCallback((()=>{const t=e.columns.filter(((e,t)=>a[t]));e.onColumnsChange.call(void 0,t),e.onCloseMenu.call(void 0)}),[a,e.columns,e.onColumnsChange,e.onCloseMenu]),d=m.useCallback((()=>{h(e.columns.map((e=>i.has(e.id))))}),[i,e.columns]),u=a.filter((e=>e)).length,g=u===a.length,f=m.useCallback((()=>{h(e.columns.map(((e,t)=>!(!g||0!==t)||!g)))}),[e.columns,g]),C=m.useCallback(((e,t)=>{const r=a.slice();r[t]=e,h(r)}),[a]);return m.createElement("form",{className:"k-filter-menu"},m.createElement("div",{className:"k-filter-menu-container"},m.createElement(n.TextBox,{className:"k-searchbox",value:t,onChange:e=>r(String(e.target.value)),prefix:()=>m.createElement(n.InputPrefix,null,m.createElement(s.IconWrap,{name:"search",icon:l.searchIcon}))}),m.createElement("ul",{className:"k-reset k-multicheck-wrap"},!t&&m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(n.Checkbox,{checked:g,onChange:f,label:"(Select all)"})),o.map(((e,t)=>m.createElement("li",{key:e.id,className:"k-item"},m.createElement(n.Checkbox,{disabled:a[t]&&1===u,checked:a[t],onChange:e=>{var r;return C(!(null==(r=e.target.element)||!r.checked),t)},label:e.title||e.field}))))),m.createElement("div",{className:"k-filter-selected-items"},u," selected items"),m.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},m.createElement(p.Button,{type:"button",themeColor:"primary",onClick:c},"Apply"),m.createElement(p.Button,{type:"button",onClick:d},"Reset"))))};ft.displayName="GridColumnMenuColumnsList";class Ct extends m.Component{render(){return null}}const bt=class extends m.Component{render(){return m.createElement("div",{className:s.classNames("k-toolbar k-grid-toolbar",{"k-toolbar-md":!this.props.size,[`k-toolbar-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),"aria-label":this.props.ariaLabel,"aria-controls":this.props.ariaControls,role:"toolbar"},this.props.children)}};bt.displayName="KendoReactGridToolbar";let vt=bt;const xt=e=>{const{data:t=[]}=e;return m.createElement("div",{className:"k-selection-aggregates k-grid-selection-aggregates"},t.map(((e,t)=>m.createElement("div",{key:t},m.createElement("span",{className:"k-selection-aggregates-item-text"},e.type,": "),m.createElement("span",{className:"k-selection-aggregates-item-value"},e.formattedValue)))))};xt.displayName="KendoReactGridStatusBar";const kt=e=>{var t;const r=e.slice();for(let e=0;e<r.length;e++)for(;r[e]&&null!=(t=r[e].children)&&t.length;)r.splice(e,1,...r[e].children);return r},Et=s.withIdHOC(Ye);Et.displayName="KendoReactGrid",Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return i.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return i.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return i.setSelectedState}}),e.GRID_COL_INDEX_ATTRIBUTE=oe,e.GRID_PREVENT_SELECTION_ELEMENT=le,e.GRID_ROW_INDEX_ATTRIBUTE=ie,e.Grid=Et,e.GridCell=He,e.GridClassComponent=Ye,e.GridColumn=f,e.GridColumnMenuCheckboxFilter=mt,e.GridColumnMenuColumnsList=ft,e.GridColumnMenuFilter=ut,e.GridColumnMenuFilterCell=at,e.GridColumnMenuFilterUI=ht,e.GridColumnMenuGroup=Ze,e.GridColumnMenuItem=Je,e.GridColumnMenuItemContent=nt,e.GridColumnMenuItemGroup=Qe,e.GridColumnMenuSort=lt,e.GridColumnMenuWrapper=ce,e.GridCommonDragLogic=Oe,e.GridDetailRow=Ct,e.GridEditCell=ne,e.GridFilterCell=Re,e.GridGroupCell=Pe,e.GridHeaderCell=de,e.GridHierarchyCell=se,e.GridNoRecords=Be,e.GridRow=_e,e.GridSelectionCell=re,e.GridToolbar=vt,e.StatusBar=xt,e.booleanFilterValues=xe,e.cellBoolDropdownChange=Se,e.cellInputChange=Ee,e.cellOperatorChange=we,e.filterGroupByField=ct,e.getStatusData=e=>{const{dataItems:t,target:r,selectedField:i}=e,o=kt(r.columns).map((e=>e.field)).filter((e=>e&&"string"==typeof e)).map((e=>s.getter(e))),l=s.getter(i),n={dates:[],numbers:[],booleans:[],others:[]};t.forEach((e=>{const t=l(e);t&&t.forEach((t=>{(e=>{"number"==typeof e?n.numbers.push(e):"boolean"==typeof e?n.booleans.push(e):e instanceof Date?n.dates.push(e):n.others.push(e)})(o[t](e))}))}));const a=n.dates.map((e=>e.getTime())),h=n.booleans.filter((e=>e)).length,p=n.booleans.filter((e=>!e)).length,c=n.numbers.length?n.numbers.reduce(((e,t)=>e+t),0):void 0,d={sum:c,average:"number"==typeof c?c/n.numbers.length:void 0,min:n.numbers.length?Math.min(...n.numbers):void 0,max:n.numbers.length?Math.max(...n.numbers):void 0,count:n.numbers.length+n.booleans.length+n.dates.length+n.others.length,isTrue:h>0?h:void 0,isFalse:p>0?p:void 0,earliest:n.dates.length?new Date(Math.min(...a)):void 0,latest:n.dates.length?new Date(Math.max(...a)):void 0},u=(e,t)=>"sum"!==t&&"average"!==t||"number"!=typeof e?("earliest"===t||"latest"===t)&&e instanceof Date?e.toLocaleDateString():String(e):e.toFixed(2),g=[];return Object.keys(d).forEach((e=>{const t=e,r=d[t];void 0!==r&&g.push({type:t,value:r,formattedValue:u(r,t)})})),g},e.gridMessages=ee,e.leafColumns=kt,e.operators=Ce,e.pagerFirstPage=R,e.pagerInfo=w,e.pagerItemPerPage=F,e.pagerLastPage=T,e.pagerNextPage=D,e.pagerPreviousPage=N,e.rootFilterOrDefault=pt}));
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("react"),v=require("../interfaces/GridSortSettings.js"),E=require("../drag/ColumnDraggable.js"),M=require("./GridHeaderCell.js"),d=require("@progress/kendo-react-common"),b=require("@progress/kendo-react-data-tools"),y=require("@progress/kendo-react-intl"),m=require("../messages/index.js"),k=require("@progress/kendo-svg-icons"),K=require("../utils/index.js");function N(c){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const s in c)if(s!=="default"){const o=Object.getOwnPropertyDescriptor(c,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:()=>c[s]})}}return r.default=c,Object.freeze(r)}const l=N(q),O={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},G={none:"none",asc:"ascending",desc:"descending"};class R extends l.Component{constructor(r){super(r),this.serviceIndex=0,this.index=-1,this.cellKeyDown=(s,o)=>{if(s.isDefaultPrevented())return;const{keyCode:e,metaKey:i,ctrlKey:n}=s;if(this.props.sortable&&o.sortable&&s.keyCode===d.Keys.enter&&this.cellClick(s,o),i&&e===d.Keys.enter||n&&e===d.Keys.space){const a=this.props.columns.findIndex(h=>h.field===o.field);this.props.columnGroupChange&&this.props.columnGroupChange(a,s)}},this.cells=s=>s.map(o=>{const e=this.props.columns[o],i=this.props.sortable&&e.sortable,n=this.props.sort?this.props.sort.findIndex(t=>t.field===e.field):-1,p=n>=0&&this.props.sort[n].dir||"none",a=e.columnMenu===null?null:e.columnMenu||this.props.columnMenu,h=d.classNames({"k-first":e.kFirst,"k-filterable":!!a,"k-table-th":!0,"k-header":!0,"k-grid-header-sticky":e.locked,"k-sorted":this.props.sort&&this.props.sort.some(t=>t.field===e.field)},e.headerClassName);e.locked===!1&&(e.left=0);const S=e.left!==void 0?this.props.isRtl?{left:e.right,right:e.left}:{left:e.left,right:e.right}:{},D=y.provideLocalizationService(this).toLanguageString(m.sortAriaLabel,m.messages[m.sortAriaLabel]),H=e.isAccessible?{ariaSort:G[p],role:"columnheader",ariaColumnIndex:e.ariaColumnIndex,ariaSelected:!1,ariaDescription:i?D:""}:{role:"presentation"},u=e.declarationIndex>=0?++this.index:--this.serviceIndex,x=e.headerCell?e.headerCell:M.GridHeaderCell,z=l.createElement(x,{key:1,field:e.field,onClick:i&&(t=>this.cellClick(t,e))||void 0,selectionChange:this.props.selectionChange,title:e.title,selectionValue:e.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(n),columnMenuWrapperProps:{column:{field:e.field,title:e.title,locked:e.locked,filter:e.filter,id:e.id},sortable:i&&this.props.sortable,sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.filter,filterable:this.props.filterable&&e.filterable,filterOperators:this.props.filterOperators,onFilterChange:this.props.filterChange,group:this.props.group,groupable:this.props.groupable,onGroupChange:this.props.groupChange,columnMenu:a}}),g={...H,key:u,colSpan:e.colSpan,rowSpan:e.rowSpan,className:h,style:S,columnId:e.id,navigatable:e.navigatable,onKeyDown:t=>this.cellKeyDown(t,e),role:"columnheader"},C=[z,this.props.columnResize&&this.props.columnResize.resizable&&e.resizable&&l.createElement(b.ColumnResizer,{key:2,resize:(t,I,w)=>this.props.columnResize&&this.props.columnResize.dragHandler(t,e,I,w),autofit:t=>this.props.columnResize&&this.props.columnResize.dblClickHandler(t,[e.id])})],f=K.resolveCells(this.props.cells,e.cells);if(f&&f.headerCell){const t=f.headerCell;return l.createElement(t,{key:u,thProps:g,index:o},C)}return l.createElement(b.HeaderThElement,{...g,key:u},C)}),this.cellClick=this.cellClick.bind(this)}cellClick(r,s){if(r.preventDefault(),!this.props.sortChange)return;const{allowUnsort:o,mode:e}=v.normalize(this.props.sortable||!1,s.sortable||!1),i=(this.props.sort||[]).filter(a=>a.field===s.field)[0],n=O[o][i&&i.dir||""],p=e==="single"?[]:(this.props.sort||[]).filter(a=>a.field!==s.field);n!==""&&s.field&&p.push({field:s.field,dir:n}),this.props.sortChange(p,r)}sortIcon(r){return this.props.sort?r>=0&&[l.createElement("span",{key:1,className:"k-sort-icon"},l.createElement(d.IconWrap,{name:"sort-"+this.props.sort[r].dir+"-small",icon:this.props.sort[r].dir==="asc"?k.sortAscSmallIcon:k.sortDescSmallIcon})),this.props.sort.length>1&&l.createElement("span",{key:2,className:"k-sort-icon"},l.createElement("span",{className:"k-sort-order"},r+1))]:null}render(){return this.serviceIndex=0,this.index=-1,this.props.columnsMap.map((r,s)=>this.props.pressHandler&&l.createElement(E.ColumnDraggable,{key:s,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:s+1,dragClue:this.props.dragClue,headerRef:this.props.headerRef,containerRef:this.props.containerRef},this.cells(r))||l.createElement("tr",{key:s,className:"k-table-row",role:"row","aria-rowindex":s+1},this.cells(r)))}}y.registerForLocalization(R);exports.HeaderRow=R;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("react"),v=require("../interfaces/GridSortSettings.js"),E=require("../drag/ColumnDraggable.js"),M=require("./GridHeaderCell.js"),d=require("@progress/kendo-react-common"),k=require("@progress/kendo-react-data-tools"),R=require("@progress/kendo-react-intl"),m=require("../messages/index.js"),y=require("@progress/kendo-svg-icons"),K=require("../utils/index.js");function N(c){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const s in c)if(s!=="default"){const o=Object.getOwnPropertyDescriptor(c,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:()=>c[s]})}}return r.default=c,Object.freeze(r)}const l=N(q),O={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},G={none:"none",asc:"ascending",desc:"descending"};class S extends l.Component{constructor(r){super(r),this.serviceIndex=0,this.index=-1,this.cellKeyDown=(s,o)=>{if(s.isDefaultPrevented())return;const{keyCode:e,metaKey:i,ctrlKey:n}=s;if(this.props.sortable&&o.sortable&&s.keyCode===d.Keys.enter&&this.cellClick(s,o),i&&e===d.Keys.enter||n&&e===d.Keys.space){const a=this.props.columns.findIndex(h=>h.field===o.field);this.props.columnGroupChange&&this.props.columnGroupChange(a,s)}},this.cells=s=>s.map(o=>{const e=this.props.columns[o],i=this.props.sortable&&e.sortable,n=this.props.sort?this.props.sort.findIndex(t=>t.field===e.field):-1,p=n>=0&&this.props.sort[n].dir||"none",a=e.columnMenu===null?null:e.columnMenu||this.props.columnMenu,h=d.classNames({"k-first":e.kFirst,"k-filterable":!!a,"k-table-th":!0,"k-header":!0,"k-grid-header-sticky":e.locked,"k-sorted":this.props.sort&&this.props.sort.some(t=>t.field===e.field)},e.headerClassName);e.locked===!1&&(e.left=0);const D=e.left!==void 0?this.props.isRtl?{left:e.right,right:e.left}:{left:e.left,right:e.right}:{},H=R.provideLocalizationService(this).toLanguageString(m.sortAriaLabel,m.messages[m.sortAriaLabel]),x=e.isAccessible?{ariaSort:G[p],role:"columnheader",ariaColumnIndex:e.ariaColumnIndex,ariaSelected:!1,ariaDescription:i?H:""}:{role:"presentation"},u=e.declarationIndex>=0?++this.index:--this.serviceIndex,z=e.headerCell?e.headerCell:M.GridHeaderCell,g=l.createElement(z,{key:1,field:e.field,onClick:i&&(t=>this.cellClick(t,e))||void 0,selectionChange:this.props.selectionChange,title:e.title,selectionValue:e.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(n),columnMenuWrapperProps:{column:{field:e.field,title:e.title,locked:e.locked,filter:e.filter,id:e.id},sortable:i&&this.props.sortable,sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.filter,filterable:this.props.filterable&&e.filterable,filterOperators:this.props.filterOperators,onFilterChange:this.props.filterChange,group:this.props.group,groupable:this.props.groupable,onGroupChange:this.props.groupChange,columnMenu:a}}),C={...x,key:u,colSpan:e.colSpan,rowSpan:e.rowSpan,className:h,style:D,columnId:e.id,navigatable:e.navigatable,onKeyDown:t=>this.cellKeyDown(t,e),role:"columnheader"},b=[g,this.props.columnResize&&this.props.columnResize.resizable&&e.resizable&&l.createElement(k.ColumnResizer,{key:2,resize:(t,I,w)=>this.props.columnResize&&this.props.columnResize.dragHandler(t,e,I,w),autofit:t=>this.props.columnResize&&this.props.columnResize.dblClickHandler(t,[e.id])})],f=K.resolveCells(this.props.cells,e.cells);if(f&&f.headerCell){const t=f.headerCell;return l.createElement(t,{...g.props,key:u,thProps:C,index:o},b)}return l.createElement(k.HeaderThElement,{...C,key:u},b)}),this.cellClick=this.cellClick.bind(this)}cellClick(r,s){if(r.preventDefault(),!this.props.sortChange)return;const{allowUnsort:o,mode:e}=v.normalize(this.props.sortable||!1,s.sortable||!1),i=(this.props.sort||[]).filter(a=>a.field===s.field)[0],n=O[o][i&&i.dir||""],p=e==="single"?[]:(this.props.sort||[]).filter(a=>a.field!==s.field);n!==""&&s.field&&p.push({field:s.field,dir:n}),this.props.sortChange(p,r)}sortIcon(r){return this.props.sort?r>=0&&[l.createElement("span",{key:1,className:"k-sort-icon"},l.createElement(d.IconWrap,{name:"sort-"+this.props.sort[r].dir+"-small",icon:this.props.sort[r].dir==="asc"?y.sortAscSmallIcon:y.sortDescSmallIcon})),this.props.sort.length>1&&l.createElement("span",{key:2,className:"k-sort-icon"},l.createElement("span",{className:"k-sort-order"},r+1))]:null}render(){return this.serviceIndex=0,this.index=-1,this.props.columnsMap.map((r,s)=>this.props.pressHandler&&l.createElement(E.ColumnDraggable,{key:s,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:s+1,dragClue:this.props.dragClue,headerRef:this.props.headerRef,containerRef:this.props.containerRef},this.cells(r))||l.createElement("tr",{key:s,className:"k-table-row",role:"row","aria-rowindex":s+1},this.cells(r)))}}R.registerForLocalization(S);exports.HeaderRow=S;
@@ -13,7 +13,7 @@ import { GridHeaderCell as I } from "./GridHeaderCell.mjs";
13
13
  import { Keys as m, classNames as w, IconWrap as D } from "@progress/kendo-react-common";
14
14
  import { ColumnResizer as E, HeaderThElement as v } from "@progress/kendo-react-data-tools";
15
15
  import { provideLocalizationService as M, registerForLocalization as N } from "@progress/kendo-react-intl";
16
- import { sortAriaLabel as g, messages as K } from "../messages/index.mjs";
16
+ import { sortAriaLabel as C, messages as K } from "../messages/index.mjs";
17
17
  import { sortAscSmallIcon as L, sortDescSmallIcon as A } from "@progress/kendo-svg-icons";
18
18
  import { resolveCells as G } from "../utils/index.mjs";
19
19
  const F = {
@@ -44,16 +44,16 @@ class O extends o.Component {
44
44
  "k-sorted": this.props.sort && this.props.sort.some((r) => r.field === e.field)
45
45
  }, e.headerClassName);
46
46
  e.locked === !1 && (e.left = 0);
47
- const C = e.left !== void 0 ? this.props.isRtl ? { left: e.right, right: e.left } : { left: e.left, right: e.right } : {}, k = M(this).toLanguageString(g, K[g]), b = e.isAccessible ? {
47
+ const k = e.left !== void 0 ? this.props.isRtl ? { left: e.right, right: e.left } : { left: e.left, right: e.right } : {}, b = M(this).toLanguageString(C, K[C]), y = e.isAccessible ? {
48
48
  ariaSort: P[p],
49
49
  role: "columnheader",
50
50
  ariaColumnIndex: e.ariaColumnIndex,
51
51
  ariaSelected: !1,
52
- ariaDescription: i ? k : ""
52
+ ariaDescription: i ? b : ""
53
53
  } : {
54
54
  role: "presentation"
55
- }, d = e.declarationIndex >= 0 ? ++this.index : --this.serviceIndex, y = e.headerCell ? e.headerCell : I, R = /* @__PURE__ */ o.createElement(
56
- y,
55
+ }, d = e.declarationIndex >= 0 ? ++this.index : --this.serviceIndex, R = e.headerCell ? e.headerCell : I, f = /* @__PURE__ */ o.createElement(
56
+ R,
57
57
  {
58
58
  key: 1,
59
59
  field: e.field,
@@ -84,19 +84,19 @@ class O extends o.Component {
84
84
  columnMenu: n
85
85
  }
86
86
  }
87
- ), f = {
88
- ...b,
87
+ ), u = {
88
+ ...y,
89
89
  key: d,
90
90
  colSpan: e.colSpan,
91
91
  rowSpan: e.rowSpan,
92
92
  className: c,
93
- style: C,
93
+ style: k,
94
94
  columnId: e.id,
95
95
  navigatable: e.navigatable,
96
96
  onKeyDown: (r) => this.cellKeyDown(r, e),
97
97
  role: "columnheader"
98
- }, u = [
99
- R,
98
+ }, g = [
99
+ f,
100
100
  this.props.columnResize && this.props.columnResize.resizable && e.resizable && /* @__PURE__ */ o.createElement(
101
101
  E,
102
102
  {
@@ -108,15 +108,15 @@ class O extends o.Component {
108
108
  ], h = G(this.props.cells, e.cells);
109
109
  if (h && h.headerCell) {
110
110
  const r = h.headerCell;
111
- return /* @__PURE__ */ o.createElement(r, { key: d, thProps: f, index: l }, u);
111
+ return /* @__PURE__ */ o.createElement(r, { ...f.props, key: d, thProps: u, index: l }, g);
112
112
  }
113
113
  return /* @__PURE__ */ o.createElement(
114
114
  v,
115
115
  {
116
- ...f,
116
+ ...u,
117
117
  key: d
118
118
  },
119
- u
119
+ g
120
120
  );
121
121
  }), this.cellClick = this.cellClick.bind(this);
122
122
  }
package/index.d.mts CHANGED
@@ -22,6 +22,7 @@ import { getSelectedState } from '@progress/kendo-react-data-tools';
22
22
  import { getSelectedStateFromKeyDown } from '@progress/kendo-react-data-tools';
23
23
  import { GroupDescriptor } from '@progress/kendo-data-query';
24
24
  import { HeaderCellBaseProps } from '@progress/kendo-react-data-tools';
25
+ import { HeaderThElementProps } from '@progress/kendo-react-data-tools';
25
26
  import { JSX as JSX_2 } from 'react/jsx-runtime';
26
27
  import { KendoReactComponentBaseProps } from '@progress/kendo-react-common';
27
28
  import { PagerProps } from '@progress/kendo-react-data-tools';
@@ -1483,7 +1484,7 @@ export declare interface GridCustomFooterCellProps extends GridFooterCellProps {
1483
1484
  */
1484
1485
  export declare interface GridCustomHeaderCellProps extends GridHeaderCellProps {
1485
1486
  /**
1486
- * The props and attributes that are applied to the td element by default.
1487
+ * The props and attributes that are applied to the `th` element by default. The property should be used with the [HeaderThElement](slug:) component as demonstrated in [this example](slug:cells_grid#toc-group-header-group-footer-header-cell-footer-cell-filter-cell-and-data-cell).
1487
1488
  */
1488
1489
  thProps?: GridThAttributes | null;
1489
1490
  /**
@@ -2584,7 +2585,7 @@ export declare interface GridTdAttributes extends React.TdHTMLAttributes<HTMLTab
2584
2585
  key?: string;
2585
2586
  }
2586
2587
 
2587
- export declare interface GridThAttributes extends React.ThHTMLAttributes<HTMLTableCellElement> {
2588
+ export declare interface GridThAttributes extends HeaderThElementProps {
2588
2589
  columnId: string;
2589
2590
  key?: string;
2590
2591
  }
package/index.d.ts CHANGED
@@ -22,6 +22,7 @@ import { getSelectedState } from '@progress/kendo-react-data-tools';
22
22
  import { getSelectedStateFromKeyDown } from '@progress/kendo-react-data-tools';
23
23
  import { GroupDescriptor } from '@progress/kendo-data-query';
24
24
  import { HeaderCellBaseProps } from '@progress/kendo-react-data-tools';
25
+ import { HeaderThElementProps } from '@progress/kendo-react-data-tools';
25
26
  import { JSX as JSX_2 } from 'react/jsx-runtime';
26
27
  import { KendoReactComponentBaseProps } from '@progress/kendo-react-common';
27
28
  import { PagerProps } from '@progress/kendo-react-data-tools';
@@ -1483,7 +1484,7 @@ export declare interface GridCustomFooterCellProps extends GridFooterCellProps {
1483
1484
  */
1484
1485
  export declare interface GridCustomHeaderCellProps extends GridHeaderCellProps {
1485
1486
  /**
1486
- * The props and attributes that are applied to the td element by default.
1487
+ * The props and attributes that are applied to the `th` element by default. The property should be used with the [HeaderThElement](slug:) component as demonstrated in [this example](slug:cells_grid#toc-group-header-group-footer-header-cell-footer-cell-filter-cell-and-data-cell).
1487
1488
  */
1488
1489
  thProps?: GridThAttributes | null;
1489
1490
  /**
@@ -2584,7 +2585,7 @@ export declare interface GridTdAttributes extends React.TdHTMLAttributes<HTMLTab
2584
2585
  key?: string;
2585
2586
  }
2586
2587
 
2587
- export declare interface GridThAttributes extends React.ThHTMLAttributes<HTMLTableCellElement> {
2588
+ export declare interface GridThAttributes extends HeaderThElementProps {
2588
2589
  columnId: string;
2589
2590
  key?: string;
2590
2591
  }
@@ -10,7 +10,7 @@ const e = {
10
10
  name: "@progress/kendo-react-grid",
11
11
  productName: "KendoReact",
12
12
  productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
13
- publishDate: 1711444576,
13
+ publishDate: 1711459074,
14
14
  version: "",
15
15
  licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
16
16
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-grid",
3
- "version": "7.4.0-develop.7",
3
+ "version": "7.4.0-develop.8",
4
4
  "description": "React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -25,15 +25,15 @@
25
25
  "@progress/kendo-data-query": "^1.0.0",
26
26
  "@progress/kendo-drawing": "^1.19.0",
27
27
  "@progress/kendo-licensing": "^1.3.4",
28
- "@progress/kendo-react-animation": "7.4.0-develop.7",
29
- "@progress/kendo-react-buttons": "7.4.0-develop.7",
30
- "@progress/kendo-react-common": "7.4.0-develop.7",
31
- "@progress/kendo-react-data-tools": "7.4.0-develop.7",
32
- "@progress/kendo-react-dateinputs": "7.4.0-develop.7",
33
- "@progress/kendo-react-dropdowns": "7.4.0-develop.7",
34
- "@progress/kendo-react-inputs": "7.4.0-develop.7",
35
- "@progress/kendo-react-intl": "7.4.0-develop.7",
36
- "@progress/kendo-react-popup": "7.4.0-develop.7",
28
+ "@progress/kendo-react-animation": "7.4.0-develop.8",
29
+ "@progress/kendo-react-buttons": "7.4.0-develop.8",
30
+ "@progress/kendo-react-common": "7.4.0-develop.8",
31
+ "@progress/kendo-react-data-tools": "7.4.0-develop.8",
32
+ "@progress/kendo-react-dateinputs": "7.4.0-develop.8",
33
+ "@progress/kendo-react-dropdowns": "7.4.0-develop.8",
34
+ "@progress/kendo-react-inputs": "7.4.0-develop.8",
35
+ "@progress/kendo-react-intl": "7.4.0-develop.8",
36
+ "@progress/kendo-react-popup": "7.4.0-develop.8",
37
37
  "@progress/kendo-svg-icons": "^2.1.0",
38
38
  "react": "^16.8.2 || ^17.0.0 || ^18.0.0",
39
39
  "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"