@procore/data-table 14.37.0 → 14.39.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.
@@ -54615,6 +54615,32 @@ function SingleSelectFilterRenderer({
54615
54615
  );
54616
54616
  }
54617
54617
 
54618
+ // src/utils/columnEditableHelpers.ts
54619
+ function createColumnEditableUtils(options) {
54620
+ return {
54621
+ overrideEditable: (columnEditable) => {
54622
+ return (params) => {
54623
+ const isGroupNodeExpanded = params.node.group && params.node.expanded;
54624
+ if (params.node?.rowPinned || !options.enableGroupHeaderEdit && isGroupNodeExpanded && !params.node.footer) {
54625
+ return false;
54626
+ }
54627
+ if (typeof columnEditable === "boolean") {
54628
+ return columnEditable;
54629
+ }
54630
+ return columnEditable?.(params) ?? false;
54631
+ };
54632
+ }
54633
+ };
54634
+ }
54635
+ function isColumnEditable(columnEditable) {
54636
+ return (params) => {
54637
+ if (typeof columnEditable === "boolean") {
54638
+ return columnEditable;
54639
+ }
54640
+ return columnEditable?.(params) ?? false;
54641
+ };
54642
+ }
54643
+
54618
54644
  // src/utils/transformers.ts
54619
54645
  var emptyObject = {};
54620
54646
  var DEFAULT_AUTO_GROUP_COLUMN_DEFINITION = {
@@ -54695,22 +54721,11 @@ function transformToColumnDefinition(colDef = emptyObject) {
54695
54721
  valueSetter: colDef.valueSetter
54696
54722
  };
54697
54723
  }
54698
- function isEditable(columnEditable) {
54699
- return (params) => {
54700
- if (params.node?.rowPinned || params.node.group && params.node.expanded && !params.node.footer) {
54701
- return false;
54702
- }
54703
- if (typeof columnEditable === "boolean") {
54704
- return columnEditable;
54705
- }
54706
- return columnEditable?.(params) ?? false;
54707
- };
54708
- }
54709
54724
  function shouldHaveEditStyles(params) {
54710
54725
  if (!params.colDef?.cellEditor) {
54711
54726
  return false;
54712
54727
  }
54713
- return isEditable(params.colDef.editable);
54728
+ return isColumnEditable(params.colDef.editable);
54714
54729
  }
54715
54730
  var toExcelCellClass = (className) => `excel-export--${className}`;
54716
54731
  function transformToExcelStyles(excelDataFormats) {
@@ -54833,11 +54848,11 @@ function transformColumnDefinitionToColDef(dataTableColumnDefinition, enableGrou
54833
54848
  parentData: context?.parentData,
54834
54849
  parentId: context?.parentId
54835
54850
  }) : aggFunc,
54836
- bulkEditable: isEditable(bulkEditable),
54851
+ bulkEditable: isColumnEditable(bulkEditable),
54837
54852
  cellClass: cellExcelDataType ? toExcelCellClass(cellExcelDataType) : void 0,
54838
54853
  cellClassRules,
54839
54854
  comparator,
54840
- editable: isEditable(_editable),
54855
+ editable: isColumnEditable(_editable),
54841
54856
  filter: getFilter(dataTableColumnDefinition),
54842
54857
  // set filter by default
54843
54858
  filterParams: {
@@ -55158,12 +55173,12 @@ function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidat
55158
55173
  }
55159
55174
 
55160
55175
  // src/CellRenderers/AutoGroupCell.scss
55161
- var css5 = `._autoGroupCell_pq41h_1 {
55176
+ var css5 = `._autoGroupCell_1qx8z_1 {
55162
55177
  height: 100%;
55163
55178
  width: 100%;
55164
55179
  }
55165
55180
 
