@progress/kendo-react-dropdowns 4.14.0 → 5.0.0

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 (71) hide show
  1. package/dist/cdn/js/kendo-react-dropdowns.js +1 -1
  2. package/dist/es/AutoComplete/AutoComplete.d.ts +7 -4
  3. package/dist/es/AutoComplete/AutoComplete.js +30 -19
  4. package/dist/es/AutoComplete/AutoCompleteProps.d.ts +37 -0
  5. package/dist/es/ComboBox/ComboBox.d.ts +8 -1
  6. package/dist/es/ComboBox/ComboBox.js +46 -33
  7. package/dist/es/ComboBox/ComboBoxProps.d.ts +37 -0
  8. package/dist/es/DropDownList/DropDownList.d.ts +6 -8
  9. package/dist/es/DropDownList/DropDownList.js +56 -48
  10. package/dist/es/DropDownList/DropDownListProps.d.ts +37 -0
  11. package/dist/es/DropDownTree/DropDownTree.js +44 -24
  12. package/dist/es/DropDownTree/DropDownTreeProps.d.ts +37 -0
  13. package/dist/es/MultiColumnComboBox/MultiColumnComboBox.d.ts +37 -0
  14. package/dist/es/MultiColumnComboBox/MultiColumnComboBox.js +23 -12
  15. package/dist/es/MultiSelect/MultiSelect.d.ts +8 -5
  16. package/dist/es/MultiSelect/MultiSelect.js +51 -32
  17. package/dist/es/MultiSelect/MultiSelectProps.d.ts +38 -1
  18. package/dist/es/MultiSelect/TagList.d.ts +2 -1
  19. package/dist/es/MultiSelect/TagList.js +10 -15
  20. package/dist/es/MultiSelectTree/MultiSelectTree.js +42 -29
  21. package/dist/es/MultiSelectTree/MultiSelectTreeProps.d.ts +37 -0
  22. package/dist/es/common/ClearButton.js +2 -1
  23. package/dist/es/common/DropDownBase.d.ts +2 -3
  24. package/dist/es/common/DropDownBase.js +2 -16
  25. package/dist/es/common/List.d.ts +1 -0
  26. package/dist/es/common/List.js +3 -2
  27. package/dist/es/common/ListDefaultItem.js +2 -2
  28. package/dist/es/common/ListFilter.d.ts +5 -0
  29. package/dist/es/common/ListFilter.js +12 -3
  30. package/dist/es/common/ListItem.js +5 -5
  31. package/dist/es/common/MultiColumnList.js +1 -1
  32. package/dist/es/common/SearchBar.d.ts +1 -4
  33. package/dist/es/common/SearchBar.js +2 -8
  34. package/dist/es/common/VirtualScroll.js +3 -2
  35. package/dist/es/package-metadata.js +1 -1
  36. package/dist/npm/AutoComplete/AutoComplete.d.ts +7 -4
  37. package/dist/npm/AutoComplete/AutoComplete.js +29 -18
  38. package/dist/npm/AutoComplete/AutoCompleteProps.d.ts +37 -0
  39. package/dist/npm/ComboBox/ComboBox.d.ts +8 -1
  40. package/dist/npm/ComboBox/ComboBox.js +45 -32
  41. package/dist/npm/ComboBox/ComboBoxProps.d.ts +37 -0
  42. package/dist/npm/DropDownList/DropDownList.d.ts +6 -8
  43. package/dist/npm/DropDownList/DropDownList.js +55 -47
  44. package/dist/npm/DropDownList/DropDownListProps.d.ts +37 -0
  45. package/dist/npm/DropDownTree/DropDownTree.js +43 -23
  46. package/dist/npm/DropDownTree/DropDownTreeProps.d.ts +37 -0
  47. package/dist/npm/MultiColumnComboBox/MultiColumnComboBox.d.ts +37 -0
  48. package/dist/npm/MultiColumnComboBox/MultiColumnComboBox.js +22 -11
  49. package/dist/npm/MultiSelect/MultiSelect.d.ts +8 -5
  50. package/dist/npm/MultiSelect/MultiSelect.js +50 -31
  51. package/dist/npm/MultiSelect/MultiSelectProps.d.ts +38 -1
  52. package/dist/npm/MultiSelect/TagList.d.ts +2 -1
  53. package/dist/npm/MultiSelect/TagList.js +10 -15
  54. package/dist/npm/MultiSelectTree/MultiSelectTree.js +40 -27
  55. package/dist/npm/MultiSelectTree/MultiSelectTreeProps.d.ts +37 -0
  56. package/dist/npm/common/ClearButton.js +2 -1
  57. package/dist/npm/common/DropDownBase.d.ts +2 -3
  58. package/dist/npm/common/DropDownBase.js +2 -16
  59. package/dist/npm/common/List.d.ts +1 -0
  60. package/dist/npm/common/List.js +3 -2
  61. package/dist/npm/common/ListDefaultItem.js +2 -2
  62. package/dist/npm/common/ListFilter.d.ts +5 -0
  63. package/dist/npm/common/ListFilter.js +12 -3
  64. package/dist/npm/common/ListItem.js +5 -5
  65. package/dist/npm/common/MultiColumnList.js +1 -1
  66. package/dist/npm/common/SearchBar.d.ts +1 -4
  67. package/dist/npm/common/SearchBar.js +2 -8
  68. package/dist/npm/common/VirtualScroll.js +3 -2
  69. package/dist/npm/package-metadata.js +1 -1
  70. package/dist/systemjs/kendo-react-dropdowns.js +1 -1
  71. package/package.json +19 -13
@@ -24,7 +24,7 @@ var __assign = (this && this.__assign) || function () {
24
24
  };
25
25
  import * as React from 'react';
26
26
  import * as PropTypes from 'prop-types';
27
- import { classNames, Keys, getTabIndex, createPropsContext, withPropsContext } from '@progress/kendo-react-common';
27
+ import { classNames, Keys, getTabIndex, createPropsContext, withPropsContext, kendoThemeMaps } from '@progress/kendo-react-common';
28
28
  import { FloatingLabel } from '@progress/kendo-react-labels';
29
29
  import ListContainer from '../common/ListContainer';
30
30
  import ListFilter from '../common/ListFilter';
