@progress/kendo-vue-grid 8.0.3-develop.1 → 8.0.3-develop.3

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 (121) hide show
  1. package/BasePDFExport.d.ts +59 -0
  2. package/Grid.d.ts +542 -0
  3. package/GridColumn.d.ts +18 -0
  4. package/GridNav.d.ts +26 -0
  5. package/GridSearchBox.d.ts +42 -0
  6. package/GridState.d.ts +234 -0
  7. package/GridToolbar.d.ts +32 -0
  8. package/RootGrid.d.ts +429 -0
  9. package/ScrollMode.d.ts +8 -0
  10. package/StatusBar.d.ts +21 -0
  11. package/VirtualScroll.d.ts +43 -0
  12. package/cells/GridCell.d.ts +123 -0
  13. package/cells/GridDetailCell.d.ts +38 -0
  14. package/cells/GridDetailHierarchyCell.d.ts +23 -0
  15. package/cells/GridEditCell.d.ts +86 -0
  16. package/cells/GridFilterCell.d.ts +60 -0
  17. package/cells/GridGroupCell.d.ts +68 -0
  18. package/cells/GridHierarchyCell.d.ts +67 -0
  19. package/cells/GridSelectionCell.d.ts +65 -0
  20. package/columnMenu/ColumnMenu.d.ts +191 -0
  21. package/columnMenu/ColumnMenuContent.d.ts +58 -0
  22. package/columnMenu/GridColumnMenuCheckboxFilter.d.ts +102 -0
  23. package/columnMenu/GridColumnMenuFilter.d.ts +129 -0
  24. package/columnMenu/GridColumnMenuFilter.mjs +5 -5
  25. package/columnMenu/GridColumnMenuFilterCell.d.ts +65 -0
  26. package/columnMenu/GridColumnMenuFilterOperators.d.ts +49 -0
  27. package/columnMenu/GridColumnMenuFilterUI.d.ts +59 -0
  28. package/columnMenu/GridColumnMenuItem.d.ts +60 -0
  29. package/columnMenu/GridColumnMenuItemContent.d.ts +26 -0
  30. package/columnMenu/GridColumnMenuItemGroup.d.ts +12 -0
  31. package/columnMenu/GridColumnMenuSort.d.ts +46 -0
  32. package/common.d.ts +184 -0
  33. package/components/GridDragClue.d.ts +11 -0
  34. package/components/GridDropClue.d.ts +11 -0
  35. package/components/GridLoader.d.ts +32 -0
  36. package/components/PagerContainer.d.ts +11 -0
  37. package/components/VirtualScrollHeightContainer.d.ts +11 -0
  38. package/components/colGroup/GridColGroup.d.ts +11 -0
  39. package/components/noRecords/GridNoRecords.d.ts +15 -0
  40. package/components/noRecords/GridNoRecordsContainer.d.ts +15 -0
  41. package/components/utils.d.ts +21 -0
  42. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  43. package/drag/ColumnDraggable.d.ts +34 -0
  44. package/drag/ColumnResize.d.ts +46 -0
  45. package/drag/ColumnResizer.d.ts +27 -0
  46. package/drag/CommonDragLogic.d.ts +43 -0
  47. package/drag/DragClue.d.ts +18 -0
  48. package/drag/DropClue.d.ts +17 -0
  49. package/drag/GroupingIndicator.d.ts +50 -0
  50. package/filterCommon.d.ts +86 -0
  51. package/footer/Footer.d.ts +57 -0
  52. package/footer/FooterRow.d.ts +35 -0
  53. package/header/FilterRow.d.ts +65 -0
  54. package/header/GridHeaderCell.d.ts +34 -0
  55. package/header/GridHeaderSelectionCell.d.ts +25 -0
  56. package/header/GroupPanel.d.ts +52 -0
  57. package/header/Header.d.ts +70 -0
  58. package/header/HeaderRow.d.ts +140 -0
  59. package/index.d.mts +42 -3319
  60. package/index.d.ts +42 -3319
  61. package/interfaces/ColumnType.d.ts +13 -0
  62. package/interfaces/CompositeHighlightDescriptor.d.ts +29 -0
  63. package/interfaces/ExtendedColumnProps.d.ts +33 -0
  64. package/interfaces/GridCellProps.d.ts +176 -0
  65. package/interfaces/GridCellRenderModel.d.ts +15 -0
  66. package/interfaces/GridColSpanProps.d.ts +21 -0
  67. package/interfaces/GridColumnChildrenProps.d.ts +12 -0
  68. package/interfaces/GridColumnMenuBaseProps.d.ts +21 -0
  69. package/interfaces/GridColumnMenuColumnProps.d.ts +20 -0
  70. package/interfaces/GridColumnMenuColumnsChooserBaseProps.d.ts +22 -0
  71. package/interfaces/GridColumnMenuExtendedFilterProps.d.ts +49 -0
  72. package/interfaces/GridColumnMenuFilterBaseProps.d.ts +56 -0
  73. package/interfaces/GridColumnMenuFilterProps.d.ts +34 -0
  74. package/interfaces/GridColumnMenuFilterUIProps.d.ts +62 -0
  75. package/interfaces/GridColumnMenuGroupBaseProps.d.ts +26 -0
  76. package/interfaces/GridColumnMenuProps.d.ts +48 -0
  77. package/interfaces/GridColumnMenuSortBaseProps.d.ts +35 -0
  78. package/interfaces/GridColumnProps.d.ts +207 -0
  79. package/interfaces/GridColumnState.d.ts +44 -0
  80. package/interfaces/GridDataType.d.ts +12 -0
  81. package/interfaces/GridDetailExpandableSettings.d.ts +11 -0
  82. package/interfaces/GridDetailRowProps.d.ts +16 -0
  83. package/interfaces/GridEditableSettings.d.ts +16 -0
  84. package/interfaces/GridFilterCellProps.d.ts +86 -0
  85. package/interfaces/GridFilterOperator.d.ts +14 -0
  86. package/interfaces/GridFilterOperators.d.ts +56 -0
  87. package/interfaces/GridFooterCellProps.d.ts +14 -0
  88. package/interfaces/GridGroupExpandableSettings.d.ts +22 -0
  89. package/interfaces/GridGroupableSettings.d.ts +27 -0
  90. package/interfaces/GridHeaderCellProps.d.ts +44 -0
  91. package/interfaces/GridHeaderSelectionCellProps.d.ts +24 -0
  92. package/interfaces/GridHighlightDescriptor.d.ts +10 -0
  93. package/interfaces/GridNoRecordsProps.d.ts +16 -0
  94. package/interfaces/GridProps.d.ts +543 -0
  95. package/interfaces/GridReorderDropDir.d.ts +11 -0
  96. package/interfaces/GridRowProps.d.ts +70 -0
  97. package/interfaces/GridRowReorderSettings.d.ts +25 -0
  98. package/interfaces/GridRowSpannableSettings.d.ts +21 -0
  99. package/interfaces/GridRowType.d.ts +16 -0
  100. package/interfaces/GridRowsSettings.d.ts +15 -0
  101. package/interfaces/GridSelectableSettings.d.ts +25 -0
  102. package/interfaces/GridSortSettings.d.ts +33 -0
  103. package/interfaces/GridToolbarProps.d.ts +22 -0
  104. package/interfaces/VirtualScrollInterface.d.ts +28 -0
  105. package/interfaces/events.d.ts +311 -0
  106. package/key.d.ts +8 -0
  107. package/messages/main.d.ts +430 -0
  108. package/messages/messagesMap.d.ts +14 -0
  109. package/package-metadata.d.ts +12 -0
  110. package/package-metadata.js +1 -1
  111. package/package-metadata.mjs +2 -2
  112. package/package.json +20 -14
  113. package/paging/GridPagerSettings.d.ts +21 -0
  114. package/paging/Page.d.ts +11 -0
  115. package/rows/GridDetailRow.d.ts +12 -0
  116. package/rows/GridRow.d.ts +72 -0
  117. package/utils/browser-support.service.d.ts +14 -0
  118. package/utils/main.d.ts +143 -0
  119. package/utils/main.js +1 -1
  120. package/utils/main.mjs +1 -1
  121. package/utils/virtualColumns.d.ts +31 -0
