@procore/data-table 13.1.1 → 13.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 13.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 04d6c4f48c: Allow autoGroupColumnDefinition to be added to nested tables and fix nested table column header icons to display correctly
8
+
3
9
  ## 13.1.1
4
10
 
5
11
  ### Patch Changes
@@ -669,6 +669,7 @@ interface GetDetailRowDataParams<TRow = any> extends Omit<AgGetDetailRowDataPara
669
669
  }
670
670
  type GetRowHeightWithFooters = (customFooters: CustomFooterConfig[] | undefined) => (params: Partial<RowHeightParams>) => number;
671
671
  interface DetailRowConfig<TRow = any> {
672
+ autoGroupColumnDefinition?: ColumnDefinition;
672
673
  columnDefinitions: ColumnDefinition[];
673
674
  getDetailRowData: (params: GetDetailRowDataParams<TRow>) => void;
674
675
  height?: 'auto' | number;
@@ -669,6 +669,7 @@ interface GetDetailRowDataParams<TRow = any> extends Omit<AgGetDetailRowDataPara
669
669
  }
670
670
  type GetRowHeightWithFooters = (customFooters: CustomFooterConfig[] | undefined) => (params: Partial<RowHeightParams>) => number;
671
671
  interface DetailRowConfig<TRow = any> {
672
+ autoGroupColumnDefinition?: ColumnDefinition;
672
673
  columnDefinitions: ColumnDefinition[];
673
674
  getDetailRowData: (params: GetDetailRowDataParams<TRow>) => void;
674
675
  height?: 'auto' | number;
@@ -54589,6 +54589,15 @@ function getCheckboxColumn(columnApi) {
54589
54589
 
54590
54590
  // src/utils/transformers.ts
54591
54591
  var emptyObject = {};
54592
+ var DEFAULT_AUTO_GROUP_COLUMN_DEFINITION = {
54593
+ headerName: "",
54594
+ cellRendererSelector(params) {
54595
+ return {
54596
+ component: (params == null ? void 0 : params.node.rowPinned) ? GrandTotalsLabelRenderer : void 0
54597
+ };
54598
+ },
54599
+ lockPosition: true
54600
+ };
54592
54601
  function isColGroupDef(colDef) {
54593
54602
  var _a;
54594
54603
  return ((_a = colDef.children) == null ? void 0 : _a.length) > 0;
@@ -55041,6 +55050,44 @@ function getFilterParams(columnDefinition) {
55041
55050
  }
55042
55051
  return filterProps;
55043
55052
  }
55053
+ function addAutoGroupParams(columnDefinition, isRowSelectable, siblingGroupsRowSelectionDisabled) {
55054
+ return {
55055
+ ...columnDefinition,
55056
+ cellRendererSelector: (params) => {
55057
+ var _a;
55058
+ const cellRendererSelector = (_a = columnDefinition.cellRendererSelector) == null ? void 0 : _a.call(columnDefinition, params);
55059
+ return {
55060
+ component: (cellRendererSelector == null ? void 0 : cellRendererSelector.component) ?? AutoGroupCellRenderer,
55061
+ params: {
55062
+ ...columnDefinition.cellRendererParams,
55063
+ ...cellRendererSelector == null ? void 0 : cellRendererSelector.params,
55064
+ checkbox(_params) {
55065
+ if (_params.node) {
55066
+ return isRowSelectable({
55067
+ ..._params.node,
55068
+ data: _params.node.data ?? _params.node.aggData
55069
+ });
55070
+ }
55071
+ return false;
55072
+ },
55073
+ siblingGroupsRowSelectionDisabled
55074
+ }
55075
+ };
55076
+ }
55077
+ };
55078
+ }
55079
+ function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight, isRowSelectable, siblingGroupsRowSelectionDisabled) {
55080
+ const colDef = columnDefinition ? transformToColDef(
55081
+ columnDefinition,
55082
+ enableGroupEditAndValidation,
55083
+ enableDynamicRowHeight
55084
+ ) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55085
+ return addAutoGroupParams(
55086
+ colDef,
55087
+ isRowSelectable,
55088
+ siblingGroupsRowSelectionDisabled
55089
+ );
55090
+ }
55044
55091
 
55045
55092
  // src/CellRenderers/AutoGroupCell.scss
55046
55093
  var css5 = `._autoGroupCell_15e3f_1 {
@@ -56218,7 +56265,7 @@ var GenericHeaderRenderer = (props) => {
56218
56265
  const colDef = props.column.getColDef();
56219
56266
  const HeaderNode = (_a = colDef.headerComponentParams) == null ? void 0 : _a.headerNode;
56220
56267
  const I18n = coreReact.useI18nContext();
56221
- const { columnApi, tableRef, gridApi, onServerSideDataRequest } = useInternalTableContext();
56268
+ const { columnApi, tableRef, onServerSideDataRequest } = useInternalTableContext();
56222
56269
  const onSSDR = Boolean(onServerSideDataRequest);
56223
56270
  const [sortOrder, setSortOrder] = React82__default.default.useState(props.column.getSort());
56224
56271
  const [isFirstColumn2, setIsFirstColumn] = React82__default.default.useState(false);
@@ -56226,7 +56273,7 @@ var GenericHeaderRenderer = (props) => {
56226
56273
  const headerCellRef = React82.useRef(null);
56227
56274
  const headerCheckboxSelection = colDef.headerCheckboxSelection;
56228
56275
  const headerCheckboxSelectionEnabled = typeof headerCheckboxSelection === "function" ? headerCheckboxSelection({
56229
- api: gridApi,
56276
+ api: props.api,
56230
56277
  colDef,
56231
56278
  column: props.column,
56232
56279
  columnApi,
@@ -56322,14 +56369,16 @@ var GenericHeaderRenderer = (props) => {
56322
56369
  });
56323
56370
  const [expansionVariant, setExpansionVariant] = React82__default.default.useState("closed");
56324
56371
  React82__default.default.useEffect(() => {
56372
+ var _a2;
56325
56373
  const onExpandAllChange = (event) => {
56326
56374
  setExpansionVariant(event.source === "expandAll" ? "all" : "closed");
56327
56375
  };
56328
- gridApi == null ? void 0 : gridApi.addEventListener("expandOrCollapseAll", onExpandAllChange);
56376
+ (_a2 = props.api) == null ? void 0 : _a2.addEventListener("expandOrCollapseAll", onExpandAllChange);
56329
56377
  return () => {
56330
- gridApi == null ? void 0 : gridApi.removeEventListener("expandOrCollapseAll", onExpandAllChange);
56378
+ var _a3;
56379
+ (_a3 = props.api) == null ? void 0 : _a3.removeEventListener("expandOrCollapseAll", onExpandAllChange);
56331
56380
  };
56332
- }, [gridApi]);
56381
+ }, [props.api]);
56333
56382
  React82__default.default.useEffect(() => {
56334
56383
  const hasTierOneCollapsedNodes = !!findNode(
56335
56384
  (node) => node.level === 0 && !node.expanded,
@@ -56439,7 +56488,7 @@ var GenericHeaderRenderer = (props) => {
56439
56488
  return;
56440
56489
  }
56441
56490
  function updateSelectAllCheckbox() {
56442
- const currentRows = getCurrentRows(gridApi);
56491
+ const currentRows = getCurrentRows(props.api);
56443
56492
  const isAllSelected = currentRows.length && currentRows.every(isRowSelected);
56444
56493
  const isPartialSelected = !isAllSelected && currentRows.some(isRowSelected);
56445
56494
  if (isAllSelected) {
@@ -73511,6 +73560,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73511
73560
  }
73512
73561
  };
73513
73562
  const rowHeightConfig = detailRowConfig.height === "auto" || detailRowConfig.height === void 0 ? { detailRowAutoHeight: true } : { detailRowHeight: detailRowConfig.height };
73563
+ const isRowSelectable = () => deprecatedDetailRowSelectionEnabled ?? false;
73514
73564
  return {
73515
73565
  isRowMaster: detailRowConfig.isExpandable,
73516
73566
  masterDetail: true,
@@ -73519,6 +73569,13 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73519
73569
  return {
73520
73570
  detailGridOptions: {
73521
73571
  alwaysAggregateAtRootLevel: !isServerSideRowModel,
73572
+ autoGroupColumnDef: getDecoratedAutoGroupColDef(
73573
+ detailRowConfig.autoGroupColumnDefinition,
73574
+ enableGroupEditAndValidation,
73575
+ enableDynamicRowHeight,
73576
+ isRowSelectable,
73577
+ false
73578
+ ),
73522
73579
  context: {
73523
73580
  parentId: masterGridParams.node.id.replace("detail_", ""),
73524
73581
  parentData: masterGridParams.node.data
@@ -73532,6 +73589,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73532
73589
  )
73533
73590
  )
73534
73591
  ),
73592
+ isRowSelectable,
73535
73593
  onGridReady: onGridReadyOrValueChange,
73536
73594
  onCellValueChanged: onGridReadyOrValueChange,
73537
73595
  onRowDataChanged: onGridReadyOrValueChange,
@@ -73554,7 +73612,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73554
73612
  rowMultiSelectWithClick: detailRowConfig.rowMultiSelectWithClick,
73555
73613
  suppressRowClickSelection: detailRowConfig.suppressRowClickSelection ?? true,
73556
73614
  ensureDomOrder: true,
73557
- frameworkComponents,
73615
+ components: frameworkComponents,
73558
73616
  icons: tableIcons,
73559
73617
  loadingOverlayComponent: "loadingOverlayRenderer",
73560
73618
  loadingOverlayComponentParams: {
@@ -73566,6 +73624,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73566
73624
  },
73567
73625
  rowDragManaged: true,
73568
73626
  singleClickEdit: true,
73627
+ suppressAggFuncInHeader: true,
73569
73628
  suppressContextMenu: true,
73570
73629
  suppressColumnVirtualisation: true,
73571
73630
  getRowHeight: getRowHeight == null ? void 0 : getRowHeight(detailRowConfig.customFooters)
@@ -76982,61 +77041,16 @@ var Table = (props) => {
76982
77041
  },
76983
77042
  [props]
76984
77043
  );
76985
- const addAutoGroupParams = React82__default.default.useCallback(
76986
- function addAutoGroupParams2(columnDefinition) {
76987
- return {
76988
- ...columnDefinition,
76989
- cellRendererSelector: (params) => {
76990
- var _a2;
76991
- const cellRendererSelector = (_a2 = columnDefinition.cellRendererSelector) == null ? void 0 : _a2.call(columnDefinition, params);
76992
- let component = (cellRendererSelector == null ? void 0 : cellRendererSelector.component) ?? "autoGroupCellRenderer";
76993
- return {
76994
- component,
76995
- params: {
76996
- ...columnDefinition.cellRendererParams,
76997
- ...cellRendererSelector == null ? void 0 : cellRendererSelector.params,
76998
- checkbox(_params) {
76999
- if (_params.node) {
77000
- return isRowSelectable({
77001
- ..._params.node,
77002
- data: _params.node.data ?? _params.node.aggData
77003
- });
77004
- }
77005
- return false;
77006
- },
77007
- siblingGroupsRowSelectionDisabled: props.siblingGroupsRowSelectionDisabled
77008
- }
77009
- };
77010
- }
77011
- };
77012
- },
77013
- [isRowSelectable]
77044
+ const decoratedAutoGroupColDef = React82__default.default.useMemo(
77045
+ () => getDecoratedAutoGroupColDef(
77046
+ props == null ? void 0 : props.autoGroupColumnDefinition,
77047
+ internalTableContext.enableGroupEditAndValidation,
77048
+ internalTableContext.enableDynamicRowHeight,
77049
+ isRowSelectable,
77050
+ props.siblingGroupsRowSelectionDisabled
77051
+ ),
77052
+ [props == null ? void 0 : props.autoGroupColumnDefinition]
77014
77053
  );
77015
- const decoratedAutoGroupColDef = React82__default.default.useMemo(() => {
77016
- if (props == null ? void 0 : props.autoGroupColumnDefinition) {
77017
- return addAutoGroupParams(
77018
- transformToColDef(
77019
- props == null ? void 0 : props.autoGroupColumnDefinition,
77020
- internalTableContext.enableGroupEditAndValidation,
77021
- internalTableContext.enableDynamicRowHeight
77022
- )
77023
- );
77024
- }
77025
- return addAutoGroupParams({
77026
- headerName: "",
77027
- cellRendererSelector: (params) => {
77028
- if (params == null ? void 0 : params.node.rowPinned) {
77029
- return {
77030
- component: GrandTotalsLabelRenderer
77031
- };
77032
- }
77033
- return {
77034
- component: void 0
77035
- };
77036
- },
77037
- lockPosition: true
77038
- });
77039
- }, [props == null ? void 0 : props.autoGroupColumnDefinition, addAutoGroupParams]);
77040
77054
  const onColumnGroupOpened = React82__default.default.useCallback(
77041
77055
  (event) => {
77042
77056
  var _a2, _b2, _c;
@@ -2,7 +2,7 @@ import React82, { useState, forwardRef, useContext, useRef, useImperativeHandle,
2
2
  import { startsWith, equals, omit, isNil, mergeDeepLeft, intersection, isEmpty, groupBy } from 'ramda';
3
3
  import { useI18nContext, Select, Input, UNSAFE_useOverlayTriggerContext, Card, Flex, Box, SegmentedController, Calendar, useDateTime, OverlayTrigger, isEventSource, DateInput, UNSAFE_isValidYearRange, DateSelect, PillSelect, TextArea, UNSAFE_useMenuImperativeControlNavigation, UNSAFE_Menu, UNSAFE_menuItemsWrapperAttribute, Spinner, FlexList, Typography, Tooltip, Button, Required, colors, Form, spacing, Switch, Panel, UNSAFE_StyledFilterTokenLabel, typographyWeights, SelectButton, StyledSelectButton, StyledSelectButtonLabel, StyledButton, StyledSelectArrow, Popover, UNSAFE_StyledSuperSelectTrigger, UNSAFE_StyledSuperSelectLabel, UNSAFE_StyledSuperSelectArrow, DateTimeProvider, useField, Label, UNSAFE_mergeRefs, ContactItem as ContactItem$1, ToggleButton, Pagination, Link, AvatarStack, Pill, Typeahead, UNSAFE_FilterToken, useI18n, I18nContext, UNSAFE_SuperSelect, Avatar, MultiSelect, H3, Checkbox, useVisibility, UNSAFE_useSuperSelectContext, DropdownFlyout, StyledDropdownFlyoutLabel, StyledDropdownFlyoutExpandIcon, EmptyState as EmptyState$1 } from '@procore/core-react';
4
4
  import classnames from 'classnames/bind';
5
- import { Error as Error$1, Grip, Pencil, Building, Calendar as Calendar$1, CaretsInVertical, CaretsOutVertical, CaretsOutVerticalWithLine, CaretsIn, CaretsOut, ArrowDown, ArrowUp, CaretDown, CaretRight } from '@procore/core-icons';
5
+ import { Error as Error$1, Grip, Pencil, Building, Calendar as Calendar$1, CaretsInVertical, CaretsOutVertical, CaretsOutVerticalWithLine, CaretsIn, CaretsOut, CaretDown, CaretRight, ArrowDown, ArrowUp } from '@procore/core-icons';
6
6
  import classNames from 'classnames';
7
7
  import { isDate, parseISO, isSameDay, formatISO, isBefore } from 'date-fns';
8
8
  import { formatNumber, formatCurrency, formatPercentage } from '@procore/labs-financials-utils';
@@ -54574,6 +54574,15 @@ function getCheckboxColumn(columnApi) {
54574
54574
 
54575
54575
  // src/utils/transformers.ts
54576
54576
  var emptyObject = {};
54577
+ var DEFAULT_AUTO_GROUP_COLUMN_DEFINITION = {
54578
+ headerName: "",
54579
+ cellRendererSelector(params) {
54580
+ return {
54581
+ component: (params == null ? void 0 : params.node.rowPinned) ? GrandTotalsLabelRenderer : void 0
54582
+ };
54583
+ },
54584
+ lockPosition: true
54585
+ };
54577
54586
  function isColGroupDef(colDef) {
54578
54587
  var _a;
54579
54588
  return ((_a = colDef.children) == null ? void 0 : _a.length) > 0;
@@ -55026,6 +55035,44 @@ function getFilterParams(columnDefinition) {
55026
55035
  }
55027
55036
  return filterProps;
55028
55037
  }
55038
+ function addAutoGroupParams(columnDefinition, isRowSelectable, siblingGroupsRowSelectionDisabled) {
55039
+ return {
55040
+ ...columnDefinition,
55041
+ cellRendererSelector: (params) => {
55042
+ var _a;
55043
+ const cellRendererSelector = (_a = columnDefinition.cellRendererSelector) == null ? void 0 : _a.call(columnDefinition, params);
55044
+ return {
55045
+ component: (cellRendererSelector == null ? void 0 : cellRendererSelector.component) ?? AutoGroupCellRenderer,
55046
+ params: {
55047
+ ...columnDefinition.cellRendererParams,
55048
+ ...cellRendererSelector == null ? void 0 : cellRendererSelector.params,
55049
+ checkbox(_params) {
55050
+ if (_params.node) {
55051
+ return isRowSelectable({
55052
+ ..._params.node,
55053
+ data: _params.node.data ?? _params.node.aggData
55054
+ });
55055
+ }
55056
+ return false;
55057
+ },
55058
+ siblingGroupsRowSelectionDisabled
55059
+ }
55060
+ };
55061
+ }
55062
+ };
55063
+ }
55064
+ function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight, isRowSelectable, siblingGroupsRowSelectionDisabled) {
55065
+ const colDef = columnDefinition ? transformToColDef(
55066
+ columnDefinition,
55067
+ enableGroupEditAndValidation,
55068
+ enableDynamicRowHeight
55069
+ ) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55070
+ return addAutoGroupParams(
55071
+ colDef,
55072
+ isRowSelectable,
55073
+ siblingGroupsRowSelectionDisabled
55074
+ );
55075
+ }
55029
55076
 
55030
55077
  // src/CellRenderers/AutoGroupCell.scss
55031
55078
  var css5 = `._autoGroupCell_15e3f_1 {
@@ -56203,7 +56250,7 @@ var GenericHeaderRenderer = (props) => {
56203
56250
  const colDef = props.column.getColDef();
56204
56251
  const HeaderNode = (_a = colDef.headerComponentParams) == null ? void 0 : _a.headerNode;
56205
56252
  const I18n = useI18nContext();
56206
- const { columnApi, tableRef, gridApi, onServerSideDataRequest } = useInternalTableContext();
56253
+ const { columnApi, tableRef, onServerSideDataRequest } = useInternalTableContext();
56207
56254
  const onSSDR = Boolean(onServerSideDataRequest);
56208
56255
  const [sortOrder, setSortOrder] = React82.useState(props.column.getSort());
56209
56256
  const [isFirstColumn2, setIsFirstColumn] = React82.useState(false);
@@ -56211,7 +56258,7 @@ var GenericHeaderRenderer = (props) => {
56211
56258
  const headerCellRef = useRef(null);
56212
56259
  const headerCheckboxSelection = colDef.headerCheckboxSelection;
56213
56260
  const headerCheckboxSelectionEnabled = typeof headerCheckboxSelection === "function" ? headerCheckboxSelection({
56214
- api: gridApi,
56261
+ api: props.api,
56215
56262
  colDef,
56216
56263
  column: props.column,
56217
56264
  columnApi,
@@ -56307,14 +56354,16 @@ var GenericHeaderRenderer = (props) => {
56307
56354
  });
56308
56355
  const [expansionVariant, setExpansionVariant] = React82.useState("closed");
56309
56356
  React82.useEffect(() => {
56357
+ var _a2;
56310
56358
  const onExpandAllChange = (event) => {
56311
56359
  setExpansionVariant(event.source === "expandAll" ? "all" : "closed");
56312
56360
  };
56313
- gridApi == null ? void 0 : gridApi.addEventListener("expandOrCollapseAll", onExpandAllChange);
56361
+ (_a2 = props.api) == null ? void 0 : _a2.addEventListener("expandOrCollapseAll", onExpandAllChange);
56314
56362
  return () => {
56315
- gridApi == null ? void 0 : gridApi.removeEventListener("expandOrCollapseAll", onExpandAllChange);
56363
+ var _a3;
56364
+ (_a3 = props.api) == null ? void 0 : _a3.removeEventListener("expandOrCollapseAll", onExpandAllChange);
56316
56365
  };
56317
- }, [gridApi]);
56366
+ }, [props.api]);
56318
56367
  React82.useEffect(() => {
56319
56368
  const hasTierOneCollapsedNodes = !!findNode(
56320
56369
  (node) => node.level === 0 && !node.expanded,
@@ -56424,7 +56473,7 @@ var GenericHeaderRenderer = (props) => {
56424
56473
  return;
56425
56474
  }
56426
56475
  function updateSelectAllCheckbox() {
56427
- const currentRows = getCurrentRows(gridApi);
56476
+ const currentRows = getCurrentRows(props.api);
56428
56477
  const isAllSelected = currentRows.length && currentRows.every(isRowSelected);
56429
56478
  const isPartialSelected = !isAllSelected && currentRows.some(isRowSelected);
56430
56479
  if (isAllSelected) {
@@ -73496,6 +73545,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73496
73545
  }
73497
73546
  };
73498
73547
  const rowHeightConfig = detailRowConfig.height === "auto" || detailRowConfig.height === void 0 ? { detailRowAutoHeight: true } : { detailRowHeight: detailRowConfig.height };
73548
+ const isRowSelectable = () => deprecatedDetailRowSelectionEnabled ?? false;
73499
73549
  return {
73500
73550
  isRowMaster: detailRowConfig.isExpandable,
73501
73551
  masterDetail: true,
@@ -73504,6 +73554,13 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73504
73554
  return {
73505
73555
  detailGridOptions: {
73506
73556
  alwaysAggregateAtRootLevel: !isServerSideRowModel,
73557
+ autoGroupColumnDef: getDecoratedAutoGroupColDef(
73558
+ detailRowConfig.autoGroupColumnDefinition,
73559
+ enableGroupEditAndValidation,
73560
+ enableDynamicRowHeight,
73561
+ isRowSelectable,
73562
+ false
73563
+ ),
73507
73564
  context: {
73508
73565
  parentId: masterGridParams.node.id.replace("detail_", ""),
73509
73566
  parentData: masterGridParams.node.data
@@ -73517,6 +73574,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73517
73574
  )
73518
73575
  )
73519
73576
  ),
73577
+ isRowSelectable,
73520
73578
  onGridReady: onGridReadyOrValueChange,
73521
73579
  onCellValueChanged: onGridReadyOrValueChange,
73522
73580
  onRowDataChanged: onGridReadyOrValueChange,
@@ -73539,7 +73597,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73539
73597
  rowMultiSelectWithClick: detailRowConfig.rowMultiSelectWithClick,
73540
73598
  suppressRowClickSelection: detailRowConfig.suppressRowClickSelection ?? true,
73541
73599
  ensureDomOrder: true,
73542
- frameworkComponents,
73600
+ components: frameworkComponents,
73543
73601
  icons: tableIcons,
73544
73602
  loadingOverlayComponent: "loadingOverlayRenderer",
73545
73603
  loadingOverlayComponentParams: {
@@ -73551,6 +73609,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73551
73609
  },
73552
73610
  rowDragManaged: true,
73553
73611
  singleClickEdit: true,
73612
+ suppressAggFuncInHeader: true,
73554
73613
  suppressContextMenu: true,
73555
73614
  suppressColumnVirtualisation: true,
73556
73615
  getRowHeight: getRowHeight == null ? void 0 : getRowHeight(detailRowConfig.customFooters)
@@ -76967,61 +77026,16 @@ var Table = (props) => {
76967
77026
  },
76968
77027
  [props]
76969
77028
  );
76970
- const addAutoGroupParams = React82.useCallback(
76971
- function addAutoGroupParams2(columnDefinition) {
76972
- return {
76973
- ...columnDefinition,
76974
- cellRendererSelector: (params) => {
76975
- var _a2;
76976
- const cellRendererSelector = (_a2 = columnDefinition.cellRendererSelector) == null ? void 0 : _a2.call(columnDefinition, params);
76977
- let component = (cellRendererSelector == null ? void 0 : cellRendererSelector.component) ?? "autoGroupCellRenderer";
76978
- return {
76979
- component,
76980
- params: {
76981
- ...columnDefinition.cellRendererParams,
76982
- ...cellRendererSelector == null ? void 0 : cellRendererSelector.params,
76983
- checkbox(_params) {
76984
- if (_params.node) {
76985
- return isRowSelectable({
76986
- ..._params.node,
76987
- data: _params.node.data ?? _params.node.aggData
76988
- });
76989
- }
76990
- return false;
76991
- },
76992
- siblingGroupsRowSelectionDisabled: props.siblingGroupsRowSelectionDisabled
76993
- }
76994
- };
76995
- }
76996
- };
76997
- },
76998
- [isRowSelectable]
77029
+ const decoratedAutoGroupColDef = React82.useMemo(
77030
+ () => getDecoratedAutoGroupColDef(
77031
+ props == null ? void 0 : props.autoGroupColumnDefinition,
77032
+ internalTableContext.enableGroupEditAndValidation,
77033
+ internalTableContext.enableDynamicRowHeight,
77034
+ isRowSelectable,
77035
+ props.siblingGroupsRowSelectionDisabled
77036
+ ),
77037
+ [props == null ? void 0 : props.autoGroupColumnDefinition]
76999
77038
  );
77000
- const decoratedAutoGroupColDef = React82.useMemo(() => {
77001
- if (props == null ? void 0 : props.autoGroupColumnDefinition) {
77002
- return addAutoGroupParams(
77003
- transformToColDef(
77004
- props == null ? void 0 : props.autoGroupColumnDefinition,
77005
- internalTableContext.enableGroupEditAndValidation,
77006
- internalTableContext.enableDynamicRowHeight
77007
- )
77008
- );
77009
- }
77010
- return addAutoGroupParams({
77011
- headerName: "",
77012
- cellRendererSelector: (params) => {
77013
- if (params == null ? void 0 : params.node.rowPinned) {
77014
- return {
77015
- component: GrandTotalsLabelRenderer
77016
- };
77017
- }
77018
- return {
77019
- component: void 0
77020
- };
77021
- },
77022
- lockPosition: true
77023
- });
77024
- }, [props == null ? void 0 : props.autoGroupColumnDefinition, addAutoGroupParams]);
77025
77039
  const onColumnGroupOpened = React82.useCallback(
77026
77040
  (event) => {
77027
77041
  var _a2, _b2, _c;
@@ -669,6 +669,7 @@ interface GetDetailRowDataParams<TRow = any> extends Omit<AgGetDetailRowDataPara
669
669
  }
670
670
  type GetRowHeightWithFooters = (customFooters: CustomFooterConfig[] | undefined) => (params: Partial<RowHeightParams>) => number;
671
671
  interface DetailRowConfig<TRow = any> {
672
+ autoGroupColumnDefinition?: ColumnDefinition;
672
673
  columnDefinitions: ColumnDefinition[];
673
674
  getDetailRowData: (params: GetDetailRowDataParams<TRow>) => void;
674
675
  height?: 'auto' | number;
@@ -669,6 +669,7 @@ interface GetDetailRowDataParams<TRow = any> extends Omit<AgGetDetailRowDataPara
669
669
  }
670
670
  type GetRowHeightWithFooters = (customFooters: CustomFooterConfig[] | undefined) => (params: Partial<RowHeightParams>) => number;
671
671
  interface DetailRowConfig<TRow = any> {
672
+ autoGroupColumnDefinition?: ColumnDefinition;
672
673
  columnDefinitions: ColumnDefinition[];
673
674
  getDetailRowData: (params: GetDetailRowDataParams<TRow>) => void;
674
675
  height?: 'auto' | number;
@@ -54532,6 +54532,15 @@ function getCheckboxColumn(columnApi) {
54532
54532
 
54533
54533
  // src/utils/transformers.ts
54534
54534
  var emptyObject = {};
54535
+ var DEFAULT_AUTO_GROUP_COLUMN_DEFINITION = {
54536
+ headerName: "",
54537
+ cellRendererSelector(params) {
54538
+ return {
54539
+ component: params?.node.rowPinned ? GrandTotalsLabelRenderer : void 0
54540
+ };
54541
+ },
54542
+ lockPosition: true
54543
+ };
54535
54544
  function isColGroupDef(colDef) {
54536
54545
  return colDef.children?.length > 0;
54537
54546
  }
@@ -54974,6 +54983,43 @@ function getFilterParams(columnDefinition) {
54974
54983
  }
54975
54984
  return filterProps;
54976
54985
  }
54986
+ function addAutoGroupParams(columnDefinition, isRowSelectable, siblingGroupsRowSelectionDisabled) {
54987
+ return {
54988
+ ...columnDefinition,
54989
+ cellRendererSelector: (params) => {
54990
+ const cellRendererSelector = columnDefinition.cellRendererSelector?.(params);
54991
+ return {
54992
+ component: cellRendererSelector?.component ?? AutoGroupCellRenderer,
54993
+ params: {
54994
+ ...columnDefinition.cellRendererParams,
54995
+ ...cellRendererSelector?.params,
54996
+ checkbox(_params) {
54997
+ if (_params.node) {
54998
+ return isRowSelectable({
54999
+ ..._params.node,
55000
+ data: _params.node.data ?? _params.node.aggData
55001
+ });
55002
+ }
55003
+ return false;
55004
+ },
55005
+ siblingGroupsRowSelectionDisabled
55006
+ }
55007
+ };
55008
+ }
55009
+ };
55010
+ }
55011
+ function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight, isRowSelectable, siblingGroupsRowSelectionDisabled) {
55012
+ const colDef = columnDefinition ? transformToColDef(
55013
+ columnDefinition,
55014
+ enableGroupEditAndValidation,
55015
+ enableDynamicRowHeight
55016
+ ) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55017
+ return addAutoGroupParams(
55018
+ colDef,
55019
+ isRowSelectable,
55020
+ siblingGroupsRowSelectionDisabled
55021
+ );
55022
+ }
54977
55023
 
54978
55024
  // src/CellRenderers/AutoGroupCell.scss
54979
55025
  var css5 = `._autoGroupCell_15e3f_1 {
@@ -56130,7 +56176,7 @@ var GenericHeaderRenderer = (props) => {
56130
56176
  const colDef = props.column.getColDef();
56131
56177
  const HeaderNode = colDef.headerComponentParams?.headerNode;
56132
56178
  const I18n = coreReact.useI18nContext();
56133
- const { columnApi, tableRef, gridApi, onServerSideDataRequest } = useInternalTableContext();
56179
+ const { columnApi, tableRef, onServerSideDataRequest } = useInternalTableContext();
56134
56180
  const onSSDR = Boolean(onServerSideDataRequest);
56135
56181
  const [sortOrder, setSortOrder] = React82__default.default.useState(props.column.getSort());
56136
56182
  const [isFirstColumn2, setIsFirstColumn] = React82__default.default.useState(false);
@@ -56138,7 +56184,7 @@ var GenericHeaderRenderer = (props) => {
56138
56184
  const headerCellRef = React82.useRef(null);
56139
56185
  const headerCheckboxSelection = colDef.headerCheckboxSelection;
56140
56186
  const headerCheckboxSelectionEnabled = typeof headerCheckboxSelection === "function" ? headerCheckboxSelection({
56141
- api: gridApi,
56187
+ api: props.api,
56142
56188
  colDef,
56143
56189
  column: props.column,
56144
56190
  columnApi,
@@ -56236,11 +56282,11 @@ var GenericHeaderRenderer = (props) => {
56236
56282
  const onExpandAllChange = (event) => {
56237
56283
  setExpansionVariant(event.source === "expandAll" ? "all" : "closed");
56238
56284
  };
56239
- gridApi?.addEventListener("expandOrCollapseAll", onExpandAllChange);
56285
+ props.api?.addEventListener("expandOrCollapseAll", onExpandAllChange);
56240
56286
  return () => {
56241
- gridApi?.removeEventListener("expandOrCollapseAll", onExpandAllChange);
56287
+ props.api?.removeEventListener("expandOrCollapseAll", onExpandAllChange);
56242
56288
  };
56243
- }, [gridApi]);
56289
+ }, [props.api]);
56244
56290
  React82__default.default.useEffect(() => {
56245
56291
  const hasTierOneCollapsedNodes = !!findNode(
56246
56292
  (node) => node.level === 0 && !node.expanded,
@@ -56347,7 +56393,7 @@ var GenericHeaderRenderer = (props) => {
56347
56393
  return;
56348
56394
  }
56349
56395
  function updateSelectAllCheckbox() {
56350
- const currentRows = getCurrentRows(gridApi);
56396
+ const currentRows = getCurrentRows(props.api);
56351
56397
  const isAllSelected = currentRows.length && currentRows.every(isRowSelected);
56352
56398
  const isPartialSelected = !isAllSelected && currentRows.some(isRowSelected);
56353
56399
  if (isAllSelected) {
@@ -73356,6 +73402,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73356
73402
  }
73357
73403
  };
73358
73404
  const rowHeightConfig = detailRowConfig.height === "auto" || detailRowConfig.height === void 0 ? { detailRowAutoHeight: true } : { detailRowHeight: detailRowConfig.height };
73405
+ const isRowSelectable = () => deprecatedDetailRowSelectionEnabled ?? false;
73359
73406
  return {
73360
73407
  isRowMaster: detailRowConfig.isExpandable,
73361
73408
  masterDetail: true,
@@ -73364,6 +73411,13 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73364
73411
  return {
73365
73412
  detailGridOptions: {
73366
73413
  alwaysAggregateAtRootLevel: !isServerSideRowModel,
73414
+ autoGroupColumnDef: getDecoratedAutoGroupColDef(
73415
+ detailRowConfig.autoGroupColumnDefinition,
73416
+ enableGroupEditAndValidation,
73417
+ enableDynamicRowHeight,
73418
+ isRowSelectable,
73419
+ false
73420
+ ),
73367
73421
  context: {
73368
73422
  parentId: masterGridParams.node.id.replace("detail_", ""),
73369
73423
  parentData: masterGridParams.node.data
@@ -73377,6 +73431,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73377
73431
  )
73378
73432
  )
73379
73433
  ),
73434
+ isRowSelectable,
73380
73435
  onGridReady: onGridReadyOrValueChange,
73381
73436
  onCellValueChanged: onGridReadyOrValueChange,
73382
73437
  onRowDataChanged: onGridReadyOrValueChange,
@@ -73398,7 +73453,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73398
73453
  rowMultiSelectWithClick: detailRowConfig.rowMultiSelectWithClick,
73399
73454
  suppressRowClickSelection: detailRowConfig.suppressRowClickSelection ?? true,
73400
73455
  ensureDomOrder: true,
73401
- frameworkComponents,
73456
+ components: frameworkComponents,
73402
73457
  icons: tableIcons,
73403
73458
  loadingOverlayComponent: "loadingOverlayRenderer",
73404
73459
  loadingOverlayComponentParams: {
@@ -73410,6 +73465,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73410
73465
  },
73411
73466
  rowDragManaged: true,
73412
73467
  singleClickEdit: true,
73468
+ suppressAggFuncInHeader: true,
73413
73469
  suppressContextMenu: true,
73414
73470
  suppressColumnVirtualisation: true,
73415
73471
  getRowHeight: getRowHeight?.(detailRowConfig.customFooters)
@@ -76792,60 +76848,16 @@ var Table = (props) => {
76792
76848
  },
76793
76849
  [props]
76794
76850
  );
76795
- const addAutoGroupParams = React82__default.default.useCallback(
76796
- function addAutoGroupParams2(columnDefinition) {
76797
- return {
76798
- ...columnDefinition,
76799
- cellRendererSelector: (params) => {
76800
- const cellRendererSelector = columnDefinition.cellRendererSelector?.(params);
76801
- let component = cellRendererSelector?.component ?? "autoGroupCellRenderer";
76802
- return {
76803
- component,
76804
- params: {
76805
- ...columnDefinition.cellRendererParams,
76806
- ...cellRendererSelector?.params,
76807
- checkbox(_params) {
76808
- if (_params.node) {
76809
- return isRowSelectable({
76810
- ..._params.node,
76811
- data: _params.node.data ?? _params.node.aggData
76812
- });
76813
- }
76814
- return false;
76815
- },
76816
- siblingGroupsRowSelectionDisabled: props.siblingGroupsRowSelectionDisabled
76817
- }
76818
- };
76819
- }
76820
- };
76821
- },
76822
- [isRowSelectable]
76851
+ const decoratedAutoGroupColDef = React82__default.default.useMemo(
76852
+ () => getDecoratedAutoGroupColDef(
76853
+ props?.autoGroupColumnDefinition,
76854
+ internalTableContext.enableGroupEditAndValidation,
76855
+ internalTableContext.enableDynamicRowHeight,
76856
+ isRowSelectable,
76857
+ props.siblingGroupsRowSelectionDisabled
76858
+ ),
76859
+ [props?.autoGroupColumnDefinition]
76823
76860
  );
76824
- const decoratedAutoGroupColDef = React82__default.default.useMemo(() => {
76825
- if (props?.autoGroupColumnDefinition) {
76826
- return addAutoGroupParams(
76827
- transformToColDef(
76828
- props?.autoGroupColumnDefinition,
76829
- internalTableContext.enableGroupEditAndValidation,
76830
- internalTableContext.enableDynamicRowHeight
76831
- )
76832
- );
76833
- }
76834
- return addAutoGroupParams({
76835
- headerName: "",
76836
- cellRendererSelector: (params) => {
76837
- if (params?.node.rowPinned) {
76838
- return {
76839
- component: GrandTotalsLabelRenderer
76840
- };
76841
- }
76842
- return {
76843
- component: void 0
76844
- };
76845
- },
76846
- lockPosition: true
76847
- });
76848
- }, [props?.autoGroupColumnDefinition, addAutoGroupParams]);
76849
76861
  const onColumnGroupOpened = React82__default.default.useCallback(
76850
76862
  (event) => {
76851
76863
  internalTableContext.analytics?.client.addEvent(
@@ -2,7 +2,7 @@ import React82, { useState, forwardRef, useContext, useRef, useImperativeHandle,
2
2
  import { startsWith, equals, omit, isNil, mergeDeepLeft, intersection, isEmpty, groupBy } from 'ramda';
3
3
  import { useI18nContext, Select, Input, UNSAFE_useOverlayTriggerContext, Card, Flex, Box, SegmentedController, Calendar, useDateTime, OverlayTrigger, isEventSource, DateInput, UNSAFE_isValidYearRange, DateSelect, PillSelect, TextArea, UNSAFE_useMenuImperativeControlNavigation, UNSAFE_Menu, UNSAFE_menuItemsWrapperAttribute, Spinner, FlexList, Typography, Tooltip, Button, Required, colors, Form, spacing, Switch, Panel, UNSAFE_StyledFilterTokenLabel, typographyWeights, SelectButton, StyledSelectButton, StyledSelectButtonLabel, StyledButton, StyledSelectArrow, Popover, UNSAFE_StyledSuperSelectTrigger, UNSAFE_StyledSuperSelectLabel, UNSAFE_StyledSuperSelectArrow, DateTimeProvider, useField, Label, UNSAFE_mergeRefs, ContactItem as ContactItem$1, ToggleButton, Pagination, Link, AvatarStack, Pill, Typeahead, UNSAFE_FilterToken, useI18n, I18nContext, UNSAFE_SuperSelect, Avatar, MultiSelect, H3, Checkbox, useVisibility, UNSAFE_useSuperSelectContext, DropdownFlyout, StyledDropdownFlyoutLabel, StyledDropdownFlyoutExpandIcon, EmptyState as EmptyState$1 } from '@procore/core-react';
4
4
  import classnames from 'classnames/bind';
5
- import { Error as Error$1, Grip, Pencil, Building, Calendar as Calendar$1, CaretsInVertical, CaretsOutVertical, CaretsOutVerticalWithLine, CaretsIn, CaretsOut, ArrowDown, ArrowUp, CaretDown, CaretRight } from '@procore/core-icons';
5
+ import { Error as Error$1, Grip, Pencil, Building, Calendar as Calendar$1, CaretsInVertical, CaretsOutVertical, CaretsOutVerticalWithLine, CaretsIn, CaretsOut, CaretDown, CaretRight, ArrowDown, ArrowUp } from '@procore/core-icons';
6
6
  import classNames from 'classnames';
7
7
  import { isDate, parseISO, isSameDay, formatISO, isBefore } from 'date-fns';
8
8
  import { formatNumber, formatCurrency, formatPercentage } from '@procore/labs-financials-utils';
@@ -54517,6 +54517,15 @@ function getCheckboxColumn(columnApi) {
54517
54517
 
54518
54518
  // src/utils/transformers.ts
54519
54519
  var emptyObject = {};
54520
+ var DEFAULT_AUTO_GROUP_COLUMN_DEFINITION = {
54521
+ headerName: "",
54522
+ cellRendererSelector(params) {
54523
+ return {
54524
+ component: params?.node.rowPinned ? GrandTotalsLabelRenderer : void 0
54525
+ };
54526
+ },
54527
+ lockPosition: true
54528
+ };
54520
54529
  function isColGroupDef(colDef) {
54521
54530
  return colDef.children?.length > 0;
54522
54531
  }
@@ -54959,6 +54968,43 @@ function getFilterParams(columnDefinition) {
54959
54968
  }
54960
54969
  return filterProps;
54961
54970
  }
54971
+ function addAutoGroupParams(columnDefinition, isRowSelectable, siblingGroupsRowSelectionDisabled) {
54972
+ return {
54973
+ ...columnDefinition,
54974
+ cellRendererSelector: (params) => {
54975
+ const cellRendererSelector = columnDefinition.cellRendererSelector?.(params);
54976
+ return {
54977
+ component: cellRendererSelector?.component ?? AutoGroupCellRenderer,
54978
+ params: {
54979
+ ...columnDefinition.cellRendererParams,
54980
+ ...cellRendererSelector?.params,
54981
+ checkbox(_params) {
54982
+ if (_params.node) {
54983
+ return isRowSelectable({
54984
+ ..._params.node,
54985
+ data: _params.node.data ?? _params.node.aggData
54986
+ });
54987
+ }
54988
+ return false;
54989
+ },
54990
+ siblingGroupsRowSelectionDisabled
54991
+ }
54992
+ };
54993
+ }
54994
+ };
54995
+ }
54996
+ function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight, isRowSelectable, siblingGroupsRowSelectionDisabled) {
54997
+ const colDef = columnDefinition ? transformToColDef(
54998
+ columnDefinition,
54999
+ enableGroupEditAndValidation,
55000
+ enableDynamicRowHeight
55001
+ ) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55002
+ return addAutoGroupParams(
55003
+ colDef,
55004
+ isRowSelectable,
55005
+ siblingGroupsRowSelectionDisabled
55006
+ );
55007
+ }
54962
55008
 
54963
55009
  // src/CellRenderers/AutoGroupCell.scss
54964
55010
  var css5 = `._autoGroupCell_15e3f_1 {
@@ -56115,7 +56161,7 @@ var GenericHeaderRenderer = (props) => {
56115
56161
  const colDef = props.column.getColDef();
56116
56162
  const HeaderNode = colDef.headerComponentParams?.headerNode;
56117
56163
  const I18n = useI18nContext();
56118
- const { columnApi, tableRef, gridApi, onServerSideDataRequest } = useInternalTableContext();
56164
+ const { columnApi, tableRef, onServerSideDataRequest } = useInternalTableContext();
56119
56165
  const onSSDR = Boolean(onServerSideDataRequest);
56120
56166
  const [sortOrder, setSortOrder] = React82.useState(props.column.getSort());
56121
56167
  const [isFirstColumn2, setIsFirstColumn] = React82.useState(false);
@@ -56123,7 +56169,7 @@ var GenericHeaderRenderer = (props) => {
56123
56169
  const headerCellRef = useRef(null);
56124
56170
  const headerCheckboxSelection = colDef.headerCheckboxSelection;
56125
56171
  const headerCheckboxSelectionEnabled = typeof headerCheckboxSelection === "function" ? headerCheckboxSelection({
56126
- api: gridApi,
56172
+ api: props.api,
56127
56173
  colDef,
56128
56174
  column: props.column,
56129
56175
  columnApi,
@@ -56221,11 +56267,11 @@ var GenericHeaderRenderer = (props) => {
56221
56267
  const onExpandAllChange = (event) => {
56222
56268
  setExpansionVariant(event.source === "expandAll" ? "all" : "closed");
56223
56269
  };
56224
- gridApi?.addEventListener("expandOrCollapseAll", onExpandAllChange);
56270
+ props.api?.addEventListener("expandOrCollapseAll", onExpandAllChange);
56225
56271
  return () => {
56226
- gridApi?.removeEventListener("expandOrCollapseAll", onExpandAllChange);
56272
+ props.api?.removeEventListener("expandOrCollapseAll", onExpandAllChange);
56227
56273
  };
56228
- }, [gridApi]);
56274
+ }, [props.api]);
56229
56275
  React82.useEffect(() => {
56230
56276
  const hasTierOneCollapsedNodes = !!findNode(
56231
56277
  (node) => node.level === 0 && !node.expanded,
@@ -56332,7 +56378,7 @@ var GenericHeaderRenderer = (props) => {
56332
56378
  return;
56333
56379
  }
56334
56380
  function updateSelectAllCheckbox() {
56335
- const currentRows = getCurrentRows(gridApi);
56381
+ const currentRows = getCurrentRows(props.api);
56336
56382
  const isAllSelected = currentRows.length && currentRows.every(isRowSelected);
56337
56383
  const isPartialSelected = !isAllSelected && currentRows.some(isRowSelected);
56338
56384
  if (isAllSelected) {
@@ -73341,6 +73387,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73341
73387
  }
73342
73388
  };
73343
73389
  const rowHeightConfig = detailRowConfig.height === "auto" || detailRowConfig.height === void 0 ? { detailRowAutoHeight: true } : { detailRowHeight: detailRowConfig.height };
73390
+ const isRowSelectable = () => deprecatedDetailRowSelectionEnabled ?? false;
73344
73391
  return {
73345
73392
  isRowMaster: detailRowConfig.isExpandable,
73346
73393
  masterDetail: true,
@@ -73349,6 +73396,13 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73349
73396
  return {
73350
73397
  detailGridOptions: {
73351
73398
  alwaysAggregateAtRootLevel: !isServerSideRowModel,
73399
+ autoGroupColumnDef: getDecoratedAutoGroupColDef(
73400
+ detailRowConfig.autoGroupColumnDefinition,
73401
+ enableGroupEditAndValidation,
73402
+ enableDynamicRowHeight,
73403
+ isRowSelectable,
73404
+ false
73405
+ ),
73352
73406
  context: {
73353
73407
  parentId: masterGridParams.node.id.replace("detail_", ""),
73354
73408
  parentData: masterGridParams.node.data
@@ -73362,6 +73416,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73362
73416
  )
73363
73417
  )
73364
73418
  ),
73419
+ isRowSelectable,
73365
73420
  onGridReady: onGridReadyOrValueChange,
73366
73421
  onCellValueChanged: onGridReadyOrValueChange,
73367
73422
  onRowDataChanged: onGridReadyOrValueChange,
@@ -73383,7 +73438,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73383
73438
  rowMultiSelectWithClick: detailRowConfig.rowMultiSelectWithClick,
73384
73439
  suppressRowClickSelection: detailRowConfig.suppressRowClickSelection ?? true,
73385
73440
  ensureDomOrder: true,
73386
- frameworkComponents,
73441
+ components: frameworkComponents,
73387
73442
  icons: tableIcons,
73388
73443
  loadingOverlayComponent: "loadingOverlayRenderer",
73389
73444
  loadingOverlayComponentParams: {
@@ -73395,6 +73450,7 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
73395
73450
  },
73396
73451
  rowDragManaged: true,
73397
73452
  singleClickEdit: true,
73453
+ suppressAggFuncInHeader: true,
73398
73454
  suppressContextMenu: true,
73399
73455
  suppressColumnVirtualisation: true,
73400
73456
  getRowHeight: getRowHeight?.(detailRowConfig.customFooters)
@@ -76777,60 +76833,16 @@ var Table = (props) => {
76777
76833
  },
76778
76834
  [props]
76779
76835
  );
76780
- const addAutoGroupParams = React82.useCallback(
76781
- function addAutoGroupParams2(columnDefinition) {
76782
- return {
76783
- ...columnDefinition,
76784
- cellRendererSelector: (params) => {
76785
- const cellRendererSelector = columnDefinition.cellRendererSelector?.(params);
76786
- let component = cellRendererSelector?.component ?? "autoGroupCellRenderer";
76787
- return {
76788
- component,
76789
- params: {
76790
- ...columnDefinition.cellRendererParams,
76791
- ...cellRendererSelector?.params,
76792
- checkbox(_params) {
76793
- if (_params.node) {
76794
- return isRowSelectable({
76795
- ..._params.node,
76796
- data: _params.node.data ?? _params.node.aggData
76797
- });
76798
- }
76799
- return false;
76800
- },
76801
- siblingGroupsRowSelectionDisabled: props.siblingGroupsRowSelectionDisabled
76802
- }
76803
- };
76804
- }
76805
- };
76806
- },
76807
- [isRowSelectable]
76836
+ const decoratedAutoGroupColDef = React82.useMemo(
76837
+ () => getDecoratedAutoGroupColDef(
76838
+ props?.autoGroupColumnDefinition,
76839
+ internalTableContext.enableGroupEditAndValidation,
76840
+ internalTableContext.enableDynamicRowHeight,
76841
+ isRowSelectable,
76842
+ props.siblingGroupsRowSelectionDisabled
76843
+ ),
76844
+ [props?.autoGroupColumnDefinition]
76808
76845
  );
76809
- const decoratedAutoGroupColDef = React82.useMemo(() => {
76810
- if (props?.autoGroupColumnDefinition) {
76811
- return addAutoGroupParams(
76812
- transformToColDef(
76813
- props?.autoGroupColumnDefinition,
76814
- internalTableContext.enableGroupEditAndValidation,
76815
- internalTableContext.enableDynamicRowHeight
76816
- )
76817
- );
76818
- }
76819
- return addAutoGroupParams({
76820
- headerName: "",
76821
- cellRendererSelector: (params) => {
76822
- if (params?.node.rowPinned) {
76823
- return {
76824
- component: GrandTotalsLabelRenderer
76825
- };
76826
- }
76827
- return {
76828
- component: void 0
76829
- };
76830
- },
76831
- lockPosition: true
76832
- });
76833
- }, [props?.autoGroupColumnDefinition, addAutoGroupParams]);
76834
76846
  const onColumnGroupOpened = React82.useCallback(
76835
76847
  (event) => {
76836
76848
  internalTableContext.analytics?.client.addEvent(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@procore/data-table",
3
- "version": "13.1.1",
3
+ "version": "13.2.0",
4
4
  "description": "Complex data grid built on top of ag-grid, with DST components and styles.",
5
5
  "main": "dist/legacy/index.js",
6
6
  "module": "dist/legacy/index.mjs",
@@ -101,7 +101,7 @@
101
101
  "@procore/core-css": "10.17.0",
102
102
  "@procore/core-icons": "12.0.0",
103
103
  "@procore/core-prettier": "10.2.0",
104
- "@procore/core-react": "11.30.0",
104
+ "@procore/core-react": "11.31.0",
105
105
  "@procore/eslint-config": "10.0.0",
106
106
  "@procore/labs-financials-utils": "3.0.1",
107
107
  "@procore/labs-procore-environment": "3.2.0",