@progress/kendo-react-grid 15.2.0-develop.7 → 15.2.0-develop.8

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.
Files changed (55) hide show
  1. package/GridClientWrapper.d.ts +1 -0
  2. package/GridClientWrapper.js +1 -1
  3. package/GridClientWrapper.mjs +478 -450
  4. package/GridColumn.d.ts +18 -1
  5. package/GridComponent.js +1 -1
  6. package/GridComponent.mjs +509 -433
  7. package/cells/groupcell/GridGroupCell.js +1 -1
  8. package/cells/groupcell/GridGroupCell.mjs +60 -10
  9. package/cells/groupcell/GridGroupCellServer.js +1 -1
  10. package/cells/groupcell/GridGroupCellServer.mjs +31 -18
  11. package/cells/groupcell/utils.d.ts +19 -4
  12. package/cells/groupcell/utils.js +1 -1
  13. package/cells/groupcell/utils.mjs +255 -33
  14. package/cells/selectioncell/GridSelectionCellInput.d.ts +1 -0
  15. package/cells/selectioncell/GridSelectionCellInput.js +1 -1
  16. package/cells/selectioncell/GridSelectionCellInput.mjs +19 -14
  17. package/components/StickyGroupTable.d.ts +2 -0
  18. package/components/StickyGroupTable.js +1 -1
  19. package/components/StickyGroupTable.mjs +29 -27
  20. package/dist/cdn/js/kendo-react-grid.js +1 -1
  21. package/drag/GroupingIndicator.d.ts +1 -0
  22. package/drag/GroupingIndicator.js +1 -1
  23. package/drag/GroupingIndicator.mjs +33 -30
  24. package/getRowContents.d.ts +5 -0
  25. package/getRowContents.js +1 -1
  26. package/getRowContents.mjs +77 -67
  27. package/header/GridHeaderCell.js +1 -1
  28. package/header/GridHeaderCell.mjs +17 -8
  29. package/header/GroupPanel.d.ts +3 -0
  30. package/header/GroupPanel.js +1 -1
  31. package/header/GroupPanel.mjs +35 -33
  32. package/header/HeaderRow.js +1 -1
  33. package/header/HeaderRow.mjs +48 -47
  34. package/index.d.mts +4 -2
  35. package/index.d.ts +4 -2
  36. package/interfaces/GridCellProps.d.ts +21 -0
  37. package/interfaces/GridCellsSettings.d.ts +60 -0
  38. package/interfaces/GridGroupColumnSettings.d.ts +170 -0
  39. package/interfaces/GridGroupableSettings.d.ts +66 -0
  40. package/interfaces/GridHeaderCellProps.d.ts +4 -0
  41. package/messages/index.d.ts +5 -0
  42. package/messages/index.js +2 -2
  43. package/messages/index.mjs +149 -147
  44. package/package-metadata.js +1 -1
  45. package/package-metadata.mjs +2 -2
  46. package/package.json +17 -17
  47. package/rows/GridRowRenderer.d.ts +2 -0
  48. package/rows/GridRowRenderer.js +1 -1
  49. package/rows/GridRowRenderer.mjs +21 -19
  50. package/stacked/StackedModeRow.d.ts +2 -0
  51. package/stacked/StackedModeRow.js +1 -1
  52. package/stacked/StackedModeRow.mjs +97 -85
  53. package/utils/index.d.ts +7 -1
  54. package/utils/index.js +1 -1
  55. package/utils/index.mjs +67 -62
package/GridColumn.d.ts CHANGED
@@ -45,7 +45,24 @@ export interface ExtendedColumnProps extends GridColumnProps {
45
45
  isAccessible: boolean;
46
46
  /** @hidden _internal usage only */
47
47
  _type?: 'edit' | 'expand';
48
- rowSpannable?: Required<GridRowSpannableSettings>;
48
+ /** @hidden _internal usage only */
49
+ isGroupColumn?: boolean;
50
+ rowSpannable?: GridRowSpannableSettings & {
51
+ enabled: boolean;
52
+ };
49
53
  defaultCell?: any;
50
54
  defaultHeaderCell?: any;
55
+ /**
56
+ * @hidden _internal usage only.
57
+ * The real field this synthesized group column represents (e.g. `'Category.CategoryName'`).
58
+ * The column's own `field` is always the literal `'value'` placeholder used for cell
59
+ * rendering (see `cells/groupcell/utils.tsx`), so `groupField` is the only place the
60
+ * actual grouped field for this level is exposed — used by `HeaderRow.tsx` to report the
61
+ * correct field to `groupColumn.columnMenu`/`columnMenuWrapperProps`, so a reused
62
+ * `GridColumnMenuGroup` can correctly detect "already grouped" and offer Ungroup instead
63
+ * of adding a bogus new group level.
64
+ */
65
+ groupField?: string;
66
+ /** @hidden _internal usage only. Forces no column menu (e.g. suppressing groupColumn.columnMenu in `singleColumn` mode), overriding any grid-level default. */
67
+ disableColumnMenu?: boolean;
51
68
  }
