@procore/data-table 13.3.1 → 13.3.3-next.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.
@@ -1,6 +1,6 @@
1
1
  import React82, { useState, forwardRef, useContext, useRef, useImperativeHandle, useLayoutEffect, useCallback, useMemo, memo, useEffect, Component as Component$1, createElement } from 'react';
2
2
  import { startsWith, equals, omit, isNil, mergeDeepLeft, intersection, isEmpty, groupBy } from 'ramda';
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';
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 as Spinner$1, 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
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';
@@ -996,6 +996,43 @@ var rowHeightMap = {
996
996
  [rowSize.md]: "medium",
997
997
  [rowSize.lg]: "large"
998
998
  };
999
+ var Spinner = ({
1000
+ loading,
1001
+ ...rest
1002
+ }) => /* @__PURE__ */ React82.createElement(Box, { "data-qa": loading ? "loading" : "loaded", display: "flex-row", flex: 1 }, /* @__PURE__ */ React82.createElement(Spinner$1, { loading, size: "md", centered: true, ...rest }));
1003
+ function isNestedColumnDefinition(Column2) {
1004
+ return "children" in Column2;
1005
+ }
1006
+ function isNestedColDef(colDef) {
1007
+ if (!colDef.groupId) {
1008
+ return false;
1009
+ }
1010
+ return "groupId" in colDef;
1011
+ }
1012
+ function getLeafColDefs(columnDefinitions) {
1013
+ return columnDefinitions.flatMap((colDef) => {
1014
+ return isNestedColDef(colDef) ? getLeafColDefs(colDef.children) : [colDef];
1015
+ });
1016
+ }
1017
+ function isFirstColumn(params) {
1018
+ var _a;
1019
+ const displayedColumns = ((_a = params == null ? void 0 : params.columnApi) == null ? void 0 : _a.getAllDisplayedColumns()) || [];
1020
+ return displayedColumns.length ? displayedColumns[0] === params.column : false;
1021
+ }
1022
+ function getCheckboxColumn(columnApi) {
1023
+ var _a, _b;
1024
+ const isGrouping = ((_b = (_a = columnApi == null ? void 0 : columnApi.getRowGroupColumns) == null ? void 0 : _a.call(columnApi)) == null ? void 0 : _b.length) !== 0;
1025
+ if (isGrouping) {
1026
+ return null;
1027
+ }
1028
+ const displayedColumns = (columnApi == null ? void 0 : columnApi.getAllDisplayedColumns()) || [];
1029
+ return displayedColumns.length ? displayedColumns[0] : null;
1030
+ }
1031
+ function removeEventListenerFromGrid(event, listener, gridApi) {
1032
+ if (!gridApi || (gridApi == null ? void 0 : gridApi.destroyCalled))
1033
+ return;
1034
+ gridApi == null ? void 0 : gridApi.removeEventListener(event, listener);
1035
+ }
999
1036
 
1000
1037
  // src/styles.scss
1001
1038
  var styles_exports = {};
@@ -8527,9 +8564,6 @@ var DateFilterRenderer = (props) => {
8527
8564
  if (onServerSideDataRequest) {
8528
8565
  return /* @__PURE__ */ React82.createElement(ServerSideDateSelectFilterRenderer, { ...props });
8529
8566
  }
8530
- console.error(
8531
- "Warning: Date Filters are currently only implemented for the serverside row model"
8532
- );
8533
8567
  return null;
8534
8568
  };
8535
8569
  var DateFilterTokenText = ({
@@ -53833,7 +53867,7 @@ var LocationFilterOverlay = React82.forwardRef(
53833
53867
  getLabel3(item)
53834
53868
  );
53835
53869
  })),
53836
- loading && /* @__PURE__ */ React82.createElement(UNSAFE_Menu.Footer, null, /* @__PURE__ */ React82.createElement(Flex, { justifyContent: "center" }, /* @__PURE__ */ React82.createElement(Spinner, { size: "sm" })))
53870
+ loading && /* @__PURE__ */ React82.createElement(UNSAFE_Menu.Footer, null, /* @__PURE__ */ React82.createElement(Flex, { justifyContent: "center" }, /* @__PURE__ */ React82.createElement(Spinner$1, { size: "sm" })))
53837
53871
  ));
53838
53872
  }
