@progress/kendo-react-grid 16.0.1-develop.1 → 16.1.0-develop.10

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,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 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;
@@ -1164,6 +1164,7 @@ const hr = (t, x, z, R) => {
1164
1164
  applySelectionDescriptor: pt,
1165
1165
  highlight: t.gridProps.highlight,
1166
1166
  select: t.gridProps.select,
1167
+ selectable: t.gridProps.selectable,
1167
1168
  searchChange: Jt,
1168
1169
  exportAsPdf: Ke,
1169
1170
  exportAsCsv: Je,