@progress/kendo-react-grid 11.0.0-develop.2 → 11.0.0-develop.21

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 (272) hide show
  1. package/BasePDFExport.js +8 -0
  2. package/BasePDFExport.mjs +52 -0
  3. package/Grid.js +1 -1
  4. package/Grid.mjs +13 -18
  5. package/GridClientContextReader.js +1 -1
  6. package/GridClientContextReader.mjs +16 -13
  7. package/GridClientWrapper.js +1 -1
  8. package/GridClientWrapper.mjs +459 -449
  9. package/GridComponent.js +1 -1
  10. package/GridComponent.mjs +397 -414
  11. package/GridPdfExportButton.js +8 -0
  12. package/GridPdfExportButton.mjs +35 -0
  13. package/GridSearchBox.js +1 -1
  14. package/GridSearchBox.mjs +1 -1
  15. package/GridToolbar.js +1 -1
  16. package/GridToolbar.mjs +15 -20
  17. package/StatusBar.js +1 -1
  18. package/StatusBar.mjs +23 -23
  19. package/VirtualScroll.js +1 -1
  20. package/VirtualScroll.mjs +65 -107
  21. package/cells/GridDetailHierarchyCell.js +1 -1
  22. package/cells/GridDetailHierarchyCell.mjs +4 -4
  23. package/cells/GridFilterCell.js +1 -1
  24. package/cells/GridFilterCell.mjs +46 -46
  25. package/cells/datacell/GridCell.js +9 -0
  26. package/cells/datacell/GridCell.mjs +23 -0
  27. package/cells/datacell/GridCellServer.js +8 -0
  28. package/cells/datacell/GridCellServer.mjs +27 -0
  29. package/cells/datacell/GridCellServerContainer.js +9 -0
  30. package/cells/datacell/GridCellServerContainer.mjs +26 -0
  31. package/cells/datacell/useCellClientTdProps.js +9 -0
  32. package/cells/datacell/useCellClientTdProps.mjs +30 -0
  33. package/cells/datacell/utils.js +8 -0
  34. package/cells/datacell/utils.mjs +47 -0
  35. package/cells/detailcell/GridDetailCell.js +9 -0
  36. package/cells/detailcell/GridDetailCell.mjs +18 -0
  37. package/cells/detailcell/GridDetailCellServer.js +8 -0
  38. package/cells/detailcell/GridDetailCellServer.mjs +17 -0
  39. package/{codemods/index.js → cells/detailcell/GridDetailCellServerContainer.js} +2 -1
  40. package/cells/detailcell/GridDetailCellServerContainer.mjs +19 -0
  41. package/cells/detailcell/useDetailCellClientTdProps.js +9 -0
  42. package/cells/detailcell/useDetailCellClientTdProps.mjs +20 -0
  43. package/cells/detailcell/utils.js +8 -0
  44. package/cells/detailcell/utils.mjs +20 -0
  45. package/cells/editcell/GridEditCell.js +9 -0
  46. package/cells/editcell/GridEditCell.mjs +20 -0
  47. package/cells/{client → editcell}/GridEditCellEditor.js +1 -1
  48. package/cells/{client → editcell}/GridEditCellEditor.mjs +1 -1
  49. package/cells/editcell/GridEditCellServer.js +8 -0
  50. package/cells/editcell/GridEditCellServer.mjs +32 -0
  51. package/cells/editcell/GridEditCellServerContainer.js +9 -0
  52. package/cells/editcell/GridEditCellServerContainer.mjs +26 -0
  53. package/cells/editcell/useEditCellClientTdProps.js +9 -0
  54. package/cells/editcell/useEditCellClientTdProps.mjs +21 -0
  55. package/cells/editcell/utils.js +8 -0
  56. package/cells/editcell/utils.mjs +29 -0
  57. package/cells/groupcell/GridGroupCell.js +9 -0
  58. package/cells/groupcell/GridGroupCell.mjs +22 -0
  59. package/cells/groupcell/GridGroupCellServer.js +8 -0
  60. package/cells/groupcell/GridGroupCellServer.mjs +44 -0
  61. package/cells/groupcell/GridGroupCellServerContainer.js +9 -0
  62. package/cells/groupcell/GridGroupCellServerContainer.mjs +38 -0
  63. package/cells/{client → groupcell}/GridGroupCellToggle.js +1 -1
  64. package/cells/{client → groupcell}/GridGroupCellToggle.mjs +1 -1
  65. package/cells/groupcell/useGroupCellClientTdProps.js +9 -0
  66. package/cells/groupcell/useGroupCellClientTdProps.mjs +44 -0
  67. package/cells/groupcell/utils.js +8 -0
  68. package/cells/groupcell/utils.mjs +48 -0
  69. package/cells/hierarchycell/GridHierarchyCell.js +9 -0
  70. package/cells/hierarchycell/GridHierarchyCell.mjs +19 -0
  71. package/cells/hierarchycell/GridHierarchyCellServer.js +8 -0
  72. package/cells/hierarchycell/GridHierarchyCellServer.mjs +32 -0
  73. package/cells/hierarchycell/GridHierarchyCellServerContainer.js +9 -0
  74. package/cells/hierarchycell/GridHierarchyCellServerContainer.mjs +26 -0
  75. package/cells/{client → hierarchycell}/GridHierarchyCellToggle.js +1 -1
  76. package/cells/{client → hierarchycell}/GridHierarchyCellToggle.mjs +1 -1
  77. package/cells/hierarchycell/useHierarchyCellClientTdProps.js +9 -0
  78. package/cells/hierarchycell/useHierarchyCellClientTdProps.mjs +32 -0
  79. package/cells/hierarchycell/utils.js +8 -0
  80. package/cells/hierarchycell/utils.mjs +30 -0
  81. package/cells/hooks.js +9 -0
  82. package/cells/hooks.mjs +41 -0
  83. package/cells/rowreordercell/GridRowReorderCell.js +9 -0
  84. package/cells/rowreordercell/GridRowReorderCell.mjs +19 -0
  85. package/cells/rowreordercell/GridRowReorderCellServer.js +8 -0
  86. package/cells/rowreordercell/GridRowReorderCellServer.mjs +18 -0
  87. package/cells/rowreordercell/GridRowReorderCellServerContainer.js +9 -0
  88. package/cells/rowreordercell/GridRowReorderCellServerContainer.mjs +19 -0
  89. package/cells/rowreordercell/useRowReorderCellClientTdProps.js +9 -0
  90. package/cells/rowreordercell/useRowReorderCellClientTdProps.mjs +26 -0
  91. package/cells/rowreordercell/utils.js +8 -0
  92. package/cells/rowreordercell/utils.mjs +30 -0
  93. package/cells/selectioncell/GridSelectionCell.js +9 -0
  94. package/cells/selectioncell/GridSelectionCell.mjs +20 -0
  95. package/cells/{client → selectioncell}/GridSelectionCellInput.js +1 -1
  96. package/cells/{client → selectioncell}/GridSelectionCellInput.mjs +1 -1
  97. package/cells/selectioncell/GridSelectionCellServer.js +8 -0
  98. package/cells/selectioncell/GridSelectionCellServer.mjs +33 -0
  99. package/cells/selectioncell/GridSelectionCellServerContainer.js +9 -0
  100. package/cells/selectioncell/GridSelectionCellServerContainer.mjs +26 -0
  101. package/cells/selectioncell/useSelectionCellClientTdProps.js +9 -0
  102. package/cells/selectioncell/useSelectionCellClientTdProps.mjs +21 -0
  103. package/cells/selectioncell/utils.js +8 -0
  104. package/cells/selectioncell/utils.mjs +25 -0
  105. package/codemods/v11/cell-render.js +9 -0
  106. package/codemods/v11/column-cell.js +9 -0
  107. package/codemods/v11/column-filter-cell.js +9 -0
  108. package/codemods/v11/column-footer-cell.js +9 -0
  109. package/codemods/v11/column-header-cell.js +9 -0
  110. package/codemods/v11/detail-expand-state.js +9 -0
  111. package/codemods/v11/edit-state.js +9 -0
  112. package/codemods/v11/filter-cell-render.js +9 -0
  113. package/codemods/v11/group-expand-state.js +9 -0
  114. package/codemods/v11/header-cell-render.js +9 -0
  115. package/codemods/v11/index.js +9 -0
  116. package/codemods/v11/row-render.js +9 -0
  117. package/codemods/v11/selection-state.js +9 -0
  118. package/codemods/v11/utils.js +9 -0
  119. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
  120. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +84 -84
  121. package/columnMenu/GridColumnMenuColumnsChooser.js +1 -1
  122. package/columnMenu/GridColumnMenuColumnsChooser.mjs +71 -72
  123. package/columnMenu/GridColumnMenuFilter.js +1 -1
  124. package/columnMenu/GridColumnMenuFilter.mjs +83 -84
  125. package/columnMenu/GridColumnMenuFilterCell.js +1 -1
  126. package/columnMenu/GridColumnMenuFilterCell.mjs +35 -28
  127. package/columnMenu/GridColumnMenuFilterUI.js +1 -1
  128. package/columnMenu/GridColumnMenuFilterUI.mjs +1 -1
  129. package/columnMenu/GridColumnMenuItem.js +1 -1
  130. package/columnMenu/GridColumnMenuItem.mjs +9 -9
  131. package/columnMenu/GridColumnMenuWrapper.js +1 -1
  132. package/columnMenu/GridColumnMenuWrapper.mjs +62 -49
  133. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.js +1 -1
  134. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.mjs +40 -34
  135. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.js +1 -1
  136. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.mjs +51 -45
  137. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +1 -1
  138. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +2 -2
  139. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.js +1 -1
  140. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.mjs +40 -33
  141. package/components/GridContainerElementContainer.js +1 -1
  142. package/components/GridContainerElementContainer.mjs +1 -1
  143. package/components/GridDragClue.js +1 -1
  144. package/components/GridDragClue.mjs +1 -1
  145. package/components/GridDraggableRowsContainer.js +1 -1
  146. package/components/GridDraggableRowsContainer.mjs +71 -67
  147. package/components/GridDropClue.js +1 -1
  148. package/components/GridDropClue.mjs +1 -1
  149. package/components/GridEditDialog.js +1 -1
  150. package/components/GridEditDialog.mjs +1 -1
  151. package/components/GridElementContainer.js +1 -1
  152. package/components/GridElementContainer.mjs +1 -1
  153. package/components/PagerContainer.js +1 -1
  154. package/components/PagerContainer.mjs +1 -1
  155. package/components/VirtualScrollHeightContainer.js +1 -1
  156. package/components/VirtualScrollHeightContainer.mjs +4 -4
  157. package/components/colGroup/GridColGroup.js +1 -1
  158. package/components/colGroup/GridColGroup.mjs +1 -1
  159. package/components/noRecords/GridNoRecordsContainer.js +1 -1
  160. package/components/noRecords/GridNoRecordsContainer.mjs +1 -1
  161. package/components/table/GridTable.js +1 -1
  162. package/components/table/GridTable.mjs +1 -1
  163. package/components/table/GridTableBody.js +1 -1
  164. package/components/table/GridTableBody.mjs +1 -1
  165. package/components/table/GridTableScrollable.js +1 -1
  166. package/components/table/GridTableScrollable.mjs +16 -15
  167. package/components/utils.js +1 -1
  168. package/components/utils.mjs +9 -10
  169. package/dist/cdn/js/kendo-react-grid.js +1 -1
  170. package/footer/Footer.js +1 -1
  171. package/footer/Footer.mjs +1 -1
  172. package/footer/FooterCell.js +1 -1
  173. package/footer/FooterCell.mjs +14 -14
  174. package/footer/client/FooterCellContainer.js +1 -1
  175. package/footer/client/FooterCellContainer.mjs +1 -1
  176. package/header/FilterRow.js +1 -1
  177. package/header/FilterRow.mjs +42 -46
  178. package/header/GridHeaderCell.js +1 -1
  179. package/header/GridHeaderCell.mjs +11 -11
  180. package/header/GridHeaderSelectionCell.js +1 -1
  181. package/header/GridHeaderSelectionCell.mjs +14 -14
  182. package/header/GroupPanel.js +1 -1
  183. package/header/GroupPanel.mjs +1 -1
  184. package/header/Header.js +1 -1
  185. package/header/Header.mjs +1 -1
  186. package/header/HeaderRow.js +1 -1
  187. package/header/HeaderRow.mjs +19 -20
  188. package/header/client/GridFilterCellContainer.js +1 -1
  189. package/header/client/GridFilterCellContainer.mjs +11 -12
  190. package/header/client/GridFilterCellElementContainer.js +1 -1
  191. package/header/client/GridFilterCellElementContainer.mjs +1 -1
  192. package/header/client/GridHeaderCellContainer.js +1 -1
  193. package/header/client/GridHeaderCellContainer.mjs +7 -8
  194. package/header/client/GridHeaderCellElementContainer.js +1 -1
  195. package/header/client/GridHeaderCellElementContainer.mjs +1 -1
  196. package/header/client/GridHeaderRowContainer.js +1 -1
  197. package/header/client/GridHeaderRowContainer.mjs +1 -1
  198. package/header/client/HeaderCellResizer.js +1 -1
  199. package/header/client/HeaderCellResizer.mjs +1 -1
  200. package/header/client/HeaderRowDraggable.js +1 -1
  201. package/header/client/HeaderRowDraggable.mjs +1 -1
  202. package/index.d.mts +334 -193
  203. package/index.d.ts +334 -193
  204. package/index.js +1 -1
  205. package/index.mjs +82 -72
  206. package/messages/index.js +1 -1
  207. package/messages/index.mjs +94 -76
  208. package/package-metadata.js +1 -1
  209. package/package-metadata.mjs +2 -2
  210. package/package.json +77 -21
  211. package/paging/GridPagerSettings.js +1 -1
  212. package/paging/GridPagerSettings.mjs +17 -13
  213. package/rows/GridRow.js +1 -1
  214. package/rows/GridRow.mjs +32 -33
  215. package/toolbar-tools/GridToolbarCheckboxFilter.js +8 -0
  216. package/toolbar-tools/GridToolbarCheckboxFilter.mjs +312 -0
  217. package/toolbar-tools/GridToolbarColumnsChooser.js +8 -0
  218. package/toolbar-tools/GridToolbarColumnsChooser.mjs +178 -0
  219. package/toolbar-tools/GridToolbarFilter.js +8 -0
  220. package/toolbar-tools/GridToolbarFilter.mjs +281 -0
  221. package/toolbar-tools/GridToolbarSort.js +8 -0
  222. package/toolbar-tools/GridToolbarSort.mjs +146 -0
  223. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.js +9 -0
  224. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.mjs +114 -0
  225. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.js +9 -0
  226. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.mjs +89 -0
  227. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.js +9 -0
  228. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.mjs +98 -0
  229. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.js +9 -0
  230. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.mjs +68 -0
  231. package/toolbar-tools/adaptiveContext/GridToolbarAdaptiveContext.js +9 -0
  232. package/toolbar-tools/adaptiveContext/GridToolbarAdaptiveContext.mjs +17 -0
  233. package/utils/GridContext.js +9 -0
  234. package/utils/GridContext.mjs +13 -0
  235. package/utils/index.js +1 -1
  236. package/utils/index.mjs +162 -157
  237. package/utils/premium.js +1 -1
  238. package/utils/premium.mjs +18 -22
  239. package/utils/virtualColumns.js +1 -1
  240. package/utils/virtualColumns.mjs +13 -7
  241. package/VirtualScrollFixed.js +0 -8
  242. package/VirtualScrollFixed.mjs +0 -52
  243. package/cells/GridCell.js +0 -8
  244. package/cells/GridCell.mjs +0 -52
  245. package/cells/GridDetailCell.js +0 -8
  246. package/cells/GridDetailCell.mjs +0 -26
  247. package/cells/GridEditCell.js +0 -8
  248. package/cells/GridEditCell.mjs +0 -35
  249. package/cells/GridGroupCell.js +0 -8
  250. package/cells/GridGroupCell.mjs +0 -74
  251. package/cells/GridHierarchyCell.js +0 -8
  252. package/cells/GridHierarchyCell.mjs +0 -33
  253. package/cells/GridRowReorderCell.js +0 -8
  254. package/cells/GridRowReorderCell.mjs +0 -42
  255. package/cells/GridSelectionCell.js +0 -8
  256. package/cells/GridSelectionCell.mjs +0 -30
  257. package/cells/client/DetailCellContainer.js +0 -9
  258. package/cells/client/DetailCellContainer.mjs +0 -27
  259. package/cells/client/GridCellContainer.js +0 -9
  260. package/cells/client/GridCellContainer.mjs +0 -69
  261. package/cells/client/GridEditCellContainer.js +0 -9
  262. package/cells/client/GridEditCellContainer.mjs +0 -61
  263. package/cells/client/GridGroupCellContainer.js +0 -9
  264. package/cells/client/GridGroupCellContainer.mjs +0 -88
  265. package/cells/client/GridHierarchyCellContainer.js +0 -9
  266. package/cells/client/GridHierarchyCellContainer.mjs +0 -64
  267. package/cells/client/GridRowReorderContainer.js +0 -9
  268. package/cells/client/GridRowReorderContainer.mjs +0 -31
  269. package/cells/client/GridSelectionCellContainer.js +0 -9
  270. package/cells/client/GridSelectionCellContainer.mjs +0 -61
  271. package/components/GridCustomCellClientContainer.js +0 -9
  272. package/components/GridCustomCellClientContainer.mjs +0 -34
