@progress/kendo-vue-grid 7.0.3-develop.1 → 7.1.0-develop.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.mts CHANGED
@@ -5,41 +5,55 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ import { ColumnBaseProps } from '@progress/kendo-vue-data-tools';
8
9
  import { ComponentOptionsMixin } from 'vue';
9
10
  import { ComponentProvideOptions } from 'vue';
10
11
  import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
12
+ import { ComputedRef } from 'vue';
11
13
  import { DataResult } from '@progress/kendo-data-query';
12
14
  import { DefineComponent } from 'vue';
15
+ import { DetailExpandDescriptor } from '@progress/kendo-vue-data-tools';
13
16
  import { ExtractPropTypes } from 'vue';
14
17
  import { GridCellProps as GridCellProps_2 } from '.';
15
18
  import { GridColumnMenuColumnProps } from '../interfaces/GridColumnMenuColumnProps';
16
- import { GridDataStateChangeEvent as GridDataStateChangeEvent_2 } from './interfaces/events';
19
+ import { GridColumnState as GridColumnState_2 } from '.';
20
+ import { GridDataStateChangeEvent as GridDataStateChangeEvent_2 } from '.';
21
+ import { GridDetailExpandChangeEvent as GridDetailExpandChangeEvent_2 } from '.';
22
+ import { GridExpandChangeEvent as GridExpandChangeEvent_2 } from '.';
17
23
  import { GridFilterCellProps as GridFilterCellProps_2 } from '..';
18
- import { GridFilterChangeEvent as GridFilterChangeEvent_2 } from './interfaces/events';
24
+ import { GridFilterChangeEvent as GridFilterChangeEvent_2 } from '.';
19
25
  import { GridFilterOperator as GridFilterOperator_2 } from '../interfaces/GridFilterOperator';
20
26
  import { GridFilterOperators as GridFilterOperators_2 } from './interfaces/GridFilterOperators';
21
27
  import { GridFilterOperators as GridFilterOperators_3 } from '../interfaces/GridFilterOperators';
22
28
  import { GridGroupableSettings as GridGroupableSettings_2 } from '.';
23
- import { GridGroupChangeEvent as GridGroupChangeEvent_2 } from './interfaces/events';
24
- import { GridPageChangeEvent as GridPageChangeEvent_2 } from './interfaces/events';
29
+ import { GridGroupChangeEvent as GridGroupChangeEvent_2 } from '.';
30
+ import { GridGroupExpandChangeEvent as GridGroupExpandChangeEvent_2 } from '.';
31
+ import { GridItemChangeEvent as GridItemChangeEvent_2 } from '.';
32
+ import { GridPageChangeEvent as GridPageChangeEvent_2 } from '.';
25
33
  import { GridPagerSettings } from '@progress/kendo-vue-data-tools';
26
- import { GridSortChangeEvent as GridSortChangeEvent_2 } from './interfaces/events';
34
+ import { GridSearchChangeEvent as GridSearchChangeEvent_2 } from '.';
35
+ import { GridSortChangeEvent as GridSortChangeEvent_2 } from '.';
27
36
  import { GridSortSettings as GridSortSettings_2 } from '.';
28
37
  import { GridSortSettings as GridSortSettings_3 } from '..';
29
38
  import { GridSortSettings as GridSortSettings_4 } from '../interfaces/GridSortSettings';
30
39
  import { GroupDescriptor } from '@progress/kendo-data-query';
40
+ import { GroupExpandDescriptor } from '@progress/kendo-vue-data-tools';
41
+ import { GroupState } from '@progress/kendo-vue-data-tools';
31
42
  import { IntlService } from '@progress/kendo-vue-intl';
32
43
  import { JSX } from 'vue/jsx-runtime';
33
- import { Page } from '@progress/kendo-vue-data-tools';
34
44
  import { PopupAnimation } from '@progress/kendo-vue-popup';
35
45
  import { PropType } from 'vue';
36
46
  import { PublicProps } from 'vue';
37
47
  import { Ref } from 'vue';
48
+ import { SearchField } from '@progress/kendo-vue-data-tools';
38
49
  import { SortDescriptor } from '@progress/kendo-data-query';
39
50
  import { State } from '@progress/kendo-data-query';
40
51
  import { SVGIcon } from '@progress/kendo-vue-common';
41
52
  import { SVGIcon as SVGIcon_2 } from '@progress/kendo-svg-icons';
42
53
  import { SvgIconAll } from '@progress/kendo-vue-common';
54
+ import { TableExpandableSettings } from '@progress/kendo-vue-data-tools';
55
+ import { TextBoxChangeEvent } from '@progress/kendo-vue-inputs';
56
+ import { TextBoxProps } from '@progress/kendo-vue-inputs';
43
57
 
44
58
  /**
45
59
  * @hidden
@@ -49,7 +63,7 @@ export declare function applyExpandedState(sdata: DataResult, collapsed: any[],
49
63
  /**
50
64
  * @hidden
51
65
  */
52
- export declare function autoGenerateColumns(data: any[] | DataResult | null | undefined, group: GroupDescriptor[] | undefined, expandField: string | undefined, idInfo: {
66
+ export declare function autoGenerateColumns(data: any[] | DataResult | null | undefined, group: GroupDescriptor[] | undefined, expandable: GridDetailExpandableSettings, idInfo: {
53
67
  prevId: number;
54
68
  idPrefix: string;
55
69
  }): ExtendedColumnProps[];
@@ -68,26 +82,32 @@ export declare interface DataItemWrapper {
68
82
  level: number;
69
83
  expanded: boolean;
70
84
  dataIndex: number;
85
+ group?: GroupState;
71
86
  }
72
87
 
73
88
  /**
74
89
  * @hidden
75
90
  */
76
91
  declare interface ExtendedColumnProps extends GridColumnProps {
77
- id: string;
78
92
  declarationIndex: number;
79
93
  parentIndex: number;
80
- colSpan: number;
81
94
  rowSpan: number;
82
95
  depth: number;
96
+ colSpan: number;
83
97
  kFirst?: boolean;
84
98
  index: number;
99
+ headerColSpan: number;
85
100
  children: ExtendedColumnProps[];
86
101
  left: number;
87
102
  right: number;
88
103
  rightBorder: boolean;
89
104
  ariaColumnIndex: number;
90
105
  isAccessible: boolean;
106
+ /** @hidden _internal usage only */
107
+ _type?: 'edit' | 'expand';
108
+ rowSpannable?: Required<GridRowSpannableSettings>;
109
+ defaultCell?: any;
110
+ defaultHeaderCell?: any;
91
111
  }
92
112
 
93
113
  /**
@@ -110,7 +130,7 @@ export declare const firefoxMaxHeight = 17895697;
110
130
  */
111
131
  export declare function flatData(output: Array<DataItemWrapper>, input: Array<any>, footer: 'always' | 'visible' | 'none', dataIndex: {
112
132
  index: number;
113
- }, groupDefined: boolean, field?: string, level?: number): number;
133
+ }, groupDefined: boolean, expand?: DetailExpandDescriptor, groupExpand?: GroupExpandDescriptor[], defaultGroupExpand?: boolean, dataItemKey?: string, field?: string, level?: number, parentGroup?: GroupState | undefined): number;
114
134
 
