@progress/kendo-react-grid 10.3.0-develop.1 → 11.0.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
  2. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +125 -95
  3. package/columnMenu/GridColumnMenuColumnsChooser.js +1 -1
  4. package/columnMenu/GridColumnMenuColumnsChooser.mjs +104 -58
  5. package/columnMenu/GridColumnMenuFilter.js +1 -1
  6. package/columnMenu/GridColumnMenuFilter.mjs +119 -97
  7. package/columnMenu/GridColumnMenuFilterCell.js +1 -1
  8. package/columnMenu/GridColumnMenuFilterCell.mjs +47 -44
  9. package/columnMenu/GridColumnMenuFilterUI.js +1 -1
  10. package/columnMenu/GridColumnMenuFilterUI.mjs +28 -14
  11. package/columnMenu/GridColumnMenuItem.js +1 -1
  12. package/columnMenu/GridColumnMenuItem.mjs +9 -6
  13. package/columnMenu/GridColumnMenuWrapper.js +1 -1
  14. package/columnMenu/GridColumnMenuWrapper.mjs +68 -71
  15. package/columnMenu/adaptiveContent/GridActionSheetFooter.js +9 -0
  16. package/columnMenu/adaptiveContent/GridActionSheetFooter.mjs +24 -0
  17. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.js +9 -0
  18. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.mjs +73 -0
  19. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.js +9 -0
  20. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.mjs +84 -0
  21. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +9 -0
  22. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +66 -0
  23. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.js +9 -0
  24. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.mjs +67 -0
  25. package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.js +9 -0
  26. package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.mjs +17 -0
  27. package/dist/cdn/js/kendo-react-grid.js +1 -1
  28. package/index.d.mts +34 -3
  29. package/index.d.ts +34 -3
  30. package/messages/index.js +1 -1
  31. package/messages/index.mjs +78 -62
  32. package/package-metadata.js +1 -1
  33. package/package-metadata.mjs +2 -2
  34. package/package.json +16 -16
