@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.
- package/dist/cdn/js/kendo-react-dropdowns.js +1 -1
- package/dist/es/AutoComplete/AutoComplete.d.ts +11 -2
- package/dist/es/AutoComplete/AutoComplete.js +60 -9
- package/dist/es/AutoComplete/AutoCompleteProps.d.ts +22 -0
- package/dist/es/ComboBox/ComboBox.d.ts +5 -1
- package/dist/es/ComboBox/ComboBox.js +22 -11
- package/dist/es/ComboBox/ComboBoxProps.d.ts +18 -0
- package/dist/es/DropDownList/DropDownList.d.ts +5 -0
- package/dist/es/DropDownList/DropDownList.js +54 -9
- package/dist/es/DropDownList/DropDownListProps.d.ts +22 -0
- package/dist/es/MultiColumnComboBox/MultiColumnComboBox.js +7 -5
- package/dist/es/MultiSelect/MultiSelect.d.ts +44 -45
- package/dist/es/MultiSelect/MultiSelect.js +277 -128
- package/dist/es/MultiSelect/MultiSelectProps.d.ts +44 -1
- package/dist/es/common/DropDownBase.d.ts +1 -0
- package/dist/es/common/DropDownBase.js +13 -0
- package/dist/es/common/GroupStickyHeader.d.ts +24 -0
- package/dist/es/common/GroupStickyHeader.js +34 -0
- package/dist/es/common/List.d.ts +5 -1
- package/dist/es/common/List.js +9 -2
- package/dist/es/common/ListGroupItem.d.ts +33 -0
- package/dist/es/common/ListGroupItem.js +33 -0
- package/dist/es/common/ListItem.d.ts +4 -0
- package/dist/es/common/ListItem.js +3 -3
- package/dist/es/package-metadata.js +1 -1
- package/dist/npm/AutoComplete/AutoComplete.d.ts +11 -2
- package/dist/npm/AutoComplete/AutoComplete.js +60 -9
- package/dist/npm/AutoComplete/AutoCompleteProps.d.ts +22 -0
- package/dist/npm/ComboBox/ComboBox.d.ts +5 -1
- package/dist/npm/ComboBox/ComboBox.js +22 -11
- package/dist/npm/ComboBox/ComboBoxProps.d.ts +18 -0
- package/dist/npm/DropDownList/DropDownList.d.ts +5 -0
- package/dist/npm/DropDownList/DropDownList.js +54 -9
- package/dist/npm/DropDownList/DropDownListProps.d.ts +22 -0
- package/dist/npm/MultiColumnComboBox/MultiColumnComboBox.js +7 -5
- package/dist/npm/MultiSelect/MultiSelect.d.ts +44 -45
- package/dist/npm/MultiSelect/MultiSelect.js +276 -127
- package/dist/npm/MultiSelect/MultiSelectProps.d.ts +44 -1
- package/dist/npm/common/DropDownBase.d.ts +1 -0
- package/dist/npm/common/DropDownBase.js +13 -0
- package/dist/npm/common/GroupStickyHeader.d.ts +24 -0
- package/dist/npm/common/GroupStickyHeader.js +36 -0
- package/dist/npm/common/List.d.ts +5 -1
- package/dist/npm/common/List.js +9 -2
- package/dist/npm/common/ListGroupItem.d.ts +33 -0
- package/dist/npm/common/ListGroupItem.js +35 -0
- package/dist/npm/common/ListItem.d.ts +4 -0
- package/dist/npm/common/ListItem.js +3 -3
- package/dist/npm/package-metadata.js +1 -1
- package/dist/systemjs/kendo-react-dropdowns.js +1 -1
- 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:
|
|
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
|
-
*
|
|
124
|
+
* The mobile mode of the ComboBox.
|
|
118
125
|
*/
|
|
119
|
-
get
|
|
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
|
-
|
|
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
|
|
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.
|