ag-grid-community 35.3.0 → 36.0.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 (401) hide show
  1. package/dist/ag-grid-community.js +43054 -40943
  2. package/dist/ag-grid-community.min.js +829 -472
  3. package/dist/ag-grid-community.min.noStyle.js +36 -39
  4. package/dist/ag-grid-community.noStyle.js +41911 -40166
  5. package/dist/package/main.cjs.js +27494 -32054
  6. package/dist/package/main.cjs.min.js +27 -44
  7. package/dist/package/main.esm.min.mjs +27 -44
  8. package/dist/package/main.esm.mjs +30454 -34846
  9. package/dist/package/package.json +3 -2
  10. package/dist/package.json +3 -2
  11. package/dist/types/package.json +3 -2
  12. package/dist/types/src/{agStack/widgets → agWidgets}/agAbstractField.d.ts +1 -6
  13. package/dist/types/src/{agStack/widgets → agWidgets}/agAbstractInputField.d.ts +1 -4
  14. package/dist/types/src/{agStack/widgets → agWidgets}/agAbstractLabel.d.ts +2 -7
  15. package/dist/types/src/{agStack/widgets → agWidgets}/agCheckbox.d.ts +1 -5
  16. package/dist/types/src/{agStack/widgets → agWidgets}/agContentEditableField.d.ts +1 -5
  17. package/dist/types/src/{agStack/widgets → agWidgets}/agFieldParams.d.ts +1 -1
  18. package/dist/types/src/agWidgets/agFieldSet.d.ts +19 -0
  19. package/dist/types/src/{agStack/widgets → agWidgets}/agInputDateField.d.ts +1 -5
  20. package/dist/types/src/{agStack/widgets → agWidgets}/agInputNumberField.d.ts +1 -5
  21. package/dist/types/src/{agStack/widgets → agWidgets}/agInputTextArea.d.ts +1 -5
  22. package/dist/types/src/{agStack/widgets → agWidgets}/agInputTextField.d.ts +1 -5
  23. package/dist/types/src/{agStack/widgets → agWidgets}/agList.d.ts +2 -5
  24. package/dist/types/src/{agStack/widgets → agWidgets}/agListItem.d.ts +2 -7
  25. package/dist/types/src/{agStack/widgets → agWidgets}/agPickerField.d.ts +1 -5
  26. package/dist/types/src/{agStack/widgets → agWidgets}/agPickerFieldParams.d.ts +1 -2
  27. package/dist/types/src/{agStack/widgets → agWidgets}/agRadioButton.d.ts +1 -5
  28. package/dist/types/src/{agStack/widgets → agWidgets}/agSelect.d.ts +1 -5
  29. package/dist/types/src/{agStack/widgets → agWidgets}/agToggleButton.d.ts +1 -5
  30. package/dist/types/src/agWidgets/agWidgetSelectorType.d.ts +2 -0
  31. package/dist/types/src/alignedGrids/alignedGridsService.d.ts +1 -1
  32. package/dist/types/src/api/coreApi.d.ts +1 -0
  33. package/dist/types/src/api/gridApi.d.ts +5 -3
  34. package/dist/types/src/autoGenerateColumns/autoGenerateColumnsModule.d.ts +6 -0
  35. package/dist/types/src/autoGenerateColumns/autoGenerateColumnsService.d.ts +7 -0
  36. package/dist/types/src/columnMove/columnDrag/bodyDropPivotTarget.d.ts +3 -3
  37. package/dist/types/src/columnMove/columnDrag/bodyDropTarget.d.ts +8 -5
  38. package/dist/types/src/columnMove/columnDrag/moveColumnFeature.d.ts +0 -1
  39. package/dist/types/src/columnMove/columnMoveService.d.ts +2 -2
  40. package/dist/types/src/columnMove/columnMoveUtils.d.ts +2 -0
  41. package/dist/types/src/columnMove/internalColumnMoveUtils.d.ts +4 -4
  42. package/dist/types/src/columnResize/columnResizeService.d.ts +2 -3
  43. package/dist/types/src/columnResize/groupResizeFeature.d.ts +1 -3
  44. package/dist/types/src/columnResize/resizeFeature.d.ts +1 -3
  45. package/dist/types/src/columns/baseSingleColService.d.ts +23 -0
  46. package/dist/types/src/columns/buildColumnTree.d.ts +42 -0
  47. package/dist/types/src/columns/calculatedColumnUtils.d.ts +8 -0
  48. package/dist/types/src/columns/colDefUtils.d.ts +9 -0
  49. package/dist/types/src/columns/colsApplyPrevOrder.d.ts +2 -0
  50. package/dist/types/src/columns/columnApi.d.ts +2 -3
  51. package/dist/types/src/columns/columnDefFactory.d.ts +4 -8
  52. package/dist/types/src/columns/columnEventUtils.d.ts +4 -1
  53. package/dist/types/src/columns/columnFlexService.d.ts +1 -1
  54. package/dist/types/src/columns/columnGroups/colWrapperCache.d.ts +16 -0
  55. package/dist/types/src/columns/columnGroups/columnGroupService.d.ts +14 -41
  56. package/dist/types/src/columns/columnGroups/columnGroupState.d.ts +13 -0
  57. package/dist/types/src/columns/columnModel.d.ts +105 -59
  58. package/dist/types/src/columns/columnNameService.d.ts +1 -1
  59. package/dist/types/src/columns/columnStateUtils.d.ts +54 -13
  60. package/dist/types/src/columns/columnUtils.d.ts +20 -25
  61. package/dist/types/src/columns/dataTypeService.d.ts +3 -1
  62. package/dist/types/src/columns/groupInstanceIdCreator.d.ts +1 -2
  63. package/dist/types/src/columns/selectionColService.d.ts +7 -28
  64. package/dist/types/src/columns/visibleColsService.d.ts +51 -25
  65. package/dist/types/src/components/framework/frameworkComponentWrapper.d.ts +1 -1
  66. package/dist/types/src/components/framework/registry.d.ts +2 -3
  67. package/dist/types/src/components/framework/userCompUtils.d.ts +5 -5
  68. package/dist/types/src/components/framework/userComponentFactory.d.ts +1 -1
  69. package/dist/types/src/context/bean.d.ts +1 -1
  70. package/dist/types/src/context/beanStub.d.ts +5 -3
  71. package/dist/types/src/context/context.d.ts +14 -13
  72. package/dist/types/src/context/gridBeanComparator.d.ts +1 -1
  73. package/dist/types/src/csvExport/csvExportModule.d.ts +1 -1
  74. package/dist/types/src/ctrlsService.d.ts +8 -22
  75. package/dist/types/src/dragAndDrop/dragAndDropImageComponent.d.ts +1 -3
  76. package/dist/types/src/dragAndDrop/dragAndDropService.d.ts +2 -4
  77. package/dist/types/src/dragAndDrop/dragModule.d.ts +1 -1
  78. package/dist/types/src/dragAndDrop/dragService.d.ts +1 -1
  79. package/dist/types/src/dragAndDrop/horizontalResizeService.d.ts +2 -0
  80. package/dist/types/src/dragAndDrop/rowDragComp.d.ts +1 -1
  81. package/dist/types/src/dragAndDrop/rowDragTypes.d.ts +1 -2
  82. package/dist/types/src/edit/cellEditors/agAbstractCellEditor.d.ts +2 -2
  83. package/dist/types/src/edit/cellEditors/popupEditorWrapper.d.ts +1 -1
  84. package/dist/types/src/edit/editService.d.ts +2 -0
  85. package/dist/types/src/edit/strategy/fullRowEditStrategy.d.ts +2 -1
  86. package/dist/types/src/edit/strategy/singleCellEditStrategy.d.ts +2 -1
  87. package/dist/types/src/entities/agColumn.d.ts +117 -58
  88. package/dist/types/src/entities/agColumnGroup.d.ts +24 -16
  89. package/dist/types/src/entities/agProvidedColumnGroup.d.ts +20 -19
  90. package/dist/types/src/entities/colDef-showValuesAs.d.ts +228 -0
  91. package/dist/types/src/entities/colDef.d.ts +68 -6
  92. package/dist/types/src/entities/gridOptions.d.ts +93 -8
  93. package/dist/types/src/entities/rowNode.d.ts +7 -3
  94. package/dist/types/src/environment.d.ts +2 -4
  95. package/dist/types/src/eventService.d.ts +1 -1
  96. package/dist/types/src/eventTypes.d.ts +4 -4
  97. package/dist/types/src/events.d.ts +48 -3
  98. package/dist/types/src/export/baseGridSerializingSession.d.ts +4 -2
  99. package/dist/types/src/export/iGridSerializer.d.ts +4 -2
  100. package/dist/types/src/filter/columnFilterService.d.ts +2 -2
  101. package/dist/types/src/filter/columnFilterUtils.d.ts +1 -1
  102. package/dist/types/src/filter/filterButtonComp.d.ts +1 -1
  103. package/dist/types/src/filter/filterComp.d.ts +1 -1
  104. package/dist/types/src/filter/filterDataTypeUtils.d.ts +1 -1
  105. package/dist/types/src/filter/filterLocaleText.d.ts +1 -1
  106. package/dist/types/src/filter/filterManager.d.ts +2 -1
  107. package/dist/types/src/filter/filterWrapperComp.d.ts +1 -1
  108. package/dist/types/src/filter/floating/floatingFilter.d.ts +1 -1
  109. package/dist/types/src/filter/floating/provided/floatingFilterTextInputService.d.ts +2 -2
  110. package/dist/types/src/filter/provided/date/iDateFilter.d.ts +1 -0
  111. package/dist/types/src/filter/provided/providedFilter.d.ts +1 -1
  112. package/dist/types/src/filter/provided/providedFilterUtils.d.ts +1 -1
  113. package/dist/types/src/filter/provided/simpleFilter.d.ts +1 -1
  114. package/dist/types/src/grid.d.ts +11 -12
  115. package/dist/types/src/gridBodyComp/fakeHScrollComp.d.ts +3 -4
  116. package/dist/types/src/gridBodyComp/fakeVScrollComp.d.ts +4 -0
  117. package/dist/types/src/gridBodyComp/gridBodyComp.d.ts +11 -5
  118. package/dist/types/src/gridBodyComp/gridBodyCtrl.d.ts +45 -34
  119. package/dist/types/src/gridBodyComp/gridBodyScrollFeature.d.ts +6 -5
  120. package/dist/types/src/gridBodyComp/rowContainer/rowContainerComp.d.ts +22 -0
  121. package/dist/types/src/gridBodyComp/rowContainer/rowContainerCtrl.d.ts +9 -33
  122. package/dist/types/src/gridBodyComp/scrollVisibleService.d.ts +13 -8
  123. package/dist/types/src/gridBodyComp/viewportSizeFeature.d.ts +7 -2
  124. package/dist/types/src/gridComp/gridCtrl.d.ts +3 -5
  125. package/dist/types/src/gridOptionsDefault.d.ts +1 -0
  126. package/dist/types/src/gridOptionsService.d.ts +1 -1
  127. package/dist/types/src/headerRendering/cells/abstractCell/abstractHeaderCellCtrl.d.ts +1 -1
  128. package/dist/types/src/headerRendering/cells/column/{headerComp.d.ts → agColumnHeader.d.ts} +5 -1
  129. package/dist/types/src/headerRendering/cells/column/headerCellCtrl.d.ts +5 -2
  130. package/dist/types/src/headerRendering/cells/columnGroup/{headerGroupComp.d.ts → agColumnGroupHeader.d.ts} +2 -2
  131. package/dist/types/src/headerRendering/cells/columnGroup/groupStickyLabelFeature.d.ts +1 -0
  132. package/dist/types/src/headerRendering/cells/columnGroup/headerGroupCellCtrl.d.ts +5 -1
  133. package/dist/types/src/headerRendering/cells/cssClassApplier.d.ts +5 -3
  134. package/dist/types/src/headerRendering/cells/floatingFilter/headerFilterCellCtrl.d.ts +3 -1
  135. package/dist/types/src/headerRendering/cells/floatingFilter/iHeaderFilterCellComp.d.ts +1 -1
  136. package/dist/types/src/headerRendering/gridHeaderComp.d.ts +10 -2
  137. package/dist/types/src/headerRendering/gridHeaderCtrl.d.ts +4 -2
  138. package/dist/types/src/headerRendering/headerUtils.d.ts +34 -0
  139. package/dist/types/src/headerRendering/row/headerRowComp.d.ts +9 -0
  140. package/dist/types/src/headerRendering/row/headerRowCtrl.d.ts +4 -4
  141. package/dist/types/src/headerRendering/rowContainer/headerRowContainerCtrl.d.ts +3 -11
  142. package/dist/types/src/headerRendering/rowContainer/headerRowsComp.d.ts +12 -0
  143. package/dist/types/src/interfaces/IRangeService.d.ts +1 -1
  144. package/dist/types/src/interfaces/dateComponent.d.ts +1 -1
  145. package/dist/types/src/interfaces/exportParams.d.ts +11 -5
  146. package/dist/types/src/interfaces/formulas.d.ts +3 -2
  147. package/dist/types/src/interfaces/gridState.d.ts +7 -3
  148. package/dist/types/src/interfaces/iAdvancedFilterCtrl.d.ts +2 -1
  149. package/dist/types/src/interfaces/iAutoColService.d.ts +12 -0
  150. package/dist/types/src/interfaces/iCalculatedColumns.d.ts +61 -0
  151. package/dist/types/src/interfaces/iCellEditor.d.ts +1 -1
  152. package/dist/types/src/interfaces/iCellEditorRenderer.d.ts +1 -1
  153. package/dist/types/src/interfaces/iCellStyleFeature.d.ts +1 -1
  154. package/dist/types/src/interfaces/iColsService.d.ts +36 -42
  155. package/dist/types/src/interfaces/iColumn.d.ts +18 -3
  156. package/dist/types/src/interfaces/iColumnStateUpdateStrategy.d.ts +4 -3
  157. package/dist/types/src/interfaces/iContextMenu.d.ts +1 -1
  158. package/dist/types/src/interfaces/iEditService.d.ts +4 -4
  159. package/dist/types/src/interfaces/iEventService.d.ts +1 -1
  160. package/dist/types/src/interfaces/iFileProcessor.d.ts +9 -0
  161. package/dist/types/src/interfaces/iFilter.d.ts +1 -2
  162. package/dist/types/src/interfaces/iFooterService.d.ts +2 -1
  163. package/dist/types/src/interfaces/iFrameworkOverrides.d.ts +1 -2
  164. package/dist/types/src/interfaces/iGridSection.d.ts +8 -0
  165. package/dist/types/src/interfaces/iGroupHierarchyColService.d.ts +9 -19
  166. package/dist/types/src/interfaces/iHeader.d.ts +2 -2
  167. package/dist/types/src/interfaces/iLoadingCellRenderer.d.ts +1 -1
  168. package/dist/types/src/interfaces/iModule.d.ts +4 -5
  169. package/dist/types/src/interfaces/iMultiFilter.d.ts +1 -1
  170. package/dist/types/src/interfaces/iNewFiltersToolPanel.d.ts +4 -8
  171. package/dist/types/src/interfaces/iPinnedSectionCompHost.d.ts +5 -0
  172. package/dist/types/src/interfaces/iPivotResultColsService.d.ts +27 -7
  173. package/dist/types/src/interfaces/iRichCellEditorParams.d.ts +1 -1
  174. package/dist/types/src/interfaces/iRowNode.d.ts +6 -3
  175. package/dist/types/src/interfaces/iRowNodeStage.d.ts +7 -0
  176. package/dist/types/src/interfaces/iRowStyleFeature.d.ts +1 -1
  177. package/dist/types/src/interfaces/iSelectionService.d.ts +3 -3
  178. package/dist/types/src/interfaces/iSetFilter.d.ts +1 -1
  179. package/dist/types/src/interfaces/iShowRowGroupColsService.d.ts +4 -1
  180. package/dist/types/src/interfaces/iShowValuesAsService.d.ts +48 -0
  181. package/dist/types/src/interfaces/iSort.d.ts +10 -0
  182. package/dist/types/src/interfaces/iSortModelItem.d.ts +1 -1
  183. package/dist/types/src/interfaces/iSortOption.d.ts +10 -1
  184. package/dist/types/src/interfaces/iStatusPanel.d.ts +1 -1
  185. package/dist/types/src/interfaces/iToolPanel.d.ts +1 -1
  186. package/dist/types/src/interfaces/iToolbar.d.ts +1 -1
  187. package/dist/types/src/interfaces/iUserCompDetails.d.ts +1 -2
  188. package/dist/types/src/interfaces/menuItem.d.ts +2 -2
  189. package/dist/types/src/interfaces/rowNumbers.d.ts +6 -4
  190. package/dist/types/src/main-internal.d.ts +54 -118
  191. package/dist/types/src/main.d.ts +34 -35
  192. package/dist/types/src/misc/iconService.d.ts +1 -1
  193. package/dist/types/src/misc/locale/localeService.d.ts +1 -1
  194. package/dist/types/src/misc/state/stateService.d.ts +6 -2
  195. package/dist/types/src/misc/touchService.d.ts +5 -5
  196. package/dist/types/src/modules/moduleRegistry.d.ts +1 -3
  197. package/dist/types/src/pagination/pageSizeSelectorComp.d.ts +4 -1
  198. package/dist/types/src/pagination/pageSummaryComp.d.ts +7 -2
  199. package/dist/types/src/pagination/paginationAutoPageSizeService.d.ts +1 -1
  200. package/dist/types/src/pagination/paginationService.d.ts +5 -1
  201. package/dist/types/src/pagination/paginationUtils.d.ts +1 -1
  202. package/dist/types/src/pinnedColumns/pinnedColumnService.d.ts +2 -3
  203. package/dist/types/src/pinnedRowModel/manualPinnedRowUtils.d.ts +1 -0
  204. package/dist/types/src/publicEventHandlersMap.d.ts +1 -1
  205. package/dist/types/src/rendering/ariaAnnouncementService.d.ts +1 -1
  206. package/dist/types/src/rendering/autoWidthCalculator.d.ts +1 -1
  207. package/dist/types/src/rendering/cell/cellCtrl.d.ts +7 -2
  208. package/dist/types/src/rendering/cell/cellPositionFeature.d.ts +1 -1
  209. package/dist/types/src/rendering/cellRenderers/iCellRenderer.d.ts +1 -1
  210. package/dist/types/src/rendering/features/horizontalPositionUtils.d.ts +21 -0
  211. package/dist/types/src/rendering/features/positionableFeature.d.ts +1 -1
  212. package/dist/types/src/rendering/features/setLeftFeature.d.ts +2 -4
  213. package/dist/types/src/rendering/overlays/fileInputOverlayComponent.d.ts +25 -0
  214. package/dist/types/src/rendering/overlays/fileInputOverlayModule.d.ts +6 -0
  215. package/dist/types/src/rendering/overlays/overlayComponent.d.ts +13 -3
  216. package/dist/types/src/rendering/overlays/overlayWrapperComponent.d.ts +1 -1
  217. package/dist/types/src/rendering/row/fullWidthRowFeature.d.ts +70 -0
  218. package/dist/types/src/rendering/row/iRowModeFeature.d.ts +48 -0
  219. package/dist/types/src/rendering/row/normalRowFeature.d.ts +37 -0
  220. package/dist/types/src/rendering/row/rowAutoHeightService.d.ts +1 -2
  221. package/dist/types/src/rendering/row/rowComp.d.ts +16 -0
  222. package/dist/types/src/rendering/row/rowCtrl.d.ts +75 -66
  223. package/dist/types/src/rendering/rowContainerHeightService.d.ts +2 -0
  224. package/dist/types/src/rendering/rowRenderer.d.ts +6 -5
  225. package/dist/types/src/rendering/spanning/rowSpanCache.d.ts +5 -5
  226. package/dist/types/src/rendering/spanning/rowSpanService.d.ts +15 -19
  227. package/dist/types/src/rendering/spanning/spannedRowCtrl.d.ts +3 -4
  228. package/dist/types/src/rendering/spanning/spannedRowRenderer.d.ts +3 -2
  229. package/dist/types/src/selection/baseSelectionService.d.ts +3 -3
  230. package/dist/types/src/selection/selectionService.d.ts +1 -1
  231. package/dist/types/src/sort/rowNodeSorter.d.ts +5 -12
  232. package/dist/types/src/sort/sortIndicatorComp.d.ts +1 -1
  233. package/dist/types/src/sort/sortOptionUtils.d.ts +9 -0
  234. package/dist/types/src/sort/sortService.d.ts +25 -22
  235. package/dist/types/src/styling/calculatedColumnCss.d.ts +5 -0
  236. package/dist/types/src/testing/testIdUtils.d.ts +3 -3
  237. package/dist/types/src/theming/core/core-css.d.ts +150 -3
  238. package/dist/types/src/theming/createTheme.d.ts +2 -7
  239. package/dist/types/src/theming/parts/button-style/button-styles.d.ts +1 -2
  240. package/dist/types/src/theming/parts/checkbox-style/checkbox-styles.d.ts +1 -2
  241. package/dist/types/src/theming/parts/color-scheme/color-schemes.d.ts +88 -92
  242. package/dist/types/src/theming/parts/column-drop-style/column-drop-styles.d.ts +2 -2
  243. package/dist/types/src/theming/parts/icon-set/alpine/icon-set-alpine.d.ts +1 -1
  244. package/dist/types/src/theming/parts/icon-set/balham/icon-set-balham.d.ts +1 -1
  245. package/dist/types/src/theming/parts/icon-set/material/icon-set-material.d.ts +1 -1
  246. package/dist/types/src/theming/parts/icon-set/overrides/icon-overrides.d.ts +2 -2
  247. package/dist/types/src/theming/parts/icon-set/quartz/icon-set-quartz.d.ts +1 -1
  248. package/dist/types/src/theming/parts/input-style/input-styles.d.ts +5 -2
  249. package/dist/types/src/theming/parts/tab-style/tab-styles.d.ts +1 -2
  250. package/dist/types/src/theming/parts/theme/themes.d.ts +3 -7
  251. package/dist/types/src/tooltip/tooltipComponent.d.ts +2 -2
  252. package/dist/types/src/tooltip/tooltipFeature.d.ts +1 -2
  253. package/dist/types/src/tooltip/tooltipService.d.ts +2 -2
  254. package/dist/types/src/tooltip/tooltipStateManager.d.ts +2 -2
  255. package/dist/types/src/utils/element.d.ts +1 -1
  256. package/dist/types/src/utils/gridFocus.d.ts +1 -0
  257. package/dist/types/src/utils/icon.d.ts +1 -1
  258. package/dist/types/src/utils/mergeDeep.d.ts +10 -2
  259. package/dist/types/src/utils/number.d.ts +10 -1
  260. package/dist/types/src/utils/value.d.ts +7 -0
  261. package/dist/types/src/validation/errorMessages/errorText.d.ts +20 -75
  262. package/dist/types/src/validation/rules/iconValidations.d.ts +1 -1
  263. package/dist/types/src/validation/validationModule.d.ts +24 -0
  264. package/dist/types/src/validation/validationService.d.ts +1 -1
  265. package/dist/types/src/valueService/cellApi.d.ts +9 -4
  266. package/dist/types/src/valueService/valueService.d.ts +45 -13
  267. package/dist/types/src/vanillaFrameworkOverrides.d.ts +1 -1
  268. package/dist/types/src/version.d.ts +1 -1
  269. package/dist/types/src/widgets/component.d.ts +4 -4
  270. package/dist/types/src/widgets/gridWidgetTypes.d.ts +12 -9
  271. package/dist/types/src/widgets/managedFocusFeature.d.ts +2 -2
  272. package/dist/types/src/widgets/popupService.d.ts +2 -2
  273. package/dist/types/src/widgets/tabGuard.d.ts +2 -3
  274. package/dist/types/src/widgets/tabGuardComp.d.ts +2 -2
  275. package/dist/types/src/widgets/touchListener.d.ts +3 -2
  276. package/package.json +3 -2
  277. package/styles/_css-content.scss +1506 -756
  278. package/styles/_icon-font-codes.scss +3 -0
  279. package/styles/ag-grid-no-native-widgets.css +713 -323
  280. package/styles/ag-grid-no-native-widgets.min.css +8 -5
  281. package/styles/ag-grid.css +713 -323
  282. package/styles/ag-grid.min.css +8 -5
  283. package/styles/ag-theme-alpine-no-font.css +8 -14
  284. package/styles/ag-theme-alpine-no-font.min.css +2 -2
  285. package/styles/ag-theme-alpine.css +9 -15
  286. package/styles/ag-theme-alpine.min.css +2 -2
  287. package/styles/ag-theme-balham-no-font.css +4 -3
  288. package/styles/ag-theme-balham-no-font.min.css +2 -2
  289. package/styles/ag-theme-balham.css +5 -4
  290. package/styles/ag-theme-balham.min.css +2 -2
  291. package/styles/ag-theme-material-no-font.css +10 -11
  292. package/styles/ag-theme-material-no-font.min.css +2 -2
  293. package/styles/ag-theme-material.css +11 -12
  294. package/styles/ag-theme-material.min.css +2 -2
  295. package/styles/ag-theme-quartz-no-font.css +13 -22
  296. package/styles/ag-theme-quartz-no-font.min.css +2 -2
  297. package/styles/ag-theme-quartz.css +14 -23
  298. package/styles/ag-theme-quartz.min.css +3 -3
  299. package/styles/agGridAlpineFont.css +1 -1
  300. package/styles/agGridAlpineFont.min.css +1 -1
  301. package/styles/agGridBalhamFont.css +1 -1
  302. package/styles/agGridBalhamFont.min.css +1 -1
  303. package/styles/agGridClassicFont.css +1 -1
  304. package/styles/agGridClassicFont.min.css +1 -1
  305. package/styles/agGridMaterialFont.css +1 -1
  306. package/styles/agGridMaterialFont.min.css +1 -1
  307. package/styles/agGridQuartzFont.css +1 -1
  308. package/styles/agGridQuartzFont.min.css +1 -1
  309. package/dist/types/src/agStack/constants/direction.d.ts +0 -8
  310. package/dist/types/src/agStack/constants/keyCode.d.ts +0 -25
  311. package/dist/types/src/agStack/core/agBeanStub.d.ts +0 -87
  312. package/dist/types/src/agStack/core/agComponentStub.d.ts +0 -59
  313. package/dist/types/src/agStack/core/agContext.d.ts +0 -54
  314. package/dist/types/src/agStack/core/baseAriaAnnouncementService.d.ts +0 -21
  315. package/dist/types/src/agStack/core/baseDragAndDropService.d.ts +0 -54
  316. package/dist/types/src/agStack/core/baseDragService.d.ts +0 -39
  317. package/dist/types/src/agStack/core/baseEnvironment.d.ts +0 -58
  318. package/dist/types/src/agStack/core/baseRegistry.d.ts +0 -15
  319. package/dist/types/src/agStack/events/baseEventService.d.ts +0 -18
  320. package/dist/types/src/agStack/events/localEventService.d.ts +0 -27
  321. package/dist/types/src/agStack/events/pointerCapture.d.ts +0 -7
  322. package/dist/types/src/agStack/focus/agManagedFocusFeature.d.ts +0 -28
  323. package/dist/types/src/agStack/focus/agTabGuardComp.d.ts +0 -16
  324. package/dist/types/src/agStack/focus/agTabGuardFeature.d.ts +0 -55
  325. package/dist/types/src/agStack/focus/tabGuardCtrl.d.ts +0 -69
  326. package/dist/types/src/agStack/interfaces/agBaseBean.d.ts +0 -12
  327. package/dist/types/src/agStack/interfaces/agBean.d.ts +0 -35
  328. package/dist/types/src/agStack/interfaces/agComponent.d.ts +0 -54
  329. package/dist/types/src/agStack/interfaces/agCoreBean.d.ts +0 -23
  330. package/dist/types/src/agStack/interfaces/agCoreBeanCollection.d.ts +0 -39
  331. package/dist/types/src/agStack/interfaces/agEvent.d.ts +0 -4
  332. package/dist/types/src/agStack/interfaces/agFrameworkOverrides.d.ts +0 -21
  333. package/dist/types/src/agStack/interfaces/baseEvents.d.ts +0 -50
  334. package/dist/types/src/agStack/interfaces/baseProperties.d.ts +0 -25
  335. package/dist/types/src/agStack/interfaces/iAfterGuiAttachedParams.d.ts +0 -12
  336. package/dist/types/src/agStack/interfaces/iAriaAnnouncementService.d.ts +0 -5
  337. package/dist/types/src/agStack/interfaces/iComponent.d.ts +0 -10
  338. package/dist/types/src/agStack/interfaces/iContext.d.ts +0 -16
  339. package/dist/types/src/agStack/interfaces/iDrag.d.ts +0 -30
  340. package/dist/types/src/agStack/interfaces/iDragAndDrop.d.ts +0 -99
  341. package/dist/types/src/agStack/interfaces/iEnvironment.d.ts +0 -6
  342. package/dist/types/src/agStack/interfaces/iEvent.d.ts +0 -20
  343. package/dist/types/src/agStack/interfaces/iEventEmitter.d.ts +0 -14
  344. package/dist/types/src/agStack/interfaces/iIcon.d.ts +0 -2
  345. package/dist/types/src/agStack/interfaces/iIconService.d.ts +0 -5
  346. package/dist/types/src/agStack/interfaces/iLocaleService.d.ts +0 -7
  347. package/dist/types/src/agStack/interfaces/iPopup.d.ts +0 -63
  348. package/dist/types/src/agStack/interfaces/iPopupComponent.d.ts +0 -11
  349. package/dist/types/src/agStack/interfaces/iPopupService.d.ts +0 -19
  350. package/dist/types/src/agStack/interfaces/iProperties.d.ts +0 -42
  351. package/dist/types/src/agStack/interfaces/iRegistry.d.ts +0 -5
  352. package/dist/types/src/agStack/interfaces/iTooltip.d.ts +0 -20
  353. package/dist/types/src/agStack/popup/agPopupComponent.d.ts +0 -13
  354. package/dist/types/src/agStack/popup/basePopupService.d.ts +0 -60
  355. package/dist/types/src/agStack/popup/popupPositionUtils.d.ts +0 -71
  356. package/dist/types/src/agStack/rendering/agPositionableFeature.d.ts +0 -101
  357. package/dist/types/src/agStack/rendering/autoScrollService.d.ts +0 -38
  358. package/dist/types/src/agStack/rendering/cssClassManager.d.ts +0 -7
  359. package/dist/types/src/agStack/theming/inject.d.ts +0 -26
  360. package/dist/types/src/agStack/theming/part.d.ts +0 -9
  361. package/dist/types/src/agStack/theming/partImpl.d.ts +0 -56
  362. package/dist/types/src/agStack/theming/shared/shared-css.d.ts +0 -282
  363. package/dist/types/src/agStack/theming/theme.d.ts +0 -23
  364. package/dist/types/src/agStack/theming/themeImpl.d.ts +0 -46
  365. package/dist/types/src/agStack/theming/themeLogger.d.ts +0 -24
  366. package/dist/types/src/agStack/theming/themeTypeUtils.d.ts +0 -18
  367. package/dist/types/src/agStack/theming/themeTypes.d.ts +0 -209
  368. package/dist/types/src/agStack/theming/themeUtils.d.ts +0 -13
  369. package/dist/types/src/agStack/tooltip/agHighlightTooltipFeature.d.ts +0 -24
  370. package/dist/types/src/agStack/tooltip/agTooltipComponent.d.ts +0 -12
  371. package/dist/types/src/agStack/tooltip/agTooltipFeature.d.ts +0 -31
  372. package/dist/types/src/agStack/tooltip/baseTooltipStateManager.d.ts +0 -81
  373. package/dist/types/src/agStack/utils/aria.d.ts +0 -79
  374. package/dist/types/src/agStack/utils/array.d.ts +0 -32
  375. package/dist/types/src/agStack/utils/bigInt.d.ts +0 -2
  376. package/dist/types/src/agStack/utils/browser.d.ts +0 -11
  377. package/dist/types/src/agStack/utils/date.d.ts +0 -40
  378. package/dist/types/src/agStack/utils/document.d.ts +0 -15
  379. package/dist/types/src/agStack/utils/dom.d.ts +0 -141
  380. package/dist/types/src/agStack/utils/download.d.ts +0 -2
  381. package/dist/types/src/agStack/utils/event.d.ts +0 -34
  382. package/dist/types/src/agStack/utils/focus.d.ts +0 -12
  383. package/dist/types/src/agStack/utils/function.d.ts +0 -37
  384. package/dist/types/src/agStack/utils/fuzzyMatch.d.ts +0 -22
  385. package/dist/types/src/agStack/utils/generic.d.ts +0 -18
  386. package/dist/types/src/agStack/utils/keyboard.d.ts +0 -2
  387. package/dist/types/src/agStack/utils/locale.d.ts +0 -17
  388. package/dist/types/src/agStack/utils/promise.d.ts +0 -16
  389. package/dist/types/src/agStack/utils/string.d.ts +0 -17
  390. package/dist/types/src/agStack/utils/value.d.ts +0 -6
  391. package/dist/types/src/agStack/widgets/agWidgetSelectorType.d.ts +0 -2
  392. package/dist/types/src/columns/baseColsService.d.ts +0 -52
  393. package/dist/types/src/columns/columnFactoryUtils.d.ts +0 -28
  394. package/dist/types/src/columns/columnGroups/columnGroupUtils.d.ts +0 -3
  395. package/dist/types/src/columns/columnKeyCreator.d.ts +0 -9
  396. package/dist/types/src/gridBodyComp/scrollbarVisibilityHelper.d.ts +0 -2
  397. package/dist/types/src/headerRendering/rowContainer/headerRowContainerComp.d.ts +0 -15
  398. package/dist/types/src/interfaces/iColumnCollectionService.d.ts +0 -15
  399. package/dist/types/src/theming/parts/batch-edit/batch-edit-styles.d.ts +0 -22
  400. package/dist/types/src/theming/parts/formula-style/formula-styles.d.ts +0 -89
  401. package/dist/types/src/theming/parts/notes/note-styles.d.ts +0 -37
