@progress/kendo-react-grid 15.1.0-develop.1 → 15.1.0-develop.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/GridClientWrapper.js +1 -1
- package/GridClientWrapper.mjs +411 -407
- package/GridComponent.js +1 -1
- package/GridComponent.mjs +305 -290
- package/VirtualScroll.d.ts +4 -0
- package/VirtualScroll.js +1 -1
- package/VirtualScroll.mjs +32 -27
- package/cells/groupcell/useGroupCellClientTdProps.js +1 -1
- package/cells/groupcell/useGroupCellClientTdProps.mjs +7 -7
- package/cells/hierarchycell/GridHierarchyCellToggle.js +1 -1
- package/cells/hierarchycell/GridHierarchyCellToggle.mjs +15 -15
- package/columnMenu/GridColumnMenuWrapper.js +1 -1
- package/columnMenu/GridColumnMenuWrapper.mjs +118 -82
- package/components/GridEditDialog.js +1 -1
- package/components/GridEditDialog.mjs +19 -19
- package/components/VirtualScrollOverlay.d.ts +12 -0
- package/components/VirtualScrollOverlay.js +16 -0
- package/components/VirtualScrollOverlay.mjs +65 -0
- package/components/noRecords/GridNoRecordsContainer.js +1 -1
- package/components/noRecords/GridNoRecordsContainer.mjs +10 -9
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/drag/ColumnResize.js +1 -1
- package/drag/ColumnResize.mjs +84 -84
- package/getRowContents.js +1 -1
- package/getRowContents.mjs +12 -12
- package/index.d.mts +2 -1
- package/index.d.ts +2 -1
- package/interfaces/GridProps.d.ts +2 -1
- package/interfaces/GridScrollableSettings.d.ts +33 -0
- package/interfaces/VirtualScrollInterface.d.ts +2 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +17 -17
- package/toolbar-tools/GridToolbarColumnsChooser.js +1 -1
- package/toolbar-tools/GridToolbarColumnsChooser.mjs +33 -33
- package/toolbar-tools/GridToolbarFilter.js +1 -1
- package/toolbar-tools/GridToolbarFilter.mjs +207 -194
- package/toolbar-tools/GridToolbarSort.js +1 -1
- package/toolbar-tools/GridToolbarSort.mjs +84 -101
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.js +1 -1
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.mjs +50 -46
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.d.ts +0 -1
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.js +1 -1
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.mjs +10 -19
- package/utils/index.js +1 -1
- package/utils/index.mjs +161 -161
|
@@ -21,14 +21,14 @@ import { Dialog as Q, DialogActionsBar as U } from "@progress/kendo-react-dialog
|
|
|
21
21
|
import { Form as T, FormElement as F, FieldWrapper as M, Field as w } from "@progress/kendo-react-form";
|
|
22
22
|
import { GridContext as X } from "../utils/GridContext.mjs";
|
|
23
23
|
import { editDialogTitle as z, messages as S, editDialogSaveButtonTitle as B, editDialogCancelButtonTitle as L } from "../messages/index.mjs";
|
|
24
|
-
const ue = (
|
|
24
|
+
const ue = (i) => {
|
|
25
25
|
var y;
|
|
26
|
-
const C = W(), m = q(),
|
|
27
|
-
|
|
26
|
+
const C = W(), m = q(), l = e.useContext(X), c = (a, t) => {
|
|
27
|
+
l.onDialogEditSubmit && l.onDialogEditSubmit({ dataItem: a, syntheticEvent: t });
|
|
28
28
|
}, n = (a) => {
|
|
29
|
-
|
|
29
|
+
l.onDialogEditCancel && l.onDialogEditCancel({ syntheticEvent: a });
|
|
30
30
|
}, k = (a) => {
|
|
31
|
-
const { validationMessage: t, visited: Y, id: s, valid: Z, editor: R, value: E, label: u, ...f } = a, g =
|
|
31
|
+
const { validationMessage: t, visited: Y, id: s, valid: Z, editor: R, value: E, label: u, ...f } = a, g = l.mobileMode ? "large" : "medium";
|
|
32
32
|
switch (R) {
|
|
33
33
|
case "numeric":
|
|
34
34
|
return /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(v, { editorId: s, className: "k-form-label" }, u, ":"), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(
|
|
@@ -47,7 +47,7 @@ const ue = (l) => {
|
|
|
47
47
|
valid: !0,
|
|
48
48
|
...f,
|
|
49
49
|
value: E,
|
|
50
|
-
adaptive:
|
|
50
|
+
adaptive: l.mobileMode,
|
|
51
51
|
size: g,
|
|
52
52
|
[p]: !0
|
|
53
53
|
}
|
|
@@ -84,28 +84,28 @@ const ue = (l) => {
|
|
|
84
84
|
navigatable: !1,
|
|
85
85
|
navigatableElements: [],
|
|
86
86
|
expand: !0,
|
|
87
|
-
title:
|
|
87
|
+
title: l.adpativeTitle || I,
|
|
88
88
|
suffixActions: /* @__PURE__ */ e.createElement(r, { svgIcon: H, onClick: n, fillMode: "flat" }),
|
|
89
|
-
animationStyles: m &&
|
|
89
|
+
animationStyles: m && l.adaptiveColumnMenuRef <= m.small ? { top: 0, width: "100%", height: "100%" } : void 0,
|
|
90
90
|
className: "k-adaptive-actionsheet",
|
|
91
|
-
position: m &&
|
|
92
|
-
}, { customEditDialog: d } =
|
|
91
|
+
position: m && l.adaptiveColumnMenuRef <= m.small ? "fullscreen" : void 0
|
|
92
|
+
}, { customEditDialog: d } = i, o = (y = i.columns) == null ? void 0 : y.filter((a) => a.editable);
|
|
93
93
|
return /* @__PURE__ */ e.createElement(e.Fragment, null, O.createPortal(
|
|
94
94
|
// eslint-disable-next-line react/jsx-no-useless-fragment
|
|
95
|
-
/* @__PURE__ */ e.createElement(e.Fragment, null,
|
|
95
|
+
/* @__PURE__ */ e.createElement(e.Fragment, null, l.mobileMode ? (
|
|
96
96
|
// eslint-disable-next-line react/jsx-no-useless-fragment
|
|
97
97
|
/* @__PURE__ */ e.createElement(e.Fragment, null, d ? /* @__PURE__ */ e.createElement(
|
|
98
98
|
d,
|
|
99
99
|
{
|
|
100
|
-
columns:
|
|
101
|
-
dataItem:
|
|
100
|
+
columns: i.columns,
|
|
101
|
+
dataItem: i.dataItem,
|
|
102
102
|
onSubmit: c,
|
|
103
103
|
onCancel: n
|
|
104
104
|
}
|
|
105
105
|
) : /* @__PURE__ */ e.createElement(
|
|
106
106
|
T,
|
|
107
107
|
{
|
|
108
|
-
initialValues:
|
|
108
|
+
initialValues: i.dataItem,
|
|
109
109
|
onSubmit: c,
|
|
110
110
|
id: "kendo-grid-edit-dialog",
|
|
111
111
|
render: (a) => /* @__PURE__ */ e.createElement(V, { ...A }, /* @__PURE__ */ e.createElement(_, null, /* @__PURE__ */ e.createElement(F, null, o == null ? void 0 : o.map((t) => /* @__PURE__ */ e.createElement(M, { key: t.field }, /* @__PURE__ */ e.createElement(
|
|
@@ -116,7 +116,7 @@ const ue = (l) => {
|
|
|
116
116
|
editor: t.editor,
|
|
117
117
|
component: k,
|
|
118
118
|
label: t.title || t.field,
|
|
119
|
-
validator: t
|
|
119
|
+
validator: t.validator
|
|
120
120
|
}
|
|
121
121
|
))))), /* @__PURE__ */ e.createElement(G, null, /* @__PURE__ */ e.createElement(
|
|
122
122
|
r,
|
|
@@ -146,15 +146,15 @@ const ue = (l) => {
|
|
|
146
146
|
) : d ? /* @__PURE__ */ e.createElement(
|
|
147
147
|
d,
|
|
148
148
|
{
|
|
149
|
-
columns:
|
|
150
|
-
dataItem:
|
|
149
|
+
columns: i.columns,
|
|
150
|
+
dataItem: i.dataItem,
|
|
151
151
|
onSubmit: c,
|
|
152
152
|
onCancel: n
|
|
153
153
|
}
|
|
154
154
|
) : /* @__PURE__ */ e.createElement(
|
|
155
155
|
T,
|
|
156
156
|
{
|
|
157
|
-
initialValues:
|
|
157
|
+
initialValues: i.dataItem,
|
|
158
158
|
onSubmit: c,
|
|
159
159
|
id: "kendo-grid-edit-dialog",
|
|
160
160
|
render: (a) => /* @__PURE__ */ e.createElement(
|
|
@@ -172,7 +172,7 @@ const ue = (l) => {
|
|
|
172
172
|
editor: t.editor,
|
|
173
173
|
component: k,
|
|
174
174
|
label: t.title || t.field,
|
|
175
|
-
validator: t
|
|
175
|
+
validator: t.validator
|
|
176
176
|
}
|
|
177
177
|
)))),
|
|
178
178
|
/* @__PURE__ */ e.createElement(U, { layout: "start" }, /* @__PURE__ */ e.createElement(
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import * as React from 'react';
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
export declare const VirtualScrollOverlay: () => React.JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),g=require("../utils/GridContext.js");function p(r){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const l in r)if(l!=="default"){const t=Object.getOwnPropertyDescriptor(r,l);Object.defineProperty(o,l,t.get?t:{enumerable:!0,get:()=>r[l]})}}return o.default=r,Object.freeze(o)}const e=p(f),v=`
|
|
10
|
+
.k-grid-content--hide-scrollbar::-webkit-scrollbar { display: none; }
|
|
11
|
+
|
|
12
|
+
.k-grid-scrollbar-overlay::-webkit-scrollbar { width: 17px; }
|
|
13
|
+
.k-grid-scrollbar-overlay::-webkit-scrollbar-track { background: transparent; }
|
|
14
|
+
.k-grid-scrollbar-overlay::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.25); border: 4px solid transparent; background-clip: content-box; border-radius: 8px; min-height: 40px; }
|
|
15
|
+
.k-grid-scrollbar-overlay::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,0.4); border: 4px solid transparent; background-clip: content-box; border-radius: 8px; }
|
|
16
|
+
`,k=()=>{const r=e.useContext(g.GridContext),[o,l]=e.useState(!1),t=e.useRef(null),a=e.useCallback(()=>{l(!0),t.current!==null&&clearTimeout(t.current),t.current=setTimeout(()=>l(!1),1e3)},[]);e.useEffect(()=>(r.scrollbarShowCallbackRef&&(r.scrollbarShowCallbackRef.current=a),()=>{r.scrollbarShowCallbackRef&&(r.scrollbarShowCallbackRef.current=null),t.current!==null&&clearTimeout(t.current)}),[r.scrollbarShowCallbackRef,a]),e.useEffect(()=>{const n=()=>{r.vScrollDraggingRef&&(r.vScrollDraggingRef.current=!1)};return document.addEventListener("pointerup",n),()=>document.removeEventListener("pointerup",n)},[r.vScrollDraggingRef]);const b=()=>{r.vScrollDraggingRef&&(r.vScrollDraggingRef.current=!0)},d=n=>{var i,s,u;const c=(i=r.scrollbarContainerRef)==null?void 0:i.current;c&&((u=(s=r.vsRef)==null?void 0:s.current)==null||u.scrollToPosition(c.scrollTop,n,!0))};return e.createElement(e.Fragment,null,e.createElement("style",null,v),e.createElement("div",{ref:r.scrollbarContainerRef,onScroll:d,onMouseEnter:a,onPointerDown:b,className:"k-grid-scrollbar-overlay",style:{position:"absolute",right:0,top:0,bottom:0,width:"17px",overflowY:"scroll",overflowX:"hidden",zIndex:1,opacity:o?1:0,transition:"opacity 0.3s",scrollbarWidth:"auto",scrollbarColor:"rgba(0,0,0,0.25) transparent"}},e.createElement("div",{ref:r.scrollbarSpacerRef})))};exports.VirtualScrollOverlay=k;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as e from "react";
|
|
10
|
+
import { GridContext as f } from "../utils/GridContext.mjs";
|
|
11
|
+
const g = `
|
|
12
|
+
.k-grid-content--hide-scrollbar::-webkit-scrollbar { display: none; }
|
|
13
|
+
|
|
14
|
+
.k-grid-scrollbar-overlay::-webkit-scrollbar { width: 17px; }
|
|
15
|
+
.k-grid-scrollbar-overlay::-webkit-scrollbar-track { background: transparent; }
|
|
16
|
+
.k-grid-scrollbar-overlay::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.25); border: 4px solid transparent; background-clip: content-box; border-radius: 8px; min-height: 40px; }
|
|
17
|
+
.k-grid-scrollbar-overlay::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,0.4); border: 4px solid transparent; background-clip: content-box; border-radius: 8px; }
|
|
18
|
+
`, v = () => {
|
|
19
|
+
const r = e.useContext(f), [b, a] = e.useState(!1), l = e.useRef(null), t = e.useCallback(() => {
|
|
20
|
+
a(!0), l.current !== null && clearTimeout(l.current), l.current = setTimeout(() => a(!1), 1e3);
|
|
21
|
+
}, []);
|
|
22
|
+
e.useEffect(() => (r.scrollbarShowCallbackRef && (r.scrollbarShowCallbackRef.current = t), () => {
|
|
23
|
+
r.scrollbarShowCallbackRef && (r.scrollbarShowCallbackRef.current = null), l.current !== null && clearTimeout(l.current);
|
|
24
|
+
}), [r.scrollbarShowCallbackRef, t]), e.useEffect(() => {
|
|
25
|
+
const o = () => {
|
|
26
|
+
r.vScrollDraggingRef && (r.vScrollDraggingRef.current = !1);
|
|
27
|
+
};
|
|
28
|
+
return document.addEventListener("pointerup", o), () => document.removeEventListener("pointerup", o);
|
|
29
|
+
}, [r.vScrollDraggingRef]);
|
|
30
|
+
const u = () => {
|
|
31
|
+
r.vScrollDraggingRef && (r.vScrollDraggingRef.current = !0);
|
|
32
|
+
}, d = (o) => {
|
|
33
|
+
var c, i, s;
|
|
34
|
+
const n = (c = r.scrollbarContainerRef) == null ? void 0 : c.current;
|
|
35
|
+
n && ((s = (i = r.vsRef) == null ? void 0 : i.current) == null || s.scrollToPosition(n.scrollTop, o, !0));
|
|
36
|
+
};
|
|
37
|
+
return /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement("style", null, g), /* @__PURE__ */ e.createElement(
|
|
38
|
+
"div",
|
|
39
|
+
{
|
|
40
|
+
ref: r.scrollbarContainerRef,
|
|
41
|
+
onScroll: d,
|
|
42
|
+
onMouseEnter: t,
|
|
43
|
+
onPointerDown: u,
|
|
44
|
+
className: "k-grid-scrollbar-overlay",
|
|
45
|
+
style: {
|
|
46
|
+
position: "absolute",
|
|
47
|
+
right: 0,
|
|
48
|
+
top: 0,
|
|
49
|
+
bottom: 0,
|
|
50
|
+
width: "17px",
|
|
51
|
+
overflowY: "scroll",
|
|
52
|
+
overflowX: "hidden",
|
|
53
|
+
zIndex: 1,
|
|
54
|
+
opacity: b ? 1 : 0,
|
|
55
|
+
transition: "opacity 0.3s",
|
|
56
|
+
scrollbarWidth: "auto",
|
|
57
|
+
scrollbarColor: "rgba(0,0,0,0.25) transparent"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
/* @__PURE__ */ e.createElement("div", { ref: r.scrollbarSpacerRef })
|
|
61
|
+
));
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
v as VirtualScrollOverlay
|
|
65
|
+
};
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),a=require("@progress/kendo-react-data-tools"),n=require("@progress/kendo-react-common"),l=require("../../utils/GridContext.js");function u(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(o,e,r.get?r:{enumerable:!0,get:()=>t[e]})}}return o.default=t,Object.freeze(o)}const
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),a=require("@progress/kendo-react-data-tools"),n=require("@progress/kendo-react-common"),l=require("../../utils/GridContext.js");function u(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(o,e,r.get?r:{enumerable:!0,get:()=>t[e]})}}return o.default=t,Object.freeze(o)}const s=u(d),i=t=>{const o=s.useContext(l.GridContext),e=o.headerRef.current,r=e&&e.table()&&e.table().clientWidth,c=n.uGrid;return s.createElement("div",{key:"no-records",className:n.classNames(c.noRecords({})),style:{width:r}},s.createElement("div",{className:n.classNames(c.noRecordsTemplate({})),style:{minHeight:"4em",height:"auto"},[a.KEYBOARD_NAV_DATA_ID]:a.tableKeyboardNavigationTools.generateNavigatableId("no-records",a.tableKeyboardNavigationTools.getIdPrefix(o.navigationStateRef))},t.children))};i.displayName="KendoReactGridNoRecordsContainer";exports.GridNoRecordsContainer=i;
|
|
@@ -7,21 +7,22 @@
|
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
9
|
import * as t from "react";
|
|
10
|
-
import { KEYBOARD_NAV_DATA_ID as
|
|
11
|
-
import { classNames as
|
|
10
|
+
import { KEYBOARD_NAV_DATA_ID as d, tableKeyboardNavigationTools as a } from "@progress/kendo-react-data-tools";
|
|
11
|
+
import { classNames as i, uGrid as c } from "@progress/kendo-react-common";
|
|
12
12
|
import { GridContext as l } from "../../utils/GridContext.mjs";
|
|
13
|
-
const m = (
|
|
14
|
-
const
|
|
15
|
-
return /* @__PURE__ */ t.createElement("div", { key: "no-records", className:
|
|
13
|
+
const m = (n) => {
|
|
14
|
+
const o = t.useContext(l), e = o.headerRef.current, s = e && e.table() && e.table().clientWidth, r = c;
|
|
15
|
+
return /* @__PURE__ */ t.createElement("div", { key: "no-records", className: i(r.noRecords({})), style: { width: s } }, /* @__PURE__ */ t.createElement(
|
|
16
16
|
"div",
|
|
17
17
|
{
|
|
18
|
-
className:
|
|
19
|
-
|
|
18
|
+
className: i(r.noRecordsTemplate({})),
|
|
19
|
+
style: { minHeight: "4em", height: "auto" },
|
|
20
|
+
[d]: a.generateNavigatableId(
|
|
20
21
|
"no-records",
|
|
21
|
-
a.getIdPrefix(
|
|
22
|
+
a.getIdPrefix(o.navigationStateRef)
|
|
22
23
|
)
|
|
23
24
|
},
|
|
24
|
-
|
|
25
|
+
n.children
|
|
25
26
|
));
|
|
26
27
|
};
|
|
27
28
|
m.displayName = "KendoReactGridNoRecordsContainer";
|