@progress/kendo-react-data-tools 13.3.0-develop.9 → 13.4.0-develop.1

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 (105) hide show
  1. package/clipboard/clipboard.service.d.ts +20 -0
  2. package/clipboard/common.d.ts +188 -0
  3. package/columnmenu/ColumnMenu.d.ts +90 -0
  4. package/columnmenu/ColumnMenuFilterForm.d.ts +25 -0
  5. package/columnmenu/ColumnMenuFilterLogic.d.ts +10 -0
  6. package/columnmenu/ColumnMenuFilterLogic.mjs +4 -4
  7. package/columnmenu/ColumnMenuFilters.d.ts +31 -0
  8. package/columnmenu/ColumnMenuItem.d.ts +39 -0
  9. package/columnmenu/ColumnMenuOperators.d.ts +72 -0
  10. package/columnmenu/index.d.ts +13 -0
  11. package/data-source/use-data-source.d.ts +224 -0
  12. package/data-source/use-odata-data-source.d.ts +41 -0
  13. package/data-source/use-remote-data-source.d.ts +411 -0
  14. package/detail-expansion/TableExpandableSettings.d.ts +12 -0
  15. package/detail-expansion/expandReducer.d.ts +31 -0
  16. package/detail-expansion/utils.d.ts +10 -0
  17. package/dist/cdn/js/kendo-react-datatools.js +1 -1
  18. package/drag/ColumnDraggable.d.ts +37 -0
  19. package/drag/ColumnResize.d.ts +39 -0
  20. package/drag/ColumnResizer.d.ts +35 -0
  21. package/drag/CommonDragLogic.d.ts +45 -0
  22. package/drag/DragClue.d.ts +29 -0
  23. package/drag/DropClue.d.ts +26 -0
  24. package/editing/TableEditableSettings.d.ts +24 -0
  25. package/editing/editReducer.d.ts +62 -0
  26. package/editing/utils.d.ts +12 -0
  27. package/filter/Expression.d.ts +53 -0
  28. package/filter/Expression.js +1 -1
  29. package/filter/Expression.mjs +10 -11
  30. package/filter/FieldSettings.d.ts +37 -0
  31. package/filter/Filter.d.ts +139 -0
  32. package/filter/Group.d.ts +64 -0
  33. package/filter/Group.js +1 -1
  34. package/filter/Group.mjs +7 -7
  35. package/filter/filters/BooleanFilter.d.ts +50 -0
  36. package/filter/filters/DateFilter.d.ts +33 -0
  37. package/filter/filters/EnumFilter.d.ts +50 -0
  38. package/filter/filters/NumericFilter.d.ts +40 -0
  39. package/filter/filters/TextFilter.d.ts +47 -0
  40. package/filter/filters/index.d.ts +12 -0
  41. package/filter/index.d.ts +13 -0
  42. package/filter/operators.d.ts +80 -0
  43. package/filteringCells/BooleanFilter.d.ts +15 -0
  44. package/filteringCells/DateFilter.d.ts +15 -0
  45. package/filteringCells/FilterCellProps.d.ts +42 -0
  46. package/filteringCells/FilterComponent.d.ts +24 -0
  47. package/filteringCells/FilterComponentProps.d.ts +30 -0
  48. package/filteringCells/FilterOperator.d.ts +20 -0
  49. package/filteringCells/NumericFilter.d.ts +15 -0
  50. package/filteringCells/TextFilter.d.ts +15 -0
  51. package/filteringCells/index.d.ts +15 -0
  52. package/group-expansion/TableGroupExpandableSettings.d.ts +12 -0
  53. package/group-expansion/groupExpandReducer.d.ts +46 -0
  54. package/header/CellProps.d.ts +83 -0
  55. package/header/ColumnProps.d.ts +167 -0
  56. package/header/FilterRow.d.ts +32 -0
  57. package/header/Header.d.ts +26 -0
  58. package/header/HeaderCell.d.ts +54 -0
  59. package/header/HeaderRow.d.ts +44 -0
  60. package/header/HeaderSelectionCell.d.ts +19 -0
  61. package/header/HeaderTdElement.d.ts +42 -0
  62. package/header/HeaderThElement.d.ts +42 -0
  63. package/header/SortSettings.d.ts +33 -0
  64. package/header/index.d.ts +18 -0
  65. package/header/utils/index.d.ts +90 -0
  66. package/index.d.mts +43 -3741
  67. package/index.d.ts +43 -3741
  68. package/messages/index.d.ts +397 -0
  69. package/navigation/NavigatableSettings.d.ts +25 -0
  70. package/navigation/TableKeyboardNavigation.d.ts +95 -0
  71. package/navigation/TableKeyboardNavigation.mjs +13 -13
  72. package/navigation/TableKeyboardNavigationContext.d.ts +13 -0
  73. package/navigation/TableKeyboardNavigationContextType.d.ts +14 -0
  74. package/navigation/TableKeyboardNavigationStateType.d.ts +17 -0
  75. package/navigation/constants.d.ts +61 -0
  76. package/navigation/hooks.d.ts +19 -0
  77. package/navigation/hooks.mjs +3 -3
  78. package/navigation/stackedKeyboardNavigation.d.ts +217 -0
  79. package/navigation/utils.d.ts +329 -0
  80. package/navigation/utils.mjs +5 -5
  81. package/package-metadata.d.ts +12 -0
  82. package/package-metadata.js +1 -1
  83. package/package-metadata.mjs +10 -16
  84. package/package.json +10 -10
  85. package/pager/Pager.d.ts +10 -0
  86. package/pager/Pager.js +1 -1
  87. package/pager/Pager.mjs +64 -66
  88. package/pager/PagerInput.d.ts +29 -0
  89. package/pager/PagerNumericButtons.d.ts +28 -0
  90. package/pager/PagerNumericButtons.js +1 -1
  91. package/pager/PagerNumericButtons.mjs +15 -17
  92. package/pager/PagerPageSizes.d.ts +36 -0
  93. package/pager/models/index.d.ts +178 -0
  94. package/pager/utils.d.ts +66 -0
  95. package/selection/TableSelectableSettings.d.ts +38 -0
  96. package/selection/TableSelection.d.ts +25 -0
  97. package/selection/constants.d.ts +13 -0
  98. package/selection/events.d.ts +101 -0
  99. package/selection/utils.d.ts +70 -0
  100. package/utils/DataItemWrapper.d.ts +17 -0
  101. package/utils/SearchField.d.ts +24 -0
  102. package/utils/data-operations.d.ts +107 -0
  103. package/utils/group-operations.d.ts +36 -0
  104. package/virtualization/columns.d.ts +24 -0
  105. package/virtualization/index.d.ts +8 -0
