@progress/kendo-react-dropdowns 5.13.0-dev.202304200559 → 5.13.0-dev.202304201241

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 (51) hide show
  1. package/dist/cdn/js/kendo-react-dropdowns.js +1 -1
  2. package/dist/es/AutoComplete/AutoComplete.d.ts +11 -2
  3. package/dist/es/AutoComplete/AutoComplete.js +60 -9
  4. package/dist/es/AutoComplete/AutoCompleteProps.d.ts +22 -0
  5. package/dist/es/ComboBox/ComboBox.d.ts +5 -1
  6. package/dist/es/ComboBox/ComboBox.js +22 -11
  7. package/dist/es/ComboBox/ComboBoxProps.d.ts +18 -0
  8. package/dist/es/DropDownList/DropDownList.d.ts +5 -0
  9. package/dist/es/DropDownList/DropDownList.js +54 -9
  10. package/dist/es/DropDownList/DropDownListProps.d.ts +22 -0
  11. package/dist/es/MultiColumnComboBox/MultiColumnComboBox.js +7 -5
  12. package/dist/es/MultiSelect/MultiSelect.d.ts +44 -45
  13. package/dist/es/MultiSelect/MultiSelect.js +277 -128
  14. package/dist/es/MultiSelect/MultiSelectProps.d.ts +44 -1
  15. package/dist/es/common/DropDownBase.d.ts +1 -0
  16. package/dist/es/common/DropDownBase.js +13 -0
  17. package/dist/es/common/GroupStickyHeader.d.ts +24 -0
  18. package/dist/es/common/GroupStickyHeader.js +34 -0
  19. package/dist/es/common/List.d.ts +5 -1
  20. package/dist/es/common/List.js +9 -2
  21. package/dist/es/common/ListGroupItem.d.ts +33 -0
  22. package/dist/es/common/ListGroupItem.js +33 -0
  23. package/dist/es/common/ListItem.d.ts +4 -0
  24. package/dist/es/common/ListItem.js +3 -3
  25. package/dist/es/package-metadata.js +1 -1
  26. package/dist/npm/AutoComplete/AutoComplete.d.ts +11 -2
  27. package/dist/npm/AutoComplete/AutoComplete.js +60 -9
  28. package/dist/npm/AutoComplete/AutoCompleteProps.d.ts +22 -0
  29. package/dist/npm/ComboBox/ComboBox.d.ts +5 -1
  30. package/dist/npm/ComboBox/ComboBox.js +22 -11
  31. package/dist/npm/ComboBox/ComboBoxProps.d.ts +18 -0
  32. package/dist/npm/DropDownList/DropDownList.d.ts +5 -0
  33. package/dist/npm/DropDownList/DropDownList.js +54 -9
  34. package/dist/npm/DropDownList/DropDownListProps.d.ts +22 -0
  35. package/dist/npm/MultiColumnComboBox/MultiColumnComboBox.js +7 -5
  36. package/dist/npm/MultiSelect/MultiSelect.d.ts +44 -45
  37. package/dist/npm/MultiSelect/MultiSelect.js +276 -127
  38. package/dist/npm/MultiSelect/MultiSelectProps.d.ts +44 -1
  39. package/dist/npm/common/DropDownBase.d.ts +1 -0
  40. package/dist/npm/common/DropDownBase.js +13 -0
  41. package/dist/npm/common/GroupStickyHeader.d.ts +24 -0
  42. package/dist/npm/common/GroupStickyHeader.js +36 -0
  43. package/dist/npm/common/List.d.ts +5 -1
  44. package/dist/npm/common/List.js +9 -2
  45. package/dist/npm/common/ListGroupItem.d.ts +33 -0
  46. package/dist/npm/common/ListGroupItem.js +35 -0
  47. package/dist/npm/common/ListItem.d.ts +4 -0
  48. package/dist/npm/common/ListItem.js +3 -3
  49. package/dist/npm/package-metadata.js +1 -1
  50. package/dist/systemjs/kendo-react-dropdowns.js +1 -1
  51. package/package.json +13 -13
