@progress/kendo-react-dropdowns 7.5.0-develop.2 → 7.5.0-develop.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AutoComplete/AutoComplete.js +1 -1
- package/AutoComplete/AutoComplete.mjs +30 -29
- package/ComboBox/ComboBox.js +1 -1
- package/ComboBox/ComboBox.mjs +57 -55
- package/DropDownList/DropDownList.js +1 -1
- package/DropDownList/DropDownList.mjs +57 -55
- package/DropDownTree/DropDownTree.js +1 -1
- package/DropDownTree/DropDownTree.mjs +150 -146
- package/MultiSelectTree/MultiSelectTree.js +1 -1
- package/MultiSelectTree/MultiSelectTree.mjs +95 -93
- package/common/AdaptiveMode.js +1 -1
- package/common/AdaptiveMode.mjs +10 -5
- package/common/DropDownBase.js +1 -1
- package/common/DropDownBase.mjs +81 -77
- package/common/ListFilter.js +1 -1
- package/common/ListFilter.mjs +31 -26
- package/dist/cdn/js/kendo-react-dropdowns.js +1 -1
- package/index.d.mts +4 -0
- package/index.d.ts +4 -0
- package/package-metadata.mjs +1 -1
- package/package.json +9 -9
package/common/DropDownBase.mjs
CHANGED
|
@@ -7,21 +7,21 @@
|
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
9
|
import * as m from "react";
|
|
10
|
-
import
|
|
10
|
+
import i from "prop-types";
|
|
11
11
|
import v from "./VirtualScroll.mjs";
|
|
12
12
|
import { Navigation as y } from "./Navigation.mjs";
|
|
13
13
|
import { scrollToItem as S, areSame as g } from "./utils.mjs";
|
|
14
14
|
const a = class a {
|
|
15
15
|
constructor(n) {
|
|
16
|
-
this.wrapper = null, this.list = null, this.vs = new v(), this.navigation = new y(), this.handleItemClick = (
|
|
16
|
+
this.wrapper = null, this.list = null, this.vs = new v(), this.navigation = new y(), this.handleItemClick = (s, e) => {
|
|
17
17
|
const t = this.initState();
|
|
18
|
-
t.syntheticEvent = e, e.stopPropagation(), this.component.handleItemSelect(
|
|
19
|
-
}, this.handleFocus = (
|
|
18
|
+
t.syntheticEvent = e, e.stopPropagation(), this.component.handleItemSelect(s, t), this.togglePopup(t), this.applyState(t);
|
|
19
|
+
}, this.handleFocus = (s) => {
|
|
20
20
|
if (!this.component.state.focused) {
|
|
21
21
|
const e = this.initState();
|
|
22
|
-
e.data.focused = !0, e.events.push({ type: "onFocus" }), e.syntheticEvent =
|
|
22
|
+
e.data.focused = !0, e.events.push({ type: "onFocus" }), e.syntheticEvent = s, this.applyState(e);
|
|
23
23
|
}
|
|
24
|
-
}, this.filterChanged = (
|
|
24
|
+
}, this.filterChanged = (s, e) => {
|
|
25
25
|
const { textField: t, filterable: o } = this.component.props;
|
|
26
26
|
o && e.events.push({
|
|
27
27
|
type: "onFilterChange",
|
|
@@ -29,45 +29,45 @@ const a = class a {
|
|
|
29
29
|
field: t,
|
|
30
30
|
operator: "contains",
|
|
31
31
|
ignoreCase: !0,
|
|
32
|
-
value:
|
|
32
|
+
value: s
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
|
-
}, this.togglePopup = (
|
|
35
|
+
}, this.togglePopup = (s) => {
|
|
36
36
|
const e = this.component.props, t = e.opened !== void 0 ? e.opened : this.component.state.opened;
|
|
37
|
-
e.opened === void 0 && (
|
|
38
|
-
}, this.pageChange = (
|
|
37
|
+
e.opened === void 0 && (s.data.opened = !t), t ? s.events.push({ type: "onClose" }) : (s.events.push({ type: "onOpen" }), this.calculatePopupWidth());
|
|
38
|
+
}, this.pageChange = (s, e) => {
|
|
39
39
|
const t = this.initState();
|
|
40
|
-
t.syntheticEvent = e, this.triggerOnPageChange(t,
|
|
41
|
-
}, this.scrollToVirtualItem = (
|
|
40
|
+
t.syntheticEvent = e, this.triggerOnPageChange(t, s.skip, s.take), this.applyState(t);
|
|
41
|
+
}, this.scrollToVirtualItem = (s, e) => {
|
|
42
42
|
const t = this.vs;
|
|
43
|
-
if (t.enabled = !1,
|
|
43
|
+
if (t.enabled = !1, s.skip === 0)
|
|
44
44
|
t.reset();
|
|
45
|
-
else if (
|
|
45
|
+
else if (s.skip + s.pageSize === s.total)
|
|
46
46
|
t.scrollToEnd();
|
|
47
47
|
else {
|
|
48
48
|
let o = t.translate;
|
|
49
|
-
o === 0 && (t.calcScrollElementHeight(), o = t.itemHeight *
|
|
49
|
+
o === 0 && (t.calcScrollElementHeight(), o = t.itemHeight * s.skip, t.translateTo(o - t.itemHeight)), t.container && (t.container.scrollTop = o), this.scrollToItem(e, !0);
|
|
50
50
|
}
|
|
51
51
|
window.setTimeout(() => t.enabled = !0, 10);
|
|
52
|
-
}, this.scrollPopupByPageSize = (
|
|
53
|
-
var
|
|
54
|
-
const e = this.vs, t = (
|
|
55
|
-
t !== void 0 && p !== void 0 && ((d = (u = this.list) == null ? void 0 : u.parentElement) == null || d.scroll({ top: t +
|
|
52
|
+
}, this.scrollPopupByPageSize = (s) => {
|
|
53
|
+
var r, l, h, c, u, d;
|
|
54
|
+
const e = this.vs, t = (l = (r = this.list) == null ? void 0 : r.parentElement) == null ? void 0 : l.scrollTop, o = e.enabled && e.itemHeight ? e.itemHeight : this.list ? this.list.children[0].offsetHeight : 0, p = (c = (h = this.list) == null ? void 0 : h.parentElement) == null ? void 0 : c.offsetHeight;
|
|
55
|
+
t !== void 0 && p !== void 0 && ((d = (u = this.list) == null ? void 0 : u.parentElement) == null || d.scroll({ top: t + s * Math.floor(p / o) * o }));
|
|
56
56
|
}, this.renderScrollElement = () => {
|
|
57
|
-
const
|
|
58
|
-
return
|
|
57
|
+
const s = this.vs;
|
|
58
|
+
return s.enabled && /* @__PURE__ */ m.createElement(
|
|
59
59
|
"div",
|
|
60
60
|
{
|
|
61
|
-
ref: (e) =>
|
|
61
|
+
ref: (e) => s.scrollElement = e,
|
|
62
62
|
key: "scrollElementKey"
|
|
63
63
|
}
|
|
64
64
|
);
|
|
65
|
-
}, this.resetGroupStickyHeader = (
|
|
66
|
-
|
|
65
|
+
}, this.resetGroupStickyHeader = (s, e) => {
|
|
66
|
+
s !== e.state.group && e.setState({ ...e.state, group: s });
|
|
67
67
|
}, this.listBoxId = n.props.id + "list", this.guid = n.props.id, this.component = n, this.vs.PageChange = this.pageChange;
|
|
68
68
|
}
|
|
69
69
|
didMount() {
|
|
70
|
-
const n = this.component.props,
|
|
70
|
+
const n = this.component.props, s = n.popupSettings || {}, e = n.style || {}, t = s.width;
|
|
71
71
|
let o = n.opened === !0;
|
|
72
72
|
t === void 0 && this.calculatePopupWidth(), n.dir === void 0 && e.direction === void 0 && (this.calculateDir(), o = !0), o && this.component.forceUpdate();
|
|
73
73
|
}
|
|
@@ -78,13 +78,13 @@ const a = class a {
|
|
|
78
78
|
calculatePopupWidth() {
|
|
79
79
|
this.wrapper && (this.popupWidth = this.wrapper.offsetWidth + "px");
|
|
80
80
|
}
|
|
81
|
-
scrollToItem(n,
|
|
81
|
+
scrollToItem(n, s, e) {
|
|
82
82
|
const t = this.list || this.vs.list;
|
|
83
83
|
if (!t && !e && setTimeout(() => {
|
|
84
|
-
this.scrollToItem(n,
|
|
84
|
+
this.scrollToItem(n, s, !0);
|
|
85
85
|
}, 10), t && n >= 0) {
|
|
86
|
-
const o = this.vs, p = o.container || t.parentNode,
|
|
87
|
-
S(p, t, n, o.translate,
|
|
86
|
+
const o = this.vs, p = o.container || t.parentNode, r = s !== void 0 ? s : o.enabled;
|
|
87
|
+
S(p, t, n, o.translate, r);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
initState() {
|
|
@@ -96,7 +96,7 @@ const a = class a {
|
|
|
96
96
|
}
|
|
97
97
|
applyState(n) {
|
|
98
98
|
Object.keys(n.data).length > 0 && this.component.setState(n.data);
|
|
99
|
-
const
|
|
99
|
+
const s = {
|
|
100
100
|
syntheticEvent: n.syntheticEvent,
|
|
101
101
|
nativeEvent: n.syntheticEvent ? n.syntheticEvent.nativeEvent : void 0,
|
|
102
102
|
target: this.component,
|
|
@@ -107,80 +107,84 @@ const a = class a {
|
|
|
107
107
|
delete e.type;
|
|
108
108
|
const o = t && this.component.props[t];
|
|
109
109
|
o && o.call(void 0, {
|
|
110
|
-
...
|
|
110
|
+
...s,
|
|
111
111
|
...e
|
|
112
112
|
});
|
|
113
113
|
});
|
|
114
114
|
}
|
|
115
|
-
triggerOnPageChange(n,
|
|
115
|
+
triggerOnPageChange(n, s, e) {
|
|
116
116
|
const t = this.component.props.virtual;
|
|
117
117
|
if (t) {
|
|
118
|
-
const o = Math.min(Math.max(0,
|
|
118
|
+
const o = Math.min(Math.max(0, s), Math.max(0, t.total - e));
|
|
119
119
|
o !== t.skip && n.events.push({
|
|
120
120
|
type: "onPageChange",
|
|
121
121
|
page: { skip: o, take: e }
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
|
-
triggerPageChangeCornerItems(n,
|
|
126
|
-
const e = this.component.props, { data: t = [], dataItemKey: o, virtual: p } = e,
|
|
127
|
-
n && p && this.vs.enabled && (p.skip > 0 && g(n, t[0], o) ? this.triggerOnPageChange(
|
|
125
|
+
triggerPageChangeCornerItems(n, s) {
|
|
126
|
+
const e = this.component.props, { data: t = [], dataItemKey: o, virtual: p } = e, r = e.opened !== void 0 ? e.opened : this.component.state.opened;
|
|
127
|
+
n && p && this.vs.enabled && (p.skip > 0 && g(n, t[0], o) ? this.triggerOnPageChange(s, p.skip - 1, p.pageSize) : !r && p.skip + p.pageSize < p.total && g(n, t[t.length - 1], o) && this.triggerOnPageChange(s, p.skip + 1, p.pageSize));
|
|
128
128
|
}
|
|
129
129
|
getPopupSettings() {
|
|
130
130
|
return Object.assign({}, a.defaultProps.popupSettings, this.component.props.popupSettings);
|
|
131
131
|
}
|
|
132
|
-
|
|
132
|
+
getAdaptiveAnimation() {
|
|
133
|
+
const n = this.getPopupSettings();
|
|
134
|
+
return n.animate !== void 0 ? n.animate : !0;
|
|
135
|
+
}
|
|
136
|
+
getGroupedDataModernMode(n, s) {
|
|
133
137
|
let e = [];
|
|
134
138
|
return n.forEach((t, o) => {
|
|
135
|
-
n[o - 1] && t[
|
|
139
|
+
n[o - 1] && t[s] !== n[o - 1][s] && e.push({ [s]: t[s] }), e.push(n[o]);
|
|
136
140
|
}), e;
|
|
137
141
|
}
|
|
138
142
|
};
|
|
139
143
|
a.basicPropTypes = {
|
|
140
|
-
opened:
|
|
141
|
-
disabled:
|
|
142
|
-
dir:
|
|
143
|
-
tabIndex:
|
|
144
|
-
accessKey:
|
|
145
|
-
data:
|
|
146
|
-
textField:
|
|
147
|
-
className:
|
|
148
|
-
label:
|
|
149
|
-
loading:
|
|
150
|
-
popupSettings:
|
|
151
|
-
animate:
|
|
152
|
-
openDuration:
|
|
153
|
-
closeDuration:
|
|
144
|
+
opened: i.bool,
|
|
145
|
+
disabled: i.bool,
|
|
146
|
+
dir: i.string,
|
|
147
|
+
tabIndex: i.number,
|
|
148
|
+
accessKey: i.string,
|
|
149
|
+
data: i.array,
|
|
150
|
+
textField: i.string,
|
|
151
|
+
className: i.string,
|
|
152
|
+
label: i.string,
|
|
153
|
+
loading: i.bool,
|
|
154
|
+
popupSettings: i.shape({
|
|
155
|
+
animate: i.oneOfType([i.bool, i.shape({
|
|
156
|
+
openDuration: i.number,
|
|
157
|
+
closeDuration: i.number
|
|
154
158
|
})]),
|
|
155
|
-
popupClass:
|
|
156
|
-
className:
|
|
157
|
-
appendTo:
|
|
158
|
-
width:
|
|
159
|
-
height:
|
|
159
|
+
popupClass: i.string,
|
|
160
|
+
className: i.string,
|
|
161
|
+
appendTo: i.any,
|
|
162
|
+
width: i.oneOfType([i.string, i.number]),
|
|
163
|
+
height: i.oneOfType([i.string, i.number])
|
|
160
164
|
}),
|
|
161
|
-
onOpen:
|
|
162
|
-
onClose:
|
|
163
|
-
onFocus:
|
|
164
|
-
onBlur:
|
|
165
|
-
onChange:
|
|
166
|
-
itemRender:
|
|
167
|
-
listNoDataRender:
|
|
168
|
-
focusedItemIndex:
|
|
169
|
-
header:
|
|
170
|
-
footer:
|
|
165
|
+
onOpen: i.func,
|
|
166
|
+
onClose: i.func,
|
|
167
|
+
onFocus: i.func,
|
|
168
|
+
onBlur: i.func,
|
|
169
|
+
onChange: i.func,
|
|
170
|
+
itemRender: i.func,
|
|
171
|
+
listNoDataRender: i.func,
|
|
172
|
+
focusedItemIndex: i.func,
|
|
173
|
+
header: i.node,
|
|
174
|
+
footer: i.node
|
|
171
175
|
}, a.propTypes = {
|
|
172
176
|
...a.basicPropTypes,
|
|
173
|
-
value:
|
|
174
|
-
defaultValue:
|
|
175
|
-
filterable:
|
|
176
|
-
filter:
|
|
177
|
-
virtual:
|
|
178
|
-
pageSize:
|
|
179
|
-
skip:
|
|
180
|
-
total:
|
|
177
|
+
value: i.any,
|
|
178
|
+
defaultValue: i.any,
|
|
179
|
+
filterable: i.bool,
|
|
180
|
+
filter: i.string,
|
|
181
|
+
virtual: i.shape({
|
|
182
|
+
pageSize: i.number.isRequired,
|
|
183
|
+
skip: i.number.isRequired,
|
|
184
|
+
total: i.number.isRequired
|
|
181
185
|
}),
|
|
182
|
-
onFilterChange:
|
|
183
|
-
onPageChange:
|
|
186
|
+
onFilterChange: i.func,
|
|
187
|
+
onPageChange: i.func
|
|
184
188
|
}, a.defaultProps = {
|
|
185
189
|
popupSettings: {
|
|
186
190
|
height: "200px"
|
package/common/ListFilter.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";"use strict";const
|
|
8
|
+
"use client";"use strict";const m=require("react"),n=require("prop-types"),l=require("@progress/kendo-react-inputs"),p=require("@progress/kendo-svg-icons"),b=require("@progress/kendo-react-common");function g(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const t=g(m),c=t.forwardRef((e,o)=>{const r=t.useRef(null),{renderListFilterWrapper:a=!1,renderPrefixSeparator:s=!1,...u}=e;t.useImperativeHandle(o,()=>r.current);const d=()=>t.createElement(t.Fragment,null,t.createElement(l.InputPrefix,null,t.createElement(b.IconWrap,{name:"search",icon:p.searchIcon,className:"k-input-icon"})),s&&t.createElement(l.InputSeparator,null)),i=t.createElement(l.TextBox,{...u,ref:r,className:"k-searchbox",value:e.value||"",onChange:e.onChange,onKeyDown:e.onKeyDown,tabIndex:e.tabIndex,onClick:f=>f.stopPropagation(),size:e.size,fillMode:e.fillMode,rounded:e.rounded,prefix:d});return a?t.createElement("div",{className:"k-list-filter"}," ",i," "):i});c.propTypes={value:n.oneOfType([n.string,n.number,n.array]),tabIndex:n.number,onChange:n.func,onKeyDown:n.func,size:n.oneOf([null,"small","medium","large"]),rounded:n.oneOf([null,"small","medium","large","full"]),fillMode:n.oneOf([null,"solid","flat","outline"]),renderListFilterWrapper:n.bool,renderPrefixSeparator:n.bool};c.displayName="KendoReactListFilter";const x=c;module.exports=x;
|
package/common/ListFilter.mjs
CHANGED
|
@@ -6,32 +6,35 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
import * as
|
|
9
|
+
import * as n from "react";
|
|
10
10
|
import e from "prop-types";
|
|
11
|
-
import { TextBox as
|
|
12
|
-
import { searchIcon as
|
|
13
|
-
import { IconWrap as
|
|
14
|
-
const t =
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
() =>
|
|
19
|
-
)
|
|
20
|
-
|
|
11
|
+
import { TextBox as f, InputPrefix as d, InputSeparator as p } from "@progress/kendo-react-inputs";
|
|
12
|
+
import { searchIcon as x } from "@progress/kendo-svg-icons";
|
|
13
|
+
import { IconWrap as b } from "@progress/kendo-react-common";
|
|
14
|
+
const t = n.forwardRef((r, o) => {
|
|
15
|
+
const l = n.useRef(null), { renderListFilterWrapper: i = !1, renderPrefixSeparator: s = !1, ...m } = r;
|
|
16
|
+
n.useImperativeHandle(
|
|
17
|
+
o,
|
|
18
|
+
() => l.current
|
|
19
|
+
);
|
|
20
|
+
const u = () => /* @__PURE__ */ n.createElement(n.Fragment, null, /* @__PURE__ */ n.createElement(d, null, /* @__PURE__ */ n.createElement(b, { name: "search", icon: x, className: "k-input-icon" })), s && /* @__PURE__ */ n.createElement(p, null)), a = /* @__PURE__ */ n.createElement(
|
|
21
|
+
f,
|
|
21
22
|
{
|
|
22
|
-
...
|
|
23
|
-
ref:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
...m,
|
|
24
|
+
ref: l,
|
|
25
|
+
className: "k-searchbox",
|
|
26
|
+
value: r.value || "",
|
|
27
|
+
onChange: r.onChange,
|
|
28
|
+
onKeyDown: r.onKeyDown,
|
|
29
|
+
tabIndex: r.tabIndex,
|
|
30
|
+
onClick: (c) => c.stopPropagation(),
|
|
31
|
+
size: r.size,
|
|
32
|
+
fillMode: r.fillMode,
|
|
33
|
+
rounded: r.rounded,
|
|
34
|
+
prefix: u
|
|
33
35
|
}
|
|
34
|
-
)
|
|
36
|
+
);
|
|
37
|
+
return i ? /* @__PURE__ */ n.createElement("div", { className: "k-list-filter" }, " ", a, " ") : a;
|
|
35
38
|
});
|
|
36
39
|
t.propTypes = {
|
|
37
40
|
value: e.oneOfType([e.string, e.number, e.array]),
|
|
@@ -40,10 +43,12 @@ t.propTypes = {
|
|
|
40
43
|
onKeyDown: e.func,
|
|
41
44
|
size: e.oneOf([null, "small", "medium", "large"]),
|
|
42
45
|
rounded: e.oneOf([null, "small", "medium", "large", "full"]),
|
|
43
|
-
fillMode: e.oneOf([null, "solid", "flat", "outline"])
|
|
46
|
+
fillMode: e.oneOf([null, "solid", "flat", "outline"]),
|
|
47
|
+
renderListFilterWrapper: e.bool,
|
|
48
|
+
renderPrefixSeparator: e.bool
|
|
44
49
|
};
|
|
45
50
|
t.displayName = "KendoReactListFilter";
|
|
46
|
-
const
|
|
51
|
+
const E = t;
|
|
47
52
|
export {
|
|
48
|
-
|
|
53
|
+
E as default
|
|
49
54
|
};
|