55166
- ._indent_pq41h_6 {
55181
+ ._indent_1qx8z_6 {
55167
55182
  border-right: 1px solid #d6dadc;
55168
55183
  background: #f4f5f6;
55169
55184
  position: absolute;
@@ -55171,44 +55186,45 @@ var css5 = `._autoGroupCell_pq41h_1 {
55171
55186
  bottom: -1px;
55172
55187
  width: 12px;
55173
55188
  }
55174
- ._indent_pq41h_6._innermostLastIndent_pq41h_14 {
55189
+ ._indent_1qx8z_6._innermostLastIndent_1qx8z_14 {
55175
55190
  bottom: 0px;
55176
55191
  }
55177
55192
 
55178
- ._expandableCaret_pq41h_18 {
55193
+ ._expandableCaret_1qx8z_18 {
55179
55194
  margin-left: -8px;
55180
55195
  margin-right: 4px;
55181
55196
  width: 24px;
55197
+ flex-shrink: 0;
55182
55198
  }
55183
55199
 
55184
- ._expandCaret_pq41h_24 {
55200
+ ._expandCaret_1qx8z_25 {
55185
55201
  color: #2066df;
55186
55202
  cursor: pointer;
55187
55203
  }
55188
55204
 
55189
- ._collapseCaret_pq41h_29 {
55205
+ ._collapseCaret_1qx8z_30 {
55190
55206
  color: #75838a;
55191
55207
  cursor: pointer;
55192
55208
  }
55193
55209
 
55194
- ._value_pq41h_34 {
55210
+ ._value_1qx8z_35 {
55195
55211
  overflow: hidden;
55196
55212
  text-overflow: ellipsis;
55197
55213
  font-size: 12px;
55198
55214
  }
55199
- ._value_pq41h_34._footer_pq41h_39 {
55215
+ ._value_1qx8z_35._footer_1qx8z_40 {
55200
55216
  color: #6a767c;
55201
55217
  }`;
55202
55218
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css5));
55203
55219
  var AutoGroupCell_default = {
55204
- "autoGroupCell": "_autoGroupCell_pq41h_1",
55205
- "indent": "_indent_pq41h_6",
55206
- "innermostLastIndent": "_innermostLastIndent_pq41h_14",
55207
- "expandableCaret": "_expandableCaret_pq41h_18",
55208
- "expandCaret": "_expandCaret_pq41h_24",
55209
- "collapseCaret": "_collapseCaret_pq41h_29",
55210
- "value": "_value_pq41h_34",
55211
- "footer": "_footer_pq41h_39"
55220
+ "autoGroupCell": "_autoGroupCell_1qx8z_1",
55221
+ "indent": "_indent_1qx8z_6",
55222
+ "innermostLastIndent": "_innermostLastIndent_1qx8z_14",
55223
+ "expandableCaret": "_expandableCaret_1qx8z_18",
55224
+ "expandCaret": "_expandCaret_1qx8z_25",
55225
+ "collapseCaret": "_collapseCaret_1qx8z_30",
55226
+ "value": "_value_1qx8z_35",
55227
+ "footer": "_footer_1qx8z_40"
55212
55228
  };
55213
55229
 
55214
55230
  // src/utils/rowSelectionHelpers.ts
@@ -56501,9 +56517,10 @@ var GenericHeaderRenderer = (props) => {
56501
56517
  const {
56502
56518
  columnApi,
56503
56519
  tableRef,
56520
+ onExpandOrCollapseAll,
56504
56521
  onServerSideDataRequest,
56505
- showExpandCollapseAllToggle,
56506
- onTableConfigChange
56522
+ onTableConfigChange,
56523
+ showExpandCollapseAllToggle
56507
56524
  } = useInternalTableContext();
56508
56525
  const onSSDR = Boolean(onServerSideDataRequest);
56509
56526
  const [sortOrder, setSortOrder] = React80__default.default.useState(props.column.getSort());
@@ -56692,9 +56709,11 @@ var GenericHeaderRenderer = (props) => {
56692
56709
  }
56693
56710
  });
56694
56711
  setExpansionVariant("tierOne");
56712
+ onExpandOrCollapseAll?.(true);
56695
56713
  } else {
56696
56714
  props.api.collapseAll();
56697
56715
  setExpansionVariant("closed");
56716
+ onExpandOrCollapseAll?.(false);
56698
56717
  }
56699
56718
  return;
56700
56719
  }