@@ -73,6 +73,9 @@ export var MultiColumnComboBox = React.forwardRef(function (directProps, ref) {
73
73
  }, [props.data, props.groupField]);
74
74
  var _c = React.useState(initialGroupHeader), groupHeader = _c[0], setGroupHeader = _c[1];
75
75
  var header = React.useMemo(function () {
76
+ var renderer = (React.createElement("th", { className: 'k-table-th', colSpan: columns.length },
77
+ groupHeader,
78
+ " "));
76
79
  return (React.createElement(React.Fragment, null,
77
80
  props.header,
78
81
  React.createElement("div", { className: "k-table-header-wrap" },
@@ -84,8 +87,7 @@ export var MultiColumnComboBox = React.forwardRef(function (directProps, ref) {
84
87
  React.createElement("tr", { className: 'k-table-row' }, columns.map(function (column, i) {
85
88
  return (React.createElement("th", { className: "k-table-th", key: column.uniqueKey ? column.uniqueKey : i }, column.header || '\u00A0'));
86
89
  })),
87
- groupHeader && React.createElement("tr", { className: 'k-table-group-row' },
88
- React.createElement("th", { className: 'k-table-th', colSpan: columns.length }, groupHeader)))))));
90
+ groupHeader && React.createElement("tr", { className: 'k-table-group-row' }, props.groupStickyHeaderItemRender ? props.groupStickyHeaderItemRender.call(undefined, renderer, {}) : renderer))))));
89
91
  }, [props.header, columns, groupHeader]);
90
92
  var popupWidth = React.useMemo(function () {
91
93
  // These additional 4px are coming from the child elements side borders (fixes horizontal scrollbar)
@@ -93,7 +95,7 @@ export var MultiColumnComboBox = React.forwardRef(function (directProps, ref) {
93
95
  }, [columns, scrollbarWidth]);
94
96
  var skip = props.virtual ? props.virtual.skip : 0;
95
97
  var itemRender = React.useCallback(function (li, liProps) {
96
- 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) : '')); });
98
+ var children = columns.map(function (column, i) { return (React.createElement("span", { className: !props.itemRender ? 'k-table-td' : undefined, style: !props.itemRender ? { width: column.width ? column.width : defaultProps.width } : undefined, key: column.uniqueKey ? column.uniqueKey : i }, column.field ? getter(column.field)(liProps.dataItem) : '')); });
97
99
  var group = undefined;
98
100
  var curGroup, prevGroup, groupGetter, data = props.data || [];
99
101
  var index = liProps.index - skip;
@@ -105,7 +107,7 @@ export var MultiColumnComboBox = React.forwardRef(function (directProps, ref) {
105
107
  group = curGroup;
106
108
  }
107
109
  }