@@ -6,23 +6,26 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as r from "react";
10
- import { isCompositeFilterDescriptor as T } from "@progress/kendo-data-query";
11
- import { GridColumnMenuItem as te } from "./GridColumnMenuItem.mjs";
12
- import { GridColumnMenuItemGroup as le } from "./GridColumnMenuItemGroup.mjs";
13
- import { GridColumnMenuItemContent as re } from "./GridColumnMenuItemContent.mjs";
14
- import { useLocalization as ie } from "@progress/kendo-react-intl";
15
- import { getFilterType as w, getDefaultOperator as oe, IsUnaryFilter as h, operatorMap as x, booleanFilterValues as ne, filterLogicList as ae, defaultHideSecondFilter as ce } from "../filterCommon.mjs";
16
- import { filterTitle as N, messages as p, filterSubmitButton as _, filterClearButton as z } from "../messages/index.mjs";
17
- import { GridColumnMenuFilterUI as se } from "./GridColumnMenuFilterUI.mjs";
18
- import { Button as H } from "@progress/kendo-react-buttons";
19
- import { filterIcon as ue } from "@progress/kendo-svg-icons";
20
- const S = (e) => e || { filters: [], logic: "and" }, v = (e, f) => S(f).filters.filter((i) => T(i) ? i.filters && i.filters.length && !i.filters.find((d) => T(d) || d.field !== e) : !1)[0] || null, xe = (e, f) => !!v(e, f), pe = (e) => {
21
- const f = r.useCallback(() => {
9
+ import * as l from "react";
10
+ import { isCompositeFilterDescriptor as $ } from "@progress/kendo-data-query";
11
+ import { GridColumnMenuItem as se } from "./GridColumnMenuItem.mjs";
12
+ import { GridColumnMenuItemGroup as ue } from "./GridColumnMenuItemGroup.mjs";
13
+ import { GridColumnMenuItemContent as fe } from "./GridColumnMenuItemContent.mjs";
14
+ import { useLocalization as de } from "@progress/kendo-react-intl";
15
+ import { getFilterType as j, getDefaultOperator as me, IsUnaryFilter as v, operatorMap as y, booleanFilterValues as ge, filterLogicList as Ce, defaultHideSecondFilter as Fe } from "../filterCommon.mjs";
16
+ import { adaptiveColumnMenuFilterTitle as q, messages as p, filterTitle as J, filterSubmitButton as K, filterClearButton as Q } from "../messages/index.mjs";
17
+ import { GridColumnMenuFilterUI as he } from "./GridColumnMenuFilterUI.mjs";
18
+ import { Button as W } from "@progress/kendo-react-buttons";
19
+ import { filterIcon as ve } from "@progress/kendo-svg-icons";
20
+ import { GridContext as pe } from "../GridClientWrapper.mjs";
21
+ import { GridColumnMenuAdaptiveContext as xe } from "./adaptiveContext/GridColumnMenuAdaptiveContext.mjs";
22
+ import { GridAdaptiveFilterMenu as Ee } from "./adaptiveContent/GridAdaptiveFilterMenu.mjs";
23
+ const k = (e) => e || { filters: [], logic: "and" }, x = (e, i) => k(i).filters.filter((c) => $(c) ? c.filters && c.filters.length && !c.filters.find((g) => $(g) || g.field !== e) : !1)[0] || null, Oe = (e, i) => !!x(e, i), Ve = (e) => {
24
+ const i = l.useContext(pe), { actionSheetRef: E } = l.useContext(xe), I = l.useCallback(() => {
22
25
  let t;
23
26
  if (e.column && e.column.field) {
24
- const n = w(e.column.filter), l = oe(e.filterOperators, n);
25
- t = v(e.column.field, e.filter), t = t ? {
27
+ const n = j(e.column.filter), r = me(e.filterOperators, n);
28
+ t = x(e.column.field, e.filter), t = t ? {
26
29
  ...t,
27
30
  filters: t.filters.map((o) => ({ ...o }))
28
31
  } : {
@@ -30,115 +33,134 @@ const S = (e) => e || { filters: [], logic: "and" }, v = (e, f) => S(f).filters.
30
33
  filters: [
31
34
  {
32
35
  field: e.column.field,
33
- operator: l,
34
- value: h(l) ? null : void 0
36
+ operator: r,
37
+ value: v(r) ? null : void 0
35
38
  },
36
39
  {
37
40
  field: e.column.field,
38
- operator: l,
39
- value: h(l) ? null : void 0
41
+ operator: r,
42
+ value: v(r) ? null : void 0
40
43
  }
41
44
  ]
42
- }, t.filters.filter((o) => o.field === e.column.field).length === 1 && t.filters.splice(1, 0, { field: e.column.field, operator: l });
45
+ }, t.filters.filter((o) => o.field === e.column.field).length === 1 && t.filters.splice(1, 0, { field: e.column.field, operator: r });
43
46
  }
44
47
  return t;
45
- }, [e.column]), [E, M] = r.useState(e.expanded || !1), [i, d] = r.useState(f()), I = () => e.expanded !== void 0, R = () => {
46
- const t = I(), n = !(t ? e.expanded : E);
47
- e.onExpandChange && e.onExpandChange(n), t || M(n);
48
- }, A = (t) => {
49
- y(0, t);
50
- }, j = (t) => {
51
- y(1, t);
52
- }, y = (t, n) => {
53
- const l = i.filters.map((o, a) => a === t ? {
48
+ }, [e.column]), [c, g] = l.useState(e.expanded || !1), [L, M] = l.useState(!1), [s, P] = l.useState(I()), T = () => e.expanded !== void 0, X = () => {
49
+ const t = T(), n = !(t ? e.expanded : c);
50
+ i.mobileMode && E.current.element.style.setProperty("--kendo-actionsheet-view-current", 2), e.onExpandChange && e.onExpandChange(n), M(!L), !t && !i.mobileMode && g(n);
51
+ }, Y = (t) => {
52
+ D(0, t);
53
+ }, Z = (t) => {
54
+ D(1, t);
55
+ }, D = (t, n) => {
56
+ const r = s.filters.map((o, a) => a === t ? {
54
57
  ...o,
55
58
  value: n.value,
56
59
  operator: n.operator
57
60
  } : o);
58
- d({
59
- ...i,
60
- filters: l
61
+ P({
62
+ ...s,
63
+ filters: r
61
64
  });
62
- }, q = (t) => {
63
- d({
64
- ...i,
65
- logic: t.target.value.operator
66
- });
67
- }, J = (t) => {
65
+ }, ee = (t) => {
66
+ let n = t.target.value;
67
+ t.target.tagName === "SPAN" && (n = t.target.parentElement.value), P({ ...s, logic: n });
68
+ }, w = (t) => {
68
69
  if (t.preventDefault(), !e.onFilterChange)
69
70
  return;
70
- const n = e.column.field, l = S(e.filter), o = v(n, e.filter), a = l.filters.filter((u) => u !== o);
71
- a.length ? e.onFilterChange({ ...l, filters: a }, t) : e.onFilterChange(null, t), e.onCloseMenu && e.onCloseMenu();
72
- }, L = () => ({
73
- ...i,
74
- filters: i.filters.filter((t) => t.value !== void 0 && t.value !== null && t.value !== "" || t.value === null && t.operator)
75
- }), K = (t) => {
71
+ const n = e.column.field, r = k(e.filter), o = x(n, e.filter), a = r.filters.filter((m) => m !== o);
72
+ a.length ? e.onFilterChange({ ...r, filters: a }, t) : e.onFilterChange(null, t), e.onCloseMenu && e.onCloseMenu();
73
+ }, A = () => ({
74
+ ...s,
75
+ filters: s.filters.filter((t) => t.value !== void 0 && t.value !== null && t.value !== "" || t.value === null && t.operator)
76
+ }), N = (t) => {
76
77
  if (t.preventDefault(), !e.onFilterChange)
77
78
  return;
78
- const n = e.column.field, l = S(e.filter), o = v(n, e.filter), a = L();
79
- let u = null;
79
+ const n = e.column.field, r = k(e.filter), o = x(n, e.filter), a = A();
80
+ let m = null;
80
81
  if (o && a.filters.length > 0) {
81
- const F = l.filters.map((C) => C === o ? a : C);
82
- u = {
83
- ...l,
82
+ const F = r.filters.map((h) => h === o ? a : h);
83
+ m = {
84
+ ...r,
84
85
  filters: F
85
86
  };
86
87
  } else if (a.filters.length === 0) {
87
- const F = l.filters.filter((C) => C !== o);
88
- F.length && (u = {
89
- ...l,
88
+ const F = r.filters.filter((h) => h !== o);
89
+ F.length && (m = {
90
+ ...r,
90
91
  filters: F
91
92
  });
92
93
  } else
93
- u = {
94
- ...l,
95
- filters: [...l.filters, a]
94
+ m = {
95
+ ...r,
96
+ filters: [...r.filters, a]
96
97
  };
97
- e.onFilterChange(u, t), e.onCloseMenu && e.onCloseMenu();
98
- }, { column: m, filterUI: Q, hideSecondFilter: b, filterOperators: W } = e, c = ie();
99
- if (!m || !m.field)
100
- return /* @__PURE__ */ r.createElement("div", null);
101
- const g = w(m.filter), X = b !== void 0 ? b : ce[g], s = i.filters, k = x(W[g], c), D = x(ne, c), Y = {
102
- field: m.field,
103
- value: s[0].value,
104
- operator: s[0].operator,
105
- operators: k,
106
- booleanValues: D,
107
- onChange: A,
108
- filterType: g
109
- }, Z = {
110
- field: m.field,
111
- value: s[1].value,
112
- operator: s[1].operator,
113
- operators: k,
114
- booleanValues: D,
115
- onChange: j,
116
- filterType: g
117
- }, O = i.logic, P = x(ae, c), G = {
118
- value: P.find((t) => t.operator === (O === null ? "" : O)),
119
- onChange: q,
120
- data: P
121
- }, U = Q, V = {
122
- firstFilterProps: Y,
123
- secondFilterProps: Z,
124
- logicData: G.data,
125
- logicValue: G.value,
126
- onLogicChange: G.onChange,
127
- hideSecondFilter: X
128
- }, $ = L().filters.length !== 0 || h(s[0].operator) || h(s[1].operator), ee = I() ? e.expanded : E, B = e.alwaysExpand;
129
- return /* @__PURE__ */ r.createElement(le, null, !B && /* @__PURE__ */ r.createElement(
130
- te,
98
+ e.onFilterChange(m, t), e.onCloseMenu && e.onCloseMenu();
99
+ }, { column: u, filterUI: te, hideSecondFilter: O, filterOperators: le } = e, f = de();
100
+ if (!u || !u.field)
101
+ return /* @__PURE__ */ l.createElement("div", null);
102
+ const C = j(u.filter), re = O !== void 0 ? O : Fe[C], d = s.filters, V = y(le[C], f), B = y(ge, f), ne = {
103
+ field: u.field,
104
+ value: d[0].value,
105
+ operator: d[0].operator,
106
+ operators: V,
107
+ booleanValues: B,
108
+ onChange: Y,
109
+ filterType: C
110
+ }, oe = {
111
+ field: u.field,
112
+ value: d[1].value,
113
+ operator: d[1].operator,
114
+ operators: V,
115
+ booleanValues: B,
116
+ onChange: Z,
117
+ filterType: C
118
+ }, U = s.logic, R = y(Ce, f), S = {
119
+ value: R.find((t) => t.operator === (U === null ? "" : U)),
120
+ onChange: ee,
121
+ data: R
122
+ }, G = te, b = {
123
+ firstFilterProps: ne,
124
+ secondFilterProps: oe,
125
+ logicData: S.data,
126
+ logicValue: S.value,
127
+ onLogicChange: S.onChange,
128
+ hideSecondFilter: re
129
+ }, _ = A().filters.length !== 0 || v(d[0].operator) || v(d[1].operator), z = T() ? e.expanded : c, H = e.alwaysExpand && !i.mobileMode, ie = () => {
130
+ M(!1), i.mobileMode && E.current.element.style.setProperty("--kendo-actionsheet-view-current", 1);
131
+ }, ae = () => {
132
+ M(!1), e.onCloseMenu && e.onCloseMenu();
133
+ }, ce = `${f.toLanguageString(
134
+ q,
135
+ p[q]
136
+ )} ${u.title || u.field}`;
137
+ return /* @__PURE__ */ l.createElement(ue, null, !H && /* @__PURE__ */ l.createElement("div", { className: "k-expander" }, /* @__PURE__ */ l.createElement(
138
+ se,
131
139
  {
132
- title: c.toLanguageString(N, p[N]),
140
+ title: f.toLanguageString(J, p[J]),
133
141
  iconClass: "k-i-filter",
134
- svgIcon: ue,
135
- onClick: R
142
+ svgIcon: ve,
143
+ expandable: !0,
144
+ expanded: !!z,
145
+ onClick: X
146
+ }
147
+ )), i.mobileMode && L ? /* @__PURE__ */ l.createElement(l.Fragment, null, /* @__PURE__ */ l.createElement(
148
+ Ee,
149
+ {
150
+ FilterUI: G,
151
+ filterUIProps: b,
152
+ onBackView: ie,
153
+ adaptiveTitle: ce,
154
+ handleClose: ae,
155
+ submit: N,
156
+ clear: w,
157
+ isFilterValid: _
136
158
  }
137
- ), /* @__PURE__ */ r.createElement(re, { show: B || !!ee }, /* @__PURE__ */ r.createElement("form", { className: "k-filter-menu", onSubmit: K, onReset: J }, /* @__PURE__ */ r.createElement("div", { className: "k-filter-menu-container" }, U ? /* @__PURE__ */ r.createElement(U, { ...V }) : /* @__PURE__ */ r.createElement(se, { ...V }), /* @__PURE__ */ r.createElement("div", { className: "k-actions k-actions-stretched" }, /* @__PURE__ */ r.createElement(H, { themeColor: "primary", disabled: !$ }, c.toLanguageString(_, p[_])), /* @__PURE__ */ r.createElement(H, { type: "reset" }, c.toLanguageString(z, p[z])))))));
159
+ )) : /* @__PURE__ */ l.createElement(fe, { show: (H || !!z) && !i.mobileMode }, /* @__PURE__ */ l.createElement("form", { className: "k-filter-menu", onSubmit: N, onReset: w }, /* @__PURE__ */ l.createElement("div", { className: "k-filter-menu-container" }, G ? /* @__PURE__ */ l.createElement(G, { ...b }) : /* @__PURE__ */ l.createElement(he, { ...b }), /* @__PURE__ */ l.createElement("div", { className: "k-actions k-actions-stretched" }, /* @__PURE__ */ l.createElement(W, { themeColor: "primary", disabled: !_ }, f.toLanguageString(K, p[K])), /* @__PURE__ */ l.createElement(W, { type: "reset" }, f.toLanguageString(Q, p[Q])))))));
138
160
  };
139
161
  export {
140
- pe as GridColumnMenuFilter,
141
- v as filterGroupByField,
142
- xe as isColumnMenuFilterActive,
143
- S as rootFilterOrDefault
162
+ Ve as GridColumnMenuFilter,
163
+ x as filterGroupByField,
164
+ Oe as isColumnMenuFilterActive,
165
+ k as rootFilterOrDefault
144
166
  };
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),d=require("@progress/kendo-react-dropdowns"),g=require("@progress/kendo-react-inputs"),h=require("@progress/kendo-react-dateinputs"),i=require("../filterCommon.js");function b(e){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const c=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(l,o,c.get?c:{enumerable:!0,get:()=>e[o]})}}return l.default=e,Object.freeze(l)}const a=b(f),D=e=>{const l=()=>{if(e.filterType==="boolean")return;const n=e.operators.find(r=>r.operator===e.operator)||null;return a.createElement(d.DropDownList,{value:n,onChange:c,data:e.operators,textField:"text"})},o=(n,r)=>{i.cellInputChange(n,r,e)},c=n=>{i.cellOperatorChange(n,e.value,e.onChange)},m=n=>{i.cellBoolDropdownChange(n,e.onChange)},C=(n,r,s)=>{switch(n){case"numeric":return a.createElement(g.NumericTextBox,{value:r,onChange:t=>{o(t.value,t.syntheticEvent)},rangeOnEnter:!1});case"date":return a.createElement(h.DatePicker,{value:r,onChange:t=>{o(t.value,t.syntheticEvent)}});case"boolean":{const t=u=>u==null;return a.createElement(d.DropDownList,{onChange:m,value:s.find(u=>u.operator===(t(r)?"":r)),data:s,textField:"text"})}default:return a.createElement(g.Input,{value:r||"",onChange:t=>{o(t.target.value,t.syntheticEvent)}})}};return a.createElement(a.Fragment,null,l(),C(e.filterType,e.value,e.booleanValues))};exports.GridColumnMenuFilterCell=D;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),d=require("@progress/kendo-react-dropdowns"),s=require("@progress/kendo-react-inputs"),h=require("@progress/kendo-react-dateinputs"),c=require("../filterCommon.js"),p=require("../GridClientWrapper.js");function D(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const a in e)if(a!=="default"){const l=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,l.get?l:{enumerable:!0,get:()=>e[a]})}}return t.default=e,Object.freeze(t)}const r=D(b),v=e=>{const t=r.useContext(p.GridContext),a=()=>{if(e.filterType==="boolean")return;const n=e.operators.find(o=>o.operator===e.operator)||null;return r.createElement(d.DropDownList,{adaptive:t.adaptive,size:t.mobileMode?"large":"medium",value:n,onChange:m,data:e.operators,textField:"text"})},l=n=>{c.cellInputChange(n.value,n.syntheticEvent,e)},m=n=>{c.cellOperatorChange(n,e.value,e.onChange)},g=n=>{c.cellBoolDropdownChange(n,e.onChange)},C=(n,o,u)=>{switch(n){case"numeric":return r.createElement(s.NumericTextBox,{value:o,size:t.mobileMode?"large":"medium",onChange:l,rangeOnEnter:!1});case"date":return r.createElement(h.DatePicker,{value:o,size:t.mobileMode?"large":"medium",onChange:l});case"boolean":{const f=i=>i==null;return r.createElement(d.DropDownList,{adaptive:t.adaptive,onChange:g,size:t.mobileMode?"large":"medium",value:u.find(i=>i.operator===(f(o)?"":o)),data:u,textField:"text"})}default:return r.createElement(s.Input,{className:"k-input-lg",value:o||"",onChange:l})}};return r.createElement(r.Fragment,null,a(),C(e.filterType,e.value,e.booleanValues))};exports.GridColumnMenuFilterCell=v;
@@ -6,72 +6,75 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as o from "react";
10
- import { DropDownList as i } from "@progress/kendo-react-dropdowns";
11
- import { Input as C, NumericTextBox as d } from "@progress/kendo-react-inputs";
9
+ import * as n from "react";
10
+ import { DropDownList as m } from "@progress/kendo-react-dropdowns";
11
+ import { Input as s, NumericTextBox as h } from "@progress/kendo-react-inputs";
12
12
  import { DatePicker as f } from "@progress/kendo-react-dateinputs";
13
- import { cellOperatorChange as E, cellInputChange as s, cellBoolDropdownChange as v } from "../filterCommon.mjs";
14
- const w = (e) => {
15
- const u = () => {
13
+ import { cellOperatorChange as x, cellInputChange as p, cellBoolDropdownChange as E } from "../filterCommon.mjs";
14
+ import { GridContext as b } from "../GridClientWrapper.mjs";
15
+ const z = (e) => {
16
+ const r = n.useContext(b), c = () => {
16
17
  if (e.filterType === "boolean")
17
18
  return;
18
- const n = e.operators.find((r) => r.operator === e.operator) || null;
19
- return /* @__PURE__ */ o.createElement(i, { value: n, onChange: m, data: e.operators, textField: "text" });
20
- }, l = (n, r) => {
21
- s(n, r, e);
22
- }, m = (n) => {
23
- E(n, e.value, e.onChange);
24
- }, h = (n) => {
25
- v(n, e.onChange);
26
- }, g = (n, r, c) => {
27
- switch (n) {
19
+ const t = e.operators.find((o) => o.operator === e.operator) || null;
20
+ return /* @__PURE__ */ n.createElement(
21
+ m,
22
+ {
23
+ adaptive: r.adaptive,
24
+ size: r.mobileMode ? "large" : "medium",
25
+ value: t,
26
+ onChange: d,
27
+ data: e.operators,
28
+ textField: "text"
29
+ }
30
+ );
31
+ }, l = (t) => {
32
+ p(t.value, t.syntheticEvent, e);
33
+ }, d = (t) => {
34
+ x(t, e.value, e.onChange);
35
+ }, u = (t) => {
36
+ E(t, e.onChange);
37
+ }, g = (t, o, i) => {
38
+ switch (t) {
28
39
  case "numeric":
29
- return /* @__PURE__ */ o.createElement(
30
- d,
40
+ return /* @__PURE__ */ n.createElement(
41
+ h,
31
42
  {
32
- value: r,
33
- onChange: (t) => {
34
- l(t.value, t.syntheticEvent);
35
- },
43
+ value: o,
44
+ size: r.mobileMode ? "large" : "medium",
45
+ onChange: l,
36
46
  rangeOnEnter: !1
37
47
  }
38
48
  );
39
49
  case "date":
40
- return /* @__PURE__ */ o.createElement(
50
+ return /* @__PURE__ */ n.createElement(
41
51
  f,
42
52
  {
43
- value: r,
44
- onChange: (t) => {
45
- l(t.value, t.syntheticEvent);
46
- }
53
+ value: o,
54
+ size: r.mobileMode ? "large" : "medium",
55
+ onChange: l
47
56
  }
48
57
  );
49
58
  case "boolean": {
50
- const t = (a) => a == null;
51
- return /* @__PURE__ */ o.createElement(
52
- i,
59
+ const C = (a) => a == null;
60
+ return /* @__PURE__ */ n.createElement(
61
+ m,
53
62
  {
54
- onChange: h,
55
- value: c.find((a) => a.operator === (t(r) ? "" : r)),
56
- data: c,
63
+ adaptive: r.adaptive,
64
+ onChange: u,
65
+ size: r.mobileMode ? "large" : "medium",
66
+ value: i.find((a) => a.operator === (C(o) ? "" : o)),
67
+ data: i,
57
68
  textField: "text"
58
69
  }
59
70
  );
60
71
  }
61
72
  default:
62
- return /* @__PURE__ */ o.createElement(
63
- C,
64
- {
65
- value: r || "",
66
- onChange: (t) => {
67
- l(t.target.value, t.syntheticEvent);
68
- }
69
- }
70
- );
73
+ return /* @__PURE__ */ n.createElement(s, { className: "k-input-lg", value: o || "", onChange: l });
71
74
  }
72
75
  };
73
- return /* @__PURE__ */ o.createElement(o.Fragment, null, u(), g(e.filterType, e.value, e.booleanValues));
76
+ return /* @__PURE__ */ n.createElement(n.Fragment, null, c(), g(e.filterType, e.value, e.booleanValues));
74
77
  };
75
78
  export {
76
- w as GridColumnMenuFilterCell
79
+ z as GridColumnMenuFilterCell
77
80
  };
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),o=require("./GridColumnMenuFilterCell.js"),s=require("@progress/kendo-react-dropdowns");function d(e){const r=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(r,n,l.get?l:{enumerable:!0,get:()=>e[n]})}}return r.default=e,Object.freeze(r)}const t=d(u),m=e=>{const{firstFilterProps:r,hideSecondFilter:n,secondFilterProps:l,logicData:i,logicValue:a,onLogicChange:c}=e;return t.createElement(t.Fragment,null,t.createElement(o.GridColumnMenuFilterCell,{...r}),!n&&t.createElement(t.Fragment,null,t.createElement(s.DropDownList,{data:i,value:a,onChange:c,className:"k-filter-and",textField:"text"}),t.createElement(o.GridColumnMenuFilterCell,{...l})))};exports.GridColumnMenuFilterUI=m;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),d=require("./GridColumnMenuFilterCell.js"),m=require("../GridClientWrapper.js"),u=require("@progress/kendo-react-buttons");function g(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const l=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,l.get?l:{enumerable:!0,get:()=>t[n]})}}return r.default=t,Object.freeze(r)}const e=g(s),p=t=>{const{firstFilterProps:r,hideSecondFilter:n,secondFilterProps:l,logicValue:o,onLogicChange:i}=t,c=e.useContext(m.GridContext),a=(o==null?void 0:o.operator)==="and";return e.createElement(e.Fragment,null,e.createElement(d.GridColumnMenuFilterCell,{...r}),!n&&e.createElement(e.Fragment,null,e.createElement(u.ButtonGroup,null,e.createElement(u.Button,{type:"button",value:"and",size:c.mobileMode?"large":"medium",togglable:!0,selected:a,onClick:i},"And"),e.createElement(u.Button,{type:"button",value:"or",size:c.mobileMode?"large":"medium",togglable:!0,selected:!a,onClick:i},"Or")),e.createElement(d.GridColumnMenuFilterCell,{...l})))};exports.GridColumnMenuFilterUI=p;
@@ -7,21 +7,35 @@
7
7
  */
8
8
  "use client";
9
9
  import * as e from "react";
10
- import { GridColumnMenuFilterCell as t } from "./GridColumnMenuFilterCell.mjs";
11
- import { DropDownList as c } from "@progress/kendo-react-dropdowns";
12
- const d = (r) => {
13
- const { firstFilterProps: l, hideSecondFilter: n, secondFilterProps: o, logicData: a, logicValue: i, onLogicChange: m } = r;
14
- return /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(t, { ...l }), !n && /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(
15
- c,
10
+ import { GridColumnMenuFilterCell as l } from "./GridColumnMenuFilterCell.mjs";
11
+ import { GridContext as d } from "../GridClientWrapper.mjs";
12
+ import { ButtonGroup as s, Button as m } from "@progress/kendo-react-buttons";
13
+ const E = (i) => {
14
+ const { firstFilterProps: a, hideSecondFilter: c, secondFilterProps: u, logicValue: t, onLogicChange: r } = i, o = e.useContext(d), n = (t == null ? void 0 : t.operator) === "and";
15
+ return /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(l, { ...a }), !c && /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(s, null, /* @__PURE__ */ e.createElement(
16
+ m,
16
17
  {
17
- data: a,
18
- value: i,
19
- onChange: m,
20
- className: "k-filter-and",
21
- textField: "text"
22
- }
23
- ), /* @__PURE__ */ e.createElement(t, { ...o })));
18
+ type: "button",
19
+ value: "and",
20
+ size: o.mobileMode ? "large" : "medium",
21
+ togglable: !0,
22
+ selected: n,
23
+ onClick: r
24
+ },
25
+ "And"
26
+ ), /* @__PURE__ */ e.createElement(
27
+ m,
28
+ {
29
+ type: "button",
30
+ value: "or",
31
+ size: o.mobileMode ? "large" : "medium",
32
+ togglable: !0,
33
+ selected: !n,
34
+ onClick: r
35
+ },
36
+ "Or"
37
+ )), /* @__PURE__ */ e.createElement(l, { ...u })));
24
38
  };
