@progress/kendo-react-grid 11.2.0 → 11.2.1-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ot=require("react"),b=require("@progress/kendo-react-common"),d=require("@progress/kendo-react-data-tools"),Lt=require("./drag/ColumnResize.js"),zt=require("./drag/CommonDragLogic.js"),Ft=require("./constants/index.js"),A=require("./utils/index.js"),Nt=require("./VirtualScroll.js"),qt=require("./contextMenu/GridContextMenu.js"),Le=require("./contextMenu/enums.js"),ze=require("./sortCommon.js"),Ut=require("./BasePDFExport.js"),Vt=require("./utils/GridContext.js"),Wt=require("./filterCommon.js");function Bt(t){const I=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const g in t)if(g!=="default"){const L=Object.getOwnPropertyDescriptor(t,g);Object.defineProperty(I,g,L.get?L:{enumerable:!0,get:()=>t[g]})}}return I.default=t,Object.freeze(I)}const a=Bt(Ot),jt=t=>{const I=t.gridProps.isClient,[g,L]=a.useState({}),Ce=b.useAdaptiveModeContext(),Ie=a.useRef(null),Fe=e=>{e.event.preventDefault(),L({...g,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},Ee=()=>{L({})},R=a.useMemo(()=>t.columnsRef.find(e=>e.field===g.field),[t.columnsRef,g]),we=a.useMemo(()=>{const e=t.gridProps.sortable&&(R==null?void 0:R.sortable);return A.getDefaultHeadContextMenuItems({pdf:!!t.gridProps.pdf,sortable:!!e,selectable:d.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[R,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),ye=a.useMemo(()=>{const e=t.gridProps.sortable&&(R==null?void 0:R.sortable);return A.getDefaultBodyContextMenuItems({pdf:!!t.gridProps.pdf,sortable:!!e,selectable:d.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:A.isRowReorderEnabled(t.gridProps.rowReorderable)})},[R,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),$=a.useMemo(()=>{const e=(R==null?void 0:R.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(g):e;if(n&&g.offset){const o=g.dataItem?Le.GridContextMenuAnchorPart.body:Le.GridContextMenuAnchorPart.head,r=n[o],i=g.dataItem?ye:we;return r===!1?void 0:r===!0||r===void 0?i:r}},[t.gridProps.contextMenu,g,ye,we,R]),Ne=e=>{var l,u,f,h,w,re,C,B,j;const n=e.event.item,o={target:E.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&s(t.gridProps.onContextMenuItemClick,o);const r=y(),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,...d.getSelectionOptions(t.gridProps.selectable),...o},c=r.findIndex(_=>_===e.dataItem);switch((l=n.data)==null?void 0:l.action){case"SortCommand":if(R){const _=(u=n.name)==null?void 0:u.toLowerCase().includes("asc"),At=((f=n.name)==null?void 0:f.toLowerCase().includes("desc"))?"desc":void 0,Gt=_?"asc":At,Ht=n.name?Gt:void 0;Se(e.event.syntheticEvent,R,Ht)}break;case"SelectRowCommand":ot(i);break;case"SelectAllRowsCommand":rt(i);break;case"ExportPDFCommand":oe();break;case"ClearSelectionCommand":it(i);break;case"ReorderRowCommand":W.current=e.dataItem,(h=n.name)!=null&&h.toLowerCase().includes("rowup")&&c>0&&F(e.event.syntheticEvent,c-1,"before"),(w=n.name)!=null&&w.toLowerCase().includes("rowdown")&&c<r.length-1&&F(e.event.syntheticEvent,c+1,"after"),(re=n.name)!=null&&re.toLowerCase().includes("rowtop")&&F(e.event.syntheticEvent,0,"before"),(C=n.name)!=null&&C.toLowerCase().includes("rowbottom")&&F(e.event.syntheticEvent,r.length-1,"after");break;case"CopySelectionCommand":Q(d.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((B=n.name)!=null&&B.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":Q(d.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((j=n.name)!=null&&j.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break}Ee()},X=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return A.sanitizeColumns(e)},qe=(e,n,o)=>{if(t.gridProps.onContextMenu&&I){const r={target:E.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:o};s(t.gridProps.onContextMenu,r)}t.gridProps.contextMenu&&Fe({event:e,dataItem:n,field:o})},Ue=e=>{if(e.target!==e.currentTarget)return;clearTimeout(he.current),P.current&&(P.current.table=M.current);const n=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop;t.gridProps.columnVirtualization&&(!D||o===Pe.current)&&(he.current=window.setTimeout(()=>{N()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),V.current&&V.current.setScrollLeft(n),U.current&&U.current.setScrollLeft(n),P.current&&o!==Pe.current&&P.current.scrollHandler(e),t.gridProps.onScroll&&I&&s(t.gridProps.onScroll,{...m(e)}),Pe.current=o},Ve=e=>{d.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:K,navigationStateRef:G,onNavigationAction:Be,columns:X()}),d.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:S(),contextStateRef:K,navigationStateRef:G});const n={dataItems:y(),mode:v.mode,cell:v.cell,componentId:t.id,selectedField:"",...m(e)};t.gridProps.onKeyDown&&I&&s(t.gridProps.onKeyDown,n)},We=e=>{d.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:K})},Be=e=>{if(e.action==="moveToNextPage"&&lt(e.event),e.action==="moveToPrevPage"&&st(e.event),e.focusElement&&e.action==="reorderToRight"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n<t.columnsRef.length-1&&ce(n,n+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n>0&&ce(n,n-1,e.event)}if(e.action==="select"&&et(e.event),t.gridProps.onNavigationAction&&I){const n={focusElement:e.focusElement,...m(e.event)};s(t.gridProps.onNavigationAction,n)}},je=(e,n)=>{t.gridProps.onRowClick&&e.target.nodeName==="TD"&&s(t.gridProps.onRowClick,{dataItem:n,...m(e)})},_e=(e,n)=>{t.gridProps.onRowDoubleClick&&e.target.nodeName==="TD"&&s(t.gridProps.onRowDoubleClick,{dataItem:n,...m(e)})},$e=e=>{t.gridProps.onItemChange&&s(t.gridProps.onItemChange,{...m(e.syntheticEvent),dataItem:e.dataItem,field:void 0,value:void 0})},Xe=e=>{t.gridProps.onItemChange&&t.gridProps.onEditChange&&s(t.gridProps.onEditChange,{edit:{},...m(e.syntheticEvent)})},Je=(e,n,o)=>{if(Oe.enabled&&Oe.mode==="incell"&&t.gridProps.dataItemKey){const r=d.editReducer(t.gridProps.edit,{type:d.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:o}});t.gridProps.onEditChange&&s(t.gridProps.onEditChange,{edit:r,...m(e)})}},Ye=(e,n)=>{var r;if(d.getDetailExpandableOptions(t.detailExpandable).enabled){const i=d.detailExpandReducer((r=t.gridProps.detailExpand)!=null?r:{},e);t.gridProps.onDetailExpandChange&&s(t.gridProps.onDetailExpandChange,{...m(n),detailExpand:i})}},Qe=(e,n)=>{var r;const o=d.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(o.enabled){const i=d.groupExpandReducer((r=t.gridProps.groupExpand)!=null?r:[],e,o);t.gridProps.onGroupExpandChange&&s(t.gridProps.onGroupExpandChange,{...m(n),groupExpand:i})}},Se=(e,n,o)=>{const{allowUnsort:r,mode:i}=ze.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),c=(t.gridProps.sort||[]).filter(f=>f.field===n.field)[0],l=o||ze.firstLevelSortSeqMap[r][c&&c.dir||""],u=i==="single"?[]:(t.gridProps.sort||[]).filter(f=>f.field!==n.field);l!==""&&n.field&&u.push({field:n.field,dir:l}),xe(u,e)},Ze=e=>{t.gridProps.onItemChange&&s(t.gridProps.onItemChange,{...m(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},pe=e=>{var n;if(t.gridProps.onSelectionChange&&v.enabled){const{event:o,dataItem:r,dataIndex:i,columnIndex:c}=e,l={...m(o),dataItem:r,startColIndex:c,endColIndex:c,startRowIndex:i,endRowIndex:i,dataItems:y(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:v.mode,cell:v.cell,isDrag:!1,componentId:t.id,selectedField:""};s(t.gridProps.onSelectionChange,{...l,select:t.gridProps.dataItemKey?d.getSelectedState({event:l,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},et=e=>{var f,h;if(!v.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:y(),mode:v.mode,cell:v.cell,componentId:t.id,selectedField:"",...m(e)},o=d.getSelectedStateFromKeyDown({event:n,selectedState:(f=t.gridProps.select)!=null?f:{},dataItemKey:t.gridProps.dataItemKey});if(o===t.gridProps.select)return;const r=e.target,i=d.closestTagName(r,"TD"),c=d.closestTagName(r,"TR"),l=d.getColumnIndex(i),u=d.getRowIndex(c);if(l!==void 0&&u!==void 0){const w=(h=A.getDataAsArray(t.gridProps.data))==null?void 0:h[u];t.gridProps.onSelectionChange&&s(t.gridProps.onSelectionChange,{...n,select:o,dataItem:w,startRowIndex:u,startColIndex:l,startDataItem:w,endDataItem:w,endRowIndex:u,endColIndex:l,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},tt=e=>{if(t.gridProps.onHeaderSelectionChange&&v.enabled){const n=y();s(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:E.current,dataItems:n})}},J=(e,n)=>{t.gridProps.onSelectionChange&&v.enabled&&s(t.gridProps.onSelectionChange,{...e,select:n})},nt=e=>{var n;if(t.gridProps.onSelectionChange&&v.enabled){const o=y()[e.startRowIndex],r=y()[e.endRowIndex],i={syntheticEvent:void 0,target:E.current,selectedField:"",componentId:t.id,dataItems:y(),dataItem:null,startDataItem:o,endDataItem:r,...e},c=d.getSelectedState({event:i,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});J(i,c)}},rt=e=>{if(t.gridProps.onSelectionChange&&v.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(c=>{const u=b.getter(t.gridProps.dataItemKey)(c);r[u]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),J(i,r)}},ot=e=>{if(t.gridProps.onSelectionChange&&v.enabled){const o=b.getter(t.gridProps.dataItemKey)(e.dataItem),r=0,i=t.columnsRef.length-1,c=e.dataItems.findIndex(w=>w[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),f={...e,startDataItem:c,endDataItem:c,startRowIndex:c,endRowIndex:c,startColIndex:r,endColIndex:i},h=e.mode==="multiple"?t.gridProps.select||{}:{};h[o]===!0||Array.isArray(h[o])&&h[o].length===t.columnsRef.length?delete h[o]:h[o]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,J(f,h)}},it=e=>{t.gridProps.onSelectionChange&&v.enabled&&J(e,{})},z=(e,n,o,r,i)=>{dt();const c=t.gridProps.onDataStateChange;if(e){const l={...m(r),...n,targetEvent:i};s(e,l)}else c&&s(c,{...m(r),targetEvent:i||{},dataState:{...Ct(),...o}})},Y=(e,n,o)=>{var r;D&&t.gridProps.pageable&&((r=P.current)==null||r.reset()),z(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,o)},at=(e,n,o)=>{var r;t.gridProps.pageable||(r=t.gridProps.group)!=null&&r.length?t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=e.skip,N()):Y(e,n,o)},ct=()=>{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},dt=()=>{D&&t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=0)},lt=e=>{var i,c;const n=(c=(i=t.gridProps.take)!=null?i:t.gridProps.pageSize)!=null?c:0,o=(t.gridProps.skip||0)+n,r=ct();o<r&&Y({skip:o,take:n},e)},st=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&&Y({skip:o,take:n},e)},ut=e=>{Y({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},xe=(e,n)=>{z(t.gridProps.onSortChange,{sort:e},{sort:e,...D&&!t.gridProps.pageable?{skip:0}:{}},n)},gt=(e,n)=>{z(t.gridProps.onFilterChange,{filter:e},{filter:e,skip:0},n)},ft=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 c;return typeof i=="string"?{field:i,value:o,operator:"contains"}:{value:o,operator:(c=i.operator)!=null?c:"contains",field:i.field,ignoreCase:i.ignoreCase}})};z(t.gridProps.onSearchChange,{search:r},{},e.syntheticEvent)},oe=()=>{var e;(e=Ie.current)==null||e.save()},mt=async e=>{var n,o;(n=t.gridProps)!=null&&n.onPdfExport&&await((o=t.gridProps)==null?void 0:o.onPdfExport(e))},ie=(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&&(ge.current=!0),z(t.gridProps.onGroupChange,{group:e},{group:e,skip:0,...r},o)},ae=e=>{if(t.gridProps.onColumnsStateChange){const n={target:E.current,columnsState:e};s(t.gridProps.onColumnsStateChange,n)}},ce=(e,n,o)=>{const{columnsRef:r,columnsState:i}=t,c=r[e],l=A.getFlatColumnsState(i),u=c.depth,f=C=>{do C++;while(C<r.length&&r[C].depth>u);return C},h=r.splice(e,f(e)-e);r.splice(e<n?f(n-h.length):n,0,...h),r.filter(C=>C.declarationIndex>=0).forEach((C,B)=>{C.orderIndex=B;const j=l.find(_=>_.id===C.id);j&&(j.orderIndex=B)});const w=r[e].locked&&r[n].locked;d.updateLeft(t.columnsMapRef,r,w||te.current),d.updateRight(t.columnsMapRef,r,w||te.current),ue.current&&(te.current=!1,ue.current=!1);const re=X();if(N(),t.gridProps.onColumnReorder){const C={target:E.current,columns:re,columnId:c.id,nativeEvent:o};s(t.gridProps.onColumnReorder,C)}ae(i)},F=(e,n,o)=>{const r=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(o==="forbidden"||!r||!W.current)return;const i=t.dataRef[n];t.gridProps.onRowReorder&&s(t.gridProps.onRowReorder,{draggedDataItems:[W.current],droppedDataItem:i==null?void 0:i.dataItem,dropPosition:o,nativeEvent:e.originalEvent,dragEvent:e,target:E.current}),W.current=null},Pt=(e,n,o)=>{if(t.gridProps.group===void 0)return;const r=t.gridProps.group.slice();r.splice(n,0,...r.splice(e,1)),ie(r,o)},De=(e,n,o)=>{const r=t.columnsRef[e].field;if(!r)return;const i=(t.gridProps.group||[]).slice();i.splice(n,0,{field:r}),ie(i,o)},ht=(e,n)=>{const o=k.current.getCurrentGroupsLength;De(e,o,n)},de=()=>{let e=0;if(!x.current.colGroupMain)return;const n=x.current.colGroupMain.children;for(let o=0;o<n.length;o++){const r=n[o].width;if(!r){e=0;break}e+=parseFloat(r.toString())}e=Math.round(e),V.current&&V.current.setWidth(e),U.current&&U.current.setWidth(e),M.current&&(M.current.style.width=e?e+"px":"")},ke=()=>{var e;t.gridProps.widthRef&&(t.gridProps.widthRef.current=((e=T.current)==null?void 0:e.offsetWidth)||0)},Ke=()=>{var e;t.gridProps.containerHeightRef&&(t.gridProps.containerHeightRef.current=((e=q.current)==null?void 0:e.offsetHeight)||0)},bt=()=>{const e=t.gridProps.minRowHeightRef;if(e&&!e.current&&!t.gridProps.rowHeight){const n=A.calcRowHeight(O.current);n&&(e.current=n,N())}},Q=a.useCallback((e,n,o,r,i)=>{var f;if(!Rt()&&!o||!e)return;const c={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:r,field:i,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...o},l=y(),u=d.populateClipboardData({event:c,data:l,selectedState:(f=t.gridProps.select)!=null?f:{},previousCopiedItems:Ge.current});e!==d.ClipboardActionType.paste&&(Ge.current=u.copiedItems),t.gridProps.onClipboard&&I&&s(t.gridProps.onClipboard,{...c,...u})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),Rt=()=>{var i,c,l;if(!b.canUseDOM)return!1;const e=b.getActiveElement(S()),n=e?e.matches(".k-table-td")?e:(i=S())==null?void 0:i.body:(c=S())==null?void 0:c.body,o=n.closest(".k-grid-container"),r=n&&((l=T.current)==null?void 0:l.contains(n));return!!(n&&r&&o)},vt=(e,n,o,r,i,c,l)=>{de(),te.current=!0,ue.current=!0,t.gridProps.onColumnResize&&I&&s(t.gridProps.onColumnResize,{columns:X(),nativeEvent:r,targetColumnId:l,index:e,newWidth:n,oldWidth:o,end:i,target:E.current}),i&&ae(c)},Ct=()=>{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}},m=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:E.current}),It=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),s=(e,n)=>{if(t.gridProps.isClient){e(n);return}e(It(n))},Et=()=>{var e,n,o;if(O.current&&((e=O.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){me.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=O.current)==null?void 0:o.getElementsByClassName("k-grid-edit-row"));r.length>Re.current.length?ee.current=r.filter(i=>!Re.current.includes(i))[0]:r.length===1&&(ee.current=r[0],me.current=!0),Re.current=r}},y=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),S=()=>{var e;if(b.canUseDOM)return((e=Z())==null?void 0:e.ownerDocument)||document},Z=()=>T.current,le=a.useCallback(e=>{var r,i;if(!P.current||!((r=P.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;H.current&&H.current.disconnect();const{rowIndex:n}=e,o=Z();if(D){const c=((i=P.current.rowHeightService)==null?void 0:i.offset(n))||0;P.current.container.scroll(0,c)}else if(o){const c=n<1?o.querySelector("tbody > tr:nth-child(1)"):o.querySelector(`tbody > tr:nth-child(${n+1})`);c&&q.current&&(q.current.scrollTop=c.offsetTop)}},[t.gridProps.scrollable]),Me=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),wt=()=>Me(Mt)===Me(t.columnsRef),yt=()=>{ne.current=window.innerWidth,wt()||N()},St=()=>{var c;const{virtualTotal:e,virtualPageSize:n,gridProps:o}=t,r=P.current,i=t.gridProps.rowHeight||((c=o.minRowHeightRef)==null?void 0:c.current)||0;r&&(r.fixedScroll=o.fixedScroll||!1,r.PageChange=at,r.pageSize=n,r.scrollableVirtual=D,r.container=q.current,r.tableBody=O.current,r.scrollHeightContainer=Ae.current,r.table=M.current,(!r.rowHeightService||r.total!==e)&&i&&(r.total=e,r.rowHeightService=new b.RowHeightService(e,i)))},Te=a.useCallback(e=>{const n={rowIndex:be.current};e.forEach(o=>{o.boundingClientRect.height!==o.intersectionRect.height&&le(n)})},[le]),N=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},xt=e=>e.left!==void 0?ve!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},E=a.useRef(null),P=a.useRef(void 0),x=a.useRef(void 0),k=a.useRef(void 0),K=a.useRef(void 0),G=a.useRef(void 0),p=a.useRef(void 0),H=a.useRef(null),O=a.useRef(null),Dt=a.useRef(null),q=a.useRef(null),M=a.useRef(null),se=a.useRef(null),T=a.useRef(null),Ae=a.useRef(null),U=a.useRef(null),V=a.useRef(null),ue=a.useRef(!1),ge=a.useRef(!1),ee=a.useRef(void 0),fe=a.useRef(void 0),me=a.useRef(!1),te=a.useRef(!0),Pe=a.useRef(0),he=a.useRef(void 0),be=a.useRef(void 0),Re=a.useRef([]),Ge=a.useRef([]),ne=a.useRef(0),W=a.useRef(null),kt=a.useRef(null),Kt=a.useRef(null),ve=b.useDir(T),D=t.isVirtualScroll,Mt=a.useMemo(()=>a.Children.toArray(t.gridProps.children),[t.gridProps.children]),He=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,v=d.getSelectionOptions(t.gridProps.selectable),Oe=d.getEditableOptions(t.gridProps.editable),Tt=ne.current&&Ce&&ne.current<=Ce.medium&&t.gridProps.adaptive;return a.useMemo(()=>{d.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:K,navigationStateRef:G,idPrefix:t.id}),P.current=new Nt.VirtualScroll},[]),a.useMemo(()=>{var e;(e=P.current)==null||e.reset()},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,He,t.gridProps.sort,t.gridProps.rowHeight]),a.useEffect(()=>(t.gridProps.clipboard&&(p.current=new d.ClipboardService(Q),p.current.addEventListeners(S())),()=>{p.current&&p.current.removeEventListeners(S())}),[t.gridProps.onClipboard,t.gridProps.clipboard,Q,S]),a.useEffect(()=>(t.gridProps.columnVirtualization&&!window.navigator.userAgent.match(Ft.SAFARI_REGEX)&&(se.current&&(se.current.style.display="block"),M.current&&(M.current.style.display="block")),ke(),de(),b.setScrollbarWidth(),d.tableKeyboardNavigation.onComponentDidMount({scope:T.current||void 0,contextStateRef:K,navigationStateRef:G}),()=>{clearTimeout(he.current)}),[]),a.useEffect(()=>{var e;ke(),de(),b.setScrollbarWidth(),D&&(Ke(),bt(),(e=P.current)==null||e.update()),Et(),d.tableKeyboardNavigation.onComponentDidUpdate({scope:T.current||void 0,contextStateRef:K,navigationStateRef:G,focusFirst:ge.current,newEditableRow:ee.current,singleEditRow:me.current,lastActiveElement:fe.current,navigatable:t.gridProps.navigatable}),ge.current=!1,ee.current=void 0}),a.useEffect(()=>{if(b.canUseDOM){const e={rootMargin:"0px",threshold:.9};H.current=window.IntersectionObserver&&new window.IntersectionObserver(Te,e)||null}},[Te]),a.useEffect(()=>{var n;let e;return b.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(()=>{yt(),D&&Ke()}),e.observe((n=S())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),a.useImperativeHandle(E,()=>({get element(){return Z()},props:t.gridProps,get columns(){return X()},scrollIntoView:e=>{var r;if(!((r=P.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;const{rowIndex:n}=e;be.current=n;const o=Z();if(H.current&&o){H.current.disconnect();const i=o.querySelector(`[absolute-row-index="${be.current}"]`);i?H.current.observe(i):le(e)}},fitColumns:e=>{x.current.dblClickHandler(null,e)},exportAsPdf:oe})),a.useImperativeHandle(t.gridRef,()=>E.current),a.useMemo(()=>{x.current=new Lt.ColumnResize(vt)},[t.gridProps.onColumnResize,t.columnsRef]),a.useMemo(()=>{k.current=new zt.CommonDragLogic(ce,Pt,De)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),x.current.resizable=t.gridProps.resizable||!1,x.current.columns=t.columnsRef,x.current.columnsState=b.cloneArray(t.columnsState),k.current.reorderable=t.gridProps.reorderable||!1,k.current.groupable=He,k.current.columns=t.columnsRef,k.current.dir=ve,St(),a.createElement(Vt.GridContext.Provider,{value:{isClient:I,rowReorder:F,activeDragRowDataItemRef:W,reorderRowDragTargetRef:kt,reorderRowDropTargetRef:Kt,dir:ve,getCellPositionStyle:xt,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,columnsRef:t.columnsRef,onColumnsStateChange:ae,groupChange:ie,selectionRelease:nt,pagerPageChange:ut,onContextMenu:qe,rowClick:je,rowDblClick:_e,cellClick:Je,headerCellClick:Se,itemChange:Ze,onDialogEditCancel:Xe,onDialogEditSubmit:$e,sortable:t.gridProps.sortable,sort:t.gridProps.sort,defaultSort:t.gridProps.defaultSort,sortChange:xe,filterable:t.gridProps.filterable,filter:t.gridProps.filter,defaultFilter:t.gridProps.defaultFilter,filterOperators:t.gridProps.filterOperators||Wt.operators,filterChange:gt,searchChange:ft,exportAsPdf:oe,onHeaderSelectionChange:tt,columnGroupChange:ht,onKeyDown:Ve,onFocus:We,scrollHandler:Ue,selectionChange:pe,mobileMode:Tt,adaptiveColumnMenuRef:ne.current,adpativeTitle:t.gridProps.adaptiveTitle,adaptive:t.gridProps.adaptive,dispatchDetailExpand:Ye,dispatchGroupExpand:Qe,columnResizeRef:x,dragLogicRef:k,navigationStateRef:G,tableElementRef:M,tableBodyElementRef:O,headerElementRef:Dt,containerElementRef:q,headTableElementRef:se,elementRef:T,virtualScrollHeightContainerRef:Ae,footerRef:U,headerRef:V,vsRef:P}},a.createElement(d.TableKeyboardNavigationContext.Provider,{value:K.current},t.children),a.createElement(qt.GridContextMenu,{show:g.show&&($==null?void 0:$.length),dataItem:g.dataItem,field:g.field,items:$,offset:g.offset,onClose:Ee,onSelect:Ne}),t.gridProps.pdf&&a.createElement(Ut.BasePDFExport,{gridProps:t.gridProps,innerGrid:t.innerGrid,pdf:typeof t.gridProps.pdf=="object"?t.gridProps.pdf:{},onPdfExport:mt,ref:e=>Ie.current=e}))};exports.GridClientWrapper=jt;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ot=require("react"),b=require("@progress/kendo-react-common"),c=require("@progress/kendo-react-data-tools"),Lt=require("./drag/ColumnResize.js"),zt=require("./drag/CommonDragLogic.js"),Ft=require("./constants/index.js"),A=require("./utils/index.js"),Nt=require("./VirtualScroll.js"),qt=require("./contextMenu/GridContextMenu.js"),Le=require("./contextMenu/enums.js"),ze=require("./sortCommon.js"),Ut=require("./BasePDFExport.js"),Vt=require("./utils/GridContext.js"),Wt=require("./filterCommon.js");function Bt(t){const I=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const g in t)if(g!=="default"){const L=Object.getOwnPropertyDescriptor(t,g);Object.defineProperty(I,g,L.get?L:{enumerable:!0,get:()=>t[g]})}}return I.default=t,Object.freeze(I)}const a=Bt(Ot),jt=t=>{const I=t.gridProps.isClient,[g,L]=a.useState({}),Ce=b.useAdaptiveModeContext(),Ie=a.useRef(null),Fe=e=>{e.event.preventDefault(),L({...g,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},Ee=()=>{L({})},R=a.useMemo(()=>t.columnsRef.find(e=>e.field===g.field),[t.columnsRef,g]),we=a.useMemo(()=>{const e=t.gridProps.sortable&&(R==null?void 0:R.sortable);return A.getDefaultHeadContextMenuItems({pdf:!!t.gridProps.pdf,sortable:!!e,selectable:c.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[R,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),ye=a.useMemo(()=>{const e=t.gridProps.sortable&&(R==null?void 0:R.sortable);return A.getDefaultBodyContextMenuItems({pdf:!!t.gridProps.pdf,sortable:!!e,selectable:c.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:A.isRowReorderEnabled(t.gridProps.rowReorderable)})},[R,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),$=a.useMemo(()=>{const e=(R==null?void 0:R.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(g):e;if(n&&g.offset){const o=g.dataItem?Le.GridContextMenuAnchorPart.body:Le.GridContextMenuAnchorPart.head,r=n[o],i=g.dataItem?ye:we;return r===!1?void 0:r===!0||r===void 0?i:r}},[t.gridProps.contextMenu,g,ye,we,R]),Ne=e=>{var l,u,f,h,w,re,C,B,j;const n=e.event.item,o={target:E.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&s(t.gridProps.onContextMenuItemClick,o);const r=y(),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,...c.getSelectionOptions(t.gridProps.selectable),...o},d=r.findIndex(_=>_===e.dataItem);switch((l=n.data)==null?void 0:l.action){case"SortCommand":if(R){const _=(u=n.name)==null?void 0:u.toLowerCase().includes("asc"),At=((f=n.name)==null?void 0:f.toLowerCase().includes("desc"))?"desc":void 0,Gt=_?"asc":At,Ht=n.name?Gt:void 0;Se(e.event.syntheticEvent,R,Ht)}break;case"SelectRowCommand":ot(i);break;case"SelectAllRowsCommand":rt(i);break;case"ExportPDFCommand":oe();break;case"ClearSelectionCommand":it(i);break;case"ReorderRowCommand":W.current=e.dataItem,(h=n.name)!=null&&h.toLowerCase().includes("rowup")&&d>0&&F(e.event.syntheticEvent,d-1,"before"),(w=n.name)!=null&&w.toLowerCase().includes("rowdown")&&d<r.length-1&&F(e.event.syntheticEvent,d+1,"after"),(re=n.name)!=null&&re.toLowerCase().includes("rowtop")&&F(e.event.syntheticEvent,0,"before"),(C=n.name)!=null&&C.toLowerCase().includes("rowbottom")&&F(e.event.syntheticEvent,r.length-1,"after");break;case"CopySelectionCommand":Q(c.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((B=n.name)!=null&&B.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":Q(c.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((j=n.name)!=null&&j.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break}Ee()},X=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return A.sanitizeColumns(e)},qe=(e,n,o)=>{if(t.gridProps.onContextMenu&&I){const r={target:E.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:o};s(t.gridProps.onContextMenu,r)}t.gridProps.contextMenu&&Fe({event:e,dataItem:n,field:o})},Ue=e=>{if(e.target!==e.currentTarget)return;clearTimeout(he.current),P.current&&(P.current.table=M.current);const n=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop;t.gridProps.columnVirtualization&&(!D||o===Pe.current)&&(he.current=window.setTimeout(()=>{N()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),V.current&&V.current.setScrollLeft(n),U.current&&U.current.setScrollLeft(n),P.current&&o!==Pe.current&&P.current.scrollHandler(e),t.gridProps.onScroll&&I&&s(t.gridProps.onScroll,{...m(e)}),Pe.current=o},Ve=e=>{c.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:K,navigationStateRef:G,onNavigationAction:Be,columns:X()}),c.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:S(),contextStateRef:K,navigationStateRef:G});const n={dataItems:y(),mode:v.mode,cell:v.cell,componentId:t.id,selectedField:"",...m(e)};t.gridProps.onKeyDown&&I&&s(t.gridProps.onKeyDown,n)},We=e=>{c.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:K})},Be=e=>{if(e.action==="moveToNextPage"&&lt(e.event),e.action==="moveToPrevPage"&&st(e.event),e.focusElement&&e.action==="reorderToRight"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n<t.columnsRef.length-1&&de(n,n+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n>0&&de(n,n-1,e.event)}if(e.action==="select"&&et(e.event),t.gridProps.onNavigationAction&&I){const n={focusElement:e.focusElement,...m(e.event)};s(t.gridProps.onNavigationAction,n)}},je=(e,n)=>{t.gridProps.onRowClick&&e.target.nodeName==="TD"&&s(t.gridProps.onRowClick,{dataItem:n,...m(e)})},_e=(e,n)=>{t.gridProps.onRowDoubleClick&&e.target.nodeName==="TD"&&s(t.gridProps.onRowDoubleClick,{dataItem:n,...m(e)})},$e=e=>{t.gridProps.onItemChange&&s(t.gridProps.onItemChange,{...m(e.syntheticEvent),dataItem:e.dataItem,field:void 0,value:void 0})},Xe=e=>{t.gridProps.onItemChange&&t.gridProps.onEditChange&&s(t.gridProps.onEditChange,{edit:{},...m(e.syntheticEvent)})},Je=(e,n,o)=>{if(Oe.enabled&&Oe.mode==="incell"&&t.gridProps.dataItemKey){const r=c.editReducer(t.gridProps.edit,{type:c.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:o}});t.gridProps.onEditChange&&s(t.gridProps.onEditChange,{edit:r,...m(e)})}},Ye=(e,n)=>{var r;if(c.getDetailExpandableOptions(t.detailExpandable).enabled){const i=c.detailExpandReducer((r=t.gridProps.detailExpand)!=null?r:{},e);t.gridProps.onDetailExpandChange&&s(t.gridProps.onDetailExpandChange,{...m(n),detailExpand:i})}},Qe=(e,n)=>{var r;const o=c.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(o.enabled){const i=c.groupExpandReducer((r=t.gridProps.groupExpand)!=null?r:[],e,o);t.gridProps.onGroupExpandChange&&s(t.gridProps.onGroupExpandChange,{...m(n),groupExpand:i})}},Se=(e,n,o)=>{const{allowUnsort:r,mode:i}=ze.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),d=(t.gridProps.sort||[]).filter(f=>f.field===n.field)[0],l=o||ze.firstLevelSortSeqMap[r][d&&d.dir||""],u=i==="single"?[]:(t.gridProps.sort||[]).filter(f=>f.field!==n.field);l!==""&&n.field&&u.push({field:n.field,dir:l}),xe(u,e)},Ze=e=>{t.gridProps.onItemChange&&s(t.gridProps.onItemChange,{...m(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},pe=e=>{var n;if(t.gridProps.onSelectionChange&&v.enabled){const{event:o,dataItem:r,dataIndex:i,columnIndex:d}=e,l={...m(o),dataItem:r,startColIndex:d,endColIndex:d,startRowIndex:i,endRowIndex:i,dataItems:y(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:v.mode,cell:v.cell,isDrag:!1,componentId:t.id,selectedField:""};s(t.gridProps.onSelectionChange,{...l,select:t.gridProps.dataItemKey?c.getSelectedState({event:l,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},et=e=>{var f,h;if(!v.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:y(),mode:v.mode,cell:v.cell,componentId:t.id,selectedField:"",...m(e)},o=c.getSelectedStateFromKeyDown({event:n,selectedState:(f=t.gridProps.select)!=null?f:{},dataItemKey:t.gridProps.dataItemKey});if(o===t.gridProps.select)return;const r=e.target,i=c.closestTagName(r,"TD"),d=c.closestTagName(r,"TR"),l=c.getColumnIndex(i),u=c.getRowIndex(d);if(l!==void 0&&u!==void 0){const w=(h=A.getDataAsArray(t.gridProps.data))==null?void 0:h[u];t.gridProps.onSelectionChange&&s(t.gridProps.onSelectionChange,{...n,select:o,dataItem:w,startRowIndex:u,startColIndex:l,startDataItem:w,endDataItem:w,endRowIndex:u,endColIndex:l,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},tt=e=>{if(t.gridProps.onHeaderSelectionChange&&v.enabled){const n=y();s(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:E.current,dataItems:n})}},J=(e,n)=>{t.gridProps.onSelectionChange&&v.enabled&&s(t.gridProps.onSelectionChange,{...e,select:n})},nt=e=>{var n;if(t.gridProps.onSelectionChange&&v.enabled){const o=y()[e.startRowIndex],r=y()[e.endRowIndex],i={syntheticEvent:void 0,target:E.current,selectedField:"",componentId:t.id,dataItems:y(),dataItem:null,startDataItem:o,endDataItem:r,...e},d=c.getSelectedState({event:i,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});J(i,d)}},rt=e=>{if(t.gridProps.onSelectionChange&&v.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(d=>{const u=b.getter(t.gridProps.dataItemKey)(d);r[u]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),J(i,r)}},ot=e=>{if(t.gridProps.onSelectionChange&&v.enabled){const o=b.getter(t.gridProps.dataItemKey)(e.dataItem),r=0,i=t.columnsRef.length-1,d=e.dataItems.findIndex(w=>w[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),f={...e,startDataItem:d,endDataItem:d,startRowIndex:d,endRowIndex:d,startColIndex:r,endColIndex:i},h=e.mode==="multiple"?t.gridProps.select||{}:{};h[o]===!0||Array.isArray(h[o])&&h[o].length===t.columnsRef.length?delete h[o]:h[o]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,J(f,h)}},it=e=>{t.gridProps.onSelectionChange&&v.enabled&&J(e,{})},z=(e,n,o,r,i)=>{ct();const d=t.gridProps.onDataStateChange;if(e){const l={...m(r),...n,targetEvent:i};s(e,l)}else d&&s(d,{...m(r),targetEvent:i||{},dataState:{...Ct(),...o}})},Y=(e,n,o)=>{var r;D&&t.gridProps.pageable&&((r=P.current)==null||r.reset()),z(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,o)},at=(e,n,o)=>{var r;t.gridProps.pageable||(r=t.gridProps.group)!=null&&r.length?t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=e.skip,N()):Y(e,n,o)},dt=()=>{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},ct=()=>{D&&t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=0)},lt=e=>{var i,d;const n=(d=(i=t.gridProps.take)!=null?i:t.gridProps.pageSize)!=null?d:0,o=(t.gridProps.skip||0)+n,r=dt();o<r&&Y({skip:o,take:n},e)},st=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&&Y({skip:o,take:n},e)},ut=e=>{Y({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},xe=(e,n)=>{z(t.gridProps.onSortChange,{sort:e},{sort:e,...D&&!t.gridProps.pageable?{skip:0}:{}},n)},gt=(e,n)=>{z(t.gridProps.onFilterChange,{filter:e},{filter:e,skip:0},n)},ft=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 d;return typeof i=="string"?{field:i,value:o,operator:"contains"}:{value:o,operator:(d=i.operator)!=null?d:"contains",field:i.field,ignoreCase:i.ignoreCase}})};z(t.gridProps.onSearchChange,{search:r},{},e.syntheticEvent)},oe=()=>{var e;(e=Ie.current)==null||e.save()},mt=async e=>{var n,o;(n=t.gridProps)!=null&&n.onPdfExport&&await((o=t.gridProps)==null?void 0:o.onPdfExport(e))},ie=(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&&(ge.current=!0),z(t.gridProps.onGroupChange,{group:e},{group:e,skip:0,...r},o)},ae=e=>{if(t.gridProps.onColumnsStateChange){const n={target:E.current,columnsState:e};s(t.gridProps.onColumnsStateChange,n)}},de=(e,n,o)=>{const{columnsRef:r,columnsState:i}=t,d=r[e],l=A.getFlatColumnsState(i),u=d.depth,f=C=>{do C++;while(C<r.length&&r[C].depth>u);return C},h=r.splice(e,f(e)-e);r.splice(e<n?f(n-h.length):n,0,...h),r.filter(C=>C.declarationIndex>=0).forEach((C,B)=>{C.orderIndex=B;const j=l.find(_=>_.id===C.id);j&&(j.orderIndex=B)});const w=r[e].locked&&r[n].locked;c.updateLeft(t.columnsMapRef,r,w||te.current),c.updateRight(t.columnsMapRef,r,w||te.current),ue.current&&(te.current=!1,ue.current=!1);const re=X();if(N(),t.gridProps.onColumnReorder){const C={target:E.current,columns:re,columnId:d.id,nativeEvent:o};s(t.gridProps.onColumnReorder,C)}ae(i)},F=(e,n,o)=>{const r=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(o==="forbidden"||!r||!W.current)return;const i=t.dataRef[n];t.gridProps.onRowReorder&&s(t.gridProps.onRowReorder,{draggedDataItems:[W.current],droppedDataItem:i==null?void 0:i.dataItem,dropPosition:o,nativeEvent:e.originalEvent,dragEvent:e,target:E.current}),W.current=null},Pt=(e,n,o)=>{if(t.gridProps.group===void 0)return;const r=t.gridProps.group.slice();r.splice(n,0,...r.splice(e,1)),ie(r,o)},De=(e,n,o)=>{const r=t.columnsRef[e].field;if(!r)return;const i=(t.gridProps.group||[]).slice();i.splice(n,0,{field:r}),ie(i,o)},ht=(e,n)=>{const o=k.current.getCurrentGroupsLength;De(e,o,n)},ce=()=>{let e=0;if(!x.current.colGroupMain)return;const n=x.current.colGroupMain.children;for(let o=0;o<n.length;o++){const r=n[o].width;if(!r){e=0;break}e+=parseFloat(r.toString())}e=Math.round(e),V.current&&V.current.setWidth(e),U.current&&U.current.setWidth(e),M.current&&(M.current.style.width=e?e+"px":"")},ke=()=>{var e;t.gridProps.widthRef&&(t.gridProps.widthRef.current=((e=T.current)==null?void 0:e.offsetWidth)||0)},Ke=()=>{var e;t.gridProps.containerHeightRef&&(t.gridProps.containerHeightRef.current=((e=q.current)==null?void 0:e.offsetHeight)||0)},bt=()=>{const e=t.gridProps.minRowHeightRef;if(e&&!e.current&&!t.gridProps.rowHeight){const n=A.calcRowHeight(O.current);n&&(e.current=n,N())}},Q=a.useCallback((e,n,o,r,i)=>{var f;if(!Rt()&&!o||!e)return;const d={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:r,field:i,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...o},l=y(),u=c.populateClipboardData({event:d,data:l,selectedState:(f=t.gridProps.select)!=null?f:{},previousCopiedItems:Ge.current});e!==c.ClipboardActionType.paste&&(Ge.current=u.copiedItems),t.gridProps.onClipboard&&I&&s(t.gridProps.onClipboard,{...d,...u})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),Rt=()=>{var i,d,l;if(!b.canUseDOM)return!1;const e=b.getActiveElement(S()),n=e?e.matches(".k-table-td")?e:(i=S())==null?void 0:i.body:(d=S())==null?void 0:d.body,o=n.closest(".k-grid-container"),r=n&&((l=T.current)==null?void 0:l.contains(n));return!!(n&&r&&o)},vt=(e,n,o,r,i,d,l)=>{ce(),te.current=!0,ue.current=!0,t.gridProps.onColumnResize&&I&&s(t.gridProps.onColumnResize,{columns:X(),nativeEvent:r,targetColumnId:l,index:e,newWidth:n,oldWidth:o,end:i,target:E.current}),i&&ae(d)},Ct=()=>{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}},m=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:E.current}),It=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),s=(e,n)=>{if(t.gridProps.isClient){e(n);return}e(It(n))},Et=()=>{var e,n,o;if(O.current&&((e=O.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){me.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=O.current)==null?void 0:o.getElementsByClassName("k-grid-edit-row"));r.length>Re.current.length?ee.current=r.filter(i=>!Re.current.includes(i))[0]:r.length===1&&(ee.current=r[0],me.current=!0),Re.current=r}},y=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),S=()=>{var e;if(b.canUseDOM)return((e=Z())==null?void 0:e.ownerDocument)||document},Z=()=>T.current,le=a.useCallback(e=>{var r,i;if(!P.current||!((r=P.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;H.current&&H.current.disconnect();const{rowIndex:n}=e,o=Z();if(D){const d=((i=P.current.rowHeightService)==null?void 0:i.offset(n))||0;P.current.container.scroll(0,d)}else if(o){const d=n<1?o.querySelector("tbody > tr:nth-child(1)"):o.querySelector(`tbody > tr:nth-child(${n+1})`);d&&q.current&&(q.current.scrollTop=d.offsetTop)}},[t.gridProps.scrollable]),Me=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),wt=()=>Me(Mt)===Me(t.columnsRef),yt=()=>{ne.current=window.innerWidth,wt()||N()},St=()=>{var d;const{virtualTotal:e,virtualPageSize:n,gridProps:o}=t,r=P.current,i=t.gridProps.rowHeight||((d=o.minRowHeightRef)==null?void 0:d.current)||0;r&&(r.fixedScroll=o.fixedScroll||!1,r.PageChange=at,r.pageSize=n,r.scrollableVirtual=D,r.container=q.current,r.tableBody=O.current,r.scrollHeightContainer=Ae.current,r.table=M.current,(!r.rowHeightService||r.total!==e)&&i&&(r.total=e,r.rowHeightService=new b.RowHeightService(e,i)))},Te=a.useCallback(e=>{const n={rowIndex:be.current};e.forEach(o=>{o.boundingClientRect.height!==o.intersectionRect.height&&le(n)})},[le]),N=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},xt=e=>e.left!==void 0?ve!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},E=a.useRef(null),P=a.useRef(void 0),x=a.useRef(void 0),k=a.useRef(void 0),K=a.useRef(void 0),G=a.useRef(void 0),p=a.useRef(void 0),H=a.useRef(null),O=a.useRef(null),Dt=a.useRef(null),q=a.useRef(null),M=a.useRef(null),se=a.useRef(null),T=a.useRef(null),Ae=a.useRef(null),U=a.useRef(null),V=a.useRef(null),ue=a.useRef(!1),ge=a.useRef(!1),ee=a.useRef(void 0),fe=a.useRef(void 0),me=a.useRef(!1),te=a.useRef(!0),Pe=a.useRef(0),he=a.useRef(void 0),be=a.useRef(void 0),Re=a.useRef([]),Ge=a.useRef([]),ne=a.useRef(0),W=a.useRef(null),kt=a.useRef(null),Kt=a.useRef(null),ve=b.useDir(T),D=t.isVirtualScroll,Mt=a.useMemo(()=>a.Children.toArray(t.gridProps.children),[t.gridProps.children]),He=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,v=c.getSelectionOptions(t.gridProps.selectable),Oe=c.getEditableOptions(t.gridProps.editable),Tt=ne.current&&Ce&&ne.current<=Ce.medium&&t.gridProps.adaptive;return a.useMemo(()=>{c.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:K,navigationStateRef:G,idPrefix:t.id}),P.current=new Nt.VirtualScroll},[]),a.useMemo(()=>{var e;(e=P.current)==null||e.reset()},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,He,t.gridProps.sort,t.gridProps.rowHeight]),a.useEffect(()=>(t.gridProps.clipboard&&(p.current=new c.ClipboardService(Q),p.current.addEventListeners(S())),()=>{p.current&&p.current.removeEventListeners(S())}),[t.gridProps.onClipboard,t.gridProps.clipboard,Q,S]),a.useEffect(()=>(t.gridProps.columnVirtualization&&!window.navigator.userAgent.match(Ft.SAFARI_REGEX)&&(se.current&&(se.current.style.display="block"),M.current&&(M.current.style.display="block")),ke(),ce(),b.setScrollbarWidth(),c.tableKeyboardNavigation.onComponentDidMount({scope:T.current||void 0,contextStateRef:K,navigationStateRef:G}),()=>{clearTimeout(he.current)}),[]),a.useEffect(()=>{var e;ke(),ce(),b.setScrollbarWidth(),D&&(Ke(),bt(),(e=P.current)==null||e.update()),Et(),c.tableKeyboardNavigation.onComponentDidUpdate({scope:T.current||void 0,contextStateRef:K,navigationStateRef:G,focusFirst:ge.current,newEditableRow:ee.current,singleEditRow:me.current,lastActiveElement:fe.current,navigatable:t.gridProps.navigatable}),ge.current=!1,ee.current=void 0}),a.useEffect(()=>{if(b.canUseDOM){const e={rootMargin:"0px",threshold:.9};H.current=window.IntersectionObserver&&new window.IntersectionObserver(Te,e)||null}},[Te]),a.useEffect(()=>{var n;let e;return b.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(()=>{yt(),D&&Ke()}),e.observe((n=S())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),a.useImperativeHandle(E,()=>({get element(){return Z()},props:t.gridProps,get columns(){return X()},scrollIntoView:e=>{var r;if(!((r=P.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;const{rowIndex:n}=e;be.current=n;const o=Z();if(H.current&&o){H.current.disconnect();const i=o.querySelector(`[absolute-row-index="${be.current}"]`);i?H.current.observe(i):le(e)}},fitColumns:e=>{x.current.dblClickHandler(null,e)},exportAsPdf:oe})),a.useImperativeHandle(t.gridRef,()=>E.current),a.useMemo(()=>{x.current=new Lt.ColumnResize(vt)},[t.gridProps.onColumnResize,t.columnsRef]),a.useMemo(()=>{k.current=new zt.CommonDragLogic(de,Pt,De)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),x.current.resizable=t.gridProps.resizable||!1,x.current.columns=t.columnsRef,x.current.columnsState=b.cloneArray(t.columnsState),k.current.reorderable=t.gridProps.reorderable||!1,k.current.groupable=He,k.current.columns=t.columnsRef,k.current.dir=ve,St(),a.createElement(Vt.GridContext.Provider,{value:{isClient:I,rowReorder:F,activeDragRowDataItemRef:W,reorderRowDragTargetRef:kt,reorderRowDropTargetRef:Kt,dir:ve,getCellPositionStyle:xt,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,columnsRef:t.columnsRef,onColumnsStateChange:ae,groupable:t.gridProps.groupable,group:t.gridProps.group,groupChange:ie,selectionRelease:nt,pagerPageChange:ut,onContextMenu:qe,rowClick:je,rowDblClick:_e,cellClick:Je,headerCellClick:Se,itemChange:Ze,onDialogEditCancel:Xe,onDialogEditSubmit:$e,sortable:t.gridProps.sortable,sort:t.gridProps.sort,defaultSort:t.gridProps.defaultSort,sortChange:xe,filterable:t.gridProps.filterable,filter:t.gridProps.filter,defaultFilter:t.gridProps.defaultFilter,filterOperators:t.gridProps.filterOperators||Wt.operators,filterChange:gt,searchChange:ft,exportAsPdf:oe,onHeaderSelectionChange:tt,columnGroupChange:ht,onKeyDown:Ve,onFocus:We,scrollHandler:Ue,selectionChange:pe,mobileMode:Tt,adaptiveColumnMenuRef:ne.current,adpativeTitle:t.gridProps.adaptiveTitle,adaptive:t.gridProps.adaptive,dispatchDetailExpand:Ye,dispatchGroupExpand:Qe,columnResizeRef:x,dragLogicRef:k,navigationStateRef:G,tableElementRef:M,tableBodyElementRef:O,headerElementRef:Dt,containerElementRef:q,headTableElementRef:se,elementRef:T,virtualScrollHeightContainerRef:Ae,footerRef:U,headerRef:V,vsRef:P}},a.createElement(c.TableKeyboardNavigationContext.Provider,{value:K.current},t.children),a.createElement(qt.GridContextMenu,{show:g.show&&($==null?void 0:$.length),dataItem:g.dataItem,field:g.field,items:$,offset:g.offset,onClose:Ee,onSelect:Ne}),t.gridProps.pdf&&a.createElement(Ut.BasePDFExport,{gridProps:t.gridProps,innerGrid:t.innerGrid,pdf:typeof t.gridProps.pdf=="object"?t.gridProps.pdf:{},onPdfExport:mt,ref:e=>Ie.current=e}))};exports.GridClientWrapper=jt;
@@ -814,6 +814,8 @@ const Fn = (t) => {
814
814
  columnsState: t.columnsState,
815
815
  columnsRef: t.columnsRef,
816
816
  onColumnsStateChange: ae,
817
+ groupable: t.gridProps.groupable,
818
+ group: t.gridProps.group,
817
819
  groupChange: ie,
818
820
  selectionRelease: at,
819
821
  pagerPageChange: Pt,
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react"),C=require("@progress/kendo-react-intl"),G=require("./GridColumnMenuItemGroup.js"),p=require("./GridColumnMenuItem.js"),l=require("../messages/index.js"),a=require("@progress/kendo-svg-icons");function I(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const u=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,u.get?u:{enumerable:!0,get:()=>e[n]})}}return o.default=e,Object.freeze(o)}const d=I(m),M=e=>{const o=t=>{if(t.preventDefault(),e.onGroupChange){if(!e.column.field)return;const r=(e.group||[]).slice(),s=r.findIndex(g=>g.field===e.column.field);s>-1?r.splice(s,1):r.push({field:e.column.field}),e.onGroupChange(r,t)}e.onCloseMenu&&e.onCloseMenu()},{group:n,column:u}=e,f=C.useLocalization(),i=!!(n&&u.field&&n.find(t=>t.field===u.field)),c=i?l.ungroupColumn:l.groupColumn;return d.createElement(G.GridColumnMenuItemGroup,null,d.createElement(p.GridColumnMenuItem,{title:f.toLanguageString(c,l.messages[c]),iconClass:i?"k-i-ungroup":"k-i-group",svgIcon:i?a.ungroupIcon:a.groupIcon,onClick:o}))};exports.GridColumnMenuGroup=M;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react"),C=require("@progress/kendo-react-intl"),G=require("./GridColumnMenuItemGroup.js"),p=require("./GridColumnMenuItem.js"),l=require("../messages/index.js"),a=require("@progress/kendo-svg-icons");function I(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const u=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,u.get?u:{enumerable:!0,get:()=>e[n]})}}return o.default=e,Object.freeze(o)}const d=I(m),M=e=>{const o=r=>{if(r.preventDefault(),e.onGroupChange){if(!e.column.field)return;const i=(e.group||[]).slice(),s=i.findIndex(g=>g.field===e.column.field);s>-1?i.splice(s,1):i.push({field:e.column.field}),e.onGroupChange(i,r)}e.onCloseMenu&&e.onCloseMenu()},{group:n,column:u}=e,f=C.useLocalization(),t=!!(n&&u.field&&n.find(r=>r.field===u.field)),c=t?l.ungroupColumn:l.groupColumn;return d.createElement(G.GridColumnMenuItemGroup,null,d.createElement(p.GridColumnMenuItem,{selected:t,title:f.toLanguageString(c,l.messages[c]),iconClass:t?"k-i-ungroup":"k-i-group",svgIcon:t?a.ungroupIcon:a.groupIcon,onClick:o}))};exports.GridColumnMenuGroup=M;
@@ -7,29 +7,30 @@
7
7
  */
8
8
  "use client";
9
9
  import * as m from "react";
10
- import { useLocalization as g } from "@progress/kendo-react-intl";
11
- import { GridColumnMenuItemGroup as s } from "./GridColumnMenuItemGroup.mjs";
12
- import { GridColumnMenuItem as d } from "./GridColumnMenuItem.mjs";
10
+ import { useLocalization as a } from "@progress/kendo-react-intl";
11
+ import { GridColumnMenuItemGroup as d } from "./GridColumnMenuItemGroup.mjs";
12
+ import { GridColumnMenuItem as g } from "./GridColumnMenuItem.mjs";
13
13
  import { messages as C, groupColumn as p, ungroupColumn as G } from "../messages/index.mjs";
14
14
  import { groupIcon as I, ungroupIcon as M } from "@progress/kendo-svg-icons";
15
15
  const L = (o) => {
16
- const c = (n) => {
17
- if (n.preventDefault(), o.onGroupChange) {
16
+ const c = (e) => {
17
+ if (e.preventDefault(), o.onGroupChange) {
18
18
  if (!o.column.field)
19
19
  return;
20
- const e = (o.group || []).slice(), t = e.findIndex((a) => a.field === o.column.field);
21
- t > -1 ? e.splice(t, 1) : e.push({
20
+ const u = (o.group || []).slice(), t = u.findIndex((s) => s.field === o.column.field);
21
+ t > -1 ? u.splice(t, 1) : u.push({
22
22
  field: o.column.field
23
- }), o.onGroupChange(e, n);
23
+ }), o.onGroupChange(u, e);
24
24
  }
25
25
  o.onCloseMenu && o.onCloseMenu();
26
- }, { group: i, column: l } = o, f = g(), u = !!(i && l.field && i.find((n) => n.field === l.field)), r = u ? G : p;
27
- return /* @__PURE__ */ m.createElement(s, null, /* @__PURE__ */ m.createElement(
28
- d,
26
+ }, { group: i, column: l } = o, f = a(), n = !!(i && l.field && i.find((e) => e.field === l.field)), r = n ? G : p;
27
+ return /* @__PURE__ */ m.createElement(d, null, /* @__PURE__ */ m.createElement(
28
+ g,
29
29
  {
30
+ selected: n,
30
31
  title: f.toLanguageString(r, C[r]),
31
- iconClass: u ? "k-i-ungroup" : "k-i-group",
32
- svgIcon: u ? M : I,
32
+ iconClass: n ? "k-i-ungroup" : "k-i-group",
33
+ svgIcon: n ? M : I,
33
34
  onClick: c
34
35
  }
35
36
  ));
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("react"),_=require("@progress/kendo-react-popup"),s=require("@progress/kendo-react-common"),j=require("@progress/kendo-svg-icons"),h=require("../messages/index.js"),z=require("@progress/kendo-react-intl"),F=require("../utils/GridContext.js"),$=require("./adaptiveContext/GridColumnMenuAdaptiveContext.js"),L=require("./adaptiveContent/GridAdaptiveColumnMenu.js"),V=require("react-dom");function H(t){const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const c in t)if(c!=="default"){const a=Object.getOwnPropertyDescriptor(t,c);Object.defineProperty(u,c,a.get?a:{enumerable:!0,get:()=>t[c]})}}return u.default=t,Object.freeze(u)}const n=H(W),J=[".k-columnmenu-item-content",".k-filter-menu-container"].map(t=>s.TABBABLE_ELEMENTS.map(u=>`${t} ${u}`)),Q=[[".k-tabstrip-items"],[".k-columnmenu-item"],...J],U=t=>{var p;const u=n.useContext(F.GridContext),[c,a]=n.useState(!1),i=n.useRef(null),m=n.useRef(null),l=n.useRef(null),M=n.useRef(0),D=s.useDocument(i),{columnMenu:d,...b}=t,{column:C,columnMenuIcon:E,navigatable:k}=t,y=z.useLocalization(),w=C.title||C.field,S=w?`${w} `:"",T="#",q=e=>{const o=s.getActiveElement(document);clearTimeout(M.current),M.current=window.setTimeout(()=>{!u.mobileMode&&o&&e.relatedTarget!==i.current&&m.current&&!m.current.contains(o)&&f()})},R=()=>{clearTimeout(M.current)},x=e=>{e.preventDefault(),c&&t.onCloseMenu&&t.onCloseMenu(),a(!c)},f=()=>{t.onCloseMenu&&t.onCloseMenu(),a(!1),!t.navigatable&&i.current&&i.current.focus()},A=e=>{var o;if(e.keyCode===s.Keys.tab){const r=e.target,v=r&&((o=r.closest(".k-grid"))==null?void 0:o.getElementsByClassName("k-grid-content")[0]);v&&v.scrollWidth>v.clientWidth&&r.scrollIntoView({inline:"center"})}},g=n.useMemo(()=>t.show!==void 0?t.show:c,[t.show,c]),I=e=>{var o;(o=l.current)==null||o.triggerKeyboardEvent(e)},O=e=>{var o;(o=l.current)==null||o.triggerMouseEvent(e)},P=(e,o,r)=>{r.preventDefault(),r.shiftKey?o.focusPrevious(e):o.focusNext(e)},G=(e,o,r)=>{e&&(r.preventDefault(),e.click())},K=(e,o,r)=>{r.preventDefault(),f()},N=(e,o,r)=>{o.focusElement(e)},B=e=>{!e.isAnchorClicked&&a(!1)};return n.useEffect(()=>(g&&m.current&&(l.current=new s.Navigation({tabIndex:0,root:m,selectors:Q,keyboardEvents:{keydown:{Tab:P,Enter:G,Escape:K}},mouseEvents:{mousedown:N}}),l.current.focusElement(l.current.first,null)),()=>{l.current&&(l.current=null)}),[g]),n.createElement(n.Fragment,null,n.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:i,onClick:x,onKeyDown:A,href:T,tabIndex:k?-1:void 0,"aria-label":`${k?"":S}${y.toLanguageString(h.columnMenu,h.messages[h.columnMenu])}`},E?n.createElement(s.IconWrap,{name:E.name,icon:E}):n.createElement(s.IconWrap,{name:"more-vertical",icon:j.moreVerticalIcon})),n.createElement($.GridColumnMenuAdaptiveProvider,null,u.mobileMode?n.createElement(n.Fragment,null,V.createPortal(n.createElement(L.GridAdaptiveColumnMenu,{computedShow:g,ColumnMenu:d,closeMenu:f},d&&n.createElement(d,{...b,onCloseMenu:f})),(p=D())==null?void 0:p.body)):n.createElement(_.Popup,{anchor:i.current,show:g,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:B},n.createElement("div",{ref:m,onBlur:q,onFocus:R,onMouseDown:O,onKeyDown:I,className:"k-column-menu k-column-menu-md"},d&&n.createElement(d,{...b,onCloseMenu:f})))))};exports.GridColumnMenuWrapper=U;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $=require("react"),L=require("@progress/kendo-react-popup"),s=require("@progress/kendo-react-common"),O=require("@progress/kendo-svg-icons"),k=require("../messages/index.js"),V=require("@progress/kendo-react-intl"),H=require("../utils/GridContext.js"),j=require("./adaptiveContext/GridColumnMenuAdaptiveContext.js"),J=require("./adaptiveContent/GridAdaptiveColumnMenu.js"),Q=require("react-dom");function U(o){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const u in o)if(u!=="default"){const a=Object.getOwnPropertyDescriptor(o,u);Object.defineProperty(c,u,a.get?a:{enumerable:!0,get:()=>o[u]})}}return c.default=o,Object.freeze(c)}const t=U($),X=[".k-columnmenu-item-content",".k-filter-menu-container"].map(o=>s.TABBABLE_ELEMENTS.map(c=>`${o} ${c}`)),Y=[[".k-tabstrip-items"],[".k-columnmenu-item"],...X],Z=o=>{var D;const c=t.useContext(H.GridContext),[u,a]=t.useState(!1),i=t.useRef(null),d=t.useRef(null),l=t.useRef(null),E=t.useRef(0),A=s.useDocument(i),{columnMenu:f,...p}=o,{column:m,columnMenuIcon:v,navigatable:w}=o,S=V.useLocalization(),y=m.title||m.field,T=y?`${y} `:"",q="#",R=n=>{const e=s.getActiveElement(document);clearTimeout(E.current),E.current=window.setTimeout(()=>{!c.mobileMode&&e&&n.relatedTarget!==i.current&&d.current&&!d.current.contains(e)&&g()})},x=()=>{clearTimeout(E.current)},G=n=>{n.preventDefault(),u&&o.onCloseMenu&&o.onCloseMenu(),a(!u)},g=()=>{o.onCloseMenu&&o.onCloseMenu(),a(!1),!o.navigatable&&i.current&&i.current.focus()},I=n=>{var e;if(n.keyCode===s.Keys.tab){const r=n.target,M=r&&((e=r.closest(".k-grid"))==null?void 0:e.getElementsByClassName("k-grid-content")[0]);M&&M.scrollWidth>M.clientWidth&&r.scrollIntoView({inline:"center"})}},C=t.useMemo(()=>o.show!==void 0?o.show:u,[o.show,u]),P=n=>{var e;(e=l.current)==null||e.triggerKeyboardEvent(n)},N=n=>{var e;(e=l.current)==null||e.triggerMouseEvent(n)},K=(n,e,r)=>{r.preventDefault(),r.shiftKey?e.focusPrevious(n):e.focusNext(n)},B=(n,e,r)=>{n&&(r.preventDefault(),n.click())},W=(n,e,r)=>{r.preventDefault(),g()},_=(n,e,r)=>{e.focusElement(n)},z=n=>{!n.isAnchorClicked&&a(!1)},h=t.useCallback((n,e)=>{const r=[];if(!e||typeof e!="object")return!1;if(Array.isArray(e.filters)){for(const M of e.filters)if(h(n,M))return!0}return"field"in e&&typeof e.field=="string"&&r.push(e.field),r.includes(n)},[]),b=t.useCallback((n,e)=>!e||!Array.isArray(e)?!1:e.some(r=>r.field===n),[]),F=t.useMemo(()=>m.field&&(h(m.field,c.filter)||b(m.field,c.group)),[m.field,c.filter,c.group,h,b]);return t.useEffect(()=>(C&&d.current&&(l.current=new s.Navigation({tabIndex:0,root:d,selectors:Y,keyboardEvents:{keydown:{Tab:K,Enter:B,Escape:W}},mouseEvents:{mousedown:_}}),l.current.focusElement(l.current.first,null)),()=>{l.current&&(l.current=null)}),[C]),t.createElement(t.Fragment,null,t.createElement("a",{className:s.classNames("k-grid-header-menu k-grid-column-menu",{"k-active":F}),ref:i,onClick:G,onKeyDown:I,href:q,tabIndex:w?-1:void 0,"aria-label":`${w?"":T}${S.toLanguageString(k.columnMenu,k.messages[k.columnMenu])}`},v?t.createElement(s.IconWrap,{name:v.name,icon:v}):t.createElement(s.IconWrap,{name:"more-vertical",icon:O.moreVerticalIcon})),t.createElement(j.GridColumnMenuAdaptiveProvider,null,c.mobileMode?t.createElement(t.Fragment,null,Q.createPortal(t.createElement(J.GridAdaptiveColumnMenu,{computedShow:C,ColumnMenu:f,closeMenu:g},f&&t.createElement(f,{...p,onCloseMenu:g})),(D=A())==null?void 0:D.body)):t.createElement(L.Popup,{anchor:i.current,show:C,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:z},t.createElement("div",{ref:d,onBlur:R,onFocus:x,onMouseDown:N,onKeyDown:P,className:"k-column-menu k-column-menu-md"},f&&t.createElement(f,{...p,onCloseMenu:g})))))};exports.GridColumnMenuWrapper=Z;
@@ -6,110 +6,125 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as n from "react";
10
- import { Popup as G } from "@progress/kendo-react-popup";
11
- import { TABBABLE_ELEMENTS as L, useDocument as W, Navigation as O, IconWrap as k, getActiveElement as V, Keys as _ } from "@progress/kendo-react-common";
12
- import { moreVerticalIcon as H } from "@progress/kendo-svg-icons";
13
- import { columnMenu as b, messages as j } from "../messages/index.mjs";
14
- import { useLocalization as q } from "@progress/kendo-react-intl";
15
- import { GridContext as J } from "../utils/GridContext.mjs";
16
- import { GridColumnMenuAdaptiveProvider as Q } from "./adaptiveContext/GridColumnMenuAdaptiveContext.mjs";
17
- import { GridAdaptiveColumnMenu as U } from "./adaptiveContent/GridAdaptiveColumnMenu.mjs";
18
- import X from "react-dom";
19
- const Y = [".k-columnmenu-item-content", ".k-filter-menu-container"].map((o) => L.map((i) => `${o} ${i}`)), Z = [[".k-tabstrip-items"], [".k-columnmenu-item"], ...Y], ie = (o) => {
20
- var C;
21
- const i = n.useContext(J), [m, d] = n.useState(!1), l = n.useRef(null), u = n.useRef(null), c = n.useRef(null), E = n.useRef(0), D = W(l), { columnMenu: s, ...g } = o, { column: v, columnMenuIcon: h, navigatable: w } = o, y = q(), p = v.title || v.field, T = p ? `${p} ` : "", S = "#", x = (e) => {
22
- const t = V(document);
23
- clearTimeout(E.current), E.current = window.setTimeout(() => {
24
- !i.mobileMode && t && e.relatedTarget !== l.current && u.current && !u.current.contains(t) && a();
9
+ import * as t from "react";
10
+ import { Popup as V } from "@progress/kendo-react-popup";
11
+ import { TABBABLE_ELEMENTS as _, useDocument as H, Navigation as q, classNames as J, IconWrap as D, getActiveElement as Q, Keys as U } from "@progress/kendo-react-common";
12
+ import { moreVerticalIcon as X } from "@progress/kendo-svg-icons";
13
+ import { columnMenu as b, messages as Y } from "../messages/index.mjs";
14
+ import { useLocalization as Z } from "@progress/kendo-react-intl";
15
+ import { GridContext as O } from "../utils/GridContext.mjs";
16
+ import { GridColumnMenuAdaptiveProvider as j } from "./adaptiveContext/GridColumnMenuAdaptiveContext.mjs";
17
+ import { GridAdaptiveColumnMenu as ee } from "./adaptiveContent/GridAdaptiveColumnMenu.mjs";
18
+ import ne from "react-dom";
19
+ const te = [".k-columnmenu-item-content", ".k-filter-menu-container"].map((r) => _.map((c) => `${r} ${c}`)), oe = [[".k-tabstrip-items"], [".k-columnmenu-item"], ...te], Ee = (r) => {
20
+ var y;
21
+ const c = t.useContext(O), [d, M] = t.useState(!1), s = t.useRef(null), i = t.useRef(null), l = t.useRef(null), h = t.useRef(0), A = H(s), { columnMenu: a, ...C } = r, { column: u, columnMenuIcon: g, navigatable: p } = r, T = Z(), w = u.title || u.field, S = w ? `${w} ` : "", x = "#", K = (n) => {
22
+ const e = Q(document);
23
+ clearTimeout(h.current), h.current = window.setTimeout(() => {
24
+ !c.mobileMode && e && n.relatedTarget !== s.current && i.current && !i.current.contains(e) && m();
25
25
  });
26
- }, A = () => {
27
- clearTimeout(E.current);
28
- }, K = (e) => {
29
- e.preventDefault(), m && o.onCloseMenu && o.onCloseMenu(), d(!m);
30
- }, a = () => {
31
- o.onCloseMenu && o.onCloseMenu(), d(!1), !o.navigatable && l.current && l.current.focus();
32
- }, B = (e) => {
33
- var t;
34
- if (e.keyCode === _.tab) {
35
- const r = e.target, M = r && ((t = r.closest(".k-grid")) == null ? void 0 : t.getElementsByClassName("k-grid-content")[0]);
36
- M && M.scrollWidth > M.clientWidth && r.scrollIntoView({ inline: "center" });
26
+ }, N = () => {
27
+ clearTimeout(h.current);
28
+ }, B = (n) => {
29
+ n.preventDefault(), d && r.onCloseMenu && r.onCloseMenu(), M(!d);
30
+ }, m = () => {
31
+ r.onCloseMenu && r.onCloseMenu(), M(!1), !r.navigatable && s.current && s.current.focus();
32
+ }, I = (n) => {
33
+ var e;
34
+ if (n.keyCode === U.tab) {
35
+ const o = n.target, f = o && ((e = o.closest(".k-grid")) == null ? void 0 : e.getElementsByClassName("k-grid-content")[0]);
36
+ f && f.scrollWidth > f.clientWidth && o.scrollIntoView({ inline: "center" });
37
37
  }
38
- }, f = n.useMemo(() => o.show !== void 0 ? o.show : m, [o.show, m]), I = (e) => {
39
- var t;
40
- (t = c.current) == null || t.triggerKeyboardEvent(e);
41
- }, N = (e) => {
42
- var t;
43
- (t = c.current) == null || t.triggerMouseEvent(e);
44
- }, R = (e, t, r) => {
45
- r.preventDefault(), r.shiftKey ? t.focusPrevious(e) : t.focusNext(e);
46
- }, F = (e, t, r) => {
47
- e && (r.preventDefault(), e.click());
48
- }, P = (e, t, r) => {
49
- r.preventDefault(), a();
50
- }, $ = (e, t, r) => {
51
- t.focusElement(e);
52
- }, z = (e) => {
53
- !e.isAnchorClicked && d(!1);
54
- };
55
- return n.useEffect(() => (f && u.current && (c.current = new O({
38
+ }, E = t.useMemo(() => r.show !== void 0 ? r.show : d, [r.show, d]), R = (n) => {
39
+ var e;
40
+ (e = l.current) == null || e.triggerKeyboardEvent(n);
41
+ }, F = (n) => {
42
+ var e;
43
+ (e = l.current) == null || e.triggerMouseEvent(n);
44
+ }, G = (n, e, o) => {
45
+ o.preventDefault(), o.shiftKey ? e.focusPrevious(n) : e.focusNext(n);
46
+ }, P = (n, e, o) => {
47
+ n && (o.preventDefault(), n.click());
48
+ }, $ = (n, e, o) => {
49
+ o.preventDefault(), m();
50
+ }, z = (n, e, o) => {
51
+ e.focusElement(n);
52
+ }, L = (n) => {
53
+ !n.isAnchorClicked && M(!1);
54
+ }, v = t.useCallback(
55
+ (n, e) => {
56
+ const o = [];
57
+ if (!e || typeof e != "object")
58
+ return !1;
59
+ if (Array.isArray(e.filters)) {
60
+ for (const f of e.filters)
61
+ if (v(n, f))
62
+ return !0;
63
+ }
64
+ return "field" in e && typeof e.field == "string" && o.push(e.field), o.includes(n);
65
+ },
66
+ []
67
+ ), k = t.useCallback((n, e) => !e || !Array.isArray(e) ? !1 : e.some((o) => o.field === n), []), W = t.useMemo(() => u.field && (v(u.field, c.filter) || k(u.field, c.group)), [u.field, c.filter, c.group, v, k]);
68
+ return t.useEffect(() => (E && i.current && (l.current = new q({
56
69
  tabIndex: 0,
57
- root: u,
58
- selectors: Z,
70
+ root: i,
71
+ selectors: oe,
59
72
  keyboardEvents: {
60
- keydown: { Tab: R, Enter: F, Escape: P }
73
+ keydown: { Tab: G, Enter: P, Escape: $ }
61
74
  },
62
- mouseEvents: { mousedown: $ }
63
- }), c.current.focusElement(c.current.first, null)), () => {
64
- c.current && (c.current = null);
65
- }), [f]), /* @__PURE__ */ n.createElement(n.Fragment, null, /* @__PURE__ */ n.createElement(
75
+ mouseEvents: { mousedown: z }
76
+ }), l.current.focusElement(l.current.first, null)), () => {
77
+ l.current && (l.current = null);
78
+ }), [E]), /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement(
66
79
  "a",
67
80
  {
68
- className: "k-grid-header-menu k-grid-column-menu",
69
- ref: l,
70
- onClick: K,
71
- onKeyDown: B,
72
- href: S,
73
- tabIndex: w ? -1 : void 0,
74
- "aria-label": `${w ? "" : T}${y.toLanguageString(
81
+ className: J("k-grid-header-menu k-grid-column-menu", {
82
+ "k-active": W
83
+ }),
84
+ ref: s,
85
+ onClick: B,
86
+ onKeyDown: I,
87
+ href: x,
88
+ tabIndex: p ? -1 : void 0,
89
+ "aria-label": `${p ? "" : S}${T.toLanguageString(
75
90
  b,
76
- j[b]
91
+ Y[b]
77
92
  )}`
78
93
  },
79
- h ? /* @__PURE__ */ n.createElement(k, { name: h.name, icon: h }) : /* @__PURE__ */ n.createElement(k, { name: "more-vertical", icon: H })
80
- ), /* @__PURE__ */ n.createElement(Q, null, i.mobileMode ? /* @__PURE__ */ n.createElement(n.Fragment, null, X.createPortal(
81
- /* @__PURE__ */ n.createElement(
82
- U,
94
+ g ? /* @__PURE__ */ t.createElement(D, { name: g.name, icon: g }) : /* @__PURE__ */ t.createElement(D, { name: "more-vertical", icon: X })
95
+ ), /* @__PURE__ */ t.createElement(j, null, c.mobileMode ? /* @__PURE__ */ t.createElement(t.Fragment, null, ne.createPortal(
96
+ /* @__PURE__ */ t.createElement(
97
+ ee,
83
98
  {
84
- computedShow: f,
85
- ColumnMenu: s,
86
- closeMenu: a
99
+ computedShow: E,
100
+ ColumnMenu: a,
101
+ closeMenu: m
87
102
  },
88
- s && /* @__PURE__ */ n.createElement(s, { ...g, onCloseMenu: a })
103
+ a && /* @__PURE__ */ t.createElement(a, { ...C, onCloseMenu: m })
89
104
  ),
90
- (C = D()) == null ? void 0 : C.body
91
- )) : /* @__PURE__ */ n.createElement(
92
- G,
105
+ (y = A()) == null ? void 0 : y.body
106
+ )) : /* @__PURE__ */ t.createElement(
107
+ V,
93
108
  {
94
- anchor: l.current,
95
- show: f,
109
+ anchor: s.current,
110
+ show: E,
96
111
  popupClass: "k-grid-columnmenu-popup",
97
- onMouseDownOutside: z
112
+ onMouseDownOutside: L
98
113
  },
99
- /* @__PURE__ */ n.createElement(
114
+ /* @__PURE__ */ t.createElement(
100
115
  "div",
101
116
  {
102
- ref: u,
103
- onBlur: x,
104
- onFocus: A,
105
- onMouseDown: N,
106
- onKeyDown: I,
117
+ ref: i,
118
+ onBlur: K,
119
+ onFocus: N,
120
+ onMouseDown: F,
121
+ onKeyDown: R,
107
122
  className: "k-column-menu k-column-menu-md"
108
123
  },
109
- s && /* @__PURE__ */ n.createElement(s, { ...g, onCloseMenu: a })
124
+ a && /* @__PURE__ */ t.createElement(a, { ...C, onCloseMenu: m })
110
125
  )
111
126
  )));
112
127
  };
113
128
  export {
114
- ie as GridColumnMenuWrapper
129
+ Ee as GridColumnMenuWrapper
115
130
  };