@progress/kendo-react-data-tools 8.2.0-develop.9 → 8.2.1-develop.1

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 (39) hide show
  1. package/dist/cdn/js/kendo-react-datatools.js +1 -1
  2. package/drag/ColumnDraggable.js +1 -1
  3. package/drag/ColumnDraggable.mjs +2 -1
  4. package/drag/ColumnResizer.js +1 -1
  5. package/drag/ColumnResizer.mjs +1 -0
  6. package/filter/Expression.js +1 -1
  7. package/filter/Expression.mjs +12 -10
  8. package/filter/Filter.js +1 -1
  9. package/filter/Filter.mjs +103 -35
  10. package/filter/Group.js +1 -1
  11. package/filter/Group.mjs +17 -17
  12. package/filter/filters/DateFilter.js +1 -1
  13. package/filter/filters/DateFilter.mjs +4 -3
  14. package/filter/filters/EnumFilter.js +1 -1
  15. package/filter/filters/EnumFilter.mjs +2 -1
  16. package/filter/filters/NumericFilter.js +1 -1
  17. package/filter/filters/NumericFilter.mjs +2 -1
  18. package/filter/filters/TextFilter.js +1 -1
  19. package/filter/filters/TextFilter.mjs +2 -1
  20. package/header/FilterRow.js +1 -1
  21. package/header/FilterRow.mjs +34 -27
  22. package/header/Header.js +1 -1
  23. package/header/Header.mjs +7 -3
  24. package/header/HeaderThElement.js +1 -1
  25. package/header/HeaderThElement.mjs +27 -23
  26. package/index.d.mts +86 -12
  27. package/index.d.ts +86 -12
  28. package/index.js +1 -1
  29. package/index.mjs +130 -125
  30. package/navigation/NavigatableSettings.js +8 -0
  31. package/navigation/NavigatableSettings.mjs +12 -0
  32. package/navigation/TableKeyboardNavigation.js +1 -1
  33. package/navigation/TableKeyboardNavigation.mjs +197 -113
  34. package/navigation/constants.js +1 -1
  35. package/navigation/constants.mjs +11 -9
  36. package/navigation/utils.js +1 -1
  37. package/navigation/utils.mjs +173 -80
  38. package/package-metadata.mjs +1 -1
  39. package/package.json +9 -9
