@progress/kendo-react-dropdowns 9.2.0-develop.4 → 9.2.0-develop.5
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 +21 -20
- package/ComboBox/ComboBox.js +1 -1
- package/ComboBox/ComboBox.mjs +145 -140
- package/DropDownList/DropDownList.js +1 -1
- package/DropDownList/DropDownList.mjs +335 -332
- package/DropDownTree/DropDownTree.js +1 -1
- package/DropDownTree/DropDownTree.mjs +192 -192
- package/MultiSelect/MultiSelect.js +1 -1
- package/MultiSelect/MultiSelect.mjs +147 -146
- package/MultiSelectTree/MultiSelectTree.js +1 -1
- package/MultiSelectTree/MultiSelectTree.mjs +143 -143
- package/common/AdaptiveMode.js +1 -1
- package/common/AdaptiveMode.mjs +17 -17
- package/dist/cdn/js/kendo-react-dropdowns.js +1 -1
- package/index.d.mts +18 -9
- package/index.d.ts +18 -9
- package/package-metadata.mjs +1 -1
- package/package.json +9 -9
package/ComboBox/ComboBox.mjs
CHANGED
|
@@ -9,23 +9,23 @@
|
|
|
9
9
|
import * as c from "react";
|
|
10
10
|
import v from "prop-types";
|
|
11
11
|
import N from "../common/DropDownBase.mjs";
|
|
12
|
-
import { Keys as C, validatePackage as
|
|
13
|
-
import { FloatingLabel as
|
|
14
|
-
import { getPlainDataDuplicates as
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import { packageMetadata as
|
|
21
|
-
import
|
|
22
|
-
import { Button as
|
|
23
|
-
import { caretAltDownIcon as
|
|
24
|
-
import { comboArrowBtnAriaLabelExpand as
|
|
25
|
-
import { provideLocalizationService as
|
|
26
|
-
import { ActionSheet as
|
|
27
|
-
import
|
|
28
|
-
const
|
|
12
|
+
import { Keys as C, validatePackage as ie, svgIconPropType as oe, canUseDOM as z, classNames as I, uComboBox as w, IconWrap as ae, uDropDownsActionSheet as B, createPropsContext as ne, withIdHOC as le, withPropsContext as re, withUnstyledHOC as de, withAdaptiveModeContext as pe } from "@progress/kendo-react-common";
|
|
13
|
+
import { FloatingLabel as he } from "@progress/kendo-react-labels";
|
|
14
|
+
import { getPlainDataDuplicates as ce, getFilteredData as S, areSame as k, getItemValue as M, isPresent as D, getItemIndexByText as K, suggestValue as ue, itemIndexStartsWith as H } from "../common/utils.mjs";
|
|
15
|
+
import ge from "../common/SearchBar.mjs";
|
|
16
|
+
import me from "../common/ListContainer.mjs";
|
|
17
|
+
import ve from "../common/List.mjs";
|
|
18
|
+
import fe from "../common/ListFilter.mjs";
|
|
19
|
+
import q from "../common/GroupStickyHeader.mjs";
|
|
20
|
+
import { packageMetadata as be } from "../package-metadata.mjs";
|
|
21
|
+
import xe from "../common/ClearButton.mjs";
|
|
22
|
+
import { Button as G } from "@progress/kendo-react-buttons";
|
|
23
|
+
import { caretAltDownIcon as Ie, xIcon as ye } from "@progress/kendo-svg-icons";
|
|
24
|
+
import { comboArrowBtnAriaLabelExpand as U, messages as W, comboArrowBtnAriaLabelCollapse as j } from "../messages/index.mjs";
|
|
25
|
+
import { provideLocalizationService as $ } from "@progress/kendo-react-intl";
|
|
26
|
+
import { ActionSheet as Ce, ActionSheetHeader as Se, ActionSheetContent as we } from "@progress/kendo-react-layout";
|
|
27
|
+
import Y from "../common/withCustomComponent.mjs";
|
|
28
|
+
const De = "Please enter a valid value!", F = class F extends c.Component {
|
|
29
29
|
constructor(s) {
|
|
30
30
|
super(s), this.state = {}, this.base = new N(this), this._element = null, this._suggested = "", this._skipBlur = !1, this._input = null, this._adaptiveFilterInput = null, this.itemHeight = 0, this.duplicates = [], this.hasDuplicates = !1, this.focus = () => {
|
|
31
31
|
this._input && this._input.focus();
|
|
@@ -33,10 +33,10 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
33
33
|
const e = this.props.textField !== void 0, t = this.props.dataItemKey !== void 0;
|
|
34
34
|
if (this.props.data && this.props.data.length > 0 && !e && !t) {
|
|
35
35
|
const i = this.props.data;
|
|
36
|
-
this.duplicates =
|
|
36
|
+
this.duplicates = ce(i), this.hasDuplicates = this.duplicates.length > 0;
|
|
37
37
|
}
|
|
38
38
|
}, this.handleItemSelect = (e, t) => {
|
|
39
|
-
const { virtual: i, dataItemKey: n } = this.props, r = S(this.props), a = i ? i.skip : 0, d = r[e - a], l = this.hasDuplicates || !
|
|
39
|
+
const { virtual: i, dataItemKey: n } = this.props, r = S(this.props), a = i ? i.skip : 0, d = r[e - a], l = this.hasDuplicates || !k(d, this.value, n);
|
|
40
40
|
this.triggerOnChange(d, t), this.state.text !== void 0 && (t.data.text = void 0), l && this.base.triggerPageChangeCornerItems(d, t);
|
|
41
41
|
}, this.onPopupOpened = () => {
|
|
42
42
|
setTimeout(() => {
|
|
@@ -54,9 +54,9 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
54
54
|
}, this.closeOpenedApplyStateNonMobileMode = (e, t) => {
|
|
55
55
|
t && !this.mobileMode && this.base.togglePopup(e);
|
|
56
56
|
}, this.renderMobileListFilter = () => {
|
|
57
|
-
const e = this.props.adaptiveFilter !== void 0 ? this.props.adaptiveFilter : this.state.text, t =
|
|
57
|
+
const e = this.props.adaptiveFilter !== void 0 ? this.props.adaptiveFilter : this.state.text, t = M(this.value, this.props.textField), i = D(e) ? e : t;
|
|
58
58
|
return /* @__PURE__ */ c.createElement(
|
|
59
|
-
|
|
59
|
+
fe,
|
|
60
60
|
{
|
|
61
61
|
value: i,
|
|
62
62
|
ref: (n) => this._adaptiveFilterInput = n && n.element,
|
|
@@ -101,7 +101,7 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
101
101
|
}, this.onInputKeyDown = (e) => {
|
|
102
102
|
const { skipDisabledItems: t, textField: i, dataItemKey: n, groupField: r } = this.props, a = S(this.props), d = this.value, l = Math.max(
|
|
103
103
|
0,
|
|
104
|
-
a.findIndex((h) =>
|
|
104
|
+
a.findIndex((h) => k(h, d, n))
|
|
105
105
|
), o = e.keyCode, u = this.props.opened !== void 0 ? this.props.opened : this.state.opened, p = this.base.initState();
|
|
106
106
|
if (p.syntheticEvent = e, !e.altKey && (o === C.up || o === C.down)) {
|
|
107
107
|
if (e.preventDefault(), r !== "" && i)
|
|
@@ -110,18 +110,18 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
110
110
|
else {
|
|
111
111
|
let h = 0;
|
|
112
112
|
if (o === C.down || o === C.right) {
|
|
113
|
-
const g = a.slice(l + 1 < a.length ? l + 1 : l).find((
|
|
114
|
-
h = g && a.findIndex((
|
|
113
|
+
const g = a.slice(l + 1 < a.length ? l + 1 : l).find((f) => !f.disabled && f[i]);
|
|
114
|
+
h = g && a.findIndex((f) => f[i] === g[i]);
|
|
115
115
|
} else if (o === C.up || o === C.left) {
|
|
116
116
|
let g;
|
|
117
117
|
if (l === 0)
|
|
118
|
-
g = a, h = a.findIndex((
|
|
118
|
+
g = a, h = a.findIndex((f) => !f.disabled && f[i]);
|
|
119
119
|
else {
|
|
120
120
|
g = a.slice(0, l);
|
|
121
|
-
let
|
|
122
|
-
for (;
|
|
123
|
-
|
|
124
|
-
h =
|
|
121
|
+
let f = g.pop();
|
|
122
|
+
for (; f && f.disabled; )
|
|
123
|
+
f = g.pop();
|
|
124
|
+
h = f && a.findIndex((E) => E[i] === f[i]);
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
if (h !== void 0) {
|
|
@@ -151,8 +151,8 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
151
151
|
}
|
|
152
152
|
const y = () => {
|
|
153
153
|
e.preventDefault(), this.base.togglePopup(p), this.applyState(p);
|
|
154
|
-
},
|
|
155
|
-
u ? o === C.pageUp ? (e.preventDefault(), this.base.scrollPopupByPageSize(-1)) : o === C.pageDown ? (e.preventDefault(), this.base.scrollPopupByPageSize(1)) : e.altKey && o === C.up ? y() : o === C.enter ? (e.preventDefault(), (i && !
|
|
154
|
+
}, b = this.getFocusedIndex(), x = b === -1, m = !x && this.getCurrentValueDisabledStatus(i, a, b);
|
|
155
|
+
u ? o === C.pageUp ? (e.preventDefault(), this.base.scrollPopupByPageSize(-1)) : o === C.pageDown ? (e.preventDefault(), this.base.scrollPopupByPageSize(1)) : e.altKey && o === C.up ? y() : o === C.enter ? (e.preventDefault(), (i && !x && e.currentTarget.value ? a[b][i] : void 0) ? !t && i && m ? this.clearValueOnEnterOrEsc(e) : m || this.applyValueOnEnter(e.currentTarget.value, p) : this.applyValueOnEnter(e.currentTarget.value, p)) : o === C.esc && (!t && i && m && this.clearValueOnEnterOrEsc(e), this.applyValueOnRejectSuggestions(e.currentTarget.value, p)) : !u && o === C.esc ? this.clearValueOnEnterOrEsc(e) : e.altKey && o === C.down && y();
|
|
156
156
|
}, this.inputOnChange = (e) => {
|
|
157
157
|
const t = this.base.initState();
|
|
158
158
|
t.syntheticEvent = e;
|
|
@@ -160,7 +160,7 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
160
160
|
if (this.props.suggest) {
|
|
161
161
|
const a = n.selectionEnd === r.length;
|
|
162
162
|
let d = this.props.filter !== void 0 ? this.props.filter : this.state.text;
|
|
163
|
-
|
|
163
|
+
D(d) || (d = M(this.value, this.props.textField) || "");
|
|
164
164
|
const l = d && d === r, o = d && d.length > r.length;
|
|
165
165
|
l || o || !a ? this._suggested = "" : this.suggestValue(r);
|
|
166
166
|
}
|
|
@@ -179,15 +179,15 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
179
179
|
t.syntheticEvent = e, e.stopPropagation(), this.clearValue();
|
|
180
180
|
}, this.setValidity = () => {
|
|
181
181
|
this._input && this._input.setCustomValidity && this._input.setCustomValidity(
|
|
182
|
-
this.validity.valid ? "" : this.props.validationMessage ||
|
|
182
|
+
this.validity.valid ? "" : this.props.validationMessage || De
|
|
183
183
|
);
|
|
184
|
-
},
|
|
184
|
+
}, ie(be);
|
|
185
185
|
}
|
|
186
186
|
get _inputId() {
|
|
187
187
|
return this.props.id;
|
|
188
188
|
}
|
|
189
189
|
get document() {
|
|
190
|
-
if (
|
|
190
|
+
if (z)
|
|
191
191
|
return this.element && this.element.ownerDocument || document;
|
|
192
192
|
}
|
|
193
193
|
/** @hidden */
|
|
@@ -198,7 +198,8 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
198
198
|
* The mobile mode of the ComboBox.
|
|
199
199
|
*/
|
|
200
200
|
get mobileMode() {
|
|
201
|
-
|
|
201
|
+
var e;
|
|
202
|
+
return !!(this.state.windowWidth && this.props._adaptiveMode && this.state.windowWidth <= ((e = this.props._adaptiveMode) == null ? void 0 : e.medium) && this.props.adaptive);
|
|
202
203
|
}
|
|
203
204
|
/**
|
|
204
205
|
* The value of the ComboBox.
|
|
@@ -218,7 +219,7 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
218
219
|
*/
|
|
219
220
|
get index() {
|
|
220
221
|
const { dataItemKey: s } = this.props, e = S(this.props), t = this.value;
|
|
221
|
-
return e.findIndex((i) =>
|
|
222
|
+
return e.findIndex((i) => k(i, t, s));
|
|
222
223
|
}
|
|
223
224
|
/**
|
|
224
225
|
* Gets the `name` property of the ComboBox.
|
|
@@ -253,18 +254,18 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
253
254
|
if (this._valueOnDidUpdate = p, this.base.didUpdate(), i && i.total !== d)
|
|
254
255
|
this.base.vs.calcScrollElementHeight(), this.base.vs.reset();
|
|
255
256
|
else {
|
|
256
|
-
const
|
|
257
|
-
let
|
|
258
|
-
this.props.groupMode === "modern" && r && p && (
|
|
259
|
-
const m = !
|
|
260
|
-
u && i ? this.base.scrollToVirtualItem(i,
|
|
257
|
+
const b = s.value !== void 0 ? s.value : e.value;
|
|
258
|
+
let x = this.hasDuplicates ? this.navigationIndex || 0 : a.findIndex((h) => k(h, p, t));
|
|
259
|
+
this.props.groupMode === "modern" && r && p && (x = (y = this.base.getGroupedDataModernMode(a, n)) == null ? void 0 : y.map((h) => h[r]).indexOf(p[r]));
|
|
260
|
+
const m = !k(b, p, t);
|
|
261
|
+
u && i ? this.base.scrollToVirtualItem(i, x) : u && !i ? (this.onPopupOpened(), a && a.length !== 0 && this.base.resetGroupStickyHeader(a[0][n], this), this.base.scrollToItem(x)) : (this.hasDuplicates || l && o && p && m) && this.base.scrollToItem(x);
|
|
261
262
|
}
|
|
262
263
|
u && this._input && this._input.focus(), this.setValidity();
|
|
263
264
|
}
|
|
264
265
|
/** @hidden */
|
|
265
266
|
componentDidMount() {
|
|
266
267
|
var s;
|
|
267
|
-
this.observerResize =
|
|
268
|
+
this.observerResize = z && window.ResizeObserver && new window.ResizeObserver(this.calculateMedia.bind(this)), this.base.didMount(), this.setValidity(), (s = this.document) != null && s.body && this.observerResize && this.observerResize.observe(this.document.body), this.checkForDuplicatePlainTextRecords();
|
|
268
269
|
}
|
|
269
270
|
/** @hidden */
|
|
270
271
|
componentWillUnmount() {
|
|
@@ -273,12 +274,12 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
273
274
|
}
|
|
274
275
|
/** @hidden */
|
|
275
276
|
render() {
|
|
276
|
-
const s =
|
|
277
|
+
const s = $(this).toLanguageString(
|
|
278
|
+
U,
|
|
279
|
+
W[U]
|
|
280
|
+
), e = $(this).toLanguageString(
|
|
277
281
|
j,
|
|
278
|
-
|
|
279
|
-
), e = J(this).toLanguageString(
|
|
280
|
-
Y,
|
|
281
|
-
$[Y]
|
|
282
|
+
W[j]
|
|
282
283
|
), {
|
|
283
284
|
dir: t,
|
|
284
285
|
disabled: i,
|
|
@@ -291,25 +292,25 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
291
292
|
iconClassName: u,
|
|
292
293
|
virtual: p,
|
|
293
294
|
size: y,
|
|
294
|
-
rounded:
|
|
295
|
-
fillMode:
|
|
295
|
+
rounded: b,
|
|
296
|
+
fillMode: x,
|
|
296
297
|
opened: m = this.state.opened,
|
|
297
298
|
placeholder: h,
|
|
298
299
|
svgIcon: g,
|
|
299
|
-
unstyled:
|
|
300
|
-
} = this.props,
|
|
300
|
+
unstyled: f
|
|
301
|
+
} = this.props, E = !this.validityStyles || this.validity.valid, O = this.props.filter !== void 0 ? this.props.filter : this.state.text, J = M(this.value, a), T = D(O) ? O : J, Q = n && (!!T || D(this.value)), V = this.base.vs, A = this.props.id || this._inputId, R = this.mobileMode, _ = f && f.uComboBox;
|
|
301
302
|
V.enabled = p !== void 0, p !== void 0 && (V.skip = p.skip, V.total = p.total, V.pageSize = p.pageSize);
|
|
302
|
-
const [
|
|
303
|
+
const [X, Z] = Y(this.props.prefix || c.Fragment), [ee, te] = Y(this.props.suffix || c.Fragment), L = /* @__PURE__ */ c.createElement(c.Fragment, null, /* @__PURE__ */ c.createElement(
|
|
303
304
|
"span",
|
|
304
305
|
{
|
|
305
306
|
className: I(
|
|
306
|
-
|
|
307
|
-
c:
|
|
307
|
+
w.wrapper({
|
|
308
|
+
c: _,
|
|
308
309
|
size: y,
|
|
309
|
-
rounded:
|
|
310
|
-
fillMode:
|
|
310
|
+
rounded: b,
|
|
311
|
+
fillMode: x,
|
|
311
312
|
disabled: i,
|
|
312
|
-
invalid: !
|
|
313
|
+
invalid: !E,
|
|
313
314
|
loading: o,
|
|
314
315
|
required: this.required
|
|
315
316
|
}),
|
|
@@ -319,49 +320,49 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
319
320
|
style: r ? { ...l, width: void 0 } : l,
|
|
320
321
|
dir: t
|
|
321
322
|
},
|
|
322
|
-
this.props.prefix && /* @__PURE__ */ c.createElement(
|
|
323
|
+
this.props.prefix && /* @__PURE__ */ c.createElement(X, { ...Z }),
|
|
323
324
|
this.renderSearchBar(T || "", A, h),
|
|
324
|
-
|
|
325
|
+
Q && !o && /* @__PURE__ */ c.createElement(xe, { onClick: this.clearButtonClick, key: "clearbutton" }),
|
|
325
326
|
o && /* @__PURE__ */ c.createElement(
|
|
326
|
-
|
|
327
|
+
ae,
|
|
327
328
|
{
|
|
328
|
-
className: I(
|
|
329
|
+
className: I(w.loadingIcon({ c: _ })),
|
|
329
330
|
name: "loading",
|
|
330
331
|
key: "loading"
|
|
331
332
|
}
|
|
332
333
|
),
|
|
333
|
-
this.props.suffix && /* @__PURE__ */ c.createElement(
|
|
334
|
+
this.props.suffix && /* @__PURE__ */ c.createElement(ee, { ...te }),
|
|
334
335
|
/* @__PURE__ */ c.createElement(
|
|
335
|
-
|
|
336
|
+
G,
|
|
336
337
|
{
|
|
337
338
|
tabIndex: -1,
|
|
338
339
|
type: "button",
|
|
339
340
|
"aria-label": m ? e : s,
|
|
340
341
|
icon: u ? void 0 : "caret-alt-down",
|
|
341
|
-
svgIcon: g ||
|
|
342
|
+
svgIcon: g || Ie,
|
|
342
343
|
iconClass: u,
|
|
343
344
|
size: y,
|
|
344
|
-
fillMode:
|
|
345
|
+
fillMode: x,
|
|
345
346
|
rounded: null,
|
|
346
347
|
themeColor: "base",
|
|
347
|
-
className: I(
|
|
348
|
+
className: I(w.inputButton({ c: _ })),
|
|
348
349
|
onClick: this.toggleBtnClick,
|
|
349
|
-
onMouseDown: (
|
|
350
|
+
onMouseDown: (se) => se.preventDefault()
|
|
350
351
|
}
|
|
351
352
|
),
|
|
352
353
|
!R && this.renderListContainer()
|
|
353
354
|
), R && this.renderAdaptiveListContainer());
|
|
354
355
|
return r ? /* @__PURE__ */ c.createElement(
|
|
355
|
-
|
|
356
|
+
he,
|
|
356
357
|
{
|
|
357
358
|
label: r,
|
|
358
359
|
editorId: A,
|
|
359
360
|
editorValue: T,
|
|
360
|
-
editorValid:
|
|
361
|
+
editorValid: E,
|
|
361
362
|
editorDisabled: i,
|
|
362
363
|
style: { width: l ? l.width : void 0 },
|
|
363
364
|
children: L,
|
|
364
|
-
unstyled:
|
|
365
|
+
unstyled: f
|
|
365
366
|
}
|
|
366
367
|
) : L;
|
|
367
368
|
}
|
|
@@ -372,7 +373,7 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
372
373
|
const l = this.base.vs, o = this.value;
|
|
373
374
|
this._suggested = "";
|
|
374
375
|
const u = this.hasDuplicates && this.duplicates.indexOf(o) !== -1;
|
|
375
|
-
if (a = this.getFocusedIndex(u), a !== -1 && !
|
|
376
|
+
if (a = this.getFocusedIndex(u), a !== -1 && !D(o))
|
|
376
377
|
this.handleItemSelect(a, s);
|
|
377
378
|
else if (r === "")
|
|
378
379
|
this.handleItemSelect(0, s);
|
|
@@ -392,7 +393,7 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
392
393
|
return s && e && e[t] && e[t].disabled;
|
|
393
394
|
}
|
|
394
395
|
applyValueOnEnter(s, e) {
|
|
395
|
-
const { textField: t, allowCustom: i } = this.props, n = S(this.props), r = this.props.opened !== void 0 ? this.props.opened : this.state.opened, d =
|
|
396
|
+
const { textField: t, allowCustom: i } = this.props, n = S(this.props), r = this.props.opened !== void 0 ? this.props.opened : this.state.opened, d = M(this.value, t) === s ? this.index : K(n, s, t), l = d !== -1;
|
|
396
397
|
let o;
|
|
397
398
|
if (this._suggested = "", l)
|
|
398
399
|
o = n[d];
|
|
@@ -403,15 +404,15 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
403
404
|
this.triggerOnChange(o, e), r && this.base.togglePopup(e), this.props.filter === void 0 && this.state.text !== void 0 && (e.data.text = void 0), this.applyState(e);
|
|
404
405
|
}
|
|
405
406
|
applyValueOnRejectSuggestions(s, e) {
|
|
406
|
-
const { textField: t, allowCustom: i } = this.props, n = S(this.props), r = this.props.opened !== void 0 ? this.props.opened : this.state.opened, a =
|
|
407
|
-
if (this._suggested = "", s === a || s === "" && !
|
|
407
|
+
const { textField: t, allowCustom: i } = this.props, n = S(this.props), r = this.props.opened !== void 0 ? this.props.opened : this.state.opened, a = M(this.value, t);
|
|
408
|
+
if (this._suggested = "", s === a || s === "" && !D(a))
|
|
408
409
|
return this.closeOpenedApplyStateNonMobileMode(e, r), this.applyState(e);
|
|
409
|
-
const d =
|
|
410
|
+
const d = K(n, s, t, !0), l = d !== -1;
|
|
410
411
|
let o = null;
|
|
411
412
|
l ? o = n[d] : i && (o = s ? t ? { [t]: s } : s : null), this.triggerOnChange(o, e), this.state.text !== void 0 && (e.data.text = void 0, this.base.filterChanged("", e)), this.closeOpenedApplyStateNonMobileMode(e, r), this.applyState(e);
|
|
412
413
|
}
|
|
413
414
|
selectFocusedItem(s, e) {
|
|
414
|
-
const t = this.props.opened !== void 0 ? this.props.opened : this.state.opened, { textField: i, virtual: n = { skip: 0 }, focusedItemIndex: r =
|
|
415
|
+
const t = this.props.opened !== void 0 ? this.props.opened : this.state.opened, { textField: i, virtual: n = { skip: 0 }, focusedItemIndex: r = H } = this.props, a = S(this.props), d = n.skip, l = s === "" && d === 0 ? 0 : r(a, s, i);
|
|
415
416
|
return l !== -1 ? this.handleItemSelect(l + d, e) : (this.triggerOnChange(null, e), this.state.text !== void 0 && (e.data.text = void 0)), t && this.base.togglePopup(e), this.applyState(e);
|
|
416
417
|
}
|
|
417
418
|
renderAdaptiveListContainer() {
|
|
@@ -425,26 +426,28 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
425
426
|
virtual: d,
|
|
426
427
|
adaptiveTitle: l,
|
|
427
428
|
groupStickyHeaderItemRender: o,
|
|
428
|
-
unstyled: u
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
429
|
+
unstyled: u,
|
|
430
|
+
_adaptiveMode: p
|
|
431
|
+
} = this.props, y = S(this.props), b = this.props.opened !== void 0 ? this.props.opened : this.state.opened, x = this.base.getAdaptiveAnimation(), m = u && u.uComboBox, h = u && u.uDropDownsActionSheet;
|
|
432
|
+
let { group: g } = this.state;
|
|
433
|
+
g === void 0 && n !== void 0 && (g = M(y[0], n));
|
|
434
|
+
const f = {
|
|
433
435
|
navigatable: !1,
|
|
434
436
|
navigatableElements: [],
|
|
435
|
-
expand:
|
|
437
|
+
expand: b,
|
|
436
438
|
animation: x,
|
|
437
|
-
onClose: (
|
|
438
|
-
animationStyles: s <= H ? { top: 0, width: "100%", height: "100%" } : void 0,
|
|
439
|
+
onClose: (E) => this.toggleBtnClick(E),
|
|
439
440
|
className: I(
|
|
440
|
-
|
|
441
|
-
c:
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
)
|
|
441
|
+
B.wrapper({
|
|
442
|
+
c: h
|
|
443
|
+
}),
|
|
444
|
+
"k-adaptive-actionsheet"
|
|
445
|
+
),
|
|
446
|
+
animationStyles: s && p && s <= p.small ? { top: 0, width: "100%", height: "100%" } : void 0,
|
|
447
|
+
position: s && p && s <= p.small ? "fullscreen" : void 0
|
|
445
448
|
};
|
|
446
|
-
return /* @__PURE__ */ c.createElement(
|
|
447
|
-
|
|
449
|
+
return /* @__PURE__ */ c.createElement(Ce, { ...f }, /* @__PURE__ */ c.createElement(Se, null, /* @__PURE__ */ c.createElement("div", { className: I(B.titleBar({ c: h })) }, /* @__PURE__ */ c.createElement("div", { className: I(B.title({ c: h })) }, /* @__PURE__ */ c.createElement("div", { className: I(B.header({ c: h })) }, l), /* @__PURE__ */ c.createElement("div", { className: I(B.subtitle({ c: h })) })), /* @__PURE__ */ c.createElement("div", { className: I(B.actions({ c: h })) }, /* @__PURE__ */ c.createElement(
|
|
450
|
+
G,
|
|
448
451
|
{
|
|
449
452
|
tabIndex: 0,
|
|
450
453
|
"aria-label": "Cancel",
|
|
@@ -455,14 +458,14 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
455
458
|
size: "large",
|
|
456
459
|
onClick: this.toggleBtnClick,
|
|
457
460
|
icon: "x",
|
|
458
|
-
svgIcon:
|
|
461
|
+
svgIcon: ye
|
|
459
462
|
}
|
|
460
|
-
))), /* @__PURE__ */ c.createElement("div", { className: I(
|
|
463
|
+
))), /* @__PURE__ */ c.createElement("div", { className: I(B.titleBarGroup({ c: h })) }, this.renderMobileListFilter())), /* @__PURE__ */ c.createElement(we, { overflowHidden: !0 }, /* @__PURE__ */ c.createElement(
|
|
461
464
|
"div",
|
|
462
465
|
{
|
|
463
466
|
className: I(
|
|
464
|
-
|
|
465
|
-
c:
|
|
467
|
+
w.listContainer({
|
|
468
|
+
c: m
|
|
466
469
|
})
|
|
467
470
|
)
|
|
468
471
|
},
|
|
@@ -470,8 +473,8 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
470
473
|
"div",
|
|
471
474
|
{
|
|
472
475
|
className: I(
|
|
473
|
-
|
|
474
|
-
c:
|
|
476
|
+
w.list({
|
|
477
|
+
c: m,
|
|
475
478
|
list: a,
|
|
476
479
|
size: "large",
|
|
477
480
|
tableSize: i,
|
|
@@ -479,11 +482,11 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
479
482
|
})
|
|
480
483
|
)
|
|
481
484
|
},
|
|
482
|
-
e && /* @__PURE__ */ c.createElement("div", { className: I(
|
|
483
|
-
!a &&
|
|
484
|
-
|
|
485
|
+
e && /* @__PURE__ */ c.createElement("div", { className: I(w.listHeader({ c: m })) }, e),
|
|
486
|
+
!a && g && y.length !== 0 && /* @__PURE__ */ c.createElement(
|
|
487
|
+
q,
|
|
485
488
|
{
|
|
486
|
-
group:
|
|
489
|
+
group: g,
|
|
487
490
|
groupMode: r,
|
|
488
491
|
render: o
|
|
489
492
|
}
|
|
@@ -493,7 +496,7 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
493
496
|
"div",
|
|
494
497
|
{
|
|
495
498
|
className: I(
|
|
496
|
-
|
|
499
|
+
w.listFooter({ c: m }),
|
|
497
500
|
this.props.footerClassName
|
|
498
501
|
)
|
|
499
502
|
},
|
|
@@ -514,19 +517,19 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
514
517
|
virtual: l,
|
|
515
518
|
groupStickyHeaderItemRender: o,
|
|
516
519
|
unstyled: u
|
|
517
|
-
} = this.props, p = S(this.props), y = this.props.opened !== void 0 ? this.props.opened : this.state.opened,
|
|
520
|
+
} = this.props, p = S(this.props), y = this.props.opened !== void 0 ? this.props.opened : this.state.opened, b = s.getPopupSettings(), x = b.width !== void 0 ? b.width : s.popupWidth, m = u && u.uComboBox;
|
|
518
521
|
let { group: h } = this.state;
|
|
519
|
-
return h === void 0 && n !== void 0 && (h =
|
|
520
|
-
|
|
522
|
+
return h === void 0 && n !== void 0 && (h = M(p[0], n)), /* @__PURE__ */ c.createElement(
|
|
523
|
+
me,
|
|
521
524
|
{
|
|
522
|
-
width:
|
|
525
|
+
width: x,
|
|
523
526
|
popupSettings: {
|
|
524
|
-
...
|
|
525
|
-
anchor:
|
|
527
|
+
...b,
|
|
528
|
+
anchor: b.anchor || this.element,
|
|
526
529
|
show: y,
|
|
527
530
|
popupClass: I(
|
|
528
|
-
|
|
529
|
-
|
|
531
|
+
b.popupClass,
|
|
532
|
+
w.listContainer({
|
|
530
533
|
c: m,
|
|
531
534
|
popup: !0
|
|
532
535
|
})
|
|
@@ -539,7 +542,7 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
539
542
|
"div",
|
|
540
543
|
{
|
|
541
544
|
className: I(
|
|
542
|
-
|
|
545
|
+
w.list({
|
|
543
546
|
c: m,
|
|
544
547
|
list: d,
|
|
545
548
|
size: a,
|
|
@@ -548,14 +551,14 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
548
551
|
})
|
|
549
552
|
)
|
|
550
553
|
},
|
|
551
|
-
t && /* @__PURE__ */ c.createElement("div", { className: I(
|
|
552
|
-
!d && h && p.length !== 0 && /* @__PURE__ */ c.createElement(
|
|
554
|
+
t && /* @__PURE__ */ c.createElement("div", { className: I(w.listHeader({ c: m })) }, t),
|
|
555
|
+
!d && h && p.length !== 0 && /* @__PURE__ */ c.createElement(q, { group: h, groupMode: r, render: o }),
|
|
553
556
|
this.renderList(),
|
|
554
557
|
i && /* @__PURE__ */ c.createElement(
|
|
555
558
|
"div",
|
|
556
559
|
{
|
|
557
560
|
className: I(
|
|
558
|
-
|
|
561
|
+
w.listFooter({ c: m }),
|
|
559
562
|
this.props.footerClassName
|
|
560
563
|
)
|
|
561
564
|
},
|
|
@@ -573,15 +576,15 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
573
576
|
groupHeaderItemRender: r,
|
|
574
577
|
virtual: a = { skip: 0, total: void 0 },
|
|
575
578
|
unstyled: d
|
|
576
|
-
} = this.props, l = S(this.props), o = s.getPopupSettings(), u = s.vs, p = a.skip, y = this.props.opened !== void 0 ? this.props.opened : this.state.opened,
|
|
579
|
+
} = this.props, l = S(this.props), o = s.getPopupSettings(), u = s.vs, p = a.skip, y = this.props.opened !== void 0 ? this.props.opened : this.state.opened, b = `translateY(${u.translate}px)`, x = y ? this.getFocusedIndex(this.hasDuplicates) : void 0, m = this.props.filter !== void 0 ? this.props.filter : this.state.text, h = M(this.value, e), g = D(m) && m !== h ? null : this.value, f = this.props.list || ve, E = d && d.uComboBox;
|
|
577
580
|
return /* @__PURE__ */ c.createElement(
|
|
578
|
-
|
|
581
|
+
f,
|
|
579
582
|
{
|
|
580
583
|
id: s.listBoxId,
|
|
581
584
|
virtual: !!a,
|
|
582
585
|
show: y,
|
|
583
586
|
data: l,
|
|
584
|
-
focusedIndex:
|
|
587
|
+
focusedIndex: x,
|
|
585
588
|
value: g,
|
|
586
589
|
textField: e,
|
|
587
590
|
valueField: t,
|
|
@@ -593,14 +596,14 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
593
596
|
listRef: (O) => {
|
|
594
597
|
u.list = this.base.list = O, this.itemHeight = 0;
|
|
595
598
|
},
|
|
596
|
-
wrapperStyle: this.state.windowWidth && this.state.windowWidth >
|
|
599
|
+
wrapperStyle: this.state.windowWidth && this.props._adaptiveMode && this.state.windowWidth > this.props._adaptiveMode.medium ? { maxHeight: o.height } : {},
|
|
597
600
|
wrapperCssClass: I(
|
|
598
|
-
|
|
599
|
-
c:
|
|
601
|
+
w.listContent({
|
|
602
|
+
c: E,
|
|
600
603
|
virtual: a
|
|
601
604
|
})
|
|
602
605
|
),
|
|
603
|
-
listStyle: u.enabled ? { transform:
|
|
606
|
+
listStyle: u.enabled ? { transform: b } : void 0,
|
|
604
607
|
key: "listkey",
|
|
605
608
|
skip: p,
|
|
606
609
|
onClick: this.handleItemClick,
|
|
@@ -627,15 +630,15 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
627
630
|
accessKey: u,
|
|
628
631
|
unstyled: p,
|
|
629
632
|
inputAttributes: y
|
|
630
|
-
} = this.props,
|
|
633
|
+
} = this.props, b = S(this.props), x = this.props.opened !== void 0 ? this.props.opened : this.state.opened, m = this.value, h = Math.max(
|
|
631
634
|
0,
|
|
632
|
-
|
|
635
|
+
b.findIndex((g) => k(g, m, l))
|
|
633
636
|
);
|
|
634
|
-
return this._suggested && !
|
|
635
|
-
|
|
637
|
+
return this._suggested && !k(this._valueOnDidUpdate, m, l) && (this._suggested = ""), /* @__PURE__ */ c.createElement(
|
|
638
|
+
ge,
|
|
636
639
|
{
|
|
637
640
|
id: e,
|
|
638
|
-
readOnly:
|
|
641
|
+
readOnly: x && this.mobileMode,
|
|
639
642
|
placeholder: t,
|
|
640
643
|
tabIndex: i,
|
|
641
644
|
title: r,
|
|
@@ -648,7 +651,7 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
648
651
|
onFocus: this.base.handleFocus,
|
|
649
652
|
onBlur: this.handleBlur,
|
|
650
653
|
disabled: n,
|
|
651
|
-
expanded:
|
|
654
|
+
expanded: x,
|
|
652
655
|
owns: this.base.listBoxId,
|
|
653
656
|
activedescendant: `option-${this.base.guid}-${h + o.skip}`,
|
|
654
657
|
role: "combobox",
|
|
@@ -671,21 +674,21 @@ const Ee = "Please enter a valid value!", F = class F extends c.Component {
|
|
|
671
674
|
}
|
|
672
675
|
triggerOnChange(s, e) {
|
|
673
676
|
const t = this.value;
|
|
674
|
-
!this.hasDuplicates && (!
|
|
677
|
+
!this.hasDuplicates && (!D(t) && !D(s) || k(t, s, this.props.dataItemKey)) || (this.props.value === void 0 && (e.data.value = s), this._valueDuringOnChange = s, e.events.push({ type: "onChange" }));
|
|
675
678
|
}
|
|
676
679
|
getFocusedIndex(s) {
|
|
677
680
|
const e = this.value, {
|
|
678
681
|
textField: t,
|
|
679
682
|
dataItemKey: i,
|
|
680
683
|
virtual: n = { skip: 0 },
|
|
681
|
-
focusedItemIndex: r =
|
|
684
|
+
focusedItemIndex: r = H,
|
|
682
685
|
skipDisabledItems: a
|
|
683
686
|
} = this.props, d = S(this.props), l = this.props.filter ? this.props.filter : this.state.text;
|
|
684
|
-
return s && this.navigationIndex !== void 0 ? this.navigationIndex :
|
|
687
|
+
return s && this.navigationIndex !== void 0 ? this.navigationIndex : D(e) && l === void 0 ? d.findIndex((o) => k(o, e, i)) : l ? r(d, l, t) : a && t && !l && n.skip === 0 ? d.findIndex((o) => !o.disabled && o[t]) : n.skip === 0 ? 0 : -1;
|
|
685
688
|
}
|
|
686
689
|
suggestValue(s) {
|
|
687
690
|
const { data: e, textField: t } = this.props;
|
|
688
|
-
this._suggested =
|
|
691
|
+
this._suggested = ue(s, e, t);
|
|
689
692
|
}
|
|
690
693
|
applyState(s) {
|
|
691
694
|
this.base.applyState(s), this._valueDuringOnChange = void 0;
|
|
@@ -710,7 +713,7 @@ F.displayName = "ComboBox", F.propTypes = {
|
|
|
710
713
|
allowCustom: v.bool,
|
|
711
714
|
clearButton: v.bool,
|
|
712
715
|
iconClassName: v.string,
|
|
713
|
-
svgIcon:
|
|
716
|
+
svgIcon: oe,
|
|
714
717
|
validationMessage: v.string,
|
|
715
718
|
required: v.bool,
|
|
716
719
|
id: v.string,
|
|
@@ -735,16 +738,18 @@ F.displayName = "ComboBox", F.propTypes = {
|
|
|
735
738
|
prefix: void 0,
|
|
736
739
|
suffix: void 0
|
|
737
740
|
};
|
|
738
|
-
let
|
|
739
|
-
const ke =
|
|
740
|
-
|
|
741
|
+
let P = F;
|
|
742
|
+
const ke = ne(), Ee = le(
|
|
743
|
+
re(
|
|
741
744
|
ke,
|
|
742
|
-
|
|
745
|
+
de(
|
|
746
|
+
pe(P)
|
|
747
|
+
)
|
|
743
748
|
)
|
|
744
749
|
);
|
|
745
|
-
|
|
750
|
+
Ee.displayName = "KendoReactComboBox";
|
|
746
751
|
export {
|
|
747
|
-
|
|
752
|
+
Ee as ComboBox,
|
|
748
753
|
ke as ComboBoxPropsContext,
|
|
749
|
-
|
|
754
|
+
P as ComboBoxWithoutContext
|
|
750
755
|
};
|