@progress/kendo-react-data-tools 5.5.1-dev.202207140841 → 5.5.1-dev.202207252139

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/cdn/js/kendo-react-data-tools.js +1 -1
  2. package/dist/es/filter/Expression.d.ts +2 -0
  3. package/dist/es/filter/Expression.js +8 -7
  4. package/dist/es/filter/Filter.d.ts +10 -0
  5. package/dist/es/filter/Filter.js +3 -1
  6. package/dist/es/filter/Group.d.ts +4 -0
  7. package/dist/es/filter/Group.js +8 -6
  8. package/dist/es/filter/filters/BooleanFilter.d.ts +1 -0
  9. package/dist/es/filter/filters/BooleanFilter.js +2 -1
  10. package/dist/es/filter/filters/DateFilter.d.ts +1 -0
  11. package/dist/es/filter/filters/DateFilter.js +3 -2
  12. package/dist/es/filter/filters/EnumFilter.d.ts +1 -0
  13. package/dist/es/filter/filters/EnumFilter.js +5 -4
  14. package/dist/es/filter/filters/NumericFilter.js +6 -2
  15. package/dist/es/filter/filters/TextFilter.d.ts +5 -0
  16. package/dist/es/filter/filters/TextFilter.js +8 -2
  17. package/dist/es/messages/index.d.ts +60 -0
  18. package/dist/es/messages/index.js +60 -0
  19. package/dist/es/package-metadata.js +1 -1
  20. package/dist/es/pager/Pager.js +13 -9
  21. package/dist/es/pager/PagerNumericButtons.d.ts +4 -0
  22. package/dist/es/pager/PagerNumericButtons.js +9 -2
  23. package/dist/es/pager/PagerPageSizes.js +4 -2
  24. package/dist/npm/filter/Expression.d.ts +2 -0
  25. package/dist/npm/filter/Expression.js +7 -6
  26. package/dist/npm/filter/Filter.d.ts +10 -0
  27. package/dist/npm/filter/Filter.js +3 -1
  28. package/dist/npm/filter/Group.d.ts +4 -0
  29. package/dist/npm/filter/Group.js +7 -5
  30. package/dist/npm/filter/filters/BooleanFilter.d.ts +1 -0
  31. package/dist/npm/filter/filters/BooleanFilter.js +2 -1
  32. package/dist/npm/filter/filters/DateFilter.d.ts +1 -0
  33. package/dist/npm/filter/filters/DateFilter.js +3 -2
  34. package/dist/npm/filter/filters/EnumFilter.d.ts +1 -0
  35. package/dist/npm/filter/filters/EnumFilter.js +4 -3
  36. package/dist/npm/filter/filters/NumericFilter.js +6 -2
  37. package/dist/npm/filter/filters/TextFilter.d.ts +5 -0
  38. package/dist/npm/filter/filters/TextFilter.js +8 -2
  39. package/dist/npm/messages/index.d.ts +60 -0
  40. package/dist/npm/messages/index.js +62 -2
  41. package/dist/npm/package-metadata.js +1 -1
  42. package/dist/npm/pager/Pager.js +12 -8
  43. package/dist/npm/pager/PagerNumericButtons.d.ts +4 -0
  44. package/dist/npm/pager/PagerNumericButtons.js +9 -2
  45. package/dist/npm/pager/PagerPageSizes.js +3 -1
  46. package/dist/systemjs/kendo-react-data-tools.js +1 -1
  47. package/package.json +12 -10
