@progress/kendo-react-dropdowns 13.3.0 → 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 (76) hide show
  1. package/AutoComplete/AutoComplete.d.ts +274 -0
  2. package/AutoComplete/AutoComplete.js +1 -1
  3. package/AutoComplete/AutoComplete.mjs +67 -69
  4. package/AutoComplete/AutoCompleteProps.d.ts +509 -0
  5. package/ComboBox/ComboBox.d.ts +279 -0
  6. package/ComboBox/ComboBox.js +1 -1
  7. package/ComboBox/ComboBox.mjs +281 -297
  8. package/ComboBox/ComboBoxProps.d.ts +632 -0
  9. package/DropDownList/DropDownList.d.ts +41 -0
  10. package/DropDownList/DropDownList.js +1 -1
  11. package/DropDownList/DropDownList.mjs +78 -83
  12. package/DropDownList/DropDownListProps.d.ts +594 -0
  13. package/DropDownList/models/index.d.ts +54 -0
  14. package/DropDownTree/DropDownTree.d.ts +76 -0
  15. package/DropDownTree/DropDownTree.js +1 -1
  16. package/DropDownTree/DropDownTree.mjs +6 -8
  17. package/DropDownTree/DropDownTreeProps.d.ts +506 -0
  18. package/DropDownTree/ListNoData.d.ts +13 -0
  19. package/DropDownTree/useDropdownWidth.d.ts +13 -0
  20. package/MultiColumnComboBox/MultiColumnComboBox.d.ts +299 -0
  21. package/MultiColumnComboBox/MultiColumnComboBox.js +1 -1
  22. package/MultiColumnComboBox/MultiColumnComboBox.mjs +45 -48
  23. package/MultiSelect/MultiSelect.d.ts +281 -0
  24. package/MultiSelect/MultiSelect.js +1 -1
  25. package/MultiSelect/MultiSelect.mjs +13 -15
  26. package/MultiSelect/MultiSelectProps.d.ts +592 -0
  27. package/MultiSelect/TagList.d.ts +45 -0
  28. package/MultiSelectTree/MultiSelectTree.d.ts +87 -0
  29. package/MultiSelectTree/MultiSelectTree.js +1 -1
  30. package/MultiSelectTree/MultiSelectTree.mjs +7 -7
  31. package/MultiSelectTree/MultiSelectTreeProps.d.ts +554 -0
  32. package/MultiSelectTree/utils.d.ts +24 -0
  33. package/common/AdaptiveMode.d.ts +22 -0
  34. package/common/ClearButton.d.ts +19 -0
  35. package/common/DropDownBase.d.ts +186 -0
  36. package/common/DropDownBase.js +1 -1
  37. package/common/DropDownBase.mjs +1 -1
  38. package/common/GroupStickyHeader.d.ts +26 -0
  39. package/common/GroupStickyHeader.js +1 -1
  40. package/common/GroupStickyHeader.mjs +6 -6
  41. package/common/List.d.ts +54 -0
  42. package/common/List.js +1 -1
  43. package/common/List.mjs +129 -77
  44. package/common/ListContainer.d.ts +24 -0
  45. package/common/ListDefaultItem.d.ts +22 -0
  46. package/common/ListFilter.d.ts +29 -0
  47. package/common/ListFilter.js +1 -1
  48. package/common/ListFilter.mjs +12 -12
  49. package/common/ListGroupItem.d.ts +54 -0
  50. package/common/ListGroupItem.js +1 -1
  51. package/common/ListGroupItem.mjs +21 -13
  52. package/common/ListItem.d.ts +87 -0
  53. package/common/ListItem.js +1 -1
  54. package/common/ListItem.mjs +62 -21
  55. package/common/ListItemIcon.d.ts +26 -0
  56. package/common/ListItemIcon.js +8 -0
  57. package/common/ListItemIcon.mjs +21 -0
  58. package/common/MultiColumnList.d.ts +13 -0
  59. package/common/Navigation.d.ts +20 -0
  60. package/common/SearchBar.d.ts +55 -0
  61. package/common/VirtualScrollStatic.d.ts +44 -0
  62. package/common/events.d.ts +82 -0
  63. package/common/filterDescriptor.d.ts +48 -0
  64. package/common/settings.d.ts +112 -0
  65. package/common/utils.d.ts +82 -0
  66. package/common/utils.js +1 -1
  67. package/common/utils.mjs +50 -47
  68. package/common/withCustomComponent.d.ts +12 -0
  69. package/dist/cdn/js/kendo-react-dropdowns.js +1 -1
  70. package/index.d.mts +28 -5545
  71. package/index.d.ts +28 -5545
  72. package/messages/index.d.ts +52 -0
  73. package/package-metadata.d.ts +12 -0
  74. package/package-metadata.js +1 -1
  75. package/package-metadata.mjs +10 -16
  76. 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
+ }