@progress/kendo-react-dropdowns 5.10.0-dev.202301111405 → 5.10.0-dev.202301121619

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.
@@ -370,7 +370,7 @@ var AutoCompleteWithoutContext = /** @class */ (function (_super) {
370
370
  var _a = this.props, placeholder = _a.placeholder, tabIndex = _a.tabIndex, disabled = _a.disabled, readonly = _a.readonly;
371
371
  var focused = this.state.focused;
372
372
  var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;
373
- return (React.createElement(SearchBar, { id: id, placeholder: placeholder, tabIndex: tabIndex || undefined, accessKey: this.props.accessKey, value: value, suggestedText: this._suggested, focused: focused, name: this.props.name, ref: function (searchbar) { return _this._input = searchbar && searchbar.input; }, onKeyDown: this.onInputKeyDown, onChange: this.onChangeHandler, onFocus: base.handleFocus, onBlur: this.handleBlur, disabled: disabled, readOnly: readonly, expanded: opened, owns: base.listBoxId, activedescendant: 'option-' + base.guid + '-' + this.focusedIndex(), role: "combobox", ariaLabelledBy: this.props.ariaLabelledBy, ariaDescribedBy: this.props.ariaDescribedBy, render: this.props.valueRender }));
373
+ return (React.createElement(SearchBar, { id: id, placeholder: placeholder, tabIndex: tabIndex, accessKey: this.props.accessKey, value: value, suggestedText: this._suggested, focused: focused, name: this.props.name, ref: function (searchbar) { return _this._input = searchbar && searchbar.input; }, onKeyDown: this.onInputKeyDown, onChange: this.onChangeHandler, onFocus: base.handleFocus, onBlur: this.handleBlur, disabled: disabled, readOnly: readonly, expanded: opened, owns: base.listBoxId, activedescendant: 'option-' + base.guid + '-' + this.focusedIndex(), role: "combobox", ariaLabelledBy: this.props.ariaLabelledBy, ariaDescribedBy: this.props.ariaDescribedBy, render: this.props.valueRender }));
374
374
  };
375
375
  AutoCompleteWithoutContext.prototype.renderListContainer = function () {
376
376
  var _a;
@@ -81,7 +81,9 @@ export declare class ComboBoxWithoutContext extends React.Component<ComboBoxProp
81
81
  onOpen: PropTypes.Requireable<(...args: any[]) => any>;
82
82
  onClose: PropTypes.Requireable<(...args: any[]) => any>;
83
83
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
84
- onBlur: PropTypes.Requireable<(...args: any[]) => any>;
84
+ onBlur: PropTypes.Requireable<(...args: any[]) => any>; /**
85
+ * @hidden
86
+ */
85
87
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
86
88
  itemRender: PropTypes.Requireable<(...args: any[]) => any>;
87
89
  listNoDataRender: PropTypes.Requireable<(...args: any[]) => any>;
@@ -38,6 +38,8 @@ import { packageMetadata } from '../package-metadata';
38
38
  import ClearButton from '../common/ClearButton';
39
39
  import { Button } from '@progress/kendo-react-buttons';
40
40
  import { caretAltDownIcon } from '@progress/kendo-svg-icons';
41
+ import { messages, comboArrowBtnAriaLabelExpand, comboArrowBtnAriaLabelCollapse } from './../messages';
42
+ import { provideLocalizationService } from '@progress/kendo-react-intl';
41
43
  var VALIDATION_MESSAGE = 'Please enter a valid value!';
42
44
  var sizeMap = kendoThemeMaps.sizeMap, roundedMap = kendoThemeMaps.roundedMap;
43
45
  /** @hidden */
@@ -364,7 +366,9 @@ var ComboBoxWithoutContext = /** @class */ (function (_super) {
364
366
  */
365
367
  ComboBoxWithoutContext.prototype.render = function () {
366
368
  var _a;
367
- var _b = this.props, dir = _b.dir, disabled = _b.disabled, _c = _b.clearButton, clearButton = _c === void 0 ? ComboBoxWithoutContext.defaultProps.clearButton : _c, label = _b.label, textField = _b.textField, className = _b.className, style = _b.style, loading = _b.loading, iconClassName = _b.iconClassName, virtual = _b.virtual, size = _b.size, rounded = _b.rounded, fillMode = _b.fillMode;
369
+ var btnAriaLabelExpand = provideLocalizationService(this).toLanguageString(comboArrowBtnAriaLabelExpand, messages[comboArrowBtnAriaLabelExpand]);
370
+ var btnAriaLabelCollapse = provideLocalizationService(this).toLanguageString(comboArrowBtnAriaLabelCollapse, messages[comboArrowBtnAriaLabelCollapse]);
371
+ var _b = this.props, dir = _b.dir, disabled = _b.disabled, _c = _b.clearButton, clearButton = _c === void 0 ? ComboBoxWithoutContext.defaultProps.clearButton : _c, label = _b.label, textField = _b.textField, className = _b.className, style = _b.style, loading = _b.loading, iconClassName = _b.iconClassName, virtual = _b.virtual, size = _b.size, rounded = _b.rounded, fillMode = _b.fillMode, _d = _b.opened, opened = _d === void 0 ? this.state.opened : _d;
368
372
  var isValid = !this.validityStyles || this.validity.valid;
369
373
  var text = this.props.filter !== undefined ? this.props.filter : this.state.text;
370
374
  var selectedItemText = getItemValue(this.value, textField);
@@ -391,7 +395,7 @@ var ComboBoxWithoutContext = /** @class */ (function (_super) {
391
395
  this.renderSearchBar(inputText || '', id),
392
396
  renderClearButton && !loading && React.createElement(ClearButton, { onClick: this.clearButtonClick, key: "clearbutton" }),
393
397
  loading && React.createElement("span", { className: "k-icon k-i-loading k-input-loading-icon", key: "loading" }),
394
- React.createElement(Button, { tabIndex: -1, type: "button", icon: !iconClassName ? 'caret-alt-down' : undefined, svgIcon: !iconClassName ? caretAltDownIcon : this.props.svgIcon, iconClass: iconClassName, size: size, fillMode: fillMode, rounded: null, themeColor: 'base', className: "k-input-button", onClick: this.toggleBtnClick, onMouseDown: function (e) { return e.preventDefault(); } }),
398
+ React.createElement(Button, { tabIndex: -1, type: "button", "aria-label": opened ? btnAriaLabelCollapse : btnAriaLabelExpand, icon: !iconClassName ? 'caret-alt-down' : undefined, svgIcon: !iconClassName ? caretAltDownIcon : this.props.svgIcon, iconClass: iconClassName, size: size, fillMode: fillMode, rounded: null, themeColor: 'base', className: "k-input-button", onClick: this.toggleBtnClick, onMouseDown: function (e) { return e.preventDefault(); } }),
395
399
  this.renderListContainer()));
396
400
  return label
397
401
  ? (React.createElement(FloatingLabel, { label: label, editorId: id, editorValue: inputText, editorValid: isValid, editorDisabled: disabled, style: { width: style ? style.width : undefined }, children: combobox }))
@@ -566,7 +570,7 @@ var ComboBoxWithoutContext = /** @class */ (function (_super) {
566
570
  if (this._suggested && !areSame(this._valueOnDidUpdate, value, dataItemKey)) {
567
571
  this._suggested = '';
568
572
  }
569
- return (React.createElement(SearchBar, { id: id, placeholder: placeholder, tabIndex: tabIndex || undefined, accessKey: this.props.accessKey, value: text + this._suggested, suggestedText: this._suggested, ref: function (el) { return _this._input = el && el.input; }, onKeyDown: this.onInputKeyDown, onChange: this.inputOnChange, onFocus: this.base.handleFocus, onBlur: this.handleBlur, disabled: disabled, expanded: opened, owns: this.base.listBoxId, activedescendant: "option-".concat(this.base.guid, "-").concat(selectedIndex + virtual.skip), role: "combobox", ariaLabelledBy: this.props.ariaLabelledBy, ariaDescribedBy: this.props.ariaDescribedBy, render: this.props.valueRender }));
573
+ return (React.createElement(SearchBar, { id: id, placeholder: placeholder, tabIndex: tabIndex, accessKey: this.props.accessKey, value: text + this._suggested, suggestedText: this._suggested, ref: function (el) { return _this._input = el && el.input; }, onKeyDown: this.onInputKeyDown, onChange: this.inputOnChange, onFocus: this.base.handleFocus, onBlur: this.handleBlur, disabled: disabled, expanded: opened, owns: this.base.listBoxId, activedescendant: "option-".concat(this.base.guid, "-").concat(selectedIndex + virtual.skip), role: "combobox", ariaLabelledBy: this.props.ariaLabelledBy, ariaDescribedBy: this.props.ariaDescribedBy, render: this.props.valueRender }));
570
574
  };
571
575
  ComboBoxWithoutContext.prototype.triggerOnChange = function (item, state) {
572
576
  var value = this.value;
@@ -28,9 +28,7 @@ export declare class DropDownListWithoutContext extends React.Component<DropDown
28
28
  total: PropTypes.Validator<number>;
29
29
  }>>;
30
30
  onFilterChange: PropTypes.Requireable<(...args: any[]) => any>;
31
- onPageChange: PropTypes.Requireable<(...args: any[]) => any>; /**
32
- * @hidden
33
- */
31
+ onPageChange: PropTypes.Requireable<(...args: any[]) => any>;
34
32
  opened: PropTypes.Requireable<boolean>;
35
33
  disabled: PropTypes.Requireable<boolean>;
36
34
  dir: PropTypes.Requireable<string>;
@@ -90,6 +88,9 @@ export declare class DropDownListWithoutContext extends React.Component<DropDown
90
88
  size: "small" | "medium" | "large" | null | undefined;
91
89
  rounded: "small" | "medium" | "full" | "large" | null | undefined;
92
90
  fillMode: "flat" | "outline" | "solid" | null | undefined;
91
+ /**
92
+ * @hidden
93
+ */
93
94
  popupSettings: {
94
95
  height: string;
95
96
  };
@@ -111,6 +112,7 @@ export declare class DropDownListWithoutContext extends React.Component<DropDown
111
112
  private _filterInput;
112
113
  private _valueDuringOnChange;
113
114
  private _navigated;
115
+ private _inputId;
114
116
  constructor(props: DropDownListProps);
115
117
  /**
116
118
  * @hidden
@@ -26,7 +26,7 @@ var __assign = (this && this.__assign) || function () {
26
26
  };
27
27
  import * as React from 'react';
28
28
  import * as PropTypes from 'prop-types';
29
- import { classNames, Keys, getTabIndex, createPropsContext, withPropsContext, kendoThemeMaps, IconWrap, svgIconPropType } from '@progress/kendo-react-common';
29
+ import { classNames, Keys, getTabIndex, createPropsContext, withPropsContext, kendoThemeMaps, IconWrap, svgIconPropType, guid } from '@progress/kendo-react-common';
30
30
  import { FloatingLabel } from '@progress/kendo-react-labels';
31
31
  import { caretAltDownIcon } from '@progress/kendo-svg-icons';
32
32
  import ListContainer from '../common/ListContainer';
@@ -38,6 +38,8 @@ import { isPresent, getItemValue, sameCharsOnly, shuffleData, matchText, areSame
38
38
  import { validatePackage } from '@progress/kendo-react-common';
39
39
  import { packageMetadata } from '../package-metadata';
40
40
  import { Button } from '@progress/kendo-react-buttons';
41
+ import { provideLocalizationService } from '@progress/kendo-react-intl';
42
+ import { dropDownListArrowBtnAriaLabel, messages } from '../messages';
41
43
  var VALIDATION_MESSAGE = 'Please select a value from the list!';
42
44
  var sizeMap = kendoThemeMaps.sizeMap, roundedMap = kendoThemeMaps.roundedMap;
43
45
  /**
@@ -58,6 +60,7 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
58
60
  _this._skipFocusEvent = false;
59
61
  _this._filterInput = null;
60
62
  _this._navigated = false;
63
+ _this._inputId = guid();
61
64
  /**
62
65
  * @hidden
63
66
  */
@@ -488,6 +491,7 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
488
491
  DropDownListWithoutContext.prototype.render = function () {
489
492
  var _a;
490
493
  var _this = this;
494
+ var btnAriaLabel = provideLocalizationService(this).toLanguageString(dropDownListArrowBtnAriaLabel, messages[dropDownListArrowBtnAriaLabel]);
491
495
  var _b = this.props, style = _b.style, className = _b.className, label = _b.label, dir = _b.dir, virtual = _b.virtual, size = _b.size, rounded = _b.rounded, fillMode = _b.fillMode;
492
496
  var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;
493
497
  var value = this.value;
@@ -504,7 +508,7 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
504
508
  var _c = this.props, dataItemKey = _c.dataItemKey, _d = _c.data, data = _d === void 0 ? [] : _d, disabled = _c.disabled, tabIndex = _c.tabIndex, loading = _c.loading, iconClassName = _c.iconClassName, valueRender = _c.valueRender;
505
509
  var focused = this.state.focused;
506
510
  var selectedIndex = data.findIndex(function (i) { return areSame(i, value, dataItemKey); });
507
- var valueDefaultRendering = (React.createElement("span", { className: "k-input-inner" },
511
+ var valueDefaultRendering = (React.createElement("span", { id: this._inputId, className: "k-input-inner" },
508
512
  React.createElement("span", { className: "k-input-value-text" }, text)));
509
513
  var valueElement = valueRender !== undefined ?
510
514
  valueRender.call(undefined, valueDefaultRendering, value) : valueDefaultRendering;
@@ -519,10 +523,10 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
519
523
  _a['k-required'] = this.required,
520
524
  _a)), style: !label
521
525
  ? style
522
- : __assign(__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: 'combobox', "aria-required": this.required, "aria-disabled": disabled || undefined, "aria-haspopup": 'listbox', "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.ariaLabel || this.props.label, "aria-labelledby": this.props.ariaLabelledBy, "aria-describedby": this.props.ariaDescribedBy, id: this.props.id, title: this.props.title },
526
+ : __assign(__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: 'combobox', "aria-required": this.required, "aria-disabled": disabled || undefined, "aria-haspopup": 'listbox', "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.ariaLabel || this.props.label, "aria-labelledby": this.props.ariaLabelledBy, "aria-describedby": this.props.ariaDescribedBy || this._inputId, id: this.props.id, title: this.props.title },
523
527
  valueElement,
524
528
  loading && React.createElement(IconWrap, { className: "k-input-loading-icon", name: 'loading' }),
525
- React.createElement(Button, { tabIndex: -1, type: "button", "aria-hidden": true, size: size, fillMode: fillMode, iconClass: iconClassName, className: "k-input-button", themeColor: 'base', icon: !iconClassName ? 'caret-alt-down' : undefined, svgIcon: !iconClassName ? caretAltDownIcon : this.props.svgIcon, onMouseDown: function (e) { return _this.state.focused && e.preventDefault(); } }),
529
+ React.createElement(Button, { tabIndex: -1, type: "button", "aria-label": btnAriaLabel, "aria-hidden": true, size: size, fillMode: fillMode, iconClass: iconClassName, className: "k-input-button", themeColor: 'base', icon: !iconClassName ? 'caret-alt-down' : undefined, svgIcon: !iconClassName ? caretAltDownIcon : this.props.svgIcon, onMouseDown: function (e) { return _this.state.focused && e.preventDefault(); } }),
526
530
  this.dummySelect(value),
527
531
  this.renderListContainer()));
528
532
  return label ? (React.createElement(FloatingLabel, { label: label, editorValue: text, editorValid: isValid, editorDisabled: this.props.disabled, style: { width: style ? style.width : undefined }, children: dropdownlist })) : dropdownlist;
@@ -399,12 +399,12 @@ export var MultiSelectTree = React.forwardRef(function (directProps, ref) {
399
399
  _a['k-loading'] = props.loading,
400
400
  _a['k-required'] = required,
401
401
  _a)), tabIndex: tabIndex, accessKey: props.accessKey, id: id, style: label ? __assign(__assign({}, style), { width: undefined }) : style, dir: dir, ref: elementRef, onKeyDown: disabled ? undefined : onWrapperKeyDown, onMouseDown: onWrapperMouseDown, onFocus: onFocus, onBlur: onBlur, role: "combobox", "aria-haspopup": "true", "aria-expanded": isOpen, "aria-disabled": disabled, "aria-label": label, "aria-labelledby": props.ariaLabelledBy, "aria-describedby": props.ariaDescribedBy, onClick: disabled ? undefined : onWrapperClick },
402
- tagsToRenderRef.current.length > 0 && (React.createElement("div", { className: classNames('k-input-values k-chip-list k-selection-multiple', (_b = {},
402
+ React.createElement("div", { id: 'tagslist-' + id, className: classNames('k-input-values k-chip-list k-selection-multiple', (_b = {},
403
403
  _b["k-chip-list-".concat(sizeMap[size] || size)] = size,
404
- _b)), role: "listbox", id: 'tagslist-' + id },
405
- React.createElement(TagList, { tag: props.tag, onTagDelete: onTagDelete, data: tagsToRenderRef.current, guid: id, focused: focusedTagState ? tagsToRenderRef.current.find(function (t) { return matchTags(t, focusedTagState, dataItemKey); }) : undefined, size: size }))),
406
- !hasValue && React.createElement("span", { className: "k-input-inner" },
407
- React.createElement("span", { className: "k-input-value-text" }, "\u00A0")),
404
+ _b)) }, tagsToRenderRef.current.length > 0 && (React.createElement(TagList, { tag: props.tag, onTagDelete: onTagDelete, data: tagsToRenderRef.current, guid: id, focused: focusedTagState ? tagsToRenderRef.current.find(function (t) { return matchTags(t, focusedTagState, dataItemKey); }) : undefined, size: size }))),
405
+ !hasValue &&
406
+ React.createElement("span", { className: "k-input-inner", role: 'combobox', tabIndex: tabIndex, "aria-expanded": isOpen, "aria-describedby": 'tagslist-' + id, "aria-label": props.ariaLabelledBy },
407
+ React.createElement("span", { className: "k-input-value-text" }, "\u00A0")),
408
408
  props.loading && React.createElement(IconWrap, { className: "k-input-loading-icon", name: 'loading' }),
409
409
  hasValue && !disabled && React.createElement(ClearButton, { onClick: onClear }),
410
410
  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%' } },
@@ -6,10 +6,25 @@ export declare const nodata = "dropdowns.nodata";
6
6
  * @hidden
7
7
  */
8
8
  export declare const clear = "dropdowns.clear";
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare const comboArrowBtnAriaLabelExpand = "dropdowns.comboArrowBtnAriaLabelExpand";
13
+ /**
14
+ * @hidden
15
+ */
16
+ export declare const comboArrowBtnAriaLabelCollapse = "dropdowns.comboArrowBtnAriaLabelCollapse";
17
+ /**
18
+ * @hidden
19
+ */
20
+ export declare const dropDownListArrowBtnAriaLabel = "dropdowns.dropDownListArrowBtnAriaLabel";
9
21
  /**
10
22
  * @hidden
11
23
  */
12
24
  export declare const messages: {
13
25
  "dropdowns.clear": string;
14
26
  "dropdowns.nodata": string;
27
+ "dropdowns.comboArrowBtnAriaLabelExpand": string;
28
+ "dropdowns.comboArrowBtnAriaLabelCollapse": string;
29
+ "dropdowns.dropDownListArrowBtnAriaLabel": string;
15
30
  };
@@ -7,10 +7,25 @@ export var nodata = 'dropdowns.nodata';
7
7
  * @hidden
8
8
  */
9
9
  export var clear = 'dropdowns.clear';
10
+ /**
11
+ * @hidden
12
+ */
13
+ export var comboArrowBtnAriaLabelExpand = 'dropdowns.comboArrowBtnAriaLabelExpand';
14
+ /**
15
+ * @hidden
16
+ */
17
+ export var comboArrowBtnAriaLabelCollapse = 'dropdowns.comboArrowBtnAriaLabelCollapse';
18
+ /**
19
+ * @hidden
20
+ */
21
+ export var dropDownListArrowBtnAriaLabel = 'dropdowns.dropDownListArrowBtnAriaLabel';
10
22
  /**
11
23
  * @hidden
12
24
  */
13
25
  export var messages = (_a = {},
14
26
  _a[clear] = 'clear',
15
27
  _a[nodata] = 'NO DATA FOUND.',
28
+ _a[comboArrowBtnAriaLabelExpand] = 'expand combobox',
29
+ _a[comboArrowBtnAriaLabelCollapse] = 'collapse combobox',
30
+ _a[dropDownListArrowBtnAriaLabel] = 'select',
16
31
  _a);
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-react-dropdowns',
6
6
  productName: 'KendoReact',
7
7
  productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
8
- publishDate: 1673444656,
8
+ publishDate: 1673538574,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
11
11
  };
@@ -373,7 +373,7 @@ var AutoCompleteWithoutContext = /** @class */ (function (_super) {
373
373
  var _a = this.props, placeholder = _a.placeholder, tabIndex = _a.tabIndex, disabled = _a.disabled, readonly = _a.readonly;
374
374
  var focused = this.state.focused;
375
375
  var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;
376
- return (React.createElement(SearchBar_1.default, { id: id, placeholder: placeholder, tabIndex: tabIndex || undefined, accessKey: this.props.accessKey, value: value, suggestedText: this._suggested, focused: focused, name: this.props.name, ref: function (searchbar) { return _this._input = searchbar && searchbar.input; }, onKeyDown: this.onInputKeyDown, onChange: this.onChangeHandler, onFocus: base.handleFocus, onBlur: this.handleBlur, disabled: disabled, readOnly: readonly, expanded: opened, owns: base.listBoxId, activedescendant: 'option-' + base.guid + '-' + this.focusedIndex(), role: "combobox", ariaLabelledBy: this.props.ariaLabelledBy, ariaDescribedBy: this.props.ariaDescribedBy, render: this.props.valueRender }));
376
+ return (React.createElement(SearchBar_1.default, { id: id, placeholder: placeholder, tabIndex: tabIndex, accessKey: this.props.accessKey, value: value, suggestedText: this._suggested, focused: focused, name: this.props.name, ref: function (searchbar) { return _this._input = searchbar && searchbar.input; }, onKeyDown: this.onInputKeyDown, onChange: this.onChangeHandler, onFocus: base.handleFocus, onBlur: this.handleBlur, disabled: disabled, readOnly: readonly, expanded: opened, owns: base.listBoxId, activedescendant: 'option-' + base.guid + '-' + this.focusedIndex(), role: "combobox", ariaLabelledBy: this.props.ariaLabelledBy, ariaDescribedBy: this.props.ariaDescribedBy, render: this.props.valueRender }));
377
377
  };
378
378
  AutoCompleteWithoutContext.prototype.renderListContainer = function () {
379
379
  var _a;
@@ -81,7 +81,9 @@ export declare class ComboBoxWithoutContext extends React.Component<ComboBoxProp
81
81
  onOpen: PropTypes.Requireable<(...args: any[]) => any>;
82
82
  onClose: PropTypes.Requireable<(...args: any[]) => any>;
83
83
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
84
- onBlur: PropTypes.Requireable<(...args: any[]) => any>;
84
+ onBlur: PropTypes.Requireable<(...args: any[]) => any>; /**
85
+ * @hidden
86
+ */
85
87
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
86
88
  itemRender: PropTypes.Requireable<(...args: any[]) => any>;
87
89
  listNoDataRender: PropTypes.Requireable<(...args: any[]) => any>;
@@ -41,6 +41,8 @@ var package_metadata_1 = require("../package-metadata");
41
41
  var ClearButton_1 = require("../common/ClearButton");
42
42
  var kendo_react_buttons_1 = require("@progress/kendo-react-buttons");
43
43
  var kendo_svg_icons_1 = require("@progress/kendo-svg-icons");
44
+ var messages_1 = require("./../messages");
45
+ var kendo_react_intl_1 = require("@progress/kendo-react-intl");
44
46
  var VALIDATION_MESSAGE = 'Please enter a valid value!';
45
47
  var sizeMap = kendo_react_common_1.kendoThemeMaps.sizeMap, roundedMap = kendo_react_common_1.kendoThemeMaps.roundedMap;
46
48
  /** @hidden */
@@ -367,7 +369,9 @@ var ComboBoxWithoutContext = /** @class */ (function (_super) {
367
369
  */
368
370
  ComboBoxWithoutContext.prototype.render = function () {
369
371
  var _a;
370
- var _b = this.props, dir = _b.dir, disabled = _b.disabled, _c = _b.clearButton, clearButton = _c === void 0 ? ComboBoxWithoutContext.defaultProps.clearButton : _c, label = _b.label, textField = _b.textField, className = _b.className, style = _b.style, loading = _b.loading, iconClassName = _b.iconClassName, virtual = _b.virtual, size = _b.size, rounded = _b.rounded, fillMode = _b.fillMode;
372
+ var btnAriaLabelExpand = (0, kendo_react_intl_1.provideLocalizationService)(this).toLanguageString(messages_1.comboArrowBtnAriaLabelExpand, messages_1.messages[messages_1.comboArrowBtnAriaLabelExpand]);
373
+ var btnAriaLabelCollapse = (0, kendo_react_intl_1.provideLocalizationService)(this).toLanguageString(messages_1.comboArrowBtnAriaLabelCollapse, messages_1.messages[messages_1.comboArrowBtnAriaLabelCollapse]);
374
+ var _b = this.props, dir = _b.dir, disabled = _b.disabled, _c = _b.clearButton, clearButton = _c === void 0 ? ComboBoxWithoutContext.defaultProps.clearButton : _c, label = _b.label, textField = _b.textField, className = _b.className, style = _b.style, loading = _b.loading, iconClassName = _b.iconClassName, virtual = _b.virtual, size = _b.size, rounded = _b.rounded, fillMode = _b.fillMode, _d = _b.opened, opened = _d === void 0 ? this.state.opened : _d;
371
375
  var isValid = !this.validityStyles || this.validity.valid;
372
376
  var text = this.props.filter !== undefined ? this.props.filter : this.state.text;
373
377
  var selectedItemText = (0, utils_1.getItemValue)(this.value, textField);
@@ -394,7 +398,7 @@ var ComboBoxWithoutContext = /** @class */ (function (_super) {
394
398
  this.renderSearchBar(inputText || '', id),
395
399
  renderClearButton && !loading && React.createElement(ClearButton_1.default, { onClick: this.clearButtonClick, key: "clearbutton" }),
396
400
  loading && React.createElement("span", { className: "k-icon k-i-loading k-input-loading-icon", key: "loading" }),
397
- React.createElement(kendo_react_buttons_1.Button, { tabIndex: -1, type: "button", icon: !iconClassName ? 'caret-alt-down' : undefined, svgIcon: !iconClassName ? kendo_svg_icons_1.caretAltDownIcon : this.props.svgIcon, iconClass: iconClassName, size: size, fillMode: fillMode, rounded: null, themeColor: 'base', className: "k-input-button", onClick: this.toggleBtnClick, onMouseDown: function (e) { return e.preventDefault(); } }),
401
+ React.createElement(kendo_react_buttons_1.Button, { tabIndex: -1, type: "button", "aria-label": opened ? btnAriaLabelCollapse : btnAriaLabelExpand, icon: !iconClassName ? 'caret-alt-down' : undefined, svgIcon: !iconClassName ? kendo_svg_icons_1.caretAltDownIcon : this.props.svgIcon, iconClass: iconClassName, size: size, fillMode: fillMode, rounded: null, themeColor: 'base', className: "k-input-button", onClick: this.toggleBtnClick, onMouseDown: function (e) { return e.preventDefault(); } }),
398
402
  this.renderListContainer()));
399
403
  return label
400
404
  ? (React.createElement(kendo_react_labels_1.FloatingLabel, { label: label, editorId: id, editorValue: inputText, editorValid: isValid, editorDisabled: disabled, style: { width: style ? style.width : undefined }, children: combobox }))
@@ -569,7 +573,7 @@ var ComboBoxWithoutContext = /** @class */ (function (_super) {
569
573
  if (this._suggested && !(0, utils_1.areSame)(this._valueOnDidUpdate, value, dataItemKey)) {
570
574
  this._suggested = '';
571
575
  }
572
- return (React.createElement(SearchBar_1.default, { id: id, placeholder: placeholder, tabIndex: tabIndex || undefined, accessKey: this.props.accessKey, value: text + this._suggested, suggestedText: this._suggested, ref: function (el) { return _this._input = el && el.input; }, onKeyDown: this.onInputKeyDown, onChange: this.inputOnChange, onFocus: this.base.handleFocus, onBlur: this.handleBlur, disabled: disabled, expanded: opened, owns: this.base.listBoxId, activedescendant: "option-".concat(this.base.guid, "-").concat(selectedIndex + virtual.skip), role: "combobox", ariaLabelledBy: this.props.ariaLabelledBy, ariaDescribedBy: this.props.ariaDescribedBy, render: this.props.valueRender }));
576
+ return (React.createElement(SearchBar_1.default, { id: id, placeholder: placeholder, tabIndex: tabIndex, accessKey: this.props.accessKey, value: text + this._suggested, suggestedText: this._suggested, ref: function (el) { return _this._input = el && el.input; }, onKeyDown: this.onInputKeyDown, onChange: this.inputOnChange, onFocus: this.base.handleFocus, onBlur: this.handleBlur, disabled: disabled, expanded: opened, owns: this.base.listBoxId, activedescendant: "option-".concat(this.base.guid, "-").concat(selectedIndex + virtual.skip), role: "combobox", ariaLabelledBy: this.props.ariaLabelledBy, ariaDescribedBy: this.props.ariaDescribedBy, render: this.props.valueRender }));
573
577
  };
574
578
  ComboBoxWithoutContext.prototype.triggerOnChange = function (item, state) {
575
579
  var value = this.value;
@@ -28,9 +28,7 @@ export declare class DropDownListWithoutContext extends React.Component<DropDown
28
28
  total: PropTypes.Validator<number>;
29
29
  }>>;
30
30
  onFilterChange: PropTypes.Requireable<(...args: any[]) => any>;
31
- onPageChange: PropTypes.Requireable<(...args: any[]) => any>; /**
32
- * @hidden
33
- */
31
+ onPageChange: PropTypes.Requireable<(...args: any[]) => any>;
34
32
  opened: PropTypes.Requireable<boolean>;
35
33
  disabled: PropTypes.Requireable<boolean>;
36
34
  dir: PropTypes.Requireable<string>;
@@ -90,6 +88,9 @@ export declare class DropDownListWithoutContext extends React.Component<DropDown
90
88
  size: "small" | "medium" | "large" | null | undefined;
91
89
  rounded: "small" | "medium" | "full" | "large" | null | undefined;
92
90
  fillMode: "flat" | "outline" | "solid" | null | undefined;
91
+ /**
92
+ * @hidden
93
+ */
93
94
  popupSettings: {
94
95
  height: string;
95
96
  };
@@ -111,6 +112,7 @@ export declare class DropDownListWithoutContext extends React.Component<DropDown
111
112
  private _filterInput;
112
113
  private _valueDuringOnChange;
113
114
  private _navigated;
115
+ private _inputId;
114
116
  constructor(props: DropDownListProps);
115
117
  /**
116
118
  * @hidden
@@ -41,6 +41,8 @@ var utils_1 = require("../common/utils");
41
41
  var kendo_react_common_2 = require("@progress/kendo-react-common");
42
42
  var package_metadata_1 = require("../package-metadata");
43
43
  var kendo_react_buttons_1 = require("@progress/kendo-react-buttons");
44
+ var kendo_react_intl_1 = require("@progress/kendo-react-intl");
45
+ var messages_1 = require("../messages");
44
46
  var VALIDATION_MESSAGE = 'Please select a value from the list!';
45
47
  var sizeMap = kendo_react_common_1.kendoThemeMaps.sizeMap, roundedMap = kendo_react_common_1.kendoThemeMaps.roundedMap;
46
48
  /**
@@ -61,6 +63,7 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
61
63
  _this._skipFocusEvent = false;
62
64
  _this._filterInput = null;
63
65
  _this._navigated = false;
66
+ _this._inputId = (0, kendo_react_common_1.guid)();
64
67
  /**
65
68
  * @hidden
66
69
  */
@@ -491,6 +494,7 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
491
494
  DropDownListWithoutContext.prototype.render = function () {
492
495
  var _a;
493
496
  var _this = this;
497
+ var btnAriaLabel = (0, kendo_react_intl_1.provideLocalizationService)(this).toLanguageString(messages_1.dropDownListArrowBtnAriaLabel, messages_1.messages[messages_1.dropDownListArrowBtnAriaLabel]);
494
498
  var _b = this.props, style = _b.style, className = _b.className, label = _b.label, dir = _b.dir, virtual = _b.virtual, size = _b.size, rounded = _b.rounded, fillMode = _b.fillMode;
495
499
  var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;
496
500
  var value = this.value;
@@ -507,7 +511,7 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
507
511
  var _c = this.props, dataItemKey = _c.dataItemKey, _d = _c.data, data = _d === void 0 ? [] : _d, disabled = _c.disabled, tabIndex = _c.tabIndex, loading = _c.loading, iconClassName = _c.iconClassName, valueRender = _c.valueRender;
508
512
  var focused = this.state.focused;
509
513
  var selectedIndex = data.findIndex(function (i) { return (0, utils_1.areSame)(i, value, dataItemKey); });
510
- var valueDefaultRendering = (React.createElement("span", { className: "k-input-inner" },
514
+ var valueDefaultRendering = (React.createElement("span", { id: this._inputId, className: "k-input-inner" },
511
515
  React.createElement("span", { className: "k-input-value-text" }, text)));
512
516
  var valueElement = valueRender !== undefined ?
513
517
  valueRender.call(undefined, valueDefaultRendering, value) : valueDefaultRendering;
@@ -522,10 +526,10 @@ var DropDownListWithoutContext = /** @class */ (function (_super) {
522
526
  _a['k-required'] = this.required,
523
527
  _a)), style: !label
524
528
  ? style
525
- : __assign(__assign({}, style), { width: undefined }), dir: dir, onMouseDown: opened ? utils_1.preventDefaultNonInputs : undefined, onFocus: this.handleFocus, onBlur: this.handleBlur, tabIndex: (0, kendo_react_common_1.getTabIndex)(tabIndex, disabled), accessKey: this.props.accessKey, onKeyDown: this.handleKeyDown, onKeyPress: this.handleKeyPress, onClick: disabled ? undefined : this.handleWrapperClick, role: 'combobox', "aria-required": this.required, "aria-disabled": disabled || undefined, "aria-haspopup": 'listbox', "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.ariaLabel || this.props.label, "aria-labelledby": this.props.ariaLabelledBy, "aria-describedby": this.props.ariaDescribedBy, id: this.props.id, title: this.props.title },
529
+ : __assign(__assign({}, style), { width: undefined }), dir: dir, onMouseDown: opened ? utils_1.preventDefaultNonInputs : undefined, onFocus: this.handleFocus, onBlur: this.handleBlur, tabIndex: (0, kendo_react_common_1.getTabIndex)(tabIndex, disabled), accessKey: this.props.accessKey, onKeyDown: this.handleKeyDown, onKeyPress: this.handleKeyPress, onClick: disabled ? undefined : this.handleWrapperClick, role: 'combobox', "aria-required": this.required, "aria-disabled": disabled || undefined, "aria-haspopup": 'listbox', "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.ariaLabel || this.props.label, "aria-labelledby": this.props.ariaLabelledBy, "aria-describedby": this.props.ariaDescribedBy || this._inputId, id: this.props.id, title: this.props.title },
526
530
  valueElement,
527
531
  loading && React.createElement(kendo_react_common_1.IconWrap, { className: "k-input-loading-icon", name: 'loading' }),
528
- React.createElement(kendo_react_buttons_1.Button, { tabIndex: -1, type: "button", "aria-hidden": true, size: size, fillMode: fillMode, iconClass: iconClassName, className: "k-input-button", themeColor: 'base', icon: !iconClassName ? 'caret-alt-down' : undefined, svgIcon: !iconClassName ? kendo_svg_icons_1.caretAltDownIcon : this.props.svgIcon, onMouseDown: function (e) { return _this.state.focused && e.preventDefault(); } }),
532
+ React.createElement(kendo_react_buttons_1.Button, { tabIndex: -1, type: "button", "aria-label": btnAriaLabel, "aria-hidden": true, size: size, fillMode: fillMode, iconClass: iconClassName, className: "k-input-button", themeColor: 'base', icon: !iconClassName ? 'caret-alt-down' : undefined, svgIcon: !iconClassName ? kendo_svg_icons_1.caretAltDownIcon : this.props.svgIcon, onMouseDown: function (e) { return _this.state.focused && e.preventDefault(); } }),
529
533
  this.dummySelect(value),
530
534
  this.renderListContainer()));
531
535
  return label ? (React.createElement(kendo_react_labels_1.FloatingLabel, { label: label, editorValue: text, editorValid: isValid, editorDisabled: this.props.disabled, style: { width: style ? style.width : undefined }, children: dropdownlist })) : dropdownlist;
@@ -402,12 +402,12 @@ exports.MultiSelectTree = React.forwardRef(function (directProps, ref) {
402
402
  _a['k-loading'] = props.loading,
403
403
  _a['k-required'] = required,
404
404
  _a)), tabIndex: tabIndex, accessKey: props.accessKey, id: id, style: label ? __assign(__assign({}, style), { width: undefined }) : style, dir: dir, ref: elementRef, onKeyDown: disabled ? undefined : onWrapperKeyDown, onMouseDown: onWrapperMouseDown, onFocus: onFocus, onBlur: onBlur, role: "combobox", "aria-haspopup": "true", "aria-expanded": isOpen, "aria-disabled": disabled, "aria-label": label, "aria-labelledby": props.ariaLabelledBy, "aria-describedby": props.ariaDescribedBy, onClick: disabled ? undefined : onWrapperClick },
405
- tagsToRenderRef.current.length > 0 && (React.createElement("div", { className: (0, kendo_react_common_1.classNames)('k-input-values k-chip-list k-selection-multiple', (_b = {},
405
+ React.createElement("div", { id: 'tagslist-' + id, className: (0, kendo_react_common_1.classNames)('k-input-values k-chip-list k-selection-multiple', (_b = {},
406
406
  _b["k-chip-list-".concat(sizeMap[size] || size)] = size,
407
- _b)), role: "listbox", id: 'tagslist-' + id },
408
- React.createElement(TagList_1.default, { tag: props.tag, onTagDelete: onTagDelete, data: tagsToRenderRef.current, guid: id, focused: focusedTagState ? tagsToRenderRef.current.find(function (t) { return (0, utils_1.matchTags)(t, focusedTagState, dataItemKey); }) : undefined, size: size }))),
409
- !hasValue && React.createElement("span", { className: "k-input-inner" },
410
- React.createElement("span", { className: "k-input-value-text" }, "\u00A0")),
407
+ _b)) }, tagsToRenderRef.current.length > 0 && (React.createElement(TagList_1.default, { tag: props.tag, onTagDelete: onTagDelete, data: tagsToRenderRef.current, guid: id, focused: focusedTagState ? tagsToRenderRef.current.find(function (t) { return (0, utils_1.matchTags)(t, focusedTagState, dataItemKey); }) : undefined, size: size }))),
408
+ !hasValue &&
409
+ React.createElement("span", { className: "k-input-inner", role: 'combobox', tabIndex: tabIndex, "aria-expanded": isOpen, "aria-describedby": 'tagslist-' + id, "aria-label": props.ariaLabelledBy },
410
+ React.createElement("span", { className: "k-input-value-text" }, "\u00A0")),
411
411
  props.loading && React.createElement(kendo_react_common_1.IconWrap, { className: "k-input-loading-icon", name: 'loading' }),
412
412
  hasValue && !disabled && React.createElement(ClearButton_1.default, { onClick: onClear }),
413
413
  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%' } },
@@ -6,10 +6,25 @@ export declare const nodata = "dropdowns.nodata";
6
6
  * @hidden
7
7
  */
8
8
  export declare const clear = "dropdowns.clear";
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare const comboArrowBtnAriaLabelExpand = "dropdowns.comboArrowBtnAriaLabelExpand";
13
+ /**
14
+ * @hidden
15
+ */
16
+ export declare const comboArrowBtnAriaLabelCollapse = "dropdowns.comboArrowBtnAriaLabelCollapse";
17
+ /**
18
+ * @hidden
19
+ */
20
+ export declare const dropDownListArrowBtnAriaLabel = "dropdowns.dropDownListArrowBtnAriaLabel";
9
21
  /**
10
22
  * @hidden
11
23
  */
12
24
  export declare const messages: {
13
25
  "dropdowns.clear": string;
14
26
  "dropdowns.nodata": string;
27
+ "dropdowns.comboArrowBtnAriaLabelExpand": string;
28
+ "dropdowns.comboArrowBtnAriaLabelCollapse": string;
29
+ "dropdowns.dropDownListArrowBtnAriaLabel": string;
15
30
  };
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.messages = exports.clear = exports.nodata = void 0;
4
+ exports.messages = exports.dropDownListArrowBtnAriaLabel = exports.comboArrowBtnAriaLabelCollapse = exports.comboArrowBtnAriaLabelExpand = exports.clear = exports.nodata = void 0;
5
5
  /**
6
6
  * @hidden
7
7
  */
@@ -10,10 +10,25 @@ exports.nodata = 'dropdowns.nodata';
10
10
  * @hidden
11
11
  */
12
12
  exports.clear = 'dropdowns.clear';
13
+ /**
14
+ * @hidden
15
+ */
16
+ exports.comboArrowBtnAriaLabelExpand = 'dropdowns.comboArrowBtnAriaLabelExpand';
17
+ /**
18
+ * @hidden
19
+ */
20
+ exports.comboArrowBtnAriaLabelCollapse = 'dropdowns.comboArrowBtnAriaLabelCollapse';
21
+ /**
22
+ * @hidden
23
+ */
24
+ exports.dropDownListArrowBtnAriaLabel = 'dropdowns.dropDownListArrowBtnAriaLabel';
13
25
  /**
14
26
  * @hidden
15
27
  */
16
28
  exports.messages = (_a = {},
17
29
  _a[exports.clear] = 'clear',
18
30
  _a[exports.nodata] = 'NO DATA FOUND.',
31
+ _a[exports.comboArrowBtnAriaLabelExpand] = 'expand combobox',
32
+ _a[exports.comboArrowBtnAriaLabelCollapse] = 'collapse combobox',
33
+ _a[exports.dropDownListArrowBtnAriaLabel] = 'select',
19
34
  _a);
@@ -8,7 +8,7 @@ exports.packageMetadata = {
8
8
  name: '@progress/kendo-react-dropdowns',
9
9
  productName: 'KendoReact',
10
10
  productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
11
- publishDate: 1673444656,
11
+ publishDate: 1673538574,
12
12
  version: '',
13
13
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
14
14
  };