@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.
@@ -54325,7 +54325,7 @@ function ServerSideNumberFilterRenderer({
54325
54325
  },
54326
54326
  {
54327
54327
  id: "isEqual",
54328
- label: I18n.t("options.isEqual", {
54328
+ label: I18n.t("options.is_equal_to", {
54329
54329
  defaultValue: "Is Equal To",
54330
54330
  scope: "dataTable.filters.numberFilter"
54331
54331
  })
@@ -54823,26 +54823,19 @@ function serializeNode(node) {
54823
54823
  rowPinned: node.rowPinned
54824
54824
  };
54825
54825
  }
54826
- function transformToColDef(colDefinition, enableGroupEditAndValidation, enableDynamicRowHeight) {
54826
+ function transformToColDef(colDefinition, tableOptions) {
54827
54827
  if (isNestedColumnDefinition(colDefinition)) {
54828
54828
  return {
54829
54829
  ...colDefinition,
54830
54830
  children: colDefinition.children.map(
54831
- (childColDefinition) => transformColumnDefinitionToColDef(
54832
- childColDefinition,
54833
- enableGroupEditAndValidation,
54834
- enableDynamicRowHeight
54835
- )
54831
+ (childColDefinition) => transformColumnDefinitionToColDef(childColDefinition, tableOptions)
54836
54832
  )
54837
54833
  };
54838
54834
  }
54839
- return transformColumnDefinitionToColDef(
54840
- colDefinition,
54841
- enableGroupEditAndValidation,
54842
- enableDynamicRowHeight
54843
- );
54835
+ return transformColumnDefinitionToColDef(colDefinition, tableOptions);
54844
54836
  }
54845
- function transformColumnDefinitionToColDef(dataTableColumnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight) {
54837
+ function transformColumnDefinitionToColDef(dataTableColumnDefinition, tableOptions) {
54838
+ const { enableGroupEditAndValidation, enableDynamicRowHeight } = tableOptions;
54846
54839
  const {
54847
54840
  aggFunc,
54848
54841
  bulkEditable,
@@ -54885,7 +54878,8 @@ function transformColumnDefinitionToColDef(dataTableColumnDefinition, enableGrou
54885
54878
  };
54886
54879
  const cellClassRules = {
54887
54880
  "invalid-cell": function isValid(params) {
54888
- const shouldValidate = !params.node.group && params.data && !params.data.isAggData || enableGroupEditAndValidation && (params.node.footer || params.node.group && !params.node.expanded);
54881
+ const shouldValidateGroupHeader = tableOptions.enableGroupHeaderEdit && params.node.group;
54882
+ const shouldValidate = !params.node.group && params.data && !params.data.isAggData || enableGroupEditAndValidation && (params.node.footer || params.node.group && !params.node.expanded) || shouldValidateGroupHeader;
54889
54883
  return (shouldValidate && valueValidator && !valueValidator({
54890
54884
  columnDefinition: transformToColumnDefinition(params.colDef),
54891
54885
  data: params.data,
@@ -55228,12 +55222,8 @@ function addAutoGroupParams(columnDefinition, isRowSelectable, siblingGroupsRowS
55228
55222
  }
55229
55223
  };
55230
55224
  }
55231
- function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight, isRowSelectable, siblingGroupsRowSelectionDisabled, groupsAlwaysExpanded, isDetailTable) {
55232
- const colDef = columnDefinition ? transformToColDef(
55233
- columnDefinition,
55234
- enableGroupEditAndValidation,
55235
- enableDynamicRowHeight
55236
- ) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55225
+ function getDecoratedAutoGroupColDef(columnDefinition, tableOptions, isRowSelectable, siblingGroupsRowSelectionDisabled, groupsAlwaysExpanded, isDetailTable) {
55226
+ const colDef = columnDefinition ? transformToColDef(columnDefinition, tableOptions) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55237
55227
  return addAutoGroupParams(
55238
55228
  colDef,
55239
55229
  isRowSelectable,
@@ -55244,12 +55234,12 @@ function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidat
55244
55234
  }
55245
55235
 
55246
55236
  // src/CellRenderers/AutoGroupCell.scss
55247
- var css5 = `._autoGroupCell_1qx8z_1 {
55237
+ var css5 = `._autoGroupCell_1h6pf_1 {
55248
55238
  height: 100%;
55249
55239
  width: 100%;
55250
55240
  }
55251
55241
 
55252
- ._indent_1qx8z_6 {
55242
+ ._indent_1h6pf_6 {
55253
55243
  border-right: 1px solid #d6dadc;
55254
55244
  background: #f4f5f6;
55255
55245
  position: absolute;
@@ -55257,45 +55247,69 @@ var css5 = `._autoGroupCell_1qx8z_1 {
55257
55247
  bottom: -1px;
55258
55248
  width: 12px;
55259
55249
  }
55260
- ._indent_1qx8z_6._innermostLastIndent_1qx8z_14 {
55250
+ ._indent_1h6pf_6._innermostLastIndent_1h6pf_14 {
55261
55251
  bottom: 0px;
55262
55252
  }
55263
55253
 
55264
- ._expandableCaret_1qx8z_18 {
55254
+ ._expandableCaret_1h6pf_18 {
55265
55255
  margin-left: -8px;
55266
55256
  margin-right: 4px;
55267
55257
  width: 24px;
55268
55258
  flex-shrink: 0;
55269
55259
  }
55270
55260
 
55271
- ._expandCaret_1qx8z_25 {
55261
+ ._expandableCaretButton_1h6pf_25 {
55262
+ display: inline-flex;
55263
+ align-items: center;
55264
+ justify-content: center;
55265
+ width: 24px;
55266
+ height: 24px;
55267
+ padding: 0;
55268
+ margin-left: -8px;
55269
+ margin-right: 4px;
55270
+ border: none;
55271
+ border-radius: 2px;
55272
+ background: transparent;
55273
+ cursor: pointer;
55274
+ flex-shrink: 0;
55275
+ }
55276
+ ._expandableCaretButton_1h6pf_25:focus-visible {
55277
+ outline: 2px solid #2066df;
55278
+ outline-offset: 1px;
55279
+ }
55280
+ ._expandableCaretButton_1h6pf_25:hover {
55281
+ background-color: rgba(0, 0, 0, 0.06);
55282
+ }
55283
+
55284
+ ._expandCaret_1h6pf_48 {
55272
55285
  color: #2066df;
55273
55286
  cursor: pointer;
55274
55287
  }
55275
55288
 
55276
- ._collapseCaret_1qx8z_30 {
55289
+ ._collapseCaret_1h6pf_53 {
55277
55290
  color: #75838a;
55278
55291
  cursor: pointer;
55279
55292
  }
55280
55293
 
55281
- ._value_1qx8z_35 {
55294
+ ._value_1h6pf_58 {
55282
55295
  overflow: hidden;
55283
55296
  text-overflow: ellipsis;
55284
55297
  font-size: 12px;
55285
55298
  }
55286
- ._value_1qx8z_35._footer_1qx8z_40 {
55299
+ ._value_1h6pf_58._footer_1h6pf_63 {
55287
55300
  color: #6a767c;
55288
55301
  }`;
55289
55302
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css5));
55290
55303
  var AutoGroupCell_default = {
55291
- "autoGroupCell": "_autoGroupCell_1qx8z_1",
55292
- "indent": "_indent_1qx8z_6",
55293
- "innermostLastIndent": "_innermostLastIndent_1qx8z_14",
55294
- "expandableCaret": "_expandableCaret_1qx8z_18",
55295
- "expandCaret": "_expandCaret_1qx8z_25",
55296
- "collapseCaret": "_collapseCaret_1qx8z_30",
55297
- "value": "_value_1qx8z_35",
55298
- "footer": "_footer_1qx8z_40"
55304
+ "autoGroupCell": "_autoGroupCell_1h6pf_1",
55305
+ "indent": "_indent_1h6pf_6",
55306
+ "innermostLastIndent": "_innermostLastIndent_1h6pf_14",
55307
+ "expandableCaret": "_expandableCaret_1h6pf_18",
55308
+ "expandableCaretButton": "_expandableCaretButton_1h6pf_25",
55309
+ "expandCaret": "_expandCaret_1h6pf_48",
55310
+ "collapseCaret": "_collapseCaret_1h6pf_53",
55311
+ "value": "_value_1h6pf_58",
55312
+ "footer": "_footer_1h6pf_63"
55299
55313
  };
55300
55314
 
55301
55315
  // src/utils/rowSelectionHelpers.ts
@@ -55560,6 +55574,7 @@ var LevelIndents = (props) => {
55560
55574
  };
55561
55575
  function GroupCaret(props) {
55562
55576
  const mounted = React80.useRef(false);
55577
+ const buttonRef = React80.useRef(null);
55563
55578
  const [expanded, setExpanded] = useState(props.node.expanded);
55564
55579
  const ExpandableCaret = expanded ? CaretDown : CaretRight;
55565
55580
  const I18n = useI18nContext();
@@ -55570,6 +55585,16 @@ function GroupCaret(props) {
55570
55585
  }, 0);
55571
55586
  }
55572
55587
  }
55588
+ const handleToggle = () => {
55589
+ props.api.setRowNodeExpanded(props.node, !expanded);
55590
+ };
55591
+ const handleKeyDown = (event) => {
55592
+ if (event.key === "Enter" || event.key === " ") {
55593
+ event.preventDefault();
55594
+ event.stopPropagation();
55595
+ handleToggle();
55596
+ }
55597
+ };
55573
55598
  useEffect(() => {
55574
55599
  mounted.current = true;
55575
55600
  props.api.addEventListener("rowGroupOpened", handleRowGroupToggle);
@@ -55582,20 +55607,47 @@ function GroupCaret(props) {
55582
55607
  );
55583
55608
  };
55584
55609
  }, []);
55610
+ useEffect(() => {
55611
+ var _a;
55612
+ if (!props.node.isExpandable()) return;
55613
+ const cell2 = (_a = buttonRef.current) == null ? void 0 : _a.closest(".ag-cell");
55614
+ if (!cell2) return;
55615
+ const handleCellKeyDown = (event) => {
55616
+ var _a2;
55617
+ if (event.key !== "Enter" && event.key !== " ") return;
55618
+ if (!event.isTrusted) return;
55619
+ const target = event.target;
55620
+ if (target.closest("button") || target.closest("input")) return;
55621
+ event.preventDefault();
55622
+ event.stopImmediatePropagation();
55623
+ (_a2 = buttonRef.current) == null ? void 0 : _a2.click();
55624
+ };
55625
+ cell2.addEventListener("keydown", handleCellKeyDown, { capture: true });
55626
+ return () => {
55627
+ cell2.removeEventListener("keydown", handleCellKeyDown, { capture: true });
55628
+ };
55629
+ }, []);
55630
+ if (!props.node.isExpandable()) {
55631
+ return /* @__PURE__ */ React80.createElement("div", { className: AutoGroupCell_default.expandableCaret });
55632
+ }
55585
55633
  return /* @__PURE__ */ React80.createElement(
55586
- Box,
55634
+ "button",
55587
55635
  {
55636
+ type: "button",
55637
+ ref: buttonRef,
55638
+ "aria-expanded": expanded,
55588
55639
  "aria-label": I18n.t(
55589
55640
  `dataTable.groupCell.${expanded ? "collapse" : "expand"}`
55590
55641
  ),
55591
- className: AutoGroupCell_default.expandableCaret,
55592
- role: "button"
55642
+ className: AutoGroupCell_default.expandableCaretButton,
55643
+ onClick: handleToggle,
55644
+ onKeyDown: handleKeyDown,
55645
+ "data-qa": "group-expand-collapse"
55593
55646
  },
55594
- props.node.isExpandable() && /* @__PURE__ */ React80.createElement(
55647
+ /* @__PURE__ */ React80.createElement(
55595
55648
  ExpandableCaret,
55596
55649
  {
55597
- className: expanded ? AutoGroupCell_default.collapseCaret : AutoGroupCell_default.expandCaret,
55598
- onClick: () => props.api.setRowNodeExpanded(props.node, !expanded)
55650
+ className: expanded ? AutoGroupCell_default.collapseCaret : AutoGroupCell_default.expandCaret
55599
55651
  }
55600
55652
  )
55601
55653
  );
@@ -56465,10 +56517,15 @@ var css7 = `.data-table-container .ag-header-cell .data-table-header-menu {
56465
56517
  align-items: center;
56466
56518
  justify-content: center;
56467
56519
  background-color: #e3e6e8;
56520
+ border: none;
56468
56521
  border-radius: 2px;
56469
56522
  cursor: pointer;
56470
56523
  margin-right: 8px;
56471
56524
  }
56525
+ .data-table-container .ag-header-cell .expand-button:focus-visible {
56526
+ outline: 2px solid #2066df;
56527
+ outline-offset: 1px;
56528
+ }
56472
56529
  .data-table-container .ag-header-group-cell-with-group .ag-header-cell-comp-wrapper {
56473
56530
  width: 100%;
56474
56531
  overflow: hidden;
@@ -56481,10 +56538,15 @@ var css7 = `.data-table-container .ag-header-cell .data-table-header-menu {
56481
56538
  align-items: center;
56482
56539
  justify-content: center;
56483
56540
  background-color: #e3e6e8;
56541
+ border: none;
56484
56542
  border-radius: 2px;
56485
56543
  cursor: pointer;
56486
56544
  margin-left: auto;
56487
56545
  }
56546
+ .data-table-container .ag-header-group-cell-with-group .expand-button:focus-visible {
56547
+ outline: 2px solid #2066df;
56548
+ outline-offset: 1px;
56549
+ }
56488
56550
  .data-table-container .auto-column-expand-tooltip-content {
56489
56551
  width: 96px;
56490
56552
  }
@@ -56634,6 +56696,7 @@ var GenericHeaderRenderer = (props) => {
56634
56696
  I18n
56635
56697
  );
56636
56698
  const headerCellRef = useRef(null);
56699
+ const expandButtonRef = useRef(null);
56637
56700
  const menuButtonRef = useRef(null);
56638
56701
  const headerCheckboxSelection = colDef.headerCheckboxSelection;
56639
56702
  const headerCheckboxSelectionEnabled = typeof headerCheckboxSelection === "function" ? headerCheckboxSelection({
@@ -56786,6 +56849,30 @@ var GenericHeaderRenderer = (props) => {
56786
56849
  );
56787
56850
  }
56788
56851
  React80.useEffect(updateExpandedState);
56852
+ React80.useEffect(() => {
56853
+ var _a2;
56854
+ if (!isExpandable) return;
56855
+ const headerCell = (_a2 = headerCellRef.current) == null ? void 0 : _a2.closest(".ag-header-cell");
56856
+ if (!headerCell) return;
56857
+ const handleExpandKeyDown = (event) => {
56858
+ var _a3;
56859
+ if (event.key !== "Enter" && event.key !== " ") return;
56860
+ if (!event.isTrusted) return;
56861
+ const target = event.target;
56862
+ if (target.closest("button") || target.closest("input")) return;
56863
+ event.preventDefault();
56864
+ event.stopImmediatePropagation();
56865
+ (_a3 = expandButtonRef.current) == null ? void 0 : _a3.click();
56866
+ };
56867
+ headerCell.addEventListener("keydown", handleExpandKeyDown, {
56868
+ capture: true
56869
+ });
56870
+ return () => {
56871
+ headerCell.removeEventListener("keydown", handleExpandKeyDown, {
56872
+ capture: true
56873
+ });
56874
+ };
56875
+ }, [isExpandable]);
56789
56876
  const [expansionVariant, setExpansionVariant] = React80.useState("closed");
56790
56877
  React80.useEffect(() => {
56791
56878
  var _a2;
@@ -57070,12 +57157,21 @@ var GenericHeaderRenderer = (props) => {
57070
57157
  overlay: /* @__PURE__ */ React80.createElement(Tooltip.Content, { className: "auto-column-expand-tooltip-content" }, tooltipText[expansionVariant])
57071
57158
  },
57072
57159
  /* @__PURE__ */ React80.createElement(
57073
- "div",
57160
+ "button",
57074
57161
  {
57162
+ type: "button",
57163
+ ref: expandButtonRef,
57164
+ "aria-expanded": expansionVariant !== "closed",
57075
57165
  "aria-label": tooltipText[expansionVariant],
57076
57166
  className: "expand-button",
57077
57167
  onClick: onExpandToggle,
57078
- role: "button",
57168
+ onKeyDown: (e) => {
57169
+ if (e.key === "Enter" || e.key === " ") {
57170
+ e.preventDefault();
57171
+ e.stopPropagation();
57172
+ onExpandToggle(e);
57173
+ }
57174
+ },
57079
57175
  "data-qa": "expand-or-collapse-all-button"
57080
57176
  },
57081
57177
  /* @__PURE__ */ React80.createElement(ExpansionVariantIcon, { size: "sm" })
@@ -57877,6 +57973,7 @@ var ServerSideSearch = ({
57877
57973
  const { updateServerSideDataSource } = useInternalTableContext();
57878
57974
  const hasNoContent = useTableHasNoContent();
57879
57975
  const I18n = useI18nContext();
57976
+ const resolvedPlaceholder = placeholder || I18n.t("dataTable.search");
57880
57977
  const debouncedSetSearchValue = React80.useCallback(
57881
57978
  debounce5((value) => {
57882
57979
  updateServerSideDataSource({ search: value });
@@ -57901,7 +57998,8 @@ var ServerSideSearch = ({
57901
57998
  value: internalValue,
57902
57999
  className: cx17("search", { "search--empty": !internalValue.length }),
57903
58000
  onChange,
57904
- placeholder: placeholder || I18n.t("dataTable.search")
58001
+ placeholder: resolvedPlaceholder,
58002
+ "aria-label": resolvedPlaceholder
57905
58003
  }
57906
58004
  ));
57907
58005
  };
@@ -104669,11 +104767,10 @@ var ConfigurationColumns = React80.forwardRef(
104669
104767
  return columnDefs;
104670
104768
  }
104671
104769
  const columnDefinitionsMappedToDefs = columnDefinitions.map(
104672
- (colDef) => transformToColDef(
104673
- colDef,
104770
+ (colDef) => transformToColDef(colDef, {
104674
104771
  enableGroupEditAndValidation,
104675
104772
  enableDynamicRowHeight
104676
- )
104773
+ })
104677
104774
  );
104678
104775
  return toGroupedCols(columnDefinitionsMappedToDefs);
104679
104776
  });
@@ -104981,8 +105078,10 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
104981
105078
  alwaysAggregateAtRootLevel: !isServerSideRowModel,
104982
105079
  autoGroupColumnDef: getDecoratedAutoGroupColDef(
104983
105080
  detailRowConfig.autoGroupColumnDefinition,
104984
- enableGroupEditAndValidation,
104985
- enableDynamicRowHeight,
105081
+ {
105082
+ enableGroupEditAndValidation,
105083
+ enableDynamicRowHeight
105084
+ },
104986
105085
  isRowSelectable,
104987
105086
  false,
104988
105087
  detailRowConfig.groupsAlwaysExpanded ?? false,
@@ -104994,11 +105093,10 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
104994
105093
  },
104995
105094
  columnDefs: toGroupedCols(
104996
105095
  detailRowConfig.columnDefinitions.map(
104997
- (colDef) => transformToColDef(
104998
- colDef,
105096
+ (colDef) => transformToColDef(colDef, {
104999
105097
  enableGroupEditAndValidation,
105000
- colDef.autoHeight ?? enableDynamicRowHeight
105001
- )
105098
+ enableDynamicRowHeight: colDef.autoHeight ?? enableDynamicRowHeight
105099
+ })
105002
105100
  )
105003
105101
  ),
105004
105102
  groupsAlwaysExpanded: detailRowConfig.groupsAlwaysExpanded ?? false,
@@ -107371,158 +107469,158 @@ var nb_NO_default = {
107371
107469
  dataTable: {
107372
107470
  emptyState: {
107373
107471
  noFilteredResults: {
107374
- description: "Kontroller staving og filteralternativer, eller s\xF8k etter et annet n\xF8kkelord.",
107375
- title: "Ingen enheter samsvarer med s\xF8ket ditt",
107376
- itemsTitle: "No %{itemsLabel} Match Your Search"
107472
+ description: "Sjekk stavem\xE5ten og filteralternativene dine, eller s\xF8k etter et annet n\xF8kkelord.",
107473
+ title: "Ingen elementer samsvarer med s\xF8ket ditt",
107474
+ itemsTitle: "Ingen %{itemsLabel} samsvarer med s\xF8ket ditt"
107377
107475
  },
107378
107476
  noResults: {
107379
- description: "Once your team creates these items, you can access them here. ",
107380
- title: "Ingen enheter kan vises akkurat n\xE5",
107381
- itemsTitle: "There Are No %{itemsLabel} to Display Right Now",
107382
- tooltip: "The %{featureName} button will be enabled once you add information to the %{tableName}",
107383
- searchTooltip: "Search will be enabled once you add information to the %{tableName}",
107477
+ description: "N\xE5r teamet ditt har opprettet disse elementene, kan du f\xE5 tilgang til dem her. ",
107478
+ title: "Det er ingen elementer \xE5 vise akkurat n\xE5",
107479
+ itemsTitle: "Det er ingen %{itemsLabel} \xE5 vise akkurat n\xE5",
107480
+ tooltip: "%{featureName} -knappen vil bli aktivert n\xE5r du legger til informasjon i %{tableName}",
107481
+ searchTooltip: "S\xF8k vil bli aktivert n\xE5r du legger til informasjon i %{tableName}",
107384
107482
  featureFilter: "Filter",
107385
- featureQuickFilter: "Quick Filter",
107386
- featureGroupBy: "Group By",
107387
- featureConfigure: "Configure",
107388
- tableNameFallback: "table"
107483
+ featureQuickFilter: "Hurtigfilter",
107484
+ featureGroupBy: "Grupper etter",
107485
+ featureConfigure: "Konfigurer",
107486
+ tableNameFallback: "bord"
107389
107487
  }
107390
107488
  },
107391
107489
  bulkActions: {
107392
- apply: "Apply",
107393
- bulkEdit: "Bulk Edit",
107490
+ apply: "S\xF8k",
107491
+ bulkEdit: "Masseendring",
107394
107492
  cancel: "Avbryt",
107395
- editValues: "Edit Values",
107396
- error: "Sorry, the items couldn't be updated. Try again.",
107397
- placeholderForField: "Enter %{fieldName}",
107398
- selection: "%{count} %{number} selected",
107493
+ editValues: "Rediger verdier",
107494
+ error: "Beklager, elementene kunne ikke oppdateres. Pr\xF8v igjen.",
107495
+ placeholderForField: "Skriv inn %{fieldName}",
107496
+ selection: "%{count} %{number} valgt",
107399
107497
  selection_count: {
107400
- zero: "%{count} items selected",
107401
- one: "%{count} item selected",
107402
- other: "%{count} items selected"
107498
+ zero: "%{count} elementer valgt",
107499
+ one: "%{count} element valgt",
107500
+ other: "%{count} elementer valgt"
107403
107501
  },
107404
- success: "The items were successfully updated.",
107405
- one: "item",
107406
- many: "Enheter"
107502
+ success: "Elementene ble oppdatert.",
107503
+ one: "element",
107504
+ many: "gjenstander"
107407
107505
  },
107408
- exporting: "Exporting...",
107506
+ exporting: "Eksporterer...",
107409
107507
  filters: {
107410
107508
  filters: "Filtre",
107411
107509
  allFilters: "Alle filtre",
107412
107510
  moreFilters: "More Filters",
107413
107511
  clearAllFilters: "Fjern alle filtre",
107414
- close: "Close",
107512
+ close: "Lukk",
107415
107513
  removeFilterToken: "Fjern %{name}",
107416
107514
  locationFilter: {
107417
107515
  selectAll: "Velg alle",
107418
- includeSublocations: "Include sublocations",
107419
- searchLocations: "Search locations",
107420
- locations: "Locations"
107516
+ includeSublocations: "Inkluder underlokasjoner",
107517
+ searchLocations: "S\xF8k etter steder",
107518
+ locations: "Steder"
107421
107519
  },
107422
107520
  numberFilter: {
107423
107521
  labels: {
107424
- and: "OG",
107425
- input_placeholder: "Enter Value",
107426
- placeholder: "Select an item"
107522
+ and: "og",
107523
+ input_placeholder: "Angi verdi",
107524
+ placeholder: "Velg et element"
107427
107525
  },
107428
107526
  options: {
107429
- any_value: "Any Value",
107430
- is_between: "Is Between",
107431
- is_equal_to: "Is Equal To",
107432
- greater_than: "Is Greater Than",
107433
- greater_than_equal_to: "Is Greater Than or Equal To",
107434
- less_than: "Is Less Than",
107435
- less_than_equal_to: "Is Less Than or Equal To",
107436
- no_value: "No Value"
107527
+ any_value: "Enhver verdi",
107528
+ is_between: "Er mellom",
107529
+ is_equal_to: "Er lik",
107530
+ greater_than: "Er st\xF8rre enn",
107531
+ greater_than_equal_to: "Er st\xF8rre enn eller lik",
107532
+ less_than: "Er mindre enn",
107533
+ less_than_equal_to: "Er mindre enn eller lik",
107534
+ no_value: "Ingen verdi"
107437
107535
  }
107438
107536
  },
107439
107537
  singleSelectFilter: {
107440
- placeholder: "Select a Value"
107538
+ placeholder: "Velg en verdi"
107441
107539
  },
107442
107540
  multiSelectQuickFilter: {
107443
- ariaLabel: "Quick filter: Select multiple options"
107541
+ ariaLabel: "Hurtigfilter: Velg flere alternativer"
107444
107542
  },
107445
107543
  singleSelectQuickFilter: {
107446
- ariaLabel: "Quick filter: Select an option"
107544
+ ariaLabel: "Hurtigfilter: Velg et alternativ"
107447
107545
  }
107448
107546
  },
107449
107547
  loading: {
107450
- initial: "Information loading.",
107451
- secondary: "Information loading, thanks for your patience."
107548
+ initial: "Laster inn informasjon.",
107549
+ secondary: "Informasjon lastes, takk for t\xE5lmodigheten."
107452
107550
  },
107453
107551
  menuOptions: {
107454
107552
  ariaMenuColumn: "Trykk p\xE5 Alt/Option og pil ned for \xE5 \xE5pne kolonnemenyen.",
107455
107553
  sortMenuItem: {
107456
- label: "Sort By This Column",
107457
- sortAscItem: "Sort Column Ascending",
107458
- sortDescItem: "Sort Column Descending",
107459
- sortResetItem: "Column Not Sorted",
107460
- sortAscending: "sorted ascending",
107461
- sortDescending: "sorted descending",
107462
- sortCleared: "Sorting cleared"
107463
- },
107464
- expandAllGroups: "Expand All Groups",
107465
- collapseAllGroups: "Collapse All Groups",
107466
- pinColumn: "Pin Column",
107467
- pinLeft: "Pin Left",
107468
- pinRight: "Pin Right",
107469
- noPin: "No Pin",
107470
- autoSizeThisColumn: "Autosize This Column",
107471
- autoSizeAllColumns: "Autosize All Columns",
107472
- hideColumn: "Hide Column",
107554
+ label: "Sorter etter denne kolonnen",
107555
+ sortAscItem: "Sorter kolonne stigende",
107556
+ sortDescItem: "Sorter kolonne synkende",
107557
+ sortResetItem: "Kolonne ikke sortert",
107558
+ sortAscending: "sortert stigende",
107559
+ sortDescending: "sortert synkende",
107560
+ sortCleared: "Sortering fjernet"
107561
+ },
107562
+ expandAllGroups: "Utvid alle grupper",
107563
+ collapseAllGroups: "Skjul alle grupper",
107564
+ pinColumn: "Fest kolonne",
107565
+ pinLeft: "Fest til venstre",
107566
+ pinRight: "Fest til h\xF8yre",
107567
+ noPin: "Ingen PIN",
107568
+ autoSizeThisColumn: "Tilpass kolonnebredden automatisk",
107569
+ autoSizeAllColumns: "Tilpass alle kolonner automatisk",
107570
+ hideColumn: "Skjul kolonne",
107473
107571
  resetColumns: "Tilbakestill kolonner",
107474
- unGroupBy: "Un-Group by {{label}}",
107475
- groupBy: "Group by {{label}}"
107572
+ unGroupBy: "Fjern gruppering etter {{label}}",
107573
+ groupBy: "Grupper etter {{label}}"
107476
107574
  },
107477
- grandTotals: "Grand Totals",
107575
+ grandTotals: "Totale summer",
107478
107576
  search: "S\xF8k",
107479
- subtotals: "Subtotals",
107577
+ subtotals: "Delsummer",
107480
107578
  tableSettings: {
107481
- configureColumns: "Configure Columns",
107482
- resetToDefault: "Show All",
107483
- rowHeight: "Row Height",
107484
- small: "Small",
107485
- medium: "Medium",
107486
- large: "Large",
107487
- tableSettings: "Table Settings",
107488
- groupBy: "Group by:",
107579
+ configureColumns: "Konfigurer kolonner",
107580
+ resetToDefault: "Vis alle",
107581
+ rowHeight: "Radh\xF8yde",
107582
+ small: "Liten",
107583
+ medium: "Middels",
107584
+ large: "Stor",
107585
+ tableSettings: "Borddekking",
107586
+ groupBy: "Grupper etter:",
107489
107587
  reset: "Tilbakestill",
107490
- selectColumnGroup: "Select a column to group",
107491
- configure: "Configure"
107588
+ selectColumnGroup: "Velg en kolonne \xE5 gruppere",
107589
+ configure: "Konfigurer"
107492
107590
  },
107493
107591
  rowGroupToggle: {
107494
- expandTierOne: "Open first groups in the table.",
107495
- expandAll: "Open all groups in the table.",
107496
- collapseAll: "Close all groups in the table."
107592
+ expandTierOne: "\xC5pne de f\xF8rste gruppene i tabellen.",
107593
+ expandAll: "\xC5pne alle grupper i tabellen.",
107594
+ collapseAll: "Lukk alle grupper i tabellen."
107497
107595
  },
107498
107596
  columnGroupToggle: {
107499
- collapse: "Collapse column group",
107500
- expand: "Expand column group"
107597
+ collapse: "Skjul kolonnegruppe",
107598
+ expand: "Utvid kolonnegruppe"
107501
107599
  },
107502
107600
  cells: {
107503
107601
  textCell: {
107504
- placeholder: "Enter text"
107602
+ placeholder: "Skriv inn tekst"
107505
107603
  },
107506
107604
  currencyCell: {
107507
- placeholder: "Enter currency"
107605
+ placeholder: "Angi valuta"
107508
107606
  },
107509
107607
  linkCell: {
107510
107608
  externalLabel: "\xC5pne ekstern kobling"
107511
107609
  },
107512
107610
  numberCell: {
107513
- placeholder: "Enter number"
107611
+ placeholder: "Skriv inn nummer"
107514
107612
  },
107515
107613
  percentCell: {
107516
- placeholder: "Enter %"
107614
+ placeholder: "Skriv inn %"
107517
107615
  },
107518
107616
  pillCell: {
107519
- placeholder: "Select {{label}}"
107617
+ placeholder: "Velg {{label}}"
107520
107618
  },
107521
107619
  selectCell: {
107522
- placeholder: "Select {{label}}"
107620
+ placeholder: "Velg {{label}}"
107523
107621
  },
107524
107622
  multiSelectCell: {
107525
- placeholder: "Select Values"
107623
+ placeholder: "Velg verdier"
107526
107624
  },
107527
107625
  booleanCell: {
107528
107626
  options: {
@@ -107533,16 +107631,16 @@ var nb_NO_default = {
107533
107631
  },
107534
107632
  filterRenders: {
107535
107633
  dateFilter: {
107536
- single: "Single",
107537
- range: "Range"
107634
+ single: "Enslig",
107635
+ range: "Rekkevidde"
107538
107636
  }
107539
107637
  },
107540
107638
  groupCell: {
107541
- expand: "Expand group",
107542
- collapse: "Collapse group"
107639
+ expand: "Utvid gruppe",
107640
+ collapse: "Skjul gruppe"
107543
107641
  },
107544
107642
  rowCheckbox: {
107545
- ariaLabel: "Select Row"
107643
+ ariaLabel: "Velg rad"
107546
107644
  }
107547
107645
  }
107548
107646
  };
@@ -107971,7 +108069,7 @@ var pt_BR_default = {
107971
108069
  options: {
107972
108070
  any_value: "Qualquer Valor",
107973
108071
  is_between: "Est\xE1 entre",
107974
- is_equal_to: "\xC9 igual a",
108072
+ is_equal_to: "\xC9 Igual a",
107975
108073
  greater_than: "\xC9 Maior Que",
107976
108074
  greater_than_equal_to: "\xC9 Maior Que ou Igual a",
107977
108075
  less_than: "\xC9 Menor Que",
@@ -108103,8 +108201,8 @@ var pt_PT_default = {
108103
108201
  description: "Assim que a sua equipa criar estes itens, poder\xE1 aceder aos mesmos aqui. ",
108104
108202
  title: "N\xE3o h\xE1 itens para apresentar neste momento",
108105
108203
  itemsTitle: "N\xE3o h\xE1 %{itemsLabel} para apresentar neste momento",
108106
- tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado quando adicionar informa\xE7\xF5es \xE0 tabela %{tableName}",
108107
- searchTooltip: "A pesquisa ser\xE1 ativada quando adicionar informa\xE7\xF5es a %{tableName}",
108204
+ tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado quando adicionar informa\xE7\xF5es a %{tableName}",
108205
+ searchTooltip: "A pesquisa ser\xE1 ativada quando adicionar informa\xE7\xF5es a: %{tableName}",
108108
108206
  featureFilter: "Filtro",
108109
108207
  featureQuickFilter: "Filtro r\xE1pido",
108110
108208
  featureGroupBy: "Agrupar por",
@@ -108205,8 +108303,8 @@ var pt_PT_default = {
108205
108303
  configureColumns: "Configurar colunas",
108206
108304
  resetToDefault: "Mostrar tudo",
108207
108305
  rowHeight: "Altura da linha",
108208
- small: "Pequeno",
108209
- medium: "M\xE9dio",
108306
+ small: "Pequena",
108307
+ medium: "M\xE9dia",
108210
108308
  large: "Grande",
108211
108309
  tableSettings: "Defini\xE7\xF5es de tabela",
108212
108310
  groupBy: "Agrupar por:",
@@ -110153,11 +110251,16 @@ function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResp
110153
110251
  };
110154
110252
  }
110155
110253
  var minimumColumnWidth = 140;
110254
+ function resolveGroupIncludeFooter(props, onSSDR) {
110255
+ if (props.enableGroupHeaderEdit) return false;
110256
+ if (!onSSDR && props.groupIncludeFooter === void 0) return true;
110257
+ return props.groupIncludeFooter;
110258
+ }
110156
110259
  function useComputeAgGridProps(props) {
110157
110260
  const internalTableContext = useInternalTableContext();
110158
110261
  const onSSDR = internalTableContext.onServerSideDataRequest;
110159
110262
  return {
110160
- groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
110263
+ groupIncludeFooter: resolveGroupIncludeFooter(props, !!onSSDR),
110161
110264
  rowDragManaged: onSSDR ? false : props.rowDragManaged ?? true,
110162
110265
  rowModelType: onSSDR ? "serverSide" : void 0,
110163
110266
  groupSelectsChildren: (
@@ -110233,11 +110336,11 @@ var Table = (props) => {
110233
110336
  () => {
110234
110337
  var _a2;
110235
110338
  return (_a2 = internalTableContext.columnDefinitions) == null ? void 0 : _a2.map((colDef) => {
110236
- const newColDef = transformToColDef(
110237
- colDef,
110238
- internalTableContext.enableGroupEditAndValidation,
110239
- internalTableContext.enableDynamicRowHeight
110240
- );
110339
+ const newColDef = transformToColDef(colDef, {
110340
+ enableGroupEditAndValidation: internalTableContext.enableGroupEditAndValidation,
110341
+ enableDynamicRowHeight: internalTableContext.enableDynamicRowHeight,
110342
+ enableGroupHeaderEdit: props.enableGroupHeaderEdit
110343
+ });
110241
110344
  return {
110242
110345
  ...newColDef,
110243
110346
  editable: overrideEditable(colDef.editable)
@@ -110539,8 +110642,10 @@ var Table = (props) => {
110539
110642
  const decoratedAutoGroupColDef = React80.useMemo(
110540
110643
  () => getDecoratedAutoGroupColDef(
110541
110644
  props == null ? void 0 : props.autoGroupColumnDefinition,
110542
- internalTableContext.enableGroupEditAndValidation,
110543
- internalTableContext.enableDynamicRowHeight,
110645
+ {
110646
+ enableGroupEditAndValidation: internalTableContext.enableGroupEditAndValidation,
110647
+ enableDynamicRowHeight: internalTableContext.enableDynamicRowHeight
110648
+ },
110544
110649
  isRowSelectable,
110545
110650
  props.siblingGroupsRowSelectionDisabled,
110546
110651
  props.groupsAlwaysExpanded ?? false,
@@ -112178,6 +112283,21 @@ var LocationQuickFilterRenderer_default = LocationQuickFilterRenderer;
112178
112283
  var StyledFilterPresetPopoverContent = styled4(Popover.Content)`
112179
112284
  padding: ${spacing.sm}px ${spacing.lg}px;
112180
112285
  `;
112286
+ var StyledClearButton = styled4(Button)`
112287
+ position: absolute;
112288
+ right: ${spacing.md + spacing.lg}px;
112289
+ top: calc(36px / 2);
112290
+ transform: translateY(-50%);
112291
+ color: ${colors.blue45};
112292
+ &:hover,
112293
+ &:focus {
112294
+ color: ${colors.blue45};
112295
+ background: ${colors.white};
112296
+ }
112297
+ `;
112298
+ var StyledTriggerContainerWrapper = styled4.div`
112299
+ position: relative;
112300
+ `;
112181
112301
  var getValueLabel = (isValueEmpty, value, placeholder, filterName) => {
112182
112302
  const prefixLabel = isValueEmpty ? placeholder || filterName : filterName;
112183
112303
  const valueLabel = value ? `${prefixLabel ? ": " : ""}${value}` : "";
@@ -112199,7 +112319,7 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112199
112319
  const ctx = UNSAFE_useSuperSelectContext();
112200
112320
  const I18n = useI18nContext();
112201
112321
  return /* @__PURE__ */ React80.createElement(
112202
- Button,
112322
+ StyledClearButton,
112203
112323
  {
112204
112324
  ...ctx.props.clear(),
112205
112325
  "aria-label": I18n.t("dataTable.filters.removeFilterToken", {
@@ -112224,6 +112344,11 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112224
112344
  filterName
112225
112345
  )));
112226
112346
  }),
112347
+ TriggerContainerWrapper: React80.forwardRef(
112348
+ (props, ref) => {
112349
+ return /* @__PURE__ */ React80.createElement(StyledTriggerContainerWrapper, { ref, ...props });
112350
+ }
112351
+ ),
112227
112352
  TriggerContainer: React80.forwardRef(
112228
112353
  (props, ref) => {
112229
112354
  const ctx = UNSAFE_useSuperSelectContext();
@@ -112237,11 +112362,31 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112237
112362
  }
112238
112363
  );
112239
112364
  }
112365
+ const {
112366
+ "aria-activedescendant": ariaActivedescendant,
112367
+ "aria-controls": ariaControls,
112368
+ "aria-expanded": ariaExpanded,
112369
+ "aria-haspopup": ariaHaspopup,
112370
+ "aria-label": ariaLabel,
112371
+ "aria-labelledby": ariaLabelledby,
112372
+ role,
112373
+ tabIndex
112374
+ } = ctx.props.multiInput();
112375
+ const a11yProps = {
112376
+ "aria-activedescendant": ariaActivedescendant,
112377
+ "aria-controls": ariaControls,
112378
+ "aria-expanded": ariaExpanded,
112379
+ "aria-haspopup": ariaHaspopup,
112380
+ "aria-label": ariaLabel,
112381
+ "aria-labelledby": ariaLabelledby,
112382
+ role,
112383
+ tabIndex
112384
+ };
112240
112385
  return /* @__PURE__ */ React80.createElement(
112241
112386
  Popover,
112242
112387
  {
112243
112388
  placement: "top",
112244
- trigger: ctx.state.value.length > 1 ? "hover" : "none",
112389
+ trigger: ctx.state.value.length > 1 ? ["hover", "focus"] : "none",
112245
112390
  overlay: /* @__PURE__ */ React80.createElement(StyledFilterPresetPopoverContent, null, /* @__PURE__ */ React80.createElement(Typography, null, ctx.state.value.map((v) => {
112246
112391
  const option = ctx.state.options.find(
112247
112392
  (option2) => ctx.option.value(option2) === v
@@ -112254,6 +112399,7 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112254
112399
  {
112255
112400
  $block: ctx.config.block,
112256
112401
  ...props,
112402
+ ...a11yProps,
112257
112403
  ref
112258
112404
  }
112259
112405
  )
@@ -113099,6 +113245,7 @@ var ClientSideSearch = ({
113099
113245
  const { tableRef } = useInternalTableContext();
113100
113246
  const hasNoContent = useTableHasNoContent();
113101
113247
  const I18n = useI18nContext();
113248
+ const resolvedPlaceholder = placeholder || I18n.t("dataTable.search");
113102
113249
  const debouncedSetSearchValue = React80.useCallback(
113103
113250
  debounce5((value) => {
113104
113251
  var _a2;
@@ -113127,7 +113274,8 @@ var ClientSideSearch = ({
113127
113274
  "search--empty": !internalValue.length
113128
113275
  }),
113129
113276
  onChange,
113130
- placeholder: placeholder || I18n.t("dataTable.search")
113277
+ placeholder: resolvedPlaceholder,
113278
+ "aria-label": resolvedPlaceholder
113131
113279
  }
113132
113280
  ));
113133
113281
  };