@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
@@ -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 l=require("react"),u=require("./utils/GridContext.js"),d=require("@progress/kendo-svg-icons"),f=require("@progress/kendo-react-common"),g=require("@progress/kendo-react-intl"),c=require("./messages/index.js"),m=require("@progress/kendo-react-buttons");function x(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const i=x(l),k=e=>{const n=g.useLocalization(),t=i.useContext(u.GridContext),o=s=>{t.exportAsPdf(),e.onClick&&e.onClick.call(void 0,s)},a=f.classNames("k-grid-pdf",e.className),r=n.toLanguageString(c.exportPDF,c.messages[c.exportPDF]);return i.createElement(m.Button,{title:r,type:"button",...e,icon:"file-pdf",svgIcon:d.filePdfIcon,className:a,onClick:o},e.children||r)};exports.GridPdfExportButton=k;
@@ -0,0 +1,35 @@
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 e from "react";
9
+ import { GridContext as l } from "./utils/GridContext.mjs";
10
+ import { filePdfIcon as s } from "@progress/kendo-svg-icons";
11
+ import { classNames as f } from "@progress/kendo-react-common";
12
+ import { useLocalization as d } from "@progress/kendo-react-intl";
13
+ import { exportPDF as i, messages as u } from "./messages/index.mjs";
14
+ import { Button as x } from "@progress/kendo-react-buttons";
15
+ const N = (t) => {
16
+ const n = d(), r = e.useContext(l), c = (a) => {
17
+ r.exportAsPdf(), t.onClick && t.onClick.call(void 0, a);
18
+ }, m = f("k-grid-pdf", t.className), o = n.toLanguageString(i, u[i]);
19
+ return /* @__PURE__ */ e.createElement(
20
+ x,
21
+ {
22
+ title: o,
23
+ type: "button",
24
+ ...t,
25
+ icon: "file-pdf",
26
+ svgIcon: s,
27
+ className: m,
28
+ onClick: c
29
+ },
30
+ t.children || o
31
+ );
32
+ };
33
+ export {
34
+ N as GridPdfExportButton
35
+ };
package/GridSearchBox.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@progress/kendo-react-inputs"),h=require("react"),m=require("./GridClientWrapper.js"),f=require("@progress/kendo-svg-icons"),i=require("@progress/kendo-react-common"),x=require("./GridState.js"),S=require("@progress/kendo-react-data-tools"),b=require("@progress/kendo-react-intl"),a=require("./messages/index.js");function C(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const r=C(h),q=e=>{const n=b.useLocalization(),t=r.useContext(m.GridContext),[o]=x.useGridState(),l=c=>{t.searchChange(c),e.onChange&&e.onChange.call(void 0,c)},u=S.getStringFromSearch(o.search),d=i.classNames("k-grid-search","k-searchbox",e.className),g=n.toLanguageString(a.searchboxPlaceholder,a.messages[a.searchboxPlaceholder]);return r.createElement(s.TextBox,{placeholder:g,value:u,prefix:()=>r.createElement(s.InputPrefix,{orientation:"horizontal"},r.createElement(i.SvgIcon,{icon:f.searchIcon})),...e,className:d,onChange:l})};exports.GridSearchBox=q;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@progress/kendo-react-inputs"),h=require("react"),m=require("./utils/GridContext.js"),x=require("@progress/kendo-svg-icons"),i=require("@progress/kendo-react-common"),f=require("./GridState.js"),S=require("@progress/kendo-react-data-tools"),b=require("@progress/kendo-react-intl"),c=require("./messages/index.js");function C(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const r=C(h),q=e=>{const n=b.useLocalization(),t=r.useContext(m.GridContext),[o]=f.useGridState(),l=a=>{t.searchChange(a),e.onChange&&e.onChange.call(void 0,a)},u=S.getStringFromSearch(o.search),d=i.classNames("k-grid-search","k-searchbox",e.className),g=n.toLanguageString(c.searchboxPlaceholder,c.messages[c.searchboxPlaceholder]);return r.createElement(s.TextBox,{placeholder:g,value:u,prefix:()=>r.createElement(s.InputPrefix,{orientation:"horizontal"},r.createElement(i.SvgIcon,{icon:x.searchIcon})),...e,className:d,onChange:l})};exports.GridSearchBox=q;
package/GridSearchBox.mjs CHANGED
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { TextBox as h, InputPrefix as g } from "@progress/kendo-react-inputs";
9
9
  import * as o from "react";
10
- import { GridContext as f } from "./GridClientWrapper.mjs";
10
+ import { GridContext as f } from "./utils/GridContext.mjs";
11
11
  import { searchIcon as x } from "@progress/kendo-svg-icons";
12
12
  import { classNames as d, SvgIcon as C } from "@progress/kendo-react-common";
13
13
  import { useGridState as p } from "./GridState.mjs";
package/GridToolbar.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),r=require("@progress/kendo-react-common");function s(o){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const t in o)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(o,t);Object.defineProperty(e,t,a.get?a:{enumerable:!0,get:()=>o[t]})}}return e.default=o,Object.freeze(e)}const b=s(i),l=o=>{const{size:e,className:t,ariaLabel:a,ariaControls:n,children:c}=o;return b.createElement("div",{className:r.classNames("k-toolbar k-grid-toolbar k-toolbar-solid",{"k-toolbar-md":!e,[`k-toolbar-${r.kendoThemeMaps.sizeMap[e]||e}`]:e},t),"aria-label":a,"aria-controls":n,role:"toolbar"},c)};l.displayName="KendoReactGridToolbar";exports.GridToolbar=l;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),i=require("@progress/kendo-react-buttons");function s(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const u=s(c),a=e=>{const{ariaLabel:r,_ariaControls:t,children:o,overflow:n="scroll",...l}=e;return u.createElement(i.Toolbar,{className:"k-grid-toolbar",role:"toolbar",ariaLabel:r,_ariaControls:t,overflow:n,...l},o)};a.displayName="KendoReactGridToolbar";exports.GridToolbar=a;
package/GridToolbar.mjs CHANGED
@@ -5,29 +5,24 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import * as s from "react";
9
- import { classNames as i, kendoThemeMaps as m } from "@progress/kendo-react-common";
10
- const b = (o) => {
11
- const { size: a, className: r, ariaLabel: e, ariaControls: l, children: t } = o;
12
- return /* @__PURE__ */ s.createElement(
13
- "div",
8
+ import * as i from "react";
9
+ import { Toolbar as s } from "@progress/kendo-react-buttons";
10
+ const c = (o) => {
11
+ const { ariaLabel: r, _ariaControls: a, children: e, overflow: l = "scroll", ...t } = o;
12
+ return /* @__PURE__ */ i.createElement(
13
+ s,
14
14
  {
15
- className: i(
16
- "k-toolbar k-grid-toolbar k-toolbar-solid",
17
- {
18
- "k-toolbar-md": !a,
19
- [`k-toolbar-${m.sizeMap[a] || a}`]: a
20
- },
21
- r
22
- ),
23
- "aria-label": e,
24
- "aria-controls": l,
25
- role: "toolbar"
15
+ className: "k-grid-toolbar",
16
+ role: "toolbar",
17
+ ariaLabel: r,
18
+ _ariaControls: a,
19
+ overflow: l,
20
+ ...t
26
21
  },
27
- t
22
+ e
28
23
  );
29
24
  };
30
- b.displayName = "KendoReactGridToolbar";
25
+ c.displayName = "KendoReactGridToolbar";
31
26
  export {
32
- b as GridToolbar
27
+ c as GridToolbar
33
28
  };
package/StatusBar.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("react"),i=require("@progress/kendo-react-common"),E=require("./package-metadata.js");function M(a){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const r in a)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(a,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:()=>a[r]})}}return n.default=a,Object.freeze(n)}const l=M(D),b=a=>{const{data:n=[]}=a,r=!i.validatePackage(E.packageMetadata,{component:"StatusBar"});return l.createElement("div",{className:"k-selection-aggregates k-grid-selection-aggregates"},n.map((s,u)=>l.createElement("div",{key:u},l.createElement("span",{className:"k-selection-aggregates-item-text"},s.type,": "),l.createElement("span",{className:"k-selection-aggregates-item-value"},s.formattedValue))),r&&l.createElement(i.WatermarkOverlay,null))};b.displayName="KendoReactGridStatusBar";const y=a=>{var r;const n=a.slice();for(let s=0;s<n.length;s++)for(;n[s]&&((r=n[s].children)!=null&&r.length);)n.splice(s,1,...n[s].children);return n},O=a=>{const{dataItems:n,target:r}=a,u=y(r.columns).map(e=>e.field).filter(e=>e&&typeof e=="string").map(e=>i.getter(e)),S="selectedField"in a?i.getter(a.selectedField):e=>a.select[i.getter(a.dataItemKey)(e)],t={dates:[],numbers:[],booleans:[],others:[]},k=e=>{typeof e=="number"?t.numbers.push(e):typeof e=="boolean"?t.booleans.push(e):e instanceof Date?t.dates.push(e):t.others.push(e)};n.forEach(e=>{const o=S(e);o&&o.forEach(c=>{k(u[c](e))})});const d=t.dates.map(e=>e.getTime()),g=t.booleans.filter(e=>e).length,f=t.booleans.filter(e=>!e).length,m=t.numbers.length?t.numbers.reduce((e,o)=>e+=o,0):void 0,h={sum:m,average:typeof m=="number"?m/t.numbers.length:void 0,min:t.numbers.length?Math.min(...t.numbers):void 0,max:t.numbers.length?Math.max(...t.numbers):void 0,count:t.numbers.length+t.booleans.length+t.dates.length+t.others.length,isTrue:g>0?g:void 0,isFalse:f>0?f:void 0,earliest:t.dates.length?new Date(Math.min(...d)):void 0,latest:t.dates.length?new Date(Math.max(...d)):void 0},v=(e,o)=>(o==="sum"||o==="average")&&typeof e=="number"?e.toFixed(2):(o==="earliest"||o==="latest")&&e instanceof Date?e.toLocaleDateString():String(e),p=[];return Object.keys(h).forEach(e=>{const o=e,c=h[o];c!==void 0&&p.push({type:o,value:c,formattedValue:v(c,o)})}),p};exports.StatusBar=b;exports.getStatusData=O;exports.leafColumns=y;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("react"),i=require("@progress/kendo-react-common"),E=require("./package-metadata.js");function M(s){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const o in s)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(s,o);Object.defineProperty(a,o,n.get?n:{enumerable:!0,get:()=>s[o]})}}return a.default=s,Object.freeze(a)}const l=M(D),b=s=>{const{data:a=[]}=s,o=!i.validatePackage(E.packageMetadata,{component:"StatusBar"});return l.createElement("div",{className:"k-selection-aggregates k-grid-selection-aggregates"},a.map((n,u)=>l.createElement("div",{key:u},l.createElement("span",{className:"k-selection-aggregates-item-text"},n.type,": "),l.createElement("span",{className:"k-selection-aggregates-item-value"},n.formattedValue))),o&&l.createElement(i.WatermarkOverlay,null))};b.displayName="KendoReactGridStatusBar";const y=s=>{var o;const a=s.slice();for(let n=0;n<a.length;n++)for(;a[n]&&((o=a[n].children)!=null&&o.length);)a.splice(n,1,...a[n].children);return a},O=s=>{const{dataItems:a,target:o}=s,u=y(o.columns).map(e=>e.field).filter(e=>e&&typeof e=="string").map(e=>i.getter(e)),S=e=>s.select[i.getter(s.dataItemKey)(e)],t={dates:[],numbers:[],booleans:[],others:[]},k=e=>{typeof e=="number"?t.numbers.push(e):typeof e=="boolean"?t.booleans.push(e):e instanceof Date?t.dates.push(e):t.others.push(e)};a.forEach(e=>{const r=S(e);Array.isArray(r)&&r.forEach(c=>{k(u[c](e))})});const g=t.dates.map(e=>e.getTime()),d=t.booleans.filter(e=>e).length,f=t.booleans.filter(e=>!e).length,m=t.numbers.length?t.numbers.reduce((e,r)=>e+=r,0):void 0,h={sum:m,average:typeof m=="number"?m/t.numbers.length:void 0,min:t.numbers.length?Math.min(...t.numbers):void 0,max:t.numbers.length?Math.max(...t.numbers):void 0,count:t.numbers.length+t.booleans.length+t.dates.length+t.others.length,isTrue:d>0?d:void 0,isFalse:f>0?f:void 0,earliest:t.dates.length?new Date(Math.min(...g)):void 0,latest:t.dates.length?new Date(Math.max(...g)):void 0},v=(e,r)=>(r==="sum"||r==="average")&&typeof e=="number"?e.toFixed(2):(r==="earliest"||r==="latest")&&e instanceof Date?e.toLocaleDateString():String(e),p=[];return Object.keys(h).forEach(e=>{const r=e,c=h[r];c!==void 0&&p.push({type:r,value:c,formattedValue:v(c,r)})}),p};exports.StatusBar=b;exports.getStatusData=O;exports.leafColumns=y;
package/StatusBar.mjs CHANGED
@@ -6,50 +6,50 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  import * as c from "react";
9
- import { validatePackage as k, WatermarkOverlay as v, getter as d } from "@progress/kendo-react-common";
9
+ import { validatePackage as k, WatermarkOverlay as v, getter as p } from "@progress/kendo-react-common";
10
10
  import { packageMetadata as S } from "./package-metadata.mjs";
