@progress/kendo-react-grid 7.2.4-develop.3 → 7.3.0-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 (174) hide show
  1. package/Grid.js +8 -0
  2. package/Grid.mjs +1111 -0
  3. package/GridColumn.js +8 -0
  4. package/GridColumn.mjs +53 -0
  5. package/GridNoRecords.js +8 -0
  6. package/GridNoRecords.mjs +25 -0
  7. package/GridToolbar.js +8 -0
  8. package/GridToolbar.mjs +39 -0
  9. package/StatusBar.js +8 -0
  10. package/StatusBar.mjs +53 -0
  11. package/VirtualScroll.js +8 -0
  12. package/VirtualScroll.mjs +128 -0
  13. package/VirtualScrollFixed.js +8 -0
  14. package/VirtualScrollFixed.mjs +86 -0
  15. package/cells/GridCell.js +8 -0
  16. package/cells/GridCell.mjs +57 -0
  17. package/cells/GridDetailCell.js +8 -0
  18. package/cells/GridDetailCell.mjs +30 -0
  19. package/cells/GridDetailHierarchyCell.js +8 -0
  20. package/cells/GridDetailHierarchyCell.mjs +17 -0
  21. package/cells/GridEditCell.js +8 -0
  22. package/cells/GridEditCell.mjs +172 -0
  23. package/cells/GridFilterCell.js +8 -0
  24. package/cells/GridFilterCell.mjs +145 -0
  25. package/cells/GridGroupCell.js +8 -0
  26. package/cells/GridGroupCell.mjs +115 -0
  27. package/cells/GridHierarchyCell.js +8 -0
  28. package/cells/GridHierarchyCell.mjs +84 -0
  29. package/cells/GridSelectionCell.js +8 -0
  30. package/cells/GridSelectionCell.mjs +54 -0
  31. package/columnMenu/GridColumnMenuCheckboxFilter.js +8 -0
  32. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +199 -0
  33. package/columnMenu/GridColumnMenuColumnsList.js +8 -0
  34. package/columnMenu/GridColumnMenuColumnsList.mjs +60 -0
  35. package/columnMenu/GridColumnMenuFilter.js +8 -0
  36. package/columnMenu/GridColumnMenuFilter.mjs +188 -0
  37. package/columnMenu/GridColumnMenuFilterCell.js +8 -0
  38. package/columnMenu/GridColumnMenuFilterCell.mjs +96 -0
  39. package/columnMenu/GridColumnMenuFilterUI.js +8 -0
  40. package/columnMenu/GridColumnMenuFilterUI.mjs +36 -0
  41. package/columnMenu/GridColumnMenuGroup.js +8 -0
  42. package/columnMenu/GridColumnMenuGroup.mjs +50 -0
  43. package/columnMenu/GridColumnMenuItem.js +8 -0
  44. package/columnMenu/GridColumnMenuItem.mjs +22 -0
  45. package/columnMenu/GridColumnMenuItemContent.js +8 -0
  46. package/columnMenu/GridColumnMenuItemContent.mjs +30 -0
  47. package/columnMenu/GridColumnMenuItemGroup.js +8 -0
  48. package/columnMenu/GridColumnMenuItemGroup.mjs +30 -0
  49. package/columnMenu/GridColumnMenuSort.js +8 -0
  50. package/columnMenu/GridColumnMenuSort.mjs +75 -0
  51. package/columnMenu/GridColumnMenuWrapper.js +8 -0
  52. package/columnMenu/GridColumnMenuWrapper.mjs +91 -0
  53. package/constants/index.js +8 -0
  54. package/constants/index.mjs +15 -0
  55. package/dist/cdn/js/kendo-react-grid.js +8 -5
  56. package/drag/ColumnDraggable.js +8 -0
  57. package/drag/ColumnDraggable.mjs +43 -0
  58. package/drag/ColumnResize.js +8 -0
  59. package/drag/ColumnResize.mjs +128 -0
  60. package/drag/CommonDragLogic.js +8 -0
  61. package/drag/CommonDragLogic.mjs +104 -0
  62. package/drag/GroupingIndicator.js +8 -0
  63. package/drag/GroupingIndicator.mjs +91 -0
  64. package/filterCommon.js +8 -0
  65. package/filterCommon.mjs +103 -0
  66. package/footer/Footer.js +8 -0
  67. package/footer/Footer.mjs +76 -0
  68. package/footer/FooterRow.js +8 -0
  69. package/footer/FooterRow.mjs +46 -0
  70. package/header/FilterRow.js +8 -0
  71. package/header/FilterRow.mjs +96 -0
  72. package/header/GridHeaderCell.js +8 -0
  73. package/header/GridHeaderCell.mjs +38 -0
  74. package/header/GridHeaderSelectionCell.js +8 -0
  75. package/header/GridHeaderSelectionCell.mjs +44 -0
  76. package/header/GroupPanel.js +8 -0
  77. package/header/GroupPanel.mjs +60 -0
  78. package/header/Header.js +8 -0
  79. package/header/Header.mjs +107 -0
  80. package/header/HeaderRow.js +8 -0
  81. package/header/HeaderRow.mjs +155 -0
  82. package/index.d.mts +2777 -5
  83. package/index.d.ts +2777 -57
  84. package/index.js +8 -5
  85. package/index.mjs +89 -3845
  86. package/interfaces/GridSortSettings.js +8 -0
  87. package/interfaces/GridSortSettings.mjs +12 -0
  88. package/messages/index.js +8 -0
  89. package/messages/index.mjs +107 -0
  90. package/package-metadata.js +8 -0
  91. package/package-metadata.mjs +19 -0
  92. package/package.json +10 -10
  93. package/paging/GridPagerSettings.js +8 -0
  94. package/paging/GridPagerSettings.mjs +28 -0
  95. package/rows/GridDetailRow.js +8 -0
  96. package/rows/GridDetailRow.mjs +20 -0
  97. package/rows/GridRow.js +8 -0
  98. package/rows/GridRow.mjs +51 -0
  99. package/utils/index.js +8 -0
  100. package/utils/index.mjs +180 -0
  101. package/Grid.d.ts +0 -267
  102. package/GridColumn.d.ts +0 -28
  103. package/GridNoRecords.d.ts +0 -40
  104. package/GridToolbar.d.ts +0 -54
  105. package/ScrollMode.d.ts +0 -5
  106. package/StatusBar.d.ts +0 -51
  107. package/VirtualScroll.d.ts +0 -51
  108. package/VirtualScrollFixed.d.ts +0 -53
  109. package/cells/GridCell.d.ts +0 -6
  110. package/cells/GridDetailCell.d.ts +0 -18
  111. package/cells/GridDetailHierarchyCell.d.ts +0 -10
  112. package/cells/GridEditCell.d.ts +0 -9
  113. package/cells/GridFilterCell.d.ts +0 -20
  114. package/cells/GridGroupCell.d.ts +0 -9
  115. package/cells/GridHierarchyCell.d.ts +0 -9
  116. package/cells/GridSelectionCell.d.ts +0 -9
  117. package/columnMenu/GridColumnMenuCheckboxFilter.d.ts +0 -122
  118. package/columnMenu/GridColumnMenuColumnsList.d.ts +0 -31
  119. package/columnMenu/GridColumnMenuFilter.d.ts +0 -165
  120. package/columnMenu/GridColumnMenuFilterCell.d.ts +0 -37
  121. package/columnMenu/GridColumnMenuFilterUI.d.ts +0 -12
  122. package/columnMenu/GridColumnMenuGroup.d.ts +0 -77
  123. package/columnMenu/GridColumnMenuItem.d.ts +0 -40
  124. package/columnMenu/GridColumnMenuItemContent.d.ts +0 -24
  125. package/columnMenu/GridColumnMenuItemGroup.d.ts +0 -20
  126. package/columnMenu/GridColumnMenuSort.d.ts +0 -89
  127. package/columnMenu/GridColumnMenuWrapper.d.ts +0 -49
  128. package/constants/index.d.ts +0 -10
  129. package/drag/ColumnDraggable.d.ts +0 -38
  130. package/drag/ColumnResize.d.ts +0 -37
  131. package/drag/CommonDragLogic.d.ts +0 -44
  132. package/drag/GroupingIndicator.d.ts +0 -41
  133. package/filterCommon.d.ts +0 -73
  134. package/footer/Footer.d.ts +0 -38
  135. package/footer/FooterRow.d.ts +0 -25
  136. package/header/FilterRow.d.ts +0 -38
  137. package/header/GridHeaderCell.d.ts +0 -56
  138. package/header/GridHeaderSelectionCell.d.ts +0 -10
  139. package/header/GroupPanel.d.ts +0 -26
  140. package/header/Header.d.ts +0 -46
  141. package/header/HeaderRow.d.ts +0 -51
  142. package/interfaces/GridCellProps.d.ts +0 -73
  143. package/interfaces/GridCellsSettings.d.ts +0 -115
  144. package/interfaces/GridColumnMenuBaseProps.d.ts +0 -18
  145. package/interfaces/GridColumnMenuColumnProps.d.ts +0 -29
  146. package/interfaces/GridColumnMenuFilterBaseProps.d.ts +0 -28
  147. package/interfaces/GridColumnMenuFilterUIProps.d.ts +0 -35
  148. package/interfaces/GridColumnMenuGroupBaseProps.d.ts +0 -23
  149. package/interfaces/GridColumnMenuProps.d.ts +0 -12
  150. package/interfaces/GridColumnMenuSortBaseProps.d.ts +0 -24
  151. package/interfaces/GridColumnProps.d.ts +0 -92
  152. package/interfaces/GridDetailRowProps.d.ts +0 -17
  153. package/interfaces/GridFilterCellProps.d.ts +0 -68
  154. package/interfaces/GridFilterOperator.d.ts +0 -10
  155. package/interfaces/GridFilterOperators.d.ts +0 -53
  156. package/interfaces/GridFooterCellProps.d.ts +0 -26
  157. package/interfaces/GridGroupableSettings.d.ts +0 -17
  158. package/interfaces/GridHeaderCellProps.d.ts +0 -24
  159. package/interfaces/GridNoRecordsProps.d.ts +0 -13
  160. package/interfaces/GridProps.d.ts +0 -333
  161. package/interfaces/GridRowProps.d.ts +0 -67
  162. package/interfaces/GridRowType.d.ts +0 -13
  163. package/interfaces/GridSelectableSettings.d.ts +0 -22
  164. package/interfaces/GridSortSettings.d.ts +0 -17
  165. package/interfaces/GridToolbarProps.d.ts +0 -37
  166. package/interfaces/VirtualScrollInterface.d.ts +0 -31
  167. package/interfaces/events.d.ts +0 -232
  168. package/messages/index.d.ts +0 -199
  169. package/package-metadata.d.ts +0 -9
  170. package/paging/GridPagerSettings.d.ts +0 -71
  171. package/paging/Page.d.ts +0 -17
  172. package/rows/GridDetailRow.d.ts +0 -55
  173. package/rows/GridRow.d.ts +0 -15
  174. package/utils/index.d.ts +0 -73
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("react"),x=require("@progress/kendo-react-intl"),S=require("../cells/GridFilterCell.js"),d=require("../filterCommon.js"),k=require("@progress/kendo-react-data-tools"),C=require("../messages/index.js"),T=require("@progress/kendo-react-common"),O=require("../utils/index.js");function q(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const r in a)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(a,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:()=>a[r]})}}return t.default=a,Object.freeze(t)}const n=q(L),y="k-table-row k-filter-row";class m extends n.Component{headerCellClassName(t,r){let i=`${r?"k-grid-header-sticky":""}`;return this.props.sort&&this.props.sort.filter(c=>c.field===t).length>0&&(i+=" k-sorted"),i}setFilter(t,r,i,c){if(!this.props.filterChange)return;const o=[];(t!==""&&t!==null||r!=="")&&o.push({field:i,operator:r,value:t}),this.props.filter&&this.props.filter.filters&&(this.props.filter.filters||[]).forEach(s=>{const l=s;l&&l.field!==i&&o.push(l)});const h=this.props.filter&&this.props.filter.logic?this.props.filter.logic:"and";this.props.filterChange(o.length>0?{logic:h,filters:o}:null,c)}render(){const t=x.provideLocalizationService(this),r=this.props.filter&&this.props.filter.filters||[],i=e=>{if(e===void 0)return;const s=r.filter(l=>l.field===e);return s.length?s[0]:void 0};let c=0,o=-1;const h=this.props.columns.filter(e=>e.children.length===0).map(e=>{const s=d.getFilterType(e.filter),l=i(e.field),b=e.filterable?t.toLanguageString(C.filterAriaLabel,C.messages[C.filterAriaLabel]):void 0;let g=l&&l.value;g===void 0&&(g=s==="text"?"":null);const p=e.filterable&&{render:this.props.cellRender,field:e.field,title:e.filterTitle,value:g,operator:l&&l.operator,operators:d.operatorMap(this.props.filterOperators[s]||[],t),booleanValues:d.operatorMap(d.booleanFilterValues,t),filterType:s,ariaLabel:b,onChange:f=>{this.setFilter(f.value,f.operator,e.field,f.syntheticEvent)}},v=e.declarationIndex>=0?++o:--c,E={ariaLabel:b,ariaColumnIndex:e.ariaColumnIndex},I=e.left!==void 0?this.props.isRtl?{left:e.right,right:e.left}:{left:e.left,right:e.right}:{},F={columnId:k.tableKeyboardNavigationTools.getFilterColumnId(e.id),navigatable:e.navigatable,style:I,className:T.classNames("k-table-th",this.headerCellClassName(e.field,e.locked)||void 0),role:"columnheader",...E},R=p&&(e.filterCell?n.createElement(e.filterCell,{...p}):n.createElement(S.GridFilterCell,{size:this.props.size,...p})),u=O.resolveCells(this.props.cells,e.cells);if(u&&u.filterCell){const f=u.filterCell;return n.createElement(f,{key:v,...p,thProps:F,index:o},R)}return n.createElement(k.HeaderThElement,{key:v,...F},R)});return n.createElement("tr",{className:y,"aria-rowindex":this.props.ariaRowIndex,role:"row"},h)}}x.registerForLocalization(m);exports.FILTER_ROW_CLASS=y;exports.FilterRow=m;
@@ -0,0 +1,96 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as a from "react";
10
+ import { provideLocalizationService as k, registerForLocalization as u } from "@progress/kendo-react-intl";
11
+ import { GridFilterCell as I } from "../cells/GridFilterCell.mjs";
12
+ import { getFilterType as y, operatorMap as F, booleanFilterValues as L } from "../filterCommon.mjs";
13
+ import { tableKeyboardNavigationTools as R, HeaderThElement as w } from "@progress/kendo-react-data-tools";
14
+ import { filterAriaLabel as b, messages as N } from "../messages/index.mjs";
15
+ import { classNames as T } from "@progress/kendo-react-common";
16
+ import { resolveCells as z } from "../utils/index.mjs";
17
+ const A = "k-table-row k-filter-row";
18
+ class S extends a.Component {
19
+ headerCellClassName(r, o) {
20
+ let l = `${o ? "k-grid-header-sticky" : ""}`;
21
+ return this.props.sort && this.props.sort.filter((n) => n.field === r).length > 0 && (l += " k-sorted"), l;
22
+ }
23
+ setFilter(r, o, l, n) {
24
+ if (!this.props.filterChange)
25
+ return;
26
+ const s = [];
27
+ (r !== "" && r !== null || o !== "") && s.push({
28
+ field: l,
29
+ operator: o,
30
+ value: r
31
+ }), this.props.filter && this.props.filter.filters && (this.props.filter.filters || []).forEach((i) => {
32
+ const t = i;
33
+ t && t.field !== l && s.push(t);
34
+ });
35
+ const h = this.props.filter && this.props.filter.logic ? this.props.filter.logic : "and";
36
+ this.props.filterChange(s.length > 0 ? { logic: h, filters: s } : null, n);
37
+ }
38
+ render() {
39
+ const r = k(this), o = this.props.filter && this.props.filter.filters || [], l = (e) => {
40
+ if (e === void 0)
41
+ return;
42
+ const i = o.filter((t) => t.field === e);
43
+ return i.length ? i[0] : void 0;
44
+ };
45
+ let n = 0, s = -1;
46
+ const h = this.props.columns.filter((e) => e.children.length === 0).map(
47
+ (e) => {
48
+ const i = y(e.filter), t = l(e.field), g = e.filterable ? r.toLanguageString(b, N[b]) : void 0;
49
+ let d = t && t.value;
50
+ d === void 0 && (d = i === "text" ? "" : null);
51
+ const f = e.filterable && {
52
+ render: this.props.cellRender,
53
+ field: e.field,
54
+ title: e.filterTitle,
55
+ value: d,
56
+ operator: t && t.operator,
57
+ operators: F(this.props.filterOperators[i] || [], r),
58
+ booleanValues: F(L, r),
59
+ filterType: i,
60
+ ariaLabel: g,
61
+ onChange: (p) => {
62
+ this.setFilter(p.value, p.operator, e.field, p.syntheticEvent);
63
+ }
64
+ }, C = e.declarationIndex >= 0 ? ++s : --n, x = {
65
+ ariaLabel: g,
66
+ ariaColumnIndex: e.ariaColumnIndex
67
+ }, E = e.left !== void 0 ? this.props.isRtl ? { left: e.right, right: e.left } : { left: e.left, right: e.right } : {}, m = {
68
+ columnId: R.getFilterColumnId(e.id),
69
+ navigatable: e.navigatable,
70
+ style: E,
71
+ className: T("k-table-th", this.headerCellClassName(e.field, e.locked) || void 0),
72
+ role: "columnheader",
73
+ ...x
74
+ }, v = f && (e.filterCell ? /* @__PURE__ */ a.createElement(e.filterCell, { ...f }) : /* @__PURE__ */ a.createElement(I, { size: this.props.size, ...f })), c = z(this.props.cells, e.cells);
75
+ if (c && c.filterCell) {
76
+ const p = c.filterCell;
77
+ return /* @__PURE__ */ a.createElement(p, { key: C, ...f, thProps: m, index: s }, v);
78
+ }
79
+ return /* @__PURE__ */ a.createElement(
80
+ w,
81
+ {
82
+ key: C,
83
+ ...m
84
+ },
85
+ v
86
+ );
87
+ }
88
+ );
89
+ return /* @__PURE__ */ a.createElement("tr", { className: A, "aria-rowindex": this.props.ariaRowIndex, role: "row" }, h);
90
+ }
91
+ }
92
+ u(S);
93
+ export {
94
+ A as FILTER_ROW_CLASS,
95
+ S as FilterRow
96
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@progress/kendo-react-common"),l=require("react"),c=require("../columnMenu/GridColumnMenuWrapper.js");function a(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const s=a(l);class i extends s.Component{render(){const{columnMenuWrapperProps:r}=this.props,t=this.props.onClick?{onClick:this.props.onClick}:{},n=s.createElement("span",{className:"k-cell-inner"},s.createElement("span",{className:o.classNames("k-link",{"!k-cursor-default":!this.props.columnMenuWrapperProps.sortable}),...t},s.createElement("span",{className:"k-column-title"},this.props.title||this.props.field||" "),this.props.children),r.columnMenu&&s.createElement(c.GridColumnMenuWrapper,{...r}));return this.props.render?this.props.render.call(void 0,n,this.props):n}}exports.GridHeaderCell=i;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import { classNames as n } from "@progress/kendo-react-common";
10
+ import * as e from "react";
11
+ import { GridColumnMenuWrapper as p } from "../columnMenu/GridColumnMenuWrapper.mjs";
12
+ class c extends e.Component {
13
+ /**
14
+ * @hidden
15
+ */
16
+ render() {
17
+ const { columnMenuWrapperProps: r } = this.props, t = this.props.onClick ? {
18
+ onClick: this.props.onClick
19
+ } : {}, s = /* @__PURE__ */ e.createElement("span", { className: "k-cell-inner" }, /* @__PURE__ */ e.createElement(
20
+ "span",
21
+ {
22
+ className: n(
23
+ "k-link",
24
+ {
25
+ "!k-cursor-default": !this.props.columnMenuWrapperProps.sortable
26
+ }
27
+ ),
28
+ ...t
29
+ },
30
+ /* @__PURE__ */ e.createElement("span", { className: "k-column-title" }, this.props.title || this.props.field || " "),
31
+ this.props.children
32
+ ), r.columnMenu && /* @__PURE__ */ e.createElement(p, { ...r }));
33
+ return this.props.render ? this.props.render.call(void 0, s, this.props) : s;
34
+ }
35
+ }
36
+ export {
37
+ c as GridHeaderCell
38
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),p=require("../columnMenu/GridColumnMenuWrapper.js"),c=require("../messages/index.js"),i=require("@progress/kendo-react-intl"),d=require("@progress/kendo-react-common");function u(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const n=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(r,e,n.get?n:{enumerable:!0,get:()=>t[e]})}}return r.default=t,Object.freeze(r)}const o=u(l);class s extends o.Component{get _inputId(){return this.props.id}render(){const r=i.provideLocalizationService(this),{columnMenuWrapperProps:e}=this.props,n=[o.createElement("span",{key:0,className:"k-checkbox-wrap"},o.createElement("input",{id:this._inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":r.toLanguageString(c.selectRow,c.messages[c.selectRow]),"aria-checked":this.props.selectionValue,checked:this.props.selectionValue,onChange:a=>this.props.selectionChange({field:this.props.field,syntheticEvent:a})})),e.columnMenu&&o.createElement(p.GridColumnMenuWrapper,{...e})];return this.props.render?this.props.render.call(void 0,n,this.props):n}}i.registerForLocalization(s);const h=d.withIdHOC(s);exports.GridHeaderSelectionCell=h;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as e from "react";
10
+ import { GridColumnMenuWrapper as c } from "../columnMenu/GridColumnMenuWrapper.mjs";
11
+ import { selectRow as o, messages as p } from "../messages/index.mjs";
12
+ import { registerForLocalization as a, provideLocalizationService as l } from "@progress/kendo-react-intl";
13
+ import { withIdHOC as d } from "@progress/kendo-react-common";
14
+ class i extends e.Component {
15
+ get _inputId() {
16
+ return this.props.id;
17
+ }
18
+ render() {
19
+ const n = l(this), { columnMenuWrapperProps: r } = this.props, t = [
20
+ /* @__PURE__ */ e.createElement("span", { key: 0, className: "k-checkbox-wrap" }, /* @__PURE__ */ e.createElement(
21
+ "input",
22
+ {
23
+ id: this._inputId,
24
+ type: "checkbox",
25
+ className: "k-checkbox k-checkbox-md k-rounded-md",
26
+ "aria-label": n.toLanguageString(o, p[o]),
27
+ "aria-checked": this.props.selectionValue,
28
+ checked: this.props.selectionValue,
29
+ onChange: (s) => this.props.selectionChange({
30
+ field: this.props.field,
31
+ syntheticEvent: s
32
+ })
33
+ }
34
+ )),
35
+ r.columnMenu && /* @__PURE__ */ e.createElement(c, { ...r })
36
+ ];
37
+ return this.props.render ? this.props.render.call(void 0, t, this.props) : t;
38
+ }
39
+ }
40
+ a(i);
41
+ const g = d(i);
42
+ export {
43
+ g as GridHeaderSelectionCell
44
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),g=require("../drag/GroupingIndicator.js"),l=require("@progress/kendo-react-intl"),s=require("../messages/index.js");function h(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(o,e,r.get?r:{enumerable:!0,get:()=>t[e]})}}return o.default=t,Object.freeze(o)}const i=h(u);class c extends i.Component{constructor(){super(...arguments),this.onGroupRemove=(o,e)=>{const r=this.props.group.slice();r.splice(e,1),this.props.groupChange(r,o)},this.onGroupSortChange=(o,e,r,n)=>{const a=Object.assign({},r,{dir:n}),p=this.props.group.slice();p.splice(e,1,a),this.props.groupChange(p,o)}}render(){const e=(this.props.group||[]).map((r,n)=>i.createElement(g.GroupingIndicator,{key:n,index:n,dir:r.dir||"asc",title:this.props.resolveTitle(r.field),onRemove:a=>{this.onGroupRemove(a,n)},onSortChange:(a,p)=>{this.onGroupSortChange(a,n,r,p)},onPress:this.props.pressHandler,onDrag:this.props.dragHandler,onRelease:this.props.releaseHandler,onContextMenu:this.props.onContextMenu}));return i.createElement("div",{ref:this.props.refCallback,className:"k-grouping-header",role:"toolbar","aria-label":l.provideLocalizationService(this).toLanguageString(s.groupPanelAriaLabel,s.messages[s.groupPanelAriaLabel]),"aria-controls":this.props.ariaControls||""},i.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},e),i.createElement("div",{className:"k-grouping-drop-container"},!e.length&&l.provideLocalizationService(this).toLanguageString(s.groupPanelEmpty,s.messages[s.groupPanelEmpty])," "))}}l.registerForLocalization(c);exports.GroupPanel=c;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as t from "react";
10
+ import { GroupingIndicator as c } from "../drag/GroupingIndicator.mjs";
11
+ import { provideLocalizationService as a, registerForLocalization as u } from "@progress/kendo-react-intl";
12
+ import { groupPanelAriaLabel as i, messages as l, groupPanelEmpty as g } from "../messages/index.mjs";
13
+ class h extends t.Component {
14
+ constructor() {
15
+ super(...arguments), this.onGroupRemove = (p, r) => {
16
+ const o = this.props.group.slice();
17
+ o.splice(r, 1), this.props.groupChange(o, p);
18
+ }, this.onGroupSortChange = (p, r, o, e) => {
19
+ const s = Object.assign({}, o, { dir: e }), n = this.props.group.slice();
20
+ n.splice(r, 1, s), this.props.groupChange(n, p);
21
+ };
22
+ }
23
+ render() {
24
+ const r = (this.props.group || []).map((o, e) => /* @__PURE__ */ t.createElement(
25
+ c,
26
+ {
27
+ key: e,
28
+ index: e,
29
+ dir: o.dir || "asc",
30
+ title: this.props.resolveTitle(o.field),
31
+ onRemove: (s) => {
32
+ this.onGroupRemove(s, e);
33
+ },
34
+ onSortChange: (s, n) => {
35
+ this.onGroupSortChange(s, e, o, n);
36
+ },
37
+ onPress: this.props.pressHandler,
38
+ onDrag: this.props.dragHandler,
39
+ onRelease: this.props.releaseHandler,
40
+ onContextMenu: this.props.onContextMenu
41
+ }
42
+ ));
43
+ return /* @__PURE__ */ t.createElement(
44
+ "div",
45
+ {
46
+ ref: this.props.refCallback,
47
+ className: "k-grouping-header",
48
+ role: "toolbar",
49
+ "aria-label": a(this).toLanguageString(i, l[i]),
50
+ "aria-controls": this.props.ariaControls || ""
51
+ },
52
+ /* @__PURE__ */ t.createElement("div", { className: "k-chip-list k-chip-list-md", role: "none" }, r),
53
+ /* @__PURE__ */ t.createElement("div", { className: "k-grouping-drop-container" }, !r.length && a(this).toLanguageString(g, l[g]), " ")
54
+ );
55
+ }
56
+ }
57
+ u(h);
58
+ export {
59
+ h as GroupPanel
60
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),l=require("@progress/kendo-react-common"),o=require("@progress/kendo-react-data-tools");function n(s){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,a.get?a:{enumerable:!0,get:()=>s[t]})}}return e.default=s,Object.freeze(e)}const r=n(i);class c extends r.Component{constructor(){super(...arguments),this.headerWrap=null,this.table=null,this.syncScroll=!1,this.scrollbarWidth=l.getScrollbarWidth(),this.onScroll=e=>{if(this.syncScroll){this.syncScroll=!1;return}if(!this.headerWrap)return;const t=this.headerWrap.scrollLeft,a=this.props.scrollableDataElement();a&&a.scrollLeft!==t&&(a.scrollLeft=t)}}get element(){return this.props.elemRef.current}componentDidMount(){const e=o.isRtl(this.element);this.props.columnResize&&this.props.columnResize.setIsRtl(e),this.forceUpdate()}setScrollLeft(e){this.headerWrap&&this.headerWrap.scrollLeft!==e&&(this.syncScroll=!0,this.headerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?r.createElement("div",{ref:this.props.elemRef,className:l.classNames("k-grid-header",{"k-grid-draggable-header":this.props.draggable}),role:"presentation"},r.createElement("div",{ref:e=>{this.headerWrap=e},className:"k-grid-header-wrap",style:this.scrollbarWidth?{}:{borderWidth:0},onScroll:this.onScroll,role:"presentation"},r.createElement("table",{ref:e=>{this.table=e},className:l.classNames("k-table k-grid-header-table",{"k-table-md":!this.props.size,[`k-table-${l.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},r.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupHeader=e}},this.props.cols),r.createElement("thead",{className:"k-table-thead",role:"rowgroup",...o.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)))):r.createElement("thead",{role:"presentation",className:l.classNames("k-table-thead",{"k-grid-draggable-header":this.props.draggable}),...o.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}}exports.Header=c;
@@ -0,0 +1,107 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as t from "react";
10
+ import { getScrollbarWidth as o, classNames as s, kendoThemeMaps as i } from "@progress/kendo-react-common";
11
+ import { isRtl as h, tableKeyboardNavigationHeaderAttributes as a } from "@progress/kendo-react-data-tools";
12
+ class d extends t.Component {
13
+ constructor() {
14
+ super(...arguments), this.headerWrap = null, this.table = null, this.syncScroll = !1, this.scrollbarWidth = o(), this.onScroll = (e) => {
15
+ if (this.syncScroll) {
16
+ this.syncScroll = !1;
17
+ return;
18
+ }
19
+ if (!this.headerWrap)
20
+ return;
21
+ const l = this.headerWrap.scrollLeft, r = this.props.scrollableDataElement();
22
+ r && r.scrollLeft !== l && (r.scrollLeft = l);
23
+ };
24
+ }
25
+ get element() {
26
+ return this.props.elemRef.current;
27
+ }
28
+ componentDidMount() {
29
+ const e = h(this.element);
30
+ this.props.columnResize && this.props.columnResize.setIsRtl(e), this.forceUpdate();
31
+ }
32
+ /**
33
+ *
34
+ * @param scrollLeft - Scrolls to the left (in pixels).
35
+ */
36
+ setScrollLeft(e) {
37
+ this.headerWrap && this.headerWrap.scrollLeft !== e && (this.syncScroll = !0, this.headerWrap.scrollLeft = e);
38
+ }
39
+ /**
40
+ *
41
+ * @param width - Scrolls the width (in pixels).
42
+ */
43
+ setWidth(e) {
44
+ this.table && (this.table.style.width = e + "px");
45
+ }
46
+ render() {
47
+ return this.props.staticHeaders ? /* @__PURE__ */ t.createElement(
48
+ "div",
49
+ {
50
+ ref: this.props.elemRef,
51
+ className: s(
52
+ "k-grid-header",
53
+ { "k-grid-draggable-header": this.props.draggable }
54
+ ),
55
+ role: "presentation"
56
+ },
57
+ /* @__PURE__ */ t.createElement(
58
+ "div",
59
+ {
60
+ ref: (e) => {
61
+ this.headerWrap = e;
62
+ },
63
+ className: "k-grid-header-wrap",
64
+ style: this.scrollbarWidth ? {} : { borderWidth: 0 },
65
+ onScroll: this.onScroll,
66
+ role: "presentation"
67
+ },
68
+ /* @__PURE__ */ t.createElement(
69
+ "table",
70
+ {
71
+ ref: (e) => {
72
+ this.table = e;
73
+ },
74
+ className: s(
75
+ "k-table k-grid-header-table",
76
+ {
77
+ "k-table-md": !this.props.size,
78
+ [`k-table-${i.sizeMap[this.props.size] || this.props.size}`]: this.props.size
79
+ },
80
+ this.props.className
81
+ ),
82
+ role: "presentation"
83
+ },
84
+ /* @__PURE__ */ t.createElement("colgroup", { ref: (e) => {
85
+ this.props.columnResize.colGroupHeader = e;
86
+ } }, this.props.cols),
87
+ /* @__PURE__ */ t.createElement("thead", { className: "k-table-thead", role: "rowgroup", ...a }, this.props.headerRow, this.props.filterRow)
88
+ )
89
+ )
90
+ ) : /* @__PURE__ */ t.createElement(
91
+ "thead",
92
+ {
93
+ role: "presentation",
94
+ className: s(
95
+ "k-table-thead",
96
+ { "k-grid-draggable-header": this.props.draggable }
97
+ ),
98
+ ...a
99
+ },
100
+ this.props.headerRow,
101
+ this.props.filterRow
102
+ );
103
+ }
104
+ }
105
+ export {
106
+ d as Header
107
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("react"),q=require("../interfaces/GridSortSettings.js"),E=require("../drag/ColumnDraggable.js"),M=require("./GridHeaderCell.js"),u=require("@progress/kendo-react-common"),C=require("@progress/kendo-react-data-tools"),b=require("@progress/kendo-react-intl"),f=require("../messages/index.js"),k=require("@progress/kendo-svg-icons"),N=require("../utils/index.js");function O(n){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const l=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(s,r,l.get?l:{enumerable:!0,get:()=>n[r]})}}return s.default=n,Object.freeze(s)}const o=O(I),L={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},P={none:"none",asc:"ascending",desc:"descending"};class R extends o.Component{constructor(s){super(s),this.serviceIndex=0,this.index=-1,this.cellKeyDown=(r,l)=>{r.isDefaultPrevented()||r.keyCode===u.Keys.enter&&this.cellClick(r,l)},this.cells=r=>r.map(l=>{const e=this.props.columns[l],i=this.props.sortable&&e.sortable,a=this.props.sort?this.props.sort.findIndex(t=>t.field===e.field):-1,p=a>=0&&this.props.sort[a].dir||"none",c=e.columnMenu===null?null:e.columnMenu||this.props.columnMenu,S=u.classNames({"k-first":e.kFirst,"k-filterable":!!c,"k-table-th":!0,"k-header":!0,"k-grid-header-sticky":e.locked,"k-sorted":this.props.sort&&this.props.sort.some(t=>t.field===e.field)},e.headerClassName);e.locked===!1&&(e.left=0);const y=e.left!==void 0?this.props.isRtl?{left:e.right,right:e.left}:{left:e.left,right:e.right}:{},D=b.provideLocalizationService(this).toLanguageString(f.sortAriaLabel,f.messages[f.sortAriaLabel]),H=e.isAccessible?{ariaSort:P[p],role:"columnheader",ariaColumnIndex:e.ariaColumnIndex,ariaSelected:!1,ariaDescription:i?D:""}:{role:"presentation"},d=e.declarationIndex>=0?++this.index:--this.serviceIndex,v=e.headerCell?e.headerCell:M.GridHeaderCell,z=o.createElement(v,{key:1,field:e.field,onClick:i&&(t=>this.cellClick(t,e))||void 0,selectionChange:this.props.selectionChange,title:e.title,selectionValue:e.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(a),columnMenuWrapperProps:{column:{field:e.field,title:e.title,locked:e.locked,filter:e.filter,id:e.id},sortable:i&&this.props.sortable,sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.filter,filterable:this.props.filterable&&e.filterable,filterOperators:this.props.filterOperators,onFilterChange:this.props.filterChange,group:this.props.group,groupable:this.props.groupable,onGroupChange:this.props.groupChange,columnMenu:c}}),m={...H,key:d,colSpan:e.colSpan,rowSpan:e.rowSpan,className:S,style:y,columnId:e.id,navigatable:e.navigatable,onKeyDown:i&&(t=>this.cellKeyDown(t,e))||void 0,role:"columnheader"},g=[z,this.props.columnResize&&this.props.columnResize.resizable&&e.resizable&&o.createElement(C.ColumnResizer,{key:2,resize:(t,w,x)=>this.props.columnResize&&this.props.columnResize.dragHandler(t,e,w,x),autofit:t=>this.props.columnResize&&this.props.columnResize.dblClickHandler(t,[e.id])})],h=N.resolveCells(this.props.cells,e.cells);if(h&&h.headerCell){const t=h.headerCell;return o.createElement(t,{key:d,thProps:m,index:l},g)}return o.createElement(C.HeaderThElement,{...m,key:d},g)}),this.cellClick=this.cellClick.bind(this)}cellClick(s,r){if(s.preventDefault(),!this.props.sortChange)return;const{allowUnsort:l,mode:e}=q.normalize(this.props.sortable||!1,r.sortable||!1),i=(this.props.sort||[]).filter(c=>c.field===r.field)[0],a=L[l][i&&i.dir||""],p=e==="single"?[]:(this.props.sort||[]).filter(c=>c.field!==r.field);a!==""&&r.field&&p.push({field:r.field,dir:a}),this.props.sortChange(p,s)}sortIcon(s){return this.props.sort?s>=0&&[o.createElement("span",{key:1,className:"k-sort-icon"},o.createElement(u.IconWrap,{name:"sort-"+this.props.sort[s].dir+"-small",icon:this.props.sort[s].dir==="asc"?k.sortAscSmallIcon:k.sortDescSmallIcon})),this.props.sort.length>1&&o.createElement("span",{key:2,className:"k-sort-icon"},o.createElement("span",{className:"k-sort-order"},s+1))]:null}render(){return this.serviceIndex=0,this.index=-1,this.props.columnsMap.map((s,r)=>this.props.pressHandler&&o.createElement(E.ColumnDraggable,{key:r,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:r+1,dragClue:this.props.dragClue,headerRef:this.props.headerRef,containerRef:this.props.containerRef},this.cells(s))||o.createElement("tr",{key:r,className:"k-table-row",role:"row","aria-rowindex":r+1},this.cells(s)))}}b.registerForLocalization(R);exports.HeaderRow=R;
@@ -0,0 +1,155 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as o from "react";
10
+ import { normalize as z } from "../interfaces/GridSortSettings.mjs";
11
+ import { ColumnDraggable as H } from "../drag/ColumnDraggable.mjs";
12
+ import { GridHeaderCell as v } from "./GridHeaderCell.mjs";
13
+ import { Keys as w, classNames as x, IconWrap as D } from "@progress/kendo-react-common";
14
+ import { ColumnResizer as E, HeaderThElement as I } from "@progress/kendo-react-data-tools";
15
+ import { provideLocalizationService as M, registerForLocalization as N } from "@progress/kendo-react-intl";
16
+ import { sortAriaLabel as f, messages as L } from "../messages/index.mjs";
17
+ import { sortAscSmallIcon as A, sortDescSmallIcon as K } from "@progress/kendo-svg-icons";
18
+ import { resolveCells as F } from "../utils/index.mjs";
19
+ const P = {
20
+ true: { asc: "desc", desc: "", "": "asc" },
21
+ false: { asc: "desc", desc: "asc", "": "asc" }
22
+ }, G = {
23
+ none: "none",
24
+ asc: "ascending",
25
+ desc: "descending"
26
+ };
27
+ class O extends o.Component {
28
+ constructor(t) {
29
+ super(t), this.serviceIndex = 0, this.index = -1, this.cellKeyDown = (s, i) => {
30
+ s.isDefaultPrevented() || s.keyCode === w.enter && this.cellClick(s, i);
31
+ }, this.cells = (s) => s.map((i) => {
32
+ const e = this.props.columns[i], l = this.props.sortable && e.sortable, a = this.props.sort ? this.props.sort.findIndex((r) => r.field === e.field) : -1, p = a >= 0 && this.props.sort[a].dir || "none", n = e.columnMenu === null ? null : e.columnMenu || this.props.columnMenu, u = x({
33
+ "k-first": e.kFirst,
34
+ "k-filterable": !!n,
35
+ "k-table-th": !0,
36
+ "k-header": !0,
37
+ "k-grid-header-sticky": e.locked,
38
+ "k-sorted": this.props.sort && this.props.sort.some((r) => r.field === e.field)
39
+ }, e.headerClassName);
40
+ e.locked === !1 && (e.left = 0);
41
+ const g = e.left !== void 0 ? this.props.isRtl ? { left: e.right, right: e.left } : { left: e.left, right: e.right } : {}, C = M(this).toLanguageString(f, L[f]), k = e.isAccessible ? {
42
+ ariaSort: G[p],
43
+ role: "columnheader",
44
+ ariaColumnIndex: e.ariaColumnIndex,
45
+ ariaSelected: !1,
46
+ ariaDescription: l ? C : ""
47
+ } : {
48
+ role: "presentation"
49
+ }, c = e.declarationIndex >= 0 ? ++this.index : --this.serviceIndex, b = e.headerCell ? e.headerCell : v, R = /* @__PURE__ */ o.createElement(
50
+ b,
51
+ {
52
+ key: 1,
53
+ field: e.field,
54
+ onClick: l && ((r) => this.cellClick(r, e)) || void 0,
55
+ selectionChange: this.props.selectionChange,
56
+ title: e.title,
57
+ selectionValue: e.headerSelectionValue,
58
+ render: this.props.cellRender,
59
+ children: this.sortIcon(a),
60
+ columnMenuWrapperProps: {
61
+ column: {
62
+ field: e.field,
63
+ title: e.title,
64
+ locked: e.locked,
65
+ filter: e.filter,
66
+ id: e.id
67
+ },
68
+ sortable: l && this.props.sortable,
69
+ sort: this.props.sort,
70
+ onSortChange: this.props.sortChange,
71
+ filter: this.props.filter,
72
+ filterable: this.props.filterable && e.filterable,
73
+ filterOperators: this.props.filterOperators,
74
+ onFilterChange: this.props.filterChange,
75
+ group: this.props.group,
76
+ groupable: this.props.groupable,
77
+ onGroupChange: this.props.groupChange,
78
+ columnMenu: n
79
+ }
80
+ }
81
+ ), h = {
82
+ ...k,
83
+ key: c,
84
+ colSpan: e.colSpan,
85
+ rowSpan: e.rowSpan,
86
+ className: u,
87
+ style: g,
88
+ columnId: e.id,
89
+ navigatable: e.navigatable,
90
+ onKeyDown: l && ((r) => this.cellKeyDown(r, e)) || void 0,
91
+ role: "columnheader"
92
+ }, m = [
93
+ R,
94
+ this.props.columnResize && this.props.columnResize.resizable && e.resizable && /* @__PURE__ */ o.createElement(
95
+ E,
96
+ {
97
+ key: 2,
98
+ resize: (r, y, S) => this.props.columnResize && this.props.columnResize.dragHandler(r, e, y, S),
99
+ autofit: (r) => this.props.columnResize && this.props.columnResize.dblClickHandler(r, [e.id])
100
+ }
101
+ )
102
+ ], d = F(this.props.cells, e.cells);
103
+ if (d && d.headerCell) {
104
+ const r = d.headerCell;
105
+ return /* @__PURE__ */ o.createElement(r, { key: c, thProps: h, index: i }, m);
106
+ }
107
+ return /* @__PURE__ */ o.createElement(
108
+ I,
109
+ {
110
+ ...h,
111
+ key: c
112
+ },
113
+ m
114
+ );
115
+ }), this.cellClick = this.cellClick.bind(this);
116
+ }
117
+ cellClick(t, s) {
118
+ if (t.preventDefault(), !this.props.sortChange)
119
+ return;
120
+ const { allowUnsort: i, mode: e } = z(this.props.sortable || !1, s.sortable || !1), l = (this.props.sort || []).filter((n) => n.field === s.field)[0], a = P[i][l && l.dir || ""], p = e === "single" ? [] : (this.props.sort || []).filter((n) => n.field !== s.field);
121
+ a !== "" && s.field && p.push({ field: s.field, dir: a }), this.props.sortChange(p, t);
122
+ }
123
+ sortIcon(t) {
124
+ return this.props.sort ? t >= 0 && [
125
+ /* @__PURE__ */ o.createElement("span", { key: 1, className: "k-sort-icon" }, /* @__PURE__ */ o.createElement(
126
+ D,
127
+ {
128
+ name: "sort-" + this.props.sort[t].dir + "-small",
129
+ icon: this.props.sort[t].dir === "asc" ? A : K
130
+ }
131
+ )),
132
+ this.props.sort.length > 1 && /* @__PURE__ */ o.createElement("span", { key: 2, className: "k-sort-icon" }, /* @__PURE__ */ o.createElement("span", { className: "k-sort-order" }, t + 1))
133
+ ] : null;
134
+ }
135
+ render() {
136
+ return this.serviceIndex = 0, this.index = -1, this.props.columnsMap.map((t, s) => this.props.pressHandler && /* @__PURE__ */ o.createElement(
137
+ H,
138
+ {
139
+ key: s,
140
+ pressHandler: this.props.pressHandler,
141
+ dragHandler: this.props.dragHandler,
142
+ releaseHandler: this.props.releaseHandler,
143
+ ariaRowIndex: s + 1,
144
+ dragClue: this.props.dragClue,
145
+ headerRef: this.props.headerRef,
146
+ containerRef: this.props.containerRef
147
+ },
148
+ this.cells(t)
149
+ ) || /* @__PURE__ */ o.createElement("tr", { key: s, className: "k-table-row", role: "row", "aria-rowindex": s + 1 }, this.cells(t)));
150
+ }
151
+ }
152
+ N(O);
153
+ export {
154
+ O as HeaderRow
155
+ };