@@ -0,0 +1,228 @@
1
+ import type { Column } from '../interfaces/iColumn';
2
+ import type { AgGridCommon } from '../interfaces/iCommon';
3
+ import type { IRowNode } from '../interfaces/iRowNode';
4
+ import type { MenuItemDef } from '../interfaces/menuItem';
5
+ import type { ValueFormatterParams } from './colDef';
6
+ import type { BaseCellDataType } from './dataType';
7
+ /** Built-in "Show Values As" mode names. */
8
+ export type ShowValuesAsBuiltInType = 'percentOfGrandTotal' | 'percentOfColumnTotal' | 'percentOfRowTotal' | 'percentOfParentRowTotal' | 'percentOfParentColumnTotal';
9
+ /** A built-in mode name. The open string form is retained so a serialised column-state value round-trips. */
10
+ export type ShowValuesAsType = ShowValuesAsBuiltInType | (string & {});
11
+ /**
12
+ * Whether a mode applies in the current view (the result of {@link ShowValuesAsModeDef.applicability}). Drives both the
13
+ * transform (an inapplicable mode shows the raw value) and how the mode appears in the column menu.
14
+ * - `true` / `'enabled'` (default `true`): applicable - the transform runs and the menu shows it normally.
15
+ * - `'inapplicable'`: not applicable in this view - shown greyed and non-interactive (it shows the raw value).
16
+ * An active selection that becomes inapplicable still shows checked, but is changed away from by choosing an
17
+ * applicable mode.
18
+ * - `'disabled'`: not applicable - shown greyed and non-interactive (the menu item is disabled altogether).
19
+ * - `'hide'` / `false`: not applicable - omitted from the menu, except the active selection, which is kept (greyed
20
+ * but still selectable) so it stays visible and changeable.
21
+ */
22
+ export type ShowValuesAsApplicability = boolean | 'enabled' | 'inapplicable' | 'disabled' | 'hide';
23
+ /** Output of a transform; `null` renders a blank cell. */
24
+ export type ShowValuesAsResult = number | bigint | string | boolean | Date | object;
25
+ /**
26
+ * Object form of the `showValuesAs` selector. Use the bare string form for modes that need no input.
27
+ */
28
+ export type ShowValuesAs = {
29
+ /** The mode name. */
30
+ type: ShowValuesAsType;
31
+ /** Mode input. */
32
+ params?: any;
33
+ /** Decimal places for the built-in formatters; overrides `showValuesAsDef.precision`. */
34
+ precision?: number;
35
+ };
36
+ /** A column-state `showValuesAs` value: a mode name, the object form, or `null` for no active mode. */
37
+ export type ShowValuesAsStateValue = ShowValuesAsType | ShowValuesAs | null;
38
+ /** A custom transform: maps the cell's raw value (`TValue`) to the output (`TOut`), or `null` for a blank cell. */
39
+ export type ShowValuesAsTransform<TData = any, TValue = any, TOut extends ShowValuesAsResult = ShowValuesAsResult, TParams = any> = (params: ShowValuesAsTransformParams<TData, TValue, TParams>) => TOut | null;
40
+ /** Params passed to a mode's {@link ShowValuesAsTransform}. Beyond the raw value it exposes the totals and the
41
+ * base/sibling value accessors the built-in modes are built from. */
42
+ export interface ShowValuesAsTransformParams<TData = any, TValue = any, TParams = any> extends AgGridCommon<TData, any> {
43
+ /** The cell's value (the numerator), resolved to a scalar - agg wrappers (e.g. `avg`) unwrapped. */
44
+ rawValue: TValue | null | undefined;
45
+ /** The raw aggregation value before unwrapping (e.g. `{ value, count }` for `avg`); else equal to `rawValue`. */
46
+ aggValue: any;
47
+ /** The row node the cell belongs to. */
48
+ node: IRowNode<TData>;
49
+ /** The column the cell belongs to. */
50
+ column: Column<TValue>;
51
+ /** The mode's input - the def's `params` overlaid with the selector's. */
52
+ params: TParams;
53
+ /** Column grand total. */
54
+ grandTotal(): number | null;
55
+ /** Equal to `grandTotal()` unless pivoting, where it is this pivot column's overall total. */
56
+ columnTotal(): number | null;
57
+ /** The immediate row-axis parent's value. */
58
+ parentTotal(): number | null;
59
+ /** The immediate pivot-column-axis parent's value; `null` when not pivoting. */
60
+ parentColumnTotal(): number | null;
61
+ /** Sum of value columns on this row. */
62
+ rowTotal(): number | null;
63
+ }
64
+ /** Context for a mode's {@link ShowValuesAsModeDef.applicability} callback - the current grouping / tree / pivot state. */
65
+ export interface ShowValuesAsApplicabilityParams<TData = any, TValue = any, TContext = any> extends AgGridCommon<TData, TContext> {
66
+ /** The column the mode is offered on. */
67
+ column: Column<TValue>;
68
+ /** Whether row grouping is active; `undefined` when the Row Grouping module is not registered. */
69
+ rowGroupActive: boolean | undefined;
70
+ /** Whether tree data is active; `undefined` when the Tree Data module is not registered. */
71
+ treeData: boolean | undefined;
72
+ /** Whether pivot mode is active; `undefined` when the Pivot module is not registered. */
73
+ pivotActive: boolean | undefined;
74
+ }
75
+ /** Params passed to a mode's {@link ShowValuesAsModeDef.formatter}. The column's {@link ValueFormatterParams} with
76
+ * the transformed `value` plus the pre-transform `rawValue` / `aggValue`. */
77
+ export interface ShowValuesAsFormatterParams<TData = any, TValue = any, TOut extends ShowValuesAsResult = ShowValuesAsResult> extends Omit<ValueFormatterParams<TData, TValue>, 'value'> {
78
+ /** The transformed value being formatted. */
79
+ value: TOut | null | undefined;
80
+ /** The active mode's name. */
81
+ showValuesAsType: ShowValuesAsType;
82
+ /** The pre-transform value, resolved to a scalar. */
83
+ rawValue: TValue | null | undefined;
84
+ /** The raw aggregation value before unwrapping; else equal to `rawValue`. */
85
+ aggValue: any;
86
+ /** Effective decimal places (selection's, else `showValuesAsDef.precision`). */
87
+ precision?: number;
88
+ /** The transform did not run - the mode is the active selection but either not applicable in the current view
89
+ * or awaiting input ({@link ShowValuesAsModeDef.ready}) - so `value` is the raw value. The built-in formatters
90
+ * return `#N/A`; a custom formatter can honour or ignore it. */
91
+ notApplicable: boolean;
92
+ }
93
+ /** The candidate columns a "Show Values As" mode can offer in its menu - the active row-group / pivot / value
94
+ * columns, each excluding the mode's own column - plus the {@link getColumn} / {@link dimensionItems} helpers. */
95
+ export interface ShowValuesAsColumnLists {
96
+ /** The column the menu is for. */
97
+ readonly column: Column;
98
+ /** Active row-group fields. */
99
+ readonly rowGroups: Column[];
100
+ /** Active dimension fields - the row-group fields, plus the pivot fields while pivoting. */
101
+ readonly dimensions: Column[];
102
+ /** Value (aggregated) columns other than this one - e.g. to compare one measure against another. */
103
+ readonly valueColumns: Column[];
104
+ /** Distinct items (display order) of a dimension field - its pivot keys while pivoting, else its row-group
105
+ * keys. */
106
+ dimensionItems(field: string | Column): string[];
107
+ /** Returns the column for the given id, or `null` if not found. */
108
+ getColumn(colId: string): Column | null;
109
+ }
110
+ /**
111
+ * Params for {@link ShowValuesAsModeDef.menu} - build a mode's column-menu submenu imperatively, returning
112
+ * `(MenuItemDef | string)[]` like `getMainMenuItems`. Call {@link apply} from a menu item's `action` (or from
113
+ * your own dialog) to select the mode and commit its params. {@link columnLists} provides the candidate
114
+ * columns and the `getColumn` / `dimensionItems` helpers the built-in modes use.
115
+ */
116
+ export interface ShowValuesAsMenuParams<TData = any, TValue = any, TParams = any, TContext = any> extends AgGridCommon<TData, TContext> {
117
+ /** The column the menu is for. */
118
+ readonly column: Column<TValue>;
119
+ /** This mode's current selection params, when it is the active selection (else `undefined`). */
120
+ readonly currentParams: TParams | undefined;
121
+ /** Whether this mode is the active selection. */
122
+ readonly active: boolean;
123
+ /** The candidate columns for the mode's menu, plus the `getColumn` / `dimensionItems` helpers. */
124
+ readonly columnLists: ShowValuesAsColumnLists;
125
+ /** The mode's type. */
126
+ readonly type: ShowValuesAsType;
127
+ /** Select this mode and commit its params (omit to clear them); updates the selection and re-renders. Call
128
+ * it from a menu item's `action` or after your own dialog commits. */
129
+ apply(params?: TParams): void;
130
+ }
131
+ /** A "Show Values As" mode. `TValue` is the input type, `TOut` the output. */
132
+ export interface ShowValuesAsModeDef<TData = any, TValue = any, TOut extends ShowValuesAsResult = ShowValuesAsResult, TParams = any> {
133
+ /** Maps the cell's raw value to the displayed value. Omit it for a pass-through mode that shows the raw
134
+ * value but overrides the formatter / `transformedDataType`. */
135
+ transform?: ShowValuesAsTransform<TData, TValue, TOut, TParams>;
136
+ /** Agg func name used to aggregate the column for this mode (it shows a value relative to an aggregated
137
+ * total). Selecting it on a not-yet-aggregated column promotes the column to a value column with this func;
138
+ * a column with its own agg func keeps it. Unset ⇒ the mode needs no aggregation. */
139
+ defaultAggFunc?: string;
140
+ /** Default params, overlaid by the selector's. */
141
+ params?: TParams;
142
+ /** Label for the column menu, falling back to the mode name. A callback is re-evaluated on each menu/header
143
+ * render — use it to return localised text so the label follows a runtime locale change. */
144
+ displayName?: string | (() => string);
145
+ /** Explains the calculation; shown as the menu item's and the header indicator's tooltip. A callback is
146
+ * re-evaluated on render (see {@link displayName}). */
147
+ description?: string | (() => string);
148
+ /** Formats this mode's transformed value; falls back to the transformed data type's default formatter. */
149
+ formatter?: (params: ShowValuesAsFormatterParams<TData, TValue, TOut>) => string;
150
+ /** Data type of the transformed value (default `'number'`) - selects its default formatter, regardless of
151
+ * the column's raw `cellDataType`. */
152
+ transformedDataType?: BaseCellDataType | (string & {});
153
+ /** Whether this mode applies in the current view - a constant or a per-view test. `true` (the default) means
154
+ * applicable: the transform runs and the menu shows it. Otherwise the raw value is shown; the value chooses
155
+ * how the menu presents it (`'inapplicable'` greys it but keeps it selectable, `'disabled'` greys it and
156
+ * disables it, `'hide'`/`false` omit it) - see {@link ShowValuesAsApplicability}. */
157
+ applicability?: ShowValuesAsApplicability | ((params: ShowValuesAsApplicabilityParams<TData, TValue>) => ShowValuesAsApplicability);
158
+ /** Whether the mode's input is configured enough to transform. `false` leaves `value` untransformed (raw) and
159
+ * the formatter still runs with `notApplicable` set - so the built-in formatters show `#N/A` until input is
160
+ * chosen. The mode stays selectable; its menu is how you configure it. Unlike {@link applicability}, this is
161
+ * about input, not the view. E.g. `% Of` is not ready until a base is chosen. Defaults to ready. */
162
+ ready?: (params: TParams) => boolean;
163
+ /** Builds this mode's column-menu submenu, returning `(MenuItemDef | string)[]` like `getMainMenuItems`.
164
+ * Called when the submenu is built (not on click). Return a single item to collapse to its `action` (e.g.
165
+ * open a dialog and `apply` on click), or nothing for a mode that just applies when selected. Use
166
+ * `params.apply(modeParams)` to commit a selection. See {@link ShowValuesAsMenuParams}. */
167
+ menu?: (params: ShowValuesAsMenuParams<TData, TValue, TParams>) => (MenuItemDef | string)[] | void;
168
+ }
169
+ /** Registry for user-provided "Show Values As" modes and overrides of the built-ins (`showValuesAsDef.modes`).
170
+ * A partial entry deep-merges over the built-in of the same name (a new mode without a `transform` shows the raw
171
+ * value); `true` re-enables a disabled mode; `false`/`null` disables one. A function receives the built-in def
172
+ * (or `undefined` for a new mode) and returns the override - use it to wrap a default, e.g. call the original
173
+ * `transform`. */
174
+ export type ShowValuesAsModesDef<TData = any, TValue = any> = {
175
+ [name: string]: Partial<ShowValuesAsModeDef<TData, TValue>> | boolean | null | ((base: ShowValuesAsModeDef<TData, TValue> | undefined) => Partial<ShowValuesAsModeDef<TData, TValue>>);
176
+ };
177
+ /** Per-column config (`colDef.showValuesAsDef`); deep-merges from `defaultColDef`. The active mode is the
178
+ * separate `colDef.showValuesAs` selector. */
179
+ export interface ShowValuesAsDef<TData = any, TValue = any> {
180
+ /** Default decimal places for the built-in formatters (default `2`); overridable per selection. */
181
+ precision?: number;
182
+ /** Suppress the column-header indicator shown while a mode is active. */
183
+ suppressHeaderIndicator?: boolean;
184
+ /** User-provided modes and overrides of the built-ins, deep-merged over them (grid-wide when set on
185
+ * `defaultColDef.showValuesAsDef`). */
186
+ modes?: ShowValuesAsModesDef<TData, TValue>;
187
+ }
188
+ /** One mode resolved for a column: the merged def with its formatter and transformed data type. */
189
+ export interface ShowValuesAsModeDefResolved<TData = any, TValue = any, TOut extends ShowValuesAsResult = ShowValuesAsResult> {
190
+ /** The mode name. */
191
+ type: ShowValuesAsType;
192
+ /** The mode's effective definition (built-in defaults with the column's overrides applied). */
193
+ def: ShowValuesAsModeDef<TData, TValue, TOut>;
194
+ /** Transformed-value formatter; `null` uses the cell's default rendering. */
195
+ formatter: ((params: ShowValuesAsFormatterParams<TData, TValue, TOut>) => string) | null;
196
+ /** Resolved data type of the transformed value; `'number'` by default. */
197
+ transformedDataType: BaseCellDataType | (string & {});
198
+ }
199
+ /** A column's resolved config: every available mode plus the default precision. Not parameterised by output
200
+ * type - each mode in {@link modes} carries its own. */
201
+ export interface ShowValuesAsDefResolved<TData = any, TValue = any> {
202
+ /** Every available mode, keyed by name. */
203
+ modes: {
204
+ [type: string]: ShowValuesAsModeDefResolved<TData, TValue>;
205
+ };
206
+ /** Default formatter precision (decimal places); `2` when unset. */
207
+ precision: number;
208
+ /** Suppress the column-header indicator while a mode is active. */
209
+ suppressHeaderIndicator: boolean | undefined;
210
+ }
211
+ /** The column's active "Show Values As": the resolved mode plus the selection's params and precision. */
212
+ export interface ShowValuesAsResolved<TData = any, TValue = any, TOut extends ShowValuesAsResult = ShowValuesAsResult, TParams = any> extends ShowValuesAsModeDefResolved<TData, TValue, TOut> {
213
+ /** The selection's params, passed to the transform verbatim. */
214
+ params: TParams | undefined;
215
+ /** Effective formatter precision (decimal places): the selection's, else the config default. */
216
+ precision: number;
217
+ }
218
+ /** Internal view of {@link ShowValuesAsResolved} stored on `AgColumn` - adds a transient applicability memo not
219
+ * exposed on the public `Column.getShowValuesAs()` surface.
220
+ * @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
221
+ export interface AgShowValuesAsResolved<TData = any, TValue = any, TOut extends ShowValuesAsResult = ShowValuesAsResult, TParams = any> extends ShowValuesAsResolved<TData, TValue, TOut, TParams> {
222
+ /** Grouping/pivot/tree-data signature the memoised {@link _applyingValue} was computed under; cleared
223
+ * whenever the mode is re-resolved, so a stale value never matches the current signature. */
224
+ _applyingSig: number;
225
+ /** Memoised applicability of {@link ShowValuesAsModeDef.applicability} for {@link _applyingSig}; valid only while
226
+ * the signatures match. */
227
+ _applyingValue: boolean;
228
+ }
@@ -1,4 +1,3 @@
1
- import type { SortDef, SortDirection, SortType } from '../agStack/utils/aria';
2
1
  import type { CellClickedEvent, CellContextMenuEvent, CellDoubleClickedEvent } from '../events';
