@progress/kendo-react-grid 14.2.2-develop.1 → 14.3.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.
Files changed (101) hide show
  1. package/GridClientContextReader.js +1 -1
  2. package/GridClientContextReader.mjs +10 -9
  3. package/GridClientWrapper.js +1 -1
  4. package/GridClientWrapper.mjs +651 -494
  5. package/GridComponent.js +1 -1
  6. package/GridComponent.mjs +418 -379
  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.d.ts +42 -0
  32. package/components/StickyGroupTable.js +9 -0
  33. package/components/StickyGroupTable.mjs +82 -0
  34. package/components/colGroup/GridColGroup.js +1 -1
  35. package/components/colGroup/GridColGroup.mjs +9 -9
  36. package/contextMenu/GridContextMenu.d.ts +42 -0
  37. package/contextMenu/GridContextMenu.js +1 -1
  38. package/contextMenu/GridContextMenu.mjs +101 -51
  39. package/contextMenu/enums.d.ts +5 -1
  40. package/contextMenu/enums.js +1 -1
  41. package/contextMenu/enums.mjs +2 -2
  42. package/dist/cdn/js/kendo-react-grid.js +1 -1
  43. package/drag/ColumnResize.d.ts +17 -0
  44. package/drag/ColumnResize.js +1 -1
  45. package/drag/ColumnResize.mjs +107 -100
  46. package/getRowContents.d.ts +58 -0
  47. package/getRowContents.js +8 -0
  48. package/getRowContents.mjs +99 -0
  49. package/header/GridHeaderGroupSpacerCell.d.ts +13 -0
  50. package/header/GridHeaderGroupSpacerCell.js +9 -0
  51. package/header/GridHeaderGroupSpacerCell.mjs +23 -0
  52. package/header/client/GridHeaderPinCell.d.ts +12 -0
  53. package/header/client/GridHeaderPinCell.js +9 -0
  54. package/header/client/GridHeaderPinCell.mjs +14 -0
  55. package/hooks/useStickyGroups.d.ts +71 -0
  56. package/hooks/useStickyGroups.js +9 -0
  57. package/hooks/useStickyGroups.mjs +350 -0
  58. package/index.d.mts +5 -2
  59. package/index.d.ts +5 -2
  60. package/index.js +1 -1
  61. package/index.mjs +97 -95
  62. package/interfaces/ColumnType.d.ts +1 -1
  63. package/interfaces/GridCellsSettings.d.ts +23 -0
  64. package/interfaces/GridGroupableSettings.d.ts +23 -0
  65. package/interfaces/GridProps.d.ts +70 -1
  66. package/interfaces/GridRowProps.d.ts +4 -0
  67. package/interfaces/GridRowsSettings.d.ts +11 -0
  68. package/interfaces/events.d.ts +17 -0
  69. package/messages/index.d.ts +25 -0
  70. package/messages/index.js +2 -2
  71. package/messages/index.mjs +122 -112
  72. package/package-metadata.js +1 -1
  73. package/package-metadata.mjs +2 -2
  74. package/package.json +17 -17
  75. package/rows/GridRow.js +1 -1
  76. package/rows/GridRow.mjs +25 -24
  77. package/rows/GridRowRenderer.d.ts +1 -0
  78. package/rows/GridRowRenderer.js +1 -1
  79. package/rows/GridRowRenderer.mjs +39 -36
  80. package/stacked/GridStackedRow.d.ts +5 -0
  81. package/stacked/GridStackedRow.js +1 -1
  82. package/stacked/GridStackedRow.mjs +118 -116
  83. package/stacked/StackedModeComponents.d.ts +1 -0
  84. package/stacked/StackedModeComponents.js +1 -1
  85. package/stacked/StackedModeComponents.mjs +14 -14
  86. package/stacked/StackedModeRow.d.ts +1 -0
  87. package/stacked/StackedModeRow.js +1 -1
  88. package/stacked/StackedModeRow.mjs +13 -11
  89. package/toolbar-tools/smartbox/SmartBox.js +1 -1
  90. package/toolbar-tools/smartbox/SmartBox.mjs +102 -94
  91. package/toolbar-tools/smartbox/hooks/useSmartBoxSegmentedControl.d.ts +12 -3
  92. package/toolbar-tools/smartbox/hooks/useSmartBoxSegmentedControl.js +1 -1
  93. package/toolbar-tools/smartbox/hooks/useSmartBoxSegmentedControl.mjs +42 -41
  94. package/toolbar-tools/smartbox/index.d.ts +0 -1
  95. package/toolbar-tools/smartbox/interfaces/index.d.ts +0 -1
  96. package/utils/index.d.ts +1 -0
  97. package/utils/index.js +1 -1
  98. package/utils/index.mjs +44 -44
  99. package/toolbar-tools/smartbox/SegmentedControl.js +0 -8
  100. package/toolbar-tools/smartbox/SegmentedControl.mjs +0 -109
  101. package/toolbar-tools/smartbox/interfaces/SegmentedControlTypes.d.ts +0 -66