@@ -22,6 +22,7 @@ export interface ExpressionRemoveEvent extends BaseEvent<Expression> {
22
22
  export interface ExpressionProps {
23
23
  filter: FilterDescriptor;
24
24
  fields: Array<FieldSettings>;
25
+ ariaLabel?: string;
25
26
  onChange: (event: ExpressionChangeEvent) => void;
26
27
  onRemove: (event: ExpressionRemoveEvent) => void;
27
28
  }
@@ -32,6 +33,7 @@ export declare class Expression extends React.Component<ExpressionProps> {
32
33
  static propTypes: {
33
34
  filter: PropTypes.Validator<object>;
34
35
  fields: PropTypes.Validator<any[]>;
36
+ ariaLabel: PropTypes.Requireable<string>;
35
37
  onChange: PropTypes.Validator<(...args: any[]) => any>;
36
38
  onRemove: PropTypes.Validator<(...args: any[]) => any>;
37
39
  };
@@ -41,7 +41,7 @@ import { Button, Toolbar, ToolbarItem } from '@progress/kendo-react-buttons';
41
41
  import { DropDownList } from '@progress/kendo-react-dropdowns';
42
42
  import { provideLocalizationService, registerForLocalization } from '@progress/kendo-react-intl';
43
43
  import { unaryOperator, stringOperator } from './operators';
44
- import { messages, filterClose } from '../messages';
44
+ import { messages, filterClose, filterExpressionAriaLabel, filterExpressionDropdownAriaLabel, filterExpressionOperatorDropdownAriaLabel } from '../messages';
45
45
  var setInitialValue = function (filter) {
46
46
  if (filter.value === undefined && !unaryOperator(filter.operator)) {
47
47
  filter.value = stringOperator(filter.operator) ? '' : null;
@@ -112,17 +112,17 @@ var Expression = /** @class */ (function (_super) {
112
112
  return _this;
113
113
  }
114
114
  Expression.prototype.render = function () {
115
- var _a = this.props, fields = _a.fields, filter = _a.filter;
116
- var field = fields.find(function (f) { return f.name === filter.field; });
117
115
  var locService = provideLocalizationService(this);
116
+ var _a = this.props, fields = _a.fields, filter = _a.filter, _b = _a.ariaLabel, ariaLabel = _b === void 0 ? locService.toLanguageString(filterExpressionAriaLabel, messages[filterExpressionAriaLabel]) : _b;
117
+ var field = fields.find(function (f) { return f.name === filter.field; });
118
118
  var operators = ((field && field.operators) || [])
119
119
  .map(function (o) { return (__assign(__assign({}, o), { text: locService.toLanguageString(o.text, messages[o.text] || o.text) })); });
120
- return (React.createElement("div", { className: "k-filter-toolbar" },
121
- React.createElement(Toolbar, { keyboardNavigation: false },
120
+ return (React.createElement("div", { className: "k-filter-toolbar", role: "group", "aria-label": ariaLabel },
121
+ React.createElement(Toolbar, { keyboardNavigation: false, role: "" },
122
122
  React.createElement(ToolbarItem, { className: "k-filter-field" },
123
- React.createElement(DropDownList, { className: "k-filter-dropdown", data: fields, textField: "label", value: fields.find(function (f) { return f.name === filter.field; }), onChange: this.onFieldChange })),
123
+ React.createElement(DropDownList, { className: "k-filter-dropdown", data: fields, textField: "label", value: fields.find(function (f) { return f.name === filter.field; }), onChange: this.onFieldChange, ariaLabel: locService.toLanguageString(filterExpressionDropdownAriaLabel, messages[filterExpressionDropdownAriaLabel]) })),
124
124
  React.createElement(ToolbarItem, { className: "k-filter-operator" },
125
- React.createElement(DropDownList, { data: operators, textField: "text", value: operators.find(function (o) { return o.operator === filter.operator; }), onChange: this.onOperatorChange })),
125
+ React.createElement(DropDownList, { data: operators, textField: "text", value: operators.find(function (o) { return o.operator === filter.operator; }), onChange: this.onOperatorChange, ariaLabel: locService.toLanguageString(filterExpressionOperatorDropdownAriaLabel, messages[filterExpressionOperatorDropdownAriaLabel]) })),
126
126
  React.createElement(ToolbarItem, { className: "k-filter-value" }, field && React.createElement(field.filter, { filter: filter, onFilterChange: this.onInputChange })),
127
127
  React.createElement(ToolbarItem, null,
128
128
  React.createElement(Button, { title: locService.toLanguageString(filterClose, messages[filterClose]), icon: "close", fillMode: "flat", type: "button", onClick: this.onFilterRemove })))));
@@ -130,6 +130,7 @@ var Expression = /** @class */ (function (_super) {
130
130
  Expression.propTypes = {
131
131
  filter: PropTypes.object.isRequired,
132
132
  fields: PropTypes.array.isRequired,
133
+ ariaLabel: PropTypes.string,
133
134
  onChange: PropTypes.func.isRequired,
134
135
  onRemove: PropTypes.func.isRequired
135
136
  };
@@ -32,6 +32,14 @@ export interface FilterProps {
32
32
  * The composite filter descriptor value.
33
33
  */
34
34
  value: CompositeFilterDescriptor;
35
+ /**
36
+ * Represents the aria-label prop of the Filter's underlying Group component.
37
+ */
38
+ ariaLabelGroup?: string;
39
+ /**
40
+ * Represents the aria-label prop of the Filter's underlying Expression component.
41
+ */
42
+ ariaLabelExpression?: string;
35
43
  /**
36
44
  * The Filter onChange event.
37
45
  */
@@ -52,6 +60,8 @@ export declare class Filter extends React.Component<FilterProps> {
52
60
  className: PropTypes.Requireable<string>;
53
61
  style: PropTypes.Requireable<object>;
54
62
  fields: (props: FilterProps, propName: string) => Error | null;
63
+ ariaLabelGroup: PropTypes.Requireable<string>;
64
+ ariaLabelExpression: PropTypes.Requireable<string>;
55
65
  value: PropTypes.Validator<object>;
56
66
  onChange: PropTypes.Validator<(...args: any[]) => any>;
57
67
  };
@@ -64,7 +64,7 @@ var Filter = /** @class */ (function (_super) {
64
64
  return (React.createElement("div", { className: 'k-widget k-filter' + (this.props.className ? ' ' + this.props.className : ''), style: this.props.style },
65
65
  React.createElement("ul", { className: "k-filter-container" },
66
66
  React.createElement("li", { className: "k-filter-group-main" },
67
- React.createElement(Group, { filter: this.props.value, fields: this.props.fields, onChange: this.onFilterChange, onRemove: this.onGroupRemove, defaultGroupFilter: this.props.defaultGroupFilter || { logic: 'and', filters: [] } })))));
67
+ React.createElement(Group, { filter: this.props.value, fields: this.props.fields, ariaLabel: this.props.ariaLabelGroup, ariaLabelExpression: this.props.ariaLabelExpression, onChange: this.onFilterChange, onRemove: this.onGroupRemove, defaultGroupFilter: this.props.defaultGroupFilter || { logic: 'and', filters: [] } })))));
68
68
  };
69
69
  /**
70
70
  * @hidden
@@ -88,6 +88,8 @@ var Filter = /** @class */ (function (_super) {
88
88
  }
89
89
  return null;
90
90
  },
91
+ ariaLabelGroup: PropTypes.string,
92
+ ariaLabelExpression: PropTypes.string,
91
93
  value: PropTypes.object.isRequired,
92
94
  onChange: PropTypes.func.isRequired
93
95
  };
@@ -22,6 +22,8 @@ export interface GroupRemoveEvent extends BaseEvent<Group> {
22
22
  export interface GroupProps {
23
23
  filter: CompositeFilterDescriptor;
24
24
  fields: Array<FieldSettings>;
25
+ ariaLabel?: string;
26
+ ariaLabelExpression?: string;
25
27
  onChange: (event: GroupChangeEvent) => void;
26
28
  onRemove: (event: GroupRemoveEvent) => void;
27
29
  defaultGroupFilter: CompositeFilterDescriptor;
@@ -33,6 +35,8 @@ export declare class Group extends React.Component<GroupProps> {
33
35
  static propTypes: {
34
36
  filter: PropTypes.Validator<object>;
35
37
  fields: PropTypes.Validator<any[]>;
38
+ ariaLabel: PropTypes.Requireable<string>;
39
+ ariaLabelExpression: PropTypes.Requireable<string>;
36
40
  onChange: PropTypes.Validator<(...args: any[]) => any>;
37
41
  onRemove: PropTypes.Validator<(...args: any[]) => any>;
38
42
  defaultGroupFilter: PropTypes.Validator<object>;
@@ -40,7 +40,7 @@ import { Button, Toolbar, ToolbarItem, ButtonGroup } from '@progress/kendo-react
40
40
  import { provideLocalizationService, registerForLocalization } from '@progress/kendo-react-intl';
41
41
  import { Expression } from './Expression';
42
42
  import { stringOperator } from './operators';
43
- import { messages, filterAndLogic, filterOrLogic, filterAddExpression, filterAddGroup, filterClose } from '../messages';
43
+ import { messages, filterAndLogic, filterOrLogic, filterAddExpression, filterAddGroup, filterClose, filterGroupAriaLabel } from '../messages';
44
44
  /**
45
45
  * @hidden
46
46
  */
@@ -129,11 +129,11 @@ var Group = /** @class */ (function (_super) {
129
129
  }
130
130
  Group.prototype.render = function () {
131
131
  var _this = this;
132
- var _a = this.props, fields = _a.fields, filter = _a.filter;
133
132
  var locService = provideLocalizationService(this);
133
+ var _a = this.props, fields = _a.fields, filter = _a.filter, _b = _a.ariaLabel, ariaLabel = _b === void 0 ? locService.toLanguageString(filterGroupAriaLabel, messages[filterGroupAriaLabel]) : _b;
134
134
  return (React.createElement(React.Fragment, null,
135
- React.createElement("div", { className: "k-filter-toolbar" },
136
- React.createElement(Toolbar, { keyboardNavigation: false },
135
+ React.createElement("div", { className: "k-filter-toolbar", role: "toolbar", "aria-label": ariaLabel },
136
+ React.createElement(Toolbar, { keyboardNavigation: false, role: "" },
137
137
  React.createElement(ToolbarItem, null,
138
138
  React.createElement(ButtonGroup, null,
139
139
  React.createElement(Button, { togglable: true, onClick: this.onLogicAnd, selected: filter.logic === 'and', type: "button" }, locService.toLanguageString(filterAndLogic, messages[filterAndLogic])),
@@ -146,14 +146,16 @@ var Group = /** @class */ (function (_super) {
146
146
  React.createElement(Button, { title: locService.toLanguageString(filterClose, messages[filterClose]), icon: "close", fillMode: "flat", type: "button", onClick: this.onGroupRemove })))),
147
147
  filter.filters.length > 0 && (React.createElement("ul", { className: "k-filter-lines" }, filter.filters.map(function (f, idx) {
148
148
  return (React.createElement("li", { key: idx, className: "k-filter-item" }, isCompositeFilterDescriptor(f) ?
149
- React.createElement(Group, { filter: f, fields: fields, onChange: _this.onChange, onRemove: _this.onRemove, defaultGroupFilter: _this.props.defaultGroupFilter })
149
+ React.createElement(Group, { filter: f, fields: fields, onChange: _this.onChange, onRemove: _this.onRemove, defaultGroupFilter: _this.props.defaultGroupFilter, ariaLabel: _this.props.ariaLabel, ariaLabelExpression: _this.props.ariaLabelExpression })
150
150
  :
151
- React.createElement(Expression, { filter: f, fields: fields, onChange: _this.onChange, onRemove: _this.onRemove })));
151
+ React.createElement(Expression, { filter: f, fields: fields, ariaLabel: _this.props.ariaLabelExpression, onChange: _this.onChange, onRemove: _this.onRemove })));
152
152
  })))));
153
153
  };
154
154
  Group.propTypes = {
155
155
  filter: PropTypes.object.isRequired,
156
156
  fields: PropTypes.array.isRequired,
157
+ ariaLabel: PropTypes.string,
158
+ ariaLabelExpression: PropTypes.string,
157
159
  onChange: PropTypes.func.isRequired,
158
160
  onRemove: PropTypes.func.isRequired,
159
161
  defaultGroupFilter: PropTypes.object.isRequired
@@ -32,6 +32,7 @@ export declare class BooleanFilter extends React.Component<BooleanFilterProps> {
32
32
  text: PropTypes.Requireable<string>;
33
33
  value: PropTypes.Requireable<any>;
34
34
  }> | null | undefined)[]>;
35
+ ariaLabel: PropTypes.Requireable<string>;
35
36
  defaultItem: PropTypes.Requireable<any>;
36
37
  };
37
38
  private data;
@@ -31,7 +31,7 @@ var BooleanFilter = /** @class */ (function (_super) {
31
31
  * @hidden
32
32
  */
33
33
  BooleanFilter.prototype.render = function () {
34
- return (React.createElement(EnumFilter, { filter: this.props.filter, onFilterChange: this.props.onFilterChange, data: this.props.data || this.data, defaultItem: this.props.defaultItem }));
34
+ return (React.createElement(EnumFilter, { filter: this.props.filter, onFilterChange: this.props.onFilterChange, data: this.props.data || this.data, defaultItem: this.props.defaultItem, ariaLabel: this.props.ariaLabel }));
35
35
  };
36
36
  /**
37
37
  * @hidden
@@ -40,6 +40,7 @@ var BooleanFilter = /** @class */ (function (_super) {
40
40
  filter: PropTypes.object.isRequired,
41
41
  onFilterChange: PropTypes.func.isRequired,
42
42
  data: PropTypes.arrayOf(PropTypes.shape({ text: PropTypes.string, value: PropTypes.any })),
43
+ ariaLabel: PropTypes.string,
43
44
  defaultItem: PropTypes.any
44
45
  };
45
46
  return BooleanFilter;
@@ -16,6 +16,7 @@ export declare class DateFilter extends React.Component<DateFilterProps> {
16
16
  static propTypes: {
17
17
  filter: PropTypes.Validator<object>;
18
18
  onFilterChange: PropTypes.Validator<(...args: any[]) => any>;
19
+ ariaLabel: PropTypes.Requireable<string>;
19
20
  };
20
21
  /**
21
22
  * @hidden
@@ -46,14 +46,15 @@ var DateFilter = /** @class */ (function (_super) {
46
46
  */
47
47
  DateFilter.prototype.render = function () {
48
48
  var filter = this.props.filter;
49
- return (React.createElement(DatePicker, { value: filter.value || null, onChange: this.onChange }));
49
+ return (React.createElement(DatePicker, { value: filter.value || null, onChange: this.onChange, ariaLabel: this.props.ariaLabel }));
50
50
  };
51
51
  /**
52
52
  * @hidden
53
53
  */
54
54
  DateFilter.propTypes = {
55
55
  filter: PropTypes.object.isRequired,
56
- onFilterChange: PropTypes.func.isRequired
56
+ onFilterChange: PropTypes.func.isRequired,
57
+ ariaLabel: PropTypes.string
57
58
  };
58
59
  return DateFilter;
59
60
  }(React.Component));
@@ -33,6 +33,7 @@ export declare class EnumFilter extends React.Component<EnumFilterProps> {
33
33
  value: PropTypes.Requireable<any>;
34
34
  }> | null | undefined)[]>;
35
35
  defaultItem: PropTypes.Requireable<any>;
36
+ ariaLabel: PropTypes.Requireable<string>;
36
37
  };
37
38
  /**
38
39
  * @hidden
@@ -28,7 +28,7 @@ import * as React from 'react';
28
28
  import * as PropTypes from 'prop-types';
29
29
  import { DropDownList } from '@progress/kendo-react-dropdowns';
30
30
  import { provideLocalizationService, registerForLocalization } from '@progress/kendo-react-intl';
31
- import { messages } from './../../messages';
31
+ import { messages, filterEnumFilterDropdownAriaLabel } from './../../messages';
32
32
  /**
33
33
  * The EnumFilter component used for editing the value of FilterDescriptor object.
34
34
  * It renders a DropDownList and allows you to choose a value from the predefined list.
@@ -49,9 +49,9 @@ var EnumFilter = /** @class */ (function (_super) {
49
49
  */
50
50
  EnumFilter.prototype.render = function () {
51
51
  var locService = provideLocalizationService(this);
52
- var _a = this.props, filter = _a.filter, _b = _a.data, data = _b === void 0 ? [] : _b, defaultItem = _a.defaultItem;
52
+ var _a = this.props, filter = _a.filter, _b = _a.data, data = _b === void 0 ? [] : _b, defaultItem = _a.defaultItem, _c = _a.ariaLabel, ariaLabel = _c === void 0 ? locService.toLanguageString(filterEnumFilterDropdownAriaLabel, messages[filterEnumFilterDropdownAriaLabel]) : _c;
53
53
  var locData = data.map(function (item) { return (__assign(__assign({}, item), { text: locService.toLanguageString(item.text, messages[item.text] || item.text) })); });
54
- return (React.createElement(DropDownList, { value: locData.find(function (i) { return i.value === filter.value; }) || null, onChange: this.onChange, defaultItem: defaultItem, data: locData, textField: "text" }));
54
+ return (React.createElement(DropDownList, { value: locData.find(function (i) { return i.value === filter.value; }) || null, onChange: this.onChange, defaultItem: defaultItem, data: locData, textField: "text", ariaLabel: ariaLabel }));
55
55
  };
56
56
  /**
57
57
  * @hidden
@@ -60,7 +60,8 @@ var EnumFilter = /** @class */ (function (_super) {
60
60
  filter: PropTypes.object.isRequired,
61
61
  onFilterChange: PropTypes.func.isRequired,
62
62
  data: PropTypes.arrayOf(PropTypes.shape({ text: PropTypes.string, value: PropTypes.any })),
63
- defaultItem: PropTypes.any
63
+ defaultItem: PropTypes.any,
64
+ ariaLabel: PropTypes.string
64
65
  };
65
66
  return EnumFilter;
66
67
  }(React.Component));
@@ -27,6 +27,8 @@ var __assign = (this && this.__assign) || function () {
27
27
  import * as React from 'react';
28
28
  import * as PropTypes from 'prop-types';
29
29
  import { NumericTextBox } from '@progress/kendo-react-inputs';
30
+ import { provideLocalizationService, registerForLocalization } from '@progress/kendo-react-intl';
31
+ import { messages, filterNumericFilterAriaLabel } from '../../messages';
30
32
  /**
31
33
  * The NumericFilter component used for editing numeric value of FilterDescriptor object.
32
34
  */
@@ -45,8 +47,9 @@ var NumericFilter = /** @class */ (function (_super) {
45
47
  * @hidden
46
48
  */
47
49
  NumericFilter.prototype.render = function () {
48
- var filter = this.props.filter;
49
- return (React.createElement(NumericTextBox, { value: typeof filter.value === 'number' ? filter.value : null, onChange: this.onChange }));
50
+ var locService = provideLocalizationService(this);
51
+ var _a = this.props, filter = _a.filter, _b = _a.ariaLabel, ariaLabel = _b === void 0 ? locService.toLanguageString(filterNumericFilterAriaLabel, messages[filterNumericFilterAriaLabel]) : _b;
52
+ return (React.createElement(NumericTextBox, { value: typeof filter.value === 'number' ? filter.value : null, onChange: this.onChange, ariaLabel: ariaLabel }));
50
53
  };
51
54
  /**
52
55
  * @hidden
@@ -58,3 +61,4 @@ var NumericFilter = /** @class */ (function (_super) {
58
61
  return NumericFilter;
59
62
  }(React.Component));
60
63
  export { NumericFilter };
64
+ registerForLocalization(NumericFilter);
@@ -15,6 +15,10 @@ export interface TextFilterProps {
15
15
  onFilterChange: (event: {
16
16
  nextFilter: FilterDescriptor;
17
17
  }) => void;
18
+ /**
19
+ * The accessible label of the component.
20
+ */
21
+ ariaLabel?: string;
18
22
  }
19
23
  /**
20
24
  * The TextFilter component used for editing text value of FilterDescriptor object.
@@ -26,6 +30,7 @@ export declare class TextFilter extends React.Component<TextFilterProps> {
26
30
  static propTypes: {
27
31
  filter: PropTypes.Validator<object>;
28
32
  onFilterChange: PropTypes.Validator<(...args: any[]) => any>;
33
+ ariaLabel: PropTypes.Requireable<string>;
29
34
  };
30
35
  /**
31
36
  * @hidden
@@ -27,6 +27,8 @@ var __assign = (this && this.__assign) || function () {
27
27
  import * as React from 'react';
28
28
  import * as PropTypes from 'prop-types';
29
29
  import { Input } from '@progress/kendo-react-inputs';
30
+ import { provideLocalizationService, registerForLocalization } from '@progress/kendo-react-intl';
31
+ import { messages, filterTextFilterAriaLabel } from '../../messages';
30
32
  /**
31
33
  * The TextFilter component used for editing text value of FilterDescriptor object.
32
34
  */
@@ -45,15 +47,19 @@ var TextFilter = /** @class */ (function (_super) {
45
47
  * @hidden
46
48
  */
47
49
  TextFilter.prototype.render = function () {
48
- return (React.createElement(Input, { value: this.props.filter.value || '', onChange: this.onChange }));
50
+ var locService = provideLocalizationService(this);
51
+ var _a = this.props.ariaLabel, ariaLabel = _a === void 0 ? locService.toLanguageString(filterTextFilterAriaLabel, messages[filterTextFilterAriaLabel]) : _a;
52
+ return (React.createElement(Input, { value: this.props.filter.value || '', onChange: this.onChange, ariaLabel: ariaLabel }));
49
53
  };
50
54
  /**
51
55
  * @hidden
52
56
  */
53
57
  TextFilter.propTypes = {
54
58
  filter: PropTypes.object.isRequired,
55
- onFilterChange: PropTypes.func.isRequired
59
+ onFilterChange: PropTypes.func.isRequired,
60
+ ariaLabel: PropTypes.string
56
61
  };
57
62
  return TextFilter;
58
63
  }(React.Component));
59
64
  export { TextFilter };
65
+ registerForLocalization(TextFilter);
@@ -22,6 +22,10 @@ export declare const pagerLastPage = "pager.lastPage";
22
22
  * @hidden
23
23
  */
24
24
  export declare const pagerItemPerPage = "pager.itemsPerPage";
25
+ /**
26
+ * @hidden
27
+ */
28
+ export declare const pagerPageSelection = "pager.pageSelection";
25
29
  /**
26
30
  * @hidden
27
31
  */
@@ -34,6 +38,22 @@ export declare const pagerOf = "pager.of";
34
38
  * @hidden
35
39
  */
36
40
  export declare const pagerTotalPages = "pager.totalPages";
41
+ /**
42
+ * @hidden
43
+ */
44
+ export declare const pagerPageNumberLabel = "pager.pageLabel";
45
+ /**
46
+ * @hidden
47
+ */
48
+ export declare const pagerAriaKeyshortcuts = "pager.ariaKeyshortcuts";
49
+ /**
50
+ * @hidden
51
+ */
52
+ export declare const pagerAriaLabel = "pager.ariaLabel";
53
+ /**
54
+ * @hidden
55
+ */
56
+ export declare const pagerMobileSelect = "pager.mobileSelect";
37
57
  /**
38
58
  * @hidden
39
59
  */
@@ -134,6 +154,34 @@ export declare const filterAddGroup = "filter.addGroup";
134
154
  * @hidden
135
155
  */
136
156
  export declare const filterClose = "filter.close";
157
+ /**
158
+ * @hidden
159
+ */
160
+ export declare const filterGroupAriaLabel = "filter.groupAriaLabel";
161
+ /**
162
+ * @hidden
163
+ */
164
+ export declare const filterExpressionAriaLabel = "filter.expressionAriaLabel";
165
+ /**
166
+ * @hidden
167
+ */
168
+ export declare const filterExpressionDropdownAriaLabel = "filter.expressionDropdownAriaLabel";
169
+ /**
170
+ * @hidden
171
+ */
172
+ export declare const filterExpressionOperatorDropdownAriaLabel = "filter.expressionOperatorDropdownAriaLabel";
173
+ /**
174
+ * @hidden
175
+ */
176
+ export declare const filterEnumFilterDropdownAriaLabel = "filter.enumFilterDropdownAriaLabel";
177
+ /**
178
+ * @hidden
179
+ */
180
+ export declare const filterNumericFilterAriaLabel = "filter.numericFilterAriaLabel";
181
+ /**
182
+ * @hidden
183
+ */
184
+ export declare const filterTextFilterAriaLabel = "filter.textFilterAriaLabel";
137
185
  /**
138
186
  * @hidden
139
187
  */
@@ -251,6 +299,7 @@ export declare const filterAriaLabel = "filter.ariaLabel";
251
299
  */
252
300
  export declare const messages: {
253
301
  "pager.itemsPerPage": string;
302
+ "pager.pageSelection": string;
254
303
  "pager.info": string;
255
304
  "pager.firstPage": string;
256
305
  "pager.previousPage": string;
@@ -259,6 +308,10 @@ export declare const messages: {
259
308
  "pager.page": string;
260
309
  "pager.of": string;
261
310
  "pager.totalPages": string;
311
+ "pager.pageLabel": string;
312
+ "pager.ariaKeyshortcuts": string;
313
+ "pager.ariaLabel": string;
314
+ "pager.mobileSelect": string;
262
315
  "sort.ariaLabel": string;
263
316
  "filter.ariaLabel": string;
264
317
  "filter.eqOperator": string;
@@ -286,6 +339,13 @@ export declare const messages: {
286
339
  "filter.addExpression": string;
287
340
  "filter.addGroup": string;
288
341
  "filter.close": string;
342
+ "filter.groupAriaLabel": string;
343
+ "filter.expressionAriaLabel": string;
344
+ "filter.expressionDropdownAriaLabel": string;
345
+ "filter.expressionOperatorDropdownAriaLabel": string;
346
+ "filter.enumFilterDropdownAriaLabel": string;
347
+ "filter.numericFilterAriaLabel": string;
348
+ "filter.textFilterAriaLabel": string;
289
349
  "columnMenu.filterClearButton": string;
290
350
  "columnMenu.filterSubmitButton": string;
291
351
  "columnMenu.filterTitle": string;
@@ -23,6 +23,10 @@ export var pagerLastPage = 'pager.lastPage';
23
23
  * @hidden
24
24
  */
25
25
  export var pagerItemPerPage = 'pager.itemsPerPage';
26
+ /**
27
+ * @hidden
28
+ */
29
+ export var pagerPageSelection = 'pager.pageSelection';
26
30
  /**
27
31
  * @hidden
28
32
  */
@@ -35,6 +39,22 @@ export var pagerOf = 'pager.of';
35
39
  * @hidden
36
40
  */
37
41
  export var pagerTotalPages = 'pager.totalPages';
42
+ /**
43
+ * @hidden
44
+ */
45
+ export var pagerPageNumberLabel = 'pager.pageLabel';
46
+ /**
47
+ * @hidden
48
+ */
49
+ export var pagerAriaKeyshortcuts = 'pager.ariaKeyshortcuts';
50
+ /**
51
+ * @hidden
52
+ */
53
+ export var pagerAriaLabel = 'pager.ariaLabel';
54
+ /**
55
+ * @hidden
56
+ */
57
+ export var pagerMobileSelect = 'pager.mobileSelect';
38
58
  /**
39
59
  * @hidden
40
60
  */
@@ -135,6 +155,34 @@ export var filterAddGroup = 'filter.addGroup';
135
155
  * @hidden
136
156
  */
137
157
  export var filterClose = 'filter.close';
158
+ /**
159
+ * @hidden
160
+ */
161
+ export var filterGroupAriaLabel = 'filter.groupAriaLabel';
162
+ /**
163
+ * @hidden
164
+ */
165
+ export var filterExpressionAriaLabel = 'filter.expressionAriaLabel';
166
+ /**
167
+ * @hidden
168
+ */
169
+ export var filterExpressionDropdownAriaLabel = 'filter.expressionDropdownAriaLabel';
170
+ /**
171
+ * @hidden
172
+ */
173
+ export var filterExpressionOperatorDropdownAriaLabel = 'filter.expressionOperatorDropdownAriaLabel';
174
+ /**
175
+ * @hidden
176
+ */
177
+ export var filterEnumFilterDropdownAriaLabel = 'filter.enumFilterDropdownAriaLabel';
178
+ /**
179
+ * @hidden
180
+ */
181
+ export var filterNumericFilterAriaLabel = 'filter.numericFilterAriaLabel';
182
+ /**
183
+ * @hidden
184
+ */
185
+ export var filterTextFilterAriaLabel = 'filter.textFilterAriaLabel';
138
186
  /**
139
187
  * @hidden
140
188
  */
@@ -252,6 +300,7 @@ export var filterAriaLabel = 'filter.ariaLabel';
252
300
  */
253
301
  export var messages = (_a = {},
254
302
  _a[pagerItemPerPage] = 'items per page',
303
+ _a[pagerPageSelection] = 'Select page',
255
304
  _a[pagerInfo] = '{0} - {1} of {2} items',
256
305
  _a[pagerFirstPage] = 'Go to the first page',
257
306
  _a[pagerPreviousPage] = 'Go to the previous page',
@@ -260,6 +309,10 @@ export var messages = (_a = {},
260
309
  _a[pagerPage] = 'Page',
261
310
  _a[pagerOf] = 'Of',
262
311
  _a[pagerTotalPages] = '{0}',
312
+ _a[pagerPageNumberLabel] = 'Page',
313
+ _a[pagerAriaKeyshortcuts] = 'Enter ArrowRight ArrowLeft',
314
+ _a[pagerAriaLabel] = 'Pager',
315
+ _a[pagerMobileSelect] = 'Select',
263
316
  _a[sortAriaLabel] = 'Sortable',
264
317
  _a[filterAriaLabel] = 'Filter',
265
318
  _a[filterEqOperator] = 'Is equal to',
@@ -287,6 +340,13 @@ export var messages = (_a = {},
287
340
  _a[filterAddExpression] = 'Add Expression',
288
341
  _a[filterAddGroup] = 'Add Group',
289
342
  _a[filterClose] = 'Close',
343
+ _a[filterGroupAriaLabel] = 'Filter toolbar',
344
+ _a[filterExpressionAriaLabel] = 'Filter expression row',
345
+ _a[filterExpressionDropdownAriaLabel] = 'Filter dropdown',
346
+ _a[filterExpressionOperatorDropdownAriaLabel] = 'Filter operator dropdown',
347
+ _a[filterEnumFilterDropdownAriaLabel] = 'Select True/False',
348
+ _a[filterNumericFilterAriaLabel] = 'Enter number',
349
+ _a[filterTextFilterAriaLabel] = 'Enter number',
290
350
  _a[columnMenuFilterClearButton] = 'Clear',
291
351
  _a[columnMenuFilterSubmitButton] = 'Filter',
292
352
  _a[columnMenuFilterTitle] = 'Filter',
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-react-data-tools',
6
6
  productName: 'KendoReact',
7
7
  productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
8
- publishDate: 1657787112,
8
+ publishDate: 1658784241,
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
  };
@@ -29,7 +29,7 @@ import * as PropTypes from 'prop-types';
29
29
  import { PagerNumericButtons } from './PagerNumericButtons';
30
30
  import { PagerInput } from './PagerInput';
31
31
  import { PagerPageSizes } from './PagerPageSizes';
32
- import { messages, pagerFirstPage, pagerLastPage, pagerNextPage, pagerPreviousPage, pagerInfo } from '../messages';
32
+ import { messages, pagerFirstPage, pagerLastPage, pagerNextPage, pagerPreviousPage, pagerInfo, pagerAriaKeyshortcuts, pagerAriaLabel } from '../messages';
33
33
  import { registerForIntl, registerForLocalization, provideLocalizationService, provideIntlService } from '@progress/kendo-react-intl';
34
34
  import { classNames } from '@progress/kendo-react-common';
35
35
  import { validatePackage } from '@progress/kendo-react-common';
@@ -119,7 +119,7 @@ var Pager = /** @class */ (function (_super) {
119
119
  var intlService = provideIntlService(this);
120
120
  var currentPage = Math.floor(skip / take) + 1;
121
121
  var changer = this.props.type === 'numeric' ?
122
- (React.createElement(PagerNumericButtons, { buttonCount: this.props.buttonCount || 0, totalPages: this.totalPages, currentPage: currentPage, pageChange: this.changePage })) : (React.createElement(PagerInput, { currentPage: currentPage, totalPages: this.totalPages, pageChange: this.changePage, messagesMap: messagesMap }));
122
+ (React.createElement(PagerNumericButtons, { buttonCount: this.props.buttonCount || 0, totalPages: this.totalPages, currentPage: currentPage, pageChange: this.changePage, messagesMap: this.props.messagesMap })) : (React.createElement(PagerInput, { currentPage: currentPage, totalPages: this.totalPages, pageChange: this.changePage, messagesMap: messagesMap }));
123
123
  var firstPageMessage = messagesMap ? messagesMap(pagerFirstPage) :
124
124
  ({ messageKey: pagerFirstPage, defaultMessage: messages[pagerFirstPage] });
125
125
  var previousPageMessage = messagesMap ? messagesMap(pagerPreviousPage) :
@@ -130,12 +130,16 @@ var Pager = /** @class */ (function (_super) {
130
130
  ({ messageKey: pagerLastPage, defaultMessage: messages[pagerLastPage] });
131
131
  var infoMessage = messagesMap ? messagesMap(pagerInfo) :
132
132
  ({ messageKey: pagerInfo, defaultMessage: messages[pagerInfo] });
133
+ var ariaKeyshortcutsMessage = messagesMap ? messagesMap(pagerAriaKeyshortcuts) :
134
+ ({ messageKey: pagerAriaKeyshortcuts, defaultMessage: messages[pagerAriaKeyshortcuts] });
135
+ var ariaLabelMessage = messagesMap ? messagesMap(pagerAriaLabel) :
136
+ ({ messageKey: pagerAriaLabel, defaultMessage: messages[pagerAriaLabel] });
133
137
  var first, prev, next, last;
134
138
  if (this.props.previousNext) {
135
- first = this.renderButton(1, 'k-link k-pager-nav k-pager-first' + (currentPage === 1 ? ' k-disabled' : ''), localizationService.toLanguageString(firstPageMessage.messageKey, firstPageMessage.defaultMessage), 'k-icon k-i-arrow-end-left');
136
- prev = this.renderButton(currentPage - 1, 'k-link k-pager-nav' + (currentPage === 1 ? ' k-disabled' : ''), localizationService.toLanguageString(previousPageMessage.messageKey, previousPageMessage.defaultMessage), 'k-icon k-i-arrow-60-left');
137
- next = this.renderButton(currentPage + 1, 'k-link k-pager-nav' + (currentPage >= this.totalPages ? ' k-disabled' : ''), localizationService.toLanguageString(nextPageMessage.messageKey, nextPageMessage.defaultMessage), 'k-icon k-i-arrow-60-right');
138
- last = this.renderButton(this.totalPages, 'k-link k-pager-nav k-pager-last' + (currentPage >= this.totalPages ? ' k-disabled' : ''), localizationService.toLanguageString(lastPageMessage.messageKey, lastPageMessage.defaultMessage), 'k-icon k-i-arrow-end-right');
139
+ first = this.renderButton(1, 'k-link k-pager-nav k-pager-first' + (currentPage === 1 ? ' k-disabled' : ''), localizationService.toLanguageString(firstPageMessage.messageKey, firstPageMessage.defaultMessage), 'k-icon k-i-arrow-end-left', (currentPage === 1 ? true : undefined));
140
+ prev = this.renderButton(currentPage - 1, 'k-link k-pager-nav' + (currentPage === 1 ? ' k-disabled' : ''), localizationService.toLanguageString(previousPageMessage.messageKey, previousPageMessage.defaultMessage), 'k-icon k-i-arrow-60-left', (currentPage === 1 ? true : undefined));
141
+ next = this.renderButton(currentPage + 1, 'k-link k-pager-nav' + (currentPage >= this.totalPages ? ' k-disabled' : ''), localizationService.toLanguageString(nextPageMessage.messageKey, nextPageMessage.defaultMessage), 'k-icon k-i-arrow-60-right', (currentPage >= this.totalPages ? true : undefined));
142
+ last = this.renderButton(this.totalPages, 'k-link k-pager-nav k-pager-last' + (currentPage >= this.totalPages ? ' k-disabled' : ''), localizationService.toLanguageString(lastPageMessage.messageKey, lastPageMessage.defaultMessage), 'k-icon k-i-arrow-end-right', (currentPage >= this.totalPages ? true : undefined));
139
143
  }
140
144
  var pagerPageSizes = pageSizes && (React.createElement(PagerPageSizes, { pageChange: this.onPageChange, pageSize: take, pageSizes: pageSizes, messagesMap: messagesMap }));
141
145
  var info = this.props.info && (React.createElement("div", { className: "k-pager-info k-label" }, intlService
@@ -144,7 +148,7 @@ var Pager = /** @class */ (function (_super) {
144
148
  Math.min(skip + take, total),
145
149
  total
146
150
  ])));
147
- return (React.createElement("div", { className: classNames('k-pager-wrap k-pager k-widget', this.props.className), style: this.props.style, role: "navigation", ref: function (element) { return _this._element = element; } },
151
+ return (React.createElement("div", { className: classNames('k-pager-wrap k-pager k-widget', this.props.className), style: this.props.style, role: "application", "aria-roledescription": "pager", "aria-keyshortcuts": localizationService.toLanguageString(ariaKeyshortcutsMessage.messageKey, ariaKeyshortcutsMessage.defaultMessage), "aria-label": localizationService.toLanguageString(ariaLabelMessage.messageKey, ariaLabelMessage.defaultMessage), ref: function (element) { return _this._element = element; } },
148
152
  first,
149
153
  prev,
150
154
  changer,
@@ -153,12 +157,12 @@ var Pager = /** @class */ (function (_super) {
153
157
  pagerPageSizes,
154
158
  info));
155
159
  };
156
- Pager.prototype.renderButton = function (page, className, title, icon) {
160
+ Pager.prototype.renderButton = function (page, className, title, icon, isDisabled) {
157
161
  var _this = this;
158
162
  return (React.createElement("a", { onClick: function (e) {
159
163
  e.preventDefault();
160
164
  _this.changePage(page, e);
161
- }, href: "#", className: className, title: title },
165
+ }, href: "#", className: className, title: title, role: "button", "aria-disabled": isDisabled },
162
166
  React.createElement("span", { className: icon })));
163
167
  };
164
168
  Object.defineProperty(Pager.prototype, "totalPages", {
@@ -7,6 +7,10 @@ export interface PagerNumericButtonsProps {
7
7
  totalPages: number;
8
8
  currentPage: number;
9
9
  pageChange: (page: number, e: React.SyntheticEvent<any>) => any;
10
+ messagesMap?: (messageKey: string) => ({
11
+ messageKey: string;
12
+ defaultMessage: string;
13
+ });
10
14
  }
11
15
  /**
12
16
  * @hidden