@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.
@@ -1422,7 +1422,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
1422
1422
  animation-iteration-count: infinite;
1423
1423
  animation-name: ag-shake-left-to-right;
1424
1424
  }
1425
- @keyframes _ag-shake-left-to-right_1ajw9_369 {
1425
+ @keyframes _ag-shake-left-to-right_if78k_369 {
1426
1426
  from {
1427
1427
  padding-left: 6px;
1428
1428
  padding-right: 2px;
@@ -5423,7 +5423,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
5423
5423
  animation-iteration-count: infinite;
5424
5424
  animation-timing-function: linear;
5425
5425
  }
5426
- @keyframes _spin_1ajw9_1 {
5426
+ @keyframes _spin_if78k_1 {
5427
5427
  from {
5428
5428
  transform: rotate(0deg);
5429
5429
  }
@@ -7678,6 +7678,9 @@ input[class^=ag-][type=range]:disabled {
7678
7678
  .ag-theme-alpine.ag-theme-alpine .ag-icon-tree-open::before {
7679
7679
  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>");
7680
7680
  }
7681
+ .ag-theme-alpine.ag-theme-alpine .ag-header-cell-resize {
7682
+ right: -5px;
7683
+ }
7681
7684
  .ag-theme-alpine.ag-theme-alpine .ag-header-cell-resize::after {
7682
7685
  width: 1px;
7683
7686
  height: 100%;
@@ -7931,7 +7934,7 @@ input[class^=ag-][type=range]:disabled {
7931
7934
  padding-left: 16px;
7932
7935
  }
7933
7936
 
7934
- div._contextPanel_1ajw9_7156 {
7937
+ div._contextPanel_if78k_7159 {
7935
7938
  width: 400px;
7936
7939
  transition: all ease 500ms;
7937
7940
  flex: 0 0 auto;
@@ -7940,7 +7943,7 @@ div._contextPanel_1ajw9_7156 {
7940
7943
  border: 1px solid #d6dadc;
7941
7944
  display: flex;
7942
7945
  }
7943
- div._contextPanel--hidden_1ajw9_7165 {
7946
+ div._contextPanel--hidden_if78k_7168 {
7944
7947
  border: none;
7945
7948
  overflow: hidden;
7946
7949
  padding: 0px;
@@ -7948,50 +7951,50 @@ div._contextPanel--hidden_1ajw9_7165 {
7948
7951
  width: 0px;
7949
7952
  }
7950
7953
 
7951
- ._contextPanelWrapper_1ajw9_7173 {
7954
+ ._contextPanelWrapper_if78k_7176 {
7952
7955
  position: relative;
7953
7956
  flex-grow: 1;
7954
7957
  }
7955
7958
 
7956
- ._contextPanelBody_1ajw9_7178 {
7959
+ ._contextPanelBody_if78k_7181 {
7957
7960
  width: clamp(380px, 400px, 100%);
7958
7961
  }
7959
7962
 
7960
- ._contextPanel-stickyHeader_1ajw9_7182 {
7963
+ ._contextPanel-stickyHeader_if78k_7185 {
7961
7964
  background-color: #ffffff;
7962
7965
  position: sticky;
7963
7966
  top: 0;
7964
7967
  z-index: 5;
7965
7968
  }
7966
7969
 
7967
- ._filters-list_1ajw9_7189 {
7970
+ ._filters-list_if78k_7192 {
7968
7971
  padding: 0;
7969
7972
  margin: 0;
7970
7973
  }
7971
- ._filters-list_1ajw9_7189 ol {
7974
+ ._filters-list_if78k_7192 ol {
7972
7975
  padding: 0;
7973
7976
  margin: 0;
7974
7977
  }
7975
7978
 
7976
- ._col-drag-column-icon_1ajw9_7198 {
7979
+ ._col-drag-column-icon_if78k_7201 {
7977
7980
  color: #6a767c;
7978
7981
  }
7979
7982
 
7980
- ._tabular-nums_1ajw9_7202 {
7983
+ ._tabular-nums_if78k_7205 {
7981
7984
  font-variant-numeric: tabular-nums;
7982
7985
  }`;
7983
7986
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
7984
7987
  var styles_default = {
7985
- "contextPanel": "_contextPanel_1ajw9_7156",
7986
- "contextPanel--hidden": "_contextPanel--hidden_1ajw9_7165",
7987
- "contextPanelWrapper": "_contextPanelWrapper_1ajw9_7173",
7988
- "contextPanelBody": "_contextPanelBody_1ajw9_7178",
7989
- "contextPanel-stickyHeader": "_contextPanel-stickyHeader_1ajw9_7182",
7990
- "filters-list": "_filters-list_1ajw9_7189",
7991
- "col-drag-column-icon": "_col-drag-column-icon_1ajw9_7198",
7992
- "tabular-nums": "_tabular-nums_1ajw9_7202",
7993
- "ag-shake-left-to-right": "_ag-shake-left-to-right_1ajw9_369",
7994
- "spin": "_spin_1ajw9_1"
7988
+ "contextPanel": "_contextPanel_if78k_7159",
7989
+ "contextPanel--hidden": "_contextPanel--hidden_if78k_7168",
7990
+ "contextPanelWrapper": "_contextPanelWrapper_if78k_7176",
7991
+ "contextPanelBody": "_contextPanelBody_if78k_7181",
7992
+ "contextPanel-stickyHeader": "_contextPanel-stickyHeader_if78k_7185",
7993
+ "filters-list": "_filters-list_if78k_7192",
7994
+ "col-drag-column-icon": "_col-drag-column-icon_if78k_7201",
7995
+ "tabular-nums": "_tabular-nums_if78k_7205",
7996
+ "ag-shake-left-to-right": "_ag-shake-left-to-right_if78k_369",
7997
+ "spin": "_spin_if78k_1"
7995
7998
  };
7996
7999
 
7997
8000
  // src/utils/getCellValueTypographyProps.ts
@@ -54322,6 +54325,9 @@ function useFilterState({
54322
54325
  },
54323
54326
  [gridApi]
54324
54327
  );
54328
+ const filterableColumns = React80__default.default.useMemo(() => {
54329
+ return columnDefinitions.filter((colDef) => !!colDef.filterRenderer).sort(sortColumnDefinitionsByFilterIndex);
54330
+ }, [columnDefinitions]);
54325
54331
  const getFieldFilters = React80__default.default.useCallback(() => {
54326
54332
  return filterableColumns.map((column2) => {
54327
54333
  const filterInstance = getFieldFilter(column2.field);
@@ -54335,10 +54341,7 @@ function useFilterState({
54335
54341
  ...instanceOptions
54336
54342
  };
54337
54343
  }).filter((filter) => filter.instance !== void 0);
54338
- }, [getFieldFilter, gridApi]);
54339
- const filterableColumns = React80__default.default.useMemo(() => {
54340
- return columnDefinitions.filter((colDef) => !!colDef.filterRenderer).sort(sortColumnDefinitionsByFilterIndex);
54341
- }, [columnDefinitions]);
54344
+ }, [getFieldFilter, gridApi, filterableColumns]);
54342
54345
  const filterEventFunction = function filterEventFunction2() {
54343
54346
  if (listenersEnabled.current) {
54344
54347
  const allFilters = getFieldFilters();
@@ -54449,6 +54452,10 @@ function ClientSideMultiSelectFilterRenderer({
54449
54452
  value = [],
54450
54453
  ...props
54451
54454
  }) {
54455
+ const filterOptions = React80__default.default.useMemo(
54456
+ () => (options ?? []).map((option) => option ?? ""),
54457
+ [options]
54458
+ );
54452
54459
  return /* @__PURE__ */ React80__default.default.createElement(
54453
54460
  coreReact.MultiSelect,
54454
54461
  {
@@ -54462,8 +54469,8 @@ function ClientSideMultiSelectFilterRenderer({
54462
54469
  return getLabel(columnDefinition.filterProps?.getLabel, option);
54463
54470
  },
54464
54471
  onChange,
54465
- options,
54466
- value: ramda.intersection(value || [], options)
54472
+ options: filterOptions,
54473
+ value: ramda.intersection(value || [], filterOptions)
54467
54474
  }
54468
54475
  );
54469
54476
  }
@@ -57154,7 +57161,7 @@ var SortComponent = (props) => {
57154
57161
  return null;
57155
57162
  };
57156
57163
  var isRowSelected = (rowNode) => {
57157
- return Boolean(rowNode.selectable ? rowNode.isSelected() : true);
57164
+ return Boolean(rowNode.selectable ? rowNode.isSelected() : false);
57158
57165
  };
57159
57166
  var GenericHeaderRenderer = (props) => {
57160
57167
  const colDef = props.column.getColDef();
@@ -57209,22 +57216,26 @@ var GenericHeaderRenderer = (props) => {
57209
57216
  }, []);
57210
57217
  React80__default.default.useEffect(() => {
57211
57218
  function calculatePosition() {
57212
- const columns = props.columnApi.getColumnState();
57213
- if (!columns?.length) {
57219
+ const visibleColumns = props.columnApi.getAllDisplayedColumns();
57220
+ if (!visibleColumns?.length)
57214
57221
  return;
57215
- }
57216
- if (columns[0].colId === colId) {
57217
- setIsFirstColumn(true);
57218
- } else {
57219
- setIsFirstColumn(false);
57220
- }
57222
+ const isCurrentFirst = visibleColumns[0].getColId() === colId;
57223
+ setIsFirstColumn(isCurrentFirst);
57221
57224
  }
57222
57225
  props.api.addEventListener("columnMoved", calculatePosition);
57226
+ props.api.addEventListener("columnPinned", calculatePosition);
57227
+ props.api.addEventListener("columnVisible", calculatePosition);
57223
57228
  calculatePosition();
57224
57229
  return () => {
57225
57230
  removeEventListenerFromGrid("columnMoved", calculatePosition, props.api);
57231
+ removeEventListenerFromGrid("columnPinned", calculatePosition, props.api);
57232
+ removeEventListenerFromGrid(
57233
+ "columnVisible",
57234
+ calculatePosition,
57235
+ props.api
57236
+ );
57226
57237
  };
57227
- }, []);
57238
+ }, [colId, props.api]);
57228
57239
  const onSortToggled = (event) => {
57229
57240
  let currentSort = null;
57230
57241
  if (Array.from(checkbox.current?.parentElement?.children || []).includes(
@@ -57436,7 +57447,7 @@ var GenericHeaderRenderer = (props) => {
57436
57447
  return;
57437
57448
  }
57438
57449
  function updateSelectAllCheckbox(e) {
57439
- if (e.source === "uiSelectAll") {
57450
+ if (e && e.source === "uiSelectAll") {
57440
57451
  return;
57441
57452
  }
57442
57453
  const selectionState = props.api.getServerSideSelectionState();
@@ -57449,7 +57460,10 @@ var GenericHeaderRenderer = (props) => {
57449
57460
  );
57450
57461
  const isPagination = Boolean(props.api.paginationGetRowCount());
57451
57462
  const currentRows = getCurrentRows(props.api, isPagination);
57452
- const isAllSelected = isPagination ? currentRows.length && currentRows.every(isRowSelected) : isSelectionStateSelectAll;
57463
+ const selectableRows = currentRows.filter(
57464
+ (rowNode) => rowNode.selectable
57465
+ );
57466
+ const isAllSelected = isPagination ? selectableRows.length > 0 && selectableRows.every(isRowSelected) : isSelectionStateSelectAll;
57453
57467
  const isPartialSelected = isPagination ? !isAllSelected && currentRows.some(isRowSelected) : isSelectionStatePartialSelected;
57454
57468
  if (isAllSelected) {
57455
57469
  setSelectAll("all" /* All */);
@@ -57461,6 +57475,7 @@ var GenericHeaderRenderer = (props) => {
57461
57475
  }
57462
57476
  props.api.addEventListener(selectionChanged, updateSelectAllCheckbox);
57463
57477
  props.api.addEventListener(paginationChanged, updateSelectAllCheckbox);
57478
+ updateSelectAllCheckbox();
57464
57479
  return () => {
57465
57480
  removeEventListenerFromGrid(
57466
57481
  selectionChanged,
@@ -57695,6 +57710,11 @@ function getGroupNodes(params) {
57695
57710
  function CustomLoader(params) {
57696
57711
  const I18n = coreReact.useI18nContext();
57697
57712
  const groupNodes = getGroupNodes(params);
57713
+ const internalTableContext = useInternalTableContext();
57714
+ const hasDuplicateRowIds = internalTableContext.hasDuplicateRowIds ?? false;
57715
+ if (hasDuplicateRowIds) {
57716
+ return null;
57717
+ }
57698
57718
  if (params.node === groupNodes.firstLoading) {
57699
57719
  return /* @__PURE__ */ React80__default.default.createElement(coreReact.Flex, { style: { paddingLeft: "16px" } }, /* @__PURE__ */ React80__default.default.createElement(
57700
57720
  LevelIndents,
@@ -58383,7 +58403,8 @@ var InternalTableContext = React80__default.default.createContext({
58383
58403
  },
58384
58404
  totalRowCount: 0,
58385
58405
  setTotalRowCount: () => {
58386
- }
58406
+ },
58407
+ hasDuplicateRowIds: false
58387
58408
  });
58388
58409
  var useInternalTableContext = () => React80__default.default.useContext(InternalTableContext);
58389
58410
  var prng = ulid$1.detectPrng(true);
@@ -105593,6 +105614,9 @@ var de_DE_default = {
105593
105614
  selectCell: {
105594
105615
  placeholder: "{{label}} ausw\xE4hlen"
105595
105616
  },
105617
+ multiSelectCell: {
105618
+ placeholder: "Werte ausw\xE4hlen"
105619
+ },
105596
105620
  booleanCell: {
105597
105621
  options: {
105598
105622
  yes: "Ja",
@@ -105658,7 +105682,7 @@ var en_AU_default = {
105658
105682
  close: "Close",
105659
105683
  locationFilter: {
105660
105684
  selectAll: "Select all",
105661
- includeSublocations: "Include sublocations",
105685
+ includeSublocations: "Include sub-locations",
105662
105686
  searchLocations: "Search locations",
105663
105687
  locations: "Locations"
105664
105688
  },
@@ -105709,7 +105733,7 @@ var en_AU_default = {
105709
105733
  autoSizeAllColumns: "Autosize all columns",
105710
105734
  hideColumn: "Hide column",
105711
105735
  resetColumns: "Reset columns",
105712
- unGroupBy: "Un-Group by {{label}}",
105736
+ unGroupBy: "Un-group by {{label}}",
105713
105737
  groupBy: "Group by {{label}}"
105714
105738
  },
105715
105739
  grandTotals: "Grand totals",
@@ -105756,6 +105780,9 @@ var en_AU_default = {
105756
105780
  selectCell: {
105757
105781
  placeholder: "Select {{label}}"
105758
105782
  },
105783
+ multiSelectCell: {
105784
+ placeholder: "Select values"
105785
+ },
105759
105786
  booleanCell: {
105760
105787
  options: {
105761
105788
  yes: "Yes",
@@ -105872,7 +105899,7 @@ var en_CA_default = {
105872
105899
  autoSizeAllColumns: "Autosize all columns",
105873
105900
  hideColumn: "Hide column",
105874
105901
  resetColumns: "Reset columns",
105875
- unGroupBy: "Un-Group by {{label}}",
105902
+ unGroupBy: "Un-group by {{label}}",
105876
105903
  groupBy: "Group by {{label}}"
105877
105904
  },
105878
105905
  grandTotals: "Grand totals",
@@ -105919,6 +105946,9 @@ var en_CA_default = {
105919
105946
  selectCell: {
105920
105947
  placeholder: "Select {{label}}"
105921
105948
  },
105949
+ multiSelectCell: {
105950
+ placeholder: "Select values"
105951
+ },
105922
105952
  booleanCell: {
105923
105953
  options: {
105924
105954
  yes: "Yes",
@@ -106082,6 +106112,9 @@ var en_GB_default = {
106082
106112
  selectCell: {
106083
106113
  placeholder: "Select {{label}}"
106084
106114
  },
106115
+ multiSelectCell: {
106116
+ placeholder: "Select values"
106117
+ },
106085
106118
  booleanCell: {
106086
106119
  options: {
106087
106120
  yes: "Yes",
@@ -106411,6 +106444,9 @@ var es_ES_default = {
106411
106444
  selectCell: {
106412
106445
  placeholder: "Seleccionar {{label}}"
106413
106446
  },
106447
+ multiSelectCell: {
106448
+ placeholder: "Seleccionar valores"
106449
+ },
106414
106450
  booleanCell: {
106415
106451
  options: {
106416
106452
  yes: "S\xED",
@@ -106447,7 +106483,7 @@ var es_default = {
106447
106483
  description: "Una vez que su equipo cree \xEDtems, podr\xE1 acceder a ellos aqu\xED. ",
106448
106484
  title: "No hay \xEDtems para mostrar en este momento",
106449
106485
  itemsTitle: "No hay %{itemsLabel} para mostrar en este momento",
106450
- tooltip: "El bot\xF3n %{featureName} se habilitar\xE1 una vez que agregue informaci\xF3n al %{tableName}",
106486
+ tooltip: "El bot\xF3n %{featureName} se habilitar\xE1 una vez que agregue informaci\xF3n a la %{tableName}.",
106451
106487
  searchTooltip: "La b\xFAsqueda se habilitar\xE1 una vez que agregue informaci\xF3n a %{tableName}",
106452
106488
  featureFilter: "Filtro",
106453
106489
  featureQuickFilter: "Filtro r\xE1pido",
@@ -106461,7 +106497,7 @@ var es_default = {
106461
106497
  bulkEdit: "Edici\xF3n masiva",
106462
106498
  cancel: "Cancelar",
106463
106499
  editValues: "Editar valores",
106464
- error: "Lo sentimos, no se pudieron actualizar los \xEDtems. Vuelva a intentarlo.",
106500
+ error: "Lo sentimos, no se pudieron actualizar los \xEDtems. Int\xE9ntelo de nuevo.",
106465
106501
  placeholderForField: "Ingrese %{fieldName}",
106466
106502
  selection: "%{count} %{number} seleccionado",
106467
106503
  success: "Los \xEDtems se actualizaron correctamente.",
@@ -106507,14 +106543,14 @@ var es_default = {
106507
106543
  }
106508
106544
  },
106509
106545
  loading: {
106510
- initial: "Cargando informaci\xF3n.",
106546
+ initial: "Cargando informaci\xF3n...",
106511
106547
  secondary: "Cargando informaci\xF3n. Gracias por su paciencia."
106512
106548
  },
106513
106549
  menuOptions: {
106514
106550
  sortMenuItem: {
106515
106551
  label: "Ordenar por esta columna",
106516
- sortAscItem: "Ordenar columna ascendente",
106517
- sortDescItem: "Ordenar columna descendente",
106552
+ sortAscItem: "Ordenar columna - Ascendente",
106553
+ sortDescItem: "Ordenar columna - Descendente",
106518
106554
  sortResetItem: "Columna no ordenada"
106519
106555
  },
106520
106556
  expandAllGroups: "Expandir todos los grupos",
@@ -106574,6 +106610,9 @@ var es_default = {
106574
106610
  selectCell: {
106575
106611
  placeholder: "Seleccionar {{label}}"
106576
106612
  },
106613
+ multiSelectCell: {
106614
+ placeholder: "Seleccionar valores"
106615
+ },
106577
106616
  booleanCell: {
106578
106617
  options: {
106579
106618
  yes: "S\xED",
@@ -106624,7 +106663,7 @@ var fr_CA_default = {
106624
106663
  bulkEdit: "Modifier en bloc",
106625
106664
  cancel: "Annuler",
106626
106665
  editValues: "Modifier les valeurs",
106627
- error: "D\xE9sol\xE9, les items n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayer.",
106666
+ error: "D\xE9sol\xE9, les items n'ont pas pu \xEAtre mis \xE0 jour. Veuillez r\xE9essayer.",
106628
106667
  placeholderForField: "Entrez %{fieldName}",
106629
106668
  selection: "%{count} %{number} s\xE9lectionn\xE9",
106630
106669
  success: "Les items ont \xE9t\xE9 mis \xE0 jour avec succ\xE8s.",
@@ -106737,6 +106776,9 @@ var fr_CA_default = {
106737
106776
  selectCell: {
106738
106777
  placeholder: "S\xE9lectionner {{label}}"
106739
106778
  },
106779
+ multiSelectCell: {
106780
+ placeholder: "S\xE9lectionner les valeurs"
106781
+ },
106740
106782
  booleanCell: {
106741
106783
  options: {
106742
106784
  yes: "Oui",
@@ -106787,7 +106829,7 @@ var fr_FR_default = {
106787
106829
  bulkEdit: "Modifier en masse",
106788
106830
  cancel: "Annuler",
106789
106831
  editValues: "Modifier les valeurs",
106790
- error: "D\xE9sol\xE9, les \xE9l\xE9ments n'ont pas pu \xEAtre mis \xE0 jour. R\xE9essayez.",
106832
+ error: "D\xE9sol\xE9, les \xE9l\xE9ments n'ont pas pu \xEAtre mis \xE0 jour. Veuillez r\xE9essayer.",
106791
106833
  placeholderForField: "Saisissez %{fieldName}",
106792
106834
  selection: "%{count} %{number} s\xE9lectionn\xE9",
106793
106835
  success: "Les \xE9l\xE9ments ont bien \xE9t\xE9 mis \xE0 jour.",
@@ -106900,6 +106942,9 @@ var fr_FR_default = {
106900
106942
  selectCell: {
106901
106943
  placeholder: "S\xE9lectionner {{label}}"
106902
106944
  },
106945
+ multiSelectCell: {
106946
+ placeholder: "S\xE9lectionner les valeurs"
106947
+ },
106903
106948
  booleanCell: {
106904
106949
  options: {
106905
106950
  yes: "Oui",
@@ -107063,6 +107108,9 @@ var is_IS_default = {
107063
107108
  selectCell: {
107064
107109
  placeholder: "Veldu {{label}}"
107065
107110
  },
107111
+ multiSelectCell: {
107112
+ placeholder: "Veldu Gildi"
107113
+ },
107066
107114
  booleanCell: {
107067
107115
  options: {
107068
107116
  yes: "J\xE1",
@@ -107226,6 +107274,9 @@ var ja_JP_default = {
107226
107274
  selectCell: {
107227
107275
  placeholder: "{{label}}\u3092\u9078\u629E\u3059\u308B"
107228
107276
  },
107277
+ multiSelectCell: {
107278
+ placeholder: "\u5024\u3092\u9078\u629E"
107279
+ },
107229
107280
  booleanCell: {
107230
107281
  options: {
107231
107282
  yes: "\u306F\u3044",
@@ -107389,6 +107440,9 @@ var pl_PL_default = {
107389
107440
  selectCell: {
107390
107441
  placeholder: "Wybierz {{label}}"
107391
107442
  },
107443
+ multiSelectCell: {
107444
+ placeholder: "Wybierz warto\u015Bci"
107445
+ },
107392
107446
  booleanCell: {
107393
107447
  options: {
107394
107448
  yes: "Tak",
@@ -107591,8 +107645,8 @@ var pt_BR_default = {
107591
107645
  description: "Depois que sua equipe criar esses itens, voc\xEA poder\xE1 acess\xE1-los aqui. ",
107592
107646
  title: "N\xE3o H\xE1 Itens para Exibir Agora",
107593
107647
  itemsTitle: "N\xE3o H\xE1 %{itemsLabel} para Exibir Agora",
107594
- tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado assim que voc\xEA adicionar informa\xE7\xF5es ao %{tableName}",
107595
- searchTooltip: "A pesquisa ser\xE1 ativada assim que voc\xEA adicionar informa\xE7\xF5es \xE0 tabela %{tableName}",
107648
+ tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado assim que voc\xEA adicionar informa\xE7\xF5es \xE0 %{tableName}",
107649
+ searchTooltip: "A pesquisa ser\xE1 ativada assim que voc\xEA adicionar informa\xE7\xF5es \xE0 %{tableName}",
107596
107650
  featureFilter: "Filtrar",
107597
107651
  featureQuickFilter: "Filtro r\xE1pido",
107598
107652
  featureGroupBy: "Agrupar por",
@@ -107605,7 +107659,7 @@ var pt_BR_default = {
107605
107659
  bulkEdit: "Edi\xE7\xE3o em Massa",
107606
107660
  cancel: "Cancelar",
107607
107661
  editValues: "Editar Valores",
107608
- error: "Lamentamos, mas n\xE3o foi poss\xEDvel atualizar os itens. Tente novamente.",
107662
+ error: "Sentimos muito, mas n\xE3o foi poss\xEDvel atualizar os itens. Tente novamente.",
107609
107663
  placeholderForField: "Digite %{fieldName}",
107610
107664
  selection: "%{count} %{number} selecionado",
107611
107665
  success: "Os itens foram atualizados com sucesso.",
@@ -107718,6 +107772,9 @@ var pt_BR_default = {
107718
107772
  selectCell: {
107719
107773
  placeholder: "Selecionar {{label}}"
107720
107774
  },
107775
+ multiSelectCell: {
107776
+ placeholder: "Selecionar Valores"
107777
+ },
107721
107778
  booleanCell: {
107722
107779
  options: {
107723
107780
  yes: "Sim",
@@ -107768,7 +107825,7 @@ var th_TH_default = {
107768
107825
  bulkEdit: "\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02\u0E41\u0E1A\u0E1A\u0E01\u0E25\u0E38\u0E48\u0E21",
107769
107826
  cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
107770
107827
  editValues: "\u0E41\u0E01\u0E49\u0E44\u0E02\u0E04\u0E48\u0E32",
107771
- 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",
107828
+ 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.",
107772
107829
  placeholderForField: "\u0E1B\u0E49\u0E2D\u0E19 %{fieldName}",
107773
107830
  selection: "%{count} %{number} \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01",
107774
107831
  success: "\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E33\u0E40\u0E23\u0E47\u0E08\u0E41\u0E25\u0E49\u0E27",
@@ -107881,6 +107938,9 @@ var th_TH_default = {
107881
107938
  selectCell: {
107882
107939
  placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01 {{label}}"
107883
107940
  },
107941
+ multiSelectCell: {
107942
+ placeholder: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E48\u0E32"
107943
+ },
107884
107944
  booleanCell: {
107885
107945
  options: {
107886
107946
  yes: "\u0E43\u0E0A\u0E48",
@@ -108044,6 +108104,9 @@ var zh_SG_default = {
108044
108104
  selectCell: {
108045
108105
  placeholder: "\u9009\u62E9{{label}}"
108046
108106
  },
108107
+ multiSelectCell: {
108108
+ placeholder: "\u9009\u62E9\u503C"
108109
+ },
108047
108110
  booleanCell: {
108048
108111
  options: {
108049
108112
  yes: "\u662F",
@@ -109070,9 +109133,9 @@ var DataTable = ({
109070
109133
  {
109071
109134
  locale: clientI18n.locale,
109072
109135
  type: "file",
109073
- absolute_file_path: (locale) => `core/packages/data-table/src/locales/${locale}`
109136
+ absolute_file_path: (locale) => `core/packages/data-table/src/locales/${locale}.json`
109074
109137
  },
109075
- { en: translations.en },
109138
+ { en: translations.en, pseudo: translations.pseudo },
109076
109139
  {
109077
109140
  oldTranslations: translations,
109078
109141
  enableCDN: isCDNEnabled
@@ -109137,6 +109200,7 @@ var DataTable = ({
109137
109200
  );
109138
109201
  const [gridApi, setGridApi] = React80__default.default.useState();
109139
109202
  const [columnApi, setColumnApi] = React80__default.default.useState();
109203
+ const [hasDuplicateRowIds, setHasDuplicateRowIds] = React80__default.default.useState(false);
109140
109204
  const searchStorage = useSearchStorage();
109141
109205
  const filterState = useFilterState({
109142
109206
  columnDefinitions: columns,
@@ -109212,7 +109276,9 @@ var DataTable = ({
109212
109276
  gridApi?.hideOverlay.bind(gridApi),
109213
109277
  filterStorage.filtersState,
109214
109278
  searchStorage.searchValue,
109215
- setTotalRowCount
109279
+ setTotalRowCount,
109280
+ setHasDuplicateRowIds,
109281
+ getRowId
109216
109282
  )
109217
109283
  );
109218
109284
  gridApi?.paginationGoToPage(0);
@@ -109305,7 +109371,8 @@ var DataTable = ({
109305
109371
  tableRef,
109306
109372
  totalRowCount,
109307
109373
  setTotalRowCount,
109308
- updateServerSideDataSource
109374
+ updateServerSideDataSource,
109375
+ hasDuplicateRowIds
109309
109376
  }
109310
109377
  },
109311
109378
  children
@@ -109316,12 +109383,34 @@ var rowDragMoveEvent;
109316
109383
  var rowDragEndEvent;
109317
109384
  function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResponseCallback = () => {
109318
109385
  }, onNonEmptyResponseCallback = () => {
109319
- }, filters, search, setTotalRowCount) {
109386
+ }, filters, search, setTotalRowCount, setHasDuplicateRowIds, getRowId) {
109320
109387
  return {
109321
109388
  getRows: async (params) => {
109322
109389
  if (onServerSideDataRequestCallbackRef.current) {
109323
109390
  const { request, success, fail } = params;
109324
109391
  const onSuccess = (loadSuccessParams) => {
109392
+ const { rowData } = loadSuccessParams;
109393
+ if (rowData && Array.isArray(rowData) && getRowId) {
109394
+ const uniqueRowIds = /* @__PURE__ */ new Set();
109395
+ for (const row2 of rowData) {
109396
+ const id = getRowId({
109397
+ data: row2,
109398
+ level: 0,
109399
+ api: {},
109400
+ columnApi: {},
109401
+ context: {}
109402
+ });
109403
+ if (uniqueRowIds.has(id)) {
109404
+ setHasDuplicateRowIds(true);
109405
+ logger.error(
109406
+ "Duplicate row IDs detected in rowData. Check getRowId() to ensure it returns unique IDs."
109407
+ );
109408
+ fail();
109409
+ return;
109410
+ }
109411
+ uniqueRowIds.add(id);
109412
+ }
109413
+ }
109325
109414
  if (!loadSuccessParams.rowCount && request.groupKeys.length === 0) {
109326
109415
  onEmptyResponseCallback();
109327
109416
  } else {
@@ -109359,7 +109448,7 @@ var Table = (props) => {
109359
109448
  const internalTableContext = useInternalTableContext();
109360
109449
  const clientSideRowData = props.rows ? { rowData: props.rows } : {};
109361
109450
  const serverSideInfiniteScroll = internalTableContext.onServerSideDataRequest ? { serverSideInfiniteScroll: true } : {};
109362
- const { columnApi, getRowHeight, gridApi } = internalTableContext;
109451
+ const { columnApi, getRowHeight, gridApi, filterState } = internalTableContext;
109363
109452
  const [viewportWidth, setViewportWidth] = React80__default.default.useState(0);
109364
109453
  const rowActionsWidth = React80__default.default.useRef(0);
109365
109454
  const [tableHeight, setTableHeight] = React80__default.default.useState(0);
@@ -109588,6 +109677,13 @@ var Table = (props) => {
109588
109677
  setSiblingGroupsRowSelection(selectedGroupIndex, gridApi);
109589
109678
  }
109590
109679
  }, [internalTableContext.selectedGroupIndex]);
109680
+ React80__default.default.useEffect(() => {
109681
+ filterState.allAvailableFilters.forEach((filter) => {
109682
+ if (Array.isArray(filter.filterValues) && filter.filterValues.length === 0) {
109683
+ tableApi.removeFilter(filter.field);
109684
+ }
109685
+ });
109686
+ }, [filterState.allAvailableFilters]);
109591
109687
  function footerValueGetter(params) {
109592
109688
  if (props.getSubtotalLabel) {
109593
109689
  return props.getSubtotalLabel(
@@ -110305,10 +110401,7 @@ function isLastColumnInGroup(params) {
110305
110401
  function ClientSideFilterInner(props) {
110306
110402
  const { Component: Component4, columnDefinition, onChange, options, value } = props;
110307
110403
  const filterHeading = columnDefinition.filterProps?.getFilterHeadingText?.(columnDefinition) ?? columnDefinition.headerName;
110308
- const filterOptions = React80__default.default.useMemo(
110309
- () => (options ?? [])?.filter((option) => !!option),
110310
- [options]
110311
- );
110404
+ const filterOptions = React80__default.default.useMemo(() => options ?? [], [options]);
110312
110405
  return /* @__PURE__ */ React80__default.default.createElement(coreReact.Box, { as: "li", display: "block", paddingBottom: "xl", style: { width: "100%" } }, filterHeading ? /* @__PURE__ */ React80__default.default.createElement(
110313
110406
  coreReact.Label,
110314
110407
  {
@@ -1378,6 +1378,7 @@ interface InternalTableContext {
1378
1378
  getColumnDefinition: (field: string) => ColumnDefinition | undefined;
1379
1379
  totalRowCount: number;
1380
1380
  setTotalRowCount: React__default.Dispatch<React__default.SetStateAction<number>>;
1381
+ hasDuplicateRowIds: boolean;
1381
1382
  setSelectedGroupIndex?: React__default.Dispatch<React__default.SetStateAction<string | null>>;
1382
1383
  }
1383
1384
  declare const InternalTableContext: React__default.Context<InternalTableContext>;
@@ -1378,6 +1378,7 @@ interface InternalTableContext {
1378
1378
  getColumnDefinition: (field: string) => ColumnDefinition | undefined;
1379
1379
  totalRowCount: number;
1380
1380
  setTotalRowCount: React__default.Dispatch<React__default.SetStateAction<number>>;
1381
+ hasDuplicateRowIds: boolean;
1381
1382
  setSelectedGroupIndex?: React__default.Dispatch<React__default.SetStateAction<string | null>>;
1382
1383
  }
1383
1384
  declare const InternalTableContext: React__default.Context<InternalTableContext>;