@procore/data-table 14.46.0 → 14.46.2

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.
@@ -54298,7 +54298,7 @@ function ServerSideNumberFilterRenderer({
54298
54298
  },
54299
54299
  {
54300
54300
  id: "isEqual",
54301
- label: I18n.t("options.isEqual", {
54301
+ label: I18n.t("options.is_equal_to", {
54302
54302
  defaultValue: "Is Equal To",
54303
54303
  scope: "dataTable.filters.numberFilter"
54304
54304
  })
@@ -54785,26 +54785,19 @@ function serializeNode(node) {
54785
54785
  rowPinned: node.rowPinned
54786
54786
  };
54787
54787
  }
54788
- function transformToColDef(colDefinition, enableGroupEditAndValidation, enableDynamicRowHeight) {
54788
+ function transformToColDef(colDefinition, tableOptions) {
54789
54789
  if (isNestedColumnDefinition(colDefinition)) {
54790
54790
  return {
54791
54791
  ...colDefinition,
54792
54792
  children: colDefinition.children.map(
54793
- (childColDefinition) => transformColumnDefinitionToColDef(
54794
- childColDefinition,
54795
- enableGroupEditAndValidation,
54796
- enableDynamicRowHeight
54797
- )
54793
+ (childColDefinition) => transformColumnDefinitionToColDef(childColDefinition, tableOptions)
54798
54794
  )
54799
54795
  };
54800
54796
  }
54801
- return transformColumnDefinitionToColDef(
54802
- colDefinition,
54803
- enableGroupEditAndValidation,
54804
- enableDynamicRowHeight
54805
- );
54797
+ return transformColumnDefinitionToColDef(colDefinition, tableOptions);
54806
54798
  }
54807
- function transformColumnDefinitionToColDef(dataTableColumnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight) {
54799
+ function transformColumnDefinitionToColDef(dataTableColumnDefinition, tableOptions) {
54800
+ const { enableGroupEditAndValidation, enableDynamicRowHeight } = tableOptions;
54808
54801
  const {
54809
54802
  aggFunc,
54810
54803
  bulkEditable,
@@ -54847,7 +54840,8 @@ function transformColumnDefinitionToColDef(dataTableColumnDefinition, enableGrou
54847
54840
  };
54848
54841
  const cellClassRules = {
54849
54842
  "invalid-cell": function isValid(params) {
54850
- const shouldValidate = !params.node.group && params.data && !params.data.isAggData || enableGroupEditAndValidation && (params.node.footer || params.node.group && !params.node.expanded);
54843
+ const shouldValidateGroupHeader = tableOptions.enableGroupHeaderEdit && params.node.group;
54844
+ const shouldValidate = !params.node.group && params.data && !params.data.isAggData || enableGroupEditAndValidation && (params.node.footer || params.node.group && !params.node.expanded) || shouldValidateGroupHeader;
54851
54845
  return (shouldValidate && valueValidator && !valueValidator({
54852
54846
  columnDefinition: transformToColumnDefinition(params.colDef),
54853
54847
  data: params.data,
@@ -55184,12 +55178,8 @@ function addAutoGroupParams(columnDefinition, isRowSelectable, siblingGroupsRowS
55184
55178
  }
55185
55179
  };
55186
55180
  }
55187
- function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight, isRowSelectable, siblingGroupsRowSelectionDisabled, groupsAlwaysExpanded, isDetailTable) {
55188
- const colDef = columnDefinition ? transformToColDef(
55189
- columnDefinition,
55190
- enableGroupEditAndValidation,
55191
- enableDynamicRowHeight
55192
- ) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55181
+ function getDecoratedAutoGroupColDef(columnDefinition, tableOptions, isRowSelectable, siblingGroupsRowSelectionDisabled, groupsAlwaysExpanded, isDetailTable) {
55182
+ const colDef = columnDefinition ? transformToColDef(columnDefinition, tableOptions) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55193
55183
  return addAutoGroupParams(
55194
55184
  colDef,
55195
55185
  isRowSelectable,
@@ -55200,12 +55190,12 @@ function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidat
55200
55190
  }
55201
55191
 
55202
55192
  // src/CellRenderers/AutoGroupCell.scss
55203
- var css5 = `._autoGroupCell_1qx8z_1 {
55193
+ var css5 = `._autoGroupCell_1h6pf_1 {
55204
55194
  height: 100%;
55205
55195
  width: 100%;
55206
55196
  }
55207
55197
 
55208
- ._indent_1qx8z_6 {
55198
+ ._indent_1h6pf_6 {
55209
55199
  border-right: 1px solid #d6dadc;
55210
55200
  background: #f4f5f6;
55211
55201
  position: absolute;
@@ -55213,45 +55203,69 @@ var css5 = `._autoGroupCell_1qx8z_1 {
55213
55203
  bottom: -1px;
55214
55204
  width: 12px;
55215
55205
  }
55216
- ._indent_1qx8z_6._innermostLastIndent_1qx8z_14 {
55206
+ ._indent_1h6pf_6._innermostLastIndent_1h6pf_14 {
55217
55207
  bottom: 0px;
55218
55208
  }
55219
55209
 
55220
- ._expandableCaret_1qx8z_18 {
55210
+ ._expandableCaret_1h6pf_18 {
55221
55211
  margin-left: -8px;
55222
55212
  margin-right: 4px;
55223
55213
  width: 24px;
55224
55214
  flex-shrink: 0;
55225
55215
  }
55226
55216
 
55227
- ._expandCaret_1qx8z_25 {
55217
+ ._expandableCaretButton_1h6pf_25 {
55218
+ display: inline-flex;
55219
+ align-items: center;
55220
+ justify-content: center;
55221
+ width: 24px;
55222
+ height: 24px;
55223
+ padding: 0;
55224
+ margin-left: -8px;
55225
+ margin-right: 4px;
55226
+ border: none;
55227
+ border-radius: 2px;
55228
+ background: transparent;
55229
+ cursor: pointer;
55230
+ flex-shrink: 0;
55231
+ }
55232
+ ._expandableCaretButton_1h6pf_25:focus-visible {
55233
+ outline: 2px solid #2066df;
55234
+ outline-offset: 1px;
55235
+ }
55236
+ ._expandableCaretButton_1h6pf_25:hover {
55237
+ background-color: rgba(0, 0, 0, 0.06);
55238
+ }
55239
+
55240
+ ._expandCaret_1h6pf_48 {
55228
55241
  color: #2066df;
55229
55242
  cursor: pointer;
55230
55243
  }
55231
55244
 
55232
- ._collapseCaret_1qx8z_30 {
55245
+ ._collapseCaret_1h6pf_53 {
55233
55246
  color: #75838a;
55234
55247
  cursor: pointer;
55235
55248
  }
55236
55249
 
55237
- ._value_1qx8z_35 {
55250
+ ._value_1h6pf_58 {
55238
55251
  overflow: hidden;
55239
55252
  text-overflow: ellipsis;
55240
55253
  font-size: 12px;
55241
55254
  }
55242
- ._value_1qx8z_35._footer_1qx8z_40 {
55255
+ ._value_1h6pf_58._footer_1h6pf_63 {
55243
55256
  color: #6a767c;
55244
55257
  }`;
55245
55258
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css5));
55246
55259
  var AutoGroupCell_default = {
55247
- "autoGroupCell": "_autoGroupCell_1qx8z_1",
55248
- "indent": "_indent_1qx8z_6",
55249
- "innermostLastIndent": "_innermostLastIndent_1qx8z_14",
55250
- "expandableCaret": "_expandableCaret_1qx8z_18",
55251
- "expandCaret": "_expandCaret_1qx8z_25",
55252
- "collapseCaret": "_collapseCaret_1qx8z_30",
55253
- "value": "_value_1qx8z_35",
55254
- "footer": "_footer_1qx8z_40"
55260
+ "autoGroupCell": "_autoGroupCell_1h6pf_1",
55261
+ "indent": "_indent_1h6pf_6",
55262
+ "innermostLastIndent": "_innermostLastIndent_1h6pf_14",
55263
+ "expandableCaret": "_expandableCaret_1h6pf_18",
55264
+ "expandableCaretButton": "_expandableCaretButton_1h6pf_25",
55265
+ "expandCaret": "_expandCaret_1h6pf_48",
55266
+ "collapseCaret": "_collapseCaret_1h6pf_53",
55267
+ "value": "_value_1h6pf_58",
55268
+ "footer": "_footer_1h6pf_63"
55255
55269
  };
55256
55270
 
55257
55271
  // src/utils/rowSelectionHelpers.ts
@@ -55508,6 +55522,7 @@ var LevelIndents = (props) => {
55508
55522
  };
55509
55523
  function GroupCaret(props) {
55510
55524
  const mounted = React80__default.default.useRef(false);
55525
+ const buttonRef = React80__default.default.useRef(null);
55511
55526
  const [expanded, setExpanded] = React80.useState(props.node.expanded);
55512
55527
  const ExpandableCaret = expanded ? coreIcons.CaretDown : coreIcons.CaretRight;
55513
55528
  const I18n = coreReact.useI18nContext();
@@ -55518,6 +55533,16 @@ function GroupCaret(props) {
55518
55533
  }, 0);
55519
55534
  }
55520
55535
  }
55536
+ const handleToggle = () => {
55537
+ props.api.setRowNodeExpanded(props.node, !expanded);
55538
+ };
55539
+ const handleKeyDown = (event) => {
55540
+ if (event.key === "Enter" || event.key === " ") {
55541
+ event.preventDefault();
55542
+ event.stopPropagation();
55543
+ handleToggle();
55544
+ }
55545
+ };
55521
55546
  React80.useEffect(() => {
55522
55547
  mounted.current = true;
55523
55548
  props.api.addEventListener("rowGroupOpened", handleRowGroupToggle);
@@ -55530,20 +55555,45 @@ function GroupCaret(props) {
55530
55555
  );
55531
55556
  };
55532
55557
  }, []);
55558
+ React80.useEffect(() => {
55559
+ if (!props.node.isExpandable()) return;
55560
+ const cell2 = buttonRef.current?.closest(".ag-cell");
55561
+ if (!cell2) return;
55562
+ const handleCellKeyDown = (event) => {
55563
+ if (event.key !== "Enter" && event.key !== " ") return;
55564
+ if (!event.isTrusted) return;
55565
+ const target = event.target;
55566
+ if (target.closest("button") || target.closest("input")) return;
55567
+ event.preventDefault();
55568
+ event.stopImmediatePropagation();
55569
+ buttonRef.current?.click();
55570
+ };
55571
+ cell2.addEventListener("keydown", handleCellKeyDown, { capture: true });
55572
+ return () => {
55573
+ cell2.removeEventListener("keydown", handleCellKeyDown, { capture: true });
55574
+ };
55575
+ }, []);
55576
+ if (!props.node.isExpandable()) {
55577
+ return /* @__PURE__ */ React80__default.default.createElement("div", { className: AutoGroupCell_default.expandableCaret });
55578
+ }
55533
55579
  return /* @__PURE__ */ React80__default.default.createElement(
55534
- coreReact.Box,
55580
+ "button",
55535
55581
  {
55582
+ type: "button",
55583
+ ref: buttonRef,
55584
+ "aria-expanded": expanded,
55536
55585
  "aria-label": I18n.t(
55537
55586
  `dataTable.groupCell.${expanded ? "collapse" : "expand"}`
55538
55587
  ),
55539
- className: AutoGroupCell_default.expandableCaret,
55540
- role: "button"
55588
+ className: AutoGroupCell_default.expandableCaretButton,
55589
+ onClick: handleToggle,
55590
+ onKeyDown: handleKeyDown,
55591
+ "data-qa": "group-expand-collapse"
55541
55592
  },
55542
- props.node.isExpandable() && /* @__PURE__ */ React80__default.default.createElement(
55593
+ /* @__PURE__ */ React80__default.default.createElement(
55543
55594
  ExpandableCaret,
55544
55595
  {
55545
- className: expanded ? AutoGroupCell_default.collapseCaret : AutoGroupCell_default.expandCaret,
55546
- onClick: () => props.api.setRowNodeExpanded(props.node, !expanded)
55596
+ className: expanded ? AutoGroupCell_default.collapseCaret : AutoGroupCell_default.expandCaret
55547
55597
  }
55548
55598
  )
55549
55599
  );
@@ -56400,10 +56450,15 @@ var css7 = `.data-table-container .ag-header-cell .data-table-header-menu {
56400
56450
  align-items: center;
56401
56451
  justify-content: center;
56402
56452
  background-color: #e3e6e8;
56453
+ border: none;
56403
56454
  border-radius: 2px;
56404
56455
  cursor: pointer;
56405
56456
  margin-right: 8px;
56406
56457
  }
56458
+ .data-table-container .ag-header-cell .expand-button:focus-visible {
56459
+ outline: 2px solid #2066df;
56460
+ outline-offset: 1px;
56461
+ }
56407
56462
  .data-table-container .ag-header-group-cell-with-group .ag-header-cell-comp-wrapper {
56408
56463
  width: 100%;
56409
56464
  overflow: hidden;
@@ -56416,10 +56471,15 @@ var css7 = `.data-table-container .ag-header-cell .data-table-header-menu {
56416
56471
  align-items: center;
56417
56472
  justify-content: center;
56418
56473
  background-color: #e3e6e8;
56474
+ border: none;
56419
56475
  border-radius: 2px;
56420
56476
  cursor: pointer;
56421
56477
  margin-left: auto;
56422
56478
  }
56479
+ .data-table-container .ag-header-group-cell-with-group .expand-button:focus-visible {
56480
+ outline: 2px solid #2066df;
56481
+ outline-offset: 1px;
56482
+ }
56423
56483
  .data-table-container .auto-column-expand-tooltip-content {
56424
56484
  width: 96px;
56425
56485
  }
@@ -56567,6 +56627,7 @@ var GenericHeaderRenderer = (props) => {
56567
56627
  I18n
56568
56628
  );
56569
56629
  const headerCellRef = React80.useRef(null);
56630
+ const expandButtonRef = React80.useRef(null);
56570
56631
  const menuButtonRef = React80.useRef(null);
56571
56632
  const headerCheckboxSelection = colDef.headerCheckboxSelection;
56572
56633
  const headerCheckboxSelectionEnabled = typeof headerCheckboxSelection === "function" ? headerCheckboxSelection({
@@ -56717,6 +56778,28 @@ var GenericHeaderRenderer = (props) => {
56717
56778
  );
56718
56779
  }
56719
56780
  React80__default.default.useEffect(updateExpandedState);
56781
+ React80__default.default.useEffect(() => {
56782
+ if (!isExpandable) return;
56783
+ const headerCell = headerCellRef.current?.closest(".ag-header-cell");
56784
+ if (!headerCell) return;
56785
+ const handleExpandKeyDown = (event) => {
56786
+ if (event.key !== "Enter" && event.key !== " ") return;
56787
+ if (!event.isTrusted) return;
56788
+ const target = event.target;
56789
+ if (target.closest("button") || target.closest("input")) return;
56790
+ event.preventDefault();
56791
+ event.stopImmediatePropagation();
56792
+ expandButtonRef.current?.click();
56793
+ };
56794
+ headerCell.addEventListener("keydown", handleExpandKeyDown, {
56795
+ capture: true
56796
+ });
56797
+ return () => {
56798
+ headerCell.removeEventListener("keydown", handleExpandKeyDown, {
56799
+ capture: true
56800
+ });
56801
+ };
56802
+ }, [isExpandable]);
56720
56803
  const [expansionVariant, setExpansionVariant] = React80__default.default.useState("closed");
56721
56804
  React80__default.default.useEffect(() => {
56722
56805
  const onExpandAllChange = (event) => {
@@ -56994,12 +57077,21 @@ var GenericHeaderRenderer = (props) => {
56994
57077
  overlay: /* @__PURE__ */ React80__default.default.createElement(coreReact.Tooltip.Content, { className: "auto-column-expand-tooltip-content" }, tooltipText[expansionVariant])
56995
57078
  },
56996
57079
  /* @__PURE__ */ React80__default.default.createElement(
56997
- "div",
57080
+ "button",
56998
57081
  {
57082
+ type: "button",
57083
+ ref: expandButtonRef,
57084
+ "aria-expanded": expansionVariant !== "closed",
56999
57085
  "aria-label": tooltipText[expansionVariant],
57000
57086
  className: "expand-button",
57001
57087
  onClick: onExpandToggle,
57002
- role: "button",
57088
+ onKeyDown: (e) => {
57089
+ if (e.key === "Enter" || e.key === " ") {
57090
+ e.preventDefault();
57091
+ e.stopPropagation();
57092
+ onExpandToggle(e);
57093
+ }
57094
+ },
57003
57095
  "data-qa": "expand-or-collapse-all-button"
57004
57096
  },
57005
57097
  /* @__PURE__ */ React80__default.default.createElement(ExpansionVariantIcon, { size: "sm" })
@@ -57785,6 +57877,7 @@ var ServerSideSearch = ({
57785
57877
  const { updateServerSideDataSource } = useInternalTableContext();
57786
57878
  const hasNoContent = useTableHasNoContent();
57787
57879
  const I18n = coreReact.useI18nContext();
57880
+ const resolvedPlaceholder = placeholder || I18n.t("dataTable.search");
57788
57881
  const debouncedSetSearchValue = React80__default.default.useCallback(
57789
57882
  debounce5__default.default((value) => {
57790
57883
  updateServerSideDataSource({ search: value });
@@ -57809,7 +57902,8 @@ var ServerSideSearch = ({
57809
57902
  value: internalValue,
57810
57903
  className: cx17("search", { "search--empty": !internalValue.length }),
57811
57904
  onChange,
57812
- placeholder: placeholder || I18n.t("dataTable.search")
57905
+ placeholder: resolvedPlaceholder,
57906
+ "aria-label": resolvedPlaceholder
57813
57907
  }
57814
57908
  ));
57815
57909
  };
@@ -104553,11 +104647,10 @@ var ConfigurationColumns = React80__default.default.forwardRef(
104553
104647
  return columnDefs;
104554
104648
  }
104555
104649
  const columnDefinitionsMappedToDefs = columnDefinitions.map(
104556
- (colDef) => transformToColDef(
104557
- colDef,
104650
+ (colDef) => transformToColDef(colDef, {
104558
104651
  enableGroupEditAndValidation,
104559
104652
  enableDynamicRowHeight
104560
- )
104653
+ })
104561
104654
  );
104562
104655
  return toGroupedCols(columnDefinitionsMappedToDefs);
104563
104656
  });
@@ -104856,8 +104949,10 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
104856
104949
  alwaysAggregateAtRootLevel: !isServerSideRowModel,
104857
104950
  autoGroupColumnDef: getDecoratedAutoGroupColDef(
104858
104951
  detailRowConfig.autoGroupColumnDefinition,
104859
- enableGroupEditAndValidation,
104860
- enableDynamicRowHeight,
104952
+ {
104953
+ enableGroupEditAndValidation,
104954
+ enableDynamicRowHeight
104955
+ },
104861
104956
  isRowSelectable,
104862
104957
  false,
104863
104958
  detailRowConfig.groupsAlwaysExpanded ?? false,
@@ -104869,11 +104964,10 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
104869
104964
  },
104870
104965
  columnDefs: toGroupedCols(
104871
104966
  detailRowConfig.columnDefinitions.map(
104872
- (colDef) => transformToColDef(
104873
- colDef,
104967
+ (colDef) => transformToColDef(colDef, {
104874
104968
  enableGroupEditAndValidation,
104875
- colDef.autoHeight ?? enableDynamicRowHeight
104876
- )
104969
+ enableDynamicRowHeight: colDef.autoHeight ?? enableDynamicRowHeight
104970
+ })
104877
104971
  )
104878
104972
  ),
104879
104973
  groupsAlwaysExpanded: detailRowConfig.groupsAlwaysExpanded ?? false,
@@ -107242,158 +107336,158 @@ var nb_NO_default = {
107242
107336
  dataTable: {
107243
107337
  emptyState: {
107244
107338
  noFilteredResults: {
107245
- description: "Kontroller staving og filteralternativer, eller s\xF8k etter et annet n\xF8kkelord.",
107246
- title: "Ingen enheter samsvarer med s\xF8ket ditt",
107247
- itemsTitle: "No %{itemsLabel} Match Your Search"
107339
+ description: "Sjekk stavem\xE5ten og filteralternativene dine, eller s\xF8k etter et annet n\xF8kkelord.",
107340
+ title: "Ingen elementer samsvarer med s\xF8ket ditt",
107341
+ itemsTitle: "Ingen %{itemsLabel} samsvarer med s\xF8ket ditt"
107248
107342
  },
107249
107343
  noResults: {
107250
- description: "Once your team creates these items, you can access them here. ",
107251
- title: "Ingen enheter kan vises akkurat n\xE5",
107252
- itemsTitle: "There Are No %{itemsLabel} to Display Right Now",
107253
- tooltip: "The %{featureName} button will be enabled once you add information to the %{tableName}",
107254
- searchTooltip: "Search will be enabled once you add information to the %{tableName}",
107344
+ description: "N\xE5r teamet ditt har opprettet disse elementene, kan du f\xE5 tilgang til dem her. ",
107345
+ title: "Det er ingen elementer \xE5 vise akkurat n\xE5",
107346
+ itemsTitle: "Det er ingen %{itemsLabel} \xE5 vise akkurat n\xE5",
107347
+ tooltip: "%{featureName} -knappen vil bli aktivert n\xE5r du legger til informasjon i %{tableName}",
107348
+ searchTooltip: "S\xF8k vil bli aktivert n\xE5r du legger til informasjon i %{tableName}",
107255
107349
  featureFilter: "Filter",
107256
- featureQuickFilter: "Quick Filter",
107257
- featureGroupBy: "Group By",
107258
- featureConfigure: "Configure",
107259
- tableNameFallback: "table"
107350
+ featureQuickFilter: "Hurtigfilter",
107351
+ featureGroupBy: "Grupper etter",
107352
+ featureConfigure: "Konfigurer",
107353
+ tableNameFallback: "bord"
107260
107354
  }
107261
107355
  },
107262
107356
  bulkActions: {
107263
- apply: "Apply",
107264
- bulkEdit: "Bulk Edit",
107357
+ apply: "S\xF8k",
107358
+ bulkEdit: "Masseendring",
107265
107359
  cancel: "Avbryt",
107266
- editValues: "Edit Values",
107267
- error: "Sorry, the items couldn't be updated. Try again.",
107268
- placeholderForField: "Enter %{fieldName}",
107269
- selection: "%{count} %{number} selected",
107360
+ editValues: "Rediger verdier",
107361
+ error: "Beklager, elementene kunne ikke oppdateres. Pr\xF8v igjen.",
107362
+ placeholderForField: "Skriv inn %{fieldName}",
107363
+ selection: "%{count} %{number} valgt",
107270
107364
  selection_count: {
107271
- zero: "%{count} items selected",
107272
- one: "%{count} item selected",
107273
- other: "%{count} items selected"
107365
+ zero: "%{count} elementer valgt",
107366
+ one: "%{count} element valgt",
107367
+ other: "%{count} elementer valgt"
107274
107368
  },
107275
- success: "The items were successfully updated.",
107276
- one: "item",
107277
- many: "Enheter"
107369
+ success: "Elementene ble oppdatert.",
107370
+ one: "element",
107371
+ many: "gjenstander"
107278
107372
  },
107279
- exporting: "Exporting...",
107373
+ exporting: "Eksporterer...",
107280
107374
  filters: {
107281
107375
  filters: "Filtre",
107282
107376
  allFilters: "Alle filtre",
107283
107377
  moreFilters: "More Filters",
107284
107378
  clearAllFilters: "Fjern alle filtre",
107285
- close: "Close",
107379
+ close: "Lukk",
107286
107380
  removeFilterToken: "Fjern %{name}",
107287
107381
  locationFilter: {
107288
107382
  selectAll: "Velg alle",
107289
- includeSublocations: "Include sublocations",
107290
- searchLocations: "Search locations",
107291
- locations: "Locations"
107383
+ includeSublocations: "Inkluder underlokasjoner",
107384
+ searchLocations: "S\xF8k etter steder",
107385
+ locations: "Steder"
107292
107386
  },
107293
107387
  numberFilter: {
107294
107388
  labels: {
107295
- and: "OG",
107296
- input_placeholder: "Enter Value",
107297
- placeholder: "Select an item"
107389
+ and: "og",
107390
+ input_placeholder: "Angi verdi",
107391
+ placeholder: "Velg et element"
107298
107392
  },
107299
107393
  options: {
107300
- any_value: "Any Value",
107301
- is_between: "Is Between",
107302
- is_equal_to: "Is Equal To",
107303
- greater_than: "Is Greater Than",
107304
- greater_than_equal_to: "Is Greater Than or Equal To",
107305
- less_than: "Is Less Than",
107306
- less_than_equal_to: "Is Less Than or Equal To",
107307
- no_value: "No Value"
107394
+ any_value: "Enhver verdi",
107395
+ is_between: "Er mellom",
107396
+ is_equal_to: "Er lik",
107397
+ greater_than: "Er st\xF8rre enn",
107398
+ greater_than_equal_to: "Er st\xF8rre enn eller lik",
107399
+ less_than: "Er mindre enn",
107400
+ less_than_equal_to: "Er mindre enn eller lik",
107401
+ no_value: "Ingen verdi"
107308
107402
  }
107309
107403
  },
107310
107404
  singleSelectFilter: {
107311
- placeholder: "Select a Value"
107405
+ placeholder: "Velg en verdi"
107312
107406
  },
107313
107407
  multiSelectQuickFilter: {
107314
- ariaLabel: "Quick filter: Select multiple options"
107408
+ ariaLabel: "Hurtigfilter: Velg flere alternativer"
107315
107409
  },
107316
107410
  singleSelectQuickFilter: {
107317
- ariaLabel: "Quick filter: Select an option"
107411
+ ariaLabel: "Hurtigfilter: Velg et alternativ"
107318
107412
  }
107319
107413
  },
107320
107414
  loading: {
107321
- initial: "Information loading.",
107322
- secondary: "Information loading, thanks for your patience."
107415
+ initial: "Laster inn informasjon.",
107416
+ secondary: "Informasjon lastes, takk for t\xE5lmodigheten."
107323
107417
  },
107324
107418
  menuOptions: {
107325
107419
  ariaMenuColumn: "Trykk p\xE5 Alt/Option og pil ned for \xE5 \xE5pne kolonnemenyen.",
107326
107420
  sortMenuItem: {
107327
- label: "Sort By This Column",
107328
- sortAscItem: "Sort Column Ascending",
107329
- sortDescItem: "Sort Column Descending",
107330
- sortResetItem: "Column Not Sorted",
107331
- sortAscending: "sorted ascending",
107332
- sortDescending: "sorted descending",
107333
- sortCleared: "Sorting cleared"
107334
- },
107335
- expandAllGroups: "Expand All Groups",
107336
- collapseAllGroups: "Collapse All Groups",
107337
- pinColumn: "Pin Column",
107338
- pinLeft: "Pin Left",
107339
- pinRight: "Pin Right",
107340
- noPin: "No Pin",
107341
- autoSizeThisColumn: "Autosize This Column",
107342
- autoSizeAllColumns: "Autosize All Columns",
107343
- hideColumn: "Hide Column",
107421
+ label: "Sorter etter denne kolonnen",
107422
+ sortAscItem: "Sorter kolonne stigende",
107423
+ sortDescItem: "Sorter kolonne synkende",
107424
+ sortResetItem: "Kolonne ikke sortert",
107425
+ sortAscending: "sortert stigende",
107426
+ sortDescending: "sortert synkende",
107427
+ sortCleared: "Sortering fjernet"
107428
+ },
107429
+ expandAllGroups: "Utvid alle grupper",
107430
+ collapseAllGroups: "Skjul alle grupper",
107431
+ pinColumn: "Fest kolonne",
107432
+ pinLeft: "Fest til venstre",
107433
+ pinRight: "Fest til h\xF8yre",
107434
+ noPin: "Ingen PIN",
107435
+ autoSizeThisColumn: "Tilpass kolonnebredden automatisk",
107436
+ autoSizeAllColumns: "Tilpass alle kolonner automatisk",
107437
+ hideColumn: "Skjul kolonne",
107344
107438
  resetColumns: "Tilbakestill kolonner",
107345
- unGroupBy: "Un-Group by {{label}}",
107346
- groupBy: "Group by {{label}}"
107439
+ unGroupBy: "Fjern gruppering etter {{label}}",
107440
+ groupBy: "Grupper etter {{label}}"
107347
107441
  },
107348
- grandTotals: "Grand Totals",
107442
+ grandTotals: "Totale summer",
107349
107443
  search: "S\xF8k",
107350
- subtotals: "Subtotals",
107444
+ subtotals: "Delsummer",
107351
107445
  tableSettings: {
107352
- configureColumns: "Configure Columns",
107353
- resetToDefault: "Show All",
107354
- rowHeight: "Row Height",
107355
- small: "Small",
107356
- medium: "Medium",
107357
- large: "Large",
107358
- tableSettings: "Table Settings",
107359
- groupBy: "Group by:",
107446
+ configureColumns: "Konfigurer kolonner",
107447
+ resetToDefault: "Vis alle",
107448
+ rowHeight: "Radh\xF8yde",
107449
+ small: "Liten",
107450
+ medium: "Middels",
107451
+ large: "Stor",
107452
+ tableSettings: "Borddekking",
107453
+ groupBy: "Grupper etter:",
107360
107454
  reset: "Tilbakestill",
107361
- selectColumnGroup: "Select a column to group",
107362
- configure: "Configure"
107455
+ selectColumnGroup: "Velg en kolonne \xE5 gruppere",
107456
+ configure: "Konfigurer"
107363
107457
  },
107364
107458
  rowGroupToggle: {
107365
- expandTierOne: "Open first groups in the table.",
107366
- expandAll: "Open all groups in the table.",
107367
- collapseAll: "Close all groups in the table."
107459
+ expandTierOne: "\xC5pne de f\xF8rste gruppene i tabellen.",
107460
+ expandAll: "\xC5pne alle grupper i tabellen.",
107461
+ collapseAll: "Lukk alle grupper i tabellen."
107368
107462
  },
107369
107463
  columnGroupToggle: {
107370
- collapse: "Collapse column group",
107371
- expand: "Expand column group"
107464
+ collapse: "Skjul kolonnegruppe",
107465
+ expand: "Utvid kolonnegruppe"
107372
107466
  },
107373
107467
  cells: {
107374
107468
  textCell: {
107375
- placeholder: "Enter text"
107469
+ placeholder: "Skriv inn tekst"
107376
107470
  },
107377
107471
  currencyCell: {
107378
- placeholder: "Enter currency"
107472
+ placeholder: "Angi valuta"
107379
107473
  },
107380
107474
  linkCell: {
107381
107475
  externalLabel: "\xC5pne ekstern kobling"
107382
107476
  },
107383
107477
  numberCell: {
107384
- placeholder: "Enter number"
107478
+ placeholder: "Skriv inn nummer"
107385
107479
  },
107386
107480
  percentCell: {
107387
- placeholder: "Enter %"
107481
+ placeholder: "Skriv inn %"
107388
107482
  },
107389
107483
  pillCell: {
107390
- placeholder: "Select {{label}}"
107484
+ placeholder: "Velg {{label}}"
107391
107485
  },
107392
107486
  selectCell: {
107393
- placeholder: "Select {{label}}"
107487
+ placeholder: "Velg {{label}}"
107394
107488
  },
107395
107489
  multiSelectCell: {
107396
- placeholder: "Select Values"
107490
+ placeholder: "Velg verdier"
107397
107491
  },
107398
107492
  booleanCell: {
107399
107493
  options: {
@@ -107404,16 +107498,16 @@ var nb_NO_default = {
107404
107498
  },
107405
107499
  filterRenders: {
107406
107500
  dateFilter: {
107407
- single: "Single",
107408
- range: "Range"
107501
+ single: "Enslig",
107502
+ range: "Rekkevidde"
107409
107503
  }
107410
107504
  },
107411
107505
  groupCell: {
107412
- expand: "Expand group",
107413
- collapse: "Collapse group"
107506
+ expand: "Utvid gruppe",
107507
+ collapse: "Skjul gruppe"
107414
107508
  },
107415
107509
  rowCheckbox: {
107416
- ariaLabel: "Select Row"
107510
+ ariaLabel: "Velg rad"
107417
107511
  }
107418
107512
  }
107419
107513
  };
@@ -107842,7 +107936,7 @@ var pt_BR_default = {
107842
107936
  options: {
107843
107937
  any_value: "Qualquer Valor",
107844
107938
  is_between: "Est\xE1 entre",
107845
- is_equal_to: "\xC9 igual a",
107939
+ is_equal_to: "\xC9 Igual a",
107846
107940
  greater_than: "\xC9 Maior Que",
107847
107941
  greater_than_equal_to: "\xC9 Maior Que ou Igual a",
107848
107942
  less_than: "\xC9 Menor Que",
@@ -107974,8 +108068,8 @@ var pt_PT_default = {
107974
108068
  description: "Assim que a sua equipa criar estes itens, poder\xE1 aceder aos mesmos aqui. ",
107975
108069
  title: "N\xE3o h\xE1 itens para apresentar neste momento",
107976
108070
  itemsTitle: "N\xE3o h\xE1 %{itemsLabel} para apresentar neste momento",
107977
- tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado quando adicionar informa\xE7\xF5es \xE0 tabela %{tableName}",
107978
- searchTooltip: "A pesquisa ser\xE1 ativada quando adicionar informa\xE7\xF5es a %{tableName}",
108071
+ tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado quando adicionar informa\xE7\xF5es a %{tableName}",
108072
+ searchTooltip: "A pesquisa ser\xE1 ativada quando adicionar informa\xE7\xF5es a: %{tableName}",
107979
108073
  featureFilter: "Filtro",
107980
108074
  featureQuickFilter: "Filtro r\xE1pido",
107981
108075
  featureGroupBy: "Agrupar por",
@@ -108076,8 +108170,8 @@ var pt_PT_default = {
108076
108170
  configureColumns: "Configurar colunas",
108077
108171
  resetToDefault: "Mostrar tudo",
108078
108172
  rowHeight: "Altura da linha",
108079
- small: "Pequeno",
108080
- medium: "M\xE9dio",
108173
+ small: "Pequena",
108174
+ medium: "M\xE9dia",
108081
108175
  large: "Grande",
108082
108176
  tableSettings: "Defini\xE7\xF5es de tabela",
108083
108177
  groupBy: "Agrupar por:",
@@ -110006,11 +110100,16 @@ function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResp
110006
110100
  };
110007
110101
  }
110008
110102
  var minimumColumnWidth = 140;
110103
+ function resolveGroupIncludeFooter(props, onSSDR) {
110104
+ if (props.enableGroupHeaderEdit) return false;
110105
+ if (!onSSDR && props.groupIncludeFooter === void 0) return true;
110106
+ return props.groupIncludeFooter;
110107
+ }
110009
110108
  function useComputeAgGridProps(props) {
110010
110109
  const internalTableContext = useInternalTableContext();
110011
110110
  const onSSDR = internalTableContext.onServerSideDataRequest;
110012
110111
  return {
110013
- groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
110112
+ groupIncludeFooter: resolveGroupIncludeFooter(props, !!onSSDR),
110014
110113
  rowDragManaged: onSSDR ? false : props.rowDragManaged ?? true,
110015
110114
  rowModelType: onSSDR ? "serverSide" : void 0,
110016
110115
  groupSelectsChildren: (
@@ -110083,11 +110182,11 @@ var Table = (props) => {
110083
110182
  });
110084
110183
  const decoratedColDefs = React80__default.default.useMemo(
110085
110184
  () => internalTableContext.columnDefinitions?.map((colDef) => {
110086
- const newColDef = transformToColDef(
110087
- colDef,
110088
- internalTableContext.enableGroupEditAndValidation,
110089
- internalTableContext.enableDynamicRowHeight
110090
- );
110185
+ const newColDef = transformToColDef(colDef, {
110186
+ enableGroupEditAndValidation: internalTableContext.enableGroupEditAndValidation,
110187
+ enableDynamicRowHeight: internalTableContext.enableDynamicRowHeight,
110188
+ enableGroupHeaderEdit: props.enableGroupHeaderEdit
110189
+ });
110091
110190
  return {
110092
110191
  ...newColDef,
110093
110192
  editable: overrideEditable(colDef.editable)
@@ -110373,8 +110472,10 @@ var Table = (props) => {
110373
110472
  const decoratedAutoGroupColDef = React80__default.default.useMemo(
110374
110473
  () => getDecoratedAutoGroupColDef(
110375
110474
  props?.autoGroupColumnDefinition,
110376
- internalTableContext.enableGroupEditAndValidation,
110377
- internalTableContext.enableDynamicRowHeight,
110475
+ {
110476
+ enableGroupEditAndValidation: internalTableContext.enableGroupEditAndValidation,
110477
+ enableDynamicRowHeight: internalTableContext.enableDynamicRowHeight
110478
+ },
110378
110479
  isRowSelectable,
110379
110480
  props.siblingGroupsRowSelectionDisabled,
110380
110481
  props.groupsAlwaysExpanded ?? false,
@@ -111991,6 +112092,21 @@ var LocationQuickFilterRenderer_default = LocationQuickFilterRenderer;
111991
112092
  var StyledFilterPresetPopoverContent = styled4__default.default(coreReact.Popover.Content)`
111992
112093
  padding: ${coreReact.spacing.sm}px ${coreReact.spacing.lg}px;
111993
112094
  `;
112095
+ var StyledClearButton = styled4__default.default(coreReact.Button)`
112096
+ position: absolute;
112097
+ right: ${coreReact.spacing.md + coreReact.spacing.lg}px;
112098
+ top: calc(36px / 2);
112099
+ transform: translateY(-50%);
112100
+ color: ${coreReact.colors.blue45};
112101
+ &:hover,
112102
+ &:focus {
112103
+ color: ${coreReact.colors.blue45};
112104
+ background: ${coreReact.colors.white};
112105
+ }
112106
+ `;
112107
+ var StyledTriggerContainerWrapper = styled4__default.default.div`
112108
+ position: relative;
112109
+ `;
111994
112110
  var getValueLabel = (isValueEmpty, value, placeholder, filterName) => {
111995
112111
  const prefixLabel = isValueEmpty ? placeholder || filterName : filterName;
111996
112112
  const valueLabel = value ? `${prefixLabel ? ": " : ""}${value}` : "";
@@ -112010,7 +112126,7 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112010
112126
  const ctx = coreReact.UNSAFE_useSuperSelectContext();
112011
112127
  const I18n = coreReact.useI18nContext();
112012
112128
  return /* @__PURE__ */ React80__default.default.createElement(
112013
- coreReact.Button,
112129
+ StyledClearButton,
112014
112130
  {
112015
112131
  ...ctx.props.clear(),
112016
112132
  "aria-label": I18n.t("dataTable.filters.removeFilterToken", {
@@ -112035,6 +112151,11 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112035
112151
  filterName
112036
112152
  )));
112037
112153
  }),
112154
+ TriggerContainerWrapper: React80__default.default.forwardRef(
112155
+ (props, ref) => {
112156
+ return /* @__PURE__ */ React80__default.default.createElement(StyledTriggerContainerWrapper, { ref, ...props });
112157
+ }
112158
+ ),
112038
112159
  TriggerContainer: React80__default.default.forwardRef(
112039
112160
  (props, ref) => {
112040
112161
  const ctx = coreReact.UNSAFE_useSuperSelectContext();
@@ -112048,11 +112169,31 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112048
112169
  }
112049
112170
  );
112050
112171
  }
112172
+ const {
112173
+ "aria-activedescendant": ariaActivedescendant,
112174
+ "aria-controls": ariaControls,
112175
+ "aria-expanded": ariaExpanded,
112176
+ "aria-haspopup": ariaHaspopup,
112177
+ "aria-label": ariaLabel,
112178
+ "aria-labelledby": ariaLabelledby,
112179
+ role,
112180
+ tabIndex
112181
+ } = ctx.props.multiInput();
112182
+ const a11yProps = {
112183
+ "aria-activedescendant": ariaActivedescendant,
112184
+ "aria-controls": ariaControls,
112185
+ "aria-expanded": ariaExpanded,
112186
+ "aria-haspopup": ariaHaspopup,
112187
+ "aria-label": ariaLabel,
112188
+ "aria-labelledby": ariaLabelledby,
112189
+ role,
112190
+ tabIndex
112191
+ };
112051
112192
  return /* @__PURE__ */ React80__default.default.createElement(
112052
112193
  coreReact.Popover,
112053
112194
  {
112054
112195
  placement: "top",
112055
- trigger: ctx.state.value.length > 1 ? "hover" : "none",
112196
+ trigger: ctx.state.value.length > 1 ? ["hover", "focus"] : "none",
112056
112197
  overlay: /* @__PURE__ */ React80__default.default.createElement(StyledFilterPresetPopoverContent, null, /* @__PURE__ */ React80__default.default.createElement(coreReact.Typography, null, ctx.state.value.map((v) => {
112057
112198
  const option = ctx.state.options.find(
112058
112199
  (option2) => ctx.option.value(option2) === v
@@ -112065,6 +112206,7 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112065
112206
  {
112066
112207
  $block: ctx.config.block,
112067
112208
  ...props,
112209
+ ...a11yProps,
112068
112210
  ref
112069
112211
  }
112070
112212
  )
@@ -112877,6 +113019,7 @@ var ClientSideSearch = ({
112877
113019
  const { tableRef } = useInternalTableContext();
112878
113020
  const hasNoContent = useTableHasNoContent();
112879
113021
  const I18n = coreReact.useI18nContext();
113022
+ const resolvedPlaceholder = placeholder || I18n.t("dataTable.search");
112880
113023
  const debouncedSetSearchValue = React80__default.default.useCallback(
112881
113024
  debounce5__default.default((value) => {
112882
113025
  tableRef?.current?.setSearchValue(value);
@@ -112904,7 +113047,8 @@ var ClientSideSearch = ({
112904
113047
  "search--empty": !internalValue.length
112905
113048
  }),
112906
113049
  onChange,
112907
- placeholder: placeholder || I18n.t("dataTable.search")
113050
+ placeholder: resolvedPlaceholder,
113051
+ "aria-label": resolvedPlaceholder
112908
113052
  }
112909
113053
  ));
112910
113054
  };