@@ -35,6 +35,7 @@ import { isPresent, getItemValue, sameCharsOnly, shuffleData, matchText, areSame
35
35
  import { validatePackage } from '@progress/kendo-react-common';
36
36
  import { packageMetadata } from '../package-metadata';
37
37
  var VALIDATION_MESSAGE = 'Please select a value from the list!';
38
+ var sizeMap = kendoThemeMaps.sizeMap, roundedMap = kendoThemeMaps.roundedMap;
38
39
  /**
39
40
  * @hidden
40
41
  */
@@ -73,27 +74,9 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
73
74
  _this.base.triggerPageChangeCornerItems(item, state);
74
75
  }
75
76
  };
76
- _this.renderDropDownWrapper = function () {
77
- var _a = _this.props, dataItemKey = _a.dataItemKey, _b = _a.data, data = _b === void 0 ? [] : _b, textField = _a.textField, disabled = _a.disabled, tabIndex = _a.tabIndex, loading = _a.loading, iconClassName = _a.iconClassName, _c = _a.virtual, virtual = _c === void 0 ? { skip: 0 } : _c, valueRender = _a.valueRender;
78
- var focused = _this.state.focused;
79
- var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;
80
- var value = _this.value;
81
- var selectedIndex = data.findIndex(function (i) { return areSame(i, value, dataItemKey); });
82
- var text = getItemValue(value, textField);
83
- var valueDefaultRendering = (React.createElement("span", { className: "k-input" }, text));
84
- var valueElement = valueRender !== undefined ?
85
- valueRender.call(undefined, valueDefaultRendering, value) : valueDefaultRendering;
86
- return (React.createElement("span", { ref: function (el) { return _this.base.wrapper = el; }, role: 'listbox', tabIndex: getTabIndex(tabIndex, disabled), accessKey: _this.props.accessKey, className: classNames('k-dropdown-wrap', {
87
- 'k-state-focused': focused,
88
- 'k-state-disabled': disabled
89
- }), onKeyDown: _this.handleKeyDown, onKeyPress: _this.handleKeyPress, onClick: disabled ? undefined : _this.handleWrapperClick, "aria-disabled": disabled || undefined, "aria-haspopup": true, "aria-expanded": opened || false, "aria-owns": _this.base.listBoxId, "aria-activedescendant": opened ? ('option-' + _this.base.guid + '-' + (selectedIndex + virtual.skip)) : undefined, "aria-label": _this.props.label, "aria-labelledby": _this.props.ariaLabelledBy, "aria-describedby": _this.props.ariaDescribedBy, id: _this.props.id, title: _this.props.title },
90
- valueElement,
91
- React.createElement("span", { className: "k-select" },
92
- React.createElement("span", { className: classNames('k-icon', iconClassName, {
93
- 'k-i-arrow-s': !loading && !iconClassName,
94
- 'k-i-loading': loading && !iconClassName
95
- }) })),
96
- _this.dummySelect(value)));
77
+ _this.componentRef = function (element) {
78
+ _this._element = element;
79
+ _this.base.wrapper = element;
97
80
  };
98
81
  _this.dummySelect = function (value) {
99
82
  /* Dummy component to support forms */
@@ -101,18 +84,21 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
101
84
  React.createElement("option", { value: _this.props.valueMap ? _this.props.valueMap.call(undefined, value) : value })));
102
85
  };
103
86
  _this.renderListContainer = function () {
104
- var _a = _this.props, header = _a.header, footer = _a.footer, dir = _a.dir, _b = _a.data, data = _b === void 0 ? [] : _b;
87
+ var _a;
88
+ var _b = _this.props, header = _b.header, footer = _b.footer, dir = _b.dir, _c = _b.data, data = _c === void 0 ? [] : _c, size = _b.size;
105
89
  var base = _this.base;
106
90
  var popupSettings = base.getPopupSettings();
107
91
  var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;
108
- var virtual = _this.props.virtual !== undefined;
109
92
  var popupWidth = popupSettings.width !== undefined ? popupSettings.width : base.popupWidth;
110
93
  var listContainerProps = {
111
94
  dir: dir !== undefined ? dir : base.dirCalculated,
112
95
  width: popupWidth,
113
96
  popupSettings: {
114
- popupClass: popupSettings.popupClass,
115
- className: classNames('k-list-container k-reset', popupSettings.className),
97
+ popupClass: classNames(popupSettings.popupClass, 'k-list', (_a = {},
98
+ _a["k-list-" + (sizeMap[size] || size)] = size,
99
+ _a['k-virtual-list'] = _this.base.vs.enabled,
100
+ _a)),
101
+ className: popupSettings.className,
116
102
  animate: popupSettings.animate,
117
103
  anchor: _this.element,
118
104
  show: opened,
@@ -124,15 +110,10 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
124
110
  };
125
111
  return (React.createElement(ListContainer, __assign({}, listContainerProps),
126
112
  _this.renderListFilter(),
127
- virtual && _this.renderDefaultItem(),
128
- virtual && header,
129
- _this.base.renderScrollWrapper(React.createElement(React.Fragment, null,
130
- !virtual && _this.renderDefaultItem(),
131
- !virtual && header,
132
- _this.renderList(),
133
- !virtual && footer,
134
- _this.base.renderScrollElement())),
135
- virtual && footer));
113
+ _this.renderDefaultItem(),
114
+ header && React.createElement("div", { className: "k-list-header" }, header),
115
+ _this.renderList(),
116
+ footer && React.createElement("div", { className: "k-list-footer" }, footer)));
136
117
  };
