@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.
@@ -54338,7 +54338,7 @@ function ServerSideNumberFilterRenderer({
54338
54338
  },
54339
54339
  {
54340
54340
  id: "isEqual",
54341
- label: I18n.t("options.isEqual", {
54341
+ label: I18n.t("options.is_equal_to", {
54342
54342
  defaultValue: "Is Equal To",
54343
54343
  scope: "dataTable.filters.numberFilter"
54344
54344
  })
@@ -54836,26 +54836,19 @@ function serializeNode(node) {
54836
54836
  rowPinned: node.rowPinned
54837
54837
  };
54838
54838
  }
54839
- function transformToColDef(colDefinition, enableGroupEditAndValidation, enableDynamicRowHeight) {
54839
+ function transformToColDef(colDefinition, tableOptions) {
54840
54840
  if (isNestedColumnDefinition(colDefinition)) {
54841
54841
  return {
54842
54842
  ...colDefinition,
54843
54843
  children: colDefinition.children.map(
54844
- (childColDefinition) => transformColumnDefinitionToColDef(
54845
- childColDefinition,
54846
- enableGroupEditAndValidation,
54847
- enableDynamicRowHeight
54848
- )
54844
+ (childColDefinition) => transformColumnDefinitionToColDef(childColDefinition, tableOptions)
54849
54845
  )
54850
54846
  };
54851
54847
  }
54852
- return transformColumnDefinitionToColDef(
54853
- colDefinition,
54854
- enableGroupEditAndValidation,
54855
- enableDynamicRowHeight
54856
- );
54848
+ return transformColumnDefinitionToColDef(colDefinition, tableOptions);
54857
54849
  }
54858
- function transformColumnDefinitionToColDef(dataTableColumnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight) {
54850
+ function transformColumnDefinitionToColDef(dataTableColumnDefinition, tableOptions) {
54851
+ const { enableGroupEditAndValidation, enableDynamicRowHeight } = tableOptions;
54859
54852
  const {
54860
54853
  aggFunc,
54861
54854
  bulkEditable,
@@ -54898,7 +54891,8 @@ function transformColumnDefinitionToColDef(dataTableColumnDefinition, enableGrou
54898
54891
  };
54899
54892
  const cellClassRules = {
54900
54893
  "invalid-cell": function isValid(params) {
54901
- const shouldValidate = !params.node.group && params.data && !params.data.isAggData || enableGroupEditAndValidation && (params.node.footer || params.node.group && !params.node.expanded);
54894
+ const shouldValidateGroupHeader = tableOptions.enableGroupHeaderEdit && params.node.group;
54895
+ const shouldValidate = !params.node.group && params.data && !params.data.isAggData || enableGroupEditAndValidation && (params.node.footer || params.node.group && !params.node.expanded) || shouldValidateGroupHeader;
54902
54896
  return (shouldValidate && valueValidator && !valueValidator({
54903
54897
  columnDefinition: transformToColumnDefinition(params.colDef),
54904
54898
  data: params.data,
@@ -55241,12 +55235,8 @@ function addAutoGroupParams(columnDefinition, isRowSelectable, siblingGroupsRowS
55241
55235
  }
55242
55236
  };
55243
55237
  }
55244
- function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight, isRowSelectable, siblingGroupsRowSelectionDisabled, groupsAlwaysExpanded, isDetailTable) {
55245
- const colDef = columnDefinition ? transformToColDef(
55246
- columnDefinition,
55247
- enableGroupEditAndValidation,
55248
- enableDynamicRowHeight
55249
- ) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55238
+ function getDecoratedAutoGroupColDef(columnDefinition, tableOptions, isRowSelectable, siblingGroupsRowSelectionDisabled, groupsAlwaysExpanded, isDetailTable) {
55239
+ const colDef = columnDefinition ? transformToColDef(columnDefinition, tableOptions) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55250
55240
  return addAutoGroupParams(
55251
55241
  colDef,
55252
55242
  isRowSelectable,
@@ -55257,12 +55247,12 @@ function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidat
55257
55247
  }
55258
55248
 
55259
55249
  // src/CellRenderers/AutoGroupCell.scss
55260
- var css5 = `._autoGroupCell_1qx8z_1 {
55250
+ var css5 = `._autoGroupCell_1h6pf_1 {
55261
55251
  height: 100%;
55262
55252
  width: 100%;
55263
55253
  }
55264
55254
 
55265
- ._indent_1qx8z_6 {
55255
+ ._indent_1h6pf_6 {
55266
55256
  border-right: 1px solid #d6dadc;
55267
55257
  background: #f4f5f6;
55268
55258
  position: absolute;
@@ -55270,45 +55260,69 @@ var css5 = `._autoGroupCell_1qx8z_1 {
55270
55260
  bottom: -1px;
55271
55261
  width: 12px;
55272
55262
  }
55273
- ._indent_1qx8z_6._innermostLastIndent_1qx8z_14 {
55263
+ ._indent_1h6pf_6._innermostLastIndent_1h6pf_14 {
55274
55264
  bottom: 0px;
55275
55265
  }
55276
55266
 
55277
- ._expandableCaret_1qx8z_18 {
55267
+ ._expandableCaret_1h6pf_18 {
55278
55268
  margin-left: -8px;
55279
55269
  margin-right: 4px;
55280
55270
  width: 24px;
55281
55271
  flex-shrink: 0;
55282
55272
  }
55283
55273
 
55284
- ._expandCaret_1qx8z_25 {
55274
+ ._expandableCaretButton_1h6pf_25 {
55275
+ display: inline-flex;
55276
+ align-items: center;
55277
+ justify-content: center;
55278
+ width: 24px;
55279
+ height: 24px;
55280
+ padding: 0;
55281
+ margin-left: -8px;
55282
+ margin-right: 4px;
55283
+ border: none;
55284
+ border-radius: 2px;
55285
+ background: transparent;
55286
+ cursor: pointer;
55287
+ flex-shrink: 0;
55288
+ }
55289
+ ._expandableCaretButton_1h6pf_25:focus-visible {
55290
+ outline: 2px solid #2066df;
55291
+ outline-offset: 1px;
55292
+ }
55293
+ ._expandableCaretButton_1h6pf_25:hover {
55294
+ background-color: rgba(0, 0, 0, 0.06);
55295
+ }
55296
+
55297
+ ._expandCaret_1h6pf_48 {
55285
55298
  color: #2066df;
55286
55299
  cursor: pointer;
55287
55300
  }
55288
55301
 
55289
- ._collapseCaret_1qx8z_30 {
55302
+ ._collapseCaret_1h6pf_53 {
55290
55303
  color: #75838a;
55291
55304
  cursor: pointer;
55292
55305
  }
55293
55306
 
55294
- ._value_1qx8z_35 {
55307
+ ._value_1h6pf_58 {
55295
55308
  overflow: hidden;
55296
55309
  text-overflow: ellipsis;
55297
55310
  font-size: 12px;
55298
55311
  }
55299
- ._value_1qx8z_35._footer_1qx8z_40 {
55312
+ ._value_1h6pf_58._footer_1h6pf_63 {
55300
55313
  color: #6a767c;
55301
55314
  }`;
55302
55315
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css5));
55303
55316
  var AutoGroupCell_default = {
55304
- "autoGroupCell": "_autoGroupCell_1qx8z_1",
55305
- "indent": "_indent_1qx8z_6",
55306
- "innermostLastIndent": "_innermostLastIndent_1qx8z_14",
55307
- "expandableCaret": "_expandableCaret_1qx8z_18",
55308
- "expandCaret": "_expandCaret_1qx8z_25",
55309
- "collapseCaret": "_collapseCaret_1qx8z_30",
55310
- "value": "_value_1qx8z_35",
55311
- "footer": "_footer_1qx8z_40"
55317
+ "autoGroupCell": "_autoGroupCell_1h6pf_1",
55318
+ "indent": "_indent_1h6pf_6",
55319
+ "innermostLastIndent": "_innermostLastIndent_1h6pf_14",
55320
+ "expandableCaret": "_expandableCaret_1h6pf_18",
55321
+ "expandableCaretButton": "_expandableCaretButton_1h6pf_25",
55322
+ "expandCaret": "_expandCaret_1h6pf_48",
55323
+ "collapseCaret": "_collapseCaret_1h6pf_53",
55324
+ "value": "_value_1h6pf_58",
55325
+ "footer": "_footer_1h6pf_63"
55312
55326
  };
55313
55327
 
55314
55328
  // src/utils/rowSelectionHelpers.ts
@@ -55573,6 +55587,7 @@ var LevelIndents = (props) => {
55573
55587
  };
55574
55588
  function GroupCaret(props) {
55575
55589
  const mounted = React80__default.default.useRef(false);
55590
+ const buttonRef = React80__default.default.useRef(null);
55576
55591
  const [expanded, setExpanded] = React80.useState(props.node.expanded);
55577
55592
  const ExpandableCaret = expanded ? coreIcons.CaretDown : coreIcons.CaretRight;
55578
55593
  const I18n = coreReact.useI18nContext();
@@ -55583,6 +55598,16 @@ function GroupCaret(props) {
55583
55598
  }, 0);
55584
55599
  }
55585
55600
  }
55601
+ const handleToggle = () => {
55602
+ props.api.setRowNodeExpanded(props.node, !expanded);
55603
+ };
55604
+ const handleKeyDown = (event) => {
55605
+ if (event.key === "Enter" || event.key === " ") {
55606
+ event.preventDefault();
55607
+ event.stopPropagation();
55608
+ handleToggle();
55609
+ }
55610
+ };
55586
55611
  React80.useEffect(() => {
55587
55612
  mounted.current = true;
55588
55613
  props.api.addEventListener("rowGroupOpened", handleRowGroupToggle);
@@ -55595,20 +55620,47 @@ function GroupCaret(props) {
55595
55620
  );
55596
55621
  };
55597
55622
  }, []);
55623
+ React80.useEffect(() => {
55624
+ var _a;
55625
+ if (!props.node.isExpandable()) return;
55626
+ const cell2 = (_a = buttonRef.current) == null ? void 0 : _a.closest(".ag-cell");
55627
+ if (!cell2) return;
55628
+ const handleCellKeyDown = (event) => {
55629
+ var _a2;
55630
+ if (event.key !== "Enter" && event.key !== " ") return;
55631
+ if (!event.isTrusted) return;
55632
+ const target = event.target;
55633
+ if (target.closest("button") || target.closest("input")) return;
55634
+ event.preventDefault();
55635
+ event.stopImmediatePropagation();
55636
+ (_a2 = buttonRef.current) == null ? void 0 : _a2.click();
55637
+ };
55638
+ cell2.addEventListener("keydown", handleCellKeyDown, { capture: true });
55639
+ return () => {
55640
+ cell2.removeEventListener("keydown", handleCellKeyDown, { capture: true });
55641
+ };
55642
+ }, []);
55643
+ if (!props.node.isExpandable()) {
55644
+ return /* @__PURE__ */ React80__default.default.createElement("div", { className: AutoGroupCell_default.expandableCaret });
55645
+ }
55598
55646
  return /* @__PURE__ */ React80__default.default.createElement(
55599
- coreReact.Box,
55647
+ "button",
55600
55648
  {
55649
+ type: "button",
55650
+ ref: buttonRef,
55651
+ "aria-expanded": expanded,
55601
55652
  "aria-label": I18n.t(
55602
55653
  `dataTable.groupCell.${expanded ? "collapse" : "expand"}`
55603
55654
  ),
55604
- className: AutoGroupCell_default.expandableCaret,
55605
- role: "button"
55655
+ className: AutoGroupCell_default.expandableCaretButton,
55656
+ onClick: handleToggle,
55657
+ onKeyDown: handleKeyDown,
55658
+ "data-qa": "group-expand-collapse"
55606
55659
  },
55607
- props.node.isExpandable() && /* @__PURE__ */ React80__default.default.createElement(
55660
+ /* @__PURE__ */ React80__default.default.createElement(
55608
55661
  ExpandableCaret,
55609
55662
  {
55610
- className: expanded ? AutoGroupCell_default.collapseCaret : AutoGroupCell_default.expandCaret,
55611
- onClick: () => props.api.setRowNodeExpanded(props.node, !expanded)
55663
+ className: expanded ? AutoGroupCell_default.collapseCaret : AutoGroupCell_default.expandCaret
55612
55664
  }
55613
55665
  )
55614
55666
  );
@@ -56478,10 +56530,15 @@ var css7 = `.data-table-container .ag-header-cell .data-table-header-menu {
56478
56530
  align-items: center;
56479
56531
  justify-content: center;
56480
56532
  background-color: #e3e6e8;
56533
+ border: none;
56481
56534
  border-radius: 2px;
56482
56535
  cursor: pointer;
56483
56536
  margin-right: 8px;
56484
56537
  }
56538
+ .data-table-container .ag-header-cell .expand-button:focus-visible {
56539
+ outline: 2px solid #2066df;
56540
+ outline-offset: 1px;
56541
+ }
56485
56542
  .data-table-container .ag-header-group-cell-with-group .ag-header-cell-comp-wrapper {
56486
56543
  width: 100%;
56487
56544
  overflow: hidden;
@@ -56494,10 +56551,15 @@ var css7 = `.data-table-container .ag-header-cell .data-table-header-menu {
56494
56551
  align-items: center;
56495
56552
  justify-content: center;
56496
56553
  background-color: #e3e6e8;
56554
+ border: none;
56497
56555
  border-radius: 2px;
56498
56556
  cursor: pointer;
56499
56557
  margin-left: auto;
56500
56558
  }
56559
+ .data-table-container .ag-header-group-cell-with-group .expand-button:focus-visible {
56560
+ outline: 2px solid #2066df;
56561
+ outline-offset: 1px;
56562
+ }
56501
56563
  .data-table-container .auto-column-expand-tooltip-content {
56502
56564
  width: 96px;
56503
56565
  }
@@ -56647,6 +56709,7 @@ var GenericHeaderRenderer = (props) => {
56647
56709
  I18n
56648
56710
  );
56649
56711
  const headerCellRef = React80.useRef(null);
56712
+ const expandButtonRef = React80.useRef(null);
56650
56713
  const menuButtonRef = React80.useRef(null);
56651
56714
  const headerCheckboxSelection = colDef.headerCheckboxSelection;
56652
56715
  const headerCheckboxSelectionEnabled = typeof headerCheckboxSelection === "function" ? headerCheckboxSelection({
@@ -56799,6 +56862,30 @@ var GenericHeaderRenderer = (props) => {
56799
56862
  );
56800
56863
  }
56801
56864
  React80__default.default.useEffect(updateExpandedState);
56865
+ React80__default.default.useEffect(() => {
56866
+ var _a2;
56867
+ if (!isExpandable) return;
56868
+ const headerCell = (_a2 = headerCellRef.current) == null ? void 0 : _a2.closest(".ag-header-cell");
56869
+ if (!headerCell) return;
56870
+ const handleExpandKeyDown = (event) => {
56871
+ var _a3;
56872
+ if (event.key !== "Enter" && event.key !== " ") return;
56873
+ if (!event.isTrusted) return;
56874
+ const target = event.target;
56875
+ if (target.closest("button") || target.closest("input")) return;
56876
+ event.preventDefault();
56877
+ event.stopImmediatePropagation();
56878
+ (_a3 = expandButtonRef.current) == null ? void 0 : _a3.click();
56879
+ };
56880
+ headerCell.addEventListener("keydown", handleExpandKeyDown, {
56881
+ capture: true
56882
+ });
56883
+ return () => {
56884
+ headerCell.removeEventListener("keydown", handleExpandKeyDown, {
56885
+ capture: true
56886
+ });
56887
+ };
56888
+ }, [isExpandable]);
56802
56889
  const [expansionVariant, setExpansionVariant] = React80__default.default.useState("closed");
56803
56890
  React80__default.default.useEffect(() => {
56804
56891
  var _a2;
@@ -57083,12 +57170,21 @@ var GenericHeaderRenderer = (props) => {
57083
57170
  overlay: /* @__PURE__ */ React80__default.default.createElement(coreReact.Tooltip.Content, { className: "auto-column-expand-tooltip-content" }, tooltipText[expansionVariant])
57084
57171
  },
57085
57172
  /* @__PURE__ */ React80__default.default.createElement(
57086
- "div",
57173
+ "button",
57087
57174
  {
57175
+ type: "button",
57176
+ ref: expandButtonRef,
57177
+ "aria-expanded": expansionVariant !== "closed",
57088
57178
  "aria-label": tooltipText[expansionVariant],
57089
57179
  className: "expand-button",
57090
57180
  onClick: onExpandToggle,
57091
- role: "button",
57181
+ onKeyDown: (e) => {
57182
+ if (e.key === "Enter" || e.key === " ") {
57183
+ e.preventDefault();
57184
+ e.stopPropagation();
57185
+ onExpandToggle(e);
57186
+ }
57187
+ },
57092
57188
  "data-qa": "expand-or-collapse-all-button"
57093
57189
  },
57094
57190
  /* @__PURE__ */ React80__default.default.createElement(ExpansionVariantIcon, { size: "sm" })
@@ -57890,6 +57986,7 @@ var ServerSideSearch = ({
57890
57986
  const { updateServerSideDataSource } = useInternalTableContext();
57891
57987
  const hasNoContent = useTableHasNoContent();
57892
57988
  const I18n = coreReact.useI18nContext();
57989
+ const resolvedPlaceholder = placeholder || I18n.t("dataTable.search");
57893
57990
  const debouncedSetSearchValue = React80__default.default.useCallback(
57894
57991
  debounce5__default.default((value) => {
57895
57992
  updateServerSideDataSource({ search: value });
@@ -57914,7 +58011,8 @@ var ServerSideSearch = ({
57914
58011
  value: internalValue,
57915
58012
  className: cx17("search", { "search--empty": !internalValue.length }),
57916
58013
  onChange,
57917
- placeholder: placeholder || I18n.t("dataTable.search")
58014
+ placeholder: resolvedPlaceholder,
58015
+ "aria-label": resolvedPlaceholder
57918
58016
  }
57919
58017
  ));
57920
58018
  };
@@ -104682,11 +104780,10 @@ var ConfigurationColumns = React80__default.default.forwardRef(
104682
104780
  return columnDefs;
104683
104781
  }
104684
104782
  const columnDefinitionsMappedToDefs = columnDefinitions.map(
104685
- (colDef) => transformToColDef(
104686
- colDef,
104783
+ (colDef) => transformToColDef(colDef, {
104687
104784
  enableGroupEditAndValidation,
104688
104785
  enableDynamicRowHeight
104689
- )
104786
+ })
104690
104787
  );
104691
104788
  return toGroupedCols(columnDefinitionsMappedToDefs);
104692
104789
  });
@@ -104994,8 +105091,10 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
104994
105091
  alwaysAggregateAtRootLevel: !isServerSideRowModel,
104995
105092
  autoGroupColumnDef: getDecoratedAutoGroupColDef(
104996
105093
  detailRowConfig.autoGroupColumnDefinition,
104997
- enableGroupEditAndValidation,
104998
- enableDynamicRowHeight,
105094
+ {
105095
+ enableGroupEditAndValidation,
105096
+ enableDynamicRowHeight
105097
+ },
104999
105098
  isRowSelectable,
105000
105099
  false,
105001
105100
  detailRowConfig.groupsAlwaysExpanded ?? false,
@@ -105007,11 +105106,10 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
105007
105106
  },
105008
105107
  columnDefs: toGroupedCols(
105009
105108
  detailRowConfig.columnDefinitions.map(
105010
- (colDef) => transformToColDef(
105011
- colDef,
105109
+ (colDef) => transformToColDef(colDef, {
105012
105110
  enableGroupEditAndValidation,
105013
- colDef.autoHeight ?? enableDynamicRowHeight
105014
- )
105111
+ enableDynamicRowHeight: colDef.autoHeight ?? enableDynamicRowHeight
105112
+ })
105015
105113
  )
105016
105114
  ),
105017
105115
  groupsAlwaysExpanded: detailRowConfig.groupsAlwaysExpanded ?? false,
@@ -107384,158 +107482,158 @@ var nb_NO_default = {
107384
107482
  dataTable: {
107385
107483
  emptyState: {
107386
107484
  noFilteredResults: {
107387
- description: "Kontroller staving og filteralternativer, eller s\xF8k etter et annet n\xF8kkelord.",
107388
- title: "Ingen enheter samsvarer med s\xF8ket ditt",
107389
- itemsTitle: "No %{itemsLabel} Match Your Search"
107485
+ description: "Sjekk stavem\xE5ten og filteralternativene dine, eller s\xF8k etter et annet n\xF8kkelord.",
107486
+ title: "Ingen elementer samsvarer med s\xF8ket ditt",
107487
+ itemsTitle: "Ingen %{itemsLabel} samsvarer med s\xF8ket ditt"
107390
107488
  },
107391
107489
  noResults: {
107392
- description: "Once your team creates these items, you can access them here. ",
107393
- title: "Ingen enheter kan vises akkurat n\xE5",
107394
- itemsTitle: "There Are No %{itemsLabel} to Display Right Now",
107395
- tooltip: "The %{featureName} button will be enabled once you add information to the %{tableName}",
107396
- searchTooltip: "Search will be enabled once you add information to the %{tableName}",
107490
+ description: "N\xE5r teamet ditt har opprettet disse elementene, kan du f\xE5 tilgang til dem her. ",
107491
+ title: "Det er ingen elementer \xE5 vise akkurat n\xE5",
107492
+ itemsTitle: "Det er ingen %{itemsLabel} \xE5 vise akkurat n\xE5",
107493
+ tooltip: "%{featureName} -knappen vil bli aktivert n\xE5r du legger til informasjon i %{tableName}",
107494
+ searchTooltip: "S\xF8k vil bli aktivert n\xE5r du legger til informasjon i %{tableName}",
107397
107495
  featureFilter: "Filter",
107398
- featureQuickFilter: "Quick Filter",
107399
- featureGroupBy: "Group By",
107400
- featureConfigure: "Configure",
107401
- tableNameFallback: "table"
107496
+ featureQuickFilter: "Hurtigfilter",
107497
+ featureGroupBy: "Grupper etter",
107498
+ featureConfigure: "Konfigurer",
107499
+ tableNameFallback: "bord"
107402
107500
  }
107403
107501
  },
107404
107502
  bulkActions: {
107405
- apply: "Apply",
107406
- bulkEdit: "Bulk Edit",
107503
+ apply: "S\xF8k",
107504
+ bulkEdit: "Masseendring",
107407
107505
  cancel: "Avbryt",
107408
- editValues: "Edit Values",
107409
- error: "Sorry, the items couldn't be updated. Try again.",
107410
- placeholderForField: "Enter %{fieldName}",
107411
- selection: "%{count} %{number} selected",
107506
+ editValues: "Rediger verdier",
107507
+ error: "Beklager, elementene kunne ikke oppdateres. Pr\xF8v igjen.",
107508
+ placeholderForField: "Skriv inn %{fieldName}",
107509
+ selection: "%{count} %{number} valgt",
107412
107510
  selection_count: {
107413
- zero: "%{count} items selected",
107414
- one: "%{count} item selected",
107415
- other: "%{count} items selected"
107511
+ zero: "%{count} elementer valgt",
107512
+ one: "%{count} element valgt",
107513
+ other: "%{count} elementer valgt"
107416
107514
  },
107417
- success: "The items were successfully updated.",
107418
- one: "item",
107419
- many: "Enheter"
107515
+ success: "Elementene ble oppdatert.",
107516
+ one: "element",
107517
+ many: "gjenstander"
107420
107518
  },
107421
- exporting: "Exporting...",
107519
+ exporting: "Eksporterer...",
107422
107520
  filters: {
107423
107521
  filters: "Filtre",
107424
107522
  allFilters: "Alle filtre",
107425
107523
  moreFilters: "More Filters",
107426
107524
  clearAllFilters: "Fjern alle filtre",
107427
- close: "Close",
107525
+ close: "Lukk",
107428
107526
  removeFilterToken: "Fjern %{name}",
107429
107527
  locationFilter: {
107430
107528
  selectAll: "Velg alle",
107431
- includeSublocations: "Include sublocations",
107432
- searchLocations: "Search locations",
107433
- locations: "Locations"
107529
+ includeSublocations: "Inkluder underlokasjoner",
107530
+ searchLocations: "S\xF8k etter steder",
107531
+ locations: "Steder"
107434
107532
  },
107435
107533
  numberFilter: {
107436
107534
  labels: {
107437
- and: "OG",
107438
- input_placeholder: "Enter Value",
107439
- placeholder: "Select an item"
107535
+ and: "og",
107536
+ input_placeholder: "Angi verdi",
107537
+ placeholder: "Velg et element"
107440
107538
  },
107441
107539
  options: {
107442
- any_value: "Any Value",
107443
- is_between: "Is Between",
107444
- is_equal_to: "Is Equal To",
107445
- greater_than: "Is Greater Than",
107446
- greater_than_equal_to: "Is Greater Than or Equal To",
107447
- less_than: "Is Less Than",
107448
- less_than_equal_to: "Is Less Than or Equal To",
107449
- no_value: "No Value"
107540
+ any_value: "Enhver verdi",
107541
+ is_between: "Er mellom",
107542
+ is_equal_to: "Er lik",
107543
+ greater_than: "Er st\xF8rre enn",
107544
+ greater_than_equal_to: "Er st\xF8rre enn eller lik",
107545
+ less_than: "Er mindre enn",
107546
+ less_than_equal_to: "Er mindre enn eller lik",
107547
+ no_value: "Ingen verdi"
107450
107548
  }
107451
107549
  },
107452
107550
  singleSelectFilter: {
107453
- placeholder: "Select a Value"
107551
+ placeholder: "Velg en verdi"
107454
107552
  },
107455
107553
  multiSelectQuickFilter: {
107456
- ariaLabel: "Quick filter: Select multiple options"
107554
+ ariaLabel: "Hurtigfilter: Velg flere alternativer"
107457
107555
  },
107458
107556
  singleSelectQuickFilter: {
107459
- ariaLabel: "Quick filter: Select an option"
107557
+ ariaLabel: "Hurtigfilter: Velg et alternativ"
107460
107558
  }
107461
107559
  },
107462
107560
  loading: {
107463
- initial: "Information loading.",
107464
- secondary: "Information loading, thanks for your patience."
107561
+ initial: "Laster inn informasjon.",
107562
+ secondary: "Informasjon lastes, takk for t\xE5lmodigheten."
107465
107563
  },
107466
107564
  menuOptions: {
107467
107565
  ariaMenuColumn: "Trykk p\xE5 Alt/Option og pil ned for \xE5 \xE5pne kolonnemenyen.",
107468
107566
  sortMenuItem: {
107469
- label: "Sort By This Column",
107470
- sortAscItem: "Sort Column Ascending",
107471
- sortDescItem: "Sort Column Descending",
107472
- sortResetItem: "Column Not Sorted",
107473
- sortAscending: "sorted ascending",
107474
- sortDescending: "sorted descending",
107475
- sortCleared: "Sorting cleared"
107476
- },
107477
- expandAllGroups: "Expand All Groups",
107478
- collapseAllGroups: "Collapse All Groups",
107479
- pinColumn: "Pin Column",
107480
- pinLeft: "Pin Left",
107481
- pinRight: "Pin Right",
107482
- noPin: "No Pin",
107483
- autoSizeThisColumn: "Autosize This Column",
107484
- autoSizeAllColumns: "Autosize All Columns",
107485
- hideColumn: "Hide Column",
107567
+ label: "Sorter etter denne kolonnen",
107568
+ sortAscItem: "Sorter kolonne stigende",
107569
+ sortDescItem: "Sorter kolonne synkende",
107570
+ sortResetItem: "Kolonne ikke sortert",
107571
+ sortAscending: "sortert stigende",
107572
+ sortDescending: "sortert synkende",
107573
+ sortCleared: "Sortering fjernet"
107574
+ },
107575
+ expandAllGroups: "Utvid alle grupper",
107576
+ collapseAllGroups: "Skjul alle grupper",
107577
+ pinColumn: "Fest kolonne",
107578
+ pinLeft: "Fest til venstre",
107579
+ pinRight: "Fest til h\xF8yre",
107580
+ noPin: "Ingen PIN",
107581
+ autoSizeThisColumn: "Tilpass kolonnebredden automatisk",
107582
+ autoSizeAllColumns: "Tilpass alle kolonner automatisk",
107583
+ hideColumn: "Skjul kolonne",
107486
107584
  resetColumns: "Tilbakestill kolonner",
107487
- unGroupBy: "Un-Group by {{label}}",
107488
- groupBy: "Group by {{label}}"
107585
+ unGroupBy: "Fjern gruppering etter {{label}}",
107586
+ groupBy: "Grupper etter {{label}}"
107489
107587
  },
107490
- grandTotals: "Grand Totals",
107588
+ grandTotals: "Totale summer",
107491
107589
  search: "S\xF8k",
107492
- subtotals: "Subtotals",
107590
+ subtotals: "Delsummer",
107493
107591
  tableSettings: {
107494
- configureColumns: "Configure Columns",
107495
- resetToDefault: "Show All",
107496
- rowHeight: "Row Height",
107497
- small: "Small",
107498
- medium: "Medium",
107499
- large: "Large",
107500
- tableSettings: "Table Settings",
107501
- groupBy: "Group by:",
107592
+ configureColumns: "Konfigurer kolonner",
107593
+ resetToDefault: "Vis alle",
107594
+ rowHeight: "Radh\xF8yde",
107595
+ small: "Liten",
107596
+ medium: "Middels",
107597
+ large: "Stor",
107598
+ tableSettings: "Borddekking",
107599
+ groupBy: "Grupper etter:",
107502
107600
  reset: "Tilbakestill",
107503
- selectColumnGroup: "Select a column to group",
107504
- configure: "Configure"
107601
+ selectColumnGroup: "Velg en kolonne \xE5 gruppere",
107602
+ configure: "Konfigurer"
107505
107603
  },
107506
107604
  rowGroupToggle: {
107507
- expandTierOne: "Open first groups in the table.",
107508
- expandAll: "Open all groups in the table.",
107509
- collapseAll: "Close all groups in the table."
107605
+ expandTierOne: "\xC5pne de f\xF8rste gruppene i tabellen.",
107606
+ expandAll: "\xC5pne alle grupper i tabellen.",
107607
+ collapseAll: "Lukk alle grupper i tabellen."
107510
107608
  },
107511
107609
  columnGroupToggle: {
107512
- collapse: "Collapse column group",
107513
- expand: "Expand column group"
107610
+ collapse: "Skjul kolonnegruppe",
107611
+ expand: "Utvid kolonnegruppe"
107514
107612
  },
107515
107613
  cells: {
107516
107614
  textCell: {
107517
- placeholder: "Enter text"
107615
+ placeholder: "Skriv inn tekst"
107518
107616
  },
107519
107617
  currencyCell: {
107520
- placeholder: "Enter currency"
107618
+ placeholder: "Angi valuta"
107521
107619
  },
107522
107620
  linkCell: {
107523
107621
  externalLabel: "\xC5pne ekstern kobling"
107524
107622
  },
107525
107623
  numberCell: {
107526
- placeholder: "Enter number"
107624
+ placeholder: "Skriv inn nummer"
107527
107625
  },
107528
107626
  percentCell: {
107529
- placeholder: "Enter %"
107627
+ placeholder: "Skriv inn %"
107530
107628
  },
107531
107629
  pillCell: {
107532
- placeholder: "Select {{label}}"
107630
+ placeholder: "Velg {{label}}"
107533
107631
  },
107534
107632
  selectCell: {
107535
- placeholder: "Select {{label}}"
107633
+ placeholder: "Velg {{label}}"
107536
107634
  },
107537
107635
  multiSelectCell: {
107538
- placeholder: "Select Values"
107636
+ placeholder: "Velg verdier"
107539
107637
  },
107540
107638
  booleanCell: {
107541
107639
  options: {
@@ -107546,16 +107644,16 @@ var nb_NO_default = {
107546
107644
  },
107547
107645
  filterRenders: {
107548
107646
  dateFilter: {
107549
- single: "Single",
107550
- range: "Range"
107647
+ single: "Enslig",
107648
+ range: "Rekkevidde"
107551
107649
  }
107552
107650
  },
107553
107651
  groupCell: {
107554
- expand: "Expand group",
107555
- collapse: "Collapse group"
107652
+ expand: "Utvid gruppe",
107653
+ collapse: "Skjul gruppe"
107556
107654
  },
107557
107655
  rowCheckbox: {
107558
- ariaLabel: "Select Row"
107656
+ ariaLabel: "Velg rad"
107559
107657
  }
107560
107658
  }
107561
107659
  };
@@ -107984,7 +108082,7 @@ var pt_BR_default = {
107984
108082
  options: {
107985
108083
  any_value: "Qualquer Valor",
107986
108084
  is_between: "Est\xE1 entre",
107987
- is_equal_to: "\xC9 igual a",
108085
+ is_equal_to: "\xC9 Igual a",
107988
108086
  greater_than: "\xC9 Maior Que",
107989
108087
  greater_than_equal_to: "\xC9 Maior Que ou Igual a",
107990
108088
  less_than: "\xC9 Menor Que",
@@ -108116,8 +108214,8 @@ var pt_PT_default = {
108116
108214
  description: "Assim que a sua equipa criar estes itens, poder\xE1 aceder aos mesmos aqui. ",
108117
108215
  title: "N\xE3o h\xE1 itens para apresentar neste momento",
108118
108216
  itemsTitle: "N\xE3o h\xE1 %{itemsLabel} para apresentar neste momento",
108119
- tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado quando adicionar informa\xE7\xF5es \xE0 tabela %{tableName}",
108120
- searchTooltip: "A pesquisa ser\xE1 ativada quando adicionar informa\xE7\xF5es a %{tableName}",
108217
+ tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado quando adicionar informa\xE7\xF5es a %{tableName}",
108218
+ searchTooltip: "A pesquisa ser\xE1 ativada quando adicionar informa\xE7\xF5es a: %{tableName}",
108121
108219
  featureFilter: "Filtro",
108122
108220
  featureQuickFilter: "Filtro r\xE1pido",
108123
108221
  featureGroupBy: "Agrupar por",
@@ -108218,8 +108316,8 @@ var pt_PT_default = {
108218
108316
  configureColumns: "Configurar colunas",
108219
108317
  resetToDefault: "Mostrar tudo",
108220
108318
  rowHeight: "Altura da linha",
108221
- small: "Pequeno",
108222
- medium: "M\xE9dio",
108319
+ small: "Pequena",
108320
+ medium: "M\xE9dia",
108223
108321
  large: "Grande",
108224
108322
  tableSettings: "Defini\xE7\xF5es de tabela",
108225
108323
  groupBy: "Agrupar por:",
@@ -110166,11 +110264,16 @@ function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResp
110166
110264
  };
110167
110265
  }
110168
110266
  var minimumColumnWidth = 140;
110267
+ function resolveGroupIncludeFooter(props, onSSDR) {
110268
+ if (props.enableGroupHeaderEdit) return false;
110269
+ if (!onSSDR && props.groupIncludeFooter === void 0) return true;
110270
+ return props.groupIncludeFooter;
110271
+ }
110169
110272
  function useComputeAgGridProps(props) {
110170
110273
  const internalTableContext = useInternalTableContext();
110171
110274
  const onSSDR = internalTableContext.onServerSideDataRequest;
110172
110275
  return {
110173
- groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
110276
+ groupIncludeFooter: resolveGroupIncludeFooter(props, !!onSSDR),
110174
110277
  rowDragManaged: onSSDR ? false : props.rowDragManaged ?? true,
110175
110278
  rowModelType: onSSDR ? "serverSide" : void 0,
110176
110279
  groupSelectsChildren: (
@@ -110246,11 +110349,11 @@ var Table = (props) => {
110246
110349
  () => {
110247
110350
  var _a2;
110248
110351
  return (_a2 = internalTableContext.columnDefinitions) == null ? void 0 : _a2.map((colDef) => {
110249
- const newColDef = transformToColDef(
110250
- colDef,
110251
- internalTableContext.enableGroupEditAndValidation,
110252
- internalTableContext.enableDynamicRowHeight
110253
- );
110352
+ const newColDef = transformToColDef(colDef, {
110353
+ enableGroupEditAndValidation: internalTableContext.enableGroupEditAndValidation,
110354
+ enableDynamicRowHeight: internalTableContext.enableDynamicRowHeight,
110355
+ enableGroupHeaderEdit: props.enableGroupHeaderEdit
110356
+ });
110254
110357
  return {
110255
110358
  ...newColDef,
110256
110359
  editable: overrideEditable(colDef.editable)
@@ -110552,8 +110655,10 @@ var Table = (props) => {
110552
110655
  const decoratedAutoGroupColDef = React80__default.default.useMemo(
110553
110656
  () => getDecoratedAutoGroupColDef(
110554
110657
  props == null ? void 0 : props.autoGroupColumnDefinition,
110555
- internalTableContext.enableGroupEditAndValidation,
110556
- internalTableContext.enableDynamicRowHeight,
110658
+ {
110659
+ enableGroupEditAndValidation: internalTableContext.enableGroupEditAndValidation,
110660
+ enableDynamicRowHeight: internalTableContext.enableDynamicRowHeight
110661
+ },
110557
110662
  isRowSelectable,
110558
110663
  props.siblingGroupsRowSelectionDisabled,
110559
110664
  props.groupsAlwaysExpanded ?? false,
@@ -112191,6 +112296,21 @@ var LocationQuickFilterRenderer_default = LocationQuickFilterRenderer;
112191
112296
  var StyledFilterPresetPopoverContent = styled4__default.default(coreReact.Popover.Content)`
112192
112297
  padding: ${coreReact.spacing.sm}px ${coreReact.spacing.lg}px;
112193
112298
  `;
112299
+ var StyledClearButton = styled4__default.default(coreReact.Button)`
112300
+ position: absolute;
112301
+ right: ${coreReact.spacing.md + coreReact.spacing.lg}px;
112302
+ top: calc(36px / 2);
112303
+ transform: translateY(-50%);
112304
+ color: ${coreReact.colors.blue45};
112305
+ &:hover,
112306
+ &:focus {
112307
+ color: ${coreReact.colors.blue45};
112308
+ background: ${coreReact.colors.white};
112309
+ }
112310
+ `;
112311
+ var StyledTriggerContainerWrapper = styled4__default.default.div`
112312
+ position: relative;
112313
+ `;
112194
112314
  var getValueLabel = (isValueEmpty, value, placeholder, filterName) => {
112195
112315
  const prefixLabel = isValueEmpty ? placeholder || filterName : filterName;
112196
112316
  const valueLabel = value ? `${prefixLabel ? ": " : ""}${value}` : "";
@@ -112212,7 +112332,7 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112212
112332
  const ctx = coreReact.UNSAFE_useSuperSelectContext();
112213
112333
  const I18n = coreReact.useI18nContext();
112214
112334
  return /* @__PURE__ */ React80__default.default.createElement(
112215
- coreReact.Button,
112335
+ StyledClearButton,
112216
112336
  {
112217
112337
  ...ctx.props.clear(),
112218
112338
  "aria-label": I18n.t("dataTable.filters.removeFilterToken", {
@@ -112237,6 +112357,11 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112237
112357
  filterName
112238
112358
  )));
112239
112359
  }),
112360
+ TriggerContainerWrapper: React80__default.default.forwardRef(
112361
+ (props, ref) => {
112362
+ return /* @__PURE__ */ React80__default.default.createElement(StyledTriggerContainerWrapper, { ref, ...props });
112363
+ }
112364
+ ),
112240
112365
  TriggerContainer: React80__default.default.forwardRef(
112241
112366
  (props, ref) => {
112242
112367
  const ctx = coreReact.UNSAFE_useSuperSelectContext();
@@ -112250,11 +112375,31 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112250
112375
  }
112251
112376
  );
112252
112377
  }
112378
+ const {
112379
+ "aria-activedescendant": ariaActivedescendant,
112380
+ "aria-controls": ariaControls,
112381
+ "aria-expanded": ariaExpanded,
112382
+ "aria-haspopup": ariaHaspopup,
112383
+ "aria-label": ariaLabel,
112384
+ "aria-labelledby": ariaLabelledby,
112385
+ role,
112386
+ tabIndex
112387
+ } = ctx.props.multiInput();
112388
+ const a11yProps = {
112389
+ "aria-activedescendant": ariaActivedescendant,
112390
+ "aria-controls": ariaControls,
112391
+ "aria-expanded": ariaExpanded,
112392
+ "aria-haspopup": ariaHaspopup,
112393
+ "aria-label": ariaLabel,
112394
+ "aria-labelledby": ariaLabelledby,
112395
+ role,
112396
+ tabIndex
112397
+ };
112253
112398
  return /* @__PURE__ */ React80__default.default.createElement(
112254
112399
  coreReact.Popover,
112255
112400
  {
112256
112401
  placement: "top",
112257
- trigger: ctx.state.value.length > 1 ? "hover" : "none",
112402
+ trigger: ctx.state.value.length > 1 ? ["hover", "focus"] : "none",
112258
112403
  overlay: /* @__PURE__ */ React80__default.default.createElement(StyledFilterPresetPopoverContent, null, /* @__PURE__ */ React80__default.default.createElement(coreReact.Typography, null, ctx.state.value.map((v) => {
112259
112404
  const option = ctx.state.options.find(
112260
112405
  (option2) => ctx.option.value(option2) === v
@@ -112267,6 +112412,7 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112267
112412
  {
112268
112413
  $block: ctx.config.block,
112269
112414
  ...props,
112415
+ ...a11yProps,
112270
112416
  ref
112271
112417
  }
112272
112418
  )
@@ -113112,6 +113258,7 @@ var ClientSideSearch = ({
113112
113258
  const { tableRef } = useInternalTableContext();
113113
113259
  const hasNoContent = useTableHasNoContent();
113114
113260
  const I18n = coreReact.useI18nContext();
113261
+ const resolvedPlaceholder = placeholder || I18n.t("dataTable.search");
113115
113262
  const debouncedSetSearchValue = React80__default.default.useCallback(
113116
113263
  debounce5__default.default((value) => {
113117
113264
  var _a2;
@@ -113140,7 +113287,8 @@ var ClientSideSearch = ({
113140
113287
  "search--empty": !internalValue.length
113141
113288
  }),
113142
113289
  onChange,
113143
- placeholder: placeholder || I18n.t("dataTable.search")
113290
+ placeholder: resolvedPlaceholder,
113291
+ "aria-label": resolvedPlaceholder
113144
113292
  }
113145
113293
  ));
113146
113294
  };