@progress/kendo-react-grid 13.3.0-develop.2 → 13.3.0-develop.4

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.
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-grid",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1767695490,version:"13.3.0-develop.2",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"});exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-grid",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1768233011,version:"13.3.0-develop.4",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"});exports.packageMetadata=e;
@@ -10,8 +10,8 @@ const e = Object.freeze({
10
10
  productName: "KendoReact",
11
11
  productCode: "KENDOUIREACT",
12
12
  productCodes: ["KENDOUIREACT"],
13
- publishDate: 1767695490,
14
- version: "13.3.0-develop.2",
13
+ publishDate: 1768233011,
14
+ version: "13.3.0-develop.4",
15
15
  licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
16
16
  });
17
17
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-grid",
3
- "version": "13.3.0-develop.2",
3
+ "version": "13.3.0-develop.4",
4
4
  "description": "React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -28,21 +28,21 @@
28
28
  "@progress/kendo-data-query": "^1.7.2",
29
29
  "@progress/kendo-drawing": "^1.21.2",
30
30
  "@progress/kendo-licensing": "^1.7.2",
31
- "@progress/kendo-react-animation": "13.3.0-develop.2",
32
- "@progress/kendo-react-buttons": "13.3.0-develop.2",
33
- "@progress/kendo-react-common": "13.3.0-develop.2",
34
- "@progress/kendo-react-data-tools": "13.3.0-develop.2",
35
- "@progress/kendo-react-dateinputs": "13.3.0-develop.2",
36
- "@progress/kendo-react-indicators": "13.3.0-develop.2",
37
- "@progress/kendo-react-form": "13.3.0-develop.2",
38
- "@progress/kendo-react-labels": "13.3.0-develop.2",
39
- "@progress/kendo-react-dialogs": "13.3.0-develop.2",
40
- "@progress/kendo-react-dropdowns": "13.3.0-develop.2",
41
- "@progress/kendo-react-inputs": "13.3.0-develop.2",
42
- "@progress/kendo-react-intl": "13.3.0-develop.2",
43
- "@progress/kendo-react-popup": "13.3.0-develop.2",
44
- "@progress/kendo-react-layout": "13.3.0-develop.2",
45
- "@progress/kendo-react-conversational-ui": "13.3.0-develop.2",
31
+ "@progress/kendo-react-animation": "13.3.0-develop.4",
32
+ "@progress/kendo-react-buttons": "13.3.0-develop.4",
33
+ "@progress/kendo-react-common": "13.3.0-develop.4",
34
+ "@progress/kendo-react-data-tools": "13.3.0-develop.4",
35
+ "@progress/kendo-react-dateinputs": "13.3.0-develop.4",
36
+ "@progress/kendo-react-indicators": "13.3.0-develop.4",
37
+ "@progress/kendo-react-form": "13.3.0-develop.4",
38
+ "@progress/kendo-react-labels": "13.3.0-develop.4",
39
+ "@progress/kendo-react-dialogs": "13.3.0-develop.4",
40
+ "@progress/kendo-react-dropdowns": "13.3.0-develop.4",
41
+ "@progress/kendo-react-inputs": "13.3.0-develop.4",
42
+ "@progress/kendo-react-intl": "13.3.0-develop.4",
43
+ "@progress/kendo-react-popup": "13.3.0-develop.4",
44
+ "@progress/kendo-react-layout": "13.3.0-develop.4",
45
+ "@progress/kendo-react-conversational-ui": "13.3.0-develop.4",
46
46
  "@progress/kendo-svg-icons": "^4.0.0",
47
47
  "react": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",
48
48
  "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",
@@ -147,7 +147,7 @@
147
147
  "package": {
148
148
  "productName": "KendoReact",
149
149
  "productCode": "KENDOUIREACT",
150
- "publishDate": 1767695490,
150
+ "publishDate": 1768233011,
151
151
  "licensingDocsUrl": "https://www.telerik.com/kendo-react-ui/components/my-license/"
152
152
  }
153
153
  },
