@progress/kendo-react-dropdowns 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.
- package/AutoComplete/AutoComplete.d.ts +274 -0
- package/AutoComplete/AutoComplete.js +1 -1
- package/AutoComplete/AutoComplete.mjs +67 -69
- package/AutoComplete/AutoCompleteProps.d.ts +509 -0
- package/ComboBox/ComboBox.d.ts +279 -0
- package/ComboBox/ComboBox.js +1 -1
- package/ComboBox/ComboBox.mjs +281 -297
- package/ComboBox/ComboBoxProps.d.ts +632 -0
- package/DropDownList/DropDownList.d.ts +41 -0
- package/DropDownList/DropDownList.js +1 -1
- package/DropDownList/DropDownList.mjs +78 -83
- package/DropDownList/DropDownListProps.d.ts +594 -0
- package/DropDownList/models/index.d.ts +54 -0
- package/DropDownTree/DropDownTree.d.ts +76 -0
- package/DropDownTree/DropDownTree.js +1 -1
- package/DropDownTree/DropDownTree.mjs +6 -8
- package/DropDownTree/DropDownTreeProps.d.ts +506 -0
- package/DropDownTree/ListNoData.d.ts +13 -0
- package/DropDownTree/useDropdownWidth.d.ts +13 -0
- package/MultiColumnComboBox/MultiColumnComboBox.d.ts +299 -0
- package/MultiColumnComboBox/MultiColumnComboBox.js +1 -1
- package/MultiColumnComboBox/MultiColumnComboBox.mjs +45 -48
- package/MultiSelect/MultiSelect.d.ts +281 -0
- package/MultiSelect/MultiSelect.js +1 -1
- package/MultiSelect/MultiSelect.mjs +13 -15
- package/MultiSelect/MultiSelectProps.d.ts +592 -0
- package/MultiSelect/TagList.d.ts +45 -0
- package/MultiSelectTree/MultiSelectTree.d.ts +87 -0
- package/MultiSelectTree/MultiSelectTree.js +1 -1
- package/MultiSelectTree/MultiSelectTree.mjs +7 -7
- package/MultiSelectTree/MultiSelectTreeProps.d.ts +554 -0
- package/MultiSelectTree/utils.d.ts +24 -0
- package/common/AdaptiveMode.d.ts +22 -0
- package/common/ClearButton.d.ts +19 -0
- package/common/DropDownBase.d.ts +186 -0
- package/common/DropDownBase.js +1 -1
- package/common/DropDownBase.mjs +1 -1
- package/common/GroupStickyHeader.d.ts +26 -0
- package/common/GroupStickyHeader.js +1 -1
- package/common/GroupStickyHeader.mjs +6 -6
- package/common/List.d.ts +54 -0
- package/common/List.js +1 -1
- package/common/List.mjs +129 -77
- package/common/ListContainer.d.ts +24 -0
- package/common/ListDefaultItem.d.ts +22 -0
- package/common/ListFilter.d.ts +29 -0
- package/common/ListFilter.js +1 -1
- package/common/ListFilter.mjs +12 -12
- package/common/ListGroupItem.d.ts +54 -0
- package/common/ListGroupItem.js +1 -1
- package/common/ListGroupItem.mjs +21 -13
- package/common/ListItem.d.ts +87 -0
- package/common/ListItem.js +1 -1
- package/common/ListItem.mjs +62 -21
- package/common/ListItemIcon.d.ts +26 -0
- package/common/ListItemIcon.js +8 -0
- package/common/ListItemIcon.mjs +21 -0
- package/common/MultiColumnList.d.ts +13 -0
- package/common/Navigation.d.ts +20 -0
- package/common/SearchBar.d.ts +55 -0
- package/common/VirtualScrollStatic.d.ts +44 -0
- package/common/events.d.ts +82 -0
- package/common/filterDescriptor.d.ts +48 -0
- package/common/settings.d.ts +112 -0
- package/common/utils.d.ts +82 -0
- package/common/utils.js +1 -1
- package/common/utils.mjs +50 -47
- package/common/withCustomComponent.d.ts +12 -0
- package/dist/cdn/js/kendo-react-dropdowns.js +1 -1
- package/index.d.mts +28 -5545
- package/index.d.ts +28 -5545
- package/messages/index.d.ts +52 -0
- package/package-metadata.d.ts +12 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +10 -16
- package/package.json +10 -10
|
@@ -0,0 +1,592 @@
|
|
|
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 { MultiSelect } from './MultiSelect.js';
|
|
9
|
+
import { AdaptiveModeContextType, CustomComponent, FormComponentProps } from '@progress/kendo-react-common';
|
|
10
|
+
import { FilterChangeEvent, ChangeEvent, OpenEvent, CloseEvent, FocusEvent, BlurEvent, PageChangeEvent, CancelEvent } from './../common/events.js';
|
|
11
|
+
import { VirtualizationSettings, DropDownsPopupSettings } from '../common/settings.js';
|
|
12
|
+
import { ListGroupItemProps } from '../common/ListGroupItem.js';
|
|
13
|
+
import { GroupStickyHeaderProps } from '../common/GroupStickyHeader.js';
|
|
14
|
+
import { ListItemProps } from '../common/ListItem.js';
|
|
15
|
+
import { TagData } from './TagList.js';
|
|
16
|
+
/**
|
|
17
|
+
* Represents the object of the `filterChange` MultiSelect event.
|
|
18
|
+
*/
|
|
19
|
+
export interface MultiSelectFilterChangeEvent extends FilterChangeEvent<MultiSelect> {
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Represents the object of the `change` MultiSelect event.
|
|
23
|
+
*/
|
|
24
|
+
export interface MultiSelectChangeEvent extends ChangeEvent<MultiSelect> {
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Represents the object of the `onCancel` MultiSelect event.
|
|
28
|
+
*/
|
|
29
|
+
export interface MultiSelectCancelEvent extends CancelEvent<MultiSelect> {
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Represents the object of the `open` MultiSelect event.
|
|
33
|
+
*/
|
|
34
|
+
export interface MultiSelectOpenEvent extends OpenEvent<MultiSelect> {
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Represents the object of the `close` MultiSelect event.
|
|
38
|
+
*/
|
|
39
|
+
export interface MultiSelectCloseEvent extends CloseEvent<MultiSelect> {
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Represents the object of the `focus` MultiSelect event.
|
|
43
|
+
*/
|
|
44
|
+
export interface MultiSelectFocusEvent extends FocusEvent<MultiSelect> {
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Represents the object of the `blur` MultiSelect event.
|
|
48
|
+
*/
|
|
49
|
+
export interface MultiSelectBlurEvent extends BlurEvent<MultiSelect> {
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Represents the object of the `pageChange` MultiSelect event.
|
|
53
|
+
*/
|
|
54
|
+
export interface MultiSelectPageChangeEvent extends PageChangeEvent<MultiSelect> {
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Represents the props of the [KendoReact MultiSelect component](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect).
|
|
58
|
+
*/
|
|
59
|
+
export interface MultiSelectProps extends FormComponentProps {
|
|
60
|
+
/**
|
|
61
|
+
* Specifies whether the MultiSelect allows user-defined values that are not present in the dataset ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/custom-values)). Defaults to `false`.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```jsx
|
|
65
|
+
* <MultiSelect allowCustom={true} />
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
allowCustom?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Sets the data of the MultiSelect ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/binding)).
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```jsx
|
|
74
|
+
* <MultiSelect data={['Option1', 'Option2', 'Option3']} />
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
data?: any[];
|
|
78
|
+
/**
|
|
79
|
+
* Sets the opened and closed state of the MultiSelect.
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```jsx
|
|
83
|
+
* <MultiSelect opened={true} />
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
opened?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Determines whether to close the options list of the MultiSelect after the item selection is finished.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```jsx
|
|
92
|
+
* <MultiSelect autoClose={false} />
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
autoClose?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* The styles that are applied to the MultiSelect.
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```jsx
|
|
101
|
+
* <MultiSelect style={{ width: '300px' }} />
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
style?: React.CSSProperties;
|
|
105
|
+
/**
|
|
106
|
+
* Sets the value of the MultiSelect ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/binding)). It can either be of the primitive (string, numbers) or of the complex (objects) type.
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```jsx
|
|
110
|
+
* <MultiSelect value={['Option1', 'Option2']} />
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
value?: Array<any>;
|
|
114
|
+
/**
|
|
115
|
+
* The hint that is displayed when the MultiSelect is empty.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```jsx
|
|
119
|
+
* <MultiSelect placeholder="Select an option" />
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
placeholder?: string;
|
|
123
|
+
/**
|
|
124
|
+
* Sets the tags of the MultiSelect ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/custom-tags)).
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```jsx
|
|
128
|
+
* <MultiSelect tags={[{ text: 'Tag1' }, { text: 'Tag2' }]} />
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
tags?: Array<TagData>;
|
|
132
|
+
/**
|
|
133
|
+
* Sets the key for comparing the data items of the MultiSelect ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/binding#toc-datasets-of-objects)). If `dataItemKey` is not set, the MultiSelect compares the items by reference.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```jsx
|
|
137
|
+
* <MultiSelect dataItemKey="id" />
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
dataItemKey?: string;
|
|
141
|
+
/**
|
|
142
|
+
* Sets the default value of the MultiSelect. Similar to the native `select` HTML element.
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```jsx
|
|
146
|
+
* <MultiSelect defaultValue={['Option1']} />
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
defaultValue?: Array<any>;
|
|
150
|
+
/**
|
|
151
|
+
* Sets additional classes to the MultiSelect.
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```jsx
|
|
155
|
+
* <MultiSelect className="custom-class" />
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
className?: string;
|
|
159
|
+
/**
|
|
160
|
+
* Sets the disabled state of the MultiSelect.
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```jsx
|
|
164
|
+
* <MultiSelect disabled={true} />
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
disabled?: boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Represents the `dir` HTML attribute.
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```jsx
|
|
173
|
+
* <MultiSelect dir="rtl" />
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
dir?: string;
|
|
177
|
+
/**
|
|
178
|
+
* Enables the filtering functionality of the MultiSelect ([more information and examples](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/filtering)).
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```jsx
|
|
182
|
+
* <MultiSelect filterable={true} />
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
filterable?: boolean;
|
|
186
|
+
/**
|
|
187
|
+
* Specifies the id of the component.
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```jsx
|
|
191
|
+
* <MultiSelect id="multi-select" />
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
id?: string;
|
|
195
|
+
/**
|
|
196
|
+
* Identifies the element(s) which will describe the component, similar to [HTML aria-describedby attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute).
|
|
197
|
+
* For example these elements could contain error or hint message.
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```jsx
|
|
201
|
+
* <MultiSelect ariaDescribedBy="description" />
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
ariaDescribedBy?: string;
|
|
205
|
+
/**
|
|
206
|
+
* Specifies the accessible label of the interactive component.
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* ```jsx
|
|
210
|
+
* <MultiSelect ariaLabel="MultiSelect" />
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
ariaLabel?: string;
|
|
214
|
+
/**
|
|
215
|
+
* Identifies the element(s) which will label the component.
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
* ```jsx
|
|
219
|
+
* <MultiSelect ariaLabelledBy="label" />
|
|
220
|
+
* ```
|
|
221
|
+
*/
|
|
222
|
+
ariaLabelledBy?: string;
|
|
223
|
+
/**
|
|
224
|
+
* If set, the MultiSelect will use it to get the focused item index.
|
|
225
|
+
*
|
|
226
|
+
* Default functionality returns the first item which starts with the input text.
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* ```jsx
|
|
230
|
+
* const focusedItemIndex = (data, inputText, textField) => {
|
|
231
|
+
* let text = inputText.toLowerCase();
|
|
232
|
+
* return data.findIndex(item =>
|
|
233
|
+
* String(textField ? item[textField] : item).toLowerCase().includes(text));
|
|
234
|
+
* };
|
|
235
|
+
*
|
|
236
|
+
* <MultiSelect focusedItemIndex={focusedItemIndex} />
|
|
237
|
+
* ```
|
|
238
|
+
*/
|
|
239
|
+
focusedItemIndex?: (data: any, inputText: string, textField?: string) => number;
|
|
240
|
+
/**
|
|
241
|
+
* Sets the value of filtering input. Useful for making the filtering input a [controlled component](https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components).
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ```jsx
|
|
245
|
+
* <MultiSelect filter="Option" />
|
|
246
|
+
* ```
|
|
247
|
+
*/
|
|
248
|
+
filter?: string;
|
|
249
|
+
/**
|
|
250
|
+
* Sets the value of the adaptive filtering input of the of MultiSelect.
|
|
251
|
+
*
|
|
252
|
+
* @example
|
|
253
|
+
* ```jsx
|
|
254
|
+
* <MultiSelect adaptiveFilter="Option" />
|
|
255
|
+
* ```
|
|
256
|
+
*/
|
|
257
|
+
adaptiveFilter?: string;
|
|
258
|
+
/**
|
|
259
|
+
* Sets the loading state of the MultiSelect ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/filtering#toc-basic-configuration)).
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```jsx
|
|
263
|
+
* <MultiSelect loading={true} />
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
loading?: boolean;
|
|
267
|
+
/**
|
|
268
|
+
* Specifies the `tabIndex` of the MultiSelect.
|
|
269
|
+
*
|
|
270
|
+
* @example
|
|
271
|
+
* ```jsx
|
|
272
|
+
* <MultiSelect tabIndex={0} />
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
tabIndex?: number;
|
|
276
|
+
/**
|
|
277
|
+
* Specifies the `accessKey` of the MultiSelect.
|
|
278
|
+
*
|
|
279
|
+
* @example
|
|
280
|
+
* ```jsx
|
|
281
|
+
* <MultiSelect accessKey="a" />
|
|
282
|
+
* ```
|
|
283
|
+
*/
|
|
284
|
+
accessKey?: string;
|
|
285
|
+
/**
|
|
286
|
+
* Sets the data item field that represents the item text ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/binding#toc-datasets-of-objects)). If the data contains only primitive values, do not define it.
|
|
287
|
+
*
|
|
288
|
+
* @example
|
|
289
|
+
* ```jsx
|
|
290
|
+
* <MultiSelect textField="name" />
|
|
291
|
+
* ```
|
|
292
|
+
*/
|
|
293
|
+
textField?: string;
|
|
294
|
+
/**
|
|
295
|
+
* Renders a floating label for the MultiSelect.
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* ```jsx
|
|
299
|
+
* <MultiSelect label="Select an option" />
|
|
300
|
+
* ```
|
|
301
|
+
*/
|
|
302
|
+
label?: string;
|
|
303
|
+
/**
|
|
304
|
+
* Configures the popup of the MultiSelect.
|
|
305
|
+
*
|
|
306
|
+
* @example
|
|
307
|
+
* ```jsx
|
|
308
|
+
* <MultiSelect popupSettings={{ animate: true }} />
|
|
309
|
+
* ```
|
|
310
|
+
*/
|
|
311
|
+
popupSettings?: DropDownsPopupSettings;
|
|
312
|
+
/**
|
|
313
|
+
* Configures the virtual scrolling of the MultiSelect ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/virtualization)).
|
|
314
|
+
*
|
|
315
|
+
* @example
|
|
316
|
+
* ```jsx
|
|
317
|
+
* <MultiSelect virtual={{ pageSize: 20 }} />
|
|
318
|
+
* ```
|
|
319
|
+
*/
|
|
320
|
+
virtual?: VirtualizationSettings;
|
|
321
|
+
/**
|
|
322
|
+
* Fires each time the popup of the MultiSelect is about to open.
|
|
323
|
+
*
|
|
324
|
+
* @example
|
|
325
|
+
* ```jsx
|
|
326
|
+
* <MultiSelect onOpen={(event) => console.log(event)} />
|
|
327
|
+
* ```
|
|
328
|
+
*/
|
|
329
|
+
onOpen?: (event: MultiSelectOpenEvent) => void;
|
|
330
|
+
/**
|
|
331
|
+
* Fires each time the popup of the MultiSelect is about to close.
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* ```jsx
|
|
335
|
+
* <MultiSelect onClose={(event) => console.log(event)} />
|
|
336
|
+
* ```
|
|
337
|
+
*/
|
|
338
|
+
onClose?: (event: MultiSelectCloseEvent) => void;
|
|
339
|
+
/**
|
|
340
|
+
* Fires each time the user focuses the MultiSelect.
|
|
341
|
+
*
|
|
342
|
+
* @example
|
|
343
|
+
* ```jsx
|
|
344
|
+
* <MultiSelect onFocus={(event) => console.log(event)} />
|
|
345
|
+
* ```
|
|
346
|
+
*/
|
|
347
|
+
onFocus?: (event: MultiSelectFocusEvent) => void;
|
|
348
|
+
/**
|
|
349
|
+
* Fires each time the MultiSelect gets blurred.
|
|
350
|
+
*
|
|
351
|
+
* @example
|
|
352
|
+
* ```jsx
|
|
353
|
+
* <MultiSelect onBlur={(event) => console.log(event)} />
|
|
354
|
+
* ```
|
|
355
|
+
*/
|
|
356
|
+
onBlur?: (event: MultiSelectBlurEvent) => void;
|
|
357
|
+
/**
|
|
358
|
+
* Fires each time the value of the MultiSelect is about to change ([see examples](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/binding)).
|
|
359
|
+
*
|
|
360
|
+
* @example
|
|
361
|
+
* ```jsx
|
|
362
|
+
* <MultiSelect onChange={(event) => console.log(event)} />
|
|
363
|
+
* ```
|
|
364
|
+
*/
|
|
365
|
+
onChange?: (event: MultiSelectChangeEvent) => void;
|
|
366
|
+
/**
|
|
367
|
+
* Fires each time the popup of the MultiSelect is about to cancel in ([adaptive mode](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/adaptive-rendering)).
|
|
368
|
+
*
|
|
369
|
+
* @example
|
|
370
|
+
* ```jsx
|
|
371
|
+
* <MultiSelect onCancel={(event) => console.log(event)} />
|
|
372
|
+
* ```
|
|
373
|
+
*/
|
|
374
|
+
onCancel?: (event: MultiSelectCancelEvent) => void;
|
|
375
|
+
/**
|
|
376
|
+
* Fires each time the user types in the filter input ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/filtering#toc-basic-configuration)). You can filter the source based on the passed filtration value.
|
|
377
|
+
*
|
|
378
|
+
* @example
|
|
379
|
+
* ```jsx
|
|
380
|
+
* <MultiSelect onFilterChange={(event) => console.log(event)} />
|
|
381
|
+
* ```
|
|
382
|
+
*/
|
|
383
|
+
onFilterChange?: (event: MultiSelectFilterChangeEvent) => void;
|
|
384
|
+
/**
|
|
385
|
+
* Fires when both the virtual scrolling of the MultiSelect is enabled and when the component requires data for another page ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/virtualization)).
|
|
386
|
+
*
|
|
387
|
+
* @example
|
|
388
|
+
* ```jsx
|
|
389
|
+
* <MultiSelect onPageChange={(event) => console.log(event)} />
|
|
390
|
+
* ```
|
|
391
|
+
*/
|
|
392
|
+
onPageChange?: (event: MultiSelectPageChangeEvent) => void;
|
|
393
|
+
/**
|
|
394
|
+
* Fires when a MultiSelect item is about to be rendered ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/custom-rendering#toc-items)). Used to override the default appearance of the list items.
|
|
395
|
+
*
|
|
396
|
+
* @example
|
|
397
|
+
* ```jsx
|
|
398
|
+
* <MultiSelect itemRender={(li, itemProps) => <div>{itemProps.dataItem}</div>} />
|
|
399
|
+
* ```
|
|
400
|
+
*/
|
|
401
|
+
itemRender?: (li: React.ReactElement<HTMLLIElement>, itemProps: ListItemProps) => React.ReactNode;
|
|
402
|
+
/**
|
|
403
|
+
* Fires when the element which indicates no data in the popup is about to be rendered ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/custom-rendering#toc-no-data)). Used to override the default appearance of the element.
|
|
404
|
+
*
|
|
405
|
+
* @example
|
|
406
|
+
* ```jsx
|
|
407
|
+
* <MultiSelect listNoDataRender={(element) => <div>No data available</div>} />
|
|
408
|
+
* ```
|
|
409
|
+
*/
|
|
410
|
+
listNoDataRender?: (element: React.ReactElement<HTMLDivElement>) => React.ReactNode;
|
|
411
|
+
/**
|
|
412
|
+
* Fires when a tag element is about to be rendered ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/custom-rendering#toc-tags)). Used to override the default appearance of the element.
|
|
413
|
+
*
|
|
414
|
+
* @example
|
|
415
|
+
* ```jsx
|
|
416
|
+
* <MultiSelect tagRender={(tagData, tag) => <span>{tagData.text}</span>} />
|
|
417
|
+
* ```
|
|
418
|
+
*/
|
|
419
|
+
tagRender?: (tagData: TagData, tag: React.ReactElement<any>) => React.ReactElement<any>;
|
|
420
|
+
/**
|
|
421
|
+
* Sets the header component of the MultiSelect ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/custom-rendering#toc-headers-and-footers)).
|
|
422
|
+
*
|
|
423
|
+
* @example
|
|
424
|
+
* ```jsx
|
|
425
|
+
* <MultiSelect header={<div>Header</div>} />
|
|
426
|
+
* ```
|
|
427
|
+
*/
|
|
428
|
+
header?: React.ReactNode;
|
|
429
|
+
/**
|
|
430
|
+
* Sets the footer component of the MultiSelect ([see example](https://www.telerik.com/kendo-react-ui/components/dropdowns/multiselect/custom-rendering#toc-headers-and-footers)).
|
|
431
|
+
*
|
|
432
|
+
* @example
|
|
433
|
+
* ```jsx
|
|
434
|
+
* <MultiSelect footer={<div>Footer</div>} />
|
|
435
|
+
* ```
|
|
436
|
+
*/
|
|
437
|
+
footer?: React.ReactNode;
|
|
438
|
+
/**
|
|
439
|
+
* Configures the `size` of the MultiSelect.
|
|
440
|
+
*
|
|
441
|
+
* The available options are:
|
|
442
|
+
* - small
|
|
443
|
+
* - medium
|
|
444
|
+
* - large
|
|
445
|
+
*
|
|
446
|
+
* @default undefined (theme-controlled)
|
|
447
|
+
*
|
|
448
|
+
* @example
|
|
449
|
+
* ```jsx
|
|
450
|
+
* <MultiSelect size="small" />
|
|
451
|
+
* ```
|
|
452
|
+
*/
|
|
453
|
+
size?: 'small' | 'medium' | 'large';
|
|
454
|
+
/**
|
|
455
|
+
* Configures the `roundness` of the MultiSelect.
|
|
456
|
+
*
|
|
457
|
+
* The available options are:
|
|
458
|
+
* - small
|
|
459
|
+
* - medium
|
|
460
|
+
* - large
|
|
461
|
+
* - full
|
|
462
|
+
*
|
|
463
|
+
* @default undefined (theme-controlled)
|
|
464
|
+
*
|
|
465
|
+
* @example
|
|
466
|
+
* ```jsx
|
|
467
|
+
* <MultiSelect rounded="large" />
|
|
468
|
+
* ```
|
|
469
|
+
*/
|
|
470
|
+
rounded?: 'small' | 'medium' | 'large' | 'full';
|
|
471
|
+
/**
|
|
472
|
+
* Configures the `fillMode` of the MultiSelect.
|
|
473
|
+
*
|
|
474
|
+
* The available options are:
|
|
475
|
+
* - solid
|
|
476
|
+
* - flat
|
|
477
|
+
* - outline
|
|
478
|
+
*
|
|
479
|
+
* @default undefined (theme-controlled)
|
|
480
|
+
*
|
|
481
|
+
* @example
|
|
482
|
+
* ```jsx
|
|
483
|
+
* <MultiSelect fillMode="flat" />
|
|
484
|
+
* ```
|
|
485
|
+
*/
|
|
486
|
+
fillMode?: 'solid' | 'flat' | 'outline';
|
|
487
|
+
/**
|
|
488
|
+
* Sets the data item field that represents the start of a group. Applicable to objects data.
|
|
489
|
+
*
|
|
490
|
+
* @example
|
|
491
|
+
* ```jsx
|
|
492
|
+
* <MultiSelect groupField="category" />
|
|
493
|
+
* ```
|
|
494
|
+
*/
|
|
495
|
+
groupField?: string;
|
|
496
|
+
/**
|
|
497
|
+
* Fires when a DropDownList's group header item is about to be rendered. Used to override the default appearance of the group's headers.
|
|
498
|
+
*
|
|
499
|
+
* @example
|
|
500
|
+
* ```jsx
|
|
501
|
+
* <MultiSelect groupHeaderItemRender={(li, itemProps) => <div>{itemProps.dataItem}</div>} />
|
|
502
|
+
* ```
|
|
503
|
+
*/
|
|
504
|
+
groupHeaderItemRender?: (li: React.ReactElement<HTMLLIElement>, itemProps: ListGroupItemProps) => React.ReactNode;
|
|
505
|
+
/**
|
|
506
|
+
* Fires when a DropDownList's sticky group header item is about to be rendered. Used to override the default appearance of the sticky group header of the component.
|
|
507
|
+
*
|
|
508
|
+
* @example
|
|
509
|
+
* ```jsx
|
|
510
|
+
* <MultiSelect groupStickyHeaderItemRender={(div, stickyHeaderProps) => <div>{stickyHeaderProps.dataItem}</div>} />
|
|
511
|
+
* ```
|
|
512
|
+
*/
|
|
513
|
+
groupStickyHeaderItemRender?: (div: React.ReactElement<HTMLDivElement>, stickyHeaderProps: GroupStickyHeaderProps) => React.ReactNode;
|
|
514
|
+
/**
|
|
515
|
+
* @hidden
|
|
516
|
+
*/
|
|
517
|
+
list?: any;
|
|
518
|
+
/**
|
|
519
|
+
* Providing different rendering of the popup element based on the screen dimensions.
|
|
520
|
+
*
|
|
521
|
+
* @default `false`
|
|
522
|
+
*
|
|
523
|
+
* @example
|
|
524
|
+
* ```jsx
|
|
525
|
+
* <MultiSelect adaptive={true} />
|
|
526
|
+
* ```
|
|
527
|
+
*/
|
|
528
|
+
adaptive?: boolean;
|
|
529
|
+
/**
|
|
530
|
+
* Specifies the text that is rendered as title in the adaptive popup(action sheet).
|
|
531
|
+
* Applicable only when `adaptive` is set to `true`.
|
|
532
|
+
* If not provided, the title will be the same as the label.
|
|
533
|
+
*
|
|
534
|
+
* @example
|
|
535
|
+
* ```jsx
|
|
536
|
+
* <MultiSelect adaptiveTitle="Adaptive Popup Title" />
|
|
537
|
+
* ```
|
|
538
|
+
*/
|
|
539
|
+
adaptiveTitle?: string;
|
|
540
|
+
/**
|
|
541
|
+
* Specifies the text that is rendered as subtitle in the adaptive popup(action sheet).
|
|
542
|
+
* Applicable only when `adaptive` is set to `true`.
|
|
543
|
+
*
|
|
544
|
+
* @example
|
|
545
|
+
* ```jsx
|
|
546
|
+
* <MultiSelect adaptiveSubtitle="Adaptive Popup Subtitle" />
|
|
547
|
+
* ```
|
|
548
|
+
*/
|
|
549
|
+
adaptiveSubtitle?: string;
|
|
550
|
+
/**
|
|
551
|
+
* Defines if MultiSelect's disabled items will be skipped or focused when navigating through the list of items using a keyboard. Defaults to `true`.
|
|
552
|
+
*
|
|
553
|
+
* @example
|
|
554
|
+
* ```jsx
|
|
555
|
+
* <MultiSelect skipDisabledItems={false} />
|
|
556
|
+
* ```
|
|
557
|
+
*/
|
|
558
|
+
skipDisabledItems?: boolean;
|
|
559
|
+
/**
|
|
560
|
+
* Sets a custom prefix to the MultiSelect component.
|
|
561
|
+
*
|
|
562
|
+
* @example
|
|
563
|
+
* ```jsx
|
|
564
|
+
* <MultiSelect prefix={<span>Prefix</span>} />
|
|
565
|
+
* ```
|
|
566
|
+
*/
|
|
567
|
+
prefix?: CustomComponent<any>;
|
|
568
|
+
/**
|
|
569
|
+
* Sets a custom suffix to the MultiSelect component.
|
|
570
|
+
*
|
|
571
|
+
* @example
|
|
572
|
+
* ```jsx
|
|
573
|
+
* <MultiSelect suffix={<span>Suffix</span>} />
|
|
574
|
+
* ```
|
|
575
|
+
*/
|
|
576
|
+
suffix?: CustomComponent<any>;
|
|
577
|
+
/**
|
|
578
|
+
* Sets the HTML attributes of the inner focusable input element.
|
|
579
|
+
* Attributes which are essential for certain component functionalities cannot be changed.
|
|
580
|
+
*
|
|
581
|
+
* @example
|
|
582
|
+
* ```jsx
|
|
583
|
+
* <MultiSelect inputAttributes={{ maxLength: 10 }} />
|
|
584
|
+
* ```
|
|
585
|
+
*/
|
|
586
|
+
inputAttributes?: React.InputHTMLAttributes<HTMLInputElement>;
|
|
587
|
+
/**
|
|
588
|
+
* @hidden
|
|
589
|
+
* This prop is provided by the withAdaptiveModeContext HOC to subscribe to AdaptiveModeContext.
|
|
590
|
+
*/
|
|
591
|
+
_adaptiveMode?: AdaptiveModeContextType;
|
|
592
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
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 * as React from 'react';
|
|
9
|
+
/**
|
|
10
|
+
* Represents the tag data.
|
|
11
|
+
*/
|
|
12
|
+
export interface TagData {
|
|
13
|
+
/**
|
|
14
|
+
* Represents the text of the tag.
|
|
15
|
+
*/
|
|
16
|
+
text: string;
|
|
17
|
+
/**
|
|
18
|
+
* Represents the data items which correspond to the tag.
|
|
19
|
+
*/
|
|
20
|
+
data: Array<any>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @hidden
|
|
24
|
+
*/
|
|
25
|
+
export interface TagListProps {
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
data: Array<TagData>;
|
|
28
|
+
guid: string;
|
|
29
|
+
focused?: TagData;
|
|
30
|
+
onTagDelete: (items: Array<any>, event: React.MouseEvent<HTMLSpanElement>) => void;
|
|
31
|
+
tagRender?: (tagData: TagData, tag: React.ReactElement<any>) => React.ReactElement<any>;
|
|
32
|
+
tag?: React.ComponentType<{
|
|
33
|
+
tagData: TagData;
|
|
34
|
+
guid: string;
|
|
35
|
+
focusedTag?: TagData;
|
|
36
|
+
onTagDelete: (items: Array<any>, event: React.MouseEvent<HTMLSpanElement>) => void;
|
|
37
|
+
}>;
|
|
38
|
+
size?: 'small' | 'medium' | 'large';
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @hidden
|
|
42
|
+
*/
|
|
43
|
+
export default class TagList extends React.Component<TagListProps, {}> {
|
|
44
|
+
render(): React.JSX.Element;
|
|
45
|
+
}
|