@progress/kendo-react-grid 9.3.1 → 9.4.0-develop.10

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 (194) hide show
  1. package/Grid.js +1 -1
  2. package/Grid.mjs +80 -1043
  3. package/GridClientContextReader.js +9 -0
  4. package/GridClientContextReader.mjs +31 -0
  5. package/GridClientWrapper.js +9 -0
  6. package/GridClientWrapper.mjs +793 -0
  7. package/GridColumn.js +1 -1
  8. package/GridColumn.mjs +4 -5
  9. package/GridComponent.js +8 -0
  10. package/GridComponent.mjs +594 -0
  11. package/GridSearchBox.js +8 -0
  12. package/GridSearchBox.mjs +35 -0
  13. package/GridState.js +9 -0
  14. package/GridState.mjs +99 -0
  15. package/GridToolbar.js +1 -1
  16. package/GridToolbar.mjs +5 -6
  17. package/GridWatermarkOverlay.js +9 -0
  18. package/{GridNoRecords.js → GridWatermarkOverlay.mjs} +8 -1
  19. package/StatusBar.js +1 -1
  20. package/StatusBar.mjs +24 -25
  21. package/VirtualScroll.js +1 -1
  22. package/VirtualScroll.mjs +0 -1
  23. package/VirtualScrollFixed.js +1 -1
  24. package/VirtualScrollFixed.mjs +9 -10
  25. package/cells/GridCell.js +1 -1
  26. package/cells/GridCell.mjs +22 -34
  27. package/cells/GridDetailCell.js +1 -1
  28. package/cells/GridDetailCell.mjs +12 -20
  29. package/cells/GridDetailHierarchyCell.js +1 -1
  30. package/cells/GridDetailHierarchyCell.mjs +6 -7
  31. package/cells/GridEditCell.js +1 -1
  32. package/cells/GridEditCell.mjs +22 -131
  33. package/cells/GridFilterCell.js +2 -1
  34. package/cells/GridGroupCell.js +1 -1
  35. package/cells/GridGroupCell.mjs +60 -96
  36. package/cells/GridHierarchyCell.js +1 -1
  37. package/cells/GridHierarchyCell.mjs +22 -62
  38. package/cells/GridRowReorderCell.js +8 -0
  39. package/cells/GridRowReorderCell.mjs +41 -0
  40. package/cells/GridSelectionCell.js +1 -1
  41. package/cells/GridSelectionCell.mjs +18 -37
  42. package/cells/client/DetailCellContainer.js +9 -0
  43. package/cells/client/DetailCellContainer.mjs +26 -0
  44. package/cells/client/GridCellContainer.js +9 -0
  45. package/cells/client/GridCellContainer.mjs +68 -0
  46. package/cells/client/GridEditCellContainer.js +9 -0
  47. package/cells/client/GridEditCellContainer.mjs +60 -0
  48. package/cells/client/GridEditCellEditor.js +9 -0
  49. package/cells/client/GridEditCellEditor.mjs +81 -0
  50. package/cells/client/GridGroupCellContainer.js +9 -0
  51. package/cells/client/GridGroupCellContainer.mjs +87 -0
  52. package/cells/client/GridGroupCellToggle.js +9 -0
  53. package/cells/client/GridGroupCellToggle.mjs +52 -0
  54. package/cells/client/GridHierarchyCellContainer.js +9 -0
  55. package/cells/client/GridHierarchyCellContainer.mjs +63 -0
  56. package/cells/client/GridHierarchyCellToggle.js +9 -0
  57. package/cells/client/GridHierarchyCellToggle.mjs +43 -0
  58. package/cells/client/GridRowReorderContainer.js +9 -0
  59. package/cells/client/GridRowReorderContainer.mjs +24 -0
  60. package/cells/client/GridSelectionCellContainer.js +9 -0
  61. package/cells/client/GridSelectionCellContainer.mjs +60 -0
  62. package/cells/client/GridSelectionCellInput.js +9 -0
  63. package/cells/client/GridSelectionCellInput.mjs +43 -0
  64. package/codemods/index.js +8 -0
  65. package/columnMenu/GridColumnMenuCheckboxFilter.js +2 -1
  66. package/columnMenu/GridColumnMenuColumnsList.js +2 -1
  67. package/columnMenu/GridColumnMenuColumnsList.mjs +16 -16
  68. package/columnMenu/GridColumnMenuFilter.js +2 -1
  69. package/columnMenu/GridColumnMenuFilterCell.js +2 -1
  70. package/columnMenu/GridColumnMenuFilterCell.mjs +3 -3
  71. package/columnMenu/GridColumnMenuFilterUI.js +2 -1
  72. package/columnMenu/GridColumnMenuGroup.js +2 -1
  73. package/columnMenu/GridColumnMenuGroup.mjs +5 -5
  74. package/columnMenu/GridColumnMenuItem.js +2 -1
  75. package/columnMenu/GridColumnMenuItem.mjs +2 -2
  76. package/columnMenu/GridColumnMenuItemContent.js +2 -1
  77. package/columnMenu/GridColumnMenuItemContent.mjs +4 -4
  78. package/columnMenu/GridColumnMenuItemGroup.js +2 -1
  79. package/columnMenu/GridColumnMenuItemGroup.mjs +4 -4
  80. package/columnMenu/GridColumnMenuSort.js +2 -1
  81. package/columnMenu/GridColumnMenuSort.mjs +26 -37
  82. package/columnMenu/GridColumnMenuWrapper.js +2 -1
  83. package/components/GridContainerElementContainer.js +9 -0
  84. package/components/GridContainerElementContainer.mjs +21 -0
  85. package/components/GridCustomCellClientContainer.js +9 -0
  86. package/components/GridCustomCellClientContainer.mjs +28 -0
  87. package/components/GridDragClue.js +9 -0
  88. package/components/GridDragClue.mjs +18 -0
  89. package/components/GridDraggableRowsContainer.js +9 -0
  90. package/components/GridDraggableRowsContainer.mjs +127 -0
  91. package/components/GridDropClue.js +9 -0
  92. package/components/GridDropClue.mjs +18 -0
  93. package/components/GridElementContainer.js +9 -0
  94. package/components/GridElementContainer.mjs +22 -0
  95. package/components/GridLoader.js +9 -0
  96. package/components/GridLoader.mjs +22 -0
  97. package/components/PagerContainer.js +9 -0
  98. package/components/PagerContainer.mjs +23 -0
  99. package/components/VirtualScrollHeightContainer.js +9 -0
  100. package/components/VirtualScrollHeightContainer.mjs +17 -0
  101. package/components/colGroup/GridColGroup.js +9 -0
  102. package/components/colGroup/GridColGroup.mjs +25 -0
  103. package/components/icons/reorder-row-svg.js +9 -0
  104. package/components/icons/reorder-row-svg.mjs +14 -0
  105. package/components/noRecords/GridNoRecords.js +9 -0
  106. package/{GridNoRecords.mjs → components/noRecords/GridNoRecords.mjs} +6 -6
  107. package/components/noRecords/GridNoRecordsContainer.js +9 -0
  108. package/components/noRecords/GridNoRecordsContainer.mjs +30 -0
  109. package/components/table/GridTable.js +9 -0
  110. package/components/table/GridTable.mjs +28 -0
  111. package/components/table/GridTableBody.js +9 -0
  112. package/components/table/GridTableBody.mjs +21 -0
  113. package/components/table/GridTableScrollable.js +9 -0
  114. package/components/table/GridTableScrollable.mjs +37 -0
  115. package/components/utils.js +8 -0
  116. package/components/utils.mjs +25 -0
  117. package/constants/index.js +1 -1
  118. package/constants/index.mjs +0 -1
  119. package/contextMenu/GridContextMenu.js +9 -0
  120. package/contextMenu/GridContextMenu.mjs +191 -0
  121. package/contextMenu/enums.js +8 -0
  122. package/contextMenu/enums.mjs +12 -0
  123. package/dist/cdn/js/kendo-react-grid.js +8 -1
  124. package/drag/ColumnDraggable.js +2 -1
  125. package/drag/ColumnDraggable.mjs +7 -7
  126. package/drag/ColumnResize.js +1 -1
  127. package/drag/ColumnResize.mjs +0 -1
  128. package/drag/CommonDragLogic.js +1 -1
  129. package/drag/CommonDragLogic.mjs +0 -1
  130. package/drag/GroupingIndicator.js +2 -1
  131. package/drag/GroupingIndicator.mjs +11 -11
  132. package/filterCommon.js +1 -1
  133. package/filterCommon.mjs +4 -5
  134. package/footer/Footer.js +2 -1
  135. package/footer/Footer.mjs +22 -21
  136. package/footer/FooterCell.js +8 -0
  137. package/footer/FooterCell.mjs +42 -0
  138. package/footer/FooterRow.js +1 -1
  139. package/footer/FooterRow.mjs +10 -40
  140. package/footer/client/FooterCellContainer.js +9 -0
  141. package/footer/client/FooterCellContainer.mjs +26 -0
  142. package/header/FilterRow.js +1 -1
  143. package/header/FilterRow.mjs +57 -55
  144. package/header/GridHeaderCell.js +2 -1
  145. package/header/GridHeaderCell.mjs +11 -11
  146. package/header/GridHeaderSelectionCell.js +2 -1
  147. package/header/GridHeaderSelectionCell.mjs +10 -9
  148. package/header/GroupPanel.js +2 -1
  149. package/header/GroupPanel.mjs +36 -32
  150. package/header/Header.js +2 -1
  151. package/header/Header.mjs +35 -33
  152. package/header/HeaderRow.js +1 -1
  153. package/header/HeaderRow.mjs +96 -126
  154. package/header/client/GridFilterCellContainer.js +9 -0
  155. package/header/client/GridFilterCellContainer.mjs +38 -0
  156. package/header/client/GridFilterCellElementContainer.js +9 -0
  157. package/header/client/GridFilterCellElementContainer.mjs +21 -0
  158. package/header/client/GridHeaderCellContainer.js +9 -0
  159. package/header/client/GridHeaderCellContainer.mjs +54 -0
  160. package/header/client/GridHeaderCellElementContainer.js +9 -0
  161. package/header/client/GridHeaderCellElementContainer.mjs +28 -0
  162. package/header/client/GridHeaderRowContainer.js +9 -0
  163. package/header/client/GridHeaderRowContainer.mjs +35 -0
  164. package/header/client/GridHeaderRowReorderCell.js +9 -0
  165. package/header/client/GridHeaderRowReorderCell.mjs +13 -0
  166. package/header/client/HeaderCellResizer.js +9 -0
  167. package/header/client/HeaderCellResizer.mjs +25 -0
  168. package/header/client/HeaderRowDraggable.js +9 -0
  169. package/header/client/HeaderRowDraggable.mjs +30 -0
  170. package/index.d.mts +601 -25
  171. package/index.d.ts +601 -25
  172. package/index.js +1 -1
  173. package/index.mjs +46 -39
  174. package/messages/index.js +1 -1
  175. package/messages/index.mjs +76 -81
  176. package/messages/messagesMap.js +8 -0
  177. package/messages/messagesMap.mjs +18 -0
  178. package/package-metadata.js +1 -1
  179. package/package-metadata.mjs +2 -3
  180. package/package.json +27 -11
  181. package/paging/GridPagerSettings.js +1 -1
  182. package/paging/GridPagerSettings.mjs +6 -7
  183. package/rows/GridDetailRow.js +1 -1
  184. package/rows/GridDetailRow.mjs +2 -3
  185. package/rows/GridRow.js +2 -1
  186. package/rows/GridRow.mjs +42 -20
  187. package/sortCommon.js +8 -0
  188. package/sortCommon.mjs +27 -0
  189. package/{interfaces/GridSortSettings.js → utils/_clientModule.js} +2 -1
  190. package/{interfaces/GridSortSettings.mjs → utils/_clientModule.mjs} +3 -2
  191. package/utils/_serverModule.js +8 -0
  192. package/utils/_serverModule.mjs +12 -0
  193. package/utils/index.js +1 -1
  194. package/utils/index.mjs +213 -102
