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

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;
@@ -57544,7 +57551,10 @@ var GenericHeaderRenderer = (props) => {
57544
57551
  );
57545
57552
  const isPagination = Boolean(props.api.paginationGetRowCount());
57546
57553
  const currentRows = getCurrentRows(props.api, isPagination);
57547
- const isAllSelected = isPagination ? currentRows.length && currentRows.every(isRowSelected) : isSelectionStateSelectAll;
57554
+ const selectableRows = currentRows.filter(
57555
+ (rowNode) => rowNode.selectable
57556
+ );
57557
+ const isAllSelected = isPagination ? selectableRows.length > 0 && selectableRows.every(isRowSelected) : isSelectionStateSelectAll;
57548
57558
  const isPartialSelected = isPagination ? !isAllSelected && currentRows.some(isRowSelected) : isSelectionStatePartialSelected;
57549
57559
  if (isAllSelected) {
57550
57560
  setSelectAll("all" /* All */);
@@ -57793,6 +57803,11 @@ function getGroupNodes(params) {
57793
57803
  function CustomLoader(params) {
57794
57804
  const I18n = useI18nContext();
57795
57805
  const groupNodes = getGroupNodes(params);
57806
+ const internalTableContext = useInternalTableContext();
57807
+ const hasDuplicateRowIds = internalTableContext.hasDuplicateRowIds ?? false;
57808
+ if (hasDuplicateRowIds) {
57809
+ return null;
57810
+ }
57796
57811
  if (params.node === groupNodes.firstLoading) {
57797
57812
  return /* @__PURE__ */ React80.createElement(Flex, { style: { paddingLeft: "16px" } }, /* @__PURE__ */ React80.createElement(
57798
57813
  LevelIndents,
@@ -58500,7 +58515,8 @@ var InternalTableContext = React80.createContext({
58500
58515
  },
58501
58516
  totalRowCount: 0,
58502
58517
  setTotalRowCount: () => {
58503
- }
58518
+ },
58519
+ hasDuplicateRowIds: false
58504
58520
  });
58505
58521
  var useInternalTableContext = () => React80.useContext(InternalTableContext);
58506
58522
  var prng = detectPrng(true);
@@ -105746,6 +105762,9 @@ var de_DE_default = {
105746
105762
  selectCell: {
105747
105763
  placeholder: "{{label}} ausw\xE4hlen"
105748
105764
  },
105765
+ multiSelectCell: {
105766
+ placeholder: "Werte ausw\xE4hlen"
105767
+ },
105749
105768
  booleanCell: {
105750
105769
  options: {
105751
105770
  yes: "Ja",
@@ -105862,7 +105881,7 @@ var en_AU_default = {
105862
105881
  autoSizeAllColumns: "Autosize all columns",
105863
105882
  hideColumn: "Hide column",
105864
105883
  resetColumns: "Reset columns",
105865
- unGroupBy: "Un-Group by {{label}}",
105884
+ unGroupBy: "Un-group by {{label}}",
105866
105885
  groupBy: "Group by {{label}}"
105867
105886
  },
105868
105887
  grandTotals: "Grand totals",
@@ -105909,6 +105928,9 @@ var en_AU_default = {
105909
105928
  selectCell: {
105910
105929
  placeholder: "Select {{label}}"
105911
105930
  },
105931
+ multiSelectCell: {
105932
+ placeholder: "Select values"
105933
+ },
105912
105934
  booleanCell: {
105913
105935
  options: {
105914
105936
  yes: "Yes",
@@ -106025,7 +106047,7 @@ var en_CA_default = {
106025
106047
  autoSizeAllColumns: "Autosize all columns",
106026
106048
  hideColumn: "Hide column",
106027
106049
  resetColumns: "Reset columns",
106028
- unGroupBy: "Un-Group by {{label}}",
106050
+ unGroupBy: "Un-group by {{label}}",
106029
106051
  groupBy: "Group by {{label}}"
106030
106052
  },
106031
106053
  grandTotals: "Grand totals",
@@ -106072,6 +106094,9 @@ var en_CA_default = {
106072
106094
  selectCell: {
106073
106095
  placeholder: "Select {{label}}"
106074
106096
  },
106097
+ multiSelectCell: {
106098
+ placeholder: "Select values"
106099
+ },
106075
106100
  booleanCell: {
106076
106101
  options: {
106077
106102
  yes: "Yes",
@@ -106235,6 +106260,9 @@ var en_GB_default = {
106235
106260
  selectCell: {
106236
106261
  placeholder: "Select {{label}}"
106237
106262
  },
106263
+ multiSelectCell: {
106264
+ placeholder: "Select values"
106265
+ },
106238
106266
  booleanCell: {
106239
106267
  options: {
106240
106268
  yes: "Yes",
@@ -106564,6 +106592,9 @@ var es_ES_default = {
106564
106592
  selectCell: {
106565
106593
  placeholder: "Seleccionar {{label}}"
106566
106594
  },
106595
+ multiSelectCell: {
106596
+ placeholder: "Seleccionar valores"
106597
+ },
106567
106598
  booleanCell: {
106568
106599
  options: {
106569
106600
  yes: "S\xED",
@@ -106600,8 +106631,8 @@ var es_default = {
106600
106631
  description: "Una vez que su equipo cree \xEDtems, podr\xE1 acceder a ellos aqu\xED. ",
106601
106632
  title: "No hay \xEDtems para mostrar en este momento",
106602
106633
  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}",
106604
- searchTooltip: "La b\xFAsqueda se habilitar\xE1 una vez que agregue informaci\xF3n a %{tableName}",
106634
+ tooltip: "El bot\xF3n %{featureName} se habilitar\xE1 una vez que agregue informaci\xF3n a la %{tableName}.",
106635
+ searchTooltip: "La b\xFAsqueda se habilitar\xE1 una vez que agregue informaci\xF3n a la %{tableName}.",
106605
106636
  featureFilter: "Filtro",
106606
106637
  featureQuickFilter: "Filtro r\xE1pido",
106607
106638
  featureGroupBy: "Agrupar por",
@@ -106614,7 +106645,7 @@ var es_default = {
106614
106645
  bulkEdit: "Edici\xF3n masiva",
106615
106646
  cancel: "Cancelar",
106616
106647
  editValues: "Editar valores",
106617
- error: "Lo sentimos, no se pudieron actualizar los \xEDtems. Vuelva a intentarlo.",
106648
+ error: "Lo sentimos, no se pudieron actualizar los \xEDtems. Int\xE9ntelo de nuevo.",
106618
106649
  placeholderForField: "Ingrese %{fieldName}",
106619
106650
  selection: "%{count} %{number} seleccionado",
106620
106651
  success: "Los \xEDtems se actualizaron correctamente.",
@@ -106660,14 +106691,14 @@ var es_default = {
106660
106691
  }
106661
106692
  },
106662
106693
  loading: {
106663
- initial: "Cargando informaci\xF3n.",
106694
+ initial: "Cargando informaci\xF3n...",
106664
106695
  secondary: "Cargando informaci\xF3n. Gracias por su paciencia."
106665
106696
  },
106666
106697
  menuOptions: {
106667
106698
  sortMenuItem: {
106668
106699
  label: "Ordenar por esta columna",
106669
- sortAscItem: "Ordenar columna ascendente",
106670
- sortDescItem: "Ordenar columna descendente",
106700
+ sortAscItem: "Ordenar columna - Ascendente",
106701
+ sortDescItem: "Ordenar columna - Descendente",
106671
106702
  sortResetItem: "Columna no ordenada"
106672
106703
  },
106673
106704
  expandAllGroups: "Expandir todos los grupos",
@@ -106727,6 +106758,9 @@ var es_default = {
106727
106758
  selectCell: {
106728
106759
  placeholder: "Seleccionar {{label}}"
106729
106760
  },
106761
+ multiSelectCell: {
106762
+ placeholder: "Seleccionar valores"
106763
+ },
106730
106764
  booleanCell: {
106731
106765
  options: {
106732
106766
  yes: "S\xED",
@@ -106777,7 +106811,7 @@ var fr_CA_default = {
106777
106811
  bulkEdit: "Modifier en bloc",
106778
106812
  cancel: "Annuler",
106779
106813
  editValues: "Modifier les valeurs",
106780
- error: "D\xE9sol\xE9, les items n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayer.",
106814
+ error: "D\xE9sol\xE9, les items n'ont pas pu \xEAtre mis \xE0 jour. Veuillez r\xE9essayer.",
106781
106815
  placeholderForField: "Entrez %{fieldName}",
106782
106816
  selection: "%{count} %{number} s\xE9lectionn\xE9",
106783
106817
  success: "Les items ont \xE9t\xE9 mis \xE0 jour avec succ\xE8s.",
@@ -106890,6 +106924,9 @@ var fr_CA_default = {
106890
106924
  selectCell: {
106891
106925
  placeholder: "S\xE9lectionner {{label}}"
106892
106926
  },
106927
+ multiSelectCell: {
106928
+ placeholder: "S\xE9lectionner les valeurs"
106929
+ },
106893
106930
  booleanCell: {
106894
106931
  options: {
106895
106932
  yes: "Oui",
@@ -106940,7 +106977,7 @@ var fr_FR_default = {
106940
106977
  bulkEdit: "Modifier en masse",
106941
106978
  cancel: "Annuler",
106942
106979
  editValues: "Modifier les valeurs",
106943
- error: "D\xE9sol\xE9, les \xE9l\xE9ments n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayez.",
106980
+ error: "D\xE9sol\xE9, les \xE9l\xE9ments n'ont pas pu \xEAtre mis \xE0 jour. Veuillez r\xE9essayer.",
106944
106981
  placeholderForField: "Saisissez %{fieldName}",
106945
106982
  selection: "%{count} %{number} s\xE9lectionn\xE9",
106946
106983
  success: "Les \xE9l\xE9ments ont bien \xE9t\xE9 mis \xE0 jour.",
@@ -107053,6 +107090,9 @@ var fr_FR_default = {
107053
107090
  selectCell: {
107054
107091
  placeholder: "S\xE9lectionner {{label}}"
107055
107092
  },
107093
+ multiSelectCell: {
107094
+ placeholder: "S\xE9lectionner les valeurs"
107095
+ },
107056
107096
  booleanCell: {
107057
107097
  options: {
107058
107098
  yes: "Oui",
@@ -107216,6 +107256,9 @@ var is_IS_default = {
107216
107256
  selectCell: {
107217
107257
  placeholder: "Veldu {{label}}"
107218
107258
  },
107259
+ multiSelectCell: {
107260
+ placeholder: "Veldu Gildi"
107261
+ },
107219
107262
  booleanCell: {
107220
107263
  options: {
107221
107264
  yes: "J\xE1",
@@ -107379,6 +107422,9 @@ var ja_JP_default = {
107379
107422
  selectCell: {
107380
107423
  placeholder: "{{label}}\u3092\u9078\u629E\u3059\u308B"
107381
107424
  },
107425
+ multiSelectCell: {
107426
+ placeholder: "\u5024\u3092\u9078\u629E"
107427
+ },
107382
107428
  booleanCell: {
107383
107429
  options: {
107384
107430
  yes: "\u306F\u3044",
@@ -107542,6 +107588,9 @@ var pl_PL_default = {
107542
107588
  selectCell: {
107543
107589
  placeholder: "Wybierz {{label}}"
107544
107590
  },
107591
+ multiSelectCell: {
107592
+ placeholder: "Wybierz warto\u015Bci"
107593
+ },
107545
107594
  booleanCell: {
107546
107595
  options: {
107547
107596
  yes: "Tak",
@@ -107758,7 +107807,7 @@ var pt_BR_default = {
107758
107807
  bulkEdit: "Edi\xE7\xE3o em Massa",
107759
107808
  cancel: "Cancelar",
107760
107809
  editValues: "Editar Valores",
107761
- error: "Lamentamos, mas n\xE3o foi poss\xEDvel atualizar os itens. Tente novamente.",
107810
+ error: "Sentimos muito, mas n\xE3o foi poss\xEDvel atualizar os itens. Tente novamente.",
107762
107811
  placeholderForField: "Digite %{fieldName}",
107763
107812
  selection: "%{count} %{number} selecionado",
107764
107813
  success: "Os itens foram atualizados com sucesso.",
@@ -107871,6 +107920,9 @@ var pt_BR_default = {
107871
107920
  selectCell: {
107872
107921
  placeholder: "Selecionar {{label}}"
107873
107922
  },
107923
+ multiSelectCell: {
107924
+ placeholder: "Selecionar Valores"
107925
+ },
107874
107926
  booleanCell: {
107875
107927
  options: {
107876
107928
  yes: "Sim",
@@ -107921,7 +107973,7 @@ var th_TH_default = {
107921
107973
  bulkEdit: "\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02\u0E41\u0E1A\u0E1A\u0E01\u0E25\u0E38\u0E48\u0E21",
107922
107974
  cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
107923
107975
  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",
107976
+ 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
107977
  placeholderForField: "\u0E1B\u0E49\u0E2D\u0E19 %{fieldName}",
107926
107978
  selection: "%{count} %{number} \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01",
107927
107979
  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 +108086,9 @@ var th_TH_default = {
108034
108086
  selectCell: {
108035
108087
  placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01 {{label}}"
108036
108088
  },
108089
+ multiSelectCell: {
108090
+ placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E48\u0E32"
108091
+ },
108037
108092
  booleanCell: {
108038
108093
  options: {
108039
108094
  yes: "\u0E43\u0E0A\u0E48",
@@ -108197,6 +108252,9 @@ var zh_SG_default = {
108197
108252
  selectCell: {
108198
108253
  placeholder: "\u9009\u62E9{{label}}"
108199
108254
  },
108255
+ multiSelectCell: {
108256
+ placeholder: "\u9009\u62E9\u503C"
108257
+ },
108200
108258
  booleanCell: {
108201
108259
  options: {
108202
108260
  yes: "\u662F",
@@ -109239,7 +109297,7 @@ var DataTable = ({
109239
109297
  type: "file",
109240
109298
  absolute_file_path: (locale) => `core/packages/data-table/src/locales/${locale}`
109241
109299
  },
109242
- { en: translations.en },
109300
+ { en: translations.en, pseudo: translations.pseudo },
109243
109301
  {
109244
109302
  oldTranslations: translations,
109245
109303
  enableCDN: isCDNEnabled
@@ -109304,6 +109362,7 @@ var DataTable = ({
109304
109362
  );
109305
109363
  const [gridApi, setGridApi] = React80.useState();
109306
109364
  const [columnApi, setColumnApi] = React80.useState();
109365
+ const [hasDuplicateRowIds, setHasDuplicateRowIds] = React80.useState(false);
109307
109366
  const searchStorage = useSearchStorage();
109308
109367
  const filterState = useFilterState({
109309
109368
  columnDefinitions: columns,
@@ -109381,7 +109440,9 @@ var DataTable = ({
109381
109440
  gridApi == null ? void 0 : gridApi.hideOverlay.bind(gridApi),
109382
109441
  filterStorage.filtersState,
109383
109442
  searchStorage.searchValue,
109384
- setTotalRowCount
109443
+ setTotalRowCount,
109444
+ setHasDuplicateRowIds,
109445
+ getRowId
109385
109446
  )
109386
109447
  );
109387
109448
  gridApi == null ? void 0 : gridApi.paginationGoToPage(0);
@@ -109476,7 +109537,8 @@ var DataTable = ({
109476
109537
  tableRef,
109477
109538
  totalRowCount,
109478
109539
  setTotalRowCount,
109479
- updateServerSideDataSource
109540
+ updateServerSideDataSource,
109541
+ hasDuplicateRowIds
109480
109542
  }
109481
109543
  },
109482
109544
  children
@@ -109487,12 +109549,34 @@ var rowDragMoveEvent;
109487
109549
  var rowDragEndEvent;
109488
109550
  function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResponseCallback = () => {
109489
109551
  }, onNonEmptyResponseCallback = () => {
109490
- }, filters, search, setTotalRowCount) {
109552
+ }, filters, search, setTotalRowCount, setHasDuplicateRowIds, getRowId) {
109491
109553
  return {
109492
109554
  getRows: async (params) => {
109493
109555
  if (onServerSideDataRequestCallbackRef.current) {
109494
109556
  const { request, success, fail } = params;
109495
109557
  const onSuccess = (loadSuccessParams) => {
109558
+ const { rowData } = loadSuccessParams;
109559
+ if (rowData && Array.isArray(rowData) && getRowId) {
109560
+ const uniqueRowIds = /* @__PURE__ */ new Set();
109561
+ for (const row2 of rowData) {
109562
+ const id = getRowId({
109563
+ data: row2,
109564
+ level: 0,
109565
+ api: {},
109566
+ columnApi: {},
109567
+ context: {}
109568
+ });
109569
+ if (uniqueRowIds.has(id)) {
109570
+ setHasDuplicateRowIds(true);
109571
+ logger.error(
109572
+ "Duplicate row IDs detected in rowData. Check getRowId() to ensure it returns unique IDs."
109573
+ );
109574
+ fail();
109575
+ return;
109576
+ }
109577
+ uniqueRowIds.add(id);
109578
+ }
109579
+ }
109496
109580
  if (!loadSuccessParams.rowCount && request.groupKeys.length === 0) {
109497
109581
  onEmptyResponseCallback();
109498
109582
  } else {
@@ -110510,13 +110594,7 @@ function ClientSideFilterInner(props) {
110510
110594
  var _a, _b;
110511
110595
  const { Component: Component4, columnDefinition, onChange, options, value } = props;
110512
110596
  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
- );
110597
+ const filterOptions = React80.useMemo(() => options ?? [], [options]);
110520
110598
  return /* @__PURE__ */ React80.createElement(Box, { as: "li", display: "block", paddingBottom: "xl", style: { width: "100%" } }, filterHeading ? /* @__PURE__ */ React80.createElement(
110521
110599
  Label$1,
110522
110600
  {