137
118
  _this.renderList = function () {
138
119
  var _a = _this.props, _b = _a.data, data = _b === void 0 ? [] : _b, textField = _a.textField, dataItemKey = _a.dataItemKey, _c = _a.virtual, virtual = _c === void 0 ? { skip: 0 } : _c, listNoDataRender = _a.listNoDataRender, itemRender = _a.itemRender;
@@ -141,13 +122,13 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
141
122
  var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;
142
123
  var popupSettings = _this.base.getPopupSettings();
143
124
  var translate = "translateY(" + vs.translate + "px)";
144
- return (React.createElement(List, { id: _this.base.listBoxId, show: opened, data: data.slice(), focusedIndex: _this.focusedIndex(), value: _this.value, textField: textField, valueField: dataItemKey, optionsGuid: _this.base.guid, listRef: function (list) { return vs.list = _this.base.list = list; }, wrapperStyle: !vs.enabled ?
145
- { maxHeight: popupSettings.height } : { float: 'left', width: '100%' }, wrapperCssClass: !vs.enabled ? 'k-list-scroller' : undefined, listStyle: vs.enabled ?
146
- { transform: translate } : undefined, key: "listkey", skip: skip, onClick: _this.handleItemClick, itemRender: itemRender, noDataRender: listNoDataRender }));
125
+ return (React.createElement(List, { id: _this.base.listBoxId, show: opened, data: data.slice(), focusedIndex: _this.focusedIndex(), value: _this.value, textField: textField, valueField: dataItemKey, optionsGuid: _this.base.guid, listRef: function (list) { return vs.list = _this.base.list = list; }, wrapperStyle: { maxHeight: popupSettings.height }, wrapperCssClass: "k-list-content", listStyle: vs.enabled ? { transform: translate } : undefined, key: "listkey", skip: skip, onClick: _this.handleItemClick, itemRender: itemRender, noDataRender: listNoDataRender, onScroll: function (e) {
126
+ vs.scrollHandler(e);
127
+ }, wrapperRef: vs.scrollerRef, scroller: _this.base.renderScrollElement() }));
147
128
  };
148
129
  _this.renderListFilter = function () {
149
130
  var filterText = _this.props.filter !== undefined ? _this.props.filter : _this.state.text;
150
- return _this.props.filterable && (React.createElement(ListFilter, { value: filterText, ref: function (filter) { return _this._filterInput = filter && filter.input; }, onChange: _this.handleListFilterChange, onKeyDown: _this.handleKeyDown }));
131
+ return _this.props.filterable && (React.createElement(ListFilter, { value: filterText, ref: function (filter) { return _this._filterInput = filter && filter.input; }, onChange: _this.handleListFilterChange, onKeyDown: _this.handleKeyDown, size: _this.props.size, rounded: _this.props.rounded, fillMode: _this.props.fillMode }));
151
132
  };
152
133
  _this.renderDefaultItem = function () {
153
134
  var _a = _this.props, textField = _a.textField, defaultItem = _a.defaultItem, dataItemKey = _a.dataItemKey;
@@ -283,6 +264,9 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
283
264
  _this.applyState(state);
284
265
  };