@@ -5,25 +5,29 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- const s = ({
8
+ const u = ({
9
9
  buttonCount: e = 10,
10
- info: r = !0,
10
+ info: a = !0,
11
11
  type: i = "numeric",
12
- pageSizes: o = void 0,
13
- previousNext: t = !0,
14
- responsive: a = void 0,
12
+ pageSizes: t = void 0,
13
+ previousNext: r = !0,
14
+ responsive: o = void 0,
15
+ adaptive: v = void 0,
16
+ adaptiveTitle: d = void 0,
15
17
  navigatable: l = void 0,
16
- pageSizeValue: n = void 0
18
+ pageSizeValue: s = void 0
17
19
  }) => ({
18
20
  buttonCount: e,
19
- info: r,
20
- pageSizes: o === !0 ? [5, 10, 20] : o || void 0,
21
- previousNext: t,
22
- responsive: a !== !1,
21
+ info: a,
22
+ pageSizes: t === !0 ? [5, 10, 20] : t || void 0,
23
+ previousNext: r,
24
+ responsive: o !== !1,
25
+ adaptive: v === !0,
26
+ adaptiveTitle: d || "Items per page",
23
27
  navigatable: l !== !1,
24
28
  type: i,
25
- pageSizeValue: n
26
- }), u = (e) => s(e === !0 ? {} : e);
29
+ pageSizeValue: s
30
+ }), n = (e) => u(e === !0 ? {} : e);
27
31
  export {
28
- u as normalize
32
+ n as normalize
29
33
  };