25
39
  export {
26
- d as GridColumnMenuFilterUI
40
+ E as GridColumnMenuFilterUI
27
41
  };
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),o=require("@progress/kendo-react-common");function i(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const c=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,c.get?c:{enumerable:!0,get:()=>t[e]})}}return n.default=t,Object.freeze(n)}const r=i(l),u=t=>{const{title:n,iconClass:e,svgIcon:c,selected:a}=t;return r.createElement("div",{onClick:t.onClick,className:`k-columnmenu-item ${a?"k-selected":""}`},(e||c)&&r.createElement(o.IconWrap,{name:e&&o.toIconName(e),icon:c}),n)};exports.GridColumnMenuItem=u;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react"),i=require("@progress/kendo-react-common"),f=require("../GridClientWrapper.js"),r=require("@progress/kendo-svg-icons");function I(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,o.get?o:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const c=I(p),v=n=>{const{title:t,iconClass:e,svgIcon:o,selected:s,expandable:l,expanded:u}=n,{mobileMode:m,dir:d}=c.useContext(f.GridContext);let a;return l&&(m?a=d==="rtl"?r.chevronLeftIcon:r.chevronRightIcon:a=u?r.chevronUpIcon:r.chevronDownIcon),c.createElement("div",{onClick:n.onClick,className:`k-columnmenu-item ${s?"k-selected":""}`},(e||o)&&c.createElement(i.IconWrap,{name:e&&i.toIconName(e),icon:o}),t,c.createElement("span",{className:"k-spacer"}),l&&c.createElement(i.IconWrap,{icon:a}))};exports.GridColumnMenuItem=v;
@@ -6,12 +6,15 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as c from "react";
10
- import { IconWrap as l, toIconName as a } from "@progress/kendo-react-common";
11
- const r = (t) => {
12
- const { title: o, iconClass: e, svgIcon: n, selected: m } = t;
13
- return /* @__PURE__ */ c.createElement("div", { onClick: t.onClick, className: `k-columnmenu-item ${m ? "k-selected" : ""}` }, (e || n) && /* @__PURE__ */ c.createElement(l, { name: e && a(e), icon: n }), o);
9
+ import * as e from "react";
10
+ import { IconWrap as m, toIconName as p } from "@progress/kendo-react-common";
11
+ import { GridContext as I } from "../GridClientWrapper.mjs";
12
+ import { chevronLeftIcon as v, chevronRightIcon as f, chevronDownIcon as h, chevronUpIcon as u } from "@progress/kendo-svg-icons";
13
+ const E = (t) => {
14
+ const { title: i, iconClass: o, svgIcon: c, selected: a, expandable: r, expanded: l } = t, { mobileMode: s, dir: d } = e.useContext(I);
15
+ let n;
16
+ return r && (s ? n = d === "rtl" ? v : f : n = l ? u : h), /* @__PURE__ */ e.createElement("div", { onClick: t.onClick, className: `k-columnmenu-item ${a ? "k-selected" : ""}` }, (o || c) && /* @__PURE__ */ e.createElement(m, { name: o && p(o), icon: c }), i, /* @__PURE__ */ e.createElement("span", { className: "k-spacer" }), r && /* @__PURE__ */ e.createElement(m, { icon: n }));
14
17
  };
15
18
  export {
16
- r as GridColumnMenuItem
19
+ E as GridColumnMenuItem
17
20
  };
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("react"),_=require("@progress/kendo-react-popup"),a=require("@progress/kendo-react-common"),j=require("@progress/kendo-svg-icons"),E=require("../messages/index.js"),z=require("@progress/kendo-react-intl");function A(n){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const u in n)if(u!=="default"){const l=Object.getOwnPropertyDescriptor(n,u);Object.defineProperty(c,u,l.get?l:{enumerable:!0,get:()=>n[u]})}}return c.default=n,Object.freeze(c)}const o=A(W),$=[".k-columnmenu-item-content",".k-filter-menu-container"].map(n=>a.TABBABLE_ELEMENTS.map(c=>`${n} ${c}`)),x=[[".k-tabstrip-items"],[".k-columnmenu-item"],...$],F=n=>{const[c,u]=o.useState(!1),l=o.useRef(null),i=o.useRef(null),s=o.useRef(null),m=o.useRef(0),{columnMenu:M,...v}=n,{column:k,columnMenuIcon:d,navigatable:w}=n,p=z.useLocalization(),b=k.title||k.field,y=b?`${b} `:"",C="#",D=e=>{const t=a.getActiveElement(document);clearTimeout(m.current),m.current=window.setTimeout(()=>{t&&e.relatedTarget!==l.current&&i.current&&!i.current.contains(t)&&f()})},S=()=>{clearTimeout(m.current)},T=e=>{e.preventDefault(),c&&n.onCloseMenu&&n.onCloseMenu(),u(!c)},f=()=>{n.onCloseMenu&&n.onCloseMenu(),u(!1),!n.navigatable&&l.current&&l.current.focus()},I=e=>{var t;if(e.keyCode===a.Keys.tab){const r=e.target,h=r&&((t=r.closest(".k-grid"))==null?void 0:t.getElementsByClassName("k-grid-content")[0]);h&&h.scrollWidth>h.clientWidth&&r.scrollIntoView({inline:"center"})}},g=o.useMemo(()=>n.show!==void 0?n.show:c,[n.show,c]),R=e=>{var t;(t=s.current)==null||t.triggerKeyboardEvent(e)},O=e=>{var t;(t=s.current)==null||t.triggerMouseEvent(e)},K=(e,t,r)=>{r.preventDefault(),r.shiftKey?t.focusPrevious(e):t.focusNext(e)},P=(e,t,r)=>{e&&e.click()},q=(e,t,r)=>{r.preventDefault(),f()},B=(e,t,r)=>{t.focusElement(e)},N=e=>{!e.isAnchorClicked&&u(!1)};return o.useEffect(()=>(g&&i.current&&(s.current=new a.Navigation({tabIndex:0,root:i,selectors:x,keyboardEvents:{keydown:{Tab:K,Enter:P,Escape:q}},mouseEvents:{mousedown:B}}),s.current.focusElement(s.current.first,null)),()=>{s.current&&(s.current=null)}),[g]),o.createElement(o.Fragment,null,o.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:l,onClick:T,onKeyDown:I,href:C,tabIndex:w?-1:void 0,"aria-label":`${w?"":y}${p.toLanguageString(E.columnMenu,E.messages[E.columnMenu])}`},d?o.createElement(a.IconWrap,{name:d.name,icon:d}):o.createElement(a.IconWrap,{name:"more-vertical",icon:j.moreVerticalIcon})),o.createElement(_.Popup,{anchor:l.current,show:g,popupClass:"k-column-menu k-column-menu-popup k-grid-columnmenu-popup",onMouseDownOutside:N},o.createElement("div",{ref:i,onBlur:D,onFocus:S,onMouseDown:O,onKeyDown:R,style:{outline:"none"}},M&&o.createElement(M,{...v,onCloseMenu:f}))))};exports.GridColumnMenuWrapper=F;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("react"),W=require("@progress/kendo-react-popup"),a=require("@progress/kendo-react-common"),B=require("@progress/kendo-svg-icons"),h=require("../messages/index.js"),_=require("@progress/kendo-react-intl"),j=require("../GridClientWrapper.js"),z=require("./adaptiveContext/GridColumnMenuAdaptiveContext.js"),$=require("./adaptiveContent/GridAdaptiveColumnMenu.js");function F(t){const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const c in t)if(c!=="default"){const s=Object.getOwnPropertyDescriptor(t,c);Object.defineProperty(u,c,s.get?s:{enumerable:!0,get:()=>t[c]})}}return u.default=t,Object.freeze(u)}const n=F(N),L=[".k-columnmenu-item-content",".k-filter-menu-container"].map(t=>a.TABBABLE_ELEMENTS.map(u=>`${t} ${u}`)),V=[[".k-tabstrip-items"],[".k-columnmenu-item"],...L],H=t=>{const u=n.useContext(j.GridContext),[c,s]=n.useState(!1),i=n.useRef(null),m=n.useRef(null),l=n.useRef(null),M=n.useRef(0),{columnMenu:d,...C}=t,{column:b,columnMenuIcon:E,navigatable:p}=t,w=_.useLocalization(),k=b.title||b.field,y=k?`${k} `:"",D="#",S=e=>{const o=a.getActiveElement(document);clearTimeout(M.current),M.current=window.setTimeout(()=>{!u.mobileMode&&o&&e.relatedTarget!==i.current&&m.current&&!m.current.contains(o)&&f()})},T=()=>{clearTimeout(M.current)},q=e=>{e.preventDefault(),c&&t.onCloseMenu&&t.onCloseMenu(),s(!c)},f=()=>{t.onCloseMenu&&t.onCloseMenu(),s(!1),!t.navigatable&&i.current&&i.current.focus()},A=e=>{var o;if(e.keyCode===a.Keys.tab){const r=e.target,v=r&&((o=r.closest(".k-grid"))==null?void 0:o.getElementsByClassName("k-grid-content")[0]);v&&v.scrollWidth>v.clientWidth&&r.scrollIntoView({inline:"center"})}},g=n.useMemo(()=>t.show!==void 0?t.show:c,[t.show,c]),I=e=>{var o;(o=l.current)==null||o.triggerKeyboardEvent(e)},R=e=>{var o;(o=l.current)==null||o.triggerMouseEvent(e)},x=(e,o,r)=>{r.preventDefault(),r.shiftKey?o.focusPrevious(e):o.focusNext(e)},G=(e,o,r)=>{e&&(r.preventDefault(),e.click())},O=(e,o,r)=>{r.preventDefault(),f()},P=(e,o,r)=>{o.focusElement(e)},K=e=>{!e.isAnchorClicked&&s(!1)};return n.useEffect(()=>(g&&m.current&&(l.current=new a.Navigation({tabIndex:0,root:m,selectors:V,keyboardEvents:{keydown:{Tab:x,Enter:G,Escape:O}},mouseEvents:{mousedown:P}}),l.current.focusElement(l.current.first,null)),()=>{l.current&&(l.current=null)}),[g]),n.createElement(n.Fragment,null,n.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:i,onClick:q,onKeyDown:A,href:D,tabIndex:p?-1:void 0,"aria-label":`${p?"":y}${w.toLanguageString(h.columnMenu,h.messages[h.columnMenu])}`},E?n.createElement(a.IconWrap,{name:E.name,icon:E}):n.createElement(a.IconWrap,{name:"more-vertical",icon:B.moreVerticalIcon})),n.createElement(z.GridColumnMenuAdaptiveProvider,null,u.mobileMode?n.createElement($.GridAdaptiveColumnMenu,{computedShow:g,ColumnMenu:d,closeMenu:f},d&&n.createElement(d,{...C,onCloseMenu:f})):n.createElement(W.Popup,{anchor:i.current,show:g,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:K},n.createElement("div",{ref:m,onBlur:S,onFocus:T,onMouseDown:R,onKeyDown:I,className:"k-column-menu k-column-menu-md"},d&&n.createElement(d,{...C,onCloseMenu:f})))))};exports.GridColumnMenuWrapper=H;