@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.16 kB
JavaScript
/**
* @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";
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("react"),a=require("@progress/kendo-react-common"),h=require("../constants/index.js"),v=require("../utils/GridContext.js");function O(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,t.get?t:{enumerable:!0,get:()=>e[n]})}}return r.default=e,Object.freeze(r)}const c=O(k),S=e=>{var R;const r=c.useContext(v.GridContext),{reorderRowDropTargetRef:n,reorderRowDragTargetRef:t,activeDragRowDataItemRef:g}=r,{rowType:i,isAltRow:b,isInEdit:f,isSelected:m}=e,s=a.useUnstyled(),y=s&&s.uGrid?s.uGrid:a.uGrid,D=a.classNames(y.tr({selected:m,isHeader:i==="groupHeader",isFooter:i==="groupFooter",isMaster:i!=="groupHeader"&&i!=="groupFooter",isAltRow:b,isInEdit:f})),l=c.useRef(null),x=o=>{if(e.isRowReorderable&&g.current){const T=o.originalEvent.target;n.current=T.closest(".k-table-row")}},I=()=>{t.current&&e.isRowReorderable&&(t.current.style.userSelect="")};a.useDroppable(l,{onDragOver:x,onDrop:I});const C={onClick:o=>r.rowClick(o,e.dataItem),onDoubleClick:o=>r.rowDblClick(o,e.dataItem)},u={ref:l,id:e.id,...C,className:D,style:{height:e.rowHeight?e.rowHeight+"px":"",visibility:e.isHidden?"hidden":"",userSelect:(R=t==null?void 0:t.current)==null?void 0:R.style.userSelect},role:"row","aria-rowindex":e.ariaRowIndex,"absolute-row-index":e.absoluteRowIndex,[h.GRID_ROW_INDEX_ATTRIBUTE]:e.rowType==="data"?e.dataIndex:void 0},w=e.rowType||"data",d=e.rows;if(d&&d[w]){const o=d[w];return c.createElement(o,{key:e.absoluteRowIndex,...e,trProps:u},e.children)}return c.createElement("tr",{key:e.absoluteRowIndex,...u},e.children)};exports.GridRow=S;