@procore/data-table 14.5.0 → 14.6.0

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.
@@ -1419,7 +1419,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
1419
1419
  animation-iteration-count: infinite;
1420
1420
  animation-name: ag-shake-left-to-right;
1421
1421
  }
1422
- @keyframes _ag-shake-left-to-right_qs3ag_366 {
1422
+ @keyframes _ag-shake-left-to-right_taxt5_366 {
1423
1423
  from {
1424
1424
  padding-left: 6px;
1425
1425
  padding-right: 2px;
@@ -5420,7 +5420,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
5420
5420
  animation-iteration-count: infinite;
5421
5421
  animation-timing-function: linear;
5422
5422
  }
5423
- @keyframes _spin_qs3ag_1 {
5423
+ @keyframes _spin_taxt5_1 {
5424
5424
  from {
5425
5425
  transform: rotate(0deg);
5426
5426
  }
@@ -7592,8 +7592,11 @@ input[class^=ag-][type=range]:disabled {
7592
7592
  .ag-theme-alpine.ag-theme-alpine.ag-theme-alpine .ag-ltr .ag-header-cell .ag-header-cell-comp-wrapper .ag-header-cell-label {
7593
7593
  padding: 8px 0;
7594
7594
  }
7595
+ .ag-theme-alpine.ag-theme-alpine.ag-theme-alpine .ag-ltr .ag-header-cell .ag-header-cell-comp-wrapper .ag-header-cell-label .data-table-header-display-name-container {
7596
+ width: 100%;
7597
+ }
7595
7598
  .ag-theme-alpine.ag-theme-alpine.ag-theme-alpine .ag-ltr .ag-header-cell .ag-header-cell-comp-wrapper .ag-header-cell-label .data-table-header-display-name {
7596
- white-space: nowrap;
7599
+ word-wrap: break-word;
7597
7600
  text-overflow: ellipsis;
7598
7601
  overflow: hidden;
7599
7602
  }
@@ -7899,7 +7902,7 @@ input[class^=ag-][type=range]:disabled {
7899
7902
  padding-left: 16px;
7900
7903
  }
7901
7904
 
7902
- div._contextPanel_qs3ag_7123 {
7905
+ div._contextPanel_taxt5_7126 {
7903
7906
  width: 400px;
7904
7907
  transition: all ease 500ms;
7905
7908
  flex: 0 0 auto;
@@ -7908,7 +7911,7 @@ div._contextPanel_qs3ag_7123 {
7908
7911
  border: 1px solid #d6dadc;
7909
7912
  display: flex;
7910
7913
  }
7911
- div._contextPanel--hidden_qs3ag_7132 {
7914
+ div._contextPanel--hidden_taxt5_7135 {
7912
7915
  border: none;
7913
7916
  overflow: hidden;
7914
7917
  padding: 0px;
@@ -7916,50 +7919,50 @@ div._contextPanel--hidden_qs3ag_7132 {
7916
7919
  width: 0px;
7917
7920
  }
7918
7921
 
7919
- ._contextPanelWrapper_qs3ag_7140 {
7922
+ ._contextPanelWrapper_taxt5_7143 {
7920
7923
  position: relative;
7921
7924
  flex-grow: 1;
7922
7925
  }
7923
7926
 
7924
- ._contextPanelBody_qs3ag_7145 {
7927
+ ._contextPanelBody_taxt5_7148 {
7925
7928
  width: clamp(380px, 400px, 100%);
7926
7929
  }
7927
7930
 
7928
- ._contextPanel-stickyHeader_qs3ag_7149 {
7931
+ ._contextPanel-stickyHeader_taxt5_7152 {
7929
7932
  background-color: #ffffff;
7930
7933
  position: sticky;
7931
7934
  top: 0;
7932
7935
  z-index: 5;
7933
7936
  }
7934
7937
 
7935
- ._filters-list_qs3ag_7156 {
7938
+ ._filters-list_taxt5_7159 {
7936
7939
  padding: 0;
7937
7940
  margin: 0;
7938
7941
  }
7939
- ._filters-list_qs3ag_7156 ol {
7942
+ ._filters-list_taxt5_7159 ol {
7940
7943
  padding: 0;
7941
7944
  margin: 0;
7942
7945
  }
7943
7946
 
7944
- ._col-drag-column-icon_qs3ag_7165 {
7947
+ ._col-drag-column-icon_taxt5_7168 {
7945
7948
  color: #6a767c;
7946
7949
  }
7947
7950
 
7948
- ._tabular-nums_qs3ag_7169 {
7951
+ ._tabular-nums_taxt5_7172 {
7949
7952
  font-variant-numeric: tabular-nums;
7950
7953
  }`;
7951
7954
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
7952
7955
  var styles_default = {
7953
- "contextPanel": "_contextPanel_qs3ag_7123",
7954
- "contextPanel--hidden": "_contextPanel--hidden_qs3ag_7132",
7955
- "contextPanelWrapper": "_contextPanelWrapper_qs3ag_7140",
7956
- "contextPanelBody": "_contextPanelBody_qs3ag_7145",
7957
- "contextPanel-stickyHeader": "_contextPanel-stickyHeader_qs3ag_7149",
7958
- "filters-list": "_filters-list_qs3ag_7156",
7959
- "col-drag-column-icon": "_col-drag-column-icon_qs3ag_7165",
7960
- "tabular-nums": "_tabular-nums_qs3ag_7169",
7961
- "ag-shake-left-to-right": "_ag-shake-left-to-right_qs3ag_366",
7962
- "spin": "_spin_qs3ag_1"
7956
+ "contextPanel": "_contextPanel_taxt5_7126",
7957
+ "contextPanel--hidden": "_contextPanel--hidden_taxt5_7135",
7958
+ "contextPanelWrapper": "_contextPanelWrapper_taxt5_7143",
7959
+ "contextPanelBody": "_contextPanelBody_taxt5_7148",
7960
+ "contextPanel-stickyHeader": "_contextPanel-stickyHeader_taxt5_7152",
7961
+ "filters-list": "_filters-list_taxt5_7159",
7962
+ "col-drag-column-icon": "_col-drag-column-icon_taxt5_7168",
7963
+ "tabular-nums": "_tabular-nums_taxt5_7172",
7964
+ "ag-shake-left-to-right": "_ag-shake-left-to-right_taxt5_366",
7965
+ "spin": "_spin_taxt5_1"
7963
7966
  };
7964
7967
 
7965
7968
  // src/utils/getCellValueTypographyProps.ts
@@ -8147,19 +8150,19 @@ var CompanyCellRenderer = withDataTableRenderer(Renderer2, "select");
8147
8150
 
8148
8151
  // src/utils/isEmptyValue.ts
8149
8152
  var isEmptyValue = (value) => {
8150
- if (typeof value === "boolean") {
8153
+ if (typeof value === "boolean" || typeof value === "number") {
8151
8154
  return false;
8152
8155
  }
8153
- if (Array.isArray(value)) {
8154
- return !value.length;
8156
+ if (!value) {
8157
+ return true;
8155
8158
  }
8156
- if (value === 0) {
8157
- return false;
8159
+ if (Array.isArray(value)) {
8160
+ return value.length === 0;
8158
8161
  }
8159
- if (value && Object.keys(value).length === 0 && Object.getPrototypeOf(value) === Object.prototype) {
8160
- return !!value;
8162
+ if (Object.getPrototypeOf(value) === Object.prototype) {
8163
+ return Object.keys(value).length === 0;
8161
8164
  }
8162
- return !value;
8165
+ return false;
8163
8166
  };
8164
8167
 
8165
8168
  // src/CellRenderers/CurrencyCell.tsx
@@ -56130,6 +56133,14 @@ function findNode(predicate, gridApi) {
56130
56133
  return searchTarget;
56131
56134
  }
56132
56135
 
56136
+ // src/utils/isServerSideGroupSelectionState.ts
56137
+ function isServerSideGroupSelectionState(value) {
56138
+ if (value === null) {
56139
+ return false;
56140
+ }
56141
+ return value.selectAll === void 0;
56142
+ }
56143
+
56133
56144
  // src/GenericHeader/genericHeader.scss
56134
56145
  var css7 = `.ag-header-cell .data-table-header-menu {
56135
56146
  opacity: 1;
@@ -56543,13 +56554,22 @@ var GenericHeaderRenderer = (props) => {
56543
56554
  return;
56544
56555
  }
56545
56556
  function updateSelectAllCheckbox(e) {
56557
+ var _a2;
56546
56558
  if (e.source === "uiSelectAll") {
56547
56559
  return;
56548
56560
  }
56561
+ const selectionState = props.api.getServerSideSelectionState();
56562
+ const isGroupSelection = isServerSideGroupSelectionState(selectionState);
56563
+ const isSelectionStatePartialSelected = Boolean(
56564
+ (_a2 = selectionState == null ? void 0 : selectionState.toggledNodes) == null ? void 0 : _a2.length
56565
+ );
56566
+ const isSelectionStateSelectAll = !isSelectionStatePartialSelected && Boolean(
56567
+ isGroupSelection ? selectionState.selectAllChildren : selectionState == null ? void 0 : selectionState.selectAll
56568
+ );
56549
56569
  const isPagination = Boolean(props.api.paginationGetRowCount());
56550
56570
  const currentRows = getCurrentRows(props.api, isPagination);
56551
- const isAllSelected = currentRows.length && currentRows.every(isRowSelected);
56552
- const isPartialSelected = !isAllSelected && currentRows.some(isRowSelected);
56571
+ const isAllSelected = isPagination ? currentRows.length && currentRows.every(isRowSelected) : isSelectionStateSelectAll;
56572
+ const isPartialSelected = isPagination ? !isAllSelected && currentRows.some(isRowSelected) : isSelectionStatePartialSelected;
56553
56573
  if (isAllSelected) {
56554
56574
  setSelectAll("all" /* All */);
56555
56575
  } else if (isPartialSelected) {
@@ -56574,24 +56594,28 @@ var GenericHeaderRenderer = (props) => {
56574
56594
  };
56575
56595
  }, [isFirstColumn2, props.selectionSSREnabled, props.api, onSSDR]);
56576
56596
  const toggleSelectAll = React83__default.default.useCallback(() => {
56577
- var _a2, _b, _c;
56597
+ var _a2, _b, _c, _d, _e;
56578
56598
  const nextSelectedState = selectAll === "all" /* All */ ? "none" /* None */ : "all" /* All */;
56579
56599
  setSelectAll(nextSelectedState);
56580
56600
  (_a2 = props.onSelectAll) == null ? void 0 : _a2.call(props, nextSelectedState);
56581
56601
  const isSelectAll = nextSelectedState == "all" /* All */;
56582
56602
  if (props.selectionSSREnabled) {
56583
56603
  const isPagination = Boolean(props.api.paginationGetRowCount());
56584
- const rowsIdsToSelectOrDeselect = getCurrentRows(
56585
- props.api,
56586
- isPagination
56587
- ).map((node) => node.id);
56588
- isSelectAll ? (_b = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _b.selectRows(
56589
- rowsIdsToSelectOrDeselect,
56590
- "uiSelectAll"
56591
- ) : (_c = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _c.deselectRows(
56592
- rowsIdsToSelectOrDeselect,
56593
- "uiSelectAll"
56594
- );
56604
+ if (isPagination) {
56605
+ const rowsIdsToSelectOrDeselect = getCurrentRows(
56606
+ props.api,
56607
+ isPagination
56608
+ ).map((node) => node.id);
56609
+ isSelectAll ? (_b = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _b.selectRows(
56610
+ rowsIdsToSelectOrDeselect,
56611
+ "uiSelectAll"
56612
+ ) : (_c = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _c.deselectRows(
56613
+ rowsIdsToSelectOrDeselect,
56614
+ "uiSelectAll"
56615
+ );
56616
+ } else {
56617
+ isSelectAll ? (_d = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _d.selectAll() : (_e = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _e.deselectAll();
56618
+ }
56595
56619
  } else {
56596
56620
  isSelectAll ? props.api.selectAllFiltered() : props.api.deselectAllFiltered();
56597
56621
  }
@@ -56645,7 +56669,7 @@ var GenericHeaderRenderer = (props) => {
56645
56669
  trigger: isOverflowing ? "hover" : "none",
56646
56670
  overlay: /* @__PURE__ */ React83__default.default.createElement(coreReact.Tooltip.Content, null, /* @__PURE__ */ React83__default.default.createElement("span", null, props.displayName))
56647
56671
  },
56648
- /* @__PURE__ */ React83__default.default.createElement("div", null, /* @__PURE__ */ React83__default.default.createElement("span", { ref, className: "data-table-header-display-name" }, props.displayName))
56672
+ /* @__PURE__ */ React83__default.default.createElement("div", { className: "data-table-header-display-name-container" }, /* @__PURE__ */ React83__default.default.createElement("span", { ref, className: "data-table-header-display-name" }, props.displayName))
56649
56673
  ), HeaderNode && /* @__PURE__ */ React83__default.default.createElement(
56650
56674
  coreReact.Flex,
56651
56675
  {
@@ -56972,7 +56996,7 @@ function shapeActiveFilters(filters = emptyArray2) {
56972
56996
  field
56973
56997
  };
56974
56998
  });
56975
- return { state };
56999
+ return state;
56976
57000
  }
56977
57001
  function useFilterStorage({
56978
57002
  columnDefinitions,
@@ -56983,7 +57007,7 @@ function useFilterStorage({
56983
57007
  filterable: emptyObj,
56984
57008
  filterOptions: emptyObj,
56985
57009
  possibleFilters: emptyArray2,
56986
- selectedFilters: emptyObj
57010
+ selectedFilters: shapeActiveFilters(initialSelectedFilters)
56987
57011
  });
56988
57012
  function getOptions(field) {
56989
57013
  return filtersState.filterOptions[field];
@@ -57006,16 +57030,25 @@ function useFilterStorage({
57006
57030
  const filterableColumns = columnDefinitions.filter(
57007
57031
  (col) => col.filterRenderer
57008
57032
  );
57009
- const { state } = shapeActiveFilters(initialSelectedFilters);
57033
+ const filterableMap = filterableColumns.reduce((acc, curr) => {
57034
+ return {
57035
+ ...acc,
57036
+ [curr.field]: curr
57037
+ };
57038
+ }, {});
57039
+ const selectedFiltersState = Object.entries(
57040
+ filtersState.selectedFilters ?? {}
57041
+ ).filter(([field]) => Object.keys(filterableMap).includes(field)).reduce(
57042
+ (acc, [field, filterState]) => ({
57043
+ ...acc,
57044
+ [field]: filterState
57045
+ }),
57046
+ {}
57047
+ );
57010
57048
  setFiltersState((prev) => ({
57011
57049
  ...prev,
57012
- filterable: filterableColumns.reduce((acc, curr) => {
57013
- return {
57014
- ...acc,
57015
- [curr.field]: curr
57016
- };
57017
- }, {}),
57018
- selectedFilters: state,
57050
+ filterable: filterableMap,
57051
+ selectedFilters: selectedFiltersState,
57019
57052
  possibleFilters: filterableColumns.sort(sortColumnDefinitionsByFilterIndex).map(getFieldAttr)
57020
57053
  }));
57021
57054
  }, [columnDefinitions]);
@@ -57029,7 +57062,7 @@ function useFilterStorage({
57029
57062
  (selectedFilters) => {
57030
57063
  setFiltersState((prev) => ({
57031
57064
  ...prev,
57032
- selectedFilters: shapeActiveFilters(selectedFilters).state
57065
+ selectedFilters: shapeActiveFilters(selectedFilters)
57033
57066
  }));
57034
57067
  },
57035
57068
  []
@@ -77838,6 +77871,7 @@ function useContextPanel() {
77838
77871
  }
77839
77872
  var ConfigPanelButton = () => {
77840
77873
  const { contextPanel, totalRowCount } = useInternalTableContext();
77874
+ const I18n = coreReact.useI18nContext();
77841
77875
  return /* @__PURE__ */ React83__default.default.createElement(
77842
77876
  EmptyResultsControlTooltip,
77843
77877
  {
@@ -77855,28 +77889,29 @@ var ConfigPanelButton = () => {
77855
77889
  contextPanel.show("configuration");
77856
77890
  }
77857
77891
  },
77892
+ icon: /* @__PURE__ */ React83__default.default.createElement(
77893
+ "svg",
77894
+ {
77895
+ style: { marginTop: "6px" },
77896
+ focusable: false,
77897
+ width: "15",
77898
+ height: "15",
77899
+ viewBox: "0 0 20 20",
77900
+ fill: "none",
77901
+ xmlns: "http://www.w3.org/2000/svg"
77902
+ },
77903
+ /* @__PURE__ */ React83__default.default.createElement(
77904
+ "path",
77905
+ {
77906
+ d: "M0 11.5V13.5H4.5V11.5H0ZM0 1.5V3.5H7.5V1.5H0ZM8.5 15V13.5H15V11.5H8.5V10H6.66667V15H8.5ZM3.5 5V6.5H0V8.5H3.5V10H5.5V5H3.5ZM15 8.5V6.5H7.5V8.5H15ZM9.5 5H11.6667V3.5H15V1.5H11.6667V0H9.5V5Z",
77907
+ fill: "currentColor"
77908
+ }
77909
+ )
77910
+ ),
77858
77911
  selected: contextPanel.content === "configuration",
77859
77912
  "data-qa": "table-config-button"
77860
77913
  },
77861
- /* @__PURE__ */ React83__default.default.createElement(
77862
- "svg",
77863
- {
77864
- style: { marginTop: "6px" },
77865
- focusable: false,
77866
- width: "15",
77867
- height: "15",
77868
- viewBox: "0 0 15 15",
77869
- fill: "none",
77870
- xmlns: "http://www.w3.org/2000/svg"
77871
- },
77872
- /* @__PURE__ */ React83__default.default.createElement(
77873
- "path",
77874
- {
77875
- d: "M0 11.5V13.5H4.5V11.5H0ZM0 1.5V3.5H7.5V1.5H0ZM8.5 15V13.5H15V11.5H8.5V10H6.66667V15H8.5ZM3.5 5V6.5H0V8.5H3.5V10H5.5V5H3.5ZM15 8.5V6.5H7.5V8.5H15ZM9.5 5H11.6667V3.5H15V1.5H11.6667V0H9.5V5Z",
77876
- fill: "currentColor"
77877
- }
77878
- )
77879
- )
77914
+ I18n.t("dataTable.tableSettings.configure")
77880
77915
  )
77881
77916
  );
77882
77917
  };
@@ -78711,7 +78746,8 @@ var de_DE_default = {
78711
78746
  tableSettings: "Tabelleneinstellungen",
78712
78747
  groupBy: "Gruppieren nach:",
78713
78748
  reset: "Zur\xFCcksetzen",
78714
- selectColumnGroup: "W\xE4hlen Sie eine Spalte zum Gruppieren."
78749
+ selectColumnGroup: "W\xE4hlen Sie eine Spalte zum Gruppieren.",
78750
+ configure: "Konfigurieren"
78715
78751
  },
78716
78752
  rowGroupToggle: {
78717
78753
  expandTierOne: "\xD6ffnen Sie die ersten Gruppen in der Tabelle.",
@@ -78855,7 +78891,8 @@ var en_AU_default = {
78855
78891
  tableSettings: "Table Settings",
78856
78892
  groupBy: "Group by:",
78857
78893
  reset: "Reset",
78858
- selectColumnGroup: "Select a column to group"
78894
+ selectColumnGroup: "Select a column to group",
78895
+ configure: "Configure"
78859
78896
  },
78860
78897
  rowGroupToggle: {
78861
78898
  expandTierOne: "Open first groups in the table.",
@@ -78999,7 +79036,8 @@ var en_CA_default = {
78999
79036
  tableSettings: "Table Settings",
79000
79037
  groupBy: "Group by:",
79001
79038
  reset: "Reset",
79002
- selectColumnGroup: "Select a column to group"
79039
+ selectColumnGroup: "Select a column to group",
79040
+ configure: "Configure"
79003
79041
  },
79004
79042
  rowGroupToggle: {
79005
79043
  expandTierOne: "Open first groups in the table.",
@@ -79143,7 +79181,8 @@ var en_GB_default = {
79143
79181
  tableSettings: "Table Settings",
79144
79182
  groupBy: "Group by:",
79145
79183
  reset: "Reset",
79146
- selectColumnGroup: "Select a column to group"
79184
+ selectColumnGroup: "Select a column to group",
79185
+ configure: "Configure"
79147
79186
  },
79148
79187
  rowGroupToggle: {
79149
79188
  expandTierOne: "Open first groups in the table.",
@@ -79287,7 +79326,8 @@ var en_default = {
79287
79326
  tableSettings: "Table Settings",
79288
79327
  groupBy: "Group by:",
79289
79328
  reset: "Reset",
79290
- selectColumnGroup: "Select a column to group"
79329
+ selectColumnGroup: "Select a column to group",
79330
+ configure: "Configure"
79291
79331
  },
79292
79332
  rowGroupToggle: {
79293
79333
  expandTierOne: "Open first groups in the table.",
@@ -79431,7 +79471,8 @@ var es_ES_default = {
79431
79471
  tableSettings: "Configuraci\xF3n de la tabla",
79432
79472
  groupBy: "Agrupar por:",
79433
79473
  reset: "Restablecer",
79434
- selectColumnGroup: "Seleccione una columna para agrupar"
79474
+ selectColumnGroup: "Seleccione una columna para agrupar",
79475
+ configure: "Configurar"
79435
79476
  },
79436
79477
  rowGroupToggle: {
79437
79478
  expandTierOne: "Abrir los primeros grupos de la tabla.",
@@ -79575,7 +79616,8 @@ var es_default = {
79575
79616
  tableSettings: "Configuraci\xF3n de la tabla",
79576
79617
  groupBy: "Agrupar por:",
79577
79618
  reset: "Restablecer",
79578
- selectColumnGroup: "Selecciona una columna para agrupar"
79619
+ selectColumnGroup: "Selecciona una columna para agrupar",
79620
+ configure: "Configurar"
79579
79621
  },
79580
79622
  rowGroupToggle: {
79581
79623
  expandTierOne: "Abrir los primeros grupos de la tabla.",
@@ -79719,7 +79761,8 @@ var fr_CA_default = {
79719
79761
  tableSettings: "Param\xE8tres du tableau",
79720
79762
  groupBy: "Regrouper par :",
79721
79763
  reset: "R\xE9initialiser",
79722
- selectColumnGroup: "S\xE9lectionnez une colonne \xE0 grouper"
79764
+ selectColumnGroup: "S\xE9lectionnez une colonne \xE0 grouper",
79765
+ configure: "Configurer"
79723
79766
  },
79724
79767
  rowGroupToggle: {
79725
79768
  expandTierOne: "Ouvrez les premiers groupes du tableau.",
@@ -79863,7 +79906,8 @@ var fr_FR_default = {
79863
79906
  tableSettings: "Param\xE8tres du tableau",
79864
79907
  groupBy: "Regrouper par\xA0:",
79865
79908
  reset: "R\xE9initialiser",
79866
- selectColumnGroup: "S\xE9lectionner une colonne \xE0 regrouper"
79909
+ selectColumnGroup: "S\xE9lectionner une colonne \xE0 regrouper",
79910
+ configure: "Configurer"
79867
79911
  },
79868
79912
  rowGroupToggle: {
79869
79913
  expandTierOne: "Ouvrez les premiers groupes du tableau.",
@@ -80007,7 +80051,8 @@ var is_IS_default = {
80007
80051
  tableSettings: "Tafla stillingar",
80008
80052
  groupBy: "H\xF3pur eftir:",
80009
80053
  reset: "Endurstilla",
80010
- selectColumnGroup: "Veldu d\xE1lk til a\xF0 flokka"
80054
+ selectColumnGroup: "Veldu d\xE1lk til a\xF0 flokka",
80055
+ configure: "Stilla"
80011
80056
  },
80012
80057
  rowGroupToggle: {
80013
80058
  expandTierOne: "Opna\xF0u fyrstu h\xF3pa \xED t\xF6flunni.",
@@ -80151,7 +80196,8 @@ var ja_JP_default = {
80151
80196
  tableSettings: "\u8868\u306E\u8A2D\u5B9A",
80152
80197
  groupBy: "\u30B0\u30EB\u30FC\u30D7\u5316:",
80153
80198
  reset: "\u30EA\u30BB\u30C3\u30C8",
80154
- selectColumnGroup: "\u30B0\u30EB\u30FC\u30D7\u5316\u3059\u308B\u5217\u3092\u9078\u629E"
80199
+ selectColumnGroup: "\u30B0\u30EB\u30FC\u30D7\u5316\u3059\u308B\u5217\u3092\u9078\u629E",
80200
+ configure: "\u69CB\u6210"
80155
80201
  },
80156
80202
  rowGroupToggle: {
80157
80203
  expandTierOne: "\u8868\u306E\u6700\u521D\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u958B\u304D\u307E\u3059\u3002",
@@ -80295,7 +80341,8 @@ var pt_BR_default = {
80295
80341
  tableSettings: "Configura\xE7\xF5es da Tabela",
80296
80342
  groupBy: "Agrupar por:",
80297
80343
  reset: "Redefinir",
80298
- selectColumnGroup: "Selecionar uma coluna para agrupar"
80344
+ selectColumnGroup: "Selecionar uma coluna para agrupar",
80345
+ configure: "Configurar"
80299
80346
  },
80300
80347
  rowGroupToggle: {
80301
80348
  expandTierOne: "Abra os primeiros grupos na tabela.",
@@ -80439,7 +80486,8 @@ var th_TH_default = {
80439
80486
  tableSettings: "\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E15\u0E32\u0E23\u0E32\u0E07",
80440
80487
  groupBy: "\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E15\u0E32\u0E21:",
80441
80488
  reset: "\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15",
80442
- selectColumnGroup: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E2D\u0E25\u0E31\u0E21\u0E19\u0E4C\u0E17\u0E35\u0E48\u0E08\u0E30\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21"
80489
+ selectColumnGroup: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E2D\u0E25\u0E31\u0E21\u0E19\u0E4C\u0E17\u0E35\u0E48\u0E08\u0E30\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21",
80490
+ configure: "\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E04\u0E48\u0E32"
80443
80491
  },
80444
80492
  rowGroupToggle: {
80445
80493
  expandTierOne: "\u0E40\u0E1B\u0E34\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E41\u0E23\u0E01\u0E43\u0E19\u0E15\u0E32\u0E23\u0E32\u0E07",
@@ -80583,7 +80631,8 @@ var zh_SG_default = {
80583
80631
  tableSettings: "\u8868\u683C\u8BBE\u7F6E",
80584
80632
  groupBy: "\u5206\u7EC4\u4F9D\u636E\uFF1A",
80585
80633
  reset: "\u91CD\u7F6E",
80586
- selectColumnGroup: "\u9009\u62E9\u8981\u5206\u7C7B\u7684\u5217"
80634
+ selectColumnGroup: "\u9009\u62E9\u8981\u5206\u7C7B\u7684\u5217",
80635
+ configure: "\u914D\u7F6E"
80587
80636
  },
80588
80637
  rowGroupToggle: {
80589
80638
  expandTierOne: "\u6253\u5F00\u8868\u4E2D\u7684\u7B2C\u4E00\u4E2A\u7EC4\u3002",
@@ -81214,6 +81263,15 @@ var useTableApi = ({
81214
81263
  }),
81215
81264
  [columnApi, gridApi, rowHeight, filterStorage]
81216
81265
  );
81266
+ function deselectParentsWithoutChildrenOrSelectAll(state, gridApi2) {
81267
+ var _a, _b, _c;
81268
+ if (state.selectAllChildren === false && !((_a = state.toggledNodes) == null ? void 0 : _a.length)) {
81269
+ (_b = gridApi2.getRowNode(state.nodeId || "")) == null ? void 0 : _b.setSelected(false);
81270
+ }
81271
+ (_c = state.toggledNodes) == null ? void 0 : _c.forEach(
81272
+ (node) => deselectParentsWithoutChildrenOrSelectAll(node, gridApi2)
81273
+ );
81274
+ }
81217
81275
  const onSelectionChanged = (rowNode) => {
81218
81276
  var _a;
81219
81277
  const isGrouped = rowNode.group || ((_a = rowNode.parent) == null ? void 0 : _a.group) && !isNodeRootLevelOfGrid(rowNode.parent);
@@ -81235,13 +81293,18 @@ var useTableApi = ({
81235
81293
  currAffectedRows
81236
81294
  );
81237
81295
  const rowValues = Object.values(rowsToUpdate);
81238
- rowValues.forEach((row2) => {
81239
- row2.node.setSelected(
81240
- row2.selectedState === rowSelectionState.selected,
81241
- false,
81242
- "checkboxSelected"
81243
- );
81244
- });
81296
+ const selectionState = gridApi == null ? void 0 : gridApi.getServerSideSelectionState();
81297
+ if (selectionState && isServerSideGroupSelectionState(selectionState) && gridApi) {
81298
+ deselectParentsWithoutChildrenOrSelectAll(selectionState, gridApi);
81299
+ } else {
81300
+ rowValues.forEach((row2) => {
81301
+ row2.node.setSelected(
81302
+ row2.selectedState === rowSelectionState.selected,
81303
+ false,
81304
+ "checkboxSelected"
81305
+ );
81306
+ });
81307
+ }
81245
81308
  rowSelectionRef.current.affectedRows = {
81246
81309
  ...currAffectedRows,
81247
81310
  ...rowsToUpdate
@@ -81365,6 +81428,7 @@ function buildPartialTableApi({
81365
81428
  rowSelectionRef
81366
81429
  }) : void 0;
81367
81430
  };
81431
+ const getServerSideSelectionState = () => gridApi == null ? void 0 : gridApi.getServerSideSelectionState();
81368
81432
  const getTableConfiguration = () => {
81369
81433
  var _a;
81370
81434
  const columnState = (columnApi == null ? void 0 : columnApi.getColumnState().filter(
@@ -81480,6 +81544,7 @@ function buildPartialTableApi({
81480
81544
  getRootAggregateData,
81481
81545
  getRowData,
81482
81546
  getSelectedRows: getSelectedRows2,
81547
+ getServerSideSelectionState,
81483
81548
  getTableConfiguration,
81484
81549
  refreshCells,
81485
81550
  setPinnedBottomRowData,
@@ -82568,7 +82633,7 @@ var Table = (props) => {
82568
82633
  groupDefaultExpanded: props.groupDefaultExpanded,
82569
82634
  groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
82570
82635
  getGroupRowAgg: props.getGroupRowAgg ? getGroupRowAgg : void 0,
82571
- groupSelectsChildren: !onSSDR,
82636
+ groupSelectsChildren: props.groupSelectsChildren || !onSSDR,
82572
82637
  groupSelectsFiltered: true,
82573
82638
  headerHeight: props.headerHeight,
82574
82639
  icons: tableIcons,