@progress/kendo-react-grid 14.3.0-develop.1 → 14.3.0-develop.11

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.
Files changed (88) hide show
  1. package/GridClientContextReader.js +1 -1
  2. package/GridClientContextReader.mjs +10 -9
  3. package/GridClientWrapper.js +1 -1
  4. package/GridClientWrapper.mjs +711 -624
  5. package/GridComponent.js +1 -1
  6. package/GridComponent.mjs +427 -374
  7. package/GridState.d.ts +2 -0
  8. package/GridState.js +1 -1
  9. package/GridState.mjs +98 -90
  10. package/{toolbar-tools/smartbox/SegmentedControl.d.ts → cells/pincell/GridPinCell.d.ts} +4 -2
  11. package/cells/pincell/GridPinCell.js +9 -0
  12. package/cells/pincell/GridPinCell.mjs +19 -0
  13. package/cells/pincell/GridPinCellServer.d.ts +15 -0
  14. package/cells/pincell/GridPinCellServer.js +8 -0
  15. package/cells/pincell/GridPinCellServer.mjs +32 -0
  16. package/cells/pincell/GridPinCellServerContainer.d.ts +11 -0
  17. package/cells/pincell/GridPinCellServerContainer.js +9 -0
  18. package/cells/pincell/GridPinCellServerContainer.mjs +26 -0
  19. package/cells/pincell/GridPinDropdownButton.d.ts +21 -0
  20. package/cells/pincell/GridPinDropdownButton.js +9 -0
  21. package/cells/pincell/GridPinDropdownButton.mjs +58 -0
  22. package/cells/pincell/useGridPinCellClientTdProps.d.ts +24 -0
  23. package/cells/pincell/useGridPinCellClientTdProps.js +9 -0
  24. package/cells/pincell/useGridPinCellClientTdProps.mjs +21 -0
  25. package/cells/pincell/utils.d.ts +20 -0
  26. package/cells/pincell/utils.js +8 -0
  27. package/cells/pincell/utils.mjs +47 -0
  28. package/components/PinnedRowsTable.d.ts +48 -0
  29. package/components/PinnedRowsTable.js +9 -0
  30. package/components/PinnedRowsTable.mjs +133 -0
  31. package/components/StickyGroupTable.js +1 -1
  32. package/components/StickyGroupTable.mjs +1 -1
  33. package/contextMenu/GridContextMenu.d.ts +42 -0
  34. package/contextMenu/GridContextMenu.js +1 -1
  35. package/contextMenu/GridContextMenu.mjs +101 -51
  36. package/contextMenu/enums.d.ts +5 -1
  37. package/contextMenu/enums.js +1 -1
  38. package/contextMenu/enums.mjs +2 -2
  39. package/dist/cdn/js/kendo-react-grid.js +1 -1
  40. package/drag/ColumnResize.d.ts +9 -0
  41. package/drag/ColumnResize.js +1 -1
  42. package/drag/ColumnResize.mjs +105 -115
  43. package/getRowContents.d.ts +2 -2
  44. package/getRowContents.js +1 -1
  45. package/getRowContents.mjs +13 -14
  46. package/header/client/GridHeaderPinCell.d.ts +12 -0
  47. package/header/client/GridHeaderPinCell.js +9 -0
  48. package/header/client/GridHeaderPinCell.mjs +14 -0
  49. package/index.d.mts +5 -2
  50. package/index.d.ts +5 -2
  51. package/index.js +1 -1
  52. package/index.mjs +97 -95
  53. package/interfaces/ColumnType.d.ts +1 -1
  54. package/interfaces/GridCellsSettings.d.ts +23 -0
  55. package/interfaces/GridProps.d.ts +70 -1
  56. package/interfaces/GridRowProps.d.ts +4 -0
  57. package/interfaces/GridRowsSettings.d.ts +11 -0
  58. package/interfaces/events.d.ts +17 -0
  59. package/messages/index.d.ts +20 -0
  60. package/messages/index.js +2 -2
  61. package/messages/index.mjs +110 -102
  62. package/package-metadata.js +1 -1
  63. package/package-metadata.mjs +2 -2
  64. package/package.json +18 -17
  65. package/rows/GridRow.js +1 -1
  66. package/rows/GridRow.mjs +25 -24
  67. package/rows/GridRowRenderer.d.ts +1 -0
  68. package/rows/GridRowRenderer.js +1 -1
  69. package/rows/GridRowRenderer.mjs +39 -36
  70. package/stacked/GridStackedRow.d.ts +5 -0
  71. package/stacked/GridStackedRow.js +1 -1
  72. package/stacked/GridStackedRow.mjs +118 -116
  73. package/stacked/StackedModeRow.d.ts +1 -0
  74. package/stacked/StackedModeRow.js +1 -1
  75. package/stacked/StackedModeRow.mjs +13 -11
  76. package/toolbar-tools/smartbox/SmartBox.js +1 -1
  77. package/toolbar-tools/smartbox/SmartBox.mjs +102 -94
  78. package/toolbar-tools/smartbox/hooks/useSmartBoxSegmentedControl.d.ts +12 -3
  79. package/toolbar-tools/smartbox/hooks/useSmartBoxSegmentedControl.js +1 -1
  80. package/toolbar-tools/smartbox/hooks/useSmartBoxSegmentedControl.mjs +42 -41
  81. package/toolbar-tools/smartbox/index.d.ts +0 -1
  82. package/toolbar-tools/smartbox/interfaces/index.d.ts +0 -1
  83. package/utils/index.d.ts +1 -0
  84. package/utils/index.js +1 -1
  85. package/utils/index.mjs +44 -44
  86. package/toolbar-tools/smartbox/SegmentedControl.js +0 -8
  87. package/toolbar-tools/smartbox/SegmentedControl.mjs +0 -109
  88. package/toolbar-tools/smartbox/interfaces/SegmentedControlTypes.d.ts +0 -66