package/GridComponent.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Kt=require("react"),s=require("@progress/kendo-react-common"),y=require("@progress/kendo-react-data-tools"),Ot=require("./cells/hierarchycell/GridHierarchyCell.js"),At=require("./header/Header.js"),zt=require("./header/HeaderRow.js"),Ft=require("./header/FilterRow.js"),jt=require("./header/GroupPanel.js"),_t=require("./footer/Footer.js"),g=require("./utils/index.js"),Ze=require("./utils/dataProcessing.js"),Qe=require("@progress/kendo-data-query"),Vt=require("./cells/groupcell/GridGroupCell.js"),$t=require("./header/GridHeaderGroupSpacerCell.js"),Zt=require("./header/GridHeaderSelectionCell.js"),Ue=require("./components/noRecords/GridNoRecords.js"),Ye=require("./filterCommon.js"),Qt=require("./footer/FooterRow.js"),Ut=require("./paging/GridPagerSettings.js"),le=require("./package-metadata.js"),Yt=require("./cells/detailcell/GridDetailCell.js"),Je=require("./components/noRecords/GridNoRecordsContainer.js"),Xe=require("./GridClientWrapper.js"),Jt=require("./components/colGroup/GridColGroup.js"),Xt=require("./components/table/GridTable.js"),pe=require("./components/GridDropClue.js"),et=require("./components/GridDragClue.js"),tt=require("./components/table/GridTableBody.js"),pt=require("./components/PagerContainer.js"),ea=require("./components/table/GridTableScrollable.js"),at=require("./components/GridElementContainer.js"),ta=require("./components/GridContainerElementContainer.js"),aa=require("./components/VirtualScrollHeightContainer.js"),la=require("./components/VirtualScrollOverlay.js"),D=require("./messages/index.js"),na=require("./components/GridDraggableRowsContainer.js"),ia=require("./cells/rowreordercell/GridRowReorderCell.js"),ra=require("./header/client/GridHeaderRowReorderCell.js"),lt=require("./components/GridLoader.js"),oa=require("./utils/premium.js"),nt=require("@progress/kendo-react-intl"),da=require("./utils/virtualColumns.js"),sa=require("./components/GridEditDialog.js"),ca=require("./cells/selectioncell/GridSelectionCellServer.js"),ua=require("./cells/selectioncell/GridSelectionCell.js"),ga=require("./cells/hierarchycell/GridHierarchyCellServer.js"),ma=require("./cells/rowreordercell/GridRowReorderCellServer.js"),ba=require("./cells/detailcell/GridDetailCellServer.js"),fa=require("./cells/groupcell/GridGroupCellServer.js"),Ca=require("./cells/pincell/GridPinCell.js"),ha=require("./cells/pincell/GridPinCellServer.js"),wa=require("./header/client/GridHeaderPinCell.js"),Ra=require("./stacked/StackedModeComponents.js"),ya=require("./rows/GridRowRenderer.js"),Ga=require("./rows/GridDetailRowRenderer.js"),it=require("./components/StickyGroupTable.js"),rt=require("./components/PinnedRowsTable.js"),Sa=require("./getRowContents.js");function Ea(e){const P=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const C in e)if(C!=="default"){const G=Object.getOwnPropertyDescriptor(e,C);Object.defineProperty(P,C,G.get?G:{enumerable:!0,get:()=>e[C]})}}return P.default=e,Object.freeze(P)}const n=Ea(Kt),ot=n.forwardRef((e,P)=>{var De,Pe,Le,Me,Be,We,Ke,Oe,Ae,ze,Fe,je,_e,Ve;const C=e.id+"-role-element-id",G=e.navigatable?C:"";let S=e.columnsState||[];const dt=(t,i,r,o,a,l,d)=>{const R=[],V=g.flatData(R,t,i,{index:r},o!==void 0,a,l,vt.defaultExpand,d);return{flattedData:R,resolvedGroupsCount:V}},st=t=>{const i=t.filter(r=>r&&r.type&&r.type.displayName==="KendoReactGridColumn");return g.readColumns(i,S,{prevId:0,idPrefix:G})},ct=()=>{const t=[],i=(r,o)=>r==null?void 0:r.forEach(a=>{const l=a.hidden||o;t.push({...a,hidden:l}),i(a.children,l)});return i(S,!1),t},ut=t=>{const i=ct();return[t.filter(r=>{var o;return!r.hidden&&!((o=i.find(a=>a.id===r.id))!=null&&o.hidden)}),t.filter(r=>{var o;return r.hidden||((o=i.find(a=>a.id===r.id))==null?void 0:o.hidden)})]},gt=(t,i)=>{c=st(t),c.filter(a=>!a.hidden).length===0&&(c=g.autoGenerateColumns(E,e.group,{column:q.column},{prevId:0,idPrefix:G})),bt(c,i);const[r,o]=ut(c);c=r,re=o,L=g.mapColumns(c,S,!0),oe=c.map(g.clientColumn)},mt=(t,i)=>{const r=o=>{var l;const a=i.find(d=>d.id===o.id);if(a){const d={...a};return d.children=(l=o.children)==null?void 0:l.map(r),d}return g.getColumnState(o)};S=t.filter(o=>o.parentIndex===-1).map(r)},bt=(t,i)=>{t.filter(l=>l.columnType==="checkbox").forEach(l=>{l.width=l.width||"50px",l.defaultCell=e.isClient?ua.GridSelectionCell:ca.GridSelectionCellServer,l.defaultHeaderCell=Zt.GridHeaderSelectionCell,l._type="edit",l.sortable=!1,l.filterable=!1,l.editable=!1}),I!==void 0&&t.filter(l=>l.columnType==="reorder").forEach(l=>{l.width=l.width||"50px",l.defaultCell=e.isClient?ia.GridRowReorderCell:ma.GridRowReorderCellServer,l.defaultHeaderCell=ra.GridHeaderRowReorderCell,l.sortable=!1,l.filterable=!1,l.editable=!1}),e.pinnable&&t.filter(l=>l.columnType==="pin").forEach(l=>{l.width=l.width||"48px",l.defaultCell=e.isClient?Ca.GridPinCell:ha.GridPinCellServer,l.defaultHeaderCell=wa.GridHeaderPinCell,l.sortable=!1,l.filterable=!1,l.editable=!1});const r=g.getFlatColumnsState(S);mt(t,r);const o={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let a=0;if(q.enabled&&e.detail){const l={...o,_type:"expand",id:y.tableKeyboardNavigationTools.generateNavigatableId(`${a++}`,"expand","column"),defaultCell:e.isClient?Ot.GridHierarchyCell:ga.GridHierarchyCellServer,field:q.column,headerClassName:s.classNames(u.hierarchyCell({}))};t.unshift(l),S.unshift(r.find(d=>d.id===l.id)||g.getColumnState(l))}for(let l=0;l<i;l++){const d={...o,isAccessible:!1,defaultCell:e.isClient?Vt.GridGroupCell:fa.GridGroupCellServer,defaultHeaderCell:$t.GridHeaderGroupSpacerCell,id:y.tableKeyboardNavigationTools.generateNavigatableId(`${a++}`,"group","column"),field:"value",locked:e.lockGroups};t.unshift(d),S.unshift(r.find(R=>R.id===d.id)||g.getColumnState(d))}t.slice(a).forEach(l=>{l.parentIndex>=0&&(l.parentIndex+=a),l.rowSpannable=l.rowSpannable!==void 0?g.getRowSpanOptions(l.rowSpannable):ue})},ne=()=>e.isClient?c:oe,ie=t=>{const i=[];let r=null,o=0;if(m.forEach((a,l)=>{let d=parseFloat(((a==null?void 0:a.width)||"").toString())||10;if(typeof(a==null?void 0:a.width)=="number"&&(a!=null&&a.minResizableWidth)&&(a==null?void 0:a.width)<(a==null?void 0:a.minResizableWidth)&&(d=a==null?void 0:a.minResizableWidth),typeof(a==null?void 0:a.width)=="number"&&(a!=null&&a.minWidth)&&(a==null?void 0:a.width)<(a==null?void 0:a.minWidth)?d=a==null?void 0:a.minWidth:typeof(a==null?void 0:a.width)=="number"&&(a!=null&&a.maxWidth)&&(a==null?void 0:a.width)>(a==null?void 0:a.maxWidth)&&(d=a==null?void 0:a.maxWidth),o){o--,r&&(r.width+=d);return}const R=Math.min(g.getColSpan(a,t),m.length-l);o=R-1,r={width:d,colSpan:R,columnIndex:l},i.push(r)}),e.columnVirtualization){const a=Ct.current||0,l=ht.current||parseFloat(((e.style||{}).width||"").toString());return da.getVirtualCellsToRender({cellModels:i,columns:m,tableViewPortWidth:l,scrollLeft:a})}return i},ft=()=>{const{pageable:t,take:i,pageSize:r}=e;if(!h)return 0;if(!t){if(i)return i;if(r)return r}const o=e.rowHeight||Rt.current,a=wt.current;return a&&o?Math.ceil(a/o*1.5):0};let b=[],U,c=[],re=[],oe=[],L=[[]];const Ct=e.scrollLeftRef||{current:0},ht=e.widthRef||{current:0},wt=e.containerHeightRef||{current:0},Rt=e.minRowHeightRef||{current:0},M=e.localization||new nt.LocalizationService(e.language),yt=e.intl||new nt.IntlService((De=e.locale)!=null?De:"en"),N=e.unstyled,u=N&&N.uGrid?N.uGrid:s.uGrid,I=g.isRowReorderEnabled(e.rowReorderable),B=typeof e.scrollable=="object"?e.scrollable.mode:e.scrollable,Y=typeof e.scrollable=="object"&&e.scrollable.scrollbar==="proxied",h=B==="virtual"||B===void 0&&e.isClient&&s.hasValidLicense(le.packageMetadata)||!1,w=e.dataLayoutMode==="stacked",k=((Pe=e.group)==null?void 0:Pe.length)||0,de=s.getLicenseMessage(le.packageMetadata),H=Ze.normalizeAutoProcessData(e.autoProcessData);let E,v;if(Array.isArray(e.data)?(E=e.data,v=(Le=e.total)!=null?Le:E.length):(E=((Me=e.data)==null?void 0:Me.data)||[],v=(Ke=(We=e.total)!=null?We:(Be=e.data)==null?void 0:Be.total)!=null?Ke:E.length),H){const t=Ze.processData(E,{autoProcessData:H,group:e.group,sort:e.sort,filter:e.filter,search:e.search,pageable:e.pageable,take:e.take,skip:e.skip,total:e.total,isVirtualScroll:h,includePaging:!0});E=t.data,v=t.total}const O=E.length===v,{size:f}=e,Gt=typeof e.groupable=="object"&&e.groupable.footer||"none",St=typeof e.groupable=="object"&&!!e.groupable.stickyHeaders,Et=typeof e.groupable=="object"&&!!e.groupable.stickyFooters,A=e.groupable===!0||typeof e.groupable=="object"&&e.groupable.enabled!==!1,q=y.getDetailExpandableOptions(!!e.detail),vt=y.getGroupExpandableOptions(typeof e.groupable=="object"&&e.groupable.enabled!==!1?e.groupable.expandable:e.groupable),z=!!((Oe=e.group)!=null&&Oe.length),{resolvedGroupsCount:kt,flattedData:qt}=dt(E,Gt,O?0:e.skip||0,e.group,e.detailExpand,e.groupExpand,e.dataItemKey);b=qt;const J=ft(),F=((Ae=e.virtualSkipRef)==null?void 0:Ae.current)||0;let se=v;if(h){let t=e.skip||0;if((z||e.pageable)&&(t=F,se=b.length),O||z||e.pageable)if(J===0){const i=Math.min(e.take||e.pageSize||20,b.length);U=b.slice(t,t+i)}else U=b.slice(t,t+J)}const ce=y.getSelectionOptions(e.selectable),ue=g.getRowSpanOptions(e.rowSpannable),Nt=ce&&ce.drag?"none":void 0,j=n.useMemo(()=>n.Children.toArray(e.children),[e.children]);gt(j,kt);const X=n.useMemo(()=>{const t=oa.gridPremiumFeatures(e,c);return{premium:t.length>0,features:t}},[e,c]),ge=n.useMemo(()=>X.premium?!s.validatePackage(le.packageMetadata,{component:"Grid",features:X.features}):!1,[X.premium]),me=j.map(t=>t&&t.type&&t.type.displayName==="KendoReactGridToolbar"?n.cloneElement(t,{...t.props,_ariaControls:C,ariaLabel:"Top toolbar"}):null),_=j.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridNoRecords"),be=j.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridStatusBar"),m=c.filter(t=>t.children.length===0),fe=A&&!w&&n.createElement(jt.GroupPanel,{columns:ne(),group:e.group||[],ariaControls:C}),Ce=w?null:n.createElement(At.Header,{size:f,staticHeaders:B!=="none",draggable:e.reorderable||A,headerRow:n.createElement(zt.HeaderRow,{cells:e.cells,sort:e.sort,sortable:e.sortable,group:e.group||[],groupable:A,filter:e.filter,filterable:e.filterable,filterOperators:e.filterOperators||Ye.operators,columnMenu:e.columnMenu,columnMenuIcon:e.columnMenuIcon,columns:c,columnsMap:L,navigatable:!!e.navigatable,localization:M,unstyled:N,columnsState:S,headerSelectionValue:!!(e.select&&b.filter(t=>t.rowType==="data").every(t=>e.select&&e.dataItemKey&&s.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[s.getter(e.dataItemKey)(t.dataItem)]:void 0))}),filterRow:e.filterable&&n.createElement(Ft.FilterRow,{cells:e.cells,size:f,columns:c,filter:e.filter,filterOperators:e.filterOperators||Ye.operators,sort:e.sort,navigatable:!!e.navigatable,ariaRowIndex:L.length+1,localization:M})||void 0,cols:m.map((t,i)=>n.createElement("col",{key:i.toString(),width:g.getColumnWidth(t)}))}),he=m.findIndex(t=>typeof t.colSpan=="function")>-1;let we;he||(we=ie(null));const p=((ze=e.editable)==null?void 0:ze.mode)==="dialog",It=(Fe=e.editable)==null?void 0:Fe.enabled,Re=(_e=(je=e.editZoneRef)==null?void 0:je.current)!=null?_e:"body",Ht=Re==="pinned"?void 0:e.edit,ye=Re==="body"?void 0:e.edit,W={leafColumns:m,columnsState:S,cellsToRender:we,getCellsToRender:ie,hasDynamicColSpan:he,idPrefix:G,gridClasses:u,unstyled:N,localization:M,intl:yt,cells:e.cells,isRowReorderable:I,sort:e.sort,editable:e.editable,isClient:e.isClient,isEditDialog:p,dataItemKey:e.dataItemKey,select:e.select,highlight:e.highlight},xt=0;let ee=null;const Ge=t=>t>=b.length-xt,te=[],Se=!b.length,Ee=n.useMemo(()=>{var i;const t=e.pinnedTopRows||[];return H&&((i=e.sort)!=null&&i.length)?Qe.orderBy([...t],e.sort):t},[e.pinnedTopRows,e.sort,H]),ve=n.useMemo(()=>{var i;const t=e.pinnedBottomRows||[];return H&&((i=e.sort)!=null&&i.length)?Qe.orderBy([...t],e.sort):t},[e.pinnedBottomRows,e.sort,H]),Tt=e.pinnable&&Ee.length>0,Dt=e.pinnable&&ve.length>0;let K=0;const Pt=n.useMemo(()=>{const t=new Set;return e.pinnedTopRows&&e.pinnedTopRows.forEach(i=>t.add(i)),e.pinnedBottomRows&&e.pinnedBottomRows.forEach(i=>t.add(i)),t},[e.pinnedTopRows,e.pinnedBottomRows]);if(b.length){const t=L.length+(e.filterable?1:0)+1;let i=e.skip||0,r=-1,o=0;const a=ue.enabled?{}:void 0;if(h){if(F>0){const l=b.slice(0,F).filter(d=>d.rowType==="data").length;r+=l,i+=F}!e.pageable&&O&&(r+=e.skip||0)}(U||b).forEach((l,d)=>{var $e;l.rowType==="data"&&r++;const R=l.dataIndex%2!==0,V=e.dataItemKey&&s.getter(e.dataItemKey)(l.dataItem),$=d+i,Z=V||"ai"+$,T=Sa.getRowContents(W,Ht,l,Z,r,R,a),Bt=l.rowType==="data"?Pt.has(l.dataItem):!1;if(K=$+t+o,p&&It&&T.isInEdit&&(ee=l.dataItem),te.push(n.createElement(ya.GridRowRenderer,{key:Z,isStackedMode:w,item:l,rowId:Z,dataIndex:r,idPrefix:G,ariaRowIndex:K,absoluteRowIndex:$,isAltRow:R,isHidden:Ge(d),isRowReorderable:I,rowHeight:e.rowHeight,rows:e.rows,leafColumns:m,groupLevelCount:k,stackedLayoutSettings:e.stackedLayoutSettings,cells:e.cells,editMode:($e=e.editable)==null?void 0:$e.mode,isSelected:T.isSelected,isHighlighted:T.isHighlighted,isInEdit:T.isInEdit&&!p,preparedCells:T.row,showDetailToggle:!!e.detail&&!!q.enabled,isDetailExpanded:!!l.expanded,detailExpandField:q.column,isPinned:Bt})),e.detail&&l.rowType==="data"&&l.expanded){o++;const Q=Z+"_1";K=$+t+o;const Wt=e.isClient?Yt.GridDetailCell:ba.GridDetailCellServer;te.push(n.createElement(Ga.GridDetailRowRenderer,{key:Q,isStackedMode:w,detailRowId:Q,isHidden:Ge(d),detailRowHeight:e.detailRowHeight,ariaRowIndex:K,item:l,groupLevelCount:k,groupDescriptors:e.group,lockGroups:e.lockGroups,cells:e.cells,leafColumns:m,detailExpandableEnabled:!!q.enabled,preparedCells:T.row,DetailCell:Wt,detail:e.detail,detailCellId:y.tableKeyboardNavigationTools.generateNavigatableId(`${Q}-dcell`,G),detailHierarchyCellId:q.enabled?y.tableKeyboardNavigationTools.generateNavigatableId(`${Q}-dhcell`,G):void 0,detailTrClassName:s.classNames(u.detailTr({isAlt:R})),unstyled:N}))}})}const ke={size:f,total:v,skip:e.skip||0,take:(e.take!==void 0?e.take:e.pageSize)||10,...Ut.normalize(e.pageable||{})},qe=n.createElement(pt.PagerContainer,null,e.pager?n.createElement(e.pager,{...ke}):n.createElement(y.Pager,{className:s.classNames(u.pager({})),...ke})),Lt=(t,i)=>n.createElement("col",{key:i.toString(),width:g.getColumnWidth(t)}),Ne=(Ve=e.cells)!=null&&Ve.footerCell||c.some(t=>{var i;return!!((i=t.cells)!=null&&i.footerCell)})?n.createElement(_t.Footer,{size:f,staticHeaders:B!=="none",row:n.createElement(Qt.FooterRow,{cells:e.cells,idPrefix:G,columns:c,ariaRowIndex:K+1}),cols:m.map(Lt)}):null,x=w?n.createElement(Ra.StackedModeColGroup,{groupLevelCount:k}):n.createElement(Jt.GridColGroup,null,m.map((t,i)=>n.createElement("col",{key:i.toString(),className:g.isSorted(t.field,e.sort)?s.classNames(u.sorted({})):void 0,width:g.getColumnWidth(t)}))),Ie=e.reorderable||A,{detail:va,cells:ka,rows:qa,...Mt}=e,He=n.createElement("tbody",{role:"rowgroup",className:s.classNames(u.tbody({})),...y.tableKeyboardNavigationBodyAttributes},te),xe=ee?n.createElement(sa.GridEditDialog,{columns:m,customEditDialog:e.editDialog,dataItem:ee}):null;let ae=He;I&&(ae=n.createElement(na.GridReorderableRowsContainer,{unstyled:u,columns:c,rowReorderSettings:e.rowReorderable},He));const Te={gridRef:P,innerGrid:e.innerGrid,gridProps:Mt,columnsRef:ne(),hiddenColumnsRef:re,columnsMapRef:L,columnsState:S,dataRef:b,id:C,virtualTotal:se,isAllData:O,virtualPageSize:J,isVirtualScroll:h,detailExpandable:!!e.detail};return B==="none"?n.createElement(Xe.GridClientWrapper,{...Te},n.createElement(at.GridElementContainer,null,n.createElement("div",{id:e.id,style:e.style,className:s.classNames(u.wrapper({size:f,isStackedMode:w}),e.className),...y.tableKeyboardNavigationScopeAttributes},me,fe,n.createElement("div",{className:s.classNames(u.ariaRoot({})),role:"grid","aria-colcount":m.length,"aria-rowcount":v,id:C,"aria-label":M.toLanguageString(D.gridAriaLabel,D.messages[D.gridAriaLabel])},n.createElement(Xt.GridTable,{selectable:e.selectable,tableClassName:s.classNames(u.table({size:f}))},x,Ce,n.createElement(tt.GridTableBody,{rowReorderable:I},ae),Ne)),Se&&n.createElement(Je.GridNoRecordsContainer,null,_.length?_:n.createElement(Ue.GridNoRecords,null)),Ie&&n.createElement(n.Fragment,null,n.createElement(pe.GridDropClue,null),n.createElement(et.GridDragClue,null)))),be,e.pageable&&qe,n.createElement(lt.GridLoader,{loader:e.loader,showLoader:e.showLoader}),xe,ge&&n.createElement(s.WatermarkOverlay,{message:de})):n.createElement(Xe.GridClientWrapper,{...Te},n.createElement(at.GridElementContainer,null,n.createElement("div",{id:e.id,style:e.style,className:s.classNames(u.wrapper({size:f,virtual:h,isStackedMode:w}),e.className),...y.tableKeyboardNavigationScopeAttributes},me,fe,n.createElement("div",{className:s.classNames(u.ariaRoot({})),role:"grid","aria-colcount":m.length,"aria-rowcount":v,id:C,"aria-label":M.toLanguageString(D.gridAriaLabel,D.messages[D.gridAriaLabel])},Ce,e.isClient&&Tt&&n.createElement(rt.PinnedRowsTable,{size:f,colGroups:x,dataRowContext:W,edit:ye,position:"top",pinnedItems:Ee,isStackedMode:w,groupLevelCount:k,stackedLayoutSettings:e.stackedLayoutSettings,rowHeight:e.rowHeight,rows:e.rows,selectable:e.selectable}),n.createElement("div",{className:s.classNames(u.container({})),role:"presentation"},e.isClient&&z&&St&&n.createElement(it.StickyGroupTable,{size:f,colGroups:x,dataRowContext:W,position:"top",isStackedMode:w,groupLevelCount:k,stackedLayoutSettings:e.stackedLayoutSettings,rowHeight:e.rowHeight}),n.createElement(ta.GridContainerElementContainer,null,n.createElement("div",{className:s.classNames(u.content({}),h&&Y&&"k-grid-content--hide-scrollbar"),style:{...h&&Y&&{overflowY:"scroll",scrollbarWidth:"none"}},role:"presentation"},n.createElement("div",{className:s.classNames(u.tableWrap({})),role:"presentation"},n.createElement(ea.GridTableScrollable,{selectable:e.selectable,tableClassName:s.classNames(u.table({size:f})),tableStyle:{userSelect:Nt}},x,n.createElement(tt.GridTableBody,{rowReorderable:I},ae)),Se&&n.createElement(Je.GridNoRecordsContainer,null,_.length?_:n.createElement(Ue.GridNoRecords,null))),h&&n.createElement("div",{className:s.classNames(u.heightContainer({})),role:"presentation"},n.createElement(aa.VirtualScrollHeightContainer,{isVirtualScroll:h})))),e.isClient&&h&&Y&&n.createElement(la.VirtualScrollOverlay,null),e.isClient&&z&&Et&&n.createElement(it.StickyGroupTable,{size:f,colGroups:x,dataRowContext:W,position:"bottom",isStackedMode:w,groupLevelCount:k,stackedLayoutSettings:e.stackedLayoutSettings,rowHeight:e.rowHeight})),e.isClient&&Dt&&n.createElement(rt.PinnedRowsTable,{size:f,colGroups:x,dataRowContext:W,edit:ye,position:"bottom",pinnedItems:ve,isStackedMode:w,groupLevelCount:k,stackedLayoutSettings:e.stackedLayoutSettings,rowHeight:e.rowHeight,rows:e.rows,selectable:e.selectable}),Ne,Ie&&n.createElement(n.Fragment,null,n.createElement(pe.GridDropClue,null),n.createElement(et.GridDragClue,null)),ge&&n.createElement(s.WatermarkOverlay,{message:de})),be,e.pageable&&qe,n.createElement(lt.GridLoader,{loader:e.loader,showLoader:e.showLoader}),xe)))});ot.displayName="KendoReactGridComponent";exports.GridComponent=ot;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ia=require("react"),u=require("@progress/kendo-react-common"),N=require("@progress/kendo-react-data-tools"),ra=require("./cells/hierarchycell/GridHierarchyCell.js"),oa=require("./header/Header.js"),da=require("./header/HeaderRow.js"),sa=require("./header/FilterRow.js"),ua=require("./header/GroupPanel.js"),ca=require("./footer/Footer.js"),m=require("./utils/index.js"),mt=require("./utils/dataProcessing.js"),gt=require("@progress/kendo-data-query"),ma=require("./cells/groupcell/GridGroupCell.js"),bt=require("./header/GridHeaderGroupSpacerCell.js"),ga=require("./header/GridHeaderSelectionCell.js"),ft=require("./components/noRecords/GridNoRecords.js"),Ct=require("./filterCommon.js"),ba=require("./footer/FooterRow.js"),fa=require("./paging/GridPagerSettings.js"),Re=require("./package-metadata.js"),Ca=require("./cells/detailcell/GridDetailCell.js"),ht=require("./components/noRecords/GridNoRecordsContainer.js"),wt=require("./GridClientWrapper.js"),ha=require("./components/colGroup/GridColGroup.js"),wa=require("./components/table/GridTable.js"),Gt=require("./components/GridDropClue.js"),Rt=require("./components/GridDragClue.js"),yt=require("./components/table/GridTableBody.js"),Ga=require("./components/PagerContainer.js"),Ra=require("./components/table/GridTableScrollable.js"),St=require("./components/GridElementContainer.js"),ya=require("./components/GridContainerElementContainer.js"),Sa=require("./components/VirtualScrollHeightContainer.js"),Ea=require("./components/VirtualScrollOverlay.js"),D=require("./messages/index.js"),va=require("./components/GridDraggableRowsContainer.js"),ka=require("./cells/rowreordercell/GridRowReorderCell.js"),Na=require("./header/client/GridHeaderRowReorderCell.js"),Et=require("./components/GridLoader.js"),qa=require("./utils/premium.js"),vt=require("@progress/kendo-react-intl"),xa=require("./utils/virtualColumns.js"),Ha=require("./components/GridEditDialog.js"),Ia=require("./cells/selectioncell/GridSelectionCellServer.js"),Ta=require("./cells/selectioncell/GridSelectionCell.js"),Da=require("./cells/hierarchycell/GridHierarchyCellServer.js"),Pa=require("./cells/rowreordercell/GridRowReorderCellServer.js"),Ma=require("./cells/detailcell/GridDetailCellServer.js"),Wa=require("./cells/groupcell/GridGroupCellServer.js"),Ba=require("./cells/pincell/GridPinCell.js"),La=require("./cells/pincell/GridPinCellServer.js"),za=require("./header/client/GridHeaderPinCell.js"),Fa=require("./stacked/StackedModeComponents.js"),Ka=require("./rows/GridRowRenderer.js"),Oa=require("./rows/GridDetailRowRenderer.js"),kt=require("./components/StickyGroupTable.js"),Nt=require("./components/PinnedRowsTable.js"),Aa=require("./getRowContents.js");function ja(e){const Z=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const R in e)if(R!=="default"){const q=Object.getOwnPropertyDescriptor(e,R);Object.defineProperty(Z,R,q.get?q:{enumerable:!0,get:()=>e[R]})}}return Z.default=e,Object.freeze(Z)}const l=ja(ia),qt=l.forwardRef((e,Z)=>{var Ue,Ye,Je,Xe,pe,et,tt,at,lt,nt,it,rt,ot,dt,st,ut;const R=e.id+"-role-element-id",q=e.navigatable?R:"";let y=e.columnsState||[];const xt=(t,i,r,o,a,d,c)=>{const f=[],I=m.flatData(f,t,i,{index:r},o!==void 0,a,d,_t.defaultExpand,c);return{flattedData:f,resolvedGroupsCount:I}},Ht=t=>{const i=t.filter(r=>r&&r.type&&r.type.displayName==="KendoReactGridColumn");return m.readColumns(i,y,{prevId:0,idPrefix:q})},It=()=>{const t=[],i=(r,o)=>r==null?void 0:r.forEach(a=>{const d=a.hidden||o;t.push({...a,hidden:d}),i(a.children,d)});return i(y,!1),t},Tt=t=>{const i=It();return[t.filter(r=>{var o;return!r.hidden&&!((o=i.find(a=>a.id===r.id))!=null&&o.hidden)}),t.filter(r=>{var o;return r.hidden||((o=i.find(a=>a.id===r.id))==null?void 0:o.hidden)})]},Dt=(t,i)=>{g=Ht(t),g.filter(a=>!a.hidden).length===0&&(g=m.autoGenerateColumns(H,e.group,{column:W.column},{prevId:0,idPrefix:q})),Mt(g,i);const[r,o]=Tt(g);g=r,ee=o,ae=m.mapColumns(g,y,!0),te=g.map(m.clientColumn)},Pt=(t,i)=>{const r=o=>{var d;const a=i.find(c=>c.id===o.id);if(a){const c={...a};return c.children=(d=o.children)==null?void 0:d.map(r),c}return m.getColumnState(o)};y=t.filter(o=>o.parentIndex===-1).map(r)},Mt=(t,i)=>{var se,p,B,ue;if(typeof e.groupable=="object"&&e.groupable.hideGroupedColumns===!0&&(h==="singleColumn"||h==="multipleColumns")){const n=new Set((e.group||[]).map(C=>C.field));t.filter(C=>C.field!==void 0&&n.has(C.field)).forEach(C=>{C.hidden=!0})}t.filter(n=>n.columnType==="checkbox").forEach(n=>{n.width=n.width||"50px",n.defaultCell=e.isClient?Ta.GridSelectionCell:Ia.GridSelectionCellServer,n.defaultHeaderCell=ga.GridHeaderSelectionCell,n._type="edit",n.sortable=!1,n.filterable=!1,n.editable=!1}),F!==void 0&&t.filter(n=>n.columnType==="reorder").forEach(n=>{n.width=n.width||"50px",n.defaultCell=e.isClient?ka.GridRowReorderCell:Pa.GridRowReorderCellServer,n.defaultHeaderCell=Na.GridHeaderRowReorderCell,n.sortable=!1,n.filterable=!1,n.editable=!1}),e.pinnable&&t.filter(n=>n.columnType==="pin").forEach(n=>{n.width=n.width||"48px",n.defaultCell=e.isClient?Ba.GridPinCell:La.GridPinCellServer,n.defaultHeaderCell=za.GridHeaderPinCell,n.sortable=!1,n.filterable=!1,n.editable=!1});const o=m.getFlatColumnsState(y);Pt(t,o);const a={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let d=0;if(W.enabled&&e.detail){const n={...a,_type:"expand",id:N.tableKeyboardNavigationTools.generateNavigatableId(`${d++}`,"expand","column"),defaultCell:e.isClient?ra.GridHierarchyCell:Da.GridHierarchyCellServer,field:W.column,headerClassName:u.classNames(b.hierarchyCell({}))};t.unshift(n),y.unshift(o.find(C=>C.id===n.id)||m.getColumnState(n))}const c=h==="compact",f=h==="singleColumn",I=h==="multipleColumns",j=c||f?Math.min(i,1):i,_=(n,C)=>{var k,s,$,ce;if(n==="singleColumn")return L.toLanguageString(D.groupColumnTitle,D.messages[D.groupColumnTitle]);if(n!=="multipleColumns")return a.title;const V=(s=(k=e.group)==null?void 0:k[C])==null?void 0:s.field,T=t.find(ct=>ct.field===V&&ct.declarationIndex>=0);return(ce=($=T==null?void 0:T.title)!=null?$:V)!=null?ce:a.title},v=typeof e.groupable=="object"?e.groupable.groupColumn:void 0;for(let n=j-1;n>=0;n--){const C=f||I;let V=a.width;c?V="0px":C&&(V=void 0);const T=(se=e.group)==null?void 0:se[n];let k;v!==void 0&&(typeof v=="function"?T!==void 0&&(k=v(T)):k=v);const s=C?k:void 0,$={...a,isAccessible:C,isGroupColumn:C,defaultCell:e.isClient?ma.GridGroupCell:Wa.GridGroupCellServer,defaultHeaderCell:C?void 0:bt.GridHeaderGroupSpacerCell,id:N.tableKeyboardNavigationTools.generateNavigatableId(`${d++}`,"group","column"),field:"value",groupField:T==null?void 0:T.field,title:(p=s==null?void 0:s.title)!=null?p:_(h,n),width:(B=s==null?void 0:s.width)!=null?B:V,locked:(ue=s==null?void 0:s.locked)!=null?ue:e.lockGroups,sortable:!1,filterable:!1,editable:!1,groupable:!1,...(s==null?void 0:s.resizable)!==void 0&&{resizable:s.resizable},...(s==null?void 0:s.reorderable)!==void 0&&{reorderable:s.reorderable},...(s==null?void 0:s.minWidth)!==void 0&&{minWidth:s.minWidth},...(s==null?void 0:s.maxWidth)!==void 0&&{maxWidth:s.maxWidth},...f?{disableColumnMenu:!0}:(s==null?void 0:s.columnMenu)!==void 0&&{columnMenu:s.columnMenu},...(k==null?void 0:k.cells)!==void 0&&{cells:{group:{groupHeader:k.cells.groupHeader,groupFooter:k.cells.groupFooter}}}};t.unshift($),y.unshift(o.find(ce=>ce.id===$.id)||m.getColumnState($))}t.slice(d).forEach(n=>{n.parentIndex>=0&&(n.parentIndex+=d),n.rowSpannable=n.rowSpannable!==void 0?m.getRowSpanOptions(n.rowSpannable):Ne})},ye=()=>e.isClient?g:te,Se=t=>{const i=[];let r=null,o=0;if(x.forEach((a,d)=>{const c=parseFloat(((a==null?void 0:a.width)||"").toString());let f=Number.isNaN(c)?10:c;if(typeof(a==null?void 0:a.width)=="number"&&(a!=null&&a.minResizableWidth)&&(a==null?void 0:a.width)<(a==null?void 0:a.minResizableWidth)&&(f=a==null?void 0:a.minResizableWidth),typeof(a==null?void 0:a.width)=="number"&&(a!=null&&a.minWidth)&&(a==null?void 0:a.width)<(a==null?void 0:a.minWidth)?f=a==null?void 0:a.minWidth:typeof(a==null?void 0:a.width)=="number"&&(a!=null&&a.maxWidth)&&(a==null?void 0:a.width)>(a==null?void 0:a.maxWidth)&&(f=a==null?void 0:a.maxWidth),o){o--,r&&(r.width+=f);return}const I=Math.min(m.getColSpan(a,t),x.length-d);o=I-1,r={width:f,colSpan:I,columnIndex:d},i.push(r)}),e.columnVirtualization){const a=Bt.current||0,d=Lt.current||parseFloat(((e.style||{}).width||"").toString());return xa.getVirtualCellsToRender({cellModels:i,columns:x,tableViewPortWidth:d,scrollLeft:a})}return i},Wt=()=>{const{pageable:t,take:i,pageSize:r}=e;if(!S)return 0;if(!t){if(i)return i;if(r)return r}const o=e.rowHeight||Ft.current,a=zt.current;return a&&o?Math.ceil(a/o*1.5):0};let w=[],me,g=[],ee=[],te=[],ae=[[]];const Bt=e.scrollLeftRef||{current:0},Lt=e.widthRef||{current:0},zt=e.containerHeightRef||{current:0},Ft=e.minRowHeightRef||{current:0},L=e.localization||new vt.LocalizationService(e.language),Kt=e.intl||new vt.IntlService((Ue=e.locale)!=null?Ue:"en"),z=e.unstyled,b=z&&z.uGrid?z.uGrid:u.uGrid,F=m.isRowReorderEnabled(e.rowReorderable),Q=typeof e.scrollable=="object"?e.scrollable.mode:e.scrollable,ge=typeof e.scrollable=="object"&&e.scrollable.scrollbar==="proxied",S=Q==="virtual"||Q===void 0&&e.isClient&&u.hasValidLicense(Re.packageMetadata)||!1,E=e.dataLayoutMode==="stacked",h=typeof e.groupable=="object"&&e.groupable.displayMode||"default",M=h==="compact"?0:((Ye=e.group)==null?void 0:Ye.length)||0,Ee=u.getLicenseMessage(Re.packageMetadata),K=mt.normalizeAutoProcessData(e.autoProcessData);let H,P;if(Array.isArray(e.data)?(H=e.data,P=(Je=e.total)!=null?Je:H.length):(H=((Xe=e.data)==null?void 0:Xe.data)||[],P=(tt=(et=e.total)!=null?et:(pe=e.data)==null?void 0:pe.total)!=null?tt:H.length),K){const t=mt.processData(H,{autoProcessData:K,group:e.group,sort:e.sort,filter:e.filter,search:e.search,pageable:e.pageable,take:e.take,skip:e.skip,total:e.total,isVirtualScroll:S,includePaging:!0});H=t.data,P=t.total}const le=H.length===P,{size:G}=e,Ot=typeof e.groupable=="object"&&e.groupable.footer||"none",At=typeof e.groupable=="object"&&!!e.groupable.stickyHeaders,jt=typeof e.groupable=="object"&&!!e.groupable.stickyFooters,ne=e.groupable===!0||typeof e.groupable=="object"&&e.groupable.enabled!==!1,W=N.getDetailExpandableOptions(!!e.detail),_t=N.getGroupExpandableOptions(typeof e.groupable=="object"&&e.groupable.enabled!==!1?e.groupable.expandable:e.groupable),ie=!!((at=e.group)!=null&&at.length),{resolvedGroupsCount:Vt,flattedData:$t}=xt(H,Ot,le?0:e.skip||0,e.group,e.detailExpand,e.groupExpand,e.dataItemKey);w=$t;const be=Wt(),re=((lt=e.virtualSkipRef)==null?void 0:lt.current)||0;let ve=P;if(S){let t=e.skip||0;if((ie||e.pageable)&&(t=re,ve=w.length),le||ie||e.pageable)if(be===0){const i=Math.min(e.take||e.pageSize||20,w.length);me=w.slice(t,t+i)}else me=w.slice(t,t+be)}const ke=N.getSelectionOptions(e.selectable),Ne=m.getRowSpanOptions(e.rowSpannable),Zt=ke&&ke.drag?"none":void 0,oe=l.useMemo(()=>l.Children.toArray(e.children),[e.children]),Qt=Math.max(Vt,(it=(nt=e.group)==null?void 0:nt.length)!=null?it:0);Dt(oe,Qt);const fe=l.useMemo(()=>{const t=qa.gridPremiumFeatures(e,g);return{premium:t.length>0,features:t}},[e,g]),qe=l.useMemo(()=>fe.premium?!u.validatePackage(Re.packageMetadata,{component:"Grid",features:fe.features}):!1,[fe.premium]),xe=oe.map(t=>t&&t.type&&t.type.displayName==="KendoReactGridToolbar"?l.cloneElement(t,{...t.props,_ariaControls:R,ariaLabel:"Top toolbar"}):null),de=oe.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridNoRecords"),He=oe.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridStatusBar"),x=g.filter(t=>t.children.length===0),U=h==="compact",Ie=t=>U&&t.children.length===0&&t.defaultHeaderCell===bt.GridHeaderGroupSpacerCell,Y=U?g.filter(t=>!Ie(t)):g,Ut=U?te.filter(t=>!Ie(t)):te,Te=U?m.mapColumns(Y,y):ae,O=Y.filter(t=>t.children.length===0),Yt=(U||h==="singleColumn"||h==="multipleColumns")&&O.some(t=>t.columnType==="checkbox"),De=ne&&!E&&l.createElement(ua.GroupPanel,{columns:ye(),hiddenColumns:ee,group:e.group||[],ariaControls:R,mode:h}),Pe=E?null:l.createElement(oa.Header,{size:G,staticHeaders:Q!=="none",draggable:e.reorderable||ne,headerRow:l.createElement(da.HeaderRow,{cells:e.cells,sort:e.sort,sortable:e.sortable,group:e.group||[],groupable:ne,filter:e.filter,filterable:e.filterable,filterOperators:e.filterOperators||Ct.operators,columnMenu:e.columnMenu,columnMenuIcon:e.columnMenuIcon,columns:Y,columnsMap:Te,navigatable:!!e.navigatable,localization:L,unstyled:z,columnsState:y,headerSelectionValue:!!(e.select&&w.filter(t=>t.rowType==="data").every(t=>e.select&&e.dataItemKey&&u.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[u.getter(e.dataItemKey)(t.dataItem)]:void 0))}),filterRow:e.filterable&&l.createElement(sa.FilterRow,{cells:e.cells,size:G,columns:Y,filter:e.filter,filterOperators:e.filterOperators||Ct.operators,sort:e.sort,navigatable:!!e.navigatable,ariaRowIndex:Te.length+1,localization:L})||void 0,cols:O.map((t,i)=>l.createElement("col",{key:i.toString(),width:m.getColumnWidth(t)}))}),Me=x.findIndex(t=>typeof t.colSpan=="function")>-1;let We;Me||(We=Se(null));const Ce=((rt=e.editable)==null?void 0:rt.mode)==="dialog",Jt=(ot=e.editable)==null?void 0:ot.enabled,Be=(st=(dt=e.editZoneRef)==null?void 0:dt.current)!=null?st:"body",Xt=Be==="pinned"?void 0:e.edit,Le=Be==="body"?void 0:e.edit,J={leafColumns:x,renderedColumnsCount:O.length,columnsState:y,cellsToRender:We,getCellsToRender:Se,hasDynamicColSpan:Me,idPrefix:q,gridClasses:b,unstyled:z,localization:L,intl:Kt,cells:e.cells,isRowReorderable:F,sort:e.sort,editable:e.editable,isClient:e.isClient,isEditDialog:Ce,dataItemKey:e.dataItemKey,select:e.select,highlight:e.highlight,hiddenColumns:ee,groupingMode:h,hasCheckboxColumn:Yt},pt=0;let he=null;const ze=t=>t>=w.length-pt,we=[],Fe=!w.length,Ke=l.useMemo(()=>{var i;const t=e.pinnedTopRows||[];return K&&((i=e.sort)!=null&&i.length)?gt.orderBy([...t],e.sort):t},[e.pinnedTopRows,e.sort,K]),Oe=l.useMemo(()=>{var i;const t=e.pinnedBottomRows||[];return K&&((i=e.sort)!=null&&i.length)?gt.orderBy([...t],e.sort):t},[e.pinnedBottomRows,e.sort,K]),ea=e.pinnable&&Ke.length>0,ta=e.pinnable&&Oe.length>0;let X=0;const aa=l.useMemo(()=>{const t=new Set;return e.pinnedTopRows&&e.pinnedTopRows.forEach(i=>t.add(i)),e.pinnedBottomRows&&e.pinnedBottomRows.forEach(i=>t.add(i)),t},[e.pinnedTopRows,e.pinnedBottomRows]);if(w.length){const t=ae.length+(e.filterable?1:0)+1;let i=e.skip||0,r=-1,o=0;const a=Ne.enabled?{}:void 0;if(S){if(re>0){const d=w.slice(0,re).filter(c=>c.rowType==="data").length;r+=d,i+=re}!e.pageable&&le&&(r+=e.skip||0)}(me||w).forEach((d,c)=>{var p;d.rowType==="data"&&r++;const f=d.dataIndex%2!==0,I=e.dataItemKey&&u.getter(e.dataItemKey)(d.dataItem),j=c+i,_=I||"ai"+j,v=Aa.getRowContents(J,Xt,d,_,r,f,a),se=d.rowType==="data"?aa.has(d.dataItem):!1;if(X=j+t+o,Ce&&Jt&&v.isInEdit&&(he=d.dataItem),we.push(l.createElement(Ka.GridRowRenderer,{key:_,isStackedMode:E,item:d,rowId:_,dataIndex:r,idPrefix:q,ariaRowIndex:X,absoluteRowIndex:j,isAltRow:f,isHidden:ze(c),isRowReorderable:F,rowHeight:e.rowHeight,rows:e.rows,leafColumns:x,groupLevelCount:M,groupingMode:h,stackedLayoutSettings:e.stackedLayoutSettings,cells:e.cells,editMode:(p=e.editable)==null?void 0:p.mode,isSelected:v.isSelected,isHighlighted:v.isHighlighted,isInEdit:v.isInEdit&&!Ce,preparedCells:v.row,showDetailToggle:!!e.detail&&!!W.enabled,isDetailExpanded:!!d.expanded,detailExpandField:W.column,isPinned:se})),e.detail&&d.rowType==="data"&&d.expanded){o++;const B=_+"_1";X=j+t+o;const ue=e.isClient?Ca.GridDetailCell:Ma.GridDetailCellServer;we.push(l.createElement(Oa.GridDetailRowRenderer,{key:B,isStackedMode:E,detailRowId:B,isHidden:ze(c),detailRowHeight:e.detailRowHeight,ariaRowIndex:X,item:d,groupLevelCount:M,groupDescriptors:e.group,lockGroups:e.lockGroups,cells:e.cells,leafColumns:x,detailExpandableEnabled:!!W.enabled,preparedCells:v.row,DetailCell:ue,detail:e.detail,detailCellId:N.tableKeyboardNavigationTools.generateNavigatableId(`${B}-dcell`,q),detailHierarchyCellId:W.enabled?N.tableKeyboardNavigationTools.generateNavigatableId(`${B}-dhcell`,q):void 0,detailTrClassName:u.classNames(b.detailTr({isAlt:f})),unstyled:z}))}})}const Ae={size:G,total:P,skip:e.skip||0,take:(e.take!==void 0?e.take:e.pageSize)||10,...fa.normalize(e.pageable||{})},je=l.createElement(Ga.PagerContainer,null,e.pager?l.createElement(e.pager,{...Ae}):l.createElement(N.Pager,{className:u.classNames(b.pager({})),...Ae})),la=(t,i)=>l.createElement("col",{key:i.toString(),width:m.getColumnWidth(t)}),_e=(ut=e.cells)!=null&&ut.footerCell||g.some(t=>{var i;return!!((i=t.cells)!=null&&i.footerCell)})?l.createElement(ca.Footer,{size:G,staticHeaders:Q!=="none",row:l.createElement(ba.FooterRow,{cells:e.cells,idPrefix:q,columns:g,ariaRowIndex:X+1}),cols:x.map(la)}):null,A=E?l.createElement(Fa.StackedModeColGroup,{groupLevelCount:M}):l.createElement(ha.GridColGroup,null,O.map((t,i)=>l.createElement("col",{key:i.toString(),className:m.isSorted(t.field,e.sort)?u.classNames(b.sorted({})):void 0,width:m.getColumnWidth(t)}))),Ve=e.reorderable||ne,{detail:$a,cells:Za,rows:Qa,...na}=e,$e=l.createElement("tbody",{role:"rowgroup",className:u.classNames(b.tbody({})),...N.tableKeyboardNavigationBodyAttributes},we),Ze=he?l.createElement(Ha.GridEditDialog,{columns:x,customEditDialog:e.editDialog,dataItem:he}):null;let Ge=$e;F&&(Ge=l.createElement(va.GridReorderableRowsContainer,{unstyled:b,columns:g,rowReorderSettings:e.rowReorderable},$e));const Qe={gridRef:Z,innerGrid:e.innerGrid,gridProps:na,columnsRef:ye(),renderedColumnsRef:e.isClient?Y:Ut,hiddenColumnsRef:ee,columnsMapRef:ae,columnsState:y,dataRef:w,id:R,virtualTotal:ve,isAllData:le,virtualPageSize:be,isVirtualScroll:S,detailExpandable:!!e.detail};return Q==="none"?l.createElement(wt.GridClientWrapper,{...Qe},l.createElement(St.GridElementContainer,null,l.createElement("div",{id:e.id,style:e.style,className:u.classNames(b.wrapper({size:G,isStackedMode:E}),e.className),...N.tableKeyboardNavigationScopeAttributes},xe,De,l.createElement("div",{className:u.classNames(b.ariaRoot({})),role:"grid","aria-colcount":x.length,"aria-rowcount":P,id:R,"aria-label":L.toLanguageString(D.gridAriaLabel,D.messages[D.gridAriaLabel])},l.createElement(wa.GridTable,{selectable:e.selectable,tableClassName:u.classNames(b.table({size:G}))},A,Pe,l.createElement(yt.GridTableBody,{rowReorderable:F},Ge),_e)),Fe&&l.createElement(ht.GridNoRecordsContainer,null,de.length?de:l.createElement(ft.GridNoRecords,null)),Ve&&l.createElement(l.Fragment,null,l.createElement(Gt.GridDropClue,null),l.createElement(Rt.GridDragClue,null)))),He,e.pageable&&je,l.createElement(Et.GridLoader,{loader:e.loader,showLoader:e.showLoader}),Ze,qe&&l.createElement(u.WatermarkOverlay,{message:Ee})):l.createElement(wt.GridClientWrapper,{...Qe},l.createElement(St.GridElementContainer,null,l.createElement("div",{id:e.id,style:e.style,className:u.classNames(b.wrapper({size:G,virtual:S,isStackedMode:E}),e.className),...N.tableKeyboardNavigationScopeAttributes},xe,De,l.createElement("div",{className:u.classNames(b.ariaRoot({})),role:"grid","aria-colcount":O.length,"aria-rowcount":P,id:R,"aria-label":L.toLanguageString(D.gridAriaLabel,D.messages[D.gridAriaLabel])},Pe,e.isClient&&ea&&l.createElement(Nt.PinnedRowsTable,{size:G,colGroups:A,dataRowContext:J,edit:Le,position:"top",pinnedItems:Ke,isStackedMode:E,groupLevelCount:M,stackedLayoutSettings:e.stackedLayoutSettings,rowHeight:e.rowHeight,rows:e.rows,selectable:e.selectable}),l.createElement("div",{className:u.classNames(b.container({})),role:"presentation"},e.isClient&&ie&&At&&l.createElement(kt.StickyGroupTable,{size:G,colGroups:A,dataRowContext:J,position:"top",isStackedMode:E,groupLevelCount:M,stackedLayoutSettings:e.stackedLayoutSettings,rowHeight:e.rowHeight,rows:e.rows}),l.createElement(ya.GridContainerElementContainer,null,l.createElement("div",{className:u.classNames(b.content({}),S&&ge&&"k-grid-content--hide-scrollbar"),style:{...S&&ge&&{overflowY:"scroll",scrollbarWidth:"none"}},role:"presentation"},l.createElement("div",{className:u.classNames(b.tableWrap({})),role:"presentation"},l.createElement(Ra.GridTableScrollable,{selectable:e.selectable,tableClassName:u.classNames(b.table({size:G})),tableStyle:{userSelect:Zt}},A,l.createElement(yt.GridTableBody,{rowReorderable:F},Ge)),Fe&&l.createElement(ht.GridNoRecordsContainer,null,de.length?de:l.createElement(ft.GridNoRecords,null))),S&&l.createElement("div",{className:u.classNames(b.heightContainer({})),"aria-colcount":O.length,role:"presentation"},l.createElement(Sa.VirtualScrollHeightContainer,{isVirtualScroll:S})))),e.isClient&&S&&ge&&l.createElement(Ea.VirtualScrollOverlay,null),e.isClient&&ie&&jt&&l.createElement(kt.StickyGroupTable,{size:G,colGroups:A,dataRowContext:J,position:"bottom",isStackedMode:E,groupLevelCount:M,stackedLayoutSettings:e.stackedLayoutSettings,rowHeight:e.rowHeight,rows:e.rows})),e.isClient&&ta&&l.createElement(Nt.PinnedRowsTable,{size:G,colGroups:A,dataRowContext:J,edit:Le,position:"bottom",pinnedItems:Oe,isStackedMode:E,groupLevelCount:M,stackedLayoutSettings:e.stackedLayoutSettings,rowHeight:e.rowHeight,rows:e.rows,selectable:e.selectable}),_e,Ve&&l.createElement(l.Fragment,null,l.createElement(Gt.GridDropClue,null),l.createElement(Rt.GridDragClue,null)),qe&&l.createElement(u.WatermarkOverlay,{message:Ee})),He,e.pageable&&je,l.createElement(Et.GridLoader,{loader:e.loader,showLoader:e.showLoader}),Ze)))});qt.displayName="KendoReactGridComponent";exports.GridComponent=qt;