11
11
  const x = (o) => {
12
- const { data: n = [] } = o, r = !k(S, { component: "StatusBar" });
13
- return /* @__PURE__ */ c.createElement("div", { className: "k-selection-aggregates k-grid-selection-aggregates" }, n.map((a, i) => /* @__PURE__ */ c.createElement("div", { key: i }, /* @__PURE__ */ c.createElement("span", { className: "k-selection-aggregates-item-text" }, a.type, ": "), /* @__PURE__ */ c.createElement("span", { className: "k-selection-aggregates-item-value" }, a.formattedValue))), r && /* @__PURE__ */ c.createElement(v, null));
12
+ const { data: a = [] } = o, r = !k(S, { component: "StatusBar" });
13
+ return /* @__PURE__ */ c.createElement("div", { className: "k-selection-aggregates k-grid-selection-aggregates" }, a.map((n, i) => /* @__PURE__ */ c.createElement("div", { key: i }, /* @__PURE__ */ c.createElement("span", { className: "k-selection-aggregates-item-text" }, n.type, ": "), /* @__PURE__ */ c.createElement("span", { className: "k-selection-aggregates-item-value" }, n.formattedValue))), r && /* @__PURE__ */ c.createElement(v, null));
14
14
  };
15
15
  x.displayName = "KendoReactGridStatusBar";