@@ -31,6 +31,14 @@ export declare class ColumnResize {
31
31
  * The sticky footer `colgroup` of the Grid (if any).
32
32
  */
33
33
  colGroupStickyFooter: any;
34
+ /**
35
+ * The pinned-top `colgroup` of the Grid (if any).
36
+ */
37
+ colGroupPinnedTop: any;
38
+ /**
39
+ * The pinned-bottom `colgroup` of the Grid (if any).
40
+ */
41
+ colGroupPinnedBottom: any;
34
42
  columns: ExtendedColumnProps[];
35
43
  /**
36
44
  * The `columnsState` of the Grid (if any).
@@ -44,6 +52,7 @@ export declare class ColumnResize {
44
52
  private isRtl;
45
53
  constructor(triggerResize: (index: number, newWidth: number, oldWidth: number, originalEvent: any, end: boolean, columnsState: GridColumnState[], targetId?: string) => void);
46
54
  setIsRtl: (isRtl: boolean) => void;
55
+ private get colGroups();
47
56
  private applyWidthConstraints;
48
57
  initWidths: () => void;
49
58
  dragHandler: (event: any, column: ExtendedColumnProps, dragCue: HTMLSpanElement, end: boolean) => void;
@@ -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 f=require("../utils/index.js"),g=1,k=20;class w{constructor(p){this.columns=[],this.columnsState=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=s=>{this.isRtl=s},this.initWidths=()=>{var a;const s=((a=this.colGroupMain)==null?void 0:a.children)||[],l=f.getFlatColumnsState(this.columnsState),c=this.columns.filter(e=>{var r;return!((r=e.children)!=null&&r.length)});for(let e=0;e<s.length;e++){const r=s[e],t=c[e];let i="";const h=l.find(o=>o.id===c[e].id);h&&(i=this.applyWidthConstraints(h,t)),r.width=i,this.colGroupHeader&&(this.colGroupHeader.children[e].width=i),this.colGroupFooter&&(this.colGroupFooter.children[e].width=i),this.colGroupStickyHeader&&(this.colGroupStickyHeader.children[e].width=i),this.colGroupStickyFooter&&(this.colGroupStickyFooter.children[e].width=i)}},this.dragHandler=(s,l,c,a)=>{const e=s.originalEvent;a||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation());const r=c.closest("th");if(!r||!r)return;const t=r.clientWidth;let i=t;if(this.isRtl?i+=c.getBoundingClientRect().right-c.offsetWidth/2-s.clientX:i+=s.clientX-c.getBoundingClientRect().left-c.offsetWidth/2,!a&&Math.abs(i-t)<1)return;this.fixateInitialWidths(r.parentElement.clientWidth),this.setWidths(l,Math.floor(i)/t);const h=this.columns.filter(o=>!o.children.length).findIndex(o=>o.id===l.id);this.onResize(h,t,i,e,a,this.columnsState,l.id)},this.dblClickHandler=(s,l)=>{const c=this.columns.filter(n=>l.indexOf(n.id)>-1),a=f.getFlatColumnsState(this.columnsState);if(!this.colGroupMain||!c.length)return;const e={},r=c;for(;r.length>0;){const n=r.pop();if(!n)break;n.children.length?r.push(...n.children):e[n.id]=n}const t=this.columns.filter(n=>!n.children.length),i=[];t.forEach((n,d)=>{e[n.id]&&i.push(d)});const h=[this.colGroupMain.parentElement],o=[this.colGroupMain];this.colGroupHeader&&(h.push(this.colGroupHeader.parentElement),o.push(this.colGroupHeader)),this.colGroupFooter&&(h.push(this.colGroupFooter.parentElement),o.push(this.colGroupFooter)),this.colGroupStickyHeader&&(h.push(this.colGroupStickyHeader.parentElement),o.push(this.colGroupStickyHeader)),this.colGroupStickyFooter&&(h.push(this.colGroupStickyFooter.parentElement),o.push(this.colGroupStickyFooter)),h.forEach(n=>n.classList.add("k-autofitting"));const u=[];o.forEach(n=>{i.forEach(d=>{n.children[d]&&(n.children[d].width="",u[d]=Math.max(u[d]||0,n.children[d].offsetWidth+g))})}),o.forEach(n=>{i.forEach(d=>{if(n.children[d]){n.children[d].width=u[d]+"px";const G=a.find(S=>S.id===t[d].id);G&&(G.width=u[d])}})}),h.forEach(n=>n.classList.remove("k-autofitting")),this.onResize(i[0],0,0,s,!0,this.columnsState,l[0])},this.updateColElements=s=>{var a,e;const l=this.columns.filter(r=>!r.hidden&&!r.children.length);let c=1e-10;for(let r=0;r<s.length;r++){const t=s[r],i=l.findIndex(d=>d.id===t.id),h=parseFloat((t.width||0).toString()),o=Math.floor(h);c+=h-o;const u=o+Math.floor(c);c-=Math.floor(c);const n=l.find(d=>d.id===t.id);if(!n)return;if(this.colGroupMain&&this.colGroupMain.children[i]){const d=parseInt(this.colGroupMain.children[i].width,10);this.colGroupMain.children[i].width=u+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,n,d-u)}if(this.colGroupHeader&&this.colGroupHeader.children[i]){const d=parseInt(this.colGroupHeader.children[i].width,10);this.colGroupHeader.children[i].width=u+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,n,d-u)}if(this.colGroupFooter&&this.colGroupFooter.children[i]){const d=parseInt(this.colGroupFooter.children[i].width,10);this.colGroupFooter.children[i].width=u+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,n,d-u)}if((a=this.colGroupStickyHeader)!=null&&a.children[i]){const d=parseInt(this.colGroupStickyHeader.children[i].width,10);this.colGroupStickyHeader.children[i].width=u+"px",this.updateNextLockedCol(this.colGroupStickyHeader.parentElement,n,d-u)}if((e=this.colGroupStickyFooter)!=null&&e.children[i]){const d=parseInt(this.colGroupStickyFooter.children[i].width,10);this.colGroupStickyFooter.children[i].width=u+"px",this.updateNextLockedCol(this.colGroupStickyFooter.parentElement,n,d-u)}}},this.onResize=p}applyWidthConstraints(p,s,l=1){if(!p.width)return p.width||"";const c=p.width.toString();if(c.includes("%")){const u=parseFloat(c)*l,n=Math.max(0,Math.min(100,u));return p.width=n+"%",p.width}let e=parseFloat(c)*l;const r=s.minResizableWidth===void 0?10:s.minResizableWidth,t=s==null?void 0:s.minWidth,i=t!==void 0?Math.max(r,t):r,h=s==null?void 0:s.maxWidth;return e<i&&(e=i),h!==void 0&&e>h&&(e=h),p.width=e,e}fixateInitialWidths(p){var r;let s=0;const l=((r=this.colGroupMain)==null?void 0:r.children)||[];for(let t=0;t<l.length;t++)l[t].width?p-=l[t].clientWidth:s++;if(s===0)return;const c=Math.floor(p/s),a=f.getFlatColumnsState(this.columnsState),e=this.columns.filter(t=>!t.children.length);for(let t=0;t<l.length;t++){const i=l[t],h=i.width?i.clientWidth:c;i.width=h;const o=a.find(u=>u.id===e[t].id);o&&(o.width=h.toString()),this.colGroupHeader&&(this.colGroupHeader.children[t].width=h),this.colGroupFooter&&(this.colGroupFooter.children[t].width=h),this.colGroupStickyHeader&&(this.colGroupStickyHeader.children[t].width=h),this.colGroupStickyFooter&&(this.colGroupStickyFooter.children[t].width=h)}}setWidths(p,s){const l=f.getFlatColumnsState(this.columnsState),c=this.columns.findIndex(t=>t.id===p.id),a=[];let e=p.children.filter(t=>!t.hidden).length;for(let t=c+1;t<this.columns.length&&!(e<=0);t++){const i=this.columns[t];i.children.length?e+=i.children.filter(h=>!h.hidden).length:a.push(i),e--}a.length===0&&a.push(p);const r=[];a.forEach(t=>{const i=l.find(h=>h.id===t.id);i&&(this.applyWidthConstraints(i,t,s),r.push(i))}),this.updateColElements(r)}updateNextLockedCol(p,s,l){const c=s.index,a=this.colGroupMain.parentElement.closest(".k-grid"),e=a==null?void 0:a.clientWidth,r=this.columns.filter(t=>t.locked).map(t=>parseInt(t.width+"",10)).reduce((t,i)=>t+i,0);!s.locked||e<=r+k||this.columns.forEach(t=>{if(t!=null&&t.locked&&l){const i=p==null?void 0:p.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');i==null||i.forEach(h=>{const o=h.style;this.isRtl?(t.index>c&&o&&o.right&&(o.right=parseInt(o.right,10)-l+"px"),t.index<c&&o&&o.left&&(o.left=parseInt(o.left,10)-l+"px")):(t.index>c&&o&&o.left&&(o.left=parseInt(o.left,10)-l+"px"),t.index<c&&o&&o.right&&(o.right=parseInt(o.right,10)-l+"px"))})}})}}exports.ColumnResize=w;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("../utils/index.js"),m=1,x=20;class S{constructor(a){this.columns=[],this.columnsState=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=s=>{this.isRtl=s},this.initWidths=()=>{var c;const s=((c=this.colGroupMain)==null?void 0:c.children)||[],h=p.getFlatColumnsState(this.columnsState),o=this.columns.filter(e=>{var l;return!((l=e.children)!=null&&l.length)});for(let e=0;e<s.length;e++){const l=o[e];let t="";const i=h.find(d=>d.id===o[e].id);i&&(t=this.applyWidthConstraints(i,l)),this.colGroups.forEach(d=>{d.children[e].width=t})}},this.dragHandler=(s,h,o,c)=>{const e=s.originalEvent;c||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation());const l=o.closest("th");if(!l||!l)return;const t=l.clientWidth;let i=t;if(this.isRtl?i+=o.getBoundingClientRect().right-o.offsetWidth/2-s.clientX:i+=s.clientX-o.getBoundingClientRect().left-o.offsetWidth/2,!c&&Math.abs(i-t)<1)return;this.fixateInitialWidths(l.parentElement.clientWidth),this.setWidths(h,Math.floor(i)/t);const d=this.columns.filter(n=>!n.children.length).findIndex(n=>n.id===h.id);this.onResize(d,t,i,e,c,this.columnsState,h.id)},this.dblClickHandler=(s,h)=>{const o=this.columns.filter(r=>h.indexOf(r.id)>-1),c=p.getFlatColumnsState(this.columnsState);if(!this.colGroupMain||!o.length)return;const e={},l=o;for(;l.length>0;){const r=l.pop();if(!r)break;r.children.length?l.push(...r.children):e[r.id]=r}const t=this.columns.filter(r=>!r.children.length),i=[];t.forEach((r,u)=>{e[r.id]&&i.push(u)});const d=this.colGroups,n=d.map(r=>r.parentElement);n.forEach(r=>r.classList.add("k-autofitting"));const f=[];d.forEach(r=>{i.forEach(u=>{r.children[u]&&(r.children[u].width="",f[u]=Math.max(f[u]||0,r.children[u].offsetWidth+m))})}),d.forEach(r=>{i.forEach(u=>{if(r.children[u]){r.children[u].width=f[u]+"px";const g=c.find(W=>W.id===t[u].id);g&&(g.width=f[u])}})}),n.forEach(r=>r.classList.remove("k-autofitting")),this.onResize(i[0],0,0,s,!0,this.columnsState,h[0])},this.updateColElements=s=>{const h=this.columns.filter(c=>!c.hidden&&!c.children.length);let o=1e-10;for(let c=0;c<s.length;c++){const e=s[c],l=h.findIndex(f=>f.id===e.id),t=parseFloat((e.width||0).toString()),i=Math.floor(t);o+=t-i;const d=i+Math.floor(o);o-=Math.floor(o);const n=h.find(f=>f.id===e.id);if(!n)return;this.colGroups.forEach(f=>{if(f.children[l]){const r=parseInt(f.children[l].width,10);f.children[l].width=d+"px",this.updateNextLockedCol(f.parentElement,n,r-d)}})}},this.onResize=a}get colGroups(){return[this.colGroupMain,this.colGroupHeader,this.colGroupFooter,this.colGroupStickyHeader,this.colGroupStickyFooter,this.colGroupPinnedTop,this.colGroupPinnedBottom].filter(Boolean)}applyWidthConstraints(a,s,h=1){if(!a.width)return a.width||"";const o=a.width.toString();if(o.includes("%")){const f=parseFloat(o)*h,r=Math.max(0,Math.min(100,f));return a.width=r+"%",a.width}let e=parseFloat(o)*h;const l=s.minResizableWidth===void 0?10:s.minResizableWidth,t=s==null?void 0:s.minWidth,i=t!==void 0?Math.max(l,t):l,d=s==null?void 0:s.maxWidth;return e<i&&(e=i),d!==void 0&&e>d&&(e=d),a.width=e,e}fixateInitialWidths(a){var l;let s=0;const h=((l=this.colGroupMain)==null?void 0:l.children)||[];for(let t=0;t<h.length;t++)h[t].width?a-=h[t].clientWidth:s++;if(s===0)return;const o=Math.floor(a/s),c=p.getFlatColumnsState(this.columnsState),e=this.columns.filter(t=>!t.children.length);for(let t=0;t<h.length;t++){const i=h[t],d=i.width?i.clientWidth:o,n=c.find(f=>f.id===e[t].id);n&&(n.width=d.toString()),this.colGroups.forEach(f=>{f.children[t].width=d})}}setWidths(a,s){const h=p.getFlatColumnsState(this.columnsState),o=this.columns.findIndex(t=>t.id===a.id),c=[];let e=a.children.filter(t=>!t.hidden).length;for(let t=o+1;t<this.columns.length&&!(e<=0);t++){const i=this.columns[t];i.children.length?e+=i.children.filter(d=>!d.hidden).length:c.push(i),e--}c.length===0&&c.push(a);const l=[];c.forEach(t=>{const i=h.find(d=>d.id===t.id);i&&(this.applyWidthConstraints(i,t,s),l.push(i))}),this.updateColElements(l)}updateNextLockedCol(a,s,h){const o=s.index,c=this.colGroupMain.parentElement.closest(".k-grid"),e=c==null?void 0:c.clientWidth,l=this.columns.filter(t=>t.locked).map(t=>parseInt(t.width+"",10)).reduce((t,i)=>t+i,0);!s.locked||e<=l+x||this.columns.forEach(t=>{if(t!=null&&t.locked&&h){const i=a==null?void 0:a.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');i==null||i.forEach(d=>{const n=d.style;this.isRtl?(t.index>o&&n&&n.right&&(n.right=parseInt(n.right,10)-h+"px"),t.index<o&&n&&n.left&&(n.left=parseInt(n.left,10)-h+"px")):(t.index>o&&n&&n.left&&(n.left=parseInt(n.left,10)-h+"px"),t.index<o&&n&&n.right&&(n.right=parseInt(n.right,10)-h+"px"))})}})}}exports.ColumnResize=S;
@@ -6,168 +6,158 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  import { getFlatColumnsState as u } from "../utils/index.mjs";
9
- const S = 1, w = 20;
10
- class x {
11
- constructor(p) {
9
+ const x = 1, m = 20;
10
+ class S {
11
+ constructor(a) {
12
12
  this.columns = [], this.columnsState = [], this.resizable = !1, this.isRtl = !1, this.setIsRtl = (s) => {
13
13
  this.isRtl = s;
14
14
  }, this.initWidths = () => {
15
- var a;
16
- const s = ((a = this.colGroupMain) == null ? void 0 : a.children) || [], l = u(this.columnsState), c = this.columns.filter((e) => {
15
+ var c;
16
+ const s = ((c = this.colGroupMain) == null ? void 0 : c.children) || [], h = u(this.columnsState), o = this.columns.filter((e) => {
17
17
  var r;
18
18
  return !((r = e.children) != null && r.length);
19
19
  });
20
20
  for (let e = 0; e < s.length; e++) {
21
- const r = s[e], t = c[e];
22
- let i = "";
23
- const h = l.find((o) => o.id === c[e].id);
24
- h && (i = this.applyWidthConstraints(h, t)), r.width = i, this.colGroupHeader && (this.colGroupHeader.children[e].width = i), this.colGroupFooter && (this.colGroupFooter.children[e].width = i), this.colGroupStickyHeader && (this.colGroupStickyHeader.children[e].width = i), this.colGroupStickyFooter && (this.colGroupStickyFooter.children[e].width = i);
21
+ const r = o[e];
22
+ let t = "";
23
+ const i = h.find((d) => d.id === o[e].id);
24
+ i && (t = this.applyWidthConstraints(i, r)), this.colGroups.forEach((d) => {
25
+ d.children[e].width = t;
26
+ });
25
27
  }
26
- }, this.dragHandler = (s, l, c, a) => {
28
+ }, this.dragHandler = (s, h, o, c) => {
27
29
  const e = s.originalEvent;
28
- a || (e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation());
29
- const r = c.closest("th");
30
+ c || (e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation());
31
+ const r = o.closest("th");
30
32
  if (!r || !r)
31
33
  return;
32
34
  const t = r.clientWidth;
33
35
  let i = t;
34
- if (this.isRtl ? i += c.getBoundingClientRect().right - c.offsetWidth / 2 - s.clientX : i += s.clientX - c.getBoundingClientRect().left - c.offsetWidth / 2, !a && Math.abs(i - t) < 1)
36
+ if (this.isRtl ? i += o.getBoundingClientRect().right - o.offsetWidth / 2 - s.clientX : i += s.clientX - o.getBoundingClientRect().left - o.offsetWidth / 2, !c && Math.abs(i - t) < 1)
35
37
  return;
36
- this.fixateInitialWidths(r.parentElement.clientWidth), this.setWidths(l, Math.floor(i) / t);
37
- const h = this.columns.filter((o) => !o.children.length).findIndex((o) => o.id === l.id);
38
- this.onResize(h, t, i, e, a, this.columnsState, l.id);
39
- }, this.dblClickHandler = (s, l) => {
40
- const c = this.columns.filter((n) => l.indexOf(n.id) > -1), a = u(this.columnsState);
41
- if (!this.colGroupMain || !c.length)
38
+ this.fixateInitialWidths(r.parentElement.clientWidth), this.setWidths(h, Math.floor(i) / t);
39
+ const d = this.columns.filter((n) => !n.children.length).findIndex((n) => n.id === h.id);
40
+ this.onResize(d, t, i, e, c, this.columnsState, h.id);
41
+ }, this.dblClickHandler = (s, h) => {
42
+ const o = this.columns.filter((l) => h.indexOf(l.id) > -1), c = u(this.columnsState);
43
+ if (!this.colGroupMain || !o.length)
42
44
  return;
43
- const e = {}, r = c;
45
+ const e = {}, r = o;
44
46
  for (; r.length > 0; ) {
45
- const n = r.pop();
46
- if (!n)
47
+ const l = r.pop();
48
+ if (!l)
47
49
  break;
48
- n.children.length ? r.push(...n.children) : e[n.id] = n;
50
+ l.children.length ? r.push(...l.children) : e[l.id] = l;
49
51
  }
50
- const t = this.columns.filter((n) => !n.children.length), i = [];
51
- t.forEach((n, d) => {
52
- e[n.id] && i.push(d);
52
+ const t = this.columns.filter((l) => !l.children.length), i = [];
53
+ t.forEach((l, p) => {
54
+ e[l.id] && i.push(p);
53
55
  });
54
- const h = [this.colGroupMain.parentElement], o = [this.colGroupMain];
55
- this.colGroupHeader && (h.push(this.colGroupHeader.parentElement), o.push(this.colGroupHeader)), this.colGroupFooter && (h.push(this.colGroupFooter.parentElement), o.push(this.colGroupFooter)), this.colGroupStickyHeader && (h.push(this.colGroupStickyHeader.parentElement), o.push(this.colGroupStickyHeader)), this.colGroupStickyFooter && (h.push(this.colGroupStickyFooter.parentElement), o.push(this.colGroupStickyFooter)), h.forEach((n) => n.classList.add("k-autofitting"));
56
+ const d = this.colGroups, n = d.map((l) => l.parentElement);
57
+ n.forEach((l) => l.classList.add("k-autofitting"));
56
58
  const f = [];
57
- o.forEach((n) => {
58
- i.forEach((d) => {
59
- n.children[d] && (n.children[d].width = "", f[d] = Math.max(
60
- f[d] || 0,
61
- n.children[d].offsetWidth + S
59
+ d.forEach((l) => {
60
+ i.forEach((p) => {
61
+ l.children[p] && (l.children[p].width = "", f[p] = Math.max(
62
+ f[p] || 0,
63
+ l.children[p].offsetWidth + x
62
64
  ));
63
65
  });
64
- }), o.forEach((n) => {
65
- i.forEach((d) => {
66
- if (n.children[d]) {
67
- n.children[d].width = f[d] + "px";
68
- const G = a.find((k) => k.id === t[d].id);
69
- G && (G.width = f[d]);
66
+ }), d.forEach((l) => {
67
+ i.forEach((p) => {
68
+ if (l.children[p]) {
69
+ l.children[p].width = f[p] + "px";
70
+ const g = c.find((W) => W.id === t[p].id);
71
+ g && (g.width = f[p]);
70
72
  }
71
73
  });
72
- }), h.forEach((n) => n.classList.remove("k-autofitting")), this.onResize(i[0], 0, 0, s, !0, this.columnsState, l[0]);
74
+ }), n.forEach((l) => l.classList.remove("k-autofitting")), this.onResize(i[0], 0, 0, s, !0, this.columnsState, h[0]);
73
75
  }, this.updateColElements = (s) => {
74
- var a, e;
75
- const l = this.columns.filter((r) => !r.hidden && !r.children.length);
76
- let c = 1e-10;
77
- for (let r = 0; r < s.length; r++) {
78
- const t = s[r], i = l.findIndex((d) => d.id === t.id), h = parseFloat((t.width || 0).toString()), o = Math.floor(h);
79
- c += h - o;
80
- const f = o + Math.floor(c);
81
- c -= Math.floor(c);
82
- const n = l.find((d) => d.id === t.id);
76
+ const h = this.columns.filter((c) => !c.hidden && !c.children.length);
77
+ let o = 1e-10;
78
+ for (let c = 0; c < s.length; c++) {
79
+ const e = s[c], r = h.findIndex((f) => f.id === e.id), t = parseFloat((e.width || 0).toString()), i = Math.floor(t);
80
+ o += t - i;
81
+ const d = i + Math.floor(o);
82
+ o -= Math.floor(o);
83
+ const n = h.find((f) => f.id === e.id);
83
84
  if (!n)
84
85
  return;
85
- if (this.colGroupMain && this.colGroupMain.children[i]) {
86
- const d = parseInt(this.colGroupMain.children[i].width, 10);
87
- this.colGroupMain.children[i].width = f + "px", this.updateNextLockedCol(this.colGroupMain.parentElement, n, d - f);
88
- }
89
- if (this.colGroupHeader && this.colGroupHeader.children[i]) {
90
- const d = parseInt(this.colGroupHeader.children[i].width, 10);
91
- this.colGroupHeader.children[i].width = f + "px", this.updateNextLockedCol(this.colGroupHeader.parentElement, n, d - f);
92
- }
93
- if (this.colGroupFooter && this.colGroupFooter.children[i]) {
94
- const d = parseInt(this.colGroupFooter.children[i].width, 10);
95
- this.colGroupFooter.children[i].width = f + "px", this.updateNextLockedCol(this.colGroupFooter.parentElement, n, d - f);
96
- }
97
- if ((a = this.colGroupStickyHeader) != null && a.children[i]) {
98
- const d = parseInt(this.colGroupStickyHeader.children[i].width, 10);
99
- this.colGroupStickyHeader.children[i].width = f + "px", this.updateNextLockedCol(
100
- this.colGroupStickyHeader.parentElement,
101
- n,
102
- d - f
103
- );
104
- }
105
- if ((e = this.colGroupStickyFooter) != null && e.children[i]) {
106
- const d = parseInt(this.colGroupStickyFooter.children[i].width, 10);
107
- this.colGroupStickyFooter.children[i].width = f + "px", this.updateNextLockedCol(
108
- this.colGroupStickyFooter.parentElement,
109
- n,
110
- d - f
111
- );
112
- }
86
+ this.colGroups.forEach((f) => {
87
+ if (f.children[r]) {
88
+ const l = parseInt(f.children[r].width, 10);
89
+ f.children[r].width = d + "px", this.updateNextLockedCol(f.parentElement, n, l - d);
90
+ }
91
+ });
113
92
  }
114
- }, this.onResize = p;
93
+ }, this.onResize = a;
94
+ }
95
+ get colGroups() {
96
+ return [
97
+ this.colGroupMain,
98
+ this.colGroupHeader,
99
+ this.colGroupFooter,
100
+ this.colGroupStickyHeader,
101
+ this.colGroupStickyFooter,
102
+ this.colGroupPinnedTop,
103
+ this.colGroupPinnedBottom
104
+ ].filter(Boolean);
115
105
  }
116
- applyWidthConstraints(p, s, l = 1) {
117
- if (!p.width)
118
- return p.width || "";
119
- const c = p.width.toString();
120
- if (c.includes("%")) {
121
- const f = parseFloat(c) * l, n = Math.max(0, Math.min(100, f));
122
- return p.width = n + "%", p.width;
106
+ applyWidthConstraints(a, s, h = 1) {
107
+ if (!a.width)
108
+ return a.width || "";
109
+ const o = a.width.toString();
110
+ if (o.includes("%")) {
111
+ const f = parseFloat(o) * h, l = Math.max(0, Math.min(100, f));
112
+ return a.width = l + "%", a.width;
123
113
  }
124
- let e = parseFloat(c) * l;
125
- const r = s.minResizableWidth === void 0 ? 10 : s.minResizableWidth, t = s == null ? void 0 : s.minWidth, i = t !== void 0 ? Math.max(r, t) : r, h = s == null ? void 0 : s.maxWidth;
126
- return e < i && (e = i), h !== void 0 && e > h && (e = h), p.width = e, e;
114
+ let e = parseFloat(o) * h;
115
+ const r = s.minResizableWidth === void 0 ? 10 : s.minResizableWidth, t = s == null ? void 0 : s.minWidth, i = t !== void 0 ? Math.max(r, t) : r, d = s == null ? void 0 : s.maxWidth;
116
+ return e < i && (e = i), d !== void 0 && e > d && (e = d), a.width = e, e;
127
117
  }
128
- fixateInitialWidths(p) {
118
+ fixateInitialWidths(a) {
129
119
  var r;
130
120
  let s = 0;
131
- const l = ((r = this.colGroupMain) == null ? void 0 : r.children) || [];
132
- for (let t = 0; t < l.length; t++)
133
- l[t].width ? p -= l[t].clientWidth : s++;
121
+ const h = ((r = this.colGroupMain) == null ? void 0 : r.children) || [];
122
+ for (let t = 0; t < h.length; t++)
123
+ h[t].width ? a -= h[t].clientWidth : s++;
134
124
  if (s === 0)
135
125
  return;
136
- const c = Math.floor(p / s), a = u(this.columnsState), e = this.columns.filter((t) => !t.children.length);
137
- for (let t = 0; t < l.length; t++) {
138
- const i = l[t], h = i.width ? i.clientWidth : c;
139
- i.width = h;
140
- const o = a.find((f) => f.id === e[t].id);
141
- o && (o.width = h.toString()), this.colGroupHeader && (this.colGroupHeader.children[t].width = h), this.colGroupFooter && (this.colGroupFooter.children[t].width = h), this.colGroupStickyHeader && (this.colGroupStickyHeader.children[t].width = h), this.colGroupStickyFooter && (this.colGroupStickyFooter.children[t].width = h);
126
+ const o = Math.floor(a / s), c = u(this.columnsState), e = this.columns.filter((t) => !t.children.length);
127
+ for (let t = 0; t < h.length; t++) {
128
+ const i = h[t], d = i.width ? i.clientWidth : o, n = c.find((f) => f.id === e[t].id);
129
+ n && (n.width = d.toString()), this.colGroups.forEach((f) => {
130
+ f.children[t].width = d;
131
+ });
142
132
  }
143
133
  }
144
- setWidths(p, s) {
145
- const l = u(this.columnsState), c = this.columns.findIndex((t) => t.id === p.id), a = [];
146
- let e = p.children.filter((t) => !t.hidden).length;
147
- for (let t = c + 1; t < this.columns.length && !(e <= 0); t++) {
134
+ setWidths(a, s) {
135
+ const h = u(this.columnsState), o = this.columns.findIndex((t) => t.id === a.id), c = [];
136
+ let e = a.children.filter((t) => !t.hidden).length;
137
+ for (let t = o + 1; t < this.columns.length && !(e <= 0); t++) {
148
138
  const i = this.columns[t];
149
- i.children.length ? e += i.children.filter((h) => !h.hidden).length : a.push(i), e--;
139
+ i.children.length ? e += i.children.filter((d) => !d.hidden).length : c.push(i), e--;
150
140
  }
151
- a.length === 0 && a.push(p);
141
+ c.length === 0 && c.push(a);
152
142
  const r = [];
153
- a.forEach((t) => {
154
- const i = l.find((h) => h.id === t.id);
143
+ c.forEach((t) => {
144
+ const i = h.find((d) => d.id === t.id);
155
145
  i && (this.applyWidthConstraints(i, t, s), r.push(i));
156
146
  }), this.updateColElements(r);
157
147
  }
158
- updateNextLockedCol(p, s, l) {
159
- const c = s.index, a = this.colGroupMain.parentElement.closest(".k-grid"), e = a == null ? void 0 : a.clientWidth, r = this.columns.filter((t) => t.locked).map((t) => parseInt(t.width + "", 10)).reduce((t, i) => t + i, 0);
160
- !s.locked || e <= r + w || this.columns.forEach((t) => {
161
- if (t != null && t.locked && l) {
162
- const i = p == null ? void 0 : p.querySelectorAll('[aria-colindex="' + t.ariaColumnIndex + '"]');
163
- i == null || i.forEach((h) => {
164
- const o = h.style;
165
- this.isRtl ? (t.index > c && o && o.right && (o.right = parseInt(o.right, 10) - l + "px"), t.index < c && o && o.left && (o.left = parseInt(o.left, 10) - l + "px")) : (t.index > c && o && o.left && (o.left = parseInt(o.left, 10) - l + "px"), t.index < c && o && o.right && (o.right = parseInt(o.right, 10) - l + "px"));
148
+ updateNextLockedCol(a, s, h) {
149
+ const o = s.index, c = this.colGroupMain.parentElement.closest(".k-grid"), e = c == null ? void 0 : c.clientWidth, r = this.columns.filter((t) => t.locked).map((t) => parseInt(t.width + "", 10)).reduce((t, i) => t + i, 0);
150
+ !s.locked || e <= r + m || this.columns.forEach((t) => {
151
+ if (t != null && t.locked && h) {
152
+ const i = a == null ? void 0 : a.querySelectorAll('[aria-colindex="' + t.ariaColumnIndex + '"]');
153
+ i == null || i.forEach((d) => {
154
+ const n = d.style;
155
+ this.isRtl ? (t.index > o && n && n.right && (n.right = parseInt(n.right, 10) - h + "px"), t.index < o && n && n.left && (n.left = parseInt(n.left, 10) - h + "px")) : (t.index > o && n && n.left && (n.left = parseInt(n.left, 10) - h + "px"), t.index < o && n && n.right && (n.right = parseInt(n.right, 10) - h + "px"));
166
156
  });
167
157
  }
168
158
  });
169
159
  }
170
160
  }
171
161
  export {
172
- x as ColumnResize
162
+ S as ColumnResize
173
163
  };
@@ -5,6 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ import { EditDescriptor } from '@progress/kendo-react-data-tools';
8
9
  import { ExtendedColumnProps } from './GridColumn.js';
9
10
  import { DataItemWrapper } from './utils/index.js';
10
11
  import { GridCellProps } from './interfaces/GridCellProps.js';
@@ -32,7 +33,6 @@ export interface DataRowContext {
32
33
  isRowReorderable?: boolean;
33
34
  sort?: SortDescriptor[];
34
35
  editable?: any;
35
- edit?: Record<string, any>;
36
36
  isClient?: boolean;
37
37
  isEditDialog?: boolean;
38
38
  dataItemKey?: string;
@@ -55,4 +55,4 @@ export interface DataRowResult {
55
55
  /**
56
56
  * @hidden
57
57
  */
58
- export declare function getRowContents(ctx: DataRowContext, item: DataItemWrapper, rowId: string, rowDataIndex: number, isAlt: boolean, spannedRows?: Record<string, Required<GridCellProps['_rowSpan']>>): DataRowResult;
58
+ export declare function getRowContents(ctx: DataRowContext, edit: EditDescriptor | undefined, item: DataItemWrapper, rowId: string, rowDataIndex: number, isAlt: boolean, spannedRows?: Record<string, Required<GridCellProps['_rowSpan']>>): DataRowResult;
package/getRowContents.js CHANGED
@@ -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 U=require("react"),s=require("@progress/kendo-react-common"),W=require("@progress/kendo-react-data-tools"),O=require("./utils/index.js"),X=require("./cells/datacell/GridCell.js"),Y=require("./cells/datacell/GridCellServer.js"),Z=require("./cells/editcell/GridEditCell.js"),ee=require("./cells/editcell/GridEditCellServer.js");function te(l){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const d in l)if(d!=="default"){const g=Object.getOwnPropertyDescriptor(l,d);Object.defineProperty(t,d,g.get?g:{enumerable:!0,get:()=>l[d]})}}return t.default=l,Object.freeze(t)}const le=te(U);function oe(l,t,d,g,q,i){const{leafColumns:C,columnsState:R,idPrefix:_,gridClasses:A,unstyled:D,localization:N,intl:P,cells:j,isRowReorderable:x,sort:H,editable:K,edit:v,isClient:b,isEditDialog:V,dataItemKey:o,select:S,highlight:T}=l;let h=!1;const c=S&&o&&s.getter(o)(t.dataItem)!==void 0?S[s.getter(o)(t.dataItem)]:void 0,f=T&&o&&s.getter(o)(t.dataItem)!==void 0?T[s.getter(o)(t.dataItem)]:void 0;return{row:(l.hasDynamicColSpan?l.getCellsToRender(t.dataItem):l.cellsToRender).map(({columnIndex:a,colSpan:z})=>{var I,k,m,E,w,G;const e=C[a],y=R[a],B=(k=(I=e.locked)!=null?I:y==null?void 0:y.locked)!=null?k:!1;let u;if((m=e.rowSpannable)!=null&&m.enabled&&t.rowType==="data"&&e.field&&i){const r=e.field?(w=(E=e.rowSpannable).valueGetter)==null?void 0:w.call(E,t.dataItem,e.field):null;u={value:r,count:1},i[e.field]&&((G=i[e.field])==null?void 0:G.value)===r&&i[e.field]!==null?(i[e.field].count++,u.count=null):i[e.field]=u}const M=e.id?e.id:a,$=s.classNames(A.contentSticky({locked:B}),e.className),F=e.left!==void 0?{left:e.left,right:e.right}:{};let p=!1;if(e.editable&&K){const r=v&&o?v[s.getter(o)(t.dataItem)]:void 0;let n;typeof r=="boolean"?n=r:Array.isArray(r)?n=e.field?r.indexOf(e.field)>-1:!1:n=e.field!==void 0&&r===e.field,n&&e.columnType==="data"&&(n===!0||n===e.field)&&(h=!0,V||(p=!0))}const L=e._type==="expand",J={locked:e.locked,id:W.tableKeyboardNavigationTools.generateNavigatableId(`${d}-${String(a)}`,_,L||t.rowType==="groupHeader"||t.rowType==="groupFooter"||e.field==="value"?"nodata":"cell"),colSpan:z,dataItem:t.dataItem,field:e.field,editor:e.editor,format:e.format,columnType:e.columnType,rowReorderable:x,className:$,cells:O.resolveCells(j,e.cells),columnIndex:a,columnsCount:C.length,rowType:t.rowType,level:t.level,expanded:t.expanded,dataIndex:t.dataIndex,rowDataIndex:g,columnPosition:F,style:{},ariaColumnIndex:e.ariaColumnIndex,isSelected:!!((e==null?void 0:e._type)==="edit"?c:Array.isArray(c)&&c.indexOf(a)>-1),isHighlighted:!!((e==null?void 0:e._type)==="edit"?f:Array.isArray(f)&&f.indexOf(a)>-1),isSorted:!!O.isSorted(e.field,H),isInEdit:p,isAlt:q,unstyled:D,group:t.group,localization:N,intl:P,_rowSpan:u},Q=e.defaultCell||p&&(b?Z.GridEditCell:ee.GridEditCellServer)||(b?X.GridCell:Y.GridCellServer);return le.createElement(Q,{key:M,cellProps:J})}),isInEdit:h,isSelected:typeof c=="boolean"&&c,isHighlighted:typeof f=="boolean"&&f}}exports.getRowContents=oe;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const U=require("react"),s=require("@progress/kendo-react-common"),W=require("@progress/kendo-react-data-tools"),G=require("./utils/index.js"),X=require("./cells/datacell/GridCell.js"),Y=require("./cells/datacell/GridCellServer.js"),Z=require("./cells/editcell/GridEditCell.js"),ee=require("./cells/editcell/GridEditCellServer.js");function te(l){const d=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const t in l)if(t!=="default"){const g=Object.getOwnPropertyDescriptor(l,t);Object.defineProperty(d,t,g.get?g:{enumerable:!0,get:()=>l[t]})}}return d.default=l,Object.freeze(d)}const le=te(U);function oe(l,d,t,g,O,q,i){const{leafColumns:C,columnsState:R,idPrefix:_,gridClasses:A,unstyled:D,localization:N,intl:P,cells:j,isRowReorderable:x,sort:H,editable:K,isClient:v,isEditDialog:V,dataItemKey:o,select:b,highlight:S}=l;let T=!1;const c=b&&o&&s.getter(o)(t.dataItem)!==void 0?b[s.getter(o)(t.dataItem)]:void 0,f=S&&o&&s.getter(o)(t.dataItem)!==void 0?S[s.getter(o)(t.dataItem)]:void 0;return{row:(l.hasDynamicColSpan?l.getCellsToRender(t.dataItem):l.cellsToRender).map(({columnIndex:a,colSpan:z})=>{var h,I,k,m,E,w;const e=C[a],y=R[a],B=(I=(h=e.locked)!=null?h:y==null?void 0:y.locked)!=null?I:!1;let u;if((k=e.rowSpannable)!=null&&k.enabled&&t.rowType==="data"&&e.field&&i){const r=e.field?(E=(m=e.rowSpannable).valueGetter)==null?void 0:E.call(m,t.dataItem,e.field):null;u={value:r,count:1},i[e.field]&&((w=i[e.field])==null?void 0:w.value)===r&&i[e.field]!==null?(i[e.field].count++,u.count=null):i[e.field]=u}const M=e.id?e.id:a,$=s.classNames(A.contentSticky({locked:B}),e.className),F=e.left!==void 0?{left:e.left,right:e.right}:{};let p=!1;if(e.editable&&K){const r=d&&o?d[s.getter(o)(t.dataItem)]:void 0;let n;typeof r=="boolean"?n=r:Array.isArray(r)?n=e.field?r.indexOf(e.field)>-1:!1:n=e.field!==void 0&&r===e.field,n&&e.columnType==="data"&&(n===!0||n===e.field)&&(T=!0,V||(p=!0))}const L=e._type==="expand",J={locked:e.locked,id:W.tableKeyboardNavigationTools.generateNavigatableId(`${g}-${String(a)}`,_,L||t.rowType==="groupHeader"||t.rowType==="groupFooter"||e.field==="value"?"nodata":"cell"),colSpan:z,dataItem:t.dataItem,field:e.field,editor:e.editor,format:e.format,columnType:e.columnType,rowReorderable:x,className:$,cells:G.resolveCells(j,e.cells),columnIndex:a,columnsCount:C.length,rowType:t.rowType,level:t.level,expanded:t.expanded,dataIndex:t.dataIndex,rowDataIndex:O,columnPosition:F,style:{},ariaColumnIndex:e.ariaColumnIndex,isSelected:!!((e==null?void 0:e._type)==="edit"?c:Array.isArray(c)&&c.indexOf(a)>-1),isHighlighted:!!((e==null?void 0:e._type)==="edit"?f:Array.isArray(f)&&f.indexOf(a)>-1),isSorted:!!G.isSorted(e.field,H),isInEdit:p,isAlt:q,unstyled:D,group:t.group,localization:N,intl:P,_rowSpan:u},Q=e.defaultCell||p&&(v?Z.GridEditCell:ee.GridEditCellServer)||(v?X.GridCell:Y.GridCellServer);return le.createElement(Q,{key:M,cellProps:J})}),isInEdit:T,isSelected:typeof c=="boolean"&&c,isHighlighted:typeof f=="boolean"&&f}}exports.getRowContents=oe;
@@ -13,9 +13,9 @@ import { GridCell as Z } from "./cells/datacell/GridCell.mjs";
13
13
  import { GridCellServer as ee } from "./cells/datacell/GridCellServer.mjs";
