@progress/kendo-react-grid 13.3.0 → 13.4.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.
Files changed (256) hide show
  1. package/BasePDFExport.d.ts +31 -0
  2. package/Grid.d.ts +129 -0
  3. package/GridClientContextReader.d.ts +17 -0
  4. package/GridClientWrapper.d.ts +32 -0
  5. package/GridClientWrapper.js +1 -1
  6. package/GridClientWrapper.mjs +21 -25
  7. package/GridColumn.d.ts +51 -0
  8. package/GridComponent.d.ts +14 -0
  9. package/GridComponent.js +1 -1
  10. package/GridComponent.mjs +6 -6
  11. package/GridPdfExportButton.d.ts +18 -0
  12. package/GridSearchBox.d.ts +27 -0
  13. package/GridState.d.ts +30 -0
  14. package/GridToolbar.d.ts +48 -0
  15. package/ScrollMode.d.ts +8 -0
  16. package/StatusBar.d.ts +59 -0
  17. package/VirtualScroll.d.ts +45 -0
  18. package/cells/GridDetailHierarchyCell.d.ts +16 -0
  19. package/cells/GridFilterCell.d.ts +10 -0
  20. package/cells/GridFilterCell.mjs +4 -4
  21. package/cells/datacell/GridCell.d.ts +15 -0
  22. package/cells/datacell/GridCellServer.d.ts +15 -0
  23. package/cells/datacell/GridCellServerContainer.d.ts +11 -0
  24. package/cells/datacell/useCellClientTdProps.d.ts +69 -0
  25. package/cells/datacell/utils.d.ts +20 -0
  26. package/cells/detailcell/GridDetailCell.d.ts +23 -0
  27. package/cells/detailcell/GridDetailCellServer.d.ts +11 -0
  28. package/cells/detailcell/GridDetailCellServerContainer.d.ts +12 -0
  29. package/cells/detailcell/useDetailCellClientTdProps.d.ts +23 -0
  30. package/cells/detailcell/utils.d.ts +19 -0
  31. package/cells/editcell/GridEditCell.d.ts +15 -0
  32. package/cells/editcell/GridEditCellEditor.d.ts +11 -0
  33. package/cells/editcell/GridEditCellServer.d.ts +15 -0
  34. package/cells/editcell/GridEditCellServerContainer.d.ts +11 -0
  35. package/cells/editcell/useEditCellClientTdProps.d.ts +25 -0
  36. package/cells/editcell/utils.d.ts +19 -0
  37. package/cells/groupcell/GridGroupCell.d.ts +15 -0
  38. package/cells/groupcell/GridGroupCellServer.d.ts +15 -0
  39. package/cells/groupcell/GridGroupCellServerContainer.d.ts +12 -0
  40. package/cells/groupcell/GridGroupCellToggle.d.ts +13 -0
  41. package/cells/groupcell/useGroupCellClientTdProps.d.ts +41 -0
  42. package/cells/groupcell/utils.d.ts +22 -0
  43. package/cells/hierarchycell/GridHierarchyCell.d.ts +15 -0
  44. package/cells/hierarchycell/GridHierarchyCellServer.d.ts +15 -0
  45. package/cells/hierarchycell/GridHierarchyCellServerContainer.d.ts +11 -0
  46. package/cells/hierarchycell/GridHierarchyCellToggle.d.ts +13 -0
  47. package/cells/hierarchycell/GridHierarchyCellToggle.mjs +2 -2
  48. package/cells/hierarchycell/useHierarchyCellClientTdProps.d.ts +32 -0
  49. package/cells/hierarchycell/utils.d.ts +20 -0
  50. package/cells/hooks.d.ts +25 -0
  51. package/cells/rowreordercell/GridRowReorderCell.d.ts +15 -0
  52. package/cells/rowreordercell/GridRowReorderCellServer.d.ts +15 -0
  53. package/cells/rowreordercell/GridRowReorderCellServerContainer.d.ts +11 -0
  54. package/cells/rowreordercell/useRowReorderCellClientTdProps.d.ts +27 -0
  55. package/cells/rowreordercell/utils.d.ts +15 -0
  56. package/cells/selectioncell/GridSelectionCell.d.ts +15 -0
  57. package/cells/selectioncell/GridSelectionCellInput.d.ts +13 -0
  58. package/cells/selectioncell/GridSelectionCellServer.d.ts +15 -0
  59. package/cells/selectioncell/GridSelectionCellServerContainer.d.ts +11 -0
  60. package/cells/selectioncell/useSelectionCellClientTdProps.d.ts +25 -0
  61. package/cells/selectioncell/utils.d.ts +25 -0
  62. package/codemods/v11/cell-render.js +2 -9
  63. package/codemods/v11/column-cell.js +2 -9
  64. package/codemods/v11/column-filter-cell.js +2 -9
  65. package/codemods/v11/column-footer-cell.js +2 -9
  66. package/codemods/v11/column-header-cell.js +2 -9
  67. package/codemods/v11/detail-expand-state.js +2 -9
  68. package/codemods/v11/edit-state.js +2 -9
  69. package/codemods/v11/filter-cell-render.js +2 -9
  70. package/codemods/v11/group-expand-state.js +2 -9
  71. package/codemods/v11/header-cell-render.js +2 -9
  72. package/codemods/v11/index.js +0 -7
  73. package/codemods/v11/row-render.js +2 -9
  74. package/codemods/v11/selection-state.js +2 -9
  75. package/codemods/v11/utils.js +2 -9
  76. package/columnMenu/GridColumnMenuCheckboxFilter.d.ts +58 -0
  77. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
  78. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +0 -1
  79. package/columnMenu/GridColumnMenuColumnsChooser.d.ts +30 -0
  80. package/columnMenu/GridColumnMenuColumnsList.d.ts +34 -0
  81. package/columnMenu/GridColumnMenuFilter.d.ts +101 -0
  82. package/columnMenu/GridColumnMenuFilterCell.d.ts +29 -0
  83. package/columnMenu/GridColumnMenuFilterUI.d.ts +13 -0
  84. package/columnMenu/GridColumnMenuGroup.d.ts +61 -0
  85. package/columnMenu/GridColumnMenuGroup.mjs +3 -3
  86. package/columnMenu/GridColumnMenuItem.d.ts +48 -0
  87. package/columnMenu/GridColumnMenuItemContent.d.ts +22 -0
  88. package/columnMenu/GridColumnMenuItemGroup.d.ts +18 -0
  89. package/columnMenu/GridColumnMenuSort.d.ts +67 -0
  90. package/columnMenu/GridColumnMenuWrapper.d.ts +33 -0
  91. package/columnMenu/GridColumnMenuWrapper.mjs +5 -5
  92. package/columnMenu/adaptiveContent/GridActionSheetFooter.d.ts +26 -0
  93. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.d.ts +27 -0
  94. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.mjs +4 -4
  95. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.d.ts +32 -0
  96. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.mjs +3 -3
  97. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.d.ts +12 -0
  98. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +1 -1
  99. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +4 -4
  100. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.d.ts +27 -0
  101. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.mjs +8 -8
  102. package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.d.ts +23 -0
  103. package/components/GridContainerElementContainer.d.ts +12 -0
  104. package/components/GridDragClue.d.ts +12 -0
  105. package/components/GridDraggableRowsContainer.d.ts +20 -0
  106. package/components/GridDropClue.d.ts +12 -0
  107. package/components/GridEditDialog.d.ts +22 -0
  108. package/components/GridEditDialog.mjs +1 -1
  109. package/components/GridElementContainer.d.ts +14 -0
  110. package/components/GridLoader.d.ts +17 -0
  111. package/components/PagerContainer.d.ts +12 -0
  112. package/components/VirtualScrollHeightContainer.d.ts +12 -0
  113. package/components/colGroup/GridColGroup.d.ts +12 -0
  114. package/components/icons/reorder-row-svg.d.ts +12 -0
  115. package/components/noRecords/GridNoRecords.d.ts +31 -0
  116. package/components/noRecords/GridNoRecordsContainer.d.ts +15 -0
  117. package/components/noRecords/GridNoRecordsContainer.mjs +1 -1
  118. package/components/table/GridTable.d.ts +12 -0
  119. package/components/table/GridTableBody.d.ts +12 -0
  120. package/components/table/GridTableScrollable.d.ts +12 -0
  121. package/components/utils.d.ts +21 -0
  122. package/constants/index.d.ts +15 -0
  123. package/constants/index.mjs +2 -2
  124. package/contextMenu/GridContextMenu.d.ts +205 -0
  125. package/contextMenu/GridContextMenu.mjs +19 -19
  126. package/contextMenu/enums.d.ts +36 -0
  127. package/dist/cdn/js/kendo-react-grid.js +1 -1
  128. package/drag/ColumnDraggable.d.ts +26 -0
  129. package/drag/ColumnResize.d.ts +47 -0
  130. package/drag/CommonDragLogic.d.ts +50 -0
  131. package/drag/GroupingIndicator.d.ts +26 -0
  132. package/drag/GroupingIndicator.js +1 -1
  133. package/drag/GroupingIndicator.mjs +20 -20
  134. package/filterCommon.d.ts +86 -0
  135. package/footer/Footer.d.ts +38 -0
  136. package/footer/Footer.js +1 -1
  137. package/footer/Footer.mjs +9 -9
  138. package/footer/FooterCell.d.ts +19 -0
  139. package/footer/FooterRow.d.ts +23 -0
  140. package/footer/client/FooterCellContainer.d.ts +12 -0
  141. package/header/FilterRow.d.ts +35 -0
  142. package/header/GridHeaderCell.d.ts +48 -0
  143. package/header/GridHeaderSelectionCell.d.ts +13 -0
  144. package/header/GroupPanel.d.ts +23 -0
  145. package/header/GroupPanel.js +1 -1
  146. package/header/GroupPanel.mjs +11 -11
  147. package/header/Header.d.ts +44 -0
  148. package/header/Header.js +1 -1
  149. package/header/Header.mjs +1 -1
  150. package/header/HeaderRow.d.ts +45 -0
  151. package/header/client/GridFilterCellContainer.d.ts +12 -0
  152. package/header/client/GridFilterCellElementContainer.d.ts +12 -0
  153. package/header/client/GridHeaderCellContainer.d.ts +12 -0
  154. package/header/client/GridHeaderCellElementContainer.d.ts +12 -0
  155. package/header/client/GridHeaderRowContainer.d.ts +16 -0
  156. package/header/client/GridHeaderRowReorderCell.d.ts +12 -0
  157. package/header/client/HeaderCellResizer.d.ts +11 -0
  158. package/header/client/HeaderRowDraggable.d.ts +11 -0
  159. package/index.d.mts +84 -5356
  160. package/index.d.ts +84 -5356
  161. package/interfaces/ColumnType.d.ts +13 -0
  162. package/interfaces/CompositeHighlightDescriptor.d.ts +29 -0
  163. package/interfaces/GridAIAssistantCommand.d.ts +110 -0
  164. package/interfaces/GridAICommands.d.ts +60 -0
  165. package/interfaces/GridCellProps.d.ts +112 -0
  166. package/interfaces/GridCellRenderModel.d.ts +15 -0
  167. package/interfaces/GridCellsSettings.d.ts +366 -0
  168. package/interfaces/GridColSpanProps.d.ts +21 -0
  169. package/interfaces/GridColumnChildrenProps.d.ts +18 -0
  170. package/interfaces/GridColumnMenuBaseProps.d.ts +21 -0
  171. package/interfaces/GridColumnMenuColumnProps.d.ts +32 -0
  172. package/interfaces/GridColumnMenuColumnsChooserBaseProps.d.ts +22 -0
  173. package/interfaces/GridColumnMenuFilterBaseProps.d.ts +31 -0
  174. package/interfaces/GridColumnMenuFilterUIProps.d.ts +38 -0
  175. package/interfaces/GridColumnMenuGroupBaseProps.d.ts +26 -0
  176. package/interfaces/GridColumnMenuProps.d.ts +24 -0
  177. package/interfaces/GridColumnMenuSortBaseProps.d.ts +27 -0
  178. package/interfaces/GridColumnProps.d.ts +230 -0
  179. package/interfaces/GridColumnState.d.ts +52 -0
  180. package/interfaces/GridDataType.d.ts +12 -0
  181. package/interfaces/GridDetailExpandableSettings.d.ts +11 -0
  182. package/interfaces/GridDetailRowProps.d.ts +20 -0
  183. package/interfaces/GridEditDialogProps.d.ts +30 -0
  184. package/interfaces/GridEditableSettings.d.ts +16 -0
  185. package/interfaces/GridFilterCellProps.d.ts +67 -0
  186. package/interfaces/GridFilterOperator.d.ts +13 -0
  187. package/interfaces/GridFilterOperators.d.ts +56 -0
  188. package/interfaces/GridFooterCellProps.d.ts +29 -0
  189. package/interfaces/GridGroupExpandableSettings.d.ts +22 -0
  190. package/interfaces/GridGroupableSettings.d.ts +25 -0
  191. package/interfaces/GridHeaderCellProps.d.ts +23 -0
  192. package/interfaces/GridHighlightDescriptor.d.ts +16 -0
  193. package/interfaces/GridNoRecordsProps.d.ts +16 -0
  194. package/interfaces/GridProps.d.ts +1083 -0
  195. package/interfaces/GridReorderDropDir.d.ts +11 -0
  196. package/interfaces/GridRowProps.d.ts +75 -0
  197. package/interfaces/GridRowReorderSettings.d.ts +25 -0
  198. package/interfaces/GridRowSpannableSettings.d.ts +21 -0
  199. package/interfaces/GridRowType.d.ts +16 -0
  200. package/interfaces/GridRowsSettings.d.ts +57 -0
  201. package/interfaces/GridSelectableSettings.d.ts +25 -0
  202. package/interfaces/GridSortSettings.d.ts +26 -0
  203. package/interfaces/GridStackedLayoutSettings.d.ts +60 -0
  204. package/interfaces/GridToolbarProps.d.ts +17 -0
  205. package/interfaces/VirtualScrollInterface.d.ts +29 -0
  206. package/interfaces/events.d.ts +357 -0
  207. package/interfaces/index.d.ts +15 -0
  208. package/messages/index.d.ts +365 -0
  209. package/messages/messagesMap.d.ts +14 -0
  210. package/package-metadata.d.ts +12 -0
  211. package/package-metadata.js +1 -1
  212. package/package-metadata.mjs +10 -16
  213. package/package.json +17 -17
  214. package/paging/GridPagerSettings.d.ts +89 -0
  215. package/paging/Page.d.ts +20 -0
  216. package/rows/GridDetailRow.d.ts +41 -0
  217. package/rows/GridDetailRowRenderer.d.ts +48 -0
  218. package/rows/GridRow.d.ts +13 -0
  219. package/rows/GridRowRenderer.d.ts +47 -0
  220. package/sortCommon.d.ts +20 -0
  221. package/stacked/GridStackedCell.d.ts +67 -0
  222. package/stacked/GridStackedDetailToggle.d.ts +20 -0
  223. package/stacked/GridStackedDetailToggle.mjs +2 -2
  224. package/stacked/GridStackedRow.d.ts +214 -0
  225. package/stacked/StackedModeComponents.d.ts +45 -0
  226. package/stacked/StackedModeRow.d.ts +46 -0
  227. package/toolbar-tools/GridToolbarAIAssistant.d.ts +246 -0
  228. package/toolbar-tools/GridToolbarCheckboxFilter.d.ts +89 -0
  229. package/toolbar-tools/GridToolbarCheckboxFilter.js +1 -1
  230. package/toolbar-tools/GridToolbarCheckboxFilter.mjs +0 -1
  231. package/toolbar-tools/GridToolbarColumnsChooser.d.ts +55 -0
  232. package/toolbar-tools/GridToolbarFilter.d.ts +72 -0
  233. package/toolbar-tools/GridToolbarFilter.mjs +5 -5
  234. package/toolbar-tools/GridToolbarGroup.d.ts +55 -0
  235. package/toolbar-tools/GridToolbarSeparator.d.ts +21 -0
  236. package/toolbar-tools/GridToolbarSort.d.ts +55 -0
  237. package/toolbar-tools/GridToolbarSpacer.d.ts +21 -0
  238. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.d.ts +35 -0
  239. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.mjs +3 -3
  240. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.d.ts +33 -0
  241. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.mjs +3 -3
  242. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.d.ts +34 -0
  243. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.mjs +3 -3
  244. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarGroup.d.ts +26 -0
  245. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.d.ts +27 -0
  246. package/toolbar-tools/adaptiveContext/GridToolbarAdaptiveContext.d.ts +23 -0
  247. package/toolbar-tools/ai-tool/GridAIPrompt.d.ts +160 -0
  248. package/utils/GridContext.d.ts +12 -0
  249. package/utils/_clientModule.d.ts +11 -0
  250. package/utils/_serverModule.d.ts +12 -0
  251. package/utils/handleAIResponse.d.ts +221 -0
  252. package/utils/index.d.ts +185 -0
  253. package/utils/index.js +1 -1
  254. package/utils/index.mjs +2 -2
  255. package/utils/premium.d.ts +31 -0
  256. package/utils/virtualColumns.d.ts +18 -0
