@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.
@@ -1174,7 +1174,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
1174
1174
  animation-iteration-count: infinite;
1175
1175
  animation-name: ag-shake-left-to-right;
1176
1176
  }
1177
- @keyframes _ag-shake-left-to-right_xxivy_1081 {
1177
+ @keyframes _ag-shake-left-to-right_b1lvr_1081 {
1178
1178
  from {
1179
1179
  padding-left: 6px;
1180
1180
  padding-right: 2px;
@@ -3335,7 +3335,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
3335
3335
  border-radius: 0.25rem;
3336
3336
  animation: ag-skeleton-loading 1.5s ease-in-out 0.5s infinite;
3337
3337
  }
3338
- @keyframes _ag-skeleton-loading_xxivy_1 {
3338
+ @keyframes _ag-skeleton-loading_b1lvr_1 {
3339
3339
  0% {
3340
3340
  opacity: 1;
3341
3341
  }
@@ -3369,7 +3369,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
3369
3369
  animation-iteration-count: infinite;
3370
3370
  animation-timing-function: linear;
3371
3371
  }
3372
- @keyframes _spin_xxivy_1 {
3372
+ @keyframes _spin_b1lvr_1 {
3373
3373
  from {
3374
3374
  transform: rotate(0deg);
3375
3375
  }
@@ -5897,6 +5897,9 @@ input[class^=ag-][type=range]:disabled {
5897
5897
  .ag-theme-alpine.ag-theme-alpine .ag-icon-tree-open::before {
5898
5898
  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>");
5899
5899
  }
5900
+ .ag-theme-alpine.ag-theme-alpine .ag-header-cell-resize {
5901
+ right: -5px;
5902
+ }
5900
5903
  .ag-theme-alpine.ag-theme-alpine .ag-header-cell-resize::after {
5901
5904
  width: 1px;
5902
5905
  height: 100%;
@@ -6153,7 +6156,7 @@ input[class^=ag-][type=range]:disabled {
6153
6156
  display: none;
6154
6157
  }
6155
6158
 
6156
- div._contextPanel_xxivy_6626 {
6159
+ div._contextPanel_b1lvr_6629 {
6157
6160
  width: 400px;
6158
6161
  transition: all ease 500ms;
6159
6162
  flex: 0 0 auto;
@@ -6162,7 +6165,7 @@ div._contextPanel_xxivy_6626 {
6162
6165
  border: 1px solid #d6dadc;
6163
6166
  display: flex;
6164
6167
  }
6165
- div._contextPanel--hidden_xxivy_6635 {
6168
+ div._contextPanel--hidden_b1lvr_6638 {
6166
6169
  border: none;
6167
6170
  overflow: hidden;
6168
6171
  padding: 0px;
@@ -6170,51 +6173,51 @@ div._contextPanel--hidden_xxivy_6635 {
6170
6173
  width: 0px;
6171
6174
  }
6172
6175
 
6173
- ._contextPanelWrapper_xxivy_6643 {
6176
+ ._contextPanelWrapper_b1lvr_6646 {
6174
6177
  position: relative;
6175
6178
  flex-grow: 1;
6176
6179
  }
6177
6180
 
6178
- ._contextPanelBody_xxivy_6648 {
6181
+ ._contextPanelBody_b1lvr_6651 {
6179
6182
  width: clamp(380px, 400px, 100%);
6180
6183
  }
6181
6184
 
6182
- ._contextPanel-stickyHeader_xxivy_6652 {
6185
+ ._contextPanel-stickyHeader_b1lvr_6655 {
6183
6186
  background-color: #ffffff;
6184
6187
  position: sticky;
6185
6188
  top: 0;
6186
6189
  z-index: 5;
6187
6190
  }
6188
6191
 
6189
- ._filters-list_xxivy_6659 {
6192
+ ._filters-list_b1lvr_6662 {
6190
6193
  padding: 0;
6191
6194
  margin: 0;
6192
6195
  }
6193
- ._filters-list_xxivy_6659 ol {
6196
+ ._filters-list_b1lvr_6662 ol {
6194
6197
  padding: 0;
6195
6198
  margin: 0;
6196
6199
  }
6197
6200
 
6198
- ._col-drag-column-icon_xxivy_6668 {
6201
+ ._col-drag-column-icon_b1lvr_6671 {
6199
6202
  color: #6a767c;
6200
6203
  }
6201
6204
 
6202
- ._tabular-nums_xxivy_6672 {
6205
+ ._tabular-nums_b1lvr_6675 {
6203
6206
  font-variant-numeric: tabular-nums;
6204
6207
  }`;
6205
6208
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
6206
6209
  var styles_default = {
6207
- "contextPanel": "_contextPanel_xxivy_6626",
6208
- "contextPanel--hidden": "_contextPanel--hidden_xxivy_6635",
6209
- "contextPanelWrapper": "_contextPanelWrapper_xxivy_6643",
6210
- "contextPanelBody": "_contextPanelBody_xxivy_6648",
6211
- "contextPanel-stickyHeader": "_contextPanel-stickyHeader_xxivy_6652",
6212
- "filters-list": "_filters-list_xxivy_6659",
6213
- "col-drag-column-icon": "_col-drag-column-icon_xxivy_6668",
6214
- "tabular-nums": "_tabular-nums_xxivy_6672",
6215
- "ag-shake-left-to-right": "_ag-shake-left-to-right_xxivy_1081",
6216
- "ag-skeleton-loading": "_ag-skeleton-loading_xxivy_1",
6217
- "spin": "_spin_xxivy_1"
6210
+ "contextPanel": "_contextPanel_b1lvr_6629",
6211
+ "contextPanel--hidden": "_contextPanel--hidden_b1lvr_6638",
6212
+ "contextPanelWrapper": "_contextPanelWrapper_b1lvr_6646",
6213
+ "contextPanelBody": "_contextPanelBody_b1lvr_6651",
6214
+ "contextPanel-stickyHeader": "_contextPanel-stickyHeader_b1lvr_6655",
6215
+ "filters-list": "_filters-list_b1lvr_6662",
6216
+ "col-drag-column-icon": "_col-drag-column-icon_b1lvr_6671",
6217
+ "tabular-nums": "_tabular-nums_b1lvr_6675",
6218
+ "ag-shake-left-to-right": "_ag-shake-left-to-right_b1lvr_1081",
6219
+ "ag-skeleton-loading": "_ag-skeleton-loading_b1lvr_1",
6220
+ "spin": "_spin_b1lvr_1"
6218
6221
  };
6219
6222
 
6220
6223
  // src/utils/getCellValueTypographyProps.ts
@@ -8525,6 +8528,10 @@ function ClientSideMultiSelectFilterRenderer({
8525
8528
  value = [],
8526
8529
  ...props
8527
8530
  }) {
8531
+ const filterOptions = React64__default.default.useMemo(
8532
+ () => (options ?? []).map((option) => option ?? ""),
8533
+ [options]
8534
+ );
8528
8535
  return /* @__PURE__ */ React64__default.default.createElement(
8529
8536
  coreReact.MultiSelect,
8530
8537
  {
@@ -8538,8 +8545,8 @@ function ClientSideMultiSelectFilterRenderer({
8538
8545
  return getLabel(columnDefinition.filterProps?.getLabel, option);
8539
8546
  },
8540
8547
  onChange,
8541
- options,
8542
- value: ramda.intersection(value || [], options)
8548
+ options: filterOptions,
8549
+ value: ramda.intersection(value || [], filterOptions)
8543
8550
  }
8544
8551
  );
8545
8552
  }
@@ -8975,6 +8982,7 @@ function ServerSideNumberFilterRenderer({
8975
8982
  }
8976
8983
  );
8977
8984
  const prevValueRef = React64.useRef([]);
8985
+ const internalClearRef = React64.useRef(false);
8978
8986
  const debounceTimerRef = React64.useRef(null);
8979
8987
  React64.useEffect(() => {
8980
8988
  return () => {
@@ -8984,9 +8992,10 @@ function ServerSideNumberFilterRenderer({
8984
8992
  };
8985
8993
  }, []);
8986
8994
  React64.useEffect(() => {
8987
- if (prevValueRef.current.length !== 0 && value.length === 0) {
8995
+ if (prevValueRef.current.length > 0 && value.length === 0 && !internalClearRef.current) {
8988
8996
  setLocalFilter({});
8989
8997
  }
8998
+ internalClearRef.current = false;
8990
8999
  prevValueRef.current = value;
8991
9000
  }, [value]);
8992
9001
  const transformToFilterArray = (filter) => {
@@ -9072,12 +9081,19 @@ function ServerSideNumberFilterRenderer({
9072
9081
  clearTimeout(debounceTimerRef.current);
9073
9082
  }
9074
9083
  debounceTimerRef.current = setTimeout(() => {
9075
- if (next.type === "inRange") {
9076
- if (next.value !== void 0 && next.valueTo !== void 0) {
9077
- updateFilter(next);
9078
- }
9079
- } else {
9084
+ const { type, value: value2, valueTo } = next;
9085
+ if (!type) {
9086
+ onChange?.([]);
9087
+ return;
9088
+ }
9089
+ const isInRange = type === "inRange";
9090
+ const hasValues = isInRange ? value2 !== void 0 && valueTo !== void 0 : value2 !== void 0;
9091
+ if (hasValues) {
9080
9092
  updateFilter(next);
9093
+ } else {
9094
+ internalClearRef.current = true;
9095
+ setLocalFilter(next);
9096
+ onChange?.([]);
9081
9097
  }
9082
9098
  }, DEBOUNCE_TIME);
9083
9099
  },
@@ -9210,6 +9226,17 @@ function ServerSideMultiNumberFilterRenderer({
9210
9226
  const [returnedFilter] = returnedFilterArray;
9211
9227
  const next = returnedFilter ? { ...returnedFilter, operator: firstFilter.operator } : { operator: firstFilter.operator };
9212
9228
  setFirstFilter(next);
9229
+ const isCleared = !returnedFilter || !isValidFilter(returnedFilter) && !returnedFilter.type;
9230
+ if (isCleared) {
9231
+ if (debounceTimerRef.current) {
9232
+ clearTimeout(debounceTimerRef.current);
9233
+ debounceTimerRef.current = null;
9234
+ }
9235
+ setFirstFilter({ operator: "and" });
9236
+ setSecondFilter({ operator: "and" });
9237
+ onChange?.([]);
9238
+ return;
9239
+ }
9213
9240
  if (debounceTimerRef.current)
9214
9241
  clearTimeout(debounceTimerRef.current);
9215
9242
  debounceTimerRef.current = setTimeout(() => {
@@ -9228,20 +9255,12 @@ function ServerSideMultiNumberFilterRenderer({
9228
9255
  };
9229
9256
  const fireOnChange = React64.useCallback(
9230
9257
  (f1, f2) => {
9231
- if (!f1.type) {
9232
- onChange?.([]);
9233
- setFirstFilter({ operator: "and" });
9234
- setSecondFilter({ operator: "and" });
9235
- return;
9236
- }
9237
9258
  const f1Valid = isValidFilter(f1);
9238
9259
  const f2Valid = isValidFilter(f2);
9239
9260
  const values = [f1Valid ? f1 : null, f2Valid ? f2 : null].filter(
9240
9261
  (value2) => value2 !== null
9241
9262
  );
9242
- if (values.length) {
9243
- onChange?.(values);
9244
- }
9263
+ onChange?.(values);
9245
9264
  },
9246
9265
  [onChange]
9247
9266
  );
@@ -11260,7 +11279,7 @@ var SortComponent = (props) => {
11260
11279
  return null;
11261
11280
  };
11262
11281
  var isRowSelected = (rowNode) => {
11263
- return Boolean(rowNode.selectable ? rowNode.isSelected() : true);
11282
+ return Boolean(rowNode.selectable ? rowNode.isSelected() : false);
11264
11283
  };
11265
11284
  var GenericHeaderRenderer = (props) => {
11266
11285
  const colDef = props.column.getColDef();
@@ -11313,22 +11332,26 @@ var GenericHeaderRenderer = (props) => {
11313
11332
  }, []);
11314
11333
  React64__default.default.useEffect(() => {
11315
11334
  function calculatePosition() {
11316
- const columns = props.api.getColumnState();
11317
- if (!columns?.length) {
11335
+ const visibleColumns = props.api.getAllDisplayedColumns();
11336
+ if (!visibleColumns?.length)
11318
11337
  return;
11319
- }
11320
- if (columns[0].colId === colId) {
11321
- setIsFirstColumn(true);
11322
- } else {
11323
- setIsFirstColumn(false);
11324
- }
11338
+ const isCurrentFirst = visibleColumns[0].getColId() === colId;
11339
+ setIsFirstColumn(isCurrentFirst);
11325
11340
  }
11326
11341
  props.api.addEventListener("columnMoved", calculatePosition);
11342
+ props.api.addEventListener("columnPinned", calculatePosition);
11343
+ props.api.addEventListener("columnVisible", calculatePosition);
11327
11344
  calculatePosition();
11328
11345
  return () => {
11329
11346
  removeEventListenerFromGrid("columnMoved", calculatePosition, props.api);
11347
+ removeEventListenerFromGrid("columnPinned", calculatePosition, props.api);
11348
+ removeEventListenerFromGrid(
11349
+ "columnVisible",
11350
+ calculatePosition,
11351
+ props.api
11352
+ );
11330
11353
  };
11331
- }, []);
11354
+ }, [colId, props.api]);
11332
11355
  const onSortToggled = (event) => {
11333
11356
  let currentSort = null;
11334
11357
  if (Array.from(checkbox.current?.parentElement?.children || []).includes(
@@ -11540,7 +11563,7 @@ var GenericHeaderRenderer = (props) => {
11540
11563
  return;
11541
11564
  }
11542
11565
  function updateSelectAllCheckbox(e) {
11543
- if (e.type === "selectionChanged" && e.source === "uiSelectAll") {
11566
+ if (e && e.source === "uiSelectAll") {
11544
11567
  return;
11545
11568
  }
11546
11569
  const selectionState = props.api.getServerSideSelectionState();
@@ -11553,7 +11576,10 @@ var GenericHeaderRenderer = (props) => {
11553
11576
  );
11554
11577
  const isPagination = Boolean(props.api.paginationGetRowCount());
11555
11578
  const currentRows = getCurrentRows(props.api, isPagination);
11556
- const isAllSelected = isPagination ? currentRows.length && currentRows.every(isRowSelected) : isSelectionStateSelectAll;
11579
+ const selectableRows = currentRows.filter(
11580
+ (rowNode) => rowNode.selectable
11581
+ );
11582
+ const isAllSelected = isPagination ? selectableRows.length > 0 && selectableRows.every(isRowSelected) : isSelectionStateSelectAll;
11557
11583
  const isPartialSelected = isPagination ? !isAllSelected && currentRows.some(isRowSelected) : isSelectionStatePartialSelected;
11558
11584
  if (isAllSelected) {
11559
11585
  setSelectAll("all" /* All */);
@@ -11564,7 +11590,9 @@ var GenericHeaderRenderer = (props) => {
11564
11590
  }
11565
11591
  }
11566
11592
  props.api.addEventListener(selectionChanged, updateSelectAllCheckbox);
11567
- props.api.addEventListener(paginationChanged, updateSelectAllCheckbox);
11593
+ const onPaginationChanged = () => updateSelectAllCheckbox();
11594
+ props.api.addEventListener(paginationChanged, onPaginationChanged);
11595
+ updateSelectAllCheckbox();
11568
11596
  return () => {
11569
11597
  removeEventListenerFromGrid(
11570
11598
  selectionChanged,
@@ -11573,7 +11601,7 @@ var GenericHeaderRenderer = (props) => {
11573
11601
  );
11574
11602
  removeEventListenerFromGrid(
11575
11603
  paginationChanged,
11576
- updateSelectAllCheckbox,
11604
+ onPaginationChanged,
11577
11605
  props.api
11578
11606
  );
11579
11607
  };
@@ -11801,6 +11829,11 @@ function getGroupNodes(params) {
11801
11829
  function CustomLoader(params) {
11802
11830
  const I18n = coreReact.useI18nContext();
11803
11831
  const groupNodes = getGroupNodes(params);
11832
+ const internalTableContext = useInternalTableContext();
11833
+ const hasDuplicateRowIds = internalTableContext.hasDuplicateRowIds ?? false;
11834
+ if (hasDuplicateRowIds) {
11835
+ return null;
11836
+ }
11804
11837
  if (params.node === groupNodes.firstLoading) {
11805
11838
  return /* @__PURE__ */ React64__default.default.createElement(coreReact.Flex, { style: { paddingLeft: "16px" } }, /* @__PURE__ */ React64__default.default.createElement(
11806
11839
  LevelIndents,
@@ -12487,7 +12520,8 @@ var InternalTableContext = React64__default.default.createContext({
12487
12520
  },
12488
12521
  totalRowCount: 0,
12489
12522
  setTotalRowCount: () => {
12490
- }
12523
+ },
12524
+ hasDuplicateRowIds: false
12491
12525
  });
12492
12526
  var useInternalTableContext = () => React64__default.default.useContext(InternalTableContext);
12493
12527
  var prng = ulid$1.detectPrng(true);
@@ -58701,6 +58735,7 @@ var BulkActions = (props) => {
58701
58735
  const {
58702
58736
  children,
58703
58737
  showAlways = false,
58738
+ excludeGroupRowCount = false,
58704
58739
  showEditButtonLabel = false,
58705
58740
  editButtonText
58706
58741
  } = props;
@@ -58721,9 +58756,9 @@ var BulkActions = (props) => {
58721
58756
  if (selectedRows.length === 0 && !showAlways) {
58722
58757
  return null;
58723
58758
  }
58724
- const selectedItemsDesc = I18n.t("dataTable.bulkActions.selection", {
58725
- count: selectedRows.length,
58726
- number: selectedRows.length > 1 ? I18n.t("dataTable.bulkActions.many") : I18n.t("dataTable.bulkActions.one")
58759
+ const selectedRowsCount = excludeGroupRowCount ? selectedRows.filter((row) => !row.group).length : selectedRows.length;
58760
+ const selectedItemsDesc = I18n.t("dataTable.bulkActions.selection_count", {
58761
+ count: selectedRowsCount
58727
58762
  });
58728
58763
  return /* @__PURE__ */ React64__default.default.createElement(
58729
58764
  coreReact.Box,
@@ -124927,12 +124962,14 @@ var ConfigurationColumns = React64__default.default.forwardRef(
124927
124962
  ));
124928
124963
  }
124929
124964
  );
124930
- var ConfigurationPanel = ({}) => {
124965
+ var ConfigurationPanel = ({
124966
+ children
124967
+ }) => {
124931
124968
  const { contextPanel, onServerSideDataRequest, enableDynamicRowHeight } = useInternalTableContext();
124932
124969
  const I18n = coreReact.useI18nContext();
124933
124970
  const configurationColumnsRef = React64__default.default.useRef();
124934
124971
  const [isAllColumnsVisible, setIsAllColumnsVisible] = React64__default.default.useState(false);
124935
- return /* @__PURE__ */ React64__default.default.createElement(coreReact.Panel, null, /* @__PURE__ */ React64__default.default.createElement(coreReact.Panel.Header, { onClose: contextPanel.hide }, /* @__PURE__ */ React64__default.default.createElement(coreReact.Panel.Title, null, I18n.t("dataTable.tableSettings.tableSettings"))), /* @__PURE__ */ React64__default.default.createElement(coreReact.Panel.Body, { className: cx18("contextPanelBody") }, !onServerSideDataRequest && !enableDynamicRowHeight && /* @__PURE__ */ React64__default.default.createElement(
124972
+ return /* @__PURE__ */ React64__default.default.createElement(coreReact.Panel, null, /* @__PURE__ */ React64__default.default.createElement(coreReact.Panel.Header, { onClose: contextPanel.hide }, /* @__PURE__ */ React64__default.default.createElement(coreReact.Panel.Title, null, I18n.t("dataTable.tableSettings.tableSettings"))), /* @__PURE__ */ React64__default.default.createElement(coreReact.Panel.Body, { className: cx18("contextPanelBody") }, children && /* @__PURE__ */ React64__default.default.createElement(coreReact.Panel.Section, null, children), !onServerSideDataRequest && !enableDynamicRowHeight && /* @__PURE__ */ React64__default.default.createElement(
124936
124973
  coreReact.Panel.Section,
124937
124974
  {
124938
124975
  "data-qa": "data-table-config-panel-section-row-height",
@@ -125314,6 +125351,11 @@ var de_DE_default = {
125314
125351
  error: "Entschuldigung, die Elemente konnten nicht aktualisiert werden. Versuchen Sie es noch einmal.",
125315
125352
  placeholderForField: "%{fieldName} eingeben",
125316
125353
  selection: "%{count} %{number} ausgew\xE4hlt",
125354
+ selection_count: {
125355
+ zero: "%{count} Elemente ausgew\xE4hlt",
125356
+ one: "%{count} Element ausgew\xE4hlt",
125357
+ other: "%{count} Elemente ausgew\xE4hlt"
125358
+ },
125317
125359
  success: "Die Elemente wurden erfolgreich aktualisiert.",
125318
125360
  one: "Element",
125319
125361
  many: "Elemente"
@@ -125424,6 +125466,9 @@ var de_DE_default = {
125424
125466
  selectCell: {
125425
125467
  placeholder: "{{label}} ausw\xE4hlen"
125426
125468
  },
125469
+ multiSelectCell: {
125470
+ placeholder: "Werte ausw\xE4hlen"
125471
+ },
125427
125472
  booleanCell: {
125428
125473
  options: {
125429
125474
  yes: "Ja",
@@ -125477,6 +125522,11 @@ var en_AU_default = {
125477
125522
  error: "Sorry, the items couldn't be updated. Try again.",
125478
125523
  placeholderForField: "Enter %{fieldName}",
125479
125524
  selection: "%{count} %{number} selected",
125525
+ selection_count: {
125526
+ zero: "%{count} items selected",
125527
+ one: "%{count} item selected",
125528
+ other: "%{count} items selected"
125529
+ },
125480
125530
  success: "The items were successfully updated.",
125481
125531
  one: "item",
125482
125532
  many: "items"
@@ -125489,7 +125539,7 @@ var en_AU_default = {
125489
125539
  close: "Close",
125490
125540
  locationFilter: {
125491
125541
  selectAll: "Select all",
125492
- includeSublocations: "Include sublocations",
125542
+ includeSublocations: "Include sub-locations",
125493
125543
  searchLocations: "Search locations",
125494
125544
  locations: "Locations"
125495
125545
  },
@@ -125587,6 +125637,9 @@ var en_AU_default = {
125587
125637
  selectCell: {
125588
125638
  placeholder: "Select {{label}}"
125589
125639
  },
125640
+ multiSelectCell: {
125641
+ placeholder: "Select values"
125642
+ },
125590
125643
  booleanCell: {
125591
125644
  options: {
125592
125645
  yes: "Yes",
@@ -125640,6 +125693,11 @@ var en_CA_default = {
125640
125693
  error: "Sorry, the items couldn't be updated. Try again.",
125641
125694
  placeholderForField: "Enter %{fieldName}",
125642
125695
  selection: "%{count} %{number} selected",
125696
+ selection_count: {
125697
+ zero: "%{count} items selected",
125698
+ one: "%{count} item selected",
125699
+ other: "%{count} items selected"
125700
+ },
125643
125701
  success: "The items were successfully updated.",
125644
125702
  one: "item",
125645
125703
  many: "items"
@@ -125750,6 +125808,9 @@ var en_CA_default = {
125750
125808
  selectCell: {
125751
125809
  placeholder: "Select {{label}}"
125752
125810
  },
125811
+ multiSelectCell: {
125812
+ placeholder: "Select values"
125813
+ },
125753
125814
  booleanCell: {
125754
125815
  options: {
125755
125816
  yes: "Yes",
@@ -125803,6 +125864,11 @@ var en_GB_default = {
125803
125864
  error: "Sorry, the items couldn't be updated. Try again.",
125804
125865
  placeholderForField: "Enter %{fieldName}",
125805
125866
  selection: "%{count} %{number} selected",
125867
+ selection_count: {
125868
+ zero: "%{count} items selected",
125869
+ one: "%{count} item selected",
125870
+ other: "%{count} items selected"
125871
+ },
125806
125872
  success: "The items were successfully updated.",
125807
125873
  one: "item",
125808
125874
  many: "items"
@@ -125913,6 +125979,9 @@ var en_GB_default = {
125913
125979
  selectCell: {
125914
125980
  placeholder: "Select {{label}}"
125915
125981
  },
125982
+ multiSelectCell: {
125983
+ placeholder: "Select values"
125984
+ },
125916
125985
  booleanCell: {
125917
125986
  options: {
125918
125987
  yes: "Yes",
@@ -125966,6 +126035,11 @@ var en_default = {
125966
126035
  error: "Sorry, the items couldn't be updated. Try again.",
125967
126036
  placeholderForField: "Enter %{fieldName}",
125968
126037
  selection: "%{count} %{number} selected",
126038
+ selection_count: {
126039
+ zero: "%{count} items selected",
126040
+ one: "%{count} item selected",
126041
+ other: "%{count} items selected"
126042
+ },
125969
126043
  success: "The items were successfully updated.",
125970
126044
  one: "item",
125971
126045
  many: "items"
@@ -126132,6 +126206,11 @@ var es_ES_default = {
126132
126206
  error: "No se han podido actualizar los elementos. Int\xE9ntelo de nuevo.",
126133
126207
  placeholderForField: "Introducir %{fieldName}",
126134
126208
  selection: "%{count} %{number} seleccionados",
126209
+ selection_count: {
126210
+ zero: "%{count} elementos seleccionados",
126211
+ one: "%{count} elemento seleccionado",
126212
+ other: "%{count} elementos seleccionados"
126213
+ },
126135
126214
  success: "Los elementos se han actualizado correctamente.",
126136
126215
  one: "elemento",
126137
126216
  many: "elementos"
@@ -126242,6 +126321,9 @@ var es_ES_default = {
126242
126321
  selectCell: {
126243
126322
  placeholder: "Seleccionar {{label}}"
126244
126323
  },
126324
+ multiSelectCell: {
126325
+ placeholder: "Seleccionar valores"
126326
+ },
126245
126327
  booleanCell: {
126246
126328
  options: {
126247
126329
  yes: "S\xED",
@@ -126278,8 +126360,8 @@ var es_default = {
126278
126360
  description: "Una vez que su equipo cree \xEDtems, podr\xE1 acceder a ellos aqu\xED. ",
126279
126361
  title: "No hay \xEDtems para mostrar en este momento",
126280
126362
  itemsTitle: "No hay %{itemsLabel} para mostrar en este momento",
126281
- tooltip: "El bot\xF3n %{featureName} se habilitar\xE1 una vez que agregue informaci\xF3n al %{tableName}",
126282
- searchTooltip: "La b\xFAsqueda se habilitar\xE1 una vez que agregue informaci\xF3n a %{tableName}",
126363
+ tooltip: "El bot\xF3n %{featureName} se habilitar\xE1 una vez que agregue informaci\xF3n a la %{tableName}.",
126364
+ searchTooltip: "La b\xFAsqueda se habilitar\xE1 una vez que agregue informaci\xF3n a la %{tableName}.",
126283
126365
  featureFilter: "Filtro",
126284
126366
  featureQuickFilter: "Filtro r\xE1pido",
126285
126367
  featureGroupBy: "Agrupar por",
@@ -126295,6 +126377,11 @@ var es_default = {
126295
126377
  error: "Lo sentimos, no se pudieron actualizar los \xEDtems. Vuelva a intentarlo.",
126296
126378
  placeholderForField: "Ingrese %{fieldName}",
126297
126379
  selection: "%{count} %{number} seleccionado",
126380
+ selection_count: {
126381
+ zero: "%{count} \xEDtems seleccionados",
126382
+ one: "%{count} \xEDtem seleccionado",
126383
+ other: "%{count} \xEDtems seleccionados"
126384
+ },
126298
126385
  success: "Los \xEDtems se actualizaron correctamente.",
126299
126386
  one: "\xEDtem",
126300
126387
  many: "\xEDtems"
@@ -126338,14 +126425,14 @@ var es_default = {
126338
126425
  }
126339
126426
  },
126340
126427
  loading: {
126341
- initial: "Cargando informaci\xF3n.",
126428
+ initial: "Cargando informaci\xF3n...",
126342
126429
  secondary: "Cargando informaci\xF3n. Gracias por su paciencia."
126343
126430
  },
126344
126431
  menuOptions: {
126345
126432
  sortMenuItem: {
126346
126433
  label: "Ordenar por esta columna",
126347
- sortAscItem: "Ordenar columna ascendente",
126348
- sortDescItem: "Ordenar columna descendente",
126434
+ sortAscItem: "Ordenar columna - Ascendente",
126435
+ sortDescItem: "Ordenar columna - Descendente",
126349
126436
  sortResetItem: "Columna no ordenada"
126350
126437
  },
126351
126438
  expandAllGroups: "Expandir todos los grupos",
@@ -126405,6 +126492,9 @@ var es_default = {
126405
126492
  selectCell: {
126406
126493
  placeholder: "Seleccionar {{label}}"
126407
126494
  },
126495
+ multiSelectCell: {
126496
+ placeholder: "Seleccionar valores"
126497
+ },
126408
126498
  booleanCell: {
126409
126499
  options: {
126410
126500
  yes: "S\xED",
@@ -126433,7 +126523,7 @@ var fr_CA_default = {
126433
126523
  dataTable: {
126434
126524
  emptyState: {
126435
126525
  noFilteredResults: {
126436
- description: "V\xE9rifiez l'orthographe et les options de filtrage, ou recherchez un autre mot cl\xE9.",
126526
+ description: "V\xE9rifiez l'orthographe et les options de filtrage, ou recherchez un autre mot-cl\xE9.",
126437
126527
  title: "Aucun item ne correspond \xE0 votre recherche",
126438
126528
  itemsTitle: "Aucun %{itemsLabel} ne correspond \xE0 votre recherche"
126439
126529
  },
@@ -126458,6 +126548,11 @@ var fr_CA_default = {
126458
126548
  error: "D\xE9sol\xE9, les items n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayer.",
126459
126549
  placeholderForField: "Entrez %{fieldName}",
126460
126550
  selection: "%{count} %{number} s\xE9lectionn\xE9",
126551
+ selection_count: {
126552
+ zero: "%{count}\xA0items s\xE9lectionn\xE9s",
126553
+ one: "%{count}\xA0item s\xE9lectionn\xE9",
126554
+ other: "%{count}\xA0items s\xE9lectionn\xE9s"
126555
+ },
126461
126556
  success: "Les items ont \xE9t\xE9 mis \xE0 jour avec succ\xE8s.",
126462
126557
  one: "Item",
126463
126558
  many: "items"
@@ -126568,6 +126663,9 @@ var fr_CA_default = {
126568
126663
  selectCell: {
126569
126664
  placeholder: "S\xE9lectionner {{label}}"
126570
126665
  },
126666
+ multiSelectCell: {
126667
+ placeholder: "S\xE9lectionner les valeurs"
126668
+ },
126571
126669
  booleanCell: {
126572
126670
  options: {
126573
126671
  yes: "Oui",
@@ -126621,6 +126719,11 @@ var fr_FR_default = {
126621
126719
  error: "D\xE9sol\xE9, les \xE9l\xE9ments n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayez.",
126622
126720
  placeholderForField: "Saisissez %{fieldName}",
126623
126721
  selection: "%{count} %{number} s\xE9lectionn\xE9",
126722
+ selection_count: {
126723
+ zero: "%{count}\xA0\xE9l\xE9ments s\xE9lectionn\xE9s",
126724
+ one: "%{count}\xA0\xE9l\xE9ment s\xE9lectionn\xE9",
126725
+ other: "%{count}\xA0\xE9l\xE9ments s\xE9lectionn\xE9s"
126726
+ },
126624
126727
  success: "Les \xE9l\xE9ments ont bien \xE9t\xE9 mis \xE0 jour.",
126625
126728
  one: "\xE9l\xE9ment",
126626
126729
  many: "\xE9l\xE9ments"
@@ -126731,6 +126834,9 @@ var fr_FR_default = {
126731
126834
  selectCell: {
126732
126835
  placeholder: "S\xE9lectionner {{label}}"
126733
126836
  },
126837
+ multiSelectCell: {
126838
+ placeholder: "S\xE9lectionner les valeurs"
126839
+ },
126734
126840
  booleanCell: {
126735
126841
  options: {
126736
126842
  yes: "Oui",
@@ -126784,6 +126890,11 @@ var is_IS_default = {
126784
126890
  error: "\xDEv\xED mi\xF0ur var ekki h\xE6gt a\xF0 uppf\xE6ra atri\xF0in. Reyndu aftur.",
126785
126891
  placeholderForField: "Sl\xE1\xF0u inn %{fieldName}",
126786
126892
  selection: "%{count} %{number} valinn",
126893
+ selection_count: {
126894
+ zero: "%{count} atri\xF0i valin",
126895
+ one: "%{count} atri\xF0i vali\xF0",
126896
+ other: "%{count} atri\xF0i valin"
126897
+ },
126787
126898
  success: "Atri\xF0in voru uppf\xE6r\xF0.",
126788
126899
  one: "Atri\xF0i",
126789
126900
  many: "Hlutir"
@@ -126894,6 +127005,9 @@ var is_IS_default = {
126894
127005
  selectCell: {
126895
127006
  placeholder: "Veldu {{label}}"
126896
127007
  },
127008
+ multiSelectCell: {
127009
+ placeholder: "Veldu Gildi"
127010
+ },
126897
127011
  booleanCell: {
126898
127012
  options: {
126899
127013
  yes: "J\xE1",
@@ -126947,6 +127061,11 @@ var ja_JP_default = {
126947
127061
  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",
126948
127062
  placeholderForField: "%{fieldName}\u3092\u5165\u529B",
126949
127063
  selection: "%{count}%{number}\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
127064
+ selection_count: {
127065
+ zero: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
127066
+ one: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
127067
+ other: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F"
127068
+ },
126950
127069
  success: "\u9805\u76EE\u3092\u6B63\u5E38\u306B\u66F4\u65B0\u3057\u307E\u3057\u305F\u3002",
126951
127070
  one: "\u9805\u76EE",
126952
127071
  many: "\u9805\u76EE"
@@ -127057,6 +127176,9 @@ var ja_JP_default = {
127057
127176
  selectCell: {
127058
127177
  placeholder: "{{label}}\u3092\u9078\u629E\u3059\u308B"
127059
127178
  },
127179
+ multiSelectCell: {
127180
+ placeholder: "\u5024\u3092\u9078\u629E"
127181
+ },
127060
127182
  booleanCell: {
127061
127183
  options: {
127062
127184
  yes: "\u306F\u3044",
@@ -127110,6 +127232,11 @@ var pl_PL_default = {
127110
127232
  error: "Przepraszamy, nie mo\u017Cna zaktualizowa\u0107 pozycji. Spr\xF3buj ponownie.",
127111
127233
  placeholderForField: "Wprowad\u017A %{fieldName}",
127112
127234
  selection: "Wybrano %{count} %{number}",
127235
+ selection_count: {
127236
+ zero: "Wybrano pozycje: %{count}",
127237
+ one: "Wybrano pozycji: %{count}",
127238
+ other: "Wybrano pozycje: %{count}"
127239
+ },
127113
127240
  success: "Pozycje zosta\u0142y pomy\u015Blnie zaktualizowane.",
127114
127241
  one: "pozycja",
127115
127242
  many: "pozycje"
@@ -127220,6 +127347,9 @@ var pl_PL_default = {
127220
127347
  selectCell: {
127221
127348
  placeholder: "Wybierz {{label}}"
127222
127349
  },
127350
+ multiSelectCell: {
127351
+ placeholder: "Wybierz warto\u015Bci"
127352
+ },
127223
127353
  booleanCell: {
127224
127354
  options: {
127225
127355
  yes: "Tak",
@@ -127273,6 +127403,11 @@ var pseudo_default = {
127273
127403
  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..........]",
127274
127404
  placeholderForField: "[\u1E16\u1E16\u019E\u0167\u1E17\u0159 \xB7 \xB7 [NOTRANSLATE]%{fieldName}[/NOTRANSLATE]]",
127275
127405
  selection: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 [NOTRANSLATE]%{number}[/NOTRANSLATE] \xB7 \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13]",
127406
+ selection_count: {
127407
+ zero: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 \u012B\u0167\u1E17\u1E3F\u015F \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13\u1E13]",
127408
+ one: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 \u012B\u0167\u1E17\u1E3F \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13\u1E13]",
127409
+ other: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 \u012B\u0167\u1E17\u1E3F\u015F \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13\u1E13]"
127410
+ },
127276
127411
  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........]",
127277
127412
  one: "[\u012B\u0167\u1E17\u1E3F]",
127278
127413
  many: "[\u012B\u0167\u1E17\u1E3F\u015F]"
@@ -127422,8 +127557,8 @@ var pt_BR_default = {
127422
127557
  description: "Depois que sua equipe criar esses itens, voc\xEA poder\xE1 acess\xE1-los aqui. ",
127423
127558
  title: "N\xE3o H\xE1 Itens para Exibir Agora",
127424
127559
  itemsTitle: "N\xE3o H\xE1 %{itemsLabel} para Exibir Agora",
127425
- tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado assim que voc\xEA adicionar informa\xE7\xF5es ao %{tableName}",
127426
- searchTooltip: "A pesquisa ser\xE1 ativada assim que voc\xEA adicionar informa\xE7\xF5es \xE0 tabela %{tableName}",
127560
+ tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado assim que voc\xEA adicionar informa\xE7\xF5es \xE0 %{tableName}",
127561
+ searchTooltip: "A pesquisa ser\xE1 ativada assim que voc\xEA adicionar informa\xE7\xF5es \xE0 %{tableName}",
127427
127562
  featureFilter: "Filtrar",
127428
127563
  featureQuickFilter: "Filtro r\xE1pido",
127429
127564
  featureGroupBy: "Agrupar por",
@@ -127439,6 +127574,11 @@ var pt_BR_default = {
127439
127574
  error: "Lamentamos, mas n\xE3o foi poss\xEDvel atualizar os itens. Tente novamente.",
127440
127575
  placeholderForField: "Digite %{fieldName}",
127441
127576
  selection: "%{count} %{number} selecionado",
127577
+ selection_count: {
127578
+ zero: "%{count} itens selecionados",
127579
+ one: "%{count} item selecionado",
127580
+ other: "%{count} itens selecionados"
127581
+ },
127442
127582
  success: "Os itens foram atualizados com sucesso.",
127443
127583
  one: "item",
127444
127584
  many: "itens"
@@ -127549,6 +127689,9 @@ var pt_BR_default = {
127549
127689
  selectCell: {
127550
127690
  placeholder: "Selecionar {{label}}"
127551
127691
  },
127692
+ multiSelectCell: {
127693
+ placeholder: "Selecionar Valores"
127694
+ },
127552
127695
  booleanCell: {
127553
127696
  options: {
127554
127697
  yes: "Sim",
@@ -127602,6 +127745,11 @@ var th_TH_default = {
127602
127745
  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",
127603
127746
  placeholderForField: "\u0E1B\u0E49\u0E2D\u0E19 %{fieldName}",
127604
127747
  selection: "%{count} %{number} \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01",
127748
+ selection_count: {
127749
+ zero: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
127750
+ one: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
127751
+ other: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"
127752
+ },
127605
127753
  success: "\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E33\u0E40\u0E23\u0E47\u0E08\u0E41\u0E25\u0E49\u0E27",
127606
127754
  one: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
127607
127755
  many: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"
@@ -127712,6 +127860,9 @@ var th_TH_default = {
127712
127860
  selectCell: {
127713
127861
  placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01 {{label}}"
127714
127862
  },
127863
+ multiSelectCell: {
127864
+ placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E48\u0E32"
127865
+ },
127715
127866
  booleanCell: {
127716
127867
  options: {
127717
127868
  yes: "\u0E43\u0E0A\u0E48",
@@ -127765,6 +127916,11 @@ var zh_SG_default = {
127765
127916
  error: "\u62B1\u6B49\uFF0C\u65E0\u6CD5\u66F4\u65B0\u6B64\u9879\u3002\u8BF7\u91CD\u8BD5\u3002",
127766
127917
  placeholderForField: "\u8F93\u5165 %{fieldName}",
127767
127918
  selection: "\u5DF2\u9009\u62E9 %{count} %{number}",
127919
+ selection_count: {
127920
+ zero: "\u5DF2\u9009\u62E9 %{count} \u9879",
127921
+ one: "\u5DF2\u9009\u62E9 %{count} \u9879",
127922
+ other: "\u5DF2\u9009\u62E9 %{count} \u9879"
127923
+ },
127768
127924
  success: "\u5DF2\u6210\u529F\u66F4\u65B0\u8FD9\u4E9B\u9879\u3002",
127769
127925
  one: "\u9879",
127770
127926
  many: "\u9879"
@@ -127875,6 +128031,9 @@ var zh_SG_default = {
127875
128031
  selectCell: {
127876
128032
  placeholder: "\u9009\u62E9{{label}}"
127877
128033
  },
128034
+ multiSelectCell: {
128035
+ placeholder: "\u9009\u62E9\u503C"
128036
+ },
127878
128037
  booleanCell: {
127879
128038
  options: {
127880
128039
  yes: "\u662F",
@@ -128956,6 +129115,7 @@ var DataTable = ({
128956
129115
  initialTableConfig?.rowHeight || rowSize.sm
128957
129116
  );
128958
129117
  const [gridApi, setGridApi] = React64__default.default.useState();
129118
+ const [hasDuplicateRowIds, setHasDuplicateRowIds] = React64__default.default.useState(false);
128959
129119
  const searchStorage = useSearchStorage();
128960
129120
  const filterState = useFilterState({
128961
129121
  columnDefinitions: columns,
@@ -129031,7 +129191,9 @@ var DataTable = ({
129031
129191
  gridApi?.hideOverlay.bind(gridApi),
129032
129192
  filterStorage.filtersState,
129033
129193
  searchStorage.searchValue,
129034
- setTotalRowCount
129194
+ setTotalRowCount,
129195
+ setHasDuplicateRowIds,
129196
+ getRowId
129035
129197
  )
129036
129198
  );
129037
129199
  gridApi?.paginationGoToPage(0);
@@ -129136,7 +129298,8 @@ var DataTable = ({
129136
129298
  totalRowCount,
129137
129299
  setTotalRowCount,
129138
129300
  updateServerSideDataSource,
129139
- headerCheckboxSelection: headerCheckboxSelection ?? defaultHeaderCheckboxSelection
129301
+ headerCheckboxSelection: headerCheckboxSelection ?? defaultHeaderCheckboxSelection,
129302
+ hasDuplicateRowIds
129140
129303
  }
129141
129304
  },
129142
129305
  children
@@ -129147,12 +129310,33 @@ var rowDragMoveEvent;
129147
129310
  var rowDragEndEvent;
129148
129311
  function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResponseCallback = () => {
129149
129312
  }, onNonEmptyResponseCallback = () => {
129150
- }, filters, search, setTotalRowCount) {
129313
+ }, filters, search, setTotalRowCount, setHasDuplicateRowIds, getRowId) {
129151
129314
  return {
129152
129315
  getRows: async (params) => {
129153
129316
  if (onServerSideDataRequestCallbackRef.current) {
129154
129317
  const { request, success, fail } = params;
129155
129318
  const onSuccess = (loadSuccessParams) => {
129319
+ const { rowData } = loadSuccessParams;
129320
+ if (rowData && Array.isArray(rowData) && getRowId) {
129321
+ const uniqueRowIds = /* @__PURE__ */ new Set();
129322
+ for (const row of rowData) {
129323
+ const id = getRowId({
129324
+ data: row,
129325
+ level: 0,
129326
+ api: {},
129327
+ context: {}
129328
+ });
129329
+ if (uniqueRowIds.has(id)) {
129330
+ setHasDuplicateRowIds(true);
129331
+ logger.error(
129332
+ "Duplicate row IDs detected in rowData. Check getRowId() to ensure it returns unique IDs."
129333
+ );
129334
+ fail();
129335
+ return;
129336
+ }
129337
+ uniqueRowIds.add(id);
129338
+ }
129339
+ }
129156
129340
  if (!loadSuccessParams.rowCount && request.groupKeys.length === 0) {
129157
129341
  onEmptyResponseCallback();
129158
129342
  } else {
@@ -129190,7 +129374,7 @@ var Table = (props) => {
129190
129374
  const internalTableContext = useInternalTableContext();
129191
129375
  const clientSideRowData = props.rows ? { rowData: props.rows } : {};
129192
129376
  const serverSideInfiniteScroll = internalTableContext.onServerSideDataRequest ? { serverSideInfiniteScroll: true } : {};
129193
- const { getRowHeight, gridApi } = internalTableContext;
129377
+ const { getRowHeight, gridApi, filterState } = internalTableContext;
129194
129378
  const [viewportWidth, setViewportWidth] = React64__default.default.useState(0);
129195
129379
  const rowActionsWidth = React64__default.default.useRef(0);
129196
129380
  const [tableHeight, setTableHeight] = React64__default.default.useState(0);
@@ -129405,6 +129589,13 @@ var Table = (props) => {
129405
129589
  setSiblingGroupsRowSelection(selectedGroupIndex, gridApi);
129406
129590
  }
129407
129591
  }, [internalTableContext.selectedGroupIndex]);
129592
+ React64__default.default.useEffect(() => {
129593
+ filterState.allAvailableFilters.forEach((filter) => {
129594
+ if (Array.isArray(filter.filterValues) && filter.filterValues.length === 0) {
129595
+ tableApi.removeFilter(filter.field);
129596
+ }
129597
+ });
129598
+ }, [filterState.allAvailableFilters]);
129408
129599
  function footerValueGetter(params) {
129409
129600
  if (props.getSubtotalLabel) {
129410
129601
  return props.getSubtotalLabel(
@@ -130125,7 +130316,7 @@ var ContextPanel = ({
130125
130316
  "data-qa": "data-table-context-panel",
130126
130317
  ...props
130127
130318
  },
130128
- /* @__PURE__ */ React64__default.default.createElement(coreReact.Box, { className: cx19("contextPanelWrapper"), display: "flex-column" }, contextPanel.content === "configuration" && /* @__PURE__ */ React64__default.default.createElement(ConfigurationPanel, null), contextPanel.content === "bulkEdit" && /* @__PURE__ */ React64__default.default.createElement(BulkEditPanel, null), contextPanel.content === "custom" && children)
130319
+ /* @__PURE__ */ React64__default.default.createElement(coreReact.Box, { className: cx19("contextPanelWrapper"), display: "flex-column" }, contextPanel.content === "configuration" && /* @__PURE__ */ React64__default.default.createElement(ConfigurationPanel, null, children), contextPanel.content === "bulkEdit" && /* @__PURE__ */ React64__default.default.createElement(BulkEditPanel, null), contextPanel.content === "custom" && children)
130129
130320
  );
130130
130321
  };
130131
130322
  function isLastColumnInGroup(params) {