@progress/kendo-react-grid 10.3.0-develop.1 → 11.0.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 (168) hide show
  1. package/GridClientContextReader.js +1 -1
  2. package/GridClientContextReader.mjs +16 -13
  3. package/GridClientWrapper.js +1 -1
  4. package/GridClientWrapper.mjs +419 -421
  5. package/GridComponent.js +1 -1
  6. package/GridComponent.mjs +402 -395
  7. package/VirtualScroll.js +1 -1
  8. package/VirtualScroll.mjs +65 -107
  9. package/cells/GridDetailHierarchyCell.js +1 -1
  10. package/cells/GridDetailHierarchyCell.mjs +4 -4
  11. package/cells/datacell/GridCell.js +9 -0
  12. package/cells/datacell/GridCell.mjs +29 -0
  13. package/cells/datacell/GridCellServer.js +8 -0
  14. package/cells/datacell/GridCellServer.mjs +27 -0
  15. package/cells/datacell/GridCellServerContainer.js +9 -0
  16. package/cells/datacell/GridCellServerContainer.mjs +26 -0
  17. package/cells/datacell/useCellClientTdProps.js +9 -0
  18. package/cells/datacell/useCellClientTdProps.mjs +30 -0
  19. package/cells/datacell/utils.js +8 -0
  20. package/cells/datacell/utils.mjs +47 -0
  21. package/cells/detailcell/GridDetailCell.js +9 -0
  22. package/cells/detailcell/GridDetailCell.mjs +18 -0
  23. package/cells/detailcell/GridDetailCellServer.js +8 -0
  24. package/cells/detailcell/GridDetailCellServer.mjs +17 -0
  25. package/cells/detailcell/GridDetailCellServerContainer.js +9 -0
  26. package/cells/detailcell/GridDetailCellServerContainer.mjs +19 -0
  27. package/cells/detailcell/useDetailCellClientTdProps.js +9 -0
  28. package/cells/detailcell/useDetailCellClientTdProps.mjs +20 -0
  29. package/cells/detailcell/utils.js +8 -0
  30. package/cells/detailcell/utils.mjs +20 -0
  31. package/cells/editcell/GridEditCell.js +9 -0
  32. package/cells/editcell/GridEditCell.mjs +26 -0
  33. package/cells/editcell/GridEditCellServer.js +8 -0
  34. package/cells/editcell/GridEditCellServer.mjs +32 -0
  35. package/cells/editcell/GridEditCellServerContainer.js +9 -0
  36. package/cells/editcell/GridEditCellServerContainer.mjs +26 -0
  37. package/cells/editcell/useEditCellClientTdProps.js +9 -0
  38. package/cells/editcell/useEditCellClientTdProps.mjs +21 -0
  39. package/cells/editcell/utils.js +8 -0
  40. package/cells/editcell/utils.mjs +29 -0
  41. package/cells/groupcell/GridGroupCell.js +9 -0
  42. package/cells/groupcell/GridGroupCell.mjs +24 -0
  43. package/cells/groupcell/GridGroupCellServer.js +8 -0
  44. package/cells/groupcell/GridGroupCellServer.mjs +44 -0
  45. package/cells/groupcell/GridGroupCellServerContainer.js +9 -0
  46. package/cells/groupcell/GridGroupCellServerContainer.mjs +38 -0
  47. package/cells/groupcell/useGroupCellClientTdProps.js +9 -0
  48. package/cells/groupcell/useGroupCellClientTdProps.mjs +44 -0
  49. package/cells/groupcell/utils.js +8 -0
  50. package/cells/groupcell/utils.mjs +48 -0
  51. package/cells/hierarchycell/GridHierarchyCell.js +9 -0
  52. package/cells/hierarchycell/GridHierarchyCell.mjs +25 -0
  53. package/cells/hierarchycell/GridHierarchyCellServer.js +8 -0
  54. package/cells/hierarchycell/GridHierarchyCellServer.mjs +32 -0
  55. package/cells/hierarchycell/GridHierarchyCellServerContainer.js +9 -0
  56. package/cells/hierarchycell/GridHierarchyCellServerContainer.mjs +26 -0
  57. package/cells/hierarchycell/useHierarchyCellClientTdProps.js +9 -0
  58. package/cells/hierarchycell/useHierarchyCellClientTdProps.mjs +35 -0
  59. package/cells/hierarchycell/utils.js +8 -0
  60. package/cells/hierarchycell/utils.mjs +30 -0
  61. package/cells/hooks.js +9 -0
  62. package/cells/hooks.mjs +41 -0
  63. package/cells/rowreordercell/GridRowReorderCell.js +9 -0
  64. package/cells/rowreordercell/GridRowReorderCell.mjs +19 -0
  65. package/cells/rowreordercell/GridRowReorderCellServer.js +8 -0
  66. package/cells/rowreordercell/GridRowReorderCellServer.mjs +18 -0
  67. package/cells/rowreordercell/GridRowReorderCellServerContainer.js +9 -0
  68. package/cells/rowreordercell/GridRowReorderCellServerContainer.mjs +19 -0
  69. package/cells/rowreordercell/useRowReorderCellClientTdProps.js +9 -0
  70. package/cells/rowreordercell/useRowReorderCellClientTdProps.mjs +26 -0
  71. package/cells/rowreordercell/utils.js +8 -0
  72. package/cells/rowreordercell/utils.mjs +30 -0
  73. package/cells/selectioncell/GridSelectionCell.js +9 -0
  74. package/cells/selectioncell/GridSelectionCell.mjs +26 -0
  75. package/cells/selectioncell/GridSelectionCellServer.js +8 -0
  76. package/cells/selectioncell/GridSelectionCellServer.mjs +33 -0
  77. package/cells/selectioncell/GridSelectionCellServerContainer.js +9 -0
  78. package/cells/selectioncell/GridSelectionCellServerContainer.mjs +26 -0
  79. package/cells/selectioncell/useSelectionCellClientTdProps.js +9 -0
  80. package/cells/selectioncell/useSelectionCellClientTdProps.mjs +21 -0
  81. package/cells/selectioncell/utils.js +8 -0
  82. package/cells/selectioncell/utils.mjs +25 -0
  83. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
  84. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +126 -97
  85. package/columnMenu/GridColumnMenuColumnsChooser.js +1 -1
  86. package/columnMenu/GridColumnMenuColumnsChooser.mjs +103 -58
  87. package/columnMenu/GridColumnMenuFilter.js +1 -1
  88. package/columnMenu/GridColumnMenuFilter.mjs +122 -101
  89. package/columnMenu/GridColumnMenuFilterCell.js +1 -1
  90. package/columnMenu/GridColumnMenuFilterCell.mjs +47 -44
  91. package/columnMenu/GridColumnMenuFilterUI.js +1 -1
  92. package/columnMenu/GridColumnMenuFilterUI.mjs +28 -14
  93. package/columnMenu/GridColumnMenuItem.js +1 -1
  94. package/columnMenu/GridColumnMenuItem.mjs +9 -6
  95. package/columnMenu/GridColumnMenuWrapper.js +1 -1
  96. package/columnMenu/GridColumnMenuWrapper.mjs +68 -71
  97. package/columnMenu/adaptiveContent/GridActionSheetFooter.js +9 -0
  98. package/columnMenu/adaptiveContent/GridActionSheetFooter.mjs +24 -0
  99. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.js +9 -0
  100. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.mjs +79 -0
  101. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.js +9 -0
  102. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.mjs +90 -0
  103. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +9 -0
  104. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +66 -0
  105. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.js +9 -0
  106. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.mjs +74 -0
  107. package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.js +9 -0
  108. package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.mjs +17 -0
  109. package/components/GridDraggableRowsContainer.js +1 -1
  110. package/components/GridDraggableRowsContainer.mjs +71 -67
  111. package/components/VirtualScrollHeightContainer.js +1 -1
  112. package/components/VirtualScrollHeightContainer.mjs +4 -4
  113. package/components/table/GridTableScrollable.js +1 -1
  114. package/components/table/GridTableScrollable.mjs +16 -15
  115. package/components/utils.js +1 -1
  116. package/components/utils.mjs +9 -10
  117. package/dist/cdn/js/kendo-react-grid.js +1 -1
  118. package/index.d.mts +75 -10
  119. package/index.d.ts +75 -10
  120. package/index.js +1 -1
  121. package/index.mjs +5 -5
  122. package/messages/index.js +1 -1
  123. package/messages/index.mjs +78 -62
  124. package/package-metadata.js +1 -1
  125. package/package-metadata.mjs +2 -2
  126. package/package.json +16 -16
  127. package/paging/GridPagerSettings.js +1 -1
  128. package/paging/GridPagerSettings.mjs +17 -13
  129. package/utils/index.js +1 -1
  130. package/utils/index.mjs +112 -104
  131. package/VirtualScrollFixed.js +0 -8
  132. package/VirtualScrollFixed.mjs +0 -52
  133. package/cells/GridCell.js +0 -8
  134. package/cells/GridCell.mjs +0 -52
  135. package/cells/GridDetailCell.js +0 -8
  136. package/cells/GridDetailCell.mjs +0 -26
  137. package/cells/GridEditCell.js +0 -8
  138. package/cells/GridEditCell.mjs +0 -35
  139. package/cells/GridGroupCell.js +0 -8
  140. package/cells/GridGroupCell.mjs +0 -74
  141. package/cells/GridHierarchyCell.js +0 -8
  142. package/cells/GridHierarchyCell.mjs +0 -33
  143. package/cells/GridRowReorderCell.js +0 -8
  144. package/cells/GridRowReorderCell.mjs +0 -42
  145. package/cells/GridSelectionCell.js +0 -8
  146. package/cells/GridSelectionCell.mjs +0 -30
  147. package/cells/client/DetailCellContainer.js +0 -9
  148. package/cells/client/DetailCellContainer.mjs +0 -27
  149. package/cells/client/GridCellContainer.js +0 -9
  150. package/cells/client/GridCellContainer.mjs +0 -69
  151. package/cells/client/GridEditCellContainer.js +0 -9
  152. package/cells/client/GridEditCellContainer.mjs +0 -61
  153. package/cells/client/GridGroupCellContainer.js +0 -9
  154. package/cells/client/GridGroupCellContainer.mjs +0 -88
  155. package/cells/client/GridHierarchyCellContainer.js +0 -9
  156. package/cells/client/GridHierarchyCellContainer.mjs +0 -64
  157. package/cells/client/GridRowReorderContainer.js +0 -9
  158. package/cells/client/GridRowReorderContainer.mjs +0 -31
  159. package/cells/client/GridSelectionCellContainer.js +0 -9
  160. package/cells/client/GridSelectionCellContainer.mjs +0 -61
  161. /package/cells/{client → editcell}/GridEditCellEditor.js +0 -0
  162. /package/cells/{client → editcell}/GridEditCellEditor.mjs +0 -0
  163. /package/cells/{client → groupcell}/GridGroupCellToggle.js +0 -0
  164. /package/cells/{client → groupcell}/GridGroupCellToggle.mjs +0 -0
  165. /package/cells/{client → hierarchycell}/GridHierarchyCellToggle.js +0 -0
  166. /package/cells/{client → hierarchycell}/GridHierarchyCellToggle.mjs +0 -0
  167. /package/cells/{client → selectioncell}/GridSelectionCellInput.js +0 -0
  168. /package/cells/{client → selectioncell}/GridSelectionCellInput.mjs +0 -0