@@ -0,0 +1,246 @@
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 { SpeechToTextButtonProps } from '@progress/kendo-react-buttons';
9
+ import { SVGIcon } from '@progress/kendo-svg-icons';
10
+ import { AxiosResponse, AxiosRequestConfig } from 'axios';
11
+ import { CustomComponent } from '@progress/kendo-react-common';
12
+ import { AIPromptOutputInterface } from '@progress/kendo-react-conversational-ui';
13
+ import { GridAIPromptProps } from './ai-tool/GridAIPrompt.js';
14
+ import * as React from 'react';
15
+ /**
16
+ * Represents the handle interface for the GridToolbarAIAssistant component.
17
+ */
18
+ export interface GridToolbarAIAssistantHandle {
19
+ /**
20
+ * Shows the AI assistant prompt interface.
21
+ */
22
+ show: () => void;
23
+ /**
24
+ * Hides the AI assistant prompt interface.
25
+ */
26
+ hide: () => void;
27
+ }
28
+ /**
29
+ * Represents the request data structure for the GridToolbarAIAssistant component.
30
+ */
31
+ export interface GridToolbarAIAssistantRequestData {
32
+ /**
33
+ * The role or context for the AI request.
34
+ */
35
+ role: string;
36
+ /**
37
+ * The array of column definitions with their field names.
38
+ */
39
+ columns: Array<{
40
+ field: string;
41
+ }>;
42
+ /**
43
+ * The headers object containing key-value pairs for the request.
44
+ */
45
+ headers: Record<string, string>;
46
+ /**
47
+ * The prompt message sent to the AI assistant.
48
+ */
49
+ promptMessage: string;
50
+ /**
51
+ * The request configuration options for the HTTP request.
52
+ */
53
+ requestOptions: {
54
+ url?: string;
55
+ method?: string;
56
+ withCredentials?: boolean;
57
+ responseType?: string;
58
+ cancelToken?: any;
59
+ [key: string]: any;
60
+ };
61
+ }
62
+ /**
63
+ * Represents the props interface for the GridToolbarAIAssistant component.
64
+ * This component provides AI-powered functionality for grid operations through natural language prompts.
65
+ * Users can request sorting, filtering, grouping, and highlighting through conversational input.
66
+ *
67
+ * @example
68
+ * ```tsx
69
+ * <Grid data={products}>
70
+ * <GridToolbar>
71
+ * <GridToolbarAIAssistant
72
+ * requestUrl="/api/ai/grid"
73
+ * promptPlaceHolder="Ask AI to sort, filter, or group your data"
74
+ * suggestionsList={[
75
+ * 'Sort products by price',
76
+ * 'Show only electronics',
77
+ * 'Group by category'
78
+ * ]}
79
+ * onResponseSuccess={(response) => console.log('AI processed:', response)}
80
+ * />
81
+ * </GridToolbar>
82
+ * </Grid>
83
+ * ```
84
+ */
85
+ export interface GridToolbarAIAssistantProps {
86
+ /**
87
+ * Defines the URL to which the request will be sent.
88
+ *
89
+ * @example
90
+ * ```jsx
91
+ * <GridToolbarAIAssistant requestUrl="https://example.com/api/ai" />
92
+ * ```
93
+ */
94
+ requestUrl?: string;
95
+ /**
96
+ * Enables the speech-to-text functionality for the input of the GridToolbarAIAssistant.
97
+ *
98
+ * @example
99
+ * ```jsx
100
+ * <GridToolbarAIAssistant enableSpeechToText={true} />
101
+ * ```
102
+ */
103
+ enableSpeechToText?: boolean | SpeechToTextButtonProps;
104
+ /**
105
+ * Defines the placeholder text for the AI prompt input.
106
+ *
107
+ * @example
108
+ * ```jsx
109
+ * <GridToolbarAIAssistant promptPlaceHolder="Ask AI to filter, sort or group" />
110
+ * ```
111
+ */
112
+ promptPlaceHolder?: string;
113
+ /**
114
+ * Defines the list of suggestions for the AI prompt.
115
+ *
116
+ * @example
117
+ * ```jsx
118
+ * <GridToolbarAIAssistant suggestionsList={['Sort by Amount', 'Group by Account Type']} />
119
+ * ```
120
+ */
121
+ suggestionsList?: string[];
122
+ /**
123
+ * Defines if the AI prompt is in streaming mode.
124
+ *
125
+ * @example
126
+ * ```jsx
127
+ * <GridToolbarAIAssistant streaming={true} />
128
+ * ```
129
+ */
130
+ streaming?: boolean;
131
+ /**
132
+ * Defines if the AI prompt is in loading mode.
133
+ *
134
+ * @example
135
+ * ```jsx
136
+ * <GridToolbarAIAssistant loading={true} />
137
+ * ```
138
+ */
139
+ loading?: boolean;
140
+ /**
141
+ * Defines the outputs of the AI prompt.
142
+ *
143
+ * @example
144
+ * ```jsx
145
+ * <GridToolbarAIAssistant outputs={[{ id: 1, title: 'Output 1', responseContent: '...' }]} />
146
+ * ```
147
+ */
148
+ outputs?: AIPromptOutputInterface[];
149
+ /**
150
+ * Defines the options for the axios request.
151
+ *
152
+ * @example
153
+ * ```jsx
154
+ * <GridToolbarAIAssistant requestOptions={{ timeout: 5000 }} />
155
+ * ```
156
+ */
157
+ requestOptions?: AxiosRequestConfig;
158
+ /**
159
+ * Called before the request is sent.
160
+ *
161
+ * @example
162
+ * ```jsx
163
+ * <GridToolbarAIAssistant onPromptRequest={(request) => console.log(request)} />
164
+ * ```
165
+ */
166
+ onPromptRequest?: (request: GridToolbarAIAssistantRequestData, isRetry?: boolean) => void;
167
+ /**
168
+ * Called when the response is received.
169
+ *
170
+ * @example
171
+ * ```jsx
172
+ * <GridToolbarAIAssistant onResponseSuccess={(response) => console.log(response)} />
173
+ * ```
174
+ */
175
+ onResponseSuccess?: (response: AxiosResponse<any>, promptMessage?: string, isRetry?: boolean) => void;
176
+ /**
177
+ * Called when the response returns an error.
178
+ *
179
+ * @example
180
+ * ```jsx
181
+ * <GridToolbarAIAssistant onResponseError={(error) => console.error(error)} />
182
+ * ```
183
+ */
184
+ onResponseError?: (error: any) => void;
185
+ /**
186
+ * Defines the user role for the request. Defaults to 'user'.
187
+ *
188
+ * @example
189
+ * ```jsx
190
+ * <GridToolbarAIAssistant role="admin" />
191
+ * ```
192
+ */
193
+ role?: string;
194
+ /**
195
+ * Customizes the AI prompt component.
196
+ *
197
+ * @example
198
+ * ```jsx
199
+ * <GridToolbarAIAssistant gridAIPrompt={MyCustomPromptComponent} />
200
+ * ```
201
+ */
202
+ gridAIPrompt?: CustomComponent<GridAIPromptProps>;
203
+ /**
204
+ * Defines the icon rendered in the GridToolbarAIAssistant tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/icon)).
205
+ *
206
+ * @example
207
+ * ```jsx
208
+ * <GridToolbarAIAssistant icon="home" />
209
+ * ```
210
+ */
211
+ icon?: string;
212
+ /**
213
+ * Defines the SVG icon rendered in the GridToolbarAIAssistant tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/svgicon)).
214
+ *
215
+ * @example
216
+ * ```jsx
217
+ * import { gearIcon } from '@progress/kendo-svg-icons';
218
+ *
219
+ * <GridToolbarAIAssistant svgIcon={gearIcon} />
220
+ * ```
221
+ */
222
+ svgIcon?: SVGIcon;
223
+ /**
224
+ * Specifies if the popup will be displayed.
225
+ *
226
+ * @example
227
+ * ```jsx
228
+ * <GridToolbarAIAssistant show={true} />
229
+ * ```
230
+ */
231
+ show?: boolean;
232
+ /**
233
+ * The method that will be called to close the column menu.
234
+ *
235
+ * @example
236
+ * ```jsx
237
+ * <GridToolbarAIAssistant onCloseWindow={() => console.log('close menu');} />
238
+ * ```
239
+ */
240
+ onCloseWindow?: () => void;
241
+ }
242
+ /**
243
+ * Represents the GridToolbarAIAssistant component.
244
+ */
245
+ declare const GridToolbarAIAssistant: React.ForwardRefExoticComponent<GridToolbarAIAssistantProps & React.RefAttributes<GridToolbarAIAssistantHandle>>;
246
+ export { GridToolbarAIAssistant };
@@ -0,0 +1,89 @@
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 { SVGIcon } from '@progress/kendo-react-common';
9
+ import * as React from 'react';
10
+ export interface GridToolbarCheckboxFilterProps {
11
+ /**
12
+ * Sets the items collection that will be rendered by the GridToolbarCheckboxFilter component.
13
+ */
14
+ data: Array<string | object>;
15
+ /**
16
+ * Defines the icon rendered in the GridToolbarCheckboxFilter tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/icon)).
17
+ *
18
+ * @example
19
+ * ```jsx
20
+ * <GridToolbarCheckboxFilter icon="home" />
21
+ * ```
22
+ */
23
+ icon?: string;
24
+ /**
25
+ * Defines the SVG icon rendered in the GridToolbarCheckboxFilter tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/svgicon)).
26
+ *
27
+ * @example
28
+ * ```jsx
29
+ * import { gearIcon } from '@progress/kendo-svg-icons';
30
+ *
31
+ * <GridToolbarCheckboxFilter svgIcon={gearIcon} />
32
+ * ```
33
+ */
34
+ svgIcon?: SVGIcon;
35
+ /**
36
+ * Defines the component that will be rendered as a search box.
37
+ *
38
+ */
39
+ searchBox?: React.ComponentType<any>;
40
+ /**
41
+ * Defines the filter operator that will be used to filter the values via the search box.
42
+ * "startswith"
43
+ * "endswith"
44
+ * "contains"
45
+ * "doesnotcontain"
46
+ * "isempty"
47
+ * "isnotempty"
48
+ * "eq" (equal to)
49
+ * "eq" (equal to)
50
+ * "neq" (not equal to)
51
+ * "isnull" (is equal to null)
52
+ * "isnotnull" (is not equal to null)
53
+ */
54
+ searchBoxFilterOperator?: string | Function;
55
+ /**
56
+ * Determines if the data in the component will be unique. By default the property is set to true.
57
+ *
58
+ * @example
59
+ * ```jsx
60
+ * <GridToolbarCheckboxFilter uniqueData={true} />
61
+ * ```
62
+ */
63
+ uniqueData?: boolean;
64
+ /**
65
+ * Specifies if the popup will be displayed.
66
+ *
67
+ * @example
68
+ * ```jsx
69
+ * <GridToolbarCheckboxFilter show={true} />
70
+ * ```
71
+ */
72
+ show?: boolean;
73
+ /**
74
+ * The method that will be called to close the column menu.
75
+ *
76
+ * @example
77
+ * ```jsx
78
+ * <GridToolbarCheckboxFilter onCloseMenu={() => console.log('close menu');} />
79
+ * ```
80
+ */
81
+ onCloseMenu?: Function;
82
+ }
83
+ /**
84
+ * Represents the GridToolbarCheckboxFilter component.
85
+ */
86
+ export declare const GridToolbarCheckboxFilter: {
87
+ (props: GridToolbarCheckboxFilterProps): React.JSX.Element;
88
+ displayName: string;
89
+ };
@@ -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 qe=require("react"),ye=require("react-dom"),E=require("@progress/kendo-react-common"),De=require("../columnMenu/GridColumnMenuItem.js"),we=require("../columnMenu/GridColumnMenuItemContent.js"),Ne=require("../columnMenu/GridColumnMenuItemGroup.js"),Ae=require("../utils/GridContext.js"),F=require("@progress/kendo-svg-icons"),ce=require("@progress/kendo-data-query"),B=require("@progress/kendo-react-buttons"),V=require("@progress/kendo-react-inputs"),o=require("../messages/index.js"),Ge=require("@progress/kendo-react-intl"),se=require("../utils/index.js"),Oe=require("../columnMenu/GridColumnMenuCheckboxFilter.js"),Te=require("./adaptiveContent/GridAdaptiveToolbarCheckboxFilter.js"),Pe=require("@progress/kendo-react-popup"),ue=require("@progress/kendo-react-indicators"),Le=require("./adaptiveContext/GridToolbarAdaptiveContext.js");function Ve(l){const m=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const k in l)if(k!=="default"){const v=Object.getOwnPropertyDescriptor(l,k);Object.defineProperty(m,k,v.get?v:{enumerable:!0,get:()=>l[k]})}}return m.default=l,Object.freeze(m)}const n=Ve(qe),je={uniqueData:!0},de=l=>{var oe,ie;const{uniqueData:m=je.uniqueData,svgIcon:k,icon:v}=l,c=n.useContext(Ae.GridContext),C=c.columnsRef,M=c.defaultFilter,[D,I]=n.useState(!1),x=n.useRef(null),w=n.useRef(null),j=n.useRef(null),N=n.useRef(0),g=Ge.useLocalization(),i=n.useRef(null),fe=E.useDocument(x),A=()=>M?E.clone(M):{filters:[],logic:"and"},me=()=>{var r;const e=(r=i==null?void 0:i.current)==null?void 0:r.field;return A().filters.findIndex(u=>u.filters&&u.filters.length>0&&u.filters[0].field===e)},b=(e,t)=>{var u;const a=((u=i==null?void 0:i.current)==null?void 0:u.field)||"",r=e.map(d=>se.getNestedValue(a,d));return t?r.filter((d,y)=>r.indexOf(d)===y):r},s=n.useRef(me()),[ge,S]=n.useState(!1),[h,z]=n.useState((C==null?void 0:C.map(e=>({column:e,expanded:!1})))||[]),[K,_]=n.useState(""),[q,p]=n.useState(b(l.data,m)||[]),[R,$]=n.useState(b(l.data,!1)||[]),[f,H]=n.useState(A()),[he,Q]=n.useState(!1),ke=g.toLanguageString(o.filterClearButton,o.messages[o.filterClearButton]),W=n.useMemo(()=>(C==null?void 0:C.filter(e=>{var t;return(t=e.title||e.field)==null?void 0:t.toLowerCase()}))||[],[C]);n.useEffect(()=>{M&&S(!0)},[M]),n.useEffect(()=>{var a;const e=((a=i==null?void 0:i.current)==null?void 0:a.field)||"",t=l.data.map(r=>se.getNestedValue(e,r));Oe.isArrayEqual(t,R)||(p(t),$(t))},[R,l.data]),n.useEffect(()=>{h.find(e=>e.expanded)&&p(b(l.data,m)||[])},[h,l.data,m]);const J=n.useCallback(e=>{const t=f.filters.some(a=>a.field===e.field);return n.createElement(n.Fragment,null,e.title||e.field,t&&n.createElement("span",{className:"k-columnmenu-indicators"},n.createElement(E.SvgIcon,{key:1,icon:F.filterIcon})))},[f]),U=n.useCallback((e,t)=>{z(a=>(i.current=t,a.map(r=>r.column.field===t.field?{...r,expanded:!r.expanded}:{...r,expanded:!1}))),p(b(l.data,m)||[]),$(b(l.data,m)||[]),Q(!he)},[]),X=e=>{var r;const t=l.searchBoxFilterOperator?l.searchBoxFilterOperator:"startswith",a={logic:"and",filters:[{field:(r=i==null?void 0:i.current)==null?void 0:r.field,operator:t,value:e.target.value,ignoreCase:!0}]};_(e.target.value),p(b(ce.filterBy(l.data||[],a),m))},Ce=()=>{var a;const e=l.searchBoxFilterOperator?l.searchBoxFilterOperator:"startswith",t={logic:"and",filters:[{field:(a=i==null?void 0:i.current)==null?void 0:a.field,operator:e,value:"",ignoreCase:!0}]};_(""),p(b(ce.filterBy(l.data||[],t),m))},Y=()=>{let e=!1;if(f){const t=[...f.filters];return s.current===-1?!1:(e=q.every(a=>s.current!==-1&&t[s.current].filters?t[s.current].filters.findIndex(u=>u.value===a)>=0:!1),e)}return e},G=(e,t)=>{var y;const a=((y=i==null?void 0:i.current)==null?void 0:y.field)||"",r={...f},u=[...f.filters];let d=[];if(s.current!==-1&&r.filters[s.current].filters&&t!=="all"&&(d=r.filters[s.current].filters),e.value&&t==="all")q.forEach(L=>{d.push({field:a,operator:"eq",value:L})});else if(e.value)d.push({field:a,operator:"eq",value:t});else if(f){const L=d.findIndex(Se=>Se.value===t);d.splice(L,1)}r.logic="and",s.current!==-1?u[s.current]={logic:"or",filters:d}:u.push({logic:"or",filters:d}),(!e.value&&t==="all"||d.length===0)&&u.splice(s.current,1),r.filters=u,H(r)},O=[];if(f){const e=[...f.filters];s.current=e.findIndex(t=>{var a;return t.filters&&t.filters.length>0?t.filters[0].field===((a=i==null?void 0:i.current)==null?void 0:a.field):!1}),s.current!==-1&&e[s.current].filters.length>0&&e[s.current].filters.forEach(t=>{var a;t.field===((a=i==null?void 0:i.current)==null?void 0:a.field)&&O.push(t.value)})}const T=O.filter((e,t)=>O.indexOf(e)===t),Z=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;t!==null&&t.filters.length>0?(s.current>=0&&t.filters.splice(s.current,1),c.filterChange(t,e)):c.filterChange(null,e),l.onCloseMenu&&l.onCloseMenu(),S(!1)},ee=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;c.filterChange(t,e),l.onCloseMenu&&l.onCloseMenu(),S(!0),I(!1)},te=l.searchBox?n.createElement(l.searchBox,{value:K,onChange:X}):n.createElement("div",{className:`k-searchbox k-textbox k-input k-input-solid ${c!=null&&c.mobileMode?"k-input-lg":"k-input-md"}`},n.createElement(E.IconWrap,{className:"k-input-icon",name:"search",icon:F.searchIcon}),n.createElement(V.Input,{className:"k-input-inner",type:"text",placeholder:g.toLanguageString(o.searchPlaceholder,o.messages[o.searchPlaceholder]),value:K,onChange:e=>X(e.nativeEvent)}),n.createElement(B.Button,{type:"button",rounded:null,className:"k-input-button",onClick:Ce,icon:"x","aria-label":ke,svgIcon:F.xIcon})),be=()=>{Q(!1)},Ee=e=>{e.preventDefault(),I(!D)},xe=e=>{!e.isAnchorClicked&&I(!1)},P=n.useMemo(()=>l.show!==void 0?l.show:D,[l.show,D]),ve=e=>{const t=E.getActiveElement(document);clearTimeout(N.current),N.current=window.setTimeout(()=>{!c.mobileMode&&t&&e.relatedTarget!==x.current&&w.current&&!w.current.contains(t)&&ne()})},ne=()=>{var e;l.onCloseMenu&&l.onCloseMenu(),I(!1),x.current&&((e=x.current.element)==null||e.focus())},pe=()=>{clearTimeout(N.current)},{onFocus:Fe,onBlur:Be}=E.useAsyncFocusBlur({onFocus:e=>pe(),onBlur:e=>ve(e)}),Me=e=>{var t;(t=j.current)==null||t.triggerMouseEvent(e)},Ie=e=>{var t;(t=j.current)==null||t.triggerKeyboardEvent(e)},re=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;t!==null&&t.filters.length>0?(t.filters=[],c.filterChange(t,e)):c.filterChange(null,e),H(A()),S(!1),z(a=>a.map(r=>({...r,expanded:!1})))},le=n.createElement(B.Button,{ref:x,togglable:!0,selected:P,svgIcon:k||(v?void 0:F.filterIcon),icon:v,size:c.mobileMode?"large":"medium",className:E.classNames("k-toolbar-button",{"k-icon-button":c.mobileMode}),title:g.toLanguageString(o.toolbarCheckboxFilter,o.messages[o.toolbarCheckboxFilter]),onClick:Ee},!c.mobileMode&&g.toLanguageString(o.toolbarCheckboxFilter,o.messages[o.toolbarCheckboxFilter])),ae=n.createElement(n.Fragment,null,W.map(e=>{var t,a;return e.filterable&&n.createElement(Ne.GridColumnMenuItemGroup,{key:e.id},n.createElement("div",{className:"k-expander"},n.createElement(De.GridColumnMenuItem,{title:J(e),expandable:!0,expanded:!!((t=h==null?void 0:h.find(r=>r.column.field===e.field))!=null&&t.expanded),onClick:r=>U(r,e)})),n.createElement(we.GridColumnMenuItemContent,{show:!!((a=h==null?void 0:h.find(r=>r.column.field===e.field))!=null&&a.expanded)},n.createElement("form",{className:"k-filter-menu",onSubmit:ee,onReset:Z},n.createElement("div",{className:"k-filter-menu-container"},te,n.createElement("ul",{className:"k-multicheck-wrap"},n.createElement("li",{className:"k-item k-check-all-wrap"},n.createElement(V.Checkbox,{label:g.toLanguageString(o.filterCheckAll,o.messages[o.filterCheckAll]),onChange:r=>G(r,"all"),checked:Y()})),q.map((r,u)=>n.createElement("li",{className:"k-item",key:u},n.createElement(V.Checkbox,{label:String(r),onChange:d=>G(d,r),checked:T.includes(r)})))),n.createElement("div",{className:"k-filter-selected-items"},T.length+" "+g.toLanguageString(o.filterSelectedItems,o.messages[o.filterSelectedItems])),n.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},n.createElement(B.Button,{themeColor:"primary",type:"submit"},g.toLanguageString(o.filterSubmitButton,o.messages[o.filterSubmitButton])),n.createElement(B.Button,{className:"k-button",type:"reset"},g.toLanguageString(o.filterClearButton,o.messages[o.filterClearButton])))))))}),n.createElement("div",{className:"k-actions k-actions-stretched k-actions-horizontal k-column-menu-footer"},n.createElement(B.Button,{svgIcon:F.filterClearIcon,onClick:re},g.toLanguageString(o.filterClearAllButton,o.messages[o.filterClearAllButton]))));return n.createElement(n.Fragment,null,ge?n.createElement(ue.BadgeContainer,null,le,n.createElement(ue.Badge,{themeColor:"primary"})):le,c.mobileMode?n.createElement(Le.GridToolbarAdaptiveProvider,null,ye.createPortal(n.createElement(Te.GridAdaptiveToolbarCheckboxFilter,{filtered:W,computedShow:P,expandState:h,currentData:q,uniqueFilterValues:T,searchBox:te,renderTitle:J,onBackView:be,isAllSelected:Y,handleCheckBoxChange:G,clear:Z,submit:ee,onClose:ne,onFilterExpand:U,handleClearAllFilters:re},ae),(oe=fe())==null?void 0:oe.body)):n.createElement(Pe.Popup,{anchor:(ie=x.current)==null?void 0:ie.element,show:P,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:xe},n.createElement("div",{ref:w,onBlur:Be,onFocus:Fe,onMouseDown:Me,onKeyDown:Ie,className:"k-column-menu k-column-menu-md"},ae)))};de.displayName="KendoReactGridToolbarCheckboxFilter";exports.GridToolbarCheckboxFilter=de;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const qe=require("react"),ye=require("react-dom"),E=require("@progress/kendo-react-common"),De=require("../columnMenu/GridColumnMenuItem.js"),we=require("../columnMenu/GridColumnMenuItemContent.js"),Ne=require("../columnMenu/GridColumnMenuItemGroup.js"),Ae=require("../utils/GridContext.js"),F=require("@progress/kendo-svg-icons"),ce=require("@progress/kendo-data-query"),B=require("@progress/kendo-react-buttons"),V=require("@progress/kendo-react-inputs"),o=require("../messages/index.js"),Ge=require("@progress/kendo-react-intl"),se=require("../utils/index.js"),Oe=require("../columnMenu/GridColumnMenuCheckboxFilter.js"),Te=require("./adaptiveContent/GridAdaptiveToolbarCheckboxFilter.js"),Pe=require("@progress/kendo-react-popup"),ue=require("@progress/kendo-react-indicators"),Le=require("./adaptiveContext/GridToolbarAdaptiveContext.js");function Ve(l){const m=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const k in l)if(k!=="default"){const v=Object.getOwnPropertyDescriptor(l,k);Object.defineProperty(m,k,v.get?v:{enumerable:!0,get:()=>l[k]})}}return m.default=l,Object.freeze(m)}const n=Ve(qe),je={uniqueData:!0},de=l=>{var oe,ie;const{uniqueData:m=je.uniqueData,svgIcon:k,icon:v}=l,c=n.useContext(Ae.GridContext),C=c.columnsRef,M=c.defaultFilter,[D,I]=n.useState(!1),x=n.useRef(null),w=n.useRef(null),j=n.useRef(null),N=n.useRef(0),g=Ge.useLocalization(),i=n.useRef(null),fe=E.useDocument(x),A=()=>M?E.clone(M):{filters:[],logic:"and"},me=()=>{var r;const e=(r=i==null?void 0:i.current)==null?void 0:r.field;return A().filters.findIndex(u=>u.filters&&u.filters.length>0&&u.filters[0].field===e)},b=(e,t)=>{var u;const a=((u=i==null?void 0:i.current)==null?void 0:u.field)||"",r=e.map(d=>se.getNestedValue(a,d));return t?r.filter((d,y)=>r.indexOf(d)===y):r},s=n.useRef(me()),[ge,S]=n.useState(!1),[h,z]=n.useState((C==null?void 0:C.map(e=>({column:e,expanded:!1})))||[]),[K,_]=n.useState(""),[q,p]=n.useState(b(l.data,m)||[]),[R,$]=n.useState(b(l.data,!1)||[]),[f,H]=n.useState(A()),[he,Q]=n.useState(!1),ke=g.toLanguageString(o.filterClearButton,o.messages[o.filterClearButton]),W=n.useMemo(()=>(C==null?void 0:C.filter(e=>{var t;return(t=e.title||e.field)==null?void 0:t.toLowerCase()}))||[],[C]);n.useEffect(()=>{M&&S(!0)},[M]),n.useEffect(()=>{var a;const e=((a=i==null?void 0:i.current)==null?void 0:a.field)||"",t=l.data.map(r=>se.getNestedValue(e,r));Oe.isArrayEqual(t,R)||(p(t),$(t))},[R,l.data]),n.useEffect(()=>{h.find(e=>e.expanded)&&p(b(l.data,m)||[])},[h,l.data,m]);const J=n.useCallback(e=>{const t=f.filters.some(a=>a.field===e.field);return n.createElement(n.Fragment,null,e.title||e.field,t&&n.createElement("span",{className:"k-columnmenu-indicators"},n.createElement(E.SvgIcon,{key:1,icon:F.filterIcon})))},[f]),U=n.useCallback((e,t)=>{z(a=>(i.current=t,a.map(r=>r.column.field===t.field?{...r,expanded:!r.expanded}:{...r,expanded:!1}))),p(b(l.data,m)||[]),$(b(l.data,m)||[]),Q(!he)},[]),X=e=>{var r;const t=l.searchBoxFilterOperator?l.searchBoxFilterOperator:"startswith",a={logic:"and",filters:[{field:(r=i==null?void 0:i.current)==null?void 0:r.field,operator:t,value:e.target.value,ignoreCase:!0}]};_(e.target.value),p(b(ce.filterBy(l.data||[],a),m))},Ce=()=>{var a;const e=l.searchBoxFilterOperator?l.searchBoxFilterOperator:"startswith",t={logic:"and",filters:[{field:(a=i==null?void 0:i.current)==null?void 0:a.field,operator:e,value:"",ignoreCase:!0}]};_(""),p(b(ce.filterBy(l.data||[],t),m))},Y=()=>{let e=!1;if(f){const t=[...f.filters];return s.current===-1?!1:(e=q.every(a=>s.current!==-1&&t[s.current].filters?t[s.current].filters.findIndex(u=>u.value===a)>=0:!1),e)}return e},G=(e,t)=>{var y;const a=((y=i==null?void 0:i.current)==null?void 0:y.field)||"",r={...f},u=[...f.filters];let d=[];if(s.current!==-1&&r.filters[s.current].filters&&t!=="all"&&(d=r.filters[s.current].filters),e.value&&t==="all")q.forEach(L=>{d.push({field:a,operator:"eq",value:L})});else if(e.value)d.push({field:a,operator:"eq",value:t});else if(f){const L=d.findIndex(Se=>Se.value===t);d.splice(L,1)}r.logic="and",s.current!==-1?u[s.current]={logic:"or",filters:d}:u.push({logic:"or",filters:d}),(!e.value&&t==="all"||d.length===0)&&u.splice(s.current,1),r.filters=u,H(r)},O=[];if(f){const e=[...f.filters];s.current=e.findIndex(t=>{var a;return t.filters&&t.filters.length>0?t.filters[0].field===((a=i==null?void 0:i.current)==null?void 0:a.field):!1}),s.current!==-1&&e[s.current].filters.length>0&&e[s.current].filters.forEach(t=>{var a;t.field===((a=i==null?void 0:i.current)==null?void 0:a.field)&&O.push(t.value)})}const T=O.filter((e,t)=>O.indexOf(e)===t),Z=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;t!==null&&t.filters.length>0?(s.current>=0&&t.filters.splice(s.current,1),c.filterChange(t,e)):c.filterChange(null,e),l.onCloseMenu&&l.onCloseMenu(),S(!1)},ee=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;c.filterChange(t,e),l.onCloseMenu&&l.onCloseMenu(),S(!0),I(!1)},te=l.searchBox?n.createElement(l.searchBox,{value:K,onChange:X}):n.createElement("div",{className:`k-searchbox k-textbox k-input k-input-solid ${c!=null&&c.mobileMode?"k-input-lg":"k-input-md"}`},n.createElement(E.IconWrap,{className:"k-input-icon",name:"search",icon:F.searchIcon}),n.createElement(V.Input,{className:"k-input-inner",type:"text",placeholder:g.toLanguageString(o.searchPlaceholder,o.messages[o.searchPlaceholder]),value:K,onChange:e=>X(e.nativeEvent)}),n.createElement(B.Button,{type:"button",className:"k-input-button",onClick:Ce,icon:"x","aria-label":ke,svgIcon:F.xIcon})),be=()=>{Q(!1)},Ee=e=>{e.preventDefault(),I(!D)},xe=e=>{!e.isAnchorClicked&&I(!1)},P=n.useMemo(()=>l.show!==void 0?l.show:D,[l.show,D]),ve=e=>{const t=E.getActiveElement(document);clearTimeout(N.current),N.current=window.setTimeout(()=>{!c.mobileMode&&t&&e.relatedTarget!==x.current&&w.current&&!w.current.contains(t)&&ne()})},ne=()=>{var e;l.onCloseMenu&&l.onCloseMenu(),I(!1),x.current&&((e=x.current.element)==null||e.focus())},pe=()=>{clearTimeout(N.current)},{onFocus:Fe,onBlur:Be}=E.useAsyncFocusBlur({onFocus:e=>pe(),onBlur:e=>ve(e)}),Me=e=>{var t;(t=j.current)==null||t.triggerMouseEvent(e)},Ie=e=>{var t;(t=j.current)==null||t.triggerKeyboardEvent(e)},re=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;t!==null&&t.filters.length>0?(t.filters=[],c.filterChange(t,e)):c.filterChange(null,e),H(A()),S(!1),z(a=>a.map(r=>({...r,expanded:!1})))},le=n.createElement(B.Button,{ref:x,togglable:!0,selected:P,svgIcon:k||(v?void 0:F.filterIcon),icon:v,size:c.mobileMode?"large":"medium",className:E.classNames("k-toolbar-button",{"k-icon-button":c.mobileMode}),title:g.toLanguageString(o.toolbarCheckboxFilter,o.messages[o.toolbarCheckboxFilter]),onClick:Ee},!c.mobileMode&&g.toLanguageString(o.toolbarCheckboxFilter,o.messages[o.toolbarCheckboxFilter])),ae=n.createElement(n.Fragment,null,W.map(e=>{var t,a;return e.filterable&&n.createElement(Ne.GridColumnMenuItemGroup,{key:e.id},n.createElement("div",{className:"k-expander"},n.createElement(De.GridColumnMenuItem,{title:J(e),expandable:!0,expanded:!!((t=h==null?void 0:h.find(r=>r.column.field===e.field))!=null&&t.expanded),onClick:r=>U(r,e)})),n.createElement(we.GridColumnMenuItemContent,{show:!!((a=h==null?void 0:h.find(r=>r.column.field===e.field))!=null&&a.expanded)},n.createElement("form",{className:"k-filter-menu",onSubmit:ee,onReset:Z},n.createElement("div",{className:"k-filter-menu-container"},te,n.createElement("ul",{className:"k-multicheck-wrap"},n.createElement("li",{className:"k-item k-check-all-wrap"},n.createElement(V.Checkbox,{label:g.toLanguageString(o.filterCheckAll,o.messages[o.filterCheckAll]),onChange:r=>G(r,"all"),checked:Y()})),q.map((r,u)=>n.createElement("li",{className:"k-item",key:u},n.createElement(V.Checkbox,{label:String(r),onChange:d=>G(d,r),checked:T.includes(r)})))),n.createElement("div",{className:"k-filter-selected-items"},T.length+" "+g.toLanguageString(o.filterSelectedItems,o.messages[o.filterSelectedItems])),n.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},n.createElement(B.Button,{themeColor:"primary",type:"submit"},g.toLanguageString(o.filterSubmitButton,o.messages[o.filterSubmitButton])),n.createElement(B.Button,{className:"k-button",type:"reset"},g.toLanguageString(o.filterClearButton,o.messages[o.filterClearButton])))))))}),n.createElement("div",{className:"k-actions k-actions-stretched k-actions-horizontal k-column-menu-footer"},n.createElement(B.Button,{svgIcon:F.filterClearIcon,onClick:re},g.toLanguageString(o.filterClearAllButton,o.messages[o.filterClearAllButton]))));return n.createElement(n.Fragment,null,ge?n.createElement(ue.BadgeContainer,null,le,n.createElement(ue.Badge,{themeColor:"primary"})):le,c.mobileMode?n.createElement(Le.GridToolbarAdaptiveProvider,null,ye.createPortal(n.createElement(Te.GridAdaptiveToolbarCheckboxFilter,{filtered:W,computedShow:P,expandState:h,currentData:q,uniqueFilterValues:T,searchBox:te,renderTitle:J,onBackView:be,isAllSelected:Y,handleCheckBoxChange:G,clear:Z,submit:ee,onClose:ne,onFilterExpand:U,handleClearAllFilters:re},ae),(oe=fe())==null?void 0:oe.body)):n.createElement(Pe.Popup,{anchor:(ie=x.current)==null?void 0:ie.element,show:P,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:xe},n.createElement("div",{ref:w,onBlur:Be,onFocus:Fe,onMouseDown:Me,onKeyDown:Ie,className:"k-column-menu k-column-menu-md"},ae)))};de.displayName="KendoReactGridToolbarCheckboxFilter";exports.GridToolbarCheckboxFilter=de;
@@ -158,7 +158,6 @@ const tt = {
158
158
  b,
159
159
  {
160
160
  type: "button",
161
- rounded: null,
162
161
  className: "k-input-button",
163
162
  onClick: ve,
164
163
  icon: "x",
@@ -0,0 +1,55 @@
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 { SVGIcon } from '@progress/kendo-react-common';
9
+ import * as React from 'react';
10
+ export interface GridToolbarColumnsChooserProps {
11
+ /**
12
+ * Defines the icon rendered in the GridToolbarSort tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/icon)).
13
+ *
14
+ * @example
15
+ * ```jsx
16
+ * <GridToolbarSort icon="home" />
17
+ * ```
18
+ */
19
+ icon?: string;
20
+ /**
21
+ * Defines the SVG icon rendered in the GridToolbarSort tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/svgicon)).
22
+ *
23
+ * @example
24
+ * ```jsx
25
+ * import { gearIcon } from '@progress/kendo-svg-icons';
26
+ *
27
+ * <GridToolbarSort svgIcon={gearIcon} />
28
+ * ```
29
+ */
30
+ svgIcon?: SVGIcon;
31
+ /**
32
+ * Specifies if the popup will be displayed.
33
+ *
34
+ * @example
35
+ * ```jsx
36
+ * <GridToolbarColumnsChooser show={true} />
37
+ * ```
38
+ */
39
+ show?: boolean;
40
+ /**
41
+ * The method that will be called to close the column menu.
42
+ *
43
+ * @example
44
+ * ```jsx
45
+ * <GridToolbarColumnsChooser onCloseMenu={() => console.log('close menu');} />
46
+ */
47
+ onCloseMenu?: Function;
48
+ }
49
+ /**
50
+ * Represents the GridToolbarColumnsChooser component.
51
+ */
52
+ export declare const GridToolbarColumnsChooser: {
53
+ (props: GridToolbarColumnsChooserProps): React.JSX.Element;
54
+ displayName: string;
55
+ };
@@ -0,0 +1,72 @@
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 { SVGIcon } from '@progress/kendo-react-common';
9
+ import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
10
+ import { GridColumnMenuFilterUIProps } from '../interfaces/GridColumnMenuFilterUIProps.js';
11
+ import { ComponentType } from 'react';
12
+ import * as React from 'react';
13
+ export interface GridToolbarFilterProps {
14
+ /**
15
+ * Defines the icon rendered in the GridToolbarFilter tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/icon)).
16
+ *
17
+ * @example
18
+ * ```jsx
19
+ * <GridToolbarFilter icon="home" />
20
+ * ```
21
+ */
22
+ icon?: string;
23
+ /**
24
+ * Defines the SVG icon rendered in the GridToolbarFilter tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/svgicon)).
25
+ *
26
+ * @example
27
+ * ```jsx
28
+ * import { gearIcon } from '@progress/kendo-svg-icons';
29
+ *
30
+ * <GridToolbarFilter svgIcon={gearIcon} />
31
+ * ```
32
+ */
33
+ svgIcon?: SVGIcon;
34
+ /**
35
+ * If set to `false`, the second filter operator and the input will be hidden.
36
+ */
37
+ hideSecondFilter?: boolean;
38
+ /**
39
+ * Specifies a React element that will be cloned and rendered inside the UI of the column-menu filter component
40
+ * ([see example](https://www.telerik.com/kendo-react-ui/components/grid/columns/column-menu#toc-customizing-the-filter-component)).
41
+ */
42
+ filterUI?: ComponentType<GridColumnMenuFilterUIProps>;
43
+ /**
44
+ * Specifies if the popup will be displayed.
45
+ *
46
+ * @example
47
+ * ```jsx
48
+ * <GridToolbarFilter show={true} />
49
+ * ```
50
+ */
51
+ show?: boolean;
52
+ /**
53
+ * The method that will be called to close the column menu.
54
+ *
55
+ * @example
56
+ * ```jsx
57
+ * <GridToolbarFilter onCloseMenu={() => console.log('close menu');} />
58
+ * ```
59
+ */
60
+ onCloseMenu?: Function;
61
+ /**
62
+ * The method that will be called to notify the parent Grid about a filter change.
63
+ */
64
+ onFilterChange?: (filter: CompositeFilterDescriptor | null, syntheticEvent: React.SyntheticEvent<any>) => any;
65
+ }
66
+ /**
67
+ * Represents the GridToolbarFilter component.
68
+ */
69
+ export declare const GridToolbarFilter: {
70
+ (props: GridToolbarFilterProps): React.JSX.Element;
71
+ displayName: string;
72
+ };
@@ -13,7 +13,7 @@ import { GridColumnMenuItemContent as je } from "../columnMenu/GridColumnMenuIte
13
13
  import { GridColumnMenuItemGroup as qe } from "../columnMenu/GridColumnMenuItemGroup.mjs";
14
14
  import { GridContext as Je } from "../utils/GridContext.mjs";
15
15
  import { filterIcon as me, filterClearIcon as Qe } from "@progress/kendo-svg-icons";
16
- import { getFilterType as de, operatorMap as V, defaultHideSecondFilter as We, IsUnaryFilter as b, getDefaultOperator as Xe, booleanFilterValues as Ye, filterLogicList as Ze } from "../filterCommon.mjs";
16
+ import { getFilterType as de, operatorMap as V, booleanFilterValues as We, filterLogicList as Xe, defaultHideSecondFilter as Ye, IsUnaryFilter as b, getDefaultOperator as Ze } from "../filterCommon.mjs";
17
17
  import { Button as k } from "@progress/kendo-react-buttons";
18
18
  import { GridColumnMenuFilterUI as $e } from "../columnMenu/GridColumnMenuFilterUI.mjs";
19
19
  import { toolbarFilter as M, messages as F, filterSubmitButton as ge, filterClearButton as pe, filterClearAllButton as he } from "../messages/index.mjs";
@@ -49,7 +49,7 @@ const nt = (c) => {
49
49
  var o, i, l, s, ce, ue;
50
50
  let e;
51
51
  if (r != null && r.current && ((o = r == null ? void 0 : r.current) != null && o.field)) {
52
- const Ge = de((i = r == null ? void 0 : r.current) == null ? void 0 : i.filter), v = Xe(n.filterOperators, Ge);
52
+ const Ge = de((i = r == null ? void 0 : r.current) == null ? void 0 : i.filter), v = Ze(n.filterOperators, Ge);
53
53
  e = Re((l = r == null ? void 0 : r.current) == null ? void 0 : l.field, n.filter), e = e ? {
54
54
  ...e,
55
55
  filters: e.filters.map((O) => ({ ...O }))
@@ -90,7 +90,7 @@ const nt = (c) => {
90
90
  ...u,
91
91
  filters: i
92
92
  });
93
- }, [u, B] = t.useState(q()), a = u == null ? void 0 : u.filters, C = de((re = r == null ? void 0 : r.current) == null ? void 0 : re.filter), A = V(n.filterOperators[C], f), Q = V(Ye, f), ke = {
93
+ }, [u, B] = t.useState(q()), a = u == null ? void 0 : u.filters, C = de((re = r == null ? void 0 : r.current) == null ? void 0 : re.filter), A = V(n.filterOperators[C], f), Q = V(We, f), ke = {
94
94
  field: (oe = r == null ? void 0 : r.current) == null ? void 0 : oe.field,
95
95
  value: a == null ? void 0 : a[0].value,
96
96
  operator: a == null ? void 0 : a[0].operator,
@@ -109,11 +109,11 @@ const nt = (c) => {
109
109
  }, we = (e) => {
110
110
  let o = e.target.value;
111
111
  e.target.tagName === "SPAN" && (o = e.target.parentElement.value), B({ ...u, logic: o });
112
- }, W = u == null ? void 0 : u.logic, X = V(Ze, f), T = {
112
+ }, W = u == null ? void 0 : u.logic, X = V(Xe, f), T = {
113
113
  value: X.find((e) => e.operator === (W === null ? "" : W)),
114
114
  onChange: we,
115
115
  data: X
116
- }, Se = c.hideSecondFilter !== void 0 ? c.hideSecondFilter : We[C], N = c.filterUI, L = {
116
+ }, Se = c.hideSecondFilter !== void 0 ? c.hideSecondFilter : Ye[C], N = c.filterUI, L = {
117
117
  firstFilterProps: ke,
118
118
  secondFilterProps: Me,
119
119
  logicData: T.data,
@@ -0,0 +1,55 @@
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 { SVGIcon } from '@progress/kendo-svg-icons';
9
+ export interface GridToolbarGroupProps {
10
+ /**
11
+ * Defines the icon rendered in the GridToolbarGroup tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/icon)).
12
+ *
13
+ * @example
14
+ * ```jsx
15
+ * <GridToolbarGroup icon="home" />
16
+ * ```
17
+ */
18
+ icon?: string;
19
+ /**
20
+ * Defines the SVG icon rendered in the GridToolbarGroup tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/svgicon)).
21
+ *
22
+ * @example
23
+ * ```jsx
24
+ * import { gearIcon } from '@progress/kendo-svg-icons';
25
+ *
26
+ * <GridToolbarGroup svgIcon={gearIcon} />
27
+ * ```
28
+ */
29
+ svgIcon?: SVGIcon;
30
+ /**
31
+ * Specifies if the popup will be displayed.
32
+ *
33
+ * @example
34
+ * ```jsx
35
+ * <GridToolbarGroup show={true} />
36
+ * ```
37
+ */
38
+ show?: boolean;
39
+ /**
40
+ * The method that will be called to close the column menu.
41
+ *
42
+ * @example
43
+ * ```jsx
44
+ * <GridToolbarGroup onCloseMenu={() => console.log('close menu');} />
45
+ * ```
46
+ */
47
+ onCloseMenu?: Function;
48
+ }
49
+ /**
50
+ * Represents the GridToolbarGroup component.
51
+ */
52
+ export declare const GridToolbarGroup: {
53
+ (props: GridToolbarGroupProps): any;
54
+ displayName: string;
55
+ };
@@ -0,0 +1,21 @@
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 { ToolbarSeparatorProps } from '@progress/kendo-react-buttons';
9
+ import * as React from 'react';
10
+ /**
11
+ * Represents the props of KendoReact GridToolbarSeparator component.
12
+ */
13
+ export interface GridToolbarSeparatorProps extends ToolbarSeparatorProps {
14
+ }
15
+ /**
16
+ * Represents the GridToolbarSeparator component.
17
+ */
18
+ export declare const GridToolbarSeparator: {
19
+ (props: GridToolbarSeparatorProps): React.JSX.Element;
20
+ displayName: string;
21
+ };