UNPKG

@progress/kendo-react-grid

Version:

React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package

10 lines (9 loc) 2.56 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use client"; "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("react"),l=require("@progress/kendo-react-common"),h=require("../utils/GridContext.js"),j=require("../rows/GridRowRenderer.js"),q=require("../getRowContents.js");function x(o){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const i=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(n,e,i.get?i:{enumerable:!0,get:()=>o[e]})}}return n.default=o,Object.freeze(n)}const r=x(O),z=({size:o,colGroups:n,dataRowContext:e,position:i,isStackedMode:k,groupLevelCount:g,stackedLayoutSettings:I,rowHeight:C})=>{const u=l.useUnstyled(),f=u!=null&&u.uGrid?u.uGrid:l.uGrid,t=r.useContext(h.GridContext),c=i==="top",d=c?t.stickyHeaderRef:t.stickyFooterRef,b=(c?t.stickyHeaderItems:t.stickyFooterItems)||[],G=b.length>0,w=l.classNames(f.stickyContainer({bottom:!c})),S=l.classNames(f.table({size:o})),m=r.useRef(null),N=c?t.stickyHeaderTableRef:t.stickyFooterTableRef;r.useImperativeHandle(N,()=>({setWidth:s=>{m.current&&(m.current.style.width=s?s+"px":"")},setScrollLeft:s=>{d.current&&d.current.scrollLeft!==s&&(d.current.scrollLeft=s)}}));const T=r.useCallback(s=>{var a;(a=t.columnResizeRef)!=null&&a.current&&(c?t.columnResizeRef.current.colGroupStickyHeader=s:t.columnResizeRef.current.colGroupStickyFooter=s)},[t.columnResizeRef,c]),E=n?r.cloneElement(n,{colGroupRef:T}):null,v=()=>b.map((s,a)=>{const{item:y,flatIndex:p}=s,R=e.dataItemKey&&l.getter(e.dataItemKey)(y.dataItem)||"ai"+p,H=q.getRowContents(e,{},y,R,a,!1);return r.createElement(j.GridRowRenderer,{key:R,isStackedMode:!!k,item:y,rowId:R,dataIndex:-1,ariaRowIndex:a,absoluteRowIndex:p,isAltRow:!1,isHidden:!1,isRowReorderable:!1,rowHeight:C,rows:void 0,leafColumns:e.leafColumns,groupLevelCount:g||0,stackedLayoutSettings:I,cells:e.cells,isSelected:!1,isInEdit:!1,preparedCells:H.row,showDetailToggle:!1,isDetailExpanded:!1})});return r.createElement("div",{ref:d,className:w,style:{display:G?"":"none"}},r.createElement("table",{ref:m,className:S},E,r.createElement("tbody",{className:l.classNames(f.tbody({}))},v())))};exports.StickyGroupTable=z;