3
2
  import type { ICellEditorParams } from '../interfaces/iCellEditor';
4
3
  import type { Column, ColumnGroup, ColumnGroupShowType, ProvidedColumnGroup } from '../interfaces/iColumn';
@@ -7,15 +6,16 @@ import type { IFilterDef } from '../interfaces/iFilter';
7
6
  import type { ILoadingCellRendererParams } from '../interfaces/iLoadingCellRenderer';
8
7
  import type { RowDragTextFunc } from '../interfaces/iRowDragItem';
9
8
  import type { IRowNode } from '../interfaces/iRowNode';
9
+ import type { SortDef, SortDirection, SortType } from '../interfaces/iSort';
10
10
  import type { DefaultMenuItem, MenuItemDef } from '../interfaces/menuItem';
11
11
  import type { ICellRendererParams } from '../rendering/cellRenderers/iCellRenderer';
12
12
  import type { ITooltipParams } from '../tooltip/tooltipComponent';
13
13
  import type { Icons } from '../utils/icon';
14
14
  import type { BaseColDefOptionalDataParams, BaseColDefParams, ChangedValueParams, ColumnFunctionCallbackParams } from './colDef-base';
15
15
  import type { GroupRowEditableCallback, GroupRowValueSetterFunc, GroupRowValueSetterOptions } from './colDef-groupRowValueSetter';