285
266
  _this.handleWrapperClick = function (event) {
267
+ if (event.isPropagationStopped()) {
268
+ return;
269
+ }
286
270
  var state = _this.base.initState();
287
271
  state.syntheticEvent = event;
288
272
  if (!_this.state.focused) {
@@ -508,10 +492,11 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
508
492
  * @hidden
509
493
  */
510
494
  DropDownListWithoutContext.prototype.render = function () {
511
- var _this = this;
512
- var _a = this.props, style = _a.style, className = _a.className, label = _a.label, dir = _a.dir, virtual = _a.virtual;
495
+ var _a, _b;
496
+ var _c = this.props, style = _c.style, className = _c.className, label = _c.label, dir = _c.dir, virtual = _c.virtual, size = _c.size, rounded = _c.rounded, fillMode = _c.fillMode;
513
497
  var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;
514
- var text = getItemValue(this.value, this.props.textField);
498
+ var value = this.value;
499
+ var text = getItemValue(value, this.props.textField);
515
500
  var isValid = !this.validityStyles || this.validity.valid;
516
501
  var base = this.base;
517
502
  var vs = base.vs;
@@ -521,12 +506,35 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
521
506
  base.vs.total = virtual.total;
522
507
  base.vs.pageSize = virtual.pageSize;
523
508
  }
524
- var dropdownlist = (React.createElement("span", { ref: function (dropdown) { return _this._element = dropdown; }, className: classNames('k-widget k-dropdown', {
525
- 'k-state-invalid': !isValid
526
- }, className), style: !label
509
+ var _d = this.props, dataItemKey = _d.dataItemKey, _e = _d.data, data = _e === void 0 ? [] : _e, disabled = _d.disabled, tabIndex = _d.tabIndex, loading = _d.loading, iconClassName = _d.iconClassName, valueRender = _d.valueRender;
510
+ var focused = this.state.focused;
511
+ var selectedIndex = data.findIndex(function (i) { return areSame(i, value, dataItemKey); });
512
+ var valueDefaultRendering = (React.createElement("span", { className: "k-input-inner" },
513
+ React.createElement("span", { className: "k-input-value-text" }, text)));
514
+ var valueElement = valueRender !== undefined ?
515
+ valueRender.call(undefined, valueDefaultRendering, value) : valueDefaultRendering;
516
+ var dropdownlist = (React.createElement("span", { ref: this.componentRef, className: classNames('k-dropdownlist k-picker', className, (_a = {},
517
+ _a["k-picker-" + (sizeMap[size] || size)] = size,
518
+ _a["k-rounded-" + (roundedMap[rounded] || rounded)] = rounded,
519
+ _a["k-picker-" + fillMode] = fillMode,
520
+ _a['k-focused'] = focused,
521
+ _a['k-disabled'] = disabled,
522
+ _a['k-invalid'] = !isValid,
523
+ _a['k-valid'] = isValid,
524
+ _a['k-loading'] = loading,
525
+ _a['k-required'] = this.required,
526
+ _a)), style: !label
527
527
  ? style
528
- : __assign({}, style, { width: undefined }), dir: dir, onMouseDown: opened ? preventDefaultNonInputs : undefined, onFocus: this.handleFocus, onBlur: this.handleBlur },
529
- this.renderDropDownWrapper(),
528
+ : __assign({}, style, { width: undefined }), dir: dir, onMouseDown: opened ? preventDefaultNonInputs : undefined, onFocus: this.handleFocus, onBlur: this.handleBlur, tabIndex: getTabIndex(tabIndex, disabled), accessKey: this.props.accessKey, onKeyDown: this.handleKeyDown, onKeyPress: this.handleKeyPress, onClick: disabled ? undefined : this.handleWrapperClick, role: 'listbox', "aria-disabled": disabled || undefined, "aria-haspopup": true, "aria-expanded": opened || false, "aria-owns": this.base.listBoxId, "aria-activedescendant": opened ? ('option-' + this.base.guid + '-' + (selectedIndex + (virtual ? virtual.skip : 0))) : undefined, "aria-label": this.props.label, "aria-labelledby": this.props.ariaLabelledBy, "aria-describedby": this.props.ariaDescribedBy, id: this.props.id, title: this.props.title },
529
+ valueElement,
530
+ loading && React.createElement("span", { className: "k-icon k-i-loading", key: "loading" }),
531
+ React.createElement("button", { type: "button", className: classNames('k-input-button k-button k-icon-button', (_b = {},
532
+ _b["k-button-" + (sizeMap[size] || size)] = size,
533
+ _b["k-button-" + fillMode] = fillMode,
534
+ _b["k-button-" + fillMode + "-base"] = fillMode,
535
+ _b)), onMouseDown: function (e) { return e.preventDefault(); } },
536
+ React.createElement("span", { className: classNames('k-button-icon k-icon k-i-arrow-s', iconClassName) })),
537
+ this.dummySelect(value),
530
538
  this.renderListContainer()));
531
539
  return label ? (React.createElement(FloatingLabel, { label: label, editorValue: text, editorValid: isValid, editorDisabled: this.props.disabled, style: { width: style ? style.width : undefined }, children: dropdownlist })) : dropdownlist;
532
540
  };
@@ -591,7 +599,7 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
591
599
  /**
592
600
  * @hidden
593
601
  */
594
- DropDownListWithoutContext.defaultProps = __assign({ delay: 500, tabIndex: 0, ignoreCase: true }, DropDownBase.defaultProps, { required: false });
602
+ DropDownListWithoutContext.defaultProps = __assign({ delay: 500, tabIndex: 0, ignoreCase: true }, DropDownBase.defaultProps, { required: false, size: 'medium', rounded: 'medium', fillMode: 'solid' });
595
603
  return DropDownListWithoutContext;
596
604
  }(React.Component));
597
605
  export { DropDownListWithoutContext };
@@ -244,4 +244,41 @@ export interface DropDownListProps extends FormComponentProps {
244
244
  * Useful when the DropDownList is placed inside a toolbar which needs to handle left and right keys.
245
245
  */
246
246
  leftRightKeysNavigation?: boolean;
247
+ /**
248
+ * Configures the `size` of the DropDownList.
249
+ *
250
+ * The available options are:
251
+ * - small
252
+ * - medium
253
+ * - large
254
+ * - null—Does not set a size `className`.
255
+ *
256
+ * @default `medium`
257
+ */
258
+ size?: null | 'small' | 'medium' | 'large';
259
+ /**
260
+ * Configures the `roundness` of the DropDownList.
261
+ *
262
+ * The available options are:
263
+ * - small
264
+ * - medium
265
+ * - large
266
+ * - full
267
+ * - null—Does not set a rounded `className`.
268
+ *
269
+ * @default `medium`
270
+ */
271
+ rounded?: null | 'small' | 'medium' | 'large' | 'full';
272
+ /**
273
+ * Configures the `fillMode` of the DropDownList.
274
+ *
275
+ * The available options are:
276
+ * - solid
277
+ * - flat
278
+ * - outline
279
+ * - null—Does not set a fillMode `className`.
280
+ *
281
+ * @default `solid`
282
+ */
283
+ fillMode?: null | 'solid' | 'flat' | 'outline';
247
284
  }
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import * as React from 'react';
13
13
  import * as PropTypes from 'prop-types';
14
- import { classNames, noop, useRtl, getTabIndex, Keys, mapTree, extendDataItem, guid, createPropsContext, usePropsContext } from '@progress/kendo-react-common';
14
+ import { classNames, noop, useRtl, getTabIndex, Keys, mapTree, extendDataItem, guid, createPropsContext, kendoThemeMaps, usePropsContext } from '@progress/kendo-react-common';
15
15
  import { Popup } from '@progress/kendo-react-popup';
16
16
  import { useLocalization } from '@progress/kendo-react-intl';
17
17
  import { TreeView } from '@progress/kendo-react-treeview';
@@ -22,8 +22,12 @@ import { useDropdownWidth } from './useDropdownWidth';
22
22
  import { ListNoData } from './ListNoData';
23
23
  import { messages, clear, nodata } from './../messages';
24
24
  import { FloatingLabel } from '@progress/kendo-react-labels';
25
+ import ListFilter from '../common/ListFilter';
26
+ var sizeMap = kendoThemeMaps.sizeMap, roundedMap = kendoThemeMaps.roundedMap;
25
27
  var VALIDATION_MESSAGE = 'Please select a value from the list!';
26
- var ValueHolder = function (props) { return React.createElement(React.Fragment, null, props.children); };
28
+ var ValueHolder = function (props) {
29
+ return React.createElement("span", { className: "k-input-value-text" }, props.children);
30
+ };
27
31
  var toLevel = function (hierarchicalIndex) {
28
32
  return hierarchicalIndex.split('_').map(function (i) { return parseInt(i, 10); });
29
33
  };
@@ -44,7 +48,10 @@ var defaultProps = {
44
48
  height: '200px'
45
49
  },
46
50
  required: false,
47
- validityStyles: true
51
+ validityStyles: true,
52
+ size: 'medium',
53
+ rounded: 'medium',
54
+ fillMode: 'solid'
48
55
  };
49
56
  /**
50
57
  * Represents the PropsContext of the `DropDownTree` component.
@@ -60,11 +67,12 @@ export var DropDownTreePropsContext = createPropsContext();
60
67
  * Obtaining the `ref` returns an object of type [DropDownTreeHandle]({% slug api_dropdowns_dropdowntreehandle %}).
61
68
  */
