@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.
@@ -1177,7 +1177,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
1177
1177
  animation-iteration-count: infinite;
1178
1178
  animation-name: ag-shake-left-to-right;
1179
1179
  }
1180
- @keyframes _ag-shake-left-to-right_xxivy_1081 {
1180
+ @keyframes _ag-shake-left-to-right_b1lvr_1081 {
1181
1181
  from {
1182
1182
  padding-left: 6px;
1183
1183
  padding-right: 2px;
@@ -3338,7 +3338,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
3338
3338
  border-radius: 0.25rem;
3339
3339
  animation: ag-skeleton-loading 1.5s ease-in-out 0.5s infinite;
3340
3340
  }
3341
- @keyframes _ag-skeleton-loading_xxivy_1 {
3341
+ @keyframes _ag-skeleton-loading_b1lvr_1 {
3342
3342
  0% {
3343
3343
  opacity: 1;
3344
3344
  }
@@ -3372,7 +3372,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
3372
3372
  animation-iteration-count: infinite;
3373
3373
  animation-timing-function: linear;
3374
3374
  }
3375
- @keyframes _spin_xxivy_1 {
3375
+ @keyframes _spin_b1lvr_1 {
3376
3376
  from {
3377
3377
  transform: rotate(0deg);
3378
3378
  }
@@ -5900,6 +5900,9 @@ input[class^=ag-][type=range]:disabled {
5900
5900
  .ag-theme-alpine.ag-theme-alpine .ag-icon-tree-open::before {
5901
5901
  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>");
5902
5902
  }
5903
+ .ag-theme-alpine.ag-theme-alpine .ag-header-cell-resize {
5904
+ right: -5px;
5905
+ }
5903
5906
  .ag-theme-alpine.ag-theme-alpine .ag-header-cell-resize::after {
5904
5907
  width: 1px;
5905
5908
  height: 100%;
@@ -6156,7 +6159,7 @@ input[class^=ag-][type=range]:disabled {
6156
6159
  display: none;
6157
6160
  }
6158
6161
 
6159
- div._contextPanel_xxivy_6626 {
6162
+ div._contextPanel_b1lvr_6629 {
6160
6163
  width: 400px;
6161
6164
  transition: all ease 500ms;
6162
6165
  flex: 0 0 auto;
@@ -6165,7 +6168,7 @@ div._contextPanel_xxivy_6626 {
6165
6168
  border: 1px solid #d6dadc;
6166
6169
  display: flex;
6167
6170
  }
6168
- div._contextPanel--hidden_xxivy_6635 {
6171
+ div._contextPanel--hidden_b1lvr_6638 {
6169
6172
  border: none;
6170
6173
  overflow: hidden;
6171
6174
  padding: 0px;
@@ -6173,51 +6176,51 @@ div._contextPanel--hidden_xxivy_6635 {
6173
6176
  width: 0px;
6174
6177
  }
6175
6178
 
6176
- ._contextPanelWrapper_xxivy_6643 {
6179
+ ._contextPanelWrapper_b1lvr_6646 {
6177
6180
  position: relative;
6178
6181
  flex-grow: 1;
6179
6182
  }
6180
6183
 
6181
- ._contextPanelBody_xxivy_6648 {
6184
+ ._contextPanelBody_b1lvr_6651 {
6182
6185
  width: clamp(380px, 400px, 100%);
6183
6186
  }
6184
6187
 
6185
- ._contextPanel-stickyHeader_xxivy_6652 {
6188
+ ._contextPanel-stickyHeader_b1lvr_6655 {
6186
6189
  background-color: #ffffff;
6187
6190
  position: sticky;
6188
6191
  top: 0;
6189
6192
  z-index: 5;
6190
6193
  }
6191
6194
 
6192
- ._filters-list_xxivy_6659 {
6195
+ ._filters-list_b1lvr_6662 {
6193
6196
  padding: 0;
6194
6197
  margin: 0;
6195
6198
  }
6196
- ._filters-list_xxivy_6659 ol {
6199
+ ._filters-list_b1lvr_6662 ol {
6197
6200
  padding: 0;
6198
6201
  margin: 0;
6199
6202
  }
6200
6203
 
6201
- ._col-drag-column-icon_xxivy_6668 {
6204
+ ._col-drag-column-icon_b1lvr_6671 {
6202
6205
  color: #6a767c;
6203
6206
  }
6204
6207
 
6205
- ._tabular-nums_xxivy_6672 {
6208
+ ._tabular-nums_b1lvr_6675 {
6206
6209
  font-variant-numeric: tabular-nums;
6207
6210
  }`;
6208
6211
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
6209
6212
  var styles_default = {
6210
- "contextPanel": "_contextPanel_xxivy_6626",
6211
- "contextPanel--hidden": "_contextPanel--hidden_xxivy_6635",
6212
- "contextPanelWrapper": "_contextPanelWrapper_xxivy_6643",
6213
- "contextPanelBody": "_contextPanelBody_xxivy_6648",
6214
- "contextPanel-stickyHeader": "_contextPanel-stickyHeader_xxivy_6652",
6215
- "filters-list": "_filters-list_xxivy_6659",
6216
- "col-drag-column-icon": "_col-drag-column-icon_xxivy_6668",
6217
- "tabular-nums": "_tabular-nums_xxivy_6672",
6218
- "ag-shake-left-to-right": "_ag-shake-left-to-right_xxivy_1081",
6219
- "ag-skeleton-loading": "_ag-skeleton-loading_xxivy_1",
6220
- "spin": "_spin_xxivy_1"
6213
+ "contextPanel": "_contextPanel_b1lvr_6629",
6214
+ "contextPanel--hidden": "_contextPanel--hidden_b1lvr_6638",
6215
+ "contextPanelWrapper": "_contextPanelWrapper_b1lvr_6646",
6216
+ "contextPanelBody": "_contextPanelBody_b1lvr_6651",
6217
+ "contextPanel-stickyHeader": "_contextPanel-stickyHeader_b1lvr_6655",
6218
+ "filters-list": "_filters-list_b1lvr_6662",
6219
+ "col-drag-column-icon": "_col-drag-column-icon_b1lvr_6671",
6220
+ "tabular-nums": "_tabular-nums_b1lvr_6675",
6221
+ "ag-shake-left-to-right": "_ag-shake-left-to-right_b1lvr_1081",
6222
+ "ag-skeleton-loading": "_ag-skeleton-loading_b1lvr_1",
6223
+ "spin": "_spin_b1lvr_1"
6221
6224
  };
6222
6225
 
6223
6226
  // src/utils/getCellValueTypographyProps.ts
@@ -8580,6 +8583,10 @@ function ClientSideMultiSelectFilterRenderer({
8580
8583
  value = [],
8581
8584
  ...props
8582
8585
  }) {
8586
+ const filterOptions = React64__default.default.useMemo(
8587
+ () => (options ?? []).map((option) => option ?? ""),
8588
+ [options]
8589
+ );
8583
8590
  return /* @__PURE__ */ React64__default.default.createElement(
8584
8591
  coreReact.MultiSelect,
8585
8592
  {
@@ -8595,8 +8602,8 @@ function ClientSideMultiSelectFilterRenderer({
8595
8602
  return getLabel((_a2 = columnDefinition.filterProps) == null ? void 0 : _a2.getLabel, option);
8596
8603
  },
8597
8604
  onChange,
8598
- options,
8599
- value: ramda.intersection(value || [], options)
8605
+ options: filterOptions,
8606
+ value: ramda.intersection(value || [], filterOptions)
8600
8607
  }
8601
8608
  );
8602
8609
  }
@@ -9037,6 +9044,7 @@ function ServerSideNumberFilterRenderer({
9037
9044
  }
9038
9045
  );
9039
9046
  const prevValueRef = React64.useRef([]);
9047
+ const internalClearRef = React64.useRef(false);
9040
9048
  const debounceTimerRef = React64.useRef(null);
9041
9049
  React64.useEffect(() => {
9042
9050
  return () => {
@@ -9046,9 +9054,10 @@ function ServerSideNumberFilterRenderer({
9046
9054
  };
9047
9055
  }, []);
9048
9056
  React64.useEffect(() => {
9049
- if (prevValueRef.current.length !== 0 && value.length === 0) {
9057
+ if (prevValueRef.current.length > 0 && value.length === 0 && !internalClearRef.current) {
9050
9058
  setLocalFilter({});
9051
9059
  }
9060
+ internalClearRef.current = false;
9052
9061
  prevValueRef.current = value;
9053
9062
  }, [value]);
9054
9063
  const transformToFilterArray = (filter) => {
@@ -9134,12 +9143,19 @@ function ServerSideNumberFilterRenderer({
9134
9143
  clearTimeout(debounceTimerRef.current);
9135
9144
  }
9136
9145
  debounceTimerRef.current = setTimeout(() => {
9137
- if (next.type === "inRange") {
9138
- if (next.value !== void 0 && next.valueTo !== void 0) {
9139
- updateFilter(next);
9140
- }
9141
- } else {
9146
+ const { type, value: value2, valueTo } = next;
9147
+ if (!type) {
9148
+ onChange == null ? void 0 : onChange([]);
9149
+ return;
9150
+ }
9151
+ const isInRange = type === "inRange";
9152
+ const hasValues = isInRange ? value2 !== void 0 && valueTo !== void 0 : value2 !== void 0;
9153
+ if (hasValues) {
9142
9154
  updateFilter(next);
9155
+ } else {
9156
+ internalClearRef.current = true;
9157
+ setLocalFilter(next);
9158
+ onChange == null ? void 0 : onChange([]);
9143
9159
  }
9144
9160
  }, DEBOUNCE_TIME);
9145
9161
  },
@@ -9273,6 +9289,17 @@ function ServerSideMultiNumberFilterRenderer({
9273
9289
  const [returnedFilter] = returnedFilterArray;
9274
9290
  const next = returnedFilter ? { ...returnedFilter, operator: firstFilter.operator } : { operator: firstFilter.operator };
9275
9291
  setFirstFilter(next);
9292
+ const isCleared = !returnedFilter || !isValidFilter(returnedFilter) && !returnedFilter.type;
9293
+ if (isCleared) {
9294
+ if (debounceTimerRef.current) {
9295
+ clearTimeout(debounceTimerRef.current);
9296
+ debounceTimerRef.current = null;
9297
+ }
9298
+ setFirstFilter({ operator: "and" });
9299
+ setSecondFilter({ operator: "and" });
9300
+ onChange == null ? void 0 : onChange([]);
9301
+ return;
9302
+ }
9276
9303
  if (debounceTimerRef.current)
9277
9304
  clearTimeout(debounceTimerRef.current);
9278
9305
  debounceTimerRef.current = setTimeout(() => {
@@ -9291,20 +9318,12 @@ function ServerSideMultiNumberFilterRenderer({
9291
9318
  };
9292
9319
  const fireOnChange = React64.useCallback(
9293
9320
  (f1, f2) => {
9294
- if (!f1.type) {
9295
- onChange == null ? void 0 : onChange([]);
9296
- setFirstFilter({ operator: "and" });
9297
- setSecondFilter({ operator: "and" });
9298
- return;
9299
- }
9300
9321
  const f1Valid = isValidFilter(f1);
9301
9322
  const f2Valid = isValidFilter(f2);
9302
9323
  const values = [f1Valid ? f1 : null, f2Valid ? f2 : null].filter(
9303
9324
  (value2) => value2 !== null
9304
9325
  );
9305
- if (values.length) {
9306
- onChange == null ? void 0 : onChange(values);
9307
- }
9326
+ onChange == null ? void 0 : onChange(values);
9308
9327
  },
9309
9328
  [onChange]
9310
9329
  );
@@ -11362,7 +11381,7 @@ var SortComponent = (props) => {
11362
11381
  return null;
11363
11382
  };
11364
11383
  var isRowSelected = (rowNode) => {
11365
- return Boolean(rowNode.selectable ? rowNode.isSelected() : true);
11384
+ return Boolean(rowNode.selectable ? rowNode.isSelected() : false);
11366
11385
  };
11367
11386
  var GenericHeaderRenderer = (props) => {
11368
11387
  var _a2;
@@ -11416,22 +11435,26 @@ var GenericHeaderRenderer = (props) => {
11416
11435
  }, []);
11417
11436
  React64__default.default.useEffect(() => {
11418
11437
  function calculatePosition() {
11419
- const columns = props.api.getColumnState();
11420
- if (!(columns == null ? void 0 : columns.length)) {
11438
+ const visibleColumns = props.api.getAllDisplayedColumns();
11439
+ if (!(visibleColumns == null ? void 0 : visibleColumns.length))
11421
11440
  return;
11422
- }
11423
- if (columns[0].colId === colId) {
11424
- setIsFirstColumn(true);
11425
- } else {
11426
- setIsFirstColumn(false);
11427
- }
11441
+ const isCurrentFirst = visibleColumns[0].getColId() === colId;
11442
+ setIsFirstColumn(isCurrentFirst);
11428
11443
  }
11429
11444
  props.api.addEventListener("columnMoved", calculatePosition);
11445
+ props.api.addEventListener("columnPinned", calculatePosition);
11446
+ props.api.addEventListener("columnVisible", calculatePosition);
11430
11447
  calculatePosition();
11431
11448
  return () => {
11432
11449
  removeEventListenerFromGrid("columnMoved", calculatePosition, props.api);
11450
+ removeEventListenerFromGrid("columnPinned", calculatePosition, props.api);
11451
+ removeEventListenerFromGrid(
11452
+ "columnVisible",
11453
+ calculatePosition,
11454
+ props.api
11455
+ );
11433
11456
  };
11434
- }, []);
11457
+ }, [colId, props.api]);
11435
11458
  const onSortToggled = (event) => {
11436
11459
  var _a3, _b, _c;
11437
11460
  let currentSort = null;
@@ -11649,7 +11672,7 @@ var GenericHeaderRenderer = (props) => {
11649
11672
  }
11650
11673
  function updateSelectAllCheckbox(e) {
11651
11674
  var _a3;
11652
- if (e.type === "selectionChanged" && e.source === "uiSelectAll") {
11675
+ if (e && e.source === "uiSelectAll") {
11653
11676
  return;
11654
11677
  }
11655
11678
  const selectionState = props.api.getServerSideSelectionState();
@@ -11662,7 +11685,10 @@ var GenericHeaderRenderer = (props) => {
11662
11685
  );
11663
11686
  const isPagination = Boolean(props.api.paginationGetRowCount());
11664
11687
  const currentRows = getCurrentRows(props.api, isPagination);
11665
- const isAllSelected = isPagination ? currentRows.length && currentRows.every(isRowSelected) : isSelectionStateSelectAll;
11688
+ const selectableRows = currentRows.filter(
11689
+ (rowNode) => rowNode.selectable
11690
+ );
11691
+ const isAllSelected = isPagination ? selectableRows.length > 0 && selectableRows.every(isRowSelected) : isSelectionStateSelectAll;
11666
11692
  const isPartialSelected = isPagination ? !isAllSelected && currentRows.some(isRowSelected) : isSelectionStatePartialSelected;
11667
11693
  if (isAllSelected) {
11668
11694
  setSelectAll("all" /* All */);
@@ -11673,7 +11699,9 @@ var GenericHeaderRenderer = (props) => {
11673
11699
  }
11674
11700
  }
11675
11701
  props.api.addEventListener(selectionChanged, updateSelectAllCheckbox);
11676
- props.api.addEventListener(paginationChanged, updateSelectAllCheckbox);
11702
+ const onPaginationChanged = () => updateSelectAllCheckbox();
11703
+ props.api.addEventListener(paginationChanged, onPaginationChanged);
11704
+ updateSelectAllCheckbox();
11677
11705
  return () => {
11678
11706
  removeEventListenerFromGrid(
11679
11707
  selectionChanged,
@@ -11682,7 +11710,7 @@ var GenericHeaderRenderer = (props) => {
11682
11710
  );
11683
11711
  removeEventListenerFromGrid(
11684
11712
  paginationChanged,
11685
- updateSelectAllCheckbox,
11713
+ onPaginationChanged,
11686
11714
  props.api
11687
11715
  );
11688
11716
  };
@@ -11913,6 +11941,11 @@ function getGroupNodes(params) {
11913
11941
  function CustomLoader(params) {
11914
11942
  const I18n = coreReact.useI18nContext();
11915
11943
  const groupNodes = getGroupNodes(params);
11944
+ const internalTableContext = useInternalTableContext();
11945
+ const hasDuplicateRowIds = internalTableContext.hasDuplicateRowIds ?? false;
11946
+ if (hasDuplicateRowIds) {
11947
+ return null;
11948
+ }
11916
11949
  if (params.node === groupNodes.firstLoading) {
11917
11950
  return /* @__PURE__ */ React64__default.default.createElement(coreReact.Flex, { style: { paddingLeft: "16px" } }, /* @__PURE__ */ React64__default.default.createElement(
11918
11951
  LevelIndents,
@@ -12617,7 +12650,8 @@ var InternalTableContext = React64__default.default.createContext({
12617
12650
  },
12618
12651
  totalRowCount: 0,
12619
12652
  setTotalRowCount: () => {
12620
- }
12653
+ },
12654
+ hasDuplicateRowIds: false
12621
12655
  });
12622
12656
  var useInternalTableContext = () => React64__default.default.useContext(InternalTableContext);
12623
12657
  var prng = ulid$1.detectPrng(true);
@@ -59170,6 +59204,7 @@ var BulkActions = (props) => {
59170
59204
  const {
59171
59205
  children,
59172
59206
  showAlways = false,
59207
+ excludeGroupRowCount = false,
59173
59208
  showEditButtonLabel = false,
59174
59209
  editButtonText
59175
59210
  } = props;
@@ -59190,9 +59225,9 @@ var BulkActions = (props) => {
59190
59225
  if (selectedRows.length === 0 && !showAlways) {
59191
59226
  return null;
59192
59227
  }
59193
- const selectedItemsDesc = I18n.t("dataTable.bulkActions.selection", {
59194
- count: selectedRows.length,
59195
- number: selectedRows.length > 1 ? I18n.t("dataTable.bulkActions.many") : I18n.t("dataTable.bulkActions.one")
59228
+ const selectedRowsCount = excludeGroupRowCount ? selectedRows.filter((row) => !row.group).length : selectedRows.length;
59229
+ const selectedItemsDesc = I18n.t("dataTable.bulkActions.selection_count", {
59230
+ count: selectedRowsCount
59196
59231
  });
59197
59232
  return /* @__PURE__ */ React64__default.default.createElement(
59198
59233
  coreReact.Box,
@@ -126026,12 +126061,14 @@ var ConfigurationColumns = React64__default.default.forwardRef(
126026
126061
  ));
126027
126062
  }
126028
126063
  );
126029
- var ConfigurationPanel = ({}) => {
126064
+ var ConfigurationPanel = ({
126065
+ children
126066
+ }) => {
126030
126067
  const { contextPanel, onServerSideDataRequest, enableDynamicRowHeight } = useInternalTableContext();
126031
126068
  const I18n = coreReact.useI18nContext();
126032
126069
  const configurationColumnsRef = React64__default.default.useRef();
126033
126070
  const [isAllColumnsVisible, setIsAllColumnsVisible] = React64__default.default.useState(false);
126034
- 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(
126071
+ 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(
126035
126072
  coreReact.Panel.Section,
126036
126073
  {
126037
126074
  "data-qa": "data-table-config-panel-section-row-height",
@@ -126421,6 +126458,11 @@ var de_DE_default = {
126421
126458
  error: "Entschuldigung, die Elemente konnten nicht aktualisiert werden. Versuchen Sie es noch einmal.",
126422
126459
  placeholderForField: "%{fieldName} eingeben",
126423
126460
  selection: "%{count} %{number} ausgew\xE4hlt",
126461
+ selection_count: {
126462
+ zero: "%{count} Elemente ausgew\xE4hlt",
126463
+ one: "%{count} Element ausgew\xE4hlt",
126464
+ other: "%{count} Elemente ausgew\xE4hlt"
126465
+ },
126424
126466
  success: "Die Elemente wurden erfolgreich aktualisiert.",
126425
126467
  one: "Element",
126426
126468
  many: "Elemente"
@@ -126531,6 +126573,9 @@ var de_DE_default = {
126531
126573
  selectCell: {
126532
126574
  placeholder: "{{label}} ausw\xE4hlen"
126533
126575
  },
126576
+ multiSelectCell: {
126577
+ placeholder: "Werte ausw\xE4hlen"
126578
+ },
126534
126579
  booleanCell: {
126535
126580
  options: {
126536
126581
  yes: "Ja",
@@ -126584,6 +126629,11 @@ var en_AU_default = {
126584
126629
  error: "Sorry, the items couldn't be updated. Try again.",
126585
126630
  placeholderForField: "Enter %{fieldName}",
126586
126631
  selection: "%{count} %{number} selected",
126632
+ selection_count: {
126633
+ zero: "%{count} items selected",
126634
+ one: "%{count} item selected",
126635
+ other: "%{count} items selected"
126636
+ },
126587
126637
  success: "The items were successfully updated.",
126588
126638
  one: "item",
126589
126639
  many: "items"
@@ -126596,7 +126646,7 @@ var en_AU_default = {
126596
126646
  close: "Close",
126597
126647
  locationFilter: {
126598
126648
  selectAll: "Select all",
126599
- includeSublocations: "Include sublocations",
126649
+ includeSublocations: "Include sub-locations",
126600
126650
  searchLocations: "Search locations",
126601
126651
  locations: "Locations"
126602
126652
  },
@@ -126694,6 +126744,9 @@ var en_AU_default = {
126694
126744
  selectCell: {
126695
126745
  placeholder: "Select {{label}}"
126696
126746
  },
126747
+ multiSelectCell: {
126748
+ placeholder: "Select values"
126749
+ },
126697
126750
  booleanCell: {
126698
126751
  options: {
126699
126752
  yes: "Yes",
@@ -126747,6 +126800,11 @@ var en_CA_default = {
126747
126800
  error: "Sorry, the items couldn't be updated. Try again.",
126748
126801
  placeholderForField: "Enter %{fieldName}",
126749
126802
  selection: "%{count} %{number} selected",
126803
+ selection_count: {
126804
+ zero: "%{count} items selected",
126805
+ one: "%{count} item selected",
126806
+ other: "%{count} items selected"
126807
+ },
126750
126808
  success: "The items were successfully updated.",
126751
126809
  one: "item",
126752
126810
  many: "items"
@@ -126857,6 +126915,9 @@ var en_CA_default = {
126857
126915
  selectCell: {
126858
126916
  placeholder: "Select {{label}}"
126859
126917
  },
126918
+ multiSelectCell: {
126919
+ placeholder: "Select values"
126920
+ },
126860
126921
  booleanCell: {
126861
126922
  options: {
126862
126923
  yes: "Yes",
@@ -126910,6 +126971,11 @@ var en_GB_default = {
126910
126971
  error: "Sorry, the items couldn't be updated. Try again.",
126911
126972
  placeholderForField: "Enter %{fieldName}",
126912
126973
  selection: "%{count} %{number} selected",
126974
+ selection_count: {
126975
+ zero: "%{count} items selected",
126976
+ one: "%{count} item selected",
126977
+ other: "%{count} items selected"
126978
+ },
126913
126979
  success: "The items were successfully updated.",
126914
126980
  one: "item",
126915
126981
  many: "items"
@@ -127020,6 +127086,9 @@ var en_GB_default = {
127020
127086
  selectCell: {
127021
127087
  placeholder: "Select {{label}}"
127022
127088
  },
127089
+ multiSelectCell: {
127090
+ placeholder: "Select values"
127091
+ },
127023
127092
  booleanCell: {
127024
127093
  options: {
127025
127094
  yes: "Yes",
@@ -127073,6 +127142,11 @@ var en_default = {
127073
127142
  error: "Sorry, the items couldn't be updated. Try again.",
127074
127143
  placeholderForField: "Enter %{fieldName}",
127075
127144
  selection: "%{count} %{number} selected",
127145
+ selection_count: {
127146
+ zero: "%{count} items selected",
127147
+ one: "%{count} item selected",
127148
+ other: "%{count} items selected"
127149
+ },
127076
127150
  success: "The items were successfully updated.",
127077
127151
  one: "item",
127078
127152
  many: "items"
@@ -127239,6 +127313,11 @@ var es_ES_default = {
127239
127313
  error: "No se han podido actualizar los elementos. Int\xE9ntelo de nuevo.",
127240
127314
  placeholderForField: "Introducir %{fieldName}",
127241
127315
  selection: "%{count} %{number} seleccionados",
127316
+ selection_count: {
127317
+ zero: "%{count} elementos seleccionados",
127318
+ one: "%{count} elemento seleccionado",
127319
+ other: "%{count} elementos seleccionados"
127320
+ },
127242
127321
  success: "Los elementos se han actualizado correctamente.",
127243
127322
  one: "elemento",
127244
127323
  many: "elementos"
@@ -127349,6 +127428,9 @@ var es_ES_default = {
127349
127428
  selectCell: {
127350
127429
  placeholder: "Seleccionar {{label}}"
127351
127430
  },
127431
+ multiSelectCell: {
127432
+ placeholder: "Seleccionar valores"
127433
+ },
127352
127434
  booleanCell: {
127353
127435
  options: {
127354
127436
  yes: "S\xED",
@@ -127385,8 +127467,8 @@ var es_default = {
127385
127467
  description: "Una vez que su equipo cree \xEDtems, podr\xE1 acceder a ellos aqu\xED. ",
127386
127468
  title: "No hay \xEDtems para mostrar en este momento",
127387
127469
  itemsTitle: "No hay %{itemsLabel} para mostrar en este momento",
127388
- tooltip: "El bot\xF3n %{featureName} se habilitar\xE1 una vez que agregue informaci\xF3n al %{tableName}",
127389
- searchTooltip: "La b\xFAsqueda se habilitar\xE1 una vez que agregue informaci\xF3n a %{tableName}",
127470
+ tooltip: "El bot\xF3n %{featureName} se habilitar\xE1 una vez que agregue informaci\xF3n a la %{tableName}.",
127471
+ searchTooltip: "La b\xFAsqueda se habilitar\xE1 una vez que agregue informaci\xF3n a la %{tableName}.",
127390
127472
  featureFilter: "Filtro",
127391
127473
  featureQuickFilter: "Filtro r\xE1pido",
127392
127474
  featureGroupBy: "Agrupar por",
@@ -127402,6 +127484,11 @@ var es_default = {
127402
127484
  error: "Lo sentimos, no se pudieron actualizar los \xEDtems. Vuelva a intentarlo.",
127403
127485
  placeholderForField: "Ingrese %{fieldName}",
127404
127486
  selection: "%{count} %{number} seleccionado",
127487
+ selection_count: {
127488
+ zero: "%{count} \xEDtems seleccionados",
127489
+ one: "%{count} \xEDtem seleccionado",
127490
+ other: "%{count} \xEDtems seleccionados"
127491
+ },
127405
127492
  success: "Los \xEDtems se actualizaron correctamente.",
127406
127493
  one: "\xEDtem",
127407
127494
  many: "\xEDtems"
@@ -127445,14 +127532,14 @@ var es_default = {
127445
127532
  }
127446
127533
  },
127447
127534
  loading: {
127448
- initial: "Cargando informaci\xF3n.",
127535
+ initial: "Cargando informaci\xF3n...",
127449
127536
  secondary: "Cargando informaci\xF3n. Gracias por su paciencia."
127450
127537
  },
127451
127538
  menuOptions: {
127452
127539
  sortMenuItem: {
127453
127540
  label: "Ordenar por esta columna",
127454
- sortAscItem: "Ordenar columna ascendente",
127455
- sortDescItem: "Ordenar columna descendente",
127541
+ sortAscItem: "Ordenar columna - Ascendente",
127542
+ sortDescItem: "Ordenar columna - Descendente",
127456
127543
  sortResetItem: "Columna no ordenada"
127457
127544
  },
127458
127545
  expandAllGroups: "Expandir todos los grupos",
@@ -127512,6 +127599,9 @@ var es_default = {
127512
127599
  selectCell: {
127513
127600
  placeholder: "Seleccionar {{label}}"
127514
127601
  },
127602
+ multiSelectCell: {
127603
+ placeholder: "Seleccionar valores"
127604
+ },
127515
127605
  booleanCell: {
127516
127606
  options: {
127517
127607
  yes: "S\xED",
@@ -127540,7 +127630,7 @@ var fr_CA_default = {
127540
127630
  dataTable: {
127541
127631
  emptyState: {
127542
127632
  noFilteredResults: {
127543
- description: "V\xE9rifiez l'orthographe et les options de filtrage, ou recherchez un autre mot cl\xE9.",
127633
+ description: "V\xE9rifiez l'orthographe et les options de filtrage, ou recherchez un autre mot-cl\xE9.",
127544
127634
  title: "Aucun item ne correspond \xE0 votre recherche",
127545
127635
  itemsTitle: "Aucun %{itemsLabel} ne correspond \xE0 votre recherche"
127546
127636
  },
@@ -127565,6 +127655,11 @@ var fr_CA_default = {
127565
127655
  error: "D\xE9sol\xE9, les items n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayer.",
127566
127656
  placeholderForField: "Entrez %{fieldName}",
127567
127657
  selection: "%{count} %{number} s\xE9lectionn\xE9",
127658
+ selection_count: {
127659
+ zero: "%{count}\xA0items s\xE9lectionn\xE9s",
127660
+ one: "%{count}\xA0item s\xE9lectionn\xE9",
127661
+ other: "%{count}\xA0items s\xE9lectionn\xE9s"
127662
+ },
127568
127663
  success: "Les items ont \xE9t\xE9 mis \xE0 jour avec succ\xE8s.",
127569
127664
  one: "Item",
127570
127665
  many: "items"
@@ -127675,6 +127770,9 @@ var fr_CA_default = {
127675
127770
  selectCell: {
127676
127771
  placeholder: "S\xE9lectionner {{label}}"
127677
127772
  },
127773
+ multiSelectCell: {
127774
+ placeholder: "S\xE9lectionner les valeurs"
127775
+ },
127678
127776
  booleanCell: {
127679
127777
  options: {
127680
127778
  yes: "Oui",
@@ -127728,6 +127826,11 @@ var fr_FR_default = {
127728
127826
  error: "D\xE9sol\xE9, les \xE9l\xE9ments n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayez.",
127729
127827
  placeholderForField: "Saisissez %{fieldName}",
127730
127828
  selection: "%{count} %{number} s\xE9lectionn\xE9",
127829
+ selection_count: {
127830
+ zero: "%{count}\xA0\xE9l\xE9ments s\xE9lectionn\xE9s",
127831
+ one: "%{count}\xA0\xE9l\xE9ment s\xE9lectionn\xE9",
127832
+ other: "%{count}\xA0\xE9l\xE9ments s\xE9lectionn\xE9s"
127833
+ },
127731
127834
  success: "Les \xE9l\xE9ments ont bien \xE9t\xE9 mis \xE0 jour.",
127732
127835
  one: "\xE9l\xE9ment",
127733
127836
  many: "\xE9l\xE9ments"
@@ -127838,6 +127941,9 @@ var fr_FR_default = {
127838
127941
  selectCell: {
127839
127942
  placeholder: "S\xE9lectionner {{label}}"
127840
127943
  },
127944
+ multiSelectCell: {
127945
+ placeholder: "S\xE9lectionner les valeurs"
127946
+ },
127841
127947
  booleanCell: {
127842
127948
  options: {
127843
127949
  yes: "Oui",
@@ -127891,6 +127997,11 @@ var is_IS_default = {
127891
127997
  error: "\xDEv\xED mi\xF0ur var ekki h\xE6gt a\xF0 uppf\xE6ra atri\xF0in. Reyndu aftur.",
127892
127998
  placeholderForField: "Sl\xE1\xF0u inn %{fieldName}",
127893
127999
  selection: "%{count} %{number} valinn",
128000
+ selection_count: {
128001
+ zero: "%{count} atri\xF0i valin",
128002
+ one: "%{count} atri\xF0i vali\xF0",
128003
+ other: "%{count} atri\xF0i valin"
128004
+ },
127894
128005
  success: "Atri\xF0in voru uppf\xE6r\xF0.",
127895
128006
  one: "Atri\xF0i",
127896
128007
  many: "Hlutir"
@@ -128001,6 +128112,9 @@ var is_IS_default = {
128001
128112
  selectCell: {
128002
128113
  placeholder: "Veldu {{label}}"
128003
128114
  },
128115
+ multiSelectCell: {
128116
+ placeholder: "Veldu Gildi"
128117
+ },
128004
128118
  booleanCell: {
128005
128119
  options: {
128006
128120
  yes: "J\xE1",
@@ -128054,6 +128168,11 @@ var ja_JP_default = {
128054
128168
  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",
128055
128169
  placeholderForField: "%{fieldName}\u3092\u5165\u529B",
128056
128170
  selection: "%{count}%{number}\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
128171
+ selection_count: {
128172
+ zero: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
128173
+ one: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
128174
+ other: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F"
128175
+ },
128057
128176
  success: "\u9805\u76EE\u3092\u6B63\u5E38\u306B\u66F4\u65B0\u3057\u307E\u3057\u305F\u3002",
128058
128177
  one: "\u9805\u76EE",
128059
128178
  many: "\u9805\u76EE"
@@ -128164,6 +128283,9 @@ var ja_JP_default = {
128164
128283
  selectCell: {
128165
128284
  placeholder: "{{label}}\u3092\u9078\u629E\u3059\u308B"
128166
128285
  },
128286
+ multiSelectCell: {
128287
+ placeholder: "\u5024\u3092\u9078\u629E"
128288
+ },
128167
128289
  booleanCell: {
128168
128290
  options: {
128169
128291
  yes: "\u306F\u3044",
@@ -128217,6 +128339,11 @@ var pl_PL_default = {
128217
128339
  error: "Przepraszamy, nie mo\u017Cna zaktualizowa\u0107 pozycji. Spr\xF3buj ponownie.",
128218
128340
  placeholderForField: "Wprowad\u017A %{fieldName}",
128219
128341
  selection: "Wybrano %{count} %{number}",
128342
+ selection_count: {
128343
+ zero: "Wybrano pozycje: %{count}",
128344
+ one: "Wybrano pozycji: %{count}",
128345
+ other: "Wybrano pozycje: %{count}"
128346
+ },
128220
128347
  success: "Pozycje zosta\u0142y pomy\u015Blnie zaktualizowane.",
128221
128348
  one: "pozycja",
128222
128349
  many: "pozycje"
@@ -128327,6 +128454,9 @@ var pl_PL_default = {
128327
128454
  selectCell: {
128328
128455
  placeholder: "Wybierz {{label}}"
128329
128456
  },
128457
+ multiSelectCell: {
128458
+ placeholder: "Wybierz warto\u015Bci"
128459
+ },
128330
128460
  booleanCell: {
128331
128461
  options: {
128332
128462
  yes: "Tak",
@@ -128380,6 +128510,11 @@ var pseudo_default = {
128380
128510
  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..........]",
128381
128511
  placeholderForField: "[\u1E16\u1E16\u019E\u0167\u1E17\u0159 \xB7 \xB7 [NOTRANSLATE]%{fieldName}[/NOTRANSLATE]]",
128382
128512
  selection: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 [NOTRANSLATE]%{number}[/NOTRANSLATE] \xB7 \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13]",
128513
+ selection_count: {
128514
+ zero: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 \u012B\u0167\u1E17\u1E3F\u015F \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13\u1E13]",
128515
+ one: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 \u012B\u0167\u1E17\u1E3F \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13\u1E13]",
128516
+ other: "[[NOTRANSLATE]%{count}[/NOTRANSLATE] \xB7 \xB7 \xB7 \u012B\u0167\u1E17\u1E3F\u015F \xB7 \u015F\u1E17\u0140\u1E17\u0188\u0167\u1E17\u1E13\u1E13\u1E13]"
128517
+ },
128383
128518
  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........]",
128384
128519
  one: "[\u012B\u0167\u1E17\u1E3F]",
128385
128520
  many: "[\u012B\u0167\u1E17\u1E3F\u015F]"
@@ -128529,8 +128664,8 @@ var pt_BR_default = {
128529
128664
  description: "Depois que sua equipe criar esses itens, voc\xEA poder\xE1 acess\xE1-los aqui. ",
128530
128665
  title: "N\xE3o H\xE1 Itens para Exibir Agora",
128531
128666
  itemsTitle: "N\xE3o H\xE1 %{itemsLabel} para Exibir Agora",
128532
- tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado assim que voc\xEA adicionar informa\xE7\xF5es ao %{tableName}",
128533
- searchTooltip: "A pesquisa ser\xE1 ativada assim que voc\xEA adicionar informa\xE7\xF5es \xE0 tabela %{tableName}",
128667
+ tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado assim que voc\xEA adicionar informa\xE7\xF5es \xE0 %{tableName}",
128668
+ searchTooltip: "A pesquisa ser\xE1 ativada assim que voc\xEA adicionar informa\xE7\xF5es \xE0 %{tableName}",
128534
128669
  featureFilter: "Filtrar",
128535
128670
  featureQuickFilter: "Filtro r\xE1pido",
128536
128671
  featureGroupBy: "Agrupar por",
@@ -128546,6 +128681,11 @@ var pt_BR_default = {
128546
128681
  error: "Lamentamos, mas n\xE3o foi poss\xEDvel atualizar os itens. Tente novamente.",
128547
128682
  placeholderForField: "Digite %{fieldName}",
128548
128683
  selection: "%{count} %{number} selecionado",
128684
+ selection_count: {
128685
+ zero: "%{count} itens selecionados",
128686
+ one: "%{count} item selecionado",
128687
+ other: "%{count} itens selecionados"
128688
+ },
128549
128689
  success: "Os itens foram atualizados com sucesso.",
128550
128690
  one: "item",
128551
128691
  many: "itens"
@@ -128656,6 +128796,9 @@ var pt_BR_default = {
128656
128796
  selectCell: {
128657
128797
  placeholder: "Selecionar {{label}}"
128658
128798
  },
128799
+ multiSelectCell: {
128800
+ placeholder: "Selecionar Valores"
128801
+ },
128659
128802
  booleanCell: {
128660
128803
  options: {
128661
128804
  yes: "Sim",
@@ -128709,6 +128852,11 @@ var th_TH_default = {
128709
128852
  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",
128710
128853
  placeholderForField: "\u0E1B\u0E49\u0E2D\u0E19 %{fieldName}",
128711
128854
  selection: "%{count} %{number} \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01",
128855
+ selection_count: {
128856
+ zero: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
128857
+ one: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
128858
+ other: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"
128859
+ },
128712
128860
  success: "\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E33\u0E40\u0E23\u0E47\u0E08\u0E41\u0E25\u0E49\u0E27",
128713
128861
  one: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
128714
128862
  many: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"
@@ -128819,6 +128967,9 @@ var th_TH_default = {
128819
128967
  selectCell: {
128820
128968
  placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01 {{label}}"
128821
128969
  },
128970
+ multiSelectCell: {
128971
+ placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E48\u0E32"
128972
+ },
128822
128973
  booleanCell: {
128823
128974
  options: {
128824
128975
  yes: "\u0E43\u0E0A\u0E48",
@@ -128872,6 +129023,11 @@ var zh_SG_default = {
128872
129023
  error: "\u62B1\u6B49\uFF0C\u65E0\u6CD5\u66F4\u65B0\u6B64\u9879\u3002\u8BF7\u91CD\u8BD5\u3002",
128873
129024
  placeholderForField: "\u8F93\u5165 %{fieldName}",
128874
129025
  selection: "\u5DF2\u9009\u62E9 %{count} %{number}",
129026
+ selection_count: {
129027
+ zero: "\u5DF2\u9009\u62E9 %{count} \u9879",
129028
+ one: "\u5DF2\u9009\u62E9 %{count} \u9879",
129029
+ other: "\u5DF2\u9009\u62E9 %{count} \u9879"
129030
+ },
128875
129031
  success: "\u5DF2\u6210\u529F\u66F4\u65B0\u8FD9\u4E9B\u9879\u3002",
128876
129032
  one: "\u9879",
128877
129033
  many: "\u9879"
@@ -128982,6 +129138,9 @@ var zh_SG_default = {
128982
129138
  selectCell: {
128983
129139
  placeholder: "\u9009\u62E9{{label}}"
128984
129140
  },
129141
+ multiSelectCell: {
129142
+ placeholder: "\u9009\u62E9\u503C"
129143
+ },
128985
129144
  booleanCell: {
128986
129145
  options: {
128987
129146
  yes: "\u662F",
@@ -130076,6 +130235,7 @@ var DataTable = ({
130076
130235
  (initialTableConfig == null ? void 0 : initialTableConfig.rowHeight) || rowSize.sm
130077
130236
  );
130078
130237
  const [gridApi, setGridApi] = React64__default.default.useState();
130238
+ const [hasDuplicateRowIds, setHasDuplicateRowIds] = React64__default.default.useState(false);
130079
130239
  const searchStorage = useSearchStorage();
130080
130240
  const filterState = useFilterState({
130081
130241
  columnDefinitions: columns,
@@ -130153,7 +130313,9 @@ var DataTable = ({
130153
130313
  gridApi == null ? void 0 : gridApi.hideOverlay.bind(gridApi),
130154
130314
  filterStorage.filtersState,
130155
130315
  searchStorage.searchValue,
130156
- setTotalRowCount
130316
+ setTotalRowCount,
130317
+ setHasDuplicateRowIds,
130318
+ getRowId
130157
130319
  )
130158
130320
  );
130159
130321
  gridApi == null ? void 0 : gridApi.paginationGoToPage(0);
@@ -130261,7 +130423,8 @@ var DataTable = ({
130261
130423
  totalRowCount,
130262
130424
  setTotalRowCount,
130263
130425
  updateServerSideDataSource,
130264
- headerCheckboxSelection: headerCheckboxSelection ?? defaultHeaderCheckboxSelection
130426
+ headerCheckboxSelection: headerCheckboxSelection ?? defaultHeaderCheckboxSelection,
130427
+ hasDuplicateRowIds
130265
130428
  }
130266
130429
  },
130267
130430
  children
@@ -130272,12 +130435,33 @@ var rowDragMoveEvent;
130272
130435
  var rowDragEndEvent;
130273
130436
  function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResponseCallback = () => {
130274
130437
  }, onNonEmptyResponseCallback = () => {
130275
- }, filters, search, setTotalRowCount) {
130438
+ }, filters, search, setTotalRowCount, setHasDuplicateRowIds, getRowId) {
130276
130439
  return {
130277
130440
  getRows: async (params) => {
130278
130441
  if (onServerSideDataRequestCallbackRef.current) {
130279
130442
  const { request, success, fail } = params;
130280
130443
  const onSuccess = (loadSuccessParams) => {
130444
+ const { rowData } = loadSuccessParams;
130445
+ if (rowData && Array.isArray(rowData) && getRowId) {
130446
+ const uniqueRowIds = /* @__PURE__ */ new Set();
130447
+ for (const row of rowData) {
130448
+ const id = getRowId({
130449
+ data: row,
130450
+ level: 0,
130451
+ api: {},
130452
+ context: {}
130453
+ });
130454
+ if (uniqueRowIds.has(id)) {
130455
+ setHasDuplicateRowIds(true);
130456
+ logger.error(
130457
+ "Duplicate row IDs detected in rowData. Check getRowId() to ensure it returns unique IDs."
130458
+ );
130459
+ fail();
130460
+ return;
130461
+ }
130462
+ uniqueRowIds.add(id);
130463
+ }
130464
+ }
130281
130465
  if (!loadSuccessParams.rowCount && request.groupKeys.length === 0) {
130282
130466
  onEmptyResponseCallback();
130283
130467
  } else {
@@ -130316,7 +130500,7 @@ var Table = (props) => {
130316
130500
  const internalTableContext = useInternalTableContext();
130317
130501
  const clientSideRowData = props.rows ? { rowData: props.rows } : {};
130318
130502
  const serverSideInfiniteScroll = internalTableContext.onServerSideDataRequest ? { serverSideInfiniteScroll: true } : {};
130319
- const { getRowHeight, gridApi } = internalTableContext;
130503
+ const { getRowHeight, gridApi, filterState } = internalTableContext;
130320
130504
  const [viewportWidth, setViewportWidth] = React64__default.default.useState(0);
130321
130505
  const rowActionsWidth = React64__default.default.useRef(0);
130322
130506
  const [tableHeight, setTableHeight] = React64__default.default.useState(0);
@@ -130543,6 +130727,13 @@ var Table = (props) => {
130543
130727
  setSiblingGroupsRowSelection(selectedGroupIndex, gridApi);
130544
130728
  }
130545
130729
  }, [internalTableContext.selectedGroupIndex]);
130730
+ React64__default.default.useEffect(() => {
130731
+ filterState.allAvailableFilters.forEach((filter) => {
130732
+ if (Array.isArray(filter.filterValues) && filter.filterValues.length === 0) {
130733
+ tableApi.removeFilter(filter.field);
130734
+ }
130735
+ });
130736
+ }, [filterState.allAvailableFilters]);
130546
130737
  function footerValueGetter(params) {
130547
130738
  var _a3, _b2;
130548
130739
  if (props.getSubtotalLabel) {
@@ -131283,7 +131474,7 @@ var ContextPanel = ({
131283
131474
  "data-qa": "data-table-context-panel",
131284
131475
  ...props
131285
131476
  },
131286
- /* @__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)
131477
+ /* @__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)
131287
131478
  );
131288
131479
  };
131289
131480
  function isLastColumnInGroup(params) {