package/rows/GridRow.js CHANGED
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react"),a=require("@progress/kendo-react-common"),h=require("../constants/index.js"),O=require("../GridClientWrapper.js");function S(e){const r=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(r,n,t.get?t:{enumerable:!0,get:()=>e[n]})}}return r.default=e,Object.freeze(r)}const c=S(v),G=e=>{var f;const r=c.useContext(O.GridContext),{reorderRowDropTargetRef:n,reorderRowDragTargetRef:t,activeDragRowDataItemRef:b}=r,{rowType:i,isAltRow:m,isInEdit:y,isSelected:D}=e,d=a.useUnstyled(),I=d&&d.uGrid?d.uGrid:a.uGrid,x=a.classNames(I.tr({selected:D,isHeader:i==="groupHeader",isFooter:i==="groupFooter",isMaster:i!=="groupHeader"&&i!=="groupFooter",isAltRow:m,isInEdit:y})),s=c.useRef(null),C=o=>{if(e.isRowReorderable&&b.current){const k=o.originalEvent.target;n.current=k.closest(".k-table-row")}},T=()=>{t.current&&e.isRowReorderable&&(t.current.style.userSelect="")};a.useDroppable(s,{onDragOver:C,onDrop:T});const u={onClick:o=>r.rowClick(o,e.dataItem),onDoubleClick:o=>r.rowDblClick(o,e.dataItem)},w={ref:s,id:e.id,...u,className:x,style:{height:e.rowHeight?e.rowHeight+"px":"",visibility:e.isHidden?"hidden":"",userSelect:(f=t==null?void 0:t.current)==null?void 0:f.style.userSelect},role:"row","aria-rowindex":e.ariaRowIndex,"absolute-row-index":e.absoluteRowIndex,[h.GRID_ROW_INDEX_ATTRIBUTE]:e.rowType==="data"?e.dataIndex:void 0},R=e.rowType||"data",l=e.rows;if(l&&l[R]){const o=l[R];return c.createElement(o,{key:e.absoluteRowIndex,...e,trProps:w},e.children)}const g=c.createElement("tr",{key:e.absoluteRowIndex,...w},e.children);return e.render?e.render.call(void 0,g,{...e,...u}):g};exports.GridRow=G;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("react"),a=require("@progress/kendo-react-common"),h=require("../constants/index.js"),v=require("../utils/GridContext.js");function O(e){const r=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(r,n,t.get?t:{enumerable:!0,get:()=>e[n]})}}return r.default=e,Object.freeze(r)}const c=O(k),S=e=>{var R;const r=c.useContext(v.GridContext),{reorderRowDropTargetRef:n,reorderRowDragTargetRef:t,activeDragRowDataItemRef:g}=r,{rowType:i,isAltRow:b,isInEdit:f,isSelected:m}=e,s=a.useUnstyled(),y=s&&s.uGrid?s.uGrid:a.uGrid,D=a.classNames(y.tr({selected:m,isHeader:i==="groupHeader",isFooter:i==="groupFooter",isMaster:i!=="groupHeader"&&i!=="groupFooter",isAltRow:b,isInEdit:f})),l=c.useRef(null),x=o=>{if(e.isRowReorderable&&g.current){const T=o.originalEvent.target;n.current=T.closest(".k-table-row")}},I=()=>{t.current&&e.isRowReorderable&&(t.current.style.userSelect="")};a.useDroppable(l,{onDragOver:x,onDrop:I});const C={onClick:o=>r.rowClick(o,e.dataItem),onDoubleClick:o=>r.rowDblClick(o,e.dataItem)},u={ref:l,id:e.id,...C,className:D,style:{height:e.rowHeight?e.rowHeight+"px":"",visibility:e.isHidden?"hidden":"",userSelect:(R=t==null?void 0:t.current)==null?void 0:R.style.userSelect},role:"row","aria-rowindex":e.ariaRowIndex,"absolute-row-index":e.absoluteRowIndex,[h.GRID_ROW_INDEX_ATTRIBUTE]:e.rowType==="data"?e.dataIndex:void 0},w=e.rowType||"data",d=e.rows;if(d&&d[w]){const o=d[w];return c.createElement(o,{key:e.absoluteRowIndex,...e,trProps:u},e.children)}return c.createElement("tr",{key:e.absoluteRowIndex,...u},e.children)};exports.GridRow=S;
package/rows/GridRow.mjs CHANGED
@@ -6,62 +6,61 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as n from "react";
10
- import { useUnstyled as h, uGrid as v, classNames as C, useDroppable as T } from "@progress/kendo-react-common";
9
+ import * as a from "react";
10
+ import { useUnstyled as b, uGrid as h, classNames as C, useDroppable as T } from "@progress/kendo-react-common";
11
11
  import { GRID_ROW_INDEX_ATTRIBUTE as k } from "../constants/index.mjs";
