@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
99 lines (98 loc) • 2.89 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
*-------------------------------------------------------------------------------------------
*/
import * as n from "react";
import e from "prop-types";
import { isClient as i } from "./utils/index.mjs";
import { GridClientContextReader as m } from "./GridClientContextReader.mjs";
import { GridComponent as t } from "./GridComponent.mjs";
import { GridClientStateProvider as u } from "./GridState.mjs";
import { useCustomComponent as f } from "@progress/kendo-react-common";
import { ServerGlobalization as b } from "@progress/kendo-react-intl";
const a = n.forwardRef((o, r) => {
const [l] = f(u);
return i() ? /* @__PURE__ */ n.createElement(l, { ...o }, /* @__PURE__ */ n.createElement(m, { id: o.id }, /* @__PURE__ */ n.createElement(t, { ref: r, ...o, innerGrid: a }))) : /* @__PURE__ */ n.createElement(b, { locale: o.locale, language: o.language }, /* @__PURE__ */ n.createElement(t, { ref: r, ...o }));
}), p = {
data: e.oneOfType([
e.array,
e.shape({
data: e.array,
total: e.number
})
]),
sortable: e.oneOfType([
e.bool,
e.shape({
mode: e.oneOf(["single", "multiple"]),
allowUnsort: e.bool
})
]),
onSortChange: e.func,
sort: e.array,
highlight: e.any,
filterable: e.bool,
filter: e.any,
onFilterChange: e.func,
pageable: e.oneOfType([
e.bool,
e.shape({
buttonCount: e.number,
responsive: e.bool,
info: e.bool,
type: e.oneOf(["numeric", "input"]),
pageSizes: e.oneOfType([
e.bool,
e.arrayOf(e.oneOfType([e.string, e.number]))
]),
previousNext: e.bool
})
]),
pageSize: e.number,
onPageChange: e.func,
total: e.number,
skip: e.number,
take: e.number,
fixedScroll: e.bool,
onExpandChange: e.func,
onSelectionChange: e.func,
onHeaderSelectionChange: e.func,
resizable: e.bool,
reorderable: e.bool,
group: e.any,
groupable: e.oneOfType([
e.bool,
e.shape({
enabled: e.bool,
footer: e.oneOf(["always", "visible", "none"])
})
]),
onGroupChange: e.func,
onRowClick: e.func,
onRowDoubleClick: e.func,
onItemChange: e.func,
scrollable: e.oneOf(["none", "scrollable", "virtual"]),
rowHeight: e.number,
detailRowHeight: e.number,
detail: e.any,
style: e.object,
onDataStateChange: e.func,
onColumnResize: e.func,
onColumnReorder: e.func,
dataItemKey: e.string,
navigatable: e.oneOfType([
e.bool,
e.shape({
mode: e.oneOf(["incell", "inline", "popup"])
})
]),
size: e.oneOf(["small", "medium"])
};
a.displayName = "KendoReactGrid";
a.propTypes = p;
export {
a as Grid
};