53839
53873
  );
@@ -53962,9 +53996,6 @@ var LocationFilterRenderer = (props) => {
53962
53996
  if (onServerSideDataRequest) {
53963
53997
  return /* @__PURE__ */ React82.createElement(ServerSideLocationFilterRenderer, { ...props });
53964
53998
  }
53965
- console.error(
53966
- "Warning: Location Filters are currently only implemented for the serverside row model"
53967
- );
53968
53999
  return null;
53969
54000
  };
53970
54001
 
@@ -54038,8 +54069,16 @@ function useFilterState({
54038
54069
  }
54039
54070
  return () => {
54040
54071
  listenersEnabled.current = false;
54041
- gridApi == null ? void 0 : gridApi.removeEventListener("filterChanged", filterEventFunction);
54042
- gridApi == null ? void 0 : gridApi.removeEventListener("rowDataUpdated", filterEventFunction);
54072
+ removeEventListenerFromGrid(
54073
+ "filterChanged",
54074
+ filterEventFunction,
54075
+ gridApi
54076
+ );
54077
+ removeEventListenerFromGrid(
54078
+ "rowDataUpdated",
54079
+ filterEventFunction,
54080
+ gridApi
54081
+ );
54043
54082
  };
54044
54083
  }, [gridApi, columnDefinitions]);
54045
54084
  return { allAvailableFilters, changeFilterValue, filterableColumns };