@@ -0,0 +1,8 @@
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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("react"),v=require("../cells/groupcell/GridGroupCell.js"),E=require("../cells/GridDetailHierarchyCell.js"),N=require("../stacked/StackedModeComponents.js");function _(t){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const d=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(l,a,d.get?d:{enumerable:!0,get:()=>t[a]})}}return l.default=t,Object.freeze(l)}const c=_(M),R=({isStackedMode:t,detailRowId:l,isHidden:a,detailRowHeight:d,ariaRowIndex:i,item:n,groupLevelCount:k,groupDescriptors:e,lockGroups:x,cells:O,leafColumns:j,detailExpandableEnabled:o,preparedCells:P,DetailCell:f,detail:m,detailCellId:y,detailHierarchyCellId:u,detailTrClassName:I,unstyled:q})=>{if(t)return c.createElement(N.StackedModeDetailRow,{detailRowId:l,className:I,isHidden:a,detailRowHeight:d,ariaRowIndex:i,groupLevelCount:k,dataItem:n.dataItem,dataIndex:n.dataIndex,detail:m,id:y,DetailCell:f});const w=j.length-(o?1:0)-((e==null?void 0:e.length)||0)||1;return c.createElement("tr",{key:l,className:I,style:{visibility:a?"hidden":"",height:d},role:"row","aria-rowindex":i},e==null?void 0:e.map((G,S)=>{var h,b;const r=(b=(h=P[S])==null?void 0:h.props)==null?void 0:b.style,C=r?{left:r.left,right:r.right}:{};return c.createElement(v.GridGroupCell,{key:G.field,cellProps:{id:"",dataItem:n.dataItem,field:G.field,dataIndex:n.dataIndex,columnPosition:C,style:{},ariaColumnIndex:1+S,isSelected:!1,locked:x,cells:O,group:n.group}})}),o&&u&&c.createElement(E.GridDetailHierarchyCell,{unstyled:q,id:u}),c.createElement(f,{dataItem:n.dataItem,dataIndex:n.dataIndex,colSpan:w,ariaColIndex:2+((e==null?void 0:e.length)||0),detail:m,id:y}))};R.displayName="KendoReactGridDetailRowRenderer";exports.GridDetailRowRenderer=R;
@@ -0,0 +1,103 @@
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 t from "react";
9
+ import { GridGroupCell as j } from "../cells/groupcell/GridGroupCell.mjs";
10
+ import { GridDetailHierarchyCell as q } from "../cells/GridDetailHierarchyCell.mjs";
11
+ import { StackedModeDetailRow as z } from "../stacked/StackedModeComponents.mjs";
12
+ const A = ({
13
+ isStackedMode: S,
14
+ detailRowId: d,
15
+ isHidden: l,
16
+ detailRowHeight: m,
17
+ ariaRowIndex: f,
18
+ item: a,
19
+ groupLevelCount: E,
20
+ groupDescriptors: e,
21
+ lockGroups: w,
22
+ cells: N,
23
+ leafColumns: P,
24
+ detailExpandableEnabled: I,
25
+ preparedCells: v,
26
+ DetailCell: y,
27
+ detail: h,
28
+ detailCellId: x,
29
+ detailHierarchyCellId: c,
30
+ detailTrClassName: G,
31
+ unstyled: C
32
+ }) => {
33
+ if (S)
34
+ return /* @__PURE__ */ t.createElement(
35
+ z,
36
+ {
37
+ detailRowId: d,
38
+ className: G,
39
+ isHidden: l,
40
+ detailRowHeight: m,
41
+ ariaRowIndex: f,
42
+ groupLevelCount: E,
43
+ dataItem: a.dataItem,
44
+ dataIndex: a.dataIndex,
45
+ detail: h,
46
+ id: x,
47
+ DetailCell: y
48
+ }
49
+ );
50
+ const K = P.length - (I ? 1 : 0) - ((e == null ? void 0 : e.length) || 0) || 1;
51
+ return /* @__PURE__ */ t.createElement(
52
+ "tr",
53
+ {
54
+ key: d,
55
+ className: G,
56
+ style: {
57
+ visibility: l ? "hidden" : "",
58
+ height: m
59
+ },
60
+ role: "row",
61
+ "aria-rowindex": f
62
+ },
63
+ e == null ? void 0 : e.map((i, k) => {
64
+ var o, R;
65
+ const n = (R = (o = v[k]) == null ? void 0 : o.props) == null ? void 0 : R.style, M = n ? { left: n.left, right: n.right } : {};
66
+ return /* @__PURE__ */ t.createElement(
67
+ j,
68
+ {
69
+ key: i.field,
70
+ cellProps: {
71
+ id: "",
72
+ dataItem: a.dataItem,
73
+ field: i.field,
74
+ dataIndex: a.dataIndex,
75
+ columnPosition: M,
76
+ style: {},
77
+ ariaColumnIndex: 1 + k,
78
+ isSelected: !1,
79
+ locked: w,
80
+ cells: N,
81
+ group: a.group
82
+ }
83
+ }
84
+ );
85
+ }),
86
+ I && c && /* @__PURE__ */ t.createElement(q, { unstyled: C, id: c }),
87
+ /* @__PURE__ */ t.createElement(
88
+ y,
89
+ {
90
+ dataItem: a.dataItem,
91
+ dataIndex: a.dataIndex,
92
+ colSpan: K,
93
+ ariaColIndex: 2 + ((e == null ? void 0 : e.length) || 0),
94
+ detail: h,
95
+ id: x
96
+ }
97
+ )
98
+ );
99
+ };
100
+ A.displayName = "KendoReactGridDetailRowRenderer";
101
+ export {
102
+ A as GridDetailRowRenderer
103
+ };
@@ -0,0 +1,8 @@
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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("react"),w=require("./GridRow.js"),D=require("../stacked/StackedModeRow.js");function P(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const R=P(q),b=({isStackedMode:e,item:t,rowId:r,dataIndex:n,idPrefix:k,ariaRowIndex:c,absoluteRowIndex:o,isAltRow:u,isHidden:a,isRowReorderable:l,rowHeight:d,rows:f,leafColumns:O,groupLevelCount:j,stackedLayoutSettings:s,cells:G,editMode:S,isSelected:i,isHighlighted:y,isInEdit:m,preparedCells:p,showDetailToggle:g,isDetailExpanded:M,detailExpandField:T})=>e?R.createElement(D.StackedModeRow,{item:t,rowId:r,dataIndex:n,idPrefix:k,ariaRowIndex:c,absoluteRowIndex:o,isAltRow:u,isHidden:a,isRowReorderable:l,rowHeight:d,rows:f,leafColumns:O,groupLevelCount:j,stackedLayoutSettings:s,cells:G,editMode:S,isSelected:i,isHighlighted:y,isInEdit:m,preparedCells:p,showDetailToggle:g,isDetailExpanded:M,detailExpandField:T}):R.createElement(w.GridRow,{key:r,dataItem:t.dataItem,isAltRow:u,isInEdit:m,rowType:t.rowType,isRowReorderable:l,isHidden:a,onClick:null,onDoubleClick:null,rowHeight:d,ariaRowIndex:c,absoluteRowIndex:o,dataIndex:n,isSelected:i,isHighlighted:y,rows:f},p);b.displayName="KendoReactGridRowRenderer";exports.GridRowRenderer=b;
@@ -0,0 +1,88 @@
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 G from "react";
9
+ import { GridRow as v } from "./GridRow.mjs";
10
+ import { StackedModeRow as z } from "../stacked/StackedModeRow.mjs";
11
+ const B = ({
12
+ isStackedMode: R,
13
+ item: r,
14
+ rowId: e,
15
+ dataIndex: o,
16
+ idPrefix: T,
17
+ ariaRowIndex: m,
18
+ absoluteRowIndex: t,
19
+ isAltRow: c,
20
+ isHidden: n,
21
+ isRowReorderable: a,
22
+ rowHeight: p,
23
+ rows: f,
24
+ leafColumns: C,
25
+ groupLevelCount: D,
26
+ stackedLayoutSettings: E,
27
+ cells: K,
28
+ editMode: M,
29
+ isSelected: k,
30
+ isHighlighted: u,
31
+ isInEdit: y,
32
+ preparedCells: l,
33
+ showDetailToggle: N,
34
+ isDetailExpanded: j,
35
+ detailExpandField: q
36
+ }) => R ? /* @__PURE__ */ G.createElement(
37
+ z,
38
+ {
39
+ item: r,
40
+ rowId: e,
41
+ dataIndex: o,
42
+ idPrefix: T,
43
+ ariaRowIndex: m,
44
+ absoluteRowIndex: t,
45
+ isAltRow: c,
46
+ isHidden: n,
47
+ isRowReorderable: a,
48
+ rowHeight: p,
49
+ rows: f,
50
+ leafColumns: C,
51
+ groupLevelCount: D,
52
+ stackedLayoutSettings: E,
53
+ cells: K,
54
+ editMode: M,
55
+ isSelected: k,
56
+ isHighlighted: u,
57
+ isInEdit: y,
58
+ preparedCells: l,
59
+ showDetailToggle: N,
60
+ isDetailExpanded: j,
61
+ detailExpandField: q
62
+ }
63
+ ) : /* @__PURE__ */ G.createElement(
64
+ v,
65
+ {
66
+ key: e,
67
+ dataItem: r.dataItem,
68
+ isAltRow: c,
69
+ isInEdit: y,
70
+ rowType: r.rowType,
71
+ isRowReorderable: a,
72
+ isHidden: n,
73
+ onClick: null,
74
+ onDoubleClick: null,
75
+ rowHeight: p,
76
+ ariaRowIndex: m,
77
+ absoluteRowIndex: t,
78
+ dataIndex: o,
79
+ isSelected: k,
80
+ isHighlighted: u,
81
+ rows: f
82
+ },
83
+ l
84
+ );
85
+ B.displayName = "KendoReactGridRowRenderer";
86
+ export {
87
+ B as GridRowRenderer
88
+ };
@@ -0,0 +1,9 @@
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 E=require("react"),K=require("@progress/kendo-react-common"),w=require("@progress/kendo-react-data-tools");function O(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const l in e)if(l!=="default"){const d=Object.getOwnPropertyDescriptor(e,l);Object.defineProperty(t,l,d.get?d:{enumerable:!0,get:()=>e[l]})}}return t.default=e,Object.freeze(t)}const c=O(E),j=e=>{const{header:t,children:l,isInEdit:d,editMode:m,className:f,columnIndex:k,id:y,style:g,onClick:C,onKeyDown:b,cellRef:a}=e,o=c.useRef(null),[s,r]=c.useState(!1),h=K.classNames("k-grid-stack-cell",f,{"k-focus":s,"k-grid-stack-edit-cell":d}),N=s?0:-1,R=n=>{const i=o.current;i&&w.handleStackedKeyboardNavigation({event:n,cellElement:i,onKeyDown:b,isInEdit:d,editMode:m})},S=()=>{r(!0)},I=n=>{var i;(i=o.current)!=null&&i.contains(n.relatedTarget)||r(!1)},D=c.useCallback(n=>{o.current=n,typeof a=="function"?a(n):a&&"current"in a&&(a.current=n)},[a]);return c.createElement("div",{ref:D,className:h,"data-grid-col-index":k,id:y,style:g,tabIndex:N,onClick:C,onKeyDown:R,onFocus:S,onBlur:I},t&&c.createElement("div",{className:"k-grid-stack-header"},t),c.createElement("div",{className:"k-grid-stack-content"},l))},u=c.memo(j,(e,t)=>e.header===t.header&&e.children===t.children&&e.isInEdit===t.isInEdit&&e.editMode===t.editMode&&e.className===t.className&&e.columnIndex===t.columnIndex&&e.id===t.id&&e.style===t.style&&e.onClick===t.onClick&&e.onKeyDown===t.onKeyDown);u.displayName="KendoReactGridStackedCell";exports.GridStackedCell=u;
@@ -0,0 +1,69 @@
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 n from "react";
10
+ import { classNames as w } from "@progress/kendo-react-common";
11
+ import { handleStackedKeyboardNavigation as D } from "@progress/kendo-react-data-tools";
12
+ const S = (l) => {
13
+ const {
14
+ header: e,
15
+ children: m,
16
+ isInEdit: i,
17
+ editMode: u,
18
+ className: r,
19
+ columnIndex: f,
20
+ id: k,
21
+ style: h,
22
+ onClick: y,
23
+ onKeyDown: C,
24
+ cellRef: t
25
+ } = l, d = n.useRef(null), [s, o] = n.useState(!1), N = w("k-grid-stack-cell", r, {
26
+ "k-focus": s,
27
+ "k-grid-stack-edit-cell": i
28
+ }), I = s ? 0 : -1, g = (c) => {
29
+ const a = d.current;
30
+ a && D({
31
+ event: c,
32
+ cellElement: a,
33
+ onKeyDown: C,
34
+ isInEdit: i,
35
+ editMode: u
36
+ });
37
+ }, E = () => {
38
+ o(!0);
39
+ }, K = (c) => {
40
+ var a;
41
+ (a = d.current) != null && a.contains(c.relatedTarget) || o(!1);
42
+ }, R = n.useCallback(
43
+ (c) => {
44
+ d.current = c, typeof t == "function" ? t(c) : t && "current" in t && (t.current = c);
45
+ },
46
+ [t]
47
+ );
48
+ return /* @__PURE__ */ n.createElement(
49
+ "div",
50
+ {
51
+ ref: R,
52
+ className: N,
53
+ "data-grid-col-index": f,
54
+ id: k,
55
+ style: h,
56
+ tabIndex: I,
57
+ onClick: y,
58
+ onKeyDown: g,
59
+ onFocus: E,
60
+ onBlur: K
61
+ },
62
+ e && /* @__PURE__ */ n.createElement("div", { className: "k-grid-stack-header" }, e),
63
+ /* @__PURE__ */ n.createElement("div", { className: "k-grid-stack-content" }, m)
64
+ );
65
+ }, b = n.memo(S, (l, e) => l.header === e.header && l.children === e.children && l.isInEdit === e.isInEdit && l.editMode === e.editMode && l.className === e.className && l.columnIndex === e.columnIndex && l.id === e.id && l.style === e.style && l.onClick === e.onClick && l.onKeyDown === e.onKeyDown);
66
+ b.displayName = "KendoReactGridStackedCell";
67
+ export {
68
+ b as GridStackedCell
69
+ };
@@ -0,0 +1,9 @@
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 y=require("react"),d=require("@progress/kendo-svg-icons"),D=require("@progress/kendo-react-intl"),b=require("@progress/kendo-react-data-tools"),S=require("@progress/kendo-react-buttons"),T=require("../utils/GridContext.js"),c=require("../messages/index.js");function v(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const a in n)if(a!=="default"){const o=Object.getOwnPropertyDescriptor(n,a);Object.defineProperty(t,a,o.get?o:{enumerable:!0,get:()=>n[a]})}}return t.default=n,Object.freeze(t)}const u=v(y),p=n=>{const{dataItem:t,dataIndex:a,expanded:o,field:g}=n,e=u.useContext(T.GridContext),f=D.useLocalization(),i=o?c.detailCollapse:c.detailExpand,m=f.toLanguageString(i,c.messages[i]),k=s=>{s.preventDefault(),e!=null&&e.itemChange&&e.itemChange({dataItem:t,dataIndex:a,syntheticEvent:s,field:g,value:!o,_expand:!0});const l=e==null?void 0:e.dataItemKey,r=l?t==null?void 0:t[l]:void 0;r!==void 0&&(e!=null&&e.dispatchDetailExpand)&&e.dispatchDetailExpand({type:b.DETAIL_EXPAND_ACTION.TOGGLE,id:r})};return u.createElement(S.Button,{fillMode:"flat",themeColor:"primary",svgIcon:o?d.minusIcon:d.plusIcon,onClick:k},m)};p.displayName="KendoReactGridStackedDetailToggle";exports.GridStackedDetailToggle=p;
@@ -0,0 +1,37 @@
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 l from "react";
10
+ import { minusIcon as u, plusIcon as g } from "@progress/kendo-svg-icons";
11
+ import { useLocalization as E } from "@progress/kendo-react-intl";
12
+ import { DETAIL_EXPAND_ACTION as h } from "@progress/kendo-react-data-tools";
13
+ import { Button as D } from "@progress/kendo-react-buttons";
14
+ import { GridContext as y } from "../utils/GridContext.mjs";
15
+ import { messages as I, detailCollapse as k, detailExpand as v } from "../messages/index.mjs";
16
+ const G = (c) => {
17
+ const { dataItem: t, dataIndex: m, expanded: a, field: r } = c, e = l.useContext(y), d = E(), o = a ? k : v, p = d.toLanguageString(o, I[o]), f = (i) => {
18
+ i.preventDefault(), e != null && e.itemChange && e.itemChange({
19
+ dataItem: t,
20
+ dataIndex: m,
21
+ syntheticEvent: i,
22
+ field: r,
23
+ value: !a,
24
+ _expand: !0
25
+ });
26
+ const n = e == null ? void 0 : e.dataItemKey, s = n ? t == null ? void 0 : t[n] : void 0;
27
+ s !== void 0 && (e != null && e.dispatchDetailExpand) && e.dispatchDetailExpand({
28
+ type: h.TOGGLE,
29
+ id: s
30
+ });
31
+ };
32
+ return /* @__PURE__ */ l.createElement(D, { fillMode: "flat", themeColor: "primary", svgIcon: a ? u : g, onClick: f }, p);
33
+ };
34
+ G.displayName = "KendoReactGridStackedDetailToggle";
35
+ export {
36
+ G as GridStackedDetailToggle
37
+ };
@@ -0,0 +1,9 @@
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 Te=require("react"),U=require("@progress/kendo-react-common"),se=require("./GridStackedCell.js"),he=require("./GridStackedDetailToggle.js"),ve=require("../cells/editcell/GridEditCellEditor.js"),De=require("../utils/GridContext.js"),k=require("@progress/kendo-react-data-tools"),we=require("../GridState.js");function Ce(s){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const p in s)if(p!=="default"){const c=Object.getOwnPropertyDescriptor(s,p);Object.defineProperty(a,p,c.get?c:{enumerable:!0,get:()=>s[p]})}}return a.default=s,Object.freeze(a)}const o=Ce(Te),Se=s=>o.createElement("div",{style:{display:"contents"}},s.children),ge=s=>{if(s!=null&&s.cols&&typeof s.cols!="number")return s.cols.map(a=>typeof a=="number"?`${a}px`:typeof a=="string"?a:a&&typeof a=="object"&&a.width!==void 0?typeof a.width=="number"?`${a.width}px`:a.width:"1fr").join(" ")},Ne=s=>s!=null&&s.cols?typeof s.cols=="number"?s.cols:s.cols.length:1,S=s=>typeof s=="function"||typeof s=="object"&&s!==null&&typeof s.$$typeof=="symbol",Re=(s,a)=>{var p,c;if(s.cell&&S(s.cell))return s.cell;if((p=s.cells)!=null&&p.stackedData&&S(s.cells.stackedData))return s.cells.stackedData;if(a!=null&&a.stackedData&&S(a.stackedData))return a.stackedData;if((c=s.cells)!=null&&c.data&&S(s.cells.data))return s.cells.data;if(a!=null&&a.data&&S(a.data))return a.data},Pe=(s,a)=>{if(!s||!a)return;const p=s.split(".");let c=a;for(const d of p){if(c==null)return;c=c[d]}return c},ne=s=>{const{dataItem:a,columns:p,stackedLayoutSettings:c,dataIndex:d,isAltRow:W,isSelected:X,isInEdit:D,editMode:I,cells:O,idPrefix:$,className:Y,style:j,ariaRowIndex:oe,absoluteRowIndex:g,groupLevel:x=0,preparedCells:K,showDetailToggle:re,isDetailExpanded:ce,detailExpandField:ie}=s,t=o.useContext(De.GridContext),[G,,T]=we.useGridState(),L=o.useMemo(()=>ge(c),[c]),q=o.useMemo(()=>Ne(c),[c]),[J,N]=o.useState(!1),R=o.useRef(null),w=o.useRef(null),A=o.useRef(new Map),V=o.useRef(!1);o.useLayoutEffect(()=>{if(!D||I!=="inline"){V.current=!1,A.current.clear();return}V.current||(V.current=!0,w.current=0,setTimeout(()=>{const e=R.current;if(!e||e.contains(document.activeElement))return;const l=e.querySelector('[data-grid-col-index="0"]'),i=(l?k.tableKeyboardNavigationTools.getStackedCellFocusableElements(l):[])[0];if(i){i.focus();return}const n=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(e);n[0]&&n[0].focus()},0))},[D,I]),o.useEffect(()=>{const e=r=>{const i=R.current;setTimeout(()=>{const n=document.activeElement;i&&!i.contains(n)&&N(!1)},0)},l=R.current;if(l)return l.addEventListener("focusout",e),()=>{l.removeEventListener("focusout",e)}},[]);const C=o.useMemo(()=>p.filter(e=>{const l=!!e._type,r=e.isAccessible===!1;return!e.hidden&&!l&&!r&&(e.columnType==="data"||e.columnType===void 0)}),[p]),Q=o.useCallback((e,l)=>{if(!e.field)return null;const r=Pe(e.field,l);return r==null?null:String(r)},[]),ue=o.useMemo(()=>U.classNames("k-table-row","k-master-row",Y,{"k-table-alt-row":W,"k-selected":X,"k-grid-edit-row":D&&I==="inline"}),[Y,W,X,D,I]),Z=o.useMemo(()=>typeof(c==null?void 0:c.cols)=="number"&&q>1,[c==null?void 0:c.cols,q]),de=o.useMemo(()=>U.classNames("k-grid-stack-row",{[`k-grid-cols-${q}`]:Z}),[q,Z]),fe=o.useMemo(()=>L?{gridTemplateColumns:L,...j}:j||{},[L,j]),H=o.useCallback(e=>{if(!(T!=null&&T.onEditChange)||!(t!=null&&t.dataItemKey)||!e)return;const l=a[t.dataItemKey];if(l===void 0)return;const r=G.edit||{},i=k.editReducer(r,{type:k.EDIT_ACTION.EXIT_FIELD_EDIT,payload:{id:String(l),field:e}}),n={nativeEvent:{},currentTarget:null,target:null,bubbles:!1,cancelable:!1,defaultPrevented:!1,eventPhase:0,isTrusted:!1,timeStamp:Date.now(),type:"editchange",preventDefault:()=>{},stopPropagation:()=>{},persist:()=>{},isDefaultPrevented:()=>!1,isPropagationStopped:()=>!1};T.onEditChange({edit:i,nativeEvent:{},syntheticEvent:n,target:null})},[a,t==null?void 0:t.dataItemKey,T,G.edit]),ee=o.useCallback((e,l)=>{if(!(T!=null&&T.onEditChange)||!(t!=null&&t.dataItemKey)||!e)return;const r=a[t.dataItemKey];if(r===void 0)return;const i=C.findIndex(M=>M.field===e);if(i===-1)return;const n=i+l;if(n<0||n>=C.length)return;const f=C[n].field;if(!f)return;const b=G.edit||{},P=String(r),E=k.editReducer(b,{type:k.EDIT_ACTION.EXIT_FIELD_EDIT,payload:{id:P,field:e}}),z=k.editReducer(E,{type:k.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:P,field:f}}),F={nativeEvent:{},currentTarget:null,target:null,bubbles:!1,cancelable:!1,defaultPrevented:!1,eventPhase:0,isTrusted:!1,timeStamp:Date.now(),type:"editchange",preventDefault:()=>{},stopPropagation:()=>{},persist:()=>{},isDefaultPrevented:()=>!1,isPropagationStopped:()=>!1};T.onEditChange({edit:z,nativeEvent:{},syntheticEvent:F,target:null})},[a,t==null?void 0:t.dataItemKey,T,G.edit,C]),pe=o.useCallback((e,l)=>{var ae;const r=p.indexOf(e),i=K==null?void 0:K[r],n=i==null?void 0:i.props.cellProps,f=Re(e,O),b=(ae=g!=null?g:d)!=null?ae:0,P=$?`${$}-${b}-${l}`:void 0,E=n?n.isInEdit:D&&e.editable!==!1,z=U.classNames("k-grid-stack-cell",e.className,{"k-grid-stack-edit-cell ":E}),F=u=>{var m;if(E){if(u.stopPropagation(),I==="inline"&&(w.current=l),I==="incell"){const y=u.currentTarget,v=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(y)[0],_=document.activeElement;v&&_!==v&&!v.contains(_)&&v.focus()}return}(m=t==null?void 0:t.cellClick)==null||m.call(t,u,a,e.field)},M=u=>{const m=u.target,y=u.currentTarget;if(u.key==="Tab"&&m!==y)return;if(u.key==="Enter"&&m===y&&!E&&e.editable!==!1){F(u);return}k.handleStackedKeyboardNavigation({event:u,cellElement:y,onEscape:()=>N(!1),onExitEdit:()=>H(e.field),onTabToNextCell:v=>ee(e.field,v),isInEdit:E,editMode:I})},te=u=>{if(u&&E&&I==="incell"){const y=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(u)[0],h=document.activeElement;if(!y||!h||y===h||y.contains(h))return;y.focus()}else if(u&&E&&I==="inline"){const m=document.activeElement;if(m==null?void 0:m.closest(".k-animation-container, .k-popup, .k-list-container"))return;if(u.contains(m)){w.current=l,A.current.set(l,!0);return}const h=R.current;if(h!=null&&h.contains(m))return;const v=A.current.size===0,_=l===0;if(w.current===l||_&&v){const le=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(u)[0];le&&(le.focus(),w.current=l,A.current.set(l,!0))}}},Ie={className:z,"data-grid-col-index":l,id:P,style:void 0,tabIndex:J?0:-1,onClick:F,onKeyDown:M,onFocus:()=>{w.current=l},ref:te};let B=Q(e,a);if(E){const u=n||{dataItem:a,field:e.field,dataIndex:d,columnIndex:l,rowType:"data",isInEdit:E,format:e.format,className:e.className,editor:e.editor,cells:O};B=o.createElement(Se,null,o.createElement(ve.GridEditCellEditor,{cellProps:u}))}if(f&&S(f)){const u={dataItem:a,field:e.field,title:e.title,rowType:"data",dataIndex:d,columnIndex:l,isInEdit:E,format:e.format,className:e.className,columnType:e.columnType,stackedCellProps:Ie,children:B};return o.createElement(f,{key:e.id||e.field||l,...u})}return o.createElement(se.GridStackedCell,{key:e.id||e.field||l,header:e.title,className:e.className,isInEdit:E,columnIndex:l,id:P,onClick:F,onKeyDown:M,cellRef:te},B)},[p,K,O,$,D,I,a,d,g,J,t,Q,N,H,ee]),be=o.useMemo(()=>{const e=[];for(let l=0;l<x;l++)e.push(o.createElement("td",{key:`group-cell-${l}`,className:"k-table-group-td k-group-cell k-table-td"}));return e},[x]),Ee=o.useCallback(e=>{var l,r;(l=t==null?void 0:t.rowClick)==null||l.call(t,e,a),d!==void 0&&((r=t==null?void 0:t.selectionChange)==null||r.call(t,{event:e,dataItem:a,dataIndex:d,columnIndex:0}))},[t,a,d]),me=o.useCallback(e=>{var l;(l=t==null?void 0:t.rowDblClick)==null||l.call(t,e,a)},[t,a]),ke=o.useCallback(e=>{var i;const l=e.target,r=e.currentTarget;if(l===r&&e.key==="Enter"){e.preventDefault(),d!==void 0&&((i=t==null?void 0:t.selectionChange)==null||i.call(t,{event:e,dataItem:a,dataIndex:d,columnIndex:0}));const n=r.querySelector(".k-grid-stack-cell");n&&n.focus()}},[t,a,d]),ye=o.useCallback(e=>{var i;const l=e.target,r=e.currentTarget;if(l===r){if(e.key==="Tab"){const n=r.closest("tr");if(e.shiftKey){const f=n==null?void 0:n.previousElementSibling;if(f){const b=f.querySelector("td.k-table-td[tabindex]");if(b){e.preventDefault(),b.focus();return}}}else{const f=n==null?void 0:n.nextElementSibling;if(f){const b=f.querySelector("td.k-table-td[tabindex]");if(b){e.preventDefault(),b.focus();return}}}return}if(e.key==="ArrowUp"||e.key==="ArrowDown"){e.preventDefault();const n=r.closest("tr"),f=e.key==="ArrowUp"?n==null?void 0:n.previousElementSibling:n==null?void 0:n.nextElementSibling;if(!f)return;const b=f.querySelector("td.k-table-td[tabindex]");b&&(b.focus(),b.scrollIntoView&&b.scrollIntoView({block:"nearest"}));return}if(e.key==="Enter"){e.preventDefault(),e.stopPropagation(),d!==void 0&&((i=t==null?void 0:t.selectionChange)==null||i.call(t,{event:e,dataItem:a,dataIndex:d,columnIndex:0})),N(!0);const n=r.querySelector(".k-grid-stack-cell");n&&(n.hasAttribute("tabindex")||n.setAttribute("tabindex","0"),n.focus())}}},[N,t,a,d]);return o.createElement("tr",{className:ue,"data-grid-row-index":g,"aria-rowindex":oe,onClick:Ee,onDoubleClick:me,onKeyDown:ke},be,o.createElement("td",{ref:R,className:"k-table-td",colSpan:1,tabIndex:0,onKeyDown:ye},o.createElement("div",{className:de,style:fe},C.map((e,l)=>pe(e,l)),re&&o.createElement(se.GridStackedCell,{columnIndex:C.length},o.createElement(he.GridStackedDetailToggle,{dataItem:a,dataIndex:d,expanded:!!ce,field:ie})))))};ne.displayName="KendoReactGridStackedRow";exports.GridStackedRow=ne;