@mui/x-data-grid-pro 5.5.1 → 5.6.0

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 (356) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/DataGridPro/DataGridPro.d.ts +3 -0
  3. package/DataGridPro/DataGridPro.js +896 -0
  4. package/DataGridPro/index.d.ts +2 -0
  5. package/DataGridPro/index.js +2 -0
  6. package/DataGridPro/package.json +6 -0
  7. package/DataGridPro/useDataGridProComponent.d.ts +4 -0
  8. package/DataGridPro/useDataGridProComponent.js +72 -0
  9. package/DataGridPro/useDataGridProProps.d.ts +6 -0
  10. package/DataGridPro/useDataGridProProps.js +49 -0
  11. package/components/DataGridProColumnHeaders.d.ts +6 -0
  12. package/components/DataGridProColumnHeaders.js +165 -0
  13. package/components/DataGridProVirtualScroller.d.ts +8 -0
  14. package/components/DataGridProVirtualScroller.js +281 -0
  15. package/components/GridColumnPinningMenuItems.d.ts +11 -0
  16. package/components/GridColumnPinningMenuItems.js +71 -0
  17. package/components/GridDetailPanelToggleCell.d.ts +7 -0
  18. package/components/GridDetailPanelToggleCell.js +124 -0
  19. package/components/GridGroupingColumnLeafCell.d.ts +4 -0
  20. package/components/GridGroupingColumnLeafCell.js +22 -0
  21. package/components/GridGroupingCriteriaCell.d.ts +10 -0
  22. package/components/GridGroupingCriteriaCell.js +150 -0
  23. package/components/GridRowGroupableColumnMenuItems.d.ts +11 -0
  24. package/components/GridRowGroupableColumnMenuItems.js +63 -0
  25. package/components/GridRowGroupingColumnMenuItems.d.ts +11 -0
  26. package/components/GridRowGroupingColumnMenuItems.js +58 -0
  27. package/components/GridTreeDataGroupingCell.d.ts +10 -0
  28. package/components/GridTreeDataGroupingCell.js +159 -0
  29. package/components/Watermark.d.ts +2 -0
  30. package/components/Watermark.js +43 -0
  31. package/components/index.d.ts +2 -0
  32. package/components/index.js +3 -0
  33. package/components/package.json +6 -0
  34. package/hooks/features/columnPinning/gridColumnPinningInterface.d.ts +42 -0
  35. package/hooks/features/columnPinning/gridColumnPinningInterface.js +11 -0
  36. package/hooks/features/columnPinning/gridColumnPinningSelector.d.ts +2 -0
  37. package/hooks/features/columnPinning/gridColumnPinningSelector.js +1 -0
  38. package/hooks/features/columnPinning/index.d.ts +2 -0
  39. package/hooks/features/columnPinning/index.js +2 -0
  40. package/hooks/features/columnPinning/useGridColumnPinning.d.ts +6 -0
  41. package/hooks/features/columnPinning/useGridColumnPinning.js +274 -0
  42. package/hooks/features/columnPinning/useGridColumnPinningPreProcessors.d.ts +4 -0
  43. package/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +45 -0
  44. package/hooks/features/columnReorder/columnReorderInterfaces.d.ts +6 -0
  45. package/hooks/features/columnReorder/columnReorderInterfaces.js +1 -0
  46. package/hooks/features/columnReorder/columnReorderSelector.d.ts +3 -0
  47. package/hooks/features/columnReorder/columnReorderSelector.js +3 -0
  48. package/hooks/features/columnReorder/index.d.ts +2 -0
  49. package/hooks/features/columnReorder/index.js +2 -0
  50. package/hooks/features/columnReorder/useGridColumnReorder.d.ts +8 -0
  51. package/hooks/features/columnReorder/useGridColumnReorder.js +166 -0
  52. package/hooks/features/columnResize/columnResizeSelector.d.ts +3 -0
  53. package/hooks/features/columnResize/columnResizeSelector.js +3 -0
  54. package/hooks/features/columnResize/columnResizeState.d.ts +3 -0
  55. package/hooks/features/columnResize/columnResizeState.js +1 -0
  56. package/hooks/features/columnResize/index.d.ts +2 -0
  57. package/hooks/features/columnResize/index.js +2 -0
  58. package/hooks/features/columnResize/useGridColumnResize.d.ts +9 -0
  59. package/hooks/features/columnResize/useGridColumnResize.js +305 -0
  60. package/hooks/features/detailPanel/gridDetailPanelInterface.d.ts +28 -0
  61. package/hooks/features/detailPanel/gridDetailPanelInterface.js +1 -0
  62. package/hooks/features/detailPanel/gridDetailPanelSelector.d.ts +5 -0
  63. package/hooks/features/detailPanel/gridDetailPanelSelector.js +3 -0
  64. package/hooks/features/detailPanel/gridDetailPanelToggleColDef.d.ts +3 -0
  65. package/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +26 -0
  66. package/hooks/features/detailPanel/index.d.ts +3 -0
  67. package/hooks/features/detailPanel/index.js +3 -0
  68. package/hooks/features/detailPanel/useGridDetailPanel.d.ts +4 -0
  69. package/hooks/features/detailPanel/useGridDetailPanel.js +109 -0
  70. package/hooks/features/detailPanel/useGridDetailPanelCache.d.ts +4 -0
  71. package/hooks/features/detailPanel/useGridDetailPanelCache.js +57 -0
  72. package/hooks/features/detailPanel/useGridDetailPanelPreProcessors.d.ts +4 -0
  73. package/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +28 -0
  74. package/hooks/features/index.d.ts +6 -0
  75. package/hooks/features/index.js +7 -0
  76. package/hooks/features/infiniteLoader/useGridInfiniteLoader.d.ts +10 -0
  77. package/hooks/features/infiniteLoader/useGridInfiniteLoader.js +52 -0
  78. package/hooks/features/rowGrouping/createGroupingColDef.d.ts +43 -0
  79. package/hooks/features/rowGrouping/createGroupingColDef.js +318 -0
  80. package/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +31 -0
  81. package/hooks/features/rowGrouping/gridRowGroupingInterfaces.js +1 -0
  82. package/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +4 -0
  83. package/hooks/features/rowGrouping/gridRowGroupingSelector.js +5 -0
  84. package/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +24 -0
  85. package/hooks/features/rowGrouping/gridRowGroupingUtils.js +124 -0
  86. package/hooks/features/rowGrouping/index.d.ts +3 -0
  87. package/hooks/features/rowGrouping/index.js +3 -0
  88. package/hooks/features/rowGrouping/useGridRowGrouping.d.ts +13 -0
  89. package/hooks/features/rowGrouping/useGridRowGrouping.js +325 -0
  90. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +4 -0
  91. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +76 -0
  92. package/hooks/features/treeData/gridTreeDataGroupColDef.d.ts +7 -0
  93. package/hooks/features/treeData/gridTreeDataGroupColDef.js +22 -0
  94. package/hooks/features/treeData/gridTreeDataUtils.d.ts +14 -0
  95. package/hooks/features/treeData/gridTreeDataUtils.js +86 -0
  96. package/hooks/features/treeData/index.d.ts +1 -0
  97. package/hooks/features/treeData/index.js +1 -0
  98. package/hooks/features/treeData/useGridTreeData.d.ts +10 -0
  99. package/hooks/features/treeData/useGridTreeData.js +108 -0
  100. package/hooks/features/treeData/useGridTreeDataPreProcessors.d.ts +4 -0
  101. package/hooks/features/treeData/useGridTreeDataPreProcessors.js +69 -0
  102. package/hooks/index.d.ts +1 -0
  103. package/hooks/index.js +1 -0
  104. package/hooks/package.json +6 -0
  105. package/hooks/utils/useGridApiContext.d.ts +4 -0
  106. package/hooks/utils/useGridApiContext.js +2 -0
  107. package/hooks/utils/useGridApiRef.d.ts +4 -0
  108. package/hooks/utils/useGridApiRef.js +2 -0
  109. package/hooks/utils/useGridRootProps.d.ts +2 -0
  110. package/hooks/utils/useGridRootProps.js +2 -0
  111. package/index.d.ts +15 -0
  112. package/index.js +19 -0
  113. package/legacy/DataGridPro/DataGridPro.js +896 -0
  114. package/legacy/DataGridPro/index.js +2 -0
  115. package/legacy/DataGridPro/useDataGridProComponent.js +72 -0
  116. package/legacy/DataGridPro/useDataGridProProps.js +53 -0
  117. package/legacy/components/DataGridProColumnHeaders.js +173 -0
  118. package/legacy/components/DataGridProVirtualScroller.js +297 -0
  119. package/legacy/components/GridColumnPinningMenuItems.js +71 -0
  120. package/legacy/components/GridDetailPanelToggleCell.js +120 -0
  121. package/legacy/components/GridGroupingColumnLeafCell.js +20 -0
  122. package/legacy/components/GridGroupingCriteriaCell.js +146 -0
  123. package/legacy/components/GridRowGroupableColumnMenuItems.js +61 -0
  124. package/legacy/components/GridRowGroupingColumnMenuItems.js +56 -0
  125. package/legacy/components/GridTreeDataGroupingCell.js +155 -0
  126. package/legacy/components/Watermark.js +43 -0
  127. package/legacy/components/index.js +3 -0
  128. package/legacy/hooks/features/columnPinning/gridColumnPinningInterface.js +11 -0
  129. package/legacy/hooks/features/columnPinning/gridColumnPinningSelector.js +3 -0
  130. package/legacy/hooks/features/columnPinning/index.js +2 -0
  131. package/legacy/hooks/features/columnPinning/useGridColumnPinning.js +298 -0
  132. package/legacy/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +48 -0
  133. package/legacy/hooks/features/columnReorder/columnReorderInterfaces.js +1 -0
  134. package/legacy/hooks/features/columnReorder/columnReorderSelector.js +7 -0
  135. package/legacy/hooks/features/columnReorder/index.js +2 -0
  136. package/legacy/hooks/features/columnReorder/useGridColumnReorder.js +172 -0
  137. package/legacy/hooks/features/columnResize/columnResizeSelector.js +7 -0
  138. package/legacy/hooks/features/columnResize/columnResizeState.js +1 -0
  139. package/legacy/hooks/features/columnResize/index.js +2 -0
  140. package/legacy/hooks/features/columnResize/useGridColumnResize.js +310 -0
  141. package/legacy/hooks/features/detailPanel/gridDetailPanelInterface.js +1 -0
  142. package/legacy/hooks/features/detailPanel/gridDetailPanelSelector.js +9 -0
  143. package/legacy/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +28 -0
  144. package/legacy/hooks/features/detailPanel/index.js +3 -0
  145. package/legacy/hooks/features/detailPanel/useGridDetailPanel.js +114 -0
  146. package/legacy/hooks/features/detailPanel/useGridDetailPanelCache.js +57 -0
  147. package/legacy/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +31 -0
  148. package/legacy/hooks/features/index.js +7 -0
  149. package/legacy/hooks/features/infiniteLoader/useGridInfiniteLoader.js +51 -0
  150. package/legacy/hooks/features/rowGrouping/createGroupingColDef.js +319 -0
  151. package/legacy/hooks/features/rowGrouping/gridRowGroupingInterfaces.js +1 -0
  152. package/legacy/hooks/features/rowGrouping/gridRowGroupingSelector.js +13 -0
  153. package/legacy/hooks/features/rowGrouping/gridRowGroupingUtils.js +130 -0
  154. package/legacy/hooks/features/rowGrouping/index.js +3 -0
  155. package/legacy/hooks/features/rowGrouping/useGridRowGrouping.js +334 -0
  156. package/legacy/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +83 -0
  157. package/legacy/hooks/features/treeData/gridTreeDataGroupColDef.js +24 -0
  158. package/legacy/hooks/features/treeData/gridTreeDataUtils.js +84 -0
  159. package/legacy/hooks/features/treeData/index.js +1 -0
  160. package/legacy/hooks/features/treeData/useGridTreeData.js +116 -0
  161. package/legacy/hooks/features/treeData/useGridTreeDataPreProcessors.js +72 -0
  162. package/legacy/hooks/index.js +1 -0
  163. package/legacy/hooks/utils/useGridApiContext.js +2 -0
  164. package/legacy/hooks/utils/useGridApiRef.js +2 -0
  165. package/legacy/hooks/utils/useGridRootProps.js +2 -0
  166. package/legacy/index.js +19 -0
  167. package/legacy/models/dataGridProProps.js +1 -0
  168. package/legacy/models/gridApiPro.js +1 -0
  169. package/legacy/models/gridGroupingColDefOverride.js +1 -0
  170. package/legacy/models/gridGroupingValueGetterParams.js +1 -0
  171. package/legacy/models/gridRowScrollEndParams.js +1 -0
  172. package/legacy/models/gridStatePro.js +1 -0
  173. package/legacy/models/index.js +4 -0
  174. package/legacy/themeAugmentation/index.js +3 -0
  175. package/legacy/themeAugmentation/overrides.js +1 -0
  176. package/legacy/themeAugmentation/props.js +1 -0
  177. package/legacy/typeOverloads/modules.js +1 -0
  178. package/legacy/typeOverloads/reexports.js +6 -0
  179. package/legacy/utils/domUtils.js +19 -0
  180. package/legacy/utils/tree/buildRowTree.js +188 -0
  181. package/legacy/utils/tree/sortRowTree.js +63 -0
  182. package/models/dataGridProProps.d.ts +174 -0
  183. package/models/dataGridProProps.js +1 -0
  184. package/models/gridApiPro.d.ts +12 -0
  185. package/models/gridApiPro.js +1 -0
  186. package/models/gridGroupingColDefOverride.d.ts +30 -0
  187. package/models/gridGroupingColDefOverride.js +1 -0
  188. package/models/gridGroupingValueGetterParams.d.ts +31 -0
  189. package/models/gridGroupingValueGetterParams.js +1 -0
  190. package/models/gridRowScrollEndParams.d.ts +18 -0
  191. package/models/gridRowScrollEndParams.js +1 -0
  192. package/models/gridStatePro.d.ts +20 -0
  193. package/models/gridStatePro.js +1 -0
  194. package/models/index.d.ts +4 -0
  195. package/models/index.js +4 -0
  196. package/models/package.json +6 -0
  197. package/modern/DataGridPro/DataGridPro.js +896 -0
  198. package/modern/DataGridPro/index.js +2 -0
  199. package/modern/DataGridPro/useDataGridProComponent.js +72 -0
  200. package/modern/DataGridPro/useDataGridProProps.js +45 -0
  201. package/modern/components/DataGridProColumnHeaders.js +163 -0
  202. package/modern/components/DataGridProVirtualScroller.js +279 -0
  203. package/modern/components/GridColumnPinningMenuItems.js +71 -0
  204. package/modern/components/GridDetailPanelToggleCell.js +124 -0
  205. package/modern/components/GridGroupingColumnLeafCell.js +20 -0
  206. package/modern/components/GridGroupingCriteriaCell.js +148 -0
  207. package/modern/components/GridRowGroupableColumnMenuItems.js +61 -0
  208. package/modern/components/GridRowGroupingColumnMenuItems.js +56 -0
  209. package/modern/components/GridTreeDataGroupingCell.js +157 -0
  210. package/modern/components/Watermark.js +43 -0
  211. package/modern/components/index.js +3 -0
  212. package/modern/hooks/features/columnPinning/gridColumnPinningInterface.js +11 -0
  213. package/modern/hooks/features/columnPinning/gridColumnPinningSelector.js +1 -0
  214. package/modern/hooks/features/columnPinning/index.js +2 -0
  215. package/modern/hooks/features/columnPinning/useGridColumnPinning.js +268 -0
  216. package/modern/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +45 -0
  217. package/modern/hooks/features/columnReorder/columnReorderInterfaces.js +1 -0
  218. package/modern/hooks/features/columnReorder/columnReorderSelector.js +3 -0
  219. package/modern/hooks/features/columnReorder/index.js +2 -0
  220. package/modern/hooks/features/columnReorder/useGridColumnReorder.js +166 -0
  221. package/modern/hooks/features/columnResize/columnResizeSelector.js +3 -0
  222. package/modern/hooks/features/columnResize/columnResizeState.js +1 -0
  223. package/modern/hooks/features/columnResize/index.js +2 -0
  224. package/modern/hooks/features/columnResize/useGridColumnResize.js +295 -0
  225. package/modern/hooks/features/detailPanel/gridDetailPanelInterface.js +1 -0
  226. package/modern/hooks/features/detailPanel/gridDetailPanelSelector.js +3 -0
  227. package/modern/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +26 -0
  228. package/modern/hooks/features/detailPanel/index.js +3 -0
  229. package/modern/hooks/features/detailPanel/useGridDetailPanel.js +105 -0
  230. package/modern/hooks/features/detailPanel/useGridDetailPanelCache.js +57 -0
  231. package/modern/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +28 -0
  232. package/modern/hooks/features/index.js +7 -0
  233. package/modern/hooks/features/infiniteLoader/useGridInfiniteLoader.js +52 -0
  234. package/modern/hooks/features/rowGrouping/createGroupingColDef.js +302 -0
  235. package/modern/hooks/features/rowGrouping/gridRowGroupingInterfaces.js +1 -0
  236. package/modern/hooks/features/rowGrouping/gridRowGroupingSelector.js +5 -0
  237. package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.js +122 -0
  238. package/modern/hooks/features/rowGrouping/index.js +3 -0
  239. package/modern/hooks/features/rowGrouping/useGridRowGrouping.js +317 -0
  240. package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +76 -0
  241. package/modern/hooks/features/treeData/gridTreeDataGroupColDef.js +22 -0
  242. package/modern/hooks/features/treeData/gridTreeDataUtils.js +82 -0
  243. package/modern/hooks/features/treeData/index.js +1 -0
  244. package/modern/hooks/features/treeData/useGridTreeData.js +106 -0
  245. package/modern/hooks/features/treeData/useGridTreeDataPreProcessors.js +67 -0
  246. package/modern/hooks/index.js +1 -0
  247. package/modern/hooks/utils/useGridApiContext.js +2 -0
  248. package/modern/hooks/utils/useGridApiRef.js +2 -0
  249. package/modern/hooks/utils/useGridRootProps.js +2 -0
  250. package/modern/index.js +19 -0
  251. package/modern/models/dataGridProProps.js +1 -0
  252. package/modern/models/gridApiPro.js +1 -0
  253. package/modern/models/gridGroupingColDefOverride.js +1 -0
  254. package/modern/models/gridGroupingValueGetterParams.js +1 -0
  255. package/modern/models/gridRowScrollEndParams.js +1 -0
  256. package/modern/models/gridStatePro.js +1 -0
  257. package/modern/models/index.js +4 -0
  258. package/modern/themeAugmentation/index.js +3 -0
  259. package/modern/themeAugmentation/overrides.js +1 -0
  260. package/modern/themeAugmentation/props.js +1 -0
  261. package/modern/typeOverloads/modules.js +1 -0
  262. package/modern/typeOverloads/reexports.js +6 -0
  263. package/modern/utils/domUtils.js +19 -0
  264. package/modern/utils/tree/buildRowTree.js +167 -0
  265. package/modern/utils/tree/sortRowTree.js +60 -0
  266. package/node/DataGridPro/DataGridPro.js +921 -0
  267. package/node/DataGridPro/index.js +30 -0
  268. package/node/DataGridPro/useDataGridProComponent.js +94 -0
  269. package/node/DataGridPro/useDataGridProProps.js +69 -0
  270. package/node/components/DataGridProColumnHeaders.js +189 -0
  271. package/node/components/DataGridProVirtualScroller.js +308 -0
  272. package/node/components/GridColumnPinningMenuItems.js +88 -0
  273. package/node/components/GridDetailPanelToggleCell.js +145 -0
  274. package/node/components/GridGroupingColumnLeafCell.js +38 -0
  275. package/node/components/GridGroupingCriteriaCell.js +170 -0
  276. package/node/components/GridRowGroupableColumnMenuItems.js +82 -0
  277. package/node/components/GridRowGroupingColumnMenuItems.js +78 -0
  278. package/node/components/GridTreeDataGroupingCell.js +180 -0
  279. package/node/components/Watermark.js +56 -0
  280. package/node/components/index.js +31 -0
  281. package/node/hooks/features/columnPinning/gridColumnPinningInterface.js +17 -0
  282. package/node/hooks/features/columnPinning/gridColumnPinningSelector.js +10 -0
  283. package/node/hooks/features/columnPinning/index.js +31 -0
  284. package/node/hooks/features/columnPinning/useGridColumnPinning.js +297 -0
  285. package/node/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +66 -0
  286. package/node/hooks/features/columnReorder/columnReorderInterfaces.js +5 -0
  287. package/node/hooks/features/columnReorder/columnReorderSelector.js +14 -0
  288. package/node/hooks/features/columnReorder/index.js +18 -0
  289. package/node/hooks/features/columnReorder/useGridColumnReorder.js +187 -0
  290. package/node/hooks/features/columnResize/columnResizeSelector.js +14 -0
  291. package/node/hooks/features/columnResize/columnResizeState.js +5 -0
  292. package/node/hooks/features/columnResize/index.js +31 -0
  293. package/node/hooks/features/columnResize/useGridColumnResize.js +326 -0
  294. package/node/hooks/features/detailPanel/gridDetailPanelInterface.js +5 -0
  295. package/node/hooks/features/detailPanel/gridDetailPanelSelector.js +18 -0
  296. package/node/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +47 -0
  297. package/node/hooks/features/detailPanel/index.js +44 -0
  298. package/node/hooks/features/detailPanel/useGridDetailPanel.js +130 -0
  299. package/node/hooks/features/detailPanel/useGridDetailPanelCache.js +74 -0
  300. package/node/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +44 -0
  301. package/node/hooks/features/index.js +83 -0
  302. package/node/hooks/features/infiniteLoader/useGridInfiniteLoader.js +67 -0
  303. package/node/hooks/features/rowGrouping/createGroupingColDef.js +341 -0
  304. package/node/hooks/features/rowGrouping/gridRowGroupingInterfaces.js +5 -0
  305. package/node/hooks/features/rowGrouping/gridRowGroupingSelector.js +18 -0
  306. package/node/hooks/features/rowGrouping/gridRowGroupingUtils.js +153 -0
  307. package/node/hooks/features/rowGrouping/index.js +51 -0
  308. package/node/hooks/features/rowGrouping/useGridRowGrouping.js +355 -0
  309. package/node/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +94 -0
  310. package/node/hooks/features/treeData/gridTreeDataGroupColDef.js +35 -0
  311. package/node/hooks/features/treeData/gridTreeDataUtils.js +95 -0
  312. package/node/hooks/features/treeData/index.js +13 -0
  313. package/node/hooks/features/treeData/useGridTreeData.js +132 -0
  314. package/node/hooks/features/treeData/useGridTreeDataPreProcessors.js +92 -0
  315. package/node/hooks/index.js +18 -0
  316. package/node/hooks/utils/useGridApiContext.js +11 -0
  317. package/node/hooks/utils/useGridApiRef.js +11 -0
  318. package/node/hooks/utils/useGridRootProps.js +11 -0
  319. package/node/index.js +200 -0
  320. package/node/models/dataGridProProps.js +5 -0
  321. package/node/models/gridApiPro.js +5 -0
  322. package/node/models/gridGroupingColDefOverride.js +5 -0
  323. package/node/models/gridGroupingValueGetterParams.js +5 -0
  324. package/node/models/gridRowScrollEndParams.js +5 -0
  325. package/node/models/gridStatePro.js +5 -0
  326. package/node/models/index.js +44 -0
  327. package/node/themeAugmentation/index.js +31 -0
  328. package/node/themeAugmentation/overrides.js +5 -0
  329. package/node/themeAugmentation/props.js +5 -0
  330. package/node/typeOverloads/modules.js +5 -0
  331. package/node/typeOverloads/reexports.js +29 -0
  332. package/node/utils/domUtils.js +32 -0
  333. package/node/utils/tree/buildRowTree.js +185 -0
  334. package/node/utils/tree/sortRowTree.js +69 -0
  335. package/package.json +10 -12
  336. package/themeAugmentation/index.d.ts +2 -2
  337. package/themeAugmentation/index.js +3 -0
  338. package/themeAugmentation/overrides.d.ts +8 -8
  339. package/themeAugmentation/overrides.js +1 -0
  340. package/themeAugmentation/package.json +6 -0
  341. package/themeAugmentation/props.d.ts +19 -19
  342. package/themeAugmentation/props.js +1 -0
  343. package/typeOverloads/modules.d.ts +41 -0
  344. package/typeOverloads/modules.js +1 -0
  345. package/typeOverloads/reexports.d.ts +22 -0
  346. package/typeOverloads/reexports.js +6 -0
  347. package/utils/domUtils.d.ts +3 -0
  348. package/utils/domUtils.js +19 -0
  349. package/utils/tree/buildRowTree.d.ts +47 -0
  350. package/utils/tree/buildRowTree.js +179 -0
  351. package/utils/tree/sortRowTree.d.ts +10 -0
  352. package/utils/tree/sortRowTree.js +60 -0
  353. package/LICENSE +0 -12
  354. package/index-cjs.js +0 -15
  355. package/index-esm.js +0 -15
  356. package/x-data-grid-pro.d.ts +0 -5495
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.filterColumns = exports.DataGridProVirtualScroller = void 0;
9
+
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var React = _interopRequireWildcard(require("react"));
15
+
16
+ var _styles = require("@mui/material/styles");
17
+
18
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
19
+
20
+ var _material = require("@mui/material");
21
+
22
+ var _xDataGrid = require("@mui/x-data-grid");
23
+
24
+ var _internals = require("@mui/x-data-grid/internals");
25
+
26
+ var _useGridApiContext = require("../hooks/utils/useGridApiContext");
27
+
28
+ var _useGridRootProps = require("../hooks/utils/useGridRootProps");
29
+
30
+ var _columnPinning = require("../hooks/features/columnPinning");
31
+
32
+ var _detailPanel = require("../hooks/features/detailPanel");
33
+
34
+ var _jsxRuntime = require("react/jsx-runtime");
35
+
36
+ const _excluded = ["className", "disableVirtualization"];
37
+
38
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
+
40
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
+
42
+ const filterColumns = (pinnedColumns, columns) => {
43
+ var _pinnedColumns$left, _pinnedColumns$right;
44
+
45
+ if (!Array.isArray(pinnedColumns.left) && !Array.isArray(pinnedColumns.right)) {
46
+ return [[], []];
47
+ }
48
+
49
+ if (((_pinnedColumns$left = pinnedColumns.left) == null ? void 0 : _pinnedColumns$left.length) === 0 && ((_pinnedColumns$right = pinnedColumns.right) == null ? void 0 : _pinnedColumns$right.length) === 0) {
50
+ return [[], []];
51
+ }
52
+
53
+ const filter = (newPinnedColumns, remainingColumns) => {
54
+ if (!Array.isArray(newPinnedColumns)) {
55
+ return [];
56
+ }
57
+
58
+ return newPinnedColumns.filter(field => remainingColumns.includes(field));
59
+ };
60
+
61
+ const leftPinnedColumns = filter(pinnedColumns.left, columns);
62
+ const columnsWithoutLeftPinnedColumns = columns.filter( // Filter out from the remaining columns those columns already pinned to the left
63
+ field => !leftPinnedColumns.includes(field));
64
+ const rightPinnedColumns = filter(pinnedColumns.right, columnsWithoutLeftPinnedColumns);
65
+ return [leftPinnedColumns, rightPinnedColumns];
66
+ };
67
+
68
+ exports.filterColumns = filterColumns;
69
+
70
+ const useUtilityClasses = ownerState => {
71
+ const {
72
+ classes,
73
+ leftPinnedColumns,
74
+ rightPinnedColumns
75
+ } = ownerState;
76
+ const slots = {
77
+ leftPinnedColumns: ['pinnedColumns', leftPinnedColumns && leftPinnedColumns.length > 0 && 'pinnedColumns--left'],
78
+ rightPinnedColumns: ['pinnedColumns', rightPinnedColumns && rightPinnedColumns.length > 0 && 'pinnedColumns--right'],
79
+ detailPanels: ['detailPanels'],
80
+ detailPanel: ['detailPanel']
81
+ };
82
+ return (0, _material.unstable_composeClasses)(slots, _xDataGrid.getDataGridUtilityClass, classes);
83
+ };
84
+
85
+ // Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61
86
+ const getOverlayAlpha = elevation => {
87
+ let alphaValue;
88
+
89
+ if (elevation < 1) {
90
+ alphaValue = 5.11916 * elevation ** 2;
91
+ } else {
92
+ alphaValue = 4.5 * Math.log(elevation + 1) + 2;
93
+ }
94
+
95
+ return alphaValue / 100;
96
+ };
97
+
98
+ const VirtualScrollerDetailPanels = (0, _styles.styled)('div', {
99
+ name: 'MuiDataGrid',
100
+ slot: 'DetailPanels',
101
+ overridesResolver: (props, styles) => styles.detailPanels
102
+ })({});
103
+ const VirtualScrollerDetailPanel = (0, _styles.styled)(_Box.default, {
104
+ name: 'MuiDataGrid',
105
+ slot: 'DetailPanel',
106
+ overridesResolver: (props, styles) => styles.detailPanel
107
+ })(({
108
+ theme
109
+ }) => ({
110
+ zIndex: 2,
111
+ width: '100%',
112
+ position: 'absolute',
113
+ backgroundColor: theme.palette.background.default
114
+ }));
115
+ const VirtualScrollerPinnedColumns = (0, _styles.styled)('div', {
116
+ name: 'MuiDataGrid',
117
+ slot: 'PinnedColumns',
118
+ overridesResolver: (props, styles) => [{
119
+ [`&.${_xDataGrid.gridClasses['pinnedColumns--left']}`]: styles['pinnedColumns--left']
120
+ }, {
121
+ [`&.${_xDataGrid.gridClasses['pinnedColumns--right']}`]: styles['pinnedColumns--right']
122
+ }, styles.pinnedColumns]
123
+ })(({
124
+ theme,
125
+ ownerState
126
+ }) => (0, _extends2.default)({
127
+ position: 'sticky',
128
+ overflow: 'hidden',
129
+ zIndex: 1,
130
+ boxShadow: theme.shadows[2],
131
+ backgroundColor: theme.palette.background.default
132
+ }, theme.palette.mode === 'dark' && {
133
+ backgroundImage: `linear-gradient(${(0, _styles.alpha)('#fff', getOverlayAlpha(2))}, ${(0, _styles.alpha)('#fff', getOverlayAlpha(2))})`
134
+ }, ownerState.side === _columnPinning.GridPinnedPosition.left && {
135
+ left: 0,
136
+ float: 'left'
137
+ }, ownerState.side === _columnPinning.GridPinnedPosition.right && {
138
+ right: 0,
139
+ float: 'right'
140
+ }));
141
+ const DataGridProVirtualScroller = /*#__PURE__*/React.forwardRef(function DataGridProVirtualScroller(props, ref) {
142
+ const other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
143
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
144
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
145
+ const currentPage = (0, _internals.useCurrentPageRows)(apiRef, rootProps);
146
+ const visibleColumnFields = (0, _xDataGrid.useGridSelector)(apiRef, _xDataGrid.gridVisibleColumnFieldsSelector);
147
+ const expandedRowIds = (0, _xDataGrid.useGridSelector)(apiRef, _detailPanel.gridDetailPanelExpandedRowIdsSelector);
148
+ const detailPanelsContent = (0, _xDataGrid.useGridSelector)(apiRef, _detailPanel.gridDetailPanelExpandedRowsContentCacheSelector);
149
+ const detailPanelsHeights = (0, _xDataGrid.useGridSelector)(apiRef, _detailPanel.gridDetailPanelExpandedRowsHeightCacheSelector);
150
+ const leftColumns = React.useRef(null);
151
+ const rightColumns = React.useRef(null);
152
+ const handleRenderZonePositioning = React.useCallback(({
153
+ top
154
+ }) => {
155
+ if (leftColumns.current) {
156
+ leftColumns.current.style.transform = `translate3d(0px, ${top}px, 0px)`;
157
+ }
158
+
159
+ if (rightColumns.current) {
160
+ rightColumns.current.style.transform = `translate3d(0px, ${top}px, 0px)`;
161
+ }
162
+ }, []);
163
+
164
+ const getRowProps = id => {
165
+ if (!expandedRowIds.includes(id)) {
166
+ return null;
167
+ }
168
+
169
+ const height = detailPanelsHeights[id];
170
+ return {
171
+ style: {
172
+ marginBottom: height
173
+ }
174
+ };
175
+ };
176
+
177
+ const pinnedColumns = (0, _xDataGrid.useGridSelector)(apiRef, _columnPinning.gridPinnedColumnsSelector);
178
+ const [leftPinnedColumns, rightPinnedColumns] = filterColumns(pinnedColumns, visibleColumnFields);
179
+ const ownerState = {
180
+ classes: rootProps.classes,
181
+ leftPinnedColumns,
182
+ rightPinnedColumns
183
+ };
184
+ const classes = useUtilityClasses(ownerState);
185
+ const {
186
+ renderContext,
187
+ getRows,
188
+ getRootProps,
189
+ getContentProps,
190
+ getRenderZoneProps,
191
+ updateRenderZonePosition
192
+ } = (0, _internals.useGridVirtualScroller)((0, _extends2.default)({
193
+ ref,
194
+ renderZoneMinColumnIndex: leftPinnedColumns.length,
195
+ renderZoneMaxColumnIndex: visibleColumnFields.length - rightPinnedColumns.length,
196
+ onRenderZonePositioning: handleRenderZonePositioning,
197
+ getRowProps
198
+ }, props));
199
+ const refreshRenderZonePosition = React.useCallback(() => {
200
+ if (renderContext) {
201
+ updateRenderZonePosition(renderContext);
202
+ }
203
+ }, [renderContext, updateRenderZonePosition]);
204
+ (0, _xDataGrid.useGridApiEventHandler)(apiRef, _xDataGrid.GridEvents.columnWidthChange, refreshRenderZonePosition);
205
+ (0, _xDataGrid.useGridApiEventHandler)(apiRef, _xDataGrid.GridEvents.columnOrderChange, refreshRenderZonePosition);
206
+ React.useEffect(() => {
207
+ refreshRenderZonePosition();
208
+ }, [refreshRenderZonePosition]);
209
+ const leftRenderContext = renderContext && leftPinnedColumns.length > 0 ? (0, _extends2.default)({}, renderContext, {
210
+ firstColumnIndex: 0,
211
+ lastColumnIndex: leftPinnedColumns.length
212
+ }) : null;
213
+ const rightRenderContext = renderContext && rightPinnedColumns.length > 0 ? (0, _extends2.default)({}, renderContext, {
214
+ firstColumnIndex: visibleColumnFields.length - rightPinnedColumns.length,
215
+ lastColumnIndex: visibleColumnFields.length
216
+ }) : null;
217
+ const contentProps = getContentProps();
218
+ const pinnedColumnsStyle = {
219
+ minHeight: contentProps.style.minHeight
220
+ };
221
+ const rowsLookup = React.useMemo(() => {
222
+ if (rootProps.getDetailPanelContent == null) {
223
+ return null;
224
+ }
225
+
226
+ return currentPage.rows.reduce((acc, {
227
+ id
228
+ }, index) => {
229
+ acc[id] = index;
230
+ return acc;
231
+ }, {});
232
+ }, [currentPage.rows, rootProps.getDetailPanelContent]);
233
+
234
+ const getDetailPanels = () => {
235
+ const panels = [];
236
+
237
+ if (rootProps.getDetailPanelContent == null) {
238
+ return panels;
239
+ }
240
+
241
+ const rowsMeta = (0, _xDataGrid.gridRowsMetaSelector)(apiRef.current.state);
242
+ const uniqueExpandedRowIds = Array.from(new Set([...expandedRowIds]).values());
243
+
244
+ for (let i = 0; i < uniqueExpandedRowIds.length; i += 1) {
245
+ const id = uniqueExpandedRowIds[i];
246
+ const content = detailPanelsContent[id]; // Check if the id exists in the current page
247
+
248
+ const exists = rowsLookup[id] !== undefined;
249
+
250
+ if ( /*#__PURE__*/React.isValidElement(content) && exists) {
251
+ const height = detailPanelsHeights[id];
252
+ const rowIndex = rowsLookup[id];
253
+ const top = rowsMeta.positions[rowIndex] + apiRef.current.unstable_getRowHeight(id);
254
+ panels.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerDetailPanel, {
255
+ style: {
256
+ top,
257
+ height
258
+ },
259
+ className: classes.detailPanel,
260
+ children: content
261
+ }, i));
262
+ }
263
+ }
264
+
265
+ return panels;
266
+ };
267
+
268
+ const detailPanels = getDetailPanels();
269
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.GridVirtualScroller, (0, _extends2.default)({}, getRootProps(other), {
270
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_internals.GridVirtualScrollerContent, (0, _extends2.default)({}, contentProps, {
271
+ children: [leftRenderContext && /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerPinnedColumns, {
272
+ ref: leftColumns,
273
+ className: classes.leftPinnedColumns,
274
+ ownerState: {
275
+ side: _columnPinning.GridPinnedPosition.left
276
+ },
277
+ style: pinnedColumnsStyle,
278
+ children: getRows({
279
+ renderContext: leftRenderContext,
280
+ minFirstColumn: leftRenderContext.firstColumnIndex,
281
+ maxLastColumn: leftRenderContext.lastColumnIndex,
282
+ availableSpace: 0
283
+ })
284
+ }), rightRenderContext && /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerPinnedColumns, {
285
+ ref: rightColumns,
286
+ ownerState: {
287
+ side: _columnPinning.GridPinnedPosition.right
288
+ },
289
+ className: classes.rightPinnedColumns,
290
+ style: pinnedColumnsStyle,
291
+ children: getRows({
292
+ renderContext: rightRenderContext,
293
+ minFirstColumn: rightRenderContext.firstColumnIndex,
294
+ maxLastColumn: rightRenderContext.lastColumnIndex,
295
+ availableSpace: 0
296
+ })
297
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.GridVirtualScrollerRenderZone, (0, _extends2.default)({}, getRenderZoneProps(), {
298
+ children: getRows({
299
+ renderContext
300
+ })
301
+ })), detailPanels.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerDetailPanels, {
302
+ className: classes.detailPanels,
303
+ children: detailPanels
304
+ })]
305
+ }))
306
+ }));
307
+ });
308
+ exports.DataGridProVirtualScroller = DataGridProVirtualScroller;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GridColumnPinningMenuItems = void 0;
9
+
10
+ var React = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
15
+
16
+ var _columnPinning = require("../hooks/features/columnPinning");
17
+
18
+ var _useGridApiContext = require("../hooks/utils/useGridApiContext");
19
+
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ const GridColumnPinningMenuItems = props => {
27
+ const {
28
+ column,
29
+ onClick
30
+ } = props;
31
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
32
+
33
+ const pinColumn = side => event => {
34
+ apiRef.current.pinColumn(column.field, side);
35
+
36
+ if (onClick) {
37
+ onClick(event);
38
+ }
39
+ };
40
+
41
+ const unpinColumn = event => {
42
+ apiRef.current.unpinColumn(column.field);
43
+
44
+ if (onClick) {
45
+ onClick(event);
46
+ }
47
+ };
48
+
49
+ if (!column) {
50
+ return null;
51
+ }
52
+
53
+ const side = apiRef.current.isColumnPinned(column.field);
54
+
55
+ if (side) {
56
+ const otherSide = side === _columnPinning.GridPinnedPosition.right ? _columnPinning.GridPinnedPosition.left : _columnPinning.GridPinnedPosition.right;
57
+ const label = otherSide === _columnPinning.GridPinnedPosition.right ? 'pinToRight' : 'pinToLeft';
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
59
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
60
+ onClick: pinColumn(otherSide),
61
+ children: apiRef.current.getLocaleText(label)
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
63
+ onClick: unpinColumn,
64
+ children: apiRef.current.getLocaleText('unpin')
65
+ })]
66
+ });
67
+ }
68
+
69
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
70
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
71
+ onClick: pinColumn(_columnPinning.GridPinnedPosition.left),
72
+ children: apiRef.current.getLocaleText('pinToLeft')
73
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
74
+ onClick: pinColumn(_columnPinning.GridPinnedPosition.right),
75
+ children: apiRef.current.getLocaleText('pinToRight')
76
+ })]
77
+ });
78
+ };
79
+
80
+ exports.GridColumnPinningMenuItems = GridColumnPinningMenuItems;
81
+ process.env.NODE_ENV !== "production" ? GridColumnPinningMenuItems.propTypes = {
82
+ // ----------------------------- Warning --------------------------------
83
+ // | These PropTypes are generated from the TypeScript type definitions |
84
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
85
+ // ----------------------------------------------------------------------
86
+ column: _propTypes.default.object,
87
+ onClick: _propTypes.default.func
88
+ } : void 0;
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GridDetailPanelToggleCell = void 0;
9
+
10
+ var React = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _material = require("@mui/material");
15
+
16
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
17
+
18
+ var _xDataGrid = require("@mui/x-data-grid");
19
+
20
+ var _useGridRootProps = require("../hooks/utils/useGridRootProps");
21
+
22
+ var _useGridApiContext = require("../hooks/utils/useGridApiContext");
23
+
24
+ var _gridDetailPanelSelector = require("../hooks/features/detailPanel/gridDetailPanelSelector");
25
+
26
+ var _jsxRuntime = require("react/jsx-runtime");
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ const useUtilityClasses = ownerState => {
33
+ const {
34
+ classes,
35
+ isExpanded
36
+ } = ownerState;
37
+ const slots = {
38
+ root: ['detailPanelToggleCell', isExpanded && 'detailPanelToggleCell--expanded']
39
+ };
40
+ return (0, _material.unstable_composeClasses)(slots, _xDataGrid.getDataGridUtilityClass, classes);
41
+ };
42
+
43
+ const GridDetailPanelToggleCell = props => {
44
+ const {
45
+ id,
46
+ value: isExpanded
47
+ } = props;
48
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
49
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
50
+ const ownerState = {
51
+ classes: rootProps.classes,
52
+ isExpanded
53
+ };
54
+ const classes = useUtilityClasses(ownerState);
55
+ const contentCache = (0, _xDataGrid.useGridSelector)(apiRef, _gridDetailPanelSelector.gridDetailPanelExpandedRowsContentCacheSelector);
56
+ const hasContent = /*#__PURE__*/React.isValidElement(contentCache[id]);
57
+ const Icon = isExpanded ? rootProps.components.DetailPanelCollapseIcon : rootProps.components.DetailPanelExpandIcon;
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
59
+ size: "small",
60
+ tabIndex: -1,
61
+ disabled: !hasContent,
62
+ className: classes.root,
63
+ "aria-label": isExpanded ? apiRef.current.getLocaleText('collapseDetailPanel') : apiRef.current.getLocaleText('expandDetailPanel'),
64
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
65
+ fontSize: "inherit"
66
+ })
67
+ });
68
+ };
69
+
70
+ exports.GridDetailPanelToggleCell = GridDetailPanelToggleCell;
71
+ process.env.NODE_ENV !== "production" ? GridDetailPanelToggleCell.propTypes = {
72
+ // ----------------------------- Warning --------------------------------
73
+ // | These PropTypes are generated from the TypeScript type definitions |
74
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
75
+ // ----------------------------------------------------------------------
76
+
77
+ /**
78
+ * GridApi that let you manipulate the grid.
79
+ */
80
+ api: _propTypes.default.object.isRequired,
81
+
82
+ /**
83
+ * The mode of the cell.
84
+ */
85
+ cellMode: _propTypes.default.oneOf(['edit', 'view']).isRequired,
86
+
87
+ /**
88
+ * The column of the row that the current cell belongs to.
89
+ */
90
+ colDef: _propTypes.default.object.isRequired,
91
+
92
+ /**
93
+ * The column field of the cell that triggered the event.
94
+ */
95
+ field: _propTypes.default.string.isRequired,
96
+
97
+ /**
98
+ * The cell value formatted with the column valueFormatter.
99
+ */
100
+ formattedValue: _propTypes.default.any.isRequired,
101
+
102
+ /**
103
+ * Get the cell value of a row and field.
104
+ * @param {GridRowId} id The row id.
105
+ * @param {string} field The field.
106
+ * @returns {GridCellValue} The cell value.
107
+ * @deprecated Use `params.row` to directly access the fields you want instead.
108
+ */
109
+ getValue: _propTypes.default.func.isRequired,
110
+
111
+ /**
112
+ * If true, the cell is the active element.
113
+ */
114
+ hasFocus: _propTypes.default.bool.isRequired,
115
+
116
+ /**
117
+ * The grid row id.
118
+ */
119
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
120
+
121
+ /**
122
+ * If true, the cell is editable.
123
+ */
124
+ isEditable: _propTypes.default.bool,
125
+
126
+ /**
127
+ * The row model of the row that the current cell belongs to.
128
+ */
129
+ row: _propTypes.default.any.isRequired,
130
+
131
+ /**
132
+ * The node of the row that the current cell belongs to.
133
+ */
134
+ rowNode: _propTypes.default.object.isRequired,
135
+
136
+ /**
137
+ * the tabIndex value.
138
+ */
139
+ tabIndex: _propTypes.default.oneOf([-1, 0]).isRequired,
140
+
141
+ /**
142
+ * The cell value, but if the column has valueGetter, use getValue.
143
+ */
144
+ value: _propTypes.default.any.isRequired
145
+ } : void 0;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GridGroupingColumnLeafCell = void 0;
9
+
10
+ var React = _interopRequireWildcard(require("react"));
11
+
12
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
13
+
14
+ var _useGridRootProps = require("../hooks/utils/useGridRootProps");
15
+
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ const GridGroupingColumnLeafCell = props => {
23
+ var _props$formattedValue;
24
+
25
+ const {
26
+ rowNode
27
+ } = props;
28
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
29
+ const marginLeft = rootProps.rowGroupingColumnMode === 'multiple' ? 1 : rowNode.depth * 2;
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
31
+ sx: {
32
+ ml: marginLeft
33
+ },
34
+ children: (_props$formattedValue = props.formattedValue) != null ? _props$formattedValue : props.value
35
+ });
36
+ };
37
+
38
+ exports.GridGroupingColumnLeafCell = GridGroupingColumnLeafCell;