@@ -0,0 +1,178 @@
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
+ /**
9
+ * A Pager target event.
10
+ */
11
+ export interface PagerTargetEvent {
12
+ [key: string]: any;
13
+ /**
14
+ * An event target.
15
+ */
16
+ target?: any;
17
+ /**
18
+ * An event value.
19
+ */
20
+ value?: any;
21
+ }
22
+ export interface PagerHandle {
23
+ /**
24
+ * Represents the element of the Pager component.
25
+ */
26
+ element: HTMLDivElement | null;
27
+ /**
28
+ * Represents the props of the Pager component.
29
+ */
30
+ props: Readonly<PagerProps>;
31
+ }
32
+ /**
33
+ * Represents the object of the `onPageChange` event.
34
+ */
35
+ export interface PageChangeEvent extends BasePageChangeEvent {
36
+ /**
37
+ * An event target.
38
+ */
39
+ target: PagerHandle;
40
+ /**
41
+ * A React Synthetic Event.
42
+ */
43
+ syntheticEvent: React.SyntheticEvent<any>;
44
+ /**
45
+ * A native DOM event.
46
+ */
47
+ nativeEvent: any;
48
+ /**
49
+ * A target change event.
50
+ */
51
+ targetEvent: PagerTargetEvent;
52
+ }
53
+ /**
54
+ * Represents the base object of the `onPageChange` event. It is usually used
55
+ * in custom pager scenarios in cases when we don't need any of the events or the target.
56
+ */
57
+ export interface BasePageChangeEvent {
58
+ /**
59
+ * The number of records that will be skipped.
60
+ */
61
+ skip: number;
62
+ /**
63
+ * The number of records that will be taken.
64
+ */
65
+ take: number;
66
+ /**
67
+ * A React Synthetic Event.
68
+ */
69
+ syntheticEvent?: React.SyntheticEvent<any>;
70
+ /**
71
+ * A native DOM event.
72
+ */
73
+ nativeEvent?: any;
74
+ /**
75
+ * A target change event.
76
+ */
77
+ targetEvent?: PagerTargetEvent;
78
+ }
79
+ export interface PagerProps {
80
+ /**
81
+ * The total number of records.
82
+ */
83
+ total: number;
84
+ /**
85
+ * The number of records that will be skipped.
86
+ */
87
+ skip: number;
88
+ /**
89
+ * The number of records that will be taken.
90
+ */
91
+ take: number;
92
+ /**
93
+ * Sets additional classes to the Pager.
94
+ */
95
+ className?: string;
96
+ /**
97
+ * The styles that are applied to the Pager.
98
+ */
99
+ style?: React.CSSProperties;
100
+ /**
101
+ * Sets the maximum numeric buttons count before the buttons are collapsed.
102
+ */
103
+ buttonCount?: number;
104
+ /**
105
+ * Toggles the information about the current page and the total number of records.
106
+ */
107
+ info?: boolean;
108
+ /**
109
+ * Defines the type of the pager.
110
+ * * (Default) `numeric` — Renders buttons with numbers.
111
+ * * `input` — Renders an input field for typing the page number.
112
+ */
113
+ type?: 'numeric' | 'input';
114
+ /**
115
+ * Displays a menu for selecting the page size.
116
+ */
117
+ pageSizes?: Array<number> | Array<number | string>;
118
+ /**
119
+ * Sets the selected value of the page size Dropdownlist.
120
+ * It is useful when the selected value could also be a string not only a number.
121
+ */
122
+ pageSizeValue?: string | number;
123
+ /**
124
+ * Toggles the **Previous** and **Next** buttons.
125
+ */
126
+ previousNext?: boolean;
127
+ /**
128
+ * Defines if the pager will be responsive.
129
+ * If true, hides the tools that do not fit to the available space.
130
+ *
131
+ * @default `true`
132
+ */
133
+ responsive?: boolean;
134
+ /**
135
+ * Configures the `size` of the Pager.
136
+ *
137
+ * The available options are:
138
+ * - small
139
+ * - medium
140
+ * - large
141
+ * - null&mdash;Does not set a size `className`.
142
+ *
143
+ * @default `medium`
144
+ */
145
+ size?: 'small' | 'medium' | 'large';
146
+ /**
147
+ * Fires when the page of the Pager is changed. You have to handle the event yourself and page the data.
148
+ */
149
+ onPageChange?: ((event: PageChangeEvent) => void) | ((event: BasePageChangeEvent) => void);
150
+ /**
151
+ * Useful for modifying the Pager messages.
152
+ */
153
+ messagesMap?: (messageKey: string) => {
154
+ messageKey: string;
155
+ defaultMessage: string;
156
+ };
157
+ /**
158
+ * Sets the direction of the component.
159
+ */
160
+ dir?: string;
161
+ /**
162
+ * If set to `true`, the user can use dedicated shortcuts to interact with the Pager.
163
+ * By default, navigation is disabled and the Pager content is accessible in the normal tab sequence.
164
+ */
165
+ navigatable?: boolean;
166
+ /**
167
+ * Controls the disabled state of the Pager. Defaults to `false`.
168
+ */
169
+ disabled?: boolean;
170
+ /**
171
+ * Providing different rendering of the page sizes select element based on the screen dimensions.
172
+ */
173
+ adaptive?: boolean;
174
+ /**
175
+ * Specifies the text that is rendered as title in the adaptive page sizes select element.
176
+ */
177
+ adaptiveTitle?: string;
178
+ }
@@ -0,0 +1,66 @@
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 { LocalizationService } from '@progress/kendo-react-intl';
9
+ /**
10
+ * @hidden
11
+ */
12
+ export type L10NMessages = {
13
+ messageKey: string;
14
+ defaultMessage: string;
15
+ };
16
+ /**
17
+ * @hidden
18
+ */
19
+ export type L10NMessageMap = (messageKey: string) => {
20
+ messageKey: string;
21
+ defaultMessage: string;
22
+ };
23
+ /**
24
+ * @hidden
25
+ */
26
+ export declare const getL10NMessage: (key: string, messagesMap?: L10NMessageMap) => L10NMessages;
27
+ /**
28
+ * @hidden
29
+ */
30
+ export declare const translateMessage: (localization: LocalizationService, messageMap: L10NMessages) => string;
31
+ /**
32
+ * @hidden
33
+ */
34
+ export declare const getFirstButtonProps: (isRtl: boolean, currentPage: number, disabled: boolean) => {
35
+ rtlClass: string;
36
+ rtlIcon: import('@progress/kendo-svg-icons').SVGIcon;
37
+ isDisabledClass: string;
38
+ isDisabled: boolean | undefined;
39
+ };
40
+ /**
41
+ * @hidden
42
+ */
43
+ export declare const getPrevButtonProps: (isRtl: boolean, currentPage: number, disabled: boolean) => {
44
+ rtlClass: string;
45
+ rtlIcon: import('@progress/kendo-svg-icons').SVGIcon;
46
+ isDisabledClass: string;
47
+ isDisabled: boolean | undefined;
48
+ };
49
+ /**
50
+ * @hidden
51
+ */
52
+ export declare const getNextButtonProps: (isRtl: boolean, currentPage: number, totalPages: number, disabled: boolean) => {
53
+ rtlClass: string;
54
+ rtlIcon: import('@progress/kendo-svg-icons').SVGIcon;
55
+ isDisabledClass: string;
56
+ isDisabled: boolean | undefined;
57
+ };
58
+ /**
59
+ * @hidden
60
+ */
61
+ export declare const getLastButtonProps: (isRtl: boolean, currentPage: number, totalPages: number, disabled: boolean) => {
62
+ rtlClass: string;
63
+ rtlIcon: import('@progress/kendo-svg-icons').SVGIcon;
64
+ isDisabledClass: string;
65
+ isDisabled: boolean | undefined;
66
+ };
@@ -0,0 +1,38 @@
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
+ /** @hidden */
9
+ export type TableSelectableMode = 'single' | 'multiple';
10
+ /** @hidden */
11
+ export interface TableSelectableSettings {
12
+ /**
13
+ * Determines if selection is allowed.
14
+ *
15
+ * @default true
16
+ */
17
+ enabled?: boolean;
18
+ /**
19
+ * The available values are:
20
+ * * `single`
21
+ * * `multiple`
22
+ *
23
+ * @default "multiple"
24
+ */
25
+ mode?: TableSelectableMode;
26
+ /**
27
+ * Determines if cell selection is allowed.
28
+ *
29
+ * @default false
30
+ */
31
+ cell?: boolean;
32
+ /**
33
+ * Determines if drag selection is allowed.
34
+ *
35
+ * @default false
36
+ */
37
+ drag?: boolean;
38
+ }
@@ -0,0 +1,25 @@
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 { TableSelectableSettings } from './TableSelectableSettings.js';
9
+ import { TableDragSelectionReleaseEvent } from './events.js';
10
+ import * as React from 'react';
11
+ /**
12
+ * The descriptor used to define the selected state of a data-item.
13
+ */
14
+ export type SelectDescriptor = {
15
+ [id: string]: boolean | number[];
16
+ };
17
+ /** @hidden */
18
+ export interface TableSelectionProps {
19
+ children: any;
20
+ selectable?: TableSelectableSettings;
21
+ onRelease: (options: TableDragSelectionReleaseEvent) => void;
22
+ childRef?: (childElement: HTMLElement) => void;
23
+ }
24
+ /** @hidden */
25
+ export declare const TableSelection: (props: TableSelectionProps) => React.JSX.Element;
@@ -0,0 +1,13 @@
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
+ /** @hidden */
9
+ export declare const TABLE_ROW_INDEX_ATTRIBUTE = "data-grid-row-index";
10
+ /** @hidden */
11
+ export declare const TABLE_COL_INDEX_ATTRIBUTE = "data-grid-col-index";
12
+ /** @hidden */
13
+ export declare const TABLE_PREVENT_SELECTION_ELEMENT = "data-prevent-selection";
@@ -0,0 +1,101 @@
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 { BaseEvent } from '@progress/kendo-react-common';
9
+ /** @hidden */
10
+ export interface TableKeyDownEvent<T> extends BaseEvent<T> {
11
+ /**
12
+ * The current leaf data items.
13
+ */
14
+ dataItems: any[];
15
+ /**
16
+ * Selection mode.
17
+ */
18
+ mode: 'single' | 'multiple';
19
+ /**
20
+ * Indicates if cell selection mode is enabled.
21
+ */
22
+ cell: boolean;
23
+ /**
24
+ * The `selectedField` prop of the component.
25
+ */
26
+ selectedField: string;
27
+ /**
28
+ * The component unique identifier.
29
+ */
30
+ componentId: string;
31
+ }
32
+ /** @hidden */
33
+ export interface TableDragSelectionReleaseEvent {
34
+ /**
35
+ * Selection start row index.
36
+ */
37
+ startRowIndex: number;
38
+ /**
39
+ * Selection start column index.
40
+ */
41
+ startColIndex: number;
42
+ /**
43
+ * Selection end row index.
44
+ */
45
+ endRowIndex: number;
46
+ /**
47
+ * Selection end column index.
48
+ */
49
+ endColIndex: number;
50
+ /**
51
+ * A native DOM event.
52
+ */
53
+ nativeEvent: any;
54
+ /**
55
+ * Is ctrl key modifier pressed.
56
+ */
57
+ ctrlKey: boolean;
58
+ /**
59
+ * Is alt key modifier pressed.
60
+ */
61
+ altKey: boolean;
62
+ /**
63
+ * Is meta key modifier pressed.
64
+ */
65
+ metaKey: boolean;
66
+ /**
67
+ * Is shift key modifier pressed.
68
+ */
69
+ shiftKey: boolean;
70
+ /**
71
+ * Selection mode.
72
+ */
73
+ mode: 'single' | 'multiple';
74
+ /**
75
+ * Indicates if cell selection mode is enabled.
76
+ */
77
+ cell: boolean;
78
+ /**
79
+ * Indicates if current event is created from drag.
80
+ */
81
+ isDrag: boolean;
82
+ }
83
+ /** @hidden */
84
+ export interface TableSelectionChangeEvent<T> extends BaseEvent<T>, TableDragSelectionReleaseEvent {
85
+ /**
86
+ * The data item which was selected or deselected when the checkbox selection column is used. It will be `null` when the row or cell selection is used.
87
+ */
88
+ dataItem: any;
89
+ /**
90
+ * The `selectedField` prop of the component.
91
+ */
92
+ selectedField: string;
93
+ /**
94
+ * The component unique identifier.
95
+ */
96
+ componentId: string;
97
+ /**
98
+ * The current component leaf data items.
99
+ */
100
+ dataItems: any[];
101
+ }
@@ -0,0 +1,70 @@
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 { TableKeyDownEvent, TableSelectionChangeEvent } from './events.js';
9
+ import { TableSelectableSettings } from './TableSelectableSettings.js';
10
+ /** @hidden */
11
+ export declare const isInNonSelectable: (target: HTMLElement | null) => boolean;
12
+ /** @hidden */
13
+ export declare const closestTagName: (target: HTMLElement | null, tagName: 'TD' | 'TR' | 'TABLE') => HTMLElement | null;
14
+ /** @hidden */
15
+ export declare const getRowIndex: (element: HTMLTableRowElement) => number | undefined;
16
+ /** @hidden */
17
+ export declare const getColumnIndex: (element: HTMLTableCellElement) => number | undefined;
18
+ /**
19
+ * @hidden
20
+ *
21
+ * Apply the selected field to the data items based on the selected state.
22
+ *
23
+ * @param {{data: any, selectedState: {[id: string]: boolean | number[]}, dataItemKey: string; selectedField: string; subItemsField?: string; }} options
24
+ * @returns {any[]}
25
+ */
26
+ export declare const setSelectedState: (options: {
27
+ data: any;
28
+ selectedState: {
29
+ [id: string]: boolean | number[];
30
+ };
31
+ dataItemKey: string;
32
+ selectedField: string;
33
+ subItemsField?: string | undefined;
34
+ }) => any[];
35
+ /**
36
+ * Get selected state from the component KeyDown event.
37
+ *
38
+ * @param {{event: TableKeyDownEvent, selectedState: {[id: string]: boolean | number[]}, dataItemKey: string}} options
39
+ * @returns {{[id: string]: boolean | number[]}} - The new selected state.
40
+ */
41
+ export declare const getSelectedStateFromKeyDown: (options: {
42
+ event: TableKeyDownEvent<any>;
43
+ selectedState: {
44
+ [id: string]: boolean | number[];
45
+ };
46
+ dataItemKey: string;
47
+ }) => {
48
+ [id: string]: boolean | number[];
49
+ };
50
+ /**
51
+ * Get selected state from the component selection event.
52
+ *
53
+ * @param {{event: TableSelectionChangeEvent, selectedState: {[id: string]: boolean | number[]}, dataItemKey: string}} options
54
+ * @returns {{[id: string]: boolean | number[]}} - The new selected state.
55
+ */
56
+ export declare const getSelectedState: (options: {
57
+ event: TableSelectionChangeEvent<any>;
58
+ selectedState: {
59
+ [id: string]: boolean | number[];
60
+ };
61
+ dataItemKey: string;
62
+ }) => {
63
+ [id: string]: boolean | number[];
64
+ };
65
+ /** @hidden */
66
+ export declare const relativeContextElement: (element: any) => any;
67
+ /** @hidden */
68
+ export declare const getOffset: (offsetParent: any) => any;
69
+ /** @hidden */
70
+ export declare const getSelectionOptions: (selectable?: boolean | TableSelectableSettings) => Required<TableSelectableSettings>;
@@ -0,0 +1,17 @@
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
+ /**
9
+ * @hidden
10
+ */
11
+ export interface DataItemWrapper {
12
+ dataItem: any;
13
+ level: number[];
14
+ height: number;
15
+ offsetTop: number;
16
+ levelCount: number;
17
+ }
@@ -0,0 +1,24 @@
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
+ /**
9
+ * Represents the SearchField that configures the way a data field is searched.
10
+ */
11
+ export interface SearchField {
12
+ /**
13
+ * The name of the searched field.
14
+ */
15
+ field: string;
16
+ /**
17
+ * The string operator that will be used for search.
18
+ */
19
+ operator?: string;
20
+ /**
21
+ * Defines if the search is case sensitive.
22
+ */
23
+ ignoreCase?: boolean;
24
+ }
@@ -0,0 +1,107 @@
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 { SortDescriptor, FilterDescriptor, CompositeFilterDescriptor } from '@progress/kendo-data-query';
9
+ import { DataItemWrapper } from './DataItemWrapper.js';
10
+ /**
11
+ * Orders the specified tree according to the provided sort descriptors.
12
+ *
13
+ * @param {T[]} data - The data that will be sorted.
14
+ * @param {SortDescriptor[]} descriptors - The descriptors by which the data will be sorted.
15
+ * @param {string} subItemsField - The field which points to the subitems collection of each data item.
16
+ * @returns {T[]} - The sorted data.
17
+ */
18
+ export declare function orderBy(data: any[], descriptors: SortDescriptor[], subItemsField: string): any[];
19
+ /**
20
+ * Filters the provided data tree according to the specified `Array<FilterDescriptor|CompositeFilterDescriptor>`.
21
+ *
22
+ * @param {T[]} data - The data that will be filtered.
23
+ * @param {FilterDescriptor[]|CompositeFilterDescriptor[]} descriptors - The filter criteria that will be applied.
24
+ * @param {string} subItemsField - The field which points to the subitems collection of each data item.
25
+ * @returns {T[]} - The filtered data.
26
+ */
27
+ export declare function filterBy(data: any[], descriptors: FilterDescriptor[] | CompositeFilterDescriptor[], subItemsField: string): any[];
28
+ /**
29
+ * @hidden
30
+ */
31
+ export declare function flatData(data: any[], getChildren: (dataItem: any) => any[], itemMap: (item: any) => any): DataItemWrapper[];
32
+ /**
33
+ * Creates a flat data array from the passed tree dataset.
34
+ *
35
+ * @param {object[]} dataset - The source dataset of data items.
36
+ * @param {string} expandField - The field which points to the expanded value of each data item.
37
+ * @param {string} subItemsField - The field which points to the subitems collection of each data item.
38
+ * @returns {object[]} - A collection of the generated data items that are in a flat structure.
39
+ */
40
+ export declare const treeToFlat: (data: any[], expandField: string, subItemsField: string) => any[];
41
+ /**
42
+ * Creates a tree from the passed dataset.
43
+ *
44
+ * @param {object[]} dataset - The source dataset of data items.
45
+ * @param {(item: object) => any} getId - A function which will return the id of the data item.
46
+ * @param {(item: object) => any} getParentId - A function which will return the data item id of its parent data item.
47
+ * @param {string} subItemsField - The field which points to the subitems collection of each data item.
48
+ * @returns {object[]} - A collection of the generated data items that are structured in a tree.
49
+ */
50
+ export declare const createDataTree: (dataset: any[], getId: (item: any) => any, getParentId: (item: any) => any, subItemsField: string) => any[];
51
+ /**
52
+ * Similar to the `Object.assign` function. Additionally, creates a new array for the subitems.
53
+ *
54
+ * @param {object} item - The source data item.
55
+ * @param {string} subItemsField - The field which points to the subitems collection of each data item.
56
+ * @param {object} propsToExtend - The props with which the source data item will be extended.
57
+ * @returns {object} - The target data item.
58
+ */
59
+ export declare const extendDataItem: (item: any, subItemsField: string, propsToExtend?: any) => any;
60
+ /**
61
+ * Removes the items from the passed `data` which match the passed `condition`.
62
+ *
63
+ * @param {any[]} data - The data tree.
64
+ * @param {string} subItemsField - The field which points to the subitems collection of each data item.
65
+ * @param {(item: object) => Boolean} condition - A function that will be executed for each data item
66
+ * in the tree data and the items for which returns true will be removed.
67
+ * @returns {any[]} - The new data tree.
68
+ */
69
+ export declare const removeItems: (data: any[], subItemsField: string, condition: (item: any) => boolean) => any[];
70
+ /**
71
+ * Changes the `subItems` collection of each data item which matches the passed `condition`.
72
+ *
73
+ * @param {any[]} data - The data tree.
74
+ * @param {string} subItemsField - The field which points to the subitems collection of each data item.
75
+ * @param {(item: object) => Boolean} condition - A function that will be executed for each data item and
76
+ * will return `true` for items that have to change the subitems collection.
77
+ * @param {(subItems: object[]) => object[]} change - A function which
78
+ * has as a parameter the subitems collection of the matched items and which will return the new subitems collection.
79
+ * @returns {any[]} - The new data tree.
80
+ */
81
+ export declare const modifySubItems: (data: any[], subItemsField: string, condition: (item: any) => boolean, change: (subItems: any[]) => any[]) => any[];
82
+ /**
83
+ * Returns the data item path in the tree based on the level parameter.
84
+ *
85
+ * @param {any[]} tree - The data tree.
86
+ * @param {number[]} level - The level of the target tree item.
87
+ * @param {string} subItemsField - The field which points to the subitems collection of each data item.
88
+ * @returns {any[]} - The path of the data item.
89
+ */
90
+ export declare const getItemPath: (tree: any[], level: number[], subItemsField?: string) => any[];
91
+ /**
92
+ * Moves the targeted item in the tree to another position.
93
+ *
94
+ * @param {any[]} data - The data tree.
95
+ * @param {number[]} target - The level of the target tree item which will be moved.
96
+ * @param {number[] | null} destination - The level of the destination tree item where the target item will be moved in.
97
+ * If it is null, the target item will be added at the root level.
98
+ * @param {string} subItemsField - The field which points to the subitems collection of each data item.
99
+ * @returns {any[]} - The new data tree.
100
+ */
101
+ export declare const moveTreeItem: (data: any[], target: number[], destination: number[] | null, subItemsField: string) => any[];
102
+ /** @hidden */
103
+ export declare const getSearchFromString: (search: CompositeFilterDescriptor, value: string) => CompositeFilterDescriptor;
104
+ /** @hidden */
105
+ export declare const getStringFromSearch: (search: CompositeFilterDescriptor | undefined) => string;
106
+ /** @hidden */
107
+ export declare const combineFilters: (first?: CompositeFilterDescriptor, second?: CompositeFilterDescriptor) => CompositeFilterDescriptor | undefined;
@@ -0,0 +1,36 @@
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 { GroupDescriptor } from '@progress/kendo-data-query';
9
+ /**
10
+ * Add unique ids to the group items inside data.
11
+ *
12
+ * @param {{data: any[], group: GroupDescriptor[]}} options - The options to be processed.
13
+ */
14
+ export declare const setGroupIds: (options: {
15
+ data: any;
16
+ group?: Array<GroupDescriptor>;
17
+ }) => void;
18
+ /**
19
+ * Get all group ids from the data.
20
+ *
21
+ * @param {{data: any[]}} options - The options to be processed.
22
+ * @returns {string[]} - Collection of all group ids from the data.
23
+ */
24
+ export declare const getGroupIds: (options: {
25
+ data: any;
26
+ }) => string[];
27
+ /**
28
+ * Apply the `expanded` prop to the group items in data based on the provided collection of group ids.
29
+ *
30
+ * @param {{data: any[], collapsedIds: string[]}} options - The options to be processed.
31
+ * @returns {string[]} - Collection of all group ids from the data.
32
+ */
33
+ export declare const setExpandedState: (options: {
34
+ data: any;
35
+ collapsedIds: string[];
36
+ }) => any[];