@procore/data-table 14.4.2 → 14.5.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,16 @@
1
1
  # Change Log
2
2
 
3
+ ## 14.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - d63e5bf2e7: Optionally restore expand/collapse functionality for the SSRM table via `showExpandCollapseAllButtonOnSSRM` prop.
8
+
9
+ ### Patch Changes
10
+
11
+ - 8184a4bdd9: Switch exports to always point to `.mjs`
12
+ - d813df8e7c: Only call console.log/warn/error in development to prevent possible performance issues with Bugsnag breadcrumb creation
13
+
3
14
  ## 14.4.2
4
15
 
5
16
  ### Patch Changes
@@ -1067,6 +1067,7 @@ interface DataTableTranslations {
1067
1067
  interface DataTableProps {
1068
1068
  analytics?: AnalyticsConfig;
1069
1069
  columnDefinitions: (ColumnDefinition | NestedColumnDefinition)[];
1070
+ customBulkEditorFields?: CustomBulkEditorFields;
1070
1071
  enableGroupEditAndValidation?: boolean;
1071
1072
  enableDynamicRowHeight?: boolean;
1072
1073
  filterGroups?: FilterGroup[];
@@ -1081,11 +1082,11 @@ interface DataTableProps {
1081
1082
  * the updated values
1082
1083
  */
1083
1084
  onBulkEditUpdate?: (rows: BulkEditResult[]) => Promise<void>;
1085
+ showExpandCollapseAllToggle?: boolean;
1084
1086
  translations?: DataTableTranslations;
1085
- customBulkEditorFields?: CustomBulkEditorFields;
1086
1087
  enableCellTextSelection?: boolean;
1087
1088
  }
1088
- interface ClientSideDataTableProps extends Omit<DataTableProps, 'onServerSideDataRequest'> {
1089
+ interface ClientSideDataTableProps extends Omit<DataTableProps, 'onServerSideDataRequest' | 'showExpandCollapseAllToggle'> {
1089
1090
  }
1090
1091
  interface FilterGroup {
1091
1092
  name: string;
@@ -1264,6 +1265,7 @@ interface InternalTableContext {
1264
1265
  setColumnApi: (columnApi: ColumnApi) => void;
1265
1266
  setGridApi: (gridApi: GridApi) => void;
1266
1267
  setRowHeight: (rowHeight: RowSize, createTrackEvent?: boolean, triggerTableConfigChange?: boolean) => void;
1268
+ showExpandCollapseAllToggle: boolean;
1267
1269
  tableRef: React__default.RefObject<TableApi> | null;
1268
1270
  getColumnDefinition: (field: string) => ColumnDefinition | undefined;
1269
1271
  totalRowCount: number;
@@ -1361,7 +1363,7 @@ declare const MultiSelectQuickFilterRenderer: (props: FilterProps<any[]>) => Rea
1361
1363
 
1362
1364
  declare const SingleSelectQuickFilterRenderer: (props: FilterProps<any[]>) => React__default.JSX.Element;
1363
1365
 
1364
- declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, translations, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1366
+ declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1365
1367
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1366
1368
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1367
1369
  ConfigPanelButton: React__default.FC<{}>;
@@ -1067,6 +1067,7 @@ interface DataTableTranslations {
1067
1067
  interface DataTableProps {
1068
1068
  analytics?: AnalyticsConfig;
1069
1069
  columnDefinitions: (ColumnDefinition | NestedColumnDefinition)[];
1070
+ customBulkEditorFields?: CustomBulkEditorFields;
1070
1071
  enableGroupEditAndValidation?: boolean;
1071
1072
  enableDynamicRowHeight?: boolean;
1072
1073
  filterGroups?: FilterGroup[];
@@ -1081,11 +1082,11 @@ interface DataTableProps {
1081
1082
  * the updated values
1082
1083
  */
1083
1084
  onBulkEditUpdate?: (rows: BulkEditResult[]) => Promise<void>;
1085
+ showExpandCollapseAllToggle?: boolean;
1084
1086
  translations?: DataTableTranslations;
1085
- customBulkEditorFields?: CustomBulkEditorFields;
1086
1087
  enableCellTextSelection?: boolean;
1087
1088
  }
1088
- interface ClientSideDataTableProps extends Omit<DataTableProps, 'onServerSideDataRequest'> {
1089
+ interface ClientSideDataTableProps extends Omit<DataTableProps, 'onServerSideDataRequest' | 'showExpandCollapseAllToggle'> {
1089
1090
  }
1090
1091
  interface FilterGroup {
1091
1092
  name: string;
@@ -1264,6 +1265,7 @@ interface InternalTableContext {
1264
1265
  setColumnApi: (columnApi: ColumnApi) => void;
1265
1266
  setGridApi: (gridApi: GridApi) => void;
1266
1267
  setRowHeight: (rowHeight: RowSize, createTrackEvent?: boolean, triggerTableConfigChange?: boolean) => void;
1268
+ showExpandCollapseAllToggle: boolean;
1267
1269
  tableRef: React__default.RefObject<TableApi> | null;
1268
1270
  getColumnDefinition: (field: string) => ColumnDefinition | undefined;
1269
1271
  totalRowCount: number;
@@ -1361,7 +1363,7 @@ declare const MultiSelectQuickFilterRenderer: (props: FilterProps<any[]>) => Rea
1361
1363
 
1362
1364
  declare const SingleSelectQuickFilterRenderer: (props: FilterProps<any[]>) => React__default.JSX.Element;
1363
1365
 
1364
- declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, translations, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1366
+ declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1365
1367
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1366
1368
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1367
1369
  ConfigPanelButton: React__default.FC<{}>;
@@ -450,7 +450,7 @@ var require_checkPropTypes = __commonJS({
450
450
  if (process.env.NODE_ENV !== "production") {
451
451
  for (var typeSpecName in typeSpecs) {
452
452
  if (has(typeSpecs, typeSpecName)) {
453
- var error;
453
+ var error2;
454
454
  try {
455
455
  if (typeof typeSpecs[typeSpecName] !== "function") {
456
456
  var err = Error(
@@ -459,20 +459,20 @@ var require_checkPropTypes = __commonJS({
459
459
  err.name = "Invariant Violation";
460
460
  throw err;
461
461
  }
462
- error = typeSpecs[typeSpecName](values2, typeSpecName, componentName, location, null, ReactPropTypesSecret);
462
+ error2 = typeSpecs[typeSpecName](values2, typeSpecName, componentName, location, null, ReactPropTypesSecret);
463
463
  } catch (ex) {
464
- error = ex;
464
+ error2 = ex;
465
465
  }
466
- if (error && !(error instanceof Error)) {
466
+ if (error2 && !(error2 instanceof Error)) {
467
467
  printWarning(
468
- (componentName || "React class") + ": type specification of " + location + " `" + typeSpecName + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof error + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
468
+ (componentName || "React class") + ": type specification of " + location + " `" + typeSpecName + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof error2 + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
469
469
  );
470
470
  }
471
- if (error instanceof Error && !(error.message in loggedTypeFailures)) {
472
- loggedTypeFailures[error.message] = true;
471
+ if (error2 instanceof Error && !(error2.message in loggedTypeFailures)) {
472
+ loggedTypeFailures[error2.message] = true;
473
473
  var stack = getStack ? getStack() : "";
474
474
  printWarning(
475
- "Failed " + location + " type: " + error.message + (stack != null ? stack : "")
475
+ "Failed " + location + " type: " + error2.message + (stack != null ? stack : "")
476
476
  );
477
477
  }
478
478
  }
@@ -629,9 +629,9 @@ var require_factoryWithTypeCheckers = __commonJS({
629
629
  return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an array."));
630
630
  }
631
631
  for (var i = 0; i < propValue.length; i++) {
632
- var error = typeChecker(propValue, i, componentName, location, propFullName + "[" + i + "]", ReactPropTypesSecret);
633
- if (error instanceof Error) {
634
- return error;
632
+ var error2 = typeChecker(propValue, i, componentName, location, propFullName + "[" + i + "]", ReactPropTypesSecret);
633
+ if (error2 instanceof Error) {
634
+ return error2;
635
635
  }
636
636
  }
637
637
  return null;
@@ -714,9 +714,9 @@ var require_factoryWithTypeCheckers = __commonJS({
714
714
  }
715
715
  for (var key in propValue) {
716
716
  if (has(propValue, key)) {
717
- var error = typeChecker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
718
- if (error instanceof Error) {
719
- return error;
717
+ var error2 = typeChecker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
718
+ if (error2 instanceof Error) {
719
+ return error2;
720
720
  }
721
721
  }
722
722
  }
@@ -781,9 +781,9 @@ var require_factoryWithTypeCheckers = __commonJS({
781
781
  if (typeof checker !== "function") {
782
782
  return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
783
783
  }
784
- var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
785
- if (error) {
786
- return error;
784
+ var error2 = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
785
+ if (error2) {
786
+ return error2;
787
787
  }
788
788
  }
789
789
  return null;
@@ -808,9 +808,9 @@ var require_factoryWithTypeCheckers = __commonJS({
808
808
  "Invalid " + location + " `" + propFullName + "` key `" + key + "` supplied to `" + componentName + "`.\nBad object: " + JSON.stringify(props[propName], null, " ") + "\nValid keys: " + JSON.stringify(Object.keys(shapeTypes), null, " ")
809
809
  );
810
810
  }
811
- var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
812
- if (error) {
813
- return error;
811
+ var error2 = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
812
+ if (error2) {
813
+ return error2;
814
814
  }
815
815
  }
816
816
  return null;
@@ -8246,6 +8246,28 @@ var Editor = React83__default.default.forwardRef(
8246
8246
  }
8247
8247
  );
8248
8248
  var CurrencyCellEditor = withDataTableEditor(Editor, "input");
8249
+
8250
+ // src/utils/logger.ts
8251
+ var log = (...args) => {
8252
+ if (process.env.NODE_ENV === "development") {
8253
+ console.log(...args);
8254
+ }
8255
+ };
8256
+ var warn = (...args) => {
8257
+ if (process.env.NODE_ENV === "development") {
8258
+ console.warn(...args);
8259
+ }
8260
+ };
8261
+ var error = (...args) => {
8262
+ if (process.env.NODE_ENV === "development") {
8263
+ console.error(...args);
8264
+ }
8265
+ };
8266
+ var logger = {
8267
+ log,
8268
+ warn,
8269
+ error
8270
+ };
8249
8271
  function getLabel(func, option) {
8250
8272
  return (func == null ? void 0 : func(option)) ?? (option == null ? void 0 : option.label) ?? (option == null ? void 0 : option.name) ?? option;
8251
8273
  }
@@ -8578,7 +8600,7 @@ var DateFilterRenderer = (props) => {
8578
8600
  if (onServerSideDataRequest) {
8579
8601
  return /* @__PURE__ */ React83__default.default.createElement(ServerSideDateSelectFilterRenderer, { ...props });
8580
8602
  }
8581
- console.error(
8603
+ logger.error(
8582
8604
  "Warning: Date Filters are currently only implemented for the serverside row model"
8583
8605
  );
8584
8606
  return null;
@@ -9413,14 +9435,14 @@ ModuleRegistry.areGridScopedModules = false;
9413
9435
 
9414
9436
  // ../../node_modules/@ag-grid-community/core/dist/esm/es6/context/context.mjs
9415
9437
  var Context = class {
9416
- constructor(params, logger) {
9438
+ constructor(params, logger2) {
9417
9439
  this.beanWrappers = {};
9418
9440
  this.destroyed = false;
9419
9441
  if (!params || !params.beanClasses) {
9420
9442
  return;
9421
9443
  }
9422
9444
  this.contextParams = params;
9423
- this.logger = logger;
9445
+ this.logger = logger2;
9424
9446
  this.logger.log(">> creating ag-Application Context");
9425
9447
  this.createBeans();
9426
9448
  const beanInstances = this.getBeanInstances();
@@ -52651,7 +52673,7 @@ var GridCoreCreator = class {
52651
52673
  debug: debug2,
52652
52674
  gridId
52653
52675
  };
52654
- const logger = new Logger("AG Grid", () => gridOptions.debug);
52676
+ const logger2 = new Logger("AG Grid", () => gridOptions.debug);
52655
52677
  const contextLogger = new Logger("Context", () => contextParams.debug);
52656
52678
  const context = new Context(contextParams, contextLogger);
52657
52679
  const beans = context.getBean("beans");
@@ -52663,7 +52685,7 @@ var GridCoreCreator = class {
52663
52685
  this.setColumnsAndData(beans);
52664
52686
  this.dispatchGridReadyEvent(beans);
52665
52687
  const isEnterprise = ModuleRegistry.__isRegistered(ModuleNames.EnterpriseCoreModule, gridId);
52666
- logger.log(`initialised successfully, enterprise = ${isEnterprise}`);
52688
+ logger2.log(`initialised successfully, enterprise = ${isEnterprise}`);
52667
52689
  });
52668
52690
  if (acceptChanges) {
52669
52691
  acceptChanges(context);
@@ -54013,7 +54035,7 @@ var LocationFilterRenderer = (props) => {
54013
54035
  if (onServerSideDataRequest) {
54014
54036
  return /* @__PURE__ */ React83__default.default.createElement(ServerSideLocationFilterRenderer, { ...props });
54015
54037
  }
54016
- console.error(
54038
+ logger.error(
54017
54039
  "Warning: Location Filters are currently only implemented for the serverside row model"
54018
54040
  );
54019
54041
  return null;
@@ -54210,7 +54232,7 @@ var MultiSelectFilterRenderer = (props) => {
54210
54232
  const { onServerSideDataRequest } = useInternalTableContext();
54211
54233
  const Renderer13 = onServerSideDataRequest ? ServerSideMultiSelectFilterRenderer : ClientSideMultiSelectFilterRenderer;
54212
54234
  if (isNumberFilterModel(value)) {
54213
- console.warn(
54235
+ logger.warn(
54214
54236
  "a value was set that is not compatible with this MultiSelectFilterRenderer"
54215
54237
  );
54216
54238
  return null;
@@ -54564,7 +54586,7 @@ var ServerSideFilter = ({
54564
54586
  value
54565
54587
  } = useServerSideFilter({ columnDefinition });
54566
54588
  if (columnDefinition === void 0 || columnDefinition === null) {
54567
- console.warn(
54589
+ logger.warn(
54568
54590
  `Unable to find the columnDefinition (${columnDefinition}) for fieldName: ${fieldName}`
54569
54591
  );
54570
54592
  return null;
@@ -56286,7 +56308,12 @@ var GenericHeaderRenderer = (props) => {
56286
56308
  const colDef = props.column.getColDef();
56287
56309
  const HeaderNode = (_a = colDef.headerComponentParams) == null ? void 0 : _a.headerNode;
56288
56310
  const I18n = coreReact.useI18nContext();
56289
- const { columnApi, tableRef, onServerSideDataRequest } = useInternalTableContext();
56311
+ const {
56312
+ columnApi,
56313
+ tableRef,
56314
+ onServerSideDataRequest,
56315
+ showExpandCollapseAllToggle
56316
+ } = useInternalTableContext();
56290
56317
  const onSSDR = Boolean(onServerSideDataRequest);
56291
56318
  const [sortOrder, setSortOrder] = React83__default.default.useState(props.column.getSort());
56292
56319
  const [isFirstColumn2, setIsFirstColumn] = React83__default.default.useState(false);
@@ -56377,11 +56404,11 @@ var GenericHeaderRenderer = (props) => {
56377
56404
  }, [props.column]);
56378
56405
  const [isExpandable, setIsExpandable] = React83__default.default.useState(false);
56379
56406
  React83__default.default.useEffect(() => {
56380
- if (onSSDR) {
56407
+ if (showExpandCollapseAllToggle === false) {
56381
56408
  return;
56382
56409
  }
56383
56410
  const hasExpandableNodes = !!findNode(
56384
- (node) => node.isExpandable(),
56411
+ (node) => !!(node.group && !node.footer),
56385
56412
  props.api
56386
56413
  );
56387
56414
  setIsExpandable(
@@ -56929,7 +56956,7 @@ var emptyArray2 = [];
56929
56956
  var emptyObj = {};
56930
56957
  function logNoOp(text, returns) {
56931
56958
  return function() {
56932
- console.log("No-op", text);
56959
+ logger.log("No-op", text);
56933
56960
  return returns;
56934
56961
  };
56935
56962
  }
@@ -57263,6 +57290,7 @@ var InternalTableContext = React83__default.default.createContext({
57263
57290
  },
57264
57291
  setRowHeight: () => {
57265
57292
  },
57293
+ showExpandCollapseAllToggle: false,
57266
57294
  tableRef: null,
57267
57295
  getColumnDefinition: () => void 0,
57268
57296
  setSelectedGroupIndex: () => {
@@ -57309,8 +57337,7 @@ var Analytics = class {
57309
57337
  };
57310
57338
 
57311
57339
  // src/Analytics/Analytics.tsx
57312
- var defaultTrackEvent = (e, params) => {
57313
- console.log("analytics::trackEvent", e, params);
57340
+ var noop3 = () => {
57314
57341
  };
57315
57342
  var AnalyticsContext = React83__default.default.createContext({});
57316
57343
  function AnalyticsProvider({
@@ -57320,7 +57347,7 @@ function AnalyticsProvider({
57320
57347
  return /* @__PURE__ */ React83__default.default.createElement(
57321
57348
  AnalyticsContext.Provider,
57322
57349
  {
57323
- value: { trackEvent: (analytics == null ? void 0 : analytics.trackEvent) || defaultTrackEvent }
57350
+ value: { trackEvent: (analytics == null ? void 0 : analytics.trackEvent) || noop3 }
57324
57351
  },
57325
57352
  children
57326
57353
  );
@@ -76578,7 +76605,7 @@ function RadioList({
76578
76605
  }
76579
76606
 
76580
76607
  // src/Panels/BulkEdit.tsx
76581
- function noop3() {
76608
+ function noop4() {
76582
76609
  }
76583
76610
  function parseValues(columns, values2) {
76584
76611
  return columns.reduce((updatedValues, column2) => {
@@ -76872,7 +76899,7 @@ var BulkEditInput = (props) => {
76872
76899
  }
76873
76900
  );
76874
76901
  } else {
76875
- console.warn(
76902
+ logger.warn(
76876
76903
  `@procore/data-table: Unable to find the field for ${props.editor}. Will fallback to a Form.Text.`
76877
76904
  );
76878
76905
  return defaultField;
@@ -76880,7 +76907,7 @@ var BulkEditInput = (props) => {
76880
76907
  }
76881
76908
  };
76882
76909
  var BulkEdit = React83__default.default.forwardRef(
76883
- ({ onReset = noop3 }, ref) => {
76910
+ ({ onReset = noop4 }, ref) => {
76884
76911
  var _a;
76885
76912
  const {
76886
76913
  analytics,
@@ -77003,7 +77030,7 @@ var BulkEdit = React83__default.default.forwardRef(
77003
77030
  showToast.success(I18n.t("dataTable.bulkActions.success"));
77004
77031
  resetForm({});
77005
77032
  onReset();
77006
- } catch (error) {
77033
+ } catch (error2) {
77007
77034
  showToast.error(I18n.t("dataTable.bulkActions.error"));
77008
77035
  }
77009
77036
  }
@@ -77529,7 +77556,7 @@ function groupFiltersByGroupName(props) {
77529
77556
  const groupName = filterProps == null ? void 0 : filterProps.groupName;
77530
77557
  filterIndex++;
77531
77558
  if (groupName && !(filterGroupNames == null ? void 0 : filterGroupNames.includes(groupName))) {
77532
- console.warn(
77559
+ logger.warn(
77533
77560
  'filter "%s" is being associated with a filter group "%s" that does not exist',
77534
77561
  filterRecord.field,
77535
77562
  groupName
@@ -77596,7 +77623,7 @@ var StyledPanelSection = styled4__default.default(coreReact.Panel.Section)`
77596
77623
  `;
77597
77624
 
77598
77625
  // src/Panels/Filters.tsx
77599
- function noop4() {
77626
+ function noop5() {
77600
77627
  }
77601
77628
  var cx19 = classnames__default.default.bind(styles_default);
77602
77629
  function isServerSideFilterGroups(_FiltersInGroup, isServerSideRowModel) {
@@ -77649,7 +77676,6 @@ function FilterListItems(props) {
77649
77676
  "data-qa": "data-table-possible-filters-list"
77650
77677
  },
77651
77678
  filtersInGroup.map((filterRecord) => {
77652
- console.log("filterRecord ", filterRecord);
77653
77679
  const { columnDefinition } = filterRecord;
77654
77680
  if (!columnDefinition) {
77655
77681
  return null;
@@ -77709,7 +77735,7 @@ function FiltersList(props) {
77709
77735
  },
77710
77736
  filterGroups == null ? void 0 : filterGroups.map((group) => {
77711
77737
  if (!filterGroupsMap[group.name]) {
77712
- console.warn(
77738
+ logger.warn(
77713
77739
  'filters group "%s" is not associated with any filter',
77714
77740
  group.name
77715
77741
  );
@@ -77735,7 +77761,7 @@ function FiltersList(props) {
77735
77761
  var BaseFiltersPanel = ({
77736
77762
  children,
77737
77763
  className,
77738
- onClearAllFilters = noop4,
77764
+ onClearAllFilters = noop5,
77739
77765
  ...props
77740
77766
  }) => {
77741
77767
  const { contextPanel } = useInternalTableContext();
@@ -78452,7 +78478,7 @@ var buildDetailRowsConfig = ({
78452
78478
  return {};
78453
78479
  }
78454
78480
  if (detailRowConfigs.length > 1) {
78455
- console.warn(`
78481
+ logger.warn(`
78456
78482
  DataTable: "detailRowConfigs" of length ${detailRowConfigs.length} was provided, while it only supports an array of length 1.
78457
78483
  Please use "detailRowConfig", as "detailRowConfigs" is deprecated.
78458
78484
  `);
@@ -81510,6 +81536,7 @@ var DataTable = ({
81510
81536
  onBulkEditUpdate,
81511
81537
  onServerSideDataRequest,
81512
81538
  onTableConfigChange,
81539
+ showExpandCollapseAllToggle,
81513
81540
  translations: translations2 = {},
81514
81541
  enableCellTextSelection
81515
81542
  }) => {
@@ -81539,7 +81566,7 @@ var DataTable = ({
81539
81566
  const missingTranslation = internalI18n.missingTranslation.bind(internalI18n);
81540
81567
  internalI18n.missingTranslation = (scope2, options) => {
81541
81568
  if (scope2.match(/core\.dataTable/)) {
81542
- console.warn(`[DataTable] Missing Translation: ${scope2}`);
81569
+ logger.warn(`[DataTable] Missing Translation: ${scope2}`);
81543
81570
  return "";
81544
81571
  }
81545
81572
  if (dataTableTranslationKeys.includes(scope2)) {
@@ -81727,6 +81754,7 @@ var DataTable = ({
81727
81754
  setGridApi,
81728
81755
  setRowHeight: internalSetRowHeight,
81729
81756
  setSelectedGroupIndex,
81757
+ showExpandCollapseAllToggle: showExpandCollapseAllToggle ?? false,
81730
81758
  tableRef,
81731
81759
  totalRowCount,
81732
81760
  setTotalRowCount,
@@ -82006,7 +82034,7 @@ var Table = (props) => {
82006
82034
  ]);
82007
82035
  React83__default.default.useEffect(() => {
82008
82036
  if (frameworkComponentsInitialized.current === true) {
82009
- console.warn("Don't update custom cells after the initial render.");
82037
+ logger.warn("Don't update custom cells after the initial render.");
82010
82038
  setFrameworkComponents(
82011
82039
  getFrameworkComponents(
82012
82040
  headerMenuConfig,
@@ -82751,6 +82779,7 @@ var ClientSideDataTable = ({
82751
82779
  initialTableConfig: _initialTableConfig,
82752
82780
  onTableConfigChange,
82753
82781
  onBulkEditUpdate,
82782
+ showExpandCollapseAllToggle: true,
82754
82783
  translations: translations2,
82755
82784
  customBulkEditorFields,
82756
82785
  enableCellTextSelection
@@ -83022,7 +83051,7 @@ var QuickDateFilterRenderer = (props) => {
83022
83051
  if (onServerSideDataRequest) {
83023
83052
  return /* @__PURE__ */ React83__default.default.createElement(ServerSideQuickDateFilterRenderer, { ...props });
83024
83053
  }
83025
- console.error(
83054
+ logger.error(
83026
83055
  "Warning: Date Filters are currently only implemented for the serverside row model"
83027
83056
  );
83028
83057
  return null;
@@ -83121,7 +83150,7 @@ var LocationQuickFilterOverlay = React83__default.default.forwardRef(
83121
83150
  value
83122
83151
  }, ref) => {
83123
83152
  if (value && !Array.isArray(value)) {
83124
- console.warn(
83153
+ logger.warn(
83125
83154
  "a value was set that is not compatible with this LocationQuickFilterRenderer"
83126
83155
  );
83127
83156
  return null;
@@ -88167,6 +88196,7 @@ var ServerSideDataTable = ({
88167
88196
  onServerSideDataRequest,
88168
88197
  onTableConfigChange,
88169
88198
  enableCellTextSelection,
88199
+ showExpandCollapseAllToggle,
88170
88200
  translations: translations2 = {}
88171
88201
  }) => {
88172
88202
  return /* @__PURE__ */ React83__default.default.createElement(
@@ -88182,6 +88212,7 @@ var ServerSideDataTable = ({
88182
88212
  onTableConfigChange,
88183
88213
  onServerSideDataRequest,
88184
88214
  onBulkEditUpdate,
88215
+ showExpandCollapseAllToggle,
88185
88216
  translations: translations2,
88186
88217
  customBulkEditorFields,
88187
88218
  enableCellTextSelection