108
- if (group) {
110
+ if (group && props.groupMode === 'classic') {
109
111
  children.push(React.createElement("div", { key: "group", className: "k-table-td k-table-group-td" },
110
112
  React.createElement("span", null, group)));
111
113
  }
@@ -134,7 +136,7 @@ export var MultiColumnComboBox = React.forwardRef(function (directProps, ref) {
134
136
  }, []);
135
137
  React.useEffect(function () { setScrollbarWidth(); });
136
138
  var List = React.useCallback(function (listProps) { return React.createElement(MultiColumnList, __assign({}, listProps)); }, []);
137
- return (React.createElement(ComboBox, __assign({}, other, { list: List, popupSettings: __assign(__assign({ width: popupWidth }, popupSettings), { popupClass: 'k-dropdowngrid-popup k-reset', 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, onGroupScroll: onGroupScroll, className: classNames('k-dropdowngrid', className), required: props.required })));
139
+ return (React.createElement(ComboBox, __assign({}, other, { list: List, popupSettings: __assign(__assign({ width: popupWidth }, popupSettings), { popupClass: 'k-dropdowngrid-popup k-reset', className: popupSettings.className }), ref: comboBoxRef, header: header, itemRender: itemRender, groupHeaderItemRender: props.groupHeaderItemRender, size: props.size, rounded: props.rounded, fillMode: props.fillMode, groupMode: props.groupMode, groupField: props.groupField, isMultiColumn: true, onOpen: onOpenHandler, onClose: onCloseHandler, onFocus: onFocusHandler, onBlur: onBlurHandler, onChange: onChangeHandler, onFilterChange: onFilterChangeHandler, onPageChange: onPageChangeHandler, onGroupScroll: onGroupScroll, className: classNames('k-dropdowngrid', className), required: props.required })));
138
140
  });
139
141
  var propTypes = __assign(__assign({}, ComboBoxWithoutContext.propTypes), { columns: PropTypes.any.isRequired });
140
142
  var defaultProps = {
@@ -5,28 +5,24 @@ import { TagData } from './TagList';
5
5
  import DropDownBase from '../common/DropDownBase';
6
6
  import { MultiSelectProps } from './MultiSelectProps';
7
7
  import { DropDownStateBase, InternalState, ActiveDescendant } from './../common/settings';
8
- /**
9
- * @hidden
10
- */
8
+ /** @hidden */
11
9
  export interface MultiSelectState extends DropDownStateBase {
12
10
  selectedItems?: Array<any>;
13
11
  focusedIndex?: number;
14
12
  focusedTag?: TagData;
15
13
  activedescendant?: ActiveDescendant;
16
14
  value?: Array<any>;
15
+ currentTreeValue?: Array<any>;
16
+ windowWidth?: number;
17
17
  }
18
- /**
19
- * @hidden
20
- */
18
+ /** @hidden */
21
19
  export interface MultiSelectInternalState extends InternalState {
22
20
  data: MultiSelectState;
23
21
  }
24
22
  /** @hidden */
25
23
  export declare class MultiSelectWithoutContext extends React.Component<MultiSelectProps, MultiSelectState> implements FormComponent {
26
24
  static displayName: string;
27
- /**
28
- * @hidden
29
- */
25
+ /** @hidden */
30
26
  static propTypes: {
31
27
  autoClose: PropTypes.Requireable<boolean>;
32
28
  value: PropTypes.Requireable<any[]>;
@@ -41,6 +37,11 @@ export declare class MultiSelectWithoutContext extends React.Component<MultiSele
41
37
  id: PropTypes.Requireable<string>;
42
38
  ariaLabelledBy: PropTypes.Requireable<string>;
43
39
  ariaDescribedBy: PropTypes.Requireable<string>;
40
+ groupField: PropTypes.Requireable<string>;
41
+ list: PropTypes.Requireable<any>;
42
+ adaptive: PropTypes.Requireable<boolean>;
43
+ adaptiveTitle: PropTypes.Requireable<string>;
44
+ onCancel: PropTypes.Requireable<(...args: any[]) => any>;
44
45
  filterable: PropTypes.Requireable<boolean>;
45
46
  filter: PropTypes.Requireable<string>;
46
47
  virtual: PropTypes.Requireable<PropTypes.InferProps<{
@@ -82,23 +83,20 @@ export declare class MultiSelectWithoutContext extends React.Component<MultiSele
82
83
  header: PropTypes.Requireable<PropTypes.ReactNodeLike>;
83
84
  footer: PropTypes.Requireable<PropTypes.ReactNodeLike>;
84
85
  };
85
- /**
86
- * @hidden
87
- */
86
+ /** @hidden */
88
87
  static defaultProps: {
89
88
  autoClose: boolean;
90
89
  required: boolean;
91
90
  size: "small" | "medium" | "large" | null | undefined;
92
91
  rounded: "small" | "medium" | "full" | "large" | null | undefined;
93
92
  fillMode: "flat" | "outline" | "solid" | null | undefined;
93
+ groupMode: string | undefined;
94
94
  popupSettings: {
95
95
  height: string;
96
96
  };
97
97
  validityStyles: boolean;
98
98
  };
99
- /**
100
- * @hidden
101
- */
99
+ /** @hidden */
102
100
  readonly state: MultiSelectState;
103
101
  private _element;
104
102
  private _valueItemsDuringOnChange;
@@ -106,17 +104,26 @@ export declare class MultiSelectWithoutContext extends React.Component<MultiSele
106
104
  protected readonly base: DropDownBase;
107
105
  private readonly _tags;
108
106
  private _input;
107
+ private _adaptiveInput;
109
108
  private _skipFocusEvent;
109
+ private itemHeight;
110
110
  protected scrollToFocused: boolean;
111
+ private localization;
112
+ private observerResize?;
113
+ private get document();
111
114
  constructor(props: MultiSelectProps);
112
- /**
113
- * @hidden
114
- */
115
+ /** @hidden */
115
116
  focus: () => void;
117
+ /** @hidden */
118
+ get element(): HTMLSpanElement | null;
119
+ /** @hidden */
120
+ get opened(): boolean;
121
+ /** @hidden */
122
+ get tagsToRender(): Array<TagData>;
116
123
  /**
117
- * @hidden
124
+ * The mobile mode of the ComboBox.
118
125
  */
119
- get element(): HTMLSpanElement | null;
126
+ get mobileMode(): boolean;
120
127
  /**
121
128
  * Represents the value of the MultiSelect.
122
129
  */
@@ -129,41 +136,27 @@ export declare class MultiSelectWithoutContext extends React.Component<MultiSele
129
136
  * Represents the validity state into which the MultiSelect is set.
130
137
  */
131
138
  get validity(): FormComponentValidity;
132
- /**
133
- * @hidden
134
- */
139
+ /** @hidden */
135
140
  protected get required(): boolean;
136
141
  protected get validityStyles(): boolean;
137
- /**
138
- * @hidden
139
- */
142
+ /** @hidden */
140
143
  componentDidUpdate(prevProps: MultiSelectProps, prevState: MultiSelectState): void;
141
- /**
142
- * @hidden
143
- */
144
+ /** @hidden */
144
145
  componentDidMount(): void;
145
- /**
146
- * @hidden
147
- */
146
+ /** @hidden */
147
+ componentWillUnmount(): void;
148
+ /** @hidden */
148
149
  handleItemSelect: (index: number, state: MultiSelectInternalState) => void;
149
- /**
150
- * @hidden
151
- */
150
+ /** @hidden */
152
151
  onTagDelete: (itemsToRemove: Array<any>, event: React.MouseEvent<HTMLSpanElement>) => void;
153
- /**
154
- * @hidden
155
- */
152
+ /** @hidden */
156
153
  onNavigate(state: MultiSelectInternalState, keyCode: number): void;
157
- /**
158
- * @hidden
159
- */
154
+ /** @hidden */
160
155
  itemFocus: (index: number, state: MultiSelectInternalState) => void;
161
- /**
162
- * @hidden
163
- */
156
+ /** @hidden */
164
157
  render(): JSX.Element;
165
158
  private componentRef;
166
- private renderSearchbar;
159
+ private renderSearchBar;
167
160
  private searchbarRef;
168
161
  private onChangeHandler;
169
162
  private clearButtonClick;
@@ -173,8 +166,13 @@ export declare class MultiSelectWithoutContext extends React.Component<MultiSele
173
166
  private selectFocusedItem;
174
167
  private setItems;
175
168
  private getFocusedState;
169
+ private listContainerContent;
176
170
  private renderListContainer;
171
+ private renderAdaptiveListContainer;
172
+ private closePopup;
173
+ private onCancel;
177
174
  private renderList;
175
+ private onScroll;
178
176
  private customItemSelect;
179
177
  private handleWrapperClick;
180
178
  private handleItemClick;
@@ -185,6 +183,7 @@ export declare class MultiSelectWithoutContext extends React.Component<MultiSele
185
183
  private focusElement;
186
184
  private applyState;
187
185
  private setValidity;
186
+ private calculateMedia;
188
187
  }
189
188
  /**
190
189
  * Represents the PropsContext of the `MultiSelect` component.