@@ -56709,10 +56728,13 @@ var GenericHeaderRenderer = (props) => {
56709
56728
  props.api
56710
56729
  );
56711
56730
  setExpansionVariant(hasMoreExpandableNodes ? "tierOne" : "all");
56731
+ onExpandOrCollapseAll?.(true);
56712
56732
  } else if (expansionVariant === "tierOne") {
56713
56733
  props.api.expandAll();
56734
+ onExpandOrCollapseAll?.(true);
56714
56735
  } else {
56715
56736
  props.api.collapseAll();
56737
+ onExpandOrCollapseAll?.(false);
56716
56738
  }
56717
56739
  }
56718
56740
  const tooltipText = {
@@ -56884,7 +56906,8 @@ var GenericHeaderRenderer = (props) => {
56884
56906
  "aria-label": tooltipText[expansionVariant],
56885
56907
  className: "expand-button",
56886
56908
  onClick: onExpandToggle,
56887
- role: "button"
56909
+ role: "button",
56910
+ "data-qa": "expand-or-collapse-all-button"
56888
56911
  },
56889
56912
  /* @__PURE__ */ React80__default.default.createElement(ExpansionVariantIcon, { size: "sm" })
56890
56913
  )
@@ -57728,6 +57751,8 @@ var InternalTableContext = React80__default.default.createContext({
57728
57751
  gridApi: void 0,
57729
57752
  localStoragePersistenceKey: void 0,
57730
57753
  onBulkEditUpdate: () => Promise.resolve(),
57754
+ onExpandOrCollapseAll: () => {
57755
+ },
57731
57756
  onServerSideDataRequest: void 0,
57732
57757
  onTableConfigChange: () => {
57733
57758
  },
@@ -76272,12 +76297,12 @@ var MenuItemMapper = class MenuItemMapper2 extends BeanStub {
76272
76297
  if (ModuleRegistry.__assertRegistered(ModuleNames.ClipboardModule, "Cut from Menu", this.context.getGridId())) {
76273
76298
  const focusedCell = this.focusService.getFocusedCell();
76274
76299
  const rowNode = focusedCell ? this.rowPositionUtils.getRowNode(focusedCell) : null;
76275
- const isEditable2 = rowNode ? focusedCell === null || focusedCell === void 0 ? void 0 : focusedCell.column.isCellEditable(rowNode) : false;
76300
+ const isEditable = rowNode ? focusedCell === null || focusedCell === void 0 ? void 0 : focusedCell.column.isCellEditable(rowNode) : false;
76276
76301
  return {
76277
76302
  name: localeTextFunc("cut", "Cut"),
76278
76303
  shortcut: localeTextFunc("ctrlX", "Ctrl+X"),
76279
76304
  icon: _.createIconNoSpan("clipboardCut", this.gridOptionsService, null),
76280
- disabled: !isEditable2 || this.gridOptionsService.is("suppressCutToClipboard"),
76305
+ disabled: !isEditable || this.gridOptionsService.is("suppressCutToClipboard"),
76281
76306
  action: () => this.clipboardService.cutToClipboard(void 0, "contextMenu")
76282
76307
  };
76283
76308
  } else {
@@ -108821,6 +108846,7 @@ var DataTable = ({
108821
108846
  getRowId,
108822
108847
  initialTableConfig: _initialTableConfig,
108823
108848
  onBulkEditUpdate,
108849
+ onExpandOrCollapseAll,
108824
108850
  onServerSideDataRequest,
108825
108851
  onTableConfigChange,
108826
108852
  showExpandCollapseAllToggle,
@@ -109067,6 +109093,7 @@ var DataTable = ({
109067
109093
  gridApi,
109068
109094
  initialTableConfig,
109069
109095
  onBulkEditUpdate,
109096
+ onExpandOrCollapseAll,
109070
109097
  onServerSideDataRequest,
109071
109098
  onTableConfigChange: internalOnTableConfigChange,
109072
109099
  rowSelectionRef,
@@ -109153,6 +109180,20 @@ function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResp
109153
109180
  };
109154
109181
  }
109155
109182
  var minimumColumnWidth = 140;
109183
+ function useComputeAgGridProps(props) {
109184
+ const internalTableContext = useInternalTableContext();
109185
+ const onSSDR = internalTableContext.onServerSideDataRequest;
109186
+ return {
109187
+ groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
109188
+ rowDragManaged: onSSDR ? false : props.rowDragManaged ?? true,
109189
+ rowModelType: onSSDR ? "serverSide" : void 0,
109190
+ groupSelectsChildren: (
109191
+ // Always true for client side, defaults to true for server side
109192
+ internalTableContext.totalRowCount > 0 && props.groupSelectsChildren !== false || !onSSDR
109193
+ ),
109194
+ groupDefaultExpanded: props.groupsAlwaysExpanded ? -1 : props.groupDefaultExpanded
109195
+ };
109196
+ }
109156
109197
  var Table = (props) => {
109157
109198
  const { suppressColumnVirtualisation = true, rowActionsConfig = {} } = props;
109158
109199
  const I18n = coreReact.useI18nContext();
@@ -109202,14 +109243,28 @@ var Table = (props) => {
109202
109243
  React80__default.default.useImperativeHandle(internalTableContext.tableRef, () => tableApi, [
109203
109244
  tableApi
109204
109245
  ]);
109246
+ const {
109247
+ groupIncludeFooter,
109248
+ rowDragManaged,
109249
+ rowModelType,
109250
+ groupSelectsChildren,
109251
+ groupDefaultExpanded
109252
+ } = useComputeAgGridProps(props);
109253
+ const { overrideEditable } = createColumnEditableUtils({
109254
+ enableGroupHeaderEdit: props.enableGroupHeaderEdit
109255
+ });
109205
109256
  const decoratedColDefs = React80__default.default.useMemo(
109206
- () => internalTableContext.columnDefinitions?.map(
109207
- (colDef) => transformToColDef(
109257
+ () => internalTableContext.columnDefinitions?.map((colDef) => {
109258
+ const newColDef = transformToColDef(
109208
109259
  colDef,
109209
109260
  internalTableContext.enableGroupEditAndValidation,
109210
109261
  internalTableContext.enableDynamicRowHeight
109211
- )
109212
- ),
109262
+ );
109263
+ return {
109264
+ ...newColDef,
109265
+ editable: overrideEditable(colDef.editable)
109266
+ };
109267
+ }),
109213
109268
  [internalTableContext.columnDefinitions]
109214
109269
  );
109215
109270
  const hasRowActions = React80__default.default.useMemo(
@@ -109951,13 +110006,10 @@ var Table = (props) => {
109951
110006
  getRowId: internalTableContext.getRowId,
109952
110007
  getRowStyle,
109953
110008
  groupAllowUnbalanced: true,
109954
- groupDefaultExpanded: props.groupsAlwaysExpanded ? -1 : props.groupDefaultExpanded,
109955
- groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
110009
+ groupDefaultExpanded,
110010
+ groupIncludeFooter,
109956
110011
  getGroupRowAgg: props.getGroupRowAgg ? getGroupRowAgg : void 0,
109957
- groupSelectsChildren: (
109958
- // Always true for client side, defaults to true for server side
109959
- internalTableContext.totalRowCount > 0 && props.groupSelectsChildren !== false || !onSSDR
109960
- ),
110012
+ groupSelectsChildren,
109961
110013
  groupSelectsFiltered: true,
109962
110014
  headerHeight: props.headerHeight,
109963
110015
  icons: tableIcons,
@@ -110015,8 +110067,8 @@ var Table = (props) => {
110015
110067
  pinnedBottomRowData: props.pinnedBottomRowData,
110016
110068
  rowBuffer: props.rowBuffer,
110017
110069
  rowClassRules,
110018
- rowDragManaged: onSSDR ? false : props.rowDragManaged ?? true,
110019
- rowModelType: onSSDR ? "serverSide" : void 0,
110070
+ rowDragManaged,
110071
+ rowModelType,
110020
110072
  rowSelection: "multiple",
110021
110073
  ...serverSideInfiniteScroll,
110022
110074
  suppressClickEdit: true,
@@ -112045,6 +112097,7 @@ var ClientSideDataTable = ({
112045
112097
  getRowId,
112046
112098
  initialTableConfig: _initialTableConfig,
112047
112099
  onBulkEditUpdate,
112100
+ onExpandOrCollapseAll,
112048
112101
  onTableConfigChange,
112049
112102
  translations: translations2 = {},
112050
112103
  enableCellTextSelection,
@@ -112061,8 +112114,9 @@ var ClientSideDataTable = ({
112061
112114
  filterGroups,
112062
112115
  getRowId,
112063
112116
  initialTableConfig: _initialTableConfig,
112064
- onTableConfigChange,
112065
112117
  onBulkEditUpdate,
112118
+ onExpandOrCollapseAll,
112119
+ onTableConfigChange,
112066
112120
  showExpandCollapseAllToggle: true,
112067
112121
  translations: translations2,
112068
112122
  localStoragePersistenceKey,
@@ -116453,6 +116507,7 @@ var ServerSideDataTable = ({
116453
116507
  getRowId,
116454
116508
  initialTableConfig: _initialTableConfig,
116455
116509
  onBulkEditUpdate,
116510
+ onExpandOrCollapseAll,
116456
116511
  onServerSideDataRequest,
116457
116512
  onTableConfigChange,
116458
116513
  enableCellTextSelection,
@@ -116471,9 +116526,10 @@ var ServerSideDataTable = ({
116471
116526
  filterGroups,
116472
116527
  getRowId,
116473
116528
  initialTableConfig: _initialTableConfig,
116474
- onTableConfigChange,
116475
- onServerSideDataRequest,
116476
116529
  onBulkEditUpdate,
116530
+ onExpandOrCollapseAll,
116531
+ onServerSideDataRequest,
116532
+ onTableConfigChange,
116477
116533
  showExpandCollapseAllToggle,
116478
116534
  translations: translations2,
116479
116535
  customBulkEditorFields,
@@ -992,6 +992,7 @@ interface TableProps<TRow = any, TBottomRow = any> {
992
992
  groupsAlwaysExpanded?: boolean;
993
993
  groupDefaultExpanded?: number;
994
994
  groupIncludeFooter?: boolean;
995
+ enableGroupHeaderEdit?: boolean;
995
996
  groupSelectsChildren?: boolean;
996
997
  headerHeight?: number;
997
998
  hideActionsOnGroupedRow?: boolean;
@@ -1144,8 +1145,16 @@ interface DataTableProps {
1144
1145
  filterGroups?: FilterGroup[];
1145
1146
  getRowId?: (params: GetRowIdParams) => string;
1146
1147
  initialTableConfig?: DataTableConfig;
1147
- onTableConfigChange?: (config: DataTableConfig) => void;
1148
+ /**
1149
+ * Callback invoked when the row group expand/collapse state changes via
1150
+ * the Expand/Collapse toggle button. Use this to track the table's
1151
+ * expand/collapse state.
1152
+ * @param expanded - `true` when groups are expanded at any level, `false`
1153
+ * when all groups are collapsed.
1154
+ */
1155
+ onExpandOrCollapseAll?: (expanded: boolean) => void;
1148
1156
  onServerSideDataRequest?: (params: ServerSideGetRowsParams) => Promise<SuccessParams | void> | void;
1157
+ onTableConfigChange?: (config: DataTableConfig) => void;
1149
1158
  grandTotalsLabelRenderer?: React.FunctionComponent<GrandTotalsLabelRendererProps>;
1150
1159
  /**
1151
1160
  * Callback after bulk edit action is performed.
@@ -1373,6 +1382,7 @@ interface InternalTableContext {
1373
1382
  onServerSideDataRequest?: DataTableProps['onServerSideDataRequest'];
1374
1383
  updateServerSideDataSource: (params: UpdateServerSideDataSourceParams) => void;
1375
1384
  localStoragePersistenceKey?: string;
1385
+ onExpandOrCollapseAll?: (expanded: boolean) => void;
1376
1386
  onTableConfigChange: () => void;
1377
1387
  rowHeight: RowSize;
1378
1388
  rowSelectionRef?: React__default.MutableRefObject<RowSelectionRef>;
@@ -1453,7 +1463,7 @@ interface BulkActionProps {
1453
1463
  style?: React__default.CSSProperties;
1454
1464
  }
1455
1465
 
1456
- declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1466
+ declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1457
1467
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1458
1468
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1459
1469
  ConfigPanelButton: React__default.FC<{}>;
@@ -1490,7 +1500,7 @@ declare const MultiSelectQuickFilterRenderer: (props: FilterProps<any[]>) => Rea
1490
1500
 
1491
1501
  declare const SingleSelectQuickFilterRenderer: (props: FilterProps<any[]>) => React__default.JSX.Element;
1492
1502
 
1493
- declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1503
+ declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1494
1504
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1495
1505
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1496
1506
  ConfigPanelButton: React__default.FC<{}>;
@@ -992,6 +992,7 @@ interface TableProps<TRow = any, TBottomRow = any> {
992
992
  groupsAlwaysExpanded?: boolean;
993
993
  groupDefaultExpanded?: number;
994
994
  groupIncludeFooter?: boolean;
995
+ enableGroupHeaderEdit?: boolean;
995
996
  groupSelectsChildren?: boolean;
996
997
  headerHeight?: number;
997
998
  hideActionsOnGroupedRow?: boolean;
@@ -1144,8 +1145,16 @@ interface DataTableProps {
1144
1145
  filterGroups?: FilterGroup[];
1145
1146
  getRowId?: (params: GetRowIdParams) => string;
1146
1147
  initialTableConfig?: DataTableConfig;
1147
- onTableConfigChange?: (config: DataTableConfig) => void;
1148
+ /**
1149
+ * Callback invoked when the row group expand/collapse state changes via
1150
+ * the Expand/Collapse toggle button. Use this to track the table's
1151
+ * expand/collapse state.
1152
+ * @param expanded - `true` when groups are expanded at any level, `false`
1153
+ * when all groups are collapsed.
1154
+ */
1155
+ onExpandOrCollapseAll?: (expanded: boolean) => void;
1148
1156
  onServerSideDataRequest?: (params: ServerSideGetRowsParams) => Promise<SuccessParams | void> | void;
1157
+ onTableConfigChange?: (config: DataTableConfig) => void;
1149
1158
  grandTotalsLabelRenderer?: React.FunctionComponent<GrandTotalsLabelRendererProps>;
1150
1159
  /**
1151
1160
  * Callback after bulk edit action is performed.
@@ -1373,6 +1382,7 @@ interface InternalTableContext {
1373
1382
  onServerSideDataRequest?: DataTableProps['onServerSideDataRequest'];
1374
1383
  updateServerSideDataSource: (params: UpdateServerSideDataSourceParams) => void;
1375
1384
  localStoragePersistenceKey?: string;
1385
+ onExpandOrCollapseAll?: (expanded: boolean) => void;
1376
1386
  onTableConfigChange: () => void;
1377
1387
  rowHeight: RowSize;
1378
1388
  rowSelectionRef?: React__default.MutableRefObject<RowSelectionRef>;
@@ -1453,7 +1463,7 @@ interface BulkActionProps {
1453
1463
  style?: React__default.CSSProperties;
1454
1464
  }
1455
1465
 
1456
- declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1466
+ declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1457
1467
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1458
1468
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1459
1469
  ConfigPanelButton: React__default.FC<{}>;
@@ -1490,7 +1500,7 @@ declare const MultiSelectQuickFilterRenderer: (props: FilterProps<any[]>) => Rea
1490
1500
 
1491
1501
  declare const SingleSelectQuickFilterRenderer: (props: FilterProps<any[]>) => React__default.JSX.Element;
1492
1502
 
1493
- declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1503
+ declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onExpandOrCollapseAll, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1494
1504
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1495
1505
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1496
1506
  ConfigPanelButton: React__default.FC<{}>;