@@ -0,0 +1,71 @@
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 { RowHeightService } from '@progress/kendo-react-common';
9
+ import { GroupState } from '@progress/kendo-react-data-tools';
10
+ import { DataItemWrapper } from '../utils/index.js';
11
+ import * as React from 'react';
12
+ /**
13
+ * @hidden
14
+ * Represents the range of a group within the flat data array.
15
+ */
16
+ export interface GroupRange {
17
+ headerIndex: number;
18
+ footerIndex: number | null;
19
+ firstChildIndex: number;
20
+ lastChildIndex: number;
21
+ level: number;
22
+ }
23
+ /**
24
+ * @hidden
25
+ * Builds a map of group ranges from the flat data array.
26
+ * Each group header maps to its footer and child range.
27
+ */
28
+ export declare function buildGroupRangeMap(flatDataArray: DataItemWrapper[]): Map<number, GroupRange>;
29
+ /**
30
+ * @hidden
31
+ * Pairs a DataItemWrapper with its flat-data index.
32
+ */
33
+ export interface StickyGroupItem {
34
+ item: DataItemWrapper;
35
+ flatIndex: number;
36
+ }
37
+ /**
38
+ * @hidden
39
+ */
40
+ export declare function computeStickyItems(flatDataArray: DataItemWrapper[], groupRanges: Map<number, GroupRange>, firstVisibleIndex: number, lastVisibleIndex: number, rawFirstVisibleIndex?: number): StickyGroupItem[];
41
+ /**
42
+ * @hidden
43
+ * Computes which group footers should be sticky at the bottom of the viewport.
44
+ * A footer is sticky when it is scrolled below the viewport but its group's
45
+ * header (or first child) is still visible above.
46
+ */
47
+ export declare function computeStickyFooterItems(flatDataArray: DataItemWrapper[], groupRanges: Map<number, GroupRange>, firstVisibleIndex: number, lastVisibleIndex: number): StickyGroupItem[];
48
+ /**
49
+ * @hidden
50
+ * Hook that computes which group header/footer should be sticky
51
+ * based on the scroll position and the flat data array.
52
+ * Uses refs + direct DOM manipulation to avoid render-cycle flicker.
53
+ */
54
+ export declare function useStickyGroups(options: {
55
+ enabled: boolean;
56
+ enabledFooters?: boolean;
57
+ flatData: DataItemWrapper[];
58
+ containerRef: React.RefObject<HTMLDivElement | null>;
59
+ tableBodyRef: React.RefObject<HTMLTableSectionElement | null>;
60
+ rowHeight?: number;
61
+ isGrouped: boolean;
62
+ virtualSkipRef?: React.RefObject<number>;
63
+ rowHeightServiceRef?: React.RefObject<RowHeightService | undefined>;
64
+ }): {
65
+ stickyHeaderItems: StickyGroupItem[];
66
+ stickyHeaderRef: React.RefObject<HTMLDivElement | null>;
67
+ stickyFooterItems: StickyGroupItem[];
68
+ stickyFooterRef: React.RefObject<HTMLDivElement | null>;
69
+ scrollToStickyGroup: (group: GroupState) => void;
70
+ update: () => void;
71
+ };
@@ -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 Ce=require("react");function Fe(f){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(f){for(const r in f)if(r!=="default"){const h=Object.getOwnPropertyDescriptor(f,r);Object.defineProperty(a,r,h.get?h:{enumerable:!0,get:()=>f[r]})}}return a.default=f,Object.freeze(a)}const x=Fe(Ce);function ve(f){const a=[],r=[];for(let e=0;e<f.length;e++){const u=f[e];if(u.rowType==="groupHeader"){for(let n=r.length-1;n>=0;n--)if(r[n].level>=u.level){const s=r[n];a.push({headerIndex:s.headerIndex,footerIndex:null,firstChildIndex:s.headerIndex+1,lastChildIndex:e-1,level:s.level}),r.splice(n,1)}r.push({headerIndex:e,level:u.level})}else if(u.rowType==="groupFooter"){for(let n=r.length-1;n>=0;n--)if(r[n].level===u.level){const s=r[n];a.push({headerIndex:s.headerIndex,footerIndex:e,firstChildIndex:s.headerIndex+1,lastChildIndex:e-1,level:u.level}),r.splice(n,1);break}}}for(const e of r)a.push({headerIndex:e.headerIndex,footerIndex:null,firstChildIndex:e.headerIndex+1,lastChildIndex:f.length-1,level:e.level});const h=new Map;for(const e of a)h.set(e.headerIndex,e);return h}function Re(f,a,r,h,e){var y;const u=[],n=e!=null?e:r,s=[];for(const d of a.values())if(d.headerIndex<r){const p=(y=d.footerIndex)!=null?y:d.lastChildIndex;p>d.headerIndex&&p>=n&&s.push(d)}const t=new Map;for(const d of s){const p=t.get(d.level);(!p||d.headerIndex>p.headerIndex)&&t.set(d.level,d)}const c=Array.from(t.keys()).sort((d,p)=>d-p);for(const d of c){const p=t.get(d);u.push({item:f[p.headerIndex],flatIndex:p.headerIndex})}return u}function ke(f,a,r,h){const e=[],u=[];for(const t of a.values())t.footerIndex!==null&&t.footerIndex>h&&t.headerIndex<=h&&u.push(t);const n=new Map;for(const t of u){const c=n.get(t.level);(!c||t.footerIndex<c.footerIndex)&&n.set(t.level,t)}const s=Array.from(n.keys()).sort((t,c)=>c-t);for(const t of s){const c=n.get(t);e.push({item:f[c.footerIndex],flatIndex:c.footerIndex})}return e}function W(f,a){if(f.length!==a.length)return!0;for(let r=0;r<f.length;r++)if(f[r].flatIndex!==a[r].flatIndex)return!0;return!1}function be(f,a){const r=f.querySelectorAll("tbody > tr");let h=0,e=!1;for(let u=0;u<r.length&&u<a.length;u++){const n=r[u],s=n.offsetHeight||n.getBoundingClientRect().height,t=a[u];if(t<0){e=!0;const c=-t,y=Math.max(s-c,0);h+=y,y<=0?(n.style.display="none",n.style.transform="",n.style.clipPath=""):(n.style.display="",n.style.transform=`translateY(${t}px)`,n.style.clipPath=`inset(${c}px 0 0 0)`)}else h+=s,n.style.display="",n.style.transform="",n.style.clipPath=""}f.style.height=e?h+"px":""}function He(f,a){const r=f.querySelectorAll("tbody > tr");let h=0,e=!1,u=0;const n=[];for(let s=0;s<r.length&&s<a.length;s++){const t=r[s],c=t.offsetHeight||t.getBoundingClientRect().height;n.push(c);const y=a[s];if(y>0){e=!0;const d=Math.max(c-y,0);h+=d,u+=c-d}else h+=c}for(let s=0;s<r.length&&s<a.length;s++){const t=r[s],c=a[s],y=n[s];c>0?Math.max(y-c,0)<=0?(t.style.display="",t.style.transform="",t.style.clipPath="inset(0 0 100% 0)"):(t.style.display="",t.style.transform="",t.style.clipPath=`inset(0 0 ${c}px 0)`):(t.style.display="",t.style.transform=e?`translateY(${-u}px)`:"",t.style.clipPath="")}f.style.height=e?h+"px":""}function Me(f){const{enabled:a,enabledFooters:r,flatData:h,containerRef:e,tableBodyRef:u,isGrouped:n,virtualSkipRef:s,rowHeight:t,rowHeightServiceRef:c}=f,y=a&&n,d=!!r&&n,p=x.useRef([]),X=x.useRef([]),v=x.useRef(null),[re,le]=x.useState([]),J=x.useRef([]),Z=x.useRef([]),R=x.useRef(null),[ce,ie]=x.useState([]),ee=x.useRef(!1),te=x.useRef(!1);x.useLayoutEffect(()=>{ee.current&&v.current&&X.current.length>0&&(be(v.current,X.current),ee.current=!1),v.current&&e.current&&(v.current.scrollLeft=e.current.scrollLeft)},[re]),x.useLayoutEffect(()=>{te.current&&R.current&&Z.current.length>0&&(He(R.current,Z.current),te.current=!1),R.current&&e.current&&(R.current.scrollLeft=e.current.scrollLeft)},[ce]);const fe=x.useRef(()=>{});fe.current=()=>{var me,xe;if(!y&&!d)return;const H=h,P=ve(H);if(P.size===0)return;const A=new Map;if(d)for(const o of P.values())o.footerIndex!==null&&A.set(o.footerIndex,o);const C=e.current,j=u.current;if(!C||!j)return;const k=C.scrollTop,q=C.clientHeight,$=j.children;if($.length===0)return;const F=c==null?void 0:c.current,K=t||36,g=(s==null?void 0:s.current)||0,O=C.getBoundingClientRect(),B=j.getBoundingClientRect().top-O.top+k,w=$.length,E=new Array(w),Q=new Array(w);for(let o=0;o<w;o++){const l=$[o];E[o]=B+l.offsetTop,Q[o]=l.offsetHeight}const ne=o=>{const l=o-g;return l>=0&&l<w?Q[l]:F&&o>=0&&o<H.length?F.height(o):K},ae=o=>{const l=o-g;if(l>=0&&l<w)return E[l];if(F&&o>=0&&o<H.length)return F.offset(o)},Te=o=>{let l=0,i=w;for(;l<i;){const m=l+i>>1;E[m]<o?l=m+1:i=m}return l},ue=o=>{const l=Te(o);return l<w?g+l:g},de=o=>{let l=0,i=w-1;for(;l<=i;){const m=l+i>>1;E[m]+Q[m]<=o?l=m+1:i=m-1}return i>=0?g+i:H.length-1},he=Math.min(ue(k),H.length-1);let _=he;const ge=o=>{const l=o.querySelectorAll("tbody > tr");for(let i=0;i<l.length;i++){const m=l[i];m.style.transform="",m.style.clipPath="",m.style.display=""}o.style.height=""};if(y&&v.current){let o=0,l=[],i=[];const m=T=>{var b;const M=[];let I=0;for(const S of T){const L=ne(S);let G=0;const V=P.get(S);if(V){const U=(b=V.footerIndex)!=null?b:V.lastChildIndex+1,Y=ae(U);if(Y!==void 0){const N=I+L,Ie=Y-k;Ie<N&&(G=Ie-N)}}M.push(G),I+=Math.max(L+G,0)}return{totalHeight:I,offsets:M}},z=new Set;for(;;){_=Math.min(ue(k+Math.max(o,0)),H.length-1);const T=z.has(_);z.add(_);const M=Math.min(de(k+q),H.length-1),I=Re(H,P,_,M,he),b=m(I.map(L=>L.flatIndex)),S=!W(I,i)&&Math.abs(b.totalHeight-o)<1;if(i=I,o=b.totalHeight,l=b.offsets,S||T)break}const oe=i.length>0,se=p.current,D=W(i,se);oe?D?(p.current=i,X.current=l,ee.current=!0):(v.current.style.display="",be(v.current,l)):(v.current.style.display="none",ge(v.current)),D&&(le(i),p.current=i)}if(d&&R.current){let o=0,l=[],i=[];const m=T=>{const M=[];let I=0;for(let b=T.length-1;b>=0;b--){const S=T[b],L=ne(S);let G=0;const V=A.get(S);if(V){const U=ae(V.headerIndex);if(U!==void 0){const Y=U+ne(V.headerIndex),N=k+q-I-L;Y>N&&(G=Y-N)}}M[b]=G,I+=Math.max(L-G,0)}return{totalHeight:I,offsets:M}},z=new Set;for(;;){const T=Math.min(de(k+q-o),H.length-1),M=z.has(T);z.add(T);const I=ke(H,P,_,T),b=m(I.map(L=>L.flatIndex)),S=!W(I,i)&&Math.abs(b.totalHeight-o)<1;if(i=I,o=b.totalHeight,l=b.offsets,S||M)break}const oe=i.length>0,se=J.current,D=W(i,se);oe?D?(J.current=i,Z.current=l,te.current=!0):(R.current.style.display="",He(R.current,l)):(R.current.style.display="none",ge(R.current)),D&&(ie(i),J.current=i)}const ye=((me=v.current)==null?void 0:me.offsetHeight)||0,pe=((xe=R.current)==null?void 0:xe.offsetHeight)||0;C.style.scrollPaddingTop=ye>0?ye+"px":"",C.style.scrollPaddingBottom=pe>0?pe+"px":""};const Pe=x.useCallback(()=>fe.current(),[]),we=x.useCallback(H=>{var K;if(!y)return;const P=p.current.find(g=>{var O,B;return((O=g.item.group)==null?void 0:O.field)===H.field&&((B=g.item.group)==null?void 0:B.value)===H.value});if(!P)return;const A=e.current;if(!A)return;let C=0;const j=t||36,k=(K=v.current)==null?void 0:K.querySelectorAll("tbody > tr"),q=p.current;for(let g=0;g<q.length;g++)if(q[g].item.level<P.item.level){const O=k&&g<k.length&&k[g].offsetHeight||j;C+=O}const $=c==null?void 0:c.current;let F;if($)F=$.offset(P.flatIndex);else{const g=u.current,O=(s==null?void 0:s.current)||0,B=P.flatIndex-O;if(g&&B>=0&&B<g.children.length){const w=g.children[B],E=A.getBoundingClientRect();F=g.getBoundingClientRect().top-E.top+A.scrollTop+w.offsetTop}}F!==void 0&&(A.scrollTop=F-C)},[y,e,t,c,u,s]);return x.useEffect(()=>{y||(p.current=[],le([])),d||(J.current=[],ie([])),!y&&!d&&e.current&&(e.current.style.scrollPaddingTop="",e.current.style.scrollPaddingBottom="")},[y,d,e]),{stickyHeaderItems:re,stickyHeaderRef:v,stickyFooterItems:ce,stickyFooterRef:R,scrollToStickyGroup:we,update:Pe}}exports.buildGroupRangeMap=ve;exports.computeStickyFooterItems=ke;exports.computeStickyItems=Re;exports.useStickyGroups=Me;
@@ -0,0 +1,350 @@
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 x from "react";
10
+ function ke(d) {
11
+ const u = [], l = [];
12
+ for (let e = 0; e < d.length; e++) {
13
+ const f = d[e];
14
+ if (f.rowType === "groupHeader") {
15
+ for (let n = l.length - 1; n >= 0; n--)
16
+ if (l[n].level >= f.level) {
17
+ const s = l[n];
18
+ u.push({
19
+ headerIndex: s.headerIndex,
20
+ footerIndex: null,
21
+ firstChildIndex: s.headerIndex + 1,
22
+ lastChildIndex: e - 1,
23
+ level: s.level
24
+ }), l.splice(n, 1);
25
+ }
26
+ l.push({ headerIndex: e, level: f.level });
27
+ } else if (f.rowType === "groupFooter") {
28
+ for (let n = l.length - 1; n >= 0; n--)
29
+ if (l[n].level === f.level) {
30
+ const s = l[n];
31
+ u.push({
32
+ headerIndex: s.headerIndex,
33
+ footerIndex: e,
34
+ firstChildIndex: s.headerIndex + 1,
35
+ lastChildIndex: e - 1,
36
+ level: f.level
37
+ }), l.splice(n, 1);
38
+ break;
39
+ }
40
+ }
41
+ }
42
+ for (const e of l)
43
+ u.push({
44
+ headerIndex: e.headerIndex,
45
+ footerIndex: null,
46
+ firstChildIndex: e.headerIndex + 1,
47
+ lastChildIndex: d.length - 1,
48
+ level: e.level
49
+ });
50
+ const p = /* @__PURE__ */ new Map();
51
+ for (const e of u)
52
+ p.set(e.headerIndex, e);
53
+ return p;
54
+ }
55
+ function Pe(d, u, l, p, e) {
56
+ var g;
57
+ const f = [], n = e != null ? e : l, s = [];
58
+ for (const a of u.values())
59
+ if (a.headerIndex < l) {
60
+ const y = (g = a.footerIndex) != null ? g : a.lastChildIndex;
61
+ y > a.headerIndex && y >= n && s.push(a);
62
+ }
63
+ const t = /* @__PURE__ */ new Map();
64
+ for (const a of s) {
65
+ const y = t.get(a.level);
66
+ (!y || a.headerIndex > y.headerIndex) && t.set(a.level, a);
67
+ }
68
+ const c = Array.from(t.keys()).sort((a, y) => a - y);
69
+ for (const a of c) {
70
+ const y = t.get(a);
71
+ f.push({ item: d[y.headerIndex], flatIndex: y.headerIndex });
72
+ }
73
+ return f;
74
+ }
75
+ function Ce(d, u, l, p) {
76
+ const e = [], f = [];
77
+ for (const t of u.values())
78
+ t.footerIndex !== null && t.footerIndex > p && t.headerIndex <= p && f.push(t);
79
+ const n = /* @__PURE__ */ new Map();
80
+ for (const t of f) {
81
+ const c = n.get(t.level);
82
+ (!c || t.footerIndex < c.footerIndex) && n.set(t.level, t);
83
+ }
84
+ const s = Array.from(n.keys()).sort((t, c) => c - t);
85
+ for (const t of s) {
86
+ const c = n.get(t);
87
+ e.push({ item: d[c.footerIndex], flatIndex: c.footerIndex });
88
+ }
89
+ return e;
90
+ }
91
+ function X(d, u) {
92
+ if (d.length !== u.length)
93
+ return !0;
94
+ for (let l = 0; l < d.length; l++)
95
+ if (d[l].flatIndex !== u[l].flatIndex)
96
+ return !0;
97
+ return !1;
98
+ }
99
+ function He(d, u) {
100
+ const l = d.querySelectorAll("tbody > tr");
101
+ let p = 0, e = !1;
102
+ for (let f = 0; f < l.length && f < u.length; f++) {
103
+ const n = l[f], s = n.offsetHeight || n.getBoundingClientRect().height, t = u[f];
104
+ if (t < 0) {
105
+ e = !0;
106
+ const c = -t, g = Math.max(s - c, 0);
107
+ p += g, g <= 0 ? (n.style.display = "none", n.style.transform = "", n.style.clipPath = "") : (n.style.display = "", n.style.transform = `translateY(${t}px)`, n.style.clipPath = `inset(${c}px 0 0 0)`);
108
+ } else
109
+ p += s, n.style.display = "", n.style.transform = "", n.style.clipPath = "";
110
+ }
111
+ d.style.height = e ? p + "px" : "";
112
+ }
113
+ function be(d, u) {
114
+ const l = d.querySelectorAll("tbody > tr");
115
+ let p = 0, e = !1, f = 0;
116
+ const n = [];
117
+ for (let s = 0; s < l.length && s < u.length; s++) {
118
+ const t = l[s], c = t.offsetHeight || t.getBoundingClientRect().height;
119
+ n.push(c);
120
+ const g = u[s];
121
+ if (g > 0) {
122
+ e = !0;
123
+ const a = Math.max(c - g, 0);
124
+ p += a, f += c - a;
125
+ } else
126
+ p += c;
127
+ }
128
+ for (let s = 0; s < l.length && s < u.length; s++) {
129
+ const t = l[s], c = u[s], g = n[s];
130
+ c > 0 ? Math.max(g - c, 0) <= 0 ? (t.style.display = "", t.style.transform = "", t.style.clipPath = "inset(0 0 100% 0)") : (t.style.display = "", t.style.transform = "", t.style.clipPath = `inset(0 0 ${c}px 0)`) : (t.style.display = "", t.style.transform = e ? `translateY(${-f}px)` : "", t.style.clipPath = "");
131
+ }
132
+ d.style.height = e ? p + "px" : "";
133
+ }
134
+ function Fe(d) {
135
+ const {
136
+ enabled: u,
137
+ enabledFooters: l,
138
+ flatData: p,
139
+ containerRef: e,
140
+ tableBodyRef: f,
141
+ isGrouped: n,
142
+ virtualSkipRef: s,
143
+ rowHeight: t,
144
+ rowHeightServiceRef: c
145
+ } = d, g = u && n, a = !!l && n, y = x.useRef([]), Z = x.useRef([]), v = x.useRef(null), [re, le] = x.useState([]), N = x.useRef([]), _ = x.useRef([]), R = x.useRef(null), [ce, ie] = x.useState([]), ee = x.useRef(!1), te = x.useRef(!1);
146
+ x.useLayoutEffect(() => {
147
+ ee.current && v.current && Z.current.length > 0 && (He(v.current, Z.current), ee.current = !1), v.current && e.current && (v.current.scrollLeft = e.current.scrollLeft);
148
+ }, [re]), x.useLayoutEffect(() => {
149
+ te.current && R.current && _.current.length > 0 && (be(R.current, _.current), te.current = !1), R.current && e.current && (R.current.scrollLeft = e.current.scrollLeft);
150
+ }, [ce]);
151
+ const fe = x.useRef(() => {
152
+ });
153
+ fe.current = () => {
154
+ var me, xe;
155
+ if (!g && !a)
156
+ return;
157
+ const b = p, k = ke(b);
158
+ if (k.size === 0)
159
+ return;
160
+ const O = /* @__PURE__ */ new Map();
161
+ if (a)
162
+ for (const o of k.values())
163
+ o.footerIndex !== null && O.set(o.footerIndex, o);
164
+ const F = e.current, q = f.current;
165
+ if (!F || !q)
166
+ return;
167
+ const w = F.scrollTop, $ = F.clientHeight, E = q.children;
168
+ if (E.length === 0)
169
+ return;
170
+ const T = c == null ? void 0 : c.current, Q = t || 36, h = (s == null ? void 0 : s.current) || 0, B = F.getBoundingClientRect(), A = q.getBoundingClientRect().top - B.top + w, P = E.length, Y = new Array(P), U = new Array(P);
171
+ for (let o = 0; o < P; o++) {
172
+ const r = E[o];
173
+ Y[o] = A + r.offsetTop, U[o] = r.offsetHeight;
174
+ }
175
+ const ne = (o) => {
176
+ const r = o - h;
177
+ return r >= 0 && r < P ? U[r] : T && o >= 0 && o < b.length ? T.height(o) : Q;
178
+ }, ae = (o) => {
179
+ const r = o - h;
180
+ if (r >= 0 && r < P)
181
+ return Y[r];
182
+ if (T && o >= 0 && o < b.length)
183
+ return T.offset(o);
184
+ }, we = (o) => {
185
+ let r = 0, i = P;
186
+ for (; r < i; ) {
187
+ const m = r + i >> 1;
188
+ Y[m] < o ? r = m + 1 : i = m;
189
+ }
190
+ return r;
191
+ }, ue = (o) => {
192
+ const r = we(o);
193
+ return r < P ? h + r : h;
194
+ }, de = (o) => {
195
+ let r = 0, i = P - 1;
196
+ for (; r <= i; ) {
197
+ const m = r + i >> 1;
198
+ Y[m] + U[m] <= o ? r = m + 1 : i = m - 1;
199
+ }
200
+ return i >= 0 ? h + i : b.length - 1;
201
+ }, he = Math.min(ue(w), b.length - 1);
202
+ let z = he;
203
+ const ge = (o) => {
204
+ const r = o.querySelectorAll("tbody > tr");
205
+ for (let i = 0; i < r.length; i++) {
206
+ const m = r[i];
207
+ m.style.transform = "", m.style.clipPath = "", m.style.display = "";
208
+ }
209
+ o.style.height = "";
210
+ };
211
+ if (g && v.current) {
212
+ let o = 0, r = [], i = [];
213
+ const m = (C) => {
214
+ var H;
215
+ const M = [];
216
+ let I = 0;
217
+ for (const L of C) {
218
+ const S = ne(L);
219
+ let V = 0;
220
+ const G = k.get(L);
221
+ if (G) {
222
+ const W = (H = G.footerIndex) != null ? H : G.lastChildIndex + 1, J = ae(W);
223
+ if (J !== void 0) {
224
+ const K = I + S, Ie = J - w;
225
+ Ie < K && (V = Ie - K);
226
+ }
227
+ }
228
+ M.push(V), I += Math.max(S + V, 0);
229
+ }
230
+ return { totalHeight: I, offsets: M };
231
+ }, j = /* @__PURE__ */ new Set();
232
+ for (; ; ) {
233
+ z = Math.min(
234
+ ue(w + Math.max(o, 0)),
235
+ b.length - 1
236
+ );
237
+ const C = j.has(z);
238
+ j.add(z);
239
+ const M = Math.min(
240
+ de(w + $),
241
+ b.length - 1
242
+ ), I = Pe(
243
+ b,
244
+ k,
245
+ z,
246
+ M,
247
+ he
248
+ ), H = m(I.map((S) => S.flatIndex)), L = !X(I, i) && Math.abs(H.totalHeight - o) < 1;
249
+ if (i = I, o = H.totalHeight, r = H.offsets, L || C)
250
+ break;
251
+ }
252
+ const oe = i.length > 0, se = y.current, D = X(i, se);
253
+ oe ? D ? (y.current = i, Z.current = r, ee.current = !0) : (v.current.style.display = "", He(v.current, r)) : (v.current.style.display = "none", ge(v.current)), D && (le(i), y.current = i);
254
+ }
255
+ if (a && R.current) {
256
+ let o = 0, r = [], i = [];
257
+ const m = (C) => {
258
+ const M = [];
259
+ let I = 0;
260
+ for (let H = C.length - 1; H >= 0; H--) {
261
+ const L = C[H], S = ne(L);
262
+ let V = 0;
263
+ const G = O.get(L);
264
+ if (G) {
265
+ const W = ae(G.headerIndex);
266
+ if (W !== void 0) {
267
+ const J = W + ne(G.headerIndex), K = w + $ - I - S;
268
+ J > K && (V = J - K);
269
+ }
270
+ }
271
+ M[H] = V, I += Math.max(S - V, 0);
272
+ }
273
+ return { totalHeight: I, offsets: M };
274
+ }, j = /* @__PURE__ */ new Set();
275
+ for (; ; ) {
276
+ const C = Math.min(
277
+ de(w + $ - o),
278
+ b.length - 1
279
+ ), M = j.has(C);
280
+ j.add(C);
281
+ const I = Ce(
282
+ b,
283
+ k,
284
+ z,
285
+ C
286
+ ), H = m(I.map((S) => S.flatIndex)), L = !X(I, i) && Math.abs(H.totalHeight - o) < 1;
287
+ if (i = I, o = H.totalHeight, r = H.offsets, L || M)
288
+ break;
289
+ }
290
+ const oe = i.length > 0, se = N.current, D = X(i, se);
291
+ oe ? D ? (N.current = i, _.current = r, te.current = !0) : (R.current.style.display = "", be(R.current, r)) : (R.current.style.display = "none", ge(R.current)), D && (ie(i), N.current = i);
292
+ }
293
+ const ye = ((me = v.current) == null ? void 0 : me.offsetHeight) || 0, pe = ((xe = R.current) == null ? void 0 : xe.offsetHeight) || 0;
294
+ F.style.scrollPaddingTop = ye > 0 ? ye + "px" : "", F.style.scrollPaddingBottom = pe > 0 ? pe + "px" : "";
295
+ };
296
+ const ve = x.useCallback(() => fe.current(), []), Re = x.useCallback(
297
+ (b) => {
298
+ var Q;
299
+ if (!g)
300
+ return;
301
+ const k = y.current.find(
302
+ (h) => {
303
+ var B, A;
304
+ return ((B = h.item.group) == null ? void 0 : B.field) === b.field && ((A = h.item.group) == null ? void 0 : A.value) === b.value;
305
+ }
306
+ );
307
+ if (!k)
308
+ return;
309
+ const O = e.current;
310
+ if (!O)
311
+ return;
312
+ let F = 0;
313
+ const q = t || 36, w = (Q = v.current) == null ? void 0 : Q.querySelectorAll("tbody > tr"), $ = y.current;
314
+ for (let h = 0; h < $.length; h++)
315
+ if ($[h].item.level < k.item.level) {
316
+ const B = w && h < w.length && w[h].offsetHeight || q;
317
+ F += B;
318
+ }
319
+ const E = c == null ? void 0 : c.current;
320
+ let T;
321
+ if (E)
322
+ T = E.offset(k.flatIndex);
323
+ else {
324
+ const h = f.current, B = (s == null ? void 0 : s.current) || 0, A = k.flatIndex - B;
325
+ if (h && A >= 0 && A < h.children.length) {
326
+ const P = h.children[A], Y = O.getBoundingClientRect();
327
+ T = h.getBoundingClientRect().top - Y.top + O.scrollTop + P.offsetTop;
328
+ }
329
+ }
330
+ T !== void 0 && (O.scrollTop = T - F);
331
+ },
332
+ [g, e, t, c, f, s]
333
+ );
334
+ return x.useEffect(() => {
335
+ g || (y.current = [], le([])), a || (N.current = [], ie([])), !g && !a && e.current && (e.current.style.scrollPaddingTop = "", e.current.style.scrollPaddingBottom = "");
336
+ }, [g, a, e]), {
337
+ stickyHeaderItems: re,
338
+ stickyHeaderRef: v,
339
+ stickyFooterItems: ce,
340
+ stickyFooterRef: R,
341
+ scrollToStickyGroup: Re,
342
+ update: ve
343
+ };
344
+ }
345
+ export {
346
+ ke as buildGroupRangeMap,
347
+ Ce as computeStickyFooterItems,
348
+ Pe as computeStickyItems,
349
+ Fe as useStickyGroups
350
+ };
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';
package/index.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 a=require("./Grid.js"),G=require("./GridColumn.js"),s=require("./columnMenu/GridColumnMenuWrapper.js"),C=require("./columnMenu/GridColumnMenuGroup.js"),l=require("./columnMenu/GridColumnMenuSort.js"),o=require("./columnMenu/GridColumnMenuFilter.js"),m=require("./columnMenu/GridColumnMenuFilterUI.js"),c=require("./columnMenu/GridColumnMenuFilterCell.js"),p=require("./columnMenu/GridColumnMenuCheckboxFilter.js"),M=require("./columnMenu/GridColumnMenuColumnsList.js"),q=require("./columnMenu/GridColumnMenuColumnsChooser.js"),I=require("./cells/datacell/GridCell.js"),g=require("./cells/editcell/GridEditCell.js"),S=require("./cells/groupcell/GridGroupCell.js"),T=require("./cells/hierarchycell/GridHierarchyCell.js"),b=require("./cells/GridFilterCell.js"),F=require("./header/GridHeaderCell.js"),x=require("./cells/selectioncell/GridSelectionCell.js"),E=require("./rows/GridDetailRow.js"),R=require("./rows/GridRow.js"),h=require("./GridToolbar.js"),A=require("./toolbar-tools/GridToolbarSpacer.js"),P=require("./toolbar-tools/GridToolbarSeparator.js"),D=require("./toolbar-tools/GridToolbarCheckboxFilter.js"),B=require("./toolbar-tools/GridToolbarColumnsChooser.js"),_=require("./toolbar-tools/GridToolbarFilter.js"),N=require("./toolbar-tools/GridToolbarSort.js"),f=require("./toolbar-tools/GridToolbarGroup.js"),L=require("./toolbar-tools/GridToolbarAIAssistant.js"),O=require("./toolbar-tools/ai-tool/GridAIPrompt.js"),y=require("./components/noRecords/GridNoRecords.js"),v=require("./columnMenu/GridColumnMenuItem.js"),w=require("./columnMenu/GridColumnMenuItemContent.js"),k=require("./columnMenu/GridColumnMenuItemGroup.js"),t=require("./constants/index.js"),i=require("@progress/kendo-react-data-tools"),U=require("./drag/CommonDragLogic.js"),e=require("./filterCommon.js"),H=require("./utils/handleAIResponse.js"),W=require("./hooks/useGridAIRequest.js"),j=require("./interfaces/GridAICommands.js"),r=require("./messages/index.js"),n=require("./StatusBar.js"),u=require("./contextMenu/GridContextMenu.js"),d=require("./contextMenu/enums.js"),V=require("./GridSearchBox.js"),X=require("./GridPdfExportButton.js"),K=require("./GridCsvExportButton.js"),$=require("./toolbar-tools/smartbox/SegmentedControl.js"),z=require("./toolbar-tools/smartbox/SmartBox.js");exports.Grid=a.Grid;exports.GridColumn=G.GridColumn;exports.GridColumnMenuWrapper=s.GridColumnMenuWrapper;exports.GridColumnMenuGroup=C.GridColumnMenuGroup;exports.GridColumnMenuSort=l.GridColumnMenuSort;exports.isColumnMenuSortActive=l.isColumnMenuSortActive;exports.GridColumnMenuFilter=o.GridColumnMenuFilter;exports.filterGroupByField=o.filterGroupByField;exports.isColumnMenuFilterActive=o.isColumnMenuFilterActive;exports.rootFilterOrDefault=o.rootFilterOrDefault;exports.GridColumnMenuFilterUI=m.GridColumnMenuFilterUI;exports.GridColumnMenuFilterCell=c.GridColumnMenuFilterCell;exports.GridColumnMenuCheckboxFilter=p.GridColumnMenuCheckboxFilter;exports.GridColumnMenuColumnsList=M.GridColumnMenuColumnsList;exports.GridColumnMenuColumnsChooser=q.GridColumnMenuColumnsChooser;exports.GridCell=I.GridCell;exports.GridEditCell=g.GridEditCell;exports.GridGroupCell=S.GridGroupCell;exports.GridHierarchyCell=T.GridHierarchyCell;exports.GridFilterCell=b.GridFilterCell;exports.GridHeaderCell=F.GridHeaderCell;exports.GridSelectionCell=x.GridSelectionCell;exports.GridDetailRow=E.GridDetailRow;exports.GridRow=R.GridRow;exports.GridToolbar=h.GridToolbar;exports.GridToolbarSpacer=A.GridToolbarSpacer;exports.GridToolbarSeparator=P.GridToolbarSeparator;exports.GridToolbarCheckboxFilter=D.GridToolbarCheckboxFilter;exports.GridToolbarColumnsChooser=B.GridToolbarColumnsChooser;exports.GridToolbarFilter=_.GridToolbarFilter;exports.GridToolbarSort=N.GridToolbarSort;exports.GridToolbarGroup=f.GridToolbarGroup;exports.GridToolbarAIAssistant=L.GridToolbarAIAssistant;exports.GridAIPrompt=O.GridAIPrompt;exports.GridNoRecords=y.GridNoRecords;exports.GridColumnMenuItem=v.GridColumnMenuItem;exports.GridColumnMenuItemContent=w.GridColumnMenuItemContent;exports.GridColumnMenuItemGroup=k.GridColumnMenuItemGroup;exports.GRID_COL_INDEX_ATTRIBUTE=t.GRID_COL_INDEX_ATTRIBUTE;exports.GRID_PREVENT_SELECTION_ELEMENT=t.GRID_PREVENT_SELECTION_ELEMENT;exports.GRID_ROW_INDEX_ATTRIBUTE=t.GRID_ROW_INDEX_ATTRIBUTE;Object.defineProperty(exports,"getSelectedState",{enumerable:!0,get:()=>i.getSelectedState});Object.defineProperty(exports,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>i.getSelectedStateFromKeyDown});Object.defineProperty(exports,"setSelectedState",{enumerable:!0,get:()=>i.setSelectedState});exports.GridCommonDragLogic=U.CommonDragLogic;exports.booleanFilterValues=e.booleanFilterValues;exports.cellBoolDropdownChange=e.cellBoolDropdownChange;exports.cellInputChange=e.cellInputChange;exports.cellOperatorChange=e.cellOperatorChange;exports.combineSmartFilters=e.combineSmartFilters;exports.operators=e.operators;exports.parseFilterDates=e.parseFilterDates;exports.handleAIResponse=H.handleAIResponse;exports.useGridAIRequest=W.useGridAIRequest;exports.GridAICommands=j.GridAICommands;exports.gridMessages=r.messages;exports.pagerFirstPage=r.pagerFirstPage;exports.pagerInfo=r.pagerInfo;exports.pagerItemPerPage=r.pagerItemPerPage;exports.pagerLastPage=r.pagerLastPage;exports.pagerNextPage=r.pagerNextPage;exports.pagerPreviousPage=r.pagerPreviousPage;exports.StatusBar=n.StatusBar;exports.getStatusData=n.getStatusData;exports.leafColumns=n.leafColumns;exports.GridContextMenu=u.GridContextMenu;exports.contextMenuItemsMap=u.contextMenuItemsMap;exports.GridContextMenuAnchorPart=d.GridContextMenuAnchorPart;exports.GridContextMenuItemNames=d.GridContextMenuItemNames;exports.GridSearchBox=V.GridSearchBox;exports.GridPdfExportButton=X.GridPdfExportButton;exports.GridCsvExportButton=K.GridCsvExportButton;exports.SegmentedControl=$.SegmentedControl;exports.SmartBox=z.SmartBox;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./Grid.js"),G=require("./GridColumn.js"),s=require("./columnMenu/GridColumnMenuWrapper.js"),C=require("./columnMenu/GridColumnMenuGroup.js"),l=require("./columnMenu/GridColumnMenuSort.js"),o=require("./columnMenu/GridColumnMenuFilter.js"),c=require("./columnMenu/GridColumnMenuFilterUI.js"),m=require("./columnMenu/GridColumnMenuFilterCell.js"),p=require("./columnMenu/GridColumnMenuCheckboxFilter.js"),M=require("./columnMenu/GridColumnMenuColumnsList.js"),q=require("./columnMenu/GridColumnMenuColumnsChooser.js"),I=require("./cells/datacell/GridCell.js"),g=require("./cells/editcell/GridEditCell.js"),T=require("./cells/groupcell/GridGroupCell.js"),S=require("./cells/hierarchycell/GridHierarchyCell.js"),b=require("./cells/GridFilterCell.js"),F=require("./header/GridHeaderCell.js"),P=require("./cells/selectioncell/GridSelectionCell.js"),x=require("./cells/pincell/GridPinCell.js"),E=require("./header/client/GridHeaderPinCell.js"),R=require("./rows/GridDetailRow.js"),h=require("./rows/GridRow.js"),A=require("./GridToolbar.js"),D=require("./toolbar-tools/GridToolbarSpacer.js"),B=require("./toolbar-tools/GridToolbarSeparator.js"),_=require("./toolbar-tools/GridToolbarCheckboxFilter.js"),N=require("./toolbar-tools/GridToolbarColumnsChooser.js"),f=require("./toolbar-tools/GridToolbarFilter.js"),L=require("./toolbar-tools/GridToolbarSort.js"),O=require("./toolbar-tools/GridToolbarGroup.js"),y=require("./toolbar-tools/GridToolbarAIAssistant.js"),v=require("./toolbar-tools/ai-tool/GridAIPrompt.js"),w=require("./components/noRecords/GridNoRecords.js"),H=require("./columnMenu/GridColumnMenuItem.js"),k=require("./columnMenu/GridColumnMenuItemContent.js"),U=require("./columnMenu/GridColumnMenuItemGroup.js"),i=require("./constants/index.js"),t=require("@progress/kendo-react-data-tools"),W=require("./drag/CommonDragLogic.js"),e=require("./filterCommon.js"),j=require("./utils/handleAIResponse.js"),V=require("./hooks/useGridAIRequest.js"),X=require("./interfaces/GridAICommands.js"),r=require("./messages/index.js"),n=require("./StatusBar.js"),u=require("./contextMenu/GridContextMenu.js"),d=require("./contextMenu/enums.js"),K=require("./GridSearchBox.js"),$=require("./GridPdfExportButton.js"),z=require("./GridCsvExportButton.js"),J=require("./toolbar-tools/smartbox/SmartBox.js");exports.Grid=a.Grid;exports.GridColumn=G.GridColumn;exports.GridColumnMenuWrapper=s.GridColumnMenuWrapper;exports.GridColumnMenuGroup=C.GridColumnMenuGroup;exports.GridColumnMenuSort=l.GridColumnMenuSort;exports.isColumnMenuSortActive=l.isColumnMenuSortActive;exports.GridColumnMenuFilter=o.GridColumnMenuFilter;exports.filterGroupByField=o.filterGroupByField;exports.isColumnMenuFilterActive=o.isColumnMenuFilterActive;exports.rootFilterOrDefault=o.rootFilterOrDefault;exports.GridColumnMenuFilterUI=c.GridColumnMenuFilterUI;exports.GridColumnMenuFilterCell=m.GridColumnMenuFilterCell;exports.GridColumnMenuCheckboxFilter=p.GridColumnMenuCheckboxFilter;exports.GridColumnMenuColumnsList=M.GridColumnMenuColumnsList;exports.GridColumnMenuColumnsChooser=q.GridColumnMenuColumnsChooser;exports.GridCell=I.GridCell;exports.GridEditCell=g.GridEditCell;exports.GridGroupCell=T.GridGroupCell;exports.GridHierarchyCell=S.GridHierarchyCell;exports.GridFilterCell=b.GridFilterCell;exports.GridHeaderCell=F.GridHeaderCell;exports.GridSelectionCell=P.GridSelectionCell;exports.GridPinCell=x.GridPinCell;exports.GridHeaderPinCell=E.GridHeaderPinCell;exports.GridDetailRow=R.GridDetailRow;exports.GridRow=h.GridRow;exports.GridToolbar=A.GridToolbar;exports.GridToolbarSpacer=D.GridToolbarSpacer;exports.GridToolbarSeparator=B.GridToolbarSeparator;exports.GridToolbarCheckboxFilter=_.GridToolbarCheckboxFilter;exports.GridToolbarColumnsChooser=N.GridToolbarColumnsChooser;exports.GridToolbarFilter=f.GridToolbarFilter;exports.GridToolbarSort=L.GridToolbarSort;exports.GridToolbarGroup=O.GridToolbarGroup;exports.GridToolbarAIAssistant=y.GridToolbarAIAssistant;exports.GridAIPrompt=v.GridAIPrompt;exports.GridNoRecords=w.GridNoRecords;exports.GridColumnMenuItem=H.GridColumnMenuItem;exports.GridColumnMenuItemContent=k.GridColumnMenuItemContent;exports.GridColumnMenuItemGroup=U.GridColumnMenuItemGroup;exports.GRID_COL_INDEX_ATTRIBUTE=i.GRID_COL_INDEX_ATTRIBUTE;exports.GRID_PREVENT_SELECTION_ELEMENT=i.GRID_PREVENT_SELECTION_ELEMENT;exports.GRID_ROW_INDEX_ATTRIBUTE=i.GRID_ROW_INDEX_ATTRIBUTE;Object.defineProperty(exports,"getSelectedState",{enumerable:!0,get:()=>t.getSelectedState});Object.defineProperty(exports,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>t.getSelectedStateFromKeyDown});Object.defineProperty(exports,"setSelectedState",{enumerable:!0,get:()=>t.setSelectedState});exports.GridCommonDragLogic=W.CommonDragLogic;exports.booleanFilterValues=e.booleanFilterValues;exports.cellBoolDropdownChange=e.cellBoolDropdownChange;exports.cellInputChange=e.cellInputChange;exports.cellOperatorChange=e.cellOperatorChange;exports.combineSmartFilters=e.combineSmartFilters;exports.operators=e.operators;exports.parseFilterDates=e.parseFilterDates;exports.handleAIResponse=j.handleAIResponse;exports.useGridAIRequest=V.useGridAIRequest;exports.GridAICommands=X.GridAICommands;exports.gridMessages=r.messages;exports.pagerFirstPage=r.pagerFirstPage;exports.pagerInfo=r.pagerInfo;exports.pagerItemPerPage=r.pagerItemPerPage;exports.pagerLastPage=r.pagerLastPage;exports.pagerNextPage=r.pagerNextPage;exports.pagerPreviousPage=r.pagerPreviousPage;exports.StatusBar=n.StatusBar;exports.getStatusData=n.getStatusData;exports.leafColumns=n.leafColumns;exports.GridContextMenu=u.GridContextMenu;exports.contextMenuItemsMap=u.contextMenuItemsMap;exports.GridContextMenuAnchorPart=d.GridContextMenuAnchorPart;exports.GridContextMenuItemNames=d.GridContextMenuItemNames;exports.GridSearchBox=K.GridSearchBox;exports.GridPdfExportButton=$.GridPdfExportButton;exports.GridCsvExportButton=z.GridCsvExportButton;exports.SmartBox=J.SmartBox;