115
135
  /**
116
136
  * @hidden
@@ -179,6 +199,26 @@ columns: PropType<ExtendedColumnProps[]>;
179
199
  rowIndex: PropType<number>;
180
200
  }>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
181
201
 
202
+ /**
203
+ * @hidden
204
+ */
205
+ export declare const getColSpan: (column: GridColumnProps, dataItem: any) => number;
206
+
207
+ /**
208
+ * @hidden
209
+ */
210
+ export declare const getColumnWidth: (column: ExtendedColumnProps) => string | undefined;
211
+
212
+ /**
213
+ * @hidden
214
+ */
215
+ export declare const getDataAsArray: (data: any[] | DataResult | null | undefined) => any[];
216
+
217
+ /**
218
+ * @hidden
219
+ */
220
+ export declare const getFlatColumnsState: (state: GridColumnState[]) => GridColumnState[];
221
+
182
222
  /**
183
223
  * @hidden
184
224
  */
@@ -192,7 +232,26 @@ export declare function getNestedValue(fieldName: string, dataItem: any): any;
192
232
  /**
193
233
  * @hidden
194
234
  */
235
+ export declare const getRowSpanOptions: (rowSpannable?: boolean | GridRowSpannableSettings) => Required<GridRowSpannableSettings>;
236
+
237
+ /**
238
+ * Represents the [KendoVue Grid component]({% slug overview_grid %}).
239
+ *
240
+ * @remarks
241
+ * Supported children components are: {@link GridColumn}, {@link GridToolbar}, {@link GridNoRecords}, {@link StatusBar}.
242
+ *
243
+ *
244
+ * export default App;
245
+ * ```
246
+ */
195
247
  export declare const Grid: DefineComponent<ExtractPropTypes< {
248
+ autoProcessData: PropType<boolean | {
249
+ filter?: boolean;
250
+ search?: boolean;
251
+ sort?: boolean;
252
+ group?: boolean;
253
+ page?: boolean;
254
+ }>;
196
255
  topCacheCount: {
197
256
  type: PropType<number>;
198
257
  default: number;
@@ -206,17 +265,34 @@ totalGroupedHeight: PropType<number>;
206
265
  allGroupedItems: PropType<DataResult>;
207
266
  alternatePerGroup: PropType<boolean>;
208
267
  columns: PropType<GridColumnProps[]>;
268
+ columnsState: {
269
+ type: PropType<GridColumnState_2[]>;
270
+ default: () => any;
271
+ };
272
+ defaultColumnsState: {
273
+ type: PropType<GridColumnState_2[]>;
274
+ default: () => any;
275
+ };
209
276
  columnVirtualization: PropType<boolean>;
210
277
  dataItems: PropType<any[] | DataResult>;
211
278
  sortable: PropType<GridSortSettings_2>;
279
+ defaultSort: PropType<SortDescriptor[]>;
212
280
  sort: PropType<SortDescriptor[]>;
213
281
  filterable: PropType<boolean>;
214
282
  filterOperators: PropType<GridFilterOperators_2>;
215
283
  filterCellRender: PropType<any>;
216
284
  headerCellRender: PropType<any>;
285
+ showLoader: {
286
+ type: PropType<boolean>;
287
+ default: any;
288
+ };
217
289
  loader: PropType<string | boolean | Object | Function>;
290
+ defaultFilter: PropType<CompositeFilterDescriptor>;
218
291
  filter: PropType<CompositeFilterDescriptor>;
219
- highlight: PropType<{
292
+ defaultSearch: PropType<CompositeFilterDescriptor>;
293
+ search: PropType<CompositeFilterDescriptor>;
294
+ searchFields: PropType<(string | SearchField)[]>;
295
+ highlight: PropType< {
220
296
  [id: string]: boolean | {
221
297
  [id: string]: boolean;
222
298
  };
@@ -225,7 +301,9 @@ pageable: PropType<any>;
225
301
  pageSize: PropType<number>;
226
302
  total: PropType<number>;
227
303
  skip: PropType<number>;
304
+ defaultSkip: PropType<number>;
228
305
  take: PropType<number>;
306
+ defaultTake: PropType<number>;
229
307
  expandField: PropType<string>;
230
308
  expandColumn: PropType<GridColumnProps>;
231
309
  selectedField: PropType<string>;
@@ -234,7 +312,12 @@ rowRender: PropType<string | boolean | ((h: any, defaultRendering: any, defaultS
234
312
  resizable: PropType<boolean>;
235
313
  reorderable: PropType<boolean>;
236
314
  group: PropType<GroupDescriptor[]>;
315
+ defaultGroup: PropType<GroupDescriptor[]>;
237
316
  groupable: PropType<boolean | GridGroupableSettings_2>;
317
+ groupExpand: PropType<GroupExpandDescriptor[]>;
318
+ defaultGroupExpand: PropType<GroupExpandDescriptor[]>;
319
+ detailExpand: PropType<GroupExpandDescriptor>;
320
+ defaultDetailExpand: PropType<GroupExpandDescriptor>;
238
321
  editField: PropType<string>;
239
322
  rowClass: PropType<Function>;
240
323
  scrollable: {
@@ -253,7 +336,7 @@ detail: PropType<any>;
253
336
  columnMenu: PropType<any>;
254
337
  columnMenuAnimate: {
255
338
  type: PropType<boolean | PopupAnimation>;
256
- default: () => true;
339
+ default: () => boolean;
257
340
  };
258
341
  columnMenuIcon: DefineComponent<ExtractPropTypes< {
259
342
  name: StringConstructor;
@@ -322,131 +405,26 @@ navigatable: {
322
405
  type: PropType<boolean>;
323
406
  default: boolean;
324
407
  };
325
- onItemchange: PropType<(event: GridItemChangeEvent) => void>;
326
- onExpandchange: PropType<(event: GridExpandChangeEvent) => void>;
408
+ onItemchange: PropType<(event: GridItemChangeEvent_2) => void>;
409
+ onExpandchange: PropType<(event: GridExpandChangeEvent_2) => void>;
327
410
  onDatastatechange: PropType<(event: GridDataStateChangeEvent_2) => void>;
328
411
  onPagechange: PropType<(event: GridPageChangeEvent_2) => void>;
329
412
  onSortchange: PropType<(event: GridSortChangeEvent_2) => void>;
330
413
  onFilterchange: PropType<(event: GridFilterChangeEvent_2) => void>;
331
414
  onGroupchange: PropType<(event: GridGroupChangeEvent_2) => void>;
332
- }>, {
333
- groupPanelDivRef: Ref<any, any>;
334
- dropElementClueRef: Ref<any, any>;
335
- dragElementClueRef: Ref<any, any>;
336
- headerRef: Ref<any, any>;
337
- footerRef: Ref<any, any>;
338
- gridNavRef: Ref<any, any>;
339
- colGroupRef: Ref<any, any>;
340
- scrollContainerRef: Ref<any, any>;
341
- scrollTableRef: Ref<any, any>;
342
- scrollTableBodyRef: Ref<any, any>;
343
- }, {
344
- isRtl: boolean;
345
- context: any;
346
- navigation: any;
347
- showLicenseWatermark: boolean;
348
- licenseMessage: any;
349
- notHiddenColumns: any[];
350
- }, {
351
- nonscrollableWrapperClass(): {
352
- [x: string]: any;
353
- 'k-grid': boolean;
354
- 'k-grid-md': boolean;
355
- };
356
- scrollableWrapperClass(): any;
357
- gridTableClass(): {
358
- [x: string]: any;
359
- 'k-table': boolean;
360
- 'k-grid-table': boolean;
361
- 'k-grid-md': boolean;
362
- };
363
- getCorrectHeight(): any;
364
- currentGroupable(): any;
365
- computedCollapsed(): any[];
366
- getAriaRowCount(): any;
367
- getAriaColCount(): any;
368
- }, {
369
- getColumnsEssentialProps(columns: any[]): string;
370
- calculateMedia(): void;
371
- filterHiddenColumns(columns: GridColumnProps[]): GridColumnProps[];
372
- /**
373
- * A getter of the current columns. Gets the current column width or current columns,
374
- * or any other [`GridColumnProps`]({% slug api_grid_gridcolumnprops %}) for each defined column.
375
- * Can be used on each Grid instance. To obtain the instance of the rendered Grid, use the `ref`
376
- * callback. The following example demonstrates how to reorder the columns by dragging their handlers
377
- * and check the properties afterwards. You can check the result in the browser console.
378
- */
379
- getColumns(): GridColumnProps[];
380
- setRefs(): void;
381
- gridUnmounted(): void;
382
- resetVirtual(): void;
383
- getVirtualScroll(): typeof VirtualScroll;
384
- isAllData(): boolean;
385
- initializeVirtualization(total: number): void;
386
- onSkipChanged(value: number, _oldValue: number): void;
387
- onTotalChanged(_value: number, _oldValue: number): void;
388
- onRowHeightChanged(_value: number, _oldValue: number): void;
389
- scrollHandler(event: any): void;
390
- rowClick(e: any, item: any): void;
391
- rowDoubleClick(e: any, item: any): void;
392
- loopGroupedItems(dataItems: any, func: any, level?: number, item?: any): any;
393
- updateGroupCollapsed(event: {
394
- dataItem: any;
395
- event: any;
396
- level: number;
397
- field?: string;
398
- value?: any;
399
- }): any;
400
- itemChange(event: {
401
- dataItem: any;
402
- event: any;
403
- field?: string;
404
- value?: any;
405
- }): void;
406
- cellClickHandler(event: any): void;
407
- cellKeydownHandler(event: any): void;
408
- editHandler(dataItem: any): void;
409
- removeHandler(dataItem: any): void;
410
- saveHandler(dataItem: any): void;
411
- cancelHandler(dataItem: any): void;
412
- selectionChangeHandler(options: {
413
- event: {
414
- event: any;
415
- };
416
- dataItem: any;
417
- dataIndex: number;
418
- columnIndex: number;
419
- }): void;
420
- onHeaderSelectionChangeHandler(event: any): void;
421
- pageChangeHandler(page: Page, event: any): void;
422
- sortChangeHandler(sort: SortDescriptor[], event: any): void;
423
- filterChangeHandler(filter: CompositeFilterDescriptor, event: any): void;
424
- groupChangeHandler(groups: GroupDescriptor[], event: any): void;
425
- raiseDataEvent(handler: string, data: {}, moreData: State, event: any): void;
426
- columnReorder(prev: number, next: number, event: any): void;
427
- groupReorder(prevIndex: number, nextIndex: number, event: any): void;
428
- columnToGroup(columnIndex: number, groupIndex: number, event: any): void;
429
- resetTableWidth(): void;
430
- onResize(index: number, newWidth: number, oldWidth: number, event: any, end: boolean): void;
431
- initColumns(columnElements: GridColumnProps[] | null | undefined, groupCount: number): void;
432
- resolveTitle(field: string): string;
433
- findColumnByField(field: string): any;
434
- searchColumn(column: any, field: String): any;
435
- getDataState(): {
436
- filter: any;
437
- sort: any;
438
- skip: any;
439
- take: any;
440
- group: any;
441
- };
442
- getArguments(event: any): {
443
- event: any;
444
- target: any;
445
- };
446
- getLeafDataItems(): any;
447
- totalGroupedRows(gridData: Array<any>): number;
448
- addSubItems(gridData: Array<any>, allRowsCount: number): number;
449
- }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< {
415
+ onSearchchange: PropType<(event: GridSearchChangeEvent_2) => void>;
416
+ onGroupexpandchange: PropType<(event: GridGroupExpandChangeEvent_2) => void>;
417
+ onDetailexpandchange: PropType<(event: GridDetailExpandChangeEvent_2) => void>;
418
+ }>, void, {}, {
419
+ columnsWithTemplates(): any[];
420
+ }, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< {
421
+ autoProcessData: PropType<boolean | {
422
+ filter?: boolean;
423
+ search?: boolean;
424
+ sort?: boolean;
425
+ group?: boolean;
426
+ page?: boolean;
427
+ }>;
450
428
  topCacheCount: {
451
429
  type: PropType<number>;
452
430
  default: number;
@@ -460,17 +438,34 @@ totalGroupedHeight: PropType<number>;
460
438
  allGroupedItems: PropType<DataResult>;
461
439
  alternatePerGroup: PropType<boolean>;
462
440
  columns: PropType<GridColumnProps[]>;
441
+ columnsState: {
442
+ type: PropType<GridColumnState_2[]>;
443
+ default: () => any;
444
+ };
445
+ defaultColumnsState: {
446
+ type: PropType<GridColumnState_2[]>;
447
+ default: () => any;
448
+ };
463
449
  columnVirtualization: PropType<boolean>;
464
450
  dataItems: PropType<any[] | DataResult>;
465
451
  sortable: PropType<GridSortSettings_2>;
452
+ defaultSort: PropType<SortDescriptor[]>;
466
453
  sort: PropType<SortDescriptor[]>;
467
454
  filterable: PropType<boolean>;
468
455
  filterOperators: PropType<GridFilterOperators_2>;
469
456
  filterCellRender: PropType<any>;
470
457
  headerCellRender: PropType<any>;
458
+ showLoader: {
459
+ type: PropType<boolean>;
460
+ default: any;
461
+ };
471
462
  loader: PropType<string | boolean | Object | Function>;
463
+ defaultFilter: PropType<CompositeFilterDescriptor>;
472
464
  filter: PropType<CompositeFilterDescriptor>;
473
- highlight: PropType<{
465
+ defaultSearch: PropType<CompositeFilterDescriptor>;
466
+ search: PropType<CompositeFilterDescriptor>;
467
+ searchFields: PropType<(string | SearchField)[]>;
468
+ highlight: PropType< {
474
469
  [id: string]: boolean | {
475
470
  [id: string]: boolean;
476
471
  };
@@ -479,7 +474,9 @@ pageable: PropType<any>;
479
474
  pageSize: PropType<number>;
480
475
  total: PropType<number>;
481
476
  skip: PropType<number>;
477
+ defaultSkip: PropType<number>;
482
478
  take: PropType<number>;
479
+ defaultTake: PropType<number>;
483
480
  expandField: PropType<string>;
484
481
  expandColumn: PropType<GridColumnProps>;
485
482
  selectedField: PropType<string>;
@@ -488,7 +485,12 @@ rowRender: PropType<string | boolean | ((h: any, defaultRendering: any, defaultS
488
485
  resizable: PropType<boolean>;
489
486
  reorderable: PropType<boolean>;
490
487
  group: PropType<GroupDescriptor[]>;
488
+ defaultGroup: PropType<GroupDescriptor[]>;
491
489
  groupable: PropType<boolean | GridGroupableSettings_2>;
490
+ groupExpand: PropType<GroupExpandDescriptor[]>;
491
+ defaultGroupExpand: PropType<GroupExpandDescriptor[]>;
492
+ detailExpand: PropType<GroupExpandDescriptor>;
493
+ defaultDetailExpand: PropType<GroupExpandDescriptor>;
492
494
  editField: PropType<string>;
493
495
  rowClass: PropType<Function>;
494
496
  scrollable: {
@@ -507,7 +509,7 @@ detail: PropType<any>;
507
509
  columnMenu: PropType<any>;
508
510
  columnMenuAnimate: {
509
511
  type: PropType<boolean | PopupAnimation>;
510
- default: () => true;
512
+ default: () => boolean;
511
513
  };
512
514
  columnMenuIcon: DefineComponent<ExtractPropTypes< {
513
515
  name: StringConstructor;
@@ -576,20 +578,26 @@ navigatable: {
576
578
  type: PropType<boolean>;
577
579
  default: boolean;
578
580
  };
579
- onItemchange: PropType<(event: GridItemChangeEvent) => void>;
580
- onExpandchange: PropType<(event: GridExpandChangeEvent) => void>;
581
+ onItemchange: PropType<(event: GridItemChangeEvent_2) => void>;
582
+ onExpandchange: PropType<(event: GridExpandChangeEvent_2) => void>;
581
583
  onDatastatechange: PropType<(event: GridDataStateChangeEvent_2) => void>;
582
584
  onPagechange: PropType<(event: GridPageChangeEvent_2) => void>;
583
585
  onSortchange: PropType<(event: GridSortChangeEvent_2) => void>;
584
586
  onFilterchange: PropType<(event: GridFilterChangeEvent_2) => void>;
585
587
  onGroupchange: PropType<(event: GridGroupChangeEvent_2) => void>;
588
+ onSearchchange: PropType<(event: GridSearchChangeEvent_2) => void>;
589
+ onGroupexpandchange: PropType<(event: GridGroupExpandChangeEvent_2) => void>;
590
+ onDetailexpandchange: PropType<(event: GridDetailExpandChangeEvent_2) => void>;
586
591
  }>> & Readonly<{}>, {
587
592
  size: string;
588
593
  scrollable: string;
589
594
  navigatable: boolean;
590
- columnMenuAnimate: true;
595
+ columnMenuAnimate: boolean;
591
596
  collapsedGroups: any[][];
592
597
  topCacheCount: number;
598
+ columnsState: GridColumnState_2[];
599
+ defaultColumnsState: GridColumnState_2[];
600
+ showLoader: boolean;
593
601
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
594
602
 
595
603
  /**
@@ -709,9 +717,6 @@ onCellkeydown?: (...args: any[] | unknown[]) => any;
709
717
  onCellclick?: (...args: any[] | unknown[]) => any;
710
718
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
711
719
 
712
- /**
713
- * The props of the GridCell component.
714
- */
715
720
  /**
716
721
  * @hidden
717
722
  */
@@ -872,8 +877,24 @@ export declare interface GridCellProps {
872
877
  * The method for rendering the cell.
873
878
  */
874
879
  render?: any;
880
+ /** @hidden */
881
+ group?: GroupState;
875
882
  }
876
883
 
884
+ /**
885
+ * Represents the properties of the callback used when spanning a column.
886
+ */
887
+ declare type GridColSpanProps = {
888
+ /**
889
+ * Represents the properties of the spanned column.
890
+ */
891
+ column: GridColumnProps;
892
+ /**
893
+ * Represents the current row data item.
894
+ */
895
+ dataItem: any;
896
+ };
897
+
877
898
  /**
878
899
  * @hidden
879
900
  */
@@ -1309,7 +1330,7 @@ declare interface GridColumnMenuSortBaseProps {
1309
1330
  /**
1310
1331
  * The props that can be assigned to the Grid column.
1311
1332
  */
1312
- export declare interface GridColumnProps {
1333
+ export declare interface GridColumnProps extends Omit<ColumnBaseProps, 'cell'> {
1313
1334
  /**
1314
1335
  * The field to which the column is bound.
1315
1336
  */
@@ -1326,8 +1347,10 @@ export declare interface GridColumnProps {
1326
1347
  /**
1327
1348
  * Allows the column headers to be clicked and the `sortChange` event emitted.
1328
1349
  * You have to handle the `sortChange` event yourself and sort the data.
1350
+ *
1351
+ * @default true
1329
1352
  */
1330
- sortable?: boolean;
1353
+ sortable?: GridColumnSortSettings;
1331
1354
  /**
1332
1355
  * Defines the custom rendering of the cell. Accepts a Vue component, a `render` function, or a slot name.
1333
1356
  * If not set, a `GridCell` will be rendered by default.
@@ -1347,20 +1370,28 @@ export declare interface GridColumnProps {
1347
1370
  */
1348
1371
  filterCell?: ((h: any, defaultRendering: any | null, props: GridFilterCellProps, listeners: any) => any) | string | any;
1349
1372
  /**
1350
- * Defines if a filter UI will be displayed for this column. Defaults to `true`.
1373
+ * Defines if a filter UI will be rendered for this column.
1374
+ *
1375
+ * @default true
1351
1376
  */
1352
1377
  filterable?: boolean;
1353
1378
  /**
1354
- * Defines the filter type that is displayed inside the filter row.
1355
- * Defaults to `text`.
1379
+ * Defines the title which will be set to the input element in the filter cell.
1380
+ *
1381
+ */
1382
+ filterTitle?: string;
1383
+ /**
1384
+ * Defines the filter type that will be rendered inside the filter row.
1385
+ *
1386
+ * @default 'text'
1356
1387
  */
1357
- filter?: 'text' | 'numeric' | 'boolean' | 'date';
1388
+ filter?: GridDataType;
1358
1389
  /**
1359
- * Defines the editor type. Used when the column enters the edit mode
1360
- * ([more information and examples]({% slug editing_inline_grid %})).
1361
- * Defaults to `text`.
1390
+ * Defines the editor type. Used when the column enters the edit mode ([more information and examples]({% slug editing_inline_grid %})).
1391
+ *
1392
+ * @default 'text'
1362
1393
  */
1363
- editor?: 'text' | 'numeric' | 'boolean' | 'date';
1394
+ editor?: GridDataType;
1364
1395
  /**
1365
1396
  * Overrides the default(three vertical dots) column menu icon or the icon set through the ([`columnMenuIcon`]({% slug api_grid_gridprops %}#toc-columnmenuicon)) property.
1366
1397
  */
@@ -1408,11 +1439,21 @@ export declare interface GridColumnProps {
1408
1439
  */
1409
1440
  format?: string;
1410
1441
  /**
1411
- * Controls the visibility of Grid's column. Defaults to `false`.
1442
+ * Sets the colSpan of the column which will make the row content span over multiple cells.
1443
+ * As arguments, it takes either a number or a function that returns a number.
1444
+ *
1445
+ * @default 1
1446
+ */
1447
+ colSpan?: number | ((colSpanProps: GridColSpanProps) => number);
1448
+ /**
1449
+ * Controls the visibility of the Grid's column.
1450
+ *
1451
+ * @default false
1412
1452
  */
1413
1453
  hidden?: boolean;
1414
1454
  /**
1415
1455
  * Sets the screen size condition that needs to be satisfied for a column to remain visible. If you set the hidden property, the behavior of media is overridden.
1456
+ *
1416
1457
  */
1417
1458
  media?: string;
1418
1459
  /**
@@ -1463,6 +1504,17 @@ export declare interface GridColumnProps {
1463
1504
  * Defaults to `string`.
1464
1505
  */
1465
1506
  type?: 'string' | 'number' | 'boolean' | 'date';
1507
+ /**
1508
+ * Sets the type of the column and renders a dedicated column for interaction.
1509
+ *
1510
+ * @default "data"
1511
+ */
1512
+ columnType?: GridColumnType;
1513
+ /**
1514
+ * Defines if the cells of the column should be spanned when their values are the same.
1515
+ *
1516
+ */
1517
+ rowSpannable?: boolean | GridRowSpannableSettings;
1466
1518
  }
1467
1519
 
1468
1520
  /**
@@ -1472,7 +1524,7 @@ export declare interface GridColumnReorderEvent {
1472
1524
  /**
1473
1525
  * An event target.
1474
1526
  */
1475
- target: any;
1527
+ target: GridHandle;
1476
1528
  /**
1477
1529
  * A native DOM event.
1478
1530
  */
@@ -1536,6 +1588,65 @@ declare type GridColumnSortSettings = boolean | {
1536
1588
  allowUnsort?: boolean;
1537
1589
  };
1538
1590
 
1591
+ /**
1592
+ * Represents the object of the `onColumnsStateChange` Grid event.
1593
+ */
1594
+ export declare interface GridColumnsStateChangeEvent {
1595
+ /**
1596
+ * An event target.
1597
+ */
1598
+ target: GridHandle;
1599
+ /**
1600
+ * The columns state collection.
1601
+ */
1602
+ columnsState: GridColumnState[];
1603
+ }
1604
+
1605
+ /**
1606
+ * The state of the GridColumn
1607
+ */
1608
+ export declare interface GridColumnState {
1609
+ /**
1610
+ * The id of the column.
1611
+ */
1612
+ id: string;
1613
+ /**
1614
+ * The field of the column.
1615
+ */
1616
+ field?: string;
1617
+ /**
1618
+ * The title of the column.
1619
+ */
1620
+ title?: string;
1621
+ /**
1622
+ * The value indicating whether a column is visible or not.
1623
+ */
1624
+ hidden?: boolean;
1625
+ /**
1626
+ * The width of the column (in pixels).
1627
+ */
1628
+ width?: string | number;
1629
+ /**
1630
+ * The position of the column.
1631
+ */
1632
+ orderIndex?: number;
1633
+ /**
1634
+ * A collection of child states.
1635
+ */
1636
+ children?: GridColumnState[];
1637
+ /**
1638
+ * Determines if the column is locked to the left or right side of the grid.
1639
+ */
1640
+ locked?: boolean;
1641
+ }
1642
+
1643
+ /**
1644
+ * Sets the column type.
1645
+ *
1646
+ * @default "data"
1647
+ */
1648
+ declare type GridColumnType = 'data' | 'reorder' | 'checkbox';
1649
+
1539
1650
  /**
1540
1651
  * The returned type of the `onDataStateChange` event.
1541
1652
  */
@@ -1546,6 +1657,26 @@ export declare interface GridDataStateChangeEvent extends GridEvent {
1546
1657
  data: State;
1547
1658
  }
1548
1659
 
1660
+ /**
1661
+ * Exposes the data types available when setting the [filter](slug:api_grid_gridcolumnprops#toc-filter) or
1662
+ * [editor](slug:api_grid_gridcolumnprops#toc-editor) property of the Grid columns.
1663
+ */
1664
+ declare type GridDataType = 'text' | 'numeric' | 'boolean' | 'date';
1665
+
1666
+ /** @hidden */
1667
+ declare interface GridDetailExpandableSettings extends TableExpandableSettings {
1668
+ }
1669
+
1670
+ /**
1671
+ * Represents the object of the `onDetailExpandChange` Grid event.
1672
+ */
1673
+ export declare interface GridDetailExpandChangeEvent extends GridEvent {
1674
+ /**
1675
+ * The descriptor defining which detail rows are expanded.
1676
+ */
1677
+ detailExpand: DetailExpandDescriptor;
1678
+ }
1679
+
1549
1680
  /**
1550
1681
  * @hidden
1551
1682
  */
@@ -1633,9 +1764,9 @@ dataIndex: PropType<number>;
1633
1764
  onCancel?: (...args: any[] | unknown[]) => any;
1634
1765
  onChange?: (...args: any[] | unknown[]) => any;
1635
1766
  onAdd?: (...args: any[] | unknown[]) => any;
1767
+ onEdit?: (...args: any[] | unknown[]) => any;
1636
1768
  onRemove?: (...args: any[] | unknown[]) => any;
1637
1769
  onCellkeydown?: (...args: any[] | unknown[]) => any;
1638
- onEdit?: (...args: any[] | unknown[]) => any;
1639
1770
  onSave?: (...args: any[] | unknown[]) => any;
1640
1771
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
1641
1772
 
@@ -1929,6 +2060,7 @@ dataIndex: PropType<number>;
1929
2060
  isSelected: PropType<boolean>;
1930
2061
  isRtl: PropType<boolean>;
1931
2062
  ariaColumnIndex: PropType<number>;
2063
+ group: PropType<GroupState>;
1932
2064
  render: PropType<any>;
1933
2065
  }>, {}, {}, {
1934
2066
  tdClass(): {
@@ -1936,6 +2068,7 @@ tdClass(): {
1936
2068
  'k-table-td': boolean;
1937
2069
  };
1938
2070
  }, {
2071
+ triggerStateChange(): void;
1939
2072
  triggerKeydown(event: any, expanded: boolean | undefined): void;
1940
2073
  clickHandler(e: any, dataItem: any, expanded: boolean | undefined): void;
1941
2074
  }, ComponentOptionsMixin, ComponentOptionsMixin, {
@@ -1959,6 +2092,7 @@ dataIndex: PropType<number>;
1959
2092
  isSelected: PropType<boolean>;
1960
2093
  isRtl: PropType<boolean>;
1961
2094
  ariaColumnIndex: PropType<number>;
2095
+ group: PropType<GroupState>;
1962
2096
  render: PropType<any>;
1963
2097
  }>> & Readonly<{
1964
2098
  onChange?: (...args: any[] | unknown[]) => any;
@@ -1975,6 +2109,54 @@ export declare interface GridGroupChangeEvent extends GridEvent {
1975
2109
  group: GroupDescriptor[];
1976
2110
  }
1977
2111
 
2112
+ /**
2113
+ * Represents the object of the `onGroupExpandChange` Grid event.
2114
+ */
2115
+ export declare interface GridGroupExpandChangeEvent extends GridEvent {
2116
+ /**
2117
+ * The descriptors defining which groups are expanded.
2118
+ */
2119
+ groupExpand: GroupExpandDescriptor[];
2120
+ }
2121
+
2122
+ /**
2123
+ * Represent the `ref` of the Grid component.
2124
+ */
2125
+ declare interface GridHandle {
2126
+ /**
2127
+ * Returns the HTML element of the Grid component.
2128
+ */
2129
+ element: HTMLDivElement | null;
2130
+ /**
2131
+ * The props values of the Grid.
2132
+ */
2133
+ props: GridProps;
2134
+ /**
2135
+ * A getter of the current columns. Gets the current column width or current columns, or any other [`GridColumnProps`]({% slug api_grid_gridcolumnprops %}) for each defined column. Can be used on each Grid instance. To obtain the instance of the rendered Grid, use the `ref` callback. The following example demonstrates how to reorder the columns by dragging their handlers and check the properties afterwards. You can check the result in the browser console.
2136
+ *
2137
+ */
2138
+ columns: GridColumnProps[];
2139
+ /**
2140
+ * Method to allow the scroll to be set to a specific row index when the Grid is scrollable. It is zero based.
2141
+ *
2142
+ * @param options - Object, containing the rowIndex to which is going to be scrolled.
2143
+ */
2144
+ scrollIntoView: (options: {
2145
+ rowIndex: number;
2146
+ }) => void;
2147
+ /**
2148
+ * Method to fit columns according to their content.
2149
+ *
2150
+ * @param columnIds - Array of column ids to be fitted.
2151
+ */
2152
+ fitColumns: (columnIds: string[]) => void;
2153
+ /**
2154
+ * Method to trigger a PDF export of the Grid.
2155
+ * The 'pdf' prop of the Grid should be set to true or object of setting that will be applied the exported Grid.
2156
+ */
2157
+ exportAsPdf: () => void;
2158
+ }
2159
+
1978
2160
  /**
1979
2161
  * @hidden
1980
2162
  */
@@ -2077,6 +2259,7 @@ wrapperClass(): {
2077
2259
  'k-hierarchy-cell': boolean;
2078
2260
  };
2079
2261
  }, {
2262
+ triggerStateChange(): void;
2080
2263
  triggerKeydown(event: any, expanded: boolean | undefined): void;
2081
2264
  clickHandler(e: any, dataItem: any, expanded: boolean | undefined): void;
2082
2265
  }, ComponentOptionsMixin, ComponentOptionsMixin, {
@@ -2195,6 +2378,32 @@ export { GridPagerSettings }
2195
2378
  * Represents the props of the [native Vue Grid component by Kendo UI]({% slug overview_grid %}).
2196
2379
  */
2197
2380
  export declare interface GridProps {
2381
+ /**
2382
+ * Enables data-processing inside the GridComponent based on its state.
2383
+ * Provides an easy, built-in way to handle data operations like sorting, filtering, grouping, and paging.
2384
+ *
2385
+ * @default false
2386
+ *
2387
+ * @example
2388
+ * ```jsx
2389
+ * <Grid
2390
+ * autoProcessData={{
2391
+ * filter: true,
2392
+ * search: true,
2393
+ * sort: true,
2394
+ * group: true,
2395
+ * page: true
2396
+ * }}
2397
+ * />
2398
+ * ```
2399
+ */
2400
+ autoProcessData?: boolean | {
2401
+ filter?: boolean;
2402
+ search?: boolean;
2403
+ sort?: boolean;
2404
+ group?: boolean;
2405
+ page?: boolean;
2406
+ };
2198
2407
  /**
2199
2408
  * Sets the Grid row key prop to the value of this field in the dataItem.
2200
2409
  * If not set, the dataItem index will be used for the row key, which
@@ -2228,6 +2437,11 @@ export declare interface GridProps {
2228
2437
  * You have to handle the event yourself and sort the data.
2229
2438
  */
2230
2439
  onSortchange?: (event: GridSortChangeEvent) => void;
2440
+ /**
2441
+ * The descriptors by which the data is sorted.
2442
+ * Applies the sorting styles and buttons to the affected columns.
2443
+ */
2444
+ defaultSort?: SortDescriptor[];
2231
2445
  /**
2232
2446
  * The descriptors by which the data is sorted.
2233
2447
  * Applies the sorting styles and buttons to the affected columns.
@@ -2238,6 +2452,43 @@ export declare interface GridProps {
2238
2452
  * ([more information and examples]({% slug filtering_grid %})).
2239
2453
  */
2240
2454
  filterable?: boolean;
2455
+ /**
2456
+ * The descriptor by which the data is searched. Its first FilterDescriptor populates the GridSearchBox.
2457
+ *
2458
+ * @example
2459
+ * ```vue
2460
+ * <Grid :search="{ logic: 'and', filters: [{ field: 'name', operator: 'contains', value: 'test' }] }" />
2461
+ * ```
2462
+ */
2463
+ search?: CompositeFilterDescriptor;
2464
+ /**
2465
+ * The descriptor by which the data is searched by default. Its first FilterDescriptor populates the GridSearchBox.
2466
+ *
2467
+ * @example
2468
+ * ```vue
2469
+ * <Grid :default-search="{ logic: 'or', filters: [{ field: 'category', operator: 'eq', value: 'electronics' }] }" />
2470
+ * ```
2471
+ */
2472
+ defaultSearch?: CompositeFilterDescriptor;
2473
+ /**
2474
+ * Defines the fields of the data that are filtered by the GridSearchBox.
2475
+ *
2476
+ * @example
2477
+ * ```vue
2478
+ * <Grid :search-fields="['name', 'category']" />
2479
+ * ```
2480
+ */
2481
+ searchFields?: (string | SearchField)[];
2482
+ /**
2483
+ * Fires when the search descriptor of the Grid is changed.
2484
+ * You have to handle the event yourself and search the data.
2485
+ */
2486
+ onSearchchange?: (event: GridSearchChangeEvent) => void;
2487
+ /**
2488
+ * The default descriptor by which the data is filtered
2489
+ * ([more information and examples]({% slug filtering_grid %})).
2490
+ */
2491
+ defaultFilter?: CompositeFilterDescriptor;
2241
2492
  /**
2242
2493
  * The descriptor by which the data is filtered
2243
2494
  * ([more information and examples]({% slug filtering_grid %})).
@@ -2254,6 +2505,14 @@ export declare interface GridProps {
2254
2505
  * You have to handle the event yourself and filter the data.
2255
2506
  */
2256
2507
  onFilterchange?: (event: GridFilterChangeEvent) => void;
2508
+ /**
2509
+ * The collection of column states of the grid.
2510
+ */
2511
+ columnsState?: GridColumnState[];
2512
+ /**
2513
+ * The default collection of column states of the grid.
2514
+ */
2515
+ defaultColumnsState?: GridColumnState[];
2257
2516
  /**
2258
2517
  * Defines if the column menu will be shown for the column.
2259
2518
  * Accepts Boolean, a Vue component, a `render` function, or a slot name
@@ -2267,11 +2526,64 @@ export declare interface GridProps {
2267
2526
  * Controls the ColumnMenu animation. By default, the opening and closing animations are enabled.
2268
2527
  */
2269
2528
  columnMenuAnimate?: boolean | PopupAnimation;
2529
+ /**
2530
+ * The descriptor by which the group is expanded.
2531
+ *
2532
+ * @example
2533
+ * ```jsx
2534
+ * <Grid :group-expand="[{ field: 'CategoryName', expanded: true }]" />
2535
+ * ```
2536
+ */
2537
+ groupExpand?: GroupExpandDescriptor[];
2538
+ /**
2539
+ * The default `groupExpand` state applied to the Grid when using uncontrolled mode.
2540
+ *
2541
+ * @example
2542
+ * ```jsx
2543
+ * <Grid :default-group-expand="[{ field: 'CategoryName', expanded: true }]" />
2544
+ * ```
2545
+ */
2546
+ defaultGroupExpand?: GroupExpandDescriptor[];
2547
+ /**
2548
+ * Fires when the user expands or collapses a group.
2549
+ */
2550
+ onGroupexpandchange?: (event: GridGroupExpandChangeEvent) => void;
2551
+ /**
2552
+ * The descriptor by which the detail rows are expanded.
2553
+ *
2554
+ * @example
2555
+ * ```jsx
2556
+ * <Grid :detail-expand="{ 1: true, 3: true }" />
2557
+ * ```
2558
+ */
2559
+ detailExpand?: GroupExpandDescriptor;
2560
+ /**
2561
+ * The default `detailExpand` state applied to the Grid when using uncontrolled mode.
2562
+ *
2563
+ * @example
2564
+ * ```jsx
2565
+ * <Grid :default-detail-expand="{ 2: true, 4: true }" />
2566
+ * ```
2567
+ */
2568
+ defaultDetailExpand?: GroupExpandDescriptor;
2569
+ /**
2570
+ * Fires when the user expands or collapses a detail row.
2571
+ */
2572
+ onDetailexpandchange?: (event: GridDetailExpandChangeEvent) => void;
2270
2573
  /**
2271
2574
  * The descriptors by which the data will be grouped
2272
2575
  * ([more information and examples]({% slug groupingbasics_grid %})).
2273
2576
  */
2274
2577
  group?: GroupDescriptor[];
2578
+ /**
2579
+ * The default `group` state applied to the Grid when using uncontrolled mode.
2580
+ *
2581
+ * @example
2582
+ * ```jsx
2583
+ * <Grid defaultGroup={[{ field: 'CategoryName' }]} />
2584
+ * ```
2585
+ */
2586
+ defaultGroup?: GroupDescriptor[];
2275
2587
  /**
2276
2588
  * Fires when the grouping of the Grid is changed. You have to handle the event yourself and group the data
2277
2589
  * ([more information and examples]({% slug groupingbasics_grid %})).
@@ -2298,6 +2610,15 @@ export declare interface GridProps {
2298
2610
  * Alias of the `pageSize` property. If `take` is set, `pageSize` will be ignored.
2299
2611
  */
2300
2612
  take?: number;
2613
+ /**
2614
+ * The default `take` state applied to the Grid when using uncontrolled mode.
2615
+ *
2616
+ * @example
2617
+ * ```jsx
2618
+ * <Grid :default-take="20" />
2619
+ * ```
2620
+ */
2621
+ defaultTake?: number;
2301
2622
  /**
2302
2623
  * Fires when the page of the Grid is changed ([see example]({% slug paging_grid %})).
2303
2624
  * You have to handle the event yourself and page the data.
@@ -2313,11 +2634,23 @@ export declare interface GridProps {
2313
2634
  * ([see example]({% slug paging_grid %})). Required by the paging functionality.
2314
2635
  */
2315
2636
  skip?: number;
2637
+ /**
2638
+ * The default `skip` state applied to the Grid when using uncontrolled mode.
2639
+ *
2640
+ * @example
2641
+ * ```vue
2642
+ * <Grid :default-skip="10" />
2643
+ * ```
2644
+ */
2645
+ defaultSkip?: number;
2316
2646
  /**
2317
2647
  * Fires when the user tries to expand or collapse a row.
2318
2648
  */
2319
2649
  onExpandchange?: (event: GridExpandChangeEvent) => void;
2320
2650
  /**
2651
+ *
2652
+ * `obsolete` Will be removed in the next major release. Use `expandable` property instead.
2653
+ *
2321
2654
  * Specifies the name of the field which will provide a Boolean representation
2322
2655
  * of the expanded state of the item ([see example]({% slug detailrow_grid %}).
2323
2656
  */
@@ -2484,6 +2817,11 @@ export declare interface GridProps {
2484
2817
  * Defines the custom rendering of the header cell. Accepts a Vue component, a `render` function, or a slot name.
2485
2818
  */
2486
2819
  headerCellRender?: ((h: any, defaultRendering: any | null, props: GridCellProps, listeners: any) => any) | string | any;
2820
+ /**
2821
+ * Specifies whether the loader of the Grid will be displayed.
2822
+ * Defaults to `false`.
2823
+ */
2824
+ showLoader?: boolean;
2487
2825
  /**
2488
2826
  * Defines if the loader will be shown. Defaults to `false`. Accepts a slot name, a `render` function, or a Vue component.
2489
2827
  */
@@ -2515,6 +2853,9 @@ export declare interface GridProps {
2515
2853
  */
2516
2854
  allGroupedItems?: DataResult | null;
2517
2855
  /**
2856
+ *
2857
+ *`obsolete` Will be removed in the next major release. Use 'groupExpand' instead.
2858
+ *
2518
2859
  * Passes the collection of all collapsed groups for every grouped level.
2519
2860
  */
2520
2861
  collapsedGroups?: any[][];
@@ -2664,6 +3005,21 @@ export declare interface GridRowProps {
2664
3005
  dataIndex?: Number;
2665
3006
  }
2666
3007
 
3008
+ /**
3009
+ * Represents the settings for the row-spanning functionality of the Grid.
3010
+ */
3011
+ declare type GridRowSpannableSettings = {
3012
+ /**
3013
+ * Determines if the row-spanning functionality is enabled or disabled
3014
+ */
3015
+ enabled?: boolean;
3016
+ /**
3017
+ * A function that returns the value of the cell that should span the row.
3018
+ * The value could be combined from multiple fields of the dataItem to create a unique identifier and prevent the cell from being row-spanned.
3019
+ */
3020
+ valueGetter?: (dataItem: any, field: string) => any;
3021
+ };
3022
+
2667
3023
  /**
2668
3024
  * The type of the GridRow component.
2669
3025
  *
@@ -2684,6 +3040,53 @@ export declare interface GridSaveEvent {
2684
3040
  dataItem: any;
2685
3041
  }
2686
3042
 
3043
+ /**
3044
+ * Represents the properties of the KendoVue GridSearchBox component.
3045
+ */
3046
+ export declare const GridSearchBox: DefineComponent<ExtractPropTypes< {
3047
+ onChange: FunctionConstructor;
3048
+ className: StringConstructor;
3049
+ placeholder: StringConstructor;
3050
+ }>, {
3051
+ handleChange: (event: TextBoxChangeEvent) => void;
3052
+ value: ComputedRef<string>;
3053
+ rootClassName: ComputedRef< {
3054
+ 'k-grid-search': boolean;
3055
+ 'k-searchbox': boolean;
3056
+ }>;
3057
+ placeholder: ComputedRef<any>;
3058
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< {
3059
+ onChange: FunctionConstructor;
3060
+ className: StringConstructor;
3061
+ placeholder: StringConstructor;
3062
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
3063
+
3064
+ /**
3065
+ * Represents the event object of the GridSearchBox `onChange` event.
3066
+ */
3067
+ declare interface GridSearchBoxChangeEvent extends TextBoxChangeEvent {
3068
+ }
3069
+
3070
+ /**
3071
+ * Represents the props of the GridSearchBox component.
3072
+ */
3073
+ export declare interface GridSearchBoxProps extends TextBoxProps {
3074
+ /**
3075
+ * Fires when the value of the search box is changed.
3076
+ */
3077
+ onChange?: (event: GridSearchBoxChangeEvent) => void;
3078
+ }
3079
+
3080
+ /**
3081
+ * Represents the object of the `onSearchChange` Grid event.
3082
+ */
3083
+ export declare interface GridSearchChangeEvent extends GridEvent {
3084
+ /**
3085
+ * The new search based on the user action.
3086
+ */
3087
+ search: CompositeFilterDescriptor;
3088
+ }
3089
+
2687
3090
  /**
2688
3091
  * Represents the object of the `onSelectionChange` event.
2689
3092
  */
@@ -2772,23 +3175,29 @@ export declare function groupedFirstItemValue(item: any, field: string): any;
2772
3175
  */
2773
3176
  export declare function isRtl(element: Element | null): boolean;
2774
3177
 
3178
+ /**
3179
+ * @hidden
3180
+ */
3181
+ export declare const isSorted: (field: string | undefined, sort?: SortDescriptor[]) => boolean;
3182
+
2775
3183
  /**
2776
3184
  * @hidden
2777
3185
  */
2778
3186
  export declare function mapColumns(columns: Array<{
2779
3187
  parentIndex: number;
2780
- colSpan: number;
2781
3188
  rowSpan: number;
2782
3189
  depth: number;
2783
3190
  kFirst?: boolean;
2784
3191
  children: any[];
3192
+ headerColSpan: number;
2785
3193
  width?: string | number;
2786
3194
  locked?: boolean;
2787
3195
  index: number;
2788
3196
  left: number;
2789
3197
  right: number;
2790
3198
  rightBorder: boolean;
2791
- }>): number[][];
3199
+ ariaColumnIndex: number;
3200
+ }>, changedColumnLength?: boolean): number[][];
2792
3201
 
2793
3202
  /**
2794
3203
  * @hidden
@@ -2804,96 +3213,19 @@ export declare const parsers: {
2804
3213
  /**
2805
3214
  * @hidden
2806
3215
  */
2807
- export declare function readColumns(newColumns: GridColumnProps[] | null | undefined, oldColumns: GridColumnProps[], idInfo: {
3216
+ export declare function readColumns(elements: (GridColumnProps)[], columnsState: GridColumnState[], idInfo: {
2808
3217
  prevId: number;
2809
3218
  idPrefix: string;
2810
- }, depth?: number): ExtendedColumnProps[];
3219
+ }, depth?: number, parentHidden?: boolean): ExtendedColumnProps[];
2811
3220
 
2812
3221
  /**
2813
3222
  * @hidden
2814
3223
  */
2815
- declare class RowHeightService {
2816
- private total;
2817
- private offsets;
2818
- private heights;
2819
- constructor(total: number, rowHeight: number, detailRowHeight: number, data?: DataItemWrapper[]);
2820
- height(rowIndex: number): number;
2821
- index(position: number): number | undefined;
2822
- offset(rowIndex: number): number;
2823
- totalHeight(): number;
2824
- }
3224
+ export declare const sanitizeColumns: (columns: ExtendedColumnProps[]) => GridColumnProps[];
2825
3225
 
2826
3226
  /**
2827
3227
  * Can be used to check if sorting is applied to a specific field ([see example]({% slug column_menu_grid %}#toc-styling-the-column-menu-icon)). Useful for creating active sort indicators.
2828
3228
  */
2829
3229
  export declare const sortGroupByField: (field: string, sort?: SortDescriptor[]) => boolean;
2830
3230
 
2831
- /**
2832
- * @hidden
2833
- */
2834
- declare class VirtualScroll implements VirtualScrollInterface {
2835
- table: HTMLTableElement | null;
2836
- containerHeight: number;
2837
- topCacheCount: number;
2838
- attendedSkip: number;
2839
- propsSkip: number;
2840
- total: number;
2841
- scrollableVirtual: boolean;
2842
- realSkip: number;
2843
- pageSize: number;
2844
- PageChange: (page: Page, event: any) => void;
2845
- tableBodyRef: any;
2846
- fixedScroll: boolean;
2847
- askedSkip: number | undefined;
2848
- containerRef: any;
2849
- tableTransform: string;
2850
- rowHeightService?: RowHeightService;
2851
- get container(): HTMLDivElement | null;
2852
- private prevScrollPos;
2853
- private tableTranslate;
2854
- private scrollSyncing;
2855
- constructor(cached: boolean, topCacheCount: number);
2856
- /**
2857
- * @return - The row heights in an array.
2858
- */
2859
- get rowHeights(): Array<{
2860
- line: number;
2861
- acc: number;
2862
- }>;
2863
- changePage(skip: number, e: any): void;
2864
- translate(dY: number): void;
2865
- reset(): void;
2866
- localScrollUp(e: any): void;
2867
- localScrollDown(e: any): void;
2868
- scrollNonStrict(e: any): void;
2869
- scrollHandler(e: any): void;
2870
- private topItems;
2871
- private horizontalScrollbarHeight;
2872
- }
2873
-
2874
- /**
2875
- * @hidden
2876
- */
2877
- declare interface VirtualScrollInterface {
2878
- PageChange: ((page: Page, e: any) => void) | null;
2879
- reset: () => void;
2880
- askedSkip: number | undefined;
2881
- total: number;
2882
- table: HTMLTableElement | null;
2883
- tableBodyRef: any;
2884
- fixedScroll: boolean;
2885
- realSkip: number;
2886
- pageSize: number;
2887
- scrollableVirtual: boolean;
2888
- propsSkip: number;
2889
- topCacheCount: number;
2890
- attendedSkip: number;
2891
- containerHeight: number;
2892
- containerRef: any;
2893
- tableTransform: string;
2894
- rowHeightService?: RowHeightService;
2895
- get container(): HTMLDivElement | null;
2896
- scrollHandler(e: any): void;
2897
- }
2898
-
2899
3231
  export { }