@@ -5,80 +5,82 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";
9
- import * as s from "react";
10
- import { useLocalization as L } from "@progress/kendo-react-intl";
11
- import { GridFilterCell as y } from "../cells/GridFilterCell.mjs";
12
- import { getFilterType as R, operatorMap as v, booleanFilterValues as w } from "../filterCommon.mjs";
13
- import { tableKeyboardNavigationTools as T, HeaderTdElement as N } from "@progress/kendo-react-data-tools";
14
- import { filterAriaLabel as F, messages as z } from "../messages/index.mjs";
8
+ import * as i from "react";
9
+ import { GridFilterCell as R } from "../cells/GridFilterCell.mjs";
10
+ import { getFilterType as h, operatorMap as b, booleanFilterValues as w } from "../filterCommon.mjs";
11
+ import { tableKeyboardNavigationTools as z, HeaderTdElement as N } from "@progress/kendo-react-data-tools";
12
+ import { filterAriaLabel as u, messages as P } from "../messages/index.mjs";
15
13
  import { classNames as A } from "@progress/kendo-react-common";
16
- import { resolveCells as S } from "../utils/index.mjs";
17
- const $ = "k-table-row k-filter-row", M = (t) => {
18
- const d = L(), b = (e, r) => {
14
+ import { clientColumn as G, isClientReference as F, resolveCells as S } from "../utils/index.mjs";
15
+ import { GridFilterCellContainer as E } from "./client/GridFilterCellContainer.mjs";
16
+ import { GridFilterCellElementContainer as $ } from "./client/GridFilterCellElementContainer.mjs";
17
+ const O = "k-table-row k-filter-row", B = (t) => {
18
+ const x = (e, r) => {
19
19
  let l = `${r ? "k-grid-header-sticky" : ""}`;
20
- return t.sort && t.sort.filter((a) => a.field === e).length > 0 && (l += " k-sorted"), l;
21
- }, x = (e, r, l, a) => {
22
- if (!t.filterChange)
23
- return;
24
- const i = [];
25
- (e !== "" && e !== null || r !== "") && i.push({
26
- field: l,
27
- operator: r,
28
- value: e
29
- }), t.filter && t.filter.filters && (t.filter.filters || []).forEach((g) => {
30
- const n = g;
31
- n && n.field !== l && i.push(n);
32
- });
33
- const o = t.filter && t.filter.logic ? t.filter.logic : "and";
34
- t.filterChange(i.length > 0 ? { logic: o, filters: i } : null, a);
35
- }, E = t.filter && t.filter.filters || [], k = (e) => {
20
+ return t.sort && t.sort.filter((o) => o.field === e).length > 0 && (l += " k-sorted"), l;
21
+ }, T = t.filter && t.filter.filters || [], k = (e) => {
36
22
  if (e === void 0)
37
23
  return;
38
- const r = E.filter(
24
+ const r = T.filter(
39
25
  (l) => l.field === e
40
26
  );
41
27
  return r.length ? r[0] : void 0;
42
28
  };
43
- let u = 0, h = -1;
29
+ let y = 0, m = -1;
44
30
  const I = t.columns.filter((e) => e.children.length === 0).map((e) => {
45
- const r = R(e.filter), l = k(e.field), a = `${e.field} ${d.toLanguageString(
46
- F,
47
- z[F]
31
+ const r = h(e.filter), l = k(e.field), o = `${e.field} ${t.localization.toLanguageString(
32
+ u,
33
+ P[u]
48
34
  )}`;
49
- let i = l && l.value;
50
- i === void 0 && (i = r === "text" ? "" : null);
51
- const o = e.filterable && {
52
- render: t.cellRender,
35
+ let n = l && l.value;
36
+ n === void 0 && (n = r === "text" ? "" : null);
37
+ const s = e.filterable && {
53
38
  field: e.field,
54
39
  title: e.filterTitle,
55
- value: i,
40
+ value: n,
56
41
  operator: l && l.operator,
57
- operators: v(t.filterOperators[r] || [], d),
58
- booleanValues: v(w, d),
42
+ operators: b(t.filterOperators[r] || [], t.localization),
43
+ booleanValues: b(w, t.localization),
59
44
  filterType: r,
60
- ariaLabel: a,
61
- onChange: (f) => {
62
- x(f.value, f.operator, e.field, f.syntheticEvent);
63
- }
64
- }, c = e.declarationIndex >= 0 ? ++h : --u, g = e.left !== void 0 ? t.isRtl ? { left: e.right, right: e.left } : { left: e.left, right: e.right } : {}, n = {
65
- columnId: T.getFilterColumnId(e.id),
45
+ ariaLabel: e.columnType === "reorder" ? "" : o,
46
+ size: t.size
47
+ }, d = e.declarationIndex >= 0 ? ++m : --y, C = {
48
+ columnId: z.getFilterColumnId(e.id),
66
49
  navigatable: e.navigatable || t.navigatable,
67
- style: g,
68
- className: A("k-table-td", b(e.field, e.locked) || void 0),
50
+ className: A("k-table-td", x(e.field, e.locked) || void 0),
69
51
  role: "gridcell",
70
- ariaLabel: a,
52
+ ariaLabel: e.columnType === "reorder" ? void 0 : o,
71
53
  ariaColumnIndex: e.ariaColumnIndex
72
- }, m = o && (e.filterCell ? /* @__PURE__ */ s.createElement(e.filterCell, { ...o }) : /* @__PURE__ */ s.createElement(y, { size: t.size, ...o })), C = S(t.cells, e.cells);
73
- if (C && C.filterCell) {
74
- const f = C.filterCell;
75
- return /* @__PURE__ */ s.createElement(f, { key: c, ...o, tdProps: n, index: h }, m);
54
+ }, g = G(e), v = {
55
+ column: g,
56
+ filter: t.filter,
57
+ field: e.field,
58
+ render: t.cellRender
59
+ };
60
+ let f = null;
61
+ if (s && e.columnType !== "reorder") {
62
+ const a = e.filterCell ? e.filterCell : R;
63
+ f = /* @__PURE__ */ i.createElement(E, { ...v, isClient: F(a) }, /* @__PURE__ */ i.createElement(a, { ...s }));
64
+ }
65
+ const c = S(t.cells, e.cells);
66
+ if (c && c.filterCell) {
67
+ const a = c.filterCell, L = F(a);
68
+ return /* @__PURE__ */ i.createElement(
69
+ E,
70
+ {
71
+ key: d,
72
+ ...v,
73
+ isClient: L,
74
+ isCustom: !0
75
+ },
76
+ /* @__PURE__ */ i.createElement(a, { key: d, ...s, tdProps: C, index: m }, f)
77
+ );
76
78
  }
77
- return /* @__PURE__ */ s.createElement(N, { key: c, ...n }, m);
79
+ return /* @__PURE__ */ i.createElement($, { key: d, column: g }, /* @__PURE__ */ i.createElement(N, { ...C }, f));
78
80
  });
79
- return /* @__PURE__ */ s.createElement("tr", { className: $, "aria-rowindex": t.ariaRowIndex, role: "row" }, I);
81
+ return /* @__PURE__ */ i.createElement("tr", { className: O, "aria-rowindex": t.ariaRowIndex, role: "row" }, I);
80
82
  };
81
83
  export {
82
- $ as FILTER_ROW_CLASS,
83
- M as FilterRow
84
+ O as FILTER_ROW_CLASS,
85
+ B as FilterRow
84
86
  };
@@ -5,4 +5,5 @@
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 l=require("@progress/kendo-react-common"),u=require("react"),i=require("../columnMenu/GridColumnMenuWrapper.js");function o(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const c=o(u),d=e=>{const t=l.useUnstyled(),n=t&&t.uGrid?t.uGrid:l.uGrid,{columnMenuWrapperProps:r}=e,s=e.onClick?{onClick:e.onClick}:{},a=c.createElement("span",{className:l.classNames(n.headerCellInner({}))},c.createElement("span",{className:l.classNames(n.headerCellLink({sortable:e.columnMenuWrapperProps.sortable})),...s},c.createElement("span",{className:l.classNames(n.columnTitle({}))},e.title||e.field||" "),e.children),r.columnMenu&&c.createElement(i.GridColumnMenuWrapper,{...r}));return e.render?e.render.call(void 0,a,e):a};exports.GridHeaderCell=d;
8
+ "use client";
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@progress/kendo-react-common"),s=require("react"),u=require("../columnMenu/GridColumnMenuWrapper.js");function o(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const a=o(s),i=e=>{const t=r.useUnstyled(),n=t&&t.uGrid?t.uGrid:r.uGrid,l=e.onClick?{onClick:e.onClick}:{},c=a.createElement("span",{className:r.classNames(n.headerCellInner({}))},a.createElement("span",{className:r.classNames(n.headerCellLink({sortable:e.columnMenuWrapperProps.sortable})),...l},a.createElement("span",{className:r.classNames(n.columnTitle({}))},e.title||e.field||" "),e.children),e.columnMenuWrapperProps.columnMenu&&a.createElement(u.GridColumnMenuWrapper,{...e.columnMenuWrapperProps}));return e.render?e.render.call(void 0,c,e):c};exports.GridHeaderCell=i;
@@ -6,27 +6,27 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import { useUnstyled as s, uGrid as m, classNames as t } from "@progress/kendo-react-common";
9
+ import { useUnstyled as i, uGrid as m, classNames as a } from "@progress/kendo-react-common";
10
10
  import * as n from "react";
11
- import { GridColumnMenuWrapper as d } from "../columnMenu/GridColumnMenuWrapper.mjs";
12
- const C = (e) => {
13
- const l = s(), r = l && l.uGrid ? l.uGrid : m, { columnMenuWrapperProps: a } = e, i = e.onClick ? {
11
+ import { GridColumnMenuWrapper as s } from "../columnMenu/GridColumnMenuWrapper.mjs";
12
+ const o = (e) => {
13
+ const l = i(), r = l && l.uGrid ? l.uGrid : m, c = e.onClick ? {
14
14
  onClick: e.onClick
15
- } : {}, c = /* @__PURE__ */ n.createElement("span", { className: t(r.headerCellInner({})) }, /* @__PURE__ */ n.createElement(
15
+ } : {}, t = /* @__PURE__ */ n.createElement("span", { className: a(r.headerCellInner({})) }, /* @__PURE__ */ n.createElement(
16
16
  "span",
17
17
  {
18
- className: t(
18
+ className: a(
19
19
  r.headerCellLink({
20
20
  sortable: e.columnMenuWrapperProps.sortable
21
21
  })
22
22
  ),
23
- ...i
23
+ ...c
24
24
  },
25
- /* @__PURE__ */ n.createElement("span", { className: t(r.columnTitle({})) }, e.title || e.field || " "),
25
+ /* @__PURE__ */ n.createElement("span", { className: a(r.columnTitle({})) }, e.title || e.field || " "),
26
26
  e.children
27
- ), a.columnMenu && /* @__PURE__ */ n.createElement(d, { ...a }));
28
- return e.render ? e.render.call(void 0, c, e) : c;
27
+ ), e.columnMenuWrapperProps.columnMenu && /* @__PURE__ */ n.createElement(s, { ...e.columnMenuWrapperProps }));
28
+ return e.render ? e.render.call(void 0, t, e) : t;
29
29
  };
30
30
  export {
31
- C as GridHeaderCell
31
+ o as GridHeaderCell
32
32
  };
@@ -5,4 +5,5 @@
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"),d=require("../columnMenu/GridColumnMenuWrapper.js"),a=require("../messages/index.js"),s=require("@progress/kendo-react-intl"),m=require("@progress/kendo-react-common");function b(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const r=b(u),g=e=>{const n=m.useId(),t=s.useLocalization(),c=e.id||n,{columnMenuWrapperProps:l}=e,o=[r.createElement("span",{key:0,className:"k-checkbox-wrap"},r.createElement("input",{id:c,type:"checkbox",tabIndex:-1,className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":t.toLanguageString(a.selectRow,a.messages[a.selectRow]),"aria-checked":e.selectionValue,checked:e.selectionValue,onChange:i=>e.selectionChange({field:e.field,syntheticEvent:i})})),l.columnMenu&&r.createElement(d.GridColumnMenuWrapper,{...l})];return e.render?e.render.call(void 0,o,e):o};exports.GridHeaderSelectionCell=g;
8
+ "use client";
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),d=require("../columnMenu/GridColumnMenuWrapper.js"),a=require("../messages/index.js"),s=require("@progress/kendo-react-intl"),m=require("@progress/kendo-react-common"),g=require("../GridClientWrapper.js");function b(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const r=b(u),k=e=>{const n=r.useContext(g.GridContext),t=m.useId(),c=s.useLocalization(),l=e.id||t,o=[r.createElement("span",{key:0,className:"k-checkbox-wrap"},r.createElement("input",{id:l,type:"checkbox",tabIndex:-1,className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":c.toLanguageString(a.selectRow,a.messages[a.selectRow]),"aria-checked":e.selectionValue,checked:e.selectionValue,onChange:i=>n.onHeaderSelectionChange({field:e.field,syntheticEvent:i})})),e.columnMenuWrapperProps.columnMenu&&r.createElement(d.GridColumnMenuWrapper,{...e.columnMenuWrapperProps})];return e.render?e.render.call(void 0,o,e):o};exports.GridHeaderSelectionCell=k;
@@ -6,32 +6,33 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as n from "react";
9
+ import * as t from "react";
10
10
  import { GridColumnMenuWrapper as d } from "../columnMenu/GridColumnMenuWrapper.mjs";
11
- import { selectRow as a, messages as m } from "../messages/index.mjs";
11
+ import { selectRow as c, messages as m } from "../messages/index.mjs";
12
12
  import { useLocalization as u } from "@progress/kendo-react-intl";
13
13
  import { useId as s } from "@progress/kendo-react-common";
14
+ import { GridContext as k } from "../GridClientWrapper.mjs";
14
15
  const b = (e) => {
15
- const l = s(), o = u(), i = e.id || l, { columnMenuWrapperProps: t } = e, c = [
16
- /* @__PURE__ */ n.createElement("span", { key: 0, className: "k-checkbox-wrap" }, /* @__PURE__ */ n.createElement(
16
+ const o = t.useContext(k), a = s(), r = u(), i = e.id || a, n = [
17
+ /* @__PURE__ */ t.createElement("span", { key: 0, className: "k-checkbox-wrap" }, /* @__PURE__ */ t.createElement(
17
18
  "input",
18
19
  {
19
20
  id: i,
20
21
  type: "checkbox",
21
22
  tabIndex: -1,
22
23
  className: "k-checkbox k-checkbox-md k-rounded-md",
23
- "aria-label": o.toLanguageString(a, m[a]),
24
+ "aria-label": r.toLanguageString(c, m[c]),
24
25
  "aria-checked": e.selectionValue,
25
26
  checked: e.selectionValue,
26
- onChange: (r) => e.selectionChange({
27
+ onChange: (l) => o.onHeaderSelectionChange({
27
28
  field: e.field,
28
- syntheticEvent: r
29
+ syntheticEvent: l
29
30
  })
30
31
  }
31
32
  )),
32
- t.columnMenu && /* @__PURE__ */ n.createElement(d, { ...t })
33
+ e.columnMenuWrapperProps.columnMenu && /* @__PURE__ */ t.createElement(d, { ...e.columnMenuWrapperProps })
33
34
  ];
34
- return e.render ? e.render.call(void 0, c, e) : c;
35
+ return e.render ? e.render.call(void 0, n, e) : n;
35
36
  };
36
37
  export {
37
38
  b as GridHeaderSelectionCell
@@ -5,4 +5,5 @@
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 m=require("react"),p=require("../drag/GroupingIndicator.js"),b=require("@progress/kendo-react-intl"),a=require("../messages/index.js");function f(e){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const c=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(l,r,c.get?c:{enumerable:!0,get:()=>e[r]})}}return l.default=e,Object.freeze(l)}const i=f(m),P=e=>{const l=(o,n)=>{const t=e.group.slice();t.splice(n,1),e.groupChange(t,o)},r=(o,n,t,s)=>{const d=Object.assign({},t,{dir:s}),g=e.group.slice();g.splice(n,1,d),e.groupChange(g,o)},c=b.useLocalization(),u=(e.group||[]).map((o,n)=>i.createElement(p.GroupingIndicator,{key:n,index:n,dir:o.dir||"asc",title:e.resolveTitle(o.field),onRemove:t=>{l(t,n)},onSortChange:(t,s)=>{r(t,n,o,s)},onPress:e.pressHandler,onDrag:e.dragHandler,onRelease:e.releaseHandler,onContextMenu:e.onContextMenu}));return i.createElement("div",{ref:e.refCallback,className:"k-grouping-header",role:"toolbar","aria-label":c.toLanguageString(a.groupPanelAriaLabel,a.messages[a.groupPanelAriaLabel]),"aria-controls":e.ariaControls||""},i.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},u),i.createElement("div",{className:"k-grouping-drop-container"},!u.length&&c.toLanguageString(a.groupPanelEmpty,a.messages[a.groupPanelEmpty])," "))};exports.GroupPanel=P;
8
+ "use client";
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),P=require("../drag/GroupingIndicator.js"),C=require("@progress/kendo-react-intl"),c=require("../messages/index.js"),G=require("../GridClientWrapper.js");function v(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const a in r)if(a!=="default"){const s=Object.getOwnPropertyDescriptor(r,a);Object.defineProperty(t,a,s.get?s:{enumerable:!0,get:()=>r[a]})}}return t.default=r,Object.freeze(t)}const l=v(b),R=r=>{const t=l.useContext(G.GridContext),a=(o,e)=>{const n=r.group.slice();n.splice(e,1),t.groupChange(n,o)},s=(o,e,n,i)=>{const f=Object.assign({},n,{dir:i}),p=r.group.slice();p.splice(e,1,f),t.groupChange(p,o)},u=C.useLocalization(),d=r.group||[],m=o=>{const e=r.columns.find(i=>i.field===o),n=e&&(e.title||e.field);return n===void 0?o:n},g=d.map((o,e)=>l.createElement(P.GroupingIndicator,{key:e,index:e,dir:o.dir||"asc",title:m(o.field),onRemove:n=>{a(n,e)},onSortChange:(n,i)=>{s(n,e,o,i)},onPress:t.dragLogicRef.current.pressHandler,onDrag:t.dragLogicRef.current.dragHandler,onRelease:t.dragLogicRef.current.releaseHandler,onContextMenu:t.onContextMenu}));return l.createElement("div",{ref:t.dragLogicRef.current.refGroupPanelDiv,className:"k-grouping-header",role:"toolbar","aria-label":u.toLanguageString(c.groupPanelAriaLabel,c.messages[c.groupPanelAriaLabel]),"aria-controls":r.ariaControls||""},l.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},g),l.createElement("div",{className:"k-grouping-drop-container"},!g.length&&u.toLanguageString(c.groupPanelEmpty,c.messages[c.groupPanelEmpty])," "))};exports.GroupPanel=R;
@@ -6,49 +6,53 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as r from "react";
10
- import { GroupingIndicator as h } from "../drag/GroupingIndicator.mjs";
11
- import { useLocalization as C } from "@progress/kendo-react-intl";
12
- import { groupPanelAriaLabel as c, messages as g, groupPanelEmpty as u } from "../messages/index.mjs";
13
- const P = (e) => {
14
- const m = (a, o) => {
15
- const n = e.group.slice();
16
- n.splice(o, 1), e.groupChange(n, a);
17
- }, d = (a, o, n, t) => {
18
- const p = Object.assign({}, n, { dir: t }), s = e.group.slice();
19
- s.splice(o, 1, p), e.groupChange(s, a);
20
- }, l = C(), i = (e.group || []).map((a, o) => /* @__PURE__ */ r.createElement(
21
- h,
9
+ import * as i from "react";
10
+ import { GroupingIndicator as v } from "../drag/GroupingIndicator.mjs";
11
+ import { useLocalization as G } from "@progress/kendo-react-intl";
12
+ import { groupPanelAriaLabel as g, messages as u, groupPanelEmpty as m } from "../messages/index.mjs";
13
+ import { GridContext as L } from "../GridClientWrapper.mjs";
14
+ const b = (t) => {
15
+ const n = i.useContext(L), p = (r, e) => {
16
+ const o = t.group.slice();
17
+ o.splice(e, 1), n.groupChange(o, r);
18
+ }, d = (r, e, o, a) => {
19
+ const h = Object.assign({}, o, { dir: a }), s = t.group.slice();
20
+ s.splice(e, 1, h), n.groupChange(s, r);
21
+ }, l = G(), f = t.group || [], C = (r) => {
22
+ const e = t.columns.find((a) => a.field === r), o = e && (e.title || e.field);
23
+ return o === void 0 ? r : o;
24
+ }, c = f.map((r, e) => /* @__PURE__ */ i.createElement(
25
+ v,
22
26
  {
23
- key: o,
24
- index: o,
25
- dir: a.dir || "asc",
26
- title: e.resolveTitle(a.field),
27
- onRemove: (n) => {
28
- m(n, o);
27
+ key: e,
28
+ index: e,
29
+ dir: r.dir || "asc",
30
+ title: C(r.field),
31
+ onRemove: (o) => {
32
+ p(o, e);
29
33
  },
30
- onSortChange: (n, t) => {
31
- d(n, o, a, t);
34
+ onSortChange: (o, a) => {
35
+ d(o, e, r, a);
32
36
  },
33
- onPress: e.pressHandler,
34
- onDrag: e.dragHandler,
35
- onRelease: e.releaseHandler,
36
- onContextMenu: e.onContextMenu
37
+ onPress: n.dragLogicRef.current.pressHandler,
38
+ onDrag: n.dragLogicRef.current.dragHandler,
39
+ onRelease: n.dragLogicRef.current.releaseHandler,
40
+ onContextMenu: n.onContextMenu
37
41
  }
38
42
  ));
39
- return /* @__PURE__ */ r.createElement(
43
+ return /* @__PURE__ */ i.createElement(
40
44
  "div",
41
45
  {
42
- ref: e.refCallback,
46
+ ref: n.dragLogicRef.current.refGroupPanelDiv,
43
47
  className: "k-grouping-header",
44
48
  role: "toolbar",
45
- "aria-label": l.toLanguageString(c, g[c]),
46
- "aria-controls": e.ariaControls || ""
49
+ "aria-label": l.toLanguageString(g, u[g]),
50
+ "aria-controls": t.ariaControls || ""
47
51
  },
48
- /* @__PURE__ */ r.createElement("div", { className: "k-chip-list k-chip-list-md", role: "none" }, i),
49
- /* @__PURE__ */ r.createElement("div", { className: "k-grouping-drop-container" }, !i.length && l.toLanguageString(u, g[u]), " ")
52
+ /* @__PURE__ */ i.createElement("div", { className: "k-chip-list k-chip-list-md", role: "none" }, c),
53
+ /* @__PURE__ */ i.createElement("div", { className: "k-grouping-drop-container" }, !c.length && l.toLanguageString(m, u[m]), " ")
50
54
  );
51
55
  };
52
56
  export {
53
- P as GroupPanel
57
+ b as GroupPanel
54
58
  };
package/header/Header.js CHANGED
@@ -5,4 +5,5 @@
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 N=require("react"),r=require("@progress/kendo-react-common"),f=require("@progress/kendo-react-data-tools");function h(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const l=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,l.get?l:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const a=h(N),m=a.forwardRef((e,n)=>{const t=a.useRef(null),l=a.useRef(null),o=a.useRef(!1),b=r.useRtl(e.elemRef);e.columnResize&&e.columnResize.setIsRtl(b==="rtl"),a.useImperativeHandle(n,()=>({setScrollLeft:c=>{t.current&&t.current.scrollLeft!==c&&(o.current=!0,t.current.scrollLeft=c)},setWidth:c=>{l.current&&(l.current.style.width=c+"px")},table:()=>l.current}));const g=c=>{if(o.current){o.current=!1;return}if(!t.current)return;const d=t.current.scrollLeft,i=e.scrollableDataElement();i&&i.scrollLeft!==d&&(i.scrollLeft=d)},u=r.useUnstyled(),s=u&&u.uGrid?u.uGrid:r.uGrid,{size:R="md"}=e;return e.staticHeaders?a.createElement("div",{ref:e.elemRef,className:r.classNames(s.header({draggable:e.draggable}),e.className),role:"presentation"},a.createElement("div",{ref:t,className:r.classNames(s.headerWrap({})),onScroll:g,role:"presentation"},a.createElement("table",{ref:l,className:r.classNames(s.headerTable({size:R}),e.className),role:"presentation"},a.createElement("colgroup",{ref:c=>{e.columnResize.colGroupHeader=c}},e.cols),a.createElement("thead",{className:r.classNames(s.tableThead({})),role:"rowgroup",...f.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)))):a.createElement("thead",{role:"presentation",className:r.classNames(s.thead({draggable:e.draggable}),e.className),...f.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)});m.displayName="KendoReactHeader";exports.Header=m;
8
+ "use client";
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react"),n=require("@progress/kendo-react-common"),m=require("@progress/kendo-react-data-tools"),y=require("../GridClientWrapper.js");function v(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const a in e)if(a!=="default"){const s=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(r,a,s.get?s:{enumerable:!0,get:()=>e[a]})}}return r.default=e,Object.freeze(r)}const t=v(h),R=e=>{const r=t.useRef(null),a=t.useRef(null),s=t.useRef(!1),l=t.useContext(y.GridContext),b=n.useRtl(l.headerElementRef);l.columnResizeRef.current&&l.columnResizeRef.current.setIsRtl(b==="rtl"),t.useImperativeHandle(l.headerRef,()=>({setScrollLeft:c=>{r.current&&r.current.scrollLeft!==c&&(s.current=!0,r.current.scrollLeft=c)},setWidth:c=>{a.current&&(a.current.style.width=c+"px")},table:()=>a.current}));const g=c=>{var f;if(s.current){s.current=!1;return}if(!r.current)return;const d=r.current.scrollLeft,i=((f=l.vsRef.current)==null?void 0:f.container)||null;i&&i.scrollLeft!==d&&(i.scrollLeft=d)},u=n.useUnstyled(),o=u&&u.uGrid?u.uGrid:n.uGrid,{size:N="md"}=e;return e.staticHeaders?t.createElement("div",{ref:l.headerElementRef,className:n.classNames(o.header({draggable:e.draggable}),e.className),role:"presentation"},t.createElement("div",{ref:r,className:n.classNames(o.headerWrap({})),onScroll:g,role:"presentation"},t.createElement("table",{ref:a,className:n.classNames(o.headerTable({size:N}),e.className),role:"presentation"},t.createElement("colgroup",{ref:c=>{l.columnResizeRef.current&&(l.columnResizeRef.current.colGroupHeader=c)}},e.cols),t.createElement("thead",{className:n.classNames(o.tableThead({})),role:"rowgroup",...m.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)))):t.createElement("thead",{role:"presentation",className:n.classNames(o.thead({draggable:e.draggable}),e.className),...m.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)};R.displayName="KendoReactHeader";exports.Header=R;
package/header/Header.mjs CHANGED
@@ -7,56 +7,58 @@
7
7
  */
8
8
  "use client";
9
9
  import * as t from "react";
10
- import { useRtl as g, useUnstyled as h, uGrid as N, classNames as c } from "@progress/kendo-react-common";
11
- import { tableKeyboardNavigationHeaderAttributes as u } from "@progress/kendo-react-data-tools";
12
- const E = t.forwardRef((e, f) => {
13
- const a = t.useRef(null), n = t.useRef(null), s = t.useRef(!1), m = g(e.elemRef);
14
- e.columnResize && e.columnResize.setIsRtl(m === "rtl"), t.useImperativeHandle(f, () => ({
15
- setScrollLeft: (r) => {
16
- a.current && a.current.scrollLeft !== r && (s.current = !0, a.current.scrollLeft = r);
10
+ import { useRtl as g, useUnstyled as N, uGrid as E, classNames as c } from "@progress/kendo-react-common";
11
+ import { tableKeyboardNavigationHeaderAttributes as m } from "@progress/kendo-react-data-tools";
12
+ import { GridContext as v } from "../GridClientWrapper.mjs";
13
+ const w = (e) => {
14
+ const l = t.useRef(null), s = t.useRef(null), o = t.useRef(!1), r = t.useContext(v), R = g(r.headerElementRef);
15
+ r.columnResizeRef.current && r.columnResizeRef.current.setIsRtl(R === "rtl"), t.useImperativeHandle(r.headerRef, () => ({
16
+ setScrollLeft: (a) => {
17
+ l.current && l.current.scrollLeft !== a && (o.current = !0, l.current.scrollLeft = a);
17
18
  },
18
- setWidth: (r) => {
19
- n.current && (n.current.style.width = r + "px");
19
+ setWidth: (a) => {
20
+ s.current && (s.current.style.width = a + "px");
20
21
  },
21
- table: () => n.current
22
+ table: () => s.current
22
23
  }));
23
- const R = (r) => {
24
- if (s.current) {
25
- s.current = !1;
24
+ const h = (a) => {
25
+ var f;
26
+ if (o.current) {
27
+ o.current = !1;
26
28
  return;
27
29
  }
28
- if (!a.current)
30
+ if (!l.current)
29
31
  return;
30
- const i = a.current.scrollLeft, d = e.scrollableDataElement();
31
- d && d.scrollLeft !== i && (d.scrollLeft = i);
32
- }, o = h(), l = o && o.uGrid ? o.uGrid : N, { size: b = "md" } = e;
32
+ const d = l.current.scrollLeft, i = ((f = r.vsRef.current) == null ? void 0 : f.container) || null;
33
+ i && i.scrollLeft !== d && (i.scrollLeft = d);
34
+ }, u = N(), n = u && u.uGrid ? u.uGrid : E, { size: b = "md" } = e;
33
35
  return e.staticHeaders ? /* @__PURE__ */ t.createElement(
34
36
  "div",
35
37
  {
36
- ref: e.elemRef,
37
- className: c(l.header({ draggable: e.draggable }), e.className),
38
+ ref: r.headerElementRef,
39
+ className: c(n.header({ draggable: e.draggable }), e.className),
38
40
  role: "presentation"
39
41
  },
40
42
  /* @__PURE__ */ t.createElement(
41
43
  "div",
42
44
  {
43
- ref: a,
44
- className: c(l.headerWrap({})),
45
- onScroll: R,
45
+ ref: l,
46
+ className: c(n.headerWrap({})),
47
+ onScroll: h,
46
48
  role: "presentation"
47
49
  },
48
50
  /* @__PURE__ */ t.createElement(
49
51
  "table",
50
52
  {
51
- ref: n,
52
- className: c(l.headerTable({ size: b }), e.className),
53
+ ref: s,
54
+ className: c(n.headerTable({ size: b }), e.className),
53
55
  role: "presentation"
54
56
  },
55
57
  /* @__PURE__ */ t.createElement(
56
58
  "colgroup",
57
59
  {
58
- ref: (r) => {
59
- e.columnResize.colGroupHeader = r;
60
+ ref: (a) => {
61
+ r.columnResizeRef.current && (r.columnResizeRef.current.colGroupHeader = a);
60
62
  }
61
63
  },
62
64
  e.cols
@@ -64,9 +66,9 @@ const E = t.forwardRef((e, f) => {
64
66
  /* @__PURE__ */ t.createElement(
65
67
  "thead",
66
68
  {
67
- className: c(l.tableThead({})),
69
+ className: c(n.tableThead({})),
68
70
  role: "rowgroup",
69
- ...u
71
+ ...m
70
72
  },
71
73
  e.headerRow,
72
74
  e.filterRow
@@ -77,14 +79,14 @@ const E = t.forwardRef((e, f) => {
77
79
  "thead",
78
80
  {
79
81
  role: "presentation",
80
- className: c(l.thead({ draggable: e.draggable }), e.className),
81
- ...u
82
+ className: c(n.thead({ draggable: e.draggable }), e.className),
83
+ ...m
82
84
  },
83
85
  e.headerRow,
84
86
  e.filterRow
85
87
  );
86
- });
87
- E.displayName = "KendoReactHeader";
88
+ };
89
+ w.displayName = "KendoReactHeader";
88
90
  export {
89
- E as Header
91
+ w as Header
90
92
  };
@@ -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 T=require("react"),F=require("../interfaces/GridSortSettings.js"),_=require("../drag/ColumnDraggable.js"),U=require("./GridHeaderCell.js"),r=require("@progress/kendo-react-common"),N=require("@progress/kendo-react-data-tools"),V=require("@progress/kendo-react-intl"),D=require("../messages/index.js"),E=require("@progress/kendo-svg-icons"),W=require("../utils/index.js");function $(e){const m=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const g=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(m,i,g.get?g:{enumerable:!0,get:()=>e[i]})}}return m.default=e,Object.freeze(m)}const o=$(T),B={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},J={none:"none",asc:"ascending",desc:"descending"},Q=e=>{const[m,i]=o.useState(),g=V.useLocalization(),h=r.useUnstyled(),C=h&&h.uGrid?h.uGrid:r.uGrid,b=o.useRef(null);let q=0,v=-1;const I=(l,n)=>{if(l.preventDefault(),!e.sortChange)return;const{allowUnsort:t,mode:d}=F.normalize(e.sortable||!1,n.sortable||!1),s=(e.sort||[]).filter(c=>c.field===n.field)[0],f=B[t][s&&s.dir||""],u=d==="single"?[]:(e.sort||[]).filter(c=>c.field!==n.field);f!==""&&n.field&&u.push({field:n.field,dir:f}),e.sortChange(u,l)},x=(l,n)=>{if(l.isDefaultPrevented())return;const{keyCode:t,metaKey:d,ctrlKey:s,altKey:f}=l,u=e.sortable&&n.sortable,c=l.target;if(u&&l.keyCode===r.Keys.enter&&c.className.indexOf("k-table-th")!==-1&&I(l,n),e.navigatable){if(e.groupable&&(d&&t===r.Keys.enter||s&&t===r.Keys.space)){l.preventDefault();const y=e.columns.findIndex(k=>k.field===n.field);e.columnGroupChange&&e.columnGroupChange(y,l)}f&&t===r.Keys.down&&(l.preventDefault(),i(n.field),b.current=c)}},O=()=>{i(void 0),b.current&&b.current.getAttribute("tabindex")!=="-1"&&b.current.focus()},G=l=>{if(!e.sort)return null;const n=r.classNames(C.sortIcon({}));return l>=0&&[o.createElement("span",{key:1,className:n},o.createElement(r.IconWrap,{name:"sort-"+e.sort[l].dir+"-small",icon:e.sort[l].dir==="asc"?E.sortAscSmallIcon:E.sortDescSmallIcon})),e.sort.length>1&&o.createElement("span",{key:2,className:n},o.createElement("span",{className:r.classNames(C.sortOrder({}))},l+1))]},M=l=>l.map(n=>{const t=e.columns[n],d=e.sortable&&t.sortable,s=e.sort?e.sort.findIndex(a=>a.field===t.field):-1,f=s>=0&&e.sort[s].dir||"none",u=t.columnMenu===null?null:t.columnMenu||e.columnMenu,c=t.menuIcon||e.columnMenuIcon,y=r.classNames(r.classNames(C.headerTh({first:t.kFirst,filterable:!!u,locked:t.locked,sorted:e.sort&&e.sort.some(a=>a.field===t.field)})),t.headerClassName);t.locked===!1&&(t.left=0);const k=t.left!==void 0?e.isRtl?{left:t.right,right:t.left}:{left:t.left,right:t.right}:{},K=g.toLanguageString(D.sortAriaLabel,D.messages[D.sortAriaLabel]),A=t.isAccessible?{ariaSort:J[f],role:"columnheader",ariaColumnIndex:t.ariaColumnIndex,ariaSelected:!1,ariaDescription:d?K:""}:{role:"presentation"},R=t.declarationIndex>=0?++v:--q,P=t.headerCell?t.headerCell:U.GridHeaderCell,w=o.createElement(P,{key:1,field:t.field,onClick:d&&(a=>I(a,t))||void 0,selectionChange:e.selectionChange,title:t.title,selectionValue:t.headerSelectionValue,render:e.cellRender,children:G(s),columnMenuWrapperProps:{column:{field:t.field,title:t.title,locked:t.locked,filter:t.filter,id:t.id},sortable:d&&e.sortable,sort:e.sort,onSortChange:e.sortChange,filter:e.filter,filterable:e.filterable&&t.filterable,filterOperators:e.filterOperators,onFilterChange:e.filterChange,show:m===t.field?!0:void 0,onCloseMenu:O,navigatable:e.navigatable,group:e.group,groupable:e.groupable,onGroupChange:e.groupChange,columnMenu:u,columnMenuIcon:c}}),H={...A,key:R,colSpan:t.colSpan,rowSpan:t.rowSpan,className:y,style:k,columnId:t.id,navigatable:t.navigatable,onKeyDown:a=>x(a,t),role:"columnheader"},z=[w,e.columnResize&&e.columnResize.resizable&&t.resizable&&o.createElement(N.ColumnResizer,{key:2,resize:(a,j,L)=>e.columnResize&&e.columnResize.dragHandler(a,t,j,L),autofit:a=>e.columnResize&&e.columnResize.dblClickHandler(a,[t.id])})],S=W.resolveCells(e.cells,t.cells);if(S&&S.headerCell){const a=S.headerCell;return o.createElement(a,{...w.props,key:R,thProps:H,index:n},z)}return o.createElement(N.HeaderThElement,{...H,key:R},z)});return e.columnsMap.map((l,n)=>e.pressHandler&&o.createElement(_.ColumnDraggable,{key:n,pressHandler:e.pressHandler,dragHandler:e.dragHandler,releaseHandler:e.releaseHandler,ariaRowIndex:n+1,dragClue:e.dragClue,headerRef:e.headerRef,containerRef:e.containerRef},M(l))||o.createElement("tr",{key:n,className:r.classNames(C.simpletr({})),role:"row","aria-rowindex":n+1},M(l)))};exports.HeaderRow=Q;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("react"),A=require("./GridHeaderCell.js"),c=require("@progress/kendo-react-common"),z=require("@progress/kendo-react-data-tools"),g=require("../messages/index.js"),y=require("@progress/kendo-svg-icons"),i=require("../utils/index.js"),M=require("./client/GridHeaderCellContainer.js"),L=require("./client/HeaderRowDraggable.js"),W=require("./client/GridHeaderRowContainer.js"),V=require("./client/GridHeaderCellElementContainer.js"),_=require("./client/HeaderCellResizer.js");function $(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const d=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,d.get?d:{enumerable:!0,get:()=>e[n]})}}return o.default=e,Object.freeze(o)}const t=$(j),B={none:"none",asc:"ascending",desc:"descending"},F=e=>{const o=e.unstyled,n=o&&o.uGrid?o.uGrid:c.uGrid;let d=0,q=-1;const G=r=>{if(!e.sort)return null;const a=c.classNames(n.sortIcon({}));return r>=0&&[t.createElement("span",{key:1,className:a},t.createElement(c.IconWrap,{name:"sort-"+e.sort[r].dir+"-small",icon:e.sort[r].dir==="asc"?y.sortAscSmallIcon:y.sortDescSmallIcon})),e.sort.length>1&&t.createElement("span",{key:2,className:a},t.createElement("span",{className:c.classNames(n.sortOrder({}))},r+1))]},N=r=>r.map(a=>{var I;const l=e.columns[a],h=e.sortable&&l.sortable,u=e.sort?e.sort.findIndex(s=>s.field===l.field):-1,w=u>=0&&e.sort[u].dir||"none",H=l.columnMenu===null?null:l.columnMenu||e.columnMenu,P=l.menuIcon||e.columnMenuIcon,O=c.classNames(c.classNames(n.headerTh({first:l.kFirst,filterable:!!H,locked:l.locked,sorted:e.sort&&e.sort.some(s=>s.field===l.field)})),l.headerClassName);l.locked===!1&&(l.left=0);const D=e.localization.toLanguageString(g.sortAriaLabel,g.messages[g.sortAriaLabel]),x=l.isAccessible?{ariaSort:B[w],role:"columnheader",ariaColumnIndex:l.ariaColumnIndex,ariaSelected:!1,ariaDescription:h?D:""}:{role:"presentation"},S=l.declarationIndex>=0?++q:--d,m={field:l.field,title:l.title,selectionValue:(I=l.headerSelectionValue)!=null?I:e.headerSelectionValue,children:G(u),selectionChange:null,columnMenuWrapperProps:{column:{field:l.field,title:l.title,locked:l.locked,filter:l.filter,id:l.id},sortable:h&&e.sortable,sort:e.sort,filter:e.filter,filterable:e.filterable&&l.filterable,filterOperators:e.filterOperators,navigatable:e.navigatable,group:e.group,groupable:e.groupable,columnMenu:H,columnMenuIcon:P}},C={...x,colSpan:l.headerColSpan,rowSpan:l.rowSpan,className:O,columnId:l.id,navigatable:l.navigatable,role:"columnheader"},f=i.clientColumn(l),k={column:f,render:e.cellRender,sortable:e.sortable,sort:e.sort,columnMenuWrapperProps:m.columnMenuWrapperProps},E=l.headerCell?l.headerCell:A.GridHeaderCell,R=[t.createElement(M.GridHeaderCellContainer,{key:1,...k,isClient:i.isClientReference(E)},t.createElement(E,{...m})),t.createElement(_.HeaderCellResizer,{key:2,column:f})],b=i.resolveCells(e.cells,l.cells);if(b&&b.headerCell){const s=b.headerCell,T=i.isClientReference(s);return t.createElement(M.GridHeaderCellContainer,{key:S,...k,thProps:C,isCustom:!0,isClient:T},t.createElement(s,{...m,thProps:C,index:a},R))}return t.createElement(V.GridHeaderCellElementContainer,{key:S,column:f},t.createElement(z.HeaderThElement,{...C},R))}),v=e.columns.map(i.clientColumn);return t.createElement(W.GridHeaderRowContainer,{sortable:e.sortable,sort:e.sort,navigatable:e.navigatable,groupable:e.groupable,columns:v},e.columnsMap.map((r,a)=>t.createElement(L.HeaderRowDraggable,{key:a,className:c.classNames(n.simpleTr({})),ariaRowIndex:a+1},N(r))))};exports.HeaderRow=F;