@@ -7,142 +7,171 @@
7
7
  */
8
8
  "use client";
9
9
  import * as l from "react";
10
- import { GridColumnMenuItem as _ } from "./GridColumnMenuItem.mjs";
11
- import { GridColumnMenuItemGroup as $ } from "./GridColumnMenuItemGroup.mjs";
12
- import { GridColumnMenuItemContent as p } from "./GridColumnMenuItemContent.mjs";
13
- import { Input as ee, Checkbox as M } from "@progress/kendo-react-inputs";
14
- import { useLocalization as te } from "@progress/kendo-react-intl";
15
- import { filterClearButton as h, messages as f, searchPlaceholder as O, filterTitle as q, filterCheckAll as w, filterSelectedItems as V, filterSubmitButton as G } from "../messages/index.mjs";
16
- import { filterBy as P } from "@progress/kendo-data-query";
17
- import { IconWrap as ne, clone as le } from "@progress/kendo-react-common";
18
- import { Button as v } from "@progress/kendo-react-buttons";
19
- import { getNestedValue as A } from "../utils/index.mjs";
20
- import { searchIcon as re, xIcon as ae, filterIcon as ie } from "@progress/kendo-svg-icons";
21
- const ce = (e, d) => e.length !== d.length ? !1 : e.every((g, m) => g === d[m]), oe = {
10
+ import { GridColumnMenuItem as ne } from "./GridColumnMenuItem.mjs";
11
+ import { GridColumnMenuItemGroup as le } from "./GridColumnMenuItemGroup.mjs";
12
+ import { GridColumnMenuItemContent as re } from "./GridColumnMenuItemContent.mjs";
13
+ import { Input as ae, Checkbox as P } from "@progress/kendo-react-inputs";
14
+ import { useLocalization as ie } from "@progress/kendo-react-intl";
15
+ import { filterClearButton as x, messages as d, searchPlaceholder as R, filterTitle as z, filterCheckAll as j, filterSelectedItems as T, filterSubmitButton as W } from "../messages/index.mjs";
16
+ import { filterBy as $ } from "@progress/kendo-data-query";
17
+ import { IconWrap as ce, clone as oe } from "@progress/kendo-react-common";
18
+ import { Button as I } from "@progress/kendo-react-buttons";
19
+ import { getNestedValue as H } from "../utils/index.mjs";
20
+ import { searchIcon as se, xIcon as ue, filterIcon as fe } from "@progress/kendo-svg-icons";
21
+ import { GridContext as de } from "../GridClientWrapper.mjs";
22
+ import { GridAdaptiveCheckboxFilter as me } from "./adaptiveContent/GridAdaptiveCheckboxFilter.mjs";
23
+ const he = (e, m) => e.length !== m.length ? !1 : e.every((r, k) => r === m[k]), ge = {
22
24
  uniqueData: !0
23
- }, Fe = (e) => {
24
- const { uniqueData: d = oe.uniqueData } = e, g = () => {
25
+ }, De = (e) => {
26
+ const { uniqueData: m = ge.uniqueData } = e, r = l.useContext(de), k = () => {
25
27
  const t = e.column.field;
26
- return S().filters.findIndex(
27
- (a) => a.filters && a.filters.length > 0 && a.filters[0].field === t
28
+ return M().filters.findIndex(
29
+ (i) => i.filters && i.filters.length > 0 && i.filters[0].field === t
28
30
  );
29
- }, m = (t, n) => {
30
- const i = e.column.field || "", a = t.map((c) => A(i, c));
31
- return n ? a.filter((c, o) => a.indexOf(c) === o) : a;
32
- }, S = () => e.filter ? le(e.filter) : { filters: [], logic: "and" }, r = l.useRef(g()), [I, R] = l.useState(e.expanded || !1), [b, B] = l.useState(""), [x, C] = l.useState(m(e.data, d) || []), [z, j] = l.useState(m(e.data, !1) || []), [s, T] = l.useState(S());
31
+ }, h = (t, n) => {
32
+ const c = e.column.field || "", i = t.map((o) => H(c, o));
33
+ return n ? i.filter((o, s) => i.indexOf(o) === s) : i;
34
+ }, M = () => e.filter ? oe(e.filter) : { filters: [], logic: "and" }, a = l.useRef(k()), [N, J] = l.useState(e.expanded || !1), [y, C] = l.useState(!1), [D, w] = l.useState(""), [g, E] = l.useState(h(e.data, m) || []), [K, Q] = l.useState(h(e.data, !1) || []), [u, U] = l.useState(M());
33
35
  l.useEffect(() => {
34
- const t = e.column.field || "", n = e.data.map((i) => A(t, i));
35
- ce(n, z) || (C(n), j(n));
36
+ const t = e.column.field || "", n = e.data.map((c) => H(t, c));
37
+ he(n, K) || (E(n), Q(n));
36
38
  }, [e.column, e.data]);
37
- const N = () => e.expanded !== void 0, W = () => {
38
- const t = N(), n = !(t ? e.expanded : I);
39
- e.onExpandChange && e.onExpandChange(n), t || R(n);
40
- }, D = (t) => {
41
- const n = e.searchBoxFilterOperator ? e.searchBoxFilterOperator : "startswith", i = {
39
+ const L = () => e.expanded !== void 0, X = () => {
40
+ const t = L(), n = !(t ? e.expanded : N);
41
+ e.onExpandChange && e.onExpandChange(n), C(!y), !t && !(r != null && r.mobileMode) && J(n);
42
+ }, O = (t) => {
43
+ const n = e.searchBoxFilterOperator ? e.searchBoxFilterOperator : "startswith", c = {
42
44
  logic: "and",
43
45
  filters: [{ field: e.column.field, operator: n, value: t.target.value, ignoreCase: !0 }]
44
46
  };
45
- B(t.target.value), C(m(P(e.data || [], i), d));
46
- }, H = () => {
47
+ w(t.target.value), E(h($(e.data || [], c), m));
48
+ }, Y = () => {
47
49
  const t = e.searchBoxFilterOperator ? e.searchBoxFilterOperator : "startswith", n = {
48
50
  logic: "and",
49
51
  filters: [{ field: e.column.field, operator: t, value: "", ignoreCase: !0 }]
50
52
  };
51
- B(""), C(m(P(e.data || [], n), d));
52
- }, J = (t) => {
53
+ w(""), E(h($(e.data || [], n), m));
54
+ }, q = (t) => {
53
55
  if (t.preventDefault(), !e.onFilterChange)
54
56
  return;
55
- const n = s || null;
56
- n !== null && n.filters.length > 0 ? (r.current >= 0 && n.filters.splice(r.current, 1), e.onFilterChange(n, t)) : e.onFilterChange(null, t), e.onCloseMenu && e.onCloseMenu();
57
- }, K = (t) => {
57
+ const n = u || null;
58
+ n !== null && n.filters.length > 0 ? (a.current >= 0 && n.filters.splice(a.current, 1), e.onFilterChange(n, t)) : e.onFilterChange(null, t), e.onCloseMenu && e.onCloseMenu();
59
+ }, G = (t) => {
58
60
  if (t.preventDefault(), !e.onFilterChange)
59
61
  return;
60
- const n = s || null;
62
+ const n = u || null;
61
63
  e.onFilterChange(n, t), e.onCloseMenu && e.onCloseMenu();
62
- }, y = (t, n) => {
63
- const i = e.column.field || "", a = { ...s }, c = [...s.filters];
64
- let o = [];
65
- if (r.current !== -1 && a.filters[r.current].filters && n !== "all" && (o = a.filters[r.current].filters), t.value && n === "all")
66
- x.forEach((F) => {
67
- o.push({ field: i, operator: "eq", value: F });
64
+ }, v = (t, n) => {
65
+ const c = e.column.field || "", i = { ...u }, o = [...u.filters];
66
+ let s = [];
67
+ if (a.current !== -1 && i.filters[a.current].filters && n !== "all" && (s = i.filters[a.current].filters), t.value && n === "all")
68
+ g.forEach((B) => {
69
+ s.push({ field: c, operator: "eq", value: B });
68
70
  });
69
71
  else if (t.value)
70
- o.push({ field: i, operator: "eq", value: n });
71
- else if (s) {
72
- const F = o.findIndex((Z) => Z.value === n);
73
- o.splice(F, 1);
72
+ s.push({ field: c, operator: "eq", value: n });
73
+ else if (u) {
74
+ const B = s.findIndex((te) => te.value === n);
75
+ s.splice(B, 1);
74
76
  }
75
- a.logic = "and", r.current !== -1 ? c[r.current] = {
77
+ i.logic = "and", a.current !== -1 ? o[a.current] = {
76
78
  logic: "or",
77
- filters: o
78
- } : c.push({
79
+ filters: s
80
+ } : o.push({
79
81
  logic: "or",
80
- filters: o
81
- }), (!t.value && n === "all" || o.length === 0) && c.splice(r.current, 1), a.filters = c, T(a);
82
- }, Q = () => {
82
+ filters: s
83
+ }), (!t.value && n === "all" || s.length === 0) && o.splice(a.current, 1), i.filters = o, U(i);
84
+ }, V = () => {
83
85
  let t = !1;
84
- if (s) {
85
- const n = [...s.filters];
86
- return r.current === -1 ? !1 : (t = x.every((i) => r.current !== -1 && n[r.current].filters ? n[r.current].filters.findIndex(
87
- (c) => c.value === i
86
+ if (u) {
87
+ const n = [...u.filters];
88
+ return a.current === -1 ? !1 : (t = g.every((c) => a.current !== -1 && n[a.current].filters ? n[a.current].filters.findIndex(
89
+ (o) => o.value === c
88
90
  ) >= 0 : !1), t);
89
91
  }
90
92
  return t;
91
- }, u = te(), { column: k } = e;
92
- if (!k || !k.field)
93
+ }, f = ie(), { column: F } = e;
94
+ if (!F || !F.field)
93
95
  return /* @__PURE__ */ l.createElement("div", null);
94
- const U = N() ? e.expanded : I, E = [];
95
- if (s) {
96
- const t = [...s.filters];
97
- r.current = t.findIndex((n) => n.filters && n.filters.length > 0 ? n.filters[0].field === k.field : !1), r.current !== -1 && t[r.current].filters.length > 0 && t[r.current].filters.forEach((n) => {
98
- n.field === e.column.field && E.push(n.value);
96
+ const A = L() ? e.expanded : N, b = [];
97
+ if (u) {
98
+ const t = [...u.filters];
99
+ a.current = t.findIndex((n) => n.filters && n.filters.length > 0 ? n.filters[0].field === F.field : !1), a.current !== -1 && t[a.current].filters.length > 0 && t[a.current].filters.forEach((n) => {
100
+ n.field === e.column.field && b.push(n.value);
99
101
  });
100
102
  }
101
- const X = u.toLanguageString(h, f[h]), Y = e.searchBox ? /* @__PURE__ */ l.createElement(e.searchBox, { value: b, onChange: D }) : /* @__PURE__ */ l.createElement("div", { className: "k-searchbox k-textbox k-input k-input-md k-input-solid" }, /* @__PURE__ */ l.createElement(ne, { className: "k-input-icon", name: "search", icon: re }), /* @__PURE__ */ l.createElement(
102
- ee,
103
+ const Z = () => {
104
+ C(!1);
105
+ }, _ = () => {
106
+ C(!1), e.onCloseMenu && e.onCloseMenu();
107
+ }, p = f.toLanguageString(x, d[x]), ee = e.searchBox ? /* @__PURE__ */ l.createElement(e.searchBox, { value: D, onChange: O }) : /* @__PURE__ */ l.createElement(
108
+ "div",
103
109
  {
104
- className: "k-input-inner",
105
- type: "text",
106
- placeholder: u.toLanguageString(O, f[O]),
107
- value: b,
108
- onChange: (t) => D(t.nativeEvent)
109
- }
110
- ), /* @__PURE__ */ l.createElement(
111
- v,
110
+ className: `k-searchbox k-textbox k-input k-input-md k-input-solid ${r != null && r.mobileMode ? "k-input-lg" : "k-input-md"}`
111
+ },
112
+ /* @__PURE__ */ l.createElement(ce, { className: "k-input-icon", name: "search", icon: se }),
113
+ /* @__PURE__ */ l.createElement(
114
+ ae,
115
+ {
116
+ className: "k-input-inner",
117
+ type: "text",
118
+ placeholder: f.toLanguageString(R, d[R]),
119
+ value: D,
120
+ onChange: (t) => O(t.nativeEvent)
121
+ }
122
+ ),
123
+ /* @__PURE__ */ l.createElement(
124
+ I,
125
+ {
126
+ type: "button",
127
+ rounded: null,
128
+ className: "k-input-button",
129
+ onClick: Y,
130
+ icon: "x",
131
+ "aria-label": p,
132
+ svgIcon: ue
133
+ }
134
+ )
135
+ ), S = b.filter((t, n) => b.indexOf(t) === n);
136
+ return /* @__PURE__ */ l.createElement(le, null, !(e.alwaysExpand && !(r != null && r.mobileMode)) && /* @__PURE__ */ l.createElement("div", { className: "k-expander" }, /* @__PURE__ */ l.createElement(
137
+ ne,
112
138
  {
113
- type: "button",
114
- rounded: null,
115
- className: "k-input-button",
116
- onClick: H,
117
- icon: "x",
118
- "aria-label": X,
119
- svgIcon: ae
139
+ title: f.toLanguageString(z, d[z]),
140
+ iconClass: "k-i-filter",
141
+ svgIcon: fe,
142
+ expandable: !0,
143
+ expanded: !!A,
144
+ onClick: X
120
145
  }
121
- )), L = E.filter((t, n) => E.indexOf(t) === n);
122
- return /* @__PURE__ */ l.createElement($, null, /* @__PURE__ */ l.createElement(
123
- _,
146
+ )), r != null && r.mobileMode && y ? /* @__PURE__ */ l.createElement(
147
+ me,
124
148
  {
125
- title: u.toLanguageString(q, f[q]),
126
- iconClass: "k-i-filter",
127
- svgIcon: ie,
128
- onClick: W
149
+ onBackView: Z,
150
+ handleClose: _,
151
+ searchBox: e.searchBox,
152
+ handleCheckBoxChange: v,
153
+ isAllSelected: V,
154
+ currentData: g,
155
+ uniqueFilterValues: S,
156
+ submit: G,
157
+ clear: q
129
158
  }
130
- ), /* @__PURE__ */ l.createElement(p, { show: !!U }, /* @__PURE__ */ l.createElement("form", { className: "k-filter-menu", onSubmit: K, onReset: J }, /* @__PURE__ */ l.createElement("div", { className: "k-filter-menu-container" }, Y, /* @__PURE__ */ l.createElement("ul", { className: "k-reset k-multicheck-wrap" }, /* @__PURE__ */ l.createElement("li", { className: "k-item k-check-all-wrap" }, /* @__PURE__ */ l.createElement(
131
- M,
159
+ ) : /* @__PURE__ */ l.createElement(re, { show: (e.alwaysExpand || !!A) && !(r != null && r.mobileMode) }, /* @__PURE__ */ l.createElement("form", { className: "k-filter-menu", onSubmit: G, onReset: q }, /* @__PURE__ */ l.createElement("div", { className: "k-filter-menu-container" }, ee, /* @__PURE__ */ l.createElement("ul", { className: "k-reset k-multicheck-wrap" }, /* @__PURE__ */ l.createElement("li", { className: "k-item k-check-all-wrap" }, /* @__PURE__ */ l.createElement(
160
+ P,
132
161
  {
133
- label: u.toLanguageString(w, f[w]),
134
- onChange: (t) => y(t, "all"),
135
- checked: Q()
162
+ label: f.toLanguageString(j, d[j]),
163
+ onChange: (t) => v(t, "all"),
164
+ checked: V()
136
165
  }
137
- )), x.map((t, n) => /* @__PURE__ */ l.createElement("li", { className: "k-item", key: n }, /* @__PURE__ */ l.createElement(
138
- M,
166
+ )), g.map((t, n) => /* @__PURE__ */ l.createElement("li", { className: "k-item", key: n }, /* @__PURE__ */ l.createElement(
167
+ P,
139
168
  {
140
169
  label: String(t),
141
- onChange: (i) => y(i, t),
142
- checked: L.includes(t)
170
+ onChange: (c) => v(c, t),
171
+ checked: S.includes(t)
143
172
  }
144
- )))), /* @__PURE__ */ l.createElement("div", { className: "k-filter-selected-items" }, L.length + " " + u.toLanguageString(V, f[V])), /* @__PURE__ */ l.createElement("div", { className: "k-actions k-hstack k-justify-content-stretch" }, /* @__PURE__ */ l.createElement(v, { themeColor: "primary", type: "submit" }, u.toLanguageString(G, f[G])), /* @__PURE__ */ l.createElement(v, { className: "k-button", type: "reset" }, u.toLanguageString(h, f[h])))))));
173
+ )))), /* @__PURE__ */ l.createElement("div", { className: "k-filter-selected-items" }, S.length + " " + f.toLanguageString(T, d[T])), /* @__PURE__ */ l.createElement("div", { className: "k-actions k-hstack k-justify-content-stretch" }, /* @__PURE__ */ l.createElement(I, { themeColor: "primary", type: "submit" }, f.toLanguageString(W, d[W])), /* @__PURE__ */ l.createElement(I, { className: "k-button", type: "reset" }, f.toLanguageString(x, d[x])))))));
145
174
  };
146
175
  export {
147
- Fe as GridColumnMenuCheckboxFilter
176
+ De as GridColumnMenuCheckboxFilter
148
177
  };
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("react"),g=require("@progress/kendo-react-inputs"),j=require("@progress/kendo-react-common"),q=require("@progress/kendo-svg-icons"),b=require("@progress/kendo-react-buttons"),M=require("@progress/kendo-react-intl"),r=require("../messages/index.js");function w(s){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const c in s)if(c!=="default"){const u=Object.getOwnPropertyDescriptor(s,c);Object.defineProperty(n,c,u.get?u:{enumerable:!0,get:()=>s[c]})}}return n.default=s,Object.freeze(n)}const t=w(O),S=s=>{const{columnsState:n,onCloseMenu:c,onColumnsStateChange:u}=s,f=M.useLocalization(),[m,E]=t.useState(""),h=n.reduce((e,l)=>({...e,[l.id||""]:!l.hidden}),{}),[o,C]=t.useState(h),y=t.useMemo(()=>(n==null?void 0:n.filter(e=>{var l;return(l=e.title||e.field)==null?void 0:l.toLowerCase().includes(m.toLowerCase())}))||[],[n,m]),d=t.useMemo(()=>Object.values(o).filter(e=>e).length,[o]),k=t.useMemo(()=>d===(n==null?void 0:n.length),[n,d]),N=t.useCallback(e=>{const a=(i=>(i==null?void 0:i.map(p=>({...p,hidden:!o[p.id||""]})))||[])(n);u&&u(a),c==null||c.call(void 0)},[o,n,c]),v=()=>{C(h)},B=t.useCallback(()=>{const e={...o};Object.keys(e).forEach((l,a)=>e[l]=k&&a===0?!0:!k),C(e)},[o,k]),R=t.useCallback((e,l)=>{const a={...o};a[l||""]=e,C(a)},[o]),x=e=>{E(String(e.target.value))};return t.createElement("form",{className:"k-filter-menu"},t.createElement("div",{className:"k-filter-menu-container"},t.createElement(g.TextBox,{className:"k-searchbox",value:m,onChange:x,prefix:()=>t.createElement(g.InputPrefix,null,t.createElement(j.IconWrap,{name:"search",icon:q.searchIcon}))}),t.createElement("ul",{className:"k-reset k-multicheck-wrap"},!m&&t.createElement("li",{className:"k-item k-check-all-wrap"},t.createElement(g.Checkbox,{checked:k,onChange:B,label:f.toLanguageString(r.filterSelectAll,r.messages[r.filterSelectAll])})),y.map((e,l)=>t.createElement("li",{key:e.id,className:"k-item"},t.createElement(g.Checkbox,{disabled:o[e.id||""]&&d===1,checked:o[e.id||""],onChange:a=>{var i;return R(!!((i=a.target.element)!=null&&i.checked),e.id)},label:e.title||e.field})))),t.createElement("div",{className:"k-filter-selected-items"},d," selected items"),t.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},t.createElement(b.Button,{type:"button",themeColor:"primary",onClick:N},f.toLanguageString(r.filterApplyButton,r.messages[r.filterApplyButton])),t.createElement(b.Button,{type:"button",onClick:v},f.toLanguageString(r.filterResetButton,r.messages[r.filterResetButton])))))};S.displayName="GridColumnMenuColumnsChooser";exports.GridColumnMenuColumnsChooser=S;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react"),h=require("@progress/kendo-react-inputs"),z=require("@progress/kendo-react-common"),A=require("@progress/kendo-svg-icons"),B=require("@progress/kendo-react-buttons"),F=require("@progress/kendo-react-intl"),l=require("../messages/index.js"),_=require("./GridColumnMenuItem.js"),V=require("./GridColumnMenuItemGroup.js"),W=require("./GridColumnMenuItemContent.js"),H=require("../GridClientWrapper.js"),J=require("./adaptiveContent/GridAdaptiveColumnChooser.js");function K(n){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const c in n)if(c!=="default"){const u=Object.getOwnPropertyDescriptor(n,c);Object.defineProperty(o,c,u.get?u:{enumerable:!0,get:()=>n[c]})}}return o.default=n,Object.freeze(o)}const e=K(P),R=n=>{const{columnsState:o,onCloseMenu:c,onColumnsStateChange:u}=n,d=F.useLocalization(),f=e.useContext(H.GridContext),[m,L]=e.useState(""),[k,O]=e.useState(n.expanded||!1),[x,p]=e.useState(!1),S=o.reduce((t,a)=>({...t,[a.id||""]:!a.hidden}),{}),[r,E]=e.useState(S),b=e.useMemo(()=>(o==null?void 0:o.filter(t=>{var a;return(a=t.title||t.field)==null?void 0:a.toLowerCase().includes(m.toLowerCase())}))||[],[o,m]),C=e.useMemo(()=>Object.values(r).filter(t=>t).length,[r]),g=e.useMemo(()=>C===(o==null?void 0:o.length),[o,C]),M=e.useCallback(t=>{t.preventDefault();const s=(i=>(i==null?void 0:i.map(w=>({...w,hidden:!r[w.id||""]})))||[])(o);u&&u(s),c==null||c.call(void 0)},[r,o,c]),v=t=>{t.preventDefault(),E(S)},y=e.useCallback(()=>{const t={...r};Object.keys(t).forEach((a,s)=>t[a]=g&&s===0?!0:!g),E(t)},[r,g]),I=e.useCallback((t,a)=>{const s={...r};s[a||""]=t,E(s)},[r]),G=t=>{L(String(t.target.value))},j=e.useCallback(()=>{const t=q(),a=!(t?n.expanded:k);n.onExpandChange&&n.onExpandChange(a),p(!x),!t&&!f.mobileMode&&O(a)},[k]),T=()=>{p(!1)},D=()=>{p(!1),n.onCloseMenu&&n.onCloseMenu()},q=()=>n.expanded!==void 0,N=q()?n.expanded:k;return e.createElement(V.GridColumnMenuItemGroup,null,e.createElement("div",{className:"k-expander"},!(n.alwaysExpand&&!f.mobileMode)&&e.createElement(_.GridColumnMenuItem,{title:d.toLanguageString(l.adaptiveColumnMenuChooserTitle,l.messages[l.adaptiveColumnMenuChooserTitle]),iconClass:"k-i-filter",svgIcon:A.columnsIcon,expandable:!0,expanded:!!N,onClick:j})),f.mobileMode&&x?e.createElement(e.Fragment,null,e.createElement(J.GridAdaptiveColumnChooser,{onBackView:T,handleClose:D,onApply:M,onReset:v,filter:m,onFilter:G,allSelected:g,onSelectAll:y,filtered:b,selectedColumns:r,checkedCount:C,onCheckChange:I})):e.createElement(W.GridColumnMenuItemContent,{show:(n.alwaysExpand||!!N)&&!f.mobileMode},e.createElement("form",{onSubmit:M,onReset:v,className:"k-filter-menu"},e.createElement("div",{className:"k-filter-menu-container"},e.createElement(h.TextBox,{className:"k-searchbox",value:m,onChange:G,prefix:()=>e.createElement(h.InputPrefix,null,e.createElement(z.IconWrap,{name:"search",icon:A.searchIcon}))}),e.createElement("ul",{className:"k-reset k-multicheck-wrap"},!m&&e.createElement("li",{className:"k-item k-check-all-wrap"},e.createElement(h.Checkbox,{checked:g,onChange:y,label:d.toLanguageString(l.filterSelectAll,l.messages[l.filterSelectAll])})),b.map((t,a)=>e.createElement("li",{key:t.id,className:"k-item"},e.createElement(h.Checkbox,{disabled:r[t.id||""]&&C===1,checked:r[t.id||""],onChange:s=>{var i;return I(!!((i=s.target.element)!=null&&i.checked),t.id)},label:t.title||t.field})))),e.createElement("div",{className:"k-filter-selected-items"},C," ",d.toLanguageString(l.columnMenuColumnChooserSelectedItems,l.messages[l.columnMenuColumnChooserSelectedItems])),e.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},e.createElement(B.Button,{type:"submit",themeColor:"primary"},d.toLanguageString(l.filterApplyButton,l.messages[l.filterApplyButton])),e.createElement(B.Button,{type:"reset"},d.toLanguageString(l.filterResetButton,l.messages[l.filterResetButton])))))))};R.displayName="GridColumnMenuColumnsChooser";exports.GridColumnMenuColumnsChooser=R;
@@ -6,77 +6,122 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as t from "react";
10
- import { TextBox as M, InputPrefix as I, Checkbox as p } from "@progress/kendo-react-inputs";
11
- import { IconWrap as R } from "@progress/kendo-react-common";
12
- import { searchIcon as j } from "@progress/kendo-svg-icons";
13
- import { Button as g } from "@progress/kendo-react-buttons";
14
- import { useLocalization as z } from "@progress/kendo-react-intl";
15
- import { filterSelectAll as E, messages as k, filterApplyButton as S, filterResetButton as b } from "../messages/index.mjs";
16
- const F = (N) => {
17
- const { columnsState: l, onCloseMenu: c, onColumnsStateChange: h } = N, u = z(), [i, y] = t.useState(""), C = l.reduce((e, n) => ({ ...e, [n.id || ""]: !n.hidden }), {}), [o, d] = t.useState(C), x = t.useMemo(
18
- () => (l == null ? void 0 : l.filter((e) => {
9
+ import * as e from "react";
10
+ import { TextBox as W, InputPrefix as q, Checkbox as L } from "@progress/kendo-react-inputs";
11
+ import { IconWrap as H } from "@progress/kendo-react-common";
12
+ import { columnsIcon as J, searchIcon as K } from "@progress/kendo-svg-icons";
13
+ import { Button as A } from "@progress/kendo-react-buttons";
14
+ import { useLocalization as Q } from "@progress/kendo-react-intl";
15
+ import { adaptiveColumnMenuChooserTitle as B, messages as u, filterSelectAll as F, columnMenuColumnChooserSelectedItems as R, filterApplyButton as j, filterResetButton as z } from "../messages/index.mjs";
16
+ import { GridColumnMenuItem as U } from "./GridColumnMenuItem.mjs";
17
+ import { GridColumnMenuItemGroup as X } from "./GridColumnMenuItemGroup.mjs";
18
+ import { GridColumnMenuItemContent as Y } from "./GridColumnMenuItemContent.mjs";
19
+ import { GridContext as Z } from "../GridClientWrapper.mjs";
20
+ import { GridAdaptiveColumnChooser as _ } from "./adaptiveContent/GridAdaptiveColumnChooser.mjs";
21
+ const $ = (o) => {
22
+ const { columnsState: l, onCloseMenu: C, onColumnsStateChange: k } = o, i = Q(), f = e.useContext(Z), [s, D] = e.useState(""), [g, O] = e.useState(o.expanded || !1), [E, h] = e.useState(!1), x = l.reduce((t, n) => ({ ...t, [n.id || ""]: !n.hidden }), {}), [a, p] = e.useState(x), S = e.useMemo(
23
+ () => (l == null ? void 0 : l.filter((t) => {
19
24
  var n;
20
- return (n = e.title || e.field) == null ? void 0 : n.toLowerCase().includes(i.toLowerCase());
25
+ return (n = t.title || t.field) == null ? void 0 : n.toLowerCase().includes(s.toLowerCase());
21
26
  })) || [],
22
- [l, i]
23
- ), s = t.useMemo(
24
- () => Object.values(o).filter((e) => e).length,
25
- [o]
26
- ), m = t.useMemo(() => s === (l == null ? void 0 : l.length), [l, s]), v = t.useCallback(
27
- (e) => {
28
- const a = ((r) => (r == null ? void 0 : r.map((f) => ({
29
- ...f,
30
- hidden: !o[f.id || ""]
27
+ [l, s]
28
+ ), m = e.useMemo(
29
+ () => Object.values(a).filter((t) => t).length,
30
+ [a]
31
+ ), d = e.useMemo(() => m === (l == null ? void 0 : l.length), [l, m]), b = e.useCallback(
32
+ (t) => {
33
+ t.preventDefault();
34
+ const r = ((c) => (c == null ? void 0 : c.map((G) => ({
35
+ ...G,
36
+ hidden: !a[G.id || ""]
31
37
  }))) || [])(l);
32
- h && h(a), c == null || c.call(void 0);
38
+ k && k(r), C == null || C.call(void 0);
33
39
  },
34
- [o, l, c]
35
- ), L = () => {
36
- d(C);
37
- }, w = t.useCallback(() => {
38
- const e = { ...o };
39
- Object.keys(e).forEach(
40
- (n, a) => e[n] = m && a === 0 ? !0 : !m
41
- ), d(e);
42
- }, [o, m]), B = t.useCallback(
43
- (e, n) => {
44
- const a = { ...o };
45
- a[n || ""] = e, d(a);
40
+ [a, l, C]
41
+ ), v = (t) => {
42
+ t.preventDefault(), p(x);
43
+ }, M = e.useCallback(() => {
44
+ const t = { ...a };
45
+ Object.keys(t).forEach(
46
+ (n, r) => t[n] = d && r === 0 ? !0 : !d
47
+ ), p(t);
48
+ }, [a, d]), y = e.useCallback(
49
+ (t, n) => {
50
+ const r = { ...a };
51
+ r[n || ""] = t, p(r);
46
52
  },
47
- [o]
48
- ), A = (e) => {
49
- y(String(e.target.value));
50
- };
51
- return /* @__PURE__ */ t.createElement("form", { className: "k-filter-menu" }, /* @__PURE__ */ t.createElement("div", { className: "k-filter-menu-container" }, /* @__PURE__ */ t.createElement(
52
- M,
53
+ [a]
54
+ ), N = (t) => {
55
+ D(String(t.target.value));
56
+ }, T = e.useCallback(() => {
57
+ const t = w(), n = !(t ? o.expanded : g);
58
+ o.onExpandChange && o.onExpandChange(n), h(!E), !t && !f.mobileMode && O(n);
59
+ }, [g]), V = () => {
60
+ h(!1);
61
+ }, P = () => {
62
+ h(!1), o.onCloseMenu && o.onCloseMenu();
63
+ }, w = () => o.expanded !== void 0, I = w() ? o.expanded : g;
64
+ return /* @__PURE__ */ e.createElement(X, null, /* @__PURE__ */ e.createElement("div", { className: "k-expander" }, !(o.alwaysExpand && !f.mobileMode) && /* @__PURE__ */ e.createElement(
65
+ U,
66
+ {
67
+ title: i.toLanguageString(
68
+ B,
69
+ u[B]
70
+ ),
71
+ iconClass: "k-i-filter",
72
+ svgIcon: J,
73
+ expandable: !0,
74
+ expanded: !!I,
75
+ onClick: T
76
+ }
77
+ )), f.mobileMode && E ? /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(
78
+ _,
79
+ {
80
+ onBackView: V,
81
+ handleClose: P,
82
+ onApply: b,
83
+ onReset: v,
84
+ filter: s,
85
+ onFilter: N,
86
+ allSelected: d,
87
+ onSelectAll: M,
88
+ filtered: S,
89
+ selectedColumns: a,
90
+ checkedCount: m,
91
+ onCheckChange: y
92
+ }
93
+ )) : /* @__PURE__ */ e.createElement(Y, { show: (o.alwaysExpand || !!I) && !f.mobileMode }, /* @__PURE__ */ e.createElement("form", { onSubmit: b, onReset: v, className: "k-filter-menu" }, /* @__PURE__ */ e.createElement("div", { className: "k-filter-menu-container" }, /* @__PURE__ */ e.createElement(
94
+ W,
53
95
  {
54
96
  className: "k-searchbox",
55
- value: i,
56
- onChange: A,
57
- prefix: () => /* @__PURE__ */ t.createElement(I, null, /* @__PURE__ */ t.createElement(R, { name: "search", icon: j }))
97
+ value: s,
98
+ onChange: N,
99
+ prefix: () => /* @__PURE__ */ e.createElement(q, null, /* @__PURE__ */ e.createElement(H, { name: "search", icon: K }))
58
100
  }
59
- ), /* @__PURE__ */ t.createElement("ul", { className: "k-reset k-multicheck-wrap" }, !i && /* @__PURE__ */ t.createElement("li", { className: "k-item k-check-all-wrap" }, /* @__PURE__ */ t.createElement(
60
- p,
101
+ ), /* @__PURE__ */ e.createElement("ul", { className: "k-reset k-multicheck-wrap" }, !s && /* @__PURE__ */ e.createElement("li", { className: "k-item k-check-all-wrap" }, /* @__PURE__ */ e.createElement(
102
+ L,
61
103
  {
62
- checked: m,
63
- onChange: w,
64
- label: u.toLanguageString(E, k[E])
104
+ checked: d,
105
+ onChange: M,
106
+ label: i.toLanguageString(F, u[F])
65
107
  }
66
- )), x.map((e, n) => /* @__PURE__ */ t.createElement("li", { key: e.id, className: "k-item" }, /* @__PURE__ */ t.createElement(
67
- p,
108
+ )), S.map((t, n) => /* @__PURE__ */ e.createElement("li", { key: t.id, className: "k-item" }, /* @__PURE__ */ e.createElement(
109
+ L,
68
110
  {
69
- disabled: o[e.id || ""] && s === 1,
70
- checked: o[e.id || ""],
71
- onChange: (a) => {
72
- var r;
73
- return B(!!((r = a.target.element) != null && r.checked), e.id);
111
+ disabled: a[t.id || ""] && m === 1,
112
+ checked: a[t.id || ""],
113
+ onChange: (r) => {
114
+ var c;
115
+ return y(!!((c = r.target.element) != null && c.checked), t.id);
74
116
  },
75
- label: e.title || e.field
117
+ label: t.title || t.field
76
118
  }
77
- )))), /* @__PURE__ */ t.createElement("div", { className: "k-filter-selected-items" }, s, " selected items"), /* @__PURE__ */ t.createElement("div", { className: "k-actions k-actions-start k-actions-horizontal" }, /* @__PURE__ */ t.createElement(g, { type: "button", themeColor: "primary", onClick: v }, u.toLanguageString(S, k[S])), /* @__PURE__ */ t.createElement(g, { type: "button", onClick: L }, u.toLanguageString(b, k[b])))));
119
+ )))), /* @__PURE__ */ e.createElement("div", { className: "k-filter-selected-items" }, m, " ", i.toLanguageString(
120
+ R,
121
+ u[R]
122
+ )), /* @__PURE__ */ e.createElement("div", { className: "k-actions k-actions-start k-actions-horizontal" }, /* @__PURE__ */ e.createElement(A, { type: "submit", themeColor: "primary" }, i.toLanguageString(j, u[j])), /* @__PURE__ */ e.createElement(A, { type: "reset" }, i.toLanguageString(z, u[z])))))));
78
123
  };
79
- F.displayName = "GridColumnMenuColumnsChooser";
124
+ $.displayName = "GridColumnMenuColumnsChooser";
80
125
  export {
81
- F as GridColumnMenuColumnsChooser
126
+ $ as GridColumnMenuColumnsChooser
82
127
  };
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const X=require("react"),L=require("@progress/kendo-data-query"),Y=require("./GridColumnMenuItem.js"),Z=require("./GridColumnMenuItemGroup.js"),$=require("./GridColumnMenuItemContent.js"),ee=require("@progress/kendo-react-intl"),n=require("../filterCommon.js"),c=require("../messages/index.js"),te=require("./GridColumnMenuFilterUI.js"),T=require("@progress/kendo-react-buttons"),re=require("@progress/kendo-svg-icons");function le(e){const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const f in e)if(f!=="default"){const F=Object.getOwnPropertyDescriptor(e,f);Object.defineProperty(u,f,F.get?F:{enumerable:!0,get:()=>e[f]})}}return u.default=e,Object.freeze(u)}const l=le(X),I=e=>e||{filters:[],logic:"and"},v=(e,u)=>I(u).filters.filter(i=>L.isCompositeFilterDescriptor(i)?i.filters&&i.filters.length&&!i.filters.find(C=>L.isCompositeFilterDescriptor(C)||C.field!==e):!1)[0]||null,ne=(e,u)=>!!v(e,u),ie=e=>{const u=l.useCallback(()=>{let t;if(e.column&&e.column.field){const a=n.getFilterType(e.column.filter),r=n.getDefaultOperator(e.filterOperators,a);t=v(e.column.field,e.filter),t=t?{...t,filters:t.filters.map(o=>({...o}))}:{logic:"and",filters:[{field:e.column.field,operator:r,value:n.IsUnaryFilter(r)?null:void 0},{field:e.column.field,operator:r,value:n.IsUnaryFilter(r)?null:void 0}]},t.filters.filter(o=>o.field===e.column.field).length===1&&t.filters.splice(1,0,{field:e.column.field,operator:r})}return t},[e.column]),[f,F]=l.useState(e.expanded||!1),[i,C]=l.useState(u()),S=()=>e.expanded!==void 0,_=()=>{const t=S(),a=!(t?e.expanded:f);e.onExpandChange&&e.onExpandChange(a),t||F(a)},j=t=>{p(0,t)},R=t=>{p(1,t)},p=(t,a)=>{const r=i.filters.map((o,s)=>s===t?{...o,value:a.value,operator:a.operator}:o);C({...i,filters:r})},V=t=>{C({...i,logic:t.target.value.operator})},w=t=>{if(t.preventDefault(),!e.onFilterChange)return;const a=e.column.field,r=I(e.filter),o=v(a,e.filter),s=r.filters.filter(g=>g!==o);s.length?e.onFilterChange({...r,filters:s},t):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()},b=()=>({...i,filters:i.filters.filter(t=>t.value!==void 0&&t.value!==null&&t.value!==""||t.value===null&&t.operator)}),N=t=>{if(t.preventDefault(),!e.onFilterChange)return;const a=e.column.field,r=I(e.filter),o=v(a,e.filter),s=b();let g=null;if(o&&s.filters.length>0){const M=r.filters.map(y=>y===o?s:y);g={...r,filters:M}}else if(s.filters.length===0){const M=r.filters.filter(y=>y!==o);M.length&&(g={...r,filters:M})}else g={...r,filters:[...r.filters,s]};e.onFilterChange(g,t),e.onCloseMenu&&e.onCloseMenu()},{column:h,filterUI:z,hideSecondFilter:x,filterOperators:A}=e,d=ee.useLocalization();if(!h||!h.field)return l.createElement("div",null);const G=n.getFilterType(h.filter),H=x!==void 0?x:n.defaultHideSecondFilter[G],m=i.filters,O=n.operatorMap(A[G],d),k=n.operatorMap(n.booleanFilterValues,d),Q={field:h.field,value:m[0].value,operator:m[0].operator,operators:O,booleanValues:k,onChange:j,filterType:G},J={field:h.field,value:m[1].value,operator:m[1].operator,operators:O,booleanValues:k,onChange:R,filterType:G},D=i.logic,q=n.operatorMap(n.filterLogicList,d),E={value:q.find(t=>t.operator===(D===null?"":D)),onChange:V,data:q},B=z,P={firstFilterProps:Q,secondFilterProps:J,logicData:E.data,logicValue:E.value,onLogicChange:E.onChange,hideSecondFilter:H},K=b().filters.length!==0||n.IsUnaryFilter(m[0].operator)||n.IsUnaryFilter(m[1].operator),W=S()?e.expanded:f,U=e.alwaysExpand;return l.createElement(Z.GridColumnMenuItemGroup,null,!U&&l.createElement(Y.GridColumnMenuItem,{title:d.toLanguageString(c.filterTitle,c.messages[c.filterTitle]),iconClass:"k-i-filter",svgIcon:re.filterIcon,onClick:_}),l.createElement($.GridColumnMenuItemContent,{show:U||!!W},l.createElement("form",{className:"k-filter-menu",onSubmit:N,onReset:w},l.createElement("div",{className:"k-filter-menu-container"},B?l.createElement(B,{...P}):l.createElement(te.GridColumnMenuFilterUI,{...P}),l.createElement("div",{className:"k-actions k-actions-stretched"},l.createElement(T.Button,{themeColor:"primary",disabled:!K},d.toLanguageString(c.filterSubmitButton,c.messages[c.filterSubmitButton])),l.createElement(T.Button,{type:"reset"},d.toLanguageString(c.filterClearButton,c.messages[c.filterClearButton])))))))};exports.GridColumnMenuFilter=ie;exports.filterGroupByField=v;exports.isColumnMenuFilterActive=ne;exports.rootFilterOrDefault=I;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const le=require("react"),w=require("@progress/kendo-data-query"),re=require("./GridColumnMenuItem.js"),ne=require("./GridColumnMenuItemGroup.js"),ie=require("./GridColumnMenuItemContent.js"),oe=require("@progress/kendo-react-intl"),i=require("../filterCommon.js"),u=require("../messages/index.js"),ae=require("./GridColumnMenuFilterUI.js"),R=require("@progress/kendo-react-buttons"),ue=require("@progress/kendo-svg-icons"),se=require("../GridClientWrapper.js"),ce=require("./adaptiveContent/GridAdaptiveFilterMenu.js");function de(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const c in e)if(c!=="default"){const g=Object.getOwnPropertyDescriptor(e,c);Object.defineProperty(o,c,g.get?g:{enumerable:!0,get:()=>e[c]})}}return o.default=e,Object.freeze(o)}const l=de(le),x=e=>e||{filters:[],logic:"and"},h=(e,o)=>x(o).filters.filter(C=>w.isCompositeFilterDescriptor(C)?C.filters&&C.filters.length&&!C.filters.find(M=>w.isCompositeFilterDescriptor(M)||M.field!==e):!1)[0]||null,fe=(e,o)=>!!h(e,o),me=e=>{const o=l.useContext(se.GridContext),c=l.useCallback(()=>{let t;if(e.column&&e.column.field){const n=i.getFilterType(e.column.filter),r=i.getDefaultOperator(e.filterOperators,n);t=h(e.column.field,e.filter),t=t?{...t,filters:t.filters.map(a=>({...a}))}:{logic:"and",filters:[{field:e.column.field,operator:r,value:i.IsUnaryFilter(r)?null:void 0},{field:e.column.field,operator:r,value:i.IsUnaryFilter(r)?null:void 0}]},t.filters.filter(a=>a.field===e.column.field).length===1&&t.filters.splice(1,0,{field:e.column.field,operator:r})}return t},[e.column]),[g,C]=l.useState(e.expanded||!1),[M,b]=l.useState(!1),[d,k]=l.useState(c()),q=()=>e.expanded!==void 0,z=()=>{const t=q(),n=!(t?e.expanded:g);e.onExpandChange&&e.onExpandChange(n),b(!M),!t&&!o.mobileMode&&C(n)},H=t=>{O(0,t)},$=t=>{O(1,t)},O=(t,n)=>{const r=d.filters.map((a,s)=>s===t?{...a,value:n.value,operator:n.operator}:a);k({...d,filters:r})},Q=t=>{let n=t.target.value;t.target.tagName==="SPAN"&&(n=t.target.parentElement.value),k({...d,logic:n})},T=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=e.column.field,r=x(e.filter),a=h(n,e.filter),s=r.filters.filter(v=>v!==a);s.length?e.onFilterChange({...r,filters:s},t):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()},D=()=>({...d,filters:d.filters.filter(t=>t.value!==void 0&&t.value!==null&&t.value!==""||t.value===null&&t.operator)}),B=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=e.column.field,r=x(e.filter),a=h(n,e.filter),s=D();let v=null;if(a&&s.filters.length>0){const G=r.filters.map(E=>E===a?s:E);v={...r,filters:G}}else if(s.filters.length===0){const G=r.filters.filter(E=>E!==a);G.length&&(v={...r,filters:G})}else v={...r,filters:[...r.filters,s]};e.onFilterChange(v,t),e.onCloseMenu&&e.onCloseMenu()},{column:f,filterUI:W,hideSecondFilter:P,filterOperators:J}=e,m=oe.useLocalization();if(!f||!f.field)return l.createElement("div",null);const p=i.getFilterType(f.filter),K=P!==void 0?P:i.defaultHideSecondFilter[p],F=d.filters,L=i.operatorMap(J[p],m),U=i.operatorMap(i.booleanFilterValues,m),X={field:f.field,value:F[0].value,operator:F[0].operator,operators:L,booleanValues:U,onChange:H,filterType:p},Y={field:f.field,value:F[1].value,operator:F[1].operator,operators:L,booleanValues:U,onChange:$,filterType:p},A=d.logic,N=i.operatorMap(i.filterLogicList,m),S={value:N.find(t=>t.operator===(A===null?"":A)),onChange:Q,data:N},y=W,I={firstFilterProps:X,secondFilterProps:Y,logicData:S.data,logicValue:S.value,onLogicChange:S.onChange,hideSecondFilter:K},V=D().filters.length!==0||i.IsUnaryFilter(F[0].operator)||i.IsUnaryFilter(F[1].operator),_=q()?e.expanded:g,j=e.alwaysExpand&&!o.mobileMode,Z=()=>{b(!1)},ee=()=>{b(!1),e.onCloseMenu&&e.onCloseMenu()},te=`${m.toLanguageString(u.adaptiveColumnMenuFilterTitle,u.messages[u.adaptiveColumnMenuFilterTitle])} ${f.title||f.field}`;return l.createElement(ne.GridColumnMenuItemGroup,null,!j&&l.createElement("div",{className:"k-expander"},l.createElement(re.GridColumnMenuItem,{title:m.toLanguageString(u.filterTitle,u.messages[u.filterTitle]),iconClass:"k-i-filter",svgIcon:ue.filterIcon,expandable:!0,expanded:!!_,onClick:z})),o.mobileMode&&M?l.createElement(ce.GridAdaptiveFilterMenu,{FilterUI:y,filterUIProps:I,onBackView:Z,adaptiveTitle:te,handleClose:ee,submit:B,clear:T,isFilterValid:V}):l.createElement(ie.GridColumnMenuItemContent,{show:(j||!!_)&&!o.mobileMode},l.createElement("form",{className:"k-filter-menu",onSubmit:B,onReset:T},l.createElement("div",{className:"k-filter-menu-container"},y?l.createElement(y,{...I}):l.createElement(ae.GridColumnMenuFilterUI,{...I}),l.createElement("div",{className:"k-actions k-actions-stretched"},l.createElement(R.Button,{themeColor:"primary",disabled:!V},m.toLanguageString(u.filterSubmitButton,u.messages[u.filterSubmitButton])),l.createElement(R.Button,{type:"reset"},m.toLanguageString(u.filterClearButton,u.messages[u.filterClearButton])))))))};exports.GridColumnMenuFilter=me;exports.filterGroupByField=h;exports.isColumnMenuFilterActive=fe;exports.rootFilterOrDefault=x;