@procore/data-table 14.28.0-cdn.1 → 14.28.0-cdn.11

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.
@@ -1411,7 +1411,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
1411
1411
  animation-iteration-count: infinite;
1412
1412
  animation-name: ag-shake-left-to-right;
1413
1413
  }
1414
- @keyframes _ag-shake-left-to-right_1ajw9_369 {
1414
+ @keyframes _ag-shake-left-to-right_if78k_369 {
1415
1415
  from {
1416
1416
  padding-left: 6px;
1417
1417
  padding-right: 2px;
@@ -5412,7 +5412,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
5412
5412
  animation-iteration-count: infinite;
5413
5413
  animation-timing-function: linear;
5414
5414
  }
5415
- @keyframes _spin_1ajw9_1 {
5415
+ @keyframes _spin_if78k_1 {
5416
5416
  from {
5417
5417
  transform: rotate(0deg);
5418
5418
  }
@@ -7667,6 +7667,9 @@ input[class^=ag-][type=range]:disabled {
7667
7667
  .ag-theme-alpine.ag-theme-alpine .ag-icon-tree-open::before {
7668
7668
  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>");
7669
7669
  }
7670
+ .ag-theme-alpine.ag-theme-alpine .ag-header-cell-resize {
7671
+ right: -5px;
7672
+ }
7670
7673
  .ag-theme-alpine.ag-theme-alpine .ag-header-cell-resize::after {
7671
7674
  width: 1px;
7672
7675
  height: 100%;
@@ -7920,7 +7923,7 @@ input[class^=ag-][type=range]:disabled {
7920
7923
  padding-left: 16px;
7921
7924
  }
7922
7925
 
7923
- div._contextPanel_1ajw9_7156 {
7926
+ div._contextPanel_if78k_7159 {
7924
7927
  width: 400px;
7925
7928
  transition: all ease 500ms;
7926
7929
  flex: 0 0 auto;
@@ -7929,7 +7932,7 @@ div._contextPanel_1ajw9_7156 {
7929
7932
  border: 1px solid #d6dadc;
7930
7933
  display: flex;
7931
7934
  }
7932
- div._contextPanel--hidden_1ajw9_7165 {
7935
+ div._contextPanel--hidden_if78k_7168 {
7933
7936
  border: none;
7934
7937
  overflow: hidden;
7935
7938
  padding: 0px;
@@ -7937,50 +7940,50 @@ div._contextPanel--hidden_1ajw9_7165 {
7937
7940
  width: 0px;
7938
7941
  }
7939
7942
 
7940
- ._contextPanelWrapper_1ajw9_7173 {
7943
+ ._contextPanelWrapper_if78k_7176 {
7941
7944
  position: relative;
7942
7945
  flex-grow: 1;
7943
7946
  }
7944
7947
 
7945
- ._contextPanelBody_1ajw9_7178 {
7948
+ ._contextPanelBody_if78k_7181 {
7946
7949
  width: clamp(380px, 400px, 100%);
7947
7950
  }
7948
7951
 
7949
- ._contextPanel-stickyHeader_1ajw9_7182 {
7952
+ ._contextPanel-stickyHeader_if78k_7185 {
7950
7953
  background-color: #ffffff;
7951
7954
  position: sticky;
7952
7955
  top: 0;
7953
7956
  z-index: 5;
7954
7957
  }
7955
7958
 
7956
- ._filters-list_1ajw9_7189 {
7959
+ ._filters-list_if78k_7192 {
7957
7960
  padding: 0;
7958
7961
  margin: 0;
7959
7962
  }
7960
- ._filters-list_1ajw9_7189 ol {
7963
+ ._filters-list_if78k_7192 ol {
7961
7964
  padding: 0;
7962
7965
  margin: 0;
7963
7966
  }
7964
7967
 
7965
- ._col-drag-column-icon_1ajw9_7198 {
7968
+ ._col-drag-column-icon_if78k_7201 {
7966
7969
  color: #6a767c;
7967
7970
  }
7968
7971
 
7969
- ._tabular-nums_1ajw9_7202 {
7972
+ ._tabular-nums_if78k_7205 {
7970
7973
  font-variant-numeric: tabular-nums;
7971
7974
  }`;
7972
7975
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
7973
7976
  var styles_default = {
7974
- "contextPanel": "_contextPanel_1ajw9_7156",
7975
- "contextPanel--hidden": "_contextPanel--hidden_1ajw9_7165",
7976
- "contextPanelWrapper": "_contextPanelWrapper_1ajw9_7173",
7977
- "contextPanelBody": "_contextPanelBody_1ajw9_7178",
7978
- "contextPanel-stickyHeader": "_contextPanel-stickyHeader_1ajw9_7182",
7979
- "filters-list": "_filters-list_1ajw9_7189",
7980
- "col-drag-column-icon": "_col-drag-column-icon_1ajw9_7198",
7981
- "tabular-nums": "_tabular-nums_1ajw9_7202",
7982
- "ag-shake-left-to-right": "_ag-shake-left-to-right_1ajw9_369",
7983
- "spin": "_spin_1ajw9_1"
7977
+ "contextPanel": "_contextPanel_if78k_7159",
7978
+ "contextPanel--hidden": "_contextPanel--hidden_if78k_7168",
7979
+ "contextPanelWrapper": "_contextPanelWrapper_if78k_7176",
7980
+ "contextPanelBody": "_contextPanelBody_if78k_7181",
7981
+ "contextPanel-stickyHeader": "_contextPanel-stickyHeader_if78k_7185",
7982
+ "filters-list": "_filters-list_if78k_7192",
7983
+ "col-drag-column-icon": "_col-drag-column-icon_if78k_7201",
7984
+ "tabular-nums": "_tabular-nums_if78k_7205",
7985
+ "ag-shake-left-to-right": "_ag-shake-left-to-right_if78k_369",
7986
+ "spin": "_spin_if78k_1"
7984
7987
  };
7985
7988
 
7986
7989
  // src/utils/getCellValueTypographyProps.ts
@@ -54358,6 +54361,9 @@ function useFilterState({
54358
54361
  },
54359
54362
  [gridApi]
54360
54363
  );
54364
+ const filterableColumns = React80.useMemo(() => {
54365
+ return columnDefinitions.filter((colDef) => !!colDef.filterRenderer).sort(sortColumnDefinitionsByFilterIndex);
54366
+ }, [columnDefinitions]);
54361
54367
  const getFieldFilters = React80.useCallback(() => {
54362
54368
  return filterableColumns.map((column2) => {
54363
54369
  const filterInstance = getFieldFilter(column2.field);
@@ -54371,10 +54377,7 @@ function useFilterState({
54371
54377
  ...instanceOptions
54372
54378
  };
54373
54379
  }).filter((filter) => filter.instance !== void 0);
54374
- }, [getFieldFilter, gridApi]);
54375
- const filterableColumns = React80.useMemo(() => {
54376
- return columnDefinitions.filter((colDef) => !!colDef.filterRenderer).sort(sortColumnDefinitionsByFilterIndex);
54377
- }, [columnDefinitions]);
54380
+ }, [getFieldFilter, gridApi, filterableColumns]);
54378
54381
  const filterEventFunction = function filterEventFunction2() {
54379
54382
  if (listenersEnabled.current) {
54380
54383
  const allFilters = getFieldFilters();
@@ -54490,6 +54493,10 @@ function ClientSideMultiSelectFilterRenderer({
54490
54493
  value = [],
54491
54494
  ...props
54492
54495
  }) {
54496
+ const filterOptions = React80.useMemo(
54497
+ () => (options ?? []).map((option) => option ?? ""),
54498
+ [options]
54499
+ );
54493
54500
  return /* @__PURE__ */ React80.createElement(
54494
54501
  MultiSelect,
54495
54502
  {
@@ -54505,8 +54512,8 @@ function ClientSideMultiSelectFilterRenderer({
54505
54512
  return getLabel((_a = columnDefinition.filterProps) == null ? void 0 : _a.getLabel, option);
54506
54513
  },
54507
54514
  onChange,
54508
- options,
54509
- value: intersection(value || [], options)
54515
+ options: filterOptions,
54516
+ value: intersection(value || [], filterOptions)
54510
54517
  }
54511
54518
  );
54512
54519
  }
@@ -57242,7 +57249,7 @@ var SortComponent = (props) => {
57242
57249
  return null;
57243
57250
  };
57244
57251
  var isRowSelected = (rowNode) => {
57245
- return Boolean(rowNode.selectable ? rowNode.isSelected() : true);
57252
+ return Boolean(rowNode.selectable ? rowNode.isSelected() : false);
57246
57253
  };
57247
57254
  var GenericHeaderRenderer = (props) => {
57248
57255
  var _a;
@@ -57298,22 +57305,26 @@ var GenericHeaderRenderer = (props) => {
57298
57305
  }, []);
57299
57306
  React80.useEffect(() => {
57300
57307
  function calculatePosition() {
57301
- const columns = props.columnApi.getColumnState();
57302
- if (!(columns == null ? void 0 : columns.length)) {
57308
+ const visibleColumns = props.columnApi.getAllDisplayedColumns();
57309
+ if (!(visibleColumns == null ? void 0 : visibleColumns.length))
57303
57310
  return;
57304
- }
57305
- if (columns[0].colId === colId) {
57306
- setIsFirstColumn(true);
57307
- } else {
57308
- setIsFirstColumn(false);
57309
- }
57311
+ const isCurrentFirst = visibleColumns[0].getColId() === colId;
57312
+ setIsFirstColumn(isCurrentFirst);
57310
57313
  }
57311
57314
  props.api.addEventListener("columnMoved", calculatePosition);
57315
+ props.api.addEventListener("columnPinned", calculatePosition);
57316
+ props.api.addEventListener("columnVisible", calculatePosition);
57312
57317
  calculatePosition();
57313
57318
  return () => {
57314
57319
  removeEventListenerFromGrid("columnMoved", calculatePosition, props.api);
57320
+ removeEventListenerFromGrid("columnPinned", calculatePosition, props.api);
57321
+ removeEventListenerFromGrid(
57322
+ "columnVisible",
57323
+ calculatePosition,
57324
+ props.api
57325
+ );
57315
57326
  };
57316
- }, []);
57327
+ }, [colId, props.api]);
57317
57328
  const onSortToggled = (event) => {
57318
57329
  var _a2, _b, _c;
57319
57330
  let currentSort = null;
@@ -57531,7 +57542,7 @@ var GenericHeaderRenderer = (props) => {
57531
57542
  }
57532
57543
  function updateSelectAllCheckbox(e) {
57533
57544
  var _a2;
57534
- if (e.source === "uiSelectAll") {
57545
+ if (e && e.source === "uiSelectAll") {
57535
57546
  return;
57536
57547
  }
57537
57548
  const selectionState = props.api.getServerSideSelectionState();
@@ -57544,7 +57555,10 @@ var GenericHeaderRenderer = (props) => {
57544
57555
  );
57545
57556
  const isPagination = Boolean(props.api.paginationGetRowCount());
57546
57557
  const currentRows = getCurrentRows(props.api, isPagination);
57547
- const isAllSelected = isPagination ? currentRows.length && currentRows.every(isRowSelected) : isSelectionStateSelectAll;
57558
+ const selectableRows = currentRows.filter(
57559
+ (rowNode) => rowNode.selectable
57560
+ );
57561
+ const isAllSelected = isPagination ? selectableRows.length > 0 && selectableRows.every(isRowSelected) : isSelectionStateSelectAll;
57548
57562
  const isPartialSelected = isPagination ? !isAllSelected && currentRows.some(isRowSelected) : isSelectionStatePartialSelected;
57549
57563
  if (isAllSelected) {
57550
57564
  setSelectAll("all" /* All */);
@@ -57556,6 +57570,7 @@ var GenericHeaderRenderer = (props) => {
57556
57570
  }
57557
57571
  props.api.addEventListener(selectionChanged, updateSelectAllCheckbox);
57558
57572
  props.api.addEventListener(paginationChanged, updateSelectAllCheckbox);
57573
+ updateSelectAllCheckbox();
57559
57574
  return () => {
57560
57575
  removeEventListenerFromGrid(
57561
57576
  selectionChanged,
@@ -57793,6 +57808,11 @@ function getGroupNodes(params) {
57793
57808
  function CustomLoader(params) {
57794
57809
  const I18n = useI18nContext();
57795
57810
  const groupNodes = getGroupNodes(params);
57811
+ const internalTableContext = useInternalTableContext();
57812
+ const hasDuplicateRowIds = internalTableContext.hasDuplicateRowIds ?? false;
57813
+ if (hasDuplicateRowIds) {
57814
+ return null;
57815
+ }
57796
57816
  if (params.node === groupNodes.firstLoading) {
57797
57817
  return /* @__PURE__ */ React80.createElement(Flex, { style: { paddingLeft: "16px" } }, /* @__PURE__ */ React80.createElement(
57798
57818
  LevelIndents,
@@ -58500,7 +58520,8 @@ var InternalTableContext = React80.createContext({
58500
58520
  },
58501
58521
  totalRowCount: 0,
58502
58522
  setTotalRowCount: () => {
58503
- }
58523
+ },
58524
+ hasDuplicateRowIds: false
58504
58525
  });
58505
58526
  var useInternalTableContext = () => React80.useContext(InternalTableContext);
58506
58527
  var prng = detectPrng(true);
@@ -105746,6 +105767,9 @@ var de_DE_default = {
105746
105767
  selectCell: {
105747
105768
  placeholder: "{{label}} ausw\xE4hlen"
105748
105769
  },
105770
+ multiSelectCell: {
105771
+ placeholder: "Werte ausw\xE4hlen"
105772
+ },
105749
105773
  booleanCell: {
105750
105774
  options: {
105751
105775
  yes: "Ja",
@@ -105811,7 +105835,7 @@ var en_AU_default = {
105811
105835
  close: "Close",
105812
105836
  locationFilter: {
105813
105837
  selectAll: "Select all",
105814
- includeSublocations: "Include sublocations",
105838
+ includeSublocations: "Include sub-locations",
105815
105839
  searchLocations: "Search locations",
105816
105840
  locations: "Locations"
105817
105841
  },
@@ -105862,7 +105886,7 @@ var en_AU_default = {
105862
105886
  autoSizeAllColumns: "Autosize all columns",
105863
105887
  hideColumn: "Hide column",
105864
105888
  resetColumns: "Reset columns",
105865
- unGroupBy: "Un-Group by {{label}}",
105889
+ unGroupBy: "Un-group by {{label}}",
105866
105890
  groupBy: "Group by {{label}}"
105867
105891
  },
105868
105892
  grandTotals: "Grand totals",
@@ -105909,6 +105933,9 @@ var en_AU_default = {
105909
105933
  selectCell: {
105910
105934
  placeholder: "Select {{label}}"
105911
105935
  },
105936
+ multiSelectCell: {
105937
+ placeholder: "Select values"
105938
+ },
105912
105939
  booleanCell: {
105913
105940
  options: {
105914
105941
  yes: "Yes",
@@ -106025,7 +106052,7 @@ var en_CA_default = {
106025
106052
  autoSizeAllColumns: "Autosize all columns",
106026
106053
  hideColumn: "Hide column",
106027
106054
  resetColumns: "Reset columns",
106028
- unGroupBy: "Un-Group by {{label}}",
106055
+ unGroupBy: "Un-group by {{label}}",
106029
106056
  groupBy: "Group by {{label}}"
106030
106057
  },
106031
106058
  grandTotals: "Grand totals",
@@ -106072,6 +106099,9 @@ var en_CA_default = {
106072
106099
  selectCell: {
106073
106100
  placeholder: "Select {{label}}"
106074
106101
  },
106102
+ multiSelectCell: {
106103
+ placeholder: "Select values"
106104
+ },
106075
106105
  booleanCell: {
106076
106106
  options: {
106077
106107
  yes: "Yes",
@@ -106235,6 +106265,9 @@ var en_GB_default = {
106235
106265
  selectCell: {
106236
106266
  placeholder: "Select {{label}}"
106237
106267
  },
106268
+ multiSelectCell: {
106269
+ placeholder: "Select values"
106270
+ },
106238
106271
  booleanCell: {
106239
106272
  options: {
106240
106273
  yes: "Yes",
@@ -106564,6 +106597,9 @@ var es_ES_default = {
106564
106597
  selectCell: {
106565
106598
  placeholder: "Seleccionar {{label}}"
106566
106599
  },
106600
+ multiSelectCell: {
106601
+ placeholder: "Seleccionar valores"
106602
+ },
106567
106603
  booleanCell: {
106568
106604
  options: {
106569
106605
  yes: "S\xED",
@@ -106600,7 +106636,7 @@ var es_default = {
106600
106636
  description: "Una vez que su equipo cree \xEDtems, podr\xE1 acceder a ellos aqu\xED. ",
106601
106637
  title: "No hay \xEDtems para mostrar en este momento",
106602
106638
  itemsTitle: "No hay %{itemsLabel} para mostrar en este momento",
106603
- tooltip: "El bot\xF3n %{featureName} se habilitar\xE1 una vez que agregue informaci\xF3n al %{tableName}",
106639
+ tooltip: "El bot\xF3n %{featureName} se habilitar\xE1 una vez que agregue informaci\xF3n a la %{tableName}.",
106604
106640
  searchTooltip: "La b\xFAsqueda se habilitar\xE1 una vez que agregue informaci\xF3n a %{tableName}",
106605
106641
  featureFilter: "Filtro",
106606
106642
  featureQuickFilter: "Filtro r\xE1pido",
@@ -106614,7 +106650,7 @@ var es_default = {
106614
106650
  bulkEdit: "Edici\xF3n masiva",
106615
106651
  cancel: "Cancelar",
106616
106652
  editValues: "Editar valores",
106617
- error: "Lo sentimos, no se pudieron actualizar los \xEDtems. Vuelva a intentarlo.",
106653
+ error: "Lo sentimos, no se pudieron actualizar los \xEDtems. Int\xE9ntelo de nuevo.",
106618
106654
  placeholderForField: "Ingrese %{fieldName}",
106619
106655
  selection: "%{count} %{number} seleccionado",
106620
106656
  success: "Los \xEDtems se actualizaron correctamente.",
@@ -106660,14 +106696,14 @@ var es_default = {
106660
106696
  }
106661
106697
  },
106662
106698
  loading: {
106663
- initial: "Cargando informaci\xF3n.",
106699
+ initial: "Cargando informaci\xF3n...",
106664
106700
  secondary: "Cargando informaci\xF3n. Gracias por su paciencia."
106665
106701
  },
106666
106702
  menuOptions: {
106667
106703
  sortMenuItem: {
106668
106704
  label: "Ordenar por esta columna",
106669
- sortAscItem: "Ordenar columna ascendente",
106670
- sortDescItem: "Ordenar columna descendente",
106705
+ sortAscItem: "Ordenar columna - Ascendente",
106706
+ sortDescItem: "Ordenar columna - Descendente",
106671
106707
  sortResetItem: "Columna no ordenada"
106672
106708
  },
106673
106709
  expandAllGroups: "Expandir todos los grupos",
@@ -106727,6 +106763,9 @@ var es_default = {
106727
106763
  selectCell: {
106728
106764
  placeholder: "Seleccionar {{label}}"
106729
106765
  },
106766
+ multiSelectCell: {
106767
+ placeholder: "Seleccionar valores"
106768
+ },
106730
106769
  booleanCell: {
106731
106770
  options: {
106732
106771
  yes: "S\xED",
@@ -106777,7 +106816,7 @@ var fr_CA_default = {
106777
106816
  bulkEdit: "Modifier en bloc",
106778
106817
  cancel: "Annuler",
106779
106818
  editValues: "Modifier les valeurs",
106780
- error: "D\xE9sol\xE9, les items n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayer.",
106819
+ error: "D\xE9sol\xE9, les items n'ont pas pu \xEAtre mis \xE0 jour. Veuillez r\xE9essayer.",
106781
106820
  placeholderForField: "Entrez %{fieldName}",
106782
106821
  selection: "%{count} %{number} s\xE9lectionn\xE9",
106783
106822
  success: "Les items ont \xE9t\xE9 mis \xE0 jour avec succ\xE8s.",
@@ -106890,6 +106929,9 @@ var fr_CA_default = {
106890
106929
  selectCell: {
106891
106930
  placeholder: "S\xE9lectionner {{label}}"
106892
106931
  },
106932
+ multiSelectCell: {
106933
+ placeholder: "S\xE9lectionner les valeurs"
106934
+ },
106893
106935
  booleanCell: {
106894
106936
  options: {
106895
106937
  yes: "Oui",
@@ -106940,7 +106982,7 @@ var fr_FR_default = {
106940
106982
  bulkEdit: "Modifier en masse",
106941
106983
  cancel: "Annuler",
106942
106984
  editValues: "Modifier les valeurs",
106943
- error: "D\xE9sol\xE9, les \xE9l\xE9ments n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayez.",
106985
+ error: "D\xE9sol\xE9, les \xE9l\xE9ments n'ont pas pu \xEAtre mis \xE0 jour. Veuillez r\xE9essayer.",
106944
106986
  placeholderForField: "Saisissez %{fieldName}",
106945
106987
  selection: "%{count} %{number} s\xE9lectionn\xE9",
106946
106988
  success: "Les \xE9l\xE9ments ont bien \xE9t\xE9 mis \xE0 jour.",
@@ -107053,6 +107095,9 @@ var fr_FR_default = {
107053
107095
  selectCell: {
107054
107096
  placeholder: "S\xE9lectionner {{label}}"
107055
107097
  },
107098
+ multiSelectCell: {
107099
+ placeholder: "S\xE9lectionner les valeurs"
107100
+ },
107056
107101
  booleanCell: {
107057
107102
  options: {
107058
107103
  yes: "Oui",
@@ -107216,6 +107261,9 @@ var is_IS_default = {
107216
107261
  selectCell: {
107217
107262
  placeholder: "Veldu {{label}}"
107218
107263
  },
107264
+ multiSelectCell: {
107265
+ placeholder: "Veldu Gildi"
107266
+ },
107219
107267
  booleanCell: {
107220
107268
  options: {
107221
107269
  yes: "J\xE1",
@@ -107379,6 +107427,9 @@ var ja_JP_default = {
107379
107427
  selectCell: {
107380
107428
  placeholder: "{{label}}\u3092\u9078\u629E\u3059\u308B"
107381
107429
  },
107430
+ multiSelectCell: {
107431
+ placeholder: "\u5024\u3092\u9078\u629E"
107432
+ },
107382
107433
  booleanCell: {
107383
107434
  options: {
107384
107435
  yes: "\u306F\u3044",
@@ -107542,6 +107593,9 @@ var pl_PL_default = {
107542
107593
  selectCell: {
107543
107594
  placeholder: "Wybierz {{label}}"
107544
107595
  },
107596
+ multiSelectCell: {
107597
+ placeholder: "Wybierz warto\u015Bci"
107598
+ },
107545
107599
  booleanCell: {
107546
107600
  options: {
107547
107601
  yes: "Tak",
@@ -107744,8 +107798,8 @@ var pt_BR_default = {
107744
107798
  description: "Depois que sua equipe criar esses itens, voc\xEA poder\xE1 acess\xE1-los aqui. ",
107745
107799
  title: "N\xE3o H\xE1 Itens para Exibir Agora",
107746
107800
  itemsTitle: "N\xE3o H\xE1 %{itemsLabel} para Exibir Agora",
107747
- tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado assim que voc\xEA adicionar informa\xE7\xF5es ao %{tableName}",
107748
- searchTooltip: "A pesquisa ser\xE1 ativada assim que voc\xEA adicionar informa\xE7\xF5es \xE0 tabela %{tableName}",
107801
+ tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado assim que voc\xEA adicionar informa\xE7\xF5es \xE0 %{tableName}",
107802
+ searchTooltip: "A pesquisa ser\xE1 ativada assim que voc\xEA adicionar informa\xE7\xF5es \xE0 %{tableName}",
107749
107803
  featureFilter: "Filtrar",
107750
107804
  featureQuickFilter: "Filtro r\xE1pido",
107751
107805
  featureGroupBy: "Agrupar por",
@@ -107758,7 +107812,7 @@ var pt_BR_default = {
107758
107812
  bulkEdit: "Edi\xE7\xE3o em Massa",
107759
107813
  cancel: "Cancelar",
107760
107814
  editValues: "Editar Valores",
107761
- error: "Lamentamos, mas n\xE3o foi poss\xEDvel atualizar os itens. Tente novamente.",
107815
+ error: "Sentimos muito, mas n\xE3o foi poss\xEDvel atualizar os itens. Tente novamente.",
107762
107816
  placeholderForField: "Digite %{fieldName}",
107763
107817
  selection: "%{count} %{number} selecionado",
107764
107818
  success: "Os itens foram atualizados com sucesso.",
@@ -107871,6 +107925,9 @@ var pt_BR_default = {
107871
107925
  selectCell: {
107872
107926
  placeholder: "Selecionar {{label}}"
107873
107927
  },
107928
+ multiSelectCell: {
107929
+ placeholder: "Selecionar Valores"
107930
+ },
107874
107931
  booleanCell: {
107875
107932
  options: {
107876
107933
  yes: "Sim",
@@ -107921,7 +107978,7 @@ var th_TH_default = {
107921
107978
  bulkEdit: "\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02\u0E41\u0E1A\u0E1A\u0E01\u0E25\u0E38\u0E48\u0E21",
107922
107979
  cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
107923
107980
  editValues: "\u0E41\u0E01\u0E49\u0E44\u0E02\u0E04\u0E48\u0E32",
107924
- 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",
107981
+ 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 \u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07.",
107925
107982
  placeholderForField: "\u0E1B\u0E49\u0E2D\u0E19 %{fieldName}",
107926
107983
  selection: "%{count} %{number} \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01",
107927
107984
  success: "\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E33\u0E40\u0E23\u0E47\u0E08\u0E41\u0E25\u0E49\u0E27",
@@ -108034,6 +108091,9 @@ var th_TH_default = {
108034
108091
  selectCell: {
108035
108092
  placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01 {{label}}"
108036
108093
  },
108094
+ multiSelectCell: {
108095
+ placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E48\u0E32"
108096
+ },
108037
108097
  booleanCell: {
108038
108098
  options: {
108039
108099
  yes: "\u0E43\u0E0A\u0E48",
@@ -108197,6 +108257,9 @@ var zh_SG_default = {
108197
108257
  selectCell: {
108198
108258
  placeholder: "\u9009\u62E9{{label}}"
108199
108259
  },
108260
+ multiSelectCell: {
108261
+ placeholder: "\u9009\u62E9\u503C"
108262
+ },
108200
108263
  booleanCell: {
108201
108264
  options: {
108202
108265
  yes: "\u662F",
@@ -109237,9 +109300,9 @@ var DataTable = ({
109237
109300
  {
109238
109301
  locale: clientI18n.locale,
109239
109302
  type: "file",
109240
- absolute_file_path: (locale) => `core/packages/data-table/src/locales/${locale}`
109303
+ absolute_file_path: (locale) => `core/packages/data-table/src/locales/${locale}.json`
109241
109304
  },
109242
- { en: translations.en },
109305
+ { en: translations.en, pseudo: translations.pseudo },
109243
109306
  {
109244
109307
  oldTranslations: translations,
109245
109308
  enableCDN: isCDNEnabled
@@ -109304,6 +109367,7 @@ var DataTable = ({
109304
109367
  );
109305
109368
  const [gridApi, setGridApi] = React80.useState();
109306
109369
  const [columnApi, setColumnApi] = React80.useState();
109370
+ const [hasDuplicateRowIds, setHasDuplicateRowIds] = React80.useState(false);
109307
109371
  const searchStorage = useSearchStorage();
109308
109372
  const filterState = useFilterState({
109309
109373
  columnDefinitions: columns,
@@ -109381,7 +109445,9 @@ var DataTable = ({
109381
109445
  gridApi == null ? void 0 : gridApi.hideOverlay.bind(gridApi),
109382
109446
  filterStorage.filtersState,
109383
109447
  searchStorage.searchValue,
109384
- setTotalRowCount
109448
+ setTotalRowCount,
109449
+ setHasDuplicateRowIds,
109450
+ getRowId
109385
109451
  )
109386
109452
  );
109387
109453
  gridApi == null ? void 0 : gridApi.paginationGoToPage(0);
@@ -109476,7 +109542,8 @@ var DataTable = ({
109476
109542
  tableRef,
109477
109543
  totalRowCount,
109478
109544
  setTotalRowCount,
109479
- updateServerSideDataSource
109545
+ updateServerSideDataSource,
109546
+ hasDuplicateRowIds
109480
109547
  }
109481
109548
  },
109482
109549
  children
@@ -109487,12 +109554,34 @@ var rowDragMoveEvent;
109487
109554
  var rowDragEndEvent;
109488
109555
  function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResponseCallback = () => {
109489
109556
  }, onNonEmptyResponseCallback = () => {
109490
- }, filters, search, setTotalRowCount) {
109557
+ }, filters, search, setTotalRowCount, setHasDuplicateRowIds, getRowId) {
109491
109558
  return {
109492
109559
  getRows: async (params) => {
109493
109560
  if (onServerSideDataRequestCallbackRef.current) {
109494
109561
  const { request, success, fail } = params;
109495
109562
  const onSuccess = (loadSuccessParams) => {
109563
+ const { rowData } = loadSuccessParams;
109564
+ if (rowData && Array.isArray(rowData) && getRowId) {
109565
+ const uniqueRowIds = /* @__PURE__ */ new Set();
109566
+ for (const row2 of rowData) {
109567
+ const id = getRowId({
109568
+ data: row2,
109569
+ level: 0,
109570
+ api: {},
109571
+ columnApi: {},
109572
+ context: {}
109573
+ });
109574
+ if (uniqueRowIds.has(id)) {
109575
+ setHasDuplicateRowIds(true);
109576
+ logger.error(
109577
+ "Duplicate row IDs detected in rowData. Check getRowId() to ensure it returns unique IDs."
109578
+ );
109579
+ fail();
109580
+ return;
109581
+ }
109582
+ uniqueRowIds.add(id);
109583
+ }
109584
+ }
109496
109585
  if (!loadSuccessParams.rowCount && request.groupKeys.length === 0) {
109497
109586
  onEmptyResponseCallback();
109498
109587
  } else {
@@ -109531,7 +109620,7 @@ var Table = (props) => {
109531
109620
  const internalTableContext = useInternalTableContext();
109532
109621
  const clientSideRowData = props.rows ? { rowData: props.rows } : {};
109533
109622
  const serverSideInfiniteScroll = internalTableContext.onServerSideDataRequest ? { serverSideInfiniteScroll: true } : {};
109534
- const { columnApi, getRowHeight, gridApi } = internalTableContext;
109623
+ const { columnApi, getRowHeight, gridApi, filterState } = internalTableContext;
109535
109624
  const [viewportWidth, setViewportWidth] = React80.useState(0);
109536
109625
  const rowActionsWidth = React80.useRef(0);
109537
109626
  const [tableHeight, setTableHeight] = React80.useState(0);
@@ -109772,6 +109861,13 @@ var Table = (props) => {
109772
109861
  setSiblingGroupsRowSelection(selectedGroupIndex, gridApi);
109773
109862
  }
109774
109863
  }, [internalTableContext.selectedGroupIndex]);
109864
+ React80.useEffect(() => {
109865
+ filterState.allAvailableFilters.forEach((filter) => {
109866
+ if (Array.isArray(filter.filterValues) && filter.filterValues.length === 0) {
109867
+ tableApi.removeFilter(filter.field);
109868
+ }
109869
+ });
109870
+ }, [filterState.allAvailableFilters]);
109775
109871
  function footerValueGetter(params) {
109776
109872
  if (props.getSubtotalLabel) {
109777
109873
  return props.getSubtotalLabel(
@@ -110510,13 +110606,7 @@ function ClientSideFilterInner(props) {
110510
110606
  var _a, _b;
110511
110607
  const { Component: Component4, columnDefinition, onChange, options, value } = props;
110512
110608
  const filterHeading = ((_b = (_a = columnDefinition.filterProps) == null ? void 0 : _a.getFilterHeadingText) == null ? void 0 : _b.call(_a, columnDefinition)) ?? columnDefinition.headerName;
110513
- const filterOptions = React80.useMemo(
110514
- () => {
110515
- var _a2;
110516
- return (_a2 = options ?? []) == null ? void 0 : _a2.filter((option) => !!option);
110517
- },
110518
- [options]
110519
- );
110609
+ const filterOptions = React80.useMemo(() => options ?? [], [options]);
110520
110610
  return /* @__PURE__ */ React80.createElement(Box, { as: "li", display: "block", paddingBottom: "xl", style: { width: "100%" } }, filterHeading ? /* @__PURE__ */ React80.createElement(
110521
110611
  Label$1,
110522
110612
  {