@progress/kendo-react-grid 8.3.0-develop.9 → 8.4.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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;