@procore/data-table 14.33.0 → 14.35.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.
@@ -10,6 +10,7 @@ import { formatNumber, formatCurrency, formatPercentage } from '@procore/labs-fi
10
10
  import styled4, { css as css$1 } from 'styled-components';
11
11
  import { format } from '@procore/labs-financials-utils/dist/format';
12
12
  import { detectPrng, factory } from 'ulid';
13
+ import { isCDNFeatureFlagEnabled, useRequestTranslations } from '@procore/cdn-translations';
13
14
  import { useToastAlertContext, ToastAlertProvider } from '@procore/toast-alert';
14
15
  import ReactDOM, { createPortal } from 'react-dom';
15
16
  import { renderToString, renderToStaticMarkup } from 'react-dom/server';
@@ -55406,19 +55407,15 @@ function getAffectedRows(currentRows, selectionNode, affectedRows) {
55406
55407
  function noop2() {
55407
55408
  }
55408
55409
  function getSelectedState(node, affectedRows) {
55409
- var _a;
55410
55410
  const self = affectedRows[node.id];
55411
55411
  if ((self == null ? void 0 : self.selectedState) === "selected") {
55412
55412
  return true;
55413
- } else if (node.parent && !isNodeRootLevelOfGrid(node.parent) && ((_a = affectedRows[node.parent.id]) == null ? void 0 : _a.selectedState) === "selected") {
55414
- node.setSelected(true, void 0, self == null ? void 0 : self.selectedState);
55415
- affectedRows[node.id] = {
55416
- node,
55417
- selectedState: "selected"
55418
- };
55413
+ } else if (node.isSelected()) {
55414
+ node.setSelected(true, void 0);
55415
+ affectedRows[node.id] = { node, selectedState: "selected" };
55419
55416
  return true;
55420
55417
  } else {
55421
- return !!node.isSelected();
55418
+ return false;
55422
55419
  }
55423
55420
  }
55424
55421
  function getCheckboxState(node, isServerSideDataRequest, rowSelectionRef) {
@@ -55958,7 +55955,12 @@ var DataTableCellRenderer = ({
55958
55955
  }),
55959
55956
  [column2, node]
55960
55957
  );
55961
- const tooltipProps = (_e = columnDefinition.cellRendererParams) == null ? void 0 : _e.tooltipParams;
55958
+ const rawTooltipParams = (_e = columnDefinition.cellRendererParams) == null ? void 0 : _e.tooltipParams;
55959
+ const tooltipProps = typeof rawTooltipParams === "function" ? rawTooltipParams({
55960
+ data,
55961
+ value,
55962
+ node: serializeNode(node)
55963
+ }) : rawTooltipParams;
55962
55964
  if (tooltipProps) {
55963
55965
  return /* @__PURE__ */ React80.createElement(CellTooltipWrapper, { tooltipProps }, /* @__PURE__ */ React80.createElement(
55964
55966
  CellContent,
@@ -104560,6 +104562,11 @@ var de_DE_default = {
104560
104562
  error: "Entschuldigung, die Elemente konnten nicht aktualisiert werden. Versuchen Sie es noch einmal.",
104561
104563
  placeholderForField: "%{fieldName} eingeben",
104562
104564
  selection: "%{count} %{number} ausgew\xE4hlt",
104565
+ selection_count: {
104566
+ zero: "%{count} Elemente ausgew\xE4hlt",
104567
+ one: "%{count} Element ausgew\xE4hlt",
104568
+ other: "%{count} Elemente ausgew\xE4hlt"
104569
+ },
104563
104570
  success: "Die Elemente wurden erfolgreich aktualisiert.",
104564
104571
  one: "Element",
104565
104572
  many: "Elemente"
@@ -104726,6 +104733,11 @@ var en_AU_default = {
104726
104733
  error: "Sorry, the items couldn't be updated. Try again.",
104727
104734
  placeholderForField: "Enter %{fieldName}",
104728
104735
  selection: "%{count} %{number} selected",
104736
+ selection_count: {
104737
+ zero: "%{count} items selected",
104738
+ one: "%{count} item selected",
104739
+ other: "%{count} items selected"
104740
+ },
104729
104741
  success: "The items were successfully updated.",
104730
104742
  one: "item",
104731
104743
  many: "items"
@@ -104892,6 +104904,11 @@ var en_CA_default = {
104892
104904
  error: "Sorry, the items couldn't be updated. Try again.",
104893
104905
  placeholderForField: "Enter %{fieldName}",
104894
104906
  selection: "%{count} %{number} selected",
104907
+ selection_count: {
104908
+ zero: "%{count} items selected",
104909
+ one: "%{count} item selected",
104910
+ other: "%{count} items selected"
104911
+ },
104895
104912
  success: "The items were successfully updated.",
104896
104913
  one: "item",
104897
104914
  many: "items"
@@ -105058,6 +105075,11 @@ var en_GB_default = {
105058
105075
  error: "Sorry, the items couldn't be updated. Try again.",
105059
105076
  placeholderForField: "Enter %{fieldName}",
105060
105077
  selection: "%{count} %{number} selected",
105078
+ selection_count: {
105079
+ zero: "%{count} items selected",
105080
+ one: "%{count} item selected",
105081
+ other: "%{count} items selected"
105082
+ },
105061
105083
  success: "The items were successfully updated.",
105062
105084
  one: "item",
105063
105085
  many: "items"
@@ -105395,6 +105417,11 @@ var es_ES_default = {
105395
105417
  error: "No se han podido actualizar los elementos. Int\xE9ntelo de nuevo.",
105396
105418
  placeholderForField: "Introducir %{fieldName}",
105397
105419
  selection: "%{count} %{number} seleccionados",
105420
+ selection_count: {
105421
+ zero: "%{count} elementos seleccionados",
105422
+ one: "%{count} elemento seleccionado",
105423
+ other: "%{count} elementos seleccionados"
105424
+ },
105398
105425
  success: "Los elementos se han actualizado correctamente.",
105399
105426
  one: "elemento",
105400
105427
  many: "elementos"
@@ -105561,6 +105588,11 @@ var es_default = {
105561
105588
  error: "Lo sentimos, no se pudieron actualizar los \xEDtems. Int\xE9ntelo de nuevo.",
105562
105589
  placeholderForField: "Ingrese %{fieldName}",
105563
105590
  selection: "%{count} %{number} seleccionado",
105591
+ selection_count: {
105592
+ zero: "%{count} \xEDtems seleccionados",
105593
+ one: "%{count} \xEDtem seleccionado",
105594
+ other: "%{count} \xEDtems seleccionados"
105595
+ },
105564
105596
  success: "Los \xEDtems se actualizaron correctamente.",
105565
105597
  one: "\xEDtem",
105566
105598
  many: "\xEDtems"
@@ -105727,6 +105759,11 @@ var fr_CA_default = {
105727
105759
  error: "D\xE9sol\xE9, les items n'ont pas pu \xEAtre mis \xE0 jour. Veuillez r\xE9essayer.",
105728
105760
  placeholderForField: "Entrez %{fieldName}",
105729
105761
  selection: "%{count} %{number} s\xE9lectionn\xE9",
105762
+ selection_count: {
105763
+ zero: "%{count}\xA0items s\xE9lectionn\xE9s",
105764
+ one: "%{count}\xA0item s\xE9lectionn\xE9",
105765
+ other: "%{count}\xA0items s\xE9lectionn\xE9s"
105766
+ },
105730
105767
  success: "Les items ont \xE9t\xE9 mis \xE0 jour avec succ\xE8s.",
105731
105768
  one: "Item",
105732
105769
  many: "items"
@@ -105893,6 +105930,11 @@ var fr_FR_default = {
105893
105930
  error: "D\xE9sol\xE9, les \xE9l\xE9ments n'ont pas pu \xEAtre mis \xE0 jour. Veuillez r\xE9essayer.",
105894
105931
  placeholderForField: "Saisissez %{fieldName}",
105895
105932
  selection: "%{count} %{number} s\xE9lectionn\xE9",
105933
+ selection_count: {
105934
+ zero: "%{count}\xA0\xE9l\xE9ments s\xE9lectionn\xE9s",
105935
+ one: "%{count}\xA0\xE9l\xE9ment s\xE9lectionn\xE9",
105936
+ other: "%{count}\xA0\xE9l\xE9ments s\xE9lectionn\xE9s"
105937
+ },
105896
105938
  success: "Les \xE9l\xE9ments ont bien \xE9t\xE9 mis \xE0 jour.",
105897
105939
  one: "\xE9l\xE9ment",
105898
105940
  many: "\xE9l\xE9ments"
@@ -106059,6 +106101,11 @@ var is_IS_default = {
106059
106101
  error: "\xDEv\xED mi\xF0ur var ekki h\xE6gt a\xF0 uppf\xE6ra atri\xF0in. Reyndu aftur.",
106060
106102
  placeholderForField: "Sl\xE1\xF0u inn %{fieldName}",
106061
106103
  selection: "%{count} %{number} valinn",
106104
+ selection_count: {
106105
+ zero: "%{count} atri\xF0i valin",
106106
+ one: "%{count} atri\xF0i vali\xF0",
106107
+ other: "%{count} atri\xF0i valin"
106108
+ },
106062
106109
  success: "Atri\xF0in voru uppf\xE6r\xF0.",
106063
106110
  one: "Atri\xF0i",
106064
106111
  many: "Hlutir"
@@ -106225,6 +106272,11 @@ var ja_JP_default = {
106225
106272
  error: "\u7533\u3057\u8A33\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u9805\u76EE\u3092\u66F4\u65B0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",
106226
106273
  placeholderForField: "%{fieldName}\u3092\u5165\u529B",
106227
106274
  selection: "%{count}%{number}\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
106275
+ selection_count: {
106276
+ zero: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
106277
+ one: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
106278
+ other: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F"
106279
+ },
106228
106280
  success: "\u9805\u76EE\u3092\u6B63\u5E38\u306B\u66F4\u65B0\u3057\u307E\u3057\u305F\u3002",
106229
106281
  one: "\u9805\u76EE",
106230
106282
  many: "\u9805\u76EE"
@@ -106391,6 +106443,11 @@ var pl_PL_default = {
106391
106443
  error: "Przepraszamy, nie mo\u017Cna zaktualizowa\u0107 pozycji. Spr\xF3buj ponownie.",
106392
106444
  placeholderForField: "Wprowad\u017A %{fieldName}",
106393
106445
  selection: "Wybrano %{count} %{number}",
106446
+ selection_count: {
106447
+ zero: "Wybrano pozycje: %{count}",
106448
+ one: "Wybrano pozycji: %{count}",
106449
+ other: "Wybrano pozycje: %{count}"
106450
+ },
106394
106451
  success: "Pozycje zosta\u0142y pomy\u015Blnie zaktualizowane.",
106395
106452
  one: "pozycja",
106396
106453
  many: "pozycje"
@@ -106728,6 +106785,11 @@ var pt_BR_default = {
106728
106785
  error: "Sentimos muito, mas n\xE3o foi poss\xEDvel atualizar os itens. Tente novamente.",
106729
106786
  placeholderForField: "Digite %{fieldName}",
106730
106787
  selection: "%{count} %{number} selecionado",
106788
+ selection_count: {
106789
+ zero: "%{count} itens selecionados",
106790
+ one: "%{count} item selecionado",
106791
+ other: "%{count} itens selecionados"
106792
+ },
106731
106793
  success: "Os itens foram atualizados com sucesso.",
106732
106794
  one: "item",
106733
106795
  many: "itens"
@@ -106894,6 +106956,11 @@ var th_TH_default = {
106894
106956
  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.",
106895
106957
  placeholderForField: "\u0E1B\u0E49\u0E2D\u0E19 %{fieldName}",
106896
106958
  selection: "%{count} %{number} \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01",
106959
+ selection_count: {
106960
+ zero: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
106961
+ one: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
106962
+ other: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"
106963
+ },
106897
106964
  success: "\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E33\u0E40\u0E23\u0E47\u0E08\u0E41\u0E25\u0E49\u0E27",
106898
106965
  one: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
106899
106966
  many: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"
@@ -107060,6 +107127,11 @@ var zh_SG_default = {
107060
107127
  error: "\u62B1\u6B49\uFF0C\u65E0\u6CD5\u66F4\u65B0\u6B64\u9879\u3002\u8BF7\u91CD\u8BD5\u3002",
107061
107128
  placeholderForField: "\u8F93\u5165 %{fieldName}",
107062
107129
  selection: "\u5DF2\u9009\u62E9 %{count} %{number}",
107130
+ selection_count: {
107131
+ zero: "\u5DF2\u9009\u62E9 %{count} \u9879",
107132
+ one: "\u5DF2\u9009\u62E9 %{count} \u9879",
107133
+ other: "\u5DF2\u9009\u62E9 %{count} \u9879"
107134
+ },
107063
107135
  success: "\u5DF2\u6210\u529F\u66F4\u65B0\u8FD9\u4E9B\u9879\u3002",
107064
107136
  one: "\u9879",
107065
107137
  many: "\u9879"
@@ -108193,7 +108265,8 @@ var DataTable = ({
108193
108265
  showExpandCollapseAllToggle,
108194
108266
  translations: translations2 = {},
108195
108267
  enableCellTextSelection,
108196
- localStoragePersistenceKey
108268
+ localStoragePersistenceKey,
108269
+ enableCDN
108197
108270
  }) => {
108198
108271
  const initialTableConfig = localStoragePersistenceKey && storage.local.getItem(localStoragePersistenceKey) || _initialTableConfig;
108199
108272
  const onServerSideDataRequestRef = React80.useRef(onServerSideDataRequest);
@@ -108205,14 +108278,28 @@ var DataTable = ({
108205
108278
  );
108206
108279
  const contextPanel = useContextPanel();
108207
108280
  const clientI18n = useI18nContext();
108281
+ const isCDNEnabled = isCDNFeatureFlagEnabled(clientI18n, enableCDN);
108282
+ const cdnTranslations = useRequestTranslations(
108283
+ {
108284
+ locale: clientI18n.locale,
108285
+ type: "file",
108286
+ absolute_file_path: (locale) => `core/packages/data-table/src/locales/${locale}.json`
108287
+ },
108288
+ { en: translations.en, pseudo: translations.pseudo },
108289
+ {
108290
+ oldTranslations: translations,
108291
+ enableCDN: isCDNEnabled
108292
+ }
108293
+ );
108208
108294
  const internalI18n = useI18n({
108209
- ...clientI18n,
108295
+ locale: clientI18n.locale,
108210
108296
  translations: mergeDeepLeft(
108211
108297
  mergeDeepLeft(clientI18n.translations, {
108212
108298
  [clientI18n.locale]: translations2
108213
108299
  }),
108214
- translations
108215
- )
108300
+ cdnTranslations.translations
108301
+ ),
108302
+ enableCDN: isCDNEnabled
108216
108303
  });
108217
108304
  const rowSelectionRef = React80.useRef({
108218
108305
  affectedRows: {},
@@ -109342,7 +109429,10 @@ var Table = (props) => {
109342
109429
  groupDefaultExpanded: props.groupsAlwaysExpanded ? -1 : props.groupDefaultExpanded,
109343
109430
  groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
109344
109431
  getGroupRowAgg: props.getGroupRowAgg ? getGroupRowAgg : void 0,
109345
- groupSelectsChildren: internalTableContext.totalRowCount > 0 && props.groupSelectsChildren || !onSSDR,
109432
+ groupSelectsChildren: (
109433
+ // Always true for client side, defaults to true for server side
109434
+ internalTableContext.totalRowCount > 0 && props.groupSelectsChildren !== false || !onSSDR
109435
+ ),
109346
109436
  groupSelectsFiltered: true,
109347
109437
  headerHeight: props.headerHeight,
109348
109438
  icons: tableIcons,
@@ -111475,7 +111565,8 @@ var ClientSideDataTable = ({
111475
111565
  onTableConfigChange,
111476
111566
  translations: translations2 = {},
111477
111567
  enableCellTextSelection,
111478
- localStoragePersistenceKey
111568
+ localStoragePersistenceKey,
111569
+ enableCDN
111479
111570
  }) => {
111480
111571
  return /* @__PURE__ */ React80.createElement(
111481
111572
  DataTable,
@@ -111493,7 +111584,8 @@ var ClientSideDataTable = ({
111493
111584
  translations: translations2,
111494
111585
  localStoragePersistenceKey,
111495
111586
  customBulkEditorFields,
111496
- enableCellTextSelection
111587
+ enableCellTextSelection,
111588
+ enableCDN
111497
111589
  },
111498
111590
  children
111499
111591
  );
@@ -115884,7 +115976,8 @@ var ServerSideDataTable = ({
115884
115976
  enableCellTextSelection,
115885
115977
  showExpandCollapseAllToggle,
115886
115978
  translations: translations2 = {},
115887
- localStoragePersistenceKey
115979
+ localStoragePersistenceKey,
115980
+ enableCDN
115888
115981
  }) => {
115889
115982
  return /* @__PURE__ */ React80.createElement(
115890
115983
  DataTable,
@@ -115903,7 +115996,8 @@ var ServerSideDataTable = ({
115903
115996
  translations: translations2,
115904
115997
  customBulkEditorFields,
115905
115998
  enableCellTextSelection,
115906
- localStoragePersistenceKey
115999
+ localStoragePersistenceKey,
116000
+ enableCDN
115907
116001
  },
115908
116002
  children
115909
116003
  );
@@ -12,6 +12,7 @@ var labsFinancialsUtils = require('@procore/labs-financials-utils');
12
12
  var styled4 = require('styled-components');
13
13
  var format = require('@procore/labs-financials-utils/dist/format');
14
14
  var ulid$1 = require('ulid');
15
+ var cdnTranslations = require('@procore/cdn-translations');
15
16
  var toastAlert = require('@procore/toast-alert');
16
17
  var ReactDOM = require('react-dom');
17
18
  var server = require('react-dom/server');
@@ -55361,15 +55362,12 @@ function getSelectedState(node, affectedRows) {
55361
55362
  const self = affectedRows[node.id];
55362
55363
  if (self?.selectedState === "selected") {
55363
55364
  return true;
55364
- } else if (node.parent && !isNodeRootLevelOfGrid(node.parent) && affectedRows[node.parent.id]?.selectedState === "selected") {
55365
- node.setSelected(true, void 0, self?.selectedState);
55366
- affectedRows[node.id] = {
55367
- node,
55368
- selectedState: "selected"
55369
- };
55365
+ } else if (node.isSelected()) {
55366
+ node.setSelected(true, void 0);
55367
+ affectedRows[node.id] = { node, selectedState: "selected" };
55370
55368
  return true;
55371
55369
  } else {
55372
- return !!node.isSelected();
55370
+ return false;
55373
55371
  }
55374
55372
  }
55375
55373
  function getCheckboxState(node, isServerSideDataRequest, rowSelectionRef) {
@@ -55898,7 +55896,12 @@ var DataTableCellRenderer = ({
55898
55896
  }),
55899
55897
  [column2, node]
55900
55898
  );
55901
- const tooltipProps = columnDefinition.cellRendererParams?.tooltipParams;
55899
+ const rawTooltipParams = columnDefinition.cellRendererParams?.tooltipParams;
55900
+ const tooltipProps = typeof rawTooltipParams === "function" ? rawTooltipParams({
55901
+ data,
55902
+ value,
55903
+ node: serializeNode(node)
55904
+ }) : rawTooltipParams;
55902
55905
  if (tooltipProps) {
55903
55906
  return /* @__PURE__ */ React80__default.default.createElement(CellTooltipWrapper, { tooltipProps }, /* @__PURE__ */ React80__default.default.createElement(
55904
55907
  CellContent,
@@ -104434,6 +104437,11 @@ var de_DE_default = {
104434
104437
  error: "Entschuldigung, die Elemente konnten nicht aktualisiert werden. Versuchen Sie es noch einmal.",
104435
104438
  placeholderForField: "%{fieldName} eingeben",
104436
104439
  selection: "%{count} %{number} ausgew\xE4hlt",
104440
+ selection_count: {
104441
+ zero: "%{count} Elemente ausgew\xE4hlt",
104442
+ one: "%{count} Element ausgew\xE4hlt",
104443
+ other: "%{count} Elemente ausgew\xE4hlt"
104444
+ },
104437
104445
  success: "Die Elemente wurden erfolgreich aktualisiert.",
104438
104446
  one: "Element",
104439
104447
  many: "Elemente"
@@ -104600,6 +104608,11 @@ var en_AU_default = {
104600
104608
  error: "Sorry, the items couldn't be updated. Try again.",
104601
104609
  placeholderForField: "Enter %{fieldName}",
104602
104610
  selection: "%{count} %{number} selected",
104611
+ selection_count: {
104612
+ zero: "%{count} items selected",
104613
+ one: "%{count} item selected",
104614
+ other: "%{count} items selected"
104615
+ },
104603
104616
  success: "The items were successfully updated.",
104604
104617
  one: "item",
104605
104618
  many: "items"
@@ -104766,6 +104779,11 @@ var en_CA_default = {
104766
104779
  error: "Sorry, the items couldn't be updated. Try again.",
104767
104780
  placeholderForField: "Enter %{fieldName}",
104768
104781
  selection: "%{count} %{number} selected",
104782
+ selection_count: {
104783
+ zero: "%{count} items selected",
104784
+ one: "%{count} item selected",
104785
+ other: "%{count} items selected"
104786
+ },
104769
104787
  success: "The items were successfully updated.",
104770
104788
  one: "item",
104771
104789
  many: "items"
@@ -104932,6 +104950,11 @@ var en_GB_default = {
104932
104950
  error: "Sorry, the items couldn't be updated. Try again.",
104933
104951
  placeholderForField: "Enter %{fieldName}",
104934
104952
  selection: "%{count} %{number} selected",
104953
+ selection_count: {
104954
+ zero: "%{count} items selected",
104955
+ one: "%{count} item selected",
104956
+ other: "%{count} items selected"
104957
+ },
104935
104958
  success: "The items were successfully updated.",
104936
104959
  one: "item",
104937
104960
  many: "items"
@@ -105269,6 +105292,11 @@ var es_ES_default = {
105269
105292
  error: "No se han podido actualizar los elementos. Int\xE9ntelo de nuevo.",
105270
105293
  placeholderForField: "Introducir %{fieldName}",
105271
105294
  selection: "%{count} %{number} seleccionados",
105295
+ selection_count: {
105296
+ zero: "%{count} elementos seleccionados",
105297
+ one: "%{count} elemento seleccionado",
105298
+ other: "%{count} elementos seleccionados"
105299
+ },
105272
105300
  success: "Los elementos se han actualizado correctamente.",
105273
105301
  one: "elemento",
105274
105302
  many: "elementos"
@@ -105435,6 +105463,11 @@ var es_default = {
105435
105463
  error: "Lo sentimos, no se pudieron actualizar los \xEDtems. Int\xE9ntelo de nuevo.",
105436
105464
  placeholderForField: "Ingrese %{fieldName}",
105437
105465
  selection: "%{count} %{number} seleccionado",
105466
+ selection_count: {
105467
+ zero: "%{count} \xEDtems seleccionados",
105468
+ one: "%{count} \xEDtem seleccionado",
105469
+ other: "%{count} \xEDtems seleccionados"
105470
+ },
105438
105471
  success: "Los \xEDtems se actualizaron correctamente.",
105439
105472
  one: "\xEDtem",
105440
105473
  many: "\xEDtems"
@@ -105601,6 +105634,11 @@ var fr_CA_default = {
105601
105634
  error: "D\xE9sol\xE9, les items n'ont pas pu \xEAtre mis \xE0 jour. Veuillez r\xE9essayer.",
105602
105635
  placeholderForField: "Entrez %{fieldName}",
105603
105636
  selection: "%{count} %{number} s\xE9lectionn\xE9",
105637
+ selection_count: {
105638
+ zero: "%{count}\xA0items s\xE9lectionn\xE9s",
105639
+ one: "%{count}\xA0item s\xE9lectionn\xE9",
105640
+ other: "%{count}\xA0items s\xE9lectionn\xE9s"
105641
+ },
105604
105642
  success: "Les items ont \xE9t\xE9 mis \xE0 jour avec succ\xE8s.",
105605
105643
  one: "Item",
105606
105644
  many: "items"
@@ -105767,6 +105805,11 @@ var fr_FR_default = {
105767
105805
  error: "D\xE9sol\xE9, les \xE9l\xE9ments n'ont pas pu \xEAtre mis \xE0 jour. Veuillez r\xE9essayer.",
105768
105806
  placeholderForField: "Saisissez %{fieldName}",
105769
105807
  selection: "%{count} %{number} s\xE9lectionn\xE9",
105808
+ selection_count: {
105809
+ zero: "%{count}\xA0\xE9l\xE9ments s\xE9lectionn\xE9s",
105810
+ one: "%{count}\xA0\xE9l\xE9ment s\xE9lectionn\xE9",
105811
+ other: "%{count}\xA0\xE9l\xE9ments s\xE9lectionn\xE9s"
105812
+ },
105770
105813
  success: "Les \xE9l\xE9ments ont bien \xE9t\xE9 mis \xE0 jour.",
105771
105814
  one: "\xE9l\xE9ment",
105772
105815
  many: "\xE9l\xE9ments"
@@ -105933,6 +105976,11 @@ var is_IS_default = {
105933
105976
  error: "\xDEv\xED mi\xF0ur var ekki h\xE6gt a\xF0 uppf\xE6ra atri\xF0in. Reyndu aftur.",
105934
105977
  placeholderForField: "Sl\xE1\xF0u inn %{fieldName}",
105935
105978
  selection: "%{count} %{number} valinn",
105979
+ selection_count: {
105980
+ zero: "%{count} atri\xF0i valin",
105981
+ one: "%{count} atri\xF0i vali\xF0",
105982
+ other: "%{count} atri\xF0i valin"
105983
+ },
105936
105984
  success: "Atri\xF0in voru uppf\xE6r\xF0.",
105937
105985
  one: "Atri\xF0i",
105938
105986
  many: "Hlutir"
@@ -106099,6 +106147,11 @@ var ja_JP_default = {
106099
106147
  error: "\u7533\u3057\u8A33\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u9805\u76EE\u3092\u66F4\u65B0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",
106100
106148
  placeholderForField: "%{fieldName}\u3092\u5165\u529B",
106101
106149
  selection: "%{count}%{number}\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
106150
+ selection_count: {
106151
+ zero: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
106152
+ one: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
106153
+ other: "%{count}\u500B\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F"
106154
+ },
106102
106155
  success: "\u9805\u76EE\u3092\u6B63\u5E38\u306B\u66F4\u65B0\u3057\u307E\u3057\u305F\u3002",
106103
106156
  one: "\u9805\u76EE",
106104
106157
  many: "\u9805\u76EE"
@@ -106265,6 +106318,11 @@ var pl_PL_default = {
106265
106318
  error: "Przepraszamy, nie mo\u017Cna zaktualizowa\u0107 pozycji. Spr\xF3buj ponownie.",
106266
106319
  placeholderForField: "Wprowad\u017A %{fieldName}",
106267
106320
  selection: "Wybrano %{count} %{number}",
106321
+ selection_count: {
106322
+ zero: "Wybrano pozycje: %{count}",
106323
+ one: "Wybrano pozycji: %{count}",
106324
+ other: "Wybrano pozycje: %{count}"
106325
+ },
106268
106326
  success: "Pozycje zosta\u0142y pomy\u015Blnie zaktualizowane.",
106269
106327
  one: "pozycja",
106270
106328
  many: "pozycje"
@@ -106602,6 +106660,11 @@ var pt_BR_default = {
106602
106660
  error: "Sentimos muito, mas n\xE3o foi poss\xEDvel atualizar os itens. Tente novamente.",
106603
106661
  placeholderForField: "Digite %{fieldName}",
106604
106662
  selection: "%{count} %{number} selecionado",
106663
+ selection_count: {
106664
+ zero: "%{count} itens selecionados",
106665
+ one: "%{count} item selecionado",
106666
+ other: "%{count} itens selecionados"
106667
+ },
106605
106668
  success: "Os itens foram atualizados com sucesso.",
106606
106669
  one: "item",
106607
106670
  many: "itens"
@@ -106768,6 +106831,11 @@ var th_TH_default = {
106768
106831
  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.",
106769
106832
  placeholderForField: "\u0E1B\u0E49\u0E2D\u0E19 %{fieldName}",
106770
106833
  selection: "%{count} %{number} \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01",
106834
+ selection_count: {
106835
+ zero: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
106836
+ one: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
106837
+ other: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 %{count} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"
106838
+ },
106771
106839
  success: "\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E33\u0E40\u0E23\u0E47\u0E08\u0E41\u0E25\u0E49\u0E27",
106772
106840
  one: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",
106773
106841
  many: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"
@@ -106934,6 +107002,11 @@ var zh_SG_default = {
106934
107002
  error: "\u62B1\u6B49\uFF0C\u65E0\u6CD5\u66F4\u65B0\u6B64\u9879\u3002\u8BF7\u91CD\u8BD5\u3002",
106935
107003
  placeholderForField: "\u8F93\u5165 %{fieldName}",
106936
107004
  selection: "\u5DF2\u9009\u62E9 %{count} %{number}",
107005
+ selection_count: {
107006
+ zero: "\u5DF2\u9009\u62E9 %{count} \u9879",
107007
+ one: "\u5DF2\u9009\u62E9 %{count} \u9879",
107008
+ other: "\u5DF2\u9009\u62E9 %{count} \u9879"
107009
+ },
106937
107010
  success: "\u5DF2\u6210\u529F\u66F4\u65B0\u8FD9\u4E9B\u9879\u3002",
106938
107011
  one: "\u9879",
106939
107012
  many: "\u9879"
@@ -108053,7 +108126,8 @@ var DataTable = ({
108053
108126
  showExpandCollapseAllToggle,
108054
108127
  translations: translations2 = {},
108055
108128
  enableCellTextSelection,
108056
- localStoragePersistenceKey
108129
+ localStoragePersistenceKey,
108130
+ enableCDN
108057
108131
  }) => {
108058
108132
  const initialTableConfig = localStoragePersistenceKey && webSdkStorage.storage.local.getItem(localStoragePersistenceKey) || _initialTableConfig;
108059
108133
  const onServerSideDataRequestRef = React80__default.default.useRef(onServerSideDataRequest);
@@ -108065,14 +108139,28 @@ var DataTable = ({
108065
108139
  );
108066
108140
  const contextPanel = useContextPanel();
108067
108141
  const clientI18n = coreReact.useI18nContext();
108142
+ const isCDNEnabled = cdnTranslations.isCDNFeatureFlagEnabled(clientI18n, enableCDN);
108143
+ const cdnTranslations$1 = cdnTranslations.useRequestTranslations(
108144
+ {
108145
+ locale: clientI18n.locale,
108146
+ type: "file",
108147
+ absolute_file_path: (locale) => `core/packages/data-table/src/locales/${locale}.json`
108148
+ },
108149
+ { en: translations.en, pseudo: translations.pseudo },
108150
+ {
108151
+ oldTranslations: translations,
108152
+ enableCDN: isCDNEnabled
108153
+ }
108154
+ );
108068
108155
  const internalI18n = coreReact.useI18n({
108069
- ...clientI18n,
108156
+ locale: clientI18n.locale,
108070
108157
  translations: ramda.mergeDeepLeft(
108071
108158
  ramda.mergeDeepLeft(clientI18n.translations, {
108072
108159
  [clientI18n.locale]: translations2
108073
108160
  }),
108074
- translations
108075
- )
108161
+ cdnTranslations$1.translations
108162
+ ),
108163
+ enableCDN: isCDNEnabled
108076
108164
  });
108077
108165
  const rowSelectionRef = React80__default.default.useRef({
108078
108166
  affectedRows: {},
@@ -109165,7 +109253,10 @@ var Table = (props) => {
109165
109253
  groupDefaultExpanded: props.groupsAlwaysExpanded ? -1 : props.groupDefaultExpanded,
109166
109254
  groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
109167
109255
  getGroupRowAgg: props.getGroupRowAgg ? getGroupRowAgg : void 0,
109168
- groupSelectsChildren: internalTableContext.totalRowCount > 0 && props.groupSelectsChildren || !onSSDR,
109256
+ groupSelectsChildren: (
109257
+ // Always true for client side, defaults to true for server side
109258
+ internalTableContext.totalRowCount > 0 && props.groupSelectsChildren !== false || !onSSDR
109259
+ ),
109169
109260
  groupSelectsFiltered: true,
109170
109261
  headerHeight: props.headerHeight,
109171
109262
  icons: tableIcons,
@@ -111256,7 +111347,8 @@ var ClientSideDataTable = ({
111256
111347
  onTableConfigChange,
111257
111348
  translations: translations2 = {},
111258
111349
  enableCellTextSelection,
111259
- localStoragePersistenceKey
111350
+ localStoragePersistenceKey,
111351
+ enableCDN
111260
111352
  }) => {
111261
111353
  return /* @__PURE__ */ React80__default.default.createElement(
111262
111354
  DataTable,
@@ -111274,7 +111366,8 @@ var ClientSideDataTable = ({
111274
111366
  translations: translations2,
111275
111367
  localStoragePersistenceKey,
111276
111368
  customBulkEditorFields,
111277
- enableCellTextSelection
111369
+ enableCellTextSelection,
111370
+ enableCDN
111278
111371
  },
111279
111372
  children
111280
111373
  );
@@ -115664,7 +115757,8 @@ var ServerSideDataTable = ({
115664
115757
  enableCellTextSelection,
115665
115758
  showExpandCollapseAllToggle,
115666
115759
  translations: translations2 = {},
115667
- localStoragePersistenceKey
115760
+ localStoragePersistenceKey,
115761
+ enableCDN
115668
115762
  }) => {
115669
115763
  return /* @__PURE__ */ React80__default.default.createElement(
115670
115764
  DataTable,
@@ -115683,7 +115777,8 @@ var ServerSideDataTable = ({
115683
115777
  translations: translations2,
115684
115778
  customBulkEditorFields,
115685
115779
  enableCellTextSelection,
115686
- localStoragePersistenceKey
115780
+ localStoragePersistenceKey,
115781
+ enableCDN
115687
115782
  },
115688
115783
  children
115689
115784
  );
@@ -1151,6 +1151,10 @@ interface DataTableProps {
1151
1151
  showExpandCollapseAllToggle?: boolean;
1152
1152
  translations?: DataTableTranslations;
1153
1153
  enableCellTextSelection?: boolean;
1154
+ /**
1155
+ * Whether to pull data-table translations from the CDN or not, by default it follows the value passed down through the parent I18nProvider.
1156
+ */
1157
+ enableCDN?: boolean;
1154
1158
  }
1155
1159
  interface ClientSideDataTableProps extends Omit<DataTableProps, 'onServerSideDataRequest' | 'showExpandCollapseAllToggle'> {
1156
1160
  }
@@ -1443,7 +1447,7 @@ interface BulkActionProps {
1443
1447
  style?: React__default.CSSProperties;
1444
1448
  }
1445
1449
 
1446
- declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1450
+ declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1447
1451
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1448
1452
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1449
1453
  ConfigPanelButton: React__default.FC<{}>;
@@ -1480,7 +1484,7 @@ declare const MultiSelectQuickFilterRenderer: (props: FilterProps<any[]>) => Rea
1480
1484
 
1481
1485
  declare const SingleSelectQuickFilterRenderer: (props: FilterProps<any[]>) => React__default.JSX.Element;
1482
1486
 
1483
- declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1487
+ declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1484
1488
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1485
1489
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1486
1490
  ConfigPanelButton: React__default.FC<{}>;
@@ -1151,6 +1151,10 @@ interface DataTableProps {
1151
1151
  showExpandCollapseAllToggle?: boolean;
1152
1152
  translations?: DataTableTranslations;
1153
1153
  enableCellTextSelection?: boolean;
1154
+ /**
1155
+ * Whether to pull data-table translations from the CDN or not, by default it follows the value passed down through the parent I18nProvider.
1156
+ */
1157
+ enableCDN?: boolean;
1154
1158
  }
1155
1159
  interface ClientSideDataTableProps extends Omit<DataTableProps, 'onServerSideDataRequest' | 'showExpandCollapseAllToggle'> {
1156
1160
  }
@@ -1443,7 +1447,7 @@ interface BulkActionProps {
1443
1447
  style?: React__default.CSSProperties;
1444
1448
  }
1445
1449
 
1446
- declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1450
+ declare const _default$1: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onTableConfigChange, translations, enableCellTextSelection, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<ClientSideDataTableProps>) => React__default.JSX.Element) & {
1447
1451
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1448
1452
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1449
1453
  ConfigPanelButton: React__default.FC<{}>;
@@ -1480,7 +1484,7 @@ declare const MultiSelectQuickFilterRenderer: (props: FilterProps<any[]>) => Rea
1480
1484
 
1481
1485
  declare const SingleSelectQuickFilterRenderer: (props: FilterProps<any[]>) => React__default.JSX.Element;
1482
1486
 
1483
- declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1487
+ declare const _default: (({ analytics, children, columnDefinitions: _columnDefinitions, customBulkEditorFields, enableDynamicRowHeight, enableGroupEditAndValidation, filterGroups, getRowId, initialTableConfig: _initialTableConfig, onBulkEditUpdate, onServerSideDataRequest, onTableConfigChange, enableCellTextSelection, showExpandCollapseAllToggle, translations, localStoragePersistenceKey, enableCDN, }: React__default.PropsWithChildren<DataTableProps>) => React__default.JSX.Element) & {
1484
1488
  BulkActions: React__default.FunctionComponent<React__default.PropsWithChildren<BulkActionProps>>;
1485
1489
  BulkEditActionButton: React__default.FunctionComponent<ActionButtonProps>;
1486
1490
  ConfigPanelButton: React__default.FC<{}>;