@progress/kendo-react-grid 10.0.0-develop.5 → 10.0.0

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.
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const xt=require("react"),b=require("@progress/kendo-react-common"),l=require("@progress/kendo-react-data-tools"),St=require("./drag/ColumnResize.js"),Dt=require("./drag/CommonDragLogic.js"),kt=require("./constants/index.js"),w=require("./utils/index.js"),Me=require("./VirtualScrollFixed.js"),Kt=require("./VirtualScroll.js"),Mt=require("./contextMenu/GridContextMenu.js"),Te=require("./contextMenu/enums.js"),Ae=require("./sortCommon.js");function Tt(t){const v=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const m in t)if(m!=="default"){const H=Object.getOwnPropertyDescriptor(t,m);Object.defineProperty(v,m,H.get?H:{enumerable:!0,get:()=>t[m]})}}return v.default=t,Object.freeze(v)}const i=Tt(xt),He=i.createContext(void 0),At=t=>{var ke,Ke;const v=t.gridProps.isClient,[m,H]=i.useState({}),Fe=e=>{e.event.preventDefault(),H({...m,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},be=()=>{H({})},h=i.useMemo(()=>t.columnsRef.find(e=>e.field===m.field),[t.columnsRef,m]),he=i.useMemo(()=>{const e=t.gridProps.sortable&&(h==null?void 0:h.sortable);return w.getDefaultHeadContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[h,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Ie=i.useMemo(()=>{const e=t.gridProps.sortable&&(h==null?void 0:h.sortable);return w.getDefaultBodyContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:w.isRowReorderEnabled(t.gridProps.rowReorderable)})},[h,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Ge=i.useMemo(()=>{const e=(h==null?void 0:h.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(m):e;if(n&&m.offset){const r=m.dataItem?Te.GridContextMenuAnchorPart.body:Te.GridContextMenuAnchorPart.head,a=n[r],o=m.dataItem?Ie:he;return a===!1?void 0:a===!0||a===void 0?o:a}},[t.gridProps.contextMenu,m,Ie,he,h]),Le=e=>{var s,g,f,P,y,ee,C,U,V;const n=e.event.item,r={target:E.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&u(t.gridProps.onContextMenuItemClick,r);const a=X(),o={selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:a,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...l.getSelectionOptions(t.gridProps.selectable),...r},c=a.findIndex(_=>_===e.dataItem);switch((s=n.data)==null?void 0:s.action){case"SortCommand":if(h){const _=(g=n.name)==null?void 0:g.toLowerCase().includes("asc"),Et=((f=n.name)==null?void 0:f.toLowerCase().includes("desc"))?"desc":void 0,yt=_?"asc":Et,wt=n.name?yt:void 0;Re(e.event.syntheticEvent,h,wt)}break;case"SelectRowCommand":pe(o);break;case"SelectAllRowsCommand":Ze(o);break;case"ClearSelectionCommand":et(o);break;case"ReorderRowCommand":q.current=e.dataItem,(P=n.name)!=null&&P.toLowerCase().includes("rowup")&&c>0&&G(e.event.syntheticEvent,c-1,"before"),(y=n.name)!=null&&y.toLowerCase().includes("rowdown")&&c<a.length-1&&G(e.event.syntheticEvent,c+1,"after"),(ee=n.name)!=null&&ee.toLowerCase().includes("rowtop")&&G(e.event.syntheticEvent,0,"before"),(C=n.name)!=null&&C.toLowerCase().includes("rowbottom")&&G(e.event.syntheticEvent,a.length-1,"after");break;case"CopySelectionCommand":$(l.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((U=n.name)!=null&&U.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":$(l.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((V=n.name)!=null&&V.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break}be()},B=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return w.sanitizeColumns(e)},Oe=(e,n,r)=>{if(t.gridProps.onContextMenu&&v){const a={target:E.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:r};u(t.gridProps.onContextMenu,a)}t.gridProps.contextMenu&&Fe({event:e,dataItem:n,field:r})},ze=e=>{if(e.target!==e.currentTarget)return;clearTimeout(fe.current),d.current&&(d.current.table=k.current);const n=e.currentTarget.scrollLeft,r=e.currentTarget.scrollTop,a=t.gridProps.scrollable==="virtual";t.gridProps.columnVirtualization&&(!a||r===ge.current)&&(fe.current=window.setTimeout(()=>{ie()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),N.current&&N.current.setScrollLeft(n),z.current&&z.current.setScrollLeft(n),d.current&&r!==ge.current&&d.current.scrollHandler(e),t.gridProps.onScroll&&v&&u(t.gridProps.onScroll,{...I(e)}),ge.current=r},Ne=e=>{l.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:D,navigationStateRef:M,onNavigationAction:Ue,columns:B()}),l.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:x(),contextStateRef:D,navigationStateRef:M});const n={dataItems:L(),mode:R.mode,cell:R.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...I(e)};t.gridProps.onKeyDown&&v&&u(t.gridProps.onKeyDown,n)},qe=e=>{l.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:D})},Ue=e=>{if(e.action==="moveToNextPage"&&nt(e.event),e.action==="moveToPrevPage"&&rt(e.event),e.focusElement&&e.action==="reorderToRight"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n<t.columnsRef.length-1&&re(n,n+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n>0&&re(n,n-1,e.event)}if(e.action==="select"&&Je(e.event),t.gridProps.onNavigationAction&&v){const n={focusElement:e.focusElement,...I(e.event)};u(t.gridProps.onNavigationAction,n)}},Ve=(e,n)=>{t.gridProps.onRowClick&&e.target.nodeName==="TD"&&u(t.gridProps.onRowClick,{dataItem:n,...I(e)})},_e=(e,n)=>{t.gridProps.onRowDoubleClick&&e.target.nodeName==="TD"&&u(t.gridProps.onRowDoubleClick,{dataItem:n,...I(e)})},Be=(e,n,r)=>{if(Se.enabled&&Se.mode==="incell"&&t.gridProps.dataItemKey){const a=l.editReducer(t.gridProps.edit,{type:l.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:r}});t.gridProps.onEditChange&&u(t.gridProps.onEditChange,{edit:a,...I(e)})}},je=(e,n)=>{var a;if(l.getDetailExpandableOptions(t.detailExpandable).enabled){const o=l.detailExpandReducer((a=t.gridProps.detailExpand)!=null?a:{},e);t.gridProps.onDetailExpandChange&&u(t.gridProps.onDetailExpandChange,{...I(n),detailExpand:o})}},We=(e,n)=>{var a;const r=l.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(r.enabled){const o=l.groupExpandReducer((a=t.gridProps.groupExpand)!=null?a:[],e,r);t.gridProps.onGroupExpandChange&&u(t.gridProps.onGroupExpandChange,{...I(n),groupExpand:o})}},Re=(e,n,r)=>{const{allowUnsort:a,mode:o}=Ae.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),c=(t.gridProps.sort||[]).filter(f=>f.field===n.field)[0],s=r||Ae.firstLevelSortSeqMap[a][c&&c.dir||""],g=o==="single"?[]:(t.gridProps.sort||[]).filter(f=>f.field!==n.field);s!==""&&n.field&&g.push({field:n.field,dir:s}),Ce(g,e)},$e=e=>{var n;if(e.field===t.gridProps.expandField||e._expand||t.gridProps.group&&e.field===void 0){if(t.gridProps.onExpandChange){const r=t.gridProps.dataItemKey?l.detailExpandReducer((n=t.gridProps.detailExpand)!=null?n:{},{type:l.DETAIL_EXPAND_ACTION.SET,id:e.dataItem[t.gridProps.dataItemKey],payload:e.value}):t.gridProps.detailExpand;u(t.gridProps.onExpandChange,{...I(e.syntheticEvent),expand:r,dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}return}t.gridProps.onItemChange&&u(t.gridProps.onItemChange,{...I(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},Xe=e=>{var n;if(t.gridProps.onSelectionChange&&R.enabled){const{event:r,dataItem:a,dataIndex:o,columnIndex:c}=e,s={...I(r.syntheticEvent),dataItem:a,startColIndex:c,endColIndex:c,startRowIndex:o,endRowIndex:o,dataItems:L(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:R.mode,cell:R.cell,isDrag:!1,componentId:t.id,selectedField:t.gridProps.selectedField||""};u(t.gridProps.onSelectionChange,{...s,select:t.gridProps.dataItemKey?l.getSelectedState({event:s,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},Je=e=>{var f,P;if(t.gridProps.selectedField||!R.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:L(),mode:R.mode,cell:R.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...I(e)},r=l.getSelectedStateFromKeyDown({event:n,selectedState:(f=t.gridProps.select)!=null?f:{},dataItemKey:t.gridProps.dataItemKey});if(r===t.gridProps.select)return;const a=e.target,o=l.closestTagName(a,"TD"),c=l.closestTagName(a,"TR"),s=l.getColumnIndex(o),g=l.getRowIndex(c);if(s!==void 0&&g!==void 0){const y=(P=w.getDataAsArray(t.gridProps.data))==null?void 0:P[g];t.gridProps.onSelectionChange&&u(t.gridProps.onSelectionChange,{...n,select:r,dataItem:y,startRowIndex:g,startColIndex:s,startDataItem:y,endDataItem:y,endRowIndex:g,endColIndex:s,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},Ye=e=>{var n;if(t.gridProps.onHeaderSelectionChange&&R.enabled){const r=L();u(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?r.reduce((a,o)=>(t.gridProps.dataItemKey&&b.getter(t.gridProps.dataItemKey)(o)!==void 0&&(a[b.getter(t.gridProps.dataItemKey)(o)]=!0),a),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:E.current,dataItems:r,selectedField:(n=t.gridProps.selectedField)!=null?n:""})}},j=(e,n)=>{t.gridProps.onSelectionChange&&R.enabled&&u(t.gridProps.onSelectionChange,{...e,select:n})},Qe=e=>{var n;if(t.gridProps.onSelectionChange&&R.enabled){const r=X()[e.startRowIndex],a=X()[e.endRowIndex],o={syntheticEvent:void 0,target:E.current,selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:L(),dataItem:null,startDataItem:r,endDataItem:a,...e},c=l.getSelectedState({event:o,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});j(o,c)}},Ze=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const n=e.dataItems[0],r=e.dataItems[e.dataItems.length-1],a={},o={...e,startDataItem:n,endDataItem:r,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:t.columnsRef.length-1};e.dataItems.forEach(c=>{const g=b.getter(t.gridProps.dataItemKey)(c);a[g]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),j(o,a)}},pe=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const r=b.getter(t.gridProps.dataItemKey)(e.dataItem),a=0,o=t.columnsRef.length-1,c=e.dataItems.findIndex(y=>y[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),f={...e,startDataItem:c,endDataItem:c,startRowIndex:c,endRowIndex:c,startColIndex:a,endColIndex:o},P=e.mode==="multiple"?t.gridProps.select||{}:{};P[r]===!0||Array.isArray(P[r])&&P[r].length===t.columnsRef.length?delete P[r]:P[r]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,j(f,P)}},et=e=>{t.gridProps.onSelectionChange&&R.enabled&&j(e,{})},F=(e,n,r,a,o)=>{const c=t.gridProps.onDataStateChange;if(e){const s={...I(a),...n,targetEvent:o};u(e,s)}else c&&u(c,{...I(a),targetEvent:o||{},dataState:{...ut(),...r}})},W=(e,n,r)=>{F(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,r)},tt=()=>{let e=t.gridProps.total||0;return Array.isArray(t.gridProps.data)?e=e||t.gridProps.data.length:t.gridProps.data&&(e=e||t.gridProps.data.total),e},nt=e=>{var o,c;const n=(c=(o=t.gridProps.take)!=null?o:t.gridProps.pageSize)!=null?c:0,r=(t.gridProps.skip||0)+n,a=tt();r<a&&W({skip:r,take:n},e)},rt=e=>{var a,o;const n=(o=(a=t.gridProps.take)!=null?a:t.gridProps.pageSize)!=null?o:0,r=(t.gridProps.skip||0)-n;r>=0&&W({skip:r,take:n},e)},at=e=>{W({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},Ce=(e,n)=>{F(t.gridProps.onSortChange,{sort:e},{sort:e,...t.gridProps.scrollable==="virtual"?{skip:0}:{}},n)},ot=(e,n)=>{F(t.gridProps.onFilterChange,{filter:e},{filter:e||void 0,skip:0},n)},it=e=>{const n=t.gridProps.searchFields||t.columnsRef.map(o=>o.field)||[],r=e.nativeEvent.target.value,a={logic:"or",filters:n.filter(o=>o!==void 0).map(o=>{var c;return typeof o=="string"?{field:o,value:r,operator:"contains"}:{value:r,operator:(c=o.operator)!=null?c:"contains",field:o.field,ignoreCase:o.ignoreCase}})};F(t.gridProps.onSearchChange,{search:a},{},e.syntheticEvent)},te=(e,n)=>{const r=n.nativeEvent?n:{nativeEvent:n.nativeEvent||n.originalEvent};e.length===0&&t.gridProps.navigatable&&(le.current=!0),F(t.gridProps.onGroupChange,{group:e},{group:e,skip:0},r)},ne=e=>{if(t.gridProps.onColumnsStateChange){const n={target:E.current,columnsState:e};u(t.gridProps.onColumnsStateChange,n)}},re=(e,n,r)=>{const{columnsRef:a,columnsState:o}=t,c=a[e],s=w.getFlatColumnsState(o),g=c.depth,f=C=>{do C++;while(C<a.length&&a[C].depth>g);return C},P=a.splice(e,f(e)-e);a.splice(e<n?f(n-P.length):n,0,...P),a.filter(C=>C.declarationIndex>=0).forEach((C,U)=>{C.orderIndex=U;const V=s.find(_=>_.id===C.id);V&&(V.orderIndex=U)});const y=a[e].locked&&a[n].locked;l.updateLeft(t.columnsMapRef,a,y||p.current),l.updateRight(t.columnsMapRef,a,y||p.current),de.current&&(p.current=!1,de.current=!1);const ee=B();if(ie(),t.gridProps.onColumnReorder){const C={target:E.current,columns:ee,columnId:c.id,nativeEvent:r};u(t.gridProps.onColumnReorder,C)}ne(o)},G=(e,n,r)=>{const a=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(r==="forbidden"||!a||!q.current)return;const{slicedData:o,dataRef:c}=t,s=(o||c)[n];t.gridProps.onRowReorder&&u(t.gridProps.onRowReorder,{draggedDataItems:[q.current],droppedDataItem:s==null?void 0:s.dataItem,dropPosition:r,nativeEvent:e.originalEvent,dragEvent:e,target:E.current}),q.current=null},ct=(e,n,r)=>{if(t.gridProps.group===void 0)return;const a=t.gridProps.group.slice();a.splice(n,0,...a.splice(e,1)),te(a,r)},ve=(e,n,r)=>{const a=t.columnsRef[e].field;if(!a)return;const o=(t.gridProps.group||[]).slice();o.splice(n,0,{field:a}),te(o,r)},dt=(e,n)=>{const r=K.current.getCurrentGroupsLength;ve(e,r,n)},ae=()=>{let e=0;if(!S.current.colGroupMain)return;const n=S.current.colGroupMain.children;for(let r=0;r<n.length;r++){const a=n[r].width;if(!a)return;e+=parseFloat(a.toString())}e=Math.round(e),N.current&&N.current.setWidth(e),z.current&&z.current.setWidth(e),k.current&&(k.current.style.width=e+"px")},$=i.useCallback((e,n,r,a,o)=>{var f;if(!lt()&&!r||!e)return;const c={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:a,field:o,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...r},s=X(),g=l.populateClipboardData({event:c,data:s,selectedState:(f=t.gridProps.select)!=null?f:{},previousCopiedItems:we.current});e!==l.ClipboardActionType.paste&&(we.current=g.copiedItems),t.gridProps.onClipboard&&v&&u(t.gridProps.onClipboard,{...c,...g})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),lt=()=>{var o,c,s;if(!b.canUseDOM)return!1;const e=b.getActiveElement(x()),n=e?e.matches(".k-table-td")?e:(o=x())==null?void 0:o.body:(c=x())==null?void 0:c.body,r=n.closest(".k-grid-container"),a=n&&((s=A.current)==null?void 0:s.contains(n));return!!(n&&a&&r)},st=(e,n,r,a,o,c,s)=>{ae(),p.current=!0,de.current=!0,t.gridProps.onColumnResize&&v&&u(t.gridProps.onColumnResize,{columns:B(),nativeEvent:a,targetColumnId:s,index:e,newWidth:n,oldWidth:r,end:o,target:E.current}),o&&ne(c)},ut=()=>{var e;return{filter:t.gridProps.filter,sort:t.gridProps.sort,skip:t.gridProps.skip,take:(e=t.gridProps.take)!=null?e:t.gridProps.pageSize,group:t.gridProps.group}},I=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:E.current}),gt=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),u=(e,n)=>{if(t.gridProps.isClient){e(n);return}e(gt(n))},ft=()=>{var e,n,r;if(O.current&&((e=O.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){ue.current=!1,(n=document.activeElement)!=null&&n.closest(".k-grid-edit-row")?se.current=document.activeElement:se.current=void 0;const a=Array.from((r=O.current)==null?void 0:r.getElementsByClassName("k-grid-edit-row"));a.length>Pe.current.length?Z.current=a.filter(o=>!Pe.current.includes(o))[0]:a.length===1&&(Z.current=a[0],ue.current=!0),Pe.current=a}},L=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),X=()=>(t.slicedData||t.dataRef).filter(e=>e.rowType==="data").map(e=>e.dataItem),x=()=>{var e;if(b.canUseDOM)return((e=J())==null?void 0:e.ownerDocument)||document},J=()=>A.current,oe=i.useCallback(e=>{var a;if(!d.current||!((a=d.current)!=null&&a.container)||t.gridProps.scrollable==="none")return;T.current&&T.current.disconnect();const{rowIndex:n}=e,r=J();if(t.gridProps.scrollable==="virtual")d.current.askedSkip=n,d.current.container.scroll(0,Math.round(d.current.askedSkip/d.current.total*d.current.container.scrollHeight));else if(r){const o=n<1?r.querySelector("tbody > tr:nth-child(1)"):r.querySelector(`tbody > tr:nth-child(${n+1})`);o&&Q.current&&(Q.current.scrollTop=o.offsetTop)}},[t.gridProps.scrollable]),Ee=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),mt=()=>Ee(vt)===Ee(t.columnsRef),Pt=()=>{mt()||ie()},bt=(e,n)=>{var r,a;if(d.current){if(d.current.fixedScroll=t.gridProps.fixedScroll||!1,d.current.PageChange=W,d.current.realSkip=t.gridProps.skip||0,d.current.pageSize=(a=(r=t.gridProps.take)!=null?r:t.gridProps.pageSize)!=null?a:0,d.current.scrollableVirtual=t.gridProps.scrollable==="virtual",d.current.total=e,d.current.propsSkip=(t.gridProps.skip||0)+(t.gridProps.scrollable==="virtual"?d.current.topCacheCount+(d.current.attendedSkip-(t.gridProps.skip||0)):0),t.gridProps.rowHeight!==void 0&&t.gridProps.rowHeight>0&&!n){const o=t.gridProps.rowHeight*e;d.current.containerHeight=w.firefox?Math.min(w.firefoxMaxHeight,o):o}else d.current.containerHeight=1533915;if(d.current.containerRef=Q,d.current.tableBodyRef=O,d.current.table=k.current,d.current instanceof Me.VirtualScrollFixed){const{rowHeight:o=0,detail:c,expandField:s}=t.gridProps;let{detailRowHeight:g=0}=t.gridProps;g=c&&s?g:o,t.isAllData?(d.current.total=t.dataRef.length,d.current.rowHeightService=new b.RowHeightService(t.dataRef.length,o,g,t.dataRef)):d.current.rowHeightService=new b.RowHeightService(e,o,g);const f=d.current.rowHeightService.totalHeight();d.current.containerHeight=w.firefox?Math.min(w.firefoxMaxHeight,f):f}}},ye=i.useCallback(e=>{const n={rowIndex:me.current};e.forEach(r=>{r.isIntersecting||oe(n)})},[oe]),ie=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},ht=e=>e.left!==void 0?xe!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},E=i.useRef(null),d=i.useRef(),S=i.useRef(),K=i.useRef(),D=i.useRef(),M=i.useRef(),Y=i.useRef(),T=i.useRef(null),O=i.useRef(null),It=i.useRef(null),Q=i.useRef(null),k=i.useRef(null),ce=i.useRef(null),A=i.useRef(null),z=i.useRef(null),N=i.useRef(null),de=i.useRef(!1),le=i.useRef(!1),Z=i.useRef(),se=i.useRef(),ue=i.useRef(!1),p=i.useRef(!0),ge=i.useRef(0),fe=i.useRef(),me=i.useRef(),Pe=i.useRef([]),we=i.useRef([]),q=i.useRef(null),Rt=i.useRef(null),Ct=i.useRef(null),xe=b.useDir(A),vt=i.useMemo(()=>i.Children.toArray(t.gridProps.children),[t.gridProps.children]),R=l.getSelectionOptions((ke=t.gridProps.selectable)!=null?ke:!!t.gridProps.selectedField),Se=l.getEditableOptions((Ke=t.gridProps.editable)!=null?Ke:!!t.gridProps.editField);i.useMemo(()=>{l.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:D,navigationStateRef:M,idPrefix:t.id})},[]),i.useMemo(()=>{var r;(r=d.current)==null||r.reset();const e=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,n=t.isFixedVirtualScroll?Me.VirtualScrollFixed:Kt.VirtualScroll;d.current=new n(e||t.gridProps.rowHeight===void 0||t.gridProps.rowHeight===0)},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,t.gridProps.groupable,t.gridProps.sort,t.gridProps.rowHeight]),i.useEffect(()=>(t.gridProps.clipboard&&(Y.current=new l.ClipboardService($),Y.current.addEventListeners(x())),()=>{Y.current&&Y.current.removeEventListeners(x())}),[t.gridProps.onClipboard,t.gridProps.clipboard,$,x]),i.useEffect(()=>(t.gridProps.columnVirtualization&&!window.navigator.userAgent.match(kt.SAFARI_REGEX)&&(ce.current&&(ce.current.style.display="block"),k.current&&(k.current.style.display="block")),ae(),b.setScrollbarWidth(),l.tableKeyboardNavigation.onComponentDidMount({scope:A.current||void 0,contextStateRef:D,navigationStateRef:M}),()=>{clearTimeout(fe.current)}),[]),i.useEffect(()=>{var e;ae(),b.setScrollbarWidth(),(e=d.current)!=null&&e.tableTransform&&d.current.table&&(d.current.table.style.transform=d.current.tableTransform,d.current.tableTransform=""),ft(),l.tableKeyboardNavigation.onComponentDidUpdate({scope:A.current||void 0,contextStateRef:D,navigationStateRef:M,focusFirst:le.current,newEditableRow:Z.current,singleEditRow:ue.current,lastActiveElement:se.current,navigatable:t.gridProps.navigatable}),le.current=!1,Z.current=void 0}),i.useEffect(()=>{if(b.canUseDOM){const e={rootMargin:"0px",threshold:.9};T.current=window.IntersectionObserver&&new window.IntersectionObserver(ye,e)||null}},[ye]),i.useEffect(()=>{var n;let e;return b.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(Pt),e.observe((n=x())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),i.useImperativeHandle(E,()=>({get element(){return J()},props:t.gridProps,get columns(){return B()},scrollIntoView:e=>{var a;if(!((a=d.current)!=null&&a.container)||t.gridProps.scrollable==="none")return;const{rowIndex:n}=e;me.current=n;const r=J();if(T.current&&r){T.current.disconnect();const o=r.querySelector(`[absolute-row-index="${me.current}"]`);o?T.current.observe(o):oe(e)}},fitColumns:e=>{S.current.dblClickHandler(null,e)}})),i.useImperativeHandle(t.gridRef,()=>E.current),i.useMemo(()=>{S.current=new St.ColumnResize(st)},[t.gridProps.onColumnResize,t.columnsRef]),i.useMemo(()=>{K.current=new Dt.CommonDragLogic(re,ct,ve)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),S.current.resizable=t.gridProps.resizable||!1,S.current.columns=t.columnsRef,S.current.columnsState=b.cloneArray(t.columnsState);const De=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1;return K.current.reorderable=t.gridProps.reorderable||!1,K.current.groupable=De,K.current.columns=t.columnsRef,bt(t.total,De),i.createElement(He.Provider,{value:{isClient:v,rowReorder:G,activeDragRowDataItemRef:q,reorderRowDragTargetRef:Rt,reorderRowDropTargetRef:Ct,dir:xe,getCellPositionStyle:ht,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,onColumnsStateChange:ne,groupChange:te,selectionRelease:Qe,pagerPageChange:at,onContextMenu:Oe,rowClick:Ve,rowDblClick:_e,cellClick:Be,headerCellClick:Re,itemChange:$e,sortChange:Ce,filterChange:ot,searchChange:it,onHeaderSelectionChange:Ye,columnGroupChange:dt,onKeyDown:Ne,onFocus:qe,scrollHandler:ze,selectionChange:Xe,dispatchDetailExpand:je,dispatchGroupExpand:We,columnResizeRef:S,dragLogicRef:K,navigationStateRef:M,tableElementRef:k,tableBodyElementRef:O,headerElementRef:It,containerElementRef:Q,headTableElementRef:ce,elementRef:A,footerRef:z,headerRef:N,vsRef:d}},i.createElement(l.TableKeyboardNavigationContext.Provider,{value:D.current},t.children),i.createElement(Mt.GridContextMenu,{show:m.show,dataItem:m.dataItem,field:m.field,items:Ge,offset:m.offset,onClose:be,onSelect:Le}))};exports.GridClientWrapper=At;exports.GridContext=He;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const xt=require("react"),b=require("@progress/kendo-react-common"),l=require("@progress/kendo-react-data-tools"),St=require("./drag/ColumnResize.js"),Dt=require("./drag/CommonDragLogic.js"),kt=require("./constants/index.js"),w=require("./utils/index.js"),Me=require("./VirtualScrollFixed.js"),Kt=require("./VirtualScroll.js"),Mt=require("./contextMenu/GridContextMenu.js"),Te=require("./contextMenu/enums.js"),Ae=require("./sortCommon.js");function Tt(t){const v=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const m in t)if(m!=="default"){const H=Object.getOwnPropertyDescriptor(t,m);Object.defineProperty(v,m,H.get?H:{enumerable:!0,get:()=>t[m]})}}return v.default=t,Object.freeze(v)}const i=Tt(xt),He=i.createContext(void 0),At=t=>{var ke,Ke;const v=t.gridProps.isClient,[m,H]=i.useState({}),Fe=e=>{e.event.preventDefault(),H({...m,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},be=()=>{H({})},h=i.useMemo(()=>t.columnsRef.find(e=>e.field===m.field),[t.columnsRef,m]),he=i.useMemo(()=>{const e=t.gridProps.sortable&&(h==null?void 0:h.sortable);return w.getDefaultHeadContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[h,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Ie=i.useMemo(()=>{const e=t.gridProps.sortable&&(h==null?void 0:h.sortable);return w.getDefaultBodyContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:w.isRowReorderEnabled(t.gridProps.rowReorderable)})},[h,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Ge=i.useMemo(()=>{const e=(h==null?void 0:h.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(m):e;if(n&&m.offset){const r=m.dataItem?Te.GridContextMenuAnchorPart.body:Te.GridContextMenuAnchorPart.head,a=n[r],o=m.dataItem?Ie:he;return a===!1?void 0:a===!0||a===void 0?o:a}},[t.gridProps.contextMenu,m,Ie,he,h]),Le=e=>{var s,g,f,P,y,ee,C,U,V;const n=e.event.item,r={target:E.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&u(t.gridProps.onContextMenuItemClick,r);const a=X(),o={selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:a,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...l.getSelectionOptions(t.gridProps.selectable),...r},c=a.findIndex(_=>_===e.dataItem);switch((s=n.data)==null?void 0:s.action){case"SortCommand":if(h){const _=(g=n.name)==null?void 0:g.toLowerCase().includes("asc"),Et=((f=n.name)==null?void 0:f.toLowerCase().includes("desc"))?"desc":void 0,yt=_?"asc":Et,wt=n.name?yt:void 0;Re(e.event.syntheticEvent,h,wt)}break;case"SelectRowCommand":pe(o);break;case"SelectAllRowsCommand":Ze(o);break;case"ClearSelectionCommand":et(o);break;case"ReorderRowCommand":q.current=e.dataItem,(P=n.name)!=null&&P.toLowerCase().includes("rowup")&&c>0&&G(e.event.syntheticEvent,c-1,"before"),(y=n.name)!=null&&y.toLowerCase().includes("rowdown")&&c<a.length-1&&G(e.event.syntheticEvent,c+1,"after"),(ee=n.name)!=null&&ee.toLowerCase().includes("rowtop")&&G(e.event.syntheticEvent,0,"before"),(C=n.name)!=null&&C.toLowerCase().includes("rowbottom")&&G(e.event.syntheticEvent,a.length-1,"after");break;case"CopySelectionCommand":$(l.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((U=n.name)!=null&&U.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":$(l.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((V=n.name)!=null&&V.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break}be()},B=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return w.sanitizeColumns(e)},Oe=(e,n,r)=>{if(t.gridProps.onContextMenu&&v){const a={target:E.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:r};u(t.gridProps.onContextMenu,a)}t.gridProps.contextMenu&&Fe({event:e,dataItem:n,field:r})},ze=e=>{if(e.target!==e.currentTarget)return;clearTimeout(fe.current),d.current&&(d.current.table=k.current);const n=e.currentTarget.scrollLeft,r=e.currentTarget.scrollTop,a=t.gridProps.scrollable==="virtual";t.gridProps.columnVirtualization&&(!a||r===ge.current)&&(fe.current=window.setTimeout(()=>{ie()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),N.current&&N.current.setScrollLeft(n),z.current&&z.current.setScrollLeft(n),d.current&&r!==ge.current&&d.current.scrollHandler(e),t.gridProps.onScroll&&v&&u(t.gridProps.onScroll,{...I(e)}),ge.current=r},Ne=e=>{l.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:D,navigationStateRef:M,onNavigationAction:Ue,columns:B()}),l.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:x(),contextStateRef:D,navigationStateRef:M});const n={dataItems:L(),mode:R.mode,cell:R.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...I(e)};t.gridProps.onKeyDown&&v&&u(t.gridProps.onKeyDown,n)},qe=e=>{l.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:D})},Ue=e=>{if(e.action==="moveToNextPage"&&nt(e.event),e.action==="moveToPrevPage"&&rt(e.event),e.focusElement&&e.action==="reorderToRight"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n<t.columnsRef.length-1&&re(n,n+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n>0&&re(n,n-1,e.event)}if(e.action==="select"&&Je(e.event),t.gridProps.onNavigationAction&&v){const n={focusElement:e.focusElement,...I(e.event)};u(t.gridProps.onNavigationAction,n)}},Ve=(e,n)=>{t.gridProps.onRowClick&&e.target.nodeName==="TD"&&u(t.gridProps.onRowClick,{dataItem:n,...I(e)})},_e=(e,n)=>{t.gridProps.onRowDoubleClick&&e.target.nodeName==="TD"&&u(t.gridProps.onRowDoubleClick,{dataItem:n,...I(e)})},Be=(e,n,r)=>{if(Se.enabled&&Se.mode==="incell"&&t.gridProps.dataItemKey){const a=l.editReducer(t.gridProps.edit,{type:l.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:r}});t.gridProps.onEditChange&&u(t.gridProps.onEditChange,{edit:a,...I(e)})}},je=(e,n)=>{var a;if(l.getDetailExpandableOptions(t.detailExpandable).enabled){const o=l.detailExpandReducer((a=t.gridProps.detailExpand)!=null?a:{},e);t.gridProps.onDetailExpandChange&&u(t.gridProps.onDetailExpandChange,{...I(n),detailExpand:o})}},We=(e,n)=>{var a;const r=l.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(r.enabled){const o=l.groupExpandReducer((a=t.gridProps.groupExpand)!=null?a:[],e,r);t.gridProps.onGroupExpandChange&&u(t.gridProps.onGroupExpandChange,{...I(n),groupExpand:o})}},Re=(e,n,r)=>{const{allowUnsort:a,mode:o}=Ae.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),c=(t.gridProps.sort||[]).filter(f=>f.field===n.field)[0],s=r||Ae.firstLevelSortSeqMap[a][c&&c.dir||""],g=o==="single"?[]:(t.gridProps.sort||[]).filter(f=>f.field!==n.field);s!==""&&n.field&&g.push({field:n.field,dir:s}),Ce(g,e)},$e=e=>{var n;if(e.field===t.gridProps.expandField||e._expand||t.gridProps.group&&e.field===void 0){if(t.gridProps.onExpandChange){const r=t.gridProps.dataItemKey?l.detailExpandReducer((n=t.gridProps.detailExpand)!=null?n:{},{type:l.DETAIL_EXPAND_ACTION.SET,id:e.dataItem[t.gridProps.dataItemKey],payload:e.value}):t.gridProps.detailExpand;u(t.gridProps.onExpandChange,{...I(e.syntheticEvent),expand:r,dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}return}t.gridProps.onItemChange&&u(t.gridProps.onItemChange,{...I(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},Xe=e=>{var n;if(t.gridProps.onSelectionChange&&R.enabled){const{event:r,dataItem:a,dataIndex:o,columnIndex:c}=e,s={...I(r.syntheticEvent),dataItem:a,startColIndex:c,endColIndex:c,startRowIndex:o,endRowIndex:o,dataItems:L(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:R.mode,cell:R.cell,isDrag:!1,componentId:t.id,selectedField:t.gridProps.selectedField||""};u(t.gridProps.onSelectionChange,{...s,select:t.gridProps.dataItemKey?l.getSelectedState({event:s,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},Je=e=>{var f,P;if(t.gridProps.selectedField||!R.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:L(),mode:R.mode,cell:R.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...I(e)},r=l.getSelectedStateFromKeyDown({event:n,selectedState:(f=t.gridProps.select)!=null?f:{},dataItemKey:t.gridProps.dataItemKey});if(r===t.gridProps.select)return;const a=e.target,o=l.closestTagName(a,"TD"),c=l.closestTagName(a,"TR"),s=l.getColumnIndex(o),g=l.getRowIndex(c);if(s!==void 0&&g!==void 0){const y=(P=w.getDataAsArray(t.gridProps.data))==null?void 0:P[g];t.gridProps.onSelectionChange&&u(t.gridProps.onSelectionChange,{...n,select:r,dataItem:y,startRowIndex:g,startColIndex:s,startDataItem:y,endDataItem:y,endRowIndex:g,endColIndex:s,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},Ye=e=>{var n;if(t.gridProps.onHeaderSelectionChange&&R.enabled){const r=L();u(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?r.reduce((a,o)=>(t.gridProps.dataItemKey&&b.getter(t.gridProps.dataItemKey)(o)!==void 0&&(a[b.getter(t.gridProps.dataItemKey)(o)]=!0),a),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:E.current,dataItems:r,selectedField:(n=t.gridProps.selectedField)!=null?n:""})}},j=(e,n)=>{t.gridProps.onSelectionChange&&R.enabled&&u(t.gridProps.onSelectionChange,{...e,select:n})},Qe=e=>{var n;if(t.gridProps.onSelectionChange&&R.enabled){const r=X()[e.startRowIndex],a=X()[e.endRowIndex],o={syntheticEvent:void 0,target:E.current,selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:L(),dataItem:null,startDataItem:r,endDataItem:a,...e},c=l.getSelectedState({event:o,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});j(o,c)}},Ze=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const n=e.dataItems[0],r=e.dataItems[e.dataItems.length-1],a={},o={...e,startDataItem:n,endDataItem:r,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:t.columnsRef.length-1};e.dataItems.forEach(c=>{const g=b.getter(t.gridProps.dataItemKey)(c);a[g]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),j(o,a)}},pe=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const r=b.getter(t.gridProps.dataItemKey)(e.dataItem),a=0,o=t.columnsRef.length-1,c=e.dataItems.findIndex(y=>y[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),f={...e,startDataItem:c,endDataItem:c,startRowIndex:c,endRowIndex:c,startColIndex:a,endColIndex:o},P=e.mode==="multiple"?t.gridProps.select||{}:{};P[r]===!0||Array.isArray(P[r])&&P[r].length===t.columnsRef.length?delete P[r]:P[r]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,j(f,P)}},et=e=>{t.gridProps.onSelectionChange&&R.enabled&&j(e,{})},F=(e,n,r,a,o)=>{const c=t.gridProps.onDataStateChange;if(e){const s={...I(a),...n,targetEvent:o};u(e,s)}else c&&u(c,{...I(a),targetEvent:o||{},dataState:{...ut(),...r}})},W=(e,n,r)=>{F(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,r)},tt=()=>{let e=t.gridProps.total||0;return Array.isArray(t.gridProps.data)?e=e||t.gridProps.data.length:t.gridProps.data&&(e=e||t.gridProps.data.total),e},nt=e=>{var o,c;const n=(c=(o=t.gridProps.take)!=null?o:t.gridProps.pageSize)!=null?c:0,r=(t.gridProps.skip||0)+n,a=tt();r<a&&W({skip:r,take:n},e)},rt=e=>{var a,o;const n=(o=(a=t.gridProps.take)!=null?a:t.gridProps.pageSize)!=null?o:0,r=(t.gridProps.skip||0)-n;r>=0&&W({skip:r,take:n},e)},at=e=>{W({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},Ce=(e,n)=>{F(t.gridProps.onSortChange,{sort:e},{sort:e,...t.gridProps.scrollable==="virtual"?{skip:0}:{}},n)},ot=(e,n)=>{F(t.gridProps.onFilterChange,{filter:e},{filter:e||void 0,skip:0},n)},it=e=>{const n=t.gridProps.searchFields||t.columnsRef.map(o=>o.field)||[],r=e.nativeEvent.target.value,a={logic:"or",filters:n.filter(o=>o!==void 0).map(o=>{var c;return typeof o=="string"?{field:o,value:r,operator:"contains"}:{value:r,operator:(c=o.operator)!=null?c:"contains",field:o.field,ignoreCase:o.ignoreCase}})};F(t.gridProps.onSearchChange,{search:a},{},e.syntheticEvent)},te=(e,n)=>{const r=n.nativeEvent?n:{nativeEvent:n.nativeEvent||n.originalEvent};e.length===0&&t.gridProps.navigatable&&(le.current=!0),F(t.gridProps.onGroupChange,{group:e},{group:e,skip:0},r)},ne=e=>{if(t.gridProps.onColumnsStateChange){const n={target:E.current,columnsState:e};u(t.gridProps.onColumnsStateChange,n)}},re=(e,n,r)=>{const{columnsRef:a,columnsState:o}=t,c=a[e],s=w.getFlatColumnsState(o),g=c.depth,f=C=>{do C++;while(C<a.length&&a[C].depth>g);return C},P=a.splice(e,f(e)-e);a.splice(e<n?f(n-P.length):n,0,...P),a.filter(C=>C.declarationIndex>=0).forEach((C,U)=>{C.orderIndex=U;const V=s.find(_=>_.id===C.id);V&&(V.orderIndex=U)});const y=a[e].locked&&a[n].locked;l.updateLeft(t.columnsMapRef,a,y||p.current),l.updateRight(t.columnsMapRef,a,y||p.current),de.current&&(p.current=!1,de.current=!1);const ee=B();if(ie(),t.gridProps.onColumnReorder){const C={target:E.current,columns:ee,columnId:c.id,nativeEvent:r};u(t.gridProps.onColumnReorder,C)}ne(o)},G=(e,n,r)=>{const a=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(r==="forbidden"||!a||!q.current)return;const{slicedData:o,dataRef:c}=t,s=(o||c)[n];t.gridProps.onRowReorder&&u(t.gridProps.onRowReorder,{draggedDataItems:[q.current],droppedDataItem:s==null?void 0:s.dataItem,dropPosition:r,nativeEvent:e.originalEvent,dragEvent:e,target:E.current}),q.current=null},ct=(e,n,r)=>{if(t.gridProps.group===void 0)return;const a=t.gridProps.group.slice();a.splice(n,0,...a.splice(e,1)),te(a,r)},ve=(e,n,r)=>{const a=t.columnsRef[e].field;if(!a)return;const o=(t.gridProps.group||[]).slice();o.splice(n,0,{field:a}),te(o,r)},dt=(e,n)=>{const r=K.current.getCurrentGroupsLength;ve(e,r,n)},ae=()=>{let e=0;if(!S.current.colGroupMain)return;const n=S.current.colGroupMain.children;for(let r=0;r<n.length;r++){const a=n[r].width;if(!a){e=0;break}e+=parseFloat(a.toString())}e=Math.round(e),N.current&&N.current.setWidth(e),z.current&&z.current.setWidth(e),k.current&&(k.current.style.width=e?e+"px":"")},$=i.useCallback((e,n,r,a,o)=>{var f;if(!lt()&&!r||!e)return;const c={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:a,field:o,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...r},s=X(),g=l.populateClipboardData({event:c,data:s,selectedState:(f=t.gridProps.select)!=null?f:{},previousCopiedItems:we.current});e!==l.ClipboardActionType.paste&&(we.current=g.copiedItems),t.gridProps.onClipboard&&v&&u(t.gridProps.onClipboard,{...c,...g})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),lt=()=>{var o,c,s;if(!b.canUseDOM)return!1;const e=b.getActiveElement(x()),n=e?e.matches(".k-table-td")?e:(o=x())==null?void 0:o.body:(c=x())==null?void 0:c.body,r=n.closest(".k-grid-container"),a=n&&((s=A.current)==null?void 0:s.contains(n));return!!(n&&a&&r)},st=(e,n,r,a,o,c,s)=>{ae(),p.current=!0,de.current=!0,t.gridProps.onColumnResize&&v&&u(t.gridProps.onColumnResize,{columns:B(),nativeEvent:a,targetColumnId:s,index:e,newWidth:n,oldWidth:r,end:o,target:E.current}),o&&ne(c)},ut=()=>{var e;return{filter:t.gridProps.filter,sort:t.gridProps.sort,skip:t.gridProps.skip,take:(e=t.gridProps.take)!=null?e:t.gridProps.pageSize,group:t.gridProps.group}},I=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:E.current}),gt=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),u=(e,n)=>{if(t.gridProps.isClient){e(n);return}e(gt(n))},ft=()=>{var e,n,r;if(O.current&&((e=O.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){ue.current=!1,(n=document.activeElement)!=null&&n.closest(".k-grid-edit-row")?se.current=document.activeElement:se.current=void 0;const a=Array.from((r=O.current)==null?void 0:r.getElementsByClassName("k-grid-edit-row"));a.length>Pe.current.length?Z.current=a.filter(o=>!Pe.current.includes(o))[0]:a.length===1&&(Z.current=a[0],ue.current=!0),Pe.current=a}},L=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),X=()=>(t.slicedData||t.dataRef).filter(e=>e.rowType==="data").map(e=>e.dataItem),x=()=>{var e;if(b.canUseDOM)return((e=J())==null?void 0:e.ownerDocument)||document},J=()=>A.current,oe=i.useCallback(e=>{var a;if(!d.current||!((a=d.current)!=null&&a.container)||t.gridProps.scrollable==="none")return;T.current&&T.current.disconnect();const{rowIndex:n}=e,r=J();if(t.gridProps.scrollable==="virtual")d.current.askedSkip=n,d.current.container.scroll(0,Math.round(d.current.askedSkip/d.current.total*d.current.container.scrollHeight));else if(r){const o=n<1?r.querySelector("tbody > tr:nth-child(1)"):r.querySelector(`tbody > tr:nth-child(${n+1})`);o&&Q.current&&(Q.current.scrollTop=o.offsetTop)}},[t.gridProps.scrollable]),Ee=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),mt=()=>Ee(vt)===Ee(t.columnsRef),Pt=()=>{mt()||ie()},bt=(e,n)=>{var r,a;if(d.current){if(d.current.fixedScroll=t.gridProps.fixedScroll||!1,d.current.PageChange=W,d.current.realSkip=t.gridProps.skip||0,d.current.pageSize=(a=(r=t.gridProps.take)!=null?r:t.gridProps.pageSize)!=null?a:0,d.current.scrollableVirtual=t.gridProps.scrollable==="virtual",d.current.total=e,d.current.propsSkip=(t.gridProps.skip||0)+(t.gridProps.scrollable==="virtual"?d.current.topCacheCount+(d.current.attendedSkip-(t.gridProps.skip||0)):0),t.gridProps.rowHeight!==void 0&&t.gridProps.rowHeight>0&&!n){const o=t.gridProps.rowHeight*e;d.current.containerHeight=w.firefox?Math.min(w.firefoxMaxHeight,o):o}else d.current.containerHeight=1533915;if(d.current.containerRef=Q,d.current.tableBodyRef=O,d.current.table=k.current,d.current instanceof Me.VirtualScrollFixed){const{rowHeight:o=0,detail:c,expandField:s}=t.gridProps;let{detailRowHeight:g=0}=t.gridProps;g=c&&s?g:o,t.isAllData?(d.current.total=t.dataRef.length,d.current.rowHeightService=new b.RowHeightService(t.dataRef.length,o,g,t.dataRef)):d.current.rowHeightService=new b.RowHeightService(e,o,g);const f=d.current.rowHeightService.totalHeight();d.current.containerHeight=w.firefox?Math.min(w.firefoxMaxHeight,f):f}}},ye=i.useCallback(e=>{const n={rowIndex:me.current};e.forEach(r=>{r.isIntersecting||oe(n)})},[oe]),ie=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},ht=e=>e.left!==void 0?xe!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},E=i.useRef(null),d=i.useRef(),S=i.useRef(),K=i.useRef(),D=i.useRef(),M=i.useRef(),Y=i.useRef(),T=i.useRef(null),O=i.useRef(null),It=i.useRef(null),Q=i.useRef(null),k=i.useRef(null),ce=i.useRef(null),A=i.useRef(null),z=i.useRef(null),N=i.useRef(null),de=i.useRef(!1),le=i.useRef(!1),Z=i.useRef(),se=i.useRef(),ue=i.useRef(!1),p=i.useRef(!0),ge=i.useRef(0),fe=i.useRef(),me=i.useRef(),Pe=i.useRef([]),we=i.useRef([]),q=i.useRef(null),Rt=i.useRef(null),Ct=i.useRef(null),xe=b.useDir(A),vt=i.useMemo(()=>i.Children.toArray(t.gridProps.children),[t.gridProps.children]),R=l.getSelectionOptions((ke=t.gridProps.selectable)!=null?ke:!!t.gridProps.selectedField),Se=l.getEditableOptions((Ke=t.gridProps.editable)!=null?Ke:!!t.gridProps.editField);i.useMemo(()=>{l.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:D,navigationStateRef:M,idPrefix:t.id})},[]),i.useMemo(()=>{var r;(r=d.current)==null||r.reset();const e=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,n=t.isFixedVirtualScroll?Me.VirtualScrollFixed:Kt.VirtualScroll;d.current=new n(e||t.gridProps.rowHeight===void 0||t.gridProps.rowHeight===0)},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,t.gridProps.groupable,t.gridProps.sort,t.gridProps.rowHeight]),i.useEffect(()=>(t.gridProps.clipboard&&(Y.current=new l.ClipboardService($),Y.current.addEventListeners(x())),()=>{Y.current&&Y.current.removeEventListeners(x())}),[t.gridProps.onClipboard,t.gridProps.clipboard,$,x]),i.useEffect(()=>(t.gridProps.columnVirtualization&&!window.navigator.userAgent.match(kt.SAFARI_REGEX)&&(ce.current&&(ce.current.style.display="block"),k.current&&(k.current.style.display="block")),ae(),b.setScrollbarWidth(),l.tableKeyboardNavigation.onComponentDidMount({scope:A.current||void 0,contextStateRef:D,navigationStateRef:M}),()=>{clearTimeout(fe.current)}),[]),i.useEffect(()=>{var e;ae(),b.setScrollbarWidth(),(e=d.current)!=null&&e.tableTransform&&d.current.table&&(d.current.table.style.transform=d.current.tableTransform,d.current.tableTransform=""),ft(),l.tableKeyboardNavigation.onComponentDidUpdate({scope:A.current||void 0,contextStateRef:D,navigationStateRef:M,focusFirst:le.current,newEditableRow:Z.current,singleEditRow:ue.current,lastActiveElement:se.current,navigatable:t.gridProps.navigatable}),le.current=!1,Z.current=void 0}),i.useEffect(()=>{if(b.canUseDOM){const e={rootMargin:"0px",threshold:.9};T.current=window.IntersectionObserver&&new window.IntersectionObserver(ye,e)||null}},[ye]),i.useEffect(()=>{var n;let e;return b.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(Pt),e.observe((n=x())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),i.useImperativeHandle(E,()=>({get element(){return J()},props:t.gridProps,get columns(){return B()},scrollIntoView:e=>{var a;if(!((a=d.current)!=null&&a.container)||t.gridProps.scrollable==="none")return;const{rowIndex:n}=e;me.current=n;const r=J();if(T.current&&r){T.current.disconnect();const o=r.querySelector(`[absolute-row-index="${me.current}"]`);o?T.current.observe(o):oe(e)}},fitColumns:e=>{S.current.dblClickHandler(null,e)}})),i.useImperativeHandle(t.gridRef,()=>E.current),i.useMemo(()=>{S.current=new St.ColumnResize(st)},[t.gridProps.onColumnResize,t.columnsRef]),i.useMemo(()=>{K.current=new Dt.CommonDragLogic(re,ct,ve)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),S.current.resizable=t.gridProps.resizable||!1,S.current.columns=t.columnsRef,S.current.columnsState=b.cloneArray(t.columnsState);const De=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1;return K.current.reorderable=t.gridProps.reorderable||!1,K.current.groupable=De,K.current.columns=t.columnsRef,bt(t.total,De),i.createElement(He.Provider,{value:{isClient:v,rowReorder:G,activeDragRowDataItemRef:q,reorderRowDragTargetRef:Rt,reorderRowDropTargetRef:Ct,dir:xe,getCellPositionStyle:ht,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,onColumnsStateChange:ne,groupChange:te,selectionRelease:Qe,pagerPageChange:at,onContextMenu:Oe,rowClick:Ve,rowDblClick:_e,cellClick:Be,headerCellClick:Re,itemChange:$e,sortChange:Ce,filterChange:ot,searchChange:it,onHeaderSelectionChange:Ye,columnGroupChange:dt,onKeyDown:Ne,onFocus:qe,scrollHandler:ze,selectionChange:Xe,dispatchDetailExpand:je,dispatchGroupExpand:We,columnResizeRef:S,dragLogicRef:K,navigationStateRef:M,tableElementRef:k,tableBodyElementRef:O,headerElementRef:It,containerElementRef:Q,headTableElementRef:ce,elementRef:A,footerRef:z,headerRef:N,vsRef:d}},i.createElement(l.TableKeyboardNavigationContext.Provider,{value:D.current},t.children),i.createElement(Mt.GridContextMenu,{show:m.show,dataItem:m.dataItem,field:m.field,items:Ge,offset:m.offset,onClose:be,onSelect:Le}))};exports.GridClientWrapper=At;exports.GridContext=He;
@@ -157,13 +157,13 @@ const sn = i.createContext(void 0), wn = (t) => {
157
157
  T.onKeyDown(e, {
158
158
  navigatable: t.gridProps.navigatable || !1,
159
159
  contextStateRef: y,
160
- navigationStateRef: D,
160
+ navigationStateRef: k,
161
161
  onNavigationAction: $e,
162
162
  columns: U()
163
163
  }), T.onGetSnapshotBeforeUpdate({
164
164
  document: v(),
165
165
  contextStateRef: y,
166
- navigationStateRef: D
166
+ navigationStateRef: k
167
167
  });
168
168
  const n = {
169
169
  dataItems: H(),
@@ -206,7 +206,7 @@ const sn = i.createContext(void 0), wn = (t) => {
206
206
  ...P(e)
207
207
  });
208
208
  }, Qe = (e, n, r) => {
209
- if (ke.enabled && ke.mode === "incell" && t.gridProps.dataItemKey) {
209
+ if (De.enabled && De.mode === "incell" && t.gridProps.dataItemKey) {
210
210
  const a = Ot(t.gridProps.edit, {
211
211
  type: Bt.ENTER_FIELD_EDIT,
212
212
  payload: { id: n[t.gridProps.dataItemKey], field: r }
@@ -556,11 +556,13 @@ const sn = i.createContext(void 0), wn = (t) => {
556
556
  const n = E.current.colGroupMain.children;
557
557
  for (let r = 0; r < n.length; r++) {
558
558
  const a = n[r].width;
559
- if (!a)
560
- return;
559
+ if (!a) {
560
+ e = 0;
561
+ break;
562
+ }
561
563
  e += parseFloat(a.toString());
562
564
  }
563
- e = Math.round(e), G.current && G.current.setWidth(e), L.current && L.current.setWidth(e), x.current && (x.current.style.width = e + "px");
565
+ e = Math.round(e), G.current && G.current.setWidth(e), L.current && L.current.setWidth(e), x.current && (x.current.style.width = e ? e + "px" : "");
564
566
  }, W = i.useCallback(
565
567
  (e, n, r, a, o) => {
566
568
  var g;
@@ -654,7 +656,7 @@ const sn = i.createContext(void 0), wn = (t) => {
654
656
  var a;
655
657
  if (!c.current || !((a = c.current) != null && a.container) || t.gridProps.scrollable === "none")
656
658
  return;
657
- k.current && k.current.disconnect();
659
+ D.current && D.current.disconnect();
658
660
  const { rowIndex: n } = e, r = q();
659
661
  if (t.gridProps.scrollable === "virtual")
660
662
  c.current.askedSkip = n, c.current.container.scroll(
@@ -667,7 +669,7 @@ const sn = i.createContext(void 0), wn = (t) => {
667
669
  }
668
670
  },
669
671
  [t.gridProps.scrollable]
670
- ), ye = (e) => JSON.stringify(e.map((n) => ({ id: n.id, field: n.field, title: n.title, children: n.children }))), vt = () => ye(kt) === ye(t.columnsRef), Et = () => {
672
+ ), ye = (e) => JSON.stringify(e.map((n) => ({ id: n.id, field: n.field, title: n.title, children: n.children }))), vt = () => ye(Dt) === ye(t.columnsRef), Et = () => {
671
673
  vt() || ie();
672
674
  }, wt = (e, n) => {
673
675
  var r, a;
@@ -700,12 +702,12 @@ const sn = i.createContext(void 0), wn = (t) => {
700
702
  [oe]
701
703
  ), ie = () => {
702
704
  t.gridProps.forceUpdate && t.gridProps.forceUpdate();
703
- }, yt = (e) => e.left !== void 0 ? De !== "rtl" ? { left: e.left, right: e.right } : { left: e.right, right: e.left } : {}, R = i.useRef(null), c = i.useRef(), E = i.useRef(), S = i.useRef(), y = i.useRef(), D = i.useRef(), X = i.useRef(), k = i.useRef(null), F = i.useRef(null), xt = i.useRef(null), $ = i.useRef(null), x = i.useRef(null), de = i.useRef(null), K = i.useRef(null), L = i.useRef(null), G = i.useRef(null), ce = i.useRef(!1), le = i.useRef(!1), J = i.useRef(), se = i.useRef(), ue = i.useRef(!1), Y = i.useRef(!0), ge = i.useRef(0), fe = i.useRef(), me = i.useRef(), Pe = i.useRef([]), Se = i.useRef([]), z = i.useRef(null), St = i.useRef(null), Dt = i.useRef(null), De = Ht(K), kt = i.useMemo(() => i.Children.toArray(t.gridProps.children), [t.gridProps.children]), h = ee((Te = t.gridProps.selectable) != null ? Te : !!t.gridProps.selectedField), ke = Gt((Me = t.gridProps.editable) != null ? Me : !!t.gridProps.editField);
705
+ }, yt = (e) => e.left !== void 0 ? ke !== "rtl" ? { left: e.left, right: e.right } : { left: e.right, right: e.left } : {}, R = i.useRef(null), c = i.useRef(), E = i.useRef(), S = i.useRef(), y = i.useRef(), k = i.useRef(), X = i.useRef(), D = i.useRef(null), F = i.useRef(null), xt = i.useRef(null), $ = i.useRef(null), x = i.useRef(null), de = i.useRef(null), K = i.useRef(null), L = i.useRef(null), G = i.useRef(null), ce = i.useRef(!1), le = i.useRef(!1), J = i.useRef(), se = i.useRef(), ue = i.useRef(!1), Y = i.useRef(!0), ge = i.useRef(0), fe = i.useRef(), me = i.useRef(), Pe = i.useRef([]), Se = i.useRef([]), z = i.useRef(null), St = i.useRef(null), kt = i.useRef(null), ke = Ht(K), Dt = i.useMemo(() => i.Children.toArray(t.gridProps.children), [t.gridProps.children]), h = ee((Te = t.gridProps.selectable) != null ? Te : !!t.gridProps.selectedField), De = Gt((Me = t.gridProps.editable) != null ? Me : !!t.gridProps.editField);
704
706
  i.useMemo(() => {
705
707
  T.onConstructor({
706
708
  navigatable: !!t.gridProps.navigatable,
707
709
  contextStateRef: y,
708
- navigationStateRef: D,
710
+ navigationStateRef: k,
709
711
  idPrefix: t.id
710
712
  });
711
713
  }, []), i.useMemo(() => {
@@ -726,7 +728,7 @@ const sn = i.createContext(void 0), wn = (t) => {
726
728
  }), [t.gridProps.onClipboard, t.gridProps.clipboard, W, v]), i.useEffect(() => (t.gridProps.columnVirtualization && !window.navigator.userAgent.match(Zt) && (de.current && (de.current.style.display = "block"), x.current && (x.current.style.display = "block")), ae(), Ae(), T.onComponentDidMount({
727
729
  scope: K.current || void 0,
728
730
  contextStateRef: y,
729
- navigationStateRef: D
731
+ navigationStateRef: k
730
732
  }), () => {
731
733
  clearTimeout(fe.current);
732
734
  }), []), i.useEffect(() => {
@@ -734,7 +736,7 @@ const sn = i.createContext(void 0), wn = (t) => {
734
736
  ae(), Ae(), (e = c.current) != null && e.tableTransform && c.current.table && (c.current.table.style.transform = c.current.tableTransform, c.current.tableTransform = ""), Ct(), T.onComponentDidUpdate({
735
737
  scope: K.current || void 0,
736
738
  contextStateRef: y,
737
- navigationStateRef: D,
739
+ navigationStateRef: k,
738
740
  focusFirst: le.current,
739
741
  newEditableRow: J.current,
740
742
  singleEditRow: ue.current,
@@ -747,7 +749,7 @@ const sn = i.createContext(void 0), wn = (t) => {
747
749
  rootMargin: "0px",
748
750
  threshold: 0.9
749
751
  };
750
- k.current = window.IntersectionObserver && new window.IntersectionObserver(xe, e) || null;
752
+ D.current = window.IntersectionObserver && new window.IntersectionObserver(xe, e) || null;
751
753
  }
752
754
  }, [xe]), i.useEffect(() => {
753
755
  var n;
@@ -772,10 +774,10 @@ const sn = i.createContext(void 0), wn = (t) => {
772
774
  const { rowIndex: n } = e;
773
775
  me.current = n;
774
776
  const r = q();
775
- if (k.current && r) {
776
- k.current.disconnect();
777
+ if (D.current && r) {
778
+ D.current.disconnect();
777
779
  const o = r.querySelector(`[absolute-row-index="${me.current}"]`);
778
- o ? k.current.observe(o) : oe(e);
780
+ o ? D.current.observe(o) : oe(e);
779
781
  }
780
782
  },
781
783
  fitColumns: (e) => {
@@ -802,8 +804,8 @@ const sn = i.createContext(void 0), wn = (t) => {
802
804
  rowReorder: A,
803
805
  activeDragRowDataItemRef: z,
804
806
  reorderRowDragTargetRef: St,
805
- reorderRowDropTargetRef: Dt,
806
- dir: De,
807
+ reorderRowDropTargetRef: kt,
808
+ dir: ke,
807
809
  getCellPositionStyle: yt,
808
810
  dataItemKey: t.gridProps.dataItemKey,
809
811
  columnsState: t.columnsState,
@@ -830,7 +832,7 @@ const sn = i.createContext(void 0), wn = (t) => {
830
832
  dispatchGroupExpand: pe,
831
833
  columnResizeRef: E,
832
834
  dragLogicRef: S,
833
- navigationStateRef: D,
835
+ navigationStateRef: k,
834
836
  tableElementRef: x,
835
837
  tableBodyElementRef: F,
836
838
  headerElementRef: xt,
package/GridComponent.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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const wt=require("react"),s=require("@progress/kendo-react-common"),St=require("@progress/kendo-data-query"),b=require("@progress/kendo-react-data-tools"),Gt=require("./cells/GridSelectionCell.js"),Et=require("./cells/GridHierarchyCell.js"),Rt=require("./cells/GridEditCell.js"),vt=require("./header/Header.js"),It=require("./header/HeaderRow.js"),xt=require("./header/FilterRow.js"),Nt=require("./header/GroupPanel.js"),kt=require("./footer/Footer.js"),u=require("./utils/index.js"),qt=require("./cells/GridCell.js"),Ve=require("./cells/GridGroupCell.js"),Ft=require("./rows/GridRow.js"),Dt=require("./header/GridHeaderSelectionCell.js"),Ae=require("./components/noRecords/GridNoRecords.js"),Oe=require("./filterCommon.js"),Tt=require("./footer/FooterRow.js"),Ht=require("./paging/GridPagerSettings.js"),Pt=require("./package-metadata.js"),Kt=require("./cells/GridDetailCell.js"),Vt=require("./cells/GridDetailHierarchyCell.js"),Be=require("./components/noRecords/GridNoRecordsContainer.js"),Le=require("./GridClientWrapper.js"),At=require("./components/colGroup/GridColGroup.js"),Ot=require("./components/table/GridTable.js"),_e=require("./components/GridDropClue.js"),ze=require("./components/GridDragClue.js"),Me=require("./components/table/GridTableBody.js"),Bt=require("./components/PagerContainer.js"),Lt=require("./components/table/GridTableScrollable.js"),We=require("./components/GridElementContainer.js"),_t=require("./components/GridContainerElementContainer.js"),zt=require("./components/VirtualScrollHeightContainer.js"),ne=require("./messages/index.js"),Q=require("./VirtualScrollFixed.js"),Mt=require("./VirtualScroll.js"),Wt=require("./components/GridCustomCellClientContainer.js"),jt=require("./components/GridDraggableRowsContainer.js"),$t=require("./cells/GridRowReorderCell.js"),Qt=require("./header/client/GridHeaderRowReorderCell.js"),je=require("./components/GridLoader.js"),Ut=require("./utils/premium.js"),$e=require("@progress/kendo-react-intl");function Jt(e){const q=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const h in e)if(h!=="default"){const G=Object.getOwnPropertyDescriptor(e,h);Object.defineProperty(q,h,G.get?G:{enumerable:!0,get:()=>e[h]})}}return q.default=e,Object.freeze(q)}const a=Jt(wt),Qe=a.forwardRef((e,q)=>{var ve,Ie,xe,Ne,ke,qe,Fe,De;const h=e.id+"-role-element-id",G=e.navigatable?h:"";let v=e.columnsState||[];const Ue=(t,n,d,i,o,g,l)=>{const c=[],C=u.flatData(c,E,t,{index:n},d!==void 0,i,o,g,it.defaultExpand,l);return{flattedData:c,resolvedGroupsCount:C}},Je=t=>{const n=t.filter(d=>d&&d.type&&d.type.displayName==="KendoReactGridColumn");return u.readColumns(n,v,{prevId:0,idPrefix:G})},Xe=()=>{const t=[],n=(d,i)=>d==null?void 0:d.forEach(o=>{const g=o.hidden||i;t.push({...o,hidden:g}),n(o.children,g)});return n(v,!1),t},Ye=t=>{const n=Xe();return t.filter(d=>{var i;return!d.hidden&&!((i=n.find(o=>o.id===d.id))!=null&&i.hidden)})},Ze=(t,n)=>{var d;f=Je(t),f.filter(i=>!i.hidden).length===0&&(f=u.autoGenerateColumns(E,e.group,{column:(d=O.column)!=null?d:e.expandField},{prevId:0,idPrefix:G})),et(f,n),f=Ye(f),F=u.mapColumns(f,!0),ie=f.map(u.clientColumn)},pe=(t,n)=>{const d=i=>{var g;const o=n.find(l=>l.id===i.id);return o?(o.children=(g=i.children)==null?void 0:g.map(d),o):u.getColumnState(i)};v=t.filter(i=>i.parentIndex===-1).map(d)},et=(t,n)=>{var g;t.filter(l=>e.selectedField&&l.field===e.selectedField||l.columnType==="checkbox").forEach(l=>{l.width=l.width||"50px",l.cell=l.cell||Gt.GridSelectionCell,l._type="edit",l.headerCell=l.headerCell||Dt.GridHeaderSelectionCell}),T!==void 0&&t.filter(l=>l.columnType==="reorder").forEach(l=>{l.width=l.width||"50px",l.cell=l.cell||$t.GridRowReorderCell,l.headerCell=l.headerCell||Qt.GridHeaderRowReorderCell,l.sortable=!1,l.filterable=!1,l.editable=!1});const d=u.getFlatColumnsState(v);pe(t,d);const i={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let o=0;if((e.expandField||O.enabled)&&e.detail){const l={...i,_type:"expand",id:b.tableKeyboardNavigationTools.generateNavigatableId(`${o++}`,"expand","column"),cell:Et.GridHierarchyCell,field:(g=O.column)!=null?g:e.expandField,headerClassName:s.classNames(m.hierarchyCell({}))};t.unshift(l),v.unshift(d.find(c=>c.id===l.id)||u.getColumnState(l))}for(let l=0;l<n;l++){const c={...i,isAccessible:!1,cell:Ve.GridGroupCell,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${o++}`,"group","column"),field:"value",locked:e.lockGroups};t.unshift(c),v.unshift(d.find(C=>C.id===c.id)||u.getColumnState(c))}t.slice(o).forEach(l=>{l.parentIndex>=0&&(l.parentIndex+=o),l.rowSpannable=l.rowSpannable!==void 0?u.getRowSpanOptions(l.rowSpannable):de})},U=()=>E.length===e.total,tt=()=>{const{rowHeight:t,detailRowHeight:n,detail:d,expandField:i}=e,o=U(),g=t!==void 0&&t>0,l=n!==void 0&&n>0;return!g||A&&!o||!!(d&&i)&&(!l||!o)?Mt.VirtualScroll:Q.VirtualScrollFixed},J=()=>e.isClient?f:ie,at=(t,n,d,i,o,g)=>{let l=u.getColSpan(t,n);if(e.columnVirtualization&&t.colSpan===1)return{colSpan:g,colsToSkip:o};let c=d.length-1===i,C=d.length-i;return e.columnVirtualization&&(c=w.length-1===i,C=w.length-i),l>1&&!c?o=l-1:l=1,C<=l&&!c&&(l=C),{colSpan:l,colsToSkip:o}};let X,y=[],z,f=[],ie=[],F=[[]];const lt=e.scrollLeftRef||{current:0},M=e.localization||new $e.LocalizationService(e.language),rt=e.intl||new $e.IntlService((ve=e.locale)!=null?ve:"en"),D=e.unstyled,m=D&&D.uGrid?D.uGrid:s.uGrid,T=u.isRowReorderEnabled(e.rowReorderable),H=e.autoProcessData===!0?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:e.autoProcessData;let E,k;if(Array.isArray(e.data)?(E=e.data,k=(Ie=e.total)!=null?Ie:E.length):(E=((xe=e.data)==null?void 0:xe.data)||[],k=(qe=(ke=e.total)!=null?ke:(Ne=e.data)==null?void 0:Ne.total)!=null?qe:E.length),H){const{data:t,total:n}=St.process(E,{group:H.group?e.group:void 0,sort:H.sort?e.sort:void 0,filter:b.combineFilters(H.filter?e.filter:void 0,H.search?e.search:void 0),...H.page?{take:e.take,skip:e.skip}:{}});E=t,k=(Fe=e.total)!=null?Fe:n}const{size:I="medium"}=e,nt=typeof e.groupable=="object"&&e.groupable.footer||"none",P=e.scrollable==="virtual",A=e.groupable===!0||typeof e.groupable=="object"&&e.groupable.enabled!==!1,O=b.getDetailExpandableOptions(!!e.detail),it=b.getGroupExpandableOptions(typeof e.groupable=="object"&&e.groupable.enabled!==!1?e.groupable.expandable:e.groupable),{resolvedGroupsCount:ot,flattedData:dt}=Ue(nt,e.skip||0,e.group,e.expandField,e.detailExpand,e.groupExpand,e.dataItemKey);y=dt;const Y=tt();Y===Q.VirtualScrollFixed&&U()&&(z=y.slice(e.skip||0,(e.skip||0)+((e.take!==void 0?e.take:e.pageSize)||0)));const oe=b.getSelectionOptions(e.selectable||!!e.selectedField),de=u.getRowSpanOptions(e.rowSpannable),ct=oe&&oe.drag?"none":void 0,W=a.useMemo(()=>a.Children.toArray(e.children),[e.children]);Ze(W,ot);const Z=a.useMemo(()=>{const t=Ut.gridPremiumFeatures(e,f);return{premium:t.length>0,features:t}},[e,f]),st=a.useMemo(()=>Z.premium?!s.validatePackage(Pt.packageMetadata,{component:"Grid",features:Z.features}):!1,[Z.premium]),ce=W.map(t=>t&&t.type&&t.type.displayName==="KendoReactGridToolbar"?a.cloneElement(t,{...t.props,ariaControls:h}):null),j=W.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridNoRecords"),se=W.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridStatusBar"),w=f.filter(t=>t.children.length===0),ue=A&&a.createElement(Nt.GroupPanel,{columns:J(),group:e.group||[],ariaControls:h}),ge=a.createElement(vt.Header,{size:I,staticHeaders:e.scrollable!=="none",draggable:e.reorderable||A,headerRow:a.createElement(It.HeaderRow,{cells:e.cells,sort:e.sort,sortable:e.sortable,group:e.group||[],groupable:A,filter:e.filter,filterable:e.filterable,filterOperators:e.filterOperators||Oe.operators,columnMenu:e.columnMenu,columnMenuIcon:e.columnMenuIcon,columns:f,columnsMap:F,cellRender:e.headerCellRender,navigatable:!!e.navigatable,localization:M,unstyled:D,headerSelectionValue:!!(e.select&&y.filter(t=>t.rowType==="data").every(t=>e.select&&e.dataItemKey&&s.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[s.getter(e.dataItemKey)(t.dataItem)]:void 0))}),filterRow:e.filterable&&a.createElement(xt.FilterRow,{cells:e.cells,size:I,columns:f,filter:e.filter,filterOperators:e.filterOperators||Oe.operators,sort:e.sort,cellRender:e.filterCellRender,navigatable:!!e.navigatable,ariaRowIndex:F.length+1,localization:M})||void 0,cols:w.map((t,n)=>a.createElement("col",{key:n.toString(),width:u.getColumnWidth(t)}))}),ut=lt.current||0,gt=parseFloat(((e.style||{}).width||"").toString()),ft=(t,n,d,i,o)=>{let g=!1;const l=e.selectedField?u.getNestedValue(e.selectedField,t.dataItem):e.select&&e.dataItemKey&&s.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[s.getter(e.dataItemKey)(t.dataItem)]:void 0;let c=0;const{colSpans:C,hiddenColumns:K}=b.tableColumnsVirtualization({enabled:e.columnVirtualization,columns:w,tableViewPortWidth:gt,scrollLeft:ut,getColSpan:u.getColSpan,dataItem:t.dataItem}),x=w.filter((r,S)=>!K[S]);return{row:w.map((r,S)=>{var Te,He,Pe,Ke;if(K[S])return null;if(c>0)return c--,null;let R;if((Te=r.rowSpannable)!=null&&Te.enabled&&t.rowType==="data"&&r.field&&o){const N=r.field?(Pe=(He=r.rowSpannable).valueGetter)==null?void 0:Pe.call(He,t.dataItem,r.field):null;R={value:N,count:1},o[r.field]&&((Ke=o[r.field])==null?void 0:Ke.value)===N&&o[r.field]!==null?(o[r.field].count++,R.count=null):o[r.field]=R}const{colSpan:L,colsToSkip:te}=at(r,t.dataItem,x,S,c,C[S]);c=te;const _=r.id?r.id:S,Ct=s.classNames(m.contentSticky({locked:r.locked}),r.className),ht=r.left!==void 0?{left:r.left,right:r.right}:{};let ae=!1;if(r.editable&&(e.editable||e.editField)){const N=e.editField?u.getNestedValue(e.editField,t.dataItem):e.edit&&e.dataItemKey?e.edit[s.getter(e.dataItemKey)(t.dataItem)]:void 0,re=typeof N=="boolean"?N:Array.isArray(N)?N.indexOf(r.field)>-1:r.field!==void 0&&N===r.field;re&&r.columnType==="data"&&(re===!0||re===r.field)&&(g=!0,ae=!0)}const le=r.cell||ae&&Rt.GridEditCell||qt.GridCell,yt=e.expandField&&e.detail&&r.field===e.expandField||r._type==="expand",V={locked:e.lockGroups,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${n}-${String(S)}`,G,yt||t.rowType==="groupHeader"||t.rowType==="groupFooter"||r.field==="value"?"nodata":"cell"),colSpan:L,dataItem:t.dataItem,field:r.field,editor:r.editor,format:r.format,columnType:r.columnType,rowReorderable:T,className:Ct,render:e.cellRender,cells:u.resolveCells(e.cells,r.cells),columnIndex:S,columnsCount:w.length,rowType:t.rowType,level:t.level,expanded:t.expanded,dataIndex:t.dataIndex,rowDataIndex:d,columnPosition:ht,style:{},ariaColumnIndex:r.ariaColumnIndex,isSelected:(r==null?void 0:r._type)==="edit"?l:Array.isArray(l)&&l.indexOf(S)>-1,isSorted:!!u.isSorted(r.field,e.sort),isInEdit:ae,isAlt:i,unstyled:D,group:t.group,localization:M,intl:rt,_rowSpan:R};return r.cell?a.createElement(Wt.GridCustomCellClientContainer,{key:_,isClient:u.isClientReference(le),dataItem:V.dataItem,rowDataIndex:V.rowDataIndex,columnIndex:V.columnIndex,columnPosition:V.columnPosition},a.createElement(le,{...V})):a.createElement(le,{key:_,...V})}),isInEdit:g,isSelected:typeof l=="boolean"&&l}};let fe=0;if(P&&X)for(let t=0;t<X.topCacheCount+X.attendedSkip-(e.skip||0);t++){const n=y.shift();if(n)y.push(n),fe++,n.rowType==="groupHeader"&&t--;else break}const me=t=>t>=y.length-fe;let be=e.skip||0;const p=[],Ce=!y.length,he=F.length+(e.filterable?1:0)+1;let B=0;if(y.length){let t=-1,n=0;const d=de.enabled?{}:void 0;(z||y).forEach((i,o)=>{i.rowType==="data"&&(be++,t++);const g=be%2===0,l=e.dataItemKey&&s.getter(e.dataItemKey)(i.dataItem),c=o+(e.skip||0),C=l||"ai"+c,K=C+"_1",x=ft(i,C,t,g,d);if(B=c+he+n,p.push(a.createElement(Ft.GridRow,{key:C,dataItem:i.dataItem,isAltRow:g,isInEdit:x.isInEdit,rowType:i.rowType,isRowReorderable:T,isHidden:me(o),onClick:null,onDoubleClick:null,selectedField:e.selectedField,rowHeight:e.rowHeight,render:e.rowRender,ariaRowIndex:B,absoluteRowIndex:c,dataIndex:P&&!e.groupable?c:t,isSelected:x.isSelected,rows:e.rows},x.row)),e.detail&&i.rowType==="data"&&i.expanded){const r=w.length-(e.expandField||O.enabled?1:0)-(e.group?e.group.length:0)||1;n++,B=c+he+n,p.push(a.createElement("tr",{key:K,className:s.classNames(m.detailTr({isAlt:g})),style:{visibility:me(o)?"hidden":"",height:e.detailRowHeight},role:"row","aria-rowindex":B},e.group&&e.group.map((S,R)=>{var _;const L=(_=x==null?void 0:x.row[R])==null?void 0:_.props.style,te=L?{left:L.left,right:L.right}:{};return a.createElement(Ve.GridGroupCell,{id:"",dataIndex:i.dataIndex,field:S.field,dataItem:i.dataItem,key:R,columnPosition:te,style:{},ariaColumnIndex:1+R,isSelected:!1,locked:e.lockGroups,cells:e.cells,group:i.group})}),(e.expandField||O.enabled)&&a.createElement(Vt.GridDetailHierarchyCell,{unstyled:D,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${K}-dhcell`,G)}),a.createElement(Kt.GridDetailCell,{dataItem:i.dataItem,dataIndex:i.dataIndex,colSpan:r,ariaColIndex:2+(e.group?e.group.length:0),detail:e.detail,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${K}-dcell`,G)})))}})}const ye={size:I,total:k,skip:e.skip||0,take:(e.take!==void 0?e.take:e.pageSize)||10,...Ht.normalize(e.pageable||{})},we=a.createElement(Bt.PagerContainer,null,e.pager?a.createElement(e.pager,{...ye}):a.createElement(b.Pager,{className:s.classNames(m.pager({})),...ye})),mt=(t,n)=>a.createElement("col",{key:n.toString(),width:u.getColumnWidth(t)}),bt=(De=e.cells)!=null&&De.footerCell||f.some(t=>{var n;return!!(t.footerCell||(n=t.cells)!=null&&n.footerCell)})?a.createElement(kt.Footer,{size:I,staticHeaders:e.scrollable!=="none",row:a.createElement(Tt.FooterRow,{cells:e.cells,idPrefix:G,columns:f,ariaRowIndex:B+1}),cols:w.map(mt)}):null,Se=a.createElement(At.GridColGroup,null,w.map((t,n)=>a.createElement("col",{key:n.toString(),className:u.isSorted(t.field,e.sort)?s.classNames(m.sorted({})):void 0,width:u.getColumnWidth(t)}))),Ge=e.reorderable||A,{detail:Xt,cells:Yt,rows:Zt,...Ee}=e,Re=a.createElement("tbody",{role:"rowgroup",className:s.classNames(m.tbody({})),...b.tableKeyboardNavigationBodyAttributes},p);let ee=Re;if(T&&(ee=a.createElement(jt.GridReorderableRowsContainer,{unstyled:m,columns:f,rowReorderSettings:e.rowReorderable},Re)),e.scrollable==="none")return a.createElement(Le.GridClientWrapper,{gridRef:q,gridProps:Ee,columnsRef:J(),columnsMapRef:F,columnsState:v,dataRef:y,slicedData:z,isFixedVirtualScroll:Y===Q.VirtualScrollFixed,id:h,total:k,isAllData:U(),detailExpandable:!!e.detail},a.createElement(We.GridElementContainer,null,a.createElement("div",{id:e.id,style:e.style,className:s.classNames(m.wrapper({size:I}),e.className),"aria-label":e.ariaLabel,...b.tableKeyboardNavigationScopeAttributes},ce,ue,a.createElement(Ot.GridTable,{selectable:e.selectable,className:s.classNames(m.table({size:I}))},Se,ge,a.createElement(Me.GridTableBody,{rowReorderable:T},ee)),Ce&&a.createElement(Be.GridNoRecordsContainer,null,j.length?j:a.createElement(Ae.GridNoRecords,null)),Ge&&a.createElement(a.Fragment,null,a.createElement(_e.GridDropClue,null),a.createElement(ze.GridDragClue,null)))),se,e.pageable&&we,a.createElement(je.GridLoader,{loader:e.loader,showLoader:e.showLoader}));let $=e.style||{};return P&&($.height||($=Object.assign({},$,{height:"450px"}))),a.createElement(Le.GridClientWrapper,{gridRef:q,gridProps:Ee,columnsRef:J(),columnsMapRef:F,columnsState:v,dataRef:y,slicedData:z,isFixedVirtualScroll:Y===Q.VirtualScrollFixed,id:h,total:k,detailExpandable:!!e.detail},a.createElement(We.GridElementContainer,null,a.createElement("div",{id:e.id,style:$,className:s.classNames(m.wrapper({size:I,virtual:P}),e.className),"aria-label":e.ariaLabel,...b.tableKeyboardNavigationScopeAttributes},ce,ue,a.createElement("div",{className:s.classNames(m.ariaRoot({})),role:"grid","aria-colcount":w.length,"aria-rowcount":k,id:h,"aria-label":M.toLanguageString(ne.gridAriaLabel,ne.messages[ne.gridAriaLabel])},ge,a.createElement("div",{className:s.classNames(m.container({})),role:"presentation"},a.createElement(_t.GridContainerElementContainer,null,a.createElement("div",{className:s.classNames(m.content({})),role:"presentation"},a.createElement("div",{className:s.classNames(m.tableWrap({})),role:"presentation"},a.createElement(Lt.GridTableScrollable,{selectable:e.selectable,tableClassName:s.classNames(m.table({size:I})),tableStyle:{userSelect:ct}},Se,a.createElement(Me.GridTableBody,{rowReorderable:T},ee)),Ce&&a.createElement(Be.GridNoRecordsContainer,null,j.length?j:a.createElement(Ae.GridNoRecords,null))),P&&a.createElement("div",{className:s.classNames(m.heightContainer({})),role:"presentation"},a.createElement(zt.VirtualScrollHeightContainer,{isVirtualScroll:P}))))),bt,Ge&&a.createElement(a.Fragment,null,a.createElement(_e.GridDropClue,null),a.createElement(ze.GridDragClue,null)),st&&a.createElement(s.WatermarkOverlay,null)),se,e.pageable&&we,a.createElement(je.GridLoader,{loader:e.loader,showLoader:e.showLoader}))))});Qe.displayName="KendoReactGridComponent";exports.GridComponent=Qe;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const wt=require("react"),c=require("@progress/kendo-react-common"),St=require("@progress/kendo-data-query"),b=require("@progress/kendo-react-data-tools"),Gt=require("./cells/GridSelectionCell.js"),Et=require("./cells/GridHierarchyCell.js"),Rt=require("./cells/GridEditCell.js"),vt=require("./header/Header.js"),It=require("./header/HeaderRow.js"),xt=require("./header/FilterRow.js"),Nt=require("./header/GroupPanel.js"),kt=require("./footer/Footer.js"),u=require("./utils/index.js"),qt=require("./cells/GridCell.js"),Ae=require("./cells/GridGroupCell.js"),Ft=require("./rows/GridRow.js"),Dt=require("./header/GridHeaderSelectionCell.js"),Oe=require("./components/noRecords/GridNoRecords.js"),Be=require("./filterCommon.js"),Tt=require("./footer/FooterRow.js"),Ht=require("./paging/GridPagerSettings.js"),Pt=require("./package-metadata.js"),Kt=require("./cells/GridDetailCell.js"),Vt=require("./cells/GridDetailHierarchyCell.js"),Le=require("./components/noRecords/GridNoRecordsContainer.js"),_e=require("./GridClientWrapper.js"),At=require("./components/colGroup/GridColGroup.js"),Ot=require("./components/table/GridTable.js"),ze=require("./components/GridDropClue.js"),Me=require("./components/GridDragClue.js"),We=require("./components/table/GridTableBody.js"),Bt=require("./components/PagerContainer.js"),Lt=require("./components/table/GridTableScrollable.js"),je=require("./components/GridElementContainer.js"),_t=require("./components/GridContainerElementContainer.js"),zt=require("./components/VirtualScrollHeightContainer.js"),ne=require("./messages/index.js"),Q=require("./VirtualScrollFixed.js"),Mt=require("./VirtualScroll.js"),Wt=require("./components/GridCustomCellClientContainer.js"),jt=require("./components/GridDraggableRowsContainer.js"),$t=require("./cells/GridRowReorderCell.js"),Qt=require("./header/client/GridHeaderRowReorderCell.js"),$e=require("./components/GridLoader.js"),Ut=require("./utils/premium.js"),Qe=require("@progress/kendo-react-intl");function Jt(e){const q=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const h in e)if(h!=="default"){const G=Object.getOwnPropertyDescriptor(e,h);Object.defineProperty(q,h,G.get?G:{enumerable:!0,get:()=>e[h]})}}return q.default=e,Object.freeze(q)}const a=Jt(wt),Ue=a.forwardRef((e,q)=>{var Ie,xe,Ne,ke,qe,Fe,De,Te;const h=e.id+"-role-element-id",G=e.navigatable?h:"";let v=e.columnsState||[];const Je=(t,n,d,i,o,g,l)=>{const s=[],C=u.flatData(s,E,t,{index:n},d!==void 0,i,o,g,ot.defaultExpand,l);return{flattedData:s,resolvedGroupsCount:C}},Xe=t=>{const n=t.filter(d=>d&&d.type&&d.type.displayName==="KendoReactGridColumn");return u.readColumns(n,v,{prevId:0,idPrefix:G})},Ye=()=>{const t=[],n=(d,i)=>d==null?void 0:d.forEach(o=>{const g=o.hidden||i;t.push({...o,hidden:g}),n(o.children,g)});return n(v,!1),t},Ze=t=>{const n=Ye();return t.filter(d=>{var i;return!d.hidden&&!((i=n.find(o=>o.id===d.id))!=null&&i.hidden)})},pe=(t,n)=>{var d;f=Xe(t),f.filter(i=>!i.hidden).length===0&&(f=u.autoGenerateColumns(E,e.group,{column:(d=O.column)!=null?d:e.expandField},{prevId:0,idPrefix:G})),tt(f,n),f=Ze(f),F=u.mapColumns(f,!0),ie=f.map(u.clientColumn)},et=(t,n)=>{const d=i=>{var g;const o=n.find(l=>l.id===i.id);return o?(o.children=(g=i.children)==null?void 0:g.map(d),o):u.getColumnState(i)};v=t.filter(i=>i.parentIndex===-1).map(d)},tt=(t,n)=>{var g;t.filter(l=>e.selectedField&&l.field===e.selectedField||l.columnType==="checkbox").forEach(l=>{l.width=l.width||"50px",l.cell=l.cell||Gt.GridSelectionCell,l._type="edit",l.headerCell=l.headerCell||Dt.GridHeaderSelectionCell}),T!==void 0&&t.filter(l=>l.columnType==="reorder").forEach(l=>{l.width=l.width||"50px",l.cell=l.cell||$t.GridRowReorderCell,l.headerCell=l.headerCell||Qt.GridHeaderRowReorderCell,l.sortable=!1,l.filterable=!1,l.editable=!1});const d=u.getFlatColumnsState(v);et(t,d);const i={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let o=0;if((e.expandField||O.enabled)&&e.detail){const l={...i,_type:"expand",id:b.tableKeyboardNavigationTools.generateNavigatableId(`${o++}`,"expand","column"),cell:Et.GridHierarchyCell,field:(g=O.column)!=null?g:e.expandField,headerClassName:c.classNames(m.hierarchyCell({}))};t.unshift(l),v.unshift(d.find(s=>s.id===l.id)||u.getColumnState(l))}for(let l=0;l<n;l++){const s={...i,isAccessible:!1,cell:Ae.GridGroupCell,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${o++}`,"group","column"),field:"value",locked:e.lockGroups};t.unshift(s),v.unshift(d.find(C=>C.id===s.id)||u.getColumnState(s))}t.slice(o).forEach(l=>{l.parentIndex>=0&&(l.parentIndex+=o),l.rowSpannable=l.rowSpannable!==void 0?u.getRowSpanOptions(l.rowSpannable):de})},U=()=>E.length===e.total,at=()=>{const{rowHeight:t,detailRowHeight:n,detail:d,expandField:i}=e,o=U(),g=t!==void 0&&t>0,l=n!==void 0&&n>0;return!g||A&&!o||!!(d&&i)&&(!l||!o)?Mt.VirtualScroll:Q.VirtualScrollFixed},J=()=>e.isClient?f:ie,lt=(t,n,d,i,o,g)=>{let l=u.getColSpan(t,n);if(e.columnVirtualization&&t.colSpan===1)return{colSpan:g,colsToSkip:o};let s=d.length-1===i,C=d.length-i;return e.columnVirtualization&&(s=w.length-1===i,C=w.length-i),l>1&&!s?o=l-1:l=1,C<=l&&!s&&(l=C),{colSpan:l,colsToSkip:o}};let X,y=[],z,f=[],ie=[],F=[[]];const rt=e.scrollLeftRef||{current:0},M=e.localization||new Qe.LocalizationService(e.language),nt=e.intl||new Qe.IntlService((Ie=e.locale)!=null?Ie:"en"),D=e.unstyled,m=D&&D.uGrid?D.uGrid:c.uGrid,T=u.isRowReorderEnabled(e.rowReorderable),H=e.autoProcessData===!0?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:e.autoProcessData;let E,k;if(Array.isArray(e.data)?(E=e.data,k=(xe=e.total)!=null?xe:E.length):(E=((Ne=e.data)==null?void 0:Ne.data)||[],k=(Fe=(qe=e.total)!=null?qe:(ke=e.data)==null?void 0:ke.total)!=null?Fe:E.length),H){const{data:t,total:n}=St.process(E,{group:H.group?e.group:void 0,sort:H.sort?e.sort:void 0,filter:b.combineFilters(H.filter?e.filter:void 0,H.search?e.search:void 0),...H.page?{take:e.take,skip:e.skip}:{}});E=t,k=(De=e.total)!=null?De:n}const{size:I="medium"}=e,it=typeof e.groupable=="object"&&e.groupable.footer||"none",P=e.scrollable==="virtual",A=e.groupable===!0||typeof e.groupable=="object"&&e.groupable.enabled!==!1,O=b.getDetailExpandableOptions(!!e.detail),ot=b.getGroupExpandableOptions(typeof e.groupable=="object"&&e.groupable.enabled!==!1?e.groupable.expandable:e.groupable),{resolvedGroupsCount:dt,flattedData:ct}=Je(it,e.skip||0,e.group,e.expandField,e.detailExpand,e.groupExpand,e.dataItemKey);y=ct;const Y=at();Y===Q.VirtualScrollFixed&&U()&&(z=y.slice(e.skip||0,(e.skip||0)+((e.take!==void 0?e.take:e.pageSize)||0)));const oe=b.getSelectionOptions(e.selectable||!!e.selectedField),de=u.getRowSpanOptions(e.rowSpannable),st=oe&&oe.drag?"none":void 0,W=a.useMemo(()=>a.Children.toArray(e.children),[e.children]);pe(W,dt);const Z=a.useMemo(()=>{const t=Ut.gridPremiumFeatures(e,f);return{premium:t.length>0,features:t}},[e,f]),ce=a.useMemo(()=>Z.premium?!c.validatePackage(Pt.packageMetadata,{component:"Grid",features:Z.features}):!1,[Z.premium]),se=W.map(t=>t&&t.type&&t.type.displayName==="KendoReactGridToolbar"?a.cloneElement(t,{...t.props,ariaControls:h}):null),j=W.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridNoRecords"),ue=W.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridStatusBar"),w=f.filter(t=>t.children.length===0),ge=A&&a.createElement(Nt.GroupPanel,{columns:J(),group:e.group||[],ariaControls:h}),fe=a.createElement(vt.Header,{size:I,staticHeaders:e.scrollable!=="none",draggable:e.reorderable||A,headerRow:a.createElement(It.HeaderRow,{cells:e.cells,sort:e.sort,sortable:e.sortable,group:e.group||[],groupable:A,filter:e.filter,filterable:e.filterable,filterOperators:e.filterOperators||Be.operators,columnMenu:e.columnMenu,columnMenuIcon:e.columnMenuIcon,columns:f,columnsMap:F,cellRender:e.headerCellRender,navigatable:!!e.navigatable,localization:M,unstyled:D,headerSelectionValue:!!(e.select&&y.filter(t=>t.rowType==="data").every(t=>e.select&&e.dataItemKey&&c.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[c.getter(e.dataItemKey)(t.dataItem)]:void 0))}),filterRow:e.filterable&&a.createElement(xt.FilterRow,{cells:e.cells,size:I,columns:f,filter:e.filter,filterOperators:e.filterOperators||Be.operators,sort:e.sort,cellRender:e.filterCellRender,navigatable:!!e.navigatable,ariaRowIndex:F.length+1,localization:M})||void 0,cols:w.map((t,n)=>a.createElement("col",{key:n.toString(),width:u.getColumnWidth(t)}))}),ut=rt.current||0,gt=parseFloat(((e.style||{}).width||"").toString()),ft=(t,n,d,i,o)=>{let g=!1;const l=e.selectedField?u.getNestedValue(e.selectedField,t.dataItem):e.select&&e.dataItemKey&&c.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[c.getter(e.dataItemKey)(t.dataItem)]:void 0;let s=0;const{colSpans:C,hiddenColumns:K}=b.tableColumnsVirtualization({enabled:e.columnVirtualization,columns:w,tableViewPortWidth:gt,scrollLeft:ut,getColSpan:u.getColSpan,dataItem:t.dataItem}),x=w.filter((r,S)=>!K[S]);return{row:w.map((r,S)=>{var He,Pe,Ke,Ve;if(K[S])return null;if(s>0)return s--,null;let R;if((He=r.rowSpannable)!=null&&He.enabled&&t.rowType==="data"&&r.field&&o){const N=r.field?(Ke=(Pe=r.rowSpannable).valueGetter)==null?void 0:Ke.call(Pe,t.dataItem,r.field):null;R={value:N,count:1},o[r.field]&&((Ve=o[r.field])==null?void 0:Ve.value)===N&&o[r.field]!==null?(o[r.field].count++,R.count=null):o[r.field]=R}const{colSpan:L,colsToSkip:te}=lt(r,t.dataItem,x,S,s,C[S]);s=te;const _=r.id?r.id:S,Ct=c.classNames(m.contentSticky({locked:r.locked}),r.className),ht=r.left!==void 0?{left:r.left,right:r.right}:{};let ae=!1;if(r.editable&&(e.editable||e.editField)){const N=e.editField?u.getNestedValue(e.editField,t.dataItem):e.edit&&e.dataItemKey?e.edit[c.getter(e.dataItemKey)(t.dataItem)]:void 0,re=typeof N=="boolean"?N:Array.isArray(N)?N.indexOf(r.field)>-1:r.field!==void 0&&N===r.field;re&&r.columnType==="data"&&(re===!0||re===r.field)&&(g=!0,ae=!0)}const le=r.cell||ae&&Rt.GridEditCell||qt.GridCell,yt=e.expandField&&e.detail&&r.field===e.expandField||r._type==="expand",V={locked:e.lockGroups,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${n}-${String(S)}`,G,yt||t.rowType==="groupHeader"||t.rowType==="groupFooter"||r.field==="value"?"nodata":"cell"),colSpan:L,dataItem:t.dataItem,field:r.field,editor:r.editor,format:r.format,columnType:r.columnType,rowReorderable:T,className:Ct,render:e.cellRender,cells:u.resolveCells(e.cells,r.cells),columnIndex:S,columnsCount:w.length,rowType:t.rowType,level:t.level,expanded:t.expanded,dataIndex:t.dataIndex,rowDataIndex:d,columnPosition:ht,style:{},ariaColumnIndex:r.ariaColumnIndex,isSelected:(r==null?void 0:r._type)==="edit"?l:Array.isArray(l)&&l.indexOf(S)>-1,isSorted:!!u.isSorted(r.field,e.sort),isInEdit:ae,isAlt:i,unstyled:D,group:t.group,localization:M,intl:nt,_rowSpan:R};return r.cell?a.createElement(Wt.GridCustomCellClientContainer,{key:_,isClient:u.isClientReference(le),dataItem:V.dataItem,rowDataIndex:V.rowDataIndex,columnIndex:V.columnIndex,columnPosition:V.columnPosition},a.createElement(le,{...V})):a.createElement(le,{key:_,...V})}),isInEdit:g,isSelected:typeof l=="boolean"&&l}};let me=0;if(P&&X)for(let t=0;t<X.topCacheCount+X.attendedSkip-(e.skip||0);t++){const n=y.shift();if(n)y.push(n),me++,n.rowType==="groupHeader"&&t--;else break}const be=t=>t>=y.length-me;let Ce=e.skip||0;const p=[],he=!y.length,ye=F.length+(e.filterable?1:0)+1;let B=0;if(y.length){let t=-1,n=0;const d=de.enabled?{}:void 0;(z||y).forEach((i,o)=>{i.rowType==="data"&&(Ce++,t++);const g=Ce%2===0,l=e.dataItemKey&&c.getter(e.dataItemKey)(i.dataItem),s=o+(e.skip||0),C=l||"ai"+s,K=C+"_1",x=ft(i,C,t,g,d);if(B=s+ye+n,p.push(a.createElement(Ft.GridRow,{key:C,dataItem:i.dataItem,isAltRow:g,isInEdit:x.isInEdit,rowType:i.rowType,isRowReorderable:T,isHidden:be(o),onClick:null,onDoubleClick:null,selectedField:e.selectedField,rowHeight:e.rowHeight,render:e.rowRender,ariaRowIndex:B,absoluteRowIndex:s,dataIndex:P&&!e.groupable?s:t,isSelected:x.isSelected,rows:e.rows},x.row)),e.detail&&i.rowType==="data"&&i.expanded){const r=w.length-(e.expandField||O.enabled?1:0)-(e.group?e.group.length:0)||1;n++,B=s+ye+n,p.push(a.createElement("tr",{key:K,className:c.classNames(m.detailTr({isAlt:g})),style:{visibility:be(o)?"hidden":"",height:e.detailRowHeight},role:"row","aria-rowindex":B},e.group&&e.group.map((S,R)=>{var _;const L=(_=x==null?void 0:x.row[R])==null?void 0:_.props.style,te=L?{left:L.left,right:L.right}:{};return a.createElement(Ae.GridGroupCell,{id:"",dataIndex:i.dataIndex,field:S.field,dataItem:i.dataItem,key:R,columnPosition:te,style:{},ariaColumnIndex:1+R,isSelected:!1,locked:e.lockGroups,cells:e.cells,group:i.group})}),(e.expandField||O.enabled)&&a.createElement(Vt.GridDetailHierarchyCell,{unstyled:D,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${K}-dhcell`,G)}),a.createElement(Kt.GridDetailCell,{dataItem:i.dataItem,dataIndex:i.dataIndex,colSpan:r,ariaColIndex:2+(e.group?e.group.length:0),detail:e.detail,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${K}-dcell`,G)})))}})}const we={size:I,total:k,skip:e.skip||0,take:(e.take!==void 0?e.take:e.pageSize)||10,...Ht.normalize(e.pageable||{})},Se=a.createElement(Bt.PagerContainer,null,e.pager?a.createElement(e.pager,{...we}):a.createElement(b.Pager,{className:c.classNames(m.pager({})),...we})),mt=(t,n)=>a.createElement("col",{key:n.toString(),width:u.getColumnWidth(t)}),bt=(Te=e.cells)!=null&&Te.footerCell||f.some(t=>{var n;return!!(t.footerCell||(n=t.cells)!=null&&n.footerCell)})?a.createElement(kt.Footer,{size:I,staticHeaders:e.scrollable!=="none",row:a.createElement(Tt.FooterRow,{cells:e.cells,idPrefix:G,columns:f,ariaRowIndex:B+1}),cols:w.map(mt)}):null,Ge=a.createElement(At.GridColGroup,null,w.map((t,n)=>a.createElement("col",{key:n.toString(),className:u.isSorted(t.field,e.sort)?c.classNames(m.sorted({})):void 0,width:u.getColumnWidth(t)}))),Ee=e.reorderable||A,{detail:Xt,cells:Yt,rows:Zt,...Re}=e,ve=a.createElement("tbody",{role:"rowgroup",className:c.classNames(m.tbody({})),...b.tableKeyboardNavigationBodyAttributes},p);let ee=ve;if(T&&(ee=a.createElement(jt.GridReorderableRowsContainer,{unstyled:m,columns:f,rowReorderSettings:e.rowReorderable},ve)),e.scrollable==="none")return a.createElement(_e.GridClientWrapper,{gridRef:q,gridProps:Re,columnsRef:J(),columnsMapRef:F,columnsState:v,dataRef:y,slicedData:z,isFixedVirtualScroll:Y===Q.VirtualScrollFixed,id:h,total:k,isAllData:U(),detailExpandable:!!e.detail},a.createElement(je.GridElementContainer,null,a.createElement("div",{id:e.id,style:e.style,className:c.classNames(m.wrapper({size:I}),e.className),"aria-label":e.ariaLabel,...b.tableKeyboardNavigationScopeAttributes},se,ge,a.createElement(Ot.GridTable,{selectable:e.selectable,className:c.classNames(m.table({size:I}))},Ge,fe,a.createElement(We.GridTableBody,{rowReorderable:T},ee)),he&&a.createElement(Le.GridNoRecordsContainer,null,j.length?j:a.createElement(Oe.GridNoRecords,null)),Ee&&a.createElement(a.Fragment,null,a.createElement(ze.GridDropClue,null),a.createElement(Me.GridDragClue,null)))),ue,e.pageable&&Se,a.createElement($e.GridLoader,{loader:e.loader,showLoader:e.showLoader}),ce&&a.createElement(c.WatermarkOverlay,null));let $=e.style||{};return P&&($.height||($=Object.assign({},$,{height:"450px"}))),a.createElement(_e.GridClientWrapper,{gridRef:q,gridProps:Re,columnsRef:J(),columnsMapRef:F,columnsState:v,dataRef:y,slicedData:z,isFixedVirtualScroll:Y===Q.VirtualScrollFixed,id:h,total:k,detailExpandable:!!e.detail},a.createElement(je.GridElementContainer,null,a.createElement("div",{id:e.id,style:$,className:c.classNames(m.wrapper({size:I,virtual:P}),e.className),"aria-label":e.ariaLabel,...b.tableKeyboardNavigationScopeAttributes},se,ge,a.createElement("div",{className:c.classNames(m.ariaRoot({})),role:"grid","aria-colcount":w.length,"aria-rowcount":k,id:h,"aria-label":M.toLanguageString(ne.gridAriaLabel,ne.messages[ne.gridAriaLabel])},fe,a.createElement("div",{className:c.classNames(m.container({})),role:"presentation"},a.createElement(_t.GridContainerElementContainer,null,a.createElement("div",{className:c.classNames(m.content({})),role:"presentation"},a.createElement("div",{className:c.classNames(m.tableWrap({})),role:"presentation"},a.createElement(Lt.GridTableScrollable,{selectable:e.selectable,tableClassName:c.classNames(m.table({size:I})),tableStyle:{userSelect:st}},Ge,a.createElement(We.GridTableBody,{rowReorderable:T},ee)),he&&a.createElement(Le.GridNoRecordsContainer,null,j.length?j:a.createElement(Oe.GridNoRecords,null))),P&&a.createElement("div",{className:c.classNames(m.heightContainer({})),role:"presentation"},a.createElement(zt.VirtualScrollHeightContainer,{isVirtualScroll:P}))))),bt,Ee&&a.createElement(a.Fragment,null,a.createElement(ze.GridDropClue,null),a.createElement(Me.GridDragClue,null)),ce&&a.createElement(c.WatermarkOverlay,null)),ue,e.pageable&&Se,a.createElement($e.GridLoader,{loader:e.loader,showLoader:e.showLoader}))))});Ue.displayName="KendoReactGridComponent";exports.GridComponent=Ue;