@@ -0,0 +1,143 @@
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 { DetailExpandDescriptor, GroupExpandDescriptor, GroupState } from '@progress/kendo-vue-data-tools';
9
+ import { GridProps } from '../interfaces/GridProps';
10
+ import { ExtendedColumnProps } from '../interfaces/ExtendedColumnProps';
11
+ import { DataResult, GroupDescriptor, SortDescriptor } from '@progress/kendo-data-query';
12
+ import { GridRowType } from '../interfaces/GridRowType';
13
+ import { GridColumnProps } from '../interfaces/GridColumnProps';
14
+ import { IntlService } from '@progress/kendo-vue-intl';
15
+ import { GridColumnState } from '../interfaces/GridColumnState';
16
+ import { GridDetailExpandableSettings } from '../interfaces/GridDetailExpandableSettings';
17
+ import { GridRowSpannableSettings } from '../interfaces/GridRowSpannableSettings';
18
+ /**
19
+ * @hidden
20
+ */
21
+ export declare function getNestedValue(fieldName: string, dataItem: any): any;
22
+ /**
23
+ * @hidden
24
+ */
25
+ export interface DataItemWrapper {
26
+ dataItem: any;
27
+ rowType: GridRowType;
28
+ level: number;
29
+ expanded: boolean;
30
+ dataIndex: number;
31
+ group?: GroupState;
32
+ }
33
+ /**
34
+ * @hidden
35
+ */
36
+ export declare function flatData(output: Array<DataItemWrapper>, input: Array<any>, footer: 'always' | 'visible' | 'none', dataIndex: {
37
+ index: number;
38
+ }, groupDefined: boolean, expand?: DetailExpandDescriptor, groupExpand?: GroupExpandDescriptor[], defaultGroupExpand?: boolean, dataItemKey?: string, field?: string, level?: number, parentGroup?: GroupState | undefined): number;
39
+ /**
40
+ * @hidden
41
+ */
42
+ export declare function isRtl(element: Element | null): boolean;
43
+ /**
44
+ * @hidden
45
+ */
46
+ export declare function getIndex(event: any, parent: HTMLElement | null): number;
47
+ /**
48
+ * @hidden
49
+ */
50
+ export declare function checkPropCompatibility(props: GridProps): void;
51
+ /**
52
+ * @hidden
53
+ */
54
+ export declare function mapColumns(columns: Array<{
55
+ parentIndex: number;
56
+ rowSpan: number;
57
+ depth: number;
58
+ kFirst?: boolean;
59
+ children: any[];
60
+ headerColSpan: number;
61
+ width?: string | number;
62
+ locked?: boolean;
63
+ index: number;
64
+ left: number;
65
+ right: number;
66
+ rightBorder: boolean;
67
+ ariaColumnIndex: number;
68
+ virtualColumnOffset?: number;
69
+ }>, changedColumnLength?: boolean): number[][];
70
+ /**
71
+ * @hidden
72
+ */
73
+ export declare function readColumns(elements: (GridColumnProps)[], columnsState: GridColumnState[], idInfo: {
74
+ prevId: number;
75
+ idPrefix: string;
76
+ }, depth?: number, parentHidden?: boolean): ExtendedColumnProps[];
77
+ /**
78
+ * @hidden
79
+ */
80
+ export declare const getDataAsArray: (data: any[] | DataResult | null | undefined) => any[];
81
+ /**
82
+ * @hidden
83
+ */
84
+ export declare function autoGenerateColumns(data: any[] | DataResult | null | undefined, group: GroupDescriptor[] | undefined, expandable: GridDetailExpandableSettings, idInfo: {
85
+ prevId: number;
86
+ idPrefix: string;
87
+ }): ExtendedColumnProps[];
88
+ /**
89
+ * @hidden
90
+ */
91
+ export declare const footerColumns: (columns: ExtendedColumnProps[]) => ExtendedColumnProps[];
92
+ /**
93
+ * @hidden
94
+ */
95
+ export declare const parsers: {
96
+ number: (value: any, intl: IntlService, format?: string) => number;
97
+ date: (value: any, intl: IntlService, format?: string) => Date;
98
+ boolean: (value: any) => any;
99
+ string: (value: any) => any;
100
+ default: (value: any) => any;
101
+ };
102
+ /**
103
+ * @hidden
104
+ */
105
+ export declare function applyExpandedState(sdata: DataResult, collapsed: any[], uniqueField: string): DataResult;
106
+ /**
107
+ * @hidden
108
+ */
109
+ export declare function groupedFirstItemValue(item: any, field: string): any;
110
+ /**
111
+ * @hidden
112
+ */
113
+ export declare const getFlatColumnsState: (state: GridColumnState[]) => GridColumnState[];
114
+ /**
115
+ * @hidden
116
+ */
117
+ export declare const firefox: boolean;
118
+ /**
119
+ * @hidden
120
+ */
121
+ export declare const firefoxMaxHeight = 17895697;
122
+ /**
123
+ * @hidden
124
+ */
125
+ export declare const getColumnWidth: (column: ExtendedColumnProps) => string | undefined;
126
+ /**
127
+ * @hidden
128
+ */
129
+ export declare const isSorted: (field: string | undefined, sort?: SortDescriptor[]) => boolean;
130
+ /**
131
+ * @hidden
132
+ */
133
+ export declare const sanitizeColumns: (columns: ExtendedColumnProps[]) => GridColumnProps[];
134
+ /**
135
+ * @hidden
136
+ */
137
+ export declare const getColSpan: (column: GridColumnProps, dataItem: any) => number;
138
+ /**
139
+ * @hidden
140
+ */
141
+ export declare const getRowSpanOptions: (rowSpannable?: boolean | GridRowSpannableSettings) => Required<GridRowSpannableSettings>;
142
+ /** @hidden */
143
+ export declare const calcRowHeight: (tableBody: HTMLTableSectionElement | null) => number;
package/utils/main.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 w=require("@progress/kendo-vue-data-tools"),I=require("@progress/kendo-vue-common"),D=require("../GridColumn.js"),y="string";function v(e,t){const n=e.split(".");let i=t;return n.forEach(a=>{i=i?i[a]:void 0}),i}function R(e,t,n,i,a,s,r,o,d,h,p=0,f){let c=p;for(let g=0;g<t.length;g++){let l;if(!a||t[g].value===void 0||t[g].items===void 0){const C=d?!!(s!=null&&s[I.getter(d)(t[g])]):!1;e[e.length]={dataIndex:i.index,dataItem:t[g],rowType:"data",level:p,group:f,expanded:h!==void 0?v(h,t[g]):C!=null?C:!1},i.index++;continue}else{let C;f!=null&&f.parents?C=[{field:f.field,value:f.value},...f.parents]:f?C=[f]:C=[],l={field:t[g].field,value:t[g].value,parents:C}}c=Math.max(c,p+1);let x=!1;const u=w.findGroupExpand(r||[],l);h?x=h===void 0||v(h,t[g])===void 0||v(h,t[g]):x=u?u.expanded!==!1:o!==!1,e[e.length]={dataIndex:-1,dataItem:t[g],level:p,group:l,rowType:"groupHeader",expanded:x},x&&(l.expanded=x,c=Math.max(R(e,t[g].items,n,i,a,s,r,o,d,h,p+1,l),c)),(n==="always"||x&&n==="visible")&&(e[e.length]={dataIndex:-1,dataItem:t[g],rowType:"groupFooter",level:p,expanded:x})}return c}function O(e){return e&&getComputedStyle(e).direction==="rtl"||!1}function N(e,t){if(!t||!e||!e.originalEvent||!I.canUseDOM)return-1;let n=document.elementFromPoint(e.clientX,e.originalEvent.clientY);for(;n&&n.parentElement!==t;)n=n.parentElement;const i=t.children;for(let a=0;a<i.length;a++)if(i[a]===n)return a;return-1}const A=["sortChange","filterChange","groupChange","pageChange","expandChange","selectionChange","headerSelectionChange","rowClick","itemChange","dataStateChange","columnResize","columnReorder"],H=(e,t)=>`The ${e} event handler property is deprecated, use https://www.telerik.com/kendo-vue-ui/components/grid/api/GridProps/#toc-${t} instead`;function L(e){for(let t=0;t<A.length;t++){const n=A[t];if(e[n]!==void 0){const i="on"+n.charAt(0).toUpperCase()+n.slice(1);console.warn(H(n,i))}}}function V(e,t){const n=[[]];let i=0;for(let r=e.length-1;r>=0;r--)i=Math.max(i,e[r].depth),e[r].headerColSpan=e[r].headerColSpan||1,e[r].children.length>0&&(e[r].headerColSpan=e[r].children.reduce((o,d)=>d.hidden?o:o+d.headerColSpan,0));const a=[];let s=1;return e.forEach((r,o)=>{n[r.depth]=n[r.depth]||[];let d=!1;n[r.depth].length===0&&(s<=1?s=1+(r.children.length>0?0:i-r.depth):(s--,d=!0)),r.rowSpan=1+(r.children.length>0?0:i-r.depth),r.kFirst=d,r.index=n[r.depth].length,r.ariaColumnIndex=a[r.depth]?a[r.depth]+1:1;let h=0;const p=[],f=new Set;let c=r.parentIndex;for(;c>=0&&!f.has(c);)f.add(c),p.unshift(c),c=e[c].parentIndex;for(let l=0;l<p.length;l++){const x=p[l],u=e[x],C=n[u.depth],E=C.indexOf(x);for(let S=0;S<E;S++){const m=C[S];h+=e[m].headerColSpan}}for(let l=0;l<r.depth;l++){const x=n[l]||[];for(const u of x){const C=e[u];C.depth+C.rowSpan-1>=r.depth&&(p.includes(u)||(h+=C.headerColSpan))}}const g=n[r.depth];for(const l of g){const x=e[l];x.parentIndex===r.parentIndex&&(h+=x.headerColSpan)}r.virtualColumnOffset=h,n[r.depth].push(o);for(let l=r.depth;l<r.depth+r.rowSpan;l++)a[l]=(a[l]||0)+r.headerColSpan}),w.updateLeft(n,e,t),w.updateRight(n,e,t),n}function M(e,t,n,i=0,a=!1){const s=[];if(!e)return[];e&&e.length===void 0&&(e=[e]),e.forEach((o,d)=>{o=o;const h=o.id?o.id:w.tableKeyboardNavigationTools.generateNavigatableId(`${n.prevId++}`,n.idPrefix,"column"),p=I.canUseDOM&&o.media&&window.matchMedia?!window.matchMedia(o.media).matches:!1,f=a||p||o.hidden,c=t==null?void 0:t.find(l=>l.id===h),g=M(o.children,(c==null?void 0:c.children)||[],n,i+1,f);s.push({depth:i,...D.gridDefaultProps,...g.length?{cell:()=>null,filterCell:()=>null}:{},...o,id:h,declarationIndex:s.length,children:g,headerColSpan:0,rowSpan:0,columnType:o.columnType||"data",colSpan:o.colSpan||1,isAccessible:!0,hidden:f,left:null,right:null,rowSpannable:o.rowSpannable,...c?{width:c.width,orderIndex:c.orderIndex}:{}})});const r=(o,d)=>o.orderIndex===d.orderIndex?o.declarationIndex-d.declarationIndex:(o.orderIndex||0)-(d.orderIndex||0);if(s.sort(r),i===0){const o=[],d=(h,p)=>h.forEach(f=>{f.parentIndex=p,d(f.children,o.push(f)-1)});return d(s,-1),o}return s}const T=e=>Array.isArray(e)?e:e?e.data:[];function j(e,t,n,i){const a=T(e),s=[];if(a.length>0){let r=a[0];if(t)for(let d=0;d<t.length;d++)r=r.items&&r.items[0];Object.getOwnPropertyNames(r).forEach(d=>{d!==n.column&&s.push({id:w.tableKeyboardNavigationTools.generateNavigatableId(`${i.prevId++}`,i.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,index:0,columnType:"data",left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0,...D.gridDefaultProps,field:d})})}return s}const K=(e,t)=>{let n=e[t.parentIndex];for(;n;){if(n.footerCell)return!0;n=e[n.parentIndex]}return!1},P=e=>e.filter(t=>K(e,t)?!1:!!t.footerCell||!(t.children&&t.children.length>0)),$={number:function(e,t,n){return typeof e===y&&e.toLowerCase()==="null"?null:t.parseNumber(e,n)},date:function(e,t,n){return typeof e===y&&e.toLowerCase()==="null"?null:t.parseDate(e,n)},boolean:function(e){return typeof e===y?e.toLowerCase()==="null"?null:e.toLowerCase()==="true":e!=null?!!e:e},string:function(e){return typeof e===y&&e.toLowerCase()==="null"?null:e!=null?e+"":e},default:function(e){return e}};function F(e,t,n,i){return e.forEach(a=>{a.expanded=t[i]&&!t[i].includes(b(a,n)),a.items&&a.items.length&&(a.items=F(a.items,t,n,i+1))}),e}function z(e,t,n){return t&&t.length&&e.data.forEach(i=>{i.expanded=i.expanded!==void 0?i.expanded:t[0]&&!t[0].includes(b(i,n)),i.items&&i.items.length&&(i.items=F(i.items,t,n,1))}),e}function b(e,t){let n=e;for(;n.items&&n.items.length;)n=n.items[0];return t?n[t]:e.value}const B=e=>{const t=[],n=i=>i==null?void 0:i.forEach(a=>{t.push(a),n(a.children)});return n(e),t},U=typeof window!="undefined"&&/Firefox/.test(window.navigator.userAgent),q=17895697,W=e=>e.width!==void 0?Math.floor(parseFloat(e.width.toString()))+"px":void 0,X=(e,t)=>t&&t.filter(n=>n.field===e).length>0,k=e=>(e.sort((t,n)=>t.declarationIndex-n.declarationIndex),e.map(t=>{const{declarationIndex:n,parentIndex:i,depth:a,headerColSpan:s,rowSpan:r,index:o,kFirst:d,children:h,...p}=t;return h.length?{children:k(h),...p}:p})),Y=(e,t)=>typeof e.colSpan=="function"?e.colSpan({dataItem:t,column:e}):e.colSpan||1,J=e=>{var i,a;const t=typeof e=="object"?(i=e.enabled)!=null?i:!0:e!=null?e:!1,n=typeof e=="object"?(a=e.valueGetter)!=null?a:(s,r)=>I.getter(r)(s):(s,r)=>I.getter(r)(s);return{enabled:t,valueGetter:n}},Q=e=>{let t=0;if(e){const n=e.insertRow(0),i=n.insertCell(0);i.textContent="&nbsp;",t=n.getBoundingClientRect().height,e.deleteRow(0)}return t};exports.applyExpandedState=z;exports.autoGenerateColumns=j;exports.calcRowHeight=Q;exports.checkPropCompatibility=L;exports.firefox=U;exports.firefoxMaxHeight=q;exports.flatData=R;exports.footerColumns=P;exports.getColSpan=Y;exports.getColumnWidth=W;exports.getDataAsArray=T;exports.getFlatColumnsState=B;exports.getIndex=N;exports.getNestedValue=v;exports.getRowSpanOptions=J;exports.groupedFirstItemValue=b;exports.isRtl=O;exports.isSorted=X;exports.mapColumns=V;exports.parsers=$;exports.readColumns=M;exports.sanitizeColumns=k;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("@progress/kendo-vue-data-tools"),I=require("@progress/kendo-vue-common"),D=require("../GridColumn.js"),y="string";function v(e,t){const n=e.split(".");let i=t;return n.forEach(a=>{i=i?i[a]:void 0}),i}function R(e,t,n,i,a,s,r,o,d,h,p=0,f){let c=p;for(let g=0;g<t.length;g++){let l;if(!a||t[g].value===void 0||t[g].items===void 0){const C=d?!!(s!=null&&s[I.getter(d)(t[g])]):!1;e[e.length]={dataIndex:i.index,dataItem:t[g],rowType:"data",level:p,group:f,expanded:h!==void 0?v(h,t[g]):C!=null?C:!1},i.index++;continue}else{let C;f!=null&&f.parents?C=[{field:f.field,value:f.value},...f.parents]:f?C=[f]:C=[],l={field:t[g].field,value:t[g].value,parents:C}}c=Math.max(c,p+1);let x=!1;const u=w.findGroupExpand(r||[],l);h?x=h===void 0||v(h,t[g])===void 0||v(h,t[g]):x=u?u.expanded!==!1:o!==!1,e[e.length]={dataIndex:-1,dataItem:t[g],level:p,group:l,rowType:"groupHeader",expanded:x},x&&(l.expanded=x,c=Math.max(R(e,t[g].items,n,i,a,s,r,o,d,h,p+1,l),c)),(n==="always"||x&&n==="visible")&&(e[e.length]={dataIndex:-1,dataItem:t[g],rowType:"groupFooter",level:p,expanded:x})}return c}function O(e){return e&&getComputedStyle(e).direction==="rtl"||!1}function N(e,t){if(!t||!e||!e.originalEvent||!I.canUseDOM)return-1;let n=document.elementFromPoint(e.clientX,e.originalEvent.clientY);for(;n&&n.parentElement!==t;)n=n.parentElement;const i=t.children;for(let a=0;a<i.length;a++)if(i[a]===n)return a;return-1}const A=["sortChange","filterChange","groupChange","pageChange","expandChange","selectionChange","headerSelectionChange","rowClick","itemChange","dataStateChange","columnResize","columnReorder"],H=(e,t)=>`The ${e} event handler property is deprecated, use https://www.telerik.com/kendo-vue-ui/components/grid/api/GridProps/#toc-${t} instead`;function L(e){for(let t=0;t<A.length;t++){const n=A[t];if(e[n]!==void 0){const i="on"+n.charAt(0).toUpperCase()+n.slice(1);console.warn(H(n,i))}}}function V(e,t){const n=[[]];let i=0;for(let r=e.length-1;r>=0;r--)i=Math.max(i,e[r].depth),e[r].headerColSpan=e[r].headerColSpan||1,e[r].children.length>0&&(e[r].headerColSpan=e[r].children.reduce((o,d)=>d.hidden?o:o+d.headerColSpan,0));const a=[];let s=1;return e.forEach((r,o)=>{n[r.depth]=n[r.depth]||[];let d=!1;n[r.depth].length===0&&(s<=1?s=1+(r.children.length>0?0:i-r.depth):(s--,d=!0)),r.rowSpan=1+(r.children.length>0?0:i-r.depth),r.kFirst=d,r.index=n[r.depth].length,r.ariaColumnIndex=a[r.depth]?a[r.depth]+1:1;let h=0;const p=[],f=new Set;let c=r.parentIndex;for(;c>=0&&!f.has(c);)f.add(c),p.unshift(c),c=e[c].parentIndex;for(let l=0;l<p.length;l++){const x=p[l],u=e[x],C=n[u.depth],E=C.indexOf(x);for(let S=0;S<E;S++){const m=C[S];h+=e[m].headerColSpan}}for(let l=0;l<r.depth;l++){const x=n[l]||[];for(const u of x){const C=e[u];C.depth+C.rowSpan-1>=r.depth&&(p.includes(u)||(h+=C.headerColSpan))}}const g=n[r.depth];for(const l of g){const x=e[l];x.parentIndex===r.parentIndex&&(h+=x.headerColSpan)}r.virtualColumnOffset=h,n[r.depth].push(o);for(let l=r.depth;l<r.depth+r.rowSpan;l++)a[l]=(a[l]||0)+r.headerColSpan}),w.updateLeft(n,e,t),w.updateRight(n,e,t),n}function M(e,t,n,i=0,a=!1){const s=[];if(!e)return[];e&&e.length===void 0&&(e=[e]),e.forEach((o,d)=>{o=o;const h=o.id?o.id:w.tableKeyboardNavigationTools.generateNavigatableId(`${n.prevId++}`,n.idPrefix,"column"),p=I.canUseDOM&&o.media&&window.matchMedia?!window.matchMedia(o.media).matches:!1,f=a||p||o.hidden,c=t==null?void 0:t.find(l=>l.id===h),g=M(o.children,(c==null?void 0:c.children)||[],n,i+1,f);s.push({depth:i,...D.gridDefaultProps,...g.length?{cell:()=>null,filterCell:()=>null}:{},...o,id:h,declarationIndex:s.length,children:g,headerColSpan:0,rowSpan:0,columnType:o.columnType||"data",colSpan:o.colSpan||1,isAccessible:!0,hidden:f,left:null,right:null,rowSpannable:o.rowSpannable,...c?{width:c.width,orderIndex:c.orderIndex}:{}})});const r=(o,d)=>o.orderIndex===d.orderIndex?o.declarationIndex-d.declarationIndex:(o.orderIndex||0)-(d.orderIndex||0);if(s.sort(r),i===0){const o=[],d=(h,p)=>h.forEach(f=>{f.parentIndex=p,d(f.children,o.push(f)-1)});return d(s,-1),o}return s}const T=e=>Array.isArray(e)?e:e?e.data:[];function j(e,t,n,i){const a=T(e),s=[];if(a.length>0){let r=a[0];if(t)for(let d=0;d<t.length;d++)r=r.items&&r.items[0];Object.getOwnPropertyNames(r).forEach(d=>{d!==n.column&&s.push({id:w.tableKeyboardNavigationTools.generateNavigatableId(`${i.prevId++}`,i.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,index:0,columnType:"data",left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0,...D.gridDefaultProps,field:d})})}return s}const K=(e,t)=>{let n=e[t.parentIndex];for(;n;){if(n.footerCell)return!0;n=e[n.parentIndex]}return!1},P=e=>e.filter(t=>K(e,t)?!1:!!t.footerCell||!(t.children&&t.children.length>0)),$={number:function(e,t,n){return typeof e===y&&e.toLowerCase()==="null"?null:t.parseNumber(e,n)},date:function(e,t,n){return typeof e===y&&e.toLowerCase()==="null"?null:t.parseDate(e,n)},boolean:function(e){return typeof e===y?e.toLowerCase()==="null"?null:e.toLowerCase()==="true":e!=null?!!e:e},string:function(e){return typeof e===y&&e.toLowerCase()==="null"?null:e!=null?e+"":e},default:function(e){return e}};function F(e,t,n,i){return e.forEach(a=>{a.expanded=t[i]&&!t[i].includes(b(a,n)),a.items&&a.items.length&&(a.items=F(a.items,t,n,i+1))}),e}function z(e,t,n){return t&&t.length&&e.data.forEach(i=>{i.expanded=i.expanded!==void 0?i.expanded:t[0]&&!t[0].includes(b(i,n)),i.items&&i.items.length&&(i.items=F(i.items,t,n,1))}),e}function b(e,t){let n=e;for(;n.items&&n.items.length;)n=n.items[0];return t?n[t]:e.value}const B=e=>{const t=[],n=i=>i==null?void 0:i.forEach(a=>{t.push(a),n(a.children)});return n(e),t},U=typeof window!="undefined"&&/Firefox/.test(window.navigator.userAgent),q=17895697,W=e=>e.width!==void 0?Math.floor(parseFloat(e.width.toString()))+"px":void 0,X=(e,t)=>t&&t.filter(n=>n.field===e).length>0,k=e=>(e.sort((t,n)=>t.declarationIndex-n.declarationIndex),e.map(t=>{const{declarationIndex:n,parentIndex:i,depth:a,headerColSpan:s,rowSpan:r,index:o,kFirst:d,children:h,...p}=t;return h.length?{children:k(h),...p}:p})),Y=(e,t)=>typeof e.colSpan=="function"?e.colSpan({dataItem:t,column:e}):e.colSpan||1,J=e=>{var i,a;const t=typeof e=="object"?(i=e.enabled)!=null?i:!0:e!=null?e:!1,n=typeof e=="object"?(a=e.valueGetter)!=null?a:((s,r)=>I.getter(r)(s)):(s,r)=>I.getter(r)(s);return{enabled:t,valueGetter:n}},Q=e=>{let t=0;if(e){const n=e.insertRow(0),i=n.insertCell(0);i.textContent="&nbsp;",t=n.getBoundingClientRect().height,e.deleteRow(0)}return t};exports.applyExpandedState=z;exports.autoGenerateColumns=j;exports.calcRowHeight=Q;exports.checkPropCompatibility=L;exports.firefox=U;exports.firefoxMaxHeight=q;exports.flatData=R;exports.footerColumns=P;exports.getColSpan=Y;exports.getColumnWidth=W;exports.getDataAsArray=T;exports.getFlatColumnsState=B;exports.getIndex=N;exports.getNestedValue=v;exports.getRowSpanOptions=J;exports.groupedFirstItemValue=b;exports.isRtl=O;exports.isSorted=X;exports.mapColumns=V;exports.parsers=$;exports.readColumns=M;exports.sanitizeColumns=k;
package/utils/main.mjs CHANGED
@@ -283,7 +283,7 @@ const Z = (e) => {
283
283
  } : p;
284
284
  })), te = (e, t) => typeof e.colSpan == "function" ? e.colSpan({ dataItem: t, column: e }) : e.colSpan || 1, ne = (e) => {
285
285
  var i, a;
286
- const t = typeof e == "object" ? (i = e.enabled) != null ? i : !0 : e != null ? e : !1, n = typeof e == "object" ? (a = e.valueGetter) != null ? a : (s, r) => S(r)(s) : (s, r) => S(r)(s);
286
+ const t = typeof e == "object" ? (i = e.enabled) != null ? i : !0 : e != null ? e : !1, n = typeof e == "object" ? (a = e.valueGetter) != null ? a : ((s, r) => S(r)(s)) : (s, r) => S(r)(s);
287
287
  return { enabled: t, valueGetter: n };
288
288
  }, re = (e) => {
289
289
  let t = 0;
@@ -0,0 +1,31 @@
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 { ExtendedColumnProps } from '../interfaces/ExtendedColumnProps';
9
+ import { GridCellRenderModel } from '../interfaces/GridCellRenderModel';
10
+ /**
11
+ * @hidden
12
+ * Calculate which columns to render and their colSpans for virtualized header/filter rows
13
+ */
14
+ export declare function getVirtualHeaderCellsToRender(args: {
15
+ cellsToRender: GridCellRenderModel[];
16
+ columns: ExtendedColumnProps[];
17
+ rowIndex: number;
18
+ enableVirtualization?: boolean;
19
+ }): {
20
+ columnsToRender: number[];
21
+ colSpans: number[];
22
+ };
23
+ /**
24
+ * @hidden
25
+ */
26
+ export declare function getVirtualCellsToRender(args: {
27
+ cellModels: GridCellRenderModel[];
28
+ columns: ExtendedColumnProps[];
29
+ tableViewPortWidth: number;
30
+ scrollLeft: number;
31
+ }): GridCellRenderModel[];