@progress/kendo-react-data-tools 7.2.4-develop.3 → 7.3.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/clipboard/clipboard.service.js +8 -0
  2. package/clipboard/clipboard.service.mjs +27 -0
  3. package/clipboard/common.js +13 -0
  4. package/clipboard/common.mjs +64 -0
  5. package/columnmenu/ColumnMenu.js +8 -0
  6. package/columnmenu/ColumnMenu.mjs +256 -0
  7. package/columnmenu/ColumnMenuFilterForm.js +8 -0
  8. package/columnmenu/ColumnMenuFilterForm.mjs +47 -0
  9. package/columnmenu/ColumnMenuFilterLogic.js +8 -0
  10. package/columnmenu/ColumnMenuFilterLogic.mjs +29 -0
  11. package/columnmenu/ColumnMenuFilters.js +8 -0
  12. package/columnmenu/ColumnMenuFilters.mjs +98 -0
  13. package/columnmenu/ColumnMenuItem.js +8 -0
  14. package/columnmenu/ColumnMenuItem.mjs +26 -0
  15. package/columnmenu/ColumnMenuOperators.js +8 -0
  16. package/columnmenu/ColumnMenuOperators.mjs +109 -0
  17. package/dist/cdn/js/kendo-react-datatools.js +8 -10
  18. package/drag/ColumnDraggable.js +8 -0
  19. package/drag/ColumnDraggable.mjs +40 -0
  20. package/drag/ColumnResize.js +8 -0
  21. package/drag/ColumnResize.mjs +58 -0
  22. package/drag/ColumnResizer.js +8 -0
  23. package/drag/ColumnResizer.mjs +56 -0
  24. package/drag/CommonDragLogic.js +8 -0
  25. package/drag/CommonDragLogic.mjs +89 -0
  26. package/drag/DragClue.js +8 -0
  27. package/drag/DragClue.mjs +52 -0
  28. package/drag/DropClue.js +8 -0
  29. package/drag/DropClue.mjs +43 -0
  30. package/filter/Expression.js +8 -0
  31. package/filter/Expression.mjs +113 -0
  32. package/filter/Filter.js +8 -0
  33. package/filter/Filter.mjs +84 -0
  34. package/filter/Group.js +8 -0
  35. package/filter/Group.mjs +163 -0
  36. package/filter/filters/BooleanFilter.js +8 -0
  37. package/filter/filters/BooleanFilter.mjs +43 -0
  38. package/filter/filters/DateFilter.js +8 -0
  39. package/filter/filters/DateFilter.mjs +43 -0
  40. package/filter/filters/EnumFilter.js +8 -0
  41. package/filter/filters/EnumFilter.mjs +59 -0
  42. package/filter/filters/NumericFilter.js +8 -0
  43. package/filter/filters/NumericFilter.mjs +54 -0
  44. package/filter/filters/TextFilter.js +8 -0
  45. package/filter/filters/TextFilter.mjs +46 -0
  46. package/filter/operators.js +8 -0
  47. package/filter/operators.mjs +114 -0
  48. package/filteringCells/BooleanFilter.js +8 -0
  49. package/filteringCells/BooleanFilter.mjs +49 -0
  50. package/filteringCells/DateFilter.js +8 -0
  51. package/filteringCells/DateFilter.mjs +22 -0
  52. package/filteringCells/FilterComponent.js +8 -0
  53. package/filteringCells/FilterComponent.mjs +81 -0
  54. package/filteringCells/NumericFilter.js +8 -0
  55. package/filteringCells/NumericFilter.mjs +22 -0
  56. package/filteringCells/TextFilter.js +8 -0
  57. package/filteringCells/TextFilter.mjs +22 -0
  58. package/header/ColumnProps.js +8 -0
  59. package/header/ColumnProps.mjs +19 -0
  60. package/header/FilterRow.js +8 -0
  61. package/header/FilterRow.mjs +54 -0
  62. package/header/Header.js +8 -0
  63. package/header/Header.mjs +36 -0
  64. package/header/HeaderCell.js +8 -0
  65. package/header/HeaderCell.mjs +18 -0
  66. package/header/HeaderRow.js +8 -0
  67. package/header/HeaderRow.mjs +132 -0
  68. package/header/HeaderSelectionCell.js +8 -0
  69. package/header/HeaderSelectionCell.mjs +32 -0
  70. package/header/HeaderThElement.js +8 -0
  71. package/header/HeaderThElement.mjs +47 -0
  72. package/header/SortSettings.js +8 -0
  73. package/header/SortSettings.mjs +12 -0
  74. package/header/utils/index.js +8 -0
  75. package/header/utils/index.mjs +130 -0
  76. package/index.d.mts +2398 -5
  77. package/index.d.ts +2398 -32
  78. package/index.js +8 -10
  79. package/index.mjs +152 -2987
  80. package/messages/index.js +8 -0
  81. package/messages/index.mjs +167 -0
  82. package/navigation/TableKeyboardNavigation.js +8 -0
  83. package/navigation/TableKeyboardNavigation.mjs +142 -0
  84. package/navigation/TableKeyboardNavigationContext.js +8 -0
  85. package/navigation/TableKeyboardNavigationContext.mjs +14 -0
  86. package/navigation/constants.js +8 -0
  87. package/navigation/constants.mjs +43 -0
  88. package/navigation/hooks.js +8 -0
  89. package/navigation/hooks.mjs +22 -0
  90. package/navigation/utils.js +8 -0
  91. package/navigation/utils.mjs +107 -0
  92. package/package-metadata.js +8 -0
  93. package/package-metadata.mjs +19 -0
  94. package/package.json +9 -9
  95. package/pager/Pager.js +8 -0
  96. package/pager/Pager.mjs +234 -0
  97. package/pager/PagerInput.js +8 -0
  98. package/pager/PagerInput.mjs +38 -0
  99. package/pager/PagerNumericButtons.js +8 -0
  100. package/pager/PagerNumericButtons.mjs +103 -0
  101. package/pager/PagerPageSizes.js +8 -0
  102. package/pager/PagerPageSizes.mjs +38 -0
  103. package/selection/TableSelection.js +8 -0
  104. package/selection/TableSelection.mjs +123 -0
  105. package/selection/constants.js +8 -0
  106. package/selection/constants.mjs +14 -0
  107. package/selection/utils.js +8 -0
  108. package/selection/utils.mjs +155 -0
  109. package/utils/data-operations.js +8 -0
  110. package/utils/data-operations.mjs +127 -0
  111. package/utils/group-operations.js +8 -0
  112. package/utils/group-operations.mjs +32 -0
  113. package/virtualization/columns.js +8 -0
  114. package/virtualization/columns.mjs +43 -0
  115. package/clipboard/clipboard.service.d.ts +0 -17
  116. package/clipboard/common.d.ts +0 -129
  117. package/columnmenu/ColumnMenu.d.ts +0 -83
  118. package/columnmenu/ColumnMenuFilterForm.d.ts +0 -17
  119. package/columnmenu/ColumnMenuFilterLogic.d.ts +0 -7
  120. package/columnmenu/ColumnMenuFilters.d.ts +0 -23
  121. package/columnmenu/ColumnMenuItem.d.ts +0 -15
  122. package/columnmenu/ColumnMenuOperators.d.ts +0 -69
  123. package/columnmenu/index.d.ts +0 -10
  124. package/drag/ColumnDraggable.d.ts +0 -34
  125. package/drag/ColumnResize.d.ts +0 -36
  126. package/drag/ColumnResizer.d.ts +0 -32
  127. package/drag/CommonDragLogic.d.ts +0 -42
  128. package/drag/DragClue.d.ts +0 -26
  129. package/drag/DropClue.d.ts +0 -23
  130. package/filter/Expression.d.ts +0 -50
  131. package/filter/FieldSettings.d.ts +0 -34
  132. package/filter/Filter.d.ts +0 -83
  133. package/filter/Group.d.ts +0 -58
  134. package/filter/filters/BooleanFilter.d.ts +0 -47
  135. package/filter/filters/DateFilter.d.ts +0 -30
  136. package/filter/filters/EnumFilter.d.ts +0 -47
  137. package/filter/filters/NumericFilter.d.ts +0 -37
  138. package/filter/filters/TextFilter.d.ts +0 -44
  139. package/filter/filters/index.d.ts +0 -9
  140. package/filter/index.d.ts +0 -10
  141. package/filter/operators.d.ts +0 -77
  142. package/filteringCells/BooleanFilter.d.ts +0 -12
  143. package/filteringCells/DateFilter.d.ts +0 -12
  144. package/filteringCells/FilterCellProps.d.ts +0 -39
  145. package/filteringCells/FilterComponent.d.ts +0 -21
  146. package/filteringCells/FilterComponentProps.d.ts +0 -27
  147. package/filteringCells/FilterOperator.d.ts +0 -17
  148. package/filteringCells/NumericFilter.d.ts +0 -12
  149. package/filteringCells/TextFilter.d.ts +0 -12
  150. package/filteringCells/index.d.ts +0 -12
  151. package/header/CellProps.d.ts +0 -72
  152. package/header/ColumnProps.d.ts +0 -157
  153. package/header/FilterRow.d.ts +0 -29
  154. package/header/Header.d.ts +0 -22
  155. package/header/HeaderCell.d.ts +0 -51
  156. package/header/HeaderRow.d.ts +0 -41
  157. package/header/HeaderSelectionCell.d.ts +0 -15
  158. package/header/HeaderThElement.d.ts +0 -26
  159. package/header/SortSettings.d.ts +0 -30
  160. package/header/index.d.ts +0 -14
  161. package/header/utils/index.d.ts +0 -87
  162. package/messages/index.d.ts +0 -394
  163. package/navigation/TableKeyboardNavigation.d.ts +0 -72
  164. package/navigation/TableKeyboardNavigationContext.d.ts +0 -10
  165. package/navigation/TableKeyboardNavigationContextType.d.ts +0 -11
  166. package/navigation/TableKeyboardNavigationStateType.d.ts +0 -14
  167. package/navigation/constants.d.ts +0 -58
  168. package/navigation/hooks.d.ts +0 -16
  169. package/navigation/utils.d.ts +0 -149
  170. package/package-metadata.d.ts +0 -9
  171. package/pager/Pager.d.ts +0 -208
  172. package/pager/PagerInput.d.ts +0 -29
  173. package/pager/PagerNumericButtons.d.ts +0 -32
  174. package/pager/PagerPageSizes.d.ts +0 -30
  175. package/selection/TableSelectableSettings.d.ts +0 -35
  176. package/selection/TableSelection.d.ts +0 -15
  177. package/selection/constants.d.ts +0 -10
  178. package/selection/events.d.ts +0 -98
  179. package/selection/utils.d.ts +0 -70
  180. package/utils/DataItemWrapper.d.ts +0 -14
  181. package/utils/data-operations.d.ts +0 -98
  182. package/utils/group-operations.d.ts +0 -33
  183. package/virtualization/columns.d.ts +0 -19
  184. package/virtualization/index.d.ts +0 -5
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./common.js");class r{constructor(i){this.copyHandler=e=>{this.clipboardEvent(t.ClipboardActionType.copy,e)},this.cutHandler=e=>{this.clipboardEvent(t.ClipboardActionType.cut,e)},this.pasteHandler=e=>{this.clipboardEvent(t.ClipboardActionType.paste,e)},this.addEventListeners=e=>{e&&(e.addEventListener(t.ClipboardActionType.copy,this.copyHandler),e.addEventListener(t.ClipboardActionType.cut,this.cutHandler),e.addEventListener(t.ClipboardActionType.paste,this.pasteHandler))},this.removeEventListeners=e=>{e&&(e.removeEventListener(t.ClipboardActionType.copy,this.copyHandler),e.removeEventListener(t.ClipboardActionType.cut,this.cutHandler),e.removeEventListener(t.ClipboardActionType.paste,this.pasteHandler))},this.clipboardEvent=i}}exports.ClipboardService=r;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import { ClipboardActionType as t } from "./common.mjs";
10
+ class n {
11
+ constructor(r) {
12
+ this.copyHandler = (e) => {
13
+ this.clipboardEvent(t.copy, e);
14
+ }, this.cutHandler = (e) => {
15
+ this.clipboardEvent(t.cut, e);
16
+ }, this.pasteHandler = (e) => {
17
+ this.clipboardEvent(t.paste, e);
18
+ }, this.addEventListeners = (e) => {
19
+ e && (e.addEventListener(t.copy, this.copyHandler), e.addEventListener(t.cut, this.cutHandler), e.addEventListener(t.paste, this.pasteHandler));
20
+ }, this.removeEventListeners = (e) => {
21
+ e && (e.removeEventListener(t.copy, this.copyHandler), e.removeEventListener(t.cut, this.cutHandler), e.removeEventListener(t.paste, this.pasteHandler));
22
+ }, this.clipboardEvent = r;
23
+ }
24
+ }
25
+ export {
26
+ n as ClipboardService
27
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("@progress/kendo-react-common"),h="items";var I=(t=>(t.copy="copy",t.cut="cut",t.paste="paste",t))(I||{});const C=(t,e,s)=>{const n=t.cellDelimiter||" ",i=t.newLineDelimiter||`\r
9
+ `,l=e.includes(i)?i:e.includes(`
10
+ `)?`
11
+ `:null,a=l?e.split(l):[e],m=s.copiedItems.length?s.copiedItems[0].fields[0]:t.columns[0].field||"";return a.map(o=>{const c=o.includes(n)?o.split(n):[o],p=t.columns.map(u=>u.field||""),d=p.indexOf(m),g=p.slice(d,d+c.length),D={};return p.slice(d,d+c.length).forEach((u,b)=>D[u]=c[b]),{dataItem:D,fields:g}})},w=(t,e)=>{if(!e.length)return null;let s="";return e.forEach((n,i,l)=>s+=`${t[n]}${i<l.length-1?" ":""}`),s},y=(t,e,s)=>{const n=s.cellDelimiter||" ",i=s.newLineDelimiter||`\r
12
+ `;return`${e.join(n)}${i}${t}`},L=t=>{const{event:e,selectedState:s,data:n,dataItemKey:i}=t,l={},a={copiedItems:[],pastedItems:[],clipboardData:""},m=t.subItemsField||h;return Object.entries(s).forEach(([r,o])=>{l[r]=f.isArray(o)?o.map(c=>e.columns[c]):e.columns}),f.mapTree(n,m,r=>{const o=r[i||e.dataItemKey||""]||"";return l[o]&&a.copiedItems.push({dataItem:r,fields:l[o].map(c=>c.field||"")}),r}),a},E=(t,e)=>{const s=e.newLineDelimiter||`\r
13
+ `,n=t.copiedItems.map((i,l)=>{let a=w(i.dataItem,i.fields)||"";return e.copyHeaders&&l===0&&(a=y(a,i.fields,e)),a?[a]:[]}).join(s);return navigator.clipboard.writeText(n),n},F=t=>{const{event:e}=t,s=L(t);let n="";if(e.type==="paste"){const i=e.nativeEvent?e.nativeEvent.clipboardData:"";n=i?i.getData("text").trim():"",s.pastedItems=C(e,n,s)}else s.pastedItems=[],n=E(s,e);return s.clipboardData=n,s};exports.ClipboardActionType=I;exports.populateClipboardData=F;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import { isArray as h, mapTree as g } from "@progress/kendo-react-common";
10
+ const w = "items";
11
+ var L = /* @__PURE__ */ ((t) => (t.copy = "copy", t.cut = "cut", t.paste = "paste", t))(L || {});
12
+ const b = (t, e, s) => {
13
+ const n = t.cellDelimiter || " ", i = t.newLineDelimiter || `\r
14
+ `, l = e.includes(i) ? i : e.includes(`
15
+ `) ? `
16
+ ` : null, a = l ? e.split(l) : [e], m = s.copiedItems.length ? s.copiedItems[0].fields[0] : t.columns[0].field || "";
17
+ return a.map((c) => {
18
+ const o = c.includes(n) ? c.split(n) : [c], p = t.columns.map((u) => u.field || ""), d = p.indexOf(m), f = p.slice(d, d + o.length), D = {};
19
+ return p.slice(d, d + o.length).forEach((u, I) => D[u] = o[I]), {
20
+ dataItem: D,
21
+ fields: f
22
+ };
23
+ });
24
+ }, C = (t, e) => {
25
+ if (!e.length)
26
+ return null;
27
+ let s = "";
28
+ return e.forEach((n, i, l) => s += `${t[n]}${i < l.length - 1 ? " " : ""}`), s;
29
+ }, E = (t, e, s) => {
30
+ const n = s.cellDelimiter || " ", i = s.newLineDelimiter || `\r
31
+ `;
32
+ return `${e.join(n)}${i}${t}`;
33
+ }, F = (t) => {
34
+ const { event: e, selectedState: s, data: n, dataItemKey: i } = t, l = {}, a = { copiedItems: [], pastedItems: [], clipboardData: "" }, m = t.subItemsField || w;
35
+ return Object.entries(s).forEach(([r, c]) => {
36
+ l[r] = h(c) ? c.map((o) => e.columns[o]) : e.columns;
37
+ }), g(n, m, (r) => {
38
+ const c = r[i || e.dataItemKey || ""] || "";
39
+ return l[c] && a.copiedItems.push({
40
+ dataItem: r,
41
+ fields: l[c].map((o) => o.field || "")
42
+ }), r;
43
+ }), a;
44
+ }, x = (t, e) => {
45
+ const s = e.newLineDelimiter || `\r
46
+ `, n = t.copiedItems.map((i, l) => {
47
+ let a = C(i.dataItem, i.fields) || "";
48
+ return e.copyHeaders && l === 0 && (a = E(a, i.fields, e)), a ? [a] : [];
49
+ }).join(s);
50
+ return navigator.clipboard.writeText(n), n;
51
+ }, O = (t) => {
52
+ const { event: e } = t, s = F(t);
53
+ let n = "";
54
+ if (e.type === "paste") {
55
+ const i = e.nativeEvent ? e.nativeEvent.clipboardData : "";
56
+ n = i ? i.getData("text").trim() : "", s.pastedItems = b(e, n, s);
57
+ } else
58
+ s.pastedItems = [], n = x(s, e);
59
+ return s.clipboardData = n, s;
60
+ };
61
+ export {
62
+ L as ClipboardActionType,
63
+ O as populateClipboardData
64
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ce=require("react"),se=require("@progress/kendo-react-popup"),ue=require("@progress/kendo-react-intl"),ae=require("@progress/kendo-data-query"),y=require("./ColumnMenuItem.js"),F=require("./ColumnMenuFilters.js"),T=require("./ColumnMenuFilterLogic.js"),me=require("./ColumnMenuFilterForm.js"),g=require("../messages/index.js"),H=require("@progress/kendo-react-common"),fe=require("../package-metadata.js"),h=require("@progress/kendo-svg-icons");function de(n){const m=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(m,t,r.get?r:{enumerable:!0,get:()=>n[t]})}}return m.default=n,Object.freeze(m)}const e=de(ce),S=n=>{H.validatePackage(fe.packageMetadata);const m=e.useRef([]),{field:t,filter:r,sort:l=m.current,onSortChange:f,onFilterChange:i,initialFilter:k,sortAsc:B=!1,sortDesc:A=!1,filterContent:L=[],expandFilters:D=!1}=n,[d,O]=e.useState(!1),[E,N]=e.useState(D),[c,v]=e.useState(t&&k?k(t):null),I=e.useRef(null),q=e.useRef(null),x=e.useRef(null),w=e.useRef(!1),p=e.useCallback(()=>(r||[]).find(o=>o.filters.every(s=>!ae.isCompositeFilterDescriptor(s)&&s.field===t)),[r,t]),C=e.useCallback(()=>{O(!1)},[]),J=e.useCallback(()=>{if(w.current){w.current=!1;return}clearTimeout(x.current),x.current=window.setTimeout(()=>{C()})},[C]),K=e.useCallback(()=>clearTimeout(x.current),[]),U=e.useCallback(o=>{w.current=d&&o.currentTarget===I.current},[d]),V=e.useCallback(()=>{O(!d),t&&k&&(N(d?!1:D),v(d?c:p()||k(t)))},[p,t,d,c,k,D]);e.useEffect(()=>{d&&q.current&&q.current.focus()},[d]);const X=e.useCallback(()=>N(!E),[E]),b=e.useCallback((o,s)=>{const u=[...l],a=u.findIndex(ie=>ie.field===t),M={field:t,dir:s};a>=0?u[a].dir!==M.dir?u.splice(a,1,M):u.splice(a,1):u.push(M),C(),f&&f.call(void 0,o,u,t)},[l,t,f,C]),P=e.useCallback((o,s,u)=>{const a={...c,filters:[...c.filters]},M=a.filters.indexOf(u);a.filters.splice(M,1,s),v(a)},[c]),Y=e.useCallback(o=>{o.preventDefault();const s=(r||[]).slice(),u=p(),a=u?s.indexOf(u):-1;a>=0?s.splice(a,1,c):s.push(c),C(),i&&i.call(void 0,o,s,t)},[r,c,t,i,C,p]),Z=e.useCallback(o=>{const s=(r||[]).slice(),u=p(),a=u?s.indexOf(u):-1;a>=0&&s.splice(a,1),k&&v(k(t)),C(),i&&i.call(void 0,o,s,t)},[r,t,i,k,C,p]),$=e.useCallback(o=>b(o,"asc"),[b]),ee=e.useCallback(o=>b(o,"desc"),[b]),te=e.useCallback(o=>c&&v({...c,logic:o.value.logic}),[c]),j=l.find(o=>o.field===t)||{dir:""},[_,z,W]=L,R=ue.useLocalization(),ne=B||A?e.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},B&&e.createElement(y.ColumnMenuItem,{title:R.toLanguageString(g.columnMenuSortAscending,g.messages[g.columnMenuSortAscending]),iconClass:"k-i-sort-asc-small",svgIcon:h.sortAscSmallIcon,selected:j.dir==="asc",onClick:$}),A&&e.createElement(y.ColumnMenuItem,{title:R.toLanguageString(g.columnMenuSortDescending,g.messages[g.columnMenuSortDescending]),iconClass:"k-i-sort-desc-small",svgIcon:h.sortDescSmallIcon,selected:j.dir==="desc",onClick:ee})):null,le=c&&L.length>0?e.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},e.createElement(y.ColumnMenuItem,{iconClass:"k-i-filter",svgIcon:h.filterIcon,title:R.toLanguageString(g.columnMenuFilterTitle,g.messages[g.columnMenuFilterTitle]),onClick:X}),e.createElement(me.ColumnMenuFilterForm,{show:E,onSubmit:Y,onReset:Z},_&&e.createElement(_,{filter:c.filters[0],onFilterChange:P}),z&&e.createElement(z,{value:c.logic,onChange:te}),W&&e.createElement(W,{filter:c.filters[1],onFilterChange:P}))):null,Q=[ne,le],oe=e.createElement("span",{ref:I,onClick:V,onMouseDown:U,className:"k-grid-header-menu k-grid-column-menu"+(p()?" k-active":""),key:"button"},e.createElement(H.IconWrap,{name:"filter",icon:h.filterIcon})),re=e.createElement(se.Popup,{anchor:I.current,show:d,key:"popup",popupClass:"k-column-menu k-column-menu-popup"},e.createElement("div",{ref:q,tabIndex:0,onBlur:J,onFocus:K,style:{outline:"none"}},n.itemsRender?n.itemsRender.call(void 0,Q,{closeMenu:C,field:t}):Q)),G=[oe,re];return e.createElement(e.Fragment,null,n.render?n.render.call(void 0,G):G)},Ce=n=>{const{field:m,...t}=n,r=e.useCallback(i=>({logic:"and",filters:[{operator:"contains",field:i,value:""},{operator:"contains",field:i,value:""}]}),[]),l=!!n.field,f=l?[F.ColumnMenuTextFilter,T.ColumnMenuFilterLogic,F.ColumnMenuTextFilter]:[];return e.createElement(S,{sortAsc:l,sortDesc:l,filterContent:f,initialFilter:l?r:void 0,field:m,...t})},ge=n=>{const{field:m,...t}=n,r=e.useCallback(i=>({logic:"or",filters:[{operator:"eq",field:i,value:null},{operator:"eq",field:i,value:null}]}),[]),l=!!n.field,f=l?[F.ColumnMenuNumericFilter,T.ColumnMenuFilterLogic,F.ColumnMenuNumericFilter]:[];return e.createElement(S,{sortAsc:l,sortDesc:l,filterContent:f,initialFilter:l?r:void 0,field:m,...t})},ke=n=>{const{field:m,...t}=n,r=e.useCallback(i=>({logic:"or",filters:[{operator:"eq",field:i,value:null},{operator:"eq",field:i,value:null}]}),[]),l=!!n.field,f=l?[F.ColumnMenuDateFilter,T.ColumnMenuFilterLogic,F.ColumnMenuDateFilter]:[];return e.createElement(S,{sortAsc:l,sortDesc:l,filterContent:f,initialFilter:l?r:void 0,field:m,...t})},pe=n=>{const{field:m,...t}=n,r=e.useCallback(i=>({logic:"and",filters:[{operator:"eq",field:i,value:!1}]}),[]),l=!!n.field,f=l?[F.ColumnMenuBooleanFilter]:[];return e.createElement(S,{sortAsc:l,sortDesc:l,filterContent:f,initialFilter:l?r:void 0,field:m,...t})};exports.ColumnMenuBooleanColumn=pe;exports.ColumnMenuDateColumn=ke;exports.ColumnMenuNumericColumn=ge;exports.ColumnMenuTextColumn=Ce;
@@ -0,0 +1,256 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as e from "react";
10
+ import { Popup as me } from "@progress/kendo-react-popup";
11
+ import { useLocalization as fe } from "@progress/kendo-react-intl";
12
+ import { isCompositeFilterDescriptor as de } from "@progress/kendo-data-query";
13
+ import { ColumnMenuItem as I } from "./ColumnMenuItem.mjs";
14
+ import { ColumnMenuTextFilter as G, ColumnMenuNumericFilter as H, ColumnMenuDateFilter as J, ColumnMenuBooleanFilter as Ce } from "./ColumnMenuFilters.mjs";
15
+ import { ColumnMenuFilterLogic as B } from "./ColumnMenuFilterLogic.mjs";
16
+ import { ColumnMenuFilterForm as pe } from "./ColumnMenuFilterForm.mjs";
17
+ import { columnMenuSortAscending as K, messages as R, columnMenuSortDescending as Q, columnMenuFilterTitle as U } from "../messages/index.mjs";
18
+ import { validatePackage as ge, IconWrap as ke } from "@progress/kendo-react-common";
19
+ import { packageMetadata as Fe } from "../package-metadata.mjs";
20
+ import { sortAscSmallIcon as ve, sortDescSmallIcon as he, filterIcon as V } from "@progress/kendo-svg-icons";
21
+ const h = (o) => {
22
+ ge(Fe);
23
+ const f = e.useRef([]), {
24
+ field: t,
25
+ filter: c,
26
+ sort: n = f.current,
27
+ onSortChange: m,
28
+ onFilterChange: r,
29
+ initialFilter: p,
30
+ sortAsc: A = !1,
31
+ sortDesc: T = !1,
32
+ filterContent: y = [],
33
+ expandFilters: b = !1
34
+ } = o, [d, L] = e.useState(!1), [E, q] = e.useState(b), [i, F] = e.useState(t && p ? p(t) : null), S = e.useRef(null), M = e.useRef(null), x = e.useRef(null), D = e.useRef(!1), g = e.useCallback(
35
+ () => (c || []).find((l) => l.filters.every((s) => !de(s) && s.field === t)),
36
+ [c, t]
37
+ ), C = e.useCallback(
38
+ () => {
39
+ L(!1);
40
+ },
41
+ []
42
+ ), X = e.useCallback(
43
+ () => {
44
+ if (D.current) {
45
+ D.current = !1;
46
+ return;
47
+ }
48
+ clearTimeout(x.current), x.current = window.setTimeout(() => {
49
+ C();
50
+ });
51
+ },
52
+ [C]
53
+ ), Y = e.useCallback(
54
+ () => clearTimeout(x.current),
55
+ []
56
+ ), Z = e.useCallback((l) => {
57
+ D.current = d && l.currentTarget === S.current;
58
+ }, [d]), $ = e.useCallback(
59
+ () => {
60
+ L(!d), t && p && (q(d ? !1 : b), F(d ? i : g() || p(t)));
61
+ },
62
+ [g, t, d, i, p, b]
63
+ );
64
+ e.useEffect(
65
+ () => {
66
+ d && M.current && M.current.focus();
67
+ },
68
+ [d]
69
+ );
70
+ const ee = e.useCallback(
71
+ () => q(!E),
72
+ [E]
73
+ ), v = e.useCallback(
74
+ (l, s) => {
75
+ const a = [...n], u = a.findIndex((ue) => ue.field === t), k = { field: t, dir: s };
76
+ u >= 0 ? a[u].dir !== k.dir ? a.splice(u, 1, k) : a.splice(u, 1) : a.push(k), C(), m && m.call(void 0, l, a, t);
77
+ },
78
+ [n, t, m, C]
79
+ ), N = e.useCallback(
80
+ (l, s, a) => {
81
+ const u = { ...i, filters: [...i.filters] }, k = u.filters.indexOf(a);
82
+ u.filters.splice(k, 1, s), F(u);
83
+ },
84
+ [i]
85
+ ), te = e.useCallback(
86
+ (l) => {
87
+ l.preventDefault();
88
+ const s = (c || []).slice(), a = g(), u = a ? s.indexOf(a) : -1;
89
+ u >= 0 ? s.splice(u, 1, i) : s.push(i), C(), r && r.call(void 0, l, s, t);
90
+ },
91
+ [c, i, t, r, C, g]
92
+ ), ne = e.useCallback(
93
+ (l) => {
94
+ const s = (c || []).slice(), a = g(), u = a ? s.indexOf(a) : -1;
95
+ u >= 0 && s.splice(u, 1), p && F(p(t)), C(), r && r.call(void 0, l, s, t);
96
+ },
97
+ [c, t, r, p, C, g]
98
+ ), le = e.useCallback((l) => v(l, "asc"), [v]), oe = e.useCallback((l) => v(l, "desc"), [v]), re = e.useCallback(
99
+ (l) => i && F({ ...i, logic: l.value.logic }),
100
+ [i]
101
+ ), O = n.find((l) => l.field === t) || { dir: "" }, [
102
+ z,
103
+ P,
104
+ W
105
+ ] = y, w = fe(), ie = A || T ? /* @__PURE__ */ e.createElement("div", { className: "k-columnmenu-item-wrapper", key: "sorting" }, A && /* @__PURE__ */ e.createElement(
106
+ I,
107
+ {
108
+ title: w.toLanguageString(K, R[K]),
109
+ iconClass: "k-i-sort-asc-small",
110
+ svgIcon: ve,
111
+ selected: O.dir === "asc",
112
+ onClick: le
113
+ }
114
+ ), T && /* @__PURE__ */ e.createElement(
115
+ I,
116
+ {
117
+ title: w.toLanguageString(Q, R[Q]),
118
+ iconClass: "k-i-sort-desc-small",
119
+ svgIcon: he,
120
+ selected: O.dir === "desc",
121
+ onClick: oe
122
+ }
123
+ )) : null, se = i && y.length > 0 ? /* @__PURE__ */ e.createElement("div", { className: "k-columnmenu-item-wrapper", key: "filtering" }, /* @__PURE__ */ e.createElement(
124
+ I,
125
+ {
126
+ iconClass: "k-i-filter",
127
+ svgIcon: V,
128
+ title: w.toLanguageString(U, R[U]),
129
+ onClick: ee
130
+ }
131
+ ), /* @__PURE__ */ e.createElement(
132
+ pe,
133
+ {
134
+ show: E,
135
+ onSubmit: te,
136
+ onReset: ne
137
+ },
138
+ z && /* @__PURE__ */ e.createElement(z, { filter: i.filters[0], onFilterChange: N }),
139
+ P && /* @__PURE__ */ e.createElement(P, { value: i.logic, onChange: re }),
140
+ W && /* @__PURE__ */ e.createElement(W, { filter: i.filters[1], onFilterChange: N })
141
+ )) : null, _ = [ie, se], ce = /* @__PURE__ */ e.createElement(
142
+ "span",
143
+ {
144
+ ref: S,
145
+ onClick: $,
146
+ onMouseDown: Z,
147
+ className: "k-grid-header-menu k-grid-column-menu" + (g() ? " k-active" : ""),
148
+ key: "button"
149
+ },
150
+ /* @__PURE__ */ e.createElement(ke, { name: "filter", icon: V })
151
+ ), ae = /* @__PURE__ */ e.createElement(
152
+ me,
153
+ {
154
+ anchor: S.current,
155
+ show: d,
156
+ key: "popup",
157
+ popupClass: "k-column-menu k-column-menu-popup"
158
+ },
159
+ /* @__PURE__ */ e.createElement(
160
+ "div",
161
+ {
162
+ ref: M,
163
+ tabIndex: 0,
164
+ onBlur: X,
165
+ onFocus: Y,
166
+ style: { outline: "none" }
167
+ },
168
+ o.itemsRender ? o.itemsRender.call(void 0, _, { closeMenu: C, field: t }) : _
169
+ )
170
+ ), j = [ce, ae];
171
+ return /* @__PURE__ */ e.createElement(e.Fragment, null, o.render ? o.render.call(void 0, j) : j);
172
+ }, Te = (o) => {
173
+ const { field: f, ...t } = o, c = e.useCallback(
174
+ (r) => ({ logic: "and", filters: [{ operator: "contains", field: r, value: "" }, { operator: "contains", field: r, value: "" }] }),
175
+ []
176
+ ), n = !!o.field, m = n ? [
177
+ G,
178
+ B,
179
+ G
180
+ ] : [];
181
+ return /* @__PURE__ */ e.createElement(
182
+ h,
183
+ {
184
+ sortAsc: n,
185
+ sortDesc: n,
186
+ filterContent: m,
187
+ initialFilter: n ? c : void 0,
188
+ field: f,
189
+ ...t
190
+ }
191
+ );
192
+ }, ye = (o) => {
193
+ const { field: f, ...t } = o, c = e.useCallback(
194
+ (r) => ({ logic: "or", filters: [{ operator: "eq", field: r, value: null }, { operator: "eq", field: r, value: null }] }),
195
+ []
196
+ ), n = !!o.field, m = n ? [
197
+ H,
198
+ B,
199
+ H
200
+ ] : [];
201
+ return /* @__PURE__ */ e.createElement(
202
+ h,
203
+ {
204
+ sortAsc: n,
205
+ sortDesc: n,
206
+ filterContent: m,
207
+ initialFilter: n ? c : void 0,
208
+ field: f,
209
+ ...t
210
+ }
211
+ );
212
+ }, Le = (o) => {
213
+ const { field: f, ...t } = o, c = e.useCallback(
214
+ (r) => ({ logic: "or", filters: [{ operator: "eq", field: r, value: null }, { operator: "eq", field: r, value: null }] }),
215
+ []
216
+ ), n = !!o.field, m = n ? [
217
+ J,
218
+ B,
219
+ J
220
+ ] : [];
221
+ return /* @__PURE__ */ e.createElement(
222
+ h,
223
+ {
224
+ sortAsc: n,
225
+ sortDesc: n,
226
+ filterContent: m,
227
+ initialFilter: n ? c : void 0,
228
+ field: f,
229
+ ...t
230
+ }
231
+ );
232
+ }, qe = (o) => {
233
+ const { field: f, ...t } = o, c = e.useCallback(
234
+ (r) => ({ logic: "and", filters: [{ operator: "eq", field: r, value: !1 }] }),
235
+ []
236
+ ), n = !!o.field, m = n ? [
237
+ Ce
238
+ ] : [];
239
+ return /* @__PURE__ */ e.createElement(
240
+ h,
241
+ {
242
+ sortAsc: n,
243
+ sortDesc: n,
244
+ filterContent: m,
245
+ initialFilter: n ? c : void 0,
246
+ field: f,
247
+ ...t
248
+ }
249
+ );
250
+ };
251
+ export {
252
+ qe as ColumnMenuBooleanColumn,
253
+ Le as ColumnMenuDateColumn,
254
+ ye as ColumnMenuNumericColumn,
255
+ Te as ColumnMenuTextColumn
256
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),i=require("@progress/kendo-react-animation"),m=require("@progress/kendo-react-intl"),o=require("../messages/index.js"),c=require("@progress/kendo-react-buttons");function s(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const t=s(u),l=e=>t.createElement("div",{className:"k-columnmenu-item-content"},t.createElement(i.Reveal,{style:{position:"relative",display:"block"}},e.show&&t.createElement("div",{className:"kendo-grid-filter-menu-container"},t.createElement("form",{className:"k-filter-menu",onSubmit:e.onSubmit,onReset:e.onReset},t.createElement("div",{className:"k-filter-menu-container"},e.children,t.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),d=e=>{const n=m.useLocalization();return t.createElement(l,{...e,actions:t.createElement(t.Fragment,null,t.createElement(c.Button,{type:"reset"},n.toLanguageString(o.columnMenuFilterClearButton,o.messages[o.columnMenuFilterClearButton])),t.createElement(c.Button,{themeColor:"primary"},n.toLanguageString(o.columnMenuFilterSubmitButton,o.messages[o.columnMenuFilterSubmitButton])))})};exports.ColumnMenuFilterForm=d;exports.ColumnMenuForm=l;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as e from "react";
10
+ import { Reveal as l } from "@progress/kendo-react-animation";
11
+ import { useLocalization as i } from "@progress/kendo-react-intl";
12
+ import { columnMenuFilterClearButton as m, messages as o, columnMenuFilterSubmitButton as r } from "../messages/index.mjs";
13
+ import { Button as a } from "@progress/kendo-react-buttons";
14
+ const c = (t) => /* @__PURE__ */ e.createElement("div", { className: "k-columnmenu-item-content" }, /* @__PURE__ */ e.createElement(l, { style: { position: "relative", display: "block" } }, t.show && /* @__PURE__ */ e.createElement("div", { className: "kendo-grid-filter-menu-container" }, /* @__PURE__ */ e.createElement(
15
+ "form",
16
+ {
17
+ className: "k-filter-menu",
18
+ onSubmit: t.onSubmit,
19
+ onReset: t.onReset
20
+ },
21
+ /* @__PURE__ */ e.createElement("div", { className: "k-filter-menu-container" }, t.children, /* @__PURE__ */ e.createElement("div", { className: "k-actions k-hstack k-justify-content-stretch" }, t.actions))
22
+ )))), g = (t) => {
23
+ const n = i();
24
+ return /* @__PURE__ */ e.createElement(
25
+ c,
26
+ {
27
+ ...t,
28
+ actions: /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(
29
+ a,
30
+ {
31
+ type: "reset"
32
+ },
33
+ n.toLanguageString(m, o[m])
34
+ ), /* @__PURE__ */ e.createElement(
35
+ a,
36
+ {
37
+ themeColor: "primary"
38
+ },
39
+ n.toLanguageString(r, o[r])
40
+ ))
41
+ }
42
+ );
43
+ };
44
+ export {
45
+ g as ColumnMenuFilterForm,
46
+ c as ColumnMenuForm
47
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),r=require("@progress/kendo-react-dropdowns"),i=require("@progress/kendo-react-intl"),c=require("../messages/index.js");function l(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,t.get?t:{enumerable:!0,get:()=>e[n]})}}return o.default=e,Object.freeze(o)}const u=l(a),s=[{text:c.columnMenuFilterAndLogic,logic:"and"},{text:c.columnMenuFilterOrLogic,logic:"or"}],g=e=>{const o=i.useLocalization(),n=(e.data||s).map(t=>({...t,text:o.toLanguageString(t.text,c.messages[t.text])}));return u.createElement(r.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:n,value:n.find(t=>t.logic===e.value)})};exports.ColumnMenuFilterLogic=g;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as a from "react";
10
+ import { DropDownList as i } from "@progress/kendo-react-dropdowns";
11
+ import { useLocalization as l } from "@progress/kendo-react-intl";
12
+ import { messages as c, columnMenuFilterAndLogic as r, columnMenuFilterOrLogic as m } from "../messages/index.mjs";
13
+ const g = [{ text: r, logic: "and" }, { text: m, logic: "or" }], d = (e) => {
14
+ const n = l(), o = (e.data || g).map((t) => ({ ...t, text: n.toLanguageString(t.text, c[t.text]) }));
15
+ return /* @__PURE__ */ a.createElement(
16
+ i,
17
+ {
18
+ onChange: e.onChange,
19
+ className: "k-filter-and",
20
+ textField: "text",
21
+ ...e,
22
+ data: o,
23
+ value: o.find((t) => t.logic === e.value)
24
+ }
25
+ );
26
+ };
27
+ export {
28
+ d as ColumnMenuFilterLogic
29
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),v=require("@progress/kendo-react-intl"),M=require("@progress/kendo-react-dropdowns"),p=require("@progress/kendo-react-inputs"),x=require("@progress/kendo-react-dateinputs"),F=require("../messages/index.js"),s=require("./ColumnMenuOperators.js");function k(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>n[r]})}}return t.default=n,Object.freeze(t)}const e=k(b),C=n=>{const{filter:t,onFilterChange:r,operators:o,initialFilter:a}=n,i=e.useCallback(l=>{const u=t,c=l.target.value.operator,m=u?{...u,operator:c}:{value:a.value,operator:c};r.call(void 0,l.syntheticEvent,m,u)},[t,r,a]),d=e.useCallback(l=>{const u=l.target.value,c=t,m=c?{...c,value:u}:{value:u,operator:o[0].operator};r.call(void 0,l,m,c)},[t,r,o]),f=v.useLocalization(),g=o.map(l=>({...l,text:f.toLanguageString(l.text,F.messages[l.text])}));return e.createElement(e.Fragment,null,e.createElement(M.DropDownList,{value:g.find(l=>l.operator===t.operator)||null,onChange:i,data:g,textField:"text"}),e.createElement(n.input,{value:t.value,onChange:d}))},h=n=>{const{filter:t,onFilterChange:r}=n,o=e.useCallback(i=>r.call(void 0,i.syntheticEvent,{...t,value:i.value},t),[t,r]),a=s.ColumnMenuOperators.boolean[0].text;return e.createElement(p.Checkbox,{onChange:o,checked:t.value,label:v.useLocalization().toLanguageString(a,F.messages[a]),labelPlacement:"after"})},E=n=>{const t=e.useCallback(a=>e.createElement(p.Input,{...a,value:a.value||""}),[]),r=e.useRef(s.ColumnMenuOperators.text),o=e.useRef({operator:"",value:""});return e.createElement(C,{initialFilter:o.current,input:t,operators:n.operators||r.current,...n})},R=n=>{const t=e.useCallback(a=>e.createElement(p.NumericTextBox,{...a,value:a.value||null}),[]),r=e.useRef(s.ColumnMenuOperators.numeric),o=e.useRef({operator:"",value:null});return e.createElement(C,{initialFilter:o.current,input:t,operators:n.operators||r.current,...n})},O=n=>{const t=e.useCallback(a=>e.createElement(x.DatePicker,{...a,value:a.value||null}),[]),r=e.useRef(s.ColumnMenuOperators.date),o=e.useRef({operator:"",value:null});return e.createElement(C,{initialFilter:o.current,input:t,operators:n.operators||r.current,...n})};exports.ColumnMenuBooleanFilter=h;exports.ColumnMenuDateFilter=O;exports.ColumnMenuNumericFilter=R;exports.ColumnMenuTextFilter=E;
@@ -0,0 +1,98 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as e from "react";
10
+ import { useLocalization as C } from "@progress/kendo-react-intl";
11
+ import { DropDownList as x } from "@progress/kendo-react-dropdowns";
12
+ import { Checkbox as h, Input as E, NumericTextBox as b } from "@progress/kendo-react-inputs";
13
+ import { DatePicker as k } from "@progress/kendo-react-dateinputs";
14
+ import { messages as F } from "../messages/index.mjs";
15
+ import { ColumnMenuOperators as s } from "./ColumnMenuOperators.mjs";
16
+ const p = (n) => {
17
+ const { filter: t, onFilterChange: a, operators: o, initialFilter: r } = n, c = e.useCallback(
18
+ (l) => {
19
+ const u = t, i = l.target.value.operator, m = u ? { ...u, operator: i } : { value: r.value, operator: i };
20
+ a.call(void 0, l.syntheticEvent, m, u);
21
+ },
22
+ [t, a, r]
23
+ ), g = e.useCallback(
24
+ (l) => {
25
+ const u = l.target.value, i = t, m = i ? { ...i, value: u } : { value: u, operator: o[0].operator };
26
+ a.call(void 0, l, m, i);
27
+ },
28
+ [t, a, o]
29
+ ), f = C(), v = o.map((l) => ({ ...l, text: f.toLanguageString(l.text, F[l.text]) }));
30
+ return /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(
31
+ x,
32
+ {
33
+ value: v.find((l) => l.operator === t.operator) || null,
34
+ onChange: c,
35
+ data: v,
36
+ textField: "text"
37
+ }
38
+ ), /* @__PURE__ */ e.createElement(
39
+ n.input,
40
+ {
41
+ value: t.value,
42
+ onChange: g
43
+ }
44
+ ));
45
+ }, y = (n) => {
46
+ const { filter: t, onFilterChange: a } = n, o = e.useCallback(
47
+ (c) => a.call(void 0, c.syntheticEvent, { ...t, value: c.value }, t),
48
+ [t, a]
49
+ ), r = s.boolean[0].text;
50
+ return /* @__PURE__ */ e.createElement(
51
+ h,
52
+ {
53
+ onChange: o,
54
+ checked: t.value,
55
+ label: C().toLanguageString(r, F[r]),
56
+ labelPlacement: "after"
57
+ }
58
+ );
59
+ }, z = (n) => {
60
+ const t = e.useCallback((r) => /* @__PURE__ */ e.createElement(E, { ...r, value: r.value || "" }), []), a = e.useRef(s.text), o = e.useRef({ operator: "", value: "" });
61
+ return /* @__PURE__ */ e.createElement(
62
+ p,
63
+ {
64
+ initialFilter: o.current,
65
+ input: t,
66
+ operators: n.operators || a.current,
67
+ ...n
68
+ }
69
+ );
70
+ }, B = (n) => {
71
+ const t = e.useCallback((r) => /* @__PURE__ */ e.createElement(b, { ...r, value: r.value || null }), []), a = e.useRef(s.numeric), o = e.useRef({ operator: "", value: null });
72
+ return /* @__PURE__ */ e.createElement(
73
+ p,
74
+ {
75
+ initialFilter: o.current,
76
+ input: t,
77
+ operators: n.operators || a.current,
78
+ ...n
79
+ }
80
+ );
81
+ }, N = (n) => {
82
+ const t = e.useCallback((r) => /* @__PURE__ */ e.createElement(k, { ...r, value: r.value || null }), []), a = e.useRef(s.date), o = e.useRef({ operator: "", value: null });
83
+ return /* @__PURE__ */ e.createElement(
84
+ p,
85
+ {
86
+ initialFilter: o.current,
87
+ input: t,
88
+ operators: n.operators || a.current,
89
+ ...n
90
+ }
91
+ );
92
+ };
93
+ export {
94
+ y as ColumnMenuBooleanFilter,
95
+ N as ColumnMenuDateFilter,
96
+ B as ColumnMenuNumericFilter,
97
+ z as ColumnMenuTextFilter
98
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),c=require("@progress/kendo-react-common");function i(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const l=i(o),u=e=>l.createElement("div",{onClick:e.onClick,className:c.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&l.createElement(c.IconWrap,{name:e.iconClass?c.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title);exports.ColumnMenuItem=u;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as c from "react";
10
+ import { classNames as n, IconWrap as t, toIconName as l } from "@progress/kendo-react-common";
11
+ const i = (e) => /* @__PURE__ */ c.createElement(
12
+ "div",
13
+ {
14
+ onClick: e.onClick,
15
+ className: n(
16
+ "k-columnmenu-item",
17
+ { "k-selected": e.selected },
18
+ { "k-disabled": e.disabled }
19
+ )
20
+ },
21
+ (e.iconClass || e.svgIcon) && /* @__PURE__ */ c.createElement(t, { name: e.iconClass ? l(e.iconClass) : void 0, icon: e.svgIcon }),
22
+ e.title
23
+ );
24
+ export {
25
+ i as ColumnMenuItem
26
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../messages/index.js"),e=[{text:t.columnMenuFilterContainsOperator,operator:"contains"},{text:t.columnMenuFilterNotContainsOperator,operator:"doesnotcontain"},{text:t.columnMenuFilterEqOperator,operator:"eq"},{text:t.columnMenuFilterNotEqOperator,operator:"neq"},{text:t.columnMenuFilterStartsWithOperator,operator:"startswith"},{text:t.columnMenuFilterEndsWithOperator,operator:"endswith"},{text:t.columnMenuFilterIsNullOperator,operator:"isnull"},{text:t.columnMenuFilterIsNotNullOperator,operator:"isnotnull"},{text:t.columnMenuFilterIsEmptyOperator,operator:"isempty"},{text:t.columnMenuFilterIsNotEmptyOperator,operator:"isnotempty"}],r=[{text:t.columnMenuFilterEqOperator,operator:"eq"},{text:t.columnMenuFilterNotEqOperator,operator:"neq"},{text:t.columnMenuFilterGteOperator,operator:"gte"},{text:t.columnMenuFilterGtOperator,operator:"gt"},{text:t.columnMenuFilterLteOperator,operator:"lte"},{text:t.columnMenuFilterLtOperator,operator:"lt"},{text:t.columnMenuFilterIsNullOperator,operator:"isnull"},{text:t.columnMenuFilterIsNotNullOperator,operator:"isnotnull"}],o=[{text:t.columnMenuFilterEqOperator,operator:"eq"},{text:t.columnMenuFilterNotEqOperator,operator:"neq"},{text:t.columnMenuFilterAfterOrEqualOperator,operator:"gte"},{text:t.columnMenuFilterAfterOperator,operator:"gt"},{text:t.columnMenuFilterBeforeOperator,operator:"lt"},{text:t.columnMenuFilterBeforeOrEqualOperator,operator:"lte"},{text:t.columnMenuFilterIsNullOperator,operator:"isnull"},{text:t.columnMenuFilterIsNotNullOperator,operator:"isnotnull"}],n=[{text:t.columnMenuFilterIsTrue,operator:""}];class l{static get text(){return[...e]}static get numeric(){return[...r]}static get date(){return[...o]}static get boolean(){return[...n]}}exports.ColumnMenuOperators=l;