14
14
  import { GridEditCell as le } from "./cells/editcell/GridEditCell.mjs";
15
15
  import { GridEditCellServer as te } from "./cells/editcell/GridEditCellServer.mjs";
16
- function ce(c, l, w, A, G, i) {
16
+ function ce(c, y, l, w, A, G, a) {
17
17
  const {
18
- leafColumns: y,
18
+ leafColumns: g,
19
19
  columnsState: N,
20
20
  idPrefix: x,
21
21
  gridClasses: _,
@@ -26,7 +26,6 @@ function ce(c, l, w, A, G, i) {
26
26
  isRowReorderable: P,
27
27
  sort: R,
28
28
  editable: V,
29
- edit: g,
30
29
  isClient: m,
31
30
  isEditDialog: B,
32
31
  dataItemKey: t,
@@ -36,25 +35,25 @@ function ce(c, l, w, A, G, i) {
36
35
  let h = !1;
37
36
  const d = v && t && f(t)(l.dataItem) !== void 0 ? v[f(t)(l.dataItem)] : void 0, s = C && t && f(t)(l.dataItem) !== void 0 ? C[f(t)(l.dataItem)] : void 0;
38
37
  return {
39
- row: (c.hasDynamicColSpan ? c.getCellsToRender(l.dataItem) : c.cellsToRender).map(({ columnIndex: a, colSpan: $ }) => {
38
+ row: (c.hasDynamicColSpan ? c.getCellsToRender(l.dataItem) : c.cellsToRender).map(({ columnIndex: i, colSpan: $ }) => {
40
39
  var b, I, S, T, k, E;
41
- const e = y[a], p = N[a], z = (I = (b = e.locked) != null ? b : p == null ? void 0 : p.locked) != null ? I : !1;
40
+ const e = g[i], p = N[i], z = (I = (b = e.locked) != null ? b : p == null ? void 0 : p.locked) != null ? I : !1;
42
41
  let n;
43
- if ((S = e.rowSpannable) != null && S.enabled && l.rowType === "data" && e.field && i) {
42
+ if ((S = e.rowSpannable) != null && S.enabled && l.rowType === "data" && e.field && a) {
44
43
  const o = e.field ? (k = (T = e.rowSpannable).valueGetter) == null ? void 0 : k.call(T, l.dataItem, e.field) : null;
45
- n = { value: o, count: 1 }, i[e.field] && ((E = i[e.field]) == null ? void 0 : E.value) === o && i[e.field] !== null ? (i[e.field].count++, n.count = null) : i[e.field] = n;
44
+ n = { value: o, count: 1 }, a[e.field] && ((E = a[e.field]) == null ? void 0 : E.value) === o && a[e.field] !== null ? (a[e.field].count++, n.count = null) : a[e.field] = n;
46
45
  }
47
- const F = e.id ? e.id : a, L = U(_.contentSticky({ locked: z }), e.className), j = e.left !== void 0 ? { left: e.left, right: e.right } : {};
46
+ const F = e.id ? e.id : i, L = U(_.contentSticky({ locked: z }), e.className), j = e.left !== void 0 ? { left: e.left, right: e.right } : {};
48
47
  let u = !1;
49
48
  if (e.editable && V) {
50
- const o = g && t ? g[f(t)(l.dataItem)] : void 0;
49
+ const o = y && t ? y[f(t)(l.dataItem)] : void 0;
51
50
  let r;
52
51
  typeof o == "boolean" ? r = o : Array.isArray(o) ? r = e.field ? o.indexOf(e.field) > -1 : !1 : r = e.field !== void 0 && o === e.field, r && e.columnType === "data" && (r === !0 || r === e.field) && (h = !0, B || (u = !0));
53
52
  }
54
53
  const q = e._type === "expand", J = {
55
54
  locked: e.locked,
56
55
  id: W.generateNavigatableId(
57
- `${w}-${String(a)}`,
56
+ `${w}-${String(i)}`,
58
57
  x,
59
58
  q || l.rowType === "groupHeader" || l.rowType === "groupFooter" || e.field === "value" ? "nodata" : "cell"
60
59
  ),
@@ -67,8 +66,8 @@ function ce(c, l, w, A, G, i) {
67
66
  rowReorderable: P,
68
67
  className: L,
69
68
  cells: Y(O, e.cells),
70
- columnIndex: a,
71
- columnsCount: y.length,
69
+ columnIndex: i,
70
+ columnsCount: g.length,
72
71
  rowType: l.rowType,
73
72
  level: l.level,
74
73
  expanded: l.expanded,
@@ -77,8 +76,8 @@ function ce(c, l, w, A, G, i) {
77
76
  columnPosition: j,
78
77
  style: {},
79
78
  ariaColumnIndex: e.ariaColumnIndex,
80
- isSelected: !!((e == null ? void 0 : e._type) === "edit" ? d : Array.isArray(d) && d.indexOf(a) > -1),
81
- isHighlighted: !!((e == null ? void 0 : e._type) === "edit" ? s : Array.isArray(s) && s.indexOf(a) > -1),
79
+ isSelected: !!((e == null ? void 0 : e._type) === "edit" ? d : Array.isArray(d) && d.indexOf(i) > -1),
80
+ isHighlighted: !!((e == null ? void 0 : e._type) === "edit" ? s : Array.isArray(s) && s.indexOf(i) > -1),
82
81
  isSorted: !!X(e.field, R),
83
82
  isInEdit: u,
84
83
  isAlt: G,
@@ -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 GridHeaderPinCell: (props: any) => React.JSX.Element;
@@ -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 c=require("react"),l=require("../GridHeaderCell.js");function a(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const o=a(c),i=e=>o.createElement(l.GridHeaderCell,{...e});exports.GridHeaderPinCell=i;
@@ -0,0 +1,14 @@
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 r from "react";
10
+ import { GridHeaderCell as t } from "../GridHeaderCell.mjs";
11
+ const a = (e) => /* @__PURE__ */ r.createElement(t, { ...e });
12
+ export {
13
+ a as GridHeaderPinCell
14
+ };
package/index.d.mts CHANGED
@@ -35,12 +35,14 @@ import { GridReorderDropPosition } from './interfaces/GridReorderDropDir.js';
35
35
  import { GridDataType } from './interfaces/GridDataType.js';
36
36
  import { GridRowReorderSettings } from './interfaces/GridRowReorderSettings.js';
37
37
  import { GridColumnType } from './interfaces/ColumnType.js';
38
- import { GridRowReorderEvent } from './interfaces/events.js';
38
+ import { GridRowReorderEvent, GridRowPinChangeEvent } from './interfaces/events.js';
39
39
  import { GridFilterOperators } from './interfaces/GridFilterOperators.js';
40
40
  import { GridFilterOperator } from './interfaces/GridFilterOperator.js';
41
41
  import { GridHeaderCell } from './header/GridHeaderCell.js';
42
42
  import { GridHeaderCellProps } from './interfaces/GridHeaderCellProps.js';
43
43
  import { GridSelectionCell } from './cells/selectioncell/GridSelectionCell.js';
44
+ import { GridPinCell } from './cells/pincell/GridPinCell.js';
45
+ import { GridHeaderPinCell } from './header/client/GridHeaderPinCell.js';
44
46
  import { GridDetailRow } from './rows/GridDetailRow.js';
45
47
  import { GridDetailRowProps } from './interfaces/GridDetailRowProps.js';
46
48
  import { GridRow } from './rows/GridRow.js';
@@ -90,5 +92,6 @@ export * from './GridSearchBox.js';
90
92
  export * from './GridPdfExportButton.js';
91
93
  export * from './GridCsvExportButton.js';
92
94
  export * from './toolbar-tools/smartbox/index.js';
93
- export { CompositeHighlightDescriptor, Grid, GridHandle, GridHighlightDescriptor, GridProps, GridColumn, GridColumnProps, GridColSpanProps, GridEditDialogProps, GridColumnChildrenProps, GridCellProps, GridColumnType, GridRowReorderEvent, GridDataType, GridRowReorderSettings, GridCell, GridEditCell, GridGroupCell, GridHierarchyCell, GridDetailRow, GridDetailRowProps, GridRow, GridRowProps, GridFilterCell, GridFilterCellProps, GridHeaderCell, GridHeaderCellProps, GridSelectionCell, GridColumnMenuProps, GridReorderDropPosition, GridColumnMenuSort, GridColumnMenuFilter, GridColumnMenuGroup, GridColumnMenuItem, GridColumnMenuItemContent, GridColumnMenuItemGroup, GridColumnMenuFilterUI, GridColumnMenuFilterUIProps, GridColumnMenuFilterCell, GridColumnMenuFilterCellProps, GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterProps, GridColumnMenuColumnsList, GridColumnMenuColumnsListProps, GridColumnMenuColumnsChooser, GridColumnMenuColumnsChooserProps, GridColumnMenuColumnProps, GridColumnState, GridRowType, GridToolbar, GridToolbarProps, GridToolbarAIAssistant, GridToolbarAIAssistantHandle, GridToolbarAIAssistantProps, GridToolbarAIAssistantRequestData, GridAIAssistantCommand, GridAICommands, GridAIPrompt, GridAIPromptProps, GridToolbarSpacer, GridToolbarSpacerProps, GridToolbarSeparator, GridToolbarSeparatorProps, GridToolbarCheckboxFilter, GridToolbarCheckboxFilterProps, GridToolbarColumnsChooser, GridToolbarColumnsChooserProps, GridToolbarFilter, GridToolbarFilterProps, GridToolbarSort, GridToolbarSortProps, GridToolbarGroup, GridToolbarGroupProps, GridNoRecords, GridNoRecordsProps, GridSortSettings, GridPagerSettings, GridGroupableSettings, GridFooterCellProps, GridSelectableMode, GridSelectableSettings, GridFilterOperators, GridFilterOperator, GridColumnMenuWrapper, GridColumnMenuWrapperProps, getSelectedState, setSelectedState, getSelectedStateFromKeyDown, GRID_COL_INDEX_ATTRIBUTE, GRID_ROW_INDEX_ATTRIBUTE, GRID_PREVENT_SELECTION_ELEMENT, GridCommonDragLogic, rootFilterOrDefault, filterGroupByField, isColumnMenuSortActive, isColumnMenuFilterActive, GridColumnMenuFilterProps, cellBoolDropdownChange, cellInputChange, cellOperatorChange, booleanFilterValues, operators, combineSmartFilters, parseFilterDates, GridRowSpannableSettings, handleAIResponse, GridAIState, GridAIResponseResult, GridCSVExportOptions, useGridAIRequest, GridAIRequestData, UseGridAIRequestOptions, UseGridAIRequestReturn };
95
+ export { CompositeHighlightDescriptor, Grid, GridHandle, GridHighlightDescriptor, GridProps, GridColumn, GridColumnProps, GridColSpanProps, GridEditDialogProps, GridColumnChildrenProps, GridCellProps, GridColumnType, GridRowReorderEvent, GridDataType, GridRowReorderSettings, GridCell, GridEditCell, GridGroupCell, GridHierarchyCell, GridDetailRow, GridDetailRowProps, GridRow, GridRowProps, GridFilterCell, GridFilterCellProps, GridHeaderCell, GridHeaderCellProps, GridSelectionCell, GridColumnMenuProps, GridReorderDropPosition, GridColumnMenuSort, GridColumnMenuFilter, GridColumnMenuGroup, GridColumnMenuItem, GridColumnMenuItemContent, GridColumnMenuItemGroup, GridColumnMenuFilterUI, GridColumnMenuFilterUIProps, GridColumnMenuFilterCell, GridColumnMenuFilterCellProps, GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterProps, GridColumnMenuColumnsList, GridColumnMenuColumnsListProps, GridColumnMenuColumnsChooser, GridColumnMenuColumnsChooserProps, GridColumnMenuColumnProps, GridColumnState, GridRowType, GridToolbar, GridToolbarProps, GridToolbarAIAssistant, GridToolbarAIAssistantHandle, GridToolbarAIAssistantProps, GridToolbarAIAssistantRequestData, GridAIAssistantCommand, GridAICommands, GridAIPrompt, GridAIPromptProps, GridToolbarSpacer, GridToolbarSpacerProps, GridToolbarSeparator, GridToolbarSeparatorProps, GridToolbarCheckboxFilter, GridToolbarCheckboxFilterProps, GridToolbarColumnsChooser, GridToolbarColumnsChooserProps, GridToolbarFilter, GridToolbarFilterProps, GridToolbarSort, GridToolbarSortProps, GridToolbarGroup, GridToolbarGroupProps, GridNoRecords, GridNoRecordsProps, GridSortSettings, GridPagerSettings, GridGroupableSettings, GridFooterCellProps, GridSelectableMode, GridSelectableSettings, GridFilterOperators, GridFilterOperator, GridColumnMenuWrapper, GridColumnMenuWrapperProps, getSelectedState, setSelectedState, getSelectedStateFromKeyDown, GRID_COL_INDEX_ATTRIBUTE, GRID_ROW_INDEX_ATTRIBUTE, GRID_PREVENT_SELECTION_ELEMENT, GridCommonDragLogic, rootFilterOrDefault, filterGroupByField, isColumnMenuSortActive, isColumnMenuFilterActive, GridColumnMenuFilterProps, cellBoolDropdownChange, cellInputChange, cellOperatorChange, booleanFilterValues, operators, combineSmartFilters, parseFilterDates, GridRowSpannableSettings, handleAIResponse, GridAIState, GridAIResponseResult, GridCSVExportOptions, useGridAIRequest, GridAIRequestData, UseGridAIRequestOptions, UseGridAIRequestReturn, GridRowPinChangeEvent };
96
+ export { GridPinCell, GridHeaderPinCell };
94
97
  export * from './interfaces/GridStackedLayoutSettings.js';
package/index.d.ts CHANGED
@@ -35,12 +35,14 @@ import { GridReorderDropPosition } from './interfaces/GridReorderDropDir.js';
35
35
  import { GridDataType } from './interfaces/GridDataType.js';
36
36
  import { GridRowReorderSettings } from './interfaces/GridRowReorderSettings.js';
37
37
  import { GridColumnType } from './interfaces/ColumnType.js';
38
- import { GridRowReorderEvent } from './interfaces/events.js';
38
+ import { GridRowReorderEvent, GridRowPinChangeEvent } from './interfaces/events.js';
39
39
  import { GridFilterOperators } from './interfaces/GridFilterOperators.js';
40
40
  import { GridFilterOperator } from './interfaces/GridFilterOperator.js';
41
41
  import { GridHeaderCell } from './header/GridHeaderCell.js';
42
42
  import { GridHeaderCellProps } from './interfaces/GridHeaderCellProps.js';
43
43
  import { GridSelectionCell } from './cells/selectioncell/GridSelectionCell.js';
44
+ import { GridPinCell } from './cells/pincell/GridPinCell.js';
45
+ import { GridHeaderPinCell } from './header/client/GridHeaderPinCell.js';
44
46
  import { GridDetailRow } from './rows/GridDetailRow.js';
45
47
  import { GridDetailRowProps } from './interfaces/GridDetailRowProps.js';
46
48
  import { GridRow } from './rows/GridRow.js';
@@ -90,5 +92,6 @@ export * from './GridSearchBox.js';
90
92
  export * from './GridPdfExportButton.js';
91
93
  export * from './GridCsvExportButton.js';
92
94
  export * from './toolbar-tools/smartbox/index.js';
93
- export { CompositeHighlightDescriptor, Grid, GridHandle, GridHighlightDescriptor, GridProps, GridColumn, GridColumnProps, GridColSpanProps, GridEditDialogProps, GridColumnChildrenProps, GridCellProps, GridColumnType, GridRowReorderEvent, GridDataType, GridRowReorderSettings, GridCell, GridEditCell, GridGroupCell, GridHierarchyCell, GridDetailRow, GridDetailRowProps, GridRow, GridRowProps, GridFilterCell, GridFilterCellProps, GridHeaderCell, GridHeaderCellProps, GridSelectionCell, GridColumnMenuProps, GridReorderDropPosition, GridColumnMenuSort, GridColumnMenuFilter, GridColumnMenuGroup, GridColumnMenuItem, GridColumnMenuItemContent, GridColumnMenuItemGroup, GridColumnMenuFilterUI, GridColumnMenuFilterUIProps, GridColumnMenuFilterCell, GridColumnMenuFilterCellProps, GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterProps, GridColumnMenuColumnsList, GridColumnMenuColumnsListProps, GridColumnMenuColumnsChooser, GridColumnMenuColumnsChooserProps, GridColumnMenuColumnProps, GridColumnState, GridRowType, GridToolbar, GridToolbarProps, GridToolbarAIAssistant, GridToolbarAIAssistantHandle, GridToolbarAIAssistantProps, GridToolbarAIAssistantRequestData, GridAIAssistantCommand, GridAICommands, GridAIPrompt, GridAIPromptProps, GridToolbarSpacer, GridToolbarSpacerProps, GridToolbarSeparator, GridToolbarSeparatorProps, GridToolbarCheckboxFilter, GridToolbarCheckboxFilterProps, GridToolbarColumnsChooser, GridToolbarColumnsChooserProps, GridToolbarFilter, GridToolbarFilterProps, GridToolbarSort, GridToolbarSortProps, GridToolbarGroup, GridToolbarGroupProps, GridNoRecords, GridNoRecordsProps, GridSortSettings, GridPagerSettings, GridGroupableSettings, GridFooterCellProps, GridSelectableMode, GridSelectableSettings, GridFilterOperators, GridFilterOperator, GridColumnMenuWrapper, GridColumnMenuWrapperProps, getSelectedState, setSelectedState, getSelectedStateFromKeyDown, GRID_COL_INDEX_ATTRIBUTE, GRID_ROW_INDEX_ATTRIBUTE, GRID_PREVENT_SELECTION_ELEMENT, GridCommonDragLogic, rootFilterOrDefault, filterGroupByField, isColumnMenuSortActive, isColumnMenuFilterActive, GridColumnMenuFilterProps, cellBoolDropdownChange, cellInputChange, cellOperatorChange, booleanFilterValues, operators, combineSmartFilters, parseFilterDates, GridRowSpannableSettings, handleAIResponse, GridAIState, GridAIResponseResult, GridCSVExportOptions, useGridAIRequest, GridAIRequestData, UseGridAIRequestOptions, UseGridAIRequestReturn };
95
+ export { CompositeHighlightDescriptor, Grid, GridHandle, GridHighlightDescriptor, GridProps, GridColumn, GridColumnProps, GridColSpanProps, GridEditDialogProps, GridColumnChildrenProps, GridCellProps, GridColumnType, GridRowReorderEvent, GridDataType, GridRowReorderSettings, GridCell, GridEditCell, GridGroupCell, GridHierarchyCell, GridDetailRow, GridDetailRowProps, GridRow, GridRowProps, GridFilterCell, GridFilterCellProps, GridHeaderCell, GridHeaderCellProps, GridSelectionCell, GridColumnMenuProps, GridReorderDropPosition, GridColumnMenuSort, GridColumnMenuFilter, GridColumnMenuGroup, GridColumnMenuItem, GridColumnMenuItemContent, GridColumnMenuItemGroup, GridColumnMenuFilterUI, GridColumnMenuFilterUIProps, GridColumnMenuFilterCell, GridColumnMenuFilterCellProps, GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterProps, GridColumnMenuColumnsList, GridColumnMenuColumnsListProps, GridColumnMenuColumnsChooser, GridColumnMenuColumnsChooserProps, GridColumnMenuColumnProps, GridColumnState, GridRowType, GridToolbar, GridToolbarProps, GridToolbarAIAssistant, GridToolbarAIAssistantHandle, GridToolbarAIAssistantProps, GridToolbarAIAssistantRequestData, GridAIAssistantCommand, GridAICommands, GridAIPrompt, GridAIPromptProps, GridToolbarSpacer, GridToolbarSpacerProps, GridToolbarSeparator, GridToolbarSeparatorProps, GridToolbarCheckboxFilter, GridToolbarCheckboxFilterProps, GridToolbarColumnsChooser, GridToolbarColumnsChooserProps, GridToolbarFilter, GridToolbarFilterProps, GridToolbarSort, GridToolbarSortProps, GridToolbarGroup, GridToolbarGroupProps, GridNoRecords, GridNoRecordsProps, GridSortSettings, GridPagerSettings, GridGroupableSettings, GridFooterCellProps, GridSelectableMode, GridSelectableSettings, GridFilterOperators, GridFilterOperator, GridColumnMenuWrapper, GridColumnMenuWrapperProps, getSelectedState, setSelectedState, getSelectedStateFromKeyDown, GRID_COL_INDEX_ATTRIBUTE, GRID_ROW_INDEX_ATTRIBUTE, GRID_PREVENT_SELECTION_ELEMENT, GridCommonDragLogic, rootFilterOrDefault, filterGroupByField, isColumnMenuSortActive, isColumnMenuFilterActive, GridColumnMenuFilterProps, cellBoolDropdownChange, cellInputChange, cellOperatorChange, booleanFilterValues, operators, combineSmartFilters, parseFilterDates, GridRowSpannableSettings, handleAIResponse, GridAIState, GridAIResponseResult, GridCSVExportOptions, useGridAIRequest, GridAIRequestData, UseGridAIRequestOptions, UseGridAIRequestReturn, GridRowPinChangeEvent };
96
+ export { GridPinCell, GridHeaderPinCell };
94
97
  export * from './interfaces/GridStackedLayoutSettings.js';