62
69
  export var DropDownTree = React.forwardRef(function (directProps, ref) {
70
+ var _a, _b;
63
71
  validatePackage(packageMetadata);
64
72
  var props = usePropsContext(DropDownTreePropsContext, directProps);
65
73
  var calculatedId = React.useMemo(function () { return guid(); }, []);
66
74
  var id = props.id || calculatedId;
67
- var _a = props.data, data = _a === void 0 ? [] : _a, dataItemKey = props.dataItemKey, _b = props.popupSettings, popupSettings = _b === void 0 ? {} : _b, _c = props.style, style = _c === void 0 ? {} : _c, opened = props.opened, disabled = props.disabled, _d = props.onOpen, onOpen = _d === void 0 ? noop : _d, _e = props.onClose, onClose = _e === void 0 ? noop : _e, placeholder = props.placeholder, label = props.label, name = props.name, _f = props.selectField, selectField = _f === void 0 ? defaultProps.selectField : _f, _g = props.subItemsField, subItemsField = _g === void 0 ? defaultProps.subItemsField : _g, validationMessage = props.validationMessage, valid = props.valid, _h = props.required, required = _h === void 0 ? defaultProps.required : _h, _j = props.validityStyles, validityStyles = _j === void 0 ? defaultProps.validityStyles : _j;
75
+ var _c = props.data, data = _c === void 0 ? [] : _c, dataItemKey = props.dataItemKey, _d = props.popupSettings, popupSettings = _d === void 0 ? {} : _d, _e = props.style, style = _e === void 0 ? {} : _e, opened = props.opened, disabled = props.disabled, _f = props.onOpen, onOpen = _f === void 0 ? noop : _f, _g = props.onClose, onClose = _g === void 0 ? noop : _g, placeholder = props.placeholder, label = props.label, name = props.name, _h = props.selectField, selectField = _h === void 0 ? defaultProps.selectField : _h, _j = props.subItemsField, subItemsField = _j === void 0 ? defaultProps.subItemsField : _j, validationMessage = props.validationMessage, valid = props.valid, required = props.required, validityStyles = props.validityStyles;
68
76
  var tabIndex = getTabIndex(props.tabIndex, disabled);
69
77
  var target = React.useRef(null);
70
78
  var elementRef = React.useRef(null);
@@ -156,13 +164,13 @@ export var DropDownTree = React.forwardRef(function (directProps, ref) {
156
164
  if (keyCode === Keys.esc || (altKey && keyCode === Keys.up)) {
157
165
  closePopup(ev);
158
166
  }
159
- else if (treeview && treeview.querySelector('.k-state-focused') &&
167
+ else if (treeview && treeview.querySelector('.k-focus') &&
160
168
  (keyCode === Keys.up || keyCode === Keys.down ||
161
169
  keyCode === Keys.left || keyCode === Keys.right ||
162
170
  keyCode === Keys.home || keyCode === Keys.end)) {
163
171
  if (keyCode === Keys.up && inputRef.current) {
164
172
  var items = Array.from(treeview.querySelectorAll('.k-treeview-item'));
165
- var focusedItem = items.slice().reverse().find(function (i) { return Boolean(i && i.querySelector('.k-state-focused')); });
173
+ var focusedItem = items.slice().reverse().find(function (i) { return Boolean(i && i.querySelector('.k-focus')); });
166
174
  if (focusedItem && items.indexOf(focusedItem) === 0) {
167
175
  return switchFocus(function () { focusElement(inputRef.current); });
168
176
  }
@@ -289,6 +297,7 @@ export var DropDownTree = React.forwardRef(function (directProps, ref) {
289
297
  level: toLevel(itemHierarchicalIndex),
290
298
  item: item, nativeEvent: nativeEvent, syntheticEvent: syntheticEvent, target: target.current
291
299
  };
300
+ syntheticEvent.stopPropagation();
292
301
  props.onExpandChange.call(undefined, expandEvent);
293
302
  }
294
303
  }, [props.onExpandChange]);
@@ -318,24 +327,34 @@ export var DropDownTree = React.forwardRef(function (directProps, ref) {
318
327
  var ValueComponent = props.valueHolder || ValueHolder;
319
328
  var localization = useLocalization();
320
329
  var isValid = !validityStyles || validity.valid;
321
- var dropdowntree = (React.createElement("span", { className: classNames('k-widget k-dropdowntree k-dropdowntree-clearable', props.className), tabIndex: tabIndex, accessKey: props.accessKey, id: id, style: label ? __assign({}, style, { width: undefined }) : style, dir: dir, ref: elementRef, onKeyDown: disabled ? undefined : onWrapperKeyDown, onMouseDown: onWrapperMouseDown, onFocus: onFocus, onBlur: onBlur, role: "listbox", "aria-haspopup": "true", "aria-expanded": isOpen, "aria-disabled": disabled, "aria-label": label, "aria-labelledby": props.ariaLabelledBy, "aria-describedby": props.ariaDescribedBy },
322
- React.createElement("span", { className: classNames('k-dropdown-wrap', {
323
- 'k-state-focused': focused,
324
- 'k-state-disabled': disabled,
325
- 'k-state-invalid': !isValid
326
- }), onClick: disabled ? undefined : onWrapperClick },
327
- React.createElement("span", { className: "k-input" },
328
- React.createElement(ValueComponent, { item: value }, currentValueText || placeholder)),
329
- hasValue && !disabled && (React.createElement("span", { onClick: onClear, className: "k-icon k-clear-value k-i-close", title: localization.toLanguageString(clear, messages[clear]), role: "button", tabIndex: -1, onMouseDown: function (e) { return e.preventDefault(); } })),
330
- React.createElement("span", { className: "k-select", "aria-label": "select" },
331
- React.createElement("span", { className: classNames('k-icon', { 'k-i-arrow-60-down': !props.loading, 'k-i-loading': props.loading }) })),
332
- React.createElement("select", { name: name, ref: selectRef, tabIndex: -1, "aria-hidden": true, title: label, style: { opacity: 0, width: 1, border: 0, zIndex: -1, position: 'absolute', left: '50%' } },
333
- React.createElement("option", { value: props.valueMap ? props.valueMap.call(undefined, value) : value }))),
334
- React.createElement(Popup, { className: classNames('k-list-container k-group k-reset k-popup-dropdowntree', popupSettings.className, { 'k-rtl': dir === 'rtl' }), popupClass: popupSettings.popupClass, style: popupStyles, animate: popupSettings.animate, anchor: elementRef.current, show: isOpen, onOpen: onPopupOpened, onClose: onPopupClosed, appendTo: popupSettings.appendTo },
335
- props.filterable && (React.createElement("span", { className: "k-list-filter" },
336
- React.createElement("input", { className: "k-textbox", tabIndex: tabIndex, ref: inputRef, value: props.filter === undefined ? filter : props.filter, onChange: onFilterChange, onKeyDown: onInputKeyDown }),
337
- React.createElement("span", { className: "k-icon k-i-zoom" }))),
338
- data.length > 0 ? (React.createElement(TreeView, { ref: treeViewRef, tabIndex: tabIndex, data: treeViewData, focusIdField: dataItemKey, textField: props.textField, selectField: selectField, expandField: props.expandField, childrenField: subItemsField, expandIcons: true, onItemClick: onChange, onExpandChange: onExpand, item: props.item })) : (React.createElement(NoData, null, localization.toLanguageString(nodata, messages[nodata]))))));
330
+ var size = props.size, rounded = props.rounded, fillMode = props.fillMode;
331
+ var dropdowntree = (React.createElement("span", { className: classNames('k-dropdowntree k-picker', props.className, (_a = {},
332
+ _a["k-picker-" + (sizeMap[size] || size)] = size,
333
+ _a["k-rounded-" + (roundedMap[rounded] || rounded)] = rounded,
334
+ _a["k-picker-" + fillMode] = fillMode,
335
+ _a['k-focus'] = focused,
336
+ _a['k-valid'] = isValid,
337
+ _a['k-invalid'] = !isValid,
338
+ _a['k-loading'] = props.loading,
339
+ _a['k-required'] = required,
340
+ _a['k-disabled'] = props.disabled,
341
+ _a)), tabIndex: tabIndex, accessKey: props.accessKey, id: id, style: label ? __assign({}, style, { width: undefined }) : style, dir: dir, ref: elementRef, onKeyDown: disabled ? undefined : onWrapperKeyDown, onMouseDown: onWrapperMouseDown, onClick: disabled ? undefined : onWrapperClick, onFocus: onFocus, onBlur: onBlur, role: "listbox", "aria-haspopup": "true", "aria-expanded": isOpen, "aria-disabled": disabled, "aria-label": label, "aria-labelledby": props.ariaLabelledBy, "aria-describedby": props.ariaDescribedBy },
342
+ React.createElement("span", { className: "k-input-inner" },
343
+ React.createElement(ValueComponent, { item: value }, currentValueText || placeholder)),
344
+ props.loading && React.createElement("span", { className: "k-icon k-i-loading" }),
345
+ hasValue && !disabled && (React.createElement("span", { onClick: onClear, className: "k-clear-value", title: localization.toLanguageString(clear, messages[clear]), role: "button", tabIndex: -1, onMouseDown: function (e) { return e.preventDefault(); } },
346
+ React.createElement("span", { className: "k-icon k-i-x" }))),
347
+ React.createElement("button", { type: "button", "aria-label": "select", className: classNames('k-input-button k-button k-icon-button', (_b = {},
348
+ _b["k-button-" + (sizeMap[size] || size)] = size,
349
+ _b["k-button-" + fillMode] = fillMode,
350
+ _b["k-button-" + fillMode + "-base"] = fillMode,
351
+ _b)) },
352
+ React.createElement("span", { className: "k-button-icon k-icon k-i-arrow-s" })),
353
+ React.createElement("select", { name: name, ref: selectRef, tabIndex: -1, "aria-hidden": true, title: label, style: { opacity: 0, width: 1, border: 0, zIndex: -1, position: 'absolute', left: '50%' } },
354
+ React.createElement("option", { value: props.valueMap ? props.valueMap.call(undefined, value) : value })),
355
+ React.createElement(Popup, { className: classNames(popupSettings.className, { 'k-rtl': dir === 'rtl' }), popupClass: popupSettings.popupClass, style: popupStyles, animate: popupSettings.animate, anchor: elementRef.current, show: isOpen, onOpen: onPopupOpened, onClose: onPopupClosed, appendTo: popupSettings.appendTo },
356
+ props.filterable && (React.createElement(ListFilter, { value: props.filter === undefined ? filter : props.filter, inputRef: inputRef, onChange: onFilterChange, onKeyDown: onInputKeyDown, size: size, rounded: rounded, fillMode: fillMode })),
357
+ data.length > 0 ? (React.createElement(TreeView, { ref: treeViewRef, tabIndex: tabIndex, data: treeViewData, focusIdField: dataItemKey, textField: props.textField, selectField: selectField, expandField: props.expandField, childrenField: subItemsField, expandIcons: true, onItemClick: onChange, onExpandChange: onExpand, size: size, item: props.item })) : (React.createElement(NoData, null, localization.toLanguageString(nodata, messages[nodata]))))));
339
358
  return label ? (React.createElement(FloatingLabel, { label: label, editorValue: currentValueText, editorPlaceholder: placeholder, editorValid: isValid, editorDisabled: disabled, editorId: id, style: { width: style ? style.width : undefined }, children: dropdowntree, dir: dir })) : dropdowntree;
340
359
  });
341
360
  var propTypes = {
@@ -390,4 +409,5 @@ var propTypes = {
390
409
  listNoData: PropTypes.func
391
410
  };
392
411
  DropDownTree.displayName = 'KendoReactDropDownTree';
412
+ DropDownTree.defaultProps = defaultProps;
393
413
  DropDownTree.propTypes = propTypes;
@@ -246,4 +246,41 @@ export interface DropDownTreeProps extends FormComponentProps {
246
246
  * ([see example]({% slug customrendering_dropdowntree %}#toc-no-data)).
247
247
  */
248
248
  listNoData?: React.ComponentType<ListNoDataProps>;
249
+ /**
250
+ * Configures the `size` of the DropDownTree.
251
+ *
252
+ * The available options are:
253
+ * - small
254
+ * - medium
255
+ * - large
256
+ * - null&mdash;Does not set a size `className`.
257
+ *
258
+ * @default `medium`
259
+ */
260
+ size?: null | 'small' | 'medium' | 'large';
261
+ /**
262
+ * Configures the `roundness` of the DropDownTree.
263
+ *
264
+ * The available options are:
265
+ * - small
266
+ * - medium
267
+ * - large
268
+ * - full
269
+ * - null&mdash;Does not set a rounded `className`.
270
+ *
271
+ * @default `medium`
272
+ */
273
+ rounded?: null | 'small' | 'medium' | 'large' | 'full';
274
+ /**
275
+ * Configures the `fillMode` of the DropDownTree.
276
+ *
277
+ * The available options are:
278
+ * - solid
279
+ * - flat
280
+ * - outline
281
+ * - null&mdash;Does not set a fillMode `className`.
282
+ *
283
+ * @default `solid`
284
+ */
285
+ fillMode?: null | 'solid' | 'flat' | 'outline';
249
286
  }
@@ -151,6 +151,43 @@ export interface MultiColumnComboBoxProps extends ComboBoxProps {
151
151
  * Sets the footer component of the MultiColumnComboBox.
152
152
  */
153
153
  footer?: React.ReactNode;
154
+ /**
155
+ * Configures the `size` of the MultiColumnComboBox.
156
+ *
157
+ * The available options are:
158
+ * - small
159
+ * - medium
160
+ * - large
161
+ * - null&mdash;Does not set a size `className`.
162
+ *
163
+ * @default `medium`
164
+ */
165
+ size?: null | 'small' | 'medium' | 'large';
166
+ /**
167
+ * Configures the `roundness` of the MultiColumnComboBox.
168
+ *
169
+ * The available options are:
170
+ * - small
171
+ * - medium
172
+ * - large
173
+ * - full
174
+ * - null&mdash;Does not set a rounded `className`.
175
+ *
176
+ * @default `medium`
177
+ */
178
+ rounded?: null | 'small' | 'medium' | 'large' | 'full';
179
+ /**
180
+ * Configures the `fillMode` of the MultiColumnComboBox.
181
+ *
182
+ * The available options are:
183
+ * - solid
184
+ * - flat
185
+ * - outline
186
+ * - null&mdash;Does not set a fillMode `className`.
187
+ *
188
+ * @default `solid`
189
+ */
190
+ fillMode?: null | 'solid' | 'flat' | 'outline';
154
191
  }
155
192
  /**
156
193
  * Represents the target(element and props) of the MultiColumnComboBoxChangeEvent.
@@ -21,8 +21,9 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  import * as React from 'react';
22
22
  import * as PropTypes from 'prop-types';
23
23
  import { MultiColumnList } from './../common/MultiColumnList';
24
- import { classNames, getScrollbarWidth, setScrollbarWidth, getter, usePropsContext, createPropsContext } from '@progress/kendo-react-common';
24
+ import { classNames, getScrollbarWidth, setScrollbarWidth, kendoThemeMaps, getter, usePropsContext, createPropsContext } from '@progress/kendo-react-common';
25
25
  import { ComboBox, ComboBoxWithoutContext } from '../ComboBox/ComboBox';
26
+ var sizeMap = kendoThemeMaps.sizeMap;
26
27
  var columnWidth = function (width, defaultWidth) {
27
28
  if (width) {
28
29
  return typeof width === 'number' ? width + 'px' : width;
@@ -44,11 +45,12 @@ export var MultiColumnComboBoxPropsContext = createPropsContext();
44
45
  *
45
46
  */
46
47
  export var MultiColumnComboBox = React.forwardRef(function (directProps, ref) {
48
+ var _a;
47
49
  var props = usePropsContext(MultiColumnComboBoxPropsContext, directProps);
48
50
  var target = React.useRef(null);
49
51
  var comboBoxRef = React.useRef(null);
50
52
  var scrollbarWidth = getScrollbarWidth();
51
- var _a = props.columns, columns = _a === void 0 ? defaultProps.columns : _a, _b = props.popupSettings, popupSettings = _b === void 0 ? defaultProps.popupSettings : _b, onOpen = props.onOpen, onClose = props.onClose, onFocus = props.onFocus, onBlur = props.onBlur, onChange = props.onChange, onFilterChange = props.onFilterChange, onPageChange = props.onPageChange, other = __rest(props, ["columns", "popupSettings", "onOpen", "onClose", "onFocus", "onBlur", "onChange", "onFilterChange", "onPageChange"]);
53
+ var _b = props.columns, columns = _b === void 0 ? defaultProps.columns : _b, _c = props.popupSettings, popupSettings = _c === void 0 ? defaultProps.popupSettings : _c, size = props.size, onOpen = props.onOpen, onClose = props.onClose, onFocus = props.onFocus, onBlur = props.onBlur, onChange = props.onChange, onFilterChange = props.onFilterChange, onPageChange = props.onPageChange, other = __rest(props, ["columns", "popupSettings", "size", "onOpen", "onClose", "onFocus", "onBlur", "onChange", "onFilterChange", "onPageChange"]);
52
54
  React.useImperativeHandle(target, function () {
53
55
  return ({
54
56
  element: comboBoxRef.current && comboBoxRef.current.element,
@@ -68,19 +70,19 @@ export var MultiColumnComboBox = React.forwardRef(function (directProps, ref) {
68
70
  }, [columns, scrollbarWidth]);
69
71
  var header = React.useMemo(function () { return (React.createElement(React.Fragment, null,
70
72
  props.header,
71
- React.createElement("div", { className: "k-grid-header" },
72
- React.createElement("div", { className: "k-grid-header-wrap" },
73
- React.createElement("table", { role: "presentation" },
73
+ React.createElement("div", { className: "k-table-header" },
74
+ React.createElement("div", { className: "k-table-header-wrap" },
75
+ React.createElement("table", { className: "k-table", role: "presentation" },
74
76
  React.createElement("colgroup", null, columns.map(function (column, i) {
75
77
  return (React.createElement("col", { key: column.uniqueKey ? column.uniqueKey : i, style: { width: column.width ? column.width : defaultProps.width } }));
76
78
  })),
77
- React.createElement("tbody", null,
78
- React.createElement("tr", null, columns.map(function (column, i) {
79
- return (React.createElement("th", { key: column.uniqueKey ? column.uniqueKey : i, className: "k-header" }, column.header || '\u00A0'));
79
+ React.createElement("thead", { className: 'k-table-thead' },
80
+ React.createElement("tr", { className: 'k-table-row' }, columns.map(function (column, i) {
81
+ return (React.createElement("th", { className: "k-table-th", key: column.uniqueKey ? column.uniqueKey : i }, column.header || '\u00A0'));
80
82
  })))))))); }, [props.header, columns]);
81
83
  var skip = props.virtual ? props.virtual.skip : 0;
82
84
  var itemRender = React.useCallback(function (li, liProps) {
83
- var children = columns.map(function (column, i) { return (React.createElement("span", { className: "k-cell", style: { width: column.width ? column.width : defaultProps.width }, key: column.uniqueKey ? column.uniqueKey : i }, column.field ? getter(column.field)(liProps.dataItem) : '')); });
85
+ var children = columns.map(function (column, i) { return (React.createElement("span", { className: "k-table-td", style: { width: column.width ? column.width : defaultProps.width }, key: column.uniqueKey ? column.uniqueKey : i }, column.field ? getter(column.field)(liProps.dataItem) : '')); });
84
86
  var group = undefined;
85
87
  var curGroup, prevGroup, groupGetter, data = props.data || [];
86
88
  var index = liProps.index - skip;
@@ -96,7 +98,11 @@ export var MultiColumnComboBox = React.forwardRef(function (directProps, ref) {
96
98
  children.push(React.createElement("div", { key: "group", className: "k-cell k-group-cell" },
97
99
  React.createElement("span", null, group)));
98
100
  }
99
- var rendering = React.cloneElement(li, __assign({}, li.props), children);
101
+ var rendering = React.cloneElement(li, __assign({}, li.props, { className: classNames('k-table-row', {
102
+ 'k-table-alt-row': liProps.index % 2 !== 0,
103
+ 'k-focus': liProps.focused,
104
+ 'k-selected': liProps.selected
105
+ }) }), children);
100
106
  return props.itemRender ? props.itemRender.call(undefined, rendering, liProps) : rendering;
101
107
  }, [columns, props.groupField, props.itemRender, props.data, skip]);
102
108
  var handleEvent = React.useCallback(function (handler, event) {
@@ -113,13 +119,18 @@ export var MultiColumnComboBox = React.forwardRef(function (directProps, ref) {
113
119
  var onPageChangeHandler = React.useCallback(function (event) { return handleEvent(onPageChange, event); }, [onPageChange]);
114
120
  React.useEffect(function () { setScrollbarWidth(); });
115
121
  var List = React.useCallback(function (listProps) { return React.createElement(MultiColumnList, __assign({}, listProps)); }, []);
116
- return (React.createElement(ComboBox, __assign({}, other, { list: List, popupSettings: __assign({ width: popupWidth }, popupSettings, { popupClass: 'k-dropdowngrid-popup', className: classNames('k-popup-flush', popupSettings.className) }), ref: comboBoxRef, header: header, itemRender: itemRender, onOpen: onOpenHandler, onClose: onCloseHandler, onFocus: onFocusHandler, onBlur: onBlurHandler, onChange: onChangeHandler, onFilterChange: onFilterChangeHandler, onPageChange: onPageChangeHandler })));
122
+ return (React.createElement(ComboBox, __assign({}, other, { list: List, popupSettings: __assign({ width: popupWidth }, popupSettings, { popupClass: classNames('k-dropdowngrid-popup k-data-table', (_a = {},
123
+ _a["k-table-" + (sizeMap[size] || size)] = size,
124
+ _a)), className: popupSettings.className }), ref: comboBoxRef, header: header, itemRender: itemRender, size: props.size, rounded: props.rounded, fillMode: props.fillMode, onOpen: onOpenHandler, onClose: onCloseHandler, onFocus: onFocusHandler, onBlur: onBlurHandler, onChange: onChangeHandler, onFilterChange: onFilterChangeHandler, onPageChange: onPageChangeHandler })));
117
125
  });
118
126
  var propTypes = __assign({}, ComboBoxWithoutContext.propTypes, { columns: PropTypes.any.isRequired });
119
127
  var defaultProps = {
120
128
  columns: [],
121
129
  popupSettings: {},
122
- width: '200px'
130
+ width: '200px',
131
+ size: 'medium',
132
+ rounded: 'medium',
133
+ fillMode: 'solid'
123
134
  };
124
135
  MultiColumnComboBox.displayName = 'KendoMultiColumnComboBox';
125
136
  // TODO: delete casting when @types/react is updated!
@@ -48,9 +48,6 @@ export declare class MultiSelectWithoutContext extends React.Component<MultiSele
48
48
  skip: PropTypes.Validator<number>;
49
49
  total: PropTypes.Validator<number>;
50
50
  }>>;
51
- /**
52
- * @hidden
53
- */
54
51
  onFilterChange: PropTypes.Requireable<(...args: any[]) => any>;
55
52
  onPageChange: PropTypes.Requireable<(...args: any[]) => any>;
56
53
  opened: PropTypes.Requireable<boolean>;
@@ -70,12 +67,14 @@ export declare class MultiSelectWithoutContext extends React.Component<MultiSele
70
67
  }>>;
71
68
  popupClass: PropTypes.Requireable<string>;
72
69
  className: PropTypes.Requireable<string>;
73
- appendTo: PropTypes.Requireable<any>;
70
+ appendTo: PropTypes.Requireable<PropTypes.ReactElementLike>;
74
71
  width: PropTypes.Requireable<string | number>;
75
72
  height: PropTypes.Requireable<string | number>;
76
73
  }>>;
77
74
  onOpen: PropTypes.Requireable<(...args: any[]) => any>;
78
- onClose: PropTypes.Requireable<(...args: any[]) => any>;
75
+ onClose: PropTypes.Requireable<(...args: any[]) => any>; /**
76
+ * @hidden
77
+ */
79
78
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
80
79
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
81
80
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
@@ -91,6 +90,9 @@ export declare class MultiSelectWithoutContext extends React.Component<MultiSele
91
90
  static defaultProps: {
92
91
  autoClose: boolean;
93
92
  required: boolean;
93
+ size: "small" | "medium" | "large";
94
+ rounded: "small" | "medium" | "large" | "full";
95
+ fillMode: "solid" | "flat" | "outline";
94
96
  popupSettings: {
95
97
  height: string;
96
98
  };
@@ -162,6 +164,7 @@ export declare class MultiSelectWithoutContext extends React.Component<MultiSele
162
164
  * @hidden
163
165
  */
164
166
  render(): JSX.Element;
167
+ private componentRef;
165
168
  private renderSearchbar;
166
169
  private searchbarRef;
167
170
  private onChangeHandler;