16
+ import type { ShowValuesAs, ShowValuesAsDef, ShowValuesAsType } from './colDef-showValuesAs';
16
17
  import type { GetContextMenuItems, GetMainMenuItems, RowClassParams } from './gridOptions';
17
18
  export type { BaseColDefParams, ColumnFunctionCallbackParams } from './colDef-base';
18
- export type { SortDirection, SortType, SortDef, DisplaySortDef } from '../agStack/utils/aria';
19
19
  /** AbstractColDef can be a group or a column definition */
20
20
  export interface AbstractColDef<TData = any, TValue = any> {
21
21
  /** The name to render in the column header. If not specified and field is specified, the field name will be used as the header name. */
@@ -24,6 +24,7 @@ export interface AbstractColDef<TData = any, TValue = any> {
24
24
  headerValueGetter?: string | HeaderValueGetterFunc<TData, TValue>;
25
25
  /**
26
26
  * Tooltip for the column header, `headerTooltipValueGetter` takes precedence if set.
27
+ * When the column is grouped with `groupDisplayType: 'multipleColumns'`, the generated group column header inherits this value.
27
28
  * @agModule `TooltipModule`
28
29
  */
29
30
  headerTooltip?: string;
@@ -60,6 +61,7 @@ export interface AbstractColDef<TData = any, TValue = any> {
60
61
  /**
61
62
  * Provide your own tooltip component for the column.
62
63
  * See [Tooltip Component](https://www.ag-grid.com/javascript-data-grid/tooltips/) for framework specific implementation details.
64
+ * When the column is grouped, group rows in the generated group column inherit this component.
63
65
  * @agModule `TooltipModule`
64
66
  */
65
67
  tooltipComponent?: any;
@@ -116,7 +118,7 @@ export interface ColGroupDef<TData = any> extends AbstractColDef<TData> {
116
118
  suppressStickyLabel?: boolean;
117
119
  /**
118
120
  * The custom header group component to be used for rendering the component header. If none specified the default AG Grid is used.
119
- * See [Header Group Component](https://www.ag-grid.com/javascript-data-grid/component-header/#header-group-components) for framework specific implementation details.
121
+ * See [Header Group Component](https://www.ag-grid.com/javascript-data-grid/column-headers/#header-group-components) for framework specific implementation details.
120
122
  */
121
123
  headerGroupComponent?: any;
122
124
  /** The params used to configure the `headerGroupComponent`. */
@@ -138,6 +140,7 @@ export type IAggFunc<TData = any, TValue = any, TContext = any> = (params: IAggF
138
140
  export type IAggFuncs<TData = any, TValue = any, TContext = any> = {
139
141
  [key: string]: IAggFunc<TData, TValue, TContext>;
140
142
  };
143
+ export type ColAggFunc<TData = any, TValue = any> = string | IAggFunc<TData, TValue> | null | undefined;
141
144
  /**
142
145
  * Wrapper returned by the built-in `avg` and `count` aggregation functions, and the recommended
143
146
  * shape for custom agg functions that expose a scalar value alongside metadata (e.g. a count, used
@@ -253,6 +256,13 @@ export interface ColDef<TData = any, TValue = any> extends AbstractColDef<TData,
253
256
  * @agModule `FormulaModule`
254
257
  */
255
258
  allowFormula?: boolean;
259
+ /**
260
+ * Expression used to calculate this column's value from other columns in the same row.
261
+ * Use bracket references to read other columns by `colId`, e.g. `[revenue] - [cost]`.
262
+ * Calculated columns are read-only.
263
+ * @agModule `CalculatedColumnsModule`
264
+ */
265
+ calculatedExpression?: string;
256
266
  /** Function or expression. Gets the value from your data for display. */
257
267
  valueGetter?: string | ValueGetterFunc<TData, TValue>;
258
268
  /** A function or expression to format a value, should return a string. */
@@ -272,12 +282,14 @@ export interface ColDef<TData = any, TValue = any> extends AbstractColDef<TData,
272
282
  equals?: EqualsFunc<TValue>;
273
283
  /**
274
284
  * The field of the tooltip to apply to the cell.
285
+ * When the column is grouped, group rows in the generated group column inherit this value.
275
286
  * @agModule `TooltipModule`
276
287
  */
277
288
  tooltipField?: ColDefField<TData>;
278
289
  /**
279
290
  * Callback that should return the string to use for a tooltip, `tooltipField` takes precedence if set.
280
291
  * If using a custom `tooltipComponent` you may return any custom value to be passed to your tooltip component.
292
+ * When the column is grouped, group rows in the generated group column inherit this callback.
281
293
  * @agModule `TooltipModule`
282
294
  */
283
295
  tooltipValueGetter?: TooltipValueGetterFunc<TData, TValue>;
@@ -376,7 +388,7 @@ export interface ColDef<TData = any, TValue = any> extends AbstractColDef<TData,
376
388
  * the built-in {@link distributeGroupValue | distributeGroupValue} is used automatically.
377
389
  *
378
390
  * Columns with `groupRowEditable` or `groupRowValueSetter` do not require `field` or
379
- * `valueSetter` the group row value setter handles the edit entirely.
391
+ * `valueSetter` - the group row value setter handles the edit entirely.
380
392
  *
381
393
  * Note: if `groupRowValueSetter` resolves to `false` or `null` (via `distribution: false`,
382
394
  * a per-aggFunc record entry, or `groupRowValueSetter: false`), the cell is treated as not
@@ -393,7 +405,7 @@ export interface ColDef<TData = any, TValue = any> extends AbstractColDef<TData,
393
405
  * - **`false`**: Explicitly disables group row value distribution and makes the cell not editable,
394
406
  * even if `groupRowEditable` is defined.
395
407
  * - **Function**: A custom callback that receives a {@link GroupRowValueSetterParams} and pushes
396
- * edits down to descendants. The column does not need `field` or `valueSetter` the callback
408
+ * edits down to descendants. The column does not need `field` or `valueSetter` - the callback
397
409
  * handles the edit entirely.
398
410
  * - **Options object**: Uses the built-in distribution logic with a {@link GroupRowValueSetterOptions}
399
411
  * configuration. When `distribution` resolves to `false` or `null` for the column's aggFunc,
@@ -488,7 +500,7 @@ export interface ColDef<TData = any, TValue = any> extends AbstractColDef<TData,
488
500
  getFindText?: GetFindTextFunc<TData, TValue>;
489
501
  /**
490
502
  * The custom header component to be used for rendering the component header. If none specified the default AG Grid header component is used.
491
- * See [Header Component](https://www.ag-grid.com/javascript-data-grid/component-header/) for framework specific implementation detail.
503
+ * See [Header Component](https://www.ag-grid.com/javascript-data-grid/column-headers/) for framework specific implementation detail.
492
504
  */
493
505
  headerComponent?: any;
494
506
  /** The parameters to be passed to the `headerComponent`. */
@@ -724,6 +736,19 @@ export interface ColDef<TData = any, TValue = any> extends AbstractColDef<TData,
724
736
  * @agModule `RowGroupingModule` / `PivotModule` / `TreeDataModule` / `ServerSideRowModelModule`
725
737
  */
726
738
  initialAggFunc?: string | IAggFunc<TData, TValue>;
739
+ /**
740
+ * The position of this column in the order of value columns when aggregating in pivot mode.
741
+ * When aggregating by a single column, any number can be used. When aggregating by multiple
742
+ * columns, this determines the order (e.g. `0` for first, `1` for second).
743
+ * @agModule `RowGroupingModule` / `PivotModule`
744
+ */
745
+ valueIndex?: number;
746
+ /**
747
+ * Same as `valueIndex`, except only applied when creating a new column. Not applied when updating column definitions.
748
+ * @initial
749
+ * @agModule `RowGroupingModule` / `PivotModule`
750
+ */
751
+ initialValueIndex?: number;
727
752
  /**
728
753
  * The name of the aggregation function to use for this column when it is enabled via the GUI.
729
754
  * Note that this does not immediately apply the aggregation function like `aggFunc`
@@ -738,6 +763,43 @@ export interface ColDef<TData = any, TValue = any> extends AbstractColDef<TData,
738
763
  * @agModule `RowGroupingModule` / `PivotModule` / `TreeDataModule` / `ServerSideRowModelModule`
739
764
  */
740
765
  allowedAggFuncs?: string[];
766
+ /**
767
+ * The active "Show Values As" mode for this column.
768
+ * <br /><br />
769
+ * Shows the column's aggregated value relative to another total, for example as a percentage of the grand total,
770
+ * column total, row total or parent total. This changes only the displayed value; the underlying value used by
771
+ * `getDataValue` and charts is unchanged.
772
+ * <br /><br />
773
+ * Use a built-in mode name, or the object form `{ type, params, precision }`. Set `null` for no active mode.
774
+ * @agModule `ShowValuesAsModule`
775
+ */
776
+ showValuesAs?: ShowValuesAsType | ShowValuesAs | null;
777
+ /**
778
+ * Same as `showValuesAs`, except only applied when creating a new column.
779
+ * @initial
780
+ * @agModule `ShowValuesAsModule`
781
+ */
782
+ initialShowValuesAs?: ShowValuesAsType | ShowValuesAs;
783
+ /**
784
+ * Per-column "Show Values As" configuration: `precision`, `suppressHeaderIndicator`, and user-provided
785
+ * `modes` (custom modes / overrides of the built-ins). Deep-merges from `defaultColDef`. The active mode is
786
+ * the `showValuesAs` selector. `null` disables the feature for the column (useful to opt a column out via
787
+ * `defaultColDef`).
788
+ * @agModule `ShowValuesAsModule`
789
+ */
790
+ showValuesAsDef?: ShowValuesAsDef<TData, TValue> | null;
791
+ /**
792
+ * Shows the "Show Values As" submenu in the column menu.
793
+ * <br /><br />
794
+ * On `defaultColDef`, `true` shows the submenu only for value columns and numeric columns. On an individual
795
+ * column, `true` always shows it; use this when the grid cannot infer that the column returns numbers, for
796
+ * example with a `valueGetter` or custom `aggFunc`. `false` hides the submenu.
797
+ * <br /><br />
798
+ * This controls menu visibility only. Modes set through `showValuesAs` or Column State still apply.
799
+ * @default false
800
+ * @agModule `ShowValuesAsModule`
801
+ */
802
+ enableShowValuesAs?: boolean;
741
803
  /**
742
804
  * Specify a grouping hierarchy for this column. This generates one or more virtual columns to group or pivot by when this column is grouped or pivoted.
743
805
  *
@@ -2,10 +2,10 @@
2
2
  * If you change the GridOptions interface, you must also update PropertyKeys to be consistent. *
3
3
  ************************************************************************************************/
4
4
  import type { AgChartTheme, AgChartThemeOverrides } from 'ag-charts-types';
5
- import type { Theme } from '../agStack/theming/theme';
5
+ import type { Theme } from 'ag-stack';
6
6
  import type { IsRowValidDropPositionCallback } from '../dragAndDrop/rowDragTypes';
7
7
  import type { AgPublicEventType } from '../eventTypes';
8
- import type { AdvancedFilterBuilderVisibleChangedEvent, AsyncTransactionsFlushedEvent, BatchEditingStartedEvent, BatchEditingStoppedEvent, BodyScrollEndEvent, BodyScrollEvent, BulkEditingStartedEvent, BulkEditingStoppedEvent, CellClickedEvent, CellContextMenuEvent, CellDoubleClickedEvent, CellEditRequestEvent, CellEditingStartedEvent, CellEditingStoppedEvent, CellFocusedEvent, CellKeyDownEvent, CellMouseDownEvent, CellMouseOutEvent, CellMouseOverEvent, CellSelectionChangedEvent, CellSelectionDeleteEndEvent, CellSelectionDeleteStartEvent, CellValueChangedEvent, ChartCreatedEvent, ChartDestroyedEvent, ChartOptionsChangedEvent, ChartRangeSelectionChangedEvent, ColumnEverythingChangedEvent, ColumnGroupOpenedEvent, ColumnHeaderClickedEvent, ColumnHeaderContextMenuEvent, ColumnHeaderMouseLeaveEvent, ColumnHeaderMouseOverEvent, ColumnMenuVisibleChangedEvent, ColumnMovedEvent, ColumnPinnedEvent, ColumnPivotChangedEvent, ColumnPivotModeChangedEvent, ColumnResizedEvent, ColumnRowGroupChangedEvent, ColumnValueChangedEvent, ColumnVisibleEvent, ColumnsResetEvent, ComponentStateChangedEvent, ContextMenuVisibleChangedEvent, CutEndEvent, CutStartEvent, DisplayedColumnsChangedEvent, DragCancelledEvent, DragStartedEvent, DragStoppedEvent, ExpandOrCollapseAllEvent, FillEndEvent, FillStartEvent, FilterChangedEvent, FilterModifiedEvent, FilterOpenedEvent, FilterUiChangedEvent, FindChangedEvent, FirstDataRenderedEvent, FloatingFilterUiChangedEvent, FullWidthCellKeyDownEvent, GridColumnsChangedEvent, GridPreDestroyedEvent, GridReadyEvent, GridSizeChangedEvent, HeaderFocusedEvent, ModelUpdatedEvent, NewColumnsLoadedEvent, PaginationChangedEvent, PasteEndEvent, PasteStartEvent, PinnedRowDataChangedEvent, PinnedRowsChangedEvent, PivotMaxColumnsExceededEvent, RangeDeleteEndEvent, RangeDeleteStartEvent, RangeSelectionChangedEvent, RedoEndedEvent, RedoStartedEvent, RowClickedEvent, RowDataUpdatedEvent, RowDoubleClickedEvent, RowDragCancelEvent, RowDragEndEvent, RowDragEnterEvent, RowDragLeaveEvent, RowDragMoveEvent, RowEditingStartedEvent, RowEditingStoppedEvent, RowGroupOpenedEvent, RowResizeEndedEvent, RowResizeStartedEvent, RowSelectedEvent, RowValueChangedEvent, SelectionChangedEvent, SortChangedEvent, StateUpdatedEvent, StoreRefreshedEvent, ToolPanelSizeChangedEvent, ToolPanelVisibleChangedEvent, TooltipHideEvent, TooltipShowEvent, UndoEndedEvent, UndoStartedEvent, ViewportChangedEvent, VirtualColumnsChangedEvent, VirtualRowRemovedEvent } from '../events';
8
+ import type { AdvancedFilterBuilderVisibleChangedEvent, AsyncTransactionsFlushedEvent, BatchEditingStartedEvent, BatchEditingStoppedEvent, BodyScrollEndEvent, BodyScrollEvent, BulkEditingStartedEvent, BulkEditingStoppedEvent, CalculatedColumnCreatedEvent, CalculatedColumnExpressionChangedEvent, CalculatedColumnRemovedEvent, CalculatedColumnValidationStateChangedEvent, CellClickedEvent, CellContextMenuEvent, CellDoubleClickedEvent, CellEditRequestEvent, CellEditingStartedEvent, CellEditingStoppedEvent, CellFocusedEvent, CellKeyDownEvent, CellMouseDownEvent, CellMouseOutEvent, CellMouseOverEvent, CellSelectionChangedEvent, CellSelectionDeleteEndEvent, CellSelectionDeleteStartEvent, CellValueChangedEvent, ChartCreatedEvent, ChartDestroyedEvent, ChartOptionsChangedEvent, ChartRangeSelectionChangedEvent, ColumnEverythingChangedEvent, ColumnGroupOpenedEvent, ColumnHeaderClickedEvent, ColumnHeaderContextMenuEvent, ColumnHeaderMouseLeaveEvent, ColumnHeaderMouseOverEvent, ColumnMenuVisibleChangedEvent, ColumnMovedEvent, ColumnPinnedEvent, ColumnPivotChangedEvent, ColumnPivotModeChangedEvent, ColumnResizedEvent, ColumnRowGroupChangedEvent, ColumnValueChangedEvent, ColumnVisibleEvent, ColumnsResetEvent, ComponentStateChangedEvent, ContextMenuVisibleChangedEvent, CutEndEvent, CutStartEvent, DisplayedColumnsChangedEvent, DragCancelledEvent, DragStartedEvent, DragStoppedEvent, ExpandOrCollapseAllEvent, FillEndEvent, FillStartEvent, FilterChangedEvent, FilterModifiedEvent, FilterOpenedEvent, FilterUiChangedEvent, FindChangedEvent, FirstDataRenderedEvent, FloatingFilterUiChangedEvent, FullWidthCellKeyDownEvent, GridColumnsChangedEvent, GridPreDestroyedEvent, GridReadyEvent, GridSizeChangedEvent, HeaderFocusedEvent, ModelUpdatedEvent, NewColumnsLoadedEvent, PaginationChangedEvent, PasteEndEvent, PasteStartEvent, PinnedRowDataChangedEvent, PinnedRowsChangedEvent, PivotMaxColumnsExceededEvent, RangeDeleteEndEvent, RangeDeleteStartEvent, RangeSelectionChangedEvent, RedoEndedEvent, RedoStartedEvent, RowClickedEvent, RowDataUpdatedEvent, RowDoubleClickedEvent, RowDragCancelEvent, RowDragEndEvent, RowDragEnterEvent, RowDragLeaveEvent, RowDragMoveEvent, RowEditingStartedEvent, RowEditingStoppedEvent, RowGroupOpenedEvent, RowResizeEndedEvent, RowResizeStartedEvent, RowSelectedEvent, RowValueChangedEvent, SelectionChangedEvent, SortChangedEvent, StateUpdatedEvent, StoreRefreshedEvent, ToolPanelSizeChangedEvent, ToolPanelVisibleChangedEvent, TooltipHideEvent, TooltipShowEvent, UndoEndedEvent, UndoStartedEvent, ViewportChangedEvent, VirtualColumnsChangedEvent, VirtualRowRemovedEvent } from '../events';
9
9
  import type { AutoSizeStrategy } from '../interfaces/autoSize';
10
10
  import type { EditStrategyType } from '../interfaces/editStrategyType';
11
11
  import type { EditValidationCommitType } from '../interfaces/editValidationCommitType';
@@ -15,11 +15,13 @@ import type { GridState } from '../interfaces/gridState';
15
15
  import type { IAdvancedFilterBuilderParams } from '../interfaces/iAdvancedFilterBuilderParams';
16
16
  import type { IAdvancedFilterParams } from '../interfaces/iAdvancedFilterParams';
17
17
  import type { AlignedGrid } from '../interfaces/iAlignedGrid';
18
+ import type { CalculatedColumnsGridOption } from '../interfaces/iCalculatedColumns';
18
19
  import type { DoesExternalFilterPass, FillOperation, FillOperationParams, FocusGridInnerElement, FullRowEditValidationParams, GetBusinessKeyForNode, GetChartMenuItemsParams, GetChartToolbarItemsParams, GetChildCount, GetContextMenuItemsParams, GetGroupAggFilteringParams, GetGroupIncludeFooterParams, GetGroupIncludeTotalRowParams, GetGroupRowAgg, GetLocaleText, GetMainMenuItemsParams, GetRowHeight, GetRowIdParams, GetServerSideGroupLevelParams, InitialGroupOrderComparator, IsApplyServerSideTransactionParams, IsExternalFilterPresent, IsFullWidthRow, IsGroupOpenByDefault, IsServerSideGroupOpenByDefault, NavigateToNextCell, NavigateToNextHeader, PaginationNumberFormatter, PostProcessPopup, PostSortRows, ProcessDataFromClipboard, ProcessRowPostCreate, ProcessUnpinnedColumns, SendToClipboard, TabToNextCell, TabToNextGridContainer, TabToNextHeader } from '../interfaces/iCallbackParams';
19
20
  import type { ChartToolPanelsDef, ChartToolbarMenuItemOptions, DefaultChartMenuItem } from '../interfaces/iChartOptions';
20
21
  import type { AgGridCommon } from '../interfaces/iCommon';
21
22
  import type { IDatasource } from '../interfaces/iDatasource';
22
23
  import type { ExcelExportParams, ExcelStyle } from '../interfaces/iExcelCreator';
24
+ import type { ProcessFileInputParams } from '../interfaces/iFileProcessor';
23
25
  import type { AlwaysPassFilter, FilterHandlers, QuickFilterMatcher, QuickFilterParser } from '../interfaces/iFilter';
24
26
  import type { FindOptions } from '../interfaces/iFind';
25
27
  import type { ILoadingCellRendererParams } from '../interfaces/iLoadingCellRenderer';
@@ -28,6 +30,7 @@ import type { RowModelType } from '../interfaces/iRowModel';
28
30
  import type { IRowNode, RowPinnedType } from '../interfaces/iRowNode';
29
31
  import type { IServerSideDatasource } from '../interfaces/iServerSideDatasource';
30
32
  import type { SideBarDef } from '../interfaces/iSideBar';
33
+ import type { SortDirection } from '../interfaces/iSort';
31
34
  import type { StatusBar } from '../interfaces/iStatusPanel';
32
35
  import type { Toolbar } from '../interfaces/iToolbar';
33
36
  import type { IViewportDatasource } from '../interfaces/iViewportDatasource';
@@ -36,7 +39,7 @@ import type { FullWidthNotesDataSource, NotesDataSource } from '../interfaces/no
36
39
  import type { RowNumbersOptions } from '../interfaces/rowNumbers';
37
40
  import type { OverlaySelectorFunc, OverlayType } from '../rendering/overlays/overlayComponent';
38
41
  import type { Icons } from '../utils/icon';
39
- import type { CheckboxSelectionCallback, ColDef, ColGroupDef, ColTypeDefs, GroupHierarchyConfig, IAggFuncs, SortDirection } from './colDef';
42
+ import type { CheckboxSelectionCallback, ColDef, ColGroupDef, ColTypeDefs, GroupHierarchyConfig, IAggFuncs } from './colDef';
40
43
  import type { DataTypeDefinitions } from './dataType';
41
44
  export interface GridOptions<TData = any> {
42
45
  /**
@@ -229,6 +232,11 @@ export interface GridOptions<TData = any> {
229
232
  * or can be custom data types.
230
233
  */
231
234
  dataTypeDefinitions?: DataTypeDefinitions<TData>;
235
+ /**
236
+ * Enables and configures Calculated Columns.
237
+ * @agModule `CalculatedColumnsModule`
238
+ */
239
+ calculatedColumns?: CalculatedColumnsGridOption;
232
240
  /**
233
241
  * Keeps the order of Columns maintained after new Column Definitions are updated.
234
242
  *
@@ -815,7 +823,7 @@ export interface GridOptions<TData = any> {
815
823
  */
816
824
  suppressNoRowsOverlay?: boolean;
817
825
  /**
818
- * List of provided overlay names to suppress. One of `loading`, `noRows`, `noMatchingRows`, `exporting`.
826
+ * List of provided overlay names to suppress. One of `loading`, `noRows`, `noMatchingRows`, `exporting`, `fileInput`.
819
827
  */
820
828
  suppressOverlays?: OverlayType[];
821
829
  /**
@@ -846,6 +854,13 @@ export interface GridOptions<TData = any> {
846
854
  * Custom parameters to be supplied to the `activeOverlay` component in addition to `IOverlayParams`. Updating the params will trigger a refresh of the active overlay.
847
855
  */
848
856
  activeOverlayParams?: any;
857
+ /**
858
+ * Callback to handle files received via the file input overlay (drag-and-drop or file browser).
859
+ * When provided, the file input overlay is shown when there is no row data.
860
+ * Call `params.success(rowData)` to load parsed data into the grid, or `params.fail(message)` to show an error.
861
+ * @agModule `FileInputOverlayModule`
862
+ */
863
+ processFileInput?: (params: ProcessFileInputParams<TData>) => void;
849
864
  /**
850
865
  * Set whether pagination is enabled.
851
866
  * @default false
@@ -890,10 +905,11 @@ export interface GridOptions<TData = any> {
890
905
  suppressPaginationPanel?: boolean;
891
906
  /**
892
907
  * Controls which built-in components appear in the pagination panel and in what order.
893
- * Accepts an array of names: `'pageSize'`, `'rowSummary'`, `'pageSummary'`.
908
+ * Accepts an array of panel names (`'pageSize'`, `'rowSummary'`, `'pageSummary'`) or config objects.
894
909
  * Components render in the order they appear in the array. Omitted components are hidden.
895
910
  * An empty array hides the pagination panel entirely.
896
911
  * When not set, all three components render in the default order: [`pageSize`, `rowSummary`, `pageSummary`].
912
+ * Use `{ type: 'pageSummary', suppressPageInput: true }` to render a read-only page summary.
897
913
  * @agModule `PaginationModule`
898
914
  */
899
915
  paginationPanels?: PaginationPanel[];
@@ -1195,6 +1211,7 @@ export interface GridOptions<TData = any> {
1195
1211
  groupDefaultExpanded?: number;
1196
1212
  /**
1197
1213
  * Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included.
1214
+ * Cell tooltip properties set here (`tooltipField`, `tooltipValueGetter`, `tooltipComponent`) apply to leaf rows only; group rows inherit cell tooltips from their underlying column `colDef`. `headerTooltip` continues to apply to the group column header.
1198
1215
  * @agModule `RowGroupingModule` / `TreeDataModule`
1199
1216
  */
1200
1217
  autoGroupColumnDef?: AutoGroupColumnDef<TData>;
@@ -1754,8 +1771,8 @@ export interface GridOptions<TData = any> {
1754
1771
  */
1755
1772
  suppressRowTransform?: boolean;
1756
1773
  /**
1757
- * Set to `true` to suppress `content-visibility: auto` on the grid wrapper element. This degrades performance by causing the browser to render grids even when they are off screen, but may be necessary if your application depends on receiving resize events from hidden grids.
1758
- * @default false
1774
+ * Set to `false` to enable `content-visibility: auto` on the grid wrapper element. This improves performance by allowing the browser to skip rendering grids that are off screen, but may cause issues if your application depends on receiving resize events from hidden grids.
1775
+ * @default true
1759
1776
  * @initial
1760
1777
  */
1761
1778
  suppressContentVisibilityAuto?: boolean;
@@ -2069,6 +2086,20 @@ export interface GridOptions<TData = any> {
2069
2086
  * @agModule `ClientSideRowModelModule`
2070
2087
  */
2071
2088
  resetRowDataOnUpdate?: boolean;
2089
+ /**
2090
+ * When enabled, column definitions are generated automatically from the first row of `rowData` whenever row data is set or updated.
2091
+ * Set to `true` to use default settings, or provide an `AutoGenerateColumnDefsOptions` object to customise how values are handled.
2092
+ * @default false
2093
+ * @agModule `AutoGenerateColumnsModule`
2094
+ */
2095
+ autoGenerateColumnDefs?: boolean | AutoGenerateColumnDefsOptions;
2096
+ /**
2097
+ * Callback fired after auto-generating column definitions and before they are applied to the grid.
2098
+ * Return the final `(ColDef | ColGroupDef)[]` to use or void if only mutations of generated columnDefs are required.
2099
+ *
2100
+ * @agModule `AutoGenerateColumnsModule`
2101
+ */
2102
+ processAutoGeneratedColumnDefs?: ProcessAutoGeneratedColumnDefs<TData>;
2072
2103
  /**
2073
2104
  * Callback fired after the row is rendered into the DOM. Should not be used to initiate side effects.
2074
2105
  */
@@ -2144,6 +2175,22 @@ export interface GridOptions<TData = any> {
2144
2175
  * Paste operation has ended.
2145
2176
  */
2146
2177
  onPasteEnd?(event: PasteEndEvent<TData>): void;
2178
+ /**
2179
+ * A calculated column has been created.
2180
+ */
2181
+ onCalculatedColumnCreated?(event: CalculatedColumnCreatedEvent<TData>): void;
2182
+ /**
2183
+ * A calculated column expression has changed.
2184
+ */
2185
+ onCalculatedColumnExpressionChanged?(event: CalculatedColumnExpressionChangedEvent<TData>): void;
2186
+ /**
2187
+ * A calculated column has been removed.
2188
+ */
2189
+ onCalculatedColumnRemoved?(event: CalculatedColumnRemovedEvent<TData>): void;
2190
+ /**
2191
+ * A calculated column expression has changed between valid and invalid.
2192
+ */
2193
+ onCalculatedColumnValidationStateChanged?(event: CalculatedColumnValidationStateChangedEvent<TData>): void;
2147
2194
  /**
2148
2195
  * A column, or group of columns, was hidden / shown.
2149
2196
  */
@@ -2830,7 +2877,45 @@ export type MasterSelectionMode = NonNullable<CommonRowSelectionOptions['masterS
2830
2877
  export type AgPublicEventHandlerType = `on${Capitalize<AgPublicEventType>}` & keyof GridOptions;
2831
2878
  export type ProcessPivotResultColDef<TData = any, TValue = any> = (colDef: ColDef<TData, TValue>) => void;
2832
2879
  export type ProcessPivotResultColGroupDef<TData = any> = (colDef: ColGroupDef<TData>) => void;
2833
- export type PaginationPanel = 'pageSize' | 'rowSummary' | 'pageSummary';
2880
+ export interface AutoGenerateColumnDefsOptions {
2881
+ /** How to handle plain-object values. `'group'` recurses into the object and creates a column group, `'flatten'` recurses and creates flat leaf columns using dotted field paths, `'skip'` ignores the field entirely.
2882
+ * @default 'group'
2883
+ */
2884
+ objectValues?: 'group' | 'flatten' | 'skip';
2885
+ /** How to handle array values. `'primitives'` creates a leaf column only when the first element is a primitive value, `'include'` creates a leaf column for all arrays, `'skip'` ignores them.
2886
+ * @default 'primitives'
2887
+ */
2888
+ arrayValues?: 'primitives' | 'include' | 'skip';
2889
+ /** How to handle `null` and `undefined` values. `'include'` creates a leaf column, `'skip'` ignores them.
2890
+ * @default 'include'
2891
+ */
2892
+ nullishValues?: 'include' | 'skip';
2893
+ }
2894
+ export interface ProcessAutoGeneratedColumnDefsParams<TData = any, TContext = any> extends AgGridCommon<TData, TContext> {
2895
+ /**
2896
+ * The generated column definitions.
2897
+ * May include `ColGroupDef` entries when row data contains nested objects. Use the `forEachColDef` helper function to iterate safely over all leaf columns only. */
2898
+ columnDefs: (ColDef | ColGroupDef)[];
2899
+ /** Row data that the columns were generated from */
2900
+ rowData: TData[];
2901
+ }
2902
+ export type ProcessAutoGeneratedColumnDefs<TData = any, TContext = any> = (params: ProcessAutoGeneratedColumnDefsParams<TData, TContext>) => (ColDef | ColGroupDef)[] | void;
2903
+ export interface PageSummaryPanelParams {
2904
+ type: 'pageSummary';
2905
+ suppressPageInput?: boolean;
2906
+ }
2907
+ export interface PageSizePanelParams {
2908
+ type: 'pageSize';
2909
+ /** Panel-level page size. Takes precedence over the grid-level `paginationPageSize` option. */
2910
+ paginationPageSize?: number;
2911
+ /** Panel-level page size selector. Takes precedence over the grid-level `paginationPageSizeSelector` option. */
2912
+ paginationPageSizeSelector?: number[] | boolean;
2913
+ }
2914
+ export interface RowSummaryPanelParams {
2915
+ type: 'rowSummary';
2916
+ }
2917
+ export type PaginationPanelParams = PageSummaryPanelParams | PageSizePanelParams | RowSummaryPanelParams;
2918
+ export type PaginationPanel = 'pageSize' | 'rowSummary' | 'pageSummary' | PaginationPanelParams;
2834
2919
  export type PivotColumnGroupTotals = 'before' | 'after';
2835
2920
  export type PivotRowTotals = 'before' | 'after';
2836
2921
  export {};