@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
619 lines (618 loc) • 26 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import * as i from "react";
import { uGrid as Bt, hasValidLicense as zt, getLicenseMessage as Wt, validatePackage as Ft, getter as G, classNames as f, WatermarkOverlay as Je } from "@progress/kendo-react-common";
import { getDetailExpandableOptions as Ot, getGroupExpandableOptions as _t, getSelectionOptions as Vt, tableKeyboardNavigationTools as M, Pager as $t, tableKeyboardNavigationBodyAttributes as jt, tableKeyboardNavigationScopeAttributes as Qe } from "@progress/kendo-react-data-tools";
import { GridHierarchyCell as Ut } from "./cells/hierarchycell/GridHierarchyCell.mjs";
import { GridEditCell as qt } from "./cells/editcell/GridEditCell.mjs";
import { Header as Jt } from "./header/Header.mjs";
import { HeaderRow as Qt } from "./header/HeaderRow.mjs";
import { FilterRow as Xt } from "./header/FilterRow.mjs";
import { GroupPanel as Yt } from "./header/GroupPanel.mjs";
import { Footer as Zt } from "./footer/Footer.mjs";
import { isRowReorderEnabled as pt, getRowSpanOptions as Xe, getColumnWidth as te, isSorted as Ye, flatData as ea, autoGenerateColumns as ta, mapColumns as aa, clientColumn as la, getColSpan as ia, resolveCells as na, readColumns as ra, getFlatColumnsState as oa, getColumnState as ae } from "./utils/index.mjs";
import { normalizeAutoProcessData as da, processData as ma } from "./utils/dataProcessing.mjs";
import { GridCell as sa } from "./cells/datacell/GridCell.mjs";
import { GridGroupCell as ca } from "./cells/groupcell/GridGroupCell.mjs";
import { GridHeaderSelectionCell as ua } from "./header/GridHeaderSelectionCell.mjs";
import { GridNoRecords as Ze } from "./components/noRecords/GridNoRecords.mjs";
import { operators as pe } from "./filterCommon.mjs";
import { FooterRow as fa } from "./footer/FooterRow.mjs";
import { normalize as ga } from "./paging/GridPagerSettings.mjs";
import { packageMetadata as le } from "./package-metadata.mjs";
import { GridDetailCell as ba } from "./cells/detailcell/GridDetailCell.mjs";
import { GridNoRecordsContainer as et } from "./components/noRecords/GridNoRecordsContainer.mjs";
import { GridClientWrapper as tt } from "./GridClientWrapper.mjs";
import { GridColGroup as ha } from "./components/colGroup/GridColGroup.mjs";
import { GridTable as Ca } from "./components/table/GridTable.mjs";
import { GridDropClue as at } from "./components/GridDropClue.mjs";
import { GridDragClue as lt } from "./components/GridDragClue.mjs";
import { GridTableBody as it } from "./components/table/GridTableBody.mjs";
import { PagerContainer as ya } from "./components/PagerContainer.mjs";
import { GridTableScrollable as wa } from "./components/table/GridTableScrollable.mjs";
import { GridElementContainer as nt } from "./components/GridElementContainer.mjs";
import { GridContainerElementContainer as Ea } from "./components/GridContainerElementContainer.mjs";
import { VirtualScrollHeightContainer as Sa } from "./components/VirtualScrollHeightContainer.mjs";
import { gridAriaLabel as rt, messages as va } from "./messages/index.mjs";
import { GridReorderableRowsContainer as Ra } from "./components/GridDraggableRowsContainer.mjs";
import { GridRowReorderCell as Ia } from "./cells/rowreordercell/GridRowReorderCell.mjs";
import { GridHeaderRowReorderCell as Ga } from "./header/client/GridHeaderRowReorderCell.mjs";
import { GridLoader as ot } from "./components/GridLoader.mjs";
import { gridPremiumFeatures as xa } from "./utils/premium.mjs";
import { LocalizationService as ka, IntlService as Na } from "@progress/kendo-react-intl";
import { getVirtualCellsToRender as Da } from "./utils/virtualColumns.mjs";
import { GridEditDialog as Ha } from "./components/GridEditDialog.mjs";
import { GridCellServer as Ta } from "./cells/datacell/GridCellServer.mjs";
import { GridEditCellServer as Ka } from "./cells/editcell/GridEditCellServer.mjs";
import { GridSelectionCellServer as La } from "./cells/selectioncell/GridSelectionCellServer.mjs";
import { GridSelectionCell as Pa } from "./cells/selectioncell/GridSelectionCell.mjs";
import { GridHierarchyCellServer as Aa } from "./cells/hierarchycell/GridHierarchyCellServer.mjs";
import { GridRowReorderCellServer as Ma } from "./cells/rowreordercell/GridRowReorderCellServer.mjs";
import { GridDetailCellServer as Ba } from "./cells/detailcell/GridDetailCellServer.mjs";
import { GridGroupCellServer as za } from "./cells/groupcell/GridGroupCellServer.mjs";
import { StackedModeColGroup as Wa } from "./stacked/StackedModeComponents.mjs";
import { GridRowRenderer as Fa } from "./rows/GridRowRenderer.mjs";
import { GridDetailRowRenderer as Oa } from "./rows/GridDetailRowRenderer.mjs";
const _a = i.forwardRef((e, dt) => {
var He, Te, Ke, Le, Pe, Ae, Me, Be, ze, We, Fe, Oe;
const L = e.id + "-role-element-id", x = e.navigatable ? L : "";
let C = e.columnsState || [];
const mt = (t, o, r, d, a, l, m) => {
const c = [], h = ea(
c,
t,
o,
{ index: r },
d !== void 0,
a,
l,
Rt.defaultExpand,
m
);
return { flattedData: c, resolvedGroupsCount: h };
}, st = (t) => {
const o = t.filter(
(r) => r && r.type && r.type.displayName === "KendoReactGridColumn"
);
return ra(o, C, { prevId: 0, idPrefix: x });
}, ct = () => {
const t = [], o = (r, d) => r == null ? void 0 : r.forEach((a) => {
const l = a.hidden || d;
t.push({
...a,
hidden: l
}), o(a.children, l);
});
return o(C, !1), t;
}, ut = (t) => {
const o = ct();
return [
t.filter((r) => {
var d;
return !r.hidden && !((d = o.find((a) => a.id === r.id)) != null && d.hidden);
}),
t.filter((r) => {
var d;
return r.hidden || ((d = o.find((a) => a.id === r.id)) == null ? void 0 : d.hidden);
})
];
}, ft = (t, o) => {
s = st(t), s.filter((a) => !a.hidden).length === 0 && (s = ta(
y,
e.group,
{
column: D.column
},
{
prevId: 0,
idPrefix: x
}
)), bt(s, o);
const [r, d] = ut(s);
s = r, re = d, P = aa(s, C, !0), oe = s.map(la);
}, gt = (t, o) => {
const r = (d) => {
var l;
const a = o.find((m) => m.id === d.id);
if (a) {
const m = { ...a };
return m.children = (l = d.children) == null ? void 0 : l.map(r), m;
}
return ae(d);
};
C = t.filter((d) => d.parentIndex === -1).map(r);
}, bt = (t, o) => {
t.filter((l) => l.columnType === "checkbox").forEach((l) => {
l.width = l.width || "50px", l.defaultCell = e.isClient ? Pa : La, l.defaultHeaderCell = ua, l._type = "edit";
}), T !== void 0 && t.filter((l) => l.columnType === "reorder").forEach((l) => {
l.width = l.width || "50px", l.defaultCell = e.isClient ? Ia : Ma, l.defaultHeaderCell = Ga, l.sortable = !1, l.filterable = !1, l.editable = !1;
});
const r = oa(C);
gt(t, r);
const d = {
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 (D.enabled && e.detail) {
const l = {
...d,
_type: "expand",
id: M.generateNavigatableId(`${a++}`, "expand", "column"),
defaultCell: e.isClient ? Ut : Aa,
field: D.column,
headerClassName: f(u.hierarchyCell({}))
};
t.unshift(l), C.unshift(r.find((m) => m.id === l.id) || ae(l));
}
for (let l = 0; l < o; l++) {
const m = {
...d,
isAccessible: !1,
defaultCell: e.isClient ? ca : za,
id: M.generateNavigatableId(`${a++}`, "group", "column"),
field: "value",
locked: e.lockGroups
};
t.unshift(m), C.unshift(r.find((c) => c.id === m.id) || ae(m));
}
t.slice(a).forEach((l) => {
l.parentIndex >= 0 && (l.parentIndex += a), l.rowSpannable = l.rowSpannable !== void 0 ? Xe(l.rowSpannable) : fe;
});
}, ie = () => e.isClient ? s : oe, ne = (t) => {
const o = [];
let r = null, d = 0;
if (g.forEach((a, l) => {
let m = parseFloat((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) && (m = 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) ? m = 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) && (m = a == null ? void 0 : a.maxWidth), d) {
d--, r && (r.width += m);
return;
}
const c = Math.min(ia(a, t), g.length - l);
d = c - 1, r = {
width: m,
colSpan: c,
columnIndex: l
}, o.push(r);
}), e.columnVirtualization) {
const a = Ct.current || 0, l = yt.current || parseFloat(((e.style || {}).width || "").toString());
return Da({
cellModels: o,
columns: g,
tableViewPortWidth: l,
scrollLeft: a
});
}
return o;
}, ht = () => {
const { pageable: t, take: o, pageSize: r } = e;
if (!w)
return 0;
if (!t) {
if (o)
return o;
if (r)
return r;
}
const d = e.rowHeight || Et.current, a = wt.current;
return a && d ? Math.ceil(a / d * 1.5) : 0;
};
let b = [], _, s = [], re = [], oe = [], P = [[]];
const Ct = e.scrollLeftRef || { current: 0 }, yt = e.widthRef || { current: 0 }, wt = e.containerHeightRef || { current: 0 }, Et = e.minRowHeightRef || { current: 0 }, B = e.localization || new ka(e.language), St = e.intl || new Na((He = e.locale) != null ? He : "en"), H = e.unstyled, u = H && H.uGrid ? H.uGrid : Bt, T = pt(e.rowReorderable), w = e.scrollable === "virtual" || e.scrollable === void 0 && e.isClient && zt(le) || !1, k = e.dataLayoutMode === "stacked", V = ((Te = e.group) == null ? void 0 : Te.length) || 0, de = Wt(le), me = da(e.autoProcessData);
let y, N;
if (Array.isArray(e.data) ? (y = e.data, N = (Ke = e.total) != null ? Ke : y.length) : (y = ((Le = e.data) == null ? void 0 : Le.data) || [], N = (Me = (Ae = e.total) != null ? Ae : (Pe = e.data) == null ? void 0 : Pe.total) != null ? Me : y.length), me) {
const t = ma(y, {
autoProcessData: me,
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: w,
includePaging: !0
});
y = t.data, N = t.total;
}
const z = y.length === N, { size: E } = e, vt = typeof e.groupable == "object" && e.groupable.footer || "none", W = e.groupable === !0 || typeof e.groupable == "object" && e.groupable.enabled !== !1, D = Ot(!!e.detail), Rt = _t(
typeof e.groupable == "object" && e.groupable.enabled !== !1 ? e.groupable.expandable : e.groupable
), se = !!((Be = e.group) != null && Be.length), { resolvedGroupsCount: It, flattedData: Gt } = mt(
y,
vt,
z ? 0 : e.skip || 0,
e.group,
e.detailExpand,
e.groupExpand,
e.dataItemKey
);
b = Gt;
const $ = ht(), j = ((ze = e.virtualSkipRef) == null ? void 0 : ze.current) || 0;
let ce = N;
if (w) {
let t = e.skip || 0;
if ((se || e.pageable) && (t = j, ce = b.length), z || se || e.pageable)
if ($ === 0) {
const o = Math.min(e.take || e.pageSize || 20, b.length);
_ = b.slice(t, t + o);
} else
_ = b.slice(t, t + $);
}
const ue = Vt(e.selectable), fe = Xe(e.rowSpannable), xt = ue && ue.drag ? "none" : void 0, F = i.useMemo(() => i.Children.toArray(e.children), [e.children]);
ft(F, It);
const U = i.useMemo(() => {
const t = xa(e, s);
return {
premium: t.length > 0,
features: t
};
}, [e, s]), ge = i.useMemo(() => U.premium ? !Ft(le, { component: "Grid", features: U.features }) : !1, [U.premium]), be = F.map((t) => t && t.type && t.type.displayName === "KendoReactGridToolbar" ? i.cloneElement(t, { ...t.props, _ariaControls: L, ariaLabel: "Top toolbar" }) : null), O = F.filter((t) => t && t.type && t.type.displayName === "KendoReactGridNoRecords"), he = F.filter(
(t) => t && t.type && t.type.displayName === "KendoReactGridStatusBar"
), g = s.filter((t) => t.children.length === 0), Ce = W && !k && /* @__PURE__ */ i.createElement(Yt, { columns: ie(), group: e.group || [], ariaControls: L }), ye = k ? null : /* @__PURE__ */ i.createElement(
Jt,
{
size: E,
staticHeaders: e.scrollable !== "none",
draggable: e.reorderable || W,
headerRow: /* @__PURE__ */ i.createElement(
Qt,
{
cells: e.cells,
sort: e.sort,
sortable: e.sortable,
group: e.group || [],
groupable: W,
filter: e.filter,
filterable: e.filterable,
filterOperators: e.filterOperators || pe,
columnMenu: e.columnMenu,
columnMenuIcon: e.columnMenuIcon,
columns: s,
columnsMap: P,
navigatable: !!e.navigatable,
localization: B,
unstyled: H,
columnsState: C,
headerSelectionValue: !!(e.select && b.filter((t) => t.rowType === "data").every(
(t) => e.select && e.dataItemKey && G(e.dataItemKey)(t.dataItem) !== void 0 ? e.select[G(e.dataItemKey)(t.dataItem)] : void 0
))
}
),
filterRow: e.filterable && /* @__PURE__ */ i.createElement(
Xt,
{
cells: e.cells,
size: E,
columns: s,
filter: e.filter,
filterOperators: e.filterOperators || pe,
sort: e.sort,
navigatable: !!e.navigatable,
ariaRowIndex: P.length + 1,
localization: B
}
) || void 0,
cols: g.map((t, o) => /* @__PURE__ */ i.createElement("col", { key: o.toString(), width: te(t) }))
}
), we = g.findIndex((t) => typeof t.colSpan == "function") > -1;
let q;
we || (q = ne(null));
const J = ((We = e.editable) == null ? void 0 : We.mode) === "dialog", kt = (Fe = e.editable) == null ? void 0 : Fe.enabled, Nt = (t, o, r, d, a) => {
let l = !1;
const m = e.select && e.dataItemKey && G(e.dataItemKey)(t.dataItem) !== void 0 ? e.select[G(e.dataItemKey)(t.dataItem)] : void 0, c = e.highlight && e.dataItemKey && G(e.dataItemKey)(t.dataItem) !== void 0 ? e.highlight[G(e.dataItemKey)(t.dataItem)] : void 0;
return we && (q = ne(t.dataItem)), {
row: q.map(({ columnIndex: h, colSpan: K }) => {
var _e, Ve, $e, je, Ue, qe;
const n = g[h], S = C[h], v = (Ve = (_e = n.locked) != null ? _e : S == null ? void 0 : S.locked) != null ? Ve : !1;
let R;
if (($e = n.rowSpannable) != null && $e.enabled && t.rowType === "data" && n.field && a) {
const I = n.field ? (Ue = (je = n.rowSpannable).valueGetter) == null ? void 0 : Ue.call(je, t.dataItem, n.field) : null;
R = { value: I, count: 1 }, a[n.field] && ((qe = a[n.field]) == null ? void 0 : qe.value) === I && a[n.field] !== null ? (a[n.field].count++, R.count = null) : a[n.field] = R;
}
const Z = n.id ? n.id : h, Kt = f(u.contentSticky({ locked: v }), n.className), Lt = n.left !== void 0 ? { left: n.left, right: n.right } : {};
let p = !1;
if (n.editable && e.editable) {
const I = e.edit && e.dataItemKey ? e.edit[G(e.dataItemKey)(t.dataItem)] : void 0, ee = typeof I == "boolean" ? I : Array.isArray(I) ? n.field && I.indexOf(n.field) > -1 : n.field !== void 0 && I === n.field;
ee && n.columnType === "data" && (ee === !0 || ee === n.field) && (l = !0, J || (p = !0));
}
const Pt = n._type === "expand", At = {
locked: n.locked,
id: M.generateNavigatableId(
`${o}-${String(h)}`,
x,
Pt || t.rowType === "groupHeader" || t.rowType === "groupFooter" || n.field === "value" ? "nodata" : "cell"
),
colSpan: K,
dataItem: t.dataItem,
field: n.field,
editor: n.editor,
format: n.format,
columnType: n.columnType,
rowReorderable: T,
className: Kt,
cells: na(e.cells, n.cells),
columnIndex: h,
columnsCount: g.length,
rowType: t.rowType,
level: t.level,
expanded: t.expanded,
dataIndex: t.dataIndex,
rowDataIndex: r,
columnPosition: Lt,
style: {},
ariaColumnIndex: n.ariaColumnIndex,
isSelected: !!((n == null ? void 0 : n._type) === "edit" ? m : Array.isArray(m) && m.indexOf(h) > -1),
isHighlighted: !!((n == null ? void 0 : n._type) === "edit" ? c : Array.isArray(c) && c.indexOf(h) > -1),
isSorted: !!Ye(n.field, e.sort),
isInEdit: p,
isAlt: d,
unstyled: H,
group: t.group,
localization: B,
intl: St,
_rowSpan: R
}, Mt = n.defaultCell || p && (e.isClient ? qt : Ka) || (e.isClient ? sa : Ta);
return /* @__PURE__ */ i.createElement(Mt, { key: Z, cellProps: At });
}),
isInEdit: l,
isSelected: typeof m == "boolean" && m,
isHighlighted: typeof c == "boolean" && c
};
}, Dt = 0;
let Q = null;
const Ee = (t) => t >= b.length - Dt, X = [], Se = !b.length;
let A = 0;
if (b.length) {
const t = P.length + (e.filterable ? 1 : 0) + 1;
let o = e.skip || 0, r = -1, d = 0;
const a = fe.enabled ? {} : void 0;
if (w) {
if (j > 0) {
const l = b.slice(0, j).filter((m) => m.rowType === "data").length;
r += l, o += l;
}
!e.pageable && z && (r += e.skip || 0);
}
(_ || b).forEach((l, m) => {
var R;
l.rowType === "data" && r++;
const c = l.dataIndex % 2 !== 0, h = e.dataItemKey && G(e.dataItemKey)(l.dataItem), K = m + o, n = h || "ai" + K, S = n + "_1", v = Nt(l, n, r, c, a);
if (A = K + t + d, J && kt && v.isInEdit && (Q = l.dataItem), X.push(
/* @__PURE__ */ i.createElement(
Fa,
{
key: n,
isStackedMode: k,
item: l,
rowId: n,
dataIndex: r,
idPrefix: x,
ariaRowIndex: A,
absoluteRowIndex: K,
isAltRow: c,
isHidden: Ee(m),
isRowReorderable: T,
rowHeight: e.rowHeight,
rows: e.rows,
leafColumns: g,
groupLevelCount: V,
stackedLayoutSettings: e.stackedLayoutSettings,
cells: e.cells,
editMode: (R = e.editable) == null ? void 0 : R.mode,
isSelected: v.isSelected,
isHighlighted: v.isHighlighted,
isInEdit: v.isInEdit && !J,
preparedCells: v.row,
showDetailToggle: !!e.detail && !!D.enabled,
isDetailExpanded: !!l.expanded,
detailExpandField: D.column
}
)
), e.detail && l.rowType === "data" && l.expanded) {
d++, A = K + t + d;
const Z = e.isClient ? ba : Ba;
X.push(
/* @__PURE__ */ i.createElement(
Oa,
{
key: S,
isStackedMode: k,
detailRowId: S,
isHidden: Ee(m),
detailRowHeight: e.detailRowHeight,
ariaRowIndex: A,
item: l,
groupLevelCount: V,
groupDescriptors: e.group,
lockGroups: e.lockGroups,
cells: e.cells,
leafColumns: g,
detailExpandableEnabled: !!D.enabled,
preparedCells: v.row,
DetailCell: Z,
detail: e.detail,
detailCellId: M.generateNavigatableId(`${S}-dcell`, x),
detailHierarchyCellId: D.enabled ? M.generateNavigatableId(`${S}-dhcell`, x) : void 0,
detailTrClassName: f(u.detailTr({ isAlt: c })),
unstyled: H
}
)
);
}
});
}
const ve = {
size: E,
total: N,
skip: e.skip || 0,
take: (e.take !== void 0 ? e.take : e.pageSize) || 10,
...ga(e.pageable || {})
}, Re = /* @__PURE__ */ i.createElement(ya, null, e.pager ? /* @__PURE__ */ i.createElement(e.pager, { ...ve }) : /* @__PURE__ */ i.createElement($t, { className: f(u.pager({})), ...ve })), Ht = (t, o) => /* @__PURE__ */ i.createElement("col", { key: o.toString(), width: te(t) }), Ie = (Oe = e.cells) != null && Oe.footerCell || s.some((t) => {
var o;
return !!((o = t.cells) != null && o.footerCell);
}) ? /* @__PURE__ */ i.createElement(
Zt,
{
size: E,
staticHeaders: e.scrollable !== "none",
row: /* @__PURE__ */ i.createElement(
fa,
{
cells: e.cells,
idPrefix: x,
columns: s,
ariaRowIndex: A + 1
}
),
cols: g.map(Ht)
}
) : null, Ge = k ? /* @__PURE__ */ i.createElement(Wa, { groupLevelCount: V }) : /* @__PURE__ */ i.createElement(ha, null, g.map((t, o) => /* @__PURE__ */ i.createElement(
"col",
{
key: o.toString(),
className: Ye(t.field, e.sort) ? f(u.sorted({})) : void 0,
width: te(t)
}
))), xe = e.reorderable || W, { detail: Va, cells: $a, rows: ja, ...Tt } = e, ke = /* @__PURE__ */ i.createElement(
"tbody",
{
role: "rowgroup",
className: f(u.tbody({})),
...jt
},
X
), Ne = Q ? /* @__PURE__ */ i.createElement(Ha, { columns: g, customEditDialog: e.editDialog, dataItem: Q }) : null;
let Y = ke;
T && (Y = /* @__PURE__ */ i.createElement(
Ra,
{
unstyled: u,
columns: s,
rowReorderSettings: e.rowReorderable
},
ke
));
const De = {
gridRef: dt,
innerGrid: e.innerGrid,
gridProps: Tt,
columnsRef: ie(),
hiddenColumnsRef: re,
columnsMapRef: P,
columnsState: C,
dataRef: b,
id: L,
virtualTotal: ce,
isAllData: z,
virtualPageSize: $,
isVirtualScroll: w,
detailExpandable: !!e.detail
};
return e.scrollable === "none" ? /* @__PURE__ */ i.createElement(tt, { ...De }, /* @__PURE__ */ i.createElement(nt, null, /* @__PURE__ */ i.createElement(
"div",
{
id: e.id,
style: e.style,
className: f(u.wrapper({ size: E, isStackedMode: k }), e.className),
...Qe
},
be,
Ce,
/* @__PURE__ */ i.createElement(
Ca,
{
selectable: e.selectable,
className: f(u.table({ size: E }))
},
Ge,
ye,
/* @__PURE__ */ i.createElement(it, { rowReorderable: T }, Y),
Ie
),
Se && /* @__PURE__ */ i.createElement(et, null, O.length ? O : /* @__PURE__ */ i.createElement(Ze, null)),
xe && /* @__PURE__ */ i.createElement(i.Fragment, null, /* @__PURE__ */ i.createElement(at, null), /* @__PURE__ */ i.createElement(lt, null))
)), he, e.pageable && Re, /* @__PURE__ */ i.createElement(ot, { loader: e.loader, showLoader: e.showLoader }), Ne, ge && /* @__PURE__ */ i.createElement(Je, { message: de })) : /* @__PURE__ */ i.createElement(tt, { ...De }, /* @__PURE__ */ i.createElement(nt, null, /* @__PURE__ */ i.createElement(
"div",
{
id: e.id,
style: e.style,
className: f(
u.wrapper({
size: E,
virtual: w,
isStackedMode: k
}),
e.className
),
...Qe
},
be,
Ce,
/* @__PURE__ */ i.createElement(
"div",
{
className: f(u.ariaRoot({})),
role: "grid",
"aria-colcount": g.length,
"aria-rowcount": N,
id: L,
"aria-label": B.toLanguageString(rt, va[rt])
},
ye,
/* @__PURE__ */ i.createElement("div", { className: f(u.container({})), role: "presentation" }, /* @__PURE__ */ i.createElement(Ea, null, /* @__PURE__ */ i.createElement("div", { className: f(u.content({})), role: "presentation" }, /* @__PURE__ */ i.createElement("div", { className: f(u.tableWrap({})), role: "presentation" }, /* @__PURE__ */ i.createElement(
wa,
{
selectable: e.selectable,
tableClassName: f(
u.table({
size: E
})
),
tableStyle: { userSelect: xt }
},
Ge,
/* @__PURE__ */ i.createElement(it, { rowReorderable: T }, Y)
), Se && /* @__PURE__ */ i.createElement(et, null, O.length ? O : /* @__PURE__ */ i.createElement(Ze, null))), w && /* @__PURE__ */ i.createElement(
"div",
{
className: f(u.heightContainer({})),
role: "presentation"
},
/* @__PURE__ */ i.createElement(Sa, { isVirtualScroll: w })
)))),
Ie,
xe && /* @__PURE__ */ i.createElement(i.Fragment, null, /* @__PURE__ */ i.createElement(at, null), /* @__PURE__ */ i.createElement(lt, null)),
ge && /* @__PURE__ */ i.createElement(Je, { message: de })
),
he,
e.pageable && Re,
/* @__PURE__ */ i.createElement(ot, { loader: e.loader, showLoader: e.showLoader }),
Ne
)));
});
_a.displayName = "KendoReactGridComponent";
export {
_a as GridComponent
};