@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.
@@ -54285,7 +54285,7 @@ function ServerSideNumberFilterRenderer({
54285
54285
  },
54286
54286
  {
54287
54287
  id: "isEqual",
54288
- label: I18n.t("options.isEqual", {
54288
+ label: I18n.t("options.is_equal_to", {
54289
54289
  defaultValue: "Is Equal To",
54290
54290
  scope: "dataTable.filters.numberFilter"
54291
54291
  })
@@ -54772,26 +54772,19 @@ function serializeNode(node) {
54772
54772
  rowPinned: node.rowPinned
54773
54773
  };
54774
54774
  }
54775
- function transformToColDef(colDefinition, enableGroupEditAndValidation, enableDynamicRowHeight) {
54775
+ function transformToColDef(colDefinition, tableOptions) {
54776
54776
  if (isNestedColumnDefinition(colDefinition)) {
54777
54777
  return {
54778
54778
  ...colDefinition,
54779
54779
  children: colDefinition.children.map(
54780
- (childColDefinition) => transformColumnDefinitionToColDef(
54781
- childColDefinition,
54782
- enableGroupEditAndValidation,
54783
- enableDynamicRowHeight
54784
- )
54780
+ (childColDefinition) => transformColumnDefinitionToColDef(childColDefinition, tableOptions)
54785
54781
  )
54786
54782
  };
54787
54783
  }
54788
- return transformColumnDefinitionToColDef(
54789
- colDefinition,
54790
- enableGroupEditAndValidation,
54791
- enableDynamicRowHeight
54792
- );
54784
+ return transformColumnDefinitionToColDef(colDefinition, tableOptions);
54793
54785
  }
54794
- function transformColumnDefinitionToColDef(dataTableColumnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight) {
54786
+ function transformColumnDefinitionToColDef(dataTableColumnDefinition, tableOptions) {
54787
+ const { enableGroupEditAndValidation, enableDynamicRowHeight } = tableOptions;
54795
54788
  const {
54796
54789
  aggFunc,
54797
54790
  bulkEditable,
@@ -54834,7 +54827,8 @@ function transformColumnDefinitionToColDef(dataTableColumnDefinition, enableGrou
54834
54827
  };
54835
54828
  const cellClassRules = {
54836
54829
  "invalid-cell": function isValid(params) {
54837
- const shouldValidate = !params.node.group && params.data && !params.data.isAggData || enableGroupEditAndValidation && (params.node.footer || params.node.group && !params.node.expanded);
54830
+ const shouldValidateGroupHeader = tableOptions.enableGroupHeaderEdit && params.node.group;
54831
+ const shouldValidate = !params.node.group && params.data && !params.data.isAggData || enableGroupEditAndValidation && (params.node.footer || params.node.group && !params.node.expanded) || shouldValidateGroupHeader;
54838
54832
  return (shouldValidate && valueValidator && !valueValidator({
54839
54833
  columnDefinition: transformToColumnDefinition(params.colDef),
54840
54834
  data: params.data,
@@ -55171,12 +55165,8 @@ function addAutoGroupParams(columnDefinition, isRowSelectable, siblingGroupsRowS
55171
55165
  }
55172
55166
  };
55173
55167
  }
55174
- function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidation, enableDynamicRowHeight, isRowSelectable, siblingGroupsRowSelectionDisabled, groupsAlwaysExpanded, isDetailTable) {
55175
- const colDef = columnDefinition ? transformToColDef(
55176
- columnDefinition,
55177
- enableGroupEditAndValidation,
55178
- enableDynamicRowHeight
55179
- ) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55168
+ function getDecoratedAutoGroupColDef(columnDefinition, tableOptions, isRowSelectable, siblingGroupsRowSelectionDisabled, groupsAlwaysExpanded, isDetailTable) {
55169
+ const colDef = columnDefinition ? transformToColDef(columnDefinition, tableOptions) : DEFAULT_AUTO_GROUP_COLUMN_DEFINITION;
55180
55170
  return addAutoGroupParams(
55181
55171
  colDef,
55182
55172
  isRowSelectable,
@@ -55187,12 +55177,12 @@ function getDecoratedAutoGroupColDef(columnDefinition, enableGroupEditAndValidat
55187
55177
  }
55188
55178
 
55189
55179
  // src/CellRenderers/AutoGroupCell.scss
55190
- var css5 = `._autoGroupCell_1qx8z_1 {
55180
+ var css5 = `._autoGroupCell_1h6pf_1 {
55191
55181
  height: 100%;
55192
55182
  width: 100%;
55193
55183
  }
55194
55184
 
55195
- ._indent_1qx8z_6 {
55185
+ ._indent_1h6pf_6 {
55196
55186
  border-right: 1px solid #d6dadc;
55197
55187
  background: #f4f5f6;
55198
55188
  position: absolute;
@@ -55200,45 +55190,69 @@ var css5 = `._autoGroupCell_1qx8z_1 {
55200
55190
  bottom: -1px;
55201
55191
  width: 12px;
55202
55192
  }
55203
- ._indent_1qx8z_6._innermostLastIndent_1qx8z_14 {
55193
+ ._indent_1h6pf_6._innermostLastIndent_1h6pf_14 {
55204
55194
  bottom: 0px;
55205
55195
  }
55206
55196
 
55207
- ._expandableCaret_1qx8z_18 {
55197
+ ._expandableCaret_1h6pf_18 {
55208
55198
  margin-left: -8px;
55209
55199
  margin-right: 4px;
55210
55200
  width: 24px;
55211
55201
  flex-shrink: 0;
55212
55202
  }
55213
55203
 
55214
- ._expandCaret_1qx8z_25 {
55204
+ ._expandableCaretButton_1h6pf_25 {
55205
+ display: inline-flex;
55206
+ align-items: center;
55207
+ justify-content: center;
55208
+ width: 24px;
55209
+ height: 24px;
55210
+ padding: 0;
55211
+ margin-left: -8px;
55212
+ margin-right: 4px;
55213
+ border: none;
55214
+ border-radius: 2px;
55215
+ background: transparent;
55216
+ cursor: pointer;
55217
+ flex-shrink: 0;
55218
+ }
55219
+ ._expandableCaretButton_1h6pf_25:focus-visible {
55220
+ outline: 2px solid #2066df;
55221
+ outline-offset: 1px;
55222
+ }
55223
+ ._expandableCaretButton_1h6pf_25:hover {
55224
+ background-color: rgba(0, 0, 0, 0.06);
55225
+ }
55226
+
55227
+ ._expandCaret_1h6pf_48 {
55215
55228
  color: #2066df;
55216
55229
  cursor: pointer;
55217
55230
  }
55218
55231
 
55219
- ._collapseCaret_1qx8z_30 {
55232
+ ._collapseCaret_1h6pf_53 {
55220
55233
  color: #75838a;
55221
55234
  cursor: pointer;
55222
55235
  }
55223
55236
 
55224
- ._value_1qx8z_35 {
55237
+ ._value_1h6pf_58 {
55225
55238
  overflow: hidden;
55226
55239
  text-overflow: ellipsis;
55227
55240
  font-size: 12px;
55228
55241
  }
55229
- ._value_1qx8z_35._footer_1qx8z_40 {
55242
+ ._value_1h6pf_58._footer_1h6pf_63 {
55230
55243
  color: #6a767c;
55231
55244
  }`;
55232
55245
  document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css5));
55233
55246
  var AutoGroupCell_default = {
55234
- "autoGroupCell": "_autoGroupCell_1qx8z_1",
55235
- "indent": "_indent_1qx8z_6",
55236
- "innermostLastIndent": "_innermostLastIndent_1qx8z_14",
55237
- "expandableCaret": "_expandableCaret_1qx8z_18",
55238
- "expandCaret": "_expandCaret_1qx8z_25",
55239
- "collapseCaret": "_collapseCaret_1qx8z_30",
55240
- "value": "_value_1qx8z_35",
55241
- "footer": "_footer_1qx8z_40"
55247
+ "autoGroupCell": "_autoGroupCell_1h6pf_1",
55248
+ "indent": "_indent_1h6pf_6",
55249
+ "innermostLastIndent": "_innermostLastIndent_1h6pf_14",
55250
+ "expandableCaret": "_expandableCaret_1h6pf_18",
55251
+ "expandableCaretButton": "_expandableCaretButton_1h6pf_25",
55252
+ "expandCaret": "_expandCaret_1h6pf_48",
55253
+ "collapseCaret": "_collapseCaret_1h6pf_53",
55254
+ "value": "_value_1h6pf_58",
55255
+ "footer": "_footer_1h6pf_63"
55242
55256
  };
55243
55257
 
55244
55258
  // src/utils/rowSelectionHelpers.ts
@@ -55495,6 +55509,7 @@ var LevelIndents = (props) => {
55495
55509
  };
55496
55510
  function GroupCaret(props) {
55497
55511
  const mounted = React80.useRef(false);
55512
+ const buttonRef = React80.useRef(null);
55498
55513
  const [expanded, setExpanded] = useState(props.node.expanded);
55499
55514
  const ExpandableCaret = expanded ? CaretDown : CaretRight;
55500
55515
  const I18n = useI18nContext();
@@ -55505,6 +55520,16 @@ function GroupCaret(props) {
55505
55520
  }, 0);
55506
55521
  }
55507
55522
  }
55523
+ const handleToggle = () => {
55524
+ props.api.setRowNodeExpanded(props.node, !expanded);
55525
+ };
55526
+ const handleKeyDown = (event) => {
55527
+ if (event.key === "Enter" || event.key === " ") {
55528
+ event.preventDefault();
55529
+ event.stopPropagation();
55530
+ handleToggle();
55531
+ }
55532
+ };
55508
55533
  useEffect(() => {
55509
55534
  mounted.current = true;
55510
55535
  props.api.addEventListener("rowGroupOpened", handleRowGroupToggle);
@@ -55517,20 +55542,45 @@ function GroupCaret(props) {
55517
55542
  );
55518
55543
  };
55519
55544
  }, []);
55545
+ useEffect(() => {
55546
+ if (!props.node.isExpandable()) return;
55547
+ const cell2 = buttonRef.current?.closest(".ag-cell");
55548
+ if (!cell2) return;
55549
+ const handleCellKeyDown = (event) => {
55550
+ if (event.key !== "Enter" && event.key !== " ") return;
55551
+ if (!event.isTrusted) return;
55552
+ const target = event.target;
55553
+ if (target.closest("button") || target.closest("input")) return;
55554
+ event.preventDefault();
55555
+ event.stopImmediatePropagation();
55556
+ buttonRef.current?.click();
55557
+ };
55558
+ cell2.addEventListener("keydown", handleCellKeyDown, { capture: true });
55559
+ return () => {
55560
+ cell2.removeEventListener("keydown", handleCellKeyDown, { capture: true });
55561
+ };
55562
+ }, []);
55563
+ if (!props.node.isExpandable()) {
55564
+ return /* @__PURE__ */ React80.createElement("div", { className: AutoGroupCell_default.expandableCaret });
55565
+ }
55520
55566
  return /* @__PURE__ */ React80.createElement(
55521
- Box,
55567
+ "button",
55522
55568
  {
55569
+ type: "button",
55570
+ ref: buttonRef,
55571
+ "aria-expanded": expanded,
55523
55572
  "aria-label": I18n.t(
55524
55573
  `dataTable.groupCell.${expanded ? "collapse" : "expand"}`
55525
55574
  ),
55526
- className: AutoGroupCell_default.expandableCaret,
55527
- role: "button"
55575
+ className: AutoGroupCell_default.expandableCaretButton,
55576
+ onClick: handleToggle,
55577
+ onKeyDown: handleKeyDown,
55578
+ "data-qa": "group-expand-collapse"
55528
55579
  },
55529
- props.node.isExpandable() && /* @__PURE__ */ React80.createElement(
55580
+ /* @__PURE__ */ React80.createElement(
55530
55581
  ExpandableCaret,
55531
55582
  {
55532
- className: expanded ? AutoGroupCell_default.collapseCaret : AutoGroupCell_default.expandCaret,
55533
- onClick: () => props.api.setRowNodeExpanded(props.node, !expanded)
55583
+ className: expanded ? AutoGroupCell_default.collapseCaret : AutoGroupCell_default.expandCaret
55534
55584
  }
55535
55585
  )
55536
55586
  );
@@ -56387,10 +56437,15 @@ var css7 = `.data-table-container .ag-header-cell .data-table-header-menu {
56387
56437
  align-items: center;
56388
56438
  justify-content: center;
56389
56439
  background-color: #e3e6e8;
56440
+ border: none;
56390
56441
  border-radius: 2px;
56391
56442
  cursor: pointer;
56392
56443
  margin-right: 8px;
56393
56444
  }
56445
+ .data-table-container .ag-header-cell .expand-button:focus-visible {
56446
+ outline: 2px solid #2066df;
56447
+ outline-offset: 1px;
56448
+ }
56394
56449
  .data-table-container .ag-header-group-cell-with-group .ag-header-cell-comp-wrapper {
56395
56450
  width: 100%;
56396
56451
  overflow: hidden;
@@ -56403,10 +56458,15 @@ var css7 = `.data-table-container .ag-header-cell .data-table-header-menu {
56403
56458
  align-items: center;
56404
56459
  justify-content: center;
56405
56460
  background-color: #e3e6e8;
56461
+ border: none;
56406
56462
  border-radius: 2px;
56407
56463
  cursor: pointer;
56408
56464
  margin-left: auto;
56409
56465
  }
56466
+ .data-table-container .ag-header-group-cell-with-group .expand-button:focus-visible {
56467
+ outline: 2px solid #2066df;
56468
+ outline-offset: 1px;
56469
+ }
56410
56470
  .data-table-container .auto-column-expand-tooltip-content {
56411
56471
  width: 96px;
56412
56472
  }
@@ -56554,6 +56614,7 @@ var GenericHeaderRenderer = (props) => {
56554
56614
  I18n
56555
56615
  );
56556
56616
  const headerCellRef = useRef(null);
56617
+ const expandButtonRef = useRef(null);
56557
56618
  const menuButtonRef = useRef(null);
56558
56619
  const headerCheckboxSelection = colDef.headerCheckboxSelection;
56559
56620
  const headerCheckboxSelectionEnabled = typeof headerCheckboxSelection === "function" ? headerCheckboxSelection({
@@ -56704,6 +56765,28 @@ var GenericHeaderRenderer = (props) => {
56704
56765
  );
56705
56766
  }
56706
56767
  React80.useEffect(updateExpandedState);
56768
+ React80.useEffect(() => {
56769
+ if (!isExpandable) return;
56770
+ const headerCell = headerCellRef.current?.closest(".ag-header-cell");
56771
+ if (!headerCell) return;
56772
+ const handleExpandKeyDown = (event) => {
56773
+ if (event.key !== "Enter" && event.key !== " ") return;
56774
+ if (!event.isTrusted) return;
56775
+ const target = event.target;
56776
+ if (target.closest("button") || target.closest("input")) return;
56777
+ event.preventDefault();
56778
+ event.stopImmediatePropagation();
56779
+ expandButtonRef.current?.click();
56780
+ };
56781
+ headerCell.addEventListener("keydown", handleExpandKeyDown, {
56782
+ capture: true
56783
+ });
56784
+ return () => {
56785
+ headerCell.removeEventListener("keydown", handleExpandKeyDown, {
56786
+ capture: true
56787
+ });
56788
+ };
56789
+ }, [isExpandable]);
56707
56790
  const [expansionVariant, setExpansionVariant] = React80.useState("closed");
56708
56791
  React80.useEffect(() => {
56709
56792
  const onExpandAllChange = (event) => {
@@ -56981,12 +57064,21 @@ var GenericHeaderRenderer = (props) => {
56981
57064
  overlay: /* @__PURE__ */ React80.createElement(Tooltip.Content, { className: "auto-column-expand-tooltip-content" }, tooltipText[expansionVariant])
56982
57065
  },
56983
57066
  /* @__PURE__ */ React80.createElement(
56984
- "div",
57067
+ "button",
56985
57068
  {
57069
+ type: "button",
57070
+ ref: expandButtonRef,
57071
+ "aria-expanded": expansionVariant !== "closed",
56986
57072
  "aria-label": tooltipText[expansionVariant],
56987
57073
  className: "expand-button",
56988
57074
  onClick: onExpandToggle,
56989
- role: "button",
57075
+ onKeyDown: (e) => {
57076
+ if (e.key === "Enter" || e.key === " ") {
57077
+ e.preventDefault();
57078
+ e.stopPropagation();
57079
+ onExpandToggle(e);
57080
+ }
57081
+ },
56990
57082
  "data-qa": "expand-or-collapse-all-button"
56991
57083
  },
56992
57084
  /* @__PURE__ */ React80.createElement(ExpansionVariantIcon, { size: "sm" })
@@ -57772,6 +57864,7 @@ var ServerSideSearch = ({
57772
57864
  const { updateServerSideDataSource } = useInternalTableContext();
57773
57865
  const hasNoContent = useTableHasNoContent();
57774
57866
  const I18n = useI18nContext();
57867
+ const resolvedPlaceholder = placeholder || I18n.t("dataTable.search");
57775
57868
  const debouncedSetSearchValue = React80.useCallback(
57776
57869
  debounce5((value) => {
57777
57870
  updateServerSideDataSource({ search: value });
@@ -57796,7 +57889,8 @@ var ServerSideSearch = ({
57796
57889
  value: internalValue,
57797
57890
  className: cx17("search", { "search--empty": !internalValue.length }),
57798
57891
  onChange,
57799
- placeholder: placeholder || I18n.t("dataTable.search")
57892
+ placeholder: resolvedPlaceholder,
57893
+ "aria-label": resolvedPlaceholder
57800
57894
  }
57801
57895
  ));
57802
57896
  };
@@ -104540,11 +104634,10 @@ var ConfigurationColumns = React80.forwardRef(
104540
104634
  return columnDefs;
104541
104635
  }
104542
104636
  const columnDefinitionsMappedToDefs = columnDefinitions.map(
104543
- (colDef) => transformToColDef(
104544
- colDef,
104637
+ (colDef) => transformToColDef(colDef, {
104545
104638
  enableGroupEditAndValidation,
104546
104639
  enableDynamicRowHeight
104547
- )
104640
+ })
104548
104641
  );
104549
104642
  return toGroupedCols(columnDefinitionsMappedToDefs);
104550
104643
  });
@@ -104843,8 +104936,10 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
104843
104936
  alwaysAggregateAtRootLevel: !isServerSideRowModel,
104844
104937
  autoGroupColumnDef: getDecoratedAutoGroupColDef(
104845
104938
  detailRowConfig.autoGroupColumnDefinition,
104846
- enableGroupEditAndValidation,
104847
- enableDynamicRowHeight,
104939
+ {
104940
+ enableGroupEditAndValidation,
104941
+ enableDynamicRowHeight
104942
+ },
104848
104943
  isRowSelectable,
104849
104944
  false,
104850
104945
  detailRowConfig.groupsAlwaysExpanded ?? false,
@@ -104856,11 +104951,10 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
104856
104951
  },
104857
104952
  columnDefs: toGroupedCols(
104858
104953
  detailRowConfig.columnDefinitions.map(
104859
- (colDef) => transformToColDef(
104860
- colDef,
104954
+ (colDef) => transformToColDef(colDef, {
104861
104955
  enableGroupEditAndValidation,
104862
- colDef.autoHeight ?? enableDynamicRowHeight
104863
- )
104956
+ enableDynamicRowHeight: colDef.autoHeight ?? enableDynamicRowHeight
104957
+ })
104864
104958
  )
104865
104959
  ),
104866
104960
  groupsAlwaysExpanded: detailRowConfig.groupsAlwaysExpanded ?? false,
@@ -107229,158 +107323,158 @@ var nb_NO_default = {
107229
107323
  dataTable: {
107230
107324
  emptyState: {
107231
107325
  noFilteredResults: {
107232
- description: "Kontroller staving og filteralternativer, eller s\xF8k etter et annet n\xF8kkelord.",
107233
- title: "Ingen enheter samsvarer med s\xF8ket ditt",
107234
- itemsTitle: "No %{itemsLabel} Match Your Search"
107326
+ description: "Sjekk stavem\xE5ten og filteralternativene dine, eller s\xF8k etter et annet n\xF8kkelord.",
107327
+ title: "Ingen elementer samsvarer med s\xF8ket ditt",
107328
+ itemsTitle: "Ingen %{itemsLabel} samsvarer med s\xF8ket ditt"
107235
107329
  },
107236
107330
  noResults: {
107237
- description: "Once your team creates these items, you can access them here. ",
107238
- title: "Ingen enheter kan vises akkurat n\xE5",
107239
- itemsTitle: "There Are No %{itemsLabel} to Display Right Now",
107240
- tooltip: "The %{featureName} button will be enabled once you add information to the %{tableName}",
107241
- searchTooltip: "Search will be enabled once you add information to the %{tableName}",
107331
+ description: "N\xE5r teamet ditt har opprettet disse elementene, kan du f\xE5 tilgang til dem her. ",
107332
+ title: "Det er ingen elementer \xE5 vise akkurat n\xE5",
107333
+ itemsTitle: "Det er ingen %{itemsLabel} \xE5 vise akkurat n\xE5",
107334
+ tooltip: "%{featureName} -knappen vil bli aktivert n\xE5r du legger til informasjon i %{tableName}",
107335
+ searchTooltip: "S\xF8k vil bli aktivert n\xE5r du legger til informasjon i %{tableName}",
107242
107336
  featureFilter: "Filter",
107243
- featureQuickFilter: "Quick Filter",
107244
- featureGroupBy: "Group By",
107245
- featureConfigure: "Configure",
107246
- tableNameFallback: "table"
107337
+ featureQuickFilter: "Hurtigfilter",
107338
+ featureGroupBy: "Grupper etter",
107339
+ featureConfigure: "Konfigurer",
107340
+ tableNameFallback: "bord"
107247
107341
  }
107248
107342
  },
107249
107343
  bulkActions: {
107250
- apply: "Apply",
107251
- bulkEdit: "Bulk Edit",
107344
+ apply: "S\xF8k",
107345
+ bulkEdit: "Masseendring",
107252
107346
  cancel: "Avbryt",
107253
- editValues: "Edit Values",
107254
- error: "Sorry, the items couldn't be updated. Try again.",
107255
- placeholderForField: "Enter %{fieldName}",
107256
- selection: "%{count} %{number} selected",
107347
+ editValues: "Rediger verdier",
107348
+ error: "Beklager, elementene kunne ikke oppdateres. Pr\xF8v igjen.",
107349
+ placeholderForField: "Skriv inn %{fieldName}",
107350
+ selection: "%{count} %{number} valgt",
107257
107351
  selection_count: {
107258
- zero: "%{count} items selected",
107259
- one: "%{count} item selected",
107260
- other: "%{count} items selected"
107352
+ zero: "%{count} elementer valgt",
107353
+ one: "%{count} element valgt",
107354
+ other: "%{count} elementer valgt"
107261
107355
  },
107262
- success: "The items were successfully updated.",
107263
- one: "item",
107264
- many: "Enheter"
107356
+ success: "Elementene ble oppdatert.",
107357
+ one: "element",
107358
+ many: "gjenstander"
107265
107359
  },
107266
- exporting: "Exporting...",
107360
+ exporting: "Eksporterer...",
107267
107361
  filters: {
107268
107362
  filters: "Filtre",
107269
107363
  allFilters: "Alle filtre",
107270
107364
  moreFilters: "More Filters",
107271
107365
  clearAllFilters: "Fjern alle filtre",
107272
- close: "Close",
107366
+ close: "Lukk",
107273
107367
  removeFilterToken: "Fjern %{name}",
107274
107368
  locationFilter: {
107275
107369
  selectAll: "Velg alle",
107276
- includeSublocations: "Include sublocations",
107277
- searchLocations: "Search locations",
107278
- locations: "Locations"
107370
+ includeSublocations: "Inkluder underlokasjoner",
107371
+ searchLocations: "S\xF8k etter steder",
107372
+ locations: "Steder"
107279
107373
  },
107280
107374
  numberFilter: {
107281
107375
  labels: {
107282
- and: "OG",
107283
- input_placeholder: "Enter Value",
107284
- placeholder: "Select an item"
107376
+ and: "og",
107377
+ input_placeholder: "Angi verdi",
107378
+ placeholder: "Velg et element"
107285
107379
  },
107286
107380
  options: {
107287
- any_value: "Any Value",
107288
- is_between: "Is Between",
107289
- is_equal_to: "Is Equal To",
107290
- greater_than: "Is Greater Than",
107291
- greater_than_equal_to: "Is Greater Than or Equal To",
107292
- less_than: "Is Less Than",
107293
- less_than_equal_to: "Is Less Than or Equal To",
107294
- no_value: "No Value"
107381
+ any_value: "Enhver verdi",
107382
+ is_between: "Er mellom",
107383
+ is_equal_to: "Er lik",
107384
+ greater_than: "Er st\xF8rre enn",
107385
+ greater_than_equal_to: "Er st\xF8rre enn eller lik",
107386
+ less_than: "Er mindre enn",
107387
+ less_than_equal_to: "Er mindre enn eller lik",
107388
+ no_value: "Ingen verdi"
107295
107389
  }
107296
107390
  },
107297
107391
  singleSelectFilter: {
107298
- placeholder: "Select a Value"
107392
+ placeholder: "Velg en verdi"
107299
107393
  },
107300
107394
  multiSelectQuickFilter: {
107301
- ariaLabel: "Quick filter: Select multiple options"
107395
+ ariaLabel: "Hurtigfilter: Velg flere alternativer"
107302
107396
  },
107303
107397
  singleSelectQuickFilter: {
107304
- ariaLabel: "Quick filter: Select an option"
107398
+ ariaLabel: "Hurtigfilter: Velg et alternativ"
107305
107399
  }
107306
107400
  },
107307
107401
  loading: {
107308
- initial: "Information loading.",
107309
- secondary: "Information loading, thanks for your patience."
107402
+ initial: "Laster inn informasjon.",
107403
+ secondary: "Informasjon lastes, takk for t\xE5lmodigheten."
107310
107404
  },
107311
107405
  menuOptions: {
107312
107406
  ariaMenuColumn: "Trykk p\xE5 Alt/Option og pil ned for \xE5 \xE5pne kolonnemenyen.",
107313
107407
  sortMenuItem: {
107314
- label: "Sort By This Column",
107315
- sortAscItem: "Sort Column Ascending",
107316
- sortDescItem: "Sort Column Descending",
107317
- sortResetItem: "Column Not Sorted",
107318
- sortAscending: "sorted ascending",
107319
- sortDescending: "sorted descending",
107320
- sortCleared: "Sorting cleared"
107321
- },
107322
- expandAllGroups: "Expand All Groups",
107323
- collapseAllGroups: "Collapse All Groups",
107324
- pinColumn: "Pin Column",
107325
- pinLeft: "Pin Left",
107326
- pinRight: "Pin Right",
107327
- noPin: "No Pin",
107328
- autoSizeThisColumn: "Autosize This Column",
107329
- autoSizeAllColumns: "Autosize All Columns",
107330
- hideColumn: "Hide Column",
107408
+ label: "Sorter etter denne kolonnen",
107409
+ sortAscItem: "Sorter kolonne stigende",
107410
+ sortDescItem: "Sorter kolonne synkende",
107411
+ sortResetItem: "Kolonne ikke sortert",
107412
+ sortAscending: "sortert stigende",
107413
+ sortDescending: "sortert synkende",
107414
+ sortCleared: "Sortering fjernet"
107415
+ },
107416
+ expandAllGroups: "Utvid alle grupper",
107417
+ collapseAllGroups: "Skjul alle grupper",
107418
+ pinColumn: "Fest kolonne",
107419
+ pinLeft: "Fest til venstre",
107420
+ pinRight: "Fest til h\xF8yre",
107421
+ noPin: "Ingen PIN",
107422
+ autoSizeThisColumn: "Tilpass kolonnebredden automatisk",
107423
+ autoSizeAllColumns: "Tilpass alle kolonner automatisk",
107424
+ hideColumn: "Skjul kolonne",
107331
107425
  resetColumns: "Tilbakestill kolonner",
107332
- unGroupBy: "Un-Group by {{label}}",
107333
- groupBy: "Group by {{label}}"
107426
+ unGroupBy: "Fjern gruppering etter {{label}}",
107427
+ groupBy: "Grupper etter {{label}}"
107334
107428
  },
107335
- grandTotals: "Grand Totals",
107429
+ grandTotals: "Totale summer",
107336
107430
  search: "S\xF8k",
107337
- subtotals: "Subtotals",
107431
+ subtotals: "Delsummer",
107338
107432
  tableSettings: {
107339
- configureColumns: "Configure Columns",
107340
- resetToDefault: "Show All",
107341
- rowHeight: "Row Height",
107342
- small: "Small",
107343
- medium: "Medium",
107344
- large: "Large",
107345
- tableSettings: "Table Settings",
107346
- groupBy: "Group by:",
107433
+ configureColumns: "Konfigurer kolonner",
107434
+ resetToDefault: "Vis alle",
107435
+ rowHeight: "Radh\xF8yde",
107436
+ small: "Liten",
107437
+ medium: "Middels",
107438
+ large: "Stor",
107439
+ tableSettings: "Borddekking",
107440
+ groupBy: "Grupper etter:",
107347
107441
  reset: "Tilbakestill",
107348
- selectColumnGroup: "Select a column to group",
107349
- configure: "Configure"
107442
+ selectColumnGroup: "Velg en kolonne \xE5 gruppere",
107443
+ configure: "Konfigurer"
107350
107444
  },
107351
107445
  rowGroupToggle: {
107352
- expandTierOne: "Open first groups in the table.",
107353
- expandAll: "Open all groups in the table.",
107354
- collapseAll: "Close all groups in the table."
107446
+ expandTierOne: "\xC5pne de f\xF8rste gruppene i tabellen.",
107447
+ expandAll: "\xC5pne alle grupper i tabellen.",
107448
+ collapseAll: "Lukk alle grupper i tabellen."
107355
107449
  },
107356
107450
  columnGroupToggle: {
107357
- collapse: "Collapse column group",
107358
- expand: "Expand column group"
107451
+ collapse: "Skjul kolonnegruppe",
107452
+ expand: "Utvid kolonnegruppe"
107359
107453
  },
107360
107454
  cells: {
107361
107455
  textCell: {
107362
- placeholder: "Enter text"
107456
+ placeholder: "Skriv inn tekst"
107363
107457
  },
107364
107458
  currencyCell: {
107365
- placeholder: "Enter currency"
107459
+ placeholder: "Angi valuta"
107366
107460
  },
107367
107461
  linkCell: {
107368
107462
  externalLabel: "\xC5pne ekstern kobling"
107369
107463
  },
107370
107464
  numberCell: {
107371
- placeholder: "Enter number"
107465
+ placeholder: "Skriv inn nummer"
107372
107466
  },
107373
107467
  percentCell: {
107374
- placeholder: "Enter %"
107468
+ placeholder: "Skriv inn %"
107375
107469
  },
107376
107470
  pillCell: {
107377
- placeholder: "Select {{label}}"
107471
+ placeholder: "Velg {{label}}"
107378
107472
  },
107379
107473
  selectCell: {
107380
- placeholder: "Select {{label}}"
107474
+ placeholder: "Velg {{label}}"
107381
107475
  },
107382
107476
  multiSelectCell: {
107383
- placeholder: "Select Values"
107477
+ placeholder: "Velg verdier"
107384
107478
  },
107385
107479
  booleanCell: {
107386
107480
  options: {
@@ -107391,16 +107485,16 @@ var nb_NO_default = {
107391
107485
  },
107392
107486
  filterRenders: {
107393
107487
  dateFilter: {
107394
- single: "Single",
107395
- range: "Range"
107488
+ single: "Enslig",
107489
+ range: "Rekkevidde"
107396
107490
  }
107397
107491
  },
107398
107492
  groupCell: {
107399
- expand: "Expand group",
107400
- collapse: "Collapse group"
107493
+ expand: "Utvid gruppe",
107494
+ collapse: "Skjul gruppe"
107401
107495
  },
107402
107496
  rowCheckbox: {
107403
- ariaLabel: "Select Row"
107497
+ ariaLabel: "Velg rad"
107404
107498
  }
107405
107499
  }
107406
107500
  };
@@ -107829,7 +107923,7 @@ var pt_BR_default = {
107829
107923
  options: {
107830
107924
  any_value: "Qualquer Valor",
107831
107925
  is_between: "Est\xE1 entre",
107832
- is_equal_to: "\xC9 igual a",
107926
+ is_equal_to: "\xC9 Igual a",
107833
107927
  greater_than: "\xC9 Maior Que",
107834
107928
  greater_than_equal_to: "\xC9 Maior Que ou Igual a",
107835
107929
  less_than: "\xC9 Menor Que",
@@ -107961,8 +108055,8 @@ var pt_PT_default = {
107961
108055
  description: "Assim que a sua equipa criar estes itens, poder\xE1 aceder aos mesmos aqui. ",
107962
108056
  title: "N\xE3o h\xE1 itens para apresentar neste momento",
107963
108057
  itemsTitle: "N\xE3o h\xE1 %{itemsLabel} para apresentar neste momento",
107964
- tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado quando adicionar informa\xE7\xF5es \xE0 tabela %{tableName}",
107965
- searchTooltip: "A pesquisa ser\xE1 ativada quando adicionar informa\xE7\xF5es a %{tableName}",
108058
+ tooltip: "O bot\xE3o %{featureName} ser\xE1 ativado quando adicionar informa\xE7\xF5es a %{tableName}",
108059
+ searchTooltip: "A pesquisa ser\xE1 ativada quando adicionar informa\xE7\xF5es a: %{tableName}",
107966
108060
  featureFilter: "Filtro",
107967
108061
  featureQuickFilter: "Filtro r\xE1pido",
107968
108062
  featureGroupBy: "Agrupar por",
@@ -108063,8 +108157,8 @@ var pt_PT_default = {
108063
108157
  configureColumns: "Configurar colunas",
108064
108158
  resetToDefault: "Mostrar tudo",
108065
108159
  rowHeight: "Altura da linha",
108066
- small: "Pequeno",
108067
- medium: "M\xE9dio",
108160
+ small: "Pequena",
108161
+ medium: "M\xE9dia",
108068
108162
  large: "Grande",
108069
108163
  tableSettings: "Defini\xE7\xF5es de tabela",
108070
108164
  groupBy: "Agrupar por:",
@@ -109993,11 +110087,16 @@ function getServerSideDatasource(onServerSideDataRequestCallbackRef, onEmptyResp
109993
110087
  };
109994
110088
  }
109995
110089
  var minimumColumnWidth = 140;
110090
+ function resolveGroupIncludeFooter(props, onSSDR) {
110091
+ if (props.enableGroupHeaderEdit) return false;
110092
+ if (!onSSDR && props.groupIncludeFooter === void 0) return true;
110093
+ return props.groupIncludeFooter;
110094
+ }
109996
110095
  function useComputeAgGridProps(props) {
109997
110096
  const internalTableContext = useInternalTableContext();
109998
110097
  const onSSDR = internalTableContext.onServerSideDataRequest;
109999
110098
  return {
110000
- groupIncludeFooter: !onSSDR && props.groupIncludeFooter === void 0 ? true : props.groupIncludeFooter,
110099
+ groupIncludeFooter: resolveGroupIncludeFooter(props, !!onSSDR),
110001
110100
  rowDragManaged: onSSDR ? false : props.rowDragManaged ?? true,
110002
110101
  rowModelType: onSSDR ? "serverSide" : void 0,
110003
110102
  groupSelectsChildren: (
@@ -110070,11 +110169,11 @@ var Table = (props) => {
110070
110169
  });
110071
110170
  const decoratedColDefs = React80.useMemo(
110072
110171
  () => internalTableContext.columnDefinitions?.map((colDef) => {
110073
- const newColDef = transformToColDef(
110074
- colDef,
110075
- internalTableContext.enableGroupEditAndValidation,
110076
- internalTableContext.enableDynamicRowHeight
110077
- );
110172
+ const newColDef = transformToColDef(colDef, {
110173
+ enableGroupEditAndValidation: internalTableContext.enableGroupEditAndValidation,
110174
+ enableDynamicRowHeight: internalTableContext.enableDynamicRowHeight,
110175
+ enableGroupHeaderEdit: props.enableGroupHeaderEdit
110176
+ });
110078
110177
  return {
110079
110178
  ...newColDef,
110080
110179
  editable: overrideEditable(colDef.editable)
@@ -110360,8 +110459,10 @@ var Table = (props) => {
110360
110459
  const decoratedAutoGroupColDef = React80.useMemo(
110361
110460
  () => getDecoratedAutoGroupColDef(
110362
110461
  props?.autoGroupColumnDefinition,
110363
- internalTableContext.enableGroupEditAndValidation,
110364
- internalTableContext.enableDynamicRowHeight,
110462
+ {
110463
+ enableGroupEditAndValidation: internalTableContext.enableGroupEditAndValidation,
110464
+ enableDynamicRowHeight: internalTableContext.enableDynamicRowHeight
110465
+ },
110365
110466
  isRowSelectable,
110366
110467
  props.siblingGroupsRowSelectionDisabled,
110367
110468
  props.groupsAlwaysExpanded ?? false,
@@ -111978,6 +112079,21 @@ var LocationQuickFilterRenderer_default = LocationQuickFilterRenderer;
111978
112079
  var StyledFilterPresetPopoverContent = styled4(Popover.Content)`
111979
112080
  padding: ${spacing.sm}px ${spacing.lg}px;
111980
112081
  `;
112082
+ var StyledClearButton = styled4(Button)`
112083
+ position: absolute;
112084
+ right: ${spacing.md + spacing.lg}px;
112085
+ top: calc(36px / 2);
112086
+ transform: translateY(-50%);
112087
+ color: ${colors.blue45};
112088
+ &:hover,
112089
+ &:focus {
112090
+ color: ${colors.blue45};
112091
+ background: ${colors.white};
112092
+ }
112093
+ `;
112094
+ var StyledTriggerContainerWrapper = styled4.div`
112095
+ position: relative;
112096
+ `;
111981
112097
  var getValueLabel = (isValueEmpty, value, placeholder, filterName) => {
111982
112098
  const prefixLabel = isValueEmpty ? placeholder || filterName : filterName;
111983
112099
  const valueLabel = value ? `${prefixLabel ? ": " : ""}${value}` : "";
@@ -111997,7 +112113,7 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
111997
112113
  const ctx = UNSAFE_useSuperSelectContext();
111998
112114
  const I18n = useI18nContext();
111999
112115
  return /* @__PURE__ */ React80.createElement(
112000
- Button,
112116
+ StyledClearButton,
112001
112117
  {
112002
112118
  ...ctx.props.clear(),
112003
112119
  "aria-label": I18n.t("dataTable.filters.removeFilterToken", {
@@ -112022,6 +112138,11 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112022
112138
  filterName
112023
112139
  )));
112024
112140
  }),
112141
+ TriggerContainerWrapper: React80.forwardRef(
112142
+ (props, ref) => {
112143
+ return /* @__PURE__ */ React80.createElement(StyledTriggerContainerWrapper, { ref, ...props });
112144
+ }
112145
+ ),
112025
112146
  TriggerContainer: React80.forwardRef(
112026
112147
  (props, ref) => {
112027
112148
  const ctx = UNSAFE_useSuperSelectContext();
@@ -112035,11 +112156,31 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112035
112156
  }
112036
112157
  );
112037
112158
  }
112159
+ const {
112160
+ "aria-activedescendant": ariaActivedescendant,
112161
+ "aria-controls": ariaControls,
112162
+ "aria-expanded": ariaExpanded,
112163
+ "aria-haspopup": ariaHaspopup,
112164
+ "aria-label": ariaLabel,
112165
+ "aria-labelledby": ariaLabelledby,
112166
+ role,
112167
+ tabIndex
112168
+ } = ctx.props.multiInput();
112169
+ const a11yProps = {
112170
+ "aria-activedescendant": ariaActivedescendant,
112171
+ "aria-controls": ariaControls,
112172
+ "aria-expanded": ariaExpanded,
112173
+ "aria-haspopup": ariaHaspopup,
112174
+ "aria-label": ariaLabel,
112175
+ "aria-labelledby": ariaLabelledby,
112176
+ role,
112177
+ tabIndex
112178
+ };
112038
112179
  return /* @__PURE__ */ React80.createElement(
112039
112180
  Popover,
112040
112181
  {
112041
112182
  placement: "top",
112042
- trigger: ctx.state.value.length > 1 ? "hover" : "none",
112183
+ trigger: ctx.state.value.length > 1 ? ["hover", "focus"] : "none",
112043
112184
  overlay: /* @__PURE__ */ React80.createElement(StyledFilterPresetPopoverContent, null, /* @__PURE__ */ React80.createElement(Typography, null, ctx.state.value.map((v) => {
112044
112185
  const option = ctx.state.options.find(
112045
112186
  (option2) => ctx.option.value(option2) === v
@@ -112052,6 +112193,7 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
112052
112193
  {
112053
112194
  $block: ctx.config.block,
112054
112195
  ...props,
112196
+ ...a11yProps,
112055
112197
  ref
112056
112198
  }
112057
112199
  )
@@ -112864,6 +113006,7 @@ var ClientSideSearch = ({
112864
113006
  const { tableRef } = useInternalTableContext();
112865
113007
  const hasNoContent = useTableHasNoContent();
112866
113008
  const I18n = useI18nContext();
113009
+ const resolvedPlaceholder = placeholder || I18n.t("dataTable.search");
112867
113010
  const debouncedSetSearchValue = React80.useCallback(
112868
113011
  debounce5((value) => {
112869
113012
  tableRef?.current?.setSearchValue(value);
@@ -112891,7 +113034,8 @@ var ClientSideSearch = ({
112891
113034
  "search--empty": !internalValue.length
112892
113035
  }),
112893
113036
  onChange,
112894
- placeholder: placeholder || I18n.t("dataTable.search")
113037
+ placeholder: resolvedPlaceholder,
113038
+ "aria-label": resolvedPlaceholder
112895
113039
  }
112896
113040
  ));
112897
113041
  };