@progress/kendo-react-grid 16.2.0-develop.5 → 16.2.0-develop.7

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 En=require("react"),I=require("@progress/kendo-react-common"),Sn=require("@progress/kendo-data-query"),u=require("@progress/kendo-react-data-tools"),xn=require("./drag/ColumnResize.js"),kn=require("./drag/CommonDragLogic.js"),Dn=require("./hooks/useStickyGroups.js"),j=require("./utils/index.js"),Kn=require("./VirtualScroll.js"),dt=require("./contextMenu/GridContextMenu.js"),oe=require("./contextMenu/enums.js"),st=require("./sortCommon.js"),Mn=require("./BasePDFExport.js"),Gn=require("./BaseCSVExport.js"),Tn=require("./utils/GridContext.js"),Hn=require("./filterCommon.js");function An(t){const w=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const k in t)if(k!=="default"){const h=Object.getOwnPropertyDescriptor(t,k);Object.defineProperty(w,k,h.get?h:{enumerable:!0,get:()=>t[k]})}}return w.default=t,Object.freeze(w)}const c=An(En),On=(t,w,k,h)=>{const ie=Object.keys(w.cells).map(T=>k.findIndex(U=>U.field===T)),X=Object.keys(w.cells).length>0?ie:!0;return t.reduce((T,U)=>(T[U[h!=null?h:"id"]]=X,T),{})},lt=(t,w,k,h)=>w.reduce((X,T)=>({...X,...On(Sn.filterBy(t,T),T,k,h)}),{}),Fn=t=>{var ct;const w=t.gridProps.isClient,k=typeof t.gridProps.scrollable=="object"?t.gridProps.scrollable.mode:t.gridProps.scrollable,[h,ie]=c.useState({}),X=I.useAdaptiveModeContext(),T=c.useRef(null),U=c.useRef(null),de=c.useRef({}),ut=e=>{e.event.preventDefault(),ie({...h,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},We=()=>{ie({})},gt=e=>{const n=t.gridProps.dataItemKey||"",r=h.dataItem,o=t.gridProps.pinnedTopRows||[],i=t.gridProps.pinnedBottomRows||[],a=n?r[n]:void 0,d=a!==void 0&&o.some(s=>s[n]===a),l=a!==void 0&&i.some(s=>s[n]===a);return e.map(s=>{const g=typeof s=="string"?dt.contextMenuItemsMap[s]:s;return g&&g.name===oe.GridContextMenuItemNames.pinRow&&g.items?{...g,items:g.items.filter(m=>m.name===oe.GridContextMenuItemNames.pinTop?!d:m.name===oe.GridContextMenuItemNames.pinBottom?!l:m.name===oe.GridContextMenuItemNames.unpin?d||l:!0)}:s})},x=c.useMemo(()=>t.columnsRef.find(e=>e.field===h.field),[t.columnsRef,h]),ze=c.useMemo(()=>{const e=t.gridProps.sortable&&(x==null?void 0:x.sortable);return j.getDefaultHeadContextMenuItems({pdf:!!t.gridProps.pdf,sortable:!!e,selectable:u.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[x,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),pe=c.useMemo(()=>(t.gridProps.sortable&&(x==null||x.sortable),j.getDefaultBodyContextMenuItems({pdf:!!t.gridProps.pdf,selectable:u.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:j.isRowReorderEnabled(t.gridProps.rowReorderable),pinnable:!!t.gridProps.pinnable})),[x,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard,t.gridProps.pinnable,t.gridProps.rowReorderable,t.gridProps.pdf]),se=c.useMemo(()=>{const e=(x==null?void 0:x.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(h):e;if(n&&h.offset){const r=h.dataItem?oe.GridContextMenuAnchorPart.body:oe.GridContextMenuAnchorPart.head,o=n[r],i=h.dataItem?pe:ze;let a;return o===!0||o===void 0?a=i:o!==!1&&(a=o),t.gridProps.pinnable&&a&&h.dataItem?gt(a):a}},[t.gridProps.contextMenu,t.gridProps.pinnable,h,pe,ze,x]),ft=e=>{var d,l,s,g,m,y,C,q,f;const n=e.event.item,r={target:D.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&P(t.gridProps.onContextMenuItemClick,r);const o=M(),i={selectedField:"",componentId:t.id,dataItems:o,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...u.getSelectionOptions(t.gridProps.selectable),...r},a=o.findIndex(K=>K===e.dataItem);switch((d=n.data)==null?void 0:d.action){case"SortCommand":if(x){const K=(l=n.name)==null?void 0:l.toLowerCase().includes("asc"),Q=((s=n.name)==null?void 0:s.toLowerCase().includes("desc"))?"desc":void 0,z=K?"asc":Q,re=n.name?z:void 0;qe(e.event.syntheticEvent,x,re)}break;case"SelectRowCommand":Ft(i);break;case"SelectAllRowsCommand":Ot(i);break;case"ExportPDFCommand":ke();break;case"ClearSelectionCommand":Bt(i);break;case"ReorderRowCommand":ce.current=e.dataItem,(g=n.name)!=null&&g.toLowerCase().includes("rowup")&&a>0&&ae(e.event.syntheticEvent,a-1,"before"),(m=n.name)!=null&&m.toLowerCase().includes("rowdown")&&a<o.length-1&&ae(e.event.syntheticEvent,a+1,"after"),(y=n.name)!=null&&y.toLowerCase().includes("rowtop")&&ae(e.event.syntheticEvent,0,"before"),(C=n.name)!=null&&C.toLowerCase().includes("rowbottom")&&ae(e.event.syntheticEvent,o.length-1,"after");break;case"CopySelectionCommand":Pe(u.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((q=n.name)!=null&&q.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":Pe(u.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((f=n.name)!=null&&f.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PinTopCommand":ue("pinTop",e.dataItem);break;case"PinBottomCommand":ue("pinBottom",e.dataItem);break;case"UnpinCommand":ue("unpin",e.dataItem);break}We()},le=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return j.sanitizeColumns(e)},mt=(e,n,r)=>{if(t.gridProps.onContextMenu&&w){const o={target:D.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:r};P(t.gridProps.onContextMenu,o)}t.gridProps.contextMenu&&ut({event:e,dataItem:n,field:r})},Pt=e=>{var a,d,l;if(e.target!==e.currentTarget)return;clearTimeout(Fe.current),S.current&&(S.current.table=$.current);const n=e.currentTarget.scrollLeft,r=e.currentTarget.scrollTop;t.gridProps.columnVirtualization&&(!G||r===Oe.current)&&(Fe.current=window.setTimeout(()=>{te()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),J.current&&J.current.setScrollLeft(n),Z.current&&Z.current.setScrollLeft(n),L!=null&&L.current&&L.current.setScrollLeft(n),B!=null&&B.current&&B.current.setScrollLeft(n),N!=null&&N.current&&N.current.setScrollLeft(n),W!=null&&W.current&&W.current.setScrollLeft(n);const o=(a=t.gridProps.virtualSkipRef)==null?void 0:a.current;S.current&&r!==Oe.current&&S.current.scrollHandler(e);const i=G&&((d=t.gridProps.virtualSkipRef)==null?void 0:d.current)!==o;t.gridProps.onScroll&&w&&P(t.gridProps.onScroll,{...E(e)}),Oe.current=r,!nt.current&&Ce.current&&Math.abs(Ce.current.scrollTop-r)>1&&(Ce.current.scrollTop=r),(l=ve.current)==null||l.call(ve),i||ot()},ht=e=>{var r,o;const n=e.target;if((e.keyCode===38||e.keyCode===40)&&n.closest(".k-grid-sticky-container")){const i=parseInt(((r=n.closest("tr"))==null?void 0:r.getAttribute("absolute-row-index"))||"",10),a=n.getAttribute("data-keyboardnavid");if(!isNaN(i)&&a&&!((o=A.current)==null?void 0:o.querySelector(`tr[absolute-row-index="${i}"]`)))return Ee.current={navId:a,key:e.key,code:e.code,keyCode:e.keyCode},e.preventDefault(),e.stopPropagation(),Re({rowIndex:i}),!0}return!1},Rt=()=>{var a;if(!Ee.current||!F.current)return;const{navId:e,key:n,code:r,keyCode:o}=Ee.current,i=(a=A.current)==null?void 0:a.querySelector(`[data-keyboardnavid="${e}"]`);i&&i.dispatchEvent(new KeyboardEvent("keydown",{key:n,code:r,keyCode:o,bubbles:!0,cancelable:!0}))},bt=e=>{if(ht(e))return;u.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:_,navigationStateRef:ne,onNavigationAction:vt,columns:le()}),u.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:p(),contextStateRef:_,navigationStateRef:ne});const n={dataItems:M(),mode:b.mode,cell:b.cell,componentId:t.id,selectedField:"",...E(e)};t.gridProps.onKeyDown&&w&&P(t.gridProps.onKeyDown,n)},Ct=e=>{u.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:_})},vt=e=>{const{columnsRef:n}=t;if(e.action==="moveToNextPage"&&zt(e.event),e.action==="moveToPrevPage"&&pt(e.event),e.focusElement&&(e.action==="reorderToRight"||e.action==="reorderToLeft")){const r=parseInt(e.focusElement.ariaColIndex,10)-1;if(!n[r].reorderable)return;if(e.action==="reorderToRight"&&r<t.columnsRef.length-1){if(n[r+1].disableReorder)return;fe(r,r+1,e.event)}if(e.action==="reorderToLeft"&&r>0){if(n[r-1].disableReorder)return;fe(r,r-1,e.event)}}if(e.action==="select"&&Tt(e.event),t.gridProps.onNavigationAction&&w){const r={focusElement:e.focusElement,...E(e.event)};P(t.gridProps.onNavigationAction,r)}},It=(e,n)=>{t.gridProps.onRowClick&&u.closestTagName(e.target,"TD")&&P(t.gridProps.onRowClick,{dataItem:n,...E(e)})},yt=(e,n)=>{t.gridProps.onRowDoubleClick&&u.closestTagName(e.target,"TD")&&P(t.gridProps.onRowDoubleClick,{dataItem:n,...E(e)})},wt=e=>{t.gridProps.onItemChange&&P(t.gridProps.onItemChange,{...E(e.syntheticEvent),dataItem:e.dataItem,field:void 0,value:void 0})},Et=e=>{t.gridProps.onItemChange&&t.gridProps.onEditChange&&P(t.gridProps.onEditChange,{edit:{},...E(e.syntheticEvent)})},St=(e,n,r)=>{var o,i;if(at.enabled&&at.mode==="incell"&&t.gridProps.dataItemKey){if(t.gridProps.pinnable&&t.gridProps.editZoneRef){const d=!!((i=(o=e.target).closest)!=null&&i.call(o,".k-grid-pinned-container"));t.gridProps.editZoneRef.current=d?"pinned":"body"}const a=u.editReducer(t.gridProps.edit,{type:u.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:r}});t.gridProps.onEditChange&&P(t.gridProps.onEditChange,{edit:a,...E(e)})}},xt=(e,n)=>{var o;if(u.getDetailExpandableOptions(t.detailExpandable).enabled){const i=u.detailExpandReducer((o=t.gridProps.detailExpand)!=null?o:{},e);t.gridProps.onDetailExpandChange&&P(t.gridProps.onDetailExpandChange,{...E(n),detailExpand:i})}},kt=(e,n)=>{var o;const r=u.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(r.enabled){const i=u.groupExpandReducer((o=t.gridProps.groupExpand)!=null?o:[],e,r);t.gridProps.onGroupExpandChange&&P(t.gridProps.onGroupExpandChange,{...E(n),groupExpand:i})}bn(e.group)},Dt=c.useCallback(e=>{const{dataItemKey:n="",pinnedTopRows:r=[],pinnedBottomRows:o=[]}=t.gridProps;if(!n||!e)return"none";const i=e[n];return r!=null&&r.some(a=>a[n]===i)?"top":o!=null&&o.some(a=>a[n]===i)?"bottom":"none"},[t.gridProps.pinnedTopRows,t.gridProps.pinnedBottomRows,t.gridProps.dataItemKey]),ue=(e,n)=>{if(!t.gridProps.pinnable)return;const{dataItemKey:r="",pinnedTopRows:o=[],pinnedBottomRows:i=[]}=t.gridProps,a=n[r],d=o.filter(g=>g[r]!==a),l=i.filter(g=>g[r]!==a);let s;switch(e){case"pinTop":s={pinnedTopRows:[...d,n],pinnedBottomRows:l,dataItem:n};break;case"pinBottom":s={pinnedTopRows:d,pinnedBottomRows:[...l,n],dataItem:n};break;case"unpin":s={pinnedTopRows:d,pinnedBottomRows:l,dataItem:n};break;default:return}t.gridProps.onRowPinChange&&P(t.gridProps.onRowPinChange,s)},qe=(e,n,r)=>{const{allowUnsort:o,mode:i}=st.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),a=(t.gridProps.sort||[]).filter(s=>s.field===n.field)[0],d=r||st.firstLevelSortSeqMap[o][a&&a.dir||""],l=i==="single"?[]:(t.gridProps.sort||[]).filter(s=>s.field!==n.field);d!==""&&n.field&&l.push({field:n.field,dir:d}),Ue(l,e)},Kt=e=>{t.gridProps.onItemChange&&P(t.gridProps.onItemChange,{...E(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},Mt=e=>{var n;if(t.gridProps.onSelectionChange&&b.enabled){const{event:r,dataItem:o,dataIndex:i,columnIndex:a}=e,d={...E(r),dataItem:o,startColIndex:a,endColIndex:a,startRowIndex:i,endRowIndex:i,dataItems:M(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:b.mode,cell:b.cell,isDrag:!1,componentId:t.id,selectedField:""};P(t.gridProps.onSelectionChange,{...d,select:t.gridProps.dataItemKey?u.getSelectedState({event:d,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},Gt=e=>{var g;if(!t.gridProps.onSelectionChange||!b.enabled||!t.gridProps.dataItemKey)return;const{event:n,groupDataItem:r,selectAll:o}=e,i=I.getter(t.gridProps.dataItemKey),a=j.flattenGroupItems(r),d=M(),s={...(g=t.gridProps.select)!=null?g:{}};a.forEach(m=>{const y=i(m);y!==void 0&&(o?s[y]=!0:delete s[y])}),P(t.gridProps.onSelectionChange,{...E(n),dataItem:r,startColIndex:0,endColIndex:0,startRowIndex:0,endRowIndex:0,dataItems:d,altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:b.mode,cell:b.cell,isDrag:!1,componentId:t.id,selectedField:"",select:s})},Tt=e=>{var s,g;if(!b.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:M(),mode:b.mode,cell:b.cell,componentId:t.id,selectedField:"",...E(e)},r=u.getSelectedStateFromKeyDown({event:n,selectedState:(s=t.gridProps.select)!=null?s:{},dataItemKey:t.gridProps.dataItemKey});if(r===t.gridProps.select)return;const o=e.target,i=u.closestTagName(o,"TD"),a=u.closestTagName(o,"TR"),d=u.getColumnIndex(i),l=u.getRowIndex(a);if(d!==void 0&&l!==void 0){const m=(g=j.getDataAsArray(t.gridProps.data))==null?void 0:g[l];t.gridProps.onSelectionChange&&P(t.gridProps.onSelectionChange,{...n,select:r,dataItem:m,startRowIndex:l,startColIndex:d,startDataItem:m,endDataItem:m,endRowIndex:l,endColIndex:d,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},Ht=e=>{if(t.gridProps.onHeaderSelectionChange&&b.enabled){const n=M();P(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?n.reduce((r,o)=>(t.gridProps.dataItemKey&&I.getter(t.gridProps.dataItemKey)(o)!==void 0&&(r[I.getter(t.gridProps.dataItemKey)(o)]=!0),r),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:D.current,dataItems:n})}},Y=(e,n)=>{t.gridProps.onSelectionChange&&b.enabled&&P(t.gridProps.onSelectionChange,{...e,select:n})},At=(e,n)=>{const r=t.gridProps.dataItemKey;if(!r||!n)return;const o=I.getter(r),i=M().findIndex(a=>o(a)===o(n));i!==-1&&je({...e,startRowIndex:i,endRowIndex:i})},je=e=>{var n;if(t.gridProps.onSelectionChange&&b.enabled){const r=M(),o=r[e.startRowIndex],i=r[e.endRowIndex],a={syntheticEvent:void 0,target:D.current,selectedField:"",componentId:t.id,dataItems:r,dataItem:null,startDataItem:o,endDataItem:i,...e},d=u.getSelectedState({event:a,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});Y(a,d)}},Ot=e=>{if(t.gridProps.onSelectionChange&&b.enabled){const n=e.dataItems[0],r=e.dataItems[e.dataItems.length-1],o={},i={...e,startDataItem:n,endDataItem:r,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:t.columnsRef.length-1};e.dataItems.forEach(a=>{const l=I.getter(t.gridProps.dataItemKey)(a);o[l]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),Y(i,o)}},Ft=e=>{if(t.gridProps.onSelectionChange&&b.enabled){const r=I.getter(t.gridProps.dataItemKey)(e.dataItem),o=0,i=t.columnsRef.length-1,a=e.dataItems.findIndex(m=>m[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),s={...e,startDataItem:a,endDataItem:a,startRowIndex:a,endRowIndex:a,startColIndex:o,endColIndex:i},g=e.mode==="multiple"?t.gridProps.select||{}:{};g[r]===!0||Array.isArray(g[r])&&g[r].length===t.columnsRef.length?delete g[r]:g[r]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,Y(s,g)}},Lt=e=>{if(!b.enabled)return;const n=M(),r={syntheticEvent:void 0,nativeEvent:void 0,target:D.current,selectedField:"",componentId:t.id,dataItems:n,dataItem:null,startDataItem:null,endDataItem:null,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,mode:b.mode,cell:b.cell};if(!e||e.length===0){const m={...r,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1};Y(m,{});return}const o=lt(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey),i={};Object.keys(o).forEach(m=>{o[m]&&(i[m]=b.cell?[...Array(t.columnsRef.length).keys()]:!0)});let a=-1,d=-1,l=n[0]||null,s=n[n.length-1]||null;if(t.gridProps.dataItemKey){const m=I.getter(t.gridProps.dataItemKey);for(let y=0;y<n.length;y++){const C=m(n[y]);C!==void 0&&o[C]&&(a===-1&&(a=y,l=n[y]),d=y,s=n[y])}}const g={...r,startRowIndex:a,endRowIndex:d,startColIndex:0,endColIndex:t.columnsRef.length-1,startDataItem:l,endDataItem:s};Y(g,i)},Bt=e=>{t.gridProps.onSelectionChange&&b.enabled&&Y(e,{})},ee=(e,n,r,o,i)=>{Wt();const a=t.gridProps.onDataStateChange;if(e){const d={...E(o),...n,targetEvent:i};P(e,d)}else a&&(de.current={...de.current,...r},P(a,{...E(o),targetEvent:i||{},dataState:{...en(),...de.current}}))},ge=(e,n,r)=>{var o;G&&t.gridProps.pageable&&((o=S.current)==null||o.reset()),ee(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,r)},Nt=(e,n,r)=>{var o;t.gridProps.pageable||(o=t.gridProps.group)!=null&&o.length?t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=e.skip,te()):ge(e,n,r)},xe=()=>{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},Wt=()=>{G&&t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=0)},zt=e=>{var i,a;const n=(a=(i=t.gridProps.take)!=null?i:t.gridProps.pageSize)!=null?a:0,r=(t.gridProps.skip||0)+n,o=xe();r<o&&ge({skip:r,take:n},e)},pt=e=>{var o,i;const n=(i=(o=t.gridProps.take)!=null?o:t.gridProps.pageSize)!=null?i:0,r=(t.gridProps.skip||0)-n;r>=0&&ge({skip:r,take:n},e)},qt=e=>{ge({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},Ue=(e,n)=>{ee(t.gridProps.onSortChange,{sort:e},{sort:e,...G&&!t.gridProps.pageable?{skip:0}:{}},n)},jt=(e,n)=>{ee(t.gridProps.onFilterChange,{filter:e},{filter:e,skip:0},n)},Ut=e=>{if(!e||e.length===0){Ve({});return}const n=lt(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey);Ve({...n})},Ve=e=>{ee(t.gridProps.onHighlightChange,{highlight:e},{},{})},Vt=e=>{const n=t.gridProps.searchFields||t.columnsRef.map(i=>i.field)||[],r=e.nativeEvent.target.value,o={logic:"or",filters:n.filter(i=>i!==void 0).map(i=>{var a;return typeof i=="string"?{field:i,value:r,operator:"contains"}:{value:r,operator:(a=i.operator)!=null?a:"contains",field:i.field,ignoreCase:i.ignoreCase}})};ee(t.gridProps.onSearchChange,{search:o},{skip:0},e.syntheticEvent)},ke=()=>{var e;(e=T.current)==null||e.save()},_e=async()=>{var e;await((e=U.current)==null?void 0:e.save())},$e=()=>{var e;return((e=U.current)==null?void 0:e.getBlob())||null},_t=async e=>{var n,r;(n=t.gridProps)!=null&&n.onPdfExport&&await((r=t.gridProps)==null?void 0:r.onPdfExport(e))},$t=e=>{var n,r;return(n=t.gridProps)!=null&&n.onCsvExport?(r=t.gridProps)==null?void 0:r.onCsvExport(e):e},De=(e,n)=>{const r=n.nativeEvent?n:{nativeEvent:n.nativeEvent||n.originalEvent};let o={};t.isVirtualScroll&&e.length&&!t.gridProps.pageable&&(o={take:void 0}),e.length===0&&t.gridProps.navigatable&&(Te.current=!0),ee(t.gridProps.onGroupChange,{group:e},{group:e,skip:0,...o},r)},Ke=e=>{if(t.gridProps.onColumnsStateChange){const n={target:D.current,columnsState:e};P(t.gridProps.onColumnsStateChange,n)}},fe=(e,n,r)=>{const{columnsRef:o,columnsState:i}=t,a=o[e],d=j.getFlatColumnsState(i),l=a.depth,s=C=>{do C++;while(C<o.length&&o[C].depth>l);return C},g=o.splice(e,s(e)-e);o.splice(e<n?s(n-g.length):n,0,...g),o.filter(C=>C.declarationIndex>=0).forEach((C,q)=>{C.orderIndex=q;const f=d.find(K=>K.id===C.id);f&&(f.orderIndex=q)});const m=o[e].locked&&o[n].locked;u.updateLeft(t.columnsMapRef,o,m||ye.current),u.updateRight(t.columnsMapRef,o,m||ye.current),Ge.current&&(ye.current=!1,Ge.current=!1);const y=le();if(te(),t.gridProps.onColumnReorder){const C={target:D.current,columns:y,columnId:a.id,nativeEvent:r};P(t.gridProps.onColumnReorder,C)}Ke(i)},ae=(e,n,r)=>{const o=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(r==="forbidden"||!o||!ce.current)return;const i=t.dataRef[n];t.gridProps.onRowReorder&&P(t.gridProps.onRowReorder,{draggedDataItems:[ce.current],droppedDataItem:i==null?void 0:i.dataItem,dropPosition:r,nativeEvent:e.originalEvent,dragEvent:e,target:D.current}),ce.current=null},Zt=(e,n,r)=>{if(t.gridProps.group===void 0)return;const o=t.gridProps.group.slice();o.splice(n,0,...o.splice(e,1)),De(o,r)},Ze=(e,n,r)=>{const o=t.columnsRef[e].field;if(!o)return;const i=(t.gridProps.group||[]).slice();i.splice(n,0,{field:o}),De(i,r)},Jt=(e,n)=>{const r=V.current.getCurrentGroupsLength;Ze(e,r,n)},Me=()=>{var e,n,r,o,i,a,d,l,s,g,m,y,C,q;if(t.gridProps.dataLayoutMode==="stacked"){const f=((e=F.current)==null?void 0:e.offsetWidth)||0;if((n=R.current)!=null&&n.colGroupMain&&f){const K=R.current.colGroupMain.children,v=K.length-1;if(v>=0){let Q=0;for(let re=0;re<v;re++){const wn=parseFloat((K[re].width||0).toString())||K[re].clientWidth;Q+=wn}const z=Math.max(0,f-Q);K[v].width=z+"px",(o=(r=R.current.colGroupHeader)==null?void 0:r.children)!=null&&o[v]&&(R.current.colGroupHeader.children[v].width=z+"px"),(a=(i=R.current.colGroupFooter)==null?void 0:i.children)!=null&&a[v]&&(R.current.colGroupFooter.children[v].width=z+"px"),(l=(d=R.current.colGroupStickyHeader)==null?void 0:d.children)!=null&&l[v]&&(R.current.colGroupStickyHeader.children[v].width=z+"px"),(g=(s=R.current.colGroupStickyFooter)==null?void 0:s.children)!=null&&g[v]&&(R.current.colGroupStickyFooter.children[v].width=z+"px"),(y=(m=R.current.colGroupPinnedTop)==null?void 0:m.children)!=null&&y[v]&&(R.current.colGroupPinnedTop.children[v].width=z+"px"),(q=(C=R.current.colGroupPinnedBottom)==null?void 0:C.children)!=null&&q[v]&&(R.current.colGroupPinnedBottom.children[v].width=z+"px")}}J.current&&J.current.setWidth(f),Z.current&&Z.current.setWidth(f),L.current&&L.current.setWidth(f),B.current&&B.current.setWidth(f),N.current&&N.current.setWidth(f),W.current&&W.current.setWidth(f),$.current&&($.current.style.width=f?f+"px":"")}else{let f=0;if(!R.current.colGroupMain)return;const K=R.current.colGroupMain.children;for(let v=0;v<K.length;v++){const Q=K[v].width;if(!Q){f=0;break}f+=parseFloat(Q.toString())}f=Math.round(f),J.current&&J.current.setWidth(f),Z.current&&Z.current.setWidth(f),L.current&&L.current.setWidth(f),B.current&&B.current.setWidth(f),N.current&&N.current.setWidth(f),W.current&&W.current.setWidth(f),$.current&&($.current.style.width=f?f+"px":"")}Se.current&&Qt()},Qt=()=>{const e=O.current,n=e?e.scrollWidth>e.clientWidth:!1;Se.current&&(Se.current.style.marginBlockEnd=n?"var(--kendo-scrollbar-width, 0px)":"")},Je=()=>{var e;t.gridProps.widthRef&&(t.gridProps.widthRef.current=((e=F.current)==null?void 0:e.offsetWidth)||0)},me=()=>{var e;t.gridProps.containerHeightRef&&(t.gridProps.containerHeightRef.current=((e=O.current)==null?void 0:e.offsetHeight)||0)},Xt=()=>{const e=t.gridProps.minRowHeightRef;if(e&&!e.current&&!t.gridProps.rowHeight){const n=j.calcRowHeight(A.current);n&&(e.current=n,te())}},Pe=c.useCallback((e,n,r,o,i)=>{var s;if(!Yt()&&!r||!e)return;const a={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:o,field:i,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...r},d=M(),l=u.populateClipboardData({event:a,data:d,selectedState:(s=t.gridProps.select)!=null?s:{},previousCopiedItems:rt.current});e!==u.ClipboardActionType.paste&&(rt.current=l.copiedItems),t.gridProps.onClipboard&&w&&P(t.gridProps.onClipboard,{...a,...l})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),Yt=()=>{var i,a,d;if(!I.canUseDOM)return!1;const e=I.getActiveElement(p()),n=e?e.matches(".k-table-td")?e:(i=p())==null?void 0:i.body:(a=p())==null?void 0:a.body,r=n==null?void 0:n.closest(".k-grid-container"),o=n&&((d=F.current)==null?void 0:d.contains(n));return!!(n&&o&&r)},Qe=(e,n,r,o,i,a,d)=>{Me(),ye.current=!0,Ge.current=!0,t.gridProps.onColumnResize&&w&&P(t.gridProps.onColumnResize,{columns:le(),nativeEvent:o,targetColumnId:d,index:e,newWidth:n,oldWidth:r,end:i,target:D.current}),i&&Ke(a)},en=()=>{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}},E=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:D.current}),tn=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),P=(e,n)=>{if(t.gridProps.isClient){e(n);return}e(tn(n))},nn=()=>{var e,n,r;if(A.current&&((e=A.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){Ae.current=!1,(n=document.activeElement)!=null&&n.closest(".k-grid-edit-row")?He.current=document.activeElement:He.current=void 0;const o=Array.from((r=A.current)==null?void 0:r.getElementsByClassName("k-grid-edit-row"));o.length>Be.current.length?Ie.current=o.filter(i=>!Be.current.includes(i))[0]:o.length===1&&(Ie.current=o[0],Ae.current=!0),Be.current=o}},M=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),p=()=>{var e;if(I.canUseDOM)return((e=he())==null?void 0:e.ownerDocument)||document},he=()=>F.current,Re=c.useCallback(e=>{var o,i;if(!S.current||!((o=S.current)!=null&&o.container)||k==="none")return;H.current&&H.current.disconnect();const{rowIndex:n}=e,r=he();if(G){const a=((i=S.current.rowHeightService)==null?void 0:i.offset(n))||0;S.current.container.scroll(0,a)}else if(r){const a=n<1?r.querySelector("tbody > tr:nth-child(1)"):r.querySelector(`tbody > tr:nth-child(${n+1})`);a&&O.current&&(O.current.scrollTop=a.offsetTop)}},[k]),Xe=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),rn=()=>Xe(In)===Xe(t.columnsRef),on=()=>{we.current=window.innerWidth,rn()||te()},an=()=>{var a;const{virtualTotal:e,virtualPageSize:n,gridProps:r}=t,o=S.current,i=t.gridProps.rowHeight||((a=r.minRowHeightRef)==null?void 0:a.current)||0;o&&(o.fixedScroll=r.fixedScroll||!1,o.PageChange=Nt,o.pageSize=n,o.scrollableVirtual=G,o.container=O.current,o.tableBody=A.current,o.scrollHeightContainer=et.current,o.scrollbarOverlaySpacerElement=tt.current,o.table=$.current,(!o.rowHeightService||o.total!==e)&&i&&(o.total=e,o.rowHeightService=new I.RowHeightService(e,i)))},Ye=c.useCallback(e=>{const n={rowIndex:Le.current};e.forEach(r=>{r.boundingClientRect.height!==r.intersectionRect.height&&Re(n)})},[Re]),te=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},cn=e=>e.left!==void 0?Ne!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},D=c.useRef(null),S=c.useRef(void 0),R=c.useRef(void 0),V=c.useRef(void 0),_=c.useRef(void 0),ne=c.useRef(void 0),be=c.useRef(void 0),H=c.useRef(null),A=c.useRef(null),dn=c.useRef(null),O=c.useRef(null),$=c.useRef(null),sn=c.useRef(null),F=c.useRef(null),et=c.useRef(null),Ce=c.useRef(null),tt=c.useRef(null),nt=c.useRef(!1),ve=c.useRef(null),Z=c.useRef(null),J=c.useRef(null),L=c.useRef(null),B=c.useRef(null),N=c.useRef(null),W=c.useRef(null),ln=c.useRef(null),un=c.useRef(null),Ge=c.useRef(!1),Te=c.useRef(!1),Ie=c.useRef(void 0),He=c.useRef(void 0),Ae=c.useRef(!1),ye=c.useRef(!0),Oe=c.useRef(0),Fe=c.useRef(void 0),Le=c.useRef(void 0),Be=c.useRef([]),rt=c.useRef([]),we=c.useRef(0),Ee=c.useRef(null),gn=typeof t.gridProps.groupable=="object"&&!!t.gridProps.groupable.stickyHeaders,fn=typeof t.gridProps.groupable=="object"&&!!t.gridProps.groupable.stickyFooters,mn=!!((ct=t.gridProps.group)!=null&&ct.length),{stickyHeaderItems:Pn,stickyHeaderRef:hn,stickyFooterItems:Rn,stickyFooterRef:Se,scrollToStickyGroup:bn,update:ot}=Dn.useStickyGroups({enabled:gn,enabledFooters:fn,flatData:t.dataRef,containerRef:O,tableBodyRef:A,rowHeight:t.gridProps.rowHeight,isGrouped:mn,virtualSkipRef:t.gridProps.virtualSkipRef,rowHeightServiceRef:{get current(){var e;return(e=S.current)==null?void 0:e.rowHeightService}}}),ce=c.useRef(null),Cn=c.useRef(null),vn=c.useRef(null),Ne=I.useDir(F),G=t.isVirtualScroll,In=c.useMemo(()=>c.Children.toArray(t.gridProps.children),[t.gridProps.children]),it=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,b=u.getSelectionOptions(t.gridProps.selectable),at=u.getEditableOptions(t.gridProps.editable),yn=we.current&&X&&we.current<=X.medium&&t.gridProps.adaptive;return c.useMemo(()=>{u.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:_,navigationStateRef:ne,idPrefix:t.id}),S.current=new Kn.VirtualScroll},[]),c.useMemo(()=>{var e;(e=S.current)==null||e.reset()},[k,t.gridProps.total,t.gridProps.filter,t.gridProps.group,it,t.gridProps.sort,t.gridProps.rowHeight]),c.useEffect(()=>{de.current={}}),c.useEffect(()=>(t.gridProps.clipboard&&(be.current=new u.ClipboardService(Pe),be.current.addEventListeners(p())),()=>{be.current&&be.current.removeEventListeners(p())}),[t.gridProps.onClipboard,t.gridProps.clipboard,Pe,p]),c.useEffect(()=>(Je(),Me(),I.setScrollbarWidth(),u.tableKeyboardNavigation.onComponentDidMount({scope:F.current||void 0,contextStateRef:_,navigationStateRef:ne}),()=>{clearTimeout(Fe.current)}),[]),c.useEffect(()=>{var e;Je(),Me(),I.setScrollbarWidth(),G&&(me(),Xt(),(e=S.current)==null||e.update()),ot(),nn(),u.tableKeyboardNavigation.onComponentDidUpdate({scope:F.current||void 0,contextStateRef:_,navigationStateRef:ne,focusFirst:Te.current,newEditableRow:Ie.current,singleEditRow:Ae.current,lastActiveElement:He.current,navigatable:t.gridProps.navigatable}),Rt(),Te.current=!1,Ie.current=void 0,Ee.current=void 0}),c.useEffect(()=>{if(I.canUseDOM){const e={rootMargin:"0px",threshold:.9};H.current=window.IntersectionObserver&&new window.IntersectionObserver(Ye,e)||null}return()=>{H.current&&(H.current.disconnect(),H.current=null)}},[Ye]),c.useEffect(()=>{var n;let e;return I.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(()=>{on(),G&&me()}),e.observe((n=p())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),c.useEffect(()=>{if(!I.canUseDOM||!window.ResizeObserver||!G||!O.current)return;const e=()=>{var i,a;const r=((i=t.gridProps.containerHeightRef)==null?void 0:i.current)||0;me();const o=((a=t.gridProps.containerHeightRef)==null?void 0:a.current)||0;(r===0&&o>0||Math.abs(o-r)>10)&&te()},n=new window.ResizeObserver(e);return n.observe(O.current),()=>{n.disconnect()}},[G,me]),c.useImperativeHandle(D,()=>({get element(){return he()},props:t.gridProps,get columns(){return le()},scrollIntoView:e=>{var o;if(!((o=S.current)!=null&&o.container)||k==="none")return;const{rowIndex:n}=e;Le.current=n;const r=he();if(H.current&&r){H.current.disconnect();const i=r.querySelector(`[absolute-row-index="${Le.current}"]`);i?H.current.observe(i):Re(e)}},fitColumns:e=>{R.current.dblClickHandler(null,e)},exportAsPdf:ke,saveAsCsv:_e,getCsvBlob:$e,getTotal:xe,getLeafDataItems:M})),c.useImperativeHandle(t.gridRef,()=>D.current),c.useMemo(()=>{R.current=new xn.ColumnResize(Qe)},[t.gridProps.onColumnResize,t.columnsRef]),c.useMemo(()=>{V.current=new kn.CommonDragLogic(fe,Zt,Ze)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),R.current.resizable=t.gridProps.resizable||!1,R.current.columns=t.renderedColumnsRef||t.columnsRef,R.current.columnsState=I.cloneArray(t.columnsState),V.current.reorderable=t.gridProps.reorderable||!1,V.current.groupable=it,V.current.columns=t.columnsRef,V.current.dir=Ne,an(),I.useWebMcpRegister("grid",D,t.gridProps,t.gridProps.webMcp),c.createElement(Tn.GridContext.Provider,{value:{isClient:w,rowReorder:ae,activeDragRowDataItemRef:ce,reorderRowDragTargetRef:Cn,reorderRowDropTargetRef:vn,dir:Ne,getCellPositionStyle:cn,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,columnsRef:t.columnsRef,hiddenColumnsRef:t.hiddenColumnsRef,onColumnsStateChange:Ke,groupable:t.gridProps.groupable,group:t.gridProps.group,reorderable:t.gridProps.reorderable,defaultGroup:t.gridProps.defaultGroup,groupChange:De,selectionRelease:je,pinnedSelectionRelease:At,pagerPageChange:qt,onContextMenu:mt,rowClick:It,rowDblClick:yt,cellClick:St,headerCellClick:qe,itemChange:Kt,onDialogEditCancel:Et,onDialogEditSubmit:wt,columnReorder:fe,onResize:Qe,getTotal:xe,sortable:t.gridProps.sortable,pageable:t.gridProps.pageable,pageSize:t.gridProps.pageSize,sort:t.gridProps.sort,skip:t.gridProps.skip,take:t.gridProps.take,defaultSort:t.gridProps.defaultSort,sortChange:Ue,filterable:t.gridProps.filterable,filter:t.gridProps.filter,defaultFilter:t.gridProps.defaultFilter,filterOperators:t.gridProps.filterOperators||Hn.operators,getLeafDataItems:M,filterChange:jt,applyHighlightDescriptor:Ut,applySelectionDescriptor:Lt,highlight:t.gridProps.highlight,select:t.gridProps.select,selectable:t.gridProps.selectable,searchChange:Vt,exportAsPdf:ke,exportAsCsv:_e,getCsvBlob:$e,onHeaderSelectionChange:Ht,columnGroupChange:Jt,onKeyDown:bt,onFocus:Ct,scrollHandler:Pt,selectionChange:Mt,groupSelectionChange:Gt,mobileMode:yn,adaptiveColumnMenuRef:we.current,adpativeTitle:t.gridProps.adaptiveTitle,adaptive:t.gridProps.adaptive,dispatchDetailExpand:xt,dispatchGroupExpand:kt,columnResizeRef:R,dragLogicRef:V,navigationStateRef:ne,tableElementRef:$,tableBodyElementRef:A,headerElementRef:dn,containerElementRef:O,headTableElementRef:sn,elementRef:F,virtualScrollHeightContainerRef:et,scrollbarContainerRef:Ce,scrollbarSpacerRef:tt,vScrollDraggingRef:nt,scrollbarShowCallbackRef:ve,footerRef:Z,headerRef:J,vsRef:S,stickyHeaderItems:Pn,stickyHeaderRef:hn,stickyFooterItems:Rn,stickyFooterRef:Se,stickyHeaderTableRef:L,stickyFooterTableRef:B,pinnedTopTableRef:N,pinnedBottomTableRef:W,pinnedTopRef:ln,pinnedBottomRef:un,onRowPin:ue,getRowPinPosition:Dt}},c.createElement(u.TableKeyboardNavigationContext.Provider,{value:_.current},t.children),c.createElement(dt.GridContextMenu,{show:h.show&&(se==null?void 0:se.length),dataItem:h.dataItem,field:h.field,items:se,offset:h.offset,onClose:We,onSelect:ft}),t.gridProps.pdf&&c.createElement(Mn.BasePDFExport,{gridProps:t.gridProps,innerGrid:t.innerGrid,pdf:typeof t.gridProps.pdf=="object"?t.gridProps.pdf:{},onPdfExport:_t,ref:e=>T.current=e}),t.gridProps.csv&&c.createElement(Gn.BaseCSVExport,{gridProps:t.gridProps,csv:typeof t.gridProps.csv=="object"?t.gridProps.csv:{},onCsvExport:$t,columnsState:t.columnsState,ref:e=>U.current=e}))};exports.GridClientWrapper=Fn;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const kn=require("react"),b=require("@progress/kendo-react-common"),Dn=require("@progress/kendo-data-query"),u=require("@progress/kendo-react-data-tools"),Kn=require("./drag/ColumnResize.js"),Mn=require("./drag/CommonDragLogic.js"),Tn=require("./hooks/useStickyGroups.js"),V=require("./utils/index.js"),Gn=require("./utils/proxiedScrollOverlay.js"),Hn=require("./utils/wheelTouchScroll.js"),On=require("./VirtualScroll.js"),ut=require("./contextMenu/GridContextMenu.js"),ae=require("./contextMenu/enums.js"),gt=require("./sortCommon.js"),An=require("./BasePDFExport.js"),Fn=require("./BaseCSVExport.js"),Wn=require("./utils/GridContext.js"),Ln=require("./filterCommon.js");function zn(t){const w=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const K in t)if(K!=="default"){const x=Object.getOwnPropertyDescriptor(t,K);Object.defineProperty(w,K,x.get?x:{enumerable:!0,get:()=>t[K]})}}return w.default=t,Object.freeze(w)}const c=zn(kn),Bn=(t,w,K,x)=>{const Y=Object.keys(w.cells).map(O=>K.findIndex(ee=>ee.field===O)),y=Object.keys(w.cells).length>0?Y:!0;return t.reduce((O,ee)=>(O[ee[x!=null?x:"id"]]=y,O),{})},ft=(t,w,K,x)=>w.reduce((y,O)=>({...y,...Bn(Dn.filterBy(t,O),O,K,x)}),{}),Nn=t=>{var st;const w=t.gridProps.isClient,K=typeof t.gridProps.scrollable=="object"?t.gridProps.scrollable.mode:t.gridProps.scrollable,{overlayScrollbar:x,wheelMultiplier:Y}=Gn.getScrollableOverlaySettings(t.gridProps.scrollable),[y,O]=c.useState({}),ee=b.useAdaptiveModeContext(),pe=c.useRef(null),ke=c.useRef(null),le=c.useRef({}),mt=e=>{e.event.preventDefault(),O({...y,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},Ue=()=>{O({})},Pt=e=>{const n=t.gridProps.dataItemKey||"",o=y.dataItem,r=t.gridProps.pinnedTopRows||[],i=t.gridProps.pinnedBottomRows||[],a=n?o[n]:void 0,d=a!==void 0&&r.some(l=>l[n]===a),s=a!==void 0&&i.some(l=>l[n]===a);return e.map(l=>{const g=typeof l=="string"?ut.contextMenuItemsMap[l]:l;return g&&g.name===ae.GridContextMenuItemNames.pinRow&&g.items?{...g,items:g.items.filter(m=>m.name===ae.GridContextMenuItemNames.pinTop?!d:m.name===ae.GridContextMenuItemNames.pinBottom?!s:m.name===ae.GridContextMenuItemNames.unpin?d||s:!0)}:l})},k=c.useMemo(()=>t.columnsRef.find(e=>e.field===y.field),[t.columnsRef,y]),je=c.useMemo(()=>{const e=t.gridProps.sortable&&(k==null?void 0:k.sortable);return V.getDefaultHeadContextMenuItems({pdf:!!t.gridProps.pdf,sortable:!!e,selectable:u.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[k,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Ve=c.useMemo(()=>(t.gridProps.sortable&&(k==null||k.sortable),V.getDefaultBodyContextMenuItems({pdf:!!t.gridProps.pdf,selectable:u.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:V.isRowReorderEnabled(t.gridProps.rowReorderable),pinnable:!!t.gridProps.pinnable})),[k,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard,t.gridProps.pinnable,t.gridProps.rowReorderable,t.gridProps.pdf]),se=c.useMemo(()=>{const e=(k==null?void 0:k.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(y):e;if(n&&y.offset){const o=y.dataItem?ae.GridContextMenuAnchorPart.body:ae.GridContextMenuAnchorPart.head,r=n[o],i=y.dataItem?Ve:je;let a;return r===!0||r===void 0?a=i:r!==!1&&(a=r),t.gridProps.pinnable&&a&&y.dataItem?Pt(a):a}},[t.gridProps.contextMenu,t.gridProps.pinnable,y,Ve,je,k]),ht=e=>{var d,s,l,g,m,I,v,j,f;const n=e.event.item,o={target:M.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&P(t.gridProps.onContextMenuItemClick,o);const r=H(),i={selectedField:"",componentId:t.id,dataItems:r,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...u.getSelectionOptions(t.gridProps.selectable),...o},a=r.findIndex(G=>G===e.dataItem);switch((d=n.data)==null?void 0:d.action){case"SortCommand":if(k){const G=(s=n.name)==null?void 0:s.toLowerCase().includes("asc"),X=((l=n.name)==null?void 0:l.toLowerCase().includes("desc"))?"desc":void 0,p=G?"asc":X,ie=n.name?p:void 0;_e(e.event.syntheticEvent,k,ie)}break;case"SelectRowCommand":zt(i);break;case"SelectAllRowsCommand":Lt(i);break;case"ExportPDFCommand":Ke();break;case"ClearSelectionCommand":Nt(i);break;case"ReorderRowCommand":de.current=e.dataItem,(g=n.name)!=null&&g.toLowerCase().includes("rowup")&&a>0&&ce(e.event.syntheticEvent,a-1,"before"),(m=n.name)!=null&&m.toLowerCase().includes("rowdown")&&a<r.length-1&&ce(e.event.syntheticEvent,a+1,"after"),(I=n.name)!=null&&I.toLowerCase().includes("rowtop")&&ce(e.event.syntheticEvent,0,"before"),(v=n.name)!=null&&v.toLowerCase().includes("rowbottom")&&ce(e.event.syntheticEvent,r.length-1,"after");break;case"CopySelectionCommand":he(u.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((j=n.name)!=null&&j.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":he(u.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((f=n.name)!=null&&f.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PinTopCommand":ge("pinTop",e.dataItem);break;case"PinBottomCommand":ge("pinBottom",e.dataItem);break;case"UnpinCommand":ge("unpin",e.dataItem);break}Ue()},ue=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return V.sanitizeColumns(e)},bt=(e,n,o)=>{if(t.gridProps.onContextMenu&&w){const r={target:M.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:o};P(t.gridProps.onContextMenu,r)}t.gridProps.contextMenu&&mt({event:e,dataItem:n,field:o})},Rt=e=>{var d,s;if(e.target!==e.currentTarget)return;clearTimeout(ze.current),E.current&&(E.current.table=W.current);const n=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop,r=o!==Le.current;t.gridProps.columnVirtualization&&(!T||o===Le.current)&&(ze.current=window.setTimeout(()=>{re()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),Q.current&&Q.current.setScrollLeft(n),J.current&&J.current.setScrollLeft(n),z!=null&&z.current&&z.current.setScrollLeft(n),B!=null&&B.current&&B.current.setScrollLeft(n),N!=null&&N.current&&N.current.setScrollLeft(n),q!=null&&q.current&&q.current.setScrollLeft(n);const i=(d=t.gridProps.virtualSkipRef)==null?void 0:d.current;E.current&&r&&E.current.scrollHandler(e);const a=T&&((s=t.gridProps.virtualSkipRef)==null?void 0:s.current)!==i;t.gridProps.onScroll&&w&&P(t.gridProps.onScroll,{...S(e)}),Le.current=o,!it.current&&Z.current&&Math.abs(Z.current.scrollTop-o)>1&&(He.current=!0,Z.current.scrollTop=o),a||ct()},vt=e=>{var o,r;const n=e.target;if((e.keyCode===38||e.keyCode===40)&&n.closest(".k-grid-sticky-container")){const i=parseInt(((o=n.closest("tr"))==null?void 0:o.getAttribute("absolute-row-index"))||"",10),a=n.getAttribute("data-keyboardnavid");if(!isNaN(i)&&a&&!((r=F.current)==null?void 0:r.querySelector(`tr[absolute-row-index="${i}"]`)))return Se.current={navId:a,key:e.key,code:e.code,keyCode:e.keyCode},e.preventDefault(),e.stopPropagation(),Re({rowIndex:i}),!0}return!1},Ct=()=>{var a;if(!Se.current||!L.current)return;const{navId:e,key:n,code:o,keyCode:r}=Se.current,i=(a=F.current)==null?void 0:a.querySelector(`[data-keyboardnavid="${e}"]`);i&&i.dispatchEvent(new KeyboardEvent("keydown",{key:n,code:o,keyCode:r,bubbles:!0,cancelable:!0}))},It=e=>{if(vt(e))return;u.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:$,navigationStateRef:oe,onNavigationAction:wt,columns:ue()}),u.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:U(),contextStateRef:$,navigationStateRef:oe});const n={dataItems:H(),mode:R.mode,cell:R.cell,componentId:t.id,selectedField:"",...S(e)};t.gridProps.onKeyDown&&w&&P(t.gridProps.onKeyDown,n)},yt=e=>{u.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:$})},wt=e=>{const{columnsRef:n}=t;if(e.action==="moveToNextPage"&&Ut(e.event),e.action==="moveToPrevPage"&&jt(e.event),e.focusElement&&(e.action==="reorderToRight"||e.action==="reorderToLeft")){const o=parseInt(e.focusElement.ariaColIndex,10)-1;if(!n[o].reorderable)return;if(e.action==="reorderToRight"&&o<t.columnsRef.length-1){if(n[o+1].disableReorder)return;me(o,o+1,e.event)}if(e.action==="reorderToLeft"&&o>0){if(n[o-1].disableReorder)return;me(o,o-1,e.event)}}if(e.action==="select"&&At(e.event),t.gridProps.onNavigationAction&&w){const o={focusElement:e.focusElement,...S(e.event)};P(t.gridProps.onNavigationAction,o)}},St=(e,n)=>{t.gridProps.onRowClick&&u.closestTagName(e.target,"TD")&&P(t.gridProps.onRowClick,{dataItem:n,...S(e)})},Et=(e,n)=>{t.gridProps.onRowDoubleClick&&u.closestTagName(e.target,"TD")&&P(t.gridProps.onRowDoubleClick,{dataItem:n,...S(e)})},xt=e=>{t.gridProps.onItemChange&&P(t.gridProps.onItemChange,{...S(e.syntheticEvent),dataItem:e.dataItem,field:void 0,value:void 0})},kt=e=>{t.gridProps.onItemChange&&t.gridProps.onEditChange&&P(t.gridProps.onEditChange,{edit:{},...S(e.syntheticEvent)})},Dt=(e,n,o)=>{var r,i;if(lt.enabled&&lt.mode==="incell"&&t.gridProps.dataItemKey){if(t.gridProps.pinnable&&t.gridProps.editZoneRef){const d=!!((i=(r=e.target).closest)!=null&&i.call(r,".k-grid-pinned-container"));t.gridProps.editZoneRef.current=d?"pinned":"body"}const a=u.editReducer(t.gridProps.edit,{type:u.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:o}});t.gridProps.onEditChange&&P(t.gridProps.onEditChange,{edit:a,...S(e)})}},Kt=(e,n)=>{var r;if(u.getDetailExpandableOptions(t.detailExpandable).enabled){const i=u.detailExpandReducer((r=t.gridProps.detailExpand)!=null?r:{},e);t.gridProps.onDetailExpandChange&&P(t.gridProps.onDetailExpandChange,{...S(n),detailExpand:i})}},Mt=(e,n)=>{var r;const o=u.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(o.enabled){const i=u.groupExpandReducer((r=t.gridProps.groupExpand)!=null?r:[],e,o);t.gridProps.onGroupExpandChange&&P(t.gridProps.onGroupExpandChange,{...S(n),groupExpand:i})}In(e.group)},Tt=c.useCallback(e=>{const{dataItemKey:n="",pinnedTopRows:o=[],pinnedBottomRows:r=[]}=t.gridProps;if(!n||!e)return"none";const i=e[n];return o!=null&&o.some(a=>a[n]===i)?"top":r!=null&&r.some(a=>a[n]===i)?"bottom":"none"},[t.gridProps.pinnedTopRows,t.gridProps.pinnedBottomRows,t.gridProps.dataItemKey]),ge=(e,n)=>{if(!t.gridProps.pinnable)return;const{dataItemKey:o="",pinnedTopRows:r=[],pinnedBottomRows:i=[]}=t.gridProps,a=n[o],d=r.filter(g=>g[o]!==a),s=i.filter(g=>g[o]!==a);let l;switch(e){case"pinTop":l={pinnedTopRows:[...d,n],pinnedBottomRows:s,dataItem:n};break;case"pinBottom":l={pinnedTopRows:d,pinnedBottomRows:[...s,n],dataItem:n};break;case"unpin":l={pinnedTopRows:d,pinnedBottomRows:s,dataItem:n};break;default:return}t.gridProps.onRowPinChange&&P(t.gridProps.onRowPinChange,l)},_e=(e,n,o)=>{const{allowUnsort:r,mode:i}=gt.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),a=(t.gridProps.sort||[]).filter(l=>l.field===n.field)[0],d=o||gt.firstLevelSortSeqMap[r][a&&a.dir||""],s=i==="single"?[]:(t.gridProps.sort||[]).filter(l=>l.field!==n.field);d!==""&&n.field&&s.push({field:n.field,dir:d}),Ze(s,e)},Gt=e=>{t.gridProps.onItemChange&&P(t.gridProps.onItemChange,{...S(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},Ht=e=>{var n;if(t.gridProps.onSelectionChange&&R.enabled){const{event:o,dataItem:r,dataIndex:i,columnIndex:a}=e,d={...S(o),dataItem:r,startColIndex:a,endColIndex:a,startRowIndex:i,endRowIndex:i,dataItems:H(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:R.mode,cell:R.cell,isDrag:!1,componentId:t.id,selectedField:""};P(t.gridProps.onSelectionChange,{...d,select:t.gridProps.dataItemKey?u.getSelectedState({event:d,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},Ot=e=>{var g;if(!t.gridProps.onSelectionChange||!R.enabled||!t.gridProps.dataItemKey)return;const{event:n,groupDataItem:o,selectAll:r}=e,i=b.getter(t.gridProps.dataItemKey),a=V.flattenGroupItems(o),d=H(),l={...(g=t.gridProps.select)!=null?g:{}};a.forEach(m=>{const I=i(m);I!==void 0&&(r?l[I]=!0:delete l[I])}),P(t.gridProps.onSelectionChange,{...S(n),dataItem:o,startColIndex:0,endColIndex:0,startRowIndex:0,endRowIndex:0,dataItems:d,altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:R.mode,cell:R.cell,isDrag:!1,componentId:t.id,selectedField:"",select:l})},At=e=>{var l,g;if(!R.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:H(),mode:R.mode,cell:R.cell,componentId:t.id,selectedField:"",...S(e)},o=u.getSelectedStateFromKeyDown({event:n,selectedState:(l=t.gridProps.select)!=null?l:{},dataItemKey:t.gridProps.dataItemKey});if(o===t.gridProps.select)return;const r=e.target,i=u.closestTagName(r,"TD"),a=u.closestTagName(r,"TR"),d=u.getColumnIndex(i),s=u.getRowIndex(a);if(d!==void 0&&s!==void 0){const m=(g=V.getDataAsArray(t.gridProps.data))==null?void 0:g[s];t.gridProps.onSelectionChange&&P(t.gridProps.onSelectionChange,{...n,select:o,dataItem:m,startRowIndex:s,startColIndex:d,startDataItem:m,endDataItem:m,endRowIndex:s,endColIndex:d,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},Ft=e=>{if(t.gridProps.onHeaderSelectionChange&&R.enabled){const n=H();P(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?n.reduce((o,r)=>(t.gridProps.dataItemKey&&b.getter(t.gridProps.dataItemKey)(r)!==void 0&&(o[b.getter(t.gridProps.dataItemKey)(r)]=!0),o),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:M.current,dataItems:n})}},te=(e,n)=>{t.gridProps.onSelectionChange&&R.enabled&&P(t.gridProps.onSelectionChange,{...e,select:n})},Wt=(e,n)=>{const o=t.gridProps.dataItemKey;if(!o||!n)return;const r=b.getter(o),i=H().findIndex(a=>r(a)===r(n));i!==-1&&$e({...e,startRowIndex:i,endRowIndex:i})},$e=e=>{var n;if(t.gridProps.onSelectionChange&&R.enabled){const o=H(),r=o[e.startRowIndex],i=o[e.endRowIndex],a={syntheticEvent:void 0,target:M.current,selectedField:"",componentId:t.id,dataItems:o,dataItem:null,startDataItem:r,endDataItem:i,...e},d=u.getSelectedState({event:a,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});te(a,d)}},Lt=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const n=e.dataItems[0],o=e.dataItems[e.dataItems.length-1],r={},i={...e,startDataItem:n,endDataItem:o,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:t.columnsRef.length-1};e.dataItems.forEach(a=>{const s=b.getter(t.gridProps.dataItemKey)(a);r[s]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),te(i,r)}},zt=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const o=b.getter(t.gridProps.dataItemKey)(e.dataItem),r=0,i=t.columnsRef.length-1,a=e.dataItems.findIndex(m=>m[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),l={...e,startDataItem:a,endDataItem:a,startRowIndex:a,endRowIndex:a,startColIndex:r,endColIndex:i},g=e.mode==="multiple"?t.gridProps.select||{}:{};g[o]===!0||Array.isArray(g[o])&&g[o].length===t.columnsRef.length?delete g[o]:g[o]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,te(l,g)}},Bt=e=>{if(!R.enabled)return;const n=H(),o={syntheticEvent:void 0,nativeEvent:void 0,target:M.current,selectedField:"",componentId:t.id,dataItems:n,dataItem:null,startDataItem:null,endDataItem:null,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,mode:R.mode,cell:R.cell};if(!e||e.length===0){const m={...o,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1};te(m,{});return}const r=ft(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey),i={};Object.keys(r).forEach(m=>{r[m]&&(i[m]=R.cell?[...Array(t.columnsRef.length).keys()]:!0)});let a=-1,d=-1,s=n[0]||null,l=n[n.length-1]||null;if(t.gridProps.dataItemKey){const m=b.getter(t.gridProps.dataItemKey);for(let I=0;I<n.length;I++){const v=m(n[I]);v!==void 0&&r[v]&&(a===-1&&(a=I,s=n[I]),d=I,l=n[I])}}const g={...o,startRowIndex:a,endRowIndex:d,startColIndex:0,endColIndex:t.columnsRef.length-1,startDataItem:s,endDataItem:l};te(g,i)},Nt=e=>{t.gridProps.onSelectionChange&&R.enabled&&te(e,{})},ne=(e,n,o,r,i)=>{pt();const a=t.gridProps.onDataStateChange;if(e){const d={...S(r),...n,targetEvent:i};P(e,d)}else a&&(le.current={...le.current,...o},P(a,{...S(r),targetEvent:i||{},dataState:{...rn(),...le.current}}))},fe=(e,n,o)=>{var r;T&&t.gridProps.pageable&&((r=E.current)==null||r.reset()),ne(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,o)},qt=(e,n,o)=>{var r;t.gridProps.pageable||(r=t.gridProps.group)!=null&&r.length?t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=e.skip,re()):fe(e,n,o)},De=()=>{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},pt=()=>{T&&t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=0)},Ut=e=>{var i,a;const n=(a=(i=t.gridProps.take)!=null?i:t.gridProps.pageSize)!=null?a:0,o=(t.gridProps.skip||0)+n,r=De();o<r&&fe({skip:o,take:n},e)},jt=e=>{var r,i;const n=(i=(r=t.gridProps.take)!=null?r:t.gridProps.pageSize)!=null?i:0,o=(t.gridProps.skip||0)-n;o>=0&&fe({skip:o,take:n},e)},Vt=e=>{fe({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},Ze=(e,n)=>{ne(t.gridProps.onSortChange,{sort:e},{sort:e,...T&&!t.gridProps.pageable?{skip:0}:{}},n)},_t=(e,n)=>{ne(t.gridProps.onFilterChange,{filter:e},{filter:e,skip:0},n)},$t=e=>{if(!e||e.length===0){Je({});return}const n=ft(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey);Je({...n})},Je=e=>{ne(t.gridProps.onHighlightChange,{highlight:e},{},{})},Zt=e=>{const n=t.gridProps.searchFields||t.columnsRef.map(i=>i.field)||[],o=e.nativeEvent.target.value,r={logic:"or",filters:n.filter(i=>i!==void 0).map(i=>{var a;return typeof i=="string"?{field:i,value:o,operator:"contains"}:{value:o,operator:(a=i.operator)!=null?a:"contains",field:i.field,ignoreCase:i.ignoreCase}})};ne(t.gridProps.onSearchChange,{search:r},{skip:0},e.syntheticEvent)},Ke=()=>{var e;(e=pe.current)==null||e.save()},Qe=async()=>{var e;await((e=ke.current)==null?void 0:e.save())},Xe=()=>{var e;return((e=ke.current)==null?void 0:e.getBlob())||null},Jt=async e=>{var n,o;(n=t.gridProps)!=null&&n.onPdfExport&&await((o=t.gridProps)==null?void 0:o.onPdfExport(e))},Qt=e=>{var n,o;return(n=t.gridProps)!=null&&n.onCsvExport?(o=t.gridProps)==null?void 0:o.onCsvExport(e):e},Me=(e,n)=>{const o=n.nativeEvent?n:{nativeEvent:n.nativeEvent||n.originalEvent};let r={};t.isVirtualScroll&&e.length&&!t.gridProps.pageable&&(r={take:void 0}),e.length===0&&t.gridProps.navigatable&&(Ae.current=!0),ne(t.gridProps.onGroupChange,{group:e},{group:e,skip:0,...r},o)},Te=e=>{if(t.gridProps.onColumnsStateChange){const n={target:M.current,columnsState:e};P(t.gridProps.onColumnsStateChange,n)}},me=(e,n,o)=>{const{columnsRef:r,columnsState:i}=t,a=r[e],d=V.getFlatColumnsState(i),s=a.depth,l=v=>{do v++;while(v<r.length&&r[v].depth>s);return v},g=r.splice(e,l(e)-e);r.splice(e<n?l(n-g.length):n,0,...g),r.filter(v=>v.declarationIndex>=0).forEach((v,j)=>{v.orderIndex=j;const f=d.find(G=>G.id===v.id);f&&(f.orderIndex=j)});const m=r[e].locked&&r[n].locked;u.updateLeft(t.columnsMapRef,r,m||ye.current),u.updateRight(t.columnsMapRef,r,m||ye.current),Oe.current&&(ye.current=!1,Oe.current=!1);const I=ue();if(re(),t.gridProps.onColumnReorder){const v={target:M.current,columns:I,columnId:a.id,nativeEvent:o};P(t.gridProps.onColumnReorder,v)}Te(i)},ce=(e,n,o)=>{const r=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(o==="forbidden"||!r||!de.current)return;const i=t.dataRef[n];t.gridProps.onRowReorder&&P(t.gridProps.onRowReorder,{draggedDataItems:[de.current],droppedDataItem:i==null?void 0:i.dataItem,dropPosition:o,nativeEvent:e.originalEvent,dragEvent:e,target:M.current}),de.current=null},Xt=(e,n,o)=>{if(t.gridProps.group===void 0)return;const r=t.gridProps.group.slice();r.splice(n,0,...r.splice(e,1)),Me(r,o)},Ye=(e,n,o)=>{const r=t.columnsRef[e].field;if(!r)return;const i=(t.gridProps.group||[]).slice();i.splice(n,0,{field:r}),Me(i,o)},Yt=(e,n)=>{const o=_.current.getCurrentGroupsLength;Ye(e,o,n)},Ge=()=>{var e,n,o,r,i,a,d,s,l,g,m,I,v,j;if(t.gridProps.dataLayoutMode==="stacked"){const f=((e=L.current)==null?void 0:e.offsetWidth)||0;if((n=h.current)!=null&&n.colGroupMain&&f){const G=h.current.colGroupMain.children,C=G.length-1;if(C>=0){let X=0;for(let ie=0;ie<C;ie++){const xn=parseFloat((G[ie].width||0).toString())||G[ie].clientWidth;X+=xn}const p=Math.max(0,f-X);G[C].width=p+"px",(r=(o=h.current.colGroupHeader)==null?void 0:o.children)!=null&&r[C]&&(h.current.colGroupHeader.children[C].width=p+"px"),(a=(i=h.current.colGroupFooter)==null?void 0:i.children)!=null&&a[C]&&(h.current.colGroupFooter.children[C].width=p+"px"),(s=(d=h.current.colGroupStickyHeader)==null?void 0:d.children)!=null&&s[C]&&(h.current.colGroupStickyHeader.children[C].width=p+"px"),(g=(l=h.current.colGroupStickyFooter)==null?void 0:l.children)!=null&&g[C]&&(h.current.colGroupStickyFooter.children[C].width=p+"px"),(I=(m=h.current.colGroupPinnedTop)==null?void 0:m.children)!=null&&I[C]&&(h.current.colGroupPinnedTop.children[C].width=p+"px"),(j=(v=h.current.colGroupPinnedBottom)==null?void 0:v.children)!=null&&j[C]&&(h.current.colGroupPinnedBottom.children[C].width=p+"px")}}Q.current&&Q.current.setWidth(f),J.current&&J.current.setWidth(f),z.current&&z.current.setWidth(f),B.current&&B.current.setWidth(f),N.current&&N.current.setWidth(f),q.current&&q.current.setWidth(f),W.current&&(W.current.style.width=f?f+"px":"")}else{let f=0;if(!h.current.colGroupMain)return;const G=h.current.colGroupMain.children;for(let C=0;C<G.length;C++){const X=G[C].width;if(!X){f=0;break}f+=parseFloat(X.toString())}f=Math.round(f),Q.current&&Q.current.setWidth(f),J.current&&J.current.setWidth(f),z.current&&z.current.setWidth(f),B.current&&B.current.setWidth(f),N.current&&N.current.setWidth(f),q.current&&q.current.setWidth(f),W.current&&(W.current.style.width=f?f+"px":"")}Ee.current&&en()},en=()=>{const e=D.current,n=e?e.scrollWidth>e.clientWidth:!1;Ee.current&&(Ee.current.style.marginBlockEnd=n?"var(--kendo-scrollbar-width, 0px)":"")},et=()=>{var e;t.gridProps.widthRef&&(t.gridProps.widthRef.current=((e=L.current)==null?void 0:e.offsetWidth)||0)},Pe=()=>{var e;t.gridProps.containerHeightRef&&(t.gridProps.containerHeightRef.current=((e=D.current)==null?void 0:e.offsetHeight)||0)},tn=()=>{const e=t.gridProps.minRowHeightRef;if(e&&!e.current&&!t.gridProps.rowHeight){const n=V.calcRowHeight(F.current);n&&(e.current=n,re())}},he=c.useCallback((e,n,o,r,i)=>{var l;if(!nn()&&!o||!e)return;const a={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:r,field:i,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...o},d=H(),s=u.populateClipboardData({event:a,data:d,selectedState:(l=t.gridProps.select)!=null?l:{},previousCopiedItems:at.current});e!==u.ClipboardActionType.paste&&(at.current=s.copiedItems),t.gridProps.onClipboard&&w&&P(t.gridProps.onClipboard,{...a,...s})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),nn=()=>{var i,a,d;if(!b.canUseDOM)return!1;const e=b.getActiveElement(U()),n=e?e.matches(".k-table-td")?e:(i=U())==null?void 0:i.body:(a=U())==null?void 0:a.body,o=n==null?void 0:n.closest(".k-grid-container"),r=n&&((d=L.current)==null?void 0:d.contains(n));return!!(n&&r&&o)},tt=(e,n,o,r,i,a,d)=>{Ge(),ye.current=!0,Oe.current=!0,t.gridProps.onColumnResize&&w&&P(t.gridProps.onColumnResize,{columns:ue(),nativeEvent:r,targetColumnId:d,index:e,newWidth:n,oldWidth:o,end:i,target:M.current}),i&&Te(a)},rn=()=>{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}},S=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:M.current}),on=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),P=(e,n)=>{if(t.gridProps.isClient){e(n);return}e(on(n))},an=()=>{var e,n,o;if(F.current&&((e=F.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){We.current=!1,(n=document.activeElement)!=null&&n.closest(".k-grid-edit-row")?Fe.current=document.activeElement:Fe.current=void 0;const r=Array.from((o=F.current)==null?void 0:o.getElementsByClassName("k-grid-edit-row"));r.length>Ne.current.length?Ie.current=r.filter(i=>!Ne.current.includes(i))[0]:r.length===1&&(Ie.current=r[0],We.current=!0),Ne.current=r}},H=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),U=()=>{var e;if(b.canUseDOM)return((e=be())==null?void 0:e.ownerDocument)||document},be=()=>L.current,Re=c.useCallback(e=>{var r,i;if(!E.current||!((r=E.current)!=null&&r.container)||K==="none")return;A.current&&A.current.disconnect();const{rowIndex:n}=e,o=be();if(T){const a=((i=E.current.rowHeightService)==null?void 0:i.offset(n))||0;E.current.container.scroll(0,a)}else if(o){const a=n<1?o.querySelector("tbody > tr:nth-child(1)"):o.querySelector(`tbody > tr:nth-child(${n+1})`);a&&D.current&&(D.current.scrollTop=a.offsetTop)}},[K]),nt=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),cn=()=>nt(Sn)===nt(t.columnsRef),dn=()=>{we.current=window.innerWidth,cn()||re()},ln=()=>{var a;const{virtualTotal:e,virtualPageSize:n,gridProps:o}=t,r=E.current,i=t.gridProps.rowHeight||((a=o.minRowHeightRef)==null?void 0:a.current)||0;r&&(r.fixedScroll=o.fixedScroll||!1,r.PageChange=qt,r.pageSize=n,r.scrollableVirtual=T,r.container=D.current,r.tableBody=F.current,r.scrollHeightContainer=ot.current,r.scrollbarOverlaySpacerElement=Ce.current,r.overlaySyncingRef=He,r.table=W.current,(!r.rowHeightService||r.total!==e)&&i&&(r.total=e,r.rowHeightService=new b.RowHeightService(e,i)))},rt=c.useCallback(e=>{const n={rowIndex:Be.current};e.forEach(o=>{o.boundingClientRect.height!==o.intersectionRect.height&&Re(n)})},[Re]),re=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},sn=e=>e.left!==void 0?qe!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},M=c.useRef(null),E=c.useRef(void 0),h=c.useRef(void 0),_=c.useRef(void 0),$=c.useRef(void 0),oe=c.useRef(void 0),ve=c.useRef(void 0),A=c.useRef(null),F=c.useRef(null),un=c.useRef(null),D=c.useRef(null),W=c.useRef(null),gn=c.useRef(null),L=c.useRef(null),ot=c.useRef(null),Z=c.useRef(null),Ce=c.useRef(null),it=c.useRef(!1),He=c.useRef(!1),J=c.useRef(null),Q=c.useRef(null),z=c.useRef(null),B=c.useRef(null),N=c.useRef(null),q=c.useRef(null),fn=c.useRef(null),mn=c.useRef(null),Oe=c.useRef(!1),Ae=c.useRef(!1),Ie=c.useRef(void 0),Fe=c.useRef(void 0),We=c.useRef(!1),ye=c.useRef(!0),Le=c.useRef(0),ze=c.useRef(void 0),Be=c.useRef(void 0),Ne=c.useRef([]),at=c.useRef([]),we=c.useRef(0),Se=c.useRef(null),Pn=typeof t.gridProps.groupable=="object"&&!!t.gridProps.groupable.stickyHeaders,hn=typeof t.gridProps.groupable=="object"&&!!t.gridProps.groupable.stickyFooters,bn=!!((st=t.gridProps.group)!=null&&st.length),{stickyHeaderItems:Rn,stickyHeaderRef:vn,stickyFooterItems:Cn,stickyFooterRef:Ee,scrollToStickyGroup:In,update:ct}=Tn.useStickyGroups({enabled:Pn,enabledFooters:hn,flatData:t.dataRef,containerRef:D,tableBodyRef:F,rowHeight:t.gridProps.rowHeight,isGrouped:bn,virtualSkipRef:t.gridProps.virtualSkipRef,rowHeightServiceRef:{get current(){var e;return(e=E.current)==null?void 0:e.rowHeightService}}}),de=c.useRef(null),yn=c.useRef(null),wn=c.useRef(null),qe=b.useDir(L),T=t.isVirtualScroll,Sn=c.useMemo(()=>c.Children.toArray(t.gridProps.children),[t.gridProps.children]),dt=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,R=u.getSelectionOptions(t.gridProps.selectable),lt=u.getEditableOptions(t.gridProps.editable),En=we.current&&ee&&we.current<=ee.medium&&t.gridProps.adaptive;c.useMemo(()=>{u.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:$,navigationStateRef:oe,idPrefix:t.id}),E.current=new On.VirtualScroll},[]),c.useMemo(()=>{var e;(e=E.current)==null||e.reset()},[K,t.gridProps.total,t.gridProps.filter,t.gridProps.group,dt,t.gridProps.sort,t.gridProps.rowHeight]),c.useEffect(()=>{le.current={}}),c.useEffect(()=>(t.gridProps.clipboard&&(ve.current=new u.ClipboardService(he),ve.current.addEventListeners(U())),()=>{ve.current&&ve.current.removeEventListeners(U())}),[t.gridProps.onClipboard,t.gridProps.clipboard,he,U]),c.useEffect(()=>(et(),Ge(),b.setScrollbarWidth(),u.tableKeyboardNavigation.onComponentDidMount({scope:L.current||void 0,contextStateRef:$,navigationStateRef:oe}),()=>{clearTimeout(ze.current)}),[]),c.useEffect(()=>{var e;et(),Ge(),b.setScrollbarWidth(),T&&(Pe(),tn(),(e=E.current)==null||e.update()),ct(),an(),u.tableKeyboardNavigation.onComponentDidUpdate({scope:L.current||void 0,contextStateRef:$,navigationStateRef:oe,focusFirst:Ae.current,newEditableRow:Ie.current,singleEditRow:We.current,lastActiveElement:Fe.current,navigatable:t.gridProps.navigatable}),Ct(),Ae.current=!1,Ie.current=void 0,Se.current=void 0}),c.useEffect(()=>{if(b.canUseDOM){const e={rootMargin:"0px",threshold:.9};A.current=window.IntersectionObserver&&new window.IntersectionObserver(rt,e)||null}return()=>{A.current&&(A.current.disconnect(),A.current=null)}},[rt]),c.useEffect(()=>{var n;let e;return b.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(()=>{dn(),T&&Pe()}),e.observe((n=U())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),c.useEffect(()=>{if(!b.canUseDOM||!window.ResizeObserver||!T||!D.current)return;const e=()=>{var i,a;const o=((i=t.gridProps.containerHeightRef)==null?void 0:i.current)||0;Pe();const r=((a=t.gridProps.containerHeightRef)==null?void 0:a.current)||0;(o===0&&r>0||Math.abs(r-o)>10)&&re()},n=new window.ResizeObserver(e);return n.observe(D.current),()=>{n.disconnect()}},[T,Pe]);const xe=c.useCallback(()=>{var r;const e=D.current;if(!e)return;const n=((r=Z.current)==null?void 0:r.offsetWidth)||17,o=e.scrollWidth>e.clientWidth?n:0;Z.current&&(Z.current.style.bottom=o+"px"),Ce.current&&(Ce.current.style.height=Math.max(0,e.scrollHeight-o)+"px")},[]);return c.useEffect(()=>{if(!b.canUseDOM||!x||!D.current||!window.ResizeObserver)return;const e=D.current,n=new window.ResizeObserver(xe);return W.current&&n.observe(W.current),n.observe(e),()=>{n.disconnect()}},[x,xe]),c.useEffect(()=>{!b.canUseDOM||!x||!D.current||xe()},[x,xe,t.columnsState,t.gridProps.data]),c.useEffect(()=>{const e=D.current,n=T&&x;if(!(!e||!n&&Y===1))return Hn.attachWheelTouchScroll(e,{wheelMultiplier:Y,overlayRequiresCustomWheel:n})},[T,x,Y]),c.useImperativeHandle(M,()=>({get element(){return be()},props:t.gridProps,get columns(){return ue()},scrollIntoView:e=>{var r;if(!((r=E.current)!=null&&r.container)||K==="none")return;const{rowIndex:n}=e;Be.current=n;const o=be();if(A.current&&o){A.current.disconnect();const i=o.querySelector(`[absolute-row-index="${Be.current}"]`);i?A.current.observe(i):Re(e)}},fitColumns:e=>{h.current.dblClickHandler(null,e)},exportAsPdf:Ke,saveAsCsv:Qe,getCsvBlob:Xe,getTotal:De,getLeafDataItems:H})),c.useImperativeHandle(t.gridRef,()=>M.current),c.useMemo(()=>{h.current=new Kn.ColumnResize(tt)},[t.gridProps.onColumnResize,t.columnsRef]),c.useMemo(()=>{_.current=new Mn.CommonDragLogic(me,Xt,Ye)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),h.current.resizable=t.gridProps.resizable||!1,h.current.columns=t.renderedColumnsRef||t.columnsRef,h.current.columnsState=b.cloneArray(t.columnsState),_.current.reorderable=t.gridProps.reorderable||!1,_.current.groupable=dt,_.current.columns=t.columnsRef,_.current.dir=qe,ln(),b.useWebMcpRegister("grid",M,t.gridProps,t.gridProps.webMcp),c.createElement(Wn.GridContext.Provider,{value:{isClient:w,rowReorder:ce,activeDragRowDataItemRef:de,reorderRowDragTargetRef:yn,reorderRowDropTargetRef:wn,dir:qe,getCellPositionStyle:sn,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,columnsRef:t.columnsRef,hiddenColumnsRef:t.hiddenColumnsRef,onColumnsStateChange:Te,groupable:t.gridProps.groupable,group:t.gridProps.group,reorderable:t.gridProps.reorderable,defaultGroup:t.gridProps.defaultGroup,groupChange:Me,selectionRelease:$e,pinnedSelectionRelease:Wt,pagerPageChange:Vt,onContextMenu:bt,rowClick:St,rowDblClick:Et,cellClick:Dt,headerCellClick:_e,itemChange:Gt,onDialogEditCancel:kt,onDialogEditSubmit:xt,columnReorder:me,onResize:tt,getTotal:De,sortable:t.gridProps.sortable,pageable:t.gridProps.pageable,pageSize:t.gridProps.pageSize,sort:t.gridProps.sort,skip:t.gridProps.skip,take:t.gridProps.take,defaultSort:t.gridProps.defaultSort,sortChange:Ze,filterable:t.gridProps.filterable,filter:t.gridProps.filter,defaultFilter:t.gridProps.defaultFilter,filterOperators:t.gridProps.filterOperators||Ln.operators,getLeafDataItems:H,filterChange:_t,applyHighlightDescriptor:$t,applySelectionDescriptor:Bt,highlight:t.gridProps.highlight,select:t.gridProps.select,selectable:t.gridProps.selectable,searchChange:Zt,exportAsPdf:Ke,exportAsCsv:Qe,getCsvBlob:Xe,onHeaderSelectionChange:Ft,columnGroupChange:Yt,onKeyDown:It,onFocus:yt,scrollHandler:Rt,selectionChange:Ht,groupSelectionChange:Ot,mobileMode:En,adaptiveColumnMenuRef:we.current,adpativeTitle:t.gridProps.adaptiveTitle,adaptive:t.gridProps.adaptive,dispatchDetailExpand:Kt,dispatchGroupExpand:Mt,columnResizeRef:h,dragLogicRef:_,navigationStateRef:oe,tableElementRef:W,tableBodyElementRef:F,headerElementRef:un,containerElementRef:D,headTableElementRef:gn,elementRef:L,virtualScrollHeightContainerRef:ot,scrollbarContainerRef:Z,scrollbarSpacerRef:Ce,vScrollDraggingRef:it,overlaySyncingRef:He,footerRef:J,headerRef:Q,vsRef:E,stickyHeaderItems:Rn,stickyHeaderRef:vn,stickyFooterItems:Cn,stickyFooterRef:Ee,stickyHeaderTableRef:z,stickyFooterTableRef:B,pinnedTopTableRef:N,pinnedBottomTableRef:q,pinnedTopRef:fn,pinnedBottomRef:mn,onRowPin:ge,getRowPinPosition:Tt}},c.createElement(u.TableKeyboardNavigationContext.Provider,{value:$.current},t.children),c.createElement(ut.GridContextMenu,{show:y.show&&(se==null?void 0:se.length),dataItem:y.dataItem,field:y.field,items:se,offset:y.offset,onClose:Ue,onSelect:ht}),t.gridProps.pdf&&c.createElement(An.BasePDFExport,{gridProps:t.gridProps,innerGrid:t.innerGrid,pdf:typeof t.gridProps.pdf=="object"?t.gridProps.pdf:{},onPdfExport:Jt,ref:e=>pe.current=e}),t.gridProps.csv&&c.createElement(Fn.BaseCSVExport,{gridProps:t.gridProps,csv:typeof t.gridProps.csv=="object"?t.gridProps.csv:{},onCsvExport:Qt,columnsState:t.columnsState,ref:e=>ke.current=e}))};exports.GridClientWrapper=Nn;