package/filter/Filter.mjs CHANGED
@@ -6,46 +6,113 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as i from "react";
10
- import r from "prop-types";
11
- import { validatePackage as p, classNames as c } from "@progress/kendo-react-common";
12
- import { Group as h } from "./Group.mjs";
13
- import { packageMetadata as u } from "../package-metadata.mjs";
14
- const a = class a extends i.Component {
15
- constructor(s) {
16
- super(s), this.onFilterChange = (e) => {
9
+ import * as p from "react";
10
+ import u from "prop-types";
11
+ import { validatePackage as b, Navigation as g, disableNavigatableContainer as w, getActiveElement as f, focusFirstFocusableChild as h, enableNavigatableContainer as R, classNames as y } from "@progress/kendo-react-common";
12
+ import { Group as E } from "./Group.mjs";
13
+ import { packageMetadata as F } from "../package-metadata.mjs";
14
+ const a = {
15
+ // Group selectors
16
+ andButton: "button.k-group-start",
17
+ orButton: "button.k-group-end",
18
+ addFilterButton: 'button[title="Add Expression"]',
19
+ addGroupButton: 'button[title="Add Group"]',
20
+ removeButton: 'button[title="Remove"]',
21
+ // Expression selectors
22
+ filterFieldWrapper: ".k-filter-field",
23
+ filterOperatorWrapper: ".k-filter-operator",
24
+ filterValueWrapper: ".k-filter-value",
25
+ toolbarElement: ".k-toolbar"
26
+ }, m = class m extends p.Component {
27
+ constructor(o) {
28
+ super(o), this.wrapperRef = p.createRef(), this.onFilterChange = (r) => {
17
29
  const t = {
18
- filter: e.nextFilter,
19
- syntheticEvent: e.syntheticEvent,
20
- nativeEvent: e.nativeEvent,
30
+ filter: r.nextFilter,
31
+ syntheticEvent: r.syntheticEvent,
32
+ nativeEvent: r.nativeEvent,
21
33
  target: this
22
34
  };
23
35
  this.props.onChange.call(void 0, t);
24
- }, this.onGroupRemove = (e) => {
36
+ }, this.onGroupRemove = (r) => {
25
37
  const t = {
26
38
  filter: { ...this.props.value, filters: [] },
27
- syntheticEvent: e.syntheticEvent,
28
- nativeEvent: e.nativeEvent,
39
+ syntheticEvent: r.syntheticEvent,
40
+ nativeEvent: r.nativeEvent,
29
41
  target: this
30
42
  };
31
43
  this.props.onChange.call(void 0, t);
32
- }, p(u);
44
+ }, this.onKeyDown = (r) => {
45
+ var t;
46
+ (t = this.navigation) == null || t.triggerKeyboardEvent(r);
47
+ }, b(F);
48
+ }
49
+ /**
50
+ * @hidden
51
+ */
52
+ componentDidMount() {
53
+ this.wrapperRef && (this.navigation = new g({
54
+ tabIndex: 0,
55
+ root: this.wrapperRef,
56
+ selectors: [".k-filter"],
57
+ keyboardEvents: {
58
+ keydown: {
59
+ Tab: (o, r, t) => {
60
+ const e = o.getElementsByClassName("k-filter-lines")[0];
61
+ e && w(e);
62
+ },
63
+ ArrowUp: (o, r, t) => {
64
+ t.preventDefault();
65
+ const e = f(document), i = e == null ? void 0 : e.closest(a.toolbarElement), n = o.getElementsByClassName("k-toolbar"), s = Array.from(n).findIndex((d) => d === i) - 1, c = n[s];
66
+ o.getElementsByClassName("k-filter-lines")[0] && h(c);
67
+ },
68
+ ArrowDown: (o, r, t) => {
69
+ t.preventDefault();
70
+ const e = f(document), i = e == null ? void 0 : e.closest(a.toolbarElement), n = o.getElementsByClassName("k-toolbar"), s = Array.from(n).findIndex((d) => d === i) + 1, c = n[s], l = o.getElementsByClassName("k-filter-lines")[0];
71
+ l && (R(l, [a.filterFieldWrapper, a.filterOperatorWrapper, a.filterValueWrapper]), h(c));
72
+ },
73
+ ArrowRight: (o, r, t) => {
74
+ t.preventDefault();
75
+ const e = f(document), i = e == null ? void 0 : e.nextElementSibling, n = e == null ? void 0 : e.closest(a.toolbarElement), s = o.querySelector('[aria-label="Filter toolbar"]');
76
+ e && i && !(n === s) && i.focus();
77
+ },
78
+ ArrowLeft: (o, r, t) => {
79
+ t.preventDefault();
80
+ const e = f(document), i = e == null ? void 0 : e.previousElementSibling, n = e == null ? void 0 : e.closest(a.toolbarElement), s = o.querySelector('[aria-label="Filter toolbar"]');
81
+ e && i && !(n === s) && i.focus();
82
+ },
83
+ Enter: (o, r, t) => {
84
+ t.preventDefault();
85
+ const e = f(document), i = o.querySelector(a.removeButton), n = e == null ? void 0 : e.closest(a.toolbarElement), s = o.getElementsByClassName("k-toolbar"), c = Array.from(s).findIndex((l) => l === n) - 1;
86
+ if (n === s[0]) {
87
+ const l = n.lastElementChild;
88
+ l && l.click();
89
+ }
90
+ if (n !== s[0]) {
91
+ const l = s[c].lastElementChild;
92
+ e && e.title === i.title && l && (e.click(), l.focus());
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }));
33
98
  }
34
99
  /**
35
100
  * @hidden
36
101
  */
37
102
  render() {
38
- return /* @__PURE__ */ i.createElement(
103
+ return /* @__PURE__ */ p.createElement(
39
104
  "div",
40
105
  {
41
- className: c(
106
+ className: y(
42
107
  "k-filter",
43
108
  this.props.className
44
109
  ),
45
- style: this.props.style
110
+ style: this.props.style,
111
+ ref: this.wrapperRef,
112
+ onKeyDown: this.onKeyDown
46
113
  },
47
- /* @__PURE__ */ i.createElement("ul", { role: "tree", className: "k-filter-container", "aria-label": this.props.ariaLabel }, /* @__PURE__ */ i.createElement("li", { role: "treeitem", className: "k-filter-group-main" }, /* @__PURE__ */ i.createElement(
48
- h,
114
+ /* @__PURE__ */ p.createElement("ul", { role: "tree", className: "k-filter-container", "aria-label": this.props.ariaLabel }, /* @__PURE__ */ p.createElement("li", { role: "treeitem", className: "k-filter-group-main" }, /* @__PURE__ */ p.createElement(
115
+ E,
49
116
  {
50
117
  filter: this.props.value,
51
118
  fields: this.props.fields,
@@ -59,26 +126,27 @@ const a = class a extends i.Component {
59
126
  );
60
127
  }
61
128
  };
62
- a.propTypes = {
63
- className: r.string,
64
- style: r.object,
65
- fields: function(s, e) {
66
- const t = s[e];
129
+ m.propTypes = {
130
+ className: u.string,
131
+ style: u.object,
132
+ fields: function(o, r) {
133
+ const t = o[r];
67
134
  if (t === void 0)
68
- return new Error(`Property '${e}' is missing.`);
135
+ return new Error(`Property '${r}' is missing.`);
69
136
  if (Array.isArray(t)) {
70
- if (Object.keys(t.reduce((o, l) => ({ ...o, [l.name]: 1 }), {})).length !== t.length)
71
- return new Error(`Property '${e}' needs to contain objects with unique 'name' field.`);
137
+ if (Object.keys(t.reduce((e, i) => ({ ...e, [i.name]: 1 }), {})).length !== t.length)
138
+ return new Error(`Property '${r}' needs to contain objects with unique 'name' field.`);
72
139
  } else
73
- return new Error(`Property '${e}' needs to be Array<FieldSettings>.`);
140
+ return new Error(`Property '${r}' needs to be Array<FieldSettings>.`);
74
141
  return null;
75
142
  },
76
- ariaLabelGroup: r.string,
77
- ariaLabelExpression: r.string,
78
- value: r.object.isRequired,
79
- onChange: r.func.isRequired
143
+ ariaLabelGroup: u.string,
144
+ ariaLabelExpression: u.string,
145
+ value: u.object.isRequired,
146
+ onChange: u.func.isRequired
80
147
  };
81
- let n = a;
148
+ let v = m;
82
149
  export {
83
- n as Filter
150
+ v as Filter,
151
+ a as selectors
84
152
  };
package/filter/Group.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),a=require("prop-types"),v=require("@progress/kendo-data-query"),l=require("@progress/kendo-react-buttons"),d=require("@progress/kendo-react-intl"),u=require("@progress/kendo-svg-icons"),m=require("./Expression.js"),E=require("./operators.js"),r=require("../messages/index.js");function b(c){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const t in c)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(c,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>c[t]})}}return e.default=c,Object.freeze(e)}const o=b(f),g=class g extends o.Component{constructor(){super(...arguments),this.onGroupRemove=e=>{const t={filter:this.props.filter,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onRemove.call(void 0,t)},this.onAddExpression=e=>{const t=this.props.filter,i=this.props.fields[0],n={field:i.name,operator:i.operators[0].operator};n.value=E.stringOperator(n.operator)?"":null;const s={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,s)},this.onAddGroup=e=>{const t=this.props.filter,i={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,i)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const i=this.props.filter;if(i.logic!==e){const n={nextFilter:{...i,logic:e},prevFilter:i,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const i=this.props.filter,n=i.filters.map(s=>s===e?t:s);return{...i,filters:n}},this.onChange=e=>{const i={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,i)},this.onRemove=e=>{const t=this.props.filter,i=t.filters.filter(s=>s!==e.filter),n={nextFilter:{...t,filters:i},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const e=d.provideLocalizationService(this),{fields:t,filter:i,ariaLabel:n=e.toLanguageString(r.filterGroupAriaLabel,r.messages[r.filterGroupAriaLabel])}=this.props;return o.createElement(o.Fragment,null,o.createElement("div",{className:"k-filter-toolbar"},o.createElement(l.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},o.createElement(l.ButtonGroup,{className:"k-toolbar-button-group k-button-group-solid"},o.createElement(l.Button,{togglable:!0,onClick:this.onLogicAnd,selected:i.logic==="and",type:"button"},e.toLanguageString(r.filterAndLogic,r.messages[r.filterAndLogic])),o.createElement(l.Button,{togglable:!0,onClick:this.onLogicOr,selected:i.logic==="or",type:"button"},e.toLanguageString(r.filterOrLogic,r.messages[r.filterOrLogic]))),o.createElement(l.Button,{className:"k-toolbar-button",title:e.toLanguageString(r.filterAddExpression,r.messages[r.filterAddExpression]),icon:"filter-add-expression",svgIcon:u.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(r.filterAddExpression,r.messages[r.filterAddExpression])),o.createElement(l.Button,{className:"k-toolbar-button",title:e.toLanguageString(r.filterAddGroup,r.messages[r.filterAddGroup]),icon:"filter-add-group",svgIcon:u.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(r.filterAddGroup,r.messages[r.filterAddGroup])),o.createElement(l.Button,{className:"k-toolbar-button",title:e.toLanguageString(r.filterClose,r.messages[r.filterClose]),icon:"x",svgIcon:u.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),i.filters.length>0&&o.createElement("ul",{role:"group",className:"k-filter-lines"},i.filters.map((s,h)=>o.createElement("li",{role:"treeitem",key:h,className:"k-filter-item"},v.isCompositeFilterDescriptor(s)?o.createElement(g,{filter:s,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):o.createElement(m.Expression,{filter:s,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};g.propTypes={filter:a.object.isRequired,fields:a.array.isRequired,ariaLabel:a.string,ariaLabelExpression:a.string,onChange:a.func.isRequired,onRemove:a.func.isRequired,defaultGroupFilter:a.object.isRequired};let p=g;d.registerForLocalization(p);exports.Group=p;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),a=require("prop-types"),v=require("@progress/kendo-data-query"),l=require("@progress/kendo-react-buttons"),d=require("@progress/kendo-react-intl"),u=require("@progress/kendo-svg-icons"),m=require("./Expression.js"),E=require("./operators.js"),r=require("../messages/index.js");function b(c){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const t in c)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(c,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>c[t]})}}return e.default=c,Object.freeze(e)}const o=b(f),g=class g extends o.Component{constructor(){super(...arguments),this.onGroupRemove=e=>{const t={filter:this.props.filter,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onRemove.call(void 0,t)},this.onAddExpression=e=>{const t=this.props.filter,i=this.props.fields[0],n={field:i.name,operator:i.operators[0].operator};n.value=E.stringOperator(n.operator)?"":null;const s={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,s)},this.onAddGroup=e=>{const t=this.props.filter,i={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,i)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const i=this.props.filter;if(i.logic!==e){const n={nextFilter:{...i,logic:e},prevFilter:i,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const i=this.props.filter,n=i.filters.map(s=>s===e?t:s);return{...i,filters:n}},this.onChange=e=>{const i={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,i)},this.onRemove=e=>{const t=this.props.filter,i=t.filters.filter(s=>s!==e.filter),n={nextFilter:{...t,filters:i},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const e=d.provideLocalizationService(this),{fields:t,filter:i,ariaLabel:n=e.toLanguageString(r.filterGroupAriaLabel,r.messages[r.filterGroupAriaLabel])}=this.props;return o.createElement(o.Fragment,null,o.createElement("div",{className:"k-filter-toolbar"},o.createElement(l.Toolbar,{role:"toolbar",ariaLabel:n},o.createElement(l.ButtonGroup,{className:"k-toolbar-button-group k-button-group-solid"},o.createElement(l.Button,{togglable:!0,onClick:this.onLogicAnd,selected:i.logic==="and",type:"button"},e.toLanguageString(r.filterAndLogic,r.messages[r.filterAndLogic])),o.createElement(l.Button,{togglable:!0,onClick:this.onLogicOr,selected:i.logic==="or",type:"button"},e.toLanguageString(r.filterOrLogic,r.messages[r.filterOrLogic]))),o.createElement(l.Button,{className:"k-toolbar-button",title:e.toLanguageString(r.filterAddExpression,r.messages[r.filterAddExpression]),icon:"filter-add-expression",svgIcon:u.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(r.filterAddExpression,r.messages[r.filterAddExpression])),o.createElement(l.Button,{className:"k-toolbar-button",title:e.toLanguageString(r.filterAddGroup,r.messages[r.filterAddGroup]),icon:"filter-add-group",svgIcon:u.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(r.filterAddGroup,r.messages[r.filterAddGroup])),o.createElement(l.Button,{className:"k-toolbar-button",title:e.toLanguageString(r.filterClose,r.messages[r.filterClose]),icon:"x",svgIcon:u.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),i.filters.length>0&&o.createElement("ul",{role:"group",className:"k-filter-lines"},i.filters.map((s,h)=>o.createElement("li",{role:"treeitem",key:h,className:"k-filter-item"},v.isCompositeFilterDescriptor(s)?o.createElement(g,{filter:s,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):o.createElement(m.Expression,{filter:s,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};g.propTypes={filter:a.object.isRequired,fields:a.array.isRequired,ariaLabel:a.string,ariaLabelExpression:a.string,onChange:a.func.isRequired,onRemove:a.func.isRequired,defaultGroupFilter:a.object.isRequired};let p=g;d.registerForLocalization(p);exports.Group=p;
package/filter/Group.mjs CHANGED
@@ -7,12 +7,12 @@
7
7
  */
8
8
  "use client";
9
9
  import * as r from "react";
10
- import a from "prop-types";
10
+ import l from "prop-types";
11
11
  import { isCompositeFilterDescriptor as E } from "@progress/kendo-data-query";
12
- import { Toolbar as b, ButtonGroup as L, Button as l } from "@progress/kendo-react-buttons";
12
+ import { Toolbar as b, ButtonGroup as L, Button as a } from "@progress/kendo-react-buttons";
13
13
  import { provideLocalizationService as F, registerForLocalization as x } from "@progress/kendo-react-intl";
14
- import { filterAddExpressionIcon as C, filterAddGroupIcon as y, xIcon as k } from "@progress/kendo-svg-icons";
15
- import { Expression as R } from "./Expression.mjs";
14
+ import { filterAddExpressionIcon as C, filterAddGroupIcon as y, xIcon as R } from "@progress/kendo-svg-icons";
15
+ import { Expression as k } from "./Expression.mjs";
16
16
  import { stringOperator as A } from "./operators.mjs";
17
17
  import { filterGroupAriaLabel as f, messages as s, filterAndLogic as v, filterOrLogic as m, filterAddExpression as p, filterAddGroup as c, filterClose as u } from "../messages/index.mjs";
18
18
  const g = class g extends r.Component {
@@ -89,8 +89,8 @@ const g = class g extends r.Component {
89
89
  filter: i,
90
90
  ariaLabel: o = t.toLanguageString(f, s[f])
91
91
  } = this.props;
92
- return /* @__PURE__ */ r.createElement(r.Fragment, null, /* @__PURE__ */ r.createElement("div", { className: "k-filter-toolbar" }, /* @__PURE__ */ r.createElement(b, { keyboardNavigation: !1, role: "toolbar", ariaLabel: o }, /* @__PURE__ */ r.createElement(L, { className: "k-toolbar-button-group k-button-group-solid" }, /* @__PURE__ */ r.createElement(l, { togglable: !0, onClick: this.onLogicAnd, selected: i.logic === "and", type: "button" }, t.toLanguageString(v, s[v])), /* @__PURE__ */ r.createElement(l, { togglable: !0, onClick: this.onLogicOr, selected: i.logic === "or", type: "button" }, t.toLanguageString(m, s[m]))), /* @__PURE__ */ r.createElement(
93
- l,
92
+ return /* @__PURE__ */ r.createElement(r.Fragment, null, /* @__PURE__ */ r.createElement("div", { className: "k-filter-toolbar" }, /* @__PURE__ */ r.createElement(b, { role: "toolbar", ariaLabel: o }, /* @__PURE__ */ r.createElement(L, { className: "k-toolbar-button-group k-button-group-solid" }, /* @__PURE__ */ r.createElement(a, { togglable: !0, onClick: this.onLogicAnd, selected: i.logic === "and", type: "button" }, t.toLanguageString(v, s[v])), /* @__PURE__ */ r.createElement(a, { togglable: !0, onClick: this.onLogicOr, selected: i.logic === "or", type: "button" }, t.toLanguageString(m, s[m]))), /* @__PURE__ */ r.createElement(
93
+ a,
94
94
  {
95
95
  className: "k-toolbar-button",
96
96
  title: t.toLanguageString(p, s[p]),
@@ -101,7 +101,7 @@ const g = class g extends r.Component {
101
101
  },
102
102
  t.toLanguageString(p, s[p])
103
103
  ), /* @__PURE__ */ r.createElement(
104
- l,
104
+ a,
105
105
  {
106
106
  className: "k-toolbar-button",
107
107
  title: t.toLanguageString(c, s[c]),
@@ -112,12 +112,12 @@ const g = class g extends r.Component {
112
112
  },
113
113
  t.toLanguageString(c, s[c])
114
114
  ), /* @__PURE__ */ r.createElement(
115
- l,
115
+ a,
116
116
  {
117
117
  className: "k-toolbar-button",
118
118
  title: t.toLanguageString(u, s[u]),
119
119
  icon: "x",
120
- svgIcon: k,
120
+ svgIcon: R,
121
121
  fillMode: "flat",
122
122
  type: "button",
123
123
  onClick: this.onGroupRemove
@@ -135,7 +135,7 @@ const g = class g extends r.Component {
135
135
  ariaLabelExpression: this.props.ariaLabelExpression
136
136
  }
137
137
  ) : /* @__PURE__ */ r.createElement(
138
- R,
138
+ k,
139
139
  {
140
140
  filter: n,
141
141
  fields: e,
@@ -148,13 +148,13 @@ const g = class g extends r.Component {
148
148
  }
149
149
  };
150
150
  g.propTypes = {
151
- filter: a.object.isRequired,
152
- fields: a.array.isRequired,
153
- ariaLabel: a.string,
154
- ariaLabelExpression: a.string,
155
- onChange: a.func.isRequired,
156
- onRemove: a.func.isRequired,
157
- defaultGroupFilter: a.object.isRequired
151
+ filter: l.object.isRequired,
152
+ fields: l.array.isRequired,
153
+ ariaLabel: l.string,
154
+ ariaLabelExpression: l.string,
155
+ onChange: l.func.isRequired,
156
+ onRemove: l.func.isRequired,
157
+ defaultGroupFilter: l.object.isRequired
158
158
  };
159
159
  let h = g;
160
160
  x(h);
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),n=require("prop-types"),l=require("@progress/kendo-react-dateinputs");function u(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,o.get?o:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const s=u(c),i=class i extends s.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=this.props.filter;return s.createElement(l.DatePicker,{value:e.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}};i.propTypes={filter:n.object.isRequired,onFilterChange:n.func.isRequired,ariaLabel:n.string};let a=i;exports.DateFilter=a;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),n=require("prop-types"),l=require("@progress/kendo-react-dateinputs");function u(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,o.get?o:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const s=u(c),i=class i extends s.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=this.props.filter;return s.createElement(l.DatePicker,{value:e.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel,tabIndex:-1})}};i.propTypes={filter:n.object.isRequired,onFilterChange:n.func.isRequired,ariaLabel:n.string};let a=i;exports.DateFilter=a;
@@ -8,7 +8,7 @@
8
8
  "use client";
9
9
  import * as i from "react";
10
10
  import r from "prop-types";
11
- import { DatePicker as o } from "@progress/kendo-react-dateinputs";
11
+ import { DatePicker as a } from "@progress/kendo-react-dateinputs";
12
12
  const t = class t extends i.Component {
13
13
  constructor() {
14
14
  super(...arguments), this.onChange = (e) => {
@@ -23,11 +23,12 @@ const t = class t extends i.Component {
23
23
  render() {
24
24
  const e = this.props.filter;
25
25
  return /* @__PURE__ */ i.createElement(
26
- o,
26
+ a,
27
27
  {
28
28
  value: e.value || null,
29
29
  onChange: this.onChange,
30
- ariaLabel: this.props.ariaLabel
30
+ ariaLabel: this.props.ariaLabel,
31
+ tabIndex: -1
31
32
  }
32
33
  );
33
34
  }
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),t=require("prop-types"),b=require("@progress/kendo-react-dropdowns"),p=require("@progress/kendo-react-intl"),i=require("../../messages/index.js");function h(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(e,r,o.get?o:{enumerable:!0,get:()=>n[r]})}}return e.default=n,Object.freeze(e)}const u=h(f),l=class l extends u.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value.value}})}}render(){const e=p.provideLocalizationService(this),{filter:r,data:o=[],defaultItem:d,ariaLabel:g=e.toLanguageString(i.filterEnumFilterDropdownAriaLabel,i.messages[i.filterEnumFilterDropdownAriaLabel])}=this.props,c=o.map(a=>({...a,text:e.toLanguageString(a.text,i.messages[a.text]||a.text)}));return u.createElement(b.DropDownList,{value:c.find(a=>a.value===r.value)||null,onChange:this.onChange,defaultItem:d,data:c,textField:"text",ariaLabel:g})}};l.propTypes={filter:t.object.isRequired,onFilterChange:t.func.isRequired,data:t.arrayOf(t.shape({text:t.string,value:t.any})),defaultItem:t.any,ariaLabel:t.string};let s=l;p.registerForLocalization(s);exports.EnumFilter=s;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),t=require("prop-types"),b=require("@progress/kendo-react-dropdowns"),d=require("@progress/kendo-react-intl"),i=require("../../messages/index.js");function h(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(e,r,o.get?o:{enumerable:!0,get:()=>n[r]})}}return e.default=n,Object.freeze(e)}const u=h(f),l=class l extends u.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value.value}})}}render(){const e=d.provideLocalizationService(this),{filter:r,data:o=[],defaultItem:p,ariaLabel:g=e.toLanguageString(i.filterEnumFilterDropdownAriaLabel,i.messages[i.filterEnumFilterDropdownAriaLabel])}=this.props,c=o.map(a=>({...a,text:e.toLanguageString(a.text,i.messages[a.text]||a.text)}));return u.createElement(b.DropDownList,{value:c.find(a=>a.value===r.value)||null,onChange:this.onChange,defaultItem:p,data:c,textField:"text",ariaLabel:g,tabIndex:-1})}};l.propTypes={filter:t.object.isRequired,onFilterChange:t.func.isRequired,data:t.arrayOf(t.shape({text:t.string,value:t.any})),defaultItem:t.any,ariaLabel:t.string};let s=l;d.registerForLocalization(s);exports.EnumFilter=s;
@@ -40,7 +40,8 @@ const o = class o extends n.Component {
40
40
  defaultItem: u,
41
41
  data: i,
42
42
  textField: "text",
43
- ariaLabel: g
43
+ ariaLabel: g,
44
+ tabIndex: -1
44
45
  }
45
46
  );
46
47
  }
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react"),c=require("prop-types"),f=require("@progress/kendo-react-inputs"),u=require("@progress/kendo-react-intl"),o=require("../../messages/index.js");function d(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const l=d(g),a=class a extends l.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=u.provideLocalizationService(this),{min:t,max:n,filter:s,ariaLabel:p=e.toLanguageString(o.filterNumericFilterAriaLabel,o.messages[o.filterNumericFilterAriaLabel])}=this.props;return l.createElement(f.NumericTextBox,{value:typeof s.value=="number"?s.value:null,onChange:this.onChange,ariaLabel:p,min:t,max:n})}};a.propTypes={filter:c.object.isRequired,onFilterChange:c.func.isRequired};let i=a;u.registerForLocalization(i);exports.NumericFilter=i;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react"),c=require("prop-types"),d=require("@progress/kendo-react-inputs"),u=require("@progress/kendo-react-intl"),o=require("../../messages/index.js");function f(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const l=f(g),a=class a extends l.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=u.provideLocalizationService(this),{min:t,max:n,filter:s,ariaLabel:p=e.toLanguageString(o.filterNumericFilterAriaLabel,o.messages[o.filterNumericFilterAriaLabel])}=this.props;return l.createElement(d.NumericTextBox,{value:typeof s.value=="number"?s.value:null,onChange:this.onChange,ariaLabel:p,min:t,max:n,tabIndex:-1})}};a.propTypes={filter:c.object.isRequired,onFilterChange:c.func.isRequired};let i=a;u.registerForLocalization(i);exports.NumericFilter=i;
@@ -36,7 +36,8 @@ const t = class t extends i.Component {
36
36
  onChange: this.onChange,
37
37
  ariaLabel: p,
38
38
  min: s,
39
- max: l
39
+ max: l,
40
+ tabIndex: -1
40
41
  }
41
42
  );
42
43
  }
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),n=require("prop-types"),p=require("@progress/kendo-react-inputs"),l=require("@progress/kendo-react-intl"),o=require("../../messages/index.js");function g(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const c=g(u),a=class a extends c.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=l.provideLocalizationService(this),{ariaLabel:t=e.toLanguageString(o.filterTextFilterAriaLabel,o.messages[o.filterTextFilterAriaLabel])}=this.props;return c.createElement(p.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":t})}};a.propTypes={filter:n.object.isRequired,onFilterChange:n.func.isRequired,ariaLabel:n.string};let i=a;l.registerForLocalization(i);exports.TextFilter=i;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),i=require("prop-types"),p=require("@progress/kendo-react-inputs"),l=require("@progress/kendo-react-intl"),a=require("../../messages/index.js");function g(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const c=g(u),o=class o extends c.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=l.provideLocalizationService(this),{ariaLabel:t=e.toLanguageString(a.filterTextFilterAriaLabel,a.messages[a.filterTextFilterAriaLabel])}=this.props;return c.createElement(p.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":t,tabIndex:-1})}};o.propTypes={filter:i.object.isRequired,onFilterChange:i.func.isRequired,ariaLabel:i.string};let n=o;l.registerForLocalization(n);exports.TextFilter=n;
@@ -29,7 +29,8 @@ const i = class i extends o.Component {
29
29
  {
30
30
  value: this.props.filter.value || "",
31
31
  onChange: this.onChange,
32
- "aria-label": s
32
+ "aria-label": s,
33
+ tabIndex: -1
33
34
  }
34
35
  );
35
36
  }
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),h=require("./HeaderThElement.js"),k=require("../navigation/utils.js"),m=require("@progress/kendo-react-intl"),o=require("../messages/index.js"),C=require("@progress/kendo-react-common");function R(t){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(a,r,i.get?i:{enumerable:!0,get:()=>t[r]})}}return a.default=t,Object.freeze(a)}const s=R(b),c="k-table-row k-filter-row",p=(t,a,r)=>{let i=`${r?"k-grid-header-sticky":""}`;return t.some(l=>l.field===a)&&(i+=" k-sorted"),i},L=function(t){const{columns:a,filter:r,filterChange:i,sort:l=[],ariaRowIndex:d}=t,f=m.useLocalization();return s.createElement("tr",{className:c,"aria-rowindex":d,role:"row"},a.map((e,u)=>{const g=e.locked!==void 0?{left:e.left,right:e.right,borderRightWidth:e.rightBorder?"1px":""}:{},n=e.filterCell||e.filter;return s.createElement(h.HeaderThElement,{columnId:k.getFilterColumnId(e.id),navigatable:e.navigatable,style:g,key:u,ariaColumnIndex:e.ariaColumnIndex,ariaLabel:n?f.toLanguageString(o.filterAriaLabel,o.messages[o.filterAriaLabel]):void 0,className:C.classNames("k-table-th k-header",p(l,e.field,e.locked))},n&&s.createElement(n,{field:e.field,filter:r,onFilterChange:i}))}))};exports.FILTER_ROW_CLASS=c;exports.FilterRow=L;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react"),k=require("./HeaderThElement.js"),m=require("../navigation/utils.js"),C=require("@progress/kendo-react-intl"),c=require("../messages/index.js"),R=require("@progress/kendo-react-common");function p(t){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(i,r,a.get?a:{enumerable:!0,get:()=>t[r]})}}return i.default=t,Object.freeze(i)}const d=p(h),f="k-table-row k-filter-row",w=(t,i,r)=>{let a=`${r?"k-grid-header-sticky":""}`;return t.some(n=>n.field===i)&&(a+=" k-sorted"),a},F=function(t){const{columns:i,filter:r,filterChange:a,sort:n=[],ariaRowIndex:u}=t,g=C.useLocalization(),b=e=>{if(!a)return;const o=e.filter.filter(l=>!(l.operator==="eq"&&l.value===null));a({...e,filter:o})};return d.createElement("tr",{className:f,"aria-rowindex":u,role:"row"},i.map((e,o)=>{const l=e.locked!==void 0?{left:e.left,right:e.right,borderRightWidth:e.rightBorder?"1px":""}:{},s=e.filterCell||e.filter;return d.createElement(k.HeaderThElement,{columnId:m.getFilterColumnId(e.id),navigatable:e.navigatable,style:l,key:o,ariaColumnIndex:e.ariaColumnIndex,ariaLabel:s?g.toLanguageString(c.filterAriaLabel,c.messages[c.filterAriaLabel]):void 0,className:R.classNames("k-table-th k-header",w(n,e.field,e.locked))},s&&d.createElement(s,{field:e.field,filter:r,onFilterChange:b}))}))};exports.FILTER_ROW_CLASS=f;exports.FilterRow=F;
@@ -6,49 +6,56 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as s from "react";
10
- import { HeaderThElement as h } from "./HeaderThElement.mjs";
11
- import { getFilterColumnId as c } from "../navigation/utils.mjs";
9
+ import * as d from "react";
10
+ import { HeaderThElement as c } from "./HeaderThElement.mjs";
11
+ import { getFilterColumnId as C } from "../navigation/utils.mjs";
12
12
  import { useLocalization as k } from "@progress/kendo-react-intl";
13
- import { filterAriaLabel as d, messages as C } from "../messages/index.mjs";
14
- import { classNames as p } from "@progress/kendo-react-common";
15
- const b = "k-table-row k-filter-row", w = (r, a, i) => {
16
- let t = `${i ? "k-grid-header-sticky" : ""}`;
17
- return r.some((l) => l.field === a) && (t += " k-sorted"), t;
18
- }, F = function(r) {
19
- const { columns: a, filter: i, filterChange: t, sort: l = [], ariaRowIndex: n } = r, f = k();
20
- return /* @__PURE__ */ s.createElement("tr", { className: b, "aria-rowindex": n, role: "row" }, a.map((e, m) => {
21
- const g = e.locked !== void 0 ? {
13
+ import { filterAriaLabel as f, messages as p } from "../messages/index.mjs";
14
+ import { classNames as b } from "@progress/kendo-react-common";
15
+ const w = "k-table-row k-filter-row", F = (i, a, l) => {
16
+ let r = `${l ? "k-grid-header-sticky" : ""}`;
17
+ return i.some((o) => o.field === a) && (r += " k-sorted"), r;
18
+ }, E = function(i) {
19
+ const { columns: a, filter: l, filterChange: r, sort: o = [], ariaRowIndex: m } = i, g = k(), h = (e) => {
20
+ if (!r)
21
+ return;
22
+ const s = e.filter.filter(
23
+ (t) => !(t.operator === "eq" && t.value === null)
24
+ );
25
+ r({ ...e, filter: s });
26
+ };
27
+ return /* @__PURE__ */ d.createElement("tr", { className: w, "aria-rowindex": m, role: "row" }, a.map((e, s) => {
28
+ const t = e.locked !== void 0 ? {
22
29
  left: e.left,
23
30
  right: e.right,
24
31
  borderRightWidth: e.rightBorder ? "1px" : ""
25
- } : {}, o = e.filterCell || e.filter;
26
- return /* @__PURE__ */ s.createElement(
27
- h,
32
+ } : {}, n = e.filterCell || e.filter;
33
+ return /* @__PURE__ */ d.createElement(
34
+ c,
28
35
  {
29
- columnId: c(e.id),
36
+ columnId: C(e.id),
30
37
  navigatable: e.navigatable,
31
- style: g,
32
- key: m,
38
+ style: t,
39
+ key: s,
33
40
  ariaColumnIndex: e.ariaColumnIndex,
34
- ariaLabel: o ? f.toLanguageString(d, C[d]) : void 0,
35
- className: p(
41
+ ariaLabel: n ? g.toLanguageString(f, p[f]) : void 0,
42
+ className: b(
36
43
  "k-table-th k-header",
37
- w(l, e.field, e.locked)
44
+ F(o, e.field, e.locked)
38
45
  )
39
46
  },
40
- o && /* @__PURE__ */ s.createElement(
41
- o,
47
+ n && /* @__PURE__ */ d.createElement(
48
+ n,
42
49
  {
43
50
  field: e.field,
44
- filter: i,
45
- onFilterChange: t
51
+ filter: l,
52
+ onFilterChange: h
46
53
  }
47
54
  )
48
55
  );
49
56
  }));
50
57
  };
51
58
  export {
52
- b as FILTER_ROW_CLASS,
53
- F as FilterRow
59
+ w as FILTER_ROW_CLASS,
60
+ E as FilterRow
54
61
  };
package/header/Header.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),a=require("./utils/index.js"),i=require("../navigation/constants.js");function c(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const s=c(o);class l extends s.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:e}=this.props;e&&e.resizable&&e.setIsRtl(a.isRtl(this.element))}render(){return s.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:e=>this.element=e,...i.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}}exports.Header=l;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),a=require("./utils/index.js"),i=require("../navigation/constants.js"),c=require("@progress/kendo-react-common");function l(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const s=l(o);class u extends s.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:e}=this.props;e&&e.resizable&&e.setIsRtl(a.isRtl(this.element))}render(){return s.createElement("thead",{className:c.classNames("k-table-thead k-grid-header",{"k-grid-draggable-header":this.props.reorderable}),role:"presentation",ref:e=>this.element=e,...i.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}}exports.Header=u;
package/header/Header.mjs CHANGED
@@ -9,7 +9,8 @@
9
9
  import * as t from "react";
10
10
  import { isRtl as r } from "./utils/index.mjs";
11
11
  import { tableKeyboardNavigationHeaderAttributes as s } from "../navigation/constants.mjs";
12
- class a extends t.Component {
12
+ import { classNames as o } from "@progress/kendo-react-common";
13
+ class m extends t.Component {
13
14
  constructor() {
14
15
  super(...arguments), this.element = null;
15
16
  }
@@ -21,7 +22,10 @@ class a extends t.Component {
21
22
  return /* @__PURE__ */ t.createElement(
22
23
  "thead",
23
24
  {
24
- className: "k-table-thead k-grid-header",
25
+ className: o(
26
+ "k-table-thead k-grid-header",
27
+ { "k-grid-draggable-header": this.props.reorderable }
28
+ ),
25
29
  role: "presentation",
26
30
  ref: (e) => this.element = e,
27
31
  ...s
@@ -32,5 +36,5 @@ class a extends t.Component {
32
36
  }
33
37
  }
34
38
  export {
35
- a as Header
39
+ m as Header
36
40
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),m=require("../navigation/hooks.js");function f(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const g=f(b),n=e=>{const{ariaSort:a,colSpan:t,rowSpan:r,columnId:o,navigatable:i,ariaColumnIndex:c,ariaLabel:l,ariaSelected:s,ariaDescription:p,...u}=e,d=m.useTableKeyboardNavigation(o,i);return g.createElement("th",{"aria-sort":a,"aria-label":l,"aria-colindex":c,"aria-selected":s,colSpan:t,rowSpan:r,...d,...u},e.children)};n.displayName="KendoReactHeaderThElement";exports.HeaderThElement=n;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react"),g=require("../navigation/hooks.js"),p=require("@progress/kendo-react-common");function S(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const i=S(m),c=e=>{const{ariaSort:a,colSpan:t,rowSpan:r,columnId:l,navigatable:n,ariaColumnIndex:s,ariaLabel:u,ariaSelected:d,ariaDescription:h,...b}=e,f=g.useTableKeyboardNavigation(l,n),o=i.useRef(null);return i.useEffect(()=>{o.current&&n&&p.disableNavigatableContainer(o.current)},[n]),i.createElement("th",{ref:o,"aria-sort":a,"aria-label":u,"aria-colindex":s,"aria-selected":d,colSpan:t,rowSpan:r,...f,...b},e.children)};c.displayName="KendoReactHeaderThElement";exports.HeaderThElement=c;
@@ -6,37 +6,41 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as m from "react";
10
- import { useTableKeyboardNavigation as b } from "../navigation/hooks.mjs";
11
- const u = (a) => {
9
+ import * as t from "react";
10
+ import { useTableKeyboardNavigation as f } from "../navigation/hooks.mjs";
11
+ import { disableNavigatableContainer as b } from "@progress/kendo-react-common";
12
+ const p = (r) => {
12
13
  const {
13
- ariaSort: e,
14
- colSpan: t,
15
- rowSpan: r,
16
- columnId: i,
17
- navigatable: n,
18
- ariaColumnIndex: o,
19
- ariaLabel: l,
20
- ariaSelected: c,
14
+ ariaSort: i,
15
+ colSpan: n,
16
+ rowSpan: o,
17
+ columnId: l,
18
+ navigatable: e,
19
+ ariaColumnIndex: c,
20
+ ariaLabel: s,
21
+ ariaSelected: m,
21
22
  ariaDescription: h,
22
23
  ...d
23
- } = a, s = b(i, n);
24
- return /* @__PURE__ */ m.createElement(
24
+ } = r, u = f(l, e), a = t.useRef(null);
25
+ return t.useEffect(() => {
26
+ a.current && e && b(a.current);
27
+ }, [e]), /* @__PURE__ */ t.createElement(
25
28
  "th",
26
29
  {
27
- "aria-sort": e,
28
- "aria-label": l,
29
- "aria-colindex": o,
30
- "aria-selected": c,
31
- colSpan: t,
32
- rowSpan: r,
33
- ...s,
30
+ ref: a,
31
+ "aria-sort": i,
32
+ "aria-label": s,
33
+ "aria-colindex": c,
34
+ "aria-selected": m,
35
+ colSpan: n,
36
+ rowSpan: o,
37
+ ...u,
34
38
  ...d
35
39
  },
36
- a.children
40
+ r.children
37
41
  );
38
42
  };
39
- u.displayName = "KendoReactHeaderThElement";
43
+ p.displayName = "KendoReactHeaderThElement";
40
44
  export {
41
- u as HeaderThElement
45
+ p as HeaderThElement
42
46
  };