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.46 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 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 h=require("react"),c=require("@progress/kendo-react-common"),m=require("@progress/kendo-react-data-tools"),y=require("../utils/GridContext.js");function v(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const a in e)if(a!=="default"){const s=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(r,a,s.get?s:{enumerable:!0,get:()=>e[a]})}}return r.default=e,Object.freeze(r)}const t=v(h),R=e=>{const r=t.useRef(null),a=t.useRef(null),s=t.useRef(!1),l=t.useContext(y.GridContext),b=c.useRtl(l.headerElementRef);l.columnResizeRef.current&&l.columnResizeRef.current.setIsRtl(b==="rtl"),t.useImperativeHandle(l.headerRef,()=>({setScrollLeft:n=>{r.current&&r.current.scrollLeft!==n&&(s.current=!0,r.current.scrollLeft=n)},setWidth:n=>{a.current&&(a.current.style.width=n?n+"px":"")},table:()=>a.current}));const g=n=>{var f;if(s.current){s.current=!1;return}if(!r.current)return;const d=r.current.scrollLeft,i=((f=l.vsRef.current)==null?void 0:f.container)||null;i&&i.scrollLeft!==d&&(i.scrollLeft=d)},u=c.useUnstyled(),o=u&&u.uGrid?u.uGrid:c.uGrid,{size:N="md"}=e;return e.staticHeaders?t.createElement("div",{ref:l.headerElementRef,className:c.classNames(o.header({draggable:e.draggable}),e.className),role:"presentation"},t.createElement("div",{ref:r,className:c.classNames(o.headerWrap({})),onScroll:g,role:"presentation"},t.createElement("table",{ref:a,className:c.classNames(o.headerTable({size:N}),e.className),role:"presentation"},t.createElement("colgroup",{ref:n=>{l.columnResizeRef.current&&(l.columnResizeRef.current.colGroupHeader=n)}},e.cols),t.createElement("thead",{className:c.classNames(o.tableThead({})),role:"rowgroup",...m.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)))):t.createElement("thead",{role:"presentation",className:c.classNames(o.thead({draggable:e.draggable}),e.className),...m.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)};R.displayName="KendoReactHeader";exports.Header=R;