12
- import { GridContext as E } from "../GridClientWrapper.mjs";
13
- const N = (e) => {
14
- var R;
15
- const a = n.useContext(E), {
16
- reorderRowDropTargetRef: g,
12
+ import { GridContext as v } from "../utils/GridContext.mjs";
13
+ const F = (e) => {
14
+ var u;
15
+ const n = a.useContext(v), {
16
+ reorderRowDropTargetRef: w,
17
17
  reorderRowDragTargetRef: r,
18
- activeDragRowDataItemRef: m
19
- } = a, { rowType: o, isAltRow: D, isInEdit: f, isSelected: I } = e, i = h(), x = i && i.uGrid ? i.uGrid : v, y = C(
20
- x.tr({
21
- selected: I,
18
+ activeDragRowDataItemRef: R
19
+ } = n, { rowType: o, isAltRow: g, isInEdit: m, isSelected: D } = e, i = b(), f = i && i.uGrid ? i.uGrid : h, I = C(
20
+ f.tr({
21
+ selected: D,
22
22
  isHeader: o === "groupHeader",
23
23
  isFooter: o === "groupFooter",
24
24
  isMaster: o !== "groupHeader" && o !== "groupFooter",
25
- isAltRow: D,
26
- isInEdit: f
25
+ isAltRow: g,
26
+ isInEdit: m
27
27
  })
28
- ), l = n.useRef(null);
29
- T(l, {
28
+ ), c = a.useRef(null);
29
+ T(c, {
30
30
  onDragOver: (t) => {
31
- if (e.isRowReorderable && m.current) {
32
- const b = t.originalEvent.target;
33
- g.current = b.closest(".k-table-row");
31
+ if (e.isRowReorderable && R.current) {
32
+ const y = t.originalEvent.target;
33
+ w.current = y.closest(".k-table-row");
34
34
  }
35
35
  },
36
36
  onDrop: () => {
37
37
  r.current && e.isRowReorderable && (r.current.style.userSelect = "");
38
38
  }
39
39
  });
40
- const c = {
41
- onClick: (t) => a.rowClick(t, e.dataItem),
42
- onDoubleClick: (t) => a.rowDblClick(t, e.dataItem)
43
- }, s = {
44
- ref: l,
40
+ const x = {
41
+ onClick: (t) => n.rowClick(t, e.dataItem),
42
+ onDoubleClick: (t) => n.rowDblClick(t, e.dataItem)
43
+ }, l = {
44
+ ref: c,
45
45
  id: e.id,
46
- ...c,
47
- className: y,
46
+ ...x,
47
+ className: I,
48
48
  style: {
49
49
  height: e.rowHeight ? e.rowHeight + "px" : "",
50
50
  visibility: e.isHidden ? "hidden" : "",
51
- userSelect: (R = r == null ? void 0 : r.current) == null ? void 0 : R.style.userSelect
51
+ userSelect: (u = r == null ? void 0 : r.current) == null ? void 0 : u.style.userSelect
52
52
  },
53
53
  role: "row",
54
54
  "aria-rowindex": e.ariaRowIndex,
55
55
  "absolute-row-index": e.absoluteRowIndex,
56
56
  [k]: e.rowType === "data" ? e.dataIndex : void 0
57
- }, u = e.rowType || "data", d = e.rows;
58
- if (d && d[u]) {
59
- const t = d[u];
60
- return /* @__PURE__ */ n.createElement(t, { key: e.absoluteRowIndex, ...e, trProps: s }, e.children);
57
+ }, s = e.rowType || "data", d = e.rows;
58
+ if (d && d[s]) {
59
+ const t = d[s];
60
+ return /* @__PURE__ */ a.createElement(t, { key: e.absoluteRowIndex, ...e, trProps: l }, e.children);
61
61
  }
62
- const w = /* @__PURE__ */ n.createElement("tr", { key: e.absoluteRowIndex, ...s }, e.children);
63
- return e.render ? e.render.call(void 0, w, { ...e, ...c }) : w;
62
+ return /* @__PURE__ */ a.createElement("tr", { key: e.absoluteRowIndex, ...l }, e.children);
64
63
  };
65
64
  export {
66
- N as GridRow
65
+ F as GridRow
67
66
  };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const qe=require("react"),ye=require("react-dom"),E=require("@progress/kendo-react-common"),De=require("../columnMenu/GridColumnMenuItem.js"),we=require("../columnMenu/GridColumnMenuItemContent.js"),Ne=require("../columnMenu/GridColumnMenuItemGroup.js"),Ae=require("../utils/GridContext.js"),F=require("@progress/kendo-svg-icons"),ce=require("@progress/kendo-data-query"),B=require("@progress/kendo-react-buttons"),V=require("@progress/kendo-react-inputs"),o=require("../messages/index.js"),Ge=require("@progress/kendo-react-intl"),se=require("../utils/index.js"),Oe=require("../columnMenu/GridColumnMenuCheckboxFilter.js"),Te=require("./adaptiveContent/GridAdaptiveToolbarCheckboxFilter.js"),Pe=require("@progress/kendo-react-popup"),ue=require("@progress/kendo-react-indicators"),Le=require("./adaptiveContext/GridToolbarAdaptiveContext.js");function Ve(l){const m=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const k in l)if(k!=="default"){const v=Object.getOwnPropertyDescriptor(l,k);Object.defineProperty(m,k,v.get?v:{enumerable:!0,get:()=>l[k]})}}return m.default=l,Object.freeze(m)}const n=Ve(qe),je={uniqueData:!0},de=l=>{var oe,ie;const{uniqueData:m=je.uniqueData,svgIcon:k,icon:v}=l,c=n.useContext(Ae.GridContext),C=c.columnsRef,M=c.defaultFilter,[D,I]=n.useState(!1),x=n.useRef(null),w=n.useRef(null),j=n.useRef(null),N=n.useRef(0),g=Ge.useLocalization(),i=n.useRef(null),fe=E.useDocument(x),A=()=>M?E.clone(M):{filters:[],logic:"and"},me=()=>{var r;const e=(r=i==null?void 0:i.current)==null?void 0:r.field;return A().filters.findIndex(u=>u.filters&&u.filters.length>0&&u.filters[0].field===e)},b=(e,t)=>{var u;const a=((u=i==null?void 0:i.current)==null?void 0:u.field)||"",r=e.map(d=>se.getNestedValue(a,d));return t?r.filter((d,y)=>r.indexOf(d)===y):r},s=n.useRef(me()),[ge,S]=n.useState(!1),[h,z]=n.useState((C==null?void 0:C.map(e=>({column:e,expanded:!1})))||[]),[K,_]=n.useState(""),[q,p]=n.useState(b(l.data,m)||[]),[R,$]=n.useState(b(l.data,!1)||[]),[f,H]=n.useState(A()),[he,Q]=n.useState(!1),ke=g.toLanguageString(o.filterClearButton,o.messages[o.filterClearButton]),W=n.useMemo(()=>(C==null?void 0:C.filter(e=>{var t;return(t=e.title||e.field)==null?void 0:t.toLowerCase()}))||[],[C]);n.useEffect(()=>{M&&S(!0)},[M]),n.useEffect(()=>{var a;const e=((a=i==null?void 0:i.current)==null?void 0:a.field)||"",t=l.data.map(r=>se.getNestedValue(e,r));Oe.isArrayEqual(t,R)||(p(t),$(t))},[R,l.data]),n.useEffect(()=>{h.find(e=>e.expanded)&&p(b(l.data,m)||[])},[h,l.data,m]);const J=n.useCallback(e=>{const t=f.filters.some(a=>a.field===e.field);return n.createElement(n.Fragment,null,e.title||e.field,t&&n.createElement("span",{className:"k-columnmenu-indicators"},n.createElement(E.SvgIcon,{key:1,icon:F.filterIcon})))},[f]),U=n.useCallback((e,t)=>{z(a=>(i.current=t,a.map(r=>r.column.field===t.field?{...r,expanded:!r.expanded}:{...r,expanded:!1}))),p(b(l.data,m)||[]),$(b(l.data,m)||[]),Q(!he)},[]),X=e=>{var r;const t=l.searchBoxFilterOperator?l.searchBoxFilterOperator:"startswith",a={logic:"and",filters:[{field:(r=i==null?void 0:i.current)==null?void 0:r.field,operator:t,value:e.target.value,ignoreCase:!0}]};_(e.target.value),p(b(ce.filterBy(l.data||[],a),m))},Ce=()=>{var a;const e=l.searchBoxFilterOperator?l.searchBoxFilterOperator:"startswith",t={logic:"and",filters:[{field:(a=i==null?void 0:i.current)==null?void 0:a.field,operator:e,value:"",ignoreCase:!0}]};_(""),p(b(ce.filterBy(l.data||[],t),m))},Y=()=>{let e=!1;if(f){const t=[...f.filters];return s.current===-1?!1:(e=q.every(a=>s.current!==-1&&t[s.current].filters?t[s.current].filters.findIndex(u=>u.value===a)>=0:!1),e)}return e},G=(e,t)=>{var y;const a=((y=i==null?void 0:i.current)==null?void 0:y.field)||"",r={...f},u=[...f.filters];let d=[];if(s.current!==-1&&r.filters[s.current].filters&&t!=="all"&&(d=r.filters[s.current].filters),e.value&&t==="all")q.forEach(L=>{d.push({field:a,operator:"eq",value:L})});else if(e.value)d.push({field:a,operator:"eq",value:t});else if(f){const L=d.findIndex(Se=>Se.value===t);d.splice(L,1)}r.logic="and",s.current!==-1?u[s.current]={logic:"or",filters:d}:u.push({logic:"or",filters:d}),(!e.value&&t==="all"||d.length===0)&&u.splice(s.current,1),r.filters=u,H(r)},O=[];if(f){const e=[...f.filters];s.current=e.findIndex(t=>{var a;return t.filters&&t.filters.length>0?t.filters[0].field===((a=i==null?void 0:i.current)==null?void 0:a.field):!1}),s.current!==-1&&e[s.current].filters.length>0&&e[s.current].filters.forEach(t=>{var a;t.field===((a=i==null?void 0:i.current)==null?void 0:a.field)&&O.push(t.value)})}const T=O.filter((e,t)=>O.indexOf(e)===t),Z=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;t!==null&&t.filters.length>0?(s.current>=0&&t.filters.splice(s.current,1),c.filterChange(t,e)):c.filterChange(null,e),l.onCloseMenu&&l.onCloseMenu(),S(!1)},ee=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;c.filterChange(t,e),l.onCloseMenu&&l.onCloseMenu(),S(!0),I(!1)},te=l.searchBox?n.createElement(l.searchBox,{value:K,onChange:X}):n.createElement("div",{className:`k-searchbox k-textbox k-input k-input-solid ${c!=null&&c.mobileMode?"k-input-lg":"k-input-md"}`},n.createElement(E.IconWrap,{className:"k-input-icon",name:"search",icon:F.searchIcon}),n.createElement(V.Input,{className:"k-input-inner",type:"text",placeholder:g.toLanguageString(o.searchPlaceholder,o.messages[o.searchPlaceholder]),value:K,onChange:e=>X(e.nativeEvent)}),n.createElement(B.Button,{type:"button",rounded:null,className:"k-input-button",onClick:Ce,icon:"x","aria-label":ke,svgIcon:F.xIcon})),be=()=>{Q(!1)},Ee=e=>{e.preventDefault(),I(!D)},xe=e=>{!e.isAnchorClicked&&I(!1)},P=n.useMemo(()=>l.show!==void 0?l.show:D,[l.show,D]),ve=e=>{const t=E.getActiveElement(document);clearTimeout(N.current),N.current=window.setTimeout(()=>{!c.mobileMode&&t&&e.relatedTarget!==x.current&&w.current&&!w.current.contains(t)&&ne()})},ne=()=>{var e;l.onCloseMenu&&l.onCloseMenu(),I(!1),x.current&&((e=x.current.element)==null||e.focus())},pe=()=>{clearTimeout(N.current)},{onFocus:Fe,onBlur:Be}=E.useAsyncFocusBlur({onFocus:e=>pe(),onBlur:e=>ve(e)}),Me=e=>{var t;(t=j.current)==null||t.triggerMouseEvent(e)},Ie=e=>{var t;(t=j.current)==null||t.triggerKeyboardEvent(e)},re=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;t!==null&&t.filters.length>0?(t.filters=[],c.filterChange(t,e)):c.filterChange(null,e),H(A()),S(!1),z(a=>a.map(r=>({...r,expanded:!1})))},le=n.createElement(B.Button,{ref:x,togglable:!0,selected:P,svgIcon:k||(v?void 0:F.filterIcon),icon:v,size:c.mobileMode?"large":"medium",className:E.classNames("k-toolbar-button",{"k-icon-button":c.mobileMode}),title:g.toLanguageString(o.toolbarCheckboxFilter,o.messages[o.toolbarCheckboxFilter]),onClick:Ee},!c.mobileMode&&g.toLanguageString(o.toolbarCheckboxFilter,o.messages[o.toolbarCheckboxFilter])),ae=n.createElement(n.Fragment,null,W.map(e=>{var t,a;return e.filterable&&n.createElement(Ne.GridColumnMenuItemGroup,{key:e.id},n.createElement("div",{className:"k-expander"},n.createElement(De.GridColumnMenuItem,{title:J(e),expandable:!0,expanded:!!((t=h==null?void 0:h.find(r=>r.column.field===e.field))!=null&&t.expanded),onClick:r=>U(r,e)})),n.createElement(we.GridColumnMenuItemContent,{show:!!((a=h==null?void 0:h.find(r=>r.column.field===e.field))!=null&&a.expanded)},n.createElement("form",{className:"k-filter-menu",onSubmit:ee,onReset:Z},n.createElement("div",{className:"k-filter-menu-container"},te,n.createElement("ul",{className:"k-multicheck-wrap"},n.createElement("li",{className:"k-item k-check-all-wrap"},n.createElement(V.Checkbox,{label:g.toLanguageString(o.filterCheckAll,o.messages[o.filterCheckAll]),onChange:r=>G(r,"all"),checked:Y()})),q.map((r,u)=>n.createElement("li",{className:"k-item",key:u},n.createElement(V.Checkbox,{label:String(r),onChange:d=>G(d,r),checked:T.includes(r)})))),n.createElement("div",{className:"k-filter-selected-items"},T.length+" "+g.toLanguageString(o.filterSelectedItems,o.messages[o.filterSelectedItems])),n.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},n.createElement(B.Button,{themeColor:"primary",type:"submit"},g.toLanguageString(o.filterSubmitButton,o.messages[o.filterSubmitButton])),n.createElement(B.Button,{className:"k-button",type:"reset"},g.toLanguageString(o.filterClearButton,o.messages[o.filterClearButton])))))))}),n.createElement("div",{className:"k-actions k-actions-stretched k-actions-horizontal k-column-menu-footer"},n.createElement(B.Button,{svgIcon:F.filterClearIcon,onClick:re},g.toLanguageString(o.filterClearAllButton,o.messages[o.filterClearAllButton]))));return n.createElement(n.Fragment,null,ge?n.createElement(ue.BadgeContainer,null,le,n.createElement(ue.Badge,{themeColor:"primary"})):le,c.mobileMode?n.createElement(Le.GridToolbarAdaptiveProvider,null,ye.createPortal(n.createElement(Te.GridAdaptiveToolbarCheckboxFilter,{filtered:W,computedShow:P,expandState:h,currentData:q,uniqueFilterValues:T,searchBox:te,renderTitle:J,onBackView:be,isAllSelected:Y,handleCheckBoxChange:G,clear:Z,submit:ee,onClose:ne,onFilterExpand:U,handleClearAllFilters:re},ae),(oe=fe())==null?void 0:oe.body)):n.createElement(Pe.Popup,{anchor:(ie=x.current)==null?void 0:ie.element,show:P,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:xe},n.createElement("div",{ref:w,onBlur:Be,onFocus:Fe,onMouseDown:Me,onKeyDown:Ie,className:"k-column-menu k-column-menu-md"},ae)))};de.displayName="KendoReactGridToolbarCheckboxFilter";exports.GridToolbarCheckboxFilter=de;