@@ -54151,9 +54190,6 @@ var MultiSelectFilterRenderer = (props) => {
54151
54190
  const { onServerSideDataRequest } = useInternalTableContext();
54152
54191
  const Renderer13 = onServerSideDataRequest ? ServerSideMultiSelectFilterRenderer : ClientSideMultiSelectFilterRenderer;
54153
54192
  if (isNumberFilterModel(value)) {
54154
- console.warn(
54155
- "a value was set that is not compatible with this MultiSelectFilterRenderer"
54156
- );
54157
54193
  return null;
54158
54194
  }
54159
54195
  return /* @__PURE__ */ React82.createElement(Renderer13, { value, ...otherProps });
@@ -54505,9 +54541,6 @@ var ServerSideFilter = ({
54505
54541
  value
54506
54542
  } = useServerSideFilter({ columnDefinition });
54507
54543
  if (columnDefinition === void 0 || columnDefinition === null) {
54508
- console.warn(
54509
- `Unable to find the columnDefinition (${columnDefinition}) for fieldName: ${fieldName}`
54510
- );
54511
54544
  return null;
54512
54545
  }
54513
54546
  return /* @__PURE__ */ React82.createElement(
@@ -54533,38 +54566,6 @@ var ServerSideFilter = ({
54533
54566
  )
54534
54567
  );
54535
54568
  };
54536
- var Spinner2 = ({
54537
- loading,
54538
- ...rest
54539
- }) => /* @__PURE__ */ React82.createElement(Box, { "data-qa": loading ? "loading" : "loaded", display: "flex-row", flex: 1 }, /* @__PURE__ */ React82.createElement(Spinner, { loading, size: "md", centered: true, ...rest }));
54540
- function isNestedColumnDefinition(Column2) {
54541
- return "children" in Column2;
54542
- }
54543
- function isNestedColDef(colDef) {
54544
- if (!colDef.groupId) {
54545
- return false;
54546
- }
54547
- return "groupId" in colDef;
54548
- }
54549
- function getLeafColDefs(columnDefinitions) {
54550
- return columnDefinitions.flatMap((colDef) => {
54551
- return isNestedColDef(colDef) ? getLeafColDefs(colDef.children) : [colDef];
54552
- });
54553
- }
54554
- function isFirstColumn(params) {
54555
- var _a;
54556
- const displayedColumns = ((_a = params == null ? void 0 : params.columnApi) == null ? void 0 : _a.getAllDisplayedColumns()) || [];
54557
- return displayedColumns.length ? displayedColumns[0] === params.column : false;
54558
- }
54559
- function getCheckboxColumn(columnApi) {
54560
- var _a, _b;
54561
- const isGrouping = ((_b = (_a = columnApi == null ? void 0 : columnApi.getRowGroupColumns) == null ? void 0 : _a.call(columnApi)) == null ? void 0 : _b.length) !== 0;
54562
- if (isGrouping) {
54563
- return null;
54564
- }
54565
- const displayedColumns = (columnApi == null ? void 0 : columnApi.getAllDisplayedColumns()) || [];
54566
- return displayedColumns.length ? displayedColumns[0] : null;
54567
- }
54568
54569
 
54569
54570
  // src/utils/transformers.ts
54570
54571
  var emptyObject = {};
@@ -55279,7 +55280,7 @@ function ClientSideRowCheckbox(props) {
55279
55280
  useEffect(() => {
55280
55281
  props.api.addEventListener("rowSelected", handleRowSelection);
55281
55282
  return () => {
55282
- props.api.removeEventListener("rowSelected", handleRowSelection);
55283
+ removeEventListenerFromGrid("rowSelected", handleRowSelection, props.api);
55283
55284
  };
55284
55285
  }, []);
55285
55286
  return /* @__PURE__ */ React82.createElement(Box, { paddingRight: "md" }, /* @__PURE__ */ React82.createElement(
@@ -55393,7 +55394,11 @@ function GroupCaret(props) {
55393
55394
  props.api.addEventListener("rowGroupOpened", handleRowGroupToggle);
55394
55395
  return () => {
55395
55396
  mounted.current = false;
55396
- props.api.removeEventListener("rowGroupOpened", handleRowGroupToggle);
55397
+ removeEventListenerFromGrid(
55398
+ "rowGroupOpened",
55399
+ handleRowGroupToggle,
55400
+ props.api
55401
+ );
55397
55402
  };
55398
55403
  }, []);
55399
55404
  return /* @__PURE__ */ React82.createElement(Box, { className: AutoGroupCell_default.expandableCaret }, props.node.isExpandable() && /* @__PURE__ */ React82.createElement(
@@ -55420,7 +55425,11 @@ var AutoGroupCellRenderer = (props) => {
55420
55425
  useEffect(() => {
55421
55426
  props.api.addEventListener("cellValueChanged", handleCellValueChange);
55422
55427
  return () => {
55423
- props.api.removeEventListener("cellValueChanged", handleCellValueChange);
55428
+ removeEventListenerFromGrid(
55429
+ "cellValueChanged",
55430
+ handleCellValueChange,
55431
+ props.api
55432
+ );
55424
55433
  };
55425
55434
  }, []);
55426
55435
  const adjustedLevel = props.node.footer ? props.node.level + 1 : props.node.level;
@@ -56282,7 +56291,7 @@ var GenericHeaderRenderer = (props) => {
56282
56291
  props.api.addEventListener("columnMoved", calculatePosition);
56283
56292
  calculatePosition();
56284
56293
  return () => {
56285
- props.api.removeEventListener("columnMoved", calculatePosition);
56294
+ removeEventListenerFromGrid("columnMoved", calculatePosition, props.api);
56286
56295
  };
56287
56296
  }, []);
56288
56297
  const onSortToggled = (event) => {
@@ -56361,8 +56370,11 @@ var GenericHeaderRenderer = (props) => {
56361
56370
  };
56362
56371
  (_a2 = props.api) == null ? void 0 : _a2.addEventListener("expandOrCollapseAll", onExpandAllChange);
56363
56372
  return () => {
56364
- var _a3;
56365
- (_a3 = props.api) == null ? void 0 : _a3.removeEventListener("expandOrCollapseAll", onExpandAllChange);
56373
+ removeEventListenerFromGrid(
56374
+ "expandOrCollapseAll",
56375
+ onExpandAllChange,
56376
+ props.api
56377
+ );
56366
56378
  };
56367
56379
  }, [props.api]);
56368
56380
  React82.useEffect(() => {
@@ -56453,7 +56465,11 @@ var GenericHeaderRenderer = (props) => {
56453
56465
  props.api.addEventListener(selectionChanged, onSelectionChanged);
56454
56466
  onSelectionChanged();
56455
56467
  return () => {
56456
- props.api.removeEventListener(selectionChanged, onSelectionChanged);
56468
+ removeEventListenerFromGrid(
56469
+ selectionChanged,
56470
+ onSelectionChanged,
56471
+ props.api
56472
+ );
56457
56473
  };
56458
56474
  }, [isFirstColumn2, selectAll]);
56459
56475
  const { ref, isOverflowing, recalculate } = useOverflowObserver();
@@ -56465,8 +56481,8 @@ var GenericHeaderRenderer = (props) => {
56465
56481
  props.api.addEventListener("cellMouseOver", handler);
56466
56482
  props.api.addEventListener("columnResized", handler);
56467
56483
  return () => {
56468
- props.api.removeEventListener("cellMouseOver", handler);
56469
- props.api.removeEventListener("columnResized", handler);
56484
+ removeEventListenerFromGrid("cellMouseOver", handler, props.api);
56485
+ removeEventListenerFromGrid("columnResized", handler, props.api);
56470
56486
  };
56471
56487
  }, []);
56472
56488
  React82.useEffect(() => {
@@ -56492,8 +56508,16 @@ var GenericHeaderRenderer = (props) => {
56492
56508
  props.api.addEventListener(selectionChanged, updateSelectAllCheckbox);
56493
56509
  props.api.addEventListener(paginationChanged, updateSelectAllCheckbox);
56494
56510
  return () => {
56495
- props.api.removeEventListener(selectionChanged, updateSelectAllCheckbox);
56496
- props.api.removeEventListener(paginationChanged, updateSelectAllCheckbox);
56511
+ removeEventListenerFromGrid(
56512
+ selectionChanged,
56513
+ updateSelectAllCheckbox,
56514
+ props.api
56515
+ );
56516
+ removeEventListenerFromGrid(
56517
+ paginationChanged,
56518
+ updateSelectAllCheckbox,
56519
+ props.api
56520
+ );
56497
56521
  };
56498
56522
  }, [isFirstColumn2, props.selectionSSREnabled, props.api, onSSDR]);
56499
56523
  const toggleSelectAll = React82.useCallback(() => {
@@ -56704,7 +56728,7 @@ function CustomLoader(params) {
56704
56728
  level: params.node.level,
56705
56729
  lastRowInGroup: params.node === groupNodes.last
56706
56730
  }
56707
- ), /* @__PURE__ */ React82.createElement(Spinner2, { loading: true, size: "sm" }), /* @__PURE__ */ React82.createElement(Box, { paddingLeft: "sm" }, /* @__PURE__ */ React82.createElement(Typography, { color: "gray15", italic: true, intent: "small" }, I18n.t(
56731
+ ), /* @__PURE__ */ React82.createElement(Spinner, { loading: true, size: "sm" }), /* @__PURE__ */ React82.createElement(Box, { paddingLeft: "sm" }, /* @__PURE__ */ React82.createElement(Typography, { color: "gray15", italic: true, intent: "small" }, I18n.t(
56708
56732
  `dataTable.loading.${params.node === groupNodes.first ? "initial" : "secondary"}`
56709
56733
  ))));
56710
56734
  }
@@ -56714,7 +56738,7 @@ var DefaultFrameworkComponents = {
56714
56738
  agColumnHeader: GenericHeaderRenderer,
56715
56739
  agLoadingCellRenderer: CustomLoader,
56716
56740
  agColumnGroupHeader: GenericColumnGroupHeader,
56717
- loadingOverlayRenderer: Spinner2,
56741
+ loadingOverlayRenderer: Spinner,
56718
56742
  emptyStateRenderer: EmptyState
56719
56743
  };
56720
56744
  function getFrameworkComponents(headerMenuConfig, onSelectAll, selectionSSREnabled) {
@@ -56878,9 +56902,8 @@ var MultiSelectCellRenderer = withDataTableRenderer(
56878
56902
  // src/FilterRenderers/useServerSideFilterStorage.tsx
56879
56903
  var emptyArray2 = [];
56880
56904
  var emptyObj = {};
56881
- function logNoOp(text, returns) {
56905
+ function logNoOp(_text, returns) {
56882
56906
  return function() {
56883
- console.log("No-op", text);
56884
56907
  return returns;
56885
56908
  };
56886
56909
  }
@@ -57058,12 +57081,12 @@ var defaultServerSideFiltersContext = {
57058
57081
  getSelected: logNoOp("ServerSideFiltersContext getSelected", emptyObj),
57059
57082
  hasDefinedFilters: false,
57060
57083
  hasSelectedFilters: false,
57061
- onChangeFilterValue: logNoOp("ServerSideFiltersContext onChangeFilterValue"),
57062
- onClearAllFilters: logNoOp("ServerSideFiltersContext onClearAllFilters"),
57063
- onClearFilter: logNoOp("ServerSideFiltersContext onClearFilter"),
57084
+ onChangeFilterValue: logNoOp(),
57085
+ onClearAllFilters: logNoOp(),
57086
+ onClearFilter: logNoOp(),
57064
57087
  possibleFilters: emptyArray2,
57065
57088
  selectedFilters: emptyObj,
57066
- setSelectedFilters: logNoOp("ServerSideFiltersContext setSelectedFilters"),
57089
+ setSelectedFilters: logNoOp(),
57067
57090
  waitForStoredOptions: logNoOp(
57068
57091
  "ServerSideFiltersContext waitForStoredOptions",
57069
57092
  true
@@ -58861,12 +58884,18 @@ var useRowSelectionState = () => {
58861
58884
  const { gridApi, rowSelectionRef } = useInternalTableContext();
58862
58885
  React82.useEffect(() => {
58863
58886
  function selectionEventFunction() {
58864
- setSelectedRows(getSelectedRows({ gridApi, rowSelectionRef }));
58887
+ if (!(gridApi == null ? void 0 : gridApi.destroyCalled)) {
58888
+ setSelectedRows(getSelectedRows({ gridApi, rowSelectionRef }));
58889
+ }
58865
58890
  }
58866
58891
  selectionEventFunction();
58867
58892
  gridApi == null ? void 0 : gridApi.addEventListener("selectionChanged", selectionEventFunction);
58868
58893
  return () => {
58869
- gridApi == null ? void 0 : gridApi.removeEventListener("selectionChanged", selectionEventFunction);
58894
+ removeEventListenerFromGrid(
58895
+ "selectionChanged",
58896
+ selectionEventFunction,
58897
+ gridApi
58898
+ );
58870
58899
  };
58871
58900
  }, [gridApi]);
58872
58901
  return selectedRows;
@@ -76369,7 +76398,7 @@ function personOptionRenderer(editorParams) {
76369
76398
  };
76370
76399
  }
76371
76400
  function LoadingField() {
76372
- return /* @__PURE__ */ React82.createElement(Box, { marginTop: "md" }, /* @__PURE__ */ React82.createElement(Spinner, { size: "sm", loading: true }));
76401
+ return /* @__PURE__ */ React82.createElement(Box, { marginTop: "md" }, /* @__PURE__ */ React82.createElement(Spinner$1, { size: "sm", loading: true }));
76373
76402
  }
76374
76403
  function RadioList({
76375
76404
  getId: getId3,
@@ -76703,9 +76732,6 @@ var BulkEditInput = (props) => {
76703
76732
  }
76704
76733
  );
76705
76734
  } else {
76706
- console.warn(
76707
- `@procore/labs-data-table: Unable to find the field for ${props.editor}. Will fallback to a Form.Text.`
76708
- );
76709
76735
  return defaultField;
76710
76736
  }
76711
76737
  }
@@ -77179,9 +77205,10 @@ var ConfigurationColumns = React82.forwardRef(
77179
77205
  onDisplayedColumnsChanged
77180
77206
  );
77181
77207
  return () => {
77182
- gridApi == null ? void 0 : gridApi.removeEventListener(
77208
+ removeEventListenerFromGrid(
77183
77209
  "displayedColumnsChanged",
77184
- onDisplayedColumnsChanged
77210
+ onDisplayedColumnsChanged,
77211
+ gridApi
77185
77212
  );
77186
77213
  };
77187
77214
  }, [gridApi, colDefs]);
@@ -77354,16 +77381,11 @@ function groupFiltersByGroupName(props) {
77354
77381
  }
77355
77382
  const filterGroupNames = filterGroups == null ? void 0 : filterGroups.map((filterGroup) => filterGroup.name);
77356
77383
  let filterIndex = 0;
77357
- return groupBy((filterRecord) => {
77384
+ return groupBy((_filterRecord) => {
77358
77385
  const filterProps = availableFilterProps[filterIndex];
77359
77386
  const groupName = filterProps == null ? void 0 : filterProps.groupName;
77360
77387
  filterIndex++;
77361
77388
  if (groupName && !(filterGroupNames == null ? void 0 : filterGroupNames.includes(groupName))) {
77362
- console.warn(
77363
- 'filter "%s" is being associated with a filter group "%s" that does not exist',
77364
- filterRecord.field,
77365
- groupName
77366
- );
77367
77389
  return FILTER_GROUP_NO_KEY;
77368
77390
  }
77369
77391
  return (groupName == null ? void 0 : groupName.toString()) || FILTER_GROUP_NO_KEY;
@@ -77479,7 +77501,6 @@ function FilterListItems(props) {
77479
77501
  "data-qa": "data-table-possible-filters-list"
77480
77502
  },
77481
77503
  filtersInGroup.map((filterRecord) => {
77482
- console.log("filterRecord ", filterRecord);
77483
77504
  const { columnDefinition } = filterRecord;
77484
77505
  if (!columnDefinition) {
77485
77506
  return null;
@@ -77539,10 +77560,6 @@ function FiltersList(props) {
77539
77560
  },
77540
77561
  filterGroups == null ? void 0 : filterGroups.map((group) => {
77541
77562
  if (!filterGroupsMap[group.name]) {
77542
- console.warn(
77543
- 'filters group "%s" is not associated with any filter',
77544
- group.name
77545
- );
77546
77563
  return null;
77547
77564
  }
77548
77565
  return /* @__PURE__ */ React82.createElement(FilterGroupWrapper, { filterGroup: group, key: group.name }, /* @__PURE__ */ React82.createElement(
@@ -78050,9 +78067,10 @@ var RowGroupSelector = ({ localeText }) => {
78050
78067
  onDisplayedColumnsChanged
78051
78068
  );
78052
78069
  return () => {
78053
- gridApi == null ? void 0 : gridApi.removeEventListener(
78070
+ removeEventListenerFromGrid(
78054
78071
  "displayedColumnsChanged",
78055
- onDisplayedColumnsChanged
78072
+ onDisplayedColumnsChanged,
78073
+ gridApi
78056
78074
  );
78057
78075
  };
78058
78076
  }, [gridApi]);
@@ -78274,12 +78292,6 @@ var buildDetailRowsConfig = ({
78274
78292
  if (detailRowConfigs === void 0 || !detailRowConfigs[0]) {
78275
78293
  return {};
78276
78294
  }
78277
- if (detailRowConfigs.length > 1) {
78278
- console.warn(`
78279
- DataTable: "detailRowConfigs" of length ${detailRowConfigs.length} was provided, while it only supports an array of length 1.
78280
- Please use "detailRowConfig", as "detailRowConfigs" is deprecated.
78281
- `);
78282
- }
78283
78295
  return buildDetailRowsConfig_(detailRowConfigs[0], {
78284
78296
  defaultColDef,
78285
78297
  frameworkComponents,
@@ -81361,7 +81373,6 @@ var DataTable = ({
81361
81373
  const missingTranslation = internalI18n.missingTranslation.bind(internalI18n);
81362
81374
  internalI18n.missingTranslation = (scope2, options) => {
81363
81375
  if (scope2.match(/core\.dataTable/)) {
81364
- console.warn(`[DataTable] Missing Translation: ${scope2}`);
81365
81376
  return "";
81366
81377
  }
81367
81378
  if (dataTableTranslationKeys.includes(scope2)) {
@@ -81735,7 +81746,9 @@ var Table = (props) => {
81735
81746
  maxHeight = nodeHeight;
81736
81747
  }
81737
81748
  });
81738
- gridApi == null ? void 0 : gridApi.setHeaderHeight(maxHeight);
81749
+ if (!(gridApi == null ? void 0 : gridApi.destroyCalled)) {
81750
+ gridApi == null ? void 0 : gridApi.setHeaderHeight(maxHeight);
81751
+ }
81739
81752
  }
81740
81753
  React82.useEffect(() => {
81741
81754
  var _a2, _b2;
@@ -81748,7 +81761,11 @@ var Table = (props) => {
81748
81761
  gridApi.addEventListener("firstDataRendered", setHeaderHeight);
81749
81762
  setHeaderHeight();
81750
81763
  return () => {
81751
- gridApi.removeEventListener("firstDataRendered", setHeaderHeight);
81764
+ removeEventListenerFromGrid(
81765
+ "firstDataRendered",
81766
+ setHeaderHeight,
81767
+ gridApi
81768
+ );
81752
81769
  };
81753
81770
  }
81754
81771
  return;
@@ -81820,7 +81837,6 @@ var Table = (props) => {
81820
81837
  ]);
81821
81838
  React82.useEffect(() => {
81822
81839
  if (frameworkComponentsInitialized.current === true) {
81823
- console.warn("Don't update custom cells after the initial render.");
81824
81840
  setFrameworkComponents(
81825
81841
  getFrameworkComponents(
81826
81842
  headerMenuConfig,
@@ -81990,7 +82006,10 @@ var Table = (props) => {
81990
82006
  }, [internalTableContext.onTableConfigChange]);
81991
82007
  const onDisplayedColumnsChanged = React82.useCallback(
81992
82008
  (event) => {
82009
+ var _a2;
81993
82010
  if (props.onRowDragEnd) {
82011
+ if ((_a2 = event.columnApi) == null ? void 0 : _a2.destroyCalled)
82012
+ return;
81994
82013
  const firstVisibleColumn = event.columnApi.getAllGridColumns().find((col) => col.isVisible());
81995
82014
  if (!(firstVisibleColumn == null ? void 0 : firstVisibleColumn.getColDef().rowDrag)) {
81996
82015
  adjustRowDragIcon(event.api, event.columnApi);
@@ -82292,7 +82311,7 @@ var Table = (props) => {
82292
82311
  props.UNSAFE_internalAGGridOverrides ?? {}
82293
82312
  );
82294
82313
  return /* @__PURE__ */ React82.createElement(
82295
- Spinner2,
82314
+ Spinner,
82296
82315
  {
82297
82316
  loading: loadingStatus.loading,
82298
82317
  label: loadingStatus.message,
@@ -82459,7 +82478,11 @@ var TablePagination = ({
82459
82478
  }
82460
82479
  gridApi == null ? void 0 : gridApi.addEventListener("paginationChanged", onPaginationChanged);
82461
82480
  return () => {
82462
- gridApi == null ? void 0 : gridApi.removeEventListener("paginationChanged", onPaginationChanged);
82481
+ removeEventListenerFromGrid(
82482
+ "paginationChanged",
82483
+ onPaginationChanged,
82484
+ gridApi
82485
+ );
82463
82486
  };
82464
82487
  }, []);
82465
82488
  return /* @__PURE__ */ React82.createElement(
@@ -82826,9 +82849,6 @@ var QuickDateFilterRenderer = (props) => {
82826
82849
  if (onServerSideDataRequest) {
82827
82850
  return /* @__PURE__ */ React82.createElement(ServerSideQuickDateFilterRenderer, { ...props });
82828
82851
  }
82829
- console.error(
82830
- "Warning: Date Filters are currently only implemented for the serverside row model"
82831
- );
82832
82852
  return null;
82833
82853
  };
82834
82854
  var dateInputLocales = {
@@ -82925,9 +82945,6 @@ var LocationQuickFilterOverlay = React82.forwardRef(
82925
82945
  value
82926
82946
  }, ref) => {
82927
82947
  if (value && !Array.isArray(value)) {
82928
- console.warn(
82929
- "a value was set that is not compatible with this LocationQuickFilterRenderer"
82930
- );
82931
82948
  return null;
82932
82949
  }
82933
82950
  const [items, setItems] = React82.useState(options);
@@ -83024,7 +83041,7 @@ var LocationQuickFilterOverlay = React82.forwardRef(
83024
83041
  getLabel3(item)
83025
83042
  );
83026
83043
  })),
83027
- loading && /* @__PURE__ */ React82.createElement(UNSAFE_Menu.Footer, null, /* @__PURE__ */ React82.createElement(Flex, { justifyContent: "center" }, /* @__PURE__ */ React82.createElement(Spinner, { size: "sm" })))
83044
+ loading && /* @__PURE__ */ React82.createElement(UNSAFE_Menu.Footer, null, /* @__PURE__ */ React82.createElement(Flex, { justifyContent: "center" }, /* @__PURE__ */ React82.createElement(Spinner$1, { size: "sm" })))
83028
83045
  ));
83029
83046
  }
83030
83047
  );