@progress/kendo-react-grid 8.3.0 → 8.4.0-develop.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Grid.js +1 -1
- package/Grid.mjs +1 -0
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/index.d.mts +4 -0
- package/index.d.ts +4 -0
- package/package-metadata.mjs +1 -1
- package/package.json +11 -11
package/Grid.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const xe=require("react"),o=require("prop-types"),n=require("@progress/kendo-react-common"),c=require("@progress/kendo-react-data-tools"),ke=require("./cells/GridSelectionCell.js"),Te=require("./cells/GridHierarchyCell.js"),De=require("./cells/GridEditCell.js"),Ne=require("./header/Header.js"),He=require("./header/HeaderRow.js"),ze=require("./header/FilterRow.js"),Fe=require("./header/GroupPanel.js"),Ae=require("./footer/Footer.js"),ce=require("@progress/kendo-react-intl"),W=require("./messages/index.js"),Ge=require("./VirtualScroll.js"),re=require("./VirtualScrollFixed.js"),Me=require("./drag/ColumnResize.js"),Oe=require("./drag/CommonDragLogic.js"),v=require("./utils/index.js"),Le=require("./cells/GridCell.js"),le=require("./cells/GridGroupCell.js"),Ke=require("./rows/GridRow.js"),Pe=require("./header/GridHeaderSelectionCell.js"),We=require("./GridNoRecords.js"),ne=require("./filterCommon.js"),qe=require("./footer/FooterRow.js"),Ve=require("./paging/GridPagerSettings.js"),he=require("./package-metadata.js"),Ue=require("./cells/GridDetailCell.js"),Be=require("./cells/GridDetailHierarchyCell.js"),je=require("./constants/index.js");function $e(N){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(N){for(const h in N)if(h!=="default"){const u=Object.getOwnPropertyDescriptor(N,h);Object.defineProperty(a,h,u.get?u:{enumerable:!0,get:()=>N[h]})}}return a.default=N,Object.freeze(a)}const r=$e(xe),D=class D extends r.Component{constructor(a){super(a),this._columns=[],this._columnsMap=[[]],this._columnsMutations=0,this._resized=!1,this._focusFirst=!1,this._singleEditRow=!1,this._shouldUpdateLeftRight=!0,this._scrollbarWidth=void 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=r.createRef(),this.headerElementRef=r.createRef(),this._element=null,this.tableElement=null,this.containerRef=r.createRef(),this.tableBodyRef=r.createRef(),this._footer=null,this.forceUpdateTimeout=void 0,this.isRtl=!1,this.headTable=null,this.rowsInEdit=[],this.observer=null,this.handleIntersection=e=>{const t={rowIndex:this.rowIndex};e.forEach(s=>{s.isIntersecting||this.setCurrentOnTop(t)})},this.setCurrentOnTop=e=>{if(!this.vs.container||this.props.scrollable==="none")return;this.observer&&this.observer.disconnect();const{rowIndex:t}=e;if(this.props.scrollable==="virtual")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 s=t<1?this.element.querySelector("tbody > tr:nth-child(1)"):this.element.querySelector(`tbody > tr:nth-child(${t+1})`);s&&this.containerRef.current&&(this.containerRef.current.scrollTop=s.offsetTop)}},this.scrollIntoView=e=>{if(!this.vs.container||this.props.scrollable==="none")return;this.rowIndex=e.rowIndex;const{rowIndex:t}=e,s=this.element;if(this.observer&&s){this.observer.disconnect();const l=s.querySelector(`[absolute-row-index="${t}"]`);l?this.observer.observe(l):this.setCurrentOnTop(e)}},this.fitColumns=e=>{this.columnResize.dblClickHandler(null,e)},this.getColumnsEssentialProps=e=>JSON.stringify(e.map(t=>({id:t.id,field:t.field,title:t.title,children:t.children}))),this.checkMatchMediaColumnsDifferece=()=>{const e=this.childrenToArray(this.props.children);return this.getColumnsEssentialProps(e)===this.getColumnsEssentialProps(this._columns)},this.onContextMenu=(e,t,s)=>{if(this.props.onContextMenu){const l={target:this,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:t,field:s};this.props.onContextMenu.call(void 0,l)}},this.getVirtualScroll=e=>{const{rowHeight:t,detailRowHeight:s,detail:l,expandField:p,groupable:g}=e,d=this.isAllData(),m=t!==void 0&&t>0,R=s!==void 0&&s>0,H=g===!0||typeof g=="object"&&g.enabled!==!1;return!m||H&&!d||!!(l&&p)&&(!R||!d)?Ge.VirtualScroll:re.VirtualScrollFixed},this.isAllData=()=>{const{data:e,total:t}=this.props;return Array.isArray(e)?e.length===t:e?t===e.total:!1},this.initializeVirtualization=(e,t)=>{if(this.reInitVirtualization(this.props.scrollable==="virtual",this.props.total,this.props.filter,this.props.group,this.props.sort,t||this.props.rowHeight===void 0||this.props.rowHeight===0),this.vs.fixedScroll=this.props.fixedScroll||!1,this.vs.PageChange=this.pageChange,this.vs.realSkip=this.props.skip||0,this.vs.pageSize=(this.props.take!==void 0?this.props.take:this.props.pageSize)||0,this.vs.scrollableVirtual=this.props.scrollable==="virtual",this.vs.total=e,this.vs.propsSkip=(this.props.skip||0)+(this.props.scrollable==="virtual"?this.vs.topCacheCount+(this.vs.attendedSkip-(this.props.skip||0)):0),this.props.rowHeight!==void 0&&this.props.rowHeight>0&&!t){const s=this.props.rowHeight*e;this.vs.containerHeight=v.firefox?Math.min(v.firefoxMaxHeight,s):s}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 re.VirtualScrollFixed){const{rowHeight:s=0,detail:l,expandField:p}=this.props;let{detailRowHeight:g=0}=this.props;g=l&&p?g:s,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,s,g,this._data)):this.vs.rowHeightService=new n.RowHeightService(e,s,g);const d=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=v.firefox?Math.min(v.firefoxMaxHeight,d):d}},this.getCachedScrollbarWidth=()=>(this._scrollbarWidth||(this._scrollbarWidth=n.getScrollbarWidth()||void 0),this._scrollbarWidth),this.scrollHandler=e=>{if(e.target!==e.currentTarget)return;clearTimeout(this.forceUpdateTimeout),this.vs.table=this.tableElement;const t=e.currentTarget.scrollLeft,s=e.currentTarget.scrollTop;this.props.columnVirtualization&&(!this.vs.scrollableVirtual||s===this.wrapperScrollTop)&&(this.forceUpdateTimeout=window.setTimeout(()=>{this.forceUpdate()},0)),this._header&&this._header.setScrollLeft(t),this._footer&&this._footer.setScrollLeft(t),this.vs&&s!==this.wrapperScrollTop&&this.vs.scrollHandler(e),n.dispatchEvent(this.props.onScroll,e,this,void 0),this.wrapperScrollTop=s},this.onKeyDown=e=>{if(c.tableKeyboardNavigation.onKeyDown(e,{navigatable:this.props.navigatable||!1,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,onNavigationAction:this.onNavigationAction,columns:this.columns}),this.props.onKeyDown){const{mode:t,cell:s}=c.getSelectionOptions(this.props.selectable),l={dataItems:this.getLeafDataItems(),mode:t,cell:s,componentId:this._gridId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,l)}},this.onFocus=e=>{c.tableKeyboardNavigation.onFocus(e,{navigatable:!!this.props.navigatable,contextStateRef:this.contextStateRef})},this.onNavigationAction=e=>{if(e.action==="moveToNextPage"&&this.moveToNextPage(e.event),e.action==="moveToPrevPage"&&this.moveToPrevPage(e.event),e.focusElement&&e.action==="reorderToRight"){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t<this._columns.length-1&&this.columnReorder(t,t+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t>0&&this.columnReorder(t,t-1,e.event)}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&&e.target.nodeName==="TD"&&this.props.onRowClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.rowDblClick=(e,t)=>{this.props.onRowDoubleClick&&e.target.nodeName==="TD"&&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&&e.field===void 0){const s=this.props.onExpandChange;s&&s.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value});return}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=this.getSlicedLeafDataItems()[e.startRowIndex],s=this.getSlicedLeafDataItems()[e.endRowIndex],l={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._gridId,dataItems:this.getLeafDataItems(),dataItem:null,startDataItem:t,endDataItem:s,...e};this.props.onSelectionChange.call(void 0,l)}},this.pageChange=(e,t,s)=>{this.raiseDataEvent(this.props.onPageChange,{page:e},{skip:e.skip,take:e.take},t,s)},this.getTotal=()=>{let e=this.props.total||0;return Array.isArray(this.props.data)?e=e||this.props.data.length:this.props.data&&(e=e||this.props.data.total),e},this.moveToNextPage=e=>{const t=this.props.take||0,s=(this.props.skip||0)+t,l=this.getTotal();s<l&&this.pageChange({skip:s,take:t},e)},this.moveToPrevPage=e=>{const t=this.props.take||0,s=(this.props.skip||0)-t;s>=0&&this.pageChange({skip:s,take:t},e)},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,...this.props.scrollable==="virtual"?{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 s=t.nativeEvent?t:{nativeEvent:t.nativeEvent||t.originalEvent};e.length===0&&this.props.navigatable&&(this._focusFirst=!0),this._columnsMutations++,this.raiseDataEvent(this.props.onGroupChange,{group:e},{group:e,skip:0},s)},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||"",...typeof this.props.clipboard!="boolean"?this.props.clipboard:{}})}},this.inActiveElement=()=>{var p,g,d;if(!n.canUseDOM)return!1;const e=n.getActiveElement(this.document),t=e?e.matches(".k-table-td")?e:(p=this.document)==null?void 0:p.body:(g=this.document)==null?void 0:g.body,s=t.closest(".k-grid-container"),l=t&&((d=this._element)==null?void 0:d.contains(t));return!!(t&&l&&s)},this.onResize=(e,t,s,l,p,g)=>{this.resetTableWidth(),this._shouldUpdateLeftRight=!0,this._resized=!0,this._columnsMutations++,this.props.onColumnResize&&this.props.onColumnResize.call(void 0,{columns:this.columns,nativeEvent:l,targetColumnId:g,index:e,newWidth:t,oldWidth:s,end:p,target:this})},this.reInitVirtualization=n.memoizeOne((e,t,s,l,p,g)=>{this.vs.reset();const d=this.getVirtualScroll(this.props);this.vs=new d(g)}),this.flatData=n.memoizeOne((e,t,s,l,p,g,d)=>{const m=[],R=v.flatData(m,e,t,{index:s},l!==void 0,p);return{flattedData:m,resolvedGroupsCount:R}}),this.rowHeightService=n.memoizeOne((e,t,s,l,p)=>new n.RowHeightService(t,s,l,p)),this.childrenToArray=n.memoizeOne(e=>r.Children.toArray(e)),this.readColumns=n.memoizeOne((e,t,s)=>{const l=e.filter(p=>p&&p.type&&p.type.displayName==="KendoReactGridColumn");return v.readColumns(l,this.columns,{prevId:0,idPrefix:t})}),this.mapColumns=n.memoizeOne((e,t)=>c.mapColumns(e,!0)),this.filterColumnsByMediaProp=e=>e.filter(t=>n.canUseDOM&&t&&t.media?window.matchMedia(t.media).matches:t),this.configureColumns=n.memoizeOne((e,t,s)=>{this.props.selectedField&&e.filter(m=>m.field===this.props.selectedField).forEach(m=>{m.width=m.width||"50px",m.cell=m.cell||ke.GridSelectionCell,m.headerCell=m.headerCell||Pe.GridHeaderSelectionCell});const{unstyled:l}=this.props,p=l&&l.uGrid?l.uGrid:n.uGrid,g={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 d=0;this.props.expandField&&this.props.onExpandChange&&this.props.detail&&(e.unshift({...g,cell:Te.GridHierarchyCell,field:this.props.expandField,headerClassName:n.classNames(p.hierarchyCell({}))}),d++);for(let m=0;m<t;m++)e.unshift({...g,isAccessible:!1,cell:le.GridGroupCell,field:"value",locked:this.props.lockGroups}),d++;e.slice(d).forEach(m=>m.parentIndex>=0&&(m.parentIndex+=d))}),this.getHeaderRow=n.memoizeOne((e,t,s,l,p,g,d,m,R,H,E,M,O)=>r.createElement(He.HeaderRow,{cells:this.props.cells,sort:e,sortable:t,sortChange:this.sortChange,group:s||[],groupable:l,groupChange:this.groupChange,filter:p,filterable:g,filterOperators:d,filterChange:this.filterChange,columnMenu:R,columnMenuIcon:H,selectionChange:this.onHeaderSelectionChange,columns:E,columnResize:this.columnResize,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,columnsMap:M,cellRender:m,isRtl:O,dragClue:this.dragLogic.dragClueRef,headerRef:this.headerElementRef,containerRef:this.containerRef,navigatable:!!this.props.navigatable,columnGroupChange:this.columnGroupChange})),this.resolveTitle=e=>{const t=this._columns.find(l=>l.field===e),s=t&&(t.title||t.field);return s===void 0?e:s},this.getLeafDataItems=()=>this._data.filter(e=>e.rowType==="data").map(e=>e.dataItem),this.getSlicedLeafDataItems=()=>(this._slicedData||this._data).filter(e=>e.rowType==="data").map(e=>e.dataItem),this.handleFocusInEditableRows=()=>{var e,t,s;if(this.tableBodyRef.current&&((e=this.tableBodyRef.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){this._singleEditRow=!1,(t=document.activeElement)!=null&&t.closest(".k-grid-edit-row")?this._lastActiveElement=document.activeElement:this._lastActiveElement=void 0;const l=Array.from((s=this.tableBodyRef.current)==null?void 0:s.getElementsByClassName("k-grid-edit-row"));l.length>this.rowsInEdit.length?this._newEditableRow=l.filter(p=>!this.rowsInEdit.includes(p))[0]:l.length===1&&(this._newEditableRow=l[0],this._singleEditRow=!0),this.rowsInEdit=l}},n.validatePackage(he.packageMetadata),this.showLicenseWatermark=n.shouldShowValidationUI(he.packageMetadata);const h=this.props.groupable===!0||typeof this.props.groupable=="object"&&this.props.groupable.enabled!==!1,u=this.getVirtualScroll(a);this.vs=new u(h||a.rowHeight===void 0||a.rowHeight===0),this.dragLogic=new Oe.CommonDragLogic(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnGroupChange=this.columnGroupChange.bind(this),this.columnResize=new Me.ColumnResize(this.onResize),this.props.clipboard&&(this.clipboardService=new c.ClipboardService(this.onClipboard)),c.tableKeyboardNavigation.onConstructor({navigatable:!!a.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,idPrefix:this._gridId})}get columns(){const a=this._columns.filter(h=>h.declarationIndex>=0&&h.parentIndex===-1);return v.sanitizeColumns(a)}get element(){return this._element}get document(){if(n.canUseDOM)return this.element&&this.element.ownerDocument||document}get _header(){return this.headerRef.current}get _gridId(){return this.props.id+"-role-element-id"}componentDidMount(){var u;this.props.columnVirtualization&&!navigator.userAgent.match(je.SAFARI_REGEX)&&(this.headTable&&(this.headTable.style.display="block"),this.tableElement&&(this.tableElement.style.display="block")),this.resetTableWidth(),n.setScrollbarWidth(this.getCachedScrollbarWidth());const a=c.isRtl(this.element);this.isRtl=a,c.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.isRtl&&this.forceUpdate();const h={rootMargin:"0px",threshold:.9};this.clipboardService&&this.clipboardService.addEventListeners(this.document),this.observer=n.canUseDOM&&window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,h)||null,this.resizeObserver=n.canUseDOM&&window.ResizeObserver&&new window.ResizeObserver(this.calculateMedia.bind(this)),(u=this.document)!=null&&u.body&&this.resizeObserver&&this.resizeObserver.observe(this.document.body)}getSnapshotBeforeUpdate(){return c.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(){this.resetTableWidth(),n.setScrollbarWidth(this.getCachedScrollbarWidth()),this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform=""),this.handleFocusInEditableRows(),c.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,focusFirst:this._focusFirst,newEditableRow:this._newEditableRow,singleEditRow:this._singleEditRow,lastActiveElement:this._lastActiveElement,navigatable:this.props.navigatable}),this._focusFirst=!1,this._newEditableRow=void 0}componentWillUnmount(){var a;clearTimeout(this.forceUpdateTimeout),this.clipboardService&&this.clipboardService.removeEventListeners(this.document),(a=this.document)!=null&&a.body&&this.resizeObserver&&this.resizeObserver.disconnect()}render(){var oe;let a=this.props.total||0;const h=c.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),u=ce.provideLocalizationService(this),{unstyled:e,size:t="medium"}=this.props,s=e&&e.uGrid?e.uGrid:n.uGrid;let l=[];Array.isArray(this.props.data)?(l=this.props.data,a=a||this.props.data.length):this.props.data&&(l=this.props.data.data,a=a||this.props.data.total);const p=typeof this.props.groupable=="object"&&this.props.groupable.footer||"none",g=this.props.scrollable==="virtual",{resolvedGroupsCount:d,flattedData:m}=this.flatData(l,p,this.props.skip||0,this.props.group,this.props.expandField,this.props.filter,this.props.sort);this._data=m;const R=this.props.groupable===!0||typeof this.props.groupable=="object"&&this.props.groupable.enabled!==!1;this.columnResize.resizable=this.props.resizable||!1,this.dragLogic.reorderable=this.props.reorderable||!1,this.dragLogic.groupable=R;const H=this.props.selectable&&this.props.selectable.drag?"none":void 0;this.initializeVirtualization(a,R);const E=this.childrenToArray(this.props.children);this.initColumns(E,d);const M=E.map(i=>i&&i.type&&i.type.displayName==="KendoReactGridToolbar"?r.cloneElement(i,{...i.props,ariaControls:this._gridId}):null),O=E.filter(i=>i&&i.type&&i.type.displayName==="KendoReactGridNoRecords"),U=E.filter(i=>i&&i.type&&i.type.displayName==="KendoReactGridStatusBar"),w=this._columns.filter(i=>i.children.length===0),B=R&&r.createElement(Fe.GroupPanel,{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:de,sortable:pe,group:ue,filter:ge,filterable:fe,filterOperators:me=ne.operators,headerCellRender:be,columnMenu:ve,columnMenuIcon:Ce}=this.props,j=r.createElement(Ne.Header,{size:t,columnResize:this.columnResize,staticHeaders:this.props.scrollable!=="none",scrollableDataElement:()=>this.vs.container,hasScrollbarWidth:!!this.getCachedScrollbarWidth(),draggable:this.props.reorderable||R,ref:this.headerRef,elemRef:this.headerElementRef,headerRow:this.getHeaderRow(de,pe,ue,R,ge,fe,me,be,ve,Ce,this._columns,this._columnsMap,this.isRtl),filterRow:this.props.filterable&&r.createElement(ze.FilterRow,{cells:this.props.cells,size:t,columns:this._columns,filter:this.props.filter,filterOperators:this.props.filterOperators||ne.operators,filterChange:this.filterChange,sort:this.props.sort,cellRender:this.props.filterCellRender,isRtl:this.isRtl,navigatable:!!this.props.navigatable,ariaRowIndex:this._columnsMap.length+1})||void 0,cols:w.map((i,b)=>r.createElement("col",{key:b.toString(),width:v.getColumnWidth(i)}))}),Re=this.vs&&this.vs.container&&this.vs.container.scrollLeft||0,ye=parseFloat(((this.props.style||{}).width||"").toString()),{colSpans:we,hiddenColumns:Se}=c.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:w,tableViewPortWidth:ye,scrollLeft:Re}),Ee=(i,b,C,F)=>{let T=!1;const I=this.props.selectedField?v.getNestedValue(this.props.selectedField,i.dataItem):void 0;return{row:w.map((f,y)=>{if(Se[y])return null;const A=f.id?f.id:y,S=n.classNames(s.contentSticky({locked:f.locked}),f.className),_=f.left!==void 0?this.isRtl?{left:f.right,right:f.left}:{left:f.left,right:f.right}:{};let P=!1;if(f.editable&&this.props.editField){const k=v.getNestedValue(this.props.editField,i.dataItem);k&&(k===!0||k===f.field)&&(T=!0,P=!0)}const G=f.cell||P&&De.GridEditCell||Le.GridCell,x=this.props.expandField&&this.props.detail&&f.field===this.props.expandField;return r.createElement(G,{onContextMenu:this.onContextMenu,key:A,locked:this.props.lockGroups,id:c.tableKeyboardNavigationTools.generateNavigatableId(`${b}-${String(y)}`,h,x||i.rowType==="groupHeader"||i.rowType==="groupFooter"||f.field==="value"?"nodata":"cell"),colSpan:we[y],dataItem:i.dataItem,field:f.field,editor:f.editor,format:f.format,className:S,render:this.props.cellRender,cells:v.resolveCells(this.props.cells,f.cells),onChange:this.itemChange,selectionChange:this.props.onSelectionChange?k=>{this.selectionChange({event:k,dataItem:i.dataItem,dataIndex:C,columnIndex:y})}:void 0,columnIndex:y,columnsCount:w.length,rowType:i.rowType,level:i.level,expanded:i.expanded,dataIndex:i.dataIndex,style:_,ariaColumnIndex:f.ariaColumnIndex,isSelected:Array.isArray(I)&&I.indexOf(y)>-1,isSorted:!!v.isSorted(f.field,this.props.sort),isAlt:F})}),isInEdit:T,isSelected:typeof I=="boolean"&&I}};let $=0;if(g)for(let i=0;i<this.vs.topCacheCount+this.vs.attendedSkip-(this.props.skip||0);i++){const b=this._data.shift();if(b)this._data.push(b),$++,b.rowType==="groupHeader"&&i--;else break}const J=i=>i>=this._data.length-$;let X=this.vs.realSkip||0;const L=[];let V=!1;const Y=this._columnsMap.length+(this.props.filterable?1:0)+1;let z=0;if(this._data.length){let i=-1,b=0;(this._slicedData||this._data).forEach((C,F)=>{C.rowType==="data"&&(X++,i++);const T=X%2===0,I=this.props.dataItemKey&&n.getter(this.props.dataItemKey)(C.dataItem),f=F+(this.vs.realSkip||0),y=I||"ai"+f,A=y+"_1",S=Ee(C,y,i,T);if(z=f+Y+b,L.push(r.createElement(Ke.GridRow,{key:y,dataItem:C.dataItem,isAltRow:T,isInEdit:S.isInEdit,rowType:C.rowType,isHidden:J(F),onClick:_=>this.rowClick(_,C),onDoubleClick:_=>this.rowDblClick(_,C),selectedField:this.props.selectedField,rowHeight:this.props.rowHeight,render:this.props.rowRender,ariaRowIndex:z,absoluteRowIndex:f,dataIndex:this.vs.scrollableVirtual&&!this.props.groupable?f:i,isSelected:S.isSelected},S.row)),this.props.detail&&C.rowType==="data"&&C.expanded){const _=w.length-(this.props.expandField?1:0)-(this.props.group?this.props.group.length:0)||1;b++,z=f+Y+b,L.push(r.createElement("tr",{key:A,className:n.classNames(s.detailTr({isAlt:T})),style:{visibility:J(F)?"hidden":"",height:this.props.detailRowHeight},role:"row","aria-rowindex":z},this.props.group&&this.props.group.map((P,G)=>{var ae;const x=(ae=S==null?void 0:S.row[G])==null?void 0:ae.props.style,k=x?this.isRtl?{left:x.right,right:x.left}:{left:x.left,right:x.right}:{};return r.createElement(le.GridGroupCell,{id:"",dataIndex:C.dataIndex,field:P.field,dataItem:C.dataItem,key:G,style:k,ariaColumnIndex:1+G,isSelected:!1,locked:this.props.lockGroups,isRtl:this.isRtl,cells:this.props.cells})}),this.props.expandField&&r.createElement(Be.GridDetailHierarchyCell,{id:c.tableKeyboardNavigationTools.generateNavigatableId(`${A}-dhcell`,h)}),r.createElement(Ue.GridDetailCell,{onContextMenu:this.onContextMenu,dataItem:C.dataItem,dataIndex:C.dataIndex,colSpan:_,ariaColIndex:2+(this.props.group?this.props.group.length:0),detail:this.props.detail,id:c.tableKeyboardNavigationTools.generateNavigatableId(`${A}-dcell`,h)})))}})}else V=!0;const Ie=()=>{const i=this._header;return i&&i.table&&i.table.clientWidth},Q=()=>r.createElement("div",{key:"no-records",className:n.classNames(s.noRecords({})),style:{width:Ie()}},r.createElement("div",{className:n.classNames(s.noRecordsTemplate({})),[c.KEYBOARD_NAV_DATA_ID]:c.tableKeyboardNavigationTools.generateNavigatableId("no-records",h)},O.length?O:r.createElement(We.GridNoRecords,null))),Z={size:t,onPageChange:this.pagerPageChange,total:a,dir:this.isRtl?"rtl":void 0,skip:this.vs.propsSkip||0,take:(this.props.take!==void 0?this.props.take:this.props.pageSize)||10,messagesMap:W.pagerMessagesMap,...Ve.normalize(this.props.pageable||{})},ee=this.props.pager?r.createElement(this.props.pager,{...Z}):r.createElement(c.Pager,{className:n.classNames(s.pager({})),...Z}),_e=(i,b)=>r.createElement("col",{key:b.toString(),width:v.getColumnWidth(i)}),te=(oe=this.props.cells)!=null&&oe.footerCell||this._columns.some(i=>{var b;return!!(i.footerCell||(b=i.cells)!=null&&b.footerCell)})?r.createElement(Ae.Footer,{size:t,columnResize:this.columnResize,staticHeaders:this.props.scrollable!=="none",hasScrollbarWidth:!!this.getCachedScrollbarWidth(),ref:i=>this._footer=i,row:r.createElement(qe.FooterRow,{cells:this.props.cells,idPrefix:h,columns:this._columns,isRtl:this.isRtl,ariaRowIndex:z+1}),cols:w.map(_e)}):null,se=r.createElement("colgroup",{ref:i=>{this.columnResize.colGroupMain=i}},w.map((i,b)=>r.createElement("col",{key:b.toString(),className:v.isSorted(i.field,this.props.sort)?n.classNames(s.sorted({})):void 0,width:v.getColumnWidth(i)}))),ie=this.dragLogic.reorderable||this.dragLogic.groupable;if(this.props.scrollable==="none")return r.createElement(c.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},r.createElement("div",{id:this.props.id,style:this.props.style,className:n.classNames(s.wrapper({size:t}),this.props.className),ref:i=>{this._element=i},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...c.tableKeyboardNavigationScopeAttributes},M,B,r.createElement(c.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:i=>{this.tableElement=i,this.headTable=i}},r.createElement("table",{ref:i=>this.headTable=i,className:n.classNames(s.table({size:t}))},se,j,r.createElement("tbody",{role:"rowgroup",className:n.classNames(s.tbody({})),...c.tableKeyboardNavigationBodyAttributes},L),te)),V&&Q(),ie&&r.createElement(r.Fragment,null,r.createElement(c.DropClue,{ref:this.dragLogic.refDropElementClue}),r.createElement(c.DragClue,{ref:this.dragLogic.refDragElementClue}))),U,this.props.pageable&&ee);let K=this.props.style||{};return g&&(K.height||(K=Object.assign({},K,{height:"450px"}))),r.createElement(c.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},r.createElement("div",{id:this.props.id,style:K,className:n.classNames(s.wrapper({size:t,virtual:g}),this.props.className),ref:i=>{this._element=i},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...c.tableKeyboardNavigationScopeAttributes},M,B,r.createElement("div",{className:n.classNames(s.ariaRoot({})),role:"grid","aria-colcount":w.length,"aria-rowcount":a,id:this._gridId,"aria-label":u.toLanguageString(W.gridAriaLabel,W.messages[W.gridAriaLabel])},j,r.createElement("div",{className:n.classNames(s.container({})),role:"presentation"},r.createElement("div",{ref:this.containerRef,className:n.classNames(s.content({})),onScroll:this.scrollHandler,role:"presentation"},r.createElement("div",{className:n.classNames(s.tableWrap({})),role:"presentation"},r.createElement(c.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:i=>{this.tableElement=i}},r.createElement("table",{ref:i=>this.tableElement=i,className:n.classNames(s.table({size:t})),role:"presentation",style:{userSelect:H}},se,r.createElement("tbody",{className:n.classNames(s.tbody({})),ref:this.tableBodyRef,role:"rowgroup",...c.tableKeyboardNavigationBodyAttributes},L))),V&&Q()),g&&r.createElement("div",{className:n.classNames(s.heightContainer({})),role:"presentation"},r.createElement("div",{style:g?{height:this.vs.containerHeight+"px"}:{}})))),te,ie&&r.createElement(r.Fragment,null,r.createElement(c.DropClue,{ref:this.dragLogic.refDropElementClue}),r.createElement(c.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&r.createElement(n.WatermarkOverlay,null)),U,this.props.pageable&&ee))}calculateMedia(){this.checkMatchMediaColumnsDifferece()||this.forceUpdate()}selectionChange(a){if(this.props.onSelectionChange){const{event:h,dataItem:u,dataIndex:e,columnIndex:t}=a,{mode:s,cell:l}=c.getSelectionOptions(this.props.selectable),p={...this.getArguments(h.syntheticEvent),dataItem:u,startColIndex:t,endColIndex:t,startRowIndex:e,endRowIndex:e,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:s,cell:l,isDrag:!1,componentId:this._gridId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,p)}}raiseDataEvent(a,h,u,e,t){const s=this.props.onDataStateChange;if(a){const l={...this.getArguments(e),...h,targetEvent:t};a.call(void 0,l)}else s&&s.call(void 0,{...this.getArguments(e),targetEvent:t||{},dataState:{...this.getDataState(),...u}})}columnReorder(a,h,u){const e=this._columns[a],t=e.depth,s=d=>{do d++;while(d<this._columns.length&&this._columns[d].depth>t);return d},l=this._columns.splice(a,s(a)-a);this._columns.splice(a<h?s(h-l.length):h,0,...l),this._columns.filter(d=>d.declarationIndex>=0).forEach((d,m)=>d.orderIndex=m),this._columnsMutations++;const p=this._columns[a].locked&&this._columns[h].locked;c.updateLeft(this._columnsMap,this._columns,p||this._shouldUpdateLeftRight),c.updateRight(this._columnsMap,this._columns,p||this._shouldUpdateLeftRight),this._resized&&(this._shouldUpdateLeftRight=!1,this._resized=!1);const g=this.columns;if(this.forceUpdate(),this.props.onColumnReorder){const d={target:this,columns:g,columnId:e.id,nativeEvent:u};this.props.onColumnReorder.call(void 0,d)}}groupReorder(a,h,u){if(this.props.group===void 0)return;const e=this.props.group.slice();e.splice(h,0,...e.splice(a,1)),this.groupChange(e,u)}columnToGroup(a,h,u){const e=this._columns[a].field;if(!e)return;const t=(this.props.group||[]).slice();t.splice(h,0,{field:e}),this.groupChange(t,u)}columnGroupChange(a,h){const u=this.dragLogic.getCurrentGroupsLength;this.columnToGroup(a,u,h)}resetTableWidth(){let a=0;if(!this.columnResize.colGroupMain)return;const h=this.columnResize.colGroupMain.children;for(let u=0;u<h.length;u++){const e=h[u].width;if(!e)return;a+=parseFloat(e.toString())}a=Math.round(a),this._header&&this._header.setWidth(a),this._footer&&this._footer.setWidth(a),this.tableElement&&(this.tableElement.style.width=a+"px")}initColumns(a,h){const u=c.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),e=this.readColumns(a,u,this._columnsMutations),t=this.filterColumnsByMediaProp(e);this._columns=t,this._columns.length===0&&(this._columns=v.autoGenerateColumns(this.props.data,this.props.group,this.props.expandField,{prevId:0,idPrefix:u})),this.configureColumns(this._columns,h,u),this._columnsMap=this.mapColumns(this._columns,this._columnsMutations),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:this.props.take!==void 0?this.props.take:this.props.pageSize,group:this.props.group}}getArguments(a){return{nativeEvent:a&&a.nativeEvent,syntheticEvent:a,target:this}}};D.displayName="KendoReactGrid",D.defaultProps={},D.propTypes={data:o.oneOfType([o.array,o.shape({data:o.array,total:o.number})]),sortable:o.oneOfType([o.bool,o.shape({mode:o.oneOf(["single","multiple"]),allowUnsort:o.bool})]),onSortChange:o.func,sort:o.array,filterable:o.bool,filter:o.any,onFilterChange:o.func,pageable:o.oneOfType([o.bool,o.shape({buttonCount:o.number,responsive:o.bool,info:o.bool,type:o.oneOf(["numeric","input"]),pageSizes:o.oneOfType([o.bool,o.arrayOf(o.oneOfType([o.string,o.number]))]),previousNext:o.bool})]),pageSize:o.number,onPageChange:o.func,total:o.number,skip:o.number,take:o.number,fixedScroll:o.bool,onExpandChange:o.func,expandField:o.string,selectedField:o.string,onSelectionChange:o.func,onHeaderSelectionChange:o.func,resizable:o.bool,reorderable:o.bool,group:o.any,groupable:o.oneOfType([o.bool,o.shape({enabled:o.bool,footer:o.oneOf(["always","visible","none"])})]),onGroupChange:o.func,onRowClick:o.func,onRowDoubleClick:o.func,onItemChange:o.func,editField:o.string,scrollable:o.oneOf(["none","scrollable","virtual"]),rowHeight:o.number,detailRowHeight:o.number,detail:o.any,style:o.object,onDataStateChange:o.func,onColumnResize:o.func,onColumnReorder:o.func,dataItemKey:o.string,navigatable:o.oneOfType([o.bool,o.shape({mode:o.oneOf(["incell","inline","popup"])})]),size:o.oneOf(["small","medium"])},D.contextType=c.TableKeyboardNavigationContext;let q=D;ce.registerForLocalization(q);exports.Grid=q;
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const xe=require("react"),o=require("prop-types"),n=require("@progress/kendo-react-common"),c=require("@progress/kendo-react-data-tools"),ke=require("./cells/GridSelectionCell.js"),Te=require("./cells/GridHierarchyCell.js"),De=require("./cells/GridEditCell.js"),Ne=require("./header/Header.js"),He=require("./header/HeaderRow.js"),ze=require("./header/FilterRow.js"),Fe=require("./header/GroupPanel.js"),Ae=require("./footer/Footer.js"),ce=require("@progress/kendo-react-intl"),W=require("./messages/index.js"),Ge=require("./VirtualScroll.js"),re=require("./VirtualScrollFixed.js"),Me=require("./drag/ColumnResize.js"),Oe=require("./drag/CommonDragLogic.js"),v=require("./utils/index.js"),Le=require("./cells/GridCell.js"),le=require("./cells/GridGroupCell.js"),Ke=require("./rows/GridRow.js"),Pe=require("./header/GridHeaderSelectionCell.js"),We=require("./GridNoRecords.js"),ne=require("./filterCommon.js"),qe=require("./footer/FooterRow.js"),Ve=require("./paging/GridPagerSettings.js"),he=require("./package-metadata.js"),Ue=require("./cells/GridDetailCell.js"),Be=require("./cells/GridDetailHierarchyCell.js"),je=require("./constants/index.js");function $e(N){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(N){for(const h in N)if(h!=="default"){const u=Object.getOwnPropertyDescriptor(N,h);Object.defineProperty(a,h,u.get?u:{enumerable:!0,get:()=>N[h]})}}return a.default=N,Object.freeze(a)}const r=$e(xe),D=class D extends r.Component{constructor(a){super(a),this._columns=[],this._columnsMap=[[]],this._columnsMutations=0,this._resized=!1,this._focusFirst=!1,this._singleEditRow=!1,this._shouldUpdateLeftRight=!0,this._scrollbarWidth=void 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=r.createRef(),this.headerElementRef=r.createRef(),this._element=null,this.tableElement=null,this.containerRef=r.createRef(),this.tableBodyRef=r.createRef(),this._footer=null,this.forceUpdateTimeout=void 0,this.isRtl=!1,this.headTable=null,this.rowsInEdit=[],this.observer=null,this.handleIntersection=e=>{const t={rowIndex:this.rowIndex};e.forEach(s=>{s.isIntersecting||this.setCurrentOnTop(t)})},this.setCurrentOnTop=e=>{if(!this.vs.container||this.props.scrollable==="none")return;this.observer&&this.observer.disconnect();const{rowIndex:t}=e;if(this.props.scrollable==="virtual")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 s=t<1?this.element.querySelector("tbody > tr:nth-child(1)"):this.element.querySelector(`tbody > tr:nth-child(${t+1})`);s&&this.containerRef.current&&(this.containerRef.current.scrollTop=s.offsetTop)}},this.scrollIntoView=e=>{if(!this.vs.container||this.props.scrollable==="none")return;this.rowIndex=e.rowIndex;const{rowIndex:t}=e,s=this.element;if(this.observer&&s){this.observer.disconnect();const l=s.querySelector(`[absolute-row-index="${t}"]`);l?this.observer.observe(l):this.setCurrentOnTop(e)}},this.fitColumns=e=>{this.columnResize.dblClickHandler(null,e)},this.getColumnsEssentialProps=e=>JSON.stringify(e.map(t=>({id:t.id,field:t.field,title:t.title,children:t.children}))),this.checkMatchMediaColumnsDifferece=()=>{const e=this.childrenToArray(this.props.children);return this.getColumnsEssentialProps(e)===this.getColumnsEssentialProps(this._columns)},this.onContextMenu=(e,t,s)=>{if(this.props.onContextMenu){const l={target:this,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:t,field:s};this.props.onContextMenu.call(void 0,l)}},this.getVirtualScroll=e=>{const{rowHeight:t,detailRowHeight:s,detail:l,expandField:p,groupable:g}=e,d=this.isAllData(),m=t!==void 0&&t>0,R=s!==void 0&&s>0,H=g===!0||typeof g=="object"&&g.enabled!==!1;return!m||H&&!d||!!(l&&p)&&(!R||!d)?Ge.VirtualScroll:re.VirtualScrollFixed},this.isAllData=()=>{const{data:e,total:t}=this.props;return Array.isArray(e)?e.length===t:e?t===e.total:!1},this.initializeVirtualization=(e,t)=>{if(this.reInitVirtualization(this.props.scrollable==="virtual",this.props.total,this.props.filter,this.props.group,this.props.sort,t||this.props.rowHeight===void 0||this.props.rowHeight===0),this.vs.fixedScroll=this.props.fixedScroll||!1,this.vs.PageChange=this.pageChange,this.vs.realSkip=this.props.skip||0,this.vs.pageSize=(this.props.take!==void 0?this.props.take:this.props.pageSize)||0,this.vs.scrollableVirtual=this.props.scrollable==="virtual",this.vs.total=e,this.vs.propsSkip=(this.props.skip||0)+(this.props.scrollable==="virtual"?this.vs.topCacheCount+(this.vs.attendedSkip-(this.props.skip||0)):0),this.props.rowHeight!==void 0&&this.props.rowHeight>0&&!t){const s=this.props.rowHeight*e;this.vs.containerHeight=v.firefox?Math.min(v.firefoxMaxHeight,s):s}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 re.VirtualScrollFixed){const{rowHeight:s=0,detail:l,expandField:p}=this.props;let{detailRowHeight:g=0}=this.props;g=l&&p?g:s,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,s,g,this._data)):this.vs.rowHeightService=new n.RowHeightService(e,s,g);const d=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=v.firefox?Math.min(v.firefoxMaxHeight,d):d}},this.getCachedScrollbarWidth=()=>(this._scrollbarWidth||(this._scrollbarWidth=n.getScrollbarWidth()||void 0),this._scrollbarWidth),this.scrollHandler=e=>{if(e.target!==e.currentTarget)return;clearTimeout(this.forceUpdateTimeout),this.vs.table=this.tableElement;const t=e.currentTarget.scrollLeft,s=e.currentTarget.scrollTop;this.props.columnVirtualization&&(!this.vs.scrollableVirtual||s===this.wrapperScrollTop)&&(this.forceUpdateTimeout=window.setTimeout(()=>{this.forceUpdate()},0)),this._header&&this._header.setScrollLeft(t),this._footer&&this._footer.setScrollLeft(t),this.vs&&s!==this.wrapperScrollTop&&this.vs.scrollHandler(e),n.dispatchEvent(this.props.onScroll,e,this,void 0),this.wrapperScrollTop=s},this.onKeyDown=e=>{if(c.tableKeyboardNavigation.onKeyDown(e,{navigatable:this.props.navigatable||!1,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,onNavigationAction:this.onNavigationAction,columns:this.columns}),this.props.onKeyDown){const{mode:t,cell:s}=c.getSelectionOptions(this.props.selectable),l={dataItems:this.getLeafDataItems(),mode:t,cell:s,componentId:this._gridId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,l)}},this.onFocus=e=>{c.tableKeyboardNavigation.onFocus(e,{navigatable:!!this.props.navigatable,contextStateRef:this.contextStateRef})},this.onNavigationAction=e=>{if(e.action==="moveToNextPage"&&this.moveToNextPage(e.event),e.action==="moveToPrevPage"&&this.moveToPrevPage(e.event),e.focusElement&&e.action==="reorderToRight"){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t<this._columns.length-1&&this.columnReorder(t,t+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t>0&&this.columnReorder(t,t-1,e.event)}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&&e.target.nodeName==="TD"&&this.props.onRowClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.rowDblClick=(e,t)=>{this.props.onRowDoubleClick&&e.target.nodeName==="TD"&&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&&e.field===void 0){const s=this.props.onExpandChange;s&&s.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value});return}t&&t.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,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=this.getSlicedLeafDataItems()[e.startRowIndex],s=this.getSlicedLeafDataItems()[e.endRowIndex],l={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._gridId,dataItems:this.getLeafDataItems(),dataItem:null,startDataItem:t,endDataItem:s,...e};this.props.onSelectionChange.call(void 0,l)}},this.pageChange=(e,t,s)=>{this.raiseDataEvent(this.props.onPageChange,{page:e},{skip:e.skip,take:e.take},t,s)},this.getTotal=()=>{let e=this.props.total||0;return Array.isArray(this.props.data)?e=e||this.props.data.length:this.props.data&&(e=e||this.props.data.total),e},this.moveToNextPage=e=>{const t=this.props.take||0,s=(this.props.skip||0)+t,l=this.getTotal();s<l&&this.pageChange({skip:s,take:t},e)},this.moveToPrevPage=e=>{const t=this.props.take||0,s=(this.props.skip||0)-t;s>=0&&this.pageChange({skip:s,take:t},e)},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,...this.props.scrollable==="virtual"?{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 s=t.nativeEvent?t:{nativeEvent:t.nativeEvent||t.originalEvent};e.length===0&&this.props.navigatable&&(this._focusFirst=!0),this._columnsMutations++,this.raiseDataEvent(this.props.onGroupChange,{group:e},{group:e,skip:0},s)},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||"",...typeof this.props.clipboard!="boolean"?this.props.clipboard:{}})}},this.inActiveElement=()=>{var p,g,d;if(!n.canUseDOM)return!1;const e=n.getActiveElement(this.document),t=e?e.matches(".k-table-td")?e:(p=this.document)==null?void 0:p.body:(g=this.document)==null?void 0:g.body,s=t.closest(".k-grid-container"),l=t&&((d=this._element)==null?void 0:d.contains(t));return!!(t&&l&&s)},this.onResize=(e,t,s,l,p,g)=>{this.resetTableWidth(),this._shouldUpdateLeftRight=!0,this._resized=!0,this._columnsMutations++,this.props.onColumnResize&&this.props.onColumnResize.call(void 0,{columns:this.columns,nativeEvent:l,targetColumnId:g,index:e,newWidth:t,oldWidth:s,end:p,target:this})},this.reInitVirtualization=n.memoizeOne((e,t,s,l,p,g)=>{this.vs.reset();const d=this.getVirtualScroll(this.props);this.vs=new d(g)}),this.flatData=n.memoizeOne((e,t,s,l,p,g,d)=>{const m=[],R=v.flatData(m,e,t,{index:s},l!==void 0,p);return{flattedData:m,resolvedGroupsCount:R}}),this.rowHeightService=n.memoizeOne((e,t,s,l,p)=>new n.RowHeightService(t,s,l,p)),this.childrenToArray=n.memoizeOne(e=>r.Children.toArray(e)),this.readColumns=n.memoizeOne((e,t,s)=>{const l=e.filter(p=>p&&p.type&&p.type.displayName==="KendoReactGridColumn");return v.readColumns(l,this.columns,{prevId:0,idPrefix:t})}),this.mapColumns=n.memoizeOne((e,t)=>c.mapColumns(e,!0)),this.filterColumnsByMediaProp=e=>e.filter(t=>n.canUseDOM&&t&&t.media?window.matchMedia(t.media).matches:t),this.configureColumns=n.memoizeOne((e,t,s)=>{this.props.selectedField&&e.filter(m=>m.field===this.props.selectedField).forEach(m=>{m.width=m.width||"50px",m.cell=m.cell||ke.GridSelectionCell,m.headerCell=m.headerCell||Pe.GridHeaderSelectionCell});const{unstyled:l}=this.props,p=l&&l.uGrid?l.uGrid:n.uGrid,g={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 d=0;this.props.expandField&&this.props.onExpandChange&&this.props.detail&&(e.unshift({...g,cell:Te.GridHierarchyCell,field:this.props.expandField,headerClassName:n.classNames(p.hierarchyCell({}))}),d++);for(let m=0;m<t;m++)e.unshift({...g,isAccessible:!1,cell:le.GridGroupCell,field:"value",locked:this.props.lockGroups}),d++;e.slice(d).forEach(m=>m.parentIndex>=0&&(m.parentIndex+=d))}),this.getHeaderRow=n.memoizeOne((e,t,s,l,p,g,d,m,R,H,E,M,O)=>r.createElement(He.HeaderRow,{cells:this.props.cells,sort:e,sortable:t,sortChange:this.sortChange,group:s||[],groupable:l,groupChange:this.groupChange,filter:p,filterable:g,filterOperators:d,filterChange:this.filterChange,columnMenu:R,columnMenuIcon:H,selectionChange:this.onHeaderSelectionChange,columns:E,columnResize:this.columnResize,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,columnsMap:M,cellRender:m,isRtl:O,dragClue:this.dragLogic.dragClueRef,headerRef:this.headerElementRef,containerRef:this.containerRef,navigatable:!!this.props.navigatable,columnGroupChange:this.columnGroupChange})),this.resolveTitle=e=>{const t=this._columns.find(l=>l.field===e),s=t&&(t.title||t.field);return s===void 0?e:s},this.getLeafDataItems=()=>this._data.filter(e=>e.rowType==="data").map(e=>e.dataItem),this.getSlicedLeafDataItems=()=>(this._slicedData||this._data).filter(e=>e.rowType==="data").map(e=>e.dataItem),this.handleFocusInEditableRows=()=>{var e,t,s;if(this.tableBodyRef.current&&((e=this.tableBodyRef.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){this._singleEditRow=!1,(t=document.activeElement)!=null&&t.closest(".k-grid-edit-row")?this._lastActiveElement=document.activeElement:this._lastActiveElement=void 0;const l=Array.from((s=this.tableBodyRef.current)==null?void 0:s.getElementsByClassName("k-grid-edit-row"));l.length>this.rowsInEdit.length?this._newEditableRow=l.filter(p=>!this.rowsInEdit.includes(p))[0]:l.length===1&&(this._newEditableRow=l[0],this._singleEditRow=!0),this.rowsInEdit=l}},n.validatePackage(he.packageMetadata),this.showLicenseWatermark=n.shouldShowValidationUI(he.packageMetadata);const h=this.props.groupable===!0||typeof this.props.groupable=="object"&&this.props.groupable.enabled!==!1,u=this.getVirtualScroll(a);this.vs=new u(h||a.rowHeight===void 0||a.rowHeight===0),this.dragLogic=new Oe.CommonDragLogic(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnGroupChange=this.columnGroupChange.bind(this),this.columnResize=new Me.ColumnResize(this.onResize),this.props.clipboard&&(this.clipboardService=new c.ClipboardService(this.onClipboard)),c.tableKeyboardNavigation.onConstructor({navigatable:!!a.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,idPrefix:this._gridId})}get columns(){const a=this._columns.filter(h=>h.declarationIndex>=0&&h.parentIndex===-1);return v.sanitizeColumns(a)}get element(){return this._element}get document(){if(n.canUseDOM)return this.element&&this.element.ownerDocument||document}get _header(){return this.headerRef.current}get _gridId(){return this.props.id+"-role-element-id"}componentDidMount(){var u;this.props.columnVirtualization&&!navigator.userAgent.match(je.SAFARI_REGEX)&&(this.headTable&&(this.headTable.style.display="block"),this.tableElement&&(this.tableElement.style.display="block")),this.resetTableWidth(),n.setScrollbarWidth(this.getCachedScrollbarWidth());const a=c.isRtl(this.element);this.isRtl=a,c.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.isRtl&&this.forceUpdate();const h={rootMargin:"0px",threshold:.9};this.clipboardService&&this.clipboardService.addEventListeners(this.document),this.observer=n.canUseDOM&&window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,h)||null,this.resizeObserver=n.canUseDOM&&window.ResizeObserver&&new window.ResizeObserver(this.calculateMedia.bind(this)),(u=this.document)!=null&&u.body&&this.resizeObserver&&this.resizeObserver.observe(this.document.body)}getSnapshotBeforeUpdate(){return c.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(){this.resetTableWidth(),n.setScrollbarWidth(this.getCachedScrollbarWidth()),this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform=""),this.handleFocusInEditableRows(),c.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,focusFirst:this._focusFirst,newEditableRow:this._newEditableRow,singleEditRow:this._singleEditRow,lastActiveElement:this._lastActiveElement,navigatable:this.props.navigatable}),this._focusFirst=!1,this._newEditableRow=void 0}componentWillUnmount(){var a;clearTimeout(this.forceUpdateTimeout),this.clipboardService&&this.clipboardService.removeEventListeners(this.document),(a=this.document)!=null&&a.body&&this.resizeObserver&&this.resizeObserver.disconnect()}render(){var oe;let a=this.props.total||0;const h=c.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),u=ce.provideLocalizationService(this),{unstyled:e,size:t="medium"}=this.props,s=e&&e.uGrid?e.uGrid:n.uGrid;let l=[];Array.isArray(this.props.data)?(l=this.props.data,a=a||this.props.data.length):this.props.data&&(l=this.props.data.data,a=a||this.props.data.total);const p=typeof this.props.groupable=="object"&&this.props.groupable.footer||"none",g=this.props.scrollable==="virtual",{resolvedGroupsCount:d,flattedData:m}=this.flatData(l,p,this.props.skip||0,this.props.group,this.props.expandField,this.props.filter,this.props.sort);this._data=m;const R=this.props.groupable===!0||typeof this.props.groupable=="object"&&this.props.groupable.enabled!==!1;this.columnResize.resizable=this.props.resizable||!1,this.dragLogic.reorderable=this.props.reorderable||!1,this.dragLogic.groupable=R;const H=this.props.selectable&&this.props.selectable.drag?"none":void 0;this.initializeVirtualization(a,R);const E=this.childrenToArray(this.props.children);this.initColumns(E,d);const M=E.map(i=>i&&i.type&&i.type.displayName==="KendoReactGridToolbar"?r.cloneElement(i,{...i.props,ariaControls:this._gridId}):null),O=E.filter(i=>i&&i.type&&i.type.displayName==="KendoReactGridNoRecords"),U=E.filter(i=>i&&i.type&&i.type.displayName==="KendoReactGridStatusBar"),w=this._columns.filter(i=>i.children.length===0),B=R&&r.createElement(Fe.GroupPanel,{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:de,sortable:pe,group:ue,filter:ge,filterable:fe,filterOperators:me=ne.operators,headerCellRender:be,columnMenu:ve,columnMenuIcon:Ce}=this.props,j=r.createElement(Ne.Header,{size:t,columnResize:this.columnResize,staticHeaders:this.props.scrollable!=="none",scrollableDataElement:()=>this.vs.container,hasScrollbarWidth:!!this.getCachedScrollbarWidth(),draggable:this.props.reorderable||R,ref:this.headerRef,elemRef:this.headerElementRef,headerRow:this.getHeaderRow(de,pe,ue,R,ge,fe,me,be,ve,Ce,this._columns,this._columnsMap,this.isRtl),filterRow:this.props.filterable&&r.createElement(ze.FilterRow,{cells:this.props.cells,size:t,columns:this._columns,filter:this.props.filter,filterOperators:this.props.filterOperators||ne.operators,filterChange:this.filterChange,sort:this.props.sort,cellRender:this.props.filterCellRender,isRtl:this.isRtl,navigatable:!!this.props.navigatable,ariaRowIndex:this._columnsMap.length+1})||void 0,cols:w.map((i,b)=>r.createElement("col",{key:b.toString(),width:v.getColumnWidth(i)}))}),Re=this.vs&&this.vs.container&&this.vs.container.scrollLeft||0,ye=parseFloat(((this.props.style||{}).width||"").toString()),{colSpans:we,hiddenColumns:Se}=c.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:w,tableViewPortWidth:ye,scrollLeft:Re}),Ee=(i,b,C,F)=>{let T=!1;const I=this.props.selectedField?v.getNestedValue(this.props.selectedField,i.dataItem):void 0;return{row:w.map((f,y)=>{if(Se[y])return null;const A=f.id?f.id:y,S=n.classNames(s.contentSticky({locked:f.locked}),f.className),_=f.left!==void 0?this.isRtl?{left:f.right,right:f.left}:{left:f.left,right:f.right}:{};let P=!1;if(f.editable&&this.props.editField){const k=v.getNestedValue(this.props.editField,i.dataItem);k&&(k===!0||k===f.field)&&(T=!0,P=!0)}const G=f.cell||P&&De.GridEditCell||Le.GridCell,x=this.props.expandField&&this.props.detail&&f.field===this.props.expandField;return r.createElement(G,{onContextMenu:this.onContextMenu,key:A,locked:this.props.lockGroups,id:c.tableKeyboardNavigationTools.generateNavigatableId(`${b}-${String(y)}`,h,x||i.rowType==="groupHeader"||i.rowType==="groupFooter"||f.field==="value"?"nodata":"cell"),colSpan:we[y],dataItem:i.dataItem,field:f.field,editor:f.editor,format:f.format,className:S,render:this.props.cellRender,cells:v.resolveCells(this.props.cells,f.cells),onChange:this.itemChange,selectionChange:this.props.onSelectionChange?k=>{this.selectionChange({event:k,dataItem:i.dataItem,dataIndex:C,columnIndex:y})}:void 0,columnIndex:y,columnsCount:w.length,rowType:i.rowType,level:i.level,expanded:i.expanded,dataIndex:i.dataIndex,style:_,ariaColumnIndex:f.ariaColumnIndex,isSelected:Array.isArray(I)&&I.indexOf(y)>-1,isSorted:!!v.isSorted(f.field,this.props.sort),isAlt:F})}),isInEdit:T,isSelected:typeof I=="boolean"&&I}};let $=0;if(g)for(let i=0;i<this.vs.topCacheCount+this.vs.attendedSkip-(this.props.skip||0);i++){const b=this._data.shift();if(b)this._data.push(b),$++,b.rowType==="groupHeader"&&i--;else break}const J=i=>i>=this._data.length-$;let X=this.vs.realSkip||0;const L=[];let V=!1;const Y=this._columnsMap.length+(this.props.filterable?1:0)+1;let z=0;if(this._data.length){let i=-1,b=0;(this._slicedData||this._data).forEach((C,F)=>{C.rowType==="data"&&(X++,i++);const T=X%2===0,I=this.props.dataItemKey&&n.getter(this.props.dataItemKey)(C.dataItem),f=F+(this.vs.realSkip||0),y=I||"ai"+f,A=y+"_1",S=Ee(C,y,i,T);if(z=f+Y+b,L.push(r.createElement(Ke.GridRow,{key:y,dataItem:C.dataItem,isAltRow:T,isInEdit:S.isInEdit,rowType:C.rowType,isHidden:J(F),onClick:_=>this.rowClick(_,C),onDoubleClick:_=>this.rowDblClick(_,C),selectedField:this.props.selectedField,rowHeight:this.props.rowHeight,render:this.props.rowRender,ariaRowIndex:z,absoluteRowIndex:f,dataIndex:this.vs.scrollableVirtual&&!this.props.groupable?f:i,isSelected:S.isSelected},S.row)),this.props.detail&&C.rowType==="data"&&C.expanded){const _=w.length-(this.props.expandField?1:0)-(this.props.group?this.props.group.length:0)||1;b++,z=f+Y+b,L.push(r.createElement("tr",{key:A,className:n.classNames(s.detailTr({isAlt:T})),style:{visibility:J(F)?"hidden":"",height:this.props.detailRowHeight},role:"row","aria-rowindex":z},this.props.group&&this.props.group.map((P,G)=>{var ae;const x=(ae=S==null?void 0:S.row[G])==null?void 0:ae.props.style,k=x?this.isRtl?{left:x.right,right:x.left}:{left:x.left,right:x.right}:{};return r.createElement(le.GridGroupCell,{id:"",dataIndex:C.dataIndex,field:P.field,dataItem:C.dataItem,key:G,style:k,ariaColumnIndex:1+G,isSelected:!1,locked:this.props.lockGroups,isRtl:this.isRtl,cells:this.props.cells})}),this.props.expandField&&r.createElement(Be.GridDetailHierarchyCell,{id:c.tableKeyboardNavigationTools.generateNavigatableId(`${A}-dhcell`,h)}),r.createElement(Ue.GridDetailCell,{onContextMenu:this.onContextMenu,dataItem:C.dataItem,dataIndex:C.dataIndex,colSpan:_,ariaColIndex:2+(this.props.group?this.props.group.length:0),detail:this.props.detail,id:c.tableKeyboardNavigationTools.generateNavigatableId(`${A}-dcell`,h)})))}})}else V=!0;const Ie=()=>{const i=this._header;return i&&i.table&&i.table.clientWidth},Q=()=>r.createElement("div",{key:"no-records",className:n.classNames(s.noRecords({})),style:{width:Ie()}},r.createElement("div",{className:n.classNames(s.noRecordsTemplate({})),[c.KEYBOARD_NAV_DATA_ID]:c.tableKeyboardNavigationTools.generateNavigatableId("no-records",h)},O.length?O:r.createElement(We.GridNoRecords,null))),Z={size:t,onPageChange:this.pagerPageChange,total:a,dir:this.isRtl?"rtl":void 0,skip:this.vs.propsSkip||0,take:(this.props.take!==void 0?this.props.take:this.props.pageSize)||10,messagesMap:W.pagerMessagesMap,...Ve.normalize(this.props.pageable||{})},ee=this.props.pager?r.createElement(this.props.pager,{...Z}):r.createElement(c.Pager,{className:n.classNames(s.pager({})),...Z}),_e=(i,b)=>r.createElement("col",{key:b.toString(),width:v.getColumnWidth(i)}),te=(oe=this.props.cells)!=null&&oe.footerCell||this._columns.some(i=>{var b;return!!(i.footerCell||(b=i.cells)!=null&&b.footerCell)})?r.createElement(Ae.Footer,{size:t,columnResize:this.columnResize,staticHeaders:this.props.scrollable!=="none",hasScrollbarWidth:!!this.getCachedScrollbarWidth(),ref:i=>this._footer=i,row:r.createElement(qe.FooterRow,{cells:this.props.cells,idPrefix:h,columns:this._columns,isRtl:this.isRtl,ariaRowIndex:z+1}),cols:w.map(_e)}):null,se=r.createElement("colgroup",{ref:i=>{this.columnResize.colGroupMain=i}},w.map((i,b)=>r.createElement("col",{key:b.toString(),className:v.isSorted(i.field,this.props.sort)?n.classNames(s.sorted({})):void 0,width:v.getColumnWidth(i)}))),ie=this.dragLogic.reorderable||this.dragLogic.groupable;if(this.props.scrollable==="none")return r.createElement(c.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},r.createElement("div",{id:this.props.id,style:this.props.style,className:n.classNames(s.wrapper({size:t}),this.props.className),ref:i=>{this._element=i},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...c.tableKeyboardNavigationScopeAttributes},M,B,r.createElement(c.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:i=>{this.tableElement=i,this.headTable=i}},r.createElement("table",{ref:i=>this.headTable=i,className:n.classNames(s.table({size:t}))},se,j,r.createElement("tbody",{role:"rowgroup",className:n.classNames(s.tbody({})),...c.tableKeyboardNavigationBodyAttributes},L),te)),V&&Q(),ie&&r.createElement(r.Fragment,null,r.createElement(c.DropClue,{ref:this.dragLogic.refDropElementClue}),r.createElement(c.DragClue,{ref:this.dragLogic.refDragElementClue}))),U,this.props.pageable&&ee);let K=this.props.style||{};return g&&(K.height||(K=Object.assign({},K,{height:"450px"}))),r.createElement(c.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},r.createElement("div",{id:this.props.id,style:K,className:n.classNames(s.wrapper({size:t,virtual:g}),this.props.className),ref:i=>{this._element=i},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...c.tableKeyboardNavigationScopeAttributes},M,B,r.createElement("div",{className:n.classNames(s.ariaRoot({})),role:"grid","aria-colcount":w.length,"aria-rowcount":a,id:this._gridId,"aria-label":u.toLanguageString(W.gridAriaLabel,W.messages[W.gridAriaLabel])},j,r.createElement("div",{className:n.classNames(s.container({})),role:"presentation"},r.createElement("div",{ref:this.containerRef,className:n.classNames(s.content({})),onScroll:this.scrollHandler,role:"presentation"},r.createElement("div",{className:n.classNames(s.tableWrap({})),role:"presentation"},r.createElement(c.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:i=>{this.tableElement=i}},r.createElement("table",{ref:i=>this.tableElement=i,className:n.classNames(s.table({size:t})),role:"presentation",style:{userSelect:H}},se,r.createElement("tbody",{className:n.classNames(s.tbody({})),ref:this.tableBodyRef,role:"rowgroup",...c.tableKeyboardNavigationBodyAttributes},L))),V&&Q()),g&&r.createElement("div",{className:n.classNames(s.heightContainer({})),role:"presentation"},r.createElement("div",{style:g?{height:this.vs.containerHeight+"px"}:{}})))),te,ie&&r.createElement(r.Fragment,null,r.createElement(c.DropClue,{ref:this.dragLogic.refDropElementClue}),r.createElement(c.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&r.createElement(n.WatermarkOverlay,null)),U,this.props.pageable&&ee))}calculateMedia(){this.checkMatchMediaColumnsDifferece()||this.forceUpdate()}selectionChange(a){if(this.props.onSelectionChange){const{event:h,dataItem:u,dataIndex:e,columnIndex:t}=a,{mode:s,cell:l}=c.getSelectionOptions(this.props.selectable),p={...this.getArguments(h.syntheticEvent),dataItem:u,startColIndex:t,endColIndex:t,startRowIndex:e,endRowIndex:e,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:s,cell:l,isDrag:!1,componentId:this._gridId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,p)}}raiseDataEvent(a,h,u,e,t){const s=this.props.onDataStateChange;if(a){const l={...this.getArguments(e),...h,targetEvent:t};a.call(void 0,l)}else s&&s.call(void 0,{...this.getArguments(e),targetEvent:t||{},dataState:{...this.getDataState(),...u}})}columnReorder(a,h,u){const e=this._columns[a],t=e.depth,s=d=>{do d++;while(d<this._columns.length&&this._columns[d].depth>t);return d},l=this._columns.splice(a,s(a)-a);this._columns.splice(a<h?s(h-l.length):h,0,...l),this._columns.filter(d=>d.declarationIndex>=0).forEach((d,m)=>d.orderIndex=m),this._columnsMutations++;const p=this._columns[a].locked&&this._columns[h].locked;c.updateLeft(this._columnsMap,this._columns,p||this._shouldUpdateLeftRight),c.updateRight(this._columnsMap,this._columns,p||this._shouldUpdateLeftRight),this._resized&&(this._shouldUpdateLeftRight=!1,this._resized=!1);const g=this.columns;if(this.forceUpdate(),this.props.onColumnReorder){const d={target:this,columns:g,columnId:e.id,nativeEvent:u};this.props.onColumnReorder.call(void 0,d)}}groupReorder(a,h,u){if(this.props.group===void 0)return;const e=this.props.group.slice();e.splice(h,0,...e.splice(a,1)),this.groupChange(e,u)}columnToGroup(a,h,u){const e=this._columns[a].field;if(!e)return;const t=(this.props.group||[]).slice();t.splice(h,0,{field:e}),this.groupChange(t,u)}columnGroupChange(a,h){const u=this.dragLogic.getCurrentGroupsLength;this.columnToGroup(a,u,h)}resetTableWidth(){let a=0;if(!this.columnResize.colGroupMain)return;const h=this.columnResize.colGroupMain.children;for(let u=0;u<h.length;u++){const e=h[u].width;if(!e)return;a+=parseFloat(e.toString())}a=Math.round(a),this._header&&this._header.setWidth(a),this._footer&&this._footer.setWidth(a),this.tableElement&&(this.tableElement.style.width=a+"px")}initColumns(a,h){const u=c.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),e=this.readColumns(a,u,this._columnsMutations),t=this.filterColumnsByMediaProp(e);this._columns=t,this._columns.length===0&&(this._columns=v.autoGenerateColumns(this.props.data,this.props.group,this.props.expandField,{prevId:0,idPrefix:u})),this.configureColumns(this._columns,h,u),this._columnsMap=this.mapColumns(this._columns,this._columnsMutations),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:this.props.take!==void 0?this.props.take:this.props.pageSize,group:this.props.group}}getArguments(a){return{nativeEvent:a&&a.nativeEvent,syntheticEvent:a,target:this}}};D.displayName="KendoReactGrid",D.defaultProps={},D.propTypes={data:o.oneOfType([o.array,o.shape({data:o.array,total:o.number})]),sortable:o.oneOfType([o.bool,o.shape({mode:o.oneOf(["single","multiple"]),allowUnsort:o.bool})]),onSortChange:o.func,sort:o.array,filterable:o.bool,filter:o.any,onFilterChange:o.func,pageable:o.oneOfType([o.bool,o.shape({buttonCount:o.number,responsive:o.bool,info:o.bool,type:o.oneOf(["numeric","input"]),pageSizes:o.oneOfType([o.bool,o.arrayOf(o.oneOfType([o.string,o.number]))]),previousNext:o.bool})]),pageSize:o.number,onPageChange:o.func,total:o.number,skip:o.number,take:o.number,fixedScroll:o.bool,onExpandChange:o.func,expandField:o.string,selectedField:o.string,onSelectionChange:o.func,onHeaderSelectionChange:o.func,resizable:o.bool,reorderable:o.bool,group:o.any,groupable:o.oneOfType([o.bool,o.shape({enabled:o.bool,footer:o.oneOf(["always","visible","none"])})]),onGroupChange:o.func,onRowClick:o.func,onRowDoubleClick:o.func,onItemChange:o.func,editField:o.string,scrollable:o.oneOf(["none","scrollable","virtual"]),rowHeight:o.number,detailRowHeight:o.number,detail:o.any,style:o.object,onDataStateChange:o.func,onColumnResize:o.func,onColumnReorder:o.func,dataItemKey:o.string,navigatable:o.oneOfType([o.bool,o.shape({mode:o.oneOf(["incell","inline","popup"])})]),size:o.oneOf(["small","medium"])},D.contextType=c.TableKeyboardNavigationContext;let q=D;ce.registerForLocalization(q);exports.Grid=q;
|
package/Grid.mjs
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
!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,i,s,o,a,n,l,c,h,d,p,u){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=g(t);const f=e=>null;f.displayName="KendoReactGridColumn";const v={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};function b(e,t){const r=(e||"").split(".");let i=t;return r.forEach((e=>{i=i?i[e]:void 0})),i}function C(e,t,r,i,s,o,a=0){let n=a;for(let l=0;l<t.length;l++){if(!s||void 0===t[l].value||void 0===t[l].items){e[e.length]={dataIndex:i.index,dataItem:t[l],rowType:"data",level:a,expanded:void 0===o||b(o,t[l])},i.index++;continue}n=Math.max(n,a+1);const c=void 0===o||void 0===b(o,t[l])||b(o,t[l]);e[e.length]={dataIndex:-1,dataItem:t[l],level:a,rowType:"groupHeader",expanded:c},c&&(n=Math.max(C(e,t[l].items,r,i,s,o,a+1),n)),("always"===r||c&&"visible"===r)&&(e[e.length]={dataIndex:-1,dataItem:t[l],rowType:"groupFooter",level:a,expanded:c})}return n}function x(e,t,r,i=0){let o=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.filter((e=>e&&e.props?!e.props.hidden:!e.hidden)).forEach(((e,a)=>{e=e.props?e.props:e;const n=t[a]||null,l=x(e.children,n&&n.children||[],r,i+1);o.push(Object.assign({depth:i},v,l.length?{cell:()=>null,filterCell:()=>null}:{},n?{width:n.width,orderIndex:n.orderIndex}:{},e,{id:e.id?e.id:s.tableKeyboardNavigationTools.generateNavigatableId(""+r.prevId++,r.idPrefix,"column"),declarationIndex:o.length,children:l,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===i){let e=[];const t=(r,i)=>r.forEach((r=>{r.parentIndex=i,t(r.children,e.push(r)-1)}));return t(o,-1),e}return o}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,menuIcon:r.any,locked:r.bool,hidden:r.bool,media:r.string};const E=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,k=(e,t)=>t&&t.filter((t=>t.field===e)).length>0,y=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:t,parentIndex:r,depth:i,colSpan:s,rowSpan:o,index:a,kFirst:n,children:l,...c}=e;return l.length?{children:y(l),...c}:c}))),I="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),S=17895697,w=(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},R="grid.noRecords",N="grid.pagerInfo",T="grid.pagerFirstPage",D="grid.pagerPreviousPage",G="grid.pagerNextPage",M="grid.pagerLastPage",L="grid.pagerItemsPerPage",F="grid.groupPanelEmpty",O="grid.groupColumn",z="grid.ungroupColumn",_="grid.columnMenu",H="grid.filterApplyButton",P="grid.filterClearButton",A="grid.filterResetButton",K="grid.filterSubmitButton",W="grid.filterTitle",B="grid.sortAscending",V="grid.sortDescending",U="grid.searchPlaceholder",q="grid.filterCheckAll",j="grid.filterChooseOperator",$="grid.filterSelectAll",X="grid.filterSelectedItems",Y="grid.sortAriaLabel",J="grid.filterAriaLabel",Q="grid.groupPanelAriaLabel",Z="grid.groupExpand",ee="grid.groupCollapse",te="grid.detailExpand",re="grid.detailCollapse",ie="grid.selectRow",se="grid.gridAriaLabel",oe={[te]:"Expand detail row",[re]:"Collapse detail row",[Z]:"Expand group",[ee]:"Collapse Group",[R]:"No records available",[F]:"Drag a column header and drop it here to group by that column",[H]:"Apply",[P]:"Clear",[A]:"Reset",[K]:"Filter",[W]:"Filter",[B]:"Sort Ascending",[V]:"Sort Descending",[Y]:"Sortable",[O]:"Group Column",[z]:"Ungroup Column",[_]:"Column menu",[L]:"items per page",[N]:"{0} - {1} of {2} items",[T]:"Go to the first page",[D]:"Go to the previous page",[G]:"Go to the next page",[M]:"Go to the last page","grid.pagerPage":"Page","grid.pagerPageSizeAriaLabel":"Page size","grid.pagerOf":"of","grid.pagerTotalPages":"{0}",[U]:"Search",[q]:"Check All",[j]:"Choose Operator",[X]:"selected items",[$]:"Select All",[J]:"Filter",[Q]:"Group panel",[se]:"Table",[ie]:"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 ae(e){const t=e.replace(/^pager\.([a-z])/,((e,t)=>"grid.pager"+t.toUpperCase()));return{messageKey:t,defaultMessage:oe[t]}}const ne=e=>{const{selectionChange:t,field:r,dataItem:a,id:n,className:l,colSpan:c,style:h,ariaColumnIndex:d,rowType:p,cells:u,render:g}=e,f=o.useLocalization(),v=m.useCallback((e=>{t&&t({syntheticEvent:e})}),[t]),C=i.useId(),x=b(r,a),E=s.useTableKeyboardNavigation(n),k={colSpan:c,style:h,className:i.classNames("k-table-td",l),"aria-colindex":d,role:"gridcell",...E},y="boolean"==typeof x&&x,I=m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{id:C,tabIndex:-1,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":f.toLanguageString(ie,oe[ie]),"aria-checked":y,checked:y,onChange:v})),S="groupHeader"!==p?m.createElement("td",{...k},I):null,w=p||"data",R=u;if(R&&R.select&&R.select[w]){const t=R.select[w];return m.createElement(t,{...e,tdProps:k},I)}return g?g.call(void 0,S,e):S},le=e=>{let t=null,r=null,n=null;const l=b(e.field,e.dataItem),c=s.useTableKeyboardNavigation(e.id),h=o.useLocalization(),d=m.useCallback((t=>{t.isDefaultPrevented()||t.keyCode===i.Keys.enter&&e.onChange&&(t.preventDefault(),e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!l}))}),[e.dataItem,e.dataIndex,e.field,e.onChange,l]);if("groupFooter"===e.rowType)r={className:"k-table-td k-hierarchy-cell",role:"gridcell",...c},t=m.createElement("td",{...r});else if("groupHeader"!==e.rowType){const s=l?re:te,o=h.toLanguageString(s,oe[s]);r={className:"k-table-td k-hierarchy-cell",onKeyDown:d,"aria-expanded":!!l,role:"gridcell","aria-colindex":e.ariaColumnIndex,...c},n=m.createElement("a",{onClick:t=>{t.preventDefault(),e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!l})},"aria-label":o,href:"#",tabIndex:-1},m.createElement(i.IconWrap,{name:l?"minus":"plus",icon:l?a.minusIcon:a.plusIcon})),t=m.createElement("td",{...r},n)}const p=e.rowType||"data",u=e.cells;if(u&&u.hierarchy&&u.hierarchy[p]){const t=u.hierarchy[p];return m.createElement(t,{...e,tdProps:r},n)}return e.render?e.render.call(void 0,t,e):t},ce=s.TABLE_ROW_INDEX_ATTRIBUTE,he=s.TABLE_COL_INDEX_ATTRIBUTE,de=s.TABLE_PREVENT_SELECTION_ELEMENT,pe=/^(?!.*\bChrome).*\bSafari/i,ue=e=>{const t=b(e.field,e.dataItem),r=i.useUnstyled(),o=r&&r.uGrid?r.uGrid:i.uGrid;let a=null;const c=i.classNames(o.editTd({selected:e.isSelected}),e.className),h=i.useId(),d=s.useTableKeyboardNavigation(e.id);let p=null,u=null;const g=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]),f=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),v=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:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[he]:e.columnIndex,role:"gridcell",...d},u=m.createElement(n.NumericTextBox,{value:void 0===t?null:t,onChange:v,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),a=m.createElement("td",{...p},u);break;case"date":p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[he]:e.columnIndex,role:"gridcell",...d},u=m.createElement(l.DatePicker,{value:t,onChange:v,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),a=m.createElement("td",{...p},u);break;case"boolean":p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[he]:e.columnIndex,role:"gridcell",...d},u=[m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{checked:t||!1,id:h,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:g})),m.createElement("label",{className:"k-checkbox-label",htmlFor:h,key:2})],a=m.createElement("td",{...p},u);break;default:p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[he]:e.columnIndex,role:"gridcell",...d},u=m.createElement("input",{style:{width:"100%"},className:"k-input",value:t||"",onChange:g,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),a=m.createElement("td",{...p},u)}const C=e.editor||"text",x=e.cells;if(x){let t;return x.edit&&x.edit[C]?t=x.edit[C]:x.data&&(t=x.data),m.createElement(t,{...e,tdProps:p},u)}return e.render?e.render.call(void 0,a,e):a};let ge=class extends m.Component{constructor(){super(...arguments),this.headerWrap=null,this.table=null,this.syncScroll=!1,this.scrollbarWidth=i.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=s.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(){const e=this.context&&this.context.uGrid?this.context.uGrid:i.uGrid,{size:t="md"}=this.props;return this.props.staticHeaders?m.createElement("div",{ref:this.props.elemRef,className:i.classNames(e.header({draggable:this.props.draggable}),this.props.className),role:"presentation"},m.createElement("div",{ref:e=>{this.headerWrap=e},className:i.classNames(e.headerWrap({})),style:this.props.hasScrollbarWidth?{}:{borderWidth:0},onScroll:this.onScroll,role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:i.classNames(e.headerTable({size:t}),this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupHeader=e}},this.props.cols),m.createElement("thead",{className:i.classNames(e.tableThead({})),role:"rowgroup",...s.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)))):m.createElement("thead",{role:"presentation",className:i.classNames(e.thead({draggable:this.props.draggable}),this.props.className),...s.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}};const me=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);let fe=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(){const e=this.context&&this.context.uGrid?this.context.uGrid:i.uGrid;return m.createElement(i.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:i.classNames(e.simpleTr({})),style:{touchAction:"none"},role:"row","aria-rowindex":this.props.ariaRowIndex},this.props.children))}};fe.contextType=i.UnstyledContext;const ve=[".k-columnmenu-item-content",".k-filter-menu-container"].map((e=>i.TABBABLE_ELEMENTS.map((t=>`${e} ${t}`)))),be=[[".k-tabstrip-items"],[".k-columnmenu-item"],...ve],Ce=e=>{const[t,r]=m.useState(!1),s=m.useRef(null),n=m.useRef(null),l=m.useRef(null),h=m.useRef(0),{columnMenu:d,...p}=e,{column:u,columnMenuIcon:g,navigatable:f}=e,v=o.useLocalization(),b=u.title||u.field,C=b?`${b} `:"",x=()=>{e.onCloseMenu&&e.onCloseMenu(),r(!1),!e.navigatable&&s.current&&s.current.focus()},E=m.useMemo((()=>void 0!==e.show?e.show:t),[e.show,t]),k=(e,t,r)=>{r.preventDefault(),r.shiftKey?t.focusPrevious(e):t.focusNext(e)},y=(e,t,r)=>{e&&e.click()},I=(e,t,r)=>{r.preventDefault(),x()},S=(e,t,r)=>{r.preventDefault(),t.focusElement(e)};return m.useEffect((()=>(E&&n.current&&(l.current=new i.Navigation({tabIndex:0,root:n,selectors:be,keyboardEvents:{keydown:{Tab:k,Enter:y,Escape:I}},mouseEvents:{mousedown:S}}),l.current.focusElement(l.current.first,null)),()=>{l.current&&(l.current=null)})),[E]),m.createElement(m.Fragment,null,m.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:s,onClick:i=>{i.preventDefault(),t&&e.onCloseMenu&&e.onCloseMenu(),r(!t)},onKeyDown:e=>{var t;if(e.keyCode===i.Keys.tab){const r=e.target,i=r&&(null==(t=r.closest(".k-grid"))?void 0:t.getElementsByClassName("k-grid-content")[0]);i&&i.scrollWidth>i.clientWidth&&r.scrollIntoView({inline:"center"})}},href:"#",tabIndex:f?-1:void 0,"aria-label":`${f?"":C}${v.toLanguageString(_,oe[_])}`},g?m.createElement(i.IconWrap,{name:g.name,icon:g}):m.createElement(i.IconWrap,{name:"more-vertical",icon:a.moreVerticalIcon})),m.createElement(c.Popup,{anchor:s.current,show:E,popupClass:"k-column-menu k-column-menu-popup k-grid-columnmenu-popup",onMouseDownOutside:e=>{!e.isAnchorClicked&&r(!1)}},m.createElement("div",{ref:n,onBlur:e=>{const t=i.getActiveElement(document);clearTimeout(h.current),h.current=window.setTimeout((()=>{t&&e.relatedTarget!==s.current&&n.current&&!n.current.contains(t)&&x()}))},onFocus:()=>{clearTimeout(h.current)},onMouseDown:e=>{var t;null==(t=l.current)||t.triggerMouseEvent(e)},onKeyDown:e=>{var t;null==(t=l.current)||t.triggerKeyboardEvent(e)},style:{outline:"none"}},d&&m.createElement(d,{...p,onCloseMenu:x}))))},xe=e=>{const t=i.useUnstyled(),r=t&&t.uGrid?t.uGrid:i.uGrid,{columnMenuWrapperProps:s}=e,o=e.onClick?{onClick:e.onClick}:{},a=m.createElement("span",{className:i.classNames(r.headerCellInner({}))},m.createElement("span",{className:i.classNames(r.headerCellLink({sortable:e.columnMenuWrapperProps.sortable})),...o},m.createElement("span",{className:i.classNames(r.columnTitle({}))},e.title||e.field||" "),e.children),s.columnMenu&&m.createElement(Ce,{...s}));return e.render?e.render.call(void 0,a,e):a},Ee={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ke={none:"none",asc:"ascending",desc:"descending"},ye=e=>{const[t,r]=m.useState(),n=o.useLocalization(),l=i.useUnstyled(),c=l&&l.uGrid?l.uGrid:i.uGrid,h=m.useRef(null);let d=0,p=-1;const u=(t,r)=>{if(t.preventDefault(),!e.sortChange)return;const{allowUnsort:i,mode:s}=me(e.sortable||!1,r.sortable||!1),o=(e.sort||[]).filter((e=>e.field===r.field))[0],a=Ee[i][o&&o.dir||""],n="single"===s?[]:(e.sort||[]).filter((e=>e.field!==r.field));""!==a&&r.field&&n.push({field:r.field,dir:a}),e.sortChange(n,t)},g=()=>{r(void 0),h.current&&"-1"!==h.current.getAttribute("tabindex")&&h.current.focus()},f=t=>{if(!e.sort)return null;const r=i.classNames(c.sortIcon({}));return t>=0&&[m.createElement("span",{key:1,className:r},m.createElement(i.IconWrap,{name:"sort-"+e.sort[t].dir+"-small",icon:"asc"===e.sort[t].dir?a.sortAscSmallIcon:a.sortDescSmallIcon})),e.sort.length>1&&m.createElement("span",{key:2,className:r},m.createElement("span",{className:i.classNames(c.sortOrder({}))},t+1))]},v=o=>o.map((o=>{const a=e.columns[o],l=e.sortable&&a.sortable,v=e.sort?e.sort.findIndex((e=>e.field===a.field)):-1,b=v>=0&&e.sort[v].dir||"none",C=null===a.columnMenu?null:a.columnMenu||e.columnMenu,x=a.menuIcon||e.columnMenuIcon,E=i.classNames(i.classNames(c.headerTh({first:a.kFirst,filterable:!!C,locked:a.locked,sorted:e.sort&&e.sort.some((e=>e.field===a.field))})),a.headerClassName);!1===a.locked&&(a.left=0);const k=void 0!==a.left?e.isRtl?{left:a.right,right:a.left}:{left:a.left,right:a.right}:{},y=n.toLanguageString(Y,oe[Y]),I=a.isAccessible?{ariaSort:ke[b],role:"columnheader",ariaColumnIndex:a.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?y:""}:{role:"presentation"},S=a.declarationIndex>=0?++p:--d,R=a.headerCell?a.headerCell:xe,N=m.createElement(R,{key:1,field:a.field,onClick:l&&(e=>u(e,a))||void 0,selectionChange:e.selectionChange,title:a.title,selectionValue:a.headerSelectionValue,render:e.cellRender,children:f(v),columnMenuWrapperProps:{column:{field:a.field,title:a.title,locked:a.locked,filter:a.filter,id:a.id},sortable:l&&e.sortable,sort:e.sort,onSortChange:e.sortChange,filter:e.filter,filterable:e.filterable&&a.filterable,filterOperators:e.filterOperators,onFilterChange:e.filterChange,show:t===a.field||void 0,onCloseMenu:g,navigatable:e.navigatable,group:e.group,groupable:e.groupable,onGroupChange:e.groupChange,columnMenu:C,columnMenuIcon:x}}),T={...I,key:S,colSpan:a.colSpan,rowSpan:a.rowSpan,className:E,style:k,columnId:a.id,navigatable:a.navigatable,onKeyDown:t=>((t,s)=>{if(t.isDefaultPrevented())return;const{keyCode:o,metaKey:a,ctrlKey:n,altKey:l}=t,c=e.sortable&&s.sortable,d=t.target;if(c&&t.keyCode===i.Keys.enter&&-1!==d.className.indexOf("k-table-th")&&u(t,s),e.navigatable){if(e.groupable&&(a&&o===i.Keys.enter||n&&o===i.Keys.space)){t.preventDefault();const r=e.columns.findIndex((e=>e.field===s.field));e.columnGroupChange&&e.columnGroupChange(r,t)}l&&o===i.Keys.down&&(t.preventDefault(),r(s.field),h.current=d)}})(t,a),role:"columnheader"},D=[N,e.columnResize&&e.columnResize.resizable&&a.resizable&&m.createElement(s.ColumnResizer,{key:2,resize:(t,r,i)=>e.columnResize&&e.columnResize.dragHandler(t,a,r,i),autofit:t=>e.columnResize&&e.columnResize.dblClickHandler(t,[a.id])})],G=w(e.cells,a.cells);if(G&&G.headerCell){const e=G.headerCell;return m.createElement(e,{...N.props,key:S,thProps:T,index:o},D)}return m.createElement(s.HeaderThElement,{...T,key:S},D)}));return e.columnsMap.map(((t,r)=>e.pressHandler&&m.createElement(fe,{key:r,pressHandler:e.pressHandler,dragHandler:e.dragHandler,releaseHandler:e.releaseHandler,ariaRowIndex:r+1,dragClue:e.dragClue,headerRef:e.headerRef,containerRef:e.containerRef},v(t))||m.createElement("tr",{key:r,className:i.classNames(c.simpletr({})),role:"row","aria-rowindex":r+1},v(t))))},Ie=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Se={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"}]},we=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Re=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,oe[e.text]),operator:e.operator}))),Ne=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Te={text:!1,numeric:!1,date:!1,boolean:!0},De=(e,t,r)=>{const i=Ge(r.operators);let s=r.operator;switch(r.filterType){case"numeric":case"date":(!s||we(s))&&(s=i),null===e&&s===i&&(s="");break;case"text":(!s||we(s))&&(s=i),!e&&s===i&&(s="");break;default:return}r.onChange({value:e,operator:s,syntheticEvent:t})},Ge=(e,t)=>t?e[t][0].operator:e[0].operator,Me=e=>e||"text",Le=(e,t)=>{const r=e.target.value;t({value:r.operator,operator:""===r.operator?"":"eq",syntheticEvent:e.syntheticEvent})},Fe=(e,t,r)=>{let i=t;const s=e.target.value;e.target.state.opened&&(we(s.operator)&&(i=null),null===t&&!we(s.operator)&&(i=void 0),r({value:i,operator:s.operator,syntheticEvent:e.syntheticEvent}))};let Oe=class extends m.Component{constructor(e){super(e),this._inputRef=m.createRef(),this.renderOperatorEditor=e=>{if("boolean"===this.props.filterType)return;let t;const r=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(d.DropDownList,{ref:e=>t=e,size:this.props.size,value:r,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter k-icon",svgIcon:a.filterIcon,data:this.props.operators,textField:"text",title:e.toLanguageString(j,oe[j]),popupSettings:{width:"",onMouseDownOutside:function(e){!e.isAnchorClicked&&e.state&&e.state.props.show&&t&&t.togglePopup()}}})},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(h.Button,{size:this.props.size,icon:"filter-clear",svgIcon:a.filterClearIcon,className:i.classNames({"k-clear-button-visible":!!(null!==this.props.value&&""!==this.props.value||this.props.operator)}),title:e.toLanguageString(P,oe[P]),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){De(e,t,this.props)}operatorChange(e){Fe(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Le(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(l.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,popupSettings:{onMouseDownOutside:e=>{!e.isAnchorClicked&&e.state&&e.state.props.show&&this._inputRef&&this._inputRef.current.togglePopup()}}});case"boolean":{const e=e=>null==e;return m.createElement(d.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,popupSettings:{onMouseDownOutside:e=>{!e.isAnchorClicked&&e.state&&e.state.props.show&&this._inputRef&&this._inputRef.current.togglePopup()}}})}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(Oe);let ze=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,i){if(!this.props.filterChange)return;const s=[];(""!==e&&null!==e||""!==t)&&s.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&&s.push(t)}));const o=this.props.filter&&this.props.filter.logic?this.props.filter.logic:"and";this.props.filterChange(s.length>0?{logic:o,filters:s}:null,i)}render(){const e=o.provideLocalizationService(this),t=this.props.filter&&this.props.filter.filters||[];let r=0,a=-1;const n=this.props.columns.filter((e=>0===e.children.length)).map((o=>{const n=Me(o.filter),l=(e=>{if(void 0===e)return;const r=t.filter((t=>t.field===e));return r.length?r[0]:void 0})(o.field),c=o.filterable?e.toLanguageString(J,oe[J]):void 0;let h=l&&l.value;void 0===h&&(h="text"===n?"":null);const d=o.filterable&&{render:this.props.cellRender,field:o.field,title:o.filterTitle,value:h,operator:l&&l.operator,operators:Re(this.props.filterOperators[n]||[],e),booleanValues:Re(Ne,e),filterType:n,ariaLabel:c,onChange:e=>{this.setFilter(e.value,e.operator,o.field,e.syntheticEvent)}},p=o.declarationIndex>=0?++a:--r,u={ariaLabel:c,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:s.tableKeyboardNavigationTools.getFilterColumnId(o.id),navigatable:o.navigatable||this.props.navigatable,style:g,className:i.classNames("k-table-th",this.headerCellClassName(o.field,o.locked)||void 0),role:"columnheader",...u},v=d&&(o.filterCell?m.createElement(o.filterCell,{...d}):m.createElement(Oe,{size:this.props.size,...d})),b=w(this.props.cells,o.cells);if(b&&b.filterCell){const e=b.filterCell;return m.createElement(e,{key:p,...d,thProps:f,index:a},v)}return m.createElement(s.HeaderThElement,{key:p,...f},v)}));return m.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},n)}};o.registerForLocalization(ze);class _e 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.handleKeyDown=e=>{(e.keyCode===i.Keys.delete||e.keyCode===i.Keys.backspace)&&(e.preventDefault(),e.stopPropagation(),this.props.onRemove&&this.props.onRemove(e))},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(i.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,onKeyDown:this.handleKeyDown,tabIndex:0,role:"button",style:{touchAction:"none"}},m.createElement("span",null,m.createElement(i.IconWrap,{name:"sort-"+e+"-small",icon:"asc"===e?a.sortAscSmallIcon:a.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(i.IconWrap,{name:"x-circle",icon:a.xCircleIcon,size:"small"})))))}}o.registerForLocalization(_e);class He 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,i)=>{const s=Object.assign({},r,{dir:i}),o=this.props.group.slice();o.splice(t,1,s),this.props.groupChange(o,e)}}render(){const e=(this.props.group||[]).map(((e,t)=>m.createElement(_e,{key:t,index:t,dir:e.dir||"asc",title:this.props.resolveTitle(e.field),onRemove:e=>{this.onGroupRemove(e,t)},onSortChange:(r,i)=>{this.onGroupSortChange(r,t,e,i)},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(Q,oe[Q]),"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(F,oe[F])," "))}}o.registerForLocalization(He);let Pe=class extends m.Component{constructor(){super(...arguments),this.footerWrap=null,this.table=null}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.props.hasScrollbarWidth?{}:{borderWidth:0},role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:i.classNames("k-table k-grid-footer-table",{"k-table-md":!this.props.size,[`k-table-${i.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)}},Ae=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,i=Math.ceil(r/e[0].line),s=Math.ceil((e.length-i)/2);let o=0;for(let t=0;t<s;t++)o+=e[t].line+e[t].acc;return{topItemsCount:s,topItemsHeight:o,itemsNeededOnScreen:i+i/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 i=0;i<t.length;i++)t[i].className.indexOf("k-grouping-row")>-1?r+=t[i].scrollHeight:t[i].className.indexOf("k-detail-row")>-1?e[e.length-1].line+=t[i].scrollHeight:(e.push({line:t[i].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 i=this.tableTranslate,s=0;const{topItemsCount:o,topItemsHeight:a,itemsNeededOnScreen:n}=this.topItems(t,!!this.topCacheCount),l=r-i;if(!(l>a||t.length<=n)){for(;s<this.topCacheCount+this.attendedSkip-this.realSkip+o&&this.propsSkip-s>0&&!(i+(t[t.length-1-s].line+t[t.length-1-s].acc)+l<=r);)i-=t[t.length-1-s].line+t[t.length-1-s].acc,s++;if(0===s&&0===this.topCacheCount&&this.attendedSkip>0&&(i=Math.max(i-t[0].line,0),s=1),this.propsSkip-s<=0&&i>r)return this.translate(0),this.changePage(0,e),void(this.container.scrollTop=0);if(i>r&&(i=r),i!==this.tableTranslate){this.translate(Math.max(0,i-a));const t=Math.max(0,this.propsSkip-s-o);this.changePage(t,e)}}}localScrollDown(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let i=this.tableTranslate,s=0;const{topItemsCount:o,topItemsHeight:a,itemsNeededOnScreen:n}=this.topItems(t,!!this.topCacheCount);for(;s<t.length-this.topCacheCount&&!(i+t[s].line+t[s].acc>r);)i+=t[s].line+t[s].acc,s++;o>this.propsSkip+s||t.length<=n||(s>=t.length-this.topCacheCount&&this.propsSkip+s>=this.total?(this.translate(i-a),this.changePage(this.total-1-o,e)):i!==this.tableTranslate&&this.propsSkip+s-o!==this.propsSkip&&(this.translate(i-a),this.changePage(this.propsSkip+s-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 i=Math.min(t-r,1);let s=0;const o=r-this.propsSkip,a=this.rowHeights;o>=0&&o<=1?s=-(a[0].line+a[0].acc)*i:-1===o&&(s=-(a[a.length-1].line+a[a.length-1].acc)*i);const{topItemsCount:n,topItemsHeight:l}=this.topItems(a,!!this.topCacheCount);this.translate(Math.max(0,s-l-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}},Ke=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&&(I||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,i=!r;this.lastScrollTop=t;let s=this.rowHeightService.index(t),o=this.rowHeightService.offset(s);const{offsetHeight:a}=this.containerRef.current,n=this.rowHeightService.index(t+a);if(i&&n>=this.lastLoaded&&this.lastLoaded<this.total){const t=s+this.pageSize-this.total;t>0&&(s-=t,o=this.rowHeightService.offset(s)),this.firstLoaded=s,this.translate(o);const r=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(r,this.total),this.changePage(this.firstLoaded,e)}else if(r&&s<this.firstLoaded){const t=Math.floor(.3*this.pageSize);this.firstLoaded=Math.max(s-t,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,e)}}},We=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.dragHandler=(e,t,r,i)=>{const s=e.originalEvent;i||(s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation());const o=r.closest("th");if(!o||!o)return;const a=o.clientWidth;let n=a;if(this.isRtl?n+=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX:n+=e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!i&&Math.abs(n-a)<1)return;this.fixateInitialWidths(o.parentElement.clientWidth),this.setWidths(t,Math.floor(n)/a);const l=this.columns.filter((e=>!e.children.length)).findIndex((e=>e.id===t.id));this.onResize(l,a,n,s,i,t.id)},this.dblClickHandler=(e,t)=>{const r=this.columns.filter((e=>t.indexOf(e.id)>-1));if(!this.colGroupMain||!r.length)return;const i={},s=r;for(;s.length>0;){const e=s.pop();if(!e)break;e.children.length?s.push(...e.children):i[e.id]=e}const o=this.columns.filter((e=>!e.children.length)),a=[];o.forEach(((e,t)=>{i[e.id]&&a.push(t)}));const n=[this.colGroupMain.parentElement],l=[this.colGroupMain];this.colGroupHeader&&(n.push(this.colGroupHeader.parentElement),l.push(this.colGroupHeader)),this.colGroupFooter&&(n.push(this.colGroupFooter.parentElement),l.push(this.colGroupFooter)),n.forEach((e=>e.classList.add("k-autofitting")));let c=[];l.forEach((e=>{a.forEach((t=>{e.children[t]&&(e.children[t].width="",c[t]=Math.max(c[t]||0,e.children[t].offsetWidth+1))}))})),l.forEach((e=>{a.forEach((t=>{e.children[t]&&(e.children[t].width=c[t]+"px",o[t].width=c[t])}))})),n.forEach((e=>e.classList.remove("k-autofitting"))),this.onResize(a[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 i=0;i<e.length;i++){const s=e[i],o=t.findIndex((e=>e.id===s.id)),a=parseFloat((s.width||0).toString()),n=Math.floor(a);r+=a-n;const l=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=l+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,s,e-l)}if(this.colGroupHeader&&this.colGroupHeader.children[o]){const e=parseInt(this.colGroupHeader.children[o].width,10);this.colGroupHeader.children[o].width=l+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,s,e-l)}if(this.colGroupFooter&&this.colGroupFooter.children[o]){const e=parseInt(this.colGroupFooter.children[o].width,10);this.colGroupFooter.children[o].width=l+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,s,e-l)}}},this.onResize=e}fixateInitialWidths(e){const t=this.columns.filter((e=>!e.children.length));let r=0,i=this.colGroupMain?this.colGroupMain.children:[];for(let t=0;t<i.length;t++)i[t].width?e-=parseFloat(i[t].width):r++;if(0===r)return;const s=Math.floor(e/r);for(let e=0;e<i.length;e++){const r=i[e];r.width||(r.width=s,t[e].width=s.toString(),this.colGroupHeader&&(this.colGroupHeader.children[e].width=s),this.colGroupFooter&&(this.colGroupFooter.children[e].width=s))}}setWidths(e,t){const r=this.columns.findIndex((t=>t.id===e.id)),i=[];let s=e.children.length;for(let e=r+1;s>0&&e<this.columns.length;e++,s--){const t=this.columns[e];t.children.length?s+=t.children.length:i.push(t)}return 0===i.length&&i.push(e),i.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const i=void 0===e.minResizableWidth?10:e.minResizableWidth;r<i&&(r=i),e.width=r})),this.updateColElements(i),i}updateNextLockedCol(e,t,r){const i=t.index,s=this.colGroupMain.parentElement.closest(".k-grid"),o=null==s?void 0:s.clientWidth,a=this.columns.filter((e=>e.locked)).map((e=>parseInt(e.width+"",10))).reduce(((e,t)=>e+t),0);!t.locked||o<=a+20||this.columns.forEach((t=>{if(null!=t&&t.locked&&r){const s=null==e?void 0:e.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');null==s||s.forEach((e=>{const s=e.style;this.isRtl?(t.index>i&&s&&s.right&&(s.right=parseInt(s.right,10)-r+"px"),t.index<i&&s&&s.left&&(s.left=parseInt(s.left,10)-r+"px")):(t.index>i&&s&&s.left&&(s.left=parseInt(s.left,10)-r+"px"),t.index<i&&s&&s.right&&(s.right=parseInt(s.right,10)-r+"px"))}))}}))}},Be=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 i=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,i,r),this.updateDropElementClue(e,t,i,r)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,i=this.startGroup,s=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):i>=0&&s>=0?this.groupReorder(i,s,e.originalEvent):t>=0&&s>=0&&this.columnToGroup(t,s,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=s.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 s.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,i){if(!this.dragElementClue)return;const s=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:s,status:i||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,i){if(!this.dropElementClue)return;if(i||!r)return void this.dropElementClue.setState({visible:!1});const s=r.getBoundingClientRect(),o=(r.closest(".k-grouping-header")||r).getBoundingClientRect();let a=s.left+e.pageX-e.clientX-6;!this.isTargetGroupingContainer(e)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(a+=s.width);const n=o.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:n,left:a,height:this.currentColumn>=0?t.clientHeight:o.height})}};const Ve=e=>{let t=null;const r=o.useInternationalization(),a=i.useUnstyled(),n=a&&a.uGrid?a.uGrid:i.uGrid,l=s.useTableKeyboardNavigation(e.id),c=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]);let h=null,d=null;if("groupFooter"===e.rowType)h={onContextMenu:c,className:e.className,...l},t=m.createElement("td",{...h});else if("groupHeader"!==e.rowType){if(void 0!==e.field){const t=b(e.field,e.dataItem);null!=t&&(d=e.format?r.format(e.format,t):t.toString())}const s=i.classNames(n.td({selected:e.isSelected,sorted:e.isSorted,alt:e.isAlt}),e.className);h={onContextMenu:c,colSpan:e.colSpan,style:e.style,className:s,role:"gridcell","aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[he]:e.columnIndex,...l},t=m.createElement("td",{...h},d)}const p=e.rowType||"data",u=e.cells;if(u&&u[p]){const t=u[p];return m.createElement(t,{...e,tdProps:h},d)}return e.render?e.render.call(void 0,t,e):t},Ue=e=>{let t=null;const{columnIndex:r,level:n,columnsCount:l,rowType:c,dataItem:h,field:d,onChange:p,expanded:u,render:g,dataIndex:f,ariaColumnIndex:v,isRtl:b}=e,C=d||"",x=s.useTableKeyboardNavigation(e.id),E=o.useLocalization();let k=null,y=null,I=null;const S=m.useCallback((e=>{e.isDefaultPrevented()||e.keyCode===i.Keys.enter&&p&&(e.preventDefault(),p({dataItem:h,dataIndex:f,syntheticEvent:e,field:void 0,value:!u}))}),[u,p,h,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 s=u?ee:Z,o=E.toLanguageString(s,oe[s]);return k={className:"k-table-td",style:{...e.style,...r},colSpan:t,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":u,"aria-colindex":v,onKeyDown:S,onContextMenu:w,...x},I=m.createElement("p",{className:"k-reset"},m.createElement("a",{onClick:e=>{e.preventDefault(),p&&p({dataItem:h,dataIndex:f,syntheticEvent:e,field:void 0,value:!u})},href:"#",tabIndex:-1,"aria-label":o},m.createElement(i.IconWrap,{name:u?"caret-alt-down":b?"caret-alt-left":"caret-alt-right",icon:u?a.caretAltDownIcon:b?a.caretAltLeftIcon:a.caretAltRightIcon})),h[C]instanceof Date&&h[C].toString?h[C].toString():h[C]),m.createElement("td",{...k,key:k.key},I)};void 0===r||void 0===n||r<n||void 0===l||"groupHeader"!==c||void 0===h[C]?(k={style:e.style,key:"g"+r,className:i.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":e.locked}),role:"gridcell",onContextMenu:w,...x},t=m.createElement("td",{...k,key:k.key})):r<=n&&!e.locked?t=R(l-r,{}):r<=n&&e.locked&&(y={className:"k-table-td",role:"gridcell",colSpan:l-r,style:{borderLeftWidth:0,borderRightWidth:0},onContextMenu:w},t=m.createElement(m.Fragment,null,R(0,{position:"sticky",zIndex:2}),m.createElement("td",{...y})));const N=e.rowType||"data",T=e.cells;if(T&&T.group&&T.group[N]){const t=T.group[N];return m.createElement(t,{...e,tdProps:k,td2Props:y},I)}return g?g.call(void 0,t,e):t},qe=e=>{const{rowType:t,isAltRow:r,isInEdit:s,isSelected:o}=e,a=i.useUnstyled(),n=a&&a.uGrid?a.uGrid:i.uGrid,l=i.classNames(n.tr({selected:o,isHeader:"groupHeader"===t,isFooter:"groupFooter"===t,isMaster:"groupHeader"!==t&&"groupFooter"!==t,isAltRow:r,isInEdit:s})),c=m.createElement("tr",{id:e.id,onClick:e.onClick,onDoubleClick:e.onDoubleClick,className:l,style:{height:e.rowHeight?e.rowHeight+"px":"",visibility:e.isHidden?"hidden":""},role:"row","aria-rowindex":e.ariaRowIndex,"absolute-row-index":e.absoluteRowIndex,key:e.absoluteRowIndex,[ce]:"data"===e.rowType?e.dataIndex:void 0},e.children);return e.render?e.render.call(void 0,c,e):c};let je=class 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(ie,oe[ie]),"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(je);const $e=i.withIdHOC(i.withUnstyledHOC(je)),Xe=class extends m.Component{render(){return this.props.children||o.provideLocalizationService(this).toLanguageString(R,oe[R])}};Xe.displayName="KendoReactGridNoRecords";let Ye=Xe;o.registerForLocalization(Ye);const Je=e=>{const{column:t,index:r,isRtl:o,id:a,cells:n}=e,l=s.useTableKeyboardNavigation(a),c={colSpan:1!==t.colSpan?t.colSpan:void 0,style:void 0!==t.left?o?{left:t.right,right:t.left}:{left:t.left,right:t.right}:{},className:i.classNames("k-table-td",t.locked&&void 0!==t.left?"k-grid-footer-sticky":""),key:r,role:"gridcell","aria-colindex":t.ariaColumnIndex,...l},h={field:t.field,ariaColumnIndex:t.ariaColumnIndex,...c},d=w(n,t.cells);if(d&&d.footerCell){const e=d.footerCell;return m.createElement(e,{...h,tdProps:c,index:r})}return t.footerCell&&m.createElement(t.footerCell,{...h,key:r})||m.createElement("td",{...c})},Qe=e=>m.createElement("tr",{className:"k-table-row",role:"row","aria-rowindex":e.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))))(e.columns).map(((t,r)=>{const i=s.tableKeyboardNavigationTools.generateNavigatableId(`${r}-footercell`,e.idPrefix,"nodata");return m.createElement(Je,{key:i,column:t,id:i,index:r,cells:e.cells,isRtl:e.isRtl})}))),Ze=e=>(({buttonCount:e=10,info:t=!0,type:r="numeric",pageSizes:i,previousNext:s=!0,responsive:o,navigatable:a,pageSizeValue:n})=>({buttonCount:e,info:t,pageSizes:!0===i?[5,10,20]:i||void 0,previousNext:s,responsive:!1!==o,navigatable:!1!==a,type:r,pageSizeValue:n}))(!0===e?{}:e),et={name:"@progress/kendo-react-grid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},tt=e=>{const{colSpan:t,ariaColIndex:r,dataItem:o,dataIndex:a,id:n}=e,l=s.useTableKeyboardNavigation(n),c=i.useUnstyled(),h=c&&c.uGrid?c.uGrid:i.uGrid,d=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem)}),[e.onContextMenu,e.dataItem]);return m.createElement("td",{onContextMenu:d,className:i.classNames(h.detailTd({})),colSpan:t,"aria-colindex":r,role:"gridcell",...l},m.createElement(e.detail,{dataItem:o,dataIndex:a}))},rt=e=>{const t=i.useUnstyled(),r=t&&t.uGrid?t.uGrid:i.uGrid;return m.createElement("td",{className:i.classNames(r.hierarchyTd({})),role:"gridcell"})},it=class extends m.Component{constructor(e){super(e),this._columns=[],this._columnsMap=[[]],this._columnsMutations=0,this._resized=!1,this._focusFirst=!1,this._singleEditRow=!1,this._shouldUpdateLeftRight=!0,this._scrollbarWidth=void 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.headTable=null,this.rowsInEdit=[],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 i=r.querySelector(`[absolute-row-index="${t}"]`);i?this.observer.observe(i):this.setCurrentOnTop(e)}},this.fitColumns=e=>{this.columnResize.dblClickHandler(null,e)},this.getColumnsEssentialProps=e=>JSON.stringify(e.map((e=>({id:e.id,field:e.field,title:e.title,children:e.children})))),this.checkMatchMediaColumnsDifferece=()=>{const e=this.childrenToArray(this.props.children);return this.getColumnsEssentialProps(e)===this.getColumnsEssentialProps(this._columns)},this.onContextMenu=(e,t,r)=>{if(this.props.onContextMenu){const i={target:this,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:t,field:r};this.props.onContextMenu.call(void 0,i)}},this.getVirtualScroll=e=>{const{rowHeight:t,detailRowHeight:r,detail:i,expandField:s,groupable:o}=e,a=this.isAllData(),n=void 0!==t&&t>0,l=void 0!==r&&r>0,c=!0===o||"object"==typeof o&&!1!==o.enabled;return!n||c&&!a||i&&s&&(!l||!a)?Ae:Ke},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=I?Math.min(S,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 Ke){const{rowHeight:t=0,detail:r,expandField:s}=this.props;let{detailRowHeight:o=0}=this.props;o=r&&s?o: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,o,this._data)):this.vs.rowHeightService=new i.RowHeightService(e,t,o);const a=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=I?Math.min(S,a):a}},this.getCachedScrollbarWidth=()=>(this._scrollbarWidth||(this._scrollbarWidth=i.getScrollbarWidth()||void 0),this._scrollbarWidth),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),i.dispatchEvent(this.props.onScroll,e,this,void 0),this.wrapperScrollTop=r},this.onKeyDown=e=>{if(s.tableKeyboardNavigation.onKeyDown(e,{navigatable:this.props.navigatable||!1,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,onNavigationAction:this.onNavigationAction,columns:this.columns}),this.props.onKeyDown){const{mode:t,cell:r}=s.getSelectionOptions(this.props.selectable),i={dataItems:this.getLeafDataItems(),mode:t,cell:r,componentId:this._gridId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,i)}},this.onFocus=e=>{s.tableKeyboardNavigation.onFocus(e,{navigatable:!!this.props.navigatable,contextStateRef:this.contextStateRef})},this.onNavigationAction=e=>{if("moveToNextPage"===e.action&&this.moveToNextPage(e.event),"moveToPrevPage"===e.action&&this.moveToPrevPage(e.event),e.focusElement&&"reorderToRight"===e.action){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t<this._columns.length-1&&this.columnReorder(t,t+1,e.event)}if(e.focusElement&&"reorderToLeft"===e.action){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t>0&&this.columnReorder(t,t-1,e.event)}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=this.getSlicedLeafDataItems()[e.startRowIndex],r=this.getSlicedLeafDataItems()[e.endRowIndex],i={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._gridId,dataItems:this.getLeafDataItems(),dataItem:null,startDataItem:t,endDataItem:r,...e};this.props.onSelectionChange.call(void 0,i)}},this.pageChange=(e,t,r)=>{this.raiseDataEvent(this.props.onPageChange,{page:e},{skip:e.skip,take:e.take},t,r)},this.getTotal=()=>{let e=this.props.total||0;return Array.isArray(this.props.data)?e=e||this.props.data.length:this.props.data&&(e=e||this.props.data.total),e},this.moveToNextPage=e=>{const t=this.props.take||0,r=(this.props.skip||0)+t;r<this.getTotal()&&this.pageChange({skip:r,take:t},e)},this.moveToPrevPage=e=>{const t=this.props.take||0,r=(this.props.skip||0)-t;r>=0&&this.pageChange({skip:r,take:t},e)},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};0===e.length&&this.props.navigatable&&(this._focusFirst=!0),this._columnsMutations++,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(!i.canUseDOM)return!1;const s=i.getActiveElement(this.document),o=s?s.matches(".k-table-td")?s:null==(e=this.document)?void 0:e.body:null==(t=this.document)?void 0:t.body,a=o.closest(".k-grid-container"),n=o&&(null==(r=this._element)?void 0:r.contains(o));return!!(o&&n&&a)},this.onResize=(e,t,r,i,s,o)=>{this.resetTableWidth(),this._shouldUpdateLeftRight=!0,this._resized=!0,this._columnsMutations++,this.props.onColumnResize&&this.props.onColumnResize.call(void 0,{columns:this.columns,nativeEvent:i,targetColumnId:o,index:e,newWidth:t,oldWidth:r,end:s,target:this})},this.reInitVirtualization=i.memoizeOne(((e,t,r,i,s,o)=>{this.vs.reset();const a=this.getVirtualScroll(this.props);this.vs=new a(o)})),this.flatData=i.memoizeOne(((e,t,r,i,s,o,a)=>{const n=[];return{flattedData:n,resolvedGroupsCount:C(n,e,t,{index:r},void 0!==i,s)}})),this.rowHeightService=i.memoizeOne(((e,t,r,s,o)=>new i.RowHeightService(t,r,s,o))),this.childrenToArray=i.memoizeOne((e=>m.Children.toArray(e))),this.readColumns=i.memoizeOne(((e,t,r)=>{const i=e.filter((e=>e&&e.type&&"KendoReactGridColumn"===e.type.displayName));return x(i,this.columns,{prevId:0,idPrefix:t})})),this.mapColumns=i.memoizeOne(((e,t)=>s.mapColumns(e,!0))),this.filterColumnsByMediaProp=e=>e.filter((e=>i.canUseDOM&&e&&e.media?window.matchMedia(e.media).matches:e)),this.configureColumns=i.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||ne,e.headerCell=e.headerCell||$e}));const{unstyled:s}=this.props,o=s&&s.uGrid?s.uGrid:i.uGrid,a={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 n=0;this.props.expandField&&this.props.onExpandChange&&this.props.detail&&(e.unshift({...a,cell:le,field:this.props.expandField,headerClassName:i.classNames(o.hierarchyCell({}))}),n++);for(let r=0;r<t;r++)e.unshift({...a,isAccessible:!1,cell:Ue,field:"value",locked:this.props.lockGroups}),n++;e.slice(n).forEach((e=>e.parentIndex>=0&&(e.parentIndex+=n)))})),this.getHeaderRow=i.memoizeOne(((e,t,r,i,s,o,a,n,l,c,h,d,p)=>m.createElement(ye,{cells:this.props.cells,sort:e,sortable:t,sortChange:this.sortChange,group:r||[],groupable:i,groupChange:this.groupChange,filter:s,filterable:o,filterOperators:a,filterChange:this.filterChange,columnMenu:l,columnMenuIcon:c,selectionChange:this.onHeaderSelectionChange,columns:h,columnResize:this.columnResize,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,columnsMap:d,cellRender:n,isRtl:p,dragClue:this.dragLogic.dragClueRef,headerRef:this.headerElementRef,containerRef:this.containerRef,navigatable:!!this.props.navigatable,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)),this.getSlicedLeafDataItems=()=>(this._slicedData||this._data).filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),this.handleFocusInEditableRows=()=>{var e,t,r;if(this.tableBodyRef.current&&(null==(e=this.tableBodyRef.current)?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){this._singleEditRow=!1,null!=(t=document.activeElement)&&t.closest(".k-grid-edit-row")?this._lastActiveElement=document.activeElement:this._lastActiveElement=void 0;const e=Array.from(null==(r=this.tableBodyRef.current)?void 0:r.getElementsByClassName("k-grid-edit-row"));e.length>this.rowsInEdit.length?this._newEditableRow=e.filter((e=>!this.rowsInEdit.includes(e)))[0]:1===e.length&&(this._newEditableRow=e[0],this._singleEditRow=!0),this.rowsInEdit=e}},i.validatePackage(et),this.showLicenseWatermark=i.shouldShowValidationUI(et);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 Be(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnGroupChange=this.columnGroupChange.bind(this),this.columnResize=new We(this.onResize),this.props.clipboard&&(this.clipboardService=new s.ClipboardService(this.onClipboard)),s.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 y(e)}get element(){return this._element}get document(){if(i.canUseDOM)return this.element&&this.element.ownerDocument||document}get _header(){return this.headerRef.current}get _gridId(){return this.props.id+"-role-element-id"}componentDidMount(){var e;this.props.columnVirtualization&&!navigator.userAgent.match(pe)&&(this.headTable&&(this.headTable.style.display="block"),this.tableElement&&(this.tableElement.style.display="block")),this.resetTableWidth(),i.setScrollbarWidth(this.getCachedScrollbarWidth());const t=s.isRtl(this.element);this.isRtl=t,s.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=i.canUseDOM&&window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,{rootMargin:"0px",threshold:.9})||null,this.resizeObserver=i.canUseDOM&&window.ResizeObserver&&new window.ResizeObserver(this.calculateMedia.bind(this)),null!=(e=this.document)&&e.body&&this.resizeObserver&&this.resizeObserver.observe(this.document.body)}getSnapshotBeforeUpdate(){return s.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(){this.resetTableWidth(),i.setScrollbarWidth(this.getCachedScrollbarWidth()),this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform=""),this.handleFocusInEditableRows(),s.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,focusFirst:this._focusFirst,newEditableRow:this._newEditableRow,singleEditRow:this._singleEditRow,lastActiveElement:this._lastActiveElement,navigatable:this.props.navigatable}),this._focusFirst=!1,this._newEditableRow=void 0}componentWillUnmount(){var e;clearTimeout(this.forceUpdateTimeout),this.clipboardService&&this.clipboardService.removeEventListeners(this.document),null!=(e=this.document)&&e.body&&this.resizeObserver&&this.resizeObserver.disconnect()}render(){var e;let t=this.props.total||0;const r=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),a=o.provideLocalizationService(this),{unstyled:n,size:l="medium"}=this.props,c=n&&n.uGrid?n.uGrid:i.uGrid;let h=[];Array.isArray(this.props.data)?(h=this.props.data,t=t||this.props.data.length):this.props.data&&(h=this.props.data.data,t=t||this.props.data.total);const d="object"==typeof this.props.groupable&&this.props.groupable.footer||"none",p="virtual"===this.props.scrollable,{resolvedGroupsCount:u,flattedData:g}=this.flatData(h,d,this.props.skip||0,this.props.group,this.props.expandField,this.props.filter,this.props.sort);this._data=g;const f=!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=f;const v=this.props.selectable&&this.props.selectable.drag?"none":void 0;this.initializeVirtualization(t,f);const C=this.childrenToArray(this.props.children);this.initColumns(C,u);const x=C.map((e=>e&&e.type&&"KendoReactGridToolbar"===e.type.displayName?m.cloneElement(e,{...e.props,ariaControls:this._gridId}):null)),y=C.filter((e=>e&&e.type&&"KendoReactGridNoRecords"===e.type.displayName)),I=C.filter((e=>e&&e.type&&"KendoReactGridStatusBar"===e.type.displayName)),S=this._columns.filter((e=>0===e.children.length)),R=f&&m.createElement(He,{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:N,sortable:T,group:D,filter:G,filterable:M,filterOperators:L=Se,headerCellRender:F,columnMenu:O,columnMenuIcon:z}=this.props,_=m.createElement(ge,{size:l,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,scrollableDataElement:()=>this.vs.container,hasScrollbarWidth:!!this.getCachedScrollbarWidth(),draggable:this.props.reorderable||f,ref:this.headerRef,elemRef:this.headerElementRef,headerRow:this.getHeaderRow(N,T,D,f,G,M,L,F,O,z,this._columns,this._columnsMap,this.isRtl),filterRow:this.props.filterable&&m.createElement(ze,{cells:this.props.cells,size:l,columns:this._columns,filter:this.props.filter,filterOperators:this.props.filterOperators||Se,filterChange:this.filterChange,sort:this.props.sort,cellRender:this.props.filterCellRender,isRtl:this.isRtl,navigatable:!!this.props.navigatable,ariaRowIndex:this._columnsMap.length+1})||void 0,cols:S.map(((e,t)=>m.createElement("col",{key:t.toString(),width:E(e)})))}),H=this.vs&&this.vs.container&&this.vs.container.scrollLeft||0,P=parseFloat(((this.props.style||{}).width||"").toString()),{colSpans:A,hiddenColumns:K}=s.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:S,tableViewPortWidth:P,scrollLeft:H}),W=(e,t,o,a)=>{let n=!1;const l=this.props.selectedField?b(this.props.selectedField,e.dataItem):void 0;return{row:S.map(((h,d)=>{if(K[d])return null;const p=h.id?h.id:d,u=i.classNames(c.contentSticky({locked:h.locked}),h.className),g=void 0!==h.left?this.isRtl?{left:h.right,right:h.left}:{left:h.left,right:h.right}:{};let f=!1;if(h.editable&&this.props.editField){const t=b(this.props.editField,e.dataItem);t&&(!0===t||t===h.field)&&(n=!0,f=!0)}const v=h.cell||f&&ue||Ve,C=this.props.expandField&&this.props.detail&&h.field===this.props.expandField;return m.createElement(v,{onContextMenu:this.onContextMenu,key:p,locked:this.props.lockGroups,id:s.tableKeyboardNavigationTools.generateNavigatableId(`${t}-${String(d)}`,r,C||"groupHeader"===e.rowType||"groupFooter"===e.rowType||"value"===h.field?"nodata":"cell"),colSpan:A[d],dataItem:e.dataItem,field:h.field,editor:h.editor,format:h.format,className:u,render:this.props.cellRender,cells:w(this.props.cells,h.cells),onChange:this.itemChange,selectionChange:this.props.onSelectionChange?t=>{this.selectionChange({event:t,dataItem:e.dataItem,dataIndex:o,columnIndex:d})}:void 0,columnIndex:d,columnsCount:S.length,rowType:e.rowType,level:e.level,expanded:e.expanded,dataIndex:e.dataIndex,style:g,ariaColumnIndex:h.ariaColumnIndex,isSelected:Array.isArray(l)&&l.indexOf(d)>-1,isSorted:!!k(h.field,this.props.sort),isAlt:a})})),isInEdit:n,isSelected:"boolean"==typeof l&&l}};let B=0;if(p)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),B++,"groupHeader"===t.rowType&&e--}const V=e=>e>=this._data.length-B;let U=this.vs.realSkip||0;const q=[];let j=!1;const $=this._columnsMap.length+(this.props.filterable?1:0)+1;let X=0;if(this._data.length){let e=-1,t=0;(this._slicedData||this._data).forEach(((o,a)=>{"data"===o.rowType&&(U++,e++);const n=U%2==0,l=this.props.dataItemKey&&i.getter(this.props.dataItemKey)(o.dataItem),h=a+(this.vs.realSkip||0),d=l||"ai"+h,p=d+"_1",u=W(o,d,e,n);if(X=h+$+t,q.push(m.createElement(qe,{key:d,dataItem:o.dataItem,isAltRow:n,isInEdit:u.isInEdit,rowType:o.rowType,isHidden:V(a),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:X,absoluteRowIndex:h,dataIndex:this.vs.scrollableVirtual&&!this.props.groupable?h:e,isSelected:u.isSelected},u.row)),this.props.detail&&"data"===o.rowType&&o.expanded){const e=S.length-(this.props.expandField?1:0)-(this.props.group?this.props.group.length:0)||1;t++,X=h+$+t,q.push(m.createElement("tr",{key:p,className:i.classNames(c.detailTr({isAlt:n})),style:{visibility:V(a)?"hidden":"",height:this.props.detailRowHeight},role:"row","aria-rowindex":X},this.props.group&&this.props.group.map(((e,t)=>{var r;const i=null==(r=null==u?void 0:u.row[t])?void 0:r.props.style,s=i?this.isRtl?{left:i.right,right:i.left}:{left:i.left,right:i.right}:{};return m.createElement(Ue,{id:"",dataIndex:o.dataIndex,field:e.field,dataItem:o.dataItem,key:t,style:s,ariaColumnIndex:1+t,isSelected:!1,locked:this.props.lockGroups,isRtl:this.isRtl,cells:this.props.cells})})),this.props.expandField&&m.createElement(rt,{id:s.tableKeyboardNavigationTools.generateNavigatableId(`${p}-dhcell`,r)}),m.createElement(tt,{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:s.tableKeyboardNavigationTools.generateNavigatableId(`${p}-dcell`,r)})))}}))}else j=!0;const Y=()=>{const e=this._header;return e&&e.table&&e.table.clientWidth},J=()=>m.createElement("div",{key:"no-records",className:i.classNames(c.noRecords({})),style:{width:Y()}},m.createElement("div",{className:i.classNames(c.noRecordsTemplate({})),[s.KEYBOARD_NAV_DATA_ID]:s.tableKeyboardNavigationTools.generateNavigatableId("no-records",r)},y.length?y:m.createElement(Ye,null))),Q={size:l,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:ae,...Ze(this.props.pageable||{})},Z=this.props.pager?m.createElement(this.props.pager,{...Q}):m.createElement(s.Pager,{className:i.classNames(c.pager({})),...Q}),ee=null!=(e=this.props.cells)&&e.footerCell||this._columns.some((e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)}))?m.createElement(Pe,{size:l,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,hasScrollbarWidth:!!this.getCachedScrollbarWidth(),ref:e=>this._footer=e,row:m.createElement(Qe,{cells:this.props.cells,idPrefix:r,columns:this._columns,isRtl:this.isRtl,ariaRowIndex:X+1}),cols:S.map(((e,t)=>m.createElement("col",{key:t.toString(),width:E(e)})))}):null,te=m.createElement("colgroup",{ref:e=>{this.columnResize.colGroupMain=e}},S.map(((e,t)=>m.createElement("col",{key:t.toString(),className:k(e.field,this.props.sort)?i.classNames(c.sorted({})):void 0,width:E(e)})))),re=this.dragLogic.reorderable||this.dragLogic.groupable;if("none"===this.props.scrollable)return m.createElement(s.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:this.props.style,className:i.classNames(c.wrapper({size:l}),this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...s.tableKeyboardNavigationScopeAttributes},x,R,m.createElement(s.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e,this.headTable=e}},m.createElement("table",{ref:e=>this.headTable=e,className:i.classNames(c.table({size:l}))},te,_,m.createElement("tbody",{role:"rowgroup",className:i.classNames(c.tbody({})),...s.tableKeyboardNavigationBodyAttributes},q),ee)),j&&J(),re&&m.createElement(m.Fragment,null,m.createElement(s.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(s.DragClue,{ref:this.dragLogic.refDragElementClue}))),I,this.props.pageable&&Z);let ie=this.props.style||{};return p&&(ie.height||(ie=Object.assign({},ie,{height:"450px"}))),m.createElement(s.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:ie,className:i.classNames(c.wrapper({size:l,virtual:p}),this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...s.tableKeyboardNavigationScopeAttributes},x,R,m.createElement("div",{className:i.classNames(c.ariaRoot({})),role:"grid","aria-colcount":S.length,"aria-rowcount":t,id:this._gridId,"aria-label":a.toLanguageString(se,oe[se])},_,m.createElement("div",{className:i.classNames(c.container({})),role:"presentation"},m.createElement("div",{ref:this.containerRef,className:i.classNames(c.content({})),onScroll:this.scrollHandler,role:"presentation"},m.createElement("div",{className:i.classNames(c.tableWrap({})),role:"presentation"},m.createElement(s.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e}},m.createElement("table",{ref:e=>this.tableElement=e,className:i.classNames(c.table({size:l})),role:"presentation",style:{userSelect:v}},te,m.createElement("tbody",{className:i.classNames(c.tbody({})),ref:this.tableBodyRef,role:"rowgroup",...s.tableKeyboardNavigationBodyAttributes},q))),j&&J()),p&&m.createElement("div",{className:i.classNames(c.heightContainer({})),role:"presentation"},m.createElement("div",{style:p?{height:this.vs.containerHeight+"px"}:{}})))),ee,re&&m.createElement(m.Fragment,null,m.createElement(s.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(s.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&m.createElement(i.WatermarkOverlay,null)),I,this.props.pageable&&Z))}calculateMedia(){this.checkMatchMediaColumnsDifferece()||this.forceUpdate()}selectionChange(e){if(this.props.onSelectionChange){const{event:t,dataItem:r,dataIndex:i,columnIndex:o}=e,{mode:a,cell:n}=s.getSelectionOptions(this.props.selectable),l={...this.getArguments(t.syntheticEvent),dataItem:r,startColIndex:o,endColIndex:o,startRowIndex:i,endRowIndex:i,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:a,cell:n,isDrag:!1,componentId:this._gridId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,l)}}raiseDataEvent(e,t,r,i,s){const o=this.props.onDataStateChange;if(e){const r={...this.getArguments(i),...t,targetEvent:s};e.call(void 0,r)}else o&&o.call(void 0,{...this.getArguments(i),targetEvent:s||{},dataState:{...this.getDataState(),...r}})}columnReorder(e,t,r){const i=this._columns[e],o=i.depth,a=e=>{do{e++}while(e<this._columns.length&&this._columns[e].depth>o);return e},n=this._columns.splice(e,a(e)-e);this._columns.splice(e<t?a(t-n.length):t,0,...n),this._columns.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>e.orderIndex=t)),this._columnsMutations++;const l=this._columns[e].locked&&this._columns[t].locked;s.updateLeft(this._columnsMap,this._columns,l||this._shouldUpdateLeftRight),s.updateRight(this._columnsMap,this._columns,l||this._shouldUpdateLeftRight),this._resized&&(this._shouldUpdateLeftRight=!1,this._resized=!1);const c=this.columns;if(this.forceUpdate(),this.props.onColumnReorder){const e={target:this,columns:c,columnId:i.id,nativeEvent:r};this.props.onColumnReorder.call(void 0,e)}}groupReorder(e,t,r){if(void 0===this.props.group)return;const i=this.props.group.slice();i.splice(t,0,...i.splice(e,1)),this.groupChange(i,r)}columnToGroup(e,t,r){const i=this._columns[e].field;if(!i)return;const s=(this.props.group||[]).slice();s.splice(t,0,{field:i}),this.groupChange(s,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 i=t[r].width;if(!i)return;e+=parseFloat(i.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=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),i=this.readColumns(e,r,this._columnsMutations),o=this.filterColumnsByMediaProp(i);this._columns=o,0===this._columns.length&&(this._columns=function(e,t,r,i){let o=[];Array.isArray(e)?o=e:e&&(o=e.data);const a=[];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&&a.push(Object.assign({id:s.tableKeyboardNavigationTools.generateNavigatableId(""+i.prevId++,i.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},v,{field:e}))}))}return a}(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._columnsMutations),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}}};it.displayName="KendoReactGrid",it.defaultProps={},it.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.oneOfType([r.bool,r.shape({mode:r.oneOf(["incell","inline","popup"])})]),size:r.oneOf(["small","medium"])},it.contextType=s.TableKeyboardNavigationContext;let st=it;o.registerForLocalization(st);let ot=class extends m.Component{render(){const{children:e}=this.props;return m.createElement("div",{id:this.props.id,className:i.classNames("k-columnmenu-item-wrapper",this.props.className),style:this.props.style},e)}};const at=e=>{const{title:t,iconClass:r,svgIcon:s,selected:o}=e;return m.createElement("div",{onClick:e.onClick,className:"k-columnmenu-item "+(o?"k-selected":"")},(r||s)&&m.createElement(i.IconWrap,{name:r&&i.toIconName(r),icon:s}),t)};let nt=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(),i=r.findIndex((e=>e.field===t.field));i>-1?r.splice(i,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),i=!!(e&&t.field&&e.find((e=>e.field===t.field))),s=i?z:O;return m.createElement(ot,null,m.createElement(at,{title:r.toLanguageString(s,oe[s]),iconClass:i?"k-i-ungroup":"k-i-group",svgIcon:i?a.ungroupIcon:a.groupIcon,onClick:this.onGroupClick}))}};o.registerForIntl(nt),o.registerForLocalization(nt);const lt="desc",ct={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"}}},ht=(e,t)=>t?t.findIndex((t=>t.field===e)):-1,dt=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),pt=(e,t)=>!!(t&&e>-1&&t[e].dir===lt),ut=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,lt),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onSort=(e,t)=>{if(e.preventDefault(),!this.props.onSortChange)return;const{column:r,sortable:i,sort:s}=this.props,{allowUnsort:o,mode:a}=me(i||!1,!1),n=(s||[]).filter((e=>e.field===r.field))[0],l=ct[o][n&&n.dir||""][t],c="single"===a?[]:(this.props.sort||[]).filter((e=>e.field!==r.field));""!==l&&r.field&&c.push({field:r.field,dir:l}),this.props.onSortChange(c,e)}}render(){const{sort:e,column:t}=this.props,r=ht(t.field,e),i=o.provideLocalizationService(this);return m.createElement(ot,null,m.createElement(at,{title:i.toLanguageString(B,oe[B]),iconClass:"k-i-sort-asc-sm",svgIcon:a.sortAscSmallIcon,selected:dt(r,e),onClick:this.onAscClick}),m.createElement(at,{title:i.toLanguageString(V,oe[V]),iconClass:"k-i-sort-desc-sm",svgIcon:a.sortDescSmallIcon,selected:pt(r,e),onClick:this.onDescClick}))}};ut.active=(e,t)=>{const r=ht(e,t);return pt(r,t)||dt(r,t)};let gt=ut;o.registerForIntl(gt),o.registerForLocalization(gt);class mt extends m.Component{render(){return m.createElement("div",{id:this.props.id,className:i.classNames("k-columnmenu-item-content",this.props.className),style:this.props.style,tabIndex:0},m.createElement(u.Reveal,{style:{position:"relative",display:"block"}},this.props.show?this.props.children:null))}}class ft 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(d.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){De(e,t,this.props)}operatorChange(e){Fe(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Le(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(l.DatePicker,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)}});case"boolean":{const e=e=>null==e;return m.createElement(d.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 vt extends m.Component{render(){const{firstFilterProps:e,hideSecondFilter:t,secondFilterProps:r,logicData:i,logicValue:s,onLogicChange:o}=this.props;return m.createElement(m.Fragment,null,m.createElement(ft,{...e}),!t&&m.createElement(m.Fragment,null,m.createElement(d.DropDownList,{data:i,value:s,onChange:o,className:"k-filter-and",textField:"text"}),m.createElement(ft,{...r})))}}const bt=e=>e||{filters:[],logic:"and"},Ct=(e,t)=>bt(t).filters.filter((t=>!!p.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find((t=>p.isCompositeFilterDescriptor(t)||t.field!==e)))))[0]||null,xt=class extends m.Component{constructor(e){let t;if(super(e),this.removeGroup=(e,t)=>{const r=[...t.filters],i=r.findIndex((t=>t===e));return i>-1&&r.splice(i,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,i)=>i===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=bt(this.props.filter),i=Ct(t,this.props.filter),s=r.filters.filter((e=>e!==i));s.length?this.props.onFilterChange({...r,filters:s},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=bt(this.props.filter),i=Ct(t,this.props.filter),s=this.currentFilterGroup();let o=null;if(i&&s.filters.length>0){const e=r.filters.map((e=>e===i?s:e));o={...r,filters:e}}else if(0===s.filters.length){const e=r.filters.filter((e=>e!==i));e.length&&(o={...r,filters:e})}else o={...r,filters:[...r.filters,s]};this.props.onFilterChange(o,e),this.props.onCloseMenu&&this.props.onCloseMenu()},e.column&&e.column.field){const r=Me(e.column.filter),i=Ge(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:i,value:we(i)?null:void 0},{field:e.column.field,operator:i,value:we(i)?null:void 0}]},1===t.filters.filter((t=>t.field===e.column.field)).length&&t.filters.splice(1,0,{field:e.column.field,operator:i})}this.state={expanded:e.expanded||!1,filterGroup:t}}render(){const{column:e,filterUI:t,hideSecondFilter:r,filterOperators:i}=this.props;if(!e||!e.field)return m.createElement("div",null);const s=Me(e.filter),n=void 0!==r?r:Te[s],l=o.provideLocalizationService(this),c=this.state.filterGroup.filters,d=Re(i[s],l),p=Re(Ne,l),u={field:e.field,value:c[0].value,operator:c[0].operator,operators:d,booleanValues:p,onChange:this.firstFilterChange,filterType:s},g={field:e.field,value:c[1].value,operator:c[1].operator,operators:d,booleanValues:p,onChange:this.secondFilterChange,filterType:s},f=this.state.filterGroup.logic,v=Re(Ie,l),b={value:v.find((e=>e.operator===(null===f?"":f))),onChange:this.logicChange,data:v},C=t,x={firstFilterProps:u,secondFilterProps:g,logicData:b.data,logicValue:b.value,onLogicChange:b.onChange,hideSecondFilter:n},E=0!==this.currentFilterGroup().filters.length||we(c[0].operator)||we(c[1].operator),k=this.isControlled()?this.props.expanded:this.state.expanded,y=this.props.alwaysExpand;return m.createElement(ot,null,!y&&m.createElement(at,{title:l.toLanguageString(W,oe[W]),iconClass:"k-i-filter",svgIcon:a.filterIcon,onClick:this.onFilterExpand}),m.createElement(mt,{show:y||!!k},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},m.createElement("div",{className:"k-filter-menu-container"},C?m.createElement(C,{...x}):m.createElement(vt,{...x}),m.createElement("div",{className:"k-actions k-actions-stretched"},m.createElement(h.Button,{themeColor:"primary",disabled:!E},l.toLanguageString(K,oe[K])),m.createElement(h.Button,{type:"reset"},l.toLanguageString(P,oe[P])))))))}};xt.active=(e,t)=>!!Ct(e,t);let Et=xt;o.registerForLocalization(Et);const kt=class extends m.Component{constructor(e){super(e),this.defaultFilter=()=>this.props.filter?i.clone(this.props.filter):{filters:[],logic:"and"},this.isControlled=()=>void 0!==this.props.expanded,this.parseData=(e,t)=>{const r=this.props.column.field||"",i=e.map((e=>b(r,e)));return t?i.filter(((e,t)=>i.indexOf(e)===t)):i},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(p.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(p.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||"",i={...this.state.currentFilter},s=[...this.state.currentFilter.filters];let o=[];if(-1!==this.compositeFilterIndex&&i.filters[this.compositeFilterIndex].filters&&"all"!==t&&(o=i.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)}i.logic="and",-1!==this.compositeFilterIndex?s[this.compositeFilterIndex]={logic:"or",filters:o}:s.push({logic:"or",filters:o}),(!e.value&&"all"===t||0===o.length)&&s.splice(this.compositeFilterIndex,1),i.filters=s,this.setState({currentFilter:i})},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=>b(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,s=[];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&&s.push(e.value)}))}const l=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(i.IconWrap,{className:"k-input-icon",name:"search",icon:a.searchIcon}),m.createElement(n.Input,{className:"k-input-inner",type:"text",placeholder:t.toLanguageString(U,oe[U]),value:this.state.value,onChange:e=>this.handleSearchChange(e.nativeEvent)}),m.createElement(h.Button,{type:"button",rounded:null,className:"k-input-button",onClick:this.handleClear,icon:"x",svgIcon:a.xIcon})),c=s.filter(((e,t)=>s.indexOf(e)===t));return m.createElement(ot,null,m.createElement(at,{title:t.toLanguageString(W,oe[W]),iconClass:"k-i-filter",svgIcon:a.filterIcon,onClick:this.onFilterExpand}),m.createElement(mt,{show:!!r},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},m.createElement("div",{className:"k-filter-menu-container"},l,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(q,oe[q]),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:c.includes(e)}))))),m.createElement("div",{className:"k-filter-selected-items"},c.length+" "+t.toLanguageString(X,oe[X])),m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},m.createElement(h.Button,{themeColor:"primary",type:"submit"},t.toLanguageString(K,oe[K])),m.createElement(h.Button,{className:"k-button",type:"reset"},t.toLanguageString(P,oe[P])))))))}};kt.defaultProps={uniqueData:!0};let yt=kt;o.registerForLocalization(yt);const It=e=>{const[t,r]=m.useState(""),s=e.columns.reduce(((t,r)=>({...t,[r.id||""]:!!e.columnsState.find((e=>e.id===r.id))})),{}),[l,c]=m.useState(s),d=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]),p=o.useLocalization(),u=m.useCallback((()=>{const t=e.columns.filter((e=>l[e.id||""]));e.onColumnsChange.call(void 0,t),e.onCloseMenu.call(void 0)}),[l,e.columns,e.onColumnsChange,e.onCloseMenu]),g=m.useMemo((()=>Object.values(l).filter((e=>e)).length),[l]),f=m.useMemo((()=>g===e.columns.length),[e.columns,g]),v=m.useCallback((()=>{const e={...l};Object.keys(e).forEach(((t,r)=>e[t]=!(!f||0!==r)||!f)),c(e)}),[l,f]),b=m.useCallback(((e,t)=>{const r={...l};r[t||""]=e,c(r)}),[l]);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(i.IconWrap,{name:"search",icon:a.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:f,onChange:v,label:p.toLanguageString($,oe[$])})),d.map(((e,t)=>m.createElement("li",{key:e.id,className:"k-item"},m.createElement(n.Checkbox,{disabled:l[e.id||""]&&1===g,checked:l[e.id||""],onChange:t=>{var r;return b(!(null==(r=t.target.element)||!r.checked),e.id)},label:e.title||e.field}))))),m.createElement("div",{className:"k-filter-selected-items"},g," selected items"),m.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},m.createElement(h.Button,{type:"button",themeColor:"primary",onClick:u},p.toLanguageString(H,oe[H])),m.createElement(h.Button,{type:"button",onClick:()=>{c(s)}},p.toLanguageString(A,oe[A])))))};It.displayName="GridColumnMenuColumnsList";let St=class extends m.Component{render(){return null}};const wt=class extends m.Component{render(){return m.createElement("div",{className:i.classNames("k-toolbar k-grid-toolbar",{"k-toolbar-md":!this.props.size,[`k-toolbar-${i.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)}};wt.displayName="KendoReactGridToolbar";let Rt=wt;const Nt=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)))))};Nt.displayName="KendoReactGridStatusBar";const Tt=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},Dt=i.withIdHOC(i.withUnstyledHOC(st));Dt.displayName="KendoReactGrid",Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return s.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return s.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return s.setSelectedState}}),e.GRID_COL_INDEX_ATTRIBUTE=he,e.GRID_PREVENT_SELECTION_ELEMENT=de,e.GRID_ROW_INDEX_ATTRIBUTE=ce,e.Grid=Dt,e.GridCell=Ve,e.GridClassComponent=st,e.GridColumn=f,e.GridColumnMenuCheckboxFilter=yt,e.GridColumnMenuColumnsList=It,e.GridColumnMenuFilter=Et,e.GridColumnMenuFilterCell=ft,e.GridColumnMenuFilterUI=vt,e.GridColumnMenuGroup=nt,e.GridColumnMenuItem=at,e.GridColumnMenuItemContent=mt,e.GridColumnMenuItemGroup=ot,e.GridColumnMenuSort=gt,e.GridColumnMenuWrapper=Ce,e.GridCommonDragLogic=Be,e.GridDetailRow=St,e.GridEditCell=ue,e.GridFilterCell=Oe,e.GridGroupCell=Ue,e.GridHeaderCell=xe,e.GridHierarchyCell=le,e.GridNoRecords=Ye,e.GridRow=qe,e.GridSelectionCell=ne,e.GridToolbar=Rt,e.StatusBar=Nt,e.booleanFilterValues=Ne,e.cellBoolDropdownChange=Le,e.cellInputChange=De,e.cellOperatorChange=Fe,e.filterGroupByField=Ct,e.getStatusData=e=>{const{dataItems:t,target:r,selectedField:s}=e,o=Tt(r.columns).map((e=>e.field)).filter((e=>e&&"string"==typeof e)).map((e=>i.getter(e))),a=i.getter(s),n={dates:[],numbers:[],booleans:[],others:[]};t.forEach((e=>{const t=a(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 l=n.dates.map((e=>e.getTime())),c=n.booleans.filter((e=>e)).length,h=n.booleans.filter((e=>!e)).length,d=n.numbers.length?n.numbers.reduce(((e,t)=>e+t),0):void 0,p={sum:d,average:"number"==typeof d?d/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:c>0?c:void 0,isFalse:h>0?h:void 0,earliest:n.dates.length?new Date(Math.min(...l)):void 0,latest:n.dates.length?new Date(Math.max(...l)):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(p).forEach((e=>{const t=e,r=p[t];void 0!==r&&g.push({type:t,value:r,formattedValue:u(r,t)})})),g},e.gridMessages=oe,e.leafColumns=Tt,e.operators=Se,e.pagerFirstPage=T,e.pagerInfo=N,e.pagerItemPerPage=L,e.pagerLastPage=M,e.pagerNextPage=G,e.pagerPreviousPage=D,e.rootFilterOrDefault=bt}));
|
|
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,i,s,o,a,n,l,c,h,d,p,u){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=g(t);const f=e=>null;f.displayName="KendoReactGridColumn";const v={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};function b(e,t){const r=(e||"").split(".");let i=t;return r.forEach((e=>{i=i?i[e]:void 0})),i}function C(e,t,r,i,s,o,a=0){let n=a;for(let l=0;l<t.length;l++){if(!s||void 0===t[l].value||void 0===t[l].items){e[e.length]={dataIndex:i.index,dataItem:t[l],rowType:"data",level:a,expanded:void 0===o||b(o,t[l])},i.index++;continue}n=Math.max(n,a+1);const c=void 0===o||void 0===b(o,t[l])||b(o,t[l]);e[e.length]={dataIndex:-1,dataItem:t[l],level:a,rowType:"groupHeader",expanded:c},c&&(n=Math.max(C(e,t[l].items,r,i,s,o,a+1),n)),("always"===r||c&&"visible"===r)&&(e[e.length]={dataIndex:-1,dataItem:t[l],rowType:"groupFooter",level:a,expanded:c})}return n}function x(e,t,r,i=0){let o=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.filter((e=>e&&e.props?!e.props.hidden:!e.hidden)).forEach(((e,a)=>{e=e.props?e.props:e;const n=t[a]||null,l=x(e.children,n&&n.children||[],r,i+1);o.push(Object.assign({depth:i},v,l.length?{cell:()=>null,filterCell:()=>null}:{},n?{width:n.width,orderIndex:n.orderIndex}:{},e,{id:e.id?e.id:s.tableKeyboardNavigationTools.generateNavigatableId(""+r.prevId++,r.idPrefix,"column"),declarationIndex:o.length,children:l,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===i){let e=[];const t=(r,i)=>r.forEach((r=>{r.parentIndex=i,t(r.children,e.push(r)-1)}));return t(o,-1),e}return o}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,menuIcon:r.any,locked:r.bool,hidden:r.bool,media:r.string};const E=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,k=(e,t)=>t&&t.filter((t=>t.field===e)).length>0,I=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:t,parentIndex:r,depth:i,colSpan:s,rowSpan:o,index:a,kFirst:n,children:l,...c}=e;return l.length?{children:I(l),...c}:c}))),y="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),S=17895697,w=(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},R="grid.noRecords",N="grid.pagerInfo",T="grid.pagerFirstPage",D="grid.pagerPreviousPage",G="grid.pagerNextPage",M="grid.pagerLastPage",L="grid.pagerItemsPerPage",F="grid.groupPanelEmpty",O="grid.groupColumn",z="grid.ungroupColumn",_="grid.columnMenu",H="grid.filterApplyButton",P="grid.filterClearButton",A="grid.filterResetButton",K="grid.filterSubmitButton",W="grid.filterTitle",B="grid.sortAscending",V="grid.sortDescending",U="grid.searchPlaceholder",q="grid.filterCheckAll",j="grid.filterChooseOperator",$="grid.filterSelectAll",X="grid.filterSelectedItems",Y="grid.sortAriaLabel",J="grid.filterAriaLabel",Q="grid.groupPanelAriaLabel",Z="grid.groupExpand",ee="grid.groupCollapse",te="grid.detailExpand",re="grid.detailCollapse",ie="grid.selectRow",se="grid.gridAriaLabel",oe={[te]:"Expand detail row",[re]:"Collapse detail row",[Z]:"Expand group",[ee]:"Collapse Group",[R]:"No records available",[F]:"Drag a column header and drop it here to group by that column",[H]:"Apply",[P]:"Clear",[A]:"Reset",[K]:"Filter",[W]:"Filter",[B]:"Sort Ascending",[V]:"Sort Descending",[Y]:"Sortable",[O]:"Group Column",[z]:"Ungroup Column",[_]:"Column menu",[L]:"items per page",[N]:"{0} - {1} of {2} items",[T]:"Go to the first page",[D]:"Go to the previous page",[G]:"Go to the next page",[M]:"Go to the last page","grid.pagerPage":"Page","grid.pagerPageSizeAriaLabel":"Page size","grid.pagerOf":"of","grid.pagerTotalPages":"{0}",[U]:"Search",[q]:"Check All",[j]:"Choose Operator",[X]:"selected items",[$]:"Select All",[J]:"Filter",[Q]:"Group panel",[se]:"Table",[ie]:"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 ae(e){const t=e.replace(/^pager\.([a-z])/,((e,t)=>"grid.pager"+t.toUpperCase()));return{messageKey:t,defaultMessage:oe[t]}}const ne=e=>{const{selectionChange:t,field:r,dataItem:a,id:n,className:l,colSpan:c,style:h,ariaColumnIndex:d,rowType:p,cells:u,render:g}=e,f=o.useLocalization(),v=m.useCallback((e=>{t&&t({syntheticEvent:e})}),[t]),C=i.useId(),x=b(r,a),E=s.useTableKeyboardNavigation(n),k={colSpan:c,style:h,className:i.classNames("k-table-td",l),"aria-colindex":d,role:"gridcell",...E},I="boolean"==typeof x&&x,y=m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{id:C,tabIndex:-1,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":f.toLanguageString(ie,oe[ie]),"aria-checked":I,checked:I,onChange:v})),S="groupHeader"!==p?m.createElement("td",{...k},y):null,w=p||"data",R=u;if(R&&R.select&&R.select[w]){const t=R.select[w];return m.createElement(t,{...e,tdProps:k},y)}return g?g.call(void 0,S,e):S},le=e=>{let t=null,r=null,n=null;const l=b(e.field,e.dataItem),c=s.useTableKeyboardNavigation(e.id),h=o.useLocalization(),d=m.useCallback((t=>{t.isDefaultPrevented()||t.keyCode===i.Keys.enter&&e.onChange&&(t.preventDefault(),e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!l}))}),[e.dataItem,e.dataIndex,e.field,e.onChange,l]);if("groupFooter"===e.rowType)r={className:"k-table-td k-hierarchy-cell",role:"gridcell",...c},t=m.createElement("td",{...r});else if("groupHeader"!==e.rowType){const s=l?re:te,o=h.toLanguageString(s,oe[s]);r={className:"k-table-td k-hierarchy-cell",onKeyDown:d,"aria-expanded":!!l,role:"gridcell","aria-colindex":e.ariaColumnIndex,...c},n=m.createElement("a",{onClick:t=>{t.preventDefault(),e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!l})},"aria-label":o,href:"#",tabIndex:-1},m.createElement(i.IconWrap,{name:l?"minus":"plus",icon:l?a.minusIcon:a.plusIcon})),t=m.createElement("td",{...r},n)}const p=e.rowType||"data",u=e.cells;if(u&&u.hierarchy&&u.hierarchy[p]){const t=u.hierarchy[p];return m.createElement(t,{...e,tdProps:r},n)}return e.render?e.render.call(void 0,t,e):t},ce=s.TABLE_ROW_INDEX_ATTRIBUTE,he=s.TABLE_COL_INDEX_ATTRIBUTE,de=s.TABLE_PREVENT_SELECTION_ELEMENT,pe=/^(?!.*\bChrome).*\bSafari/i,ue=e=>{const t=b(e.field,e.dataItem),r=i.useUnstyled(),o=r&&r.uGrid?r.uGrid:i.uGrid;let a=null;const c=i.classNames(o.editTd({selected:e.isSelected}),e.className),h=i.useId(),d=s.useTableKeyboardNavigation(e.id);let p=null,u=null;const g=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]),f=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),v=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:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[he]:e.columnIndex,role:"gridcell",...d},u=m.createElement(n.NumericTextBox,{value:void 0===t?null:t,onChange:v,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),a=m.createElement("td",{...p},u);break;case"date":p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[he]:e.columnIndex,role:"gridcell",...d},u=m.createElement(l.DatePicker,{value:t,onChange:v,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),a=m.createElement("td",{...p},u);break;case"boolean":p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[he]:e.columnIndex,role:"gridcell",...d},u=[m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{checked:t||!1,id:h,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:g})),m.createElement("label",{className:"k-checkbox-label",htmlFor:h,key:2})],a=m.createElement("td",{...p},u);break;default:p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[he]:e.columnIndex,role:"gridcell",...d},u=m.createElement("input",{style:{width:"100%"},className:"k-input",value:t||"",onChange:g,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),a=m.createElement("td",{...p},u)}const C=e.editor||"text",x=e.cells;if(x){let t;return x.edit&&x.edit[C]?t=x.edit[C]:x.data&&(t=x.data),m.createElement(t,{...e,tdProps:p},u)}return e.render?e.render.call(void 0,a,e):a};let ge=class extends m.Component{constructor(){super(...arguments),this.headerWrap=null,this.table=null,this.syncScroll=!1,this.scrollbarWidth=i.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=s.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(){const e=this.context&&this.context.uGrid?this.context.uGrid:i.uGrid,{size:t="md"}=this.props;return this.props.staticHeaders?m.createElement("div",{ref:this.props.elemRef,className:i.classNames(e.header({draggable:this.props.draggable}),this.props.className),role:"presentation"},m.createElement("div",{ref:e=>{this.headerWrap=e},className:i.classNames(e.headerWrap({})),style:this.props.hasScrollbarWidth?{}:{borderWidth:0},onScroll:this.onScroll,role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:i.classNames(e.headerTable({size:t}),this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupHeader=e}},this.props.cols),m.createElement("thead",{className:i.classNames(e.tableThead({})),role:"rowgroup",...s.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)))):m.createElement("thead",{role:"presentation",className:i.classNames(e.thead({draggable:this.props.draggable}),this.props.className),...s.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}};const me=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);let fe=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(){const e=this.context&&this.context.uGrid?this.context.uGrid:i.uGrid;return m.createElement(i.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:i.classNames(e.simpleTr({})),style:{touchAction:"none"},role:"row","aria-rowindex":this.props.ariaRowIndex},this.props.children))}};fe.contextType=i.UnstyledContext;const ve=[".k-columnmenu-item-content",".k-filter-menu-container"].map((e=>i.TABBABLE_ELEMENTS.map((t=>`${e} ${t}`)))),be=[[".k-tabstrip-items"],[".k-columnmenu-item"],...ve],Ce=e=>{const[t,r]=m.useState(!1),s=m.useRef(null),n=m.useRef(null),l=m.useRef(null),h=m.useRef(0),{columnMenu:d,...p}=e,{column:u,columnMenuIcon:g,navigatable:f}=e,v=o.useLocalization(),b=u.title||u.field,C=b?`${b} `:"",x=()=>{e.onCloseMenu&&e.onCloseMenu(),r(!1),!e.navigatable&&s.current&&s.current.focus()},E=m.useMemo((()=>void 0!==e.show?e.show:t),[e.show,t]),k=(e,t,r)=>{r.preventDefault(),r.shiftKey?t.focusPrevious(e):t.focusNext(e)},I=(e,t,r)=>{e&&e.click()},y=(e,t,r)=>{r.preventDefault(),x()},S=(e,t,r)=>{r.preventDefault(),t.focusElement(e)};return m.useEffect((()=>(E&&n.current&&(l.current=new i.Navigation({tabIndex:0,root:n,selectors:be,keyboardEvents:{keydown:{Tab:k,Enter:I,Escape:y}},mouseEvents:{mousedown:S}}),l.current.focusElement(l.current.first,null)),()=>{l.current&&(l.current=null)})),[E]),m.createElement(m.Fragment,null,m.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:s,onClick:i=>{i.preventDefault(),t&&e.onCloseMenu&&e.onCloseMenu(),r(!t)},onKeyDown:e=>{var t;if(e.keyCode===i.Keys.tab){const r=e.target,i=r&&(null==(t=r.closest(".k-grid"))?void 0:t.getElementsByClassName("k-grid-content")[0]);i&&i.scrollWidth>i.clientWidth&&r.scrollIntoView({inline:"center"})}},href:"#",tabIndex:f?-1:void 0,"aria-label":`${f?"":C}${v.toLanguageString(_,oe[_])}`},g?m.createElement(i.IconWrap,{name:g.name,icon:g}):m.createElement(i.IconWrap,{name:"more-vertical",icon:a.moreVerticalIcon})),m.createElement(c.Popup,{anchor:s.current,show:E,popupClass:"k-column-menu k-column-menu-popup k-grid-columnmenu-popup",onMouseDownOutside:e=>{!e.isAnchorClicked&&r(!1)}},m.createElement("div",{ref:n,onBlur:e=>{const t=i.getActiveElement(document);clearTimeout(h.current),h.current=window.setTimeout((()=>{t&&e.relatedTarget!==s.current&&n.current&&!n.current.contains(t)&&x()}))},onFocus:()=>{clearTimeout(h.current)},onMouseDown:e=>{var t;null==(t=l.current)||t.triggerMouseEvent(e)},onKeyDown:e=>{var t;null==(t=l.current)||t.triggerKeyboardEvent(e)},style:{outline:"none"}},d&&m.createElement(d,{...p,onCloseMenu:x}))))},xe=e=>{const t=i.useUnstyled(),r=t&&t.uGrid?t.uGrid:i.uGrid,{columnMenuWrapperProps:s}=e,o=e.onClick?{onClick:e.onClick}:{},a=m.createElement("span",{className:i.classNames(r.headerCellInner({}))},m.createElement("span",{className:i.classNames(r.headerCellLink({sortable:e.columnMenuWrapperProps.sortable})),...o},m.createElement("span",{className:i.classNames(r.columnTitle({}))},e.title||e.field||" "),e.children),s.columnMenu&&m.createElement(Ce,{...s}));return e.render?e.render.call(void 0,a,e):a},Ee={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ke={none:"none",asc:"ascending",desc:"descending"},Ie=e=>{const[t,r]=m.useState(),n=o.useLocalization(),l=i.useUnstyled(),c=l&&l.uGrid?l.uGrid:i.uGrid,h=m.useRef(null);let d=0,p=-1;const u=(t,r)=>{if(t.preventDefault(),!e.sortChange)return;const{allowUnsort:i,mode:s}=me(e.sortable||!1,r.sortable||!1),o=(e.sort||[]).filter((e=>e.field===r.field))[0],a=Ee[i][o&&o.dir||""],n="single"===s?[]:(e.sort||[]).filter((e=>e.field!==r.field));""!==a&&r.field&&n.push({field:r.field,dir:a}),e.sortChange(n,t)},g=()=>{r(void 0),h.current&&"-1"!==h.current.getAttribute("tabindex")&&h.current.focus()},f=t=>{if(!e.sort)return null;const r=i.classNames(c.sortIcon({}));return t>=0&&[m.createElement("span",{key:1,className:r},m.createElement(i.IconWrap,{name:"sort-"+e.sort[t].dir+"-small",icon:"asc"===e.sort[t].dir?a.sortAscSmallIcon:a.sortDescSmallIcon})),e.sort.length>1&&m.createElement("span",{key:2,className:r},m.createElement("span",{className:i.classNames(c.sortOrder({}))},t+1))]},v=o=>o.map((o=>{const a=e.columns[o],l=e.sortable&&a.sortable,v=e.sort?e.sort.findIndex((e=>e.field===a.field)):-1,b=v>=0&&e.sort[v].dir||"none",C=null===a.columnMenu?null:a.columnMenu||e.columnMenu,x=a.menuIcon||e.columnMenuIcon,E=i.classNames(i.classNames(c.headerTh({first:a.kFirst,filterable:!!C,locked:a.locked,sorted:e.sort&&e.sort.some((e=>e.field===a.field))})),a.headerClassName);!1===a.locked&&(a.left=0);const k=void 0!==a.left?e.isRtl?{left:a.right,right:a.left}:{left:a.left,right:a.right}:{},I=n.toLanguageString(Y,oe[Y]),y=a.isAccessible?{ariaSort:ke[b],role:"columnheader",ariaColumnIndex:a.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?I:""}:{role:"presentation"},S=a.declarationIndex>=0?++p:--d,R=a.headerCell?a.headerCell:xe,N=m.createElement(R,{key:1,field:a.field,onClick:l&&(e=>u(e,a))||void 0,selectionChange:e.selectionChange,title:a.title,selectionValue:a.headerSelectionValue,render:e.cellRender,children:f(v),columnMenuWrapperProps:{column:{field:a.field,title:a.title,locked:a.locked,filter:a.filter,id:a.id},sortable:l&&e.sortable,sort:e.sort,onSortChange:e.sortChange,filter:e.filter,filterable:e.filterable&&a.filterable,filterOperators:e.filterOperators,onFilterChange:e.filterChange,show:t===a.field||void 0,onCloseMenu:g,navigatable:e.navigatable,group:e.group,groupable:e.groupable,onGroupChange:e.groupChange,columnMenu:C,columnMenuIcon:x}}),T={...y,key:S,colSpan:a.colSpan,rowSpan:a.rowSpan,className:E,style:k,columnId:a.id,navigatable:a.navigatable,onKeyDown:t=>((t,s)=>{if(t.isDefaultPrevented())return;const{keyCode:o,metaKey:a,ctrlKey:n,altKey:l}=t,c=e.sortable&&s.sortable,d=t.target;if(c&&t.keyCode===i.Keys.enter&&-1!==d.className.indexOf("k-table-th")&&u(t,s),e.navigatable){if(e.groupable&&(a&&o===i.Keys.enter||n&&o===i.Keys.space)){t.preventDefault();const r=e.columns.findIndex((e=>e.field===s.field));e.columnGroupChange&&e.columnGroupChange(r,t)}l&&o===i.Keys.down&&(t.preventDefault(),r(s.field),h.current=d)}})(t,a),role:"columnheader"},D=[N,e.columnResize&&e.columnResize.resizable&&a.resizable&&m.createElement(s.ColumnResizer,{key:2,resize:(t,r,i)=>e.columnResize&&e.columnResize.dragHandler(t,a,r,i),autofit:t=>e.columnResize&&e.columnResize.dblClickHandler(t,[a.id])})],G=w(e.cells,a.cells);if(G&&G.headerCell){const e=G.headerCell;return m.createElement(e,{...N.props,key:S,thProps:T,index:o},D)}return m.createElement(s.HeaderThElement,{...T,key:S},D)}));return e.columnsMap.map(((t,r)=>e.pressHandler&&m.createElement(fe,{key:r,pressHandler:e.pressHandler,dragHandler:e.dragHandler,releaseHandler:e.releaseHandler,ariaRowIndex:r+1,dragClue:e.dragClue,headerRef:e.headerRef,containerRef:e.containerRef},v(t))||m.createElement("tr",{key:r,className:i.classNames(c.simpletr({})),role:"row","aria-rowindex":r+1},v(t))))},ye=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Se={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"}]},we=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Re=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,oe[e.text]),operator:e.operator}))),Ne=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Te={text:!1,numeric:!1,date:!1,boolean:!0},De=(e,t,r)=>{const i=Ge(r.operators);let s=r.operator;switch(r.filterType){case"numeric":case"date":(!s||we(s))&&(s=i),null===e&&s===i&&(s="");break;case"text":(!s||we(s))&&(s=i),!e&&s===i&&(s="");break;default:return}r.onChange({value:e,operator:s,syntheticEvent:t})},Ge=(e,t)=>t?e[t][0].operator:e[0].operator,Me=e=>e||"text",Le=(e,t)=>{const r=e.target.value;t({value:r.operator,operator:""===r.operator?"":"eq",syntheticEvent:e.syntheticEvent})},Fe=(e,t,r)=>{let i=t;const s=e.target.value;e.target.state.opened&&(we(s.operator)&&(i=null),null===t&&!we(s.operator)&&(i=void 0),r({value:i,operator:s.operator,syntheticEvent:e.syntheticEvent}))};let Oe=class extends m.Component{constructor(e){super(e),this._inputRef=m.createRef(),this.renderOperatorEditor=e=>{if("boolean"===this.props.filterType)return;let t;const r=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(d.DropDownList,{ref:e=>t=e,size:this.props.size,value:r,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter k-icon",svgIcon:a.filterIcon,data:this.props.operators,textField:"text",title:e.toLanguageString(j,oe[j]),popupSettings:{width:"",onMouseDownOutside:function(e){!e.isAnchorClicked&&e.state&&e.state.props.show&&t&&t.togglePopup()}}})},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(h.Button,{size:this.props.size,icon:"filter-clear",svgIcon:a.filterClearIcon,className:i.classNames({"k-clear-button-visible":!!(null!==this.props.value&&""!==this.props.value||this.props.operator)}),title:e.toLanguageString(P,oe[P]),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){De(e,t,this.props)}operatorChange(e){Fe(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Le(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(l.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,popupSettings:{onMouseDownOutside:e=>{!e.isAnchorClicked&&e.state&&e.state.props.show&&this._inputRef&&this._inputRef.current.togglePopup()}}});case"boolean":{const e=e=>null==e;return m.createElement(d.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,popupSettings:{onMouseDownOutside:e=>{!e.isAnchorClicked&&e.state&&e.state.props.show&&this._inputRef&&this._inputRef.current.togglePopup()}}})}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(Oe);let ze=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,i){if(!this.props.filterChange)return;const s=[];(""!==e&&null!==e||""!==t)&&s.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&&s.push(t)}));const o=this.props.filter&&this.props.filter.logic?this.props.filter.logic:"and";this.props.filterChange(s.length>0?{logic:o,filters:s}:null,i)}render(){const e=o.provideLocalizationService(this),t=this.props.filter&&this.props.filter.filters||[];let r=0,a=-1;const n=this.props.columns.filter((e=>0===e.children.length)).map((o=>{const n=Me(o.filter),l=(e=>{if(void 0===e)return;const r=t.filter((t=>t.field===e));return r.length?r[0]:void 0})(o.field),c=o.filterable?e.toLanguageString(J,oe[J]):void 0;let h=l&&l.value;void 0===h&&(h="text"===n?"":null);const d=o.filterable&&{render:this.props.cellRender,field:o.field,title:o.filterTitle,value:h,operator:l&&l.operator,operators:Re(this.props.filterOperators[n]||[],e),booleanValues:Re(Ne,e),filterType:n,ariaLabel:c,onChange:e=>{this.setFilter(e.value,e.operator,o.field,e.syntheticEvent)}},p=o.declarationIndex>=0?++a:--r,u={ariaLabel:c,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:s.tableKeyboardNavigationTools.getFilterColumnId(o.id),navigatable:o.navigatable||this.props.navigatable,style:g,className:i.classNames("k-table-th",this.headerCellClassName(o.field,o.locked)||void 0),role:"columnheader",...u},v=d&&(o.filterCell?m.createElement(o.filterCell,{...d}):m.createElement(Oe,{size:this.props.size,...d})),b=w(this.props.cells,o.cells);if(b&&b.filterCell){const e=b.filterCell;return m.createElement(e,{key:p,...d,thProps:f,index:a},v)}return m.createElement(s.HeaderThElement,{key:p,...f},v)}));return m.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},n)}};o.registerForLocalization(ze);class _e 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.handleKeyDown=e=>{(e.keyCode===i.Keys.delete||e.keyCode===i.Keys.backspace)&&(e.preventDefault(),e.stopPropagation(),this.props.onRemove&&this.props.onRemove(e))},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(i.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,onKeyDown:this.handleKeyDown,tabIndex:0,role:"button",style:{touchAction:"none"}},m.createElement("span",null,m.createElement(i.IconWrap,{name:"sort-"+e+"-small",icon:"asc"===e?a.sortAscSmallIcon:a.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(i.IconWrap,{name:"x-circle",icon:a.xCircleIcon,size:"small"})))))}}o.registerForLocalization(_e);class He 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,i)=>{const s=Object.assign({},r,{dir:i}),o=this.props.group.slice();o.splice(t,1,s),this.props.groupChange(o,e)}}render(){const e=(this.props.group||[]).map(((e,t)=>m.createElement(_e,{key:t,index:t,dir:e.dir||"asc",title:this.props.resolveTitle(e.field),onRemove:e=>{this.onGroupRemove(e,t)},onSortChange:(r,i)=>{this.onGroupSortChange(r,t,e,i)},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(Q,oe[Q]),"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(F,oe[F])," "))}}o.registerForLocalization(He);let Pe=class extends m.Component{constructor(){super(...arguments),this.footerWrap=null,this.table=null}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.props.hasScrollbarWidth?{}:{borderWidth:0},role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:i.classNames("k-table k-grid-footer-table",{"k-table-md":!this.props.size,[`k-table-${i.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)}},Ae=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,i=Math.ceil(r/e[0].line),s=Math.ceil((e.length-i)/2);let o=0;for(let t=0;t<s;t++)o+=e[t].line+e[t].acc;return{topItemsCount:s,topItemsHeight:o,itemsNeededOnScreen:i+i/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 i=0;i<t.length;i++)t[i].className.indexOf("k-grouping-row")>-1?r+=t[i].scrollHeight:t[i].className.indexOf("k-detail-row")>-1?e[e.length-1].line+=t[i].scrollHeight:(e.push({line:t[i].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 i=this.tableTranslate,s=0;const{topItemsCount:o,topItemsHeight:a,itemsNeededOnScreen:n}=this.topItems(t,!!this.topCacheCount),l=r-i;if(!(l>a||t.length<=n)){for(;s<this.topCacheCount+this.attendedSkip-this.realSkip+o&&this.propsSkip-s>0&&!(i+(t[t.length-1-s].line+t[t.length-1-s].acc)+l<=r);)i-=t[t.length-1-s].line+t[t.length-1-s].acc,s++;if(0===s&&0===this.topCacheCount&&this.attendedSkip>0&&(i=Math.max(i-t[0].line,0),s=1),this.propsSkip-s<=0&&i>r)return this.translate(0),this.changePage(0,e),void(this.container.scrollTop=0);if(i>r&&(i=r),i!==this.tableTranslate){this.translate(Math.max(0,i-a));const t=Math.max(0,this.propsSkip-s-o);this.changePage(t,e)}}}localScrollDown(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let i=this.tableTranslate,s=0;const{topItemsCount:o,topItemsHeight:a,itemsNeededOnScreen:n}=this.topItems(t,!!this.topCacheCount);for(;s<t.length-this.topCacheCount&&!(i+t[s].line+t[s].acc>r);)i+=t[s].line+t[s].acc,s++;o>this.propsSkip+s||t.length<=n||(s>=t.length-this.topCacheCount&&this.propsSkip+s>=this.total?(this.translate(i-a),this.changePage(this.total-1-o,e)):i!==this.tableTranslate&&this.propsSkip+s-o!==this.propsSkip&&(this.translate(i-a),this.changePage(this.propsSkip+s-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 i=Math.min(t-r,1);let s=0;const o=r-this.propsSkip,a=this.rowHeights;o>=0&&o<=1?s=-(a[0].line+a[0].acc)*i:-1===o&&(s=-(a[a.length-1].line+a[a.length-1].acc)*i);const{topItemsCount:n,topItemsHeight:l}=this.topItems(a,!!this.topCacheCount);this.translate(Math.max(0,s-l-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}},Ke=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&&(y||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,i=!r;this.lastScrollTop=t;let s=this.rowHeightService.index(t),o=this.rowHeightService.offset(s);const{offsetHeight:a}=this.containerRef.current,n=this.rowHeightService.index(t+a);if(i&&n>=this.lastLoaded&&this.lastLoaded<this.total){const t=s+this.pageSize-this.total;t>0&&(s-=t,o=this.rowHeightService.offset(s)),this.firstLoaded=s,this.translate(o);const r=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(r,this.total),this.changePage(this.firstLoaded,e)}else if(r&&s<this.firstLoaded){const t=Math.floor(.3*this.pageSize);this.firstLoaded=Math.max(s-t,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,e)}}},We=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.dragHandler=(e,t,r,i)=>{const s=e.originalEvent;i||(s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation());const o=r.closest("th");if(!o||!o)return;const a=o.clientWidth;let n=a;if(this.isRtl?n+=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX:n+=e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!i&&Math.abs(n-a)<1)return;this.fixateInitialWidths(o.parentElement.clientWidth),this.setWidths(t,Math.floor(n)/a);const l=this.columns.filter((e=>!e.children.length)).findIndex((e=>e.id===t.id));this.onResize(l,a,n,s,i,t.id)},this.dblClickHandler=(e,t)=>{const r=this.columns.filter((e=>t.indexOf(e.id)>-1));if(!this.colGroupMain||!r.length)return;const i={},s=r;for(;s.length>0;){const e=s.pop();if(!e)break;e.children.length?s.push(...e.children):i[e.id]=e}const o=this.columns.filter((e=>!e.children.length)),a=[];o.forEach(((e,t)=>{i[e.id]&&a.push(t)}));const n=[this.colGroupMain.parentElement],l=[this.colGroupMain];this.colGroupHeader&&(n.push(this.colGroupHeader.parentElement),l.push(this.colGroupHeader)),this.colGroupFooter&&(n.push(this.colGroupFooter.parentElement),l.push(this.colGroupFooter)),n.forEach((e=>e.classList.add("k-autofitting")));let c=[];l.forEach((e=>{a.forEach((t=>{e.children[t]&&(e.children[t].width="",c[t]=Math.max(c[t]||0,e.children[t].offsetWidth+1))}))})),l.forEach((e=>{a.forEach((t=>{e.children[t]&&(e.children[t].width=c[t]+"px",o[t].width=c[t])}))})),n.forEach((e=>e.classList.remove("k-autofitting"))),this.onResize(a[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 i=0;i<e.length;i++){const s=e[i],o=t.findIndex((e=>e.id===s.id)),a=parseFloat((s.width||0).toString()),n=Math.floor(a);r+=a-n;const l=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=l+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,s,e-l)}if(this.colGroupHeader&&this.colGroupHeader.children[o]){const e=parseInt(this.colGroupHeader.children[o].width,10);this.colGroupHeader.children[o].width=l+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,s,e-l)}if(this.colGroupFooter&&this.colGroupFooter.children[o]){const e=parseInt(this.colGroupFooter.children[o].width,10);this.colGroupFooter.children[o].width=l+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,s,e-l)}}},this.onResize=e}fixateInitialWidths(e){const t=this.columns.filter((e=>!e.children.length));let r=0,i=this.colGroupMain?this.colGroupMain.children:[];for(let t=0;t<i.length;t++)i[t].width?e-=parseFloat(i[t].width):r++;if(0===r)return;const s=Math.floor(e/r);for(let e=0;e<i.length;e++){const r=i[e];r.width||(r.width=s,t[e].width=s.toString(),this.colGroupHeader&&(this.colGroupHeader.children[e].width=s),this.colGroupFooter&&(this.colGroupFooter.children[e].width=s))}}setWidths(e,t){const r=this.columns.findIndex((t=>t.id===e.id)),i=[];let s=e.children.length;for(let e=r+1;s>0&&e<this.columns.length;e++,s--){const t=this.columns[e];t.children.length?s+=t.children.length:i.push(t)}return 0===i.length&&i.push(e),i.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const i=void 0===e.minResizableWidth?10:e.minResizableWidth;r<i&&(r=i),e.width=r})),this.updateColElements(i),i}updateNextLockedCol(e,t,r){const i=t.index,s=this.colGroupMain.parentElement.closest(".k-grid"),o=null==s?void 0:s.clientWidth,a=this.columns.filter((e=>e.locked)).map((e=>parseInt(e.width+"",10))).reduce(((e,t)=>e+t),0);!t.locked||o<=a+20||this.columns.forEach((t=>{if(null!=t&&t.locked&&r){const s=null==e?void 0:e.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');null==s||s.forEach((e=>{const s=e.style;this.isRtl?(t.index>i&&s&&s.right&&(s.right=parseInt(s.right,10)-r+"px"),t.index<i&&s&&s.left&&(s.left=parseInt(s.left,10)-r+"px")):(t.index>i&&s&&s.left&&(s.left=parseInt(s.left,10)-r+"px"),t.index<i&&s&&s.right&&(s.right=parseInt(s.right,10)-r+"px"))}))}}))}},Be=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 i=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,i,r),this.updateDropElementClue(e,t,i,r)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,i=this.startGroup,s=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):i>=0&&s>=0?this.groupReorder(i,s,e.originalEvent):t>=0&&s>=0&&this.columnToGroup(t,s,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=s.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 s.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,i){if(!this.dragElementClue)return;const s=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:s,status:i||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,i){if(!this.dropElementClue)return;if(i||!r)return void this.dropElementClue.setState({visible:!1});const s=r.getBoundingClientRect(),o=(r.closest(".k-grouping-header")||r).getBoundingClientRect();let a=s.left+e.pageX-e.clientX-6;!this.isTargetGroupingContainer(e)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(a+=s.width);const n=o.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:n,left:a,height:this.currentColumn>=0?t.clientHeight:o.height})}};const Ve=e=>{let t=null;const r=o.useInternationalization(),a=i.useUnstyled(),n=a&&a.uGrid?a.uGrid:i.uGrid,l=s.useTableKeyboardNavigation(e.id),c=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]);let h=null,d=null;if("groupFooter"===e.rowType)h={onContextMenu:c,className:e.className,...l},t=m.createElement("td",{...h});else if("groupHeader"!==e.rowType){if(void 0!==e.field){const t=b(e.field,e.dataItem);null!=t&&(d=e.format?r.format(e.format,t):t.toString())}const s=i.classNames(n.td({selected:e.isSelected,sorted:e.isSorted,alt:e.isAlt}),e.className);h={onContextMenu:c,colSpan:e.colSpan,style:e.style,className:s,role:"gridcell","aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[he]:e.columnIndex,...l},t=m.createElement("td",{...h},d)}const p=e.rowType||"data",u=e.cells;if(u&&u[p]){const t=u[p];return m.createElement(t,{...e,tdProps:h},d)}return e.render?e.render.call(void 0,t,e):t},Ue=e=>{let t=null;const{columnIndex:r,level:n,columnsCount:l,rowType:c,dataItem:h,field:d,onChange:p,expanded:u,render:g,dataIndex:f,ariaColumnIndex:v,isRtl:b}=e,C=d||"",x=s.useTableKeyboardNavigation(e.id),E=o.useLocalization();let k=null,I=null,y=null;const S=m.useCallback((e=>{e.isDefaultPrevented()||e.keyCode===i.Keys.enter&&p&&(e.preventDefault(),p({dataItem:h,dataIndex:f,syntheticEvent:e,field:void 0,value:!u}))}),[u,p,h,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 s=u?ee:Z,o=E.toLanguageString(s,oe[s]);return k={className:"k-table-td",style:{...e.style,...r},colSpan:t,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":u,"aria-colindex":v,onKeyDown:S,onContextMenu:w,...x},y=m.createElement("p",{className:"k-reset"},m.createElement("a",{onClick:e=>{e.preventDefault(),p&&p({dataItem:h,dataIndex:f,syntheticEvent:e,field:void 0,value:!u})},href:"#",tabIndex:-1,"aria-label":o},m.createElement(i.IconWrap,{name:u?"caret-alt-down":b?"caret-alt-left":"caret-alt-right",icon:u?a.caretAltDownIcon:b?a.caretAltLeftIcon:a.caretAltRightIcon})),h[C]instanceof Date&&h[C].toString?h[C].toString():h[C]),m.createElement("td",{...k,key:k.key},y)};void 0===r||void 0===n||r<n||void 0===l||"groupHeader"!==c||void 0===h[C]?(k={style:e.style,key:"g"+r,className:i.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":e.locked}),role:"gridcell",onContextMenu:w,...x},t=m.createElement("td",{...k,key:k.key})):r<=n&&!e.locked?t=R(l-r,{}):r<=n&&e.locked&&(I={className:"k-table-td",role:"gridcell",colSpan:l-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",T=e.cells;if(T&&T.group&&T.group[N]){const t=T.group[N];return m.createElement(t,{...e,tdProps:k,td2Props:I},y)}return g?g.call(void 0,t,e):t},qe=e=>{const{rowType:t,isAltRow:r,isInEdit:s,isSelected:o}=e,a=i.useUnstyled(),n=a&&a.uGrid?a.uGrid:i.uGrid,l=i.classNames(n.tr({selected:o,isHeader:"groupHeader"===t,isFooter:"groupFooter"===t,isMaster:"groupHeader"!==t&&"groupFooter"!==t,isAltRow:r,isInEdit:s})),c=m.createElement("tr",{id:e.id,onClick:e.onClick,onDoubleClick:e.onDoubleClick,className:l,style:{height:e.rowHeight?e.rowHeight+"px":"",visibility:e.isHidden?"hidden":""},role:"row","aria-rowindex":e.ariaRowIndex,"absolute-row-index":e.absoluteRowIndex,key:e.absoluteRowIndex,[ce]:"data"===e.rowType?e.dataIndex:void 0},e.children);return e.render?e.render.call(void 0,c,e):c};let je=class 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(ie,oe[ie]),"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(je);const $e=i.withIdHOC(i.withUnstyledHOC(je)),Xe=class extends m.Component{render(){return this.props.children||o.provideLocalizationService(this).toLanguageString(R,oe[R])}};Xe.displayName="KendoReactGridNoRecords";let Ye=Xe;o.registerForLocalization(Ye);const Je=e=>{const{column:t,index:r,isRtl:o,id:a,cells:n}=e,l=s.useTableKeyboardNavigation(a),c={colSpan:1!==t.colSpan?t.colSpan:void 0,style:void 0!==t.left?o?{left:t.right,right:t.left}:{left:t.left,right:t.right}:{},className:i.classNames("k-table-td",t.locked&&void 0!==t.left?"k-grid-footer-sticky":""),key:r,role:"gridcell","aria-colindex":t.ariaColumnIndex,...l},h={field:t.field,ariaColumnIndex:t.ariaColumnIndex,...c},d=w(n,t.cells);if(d&&d.footerCell){const e=d.footerCell;return m.createElement(e,{...h,tdProps:c,index:r})}return t.footerCell&&m.createElement(t.footerCell,{...h,key:r})||m.createElement("td",{...c})},Qe=e=>m.createElement("tr",{className:"k-table-row",role:"row","aria-rowindex":e.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))))(e.columns).map(((t,r)=>{const i=s.tableKeyboardNavigationTools.generateNavigatableId(`${r}-footercell`,e.idPrefix,"nodata");return m.createElement(Je,{key:i,column:t,id:i,index:r,cells:e.cells,isRtl:e.isRtl})}))),Ze=e=>(({buttonCount:e=10,info:t=!0,type:r="numeric",pageSizes:i,previousNext:s=!0,responsive:o,navigatable:a,pageSizeValue:n})=>({buttonCount:e,info:t,pageSizes:!0===i?[5,10,20]:i||void 0,previousNext:s,responsive:!1!==o,navigatable:!1!==a,type:r,pageSizeValue:n}))(!0===e?{}:e),et={name:"@progress/kendo-react-grid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},tt=e=>{const{colSpan:t,ariaColIndex:r,dataItem:o,dataIndex:a,id:n}=e,l=s.useTableKeyboardNavigation(n),c=i.useUnstyled(),h=c&&c.uGrid?c.uGrid:i.uGrid,d=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem)}),[e.onContextMenu,e.dataItem]);return m.createElement("td",{onContextMenu:d,className:i.classNames(h.detailTd({})),colSpan:t,"aria-colindex":r,role:"gridcell",...l},m.createElement(e.detail,{dataItem:o,dataIndex:a}))},rt=e=>{const t=i.useUnstyled(),r=t&&t.uGrid?t.uGrid:i.uGrid;return m.createElement("td",{className:i.classNames(r.hierarchyTd({})),role:"gridcell"})},it=class extends m.Component{constructor(e){super(e),this._columns=[],this._columnsMap=[[]],this._columnsMutations=0,this._resized=!1,this._focusFirst=!1,this._singleEditRow=!1,this._shouldUpdateLeftRight=!0,this._scrollbarWidth=void 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.headTable=null,this.rowsInEdit=[],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 i=r.querySelector(`[absolute-row-index="${t}"]`);i?this.observer.observe(i):this.setCurrentOnTop(e)}},this.fitColumns=e=>{this.columnResize.dblClickHandler(null,e)},this.getColumnsEssentialProps=e=>JSON.stringify(e.map((e=>({id:e.id,field:e.field,title:e.title,children:e.children})))),this.checkMatchMediaColumnsDifferece=()=>{const e=this.childrenToArray(this.props.children);return this.getColumnsEssentialProps(e)===this.getColumnsEssentialProps(this._columns)},this.onContextMenu=(e,t,r)=>{if(this.props.onContextMenu){const i={target:this,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:t,field:r};this.props.onContextMenu.call(void 0,i)}},this.getVirtualScroll=e=>{const{rowHeight:t,detailRowHeight:r,detail:i,expandField:s,groupable:o}=e,a=this.isAllData(),n=void 0!==t&&t>0,l=void 0!==r&&r>0,c=!0===o||"object"==typeof o&&!1!==o.enabled;return!n||c&&!a||i&&s&&(!l||!a)?Ae:Ke},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=y?Math.min(S,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 Ke){const{rowHeight:t=0,detail:r,expandField:s}=this.props;let{detailRowHeight:o=0}=this.props;o=r&&s?o: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,o,this._data)):this.vs.rowHeightService=new i.RowHeightService(e,t,o);const a=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=y?Math.min(S,a):a}},this.getCachedScrollbarWidth=()=>(this._scrollbarWidth||(this._scrollbarWidth=i.getScrollbarWidth()||void 0),this._scrollbarWidth),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),i.dispatchEvent(this.props.onScroll,e,this,void 0),this.wrapperScrollTop=r},this.onKeyDown=e=>{if(s.tableKeyboardNavigation.onKeyDown(e,{navigatable:this.props.navigatable||!1,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,onNavigationAction:this.onNavigationAction,columns:this.columns}),this.props.onKeyDown){const{mode:t,cell:r}=s.getSelectionOptions(this.props.selectable),i={dataItems:this.getLeafDataItems(),mode:t,cell:r,componentId:this._gridId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,i)}},this.onFocus=e=>{s.tableKeyboardNavigation.onFocus(e,{navigatable:!!this.props.navigatable,contextStateRef:this.contextStateRef})},this.onNavigationAction=e=>{if("moveToNextPage"===e.action&&this.moveToNextPage(e.event),"moveToPrevPage"===e.action&&this.moveToPrevPage(e.event),e.focusElement&&"reorderToRight"===e.action){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t<this._columns.length-1&&this.columnReorder(t,t+1,e.event)}if(e.focusElement&&"reorderToLeft"===e.action){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t>0&&this.columnReorder(t,t-1,e.event)}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,dataIndex:e.dataIndex,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=this.getSlicedLeafDataItems()[e.startRowIndex],r=this.getSlicedLeafDataItems()[e.endRowIndex],i={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._gridId,dataItems:this.getLeafDataItems(),dataItem:null,startDataItem:t,endDataItem:r,...e};this.props.onSelectionChange.call(void 0,i)}},this.pageChange=(e,t,r)=>{this.raiseDataEvent(this.props.onPageChange,{page:e},{skip:e.skip,take:e.take},t,r)},this.getTotal=()=>{let e=this.props.total||0;return Array.isArray(this.props.data)?e=e||this.props.data.length:this.props.data&&(e=e||this.props.data.total),e},this.moveToNextPage=e=>{const t=this.props.take||0,r=(this.props.skip||0)+t;r<this.getTotal()&&this.pageChange({skip:r,take:t},e)},this.moveToPrevPage=e=>{const t=this.props.take||0,r=(this.props.skip||0)-t;r>=0&&this.pageChange({skip:r,take:t},e)},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};0===e.length&&this.props.navigatable&&(this._focusFirst=!0),this._columnsMutations++,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(!i.canUseDOM)return!1;const s=i.getActiveElement(this.document),o=s?s.matches(".k-table-td")?s:null==(e=this.document)?void 0:e.body:null==(t=this.document)?void 0:t.body,a=o.closest(".k-grid-container"),n=o&&(null==(r=this._element)?void 0:r.contains(o));return!!(o&&n&&a)},this.onResize=(e,t,r,i,s,o)=>{this.resetTableWidth(),this._shouldUpdateLeftRight=!0,this._resized=!0,this._columnsMutations++,this.props.onColumnResize&&this.props.onColumnResize.call(void 0,{columns:this.columns,nativeEvent:i,targetColumnId:o,index:e,newWidth:t,oldWidth:r,end:s,target:this})},this.reInitVirtualization=i.memoizeOne(((e,t,r,i,s,o)=>{this.vs.reset();const a=this.getVirtualScroll(this.props);this.vs=new a(o)})),this.flatData=i.memoizeOne(((e,t,r,i,s,o,a)=>{const n=[];return{flattedData:n,resolvedGroupsCount:C(n,e,t,{index:r},void 0!==i,s)}})),this.rowHeightService=i.memoizeOne(((e,t,r,s,o)=>new i.RowHeightService(t,r,s,o))),this.childrenToArray=i.memoizeOne((e=>m.Children.toArray(e))),this.readColumns=i.memoizeOne(((e,t,r)=>{const i=e.filter((e=>e&&e.type&&"KendoReactGridColumn"===e.type.displayName));return x(i,this.columns,{prevId:0,idPrefix:t})})),this.mapColumns=i.memoizeOne(((e,t)=>s.mapColumns(e,!0))),this.filterColumnsByMediaProp=e=>e.filter((e=>i.canUseDOM&&e&&e.media?window.matchMedia(e.media).matches:e)),this.configureColumns=i.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||ne,e.headerCell=e.headerCell||$e}));const{unstyled:s}=this.props,o=s&&s.uGrid?s.uGrid:i.uGrid,a={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 n=0;this.props.expandField&&this.props.onExpandChange&&this.props.detail&&(e.unshift({...a,cell:le,field:this.props.expandField,headerClassName:i.classNames(o.hierarchyCell({}))}),n++);for(let r=0;r<t;r++)e.unshift({...a,isAccessible:!1,cell:Ue,field:"value",locked:this.props.lockGroups}),n++;e.slice(n).forEach((e=>e.parentIndex>=0&&(e.parentIndex+=n)))})),this.getHeaderRow=i.memoizeOne(((e,t,r,i,s,o,a,n,l,c,h,d,p)=>m.createElement(Ie,{cells:this.props.cells,sort:e,sortable:t,sortChange:this.sortChange,group:r||[],groupable:i,groupChange:this.groupChange,filter:s,filterable:o,filterOperators:a,filterChange:this.filterChange,columnMenu:l,columnMenuIcon:c,selectionChange:this.onHeaderSelectionChange,columns:h,columnResize:this.columnResize,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,columnsMap:d,cellRender:n,isRtl:p,dragClue:this.dragLogic.dragClueRef,headerRef:this.headerElementRef,containerRef:this.containerRef,navigatable:!!this.props.navigatable,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)),this.getSlicedLeafDataItems=()=>(this._slicedData||this._data).filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),this.handleFocusInEditableRows=()=>{var e,t,r;if(this.tableBodyRef.current&&(null==(e=this.tableBodyRef.current)?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){this._singleEditRow=!1,null!=(t=document.activeElement)&&t.closest(".k-grid-edit-row")?this._lastActiveElement=document.activeElement:this._lastActiveElement=void 0;const e=Array.from(null==(r=this.tableBodyRef.current)?void 0:r.getElementsByClassName("k-grid-edit-row"));e.length>this.rowsInEdit.length?this._newEditableRow=e.filter((e=>!this.rowsInEdit.includes(e)))[0]:1===e.length&&(this._newEditableRow=e[0],this._singleEditRow=!0),this.rowsInEdit=e}},i.validatePackage(et),this.showLicenseWatermark=i.shouldShowValidationUI(et);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 Be(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnGroupChange=this.columnGroupChange.bind(this),this.columnResize=new We(this.onResize),this.props.clipboard&&(this.clipboardService=new s.ClipboardService(this.onClipboard)),s.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 I(e)}get element(){return this._element}get document(){if(i.canUseDOM)return this.element&&this.element.ownerDocument||document}get _header(){return this.headerRef.current}get _gridId(){return this.props.id+"-role-element-id"}componentDidMount(){var e;this.props.columnVirtualization&&!navigator.userAgent.match(pe)&&(this.headTable&&(this.headTable.style.display="block"),this.tableElement&&(this.tableElement.style.display="block")),this.resetTableWidth(),i.setScrollbarWidth(this.getCachedScrollbarWidth());const t=s.isRtl(this.element);this.isRtl=t,s.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=i.canUseDOM&&window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,{rootMargin:"0px",threshold:.9})||null,this.resizeObserver=i.canUseDOM&&window.ResizeObserver&&new window.ResizeObserver(this.calculateMedia.bind(this)),null!=(e=this.document)&&e.body&&this.resizeObserver&&this.resizeObserver.observe(this.document.body)}getSnapshotBeforeUpdate(){return s.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(){this.resetTableWidth(),i.setScrollbarWidth(this.getCachedScrollbarWidth()),this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform=""),this.handleFocusInEditableRows(),s.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,focusFirst:this._focusFirst,newEditableRow:this._newEditableRow,singleEditRow:this._singleEditRow,lastActiveElement:this._lastActiveElement,navigatable:this.props.navigatable}),this._focusFirst=!1,this._newEditableRow=void 0}componentWillUnmount(){var e;clearTimeout(this.forceUpdateTimeout),this.clipboardService&&this.clipboardService.removeEventListeners(this.document),null!=(e=this.document)&&e.body&&this.resizeObserver&&this.resizeObserver.disconnect()}render(){var e;let t=this.props.total||0;const r=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),a=o.provideLocalizationService(this),{unstyled:n,size:l="medium"}=this.props,c=n&&n.uGrid?n.uGrid:i.uGrid;let h=[];Array.isArray(this.props.data)?(h=this.props.data,t=t||this.props.data.length):this.props.data&&(h=this.props.data.data,t=t||this.props.data.total);const d="object"==typeof this.props.groupable&&this.props.groupable.footer||"none",p="virtual"===this.props.scrollable,{resolvedGroupsCount:u,flattedData:g}=this.flatData(h,d,this.props.skip||0,this.props.group,this.props.expandField,this.props.filter,this.props.sort);this._data=g;const f=!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=f;const v=this.props.selectable&&this.props.selectable.drag?"none":void 0;this.initializeVirtualization(t,f);const C=this.childrenToArray(this.props.children);this.initColumns(C,u);const x=C.map((e=>e&&e.type&&"KendoReactGridToolbar"===e.type.displayName?m.cloneElement(e,{...e.props,ariaControls:this._gridId}):null)),I=C.filter((e=>e&&e.type&&"KendoReactGridNoRecords"===e.type.displayName)),y=C.filter((e=>e&&e.type&&"KendoReactGridStatusBar"===e.type.displayName)),S=this._columns.filter((e=>0===e.children.length)),R=f&&m.createElement(He,{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:N,sortable:T,group:D,filter:G,filterable:M,filterOperators:L=Se,headerCellRender:F,columnMenu:O,columnMenuIcon:z}=this.props,_=m.createElement(ge,{size:l,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,scrollableDataElement:()=>this.vs.container,hasScrollbarWidth:!!this.getCachedScrollbarWidth(),draggable:this.props.reorderable||f,ref:this.headerRef,elemRef:this.headerElementRef,headerRow:this.getHeaderRow(N,T,D,f,G,M,L,F,O,z,this._columns,this._columnsMap,this.isRtl),filterRow:this.props.filterable&&m.createElement(ze,{cells:this.props.cells,size:l,columns:this._columns,filter:this.props.filter,filterOperators:this.props.filterOperators||Se,filterChange:this.filterChange,sort:this.props.sort,cellRender:this.props.filterCellRender,isRtl:this.isRtl,navigatable:!!this.props.navigatable,ariaRowIndex:this._columnsMap.length+1})||void 0,cols:S.map(((e,t)=>m.createElement("col",{key:t.toString(),width:E(e)})))}),H=this.vs&&this.vs.container&&this.vs.container.scrollLeft||0,P=parseFloat(((this.props.style||{}).width||"").toString()),{colSpans:A,hiddenColumns:K}=s.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:S,tableViewPortWidth:P,scrollLeft:H}),W=(e,t,o,a)=>{let n=!1;const l=this.props.selectedField?b(this.props.selectedField,e.dataItem):void 0;return{row:S.map(((h,d)=>{if(K[d])return null;const p=h.id?h.id:d,u=i.classNames(c.contentSticky({locked:h.locked}),h.className),g=void 0!==h.left?this.isRtl?{left:h.right,right:h.left}:{left:h.left,right:h.right}:{};let f=!1;if(h.editable&&this.props.editField){const t=b(this.props.editField,e.dataItem);t&&(!0===t||t===h.field)&&(n=!0,f=!0)}const v=h.cell||f&&ue||Ve,C=this.props.expandField&&this.props.detail&&h.field===this.props.expandField;return m.createElement(v,{onContextMenu:this.onContextMenu,key:p,locked:this.props.lockGroups,id:s.tableKeyboardNavigationTools.generateNavigatableId(`${t}-${String(d)}`,r,C||"groupHeader"===e.rowType||"groupFooter"===e.rowType||"value"===h.field?"nodata":"cell"),colSpan:A[d],dataItem:e.dataItem,field:h.field,editor:h.editor,format:h.format,className:u,render:this.props.cellRender,cells:w(this.props.cells,h.cells),onChange:this.itemChange,selectionChange:this.props.onSelectionChange?t=>{this.selectionChange({event:t,dataItem:e.dataItem,dataIndex:o,columnIndex:d})}:void 0,columnIndex:d,columnsCount:S.length,rowType:e.rowType,level:e.level,expanded:e.expanded,dataIndex:e.dataIndex,style:g,ariaColumnIndex:h.ariaColumnIndex,isSelected:Array.isArray(l)&&l.indexOf(d)>-1,isSorted:!!k(h.field,this.props.sort),isAlt:a})})),isInEdit:n,isSelected:"boolean"==typeof l&&l}};let B=0;if(p)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),B++,"groupHeader"===t.rowType&&e--}const V=e=>e>=this._data.length-B;let U=this.vs.realSkip||0;const q=[];let j=!1;const $=this._columnsMap.length+(this.props.filterable?1:0)+1;let X=0;if(this._data.length){let e=-1,t=0;(this._slicedData||this._data).forEach(((o,a)=>{"data"===o.rowType&&(U++,e++);const n=U%2==0,l=this.props.dataItemKey&&i.getter(this.props.dataItemKey)(o.dataItem),h=a+(this.vs.realSkip||0),d=l||"ai"+h,p=d+"_1",u=W(o,d,e,n);if(X=h+$+t,q.push(m.createElement(qe,{key:d,dataItem:o.dataItem,isAltRow:n,isInEdit:u.isInEdit,rowType:o.rowType,isHidden:V(a),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:X,absoluteRowIndex:h,dataIndex:this.vs.scrollableVirtual&&!this.props.groupable?h:e,isSelected:u.isSelected},u.row)),this.props.detail&&"data"===o.rowType&&o.expanded){const e=S.length-(this.props.expandField?1:0)-(this.props.group?this.props.group.length:0)||1;t++,X=h+$+t,q.push(m.createElement("tr",{key:p,className:i.classNames(c.detailTr({isAlt:n})),style:{visibility:V(a)?"hidden":"",height:this.props.detailRowHeight},role:"row","aria-rowindex":X},this.props.group&&this.props.group.map(((e,t)=>{var r;const i=null==(r=null==u?void 0:u.row[t])?void 0:r.props.style,s=i?this.isRtl?{left:i.right,right:i.left}:{left:i.left,right:i.right}:{};return m.createElement(Ue,{id:"",dataIndex:o.dataIndex,field:e.field,dataItem:o.dataItem,key:t,style:s,ariaColumnIndex:1+t,isSelected:!1,locked:this.props.lockGroups,isRtl:this.isRtl,cells:this.props.cells})})),this.props.expandField&&m.createElement(rt,{id:s.tableKeyboardNavigationTools.generateNavigatableId(`${p}-dhcell`,r)}),m.createElement(tt,{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:s.tableKeyboardNavigationTools.generateNavigatableId(`${p}-dcell`,r)})))}}))}else j=!0;const Y=()=>{const e=this._header;return e&&e.table&&e.table.clientWidth},J=()=>m.createElement("div",{key:"no-records",className:i.classNames(c.noRecords({})),style:{width:Y()}},m.createElement("div",{className:i.classNames(c.noRecordsTemplate({})),[s.KEYBOARD_NAV_DATA_ID]:s.tableKeyboardNavigationTools.generateNavigatableId("no-records",r)},I.length?I:m.createElement(Ye,null))),Q={size:l,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:ae,...Ze(this.props.pageable||{})},Z=this.props.pager?m.createElement(this.props.pager,{...Q}):m.createElement(s.Pager,{className:i.classNames(c.pager({})),...Q}),ee=null!=(e=this.props.cells)&&e.footerCell||this._columns.some((e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)}))?m.createElement(Pe,{size:l,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,hasScrollbarWidth:!!this.getCachedScrollbarWidth(),ref:e=>this._footer=e,row:m.createElement(Qe,{cells:this.props.cells,idPrefix:r,columns:this._columns,isRtl:this.isRtl,ariaRowIndex:X+1}),cols:S.map(((e,t)=>m.createElement("col",{key:t.toString(),width:E(e)})))}):null,te=m.createElement("colgroup",{ref:e=>{this.columnResize.colGroupMain=e}},S.map(((e,t)=>m.createElement("col",{key:t.toString(),className:k(e.field,this.props.sort)?i.classNames(c.sorted({})):void 0,width:E(e)})))),re=this.dragLogic.reorderable||this.dragLogic.groupable;if("none"===this.props.scrollable)return m.createElement(s.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:this.props.style,className:i.classNames(c.wrapper({size:l}),this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...s.tableKeyboardNavigationScopeAttributes},x,R,m.createElement(s.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e,this.headTable=e}},m.createElement("table",{ref:e=>this.headTable=e,className:i.classNames(c.table({size:l}))},te,_,m.createElement("tbody",{role:"rowgroup",className:i.classNames(c.tbody({})),...s.tableKeyboardNavigationBodyAttributes},q),ee)),j&&J(),re&&m.createElement(m.Fragment,null,m.createElement(s.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(s.DragClue,{ref:this.dragLogic.refDragElementClue}))),y,this.props.pageable&&Z);let ie=this.props.style||{};return p&&(ie.height||(ie=Object.assign({},ie,{height:"450px"}))),m.createElement(s.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:ie,className:i.classNames(c.wrapper({size:l,virtual:p}),this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...s.tableKeyboardNavigationScopeAttributes},x,R,m.createElement("div",{className:i.classNames(c.ariaRoot({})),role:"grid","aria-colcount":S.length,"aria-rowcount":t,id:this._gridId,"aria-label":a.toLanguageString(se,oe[se])},_,m.createElement("div",{className:i.classNames(c.container({})),role:"presentation"},m.createElement("div",{ref:this.containerRef,className:i.classNames(c.content({})),onScroll:this.scrollHandler,role:"presentation"},m.createElement("div",{className:i.classNames(c.tableWrap({})),role:"presentation"},m.createElement(s.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e}},m.createElement("table",{ref:e=>this.tableElement=e,className:i.classNames(c.table({size:l})),role:"presentation",style:{userSelect:v}},te,m.createElement("tbody",{className:i.classNames(c.tbody({})),ref:this.tableBodyRef,role:"rowgroup",...s.tableKeyboardNavigationBodyAttributes},q))),j&&J()),p&&m.createElement("div",{className:i.classNames(c.heightContainer({})),role:"presentation"},m.createElement("div",{style:p?{height:this.vs.containerHeight+"px"}:{}})))),ee,re&&m.createElement(m.Fragment,null,m.createElement(s.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(s.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&m.createElement(i.WatermarkOverlay,null)),y,this.props.pageable&&Z))}calculateMedia(){this.checkMatchMediaColumnsDifferece()||this.forceUpdate()}selectionChange(e){if(this.props.onSelectionChange){const{event:t,dataItem:r,dataIndex:i,columnIndex:o}=e,{mode:a,cell:n}=s.getSelectionOptions(this.props.selectable),l={...this.getArguments(t.syntheticEvent),dataItem:r,startColIndex:o,endColIndex:o,startRowIndex:i,endRowIndex:i,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:a,cell:n,isDrag:!1,componentId:this._gridId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,l)}}raiseDataEvent(e,t,r,i,s){const o=this.props.onDataStateChange;if(e){const r={...this.getArguments(i),...t,targetEvent:s};e.call(void 0,r)}else o&&o.call(void 0,{...this.getArguments(i),targetEvent:s||{},dataState:{...this.getDataState(),...r}})}columnReorder(e,t,r){const i=this._columns[e],o=i.depth,a=e=>{do{e++}while(e<this._columns.length&&this._columns[e].depth>o);return e},n=this._columns.splice(e,a(e)-e);this._columns.splice(e<t?a(t-n.length):t,0,...n),this._columns.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>e.orderIndex=t)),this._columnsMutations++;const l=this._columns[e].locked&&this._columns[t].locked;s.updateLeft(this._columnsMap,this._columns,l||this._shouldUpdateLeftRight),s.updateRight(this._columnsMap,this._columns,l||this._shouldUpdateLeftRight),this._resized&&(this._shouldUpdateLeftRight=!1,this._resized=!1);const c=this.columns;if(this.forceUpdate(),this.props.onColumnReorder){const e={target:this,columns:c,columnId:i.id,nativeEvent:r};this.props.onColumnReorder.call(void 0,e)}}groupReorder(e,t,r){if(void 0===this.props.group)return;const i=this.props.group.slice();i.splice(t,0,...i.splice(e,1)),this.groupChange(i,r)}columnToGroup(e,t,r){const i=this._columns[e].field;if(!i)return;const s=(this.props.group||[]).slice();s.splice(t,0,{field:i}),this.groupChange(s,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 i=t[r].width;if(!i)return;e+=parseFloat(i.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=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),i=this.readColumns(e,r,this._columnsMutations),o=this.filterColumnsByMediaProp(i);this._columns=o,0===this._columns.length&&(this._columns=function(e,t,r,i){let o=[];Array.isArray(e)?o=e:e&&(o=e.data);const a=[];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&&a.push(Object.assign({id:s.tableKeyboardNavigationTools.generateNavigatableId(""+i.prevId++,i.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},v,{field:e}))}))}return a}(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._columnsMutations),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}}};it.displayName="KendoReactGrid",it.defaultProps={},it.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.oneOfType([r.bool,r.shape({mode:r.oneOf(["incell","inline","popup"])})]),size:r.oneOf(["small","medium"])},it.contextType=s.TableKeyboardNavigationContext;let st=it;o.registerForLocalization(st);let ot=class extends m.Component{render(){const{children:e}=this.props;return m.createElement("div",{id:this.props.id,className:i.classNames("k-columnmenu-item-wrapper",this.props.className),style:this.props.style},e)}};const at=e=>{const{title:t,iconClass:r,svgIcon:s,selected:o}=e;return m.createElement("div",{onClick:e.onClick,className:"k-columnmenu-item "+(o?"k-selected":"")},(r||s)&&m.createElement(i.IconWrap,{name:r&&i.toIconName(r),icon:s}),t)};let nt=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(),i=r.findIndex((e=>e.field===t.field));i>-1?r.splice(i,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),i=!!(e&&t.field&&e.find((e=>e.field===t.field))),s=i?z:O;return m.createElement(ot,null,m.createElement(at,{title:r.toLanguageString(s,oe[s]),iconClass:i?"k-i-ungroup":"k-i-group",svgIcon:i?a.ungroupIcon:a.groupIcon,onClick:this.onGroupClick}))}};o.registerForIntl(nt),o.registerForLocalization(nt);const lt="desc",ct={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"}}},ht=(e,t)=>t?t.findIndex((t=>t.field===e)):-1,dt=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),pt=(e,t)=>!!(t&&e>-1&&t[e].dir===lt),ut=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,lt),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onSort=(e,t)=>{if(e.preventDefault(),!this.props.onSortChange)return;const{column:r,sortable:i,sort:s}=this.props,{allowUnsort:o,mode:a}=me(i||!1,!1),n=(s||[]).filter((e=>e.field===r.field))[0],l=ct[o][n&&n.dir||""][t],c="single"===a?[]:(this.props.sort||[]).filter((e=>e.field!==r.field));""!==l&&r.field&&c.push({field:r.field,dir:l}),this.props.onSortChange(c,e)}}render(){const{sort:e,column:t}=this.props,r=ht(t.field,e),i=o.provideLocalizationService(this);return m.createElement(ot,null,m.createElement(at,{title:i.toLanguageString(B,oe[B]),iconClass:"k-i-sort-asc-sm",svgIcon:a.sortAscSmallIcon,selected:dt(r,e),onClick:this.onAscClick}),m.createElement(at,{title:i.toLanguageString(V,oe[V]),iconClass:"k-i-sort-desc-sm",svgIcon:a.sortDescSmallIcon,selected:pt(r,e),onClick:this.onDescClick}))}};ut.active=(e,t)=>{const r=ht(e,t);return pt(r,t)||dt(r,t)};let gt=ut;o.registerForIntl(gt),o.registerForLocalization(gt);class mt extends m.Component{render(){return m.createElement("div",{id:this.props.id,className:i.classNames("k-columnmenu-item-content",this.props.className),style:this.props.style,tabIndex:0},m.createElement(u.Reveal,{style:{position:"relative",display:"block"}},this.props.show?this.props.children:null))}}class ft 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(d.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){De(e,t,this.props)}operatorChange(e){Fe(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Le(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(l.DatePicker,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)}});case"boolean":{const e=e=>null==e;return m.createElement(d.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 vt extends m.Component{render(){const{firstFilterProps:e,hideSecondFilter:t,secondFilterProps:r,logicData:i,logicValue:s,onLogicChange:o}=this.props;return m.createElement(m.Fragment,null,m.createElement(ft,{...e}),!t&&m.createElement(m.Fragment,null,m.createElement(d.DropDownList,{data:i,value:s,onChange:o,className:"k-filter-and",textField:"text"}),m.createElement(ft,{...r})))}}const bt=e=>e||{filters:[],logic:"and"},Ct=(e,t)=>bt(t).filters.filter((t=>!!p.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find((t=>p.isCompositeFilterDescriptor(t)||t.field!==e)))))[0]||null,xt=class extends m.Component{constructor(e){let t;if(super(e),this.removeGroup=(e,t)=>{const r=[...t.filters],i=r.findIndex((t=>t===e));return i>-1&&r.splice(i,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,i)=>i===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=bt(this.props.filter),i=Ct(t,this.props.filter),s=r.filters.filter((e=>e!==i));s.length?this.props.onFilterChange({...r,filters:s},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=bt(this.props.filter),i=Ct(t,this.props.filter),s=this.currentFilterGroup();let o=null;if(i&&s.filters.length>0){const e=r.filters.map((e=>e===i?s:e));o={...r,filters:e}}else if(0===s.filters.length){const e=r.filters.filter((e=>e!==i));e.length&&(o={...r,filters:e})}else o={...r,filters:[...r.filters,s]};this.props.onFilterChange(o,e),this.props.onCloseMenu&&this.props.onCloseMenu()},e.column&&e.column.field){const r=Me(e.column.filter),i=Ge(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:i,value:we(i)?null:void 0},{field:e.column.field,operator:i,value:we(i)?null:void 0}]},1===t.filters.filter((t=>t.field===e.column.field)).length&&t.filters.splice(1,0,{field:e.column.field,operator:i})}this.state={expanded:e.expanded||!1,filterGroup:t}}render(){const{column:e,filterUI:t,hideSecondFilter:r,filterOperators:i}=this.props;if(!e||!e.field)return m.createElement("div",null);const s=Me(e.filter),n=void 0!==r?r:Te[s],l=o.provideLocalizationService(this),c=this.state.filterGroup.filters,d=Re(i[s],l),p=Re(Ne,l),u={field:e.field,value:c[0].value,operator:c[0].operator,operators:d,booleanValues:p,onChange:this.firstFilterChange,filterType:s},g={field:e.field,value:c[1].value,operator:c[1].operator,operators:d,booleanValues:p,onChange:this.secondFilterChange,filterType:s},f=this.state.filterGroup.logic,v=Re(ye,l),b={value:v.find((e=>e.operator===(null===f?"":f))),onChange:this.logicChange,data:v},C=t,x={firstFilterProps:u,secondFilterProps:g,logicData:b.data,logicValue:b.value,onLogicChange:b.onChange,hideSecondFilter:n},E=0!==this.currentFilterGroup().filters.length||we(c[0].operator)||we(c[1].operator),k=this.isControlled()?this.props.expanded:this.state.expanded,I=this.props.alwaysExpand;return m.createElement(ot,null,!I&&m.createElement(at,{title:l.toLanguageString(W,oe[W]),iconClass:"k-i-filter",svgIcon:a.filterIcon,onClick:this.onFilterExpand}),m.createElement(mt,{show:I||!!k},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},m.createElement("div",{className:"k-filter-menu-container"},C?m.createElement(C,{...x}):m.createElement(vt,{...x}),m.createElement("div",{className:"k-actions k-actions-stretched"},m.createElement(h.Button,{themeColor:"primary",disabled:!E},l.toLanguageString(K,oe[K])),m.createElement(h.Button,{type:"reset"},l.toLanguageString(P,oe[P])))))))}};xt.active=(e,t)=>!!Ct(e,t);let Et=xt;o.registerForLocalization(Et);const kt=class extends m.Component{constructor(e){super(e),this.defaultFilter=()=>this.props.filter?i.clone(this.props.filter):{filters:[],logic:"and"},this.isControlled=()=>void 0!==this.props.expanded,this.parseData=(e,t)=>{const r=this.props.column.field||"",i=e.map((e=>b(r,e)));return t?i.filter(((e,t)=>i.indexOf(e)===t)):i},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(p.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(p.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||"",i={...this.state.currentFilter},s=[...this.state.currentFilter.filters];let o=[];if(-1!==this.compositeFilterIndex&&i.filters[this.compositeFilterIndex].filters&&"all"!==t&&(o=i.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)}i.logic="and",-1!==this.compositeFilterIndex?s[this.compositeFilterIndex]={logic:"or",filters:o}:s.push({logic:"or",filters:o}),(!e.value&&"all"===t||0===o.length)&&s.splice(this.compositeFilterIndex,1),i.filters=s,this.setState({currentFilter:i})},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=>b(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,s=[];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&&s.push(e.value)}))}const l=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(i.IconWrap,{className:"k-input-icon",name:"search",icon:a.searchIcon}),m.createElement(n.Input,{className:"k-input-inner",type:"text",placeholder:t.toLanguageString(U,oe[U]),value:this.state.value,onChange:e=>this.handleSearchChange(e.nativeEvent)}),m.createElement(h.Button,{type:"button",rounded:null,className:"k-input-button",onClick:this.handleClear,icon:"x",svgIcon:a.xIcon})),c=s.filter(((e,t)=>s.indexOf(e)===t));return m.createElement(ot,null,m.createElement(at,{title:t.toLanguageString(W,oe[W]),iconClass:"k-i-filter",svgIcon:a.filterIcon,onClick:this.onFilterExpand}),m.createElement(mt,{show:!!r},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},m.createElement("div",{className:"k-filter-menu-container"},l,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(q,oe[q]),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:c.includes(e)}))))),m.createElement("div",{className:"k-filter-selected-items"},c.length+" "+t.toLanguageString(X,oe[X])),m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},m.createElement(h.Button,{themeColor:"primary",type:"submit"},t.toLanguageString(K,oe[K])),m.createElement(h.Button,{className:"k-button",type:"reset"},t.toLanguageString(P,oe[P])))))))}};kt.defaultProps={uniqueData:!0};let It=kt;o.registerForLocalization(It);const yt=e=>{const[t,r]=m.useState(""),s=e.columns.reduce(((t,r)=>({...t,[r.id||""]:!!e.columnsState.find((e=>e.id===r.id))})),{}),[l,c]=m.useState(s),d=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]),p=o.useLocalization(),u=m.useCallback((()=>{const t=e.columns.filter((e=>l[e.id||""]));e.onColumnsChange.call(void 0,t),e.onCloseMenu.call(void 0)}),[l,e.columns,e.onColumnsChange,e.onCloseMenu]),g=m.useMemo((()=>Object.values(l).filter((e=>e)).length),[l]),f=m.useMemo((()=>g===e.columns.length),[e.columns,g]),v=m.useCallback((()=>{const e={...l};Object.keys(e).forEach(((t,r)=>e[t]=!(!f||0!==r)||!f)),c(e)}),[l,f]),b=m.useCallback(((e,t)=>{const r={...l};r[t||""]=e,c(r)}),[l]);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(i.IconWrap,{name:"search",icon:a.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:f,onChange:v,label:p.toLanguageString($,oe[$])})),d.map(((e,t)=>m.createElement("li",{key:e.id,className:"k-item"},m.createElement(n.Checkbox,{disabled:l[e.id||""]&&1===g,checked:l[e.id||""],onChange:t=>{var r;return b(!(null==(r=t.target.element)||!r.checked),e.id)},label:e.title||e.field}))))),m.createElement("div",{className:"k-filter-selected-items"},g," selected items"),m.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},m.createElement(h.Button,{type:"button",themeColor:"primary",onClick:u},p.toLanguageString(H,oe[H])),m.createElement(h.Button,{type:"button",onClick:()=>{c(s)}},p.toLanguageString(A,oe[A])))))};yt.displayName="GridColumnMenuColumnsList";let St=class extends m.Component{render(){return null}};const wt=class extends m.Component{render(){return m.createElement("div",{className:i.classNames("k-toolbar k-grid-toolbar",{"k-toolbar-md":!this.props.size,[`k-toolbar-${i.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)}};wt.displayName="KendoReactGridToolbar";let Rt=wt;const Nt=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)))))};Nt.displayName="KendoReactGridStatusBar";const Tt=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},Dt=i.withIdHOC(i.withUnstyledHOC(st));Dt.displayName="KendoReactGrid",Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return s.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return s.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return s.setSelectedState}}),e.GRID_COL_INDEX_ATTRIBUTE=he,e.GRID_PREVENT_SELECTION_ELEMENT=de,e.GRID_ROW_INDEX_ATTRIBUTE=ce,e.Grid=Dt,e.GridCell=Ve,e.GridClassComponent=st,e.GridColumn=f,e.GridColumnMenuCheckboxFilter=It,e.GridColumnMenuColumnsList=yt,e.GridColumnMenuFilter=Et,e.GridColumnMenuFilterCell=ft,e.GridColumnMenuFilterUI=vt,e.GridColumnMenuGroup=nt,e.GridColumnMenuItem=at,e.GridColumnMenuItemContent=mt,e.GridColumnMenuItemGroup=ot,e.GridColumnMenuSort=gt,e.GridColumnMenuWrapper=Ce,e.GridCommonDragLogic=Be,e.GridDetailRow=St,e.GridEditCell=ue,e.GridFilterCell=Oe,e.GridGroupCell=Ue,e.GridHeaderCell=xe,e.GridHierarchyCell=le,e.GridNoRecords=Ye,e.GridRow=qe,e.GridSelectionCell=ne,e.GridToolbar=Rt,e.StatusBar=Nt,e.booleanFilterValues=Ne,e.cellBoolDropdownChange=Le,e.cellInputChange=De,e.cellOperatorChange=Fe,e.filterGroupByField=Ct,e.getStatusData=e=>{const{dataItems:t,target:r,selectedField:s}=e,o=Tt(r.columns).map((e=>e.field)).filter((e=>e&&"string"==typeof e)).map((e=>i.getter(e))),a=i.getter(s),n={dates:[],numbers:[],booleans:[],others:[]};t.forEach((e=>{const t=a(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 l=n.dates.map((e=>e.getTime())),c=n.booleans.filter((e=>e)).length,h=n.booleans.filter((e=>!e)).length,d=n.numbers.length?n.numbers.reduce(((e,t)=>e+t),0):void 0,p={sum:d,average:"number"==typeof d?d/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:c>0?c:void 0,isFalse:h>0?h:void 0,earliest:n.dates.length?new Date(Math.min(...l)):void 0,latest:n.dates.length?new Date(Math.max(...l)):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(p).forEach((e=>{const t=e,r=p[t];void 0!==r&&g.push({type:t,value:r,formattedValue:u(r,t)})})),g},e.gridMessages=oe,e.leafColumns=Tt,e.operators=Se,e.pagerFirstPage=T,e.pagerInfo=N,e.pagerItemPerPage=L,e.pagerLastPage=M,e.pagerNextPage=G,e.pagerPreviousPage=D,e.rootFilterOrDefault=bt}));
|
package/index.d.mts
CHANGED
package/index.d.ts
CHANGED
package/package-metadata.mjs
CHANGED
|
@@ -10,7 +10,7 @@ const e = {
|
|
|
10
10
|
name: "@progress/kendo-react-grid",
|
|
11
11
|
productName: "KendoReact",
|
|
12
12
|
productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
|
|
13
|
-
publishDate:
|
|
13
|
+
publishDate: 1727184040,
|
|
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": "8.
|
|
3
|
+
"version": "8.4.0-develop.2",
|
|
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",
|
|
@@ -23,17 +23,17 @@
|
|
|
23
23
|
"sideEffects": false,
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"@progress/kendo-data-query": "^1.0.0",
|
|
26
|
-
"@progress/kendo-drawing": "^1.20.
|
|
26
|
+
"@progress/kendo-drawing": "^1.20.4",
|
|
27
27
|
"@progress/kendo-licensing": "^1.3.4",
|
|
28
|
-
"@progress/kendo-react-animation": "8.
|
|
29
|
-
"@progress/kendo-react-buttons": "8.
|
|
30
|
-
"@progress/kendo-react-common": "8.
|
|
31
|
-
"@progress/kendo-react-data-tools": "8.
|
|
32
|
-
"@progress/kendo-react-dateinputs": "8.
|
|
33
|
-
"@progress/kendo-react-dropdowns": "8.
|
|
34
|
-
"@progress/kendo-react-inputs": "8.
|
|
35
|
-
"@progress/kendo-react-intl": "8.
|
|
36
|
-
"@progress/kendo-react-popup": "8.
|
|
28
|
+
"@progress/kendo-react-animation": "8.4.0-develop.2",
|
|
29
|
+
"@progress/kendo-react-buttons": "8.4.0-develop.2",
|
|
30
|
+
"@progress/kendo-react-common": "8.4.0-develop.2",
|
|
31
|
+
"@progress/kendo-react-data-tools": "8.4.0-develop.2",
|
|
32
|
+
"@progress/kendo-react-dateinputs": "8.4.0-develop.2",
|
|
33
|
+
"@progress/kendo-react-dropdowns": "8.4.0-develop.2",
|
|
34
|
+
"@progress/kendo-react-inputs": "8.4.0-develop.2",
|
|
35
|
+
"@progress/kendo-react-intl": "8.4.0-develop.2",
|
|
36
|
+
"@progress/kendo-react-popup": "8.4.0-develop.2",
|
|
37
37
|
"@progress/kendo-svg-icons": "^3.0.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"
|