@@ -0,0 +1,312 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import * as r from "react";
9
+ import Ae from "react-dom";
10
+ import { useDocument as Le, SvgIcon as Oe, IconWrap as Te, useAsyncFocusBlur as Ge, classNames as Pe, clone as Ve, getActiveElement as qe } from "@progress/kendo-react-common";
11
+ import { GridColumnMenuItem as ze } from "../columnMenu/GridColumnMenuItem.mjs";
12
+ import { GridColumnMenuItemContent as Ke } from "../columnMenu/GridColumnMenuItemContent.mjs";
13
+ import { GridColumnMenuItemGroup as je } from "../columnMenu/GridColumnMenuItemGroup.mjs";
14
+ import { GridContext as He } from "../utils/GridContext.mjs";
15
+ import { filterIcon as ie, searchIcon as We, xIcon as _e, filterClearIcon as $e } from "@progress/kendo-svg-icons";
16
+ import { filterBy as ce } from "@progress/kendo-data-query";
17
+ import { Button as b } from "@progress/kendo-react-buttons";
18
+ import { Input as Je, Checkbox as se } from "@progress/kendo-react-inputs";
19
+ import { filterClearButton as B, messages as g, searchPlaceholder as ue, toolbarCheckboxFilter as D, filterCheckAll as fe, filterSelectedItems as me, filterSubmitButton as de, filterClearAllButton as ge } from "../messages/index.mjs";
20
+ import { useLocalization as Qe } from "@progress/kendo-react-intl";
21
+ import { getNestedValue as he } from "../utils/index.mjs";
22
+ import { isArrayEqual as Ue } from "../columnMenu/GridColumnMenuCheckboxFilter.mjs";
23
+ import { GridAdaptiveToolbarCheckboxFilter as Xe } from "./adaptiveContent/GridAdaptiveToolbarCheckboxFilter.mjs";
24
+ import { Popup as Ye } from "@progress/kendo-react-popup";
25
+ import { BadgeContainer as Ze, Badge as Re } from "@progress/kendo-react-indicators";
26
+ import { GridToolbarAdaptiveProvider as et } from "./adaptiveContext/GridToolbarAdaptiveContext.mjs";
27
+ const tt = {
28
+ uniqueData: !0
29
+ }, rt = (a) => {
30
+ var ae, oe;
31
+ const { uniqueData: h = tt.uniqueData, svgIcon: P, icon: V } = a, i = r.useContext(He), k = i.columnsRef, v = i.defaultFilter, [S, x] = r.useState(!1), p = r.useRef(null), I = r.useRef(null), q = r.useRef(null), N = r.useRef(0), m = Qe(), o = r.useRef(null), ke = Le(p), y = () => v ? Ve(v) : { filters: [], logic: "and" }, Ee = () => {
32
+ var n;
33
+ const e = (n = o == null ? void 0 : o.current) == null ? void 0 : n.field;
34
+ return y().filters.findIndex(
35
+ (s) => s.filters && s.filters.length > 0 && s.filters[0].field === e
36
+ );
37
+ }, E = (e, t) => {
38
+ var s;
39
+ const l = ((s = o == null ? void 0 : o.current) == null ? void 0 : s.field) || "", n = e.map((u) => he(l, u));
40
+ return t ? n.filter((u, w) => n.indexOf(u) === w) : n;
41
+ }, c = r.useRef(Ee()), [pe, F] = r.useState(!1), [d, z] = r.useState(
42
+ (k == null ? void 0 : k.map((e) => ({ column: e, expanded: !1 }))) || []
43
+ ), [K, j] = r.useState(""), [M, C] = r.useState(E(a.data, h) || []), [H, W] = r.useState(E(a.data, !1) || []), [f, _] = r.useState(y()), [Ce, $] = r.useState(!1), be = m.toLanguageString(B, g[B]), J = r.useMemo(
44
+ () => (k == null ? void 0 : k.filter((e) => {
45
+ var t;
46
+ return (t = e.title || e.field) == null ? void 0 : t.toLowerCase();
47
+ })) || [],
48
+ [k]
49
+ );
50
+ r.useEffect(() => {
51
+ v && F(!0);
52
+ }, [v]), r.useEffect(() => {
53
+ var l;
54
+ const e = ((l = o == null ? void 0 : o.current) == null ? void 0 : l.field) || "", t = a.data.map((n) => he(e, n));
55
+ Ue(t, H) || (C(t), W(t));
56
+ }, [H, a.data]), r.useEffect(() => {
57
+ d.find((e) => e.expanded) && C(E(a.data, h) || []);
58
+ }, [d, a.data, h]);
59
+ const Q = r.useCallback(
60
+ (e) => {
61
+ const t = f.filters.some((l) => l.field === e.field);
62
+ return /* @__PURE__ */ r.createElement(r.Fragment, null, e.title || e.field, t && /* @__PURE__ */ r.createElement("span", { className: "k-columnmenu-indicators" }, /* @__PURE__ */ r.createElement(Oe, { key: 1, icon: ie })));
63
+ },
64
+ [f]
65
+ ), U = r.useCallback((e, t) => {
66
+ z((l) => (o.current = t, l.map((n) => n.column.field === t.field ? { ...n, expanded: !n.expanded } : { ...n, expanded: !1 }))), C(E(a.data, h) || []), W(E(a.data, h) || []), $(!Ce);
67
+ }, []), X = (e) => {
68
+ var n;
69
+ const t = a.searchBoxFilterOperator ? a.searchBoxFilterOperator : "startswith", l = {
70
+ logic: "and",
71
+ filters: [
72
+ {
73
+ field: (n = o == null ? void 0 : o.current) == null ? void 0 : n.field,
74
+ operator: t,
75
+ value: e.target.value,
76
+ ignoreCase: !0
77
+ }
78
+ ]
79
+ };
80
+ j(e.target.value), C(E(ce(a.data || [], l), h));
81
+ }, ve = () => {
82
+ var l;
83
+ const e = a.searchBoxFilterOperator ? a.searchBoxFilterOperator : "startswith", t = {
84
+ logic: "and",
85
+ filters: [
86
+ { field: (l = o == null ? void 0 : o.current) == null ? void 0 : l.field, operator: e, value: "", ignoreCase: !0 }
87
+ ]
88
+ };
89
+ j(""), C(E(ce(a.data || [], t), h));
90
+ }, Y = () => {
91
+ let e = !1;
92
+ if (f) {
93
+ const t = [...f.filters];
94
+ return c.current === -1 ? !1 : (e = M.every((l) => c.current !== -1 && t[c.current].filters ? t[c.current].filters.findIndex(
95
+ (s) => s.value === l
96
+ ) >= 0 : !1), e);
97
+ }
98
+ return e;
99
+ }, A = (e, t) => {
100
+ var w;
101
+ const l = ((w = o == null ? void 0 : o.current) == null ? void 0 : w.field) || "", n = { ...f }, s = [...f.filters];
102
+ let u = [];
103
+ if (c.current !== -1 && n.filters[c.current].filters && t !== "all" && (u = n.filters[c.current].filters), e.value && t === "all")
104
+ M.forEach((G) => {
105
+ u.push({ field: l, operator: "eq", value: G });
106
+ });
107
+ else if (e.value)
108
+ u.push({ field: l, operator: "eq", value: t });
109
+ else if (f) {
110
+ const G = u.findIndex((ye) => ye.value === t);
111
+ u.splice(G, 1);
112
+ }
113
+ n.logic = "and", c.current !== -1 ? s[c.current] = {
114
+ logic: "or",
115
+ filters: u
116
+ } : s.push({
117
+ logic: "or",
118
+ filters: u
119
+ }), (!e.value && t === "all" || u.length === 0) && s.splice(c.current, 1), n.filters = s, _(n);
120
+ }, L = [];
121
+ if (f) {
122
+ const e = [...f.filters];
123
+ c.current = e.findIndex((t) => {
124
+ var l;
125
+ return t.filters && t.filters.length > 0 ? t.filters[0].field === ((l = o == null ? void 0 : o.current) == null ? void 0 : l.field) : !1;
126
+ }), c.current !== -1 && e[c.current].filters.length > 0 && e[c.current].filters.forEach((t) => {
127
+ var l;
128
+ t.field === ((l = o == null ? void 0 : o.current) == null ? void 0 : l.field) && L.push(t.value);
129
+ });
130
+ }
131
+ const O = L.filter((e, t) => L.indexOf(e) === t), Z = (e) => {
132
+ if (e.preventDefault(), !i.filterChange)
133
+ return;
134
+ const t = f || null;
135
+ t !== null && t.filters.length > 0 ? (c.current >= 0 && t.filters.splice(c.current, 1), i.filterChange(t, e)) : i.filterChange(null, e), a.onCloseMenu && a.onCloseMenu(), F(!1);
136
+ }, R = (e) => {
137
+ if (e.preventDefault(), !i.filterChange)
138
+ return;
139
+ const t = f || null;
140
+ i.filterChange(t, e), a.onCloseMenu && a.onCloseMenu(), F(!0), x(!1);
141
+ }, ee = a.searchBox ? /* @__PURE__ */ r.createElement(a.searchBox, { value: K, onChange: X }) : /* @__PURE__ */ r.createElement(
142
+ "div",
143
+ {
144
+ className: `k-searchbox k-textbox k-input k-input-solid ${i != null && i.mobileMode ? "k-input-lg" : "k-input-md"}`
145
+ },
146
+ /* @__PURE__ */ r.createElement(Te, { className: "k-input-icon", name: "search", icon: We }),
147
+ /* @__PURE__ */ r.createElement(
148
+ Je,
149
+ {
150
+ className: "k-input-inner",
151
+ type: "text",
152
+ placeholder: m.toLanguageString(ue, g[ue]),
153
+ value: K,
154
+ onChange: (e) => X(e.nativeEvent)
155
+ }
156
+ ),
157
+ /* @__PURE__ */ r.createElement(
158
+ b,
159
+ {
160
+ type: "button",
161
+ rounded: null,
162
+ className: "k-input-button",
163
+ onClick: ve,
164
+ icon: "x",
165
+ "aria-label": be,
166
+ svgIcon: _e
167
+ }
168
+ )
169
+ ), xe = () => {
170
+ $(!1);
171
+ }, Fe = (e) => {
172
+ e.preventDefault(), x(!S);
173
+ }, Me = (e) => {
174
+ !e.isAnchorClicked && x(!1);
175
+ }, T = r.useMemo(() => a.show !== void 0 ? a.show : S, [a.show, S]), we = (e) => {
176
+ const t = qe(document);
177
+ clearTimeout(N.current), N.current = window.setTimeout(() => {
178
+ !i.mobileMode && t && e.relatedTarget !== p.current && I.current && !I.current.contains(t) && te();
179
+ });
180
+ }, te = () => {
181
+ var e;
182
+ a.onCloseMenu && a.onCloseMenu(), x(!1), p.current && ((e = p.current.element) == null || e.focus());
183
+ }, Be = () => {
184
+ clearTimeout(N.current);
185
+ }, { onFocus: De, onBlur: Se } = Ge({
186
+ onFocus: (e) => Be(),
187
+ onBlur: (e) => we(e)
188
+ }), Ie = (e) => {
189
+ var t;
190
+ (t = q.current) == null || t.triggerMouseEvent(e);
191
+ }, Ne = (e) => {
192
+ var t;
193
+ (t = q.current) == null || t.triggerKeyboardEvent(e);
194
+ }, re = (e) => {
195
+ if (e.preventDefault(), !i.filterChange)
196
+ return;
197
+ const t = f || null;
198
+ t !== null && t.filters.length > 0 ? (t.filters = [], i.filterChange(t, e)) : i.filterChange(null, e), _(y()), F(!1), z(
199
+ (l) => l.map((n) => ({
200
+ ...n,
201
+ expanded: !1
202
+ }))
203
+ );
204
+ }, ne = /* @__PURE__ */ r.createElement(
205
+ b,
206
+ {
207
+ ref: p,
208
+ togglable: !0,
209
+ selected: T,
210
+ svgIcon: P || (V ? void 0 : ie),
211
+ icon: V,
212
+ size: i.mobileMode ? "large" : "medium",
213
+ className: Pe("k-toolbar-button", {
214
+ "k-icon-button": i.mobileMode
215
+ }),
216
+ title: m.toLanguageString(D, g[D]),
217
+ onClick: Fe
218
+ },
219
+ !i.mobileMode && m.toLanguageString(D, g[D])
220
+ ), le = /* @__PURE__ */ r.createElement(r.Fragment, null, J.map((e) => {
221
+ var t, l;
222
+ return e.filterable && /* @__PURE__ */ r.createElement(je, { key: e.id }, /* @__PURE__ */ r.createElement("div", { className: "k-expander" }, /* @__PURE__ */ r.createElement(
223
+ ze,
224
+ {
225
+ title: Q(e),
226
+ expandable: !0,
227
+ expanded: !!((t = d == null ? void 0 : d.find((n) => n.column.field === e.field)) != null && t.expanded),
228
+ onClick: (n) => U(n, e)
229
+ }
230
+ )), /* @__PURE__ */ r.createElement(
231
+ Ke,
232
+ {
233
+ show: !!((l = d == null ? void 0 : d.find((n) => n.column.field === e.field)) != null && l.expanded)
234
+ },
235
+ /* @__PURE__ */ r.createElement("form", { className: "k-filter-menu", onSubmit: R, onReset: Z }, /* @__PURE__ */ r.createElement("div", { className: "k-filter-menu-container" }, ee, /* @__PURE__ */ r.createElement("ul", { className: "k-multicheck-wrap" }, /* @__PURE__ */ r.createElement("li", { className: "k-item k-check-all-wrap" }, /* @__PURE__ */ r.createElement(
236
+ se,
237
+ {
238
+ label: m.toLanguageString(
239
+ fe,
240
+ g[fe]
241
+ ),
242
+ onChange: (n) => A(n, "all"),
243
+ checked: Y()
244
+ }
245
+ )), M.map((n, s) => /* @__PURE__ */ r.createElement("li", { className: "k-item", key: s }, /* @__PURE__ */ r.createElement(
246
+ se,
247
+ {
248
+ label: String(n),
249
+ onChange: (u) => A(u, n),
250
+ checked: O.includes(n)
251
+ }
252
+ )))), /* @__PURE__ */ r.createElement("div", { className: "k-filter-selected-items" }, O.length + " " + m.toLanguageString(
253
+ me,
254
+ g[me]
255
+ )), /* @__PURE__ */ r.createElement("div", { className: "k-actions k-hstack k-justify-content-stretch" }, /* @__PURE__ */ r.createElement(b, { themeColor: "primary", type: "submit" }, m.toLanguageString(
256
+ de,
257
+ g[de]
258
+ )), /* @__PURE__ */ r.createElement(b, { className: "k-button", type: "reset" }, m.toLanguageString(
259
+ B,
260
+ g[B]
261
+ )))))
262
+ ));
263
+ }), /* @__PURE__ */ r.createElement("div", { className: "k-actions k-actions-stretched k-actions-horizontal k-column-menu-footer" }, /* @__PURE__ */ r.createElement(b, { svgIcon: $e, onClick: re }, m.toLanguageString(ge, g[ge]))));
264
+ return /* @__PURE__ */ r.createElement(r.Fragment, null, pe ? /* @__PURE__ */ r.createElement(Ze, null, ne, /* @__PURE__ */ r.createElement(Re, { themeColor: "primary" })) : ne, i.mobileMode ? /* @__PURE__ */ r.createElement(et, null, Ae.createPortal(
265
+ /* @__PURE__ */ r.createElement(
266
+ Xe,
267
+ {
268
+ filtered: J,
269
+ computedShow: T,
270
+ expandState: d,
271
+ currentData: M,
272
+ uniqueFilterValues: O,
273
+ searchBox: ee,
274
+ renderTitle: Q,
275
+ onBackView: xe,
276
+ isAllSelected: Y,
277
+ handleCheckBoxChange: A,
278
+ clear: Z,
279
+ submit: R,
280
+ onClose: te,
281
+ onFilterExpand: U,
282
+ handleClearAllFilters: re
283
+ },
284
+ le
285
+ ),
286
+ (ae = ke()) == null ? void 0 : ae.body
287
+ )) : /* @__PURE__ */ r.createElement(
288
+ Ye,
289
+ {
290
+ anchor: (oe = p.current) == null ? void 0 : oe.element,
291
+ show: T,
292
+ popupClass: "k-grid-columnmenu-popup",
293
+ onMouseDownOutside: Me
294
+ },
295
+ /* @__PURE__ */ r.createElement(
296
+ "div",
297
+ {
298
+ ref: I,
299
+ onBlur: Se,
300
+ onFocus: De,
301
+ onMouseDown: Ie,
302
+ onKeyDown: Ne,
303
+ className: "k-column-menu k-column-menu-md"
304
+ },
305
+ le
306
+ )
307
+ ));
308
+ };
309
+ rt.displayName = "KendoReactGridToolbarCheckboxFilter";
310
+ export {
311
+ rt as GridToolbarCheckboxFilter
312
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const te=require("react"),oe=require("react-dom"),y=require("@progress/kendo-react-buttons"),h=require("@progress/kendo-react-common"),b=require("@progress/kendo-react-inputs"),F=require("@progress/kendo-svg-icons"),ne=require("../columnMenu/GridColumnMenuItemContent.js"),n=require("../messages/index.js"),le=require("../utils/GridContext.js"),re=require("@progress/kendo-react-intl"),se=require("./adaptiveContent/GridAdaptiveToolbarColumnChooser.js"),ce=require("@progress/kendo-react-popup"),K=require("@progress/kendo-react-indicators"),ae=require("./adaptiveContext/GridToolbarAdaptiveContext.js");function ue(l){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const r in l)if(r!=="default"){const u=Object.getOwnPropertyDescriptor(l,r);Object.defineProperty(s,r,u.get?u:{enumerable:!0,get:()=>l[r]})}}return s.default=l,Object.freeze(s)}const t=ue(te),_=l=>{var L,P;const s=t.useContext(le.GridContext),r=s.columnsState,u=s.onColumnsStateChange,[k,f]=t.useState(!1),[d,V]=t.useState(""),[H,S]=t.useState(!1),B=r.reduce((e,o)=>({...e,[o.id||""]:!o.hidden}),{}),[c,p]=t.useState(B),i=t.useRef(null),v=t.useRef(null),R=t.useRef(null),M=t.useRef(0),m=re.useLocalization(),W=h.useDocument(i),A=t.useMemo(()=>(r==null?void 0:r.filter(e=>{var o;return(o=e.title||e.field)==null?void 0:o.toLowerCase().includes(d.toLowerCase())}))||[],[r,d]),g=t.useMemo(()=>Object.values(c).filter(e=>e).length,[c]),C=t.useMemo(()=>g===(r==null?void 0:r.length),[r,g]),I=t.useCallback(e=>{var z;e.preventDefault();const a=(w=>(w==null?void 0:w.map(j=>({...j,hidden:!c[j.id||""]})))||[])(r);u&&u(a),(z=l.onCloseMenu)==null||z.call(void 0),f(!1)},[r,u,l.onCloseMenu,c]),T=e=>{e.preventDefault(),p(B),S(!1)},q=t.useCallback(()=>{const e={...c};Object.keys(e).forEach((o,a)=>e[o]=C&&a===0?!0:!C),p(e),S(!0)},[c,C]),D=t.useCallback((e,o)=>{const a={...c};a[o||""]=e,p(a),S(!0)},[c]),x=e=>{V(String(e.target.value))},J=e=>{e.preventDefault(),f(!k)},E=t.useMemo(()=>l.show!==void 0?l.show:k,[l.show,k]),N=()=>{var e;l.onCloseMenu&&l.onCloseMenu(),f(!1),i.current&&((e=i.current.element)==null||e.focus())},Q=e=>{const o=h.getActiveElement(document);clearTimeout(M.current),M.current=window.setTimeout(()=>{!s.mobileMode&&o&&e.relatedTarget!==i.current&&v.current&&!v.current.contains(o)&&N()})},U=()=>{clearTimeout(M.current)},{onFocus:X,onBlur:Y}=h.useAsyncFocusBlur({onFocus:e=>U(),onBlur:e=>Q(e)}),Z=e=>{var o;(o=R.current)==null||o.triggerMouseEvent(e)},$=e=>{var o;(o=R.current)==null||o.triggerKeyboardEvent(e)},ee=e=>{!e.isAnchorClicked&&f(!1)},G=t.createElement(ne.GridColumnMenuItemContent,{show:!0},t.createElement("form",{onSubmit:I,onReset:T,className:"k-filter-menu"},t.createElement("div",{className:"k-filter-menu-container"},t.createElement(b.TextBox,{className:"k-searchbox",value:d,onChange:x,size:s.mobileMode?"large":"medium",prefix:()=>t.createElement(b.InputPrefix,null,t.createElement(h.IconWrap,{name:"search",icon:F.searchIcon}))}),t.createElement("ul",{className:"k-reset k-multicheck-wrap"},!d&&t.createElement("li",{className:"k-item k-check-all-wrap"},t.createElement(b.Checkbox,{checked:C,onChange:q,label:m.toLanguageString(n.filterSelectAll,n.messages[n.filterSelectAll]),size:s.mobileMode?"large":"medium"})),A.map(e=>t.createElement("li",{key:e.id,className:"k-item"},t.createElement(b.Checkbox,{disabled:c[e.id||""]&&g===1,checked:c[e.id||""],onChange:o=>{var a;return D(!!((a=o.target.element)!=null&&a.checked),e.id)},label:e.title||e.field,size:s.mobileMode?"large":"medium"})))),t.createElement("div",{className:"k-filter-selected-items"},g," ",m.toLanguageString(n.columnMenuColumnChooserSelectedItems,n.messages[n.columnMenuColumnChooserSelectedItems])),t.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},t.createElement(y.Button,{type:"submit",themeColor:"primary"},m.toLanguageString(n.filterApplyButton,n.messages[n.filterApplyButton])),t.createElement(y.Button,{type:"reset"},m.toLanguageString(n.filterResetButton,n.messages[n.filterResetButton])))))),O=t.createElement(y.Button,{ref:i,togglable:!0,selected:E,svgIcon:l.svgIcon?l.svgIcon:l.icon?void 0:F.columnsIcon,icon:l.icon,size:s.mobileMode?"large":"medium",className:h.classNames("k-toolbar-button",{"k-icon-button":s.mobileMode}),title:m.toLanguageString(n.toolbarColumnsChooser,n.messages[n.toolbarColumnsChooser]),onClick:J},!s.mobileMode&&m.toLanguageString(n.toolbarColumnsChooser,n.messages[n.toolbarColumnsChooser]));return t.createElement(t.Fragment,null,H?t.createElement(K.BadgeContainer,null,O,t.createElement(K.Badge,{themeColor:"primary"})):O,s.mobileMode?t.createElement(ae.GridToolbarAdaptiveProvider,null,oe.createPortal(t.createElement(se.GridAdaptiveToolbarColumnChooser,{computedShow:E,filter:d,filtered:A,selectedColumns:c,allSelected:C,checkedCount:g,onClose:N,onApply:I,onReset:T,onFilter:x,onCheckChange:D,onSelectAll:q},G),(L=W())==null?void 0:L.body)):t.createElement(ce.Popup,{anchor:(P=i.current)==null?void 0:P.element,show:E,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:ee},t.createElement("div",{ref:v,onBlur:Y,onFocus:X,onMouseDown:Z,onKeyDown:$,className:"k-column-menu k-column-menu-md"},G)))};_.displayName="KendoReactGridToolbarColumnsChooser";exports.GridToolbarColumnsChooser=_;