16
16
  const D = (o) => {
17
17
  var r;
18
- const n = o.slice();
19
- for (let a = 0; a < n.length; a++)
20
- for (; n[a] && ((r = n[a].children) != null && r.length); )
21
- n.splice(a, 1, ...n[a].children);
22
- return n;
23
- }, N = (o) => {
24
- const { dataItems: n, target: r } = o, i = D(r.columns).map((e) => e.field).filter((e) => e && typeof e == "string").map(
25
- (e) => d(e)
26
- ), b = "selectedField" in o ? d(o.selectedField) : (e) => o.select[d(o.dataItemKey)(e)], t = { dates: [], numbers: [], booleans: [], others: [] }, y = (e) => {
18
+ const a = o.slice();
19
+ for (let n = 0; n < a.length; n++)
20
+ for (; a[n] && ((r = a[n].children) != null && r.length); )
21
+ a.splice(n, 1, ...a[n].children);
22
+ return a;
23
+ }, w = (o) => {
24
+ const { dataItems: a, target: r } = o, i = D(r.columns).map((e) => e.field).filter((e) => e && typeof e == "string").map(
25
+ (e) => p(e)
26
+ ), b = (e) => o.select[p(o.dataItemKey)(e)], t = { dates: [], numbers: [], booleans: [], others: [] }, y = (e) => {
27
27
  typeof e == "number" ? t.numbers.push(e) : typeof e == "boolean" ? t.booleans.push(e) : e instanceof Date ? t.dates.push(e) : t.others.push(e);
28
28
  };
29
- n.forEach((e) => {
29
+ a.forEach((e) => {
30
30
  const s = b(e);
31
- s && s.forEach((l) => {
31
+ Array.isArray(s) && s.forEach((l) => {
32
32
  y(i[l](e));
33
33
  });
34
34
  });
35
- const g = t.dates.map((e) => e.getTime()), u = t.booleans.filter((e) => e).length, h = t.booleans.filter((e) => !e).length, m = t.numbers.length ? t.numbers.reduce((e, s) => e += s, 0) : void 0, f = {
35
+ const g = t.dates.map((e) => e.getTime()), d = t.booleans.filter((e) => e).length, u = t.booleans.filter((e) => !e).length, m = t.numbers.length ? t.numbers.reduce((e, s) => e += s, 0) : void 0, h = {
36
36
  sum: m,
37
37
  average: typeof m == "number" ? m / t.numbers.length : void 0,
38
38
  min: t.numbers.length ? Math.min(...t.numbers) : void 0,
39
39
  max: t.numbers.length ? Math.max(...t.numbers) : void 0,
40
40
  count: t.numbers.length + t.booleans.length + t.dates.length + t.others.length,
41
- isTrue: u > 0 ? u : void 0,
42
- isFalse: h > 0 ? h : void 0,
41
+ isTrue: d > 0 ? d : void 0,
42
+ isFalse: u > 0 ? u : void 0,
43
43
  earliest: t.dates.length ? new Date(Math.min(...g)) : void 0,
44
44
  latest: t.dates.length ? new Date(Math.max(...g)) : void 0
45
- }, E = (e, s) => (s === "sum" || s === "average") && typeof e == "number" ? e.toFixed(2) : (s === "earliest" || s === "latest") && e instanceof Date ? e.toLocaleDateString() : String(e), p = [];
46
- return Object.keys(f).forEach((e) => {
47
- const s = e, l = f[s];
48
- l !== void 0 && p.push({ type: s, value: l, formattedValue: E(l, s) });
49
- }), p;
45
+ }, E = (e, s) => (s === "sum" || s === "average") && typeof e == "number" ? e.toFixed(2) : (s === "earliest" || s === "latest") && e instanceof Date ? e.toLocaleDateString() : String(e), f = [];
46
+ return Object.keys(h).forEach((e) => {
47
+ const s = e, l = h[s];
48
+ l !== void 0 && f.push({ type: s, value: l, formattedValue: E(l, s) });
49
+ }), f;
50
50
  };
51
51
  export {
52
52
  x as StatusBar,
53
- N as getStatusData,
53
+ w as getStatusData,
54
54
  D as leafColumns
55
55
  };
package/VirtualScroll.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react");function g(r){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(i,t,s.get?s:{enumerable:!0,get:()=>r[t]})}}return i.default=r,Object.freeze(i)}const u=g(p);class f{constructor(i){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=null,this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=null,this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.reactVersion=Number.parseFloat(u.version),this.topItems=(t,s)=>{if(!this.container||s)return{topItemsCount:0,topItemsHeight:0};const l=this.container.clientHeight,e=Math.ceil(l/t[0].line),n=Math.ceil((t.length-e)/2);let o=0;for(let a=0;a<n;a++)o+=t[a].line+t[a].acc;return{topItemsCount:n,topItemsHeight:o,itemsNeededOnScreen:e+e/2}},this.horizontalScrollbarHeight=()=>this.container?this.container.offsetHeight-this.container.clientHeight:0,i&&(this.topCacheCount=4,this.attendedSkip=-this.topCacheCount),this.scrollHandler=this.scrollHandler.bind(this)}get container(){var i;return(i=this.containerRef)==null?void 0:i.current}get rowHeights(){var l,e;const i=[],t=((l=this.tableBodyRef)==null?void 0:l.current)&&((e=this.tableBodyRef)==null?void 0:e.current.children)||[];let s=0;for(let n=0;n<t.length;n++){if(t[n].className.indexOf("k-grouping-row")>-1){s+=t[n].scrollHeight;continue}t[n].className.indexOf("k-detail-row")>-1?i[i.length-1].line+=t[n].scrollHeight:(i.push({line:t[n].scrollHeight,acc:s}),s=0)}return i}changePage(i,t){this.attendedSkip=i-this.topCacheCount,this.PageChange&&this.PageChange({skip:Math.max(0,i-this.topCacheCount),take:this.pageSize},t)}translate(i,t){this.tableTranslate=i,this.scrollableVirtual&&this.table&&(this.reactVersion<=17||t?this.table.style.transform="translateY("+i+"px)":this.tableTransform="translateY("+i+"px)")}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}localScrollUp(i){if(!this.container)return;const t=this.rowHeights,s=this.container.scrollTop;let l=this.tableTranslate,e=0;const{topItemsCount:n,topItemsHeight:o,itemsNeededOnScreen:a}=this.topItems(t,!!this.topCacheCount),h=s-l;if(!(h>o||t.length<=a)){for(;e<this.topCacheCount+this.attendedSkip-this.realSkip+n&&this.propsSkip-e>0&&!(l+(t[t.length-1-e].line+t[t.length-1-e].acc)+h<=s);)l-=t[t.length-1-e].line+t[t.length-1-e].acc,e++;if(e===0&&this.topCacheCount===0&&this.attendedSkip>0&&(l=Math.max(l-t[0].line,0),e=1),this.propsSkip-e<=0&&l>s){this.translate(0),this.changePage(0,i),this.container.scrollTop=0;return}if(l>s&&(l=s),l!==this.tableTranslate){this.translate(Math.max(0,l-o));const c=Math.max(0,this.propsSkip-e-n);this.changePage(c,i)}}}localScrollDown(i){if(!this.container)return;const t=this.rowHeights,s=this.container.scrollTop;let l=this.tableTranslate,e=0;const{topItemsCount:n,topItemsHeight:o,itemsNeededOnScreen:a}=this.topItems(t,!!this.topCacheCount);for(;e<t.length-this.topCacheCount&&!(l+t[e].line+t[e].acc>s);)l+=t[e].line+t[e].acc,e++;n>this.propsSkip+e||t.length<=a||(e>=t.length-this.topCacheCount&&this.propsSkip+e>=this.total?(this.translate(l-o),this.changePage(this.total-1-n,i)):l!==this.tableTranslate&&this.propsSkip+e-n!==this.propsSkip&&(this.translate(l-o),this.changePage(this.propsSkip+e-n,i)))}scrollNonStrict(i){const t=this.total*this.prevScrollPos/this.containerHeight;let s=Math.floor(t);s>=this.total&&(s=this.total-1);const l=Math.min(t-s,1);let e=0;const n=s-this.propsSkip,o=this.rowHeights;n>=0&&n<=1?e=-((o[0].line+o[0].acc)*l):n===-1&&(e=-((o[o.length-1].line+o[o.length-1].acc)*l));const{topItemsCount:a,topItemsHeight:h}=this.topItems(o,!!this.topCacheCount);this.translate(Math.max(0,e-h-this.horizontalScrollbarHeight()+this.containerHeight*t/this.total)),this.changePage(s-a,i)}scrollHandler(i){if(!this.scrollableVirtual)return;if(this.scrollSyncing||!this.container||!this.table){this.scrollSyncing=!1;return}const t=this.container.scrollTop,s=this.prevScrollPos;if(this.prevScrollPos=t,this.askedSkip!==void 0){this.translate(this.containerHeight*this.askedSkip/this.total),this.changePage(this.askedSkip,i),this.prevScrollPos=t,this.askedSkip=void 0;return}t-s<0&&t>this.tableTranslate-this.table.scrollHeight/10?this.localScrollUp(i):t-s>0&&t<this.tableTranslate+this.table.scrollHeight*2/3?this.localScrollDown(i):this.scrollNonStrict(i),this.prevScrollPos=t}}exports.VirtualScroll=f;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),h=require("./utils/index.js");function g(o){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const i=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(t,e,i.get?i:{enumerable:!0,get:()=>o[e]})}}return t.default=o,Object.freeze(t)}const d=g(f);class u{constructor(){this.table=null,this.tableBody=null,this.container=null,this.scrollHeightContainer=null,this.total=0,this.scrollableVirtual=!1,this.pageSize=0,this.PageChange=null,this.fixedScroll=!1,this.tableTransform="",this.reactVersion=Number.parseFloat(d.version),this.scrollSyncing=!1,this.firstToLoad=0,this.lastScrollTop=0,this.firstLoaded=0,this.lastLoaded=0,this.scrollHandler=this.scrollHandler.bind(this)}reset(){this.firstToLoad=0,this.firstLoaded=0,this.lastLoaded=0,this.rowHeightService=void 0,!this.fixedScroll&&this.container&&this.container.scrollTop!==0&&(this.scrollSyncing=!0,this.container.scrollTop=0,this.lastScrollTop=0,this.translate(0,!0))}scrollHandler(t){if(this.scrollSyncing){this.scrollSyncing=!1;return}if(!this.scrollableVirtual||!this.container||!this.table||!this.rowHeightService||!this.container)return;const e=this.container.scrollTop,i=this.lastScrollTop>=e,r=!i;this.lastScrollTop=e;const a=this.container.offsetHeight;let s=this.rowHeightService.index(e);const n=this.rowHeightService.index(e+a),l=Math.max(s+this.pageSize-this.total,0);if(s=Math.max(s-l,0),r&&n>=this.lastLoaded&&this.lastLoaded<this.total-1)this.firstToLoad=s,this.loadPage(t);else if(i&&s<this.firstToLoad){const c=Math.max(Math.floor(this.pageSize*.3)-l,0);this.firstToLoad=Math.max(s-c,0),this.loadPage(t)}}update(){var e;const t=this.getItemHeights();if(this.firstLoaded>this.firstToLoad){const i=Math.min(this.firstLoaded-this.firstToLoad,this.pageSize),r=this.getTotalHeight(i,t),a=this.getExpectedTotalHeight(i),s=r-a;s!==0&&this.adjustScroll(s)}(e=this.rowHeightService)==null||e.update(this.firstToLoad,t),this.setScrollHeightContainerHeight(),this.firstLoaded=this.firstToLoad,this.lastLoaded=this.firstLoaded+t.length-1}loadPage(t){this.rowHeightService&&(this.translate(this.rowHeightService.offset(this.firstToLoad)),this.changePage(this.firstToLoad,t))}translate(t,e){this.scrollableVirtual&&this.table&&(this.reactVersion<=17||e?this.table.style.transform="translateY("+t+"px)":this.tableTransform="translateY("+t+"px)")}changePage(t,e){this.PageChange&&this.PageChange({skip:Math.max(0,t),take:this.pageSize},e)}adjustScroll(t){this.scrollSyncing=!0,this.container&&(this.container.scrollTop+=t)}setScrollHeightContainerHeight(){var t;if(this.scrollableVirtual&&this.scrollHeightContainer){let e=((t=this.rowHeightService)==null?void 0:t.totalHeight())||0;e=h.firefox?Math.min(h.firefoxMaxHeight,e):e,this.scrollHeightContainer.style.height=e+"px"}}getItemHeights(){const t=[];return this.tableBody&&Array.from(this.tableBody.children).forEach(e=>{const i=e.getBoundingClientRect().height;e.classList.contains("k-detail-row")?t[t.length-1]+=i:t.push(i)}),t}getTotalHeight(t,e){return e.slice(0,t).reduce((i,r)=>i+r,0)}getExpectedTotalHeight(t){const e=this.rowHeightService;if(!e)return 0;const i=this.firstToLoad+(t-1);return e.offset(i)+e.height(i)-e.offset(this.firstToLoad)}}exports.VirtualScroll=u;
package/VirtualScroll.mjs CHANGED
@@ -5,128 +5,86 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import * as c from "react";
9
- class g {
10
- constructor(i) {
11
- this.table = null, this.containerHeight = 0, this.topCacheCount = 0, this.attendedSkip = 0, this.propsSkip = 0, this.total = 0, this.scrollableVirtual = !1, this.realSkip = 0, this.pageSize = 0, this.PageChange = null, this.tableBodyRef = null, this.fixedScroll = !1, this.askedSkip = void 0, this.containerRef = null, this.tableTransform = "", this.prevScrollPos = 0, this.tableTranslate = 0, this.scrollSyncing = !1, this.reactVersion = Number.parseFloat(c.version), this.topItems = (t, l) => {
12
- if (!this.container || l)
13
- return { topItemsCount: 0, topItemsHeight: 0 };
14
- const s = this.container.clientHeight, e = Math.ceil(s / t[0].line), o = Math.ceil((t.length - e) / 2);
15
- let n = 0;
16
- for (let a = 0; a < o; a++)
17
- n += t[a].line + t[a].acc;
18
- return {
19
- topItemsCount: o,
20
- topItemsHeight: n,
21
- itemsNeededOnScreen: e + e / 2
22
- };
23
- }, this.horizontalScrollbarHeight = () => this.container ? this.container.offsetHeight - this.container.clientHeight : 0, i && (this.topCacheCount = 4, this.attendedSkip = -this.topCacheCount), this.scrollHandler = this.scrollHandler.bind(this);
8
+ import * as n from "react";
9
+ import { firefox as c, firefoxMaxHeight as f } from "./utils/index.mjs";
10
+ class u {
11
+ constructor() {
12
+ this.table = null, this.tableBody = null, this.container = null, this.scrollHeightContainer = null, this.total = 0, this.scrollableVirtual = !1, this.pageSize = 0, this.PageChange = null, this.fixedScroll = !1, this.tableTransform = "", this.reactVersion = Number.parseFloat(n.version), this.scrollSyncing = !1, this.firstToLoad = 0, this.lastScrollTop = 0, this.firstLoaded = 0, this.lastLoaded = 0, this.scrollHandler = this.scrollHandler.bind(this);
24
13
  }
25
- get container() {
26
- var i;
27
- return (i = this.containerRef) == null ? void 0 : i.current;
14
+ reset() {
15
+ this.firstToLoad = 0, this.firstLoaded = 0, this.lastLoaded = 0, this.rowHeightService = void 0, !this.fixedScroll && this.container && this.container.scrollTop !== 0 && (this.scrollSyncing = !0, this.container.scrollTop = 0, this.lastScrollTop = 0, this.translate(0, !0));
28
16
  }
29
- /**
30
- * @return - The row heights in an array.
31
- */
32
- get rowHeights() {
33
- var s, e;
34
- const i = [], t = ((s = this.tableBodyRef) == null ? void 0 : s.current) && ((e = this.tableBodyRef) == null ? void 0 : e.current.children) || [];
35
- let l = 0;
36
- for (let o = 0; o < t.length; o++) {
37
- if (t[o].className.indexOf("k-grouping-row") > -1) {
38
- l += t[o].scrollHeight;
39
- continue;
40
- }
41
- t[o].className.indexOf("k-detail-row") > -1 ? i[i.length - 1].line += t[o].scrollHeight : (i.push({
42
- line: t[o].scrollHeight,
43
- acc: l
44
- }), l = 0);
17
+ scrollHandler(t) {
18
+ if (this.scrollSyncing) {
19
+ this.scrollSyncing = !1;
20
+ return;
21
+ }
22
+ if (!this.scrollableVirtual || !this.container || !this.table || !this.rowHeightService || !this.container)
23
+ return;
24
+ const i = this.container.scrollTop, e = this.lastScrollTop >= i, o = !e;
25
+ this.lastScrollTop = i;
26
+ const r = this.container.offsetHeight;
27
+ let s = this.rowHeightService.index(i);
28
+ const a = this.rowHeightService.index(i + r), h = Math.max(s + this.pageSize - this.total, 0);
29
+ if (s = Math.max(s - h, 0), o && a >= this.lastLoaded && this.lastLoaded < this.total - 1)
30
+ this.firstToLoad = s, this.loadPage(t);
31
+ else if (e && s < this.firstToLoad) {
32
+ const l = Math.max(Math.floor(this.pageSize * 0.3) - h, 0);
33
+ this.firstToLoad = Math.max(s - l, 0), this.loadPage(t);
45
34
  }
46
- return i;
47
35
  }
48
- changePage(i, t) {
49
- this.attendedSkip = i - this.topCacheCount, this.PageChange && this.PageChange(
36
+ update() {
37
+ var i;
38
+ const t = this.getItemHeights();
39
+ if (this.firstLoaded > this.firstToLoad) {
40
+ const e = Math.min(this.firstLoaded - this.firstToLoad, this.pageSize), o = this.getTotalHeight(e, t), r = this.getExpectedTotalHeight(e), s = o - r;
41
+ s !== 0 && this.adjustScroll(s);
42
+ }
43
+ (i = this.rowHeightService) == null || i.update(this.firstToLoad, t), this.setScrollHeightContainerHeight(), this.firstLoaded = this.firstToLoad, this.lastLoaded = this.firstLoaded + t.length - 1;
44
+ }
45
+ loadPage(t) {
46
+ this.rowHeightService && (this.translate(this.rowHeightService.offset(this.firstToLoad)), this.changePage(this.firstToLoad, t));
47
+ }
48
+ translate(t, i) {
49
+ this.scrollableVirtual && this.table && (this.reactVersion <= 17 || i ? this.table.style.transform = "translateY(" + t + "px)" : this.tableTransform = "translateY(" + t + "px)");
50
+ }
51
+ changePage(t, i) {
52
+ this.PageChange && this.PageChange(
50
53
  {
51
- skip: Math.max(0, i - this.topCacheCount),
54
+ skip: Math.max(0, t),
52
55
  take: this.pageSize
53
56
  },
54
- t
57
+ i
55
58
  );
56
59
  }
57
- translate(i, t) {
58
- this.tableTranslate = i, this.scrollableVirtual && this.table && (this.reactVersion <= 17 || t ? this.table.style.transform = "translateY(" + i + "px)" : this.tableTransform = "translateY(" + i + "px)");
60
+ adjustScroll(t) {
61
+ this.scrollSyncing = !0, this.container && (this.container.scrollTop += t);
59
62
  }
60
- reset() {
61
- this.scrollSyncing = !0, !this.fixedScroll && (this.container && (this.container.scrollTop = 0), this.translate(0, !0));
62
- }
63
- localScrollUp(i) {
64
- if (!this.container)
65
- return;
66
- const t = this.rowHeights, l = this.container.scrollTop;
67
- let s = this.tableTranslate, e = 0;
68
- const { topItemsCount: o, topItemsHeight: n, itemsNeededOnScreen: a } = this.topItems(
69
- t,
70
- !!this.topCacheCount
71
- ), h = l - s;
72
- if (!(h > n || t.length <= a)) {
73
- for (; e < this.topCacheCount + this.attendedSkip - this.realSkip + o && this.propsSkip - e > 0 && !(s + (t[t.length - 1 - e].line + t[t.length - 1 - e].acc) + h <= l); )
74
- s -= t[t.length - 1 - e].line + t[t.length - 1 - e].acc, e++;
75
- if (e === 0 && this.topCacheCount === 0 && this.attendedSkip > 0 && (s = Math.max(s - t[0].line, 0), e = 1), this.propsSkip - e <= 0 && s > l) {
76
- this.translate(0), this.changePage(0, i), this.container.scrollTop = 0;
77
- return;
78
- }
79
- if (s > l && (s = l), s !== this.tableTranslate) {
80
- this.translate(Math.max(0, s - n));
81
- const r = Math.max(0, this.propsSkip - e - o);
82
- this.changePage(r, i);
83
- }
63
+ setScrollHeightContainerHeight() {
64
+ var t;
65
+ if (this.scrollableVirtual && this.scrollHeightContainer) {
66
+ let i = ((t = this.rowHeightService) == null ? void 0 : t.totalHeight()) || 0;
67
+ i = c ? Math.min(f, i) : i, this.scrollHeightContainer.style.height = i + "px";
84
68
  }
85
69
  }
86
- localScrollDown(i) {
87
- if (!this.container)
88
- return;
89
- const t = this.rowHeights, l = this.container.scrollTop;
90
- let s = this.tableTranslate, e = 0;
91
- const { topItemsCount: o, topItemsHeight: n, itemsNeededOnScreen: a } = this.topItems(
92
- t,
93
- !!this.topCacheCount
94
- );
95
- for (; e < t.length - this.topCacheCount && !(s + t[e].line + t[e].acc > l); )
96
- s += t[e].line + t[e].acc, e++;
97
- o > this.propsSkip + e || t.length <= a || (e >= t.length - this.topCacheCount && this.propsSkip + e >= this.total ? (this.translate(s - n), this.changePage(this.total - 1 - o, i)) : s !== this.tableTranslate && this.propsSkip + e - o !== this.propsSkip && (this.translate(s - n), this.changePage(this.propsSkip + e - o, i)));
70
+ getItemHeights() {
71
+ const t = [];
72
+ return this.tableBody && Array.from(this.tableBody.children).forEach((i) => {
73
+ const e = i.getBoundingClientRect().height;
74
+ i.classList.contains("k-detail-row") ? t[t.length - 1] += e : t.push(e);
75
+ }), t;
98
76
  }
99
- scrollNonStrict(i) {
100
- const t = this.total * this.prevScrollPos / this.containerHeight;
101
- let l = Math.floor(t);
102
- l >= this.total && (l = this.total - 1);
103
- const s = Math.min(t - l, 1);
104
- let e = 0;
105
- const o = l - this.propsSkip, n = this.rowHeights;
106
- o >= 0 && o <= 1 ? e = -((n[0].line + n[0].acc) * s) : o === -1 && (e = -((n[n.length - 1].line + n[n.length - 1].acc) * s));
107
- const { topItemsCount: a, topItemsHeight: h } = this.topItems(n, !!this.topCacheCount);
108
- this.translate(
109
- Math.max(
110
- 0,
111
- e - h - this.horizontalScrollbarHeight() + this.containerHeight * t / this.total
112
- )
113
- ), this.changePage(l - a, i);
77
+ getTotalHeight(t, i) {
78
+ return i.slice(0, t).reduce((e, o) => e + o, 0);
114
79
  }
115
- scrollHandler(i) {
116
- if (!this.scrollableVirtual)
117
- return;
118
- if (this.scrollSyncing || !this.container || !this.table) {
119
- this.scrollSyncing = !1;
120
- return;
121
- }
122
- const t = this.container.scrollTop, l = this.prevScrollPos;
123
- if (this.prevScrollPos = t, this.askedSkip !== void 0) {
124
- this.translate(this.containerHeight * this.askedSkip / this.total), this.changePage(this.askedSkip, i), this.prevScrollPos = t, this.askedSkip = void 0;
125
- return;
126
- }
127
- t - l < 0 && t > this.tableTranslate - this.table.scrollHeight / 10 ? this.localScrollUp(i) : t - l > 0 && t < this.tableTranslate + this.table.scrollHeight * 2 / 3 ? this.localScrollDown(i) : this.scrollNonStrict(i), this.prevScrollPos = t;
80
+ getExpectedTotalHeight(t) {
81
+ const i = this.rowHeightService;
82
+ if (!i)
83
+ return 0;
84
+ const e = this.firstToLoad + (t - 1);
85
+ return i.offset(e) + i.height(e) - i.offset(this.firstToLoad);
128
86
  }
129
87
  }
130
88
  export {
131
- g as VirtualScroll
89
+ u as VirtualScroll
132
90
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@progress/kendo-react-common"),a=require("react");function l(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const c=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,c.get?c:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const o=l(a),i=e=>{const t=e.unstyled,r=t&&t.uGrid?t.uGrid:n.uGrid;return o.createElement("td",{className:n.classNames(r.hierarchyTd({})),role:"gridcell"})};exports.GridDetailHierarchyCell=i;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),n=require("@progress/kendo-react-common");function l(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const c=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,c.get?c:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const o=l(a),i=e=>{const t=e.unstyled,r=t&&t.uGrid?t.uGrid:n.uGrid;return o.createElement("td",{className:n.classNames(r.hierarchyTd({})),role:"gridcell"})};exports.GridDetailHierarchyCell=i;
@@ -5,11 +5,11 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { uGrid as t, classNames as l } from "@progress/kendo-react-common";
9
- import * as a from "react";
8
+ import * as t from "react";
9
+ import { uGrid as l, classNames as a } from "@progress/kendo-react-common";
10
10
  const c = (e) => {
11
- const r = e.unstyled, s = r && r.uGrid ? r.uGrid : t;
12
- return /* @__PURE__ */ a.createElement("td", { className: l(s.hierarchyTd({})), role: "gridcell" });
11
+ const r = e.unstyled, s = r && r.uGrid ? r.uGrid : l;
12
+ return /* @__PURE__ */ t.createElement("td", { className: a(s.hierarchyTd({})), role: "gridcell" });
13
13
  };
14
14
  export {
15
15
  c as GridDetailHierarchyCell
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("react"),D=require("@progress/kendo-react-buttons"),m=require("@progress/kendo-react-dropdowns"),h=require("@progress/kendo-react-inputs"),E=require("@progress/kendo-react-dateinputs"),u=require("../messages/index.js"),O=require("@progress/kendo-react-intl"),C=require("@progress/kendo-svg-icons"),g=require("../filterCommon.js"),y=require("@progress/kendo-react-common");function L(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const c in e)if(c!=="default"){const s=Object.getOwnPropertyDescriptor(e,c);Object.defineProperty(t,c,s.get?s:{enumerable:!0,get:()=>e[c]})}}return t.default=e,Object.freeze(t)}const r=L(z),R=e=>{const t=r.useRef(null),c=O.useLocalization(),s=()=>{if(e.filterType==="boolean")return;let n;const l=e.operators.find(o=>o.operator===e.operator)||null;return r.createElement(m.DropDownList,{ref:o=>{n=o},size:e.size,value:l,onChange:b,className:"k-dropdown-operator",svgIcon:C.filterIcon,data:e.operators,textField:"text",title:c.toLanguageString(u.filterChooseOperator,u.messages[u.filterChooseOperator]),popupSettings:{width:"",onMouseDownOutside:function(o){!o.isAnchorClicked&&o.state&&o.state.props.show&&n&&n.togglePopup()}}})},d=(n,l)=>{g.cellInputChange(n,l,e)},b=n=>{g.cellOperatorChange(n,e.value,e.onChange)},v=n=>{g.cellBoolDropdownChange(n,e.onChange)},k=n=>{n.preventDefault(),e.onChange({value:"",operator:"",syntheticEvent:n}),t.current&&(t.current.element.value="",setTimeout(()=>{t.current.element.focus()},0))},w=(n,l,o)=>{switch(n){case"numeric":return r.createElement(h.NumericTextBox,{ref:t,size:e.size,value:l,onChange:a=>{d(a.value,a.syntheticEvent)},title:e.title,ariaLabel:e.ariaLabel});case"date":return r.createElement(E.DatePicker,{ref:t,size:e.size,value:l,onChange:a=>{d(a.value,a.syntheticEvent)},title:e.title,ariaLabel:e.ariaLabel,popupSettings:{onMouseDownOutside:a=>{!a.isAnchorClicked&&a.state&&a.state.props.show&&t&&t.current.togglePopup()}}});case"boolean":{const a=i=>i==null;return r.createElement(m.DropDownList,{ref:t,size:e.size,onChange:v,value:o.find(i=>i.operator===(a(l)?"":l)),data:o,textField:"text",title:e.title,ariaLabel:e.ariaLabel,popupSettings:{onMouseDownOutside:i=>{!i.isAnchorClicked&&i.state&&i.state.props.show&&t&&t.current.togglePopup()}}})}default:return r.createElement(h.TextBox,{ref:t,size:e.size,value:l||"",onChange:a=>{d(a.target.value,a.syntheticEvent)},title:e.title,"aria-label":e.ariaLabel})}},f=r.createElement("div",{className:"k-filtercell"},r.createElement("div",{className:"k-filtercell-wrapper"},w(e.filterType,e.value,e.booleanValues),r.createElement("div",{className:"k-filtercell-operator"},s()," ",r.createElement(D.Button,{size:e.size,svgIcon:C.filterClearIcon,className:y.classNames({"k-clear-button-visible":!!(!(e.value===null||e.value==="")||e.operator)}),title:c.toLanguageString(u.filterClearButton,u.messages[u.filterClearButton]),type:"button",onClick:k,disabled:!(!(e.value===null||e.value==="")||e.operator)}))));return e.render?e.render.call(void 0,f,e):f};exports.GridFilterCell=R;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("react"),z=require("@progress/kendo-react-buttons"),f=require("@progress/kendo-react-dropdowns"),m=require("@progress/kendo-react-inputs"),D=require("@progress/kendo-react-dateinputs"),u=require("../messages/index.js"),E=require("@progress/kendo-react-intl"),h=require("@progress/kendo-svg-icons"),g=require("../filterCommon.js"),O=require("@progress/kendo-react-common");function y(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const c in e)if(c!=="default"){const s=Object.getOwnPropertyDescriptor(e,c);Object.defineProperty(t,c,s.get?s:{enumerable:!0,get:()=>e[c]})}}return t.default=e,Object.freeze(t)}const r=y(w),L=e=>{const t=r.useRef(null),c=E.useLocalization(),s=()=>{if(e.filterType==="boolean")return;let n;const l=e.operators.find(o=>o.operator===e.operator)||null;return r.createElement(f.DropDownList,{ref:o=>{n=o},size:e.size,value:l,onChange:C,className:"k-dropdown-operator",svgIcon:h.filterIcon,data:e.operators,textField:"text",title:c.toLanguageString(u.filterChooseOperator,u.messages[u.filterChooseOperator]),popupSettings:{width:"",onMouseDownOutside:function(o){!o.isAnchorClicked&&o.state&&o.state.props.show&&n&&n.togglePopup()}}})},d=(n,l)=>{g.cellInputChange(n,l,e)},C=n=>{g.cellOperatorChange(n,e.value,e.onChange)},b=n=>{g.cellBoolDropdownChange(n,e.onChange)},v=n=>{n.preventDefault(),e.onChange({value:"",operator:"",syntheticEvent:n}),t.current&&(t.current.element.value="",setTimeout(()=>{t.current.element.focus()},0))},k=(n,l,o)=>{switch(n){case"numeric":return r.createElement(m.NumericTextBox,{ref:t,size:e.size,value:l,onChange:a=>{d(a.value,a.syntheticEvent)},title:e.title,ariaLabel:e.ariaLabel});case"date":return r.createElement(D.DatePicker,{ref:t,size:e.size,value:l,onChange:a=>{d(a.value,a.syntheticEvent)},title:e.title,ariaLabel:e.ariaLabel,popupSettings:{onMouseDownOutside:a=>{!a.isAnchorClicked&&a.state&&a.state.props.show&&t&&t.current.togglePopup()}}});case"boolean":{const a=i=>i==null;return r.createElement(f.DropDownList,{ref:t,size:e.size,onChange:b,value:o.find(i=>i.operator===(a(l)?"":l)),data:o,textField:"text",title:e.title,ariaLabel:e.ariaLabel,popupSettings:{onMouseDownOutside:i=>{!i.isAnchorClicked&&i.state&&i.state.props.show&&t&&t.current.togglePopup()}}})}default:return r.createElement(m.TextBox,{ref:t,size:e.size,value:l||"",onChange:a=>{d(a.target.value,a.syntheticEvent)},title:e.title,"aria-label":e.ariaLabel})}};return r.createElement("div",{className:"k-filtercell"},r.createElement("div",{className:"k-filtercell-wrapper"},k(e.filterType,e.value,e.booleanValues),r.createElement("div",{className:"k-filtercell-operator"},s()," ",r.createElement(z.Button,{size:e.size,svgIcon:h.filterClearIcon,className:O.classNames({"k-clear-button-visible":!!(!(e.value===null||e.value==="")||e.operator)}),title:c.toLanguageString(u.filterClearButton,u.messages[u.filterClearButton]),type:"button",onClick:v,disabled:!(!(e.value===null||e.value==="")||e.operator)}))))};exports.GridFilterCell=L;