@procore/data-table 15.0.0-alpha.4 → 15.0.0-alpha.5

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.
@@ -1161,7 +1161,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
1161
1161
  animation-iteration-count: infinite;
1162
1162
  animation-name: ag-shake-left-to-right;
1163
1163
  }
1164
- @keyframes _ag-shake-left-to-right_xxivy_1081 {
1164
+ @keyframes _ag-shake-left-to-right_b1lvr_1081 {
1165
1165
  from {
1166
1166
  padding-left: 6px;
1167
1167
  padding-right: 2px;
@@ -3322,7 +3322,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
3322
3322
  border-radius: 0.25rem;
3323
3323
  animation: ag-skeleton-loading 1.5s ease-in-out 0.5s infinite;
3324
3324
  }
3325
- @keyframes _ag-skeleton-loading_xxivy_1 {
3325
+ @keyframes _ag-skeleton-loading_b1lvr_1 {
3326
3326
  0% {
3327
3327
  opacity: 1;
3328
3328
  }
@@ -3356,7 +3356,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
3356
3356
  animation-iteration-count: infinite;
3357
3357
  animation-timing-function: linear;
3358
3358
  }
3359
- @keyframes _spin_xxivy_1 {
3359
+ @keyframes _spin_b1lvr_1 {
3360
3360
  from {
3361
3361
  transform: rotate(0deg);
3362
3362
  }
@@ -5884,6 +5884,9 @@ input[class^=ag-][type=range]:disabled {
5884
5884
  .ag-theme-alpine.ag-theme-alpine .ag-icon-tree-open::before {
5885
5885
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8px' height='4px'><path d='M0 0H8L4 4L0 0Z' fill='%232066DF'/></svg>");
5886
5886
  }
5887
+ .ag-theme-alpine.ag-theme-alpine .ag-header-cell-resize {
5888
+ right: -5px;
5889
+ }
5887
5890
  .ag-theme-alpine.ag-theme-alpine .ag-header-cell-resize::after {
5888
5891
  width: 1px;
5889
5892
  height: 100%;
@@ -6140,7 +6143,7 @@ input[class^=ag-][type=range]:disabled {
6140
6143
  display: none;
6141
6144
  }
6142
6145
 
6143
- div._contextPanel_xxivy_6626 {
6146
+ div._contextPanel_b1lvr_6629 {
6144
6147
  width: 400px;
6145
6148
  transition: all ease 500ms;
6146
6149
  flex: 0 0 auto;
@@ -6149,7 +6152,7 @@ div._contextPanel_xxivy_6626 {
6149
6152
  border: 1px solid #d6dadc;
6150
6153
  display: flex;
6151
6154
  }
6152
- div._contextPanel--hidden_xxivy_6635 {
6155
+ div._contextPanel--hidden_b1lvr_6638 {
6153
6156
  border: none;
6154
6157
  overflow: hidden;
6155
6158
  padding: 0px;
@@ -6157,51 +6160,51 @@ div._contextPanel--hidden_xxivy_6635 {
6157
6160
  width: 0px;
6158
6161
  }
6159
6162
 
6160
- ._contextPanelWrapper_xxivy_6643 {
6163
+ ._contextPanelWrapper_b1lvr_6646 {
6161
6164
  position: relative;
6162
6165
  flex-grow: 1;
6163
6166
  }
6164
6167
 
6165
- ._contextPanelBody_xxivy_6648 {
6168
+ ._contextPanelBody_b1lvr_6651 {
6166
6169
  width: clamp(380px, 400px, 100%);
6167
6170
  }
6168
6171
 
6169
- ._contextPanel-stickyHeader_xxivy_6652 {
6172
+ ._contextPanel-stickyHeader_b1lvr_6655 {
6170
6173
  background-color: #ffffff;
6171
6174
  position: sticky;
6172
6175
  top: 0;
6173
6176
  z-index: 5;
6174
6177
  }
6175
6178
 
6176
- ._filters-list_xxivy_6659 {
6179
+ ._filters-list_b1lvr_6662 {
6177
6180
  padding: 0;
6178
6181
  margin: 0;
6179
6182
  }
6180
- ._filters-list_xxivy_6659 ol {
6183
+ ._filters-list_b1lvr_6662 ol {
6181
6184
  padding: 0;
6182
6185
  margin: 0;
6183
6186
  }
6184
6187
 
6185
- ._col-drag-column-icon_xxivy_6668 {
6188
+ ._col-drag-column-icon_b1lvr_6671 {
6186
6189
  color: #6a767c;
6187
6190
  }
6188
6191
 
6189
- ._tabular-nums_xxivy_6672 {
6192
+ ._tabular-nums_b1lvr_6675 {
6190
6193
  font-variant-numeric: tabular-nums;
6191
6194
  }`;
6192
6195
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
6193
6196
  var styles_default = {
6194
- "contextPanel": "_contextPanel_xxivy_6626",
6195
- "contextPanel--hidden": "_contextPanel--hidden_xxivy_6635",
6196
- "contextPanelWrapper": "_contextPanelWrapper_xxivy_6643",
6197
- "contextPanelBody": "_contextPanelBody_xxivy_6648",
6198
- "contextPanel-stickyHeader": "_contextPanel-stickyHeader_xxivy_6652",
6199
- "filters-list": "_filters-list_xxivy_6659",
6200
- "col-drag-column-icon": "_col-drag-column-icon_xxivy_6668",
6201
- "tabular-nums": "_tabular-nums_xxivy_6672",
6202
- "ag-shake-left-to-right": "_ag-shake-left-to-right_xxivy_1081",
6203
- "ag-skeleton-loading": "_ag-skeleton-loading_xxivy_1",
6204
- "spin": "_spin_xxivy_1"
6197
+ "contextPanel": "_contextPanel_b1lvr_6629",
6198
+ "contextPanel--hidden": "_contextPanel--hidden_b1lvr_6638",
6199
+ "contextPanelWrapper": "_contextPanelWrapper_b1lvr_6646",
6200
+ "contextPanelBody": "_contextPanelBody_b1lvr_6651",
6201
+ "contextPanel-stickyHeader": "_contextPanel-stickyHeader_b1lvr_6655",
6202
+ "filters-list": "_filters-list_b1lvr_6662",
6203
+ "col-drag-column-icon": "_col-drag-column-icon_b1lvr_6671",
6204
+ "tabular-nums": "_tabular-nums_b1lvr_6675",
6205
+ "ag-shake-left-to-right": "_ag-shake-left-to-right_b1lvr_1081",
6206
+ "ag-skeleton-loading": "_ag-skeleton-loading_b1lvr_1",
6207
+ "spin": "_spin_b1lvr_1"
6205
6208
  };
6206
6209
 
6207
6210
  // src/utils/getCellValueTypographyProps.ts
@@ -8512,6 +8515,10 @@ function ClientSideMultiSelectFilterRenderer({
8512
8515
  value = [],
8513
8516
  ...props
8514
8517
  }) {
8518
+ const filterOptions = React64.useMemo(
8519
+ () => (options ?? []).map((option) => option ?? ""),
8520
+ [options]
8521
+ );
8515
8522
  return /* @__PURE__ */ React64.createElement(
8516
8523
  MultiSelect,
8517
8524
  {
@@ -8525,8 +8532,8 @@ function ClientSideMultiSelectFilterRenderer({
8525
8532
  return getLabel(columnDefinition.filterProps?.getLabel, option);
8526
8533
  },
8527
8534
  onChange,
8528
- options,
8529
- value: intersection(value || [], options)
8535
+ options: filterOptions,
8536
+ value: intersection(value || [], filterOptions)
8530
8537
  }
8531
8538
  );
8532
8539
  }
@@ -8962,6 +8969,7 @@ function ServerSideNumberFilterRenderer({
8962
8969
  }
8963
8970
  );
8964
8971
  const prevValueRef = useRef([]);
8972
+ const internalClearRef = useRef(false);
8965
8973
  const debounceTimerRef = useRef(null);
8966
8974
  useEffect(() => {
8967
8975
  return () => {
@@ -8971,9 +8979,10 @@ function ServerSideNumberFilterRenderer({
8971
8979
  };
8972
8980
  }, []);
8973
8981
  useEffect(() => {
8974
- if (prevValueRef.current.length !== 0 && value.length === 0) {
8982
+ if (prevValueRef.current.length > 0 && value.length === 0 && !internalClearRef.current) {
8975
8983
  setLocalFilter({});
8976
8984
  }
8985
+ internalClearRef.current = false;
8977
8986
  prevValueRef.current = value;
8978
8987
  }, [value]);
8979
8988
  const transformToFilterArray = (filter) => {
@@ -9059,12 +9068,19 @@ function ServerSideNumberFilterRenderer({
9059
9068
  clearTimeout(debounceTimerRef.current);
9060
9069
  }
9061
9070
  debounceTimerRef.current = setTimeout(() => {
9062
- if (next.type === "inRange") {
9063
- if (next.value !== void 0 && next.valueTo !== void 0) {
9064
- updateFilter(next);
9065
- }
9066
- } else {
9071
+ const { type, value: value2, valueTo } = next;
9072
+ if (!type) {
9073
+ onChange?.([]);
9074
+ return;
9075
+ }
9076
+ const isInRange = type === "inRange";
9077
+ const hasValues = isInRange ? value2 !== void 0 && valueTo !== void 0 : value2 !== void 0;
9078
+ if (hasValues) {
9067
9079
  updateFilter(next);
9080
+ } else {
9081
+ internalClearRef.current = true;
9082
+ setLocalFilter(next);
9083
+ onChange?.([]);
9068
9084
  }
9069
9085
  }, DEBOUNCE_TIME);
9070
9086
  },
@@ -9197,6 +9213,17 @@ function ServerSideMultiNumberFilterRenderer({
9197
9213
  const [returnedFilter] = returnedFilterArray;
9198
9214
  const next = returnedFilter ? { ...returnedFilter, operator: firstFilter.operator } : { operator: firstFilter.operator };
9199
9215
  setFirstFilter(next);
9216
+ const isCleared = !returnedFilter || !isValidFilter(returnedFilter) && !returnedFilter.type;
9217
+ if (isCleared) {
9218
+ if (debounceTimerRef.current) {
9219
+ clearTimeout(debounceTimerRef.current);
9220
+ debounceTimerRef.current = null;
9221
+ }
9222
+ setFirstFilter({ operator: "and" });
9223
+ setSecondFilter({ operator: "and" });
9224
+ onChange?.([]);
9225
+ return;
9226
+ }
9200
9227
  if (debounceTimerRef.current)
9201
9228
  clearTimeout(debounceTimerRef.current);
9202
9229
  debounceTimerRef.current = setTimeout(() => {
@@ -9215,20 +9242,12 @@ function ServerSideMultiNumberFilterRenderer({
9215
9242
  };
9216
9243
  const fireOnChange = useCallback(
9217
9244
  (f1, f2) => {
9218
- if (!f1.type) {
9219
- onChange?.([]);
9220
- setFirstFilter({ operator: "and" });
9221
- setSecondFilter({ operator: "and" });
9222
- return;
9223
- }
9224
9245
  const f1Valid = isValidFilter(f1);
9225
9246
  const f2Valid = isValidFilter(f2);
9226
9247
  const values = [f1Valid ? f1 : null, f2Valid ? f2 : null].filter(
9227
9248
  (value2) => value2 !== null
9228
9249
  );
9229
- if (values.length) {
9230
- onChange?.(values);
9231
- }
9250
+ onChange?.(values);
9232
9251
  },
9233
9252
  [onChange]
9234
9253
  );
@@ -11247,7 +11266,7 @@ var SortComponent = (props) => {
11247
11266
  return null;
11248
11267
  };
11249
11268
  var isRowSelected = (rowNode) => {
11250
- return Boolean(rowNode.selectable ? rowNode.isSelected() : true);
11269
+ return Boolean(rowNode.selectable ? rowNode.isSelected() : false);
11251
11270
  };
11252
11271
  var GenericHeaderRenderer = (props) => {
11253
11272
  const colDef = props.column.getColDef();
@@ -11300,22 +11319,26 @@ var GenericHeaderRenderer = (props) => {
11300
11319
  }, []);
11301
11320
  React64.useEffect(() => {
11302
11321
  function calculatePosition() {
11303
- const columns = props.api.getColumnState();
11304
- if (!columns?.length) {
11322
+ const visibleColumns = props.api.getAllDisplayedColumns();
11323
+ if (!visibleColumns?.length)
11305
11324
  return;
11306
- }
11307
- if (columns[0].colId === colId) {
11308
- setIsFirstColumn(true);
11309
- } else {
11310
- setIsFirstColumn(false);
11311
- }
11325
+ const isCurrentFirst = visibleColumns[0].getColId() === colId;
11326
+ setIsFirstColumn(isCurrentFirst);
11312
11327
  }
11313
11328
  props.api.addEventListener("columnMoved", calculatePosition);
11329
+ props.api.addEventListener("columnPinned", calculatePosition);
11330
+ props.api.addEventListener("columnVisible", calculatePosition);
11314
11331
  calculatePosition();
11315
11332
  return () => {
11316
11333
  removeEventListenerFromGrid("columnMoved", calculatePosition, props.api);
11334
+ removeEventListenerFromGrid("columnPinned", calculatePosition, props.api);
11335
+ removeEventListenerFromGrid(
11336
+ "columnVisible",
11337
+ calculatePosition,
11338
+ props.api
11339
+ );
11317
11340
  };
11318
- }, []);
11341
+ }, [colId, props.api]);
11319
11342
  const onSortToggled = (event) => {
11320
11343
  let currentSort = null;
11321
11344
  if (Array.from(checkbox.current?.parentElement?.children || []).includes(
@@ -11527,7 +11550,7 @@ var GenericHeaderRenderer = (props) => {
11527
11550
  return;
11528
11551
  }
11529
11552
  function updateSelectAllCheckbox(e) {
11530
- if (e.type === "selectionChanged" && e.source === "uiSelectAll") {
11553
+ if (e && e.source === "uiSelectAll") {
11531
11554
  return;
11532
11555
  }
11533
11556
  const selectionState = props.api.getServerSideSelectionState();
@@ -11540,7 +11563,10 @@ var GenericHeaderRenderer = (props) => {
11540
11563
  );
11541
11564
  const isPagination = Boolean(props.api.paginationGetRowCount());
11542
11565
  const currentRows = getCurrentRows(props.api, isPagination);
11543
- const isAllSelected = isPagination ? currentRows.length && currentRows.every(isRowSelected) : isSelectionStateSelectAll;
11566
+ const selectableRows = currentRows.filter(
11567
+ (rowNode) => rowNode.selectable
11568
+ );
11569
+ const isAllSelected = isPagination ? selectableRows.length > 0 && selectableRows.every(isRowSelected) : isSelectionStateSelectAll;
11544
11570
  const isPartialSelected = isPagination ? !isAllSelected && currentRows.some(isRowSelected) : isSelectionStatePartialSelected;
11545
11571
  if (isAllSelected) {
11546
11572
  setSelectAll("all" /* All */);
@@ -11551,7 +11577,9 @@ var GenericHeaderRenderer = (props) => {
11551
11577
  }
11552
11578
  }
11553
11579
  props.api.addEventListener(selectionChanged, updateSelectAllCheckbox);
11554
- props.api.addEventListener(paginationChanged, updateSelectAllCheckbox);
11580
+ const onPaginationChanged = () => updateSelectAllCheckbox();
11581
+ props.api.addEventListener(paginationChanged, onPaginationChanged);
11582
+ updateSelectAllCheckbox();
11555
11583
  return () => {
11556
11584
  removeEventListenerFromGrid(
11557
11585
  selectionChanged,
@@ -11560,7 +11588,7 @@ var GenericHeaderRenderer = (props) => {
11560
11588
  );
11561
11589
  removeEventListenerFromGrid(
11562
11590
  paginationChanged,
11563
- updateSelectAllCheckbox,
11591
+ onPaginationChanged,
11564
11592
  props.api
11565
11593
  );
11566
11594
  };
@@ -11788,6 +11816,11 @@ function getGroupNodes(params) {
11788
11816
  function CustomLoader(params) {
11789
11817
  const I18n = useI18nContext();
11790
11818
  const groupNodes = getGroupNodes(params);
11819
+ const internalTableContext = useInternalTableContext();
11820
+ const hasDuplicateRowIds = internalTableContext.hasDuplicateRowIds ?? false;
11821
+ if (hasDuplicateRowIds) {
11822
+ return null;
11823
+ }
11791
11824
  if (params.node === groupNodes.firstLoading) {
11792
11825
  return /* @__PURE__ */ React64.createElement(Flex, { style: { paddingLeft: "16px" } }, /* @__PURE__ */ React64.createElement(
11793
11826
  LevelIndents,
@@ -12474,7 +12507,8 @@ var InternalTableContext = React64.createContext({
12474
12507
  },
12475
12508
  totalRowCount: 0,
12476
12509
  setTotalRowCount: () => {
12477
- }
12510
+ },
12511
+ hasDuplicateRowIds: false
12478
12512
  });
12479
12513
  var useInternalTableContext = () => React64.useContext(InternalTableContext);
12480
12514
  var prng = detectPrng(true);
@@ -58688,6 +58722,7 @@ var BulkActions = (props) => {
58688
58722
  const {
58689
58723
  children,
58690
58724
  showAlways = false,
58725
+ excludeGroupRowCount = false,
58691
58726
  showEditButtonLabel = false,
58692
58727
  editButtonText
58693
58728
  } = props;
@@ -58708,9 +58743,9 @@ var BulkActions = (props) => {
58708
58743
  if (selectedRows.length === 0 && !showAlways) {
58709
58744
  return null;
58710
58745
  }
58711
- const selectedItemsDesc = I18n.t("dataTable.bulkActions.selection", {
58712
- count: selectedRows.length,
58713
- number: selectedRows.length > 1 ? I18n.t("dataTable.bulkActions.many") : I18n.t("dataTable.bulkActions.one")
58746
+ const selectedRowsCount = excludeGroupRowCount ? selectedRows.filter((row) => !row.group).length : selectedRows.length;
58747
+ const selectedItemsDesc = I18n.t("dataTable.bulkActions.selection_count", {
58748
+ count: selectedRowsCount
58714
58749
  });
58715
58750
  return /* @__PURE__ */ React64.createElement(
58716
58751
  Box,
@@ -124914,12 +124949,14 @@ var ConfigurationColumns = React64.forwardRef(
124914
124949
  ));
124915
124950
  }
124916
124951
  );
124917
- var ConfigurationPanel = ({}) => {
124952
+ var ConfigurationPanel = ({
124953
+ children
124954
+ }) => {
124918
124955
  const { contextPanel, onServerSideDataRequest, enableDynamicRowHeight } = useInternalTableContext();
124919
124956
  const I18n = useI18nContext();
124920
124957
  const configurationColumnsRef = React64.useRef();
124921
124958
  const [isAllColumnsVisible, setIsAllColumnsVisible] = React64.useState(false);
124922
- return /* @__PURE__ */ React64.createElement(Panel, null, /* @__PURE__ */ React64.createElement(Panel.Header, { onClose: contextPanel.hide }, /* @__PURE__ */ React64.createElement(Panel.Title, null, I18n.t("dataTable.tableSettings.tableSettings"))), /* @__PURE__ */ React64.createElement(Panel.Body, { className: cx18("contextPanelBody") }, !onServerSideDataRequest && !enableDynamicRowHeight && /* @__PURE__ */ React64.createElement(
124959
+ return /* @__PURE__ */ React64.createElement(Panel, null, /* @__PURE__ */ React64.createElement(Panel.Header, { onClose: contextPanel.hide }, /* @__PURE__ */ React64.createElement(Panel.Title, null, I18n.t("dataTable.tableSettings.tableSettings"))), /* @__PURE__ */ React64.createElement(Panel.Body, { className: cx18("contextPanelBody") }, children && /* @__PURE__ */ React64.createElement(Panel.Section, null, children), !onServerSideDataRequest && !enableDynamicRowHeight && /* @__PURE__ */ React64.createElement(
124923
124960
  Panel.Section,
124924
124961
  {
124925
124962
  "data-qa": "data-table-config-panel-section-row-height",
@@ -125301,6 +125338,11 @@ var de_DE_default = {
125301
125338
  error: "Entschuldigung, die Elemente konnten nicht aktualisiert werden. Versuchen Sie es noch einmal.",
125302
125339
  placeholderForField: "%{fieldName} eingeben",
125303
125340
  selection: "%{count} %{number} ausgew\xE4hlt",
125341
+ selection_count: {
125342
+ zero: "%{count} Elemente ausgew\xE4hlt",
125343
+ one: "%{count} Element ausgew\xE4hlt",
125344
+ other: "%{count} Elemente ausgew\xE4hlt"
125345
+ },
125304
125346
  success: "Die Elemente wurden erfolgreich aktualisiert.",
125305
125347
  one: "Element",
125306
125348
  many: "Elemente"
@@ -125411,6 +125453,9 @@ var de_DE_default = {
125411
125453
  selectCell: {
125412
125454
  placeholder: "{{label}} ausw\xE4hlen"
125413
125455
  },
125456
+ multiSelectCell: {
125457
+ placeholder: "Werte ausw\xE4hlen"
125458
+ },
125414
125459
  booleanCell: {
125415
125460
  options: {
125416
125461
  yes: "Ja",
@@ -125464,6 +125509,11 @@ var en_AU_default = {
125464
125509
  error: "Sorry, the items couldn't be updated. Try again.",
125465
125510
  placeholderForField: "Enter %{fieldName}",
125466
125511
  selection: "%{count} %{number} selected",
125512
+ selection_count: {
125513
+ zero: "%{count} items selected",
125514
+ one: "%{count} item selected",
125515
+ other: "%{count} items selected"
125516
+ },
125467
125517
  success: "The items were successfully updated.",
125468
125518
  one: "item",
125469
125519
  many: "items"
@@ -125476,7 +125526,7 @@ var en_AU_default = {
125476
125526
  close: "Close",
125477
125527
  locationFilter: {
125478
125528
  selectAll: "Select all",
125479
- includeSublocations: "Include sublocations",
125529
+ includeSublocations: "Include sub-locations",
125480
125530
  searchLocations: "Search locations",
125481
125531
  locations: "Locations"
125482
125532
  },
@@ -125574,6 +125624,9 @@ var en_AU_default = {
125574
125624
  selectCell: {
125575
125625
  placeholder: "Select {{label}}"
125576
125626
  },
125627
+ multiSelectCell: {
125628
+ placeholder: "Select values"
125629
+ },
125577
125630
  booleanCell: {
125578
125631
  options: {
125579
125632
  yes: "Yes",
@@ -125627,6 +125680,11 @@ var en_CA_default = {
125627
125680
  error: "Sorry, the items couldn't be updated. Try again.",
125628
125681
  placeholderForField: "Enter %{fieldName}",
125629
125682
  selection: "%{count} %{number} selected",
125683
+ selection_count: {
125684
+ zero: "%{count} items selected",
125685
+ one: "%{count} item selected",
125686
+ other: "%{count} items selected"
125687
+ },
125630
125688
  success: "The items were successfully updated.",
125631
125689
  one: "item",
125632
125690
  many: "items"
@@ -125737,6 +125795,9 @@ var en_CA_default = {
125737
125795
  selectCell: {
125738
125796
  placeholder: "Select {{label}}"
125739
125797
  },
125798
+ multiSelectCell: {
125799
+ placeholder: "Select values"
125800
+ },
125740
125801
  booleanCell: {
125741
125802
  options: {
125742
125803
  yes: "Yes",
@@ -125790,6 +125851,11 @@ var en_GB_default = {
125790
125851
  error: "Sorry, the items couldn't be updated. Try again.",
125791
125852
  placeholderForField: "Enter %{fieldName}",
125792
125853
  selection: "%{count} %{number} selected",
125854
+ selection_count: {
125855
+ zero: "%{count} items selected",
125856
+ one: "%{count} item selected",
125857
+ other: "%{count} items selected"
125858
+ },
125793
125859
  success: "The items were successfully updated.",
125794
125860
  one: "item",
125795
125861
  many: "items"
@@ -125900,6 +125966,9 @@ var en_GB_default = {
125900
125966
  selectCell: {
125901
125967
  placeholder: "Select {{label}}"
125902
125968
  },
125969
+ multiSelectCell: {
125970
+ placeholder: "Select values"
125971
+ },
125903
125972
  booleanCell: {
125904
125973
  options: {
125905
125974
  yes: "Yes",
@@ -125953,6 +126022,11 @@ var en_default = {
125953
126022
  error: "Sorry, the items couldn't be updated. Try again.",
125954
126023
  placeholderForField: "Enter %{fieldName}",
125955
126024
  selection: "%{count} %{number} selected",
126025
+ selection_count: {
126026
+ zero: "%{count} items selected",
126027
+ one: "%{count} item selected",
126028
+ other: "%{count} items selected"
126029
+ },
125956
126030
  success: "The items were successfully updated.",
125957
126031
  one: "item",
125958
126032
  many: "items"
@@ -126119,6 +126193,11 @@ var es_ES_default = {
126119
126193
  error: "No se han podido actualizar los elementos. Int\xE9ntelo de nuevo.",
126120
126194
  placeholderForField: "Introducir %{fieldName}",
126121
126195
  selection: "%{count} %{number} seleccionados",
126196
+ selection_count: {
126197
+ zero: "%{count} elementos seleccionados",
126198
+ one: "%{count} elemento seleccionado",
126199
+ other: "%{count} elementos seleccionados"
126200
+ },
126122
126201
  success: "Los elementos se han actualizado correctamente.",
126123
126202
  one: "elemento",
126124
126203
  many: "elementos"
@@ -126229,6 +126308,9 @@ var es_ES_default = {
126229
126308
  selectCell: {
126230
126309
  placeholder: "Seleccionar {{label}}"
126231
126310
  },
126311
+ multiSelectCell: {
126312
+ placeholder: "Seleccionar valores"
126313
+ },
126232
126314
  booleanCell: {
126233
126315
  options: {
126234
126316
  yes: "S\xED",
@@ -126265,8 +126347,8 @@ var es_default = {
126265
126347
  description: "Una vez que su equipo cree \xEDtems, podr\xE1 acceder a ellos aqu\xED. ",
126266
126348
  title: "No hay \xEDtems para mostrar en este momento",
126267
126349
  itemsTitle: "No hay %{itemsLabel} para mostrar en este momento",
126268
- tooltip: "El bot\xF3n %{featureName} se habilitar\xE1 una vez que agregue informaci\xF3n al %{tableName}",
126269
- searchTooltip: "La b\xFAsqueda se habilitar\xE1 una vez que agregue informaci\xF3n a %{tableName}",
126350
+ tooltip: "El bot\xF3n %{featureName} se habilitar\xE1 una vez que agregue informaci\xF3n a la %{tableName}.",
126351
+ searchTooltip: "La b\xFAsqueda se habilitar\xE1 una vez que agregue informaci\xF3n a la %{tableName}.",
126270
126352
  featureFilter: "Filtro",
126271
126353
  featureQuickFilter: "Filtro r\xE1pido",
126272
126354
  featureGroupBy: "Agrupar por",
@@ -126282,6 +126364,11 @@ var es_default = {
126282
126364
  error: "Lo sentimos, no se pudieron actualizar los \xEDtems. Vuelva a intentarlo.",
126283
126365
  placeholderForField: "Ingrese %{fieldName}",
126284
126366
  selection: "%{count} %{number} seleccionado",
126367
+ selection_count: {
126368
+ zero: "%{count} \xEDtems seleccionados",
126369
+ one: "%{count} \xEDtem seleccionado",
126370
+ other: "%{count} \xEDtems seleccionados"
126371
+ },
126285
126372
  success: "Los \xEDtems se actualizaron correctamente.",
126286
126373
  one: "\xEDtem",
126287
126374
  many: "\xEDtems"
@@ -126325,14 +126412,14 @@ var es_default = {
126325
126412
  }
126326
126413
  },
126327
126414
  loading: {
126328
- initial: "Cargando informaci\xF3n.",
126415
+ initial: "Cargando informaci\xF3n...",
126329
126416
  secondary: "Cargando informaci\xF3n. Gracias por su paciencia."
126330
126417
  },
126331
126418
  menuOptions: {
126332
126419
  sortMenuItem: {
126333
126420
  label: "Ordenar por esta columna",
126334
- sortAscItem: "Ordenar columna ascendente",
126335
- sortDescItem: "Ordenar columna descendente",
126421
+ sortAscItem: "Ordenar columna - Ascendente",
126422
+ sortDescItem: "Ordenar columna - Descendente",
126336
126423
  sortResetItem: "Columna no ordenada"
126337
126424
  },
126338
126425
  expandAllGroups: "Expandir todos los grupos",
@@ -126392,6 +126479,9 @@ var es_default = {
126392
126479
  selectCell: {
126393
126480
  placeholder: "Seleccionar {{label}}"
126394
126481
  },
126482
+ multiSelectCell: {
126483
+ placeholder: "Seleccionar valores"
126484
+ },
126395
126485
  booleanCell: {
126396
126486
  options: {
126397
126487
  yes: "S\xED",
@@ -126420,7 +126510,7 @@ var fr_CA_default = {
126420
126510
  dataTable: {
126421
126511
  emptyState: {
126422
126512
  noFilteredResults: {
126423
- description: "V\xE9rifiez l'orthographe et les options de filtrage, ou recherchez un autre mot cl\xE9.",
126513
+ description: "V\xE9rifiez l'orthographe et les options de filtrage, ou recherchez un autre mot-cl\xE9.",
126424
126514
  title: "Aucun item ne correspond \xE0 votre recherche",
126425
126515
  itemsTitle: "Aucun %{itemsLabel} ne correspond \xE0 votre recherche"
126426
126516
  },
@@ -126445,6 +126535,11 @@ var fr_CA_default = {
126445
126535
  error: "D\xE9sol\xE9, les items n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayer.",
126446
126536
  placeholderForField: "Entrez %{fieldName}",
126447
126537
  selection: "%{count} %{number} s\xE9lectionn\xE9",
126538
+ selection_count: {
126539
+ zero: "%{count}\xA0items s\xE9lectionn\xE9s",
126540
+ one: "%{count}\xA0item s\xE9lectionn\xE9",
126541
+ other: "%{count}\xA0items s\xE9lectionn\xE9s"
126542
+ },
126448
126543
  success: "Les items ont \xE9t\xE9 mis \xE0 jour avec succ\xE8s.",
126449
126544
  one: "Item",
126450
126545
  many: "items"
@@ -126555,6 +126650,9 @@ var fr_CA_default = {
126555
126650
  selectCell: {
126556
126651
  placeholder: "S\xE9lectionner {{label}}"
126557
126652
  },
126653
+ multiSelectCell: {
126654
+ placeholder: "S\xE9lectionner les valeurs"
126655
+ },
126558
126656
  booleanCell: {
126559
126657
  options: {
126560
126658
  yes: "Oui",
@@ -126608,6 +126706,11 @@ var fr_FR_default = {
126608
126706
  error: "D\xE9sol\xE9, les \xE9l\xE9ments n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayez.",
126609
126707
  placeholderForField: "Saisissez %{fieldName}",
126610
126708
  selection: "%{count} %{number} s\xE9lectionn\xE9",
126709
+ selection_count: {
126710
+ zero: "%{count}\xA0\xE9l\xE9ments s\xE9lectionn\xE9s",
126711
+ one: "%{count}\xA0\xE9l\xE9ment s\xE9lectionn\xE9",
126712
+ other: "%{count}\xA0\xE9l\xE9ments s\xE9lectionn\xE9s"
126713
+ },
126611
126714
  success: "Les \xE9l\xE9ments ont bien \xE9t\xE9 mis \xE0 jour.",
126612
126715
  one: "\xE9l\xE9ment",
126613
126716
  many: "\xE9l\xE9ments"
@@ -126718,6 +126821,9 @@ var fr_FR_default = {
126718
126821
  selectCell: {
126719
126822
  placeholder: "S\xE9lectionner {{label}}"
126720
126823
  },
126824
+ multiSelectCell: {
126825
+ placeholder: "S\xE9lectionner les valeurs"
126826
+ },
126721
126827
  booleanCell: {
126722
126828
  options: {
126723
126829
  yes: "Oui",
@@ -126771,6 +126877,11 @@ var is_IS_default = {
126771
126877
  error: "\xDEv\xED mi\xF0ur var ekki h\xE6gt a\xF0 uppf\xE6ra atri\xF0in. Reyndu aftur.",
126772
126878
  placeholderForField: "Sl\xE1\xF0u inn %{fieldName}",
126773
126879
  selection: "%{count} %{number} valinn",
126880
+ selection_count: {
126881
+ zero: "%{count} atri\xF0i valin",
126882
+ one: "%{count} atri\xF0i vali\xF0",
126883
+ other: "%{count} atri\xF0i valin"
126884
+ },
126774
126885
  success: "Atri\xF0in voru uppf\xE6r\xF0.",
126775
126886
  one: "Atri\xF0i",
126776
126887
  many: "Hlutir"
@@ -126881,6 +126992,9 @@ var is_IS_default = {
126881
126992
  selectCell: {
126882
126993
  placeholder: "Veldu {{label}}"
126883
126994
  },
126995
+ multiSelectCell: {
126996
+ placeholder: "Veldu Gildi"
126997
+ },
126884
126998
  booleanCell: {
126885
126999
  options: {
126886
127000
  yes: "J\xE1",
@@ -126934,6 +127048,11 @@ var ja_JP_default = {
126934
127048
  error: "\u7533\u3057\u8A33\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u9805\u76EE\u3092\u66F4\u65B0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",
126935
127049
  placeholderForField: "%{fieldName}\u3092\u5165\u529B",
126936
127050
  selection: "%{count}%{number}\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
127051
+ selection_count: {
127052
+ zero: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
127053
+ one: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
127054
+ other: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F"
127055
+ },
126937
127056
  success: "\u9805\u76EE\u3092\u6B63\u5E38\u306B\u66F4\u65B0\u3057\u307E\u3057\u305F\u3002",
126938
127057
  one: "\u9805\u76EE",
126939
127058
  many: "\u9805\u76EE"
@@ -127044,6 +127163,9 @@ var ja_JP_default = {
127044
127163
  selectCell: {
127045
127164
  placeholder: "{{label}}\u3092\u9078\u629E\u3059\u308B"
127046
127165
  },
127166
+ multiSelectCell: {
127167
+ placeholder: "\u5024\u3092\u9078\u629E"
127168
+ },
127047
127169
  booleanCell: {
127048
127170
  options: {
127049
127171
  yes: "\u306F\u3044",
@@ -127097,6 +127219,11 @@ var pl_PL_default = {
127097
127219
  error: "Przepraszamy, nie mo\u017Cna zaktualizowa\u0107 pozycji. Spr\xF3buj ponownie.",
127098
127220
  placeholderForField: "Wprowad\u017A %{fieldName}",
127099
127221
  selection: "Wybrano %{count} %{number}",
127222
+ selection_count: {
127223
+ zero: "Wybrano pozycje: %{count}",
127224
+ one: "Wybrano pozycji: %{count}",
127225
+ other: "Wybrano pozycje: %{count}"
127226
+ },
127100
127227
  success: "Pozycje zosta\u0142y pomy\u015Blnie zaktualizowane.",
127101
127228
  one: "pozycja",
127102
127229
  many: "pozycje"
@@ -127207,6 +127334,9 @@ var pl_PL_default = {
127207
127334
  selectCell: {
127208
127335
  placeholder: "Wybierz {{label}}"
127209
127336
  },
127337
+ multiSelectCell: {
127338
+ placeholder: "Wybierz warto\u015Bci"
127339
+ },
127210
127340
  booleanCell: {
127211
127341
  options: {
127212
127342
  yes: "Tak",
@@ -127260,6 +127390,11 @@ var pseudo_default = {
127260
127390
  error: "[\u015E\u015E\u015E\u015E\u015E\u015E\u015E\u015E\u015E\u015E\u01FF\u0159\u0159\u1E8F, \xB7 \u0167\u0127\u1E17 \xB7 \u012B\u0167\u1E17\u1E3F\u015F \xB7 \u0188\u01FF\u016D\u0140\u1E13\u019E'\u0167 \xB7 \u0180\u1E17 \xB7 \u016D\u01A5\u1E13\u0227\u0167\u1E17\u1E13. \xB7 \u0166\u0159\u1E8F \xB7 \u0227\u0260\u0227\u012B\u019E..........]",
127261
127391
  placeholderForField: "[\u1E16\u1E16\u019E\u0167\u1E17\u0159 \xB7 \xB7 [NOTRANSLATE]%{fieldName}[/NOTRANSLATE]]",
127262
127392
  selection: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 [NOTRANSLATE]%{number}[/NOTRANSLATE] \xB7 \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13]",
127393
+ selection_count: {
127394
+ zero: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 \u012B\u0167\u1E17\u1E3F\u015F \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13\u1E13]",
127395
+ one: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 \u012B\u0167\u1E17\u1E3F \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13\u1E13]",
127396
+ other: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 \u012B\u0167\u1E17\u1E3F\u015F \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13\u1E13]"
127397
+ },
127263
127398
  success: "[\u0166\u0166\u0166\u0166\u0166\u0166\u0166\u0166\u0127\u1E17 \xB7 \u012B\u0167\u1E17\u1E3F\u015F \xB7 \u1E87\u1E17\u0159\u1E17 \xB7 \u015F\u016D\u0188\u0188\u1E17\u015F\u015F\u0192\u016D\u0140\u0140\u1E8F \xB7 \u016D\u01A5\u1E13\u0227\u0167\u1E17\u1E13........]",
127264
127399
  one: "[\u012B\u0167\u1E17\u1E3F]",
127265
127400
  many: "[\u012B\u0167\u1E17\u1E3F\u015F]"
@@ -127409,8 +127544,8 @@ var pt_BR_default = {
127409
127544
  description: "Depois que sua equipe criar esses itens, voc\xEA poder\xE1 acess\xE1-los aqui. ",
127410
127545
  title: "N\xE3o H\xE1 Itens para Exibir Agora",
127411
127546
  itemsTitle: "N\xE3o H\xE1 %{itemsLabel} para Exibir Agora",
127412
- tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado assim que voc\xEA adicionar informa\xE7\xF5es ao %{tableName}",
127413
- searchTooltip: "A pesquisa ser\xE1 ativada assim que voc\xEA adicionar informa\xE7\xF5es \xE0 tabela %{tableName}",
127547
+ tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado assim que voc\xEA adicionar informa\xE7\xF5es \xE0 %{tableName}",
127548
+ searchTooltip: "A pesquisa ser\xE1 ativada assim que voc\xEA adicionar informa\xE7\xF5es \xE0 %{tableName}",
127414
127549
  featureFilter: "Filtrar",
127415
127550
  featureQuickFilter: "Filtro r\xE1pido",
127416
127551
  featureGroupBy: "Agrupar por",
@@ -127426,6 +127561,11 @@ var pt_BR_default = {
127426
127561
  error: "Lamentamos, mas n\xE3o foi poss\xEDvel atualizar os itens. Tente novamente.",
127427
127562
  placeholderForField: "Digite %{fieldName}",
127428
127563
  selection: "%{count} %{number} selecionado",
127564
+ selection_count: {
127565
+ zero: "%{count} itens selecionados",
127566
+ one: "%{count} item selecionado",
127567
+ other: "%{count} itens selecionados"
127568
+ },
127429
127569
  success: "Os itens foram atualizados com sucesso.",
127430
127570
  one: "item",
127431
127571
  many: "itens"
@@ -127536,6 +127676,9 @@ var pt_BR_default = {
127536
127676
  selectCell: {
127537
127677
  placeholder: "Selecionar {{label}}"
127538
127678
  },
127679
+ multiSelectCell: {
127680
+ placeholder: "Selecionar Valores"
127681
+ },
127539
127682
  booleanCell: {
127540
127683
  options: {
127541
127684
  yes: "Sim",
@@ -127589,6 +127732,11 @@ var th_TH_default = {
127589
127732
  error: "\u0E02\u0E2D\u0E2D\u0E20\u0E31\u0E22 \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E44\u0E14\u0E49 \u0E42\u0E1B\u0E23\u0E14\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",
127590
127733
  placeholderForField: "\u0E1B\u0E49\u0E2D\u0E19 %{fieldName}",
127591
127734
  selection: "%{count} %{number} \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01",
127735
+ selection_count: {
127736
+ zero: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
127737
+ one: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
127738
+ other: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"
127739
+ },
127592
127740
  success: "\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E33\u0E40\u0E23\u0E47\u0E08\u0E41\u0E25\u0E49\u0E27",
127593
127741
  one: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
127594
127742
  many: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"
@@ -127699,6 +127847,9 @@ var th_TH_default = {
127699
127847
  selectCell: {
127700
127848
  placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01 {{label}}"
127701
127849
  },
127850
+ multiSelectCell: {
127851
+ placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E48\u0E32"
127852
+ },
127702
127853
  booleanCell: {
127703
127854
  options: {
127704
127855
  yes: "\u0E43\u0E0A\u0E48",
@@ -127752,6 +127903,11 @@ var zh_SG_default = {
127752
127903
  error: "\u62B1\u6B49\uFF0C\u65E0\u6CD5\u66F4\u65B0\u6B64\u9879\u3002\u8BF7\u91CD\u8BD5\u3002",
127753
127904
  placeholderForField: "\u8F93\u5165 %{fieldName}",
127754
127905
  selection: "\u5DF2\u9009\u62E9 %{count} %{number}",
127906
+ selection_count: {
127907
+ zero: "\u5DF2\u9009\u62E9 %{count} \u9879",
127908
+ one: "\u5DF2\u9009\u62E9 %{count} \u9879",
127909
+ other: "\u5DF2\u9009\u62E9 %{count} \u9879"
127910
+ },
127755
127911
  success: "\u5DF2\u6210\u529F\u66F4\u65B0\u8FD9\u4E9B\u9879\u3002",
127756
127912
  one: "\u9879",
127757
127913
  many: "\u9879"
@@ -127862,6 +128018,9 @@ var zh_SG_default = {
127862
128018
  selectCell: {
127863
128019
  placeholder: "\u9009\u62E9{{label}}"
127864
128020
  },
128021
+ multiSelectCell: {
128022
+ placeholder: "\u9009\u62E9\u503C"
128023
+ },
127865
128024
  booleanCell: {
127866
128025
  options: {
127867
128026
  yes: "\u662F",
@@ -128943,6 +129102,7 @@ var DataTable = ({
128943
129102
  initialTableConfig?.rowHeight || rowSize.sm
128944
129103
  );
128945
129104
  const [gridApi, setGridApi] = React64.useState();
129105
+ const [hasDuplicateRowIds, setHasDuplicateRowIds] = React64.useState(false);
128946
129106
  const searchStorage = useSearchStorage();
128947
129107
  const filterState = useFilterState({
128948
129108
  columnDefinitions: columns,
@@ -129018,7 +129178,9 @@ var DataTable = ({
129018
129178
  gridApi?.hideOverlay.bind(gridApi),
129019
129179
  filterStorage.filtersState,
129020
129180
  searchStorage.searchValue,
129021
- setTotalRowCount
129181
+ setTotalRowCount,
129182
+ setHasDuplicateRowIds,
129183
+ getRowId
129022
129184
  )
129023
129185
  );
129024
129186
  gridApi?.paginationGoToPage(0);
@@ -129123,7 +129285,8 @@ var DataTable = ({
129123
129285
  totalRowCount,
129124
129286
  setTotalRowCount,
129125
129287
  updateServerSideDataSource,
129126
- headerCheckboxSelection: headerCheckboxSelection ?? defaultHeaderCheckboxSelection
129288
+ headerCheckboxSelection: headerCheckboxSelection ?? defaultHeaderCheckboxSelection,
129289
+ hasDuplicateRowIds
129127
129290
  }
129128
129291
  },
129129
129292
  children
@@ -129134,12 +129297,33 @@ var rowDragMoveEvent;
129134
129297
  var rowDragEndEvent;
129135
129298
  function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResponseCallback = () => {
129136
129299
  }, onNonEmptyResponseCallback = () => {
129137
- }, filters, search, setTotalRowCount) {
129300
+ }, filters, search, setTotalRowCount, setHasDuplicateRowIds, getRowId) {
129138
129301
  return {
129139
129302
  getRows: async (params) => {
129140
129303
  if (onServerSideDataRequestCallbackRef.current) {
129141
129304
  const { request, success, fail } = params;
129142
129305
  const onSuccess = (loadSuccessParams) => {
129306
+ const { rowData } = loadSuccessParams;
129307
+ if (rowData && Array.isArray(rowData) && getRowId) {
129308
+ const uniqueRowIds = /* @__PURE__ */ new Set();
129309
+ for (const row of rowData) {
129310
+ const id = getRowId({
129311
+ data: row,
129312
+ level: 0,
129313
+ api: {},
129314
+ context: {}
129315
+ });
129316
+ if (uniqueRowIds.has(id)) {
129317
+ setHasDuplicateRowIds(true);
129318
+ logger.error(
129319
+ "Duplicate row IDs detected in rowData. Check getRowId() to ensure it returns unique IDs."
129320
+ );
129321
+ fail();
129322
+ return;
129323
+ }
129324
+ uniqueRowIds.add(id);
129325
+ }
129326
+ }
129143
129327
  if (!loadSuccessParams.rowCount && request.groupKeys.length === 0) {
129144
129328
  onEmptyResponseCallback();
129145
129329
  } else {
@@ -129177,7 +129361,7 @@ var Table = (props) => {
129177
129361
  const internalTableContext = useInternalTableContext();
129178
129362
  const clientSideRowData = props.rows ? { rowData: props.rows } : {};
129179
129363
  const serverSideInfiniteScroll = internalTableContext.onServerSideDataRequest ? { serverSideInfiniteScroll: true } : {};
129180
- const { getRowHeight, gridApi } = internalTableContext;
129364
+ const { getRowHeight, gridApi, filterState } = internalTableContext;
129181
129365
  const [viewportWidth, setViewportWidth] = React64.useState(0);
129182
129366
  const rowActionsWidth = React64.useRef(0);
129183
129367
  const [tableHeight, setTableHeight] = React64.useState(0);
@@ -129392,6 +129576,13 @@ var Table = (props) => {
129392
129576
  setSiblingGroupsRowSelection(selectedGroupIndex, gridApi);
129393
129577
  }
129394
129578
  }, [internalTableContext.selectedGroupIndex]);
129579
+ React64.useEffect(() => {
129580
+ filterState.allAvailableFilters.forEach((filter) => {
129581
+ if (Array.isArray(filter.filterValues) && filter.filterValues.length === 0) {
129582
+ tableApi.removeFilter(filter.field);
129583
+ }
129584
+ });
129585
+ }, [filterState.allAvailableFilters]);
129395
129586
  function footerValueGetter(params) {
129396
129587
  if (props.getSubtotalLabel) {
129397
129588
  return props.getSubtotalLabel(
@@ -130112,7 +130303,7 @@ var ContextPanel = ({
130112
130303
  "data-qa": "data-table-context-panel",
130113
130304
  ...props
130114
130305
  },
130115
- /* @__PURE__ */ React64.createElement(Box, { className: cx19("contextPanelWrapper"), display: "flex-column" }, contextPanel.content === "configuration" && /* @__PURE__ */ React64.createElement(ConfigurationPanel, null), contextPanel.content === "bulkEdit" && /* @__PURE__ */ React64.createElement(BulkEditPanel, null), contextPanel.content === "custom" && children)
130306
+ /* @__PURE__ */ React64.createElement(Box, { className: cx19("contextPanelWrapper"), display: "flex-column" }, contextPanel.content === "configuration" && /* @__PURE__ */ React64.createElement(ConfigurationPanel, null, children), contextPanel.content === "bulkEdit" && /* @__PURE__ */ React64.createElement(BulkEditPanel, null), contextPanel.content === "custom" && children)
130116
130307
  );
130117
130308
  };
130118
130309
  function isLastColumnInGroup(params) {