@trackunit/filters-filter-bar 0.0.504 → 0.0.508

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.
Files changed (43) hide show
  1. package/index.cjs.js +65 -133
  2. package/index.esm.js +68 -136
  3. package/package.json +2 -4
  4. package/src/lib/components/ResetFiltersButton.d.ts +3 -2
  5. package/src/lib/hooks/useFilterBar.d.ts +1 -1
  6. package/src/lib/hooks/useGroupFilters.d.ts +6 -2
  7. package/src/lib/types/FilterTypes.d.ts +5 -1
  8. package/src/translation.d.ts +2 -2
  9. package/translation.cjs.js +0 -3
  10. package/translation.cjs10.js +0 -3
  11. package/translation.cjs11.js +0 -3
  12. package/translation.cjs12.js +0 -3
  13. package/translation.cjs13.js +0 -3
  14. package/translation.cjs14.js +0 -3
  15. package/translation.cjs15.js +0 -3
  16. package/translation.cjs16.js +0 -3
  17. package/translation.cjs17.js +0 -3
  18. package/translation.cjs2.js +0 -3
  19. package/translation.cjs3.js +0 -3
  20. package/translation.cjs4.js +0 -3
  21. package/translation.cjs5.js +0 -3
  22. package/translation.cjs6.js +0 -3
  23. package/translation.cjs7.js +0 -3
  24. package/translation.cjs8.js +0 -3
  25. package/translation.cjs9.js +0 -3
  26. package/translation.esm.js +0 -3
  27. package/translation.esm10.js +0 -3
  28. package/translation.esm11.js +0 -3
  29. package/translation.esm12.js +0 -3
  30. package/translation.esm13.js +0 -3
  31. package/translation.esm14.js +0 -3
  32. package/translation.esm15.js +0 -3
  33. package/translation.esm16.js +0 -3
  34. package/translation.esm17.js +0 -3
  35. package/translation.esm2.js +0 -3
  36. package/translation.esm3.js +0 -3
  37. package/translation.esm4.js +0 -3
  38. package/translation.esm5.js +0 -3
  39. package/translation.esm6.js +0 -3
  40. package/translation.esm7.js +0 -3
  41. package/translation.esm8.js +0 -3
  42. package/translation.esm9.js +0 -3
  43. package/src/lib/components/SearchFilterInline.d.ts +0 -21
package/index.esm.js CHANGED
@@ -3,14 +3,12 @@ import { registerTranslations, useNamespaceTranslation } from '@trackunit/i18n-l
3
3
  import { useAnalytics, useTextSearch } from '@trackunit/react-core-hooks';
4
4
  import { FilterBody, RadioFilterItem, CheckBoxFilterItem, FilterHeader as FilterHeader$1, FilterFooter, Filter as Filter$1 } from '@trackunit/react-filter-components';
5
5
  import { capitalize, nonNullable, objectValues, truthy } from '@trackunit/shared-utils';
6
- import { useRef, useMemo, useState, useEffect, useCallback, Fragment as Fragment$1 } from 'react';
6
+ import { useRef, useMemo, useState, useEffect, useCallback } from 'react';
7
7
  import { createEvent } from '@trackunit/react-core-contexts-api';
8
- import { VirtualizedList, Text, Button, useGeometry, usePrevious, useDebounce, useLocalStorage, Popover, PopoverTrigger, PopoverContent, MenuList, MenuItem, Tooltip, IconButton, Icon, StarButton, useViewportSize, Card, CardBody } from '@trackunit/react-components';
9
- import { Search, NumberField, RadioGroup } from '@trackunit/react-form-components';
8
+ import { VirtualizedList, Text, Button, Popover, PopoverTrigger, PopoverContent, MenuList, useViewportSize, Tooltip, Icon, IconButton, Card, CardBody, CardFooter } from '@trackunit/react-components';
9
+ import { Search, NumberField, RadioGroup, Toggle } from '@trackunit/react-form-components';
10
10
  import { DayRangePicker } from '@trackunit/react-date-and-time-components';
11
- import { cvaMerge } from '@trackunit/css-class-variance-utilities';
12
11
  import { twMerge } from 'tailwind-merge';
13
- import { z } from 'zod';
14
12
  import { dequal } from 'dequal';
15
13
  import isEqual from 'lodash/isEqual';
16
14
  import reduce from 'lodash/reduce';
@@ -105,12 +103,9 @@ var defaultTranslations = {
105
103
  "auditlog.filter.users": "Users",
106
104
  "filter.more.options.if.you.search.description": "Use search to refine results.",
107
105
  "filter.more.options.if.you.search.title": "Over {{count}} items found.",
108
- "filters.shared.clear": "clear",
109
- "filters.shared.clearAll": "clear all",
110
- "filters.shared.recentSearches": "Recent searches",
111
106
  "filtersBar.appliedFiltersTooltip.none": "No filters applied",
112
107
  "filtersBar.appliedFiltersTooltip.plural": "{{count}} filters applied:",
113
- "filtersBar.appliedFiltersTooltip.singular": "{{filterName}} filter applied",
108
+ "filtersBar.appliedFiltersTooltip.singular": "{{filterName}} filter",
114
109
  "filtersBar.closeFilter": "Close",
115
110
  "filtersBar.defaultAssetFilters.followedFilter.ALL": "All Assets",
116
111
  "filtersBar.defaultAssetFilters.followedFilter.allLabel": "All Assets",
@@ -141,6 +136,9 @@ var defaultTranslations = {
141
136
  "filtersBar.groups.SERVICE": "Service",
142
137
  "filtersBar.groups.SITES": "Sites",
143
138
  "filtersBar.groups.STATUS": "Status",
139
+ "filtersBar.hiddenFilters.plural": "{{count}} hidden filters",
140
+ "filtersBar.hiddenFilters.singular": "One hidden filter",
141
+ "filtersBar.hiddenFilters.toggleFilters": "Toggle filters visibility",
144
142
  "filtersBar.loading": "Loading...",
145
143
  "filtersBar.myNetworkGroup": "My Network",
146
144
  "filtersBar.resetFilter": "Reset",
@@ -600,7 +598,8 @@ const useStarredGroupFilters = (filterDefinitions, hiddenFilters) => {
600
598
  const keys = uniqueKeysFromGroups(filterDefinitions);
601
599
  return keys
602
600
  .map(key => ({
603
- key: t(`filtersBar.groups.${key}`),
601
+ key,
602
+ title: t(`filtersBar.groups.${key}`),
604
603
  filters: filterDefinitions.filter(rawFilter => rawFilter.group === key && hiddenFilters.includes(rawFilter.filterKey) === false),
605
604
  }))
606
605
  .filter(filter => filter.filters.length > 0);
@@ -684,7 +683,7 @@ const Filter = ({ filter, filterBarActions, filterState, }) => {
684
683
  setValue,
685
684
  filterBarActions,
686
685
  filterState,
687
- }) })) : (jsx(Filter$1, { activeLabel: activeFilterText, dataTestId: `${filter.filterKey}-filter-button`, isActive: filterText().length > 0, title: filter.title, withStickyHeader: true, children: filter.component({
686
+ }) })) : (jsx(Filter$1, { activeLabel: activeFilterText, dataTestId: `${filter.filterKey}-filter-button`, isActive: filterText().length > 0, popoverProps: { placement: "right-start" }, title: filter.title, withStickyHeader: true, children: filter.component({
688
687
  filterDefinition: filter,
689
688
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
690
689
  value: values,
@@ -699,88 +698,16 @@ const Filter = ({ filter, filterBarActions, filterState, }) => {
699
698
  *
700
699
  * @returns {ReactElement | null} The rendered ResetFiltersButton component, or null if no filters have been applied.
701
700
  */
702
- const ResetFiltersButton = ({ filtersHaveBeenApplied, resetFiltersToInitialState, }) => {
701
+ const ResetFiltersButton = ({ filtersHaveBeenApplied, resetFiltersToInitialState, dataTestId, className, }) => {
703
702
  const [t] = useTranslation();
704
703
  if (!filtersHaveBeenApplied) {
705
704
  return null;
706
705
  }
707
- return (jsx(Button, { dataTestId: "reset-filters-button", onClick: () => {
706
+ return (jsx(Button, { className: className, dataTestId: dataTestId !== null && dataTestId !== void 0 ? dataTestId : "reset-filters-button", onClick: () => {
708
707
  resetFiltersToInitialState();
709
708
  }, size: "small", variant: "ghost-neutral", children: t("filtersBar.resetFilters") }));
710
709
  };
711
710
 
712
- const MAX_RECENT_SEARCHES = 20;
713
- /**
714
- *
715
- */
716
- const SearchFilterInline = ({ filterBarActions, filterState, filter, className, dataTestId, }) => {
717
- const { logEvent } = useAnalytics(FilterEvents);
718
- const searchElementRef = useRef(null);
719
- const geometry = useGeometry(searchElementRef);
720
- const filterValue = (filter === null || filter === void 0 ? void 0 : filter.filterKey) ? String(filterState.values[filter.filterKey]) : undefined;
721
- const [searchString, setSearchString] = useState(filterValue !== null && filterValue !== void 0 ? filterValue : "");
722
- const previousFilterValue = usePrevious(filterValue);
723
- useDebounce(searchString, 500, "both", debouncedSearchString => {
724
- if (filterValue === debouncedSearchString) {
725
- return;
726
- }
727
- apply({ value: debouncedSearchString, setRecent: false });
728
- });
729
- useEffect(() => {
730
- // Catch a change in filter value from outside the component and update the search string to match
731
- if (filterValue === searchString || previousFilterValue === filterValue) {
732
- return;
733
- }
734
- filterValue !== undefined && setSearchString(filterValue);
735
- }, [filterValue, previousFilterValue, searchString]);
736
- const [t] = useTranslation();
737
- const [recentSearches, setRecentSearches] = useLocalStorage({
738
- defaultState: [],
739
- key: "free-text-filter-recent-searches",
740
- schema: z.array(z.string()),
741
- });
742
- const apply = useCallback(({ value, wasPreviousSearch = false, setRecent = true, }) => {
743
- if (setRecent !== false) {
744
- setRecentSearches(prev => {
745
- const noDuplicatesRecent = prev.filter(r => r !== value);
746
- const cappedLengthRecent = noDuplicatesRecent.slice(0, MAX_RECENT_SEARCHES - 1);
747
- return [value, ...cappedLengthRecent];
748
- });
749
- }
750
- logEvent("Filters Applied - V2", {
751
- type: "free-text-search",
752
- value,
753
- additionalProperties: {
754
- wasPreviousSearch: Boolean(wasPreviousSearch),
755
- },
756
- });
757
- (filter === null || filter === void 0 ? void 0 : filter.filterKey) && filterBarActions.setStringValue(filter.filterKey, value);
758
- }, [filter === null || filter === void 0 ? void 0 : filter.filterKey, filterBarActions, logEvent, setRecentSearches]);
759
- return (jsxs(Popover, { activation: defaultActivation => ({ ...defaultActivation, keyboardHandlers: false }), dataTestId: dataTestId ? `${dataTestId}-popover` : undefined, placement: "bottom-start", children: [jsx(PopoverTrigger, { children: jsx(Search
760
- //TODO: [Buss] remove height restruction once baseinput sixes matches buttons
761
- , {
762
- //TODO: [Buss] remove height restruction once baseinput sixes matches buttons
763
- className: twMerge(className, "h-7"), fieldSize: "small", onChange: e => {
764
- const parsedValue = z.string().safeParse(e.target.value);
765
- parsedValue.success ? setSearchString(parsedValue.data) : setSearchString("");
766
- }, onClear: () => setSearchString(""), onKeyDown: e => {
767
- if (e.key === "Enter") {
768
- apply({ value: searchString });
769
- }
770
- }, ref: searchElementRef, value: searchString }) }), recentSearches.length > 0 ? (jsx(PopoverContent, { children: jsx("div", { style: { minWidth: geometry.width }, children: jsxs(MenuList, { className: "overflow-hidden", children: [jsx(FilterBody, { className: "max-w-none p-1", limitSize: true, children: jsx("ul", { className: "grid h-full gap-0.5", children: recentSearches.map((option, index) => (jsx(MenuItem, { className: "max-h-fit overflow-hidden", id: "free-text-search-filter-inline", label: option, onClick: () => {
771
- apply({ value: option, wasPreviousSearch: true });
772
- setRecentSearches(prev => {
773
- const noDuplicatesRecent = prev.filter(r => r !== option);
774
- const cappedLengthRecent = noDuplicatesRecent.slice(0, MAX_RECENT_SEARCHES - 1);
775
- return [option, ...cappedLengthRecent];
776
- });
777
- setSearchString(option);
778
- }, selected: option === filterValue, size: "small", suffix: jsx(Tooltip, { label: t("filters.shared.clear"), children: jsx(IconButton, { circular: true, icon: jsx(Icon, { name: "Trash", size: "small" }), onClick: e => {
779
- e.stopPropagation();
780
- setRecentSearches(prev => prev.filter(r => r !== option));
781
- }, size: "small", variant: "ghost-neutral" }) }) }, `${option}-${index}`))) }) }), jsxs("div", { className: "flex items-baseline justify-between gap-x-2 border-t-2 border-slate-300 px-2 py-0.5", children: [jsx(Text, { className: "py-0.5", size: "small", subtle: true, children: t("filters.shared.recentSearches") }), recentSearches.length > 1 ? (jsx(Button, { onClick: () => setRecentSearches([]), size: "small", variant: "ghost", children: t("filters.shared.clearAll") })) : null] })] }) }) })) : null] }));
782
- };
783
-
784
711
  /**
785
712
  * StarredFiltersMenu is a React component that displays a menu of starred filters within a filter bar.
786
713
  *
@@ -789,12 +716,13 @@ const SearchFilterInline = ({ filterBarActions, filterState, filter, className,
789
716
  const StarredFiltersMenu = ({ filterBarDefinition, updateStarredFilters, starredFilterKeys, hiddenFilters = [], className, dataTestId, }) => {
790
717
  const [t] = useTranslation();
791
718
  const { logEvent } = useAnalytics(FilterEvents);
719
+ const numberOfShowDirectlyFilters = objectValues(filterBarDefinition).filter(filter => filter.showDirectly).length; //TODO: this is a bit of a silly workaround to get the count to match without changing any other logic as I am pressed for time...but it works for now.🙈
792
720
  const hideInStarredMenu = useMemo(() => {
793
721
  return objectValues(filterBarDefinition)
794
722
  .map(filter => {
795
723
  const showInStarredMenu = filter.showInStarredMenu ? filter.showInStarredMenu() : true;
796
724
  const showInFilterBar = filter.showInFilterBar ? filter.showInFilterBar() : true;
797
- return !showInStarredMenu || !showInFilterBar ? filter.filterKey : null;
725
+ return filter.showDirectly || !showInStarredMenu || !showInFilterBar ? filter.filterKey : null;
798
726
  })
799
727
  .filter(truthy);
800
728
  }, [filterBarDefinition]);
@@ -802,23 +730,32 @@ const StarredFiltersMenu = ({ filterBarDefinition, updateStarredFilters, starred
802
730
  ...hideInStarredMenu,
803
731
  ...hiddenFilters,
804
732
  ]);
805
- return (jsxs(Popover, { placement: "bottom-start", children: [jsx(PopoverTrigger, { children: jsx(IconButton, { className: className, dataTestId: dataTestId !== null && dataTestId !== void 0 ? dataTestId : "starred-filters-menu", icon: jsx(Icon, { name: "Star", size: "small" }), size: "small", title: t("filtersBar.starredFiltersTitle"), variant: "secondary" }) }), jsx(PopoverContent, { children: jsx(MenuList, { className: "overflow-hidden", dataTestId: "starred-filters-menu-popover", children: jsx("div", { className: "max-h-[55vh] w-72 overflow-y-auto", children: filtersGrouped.map((group, idx) => {
733
+ const hiddenFiltersCount = filtersGrouped.map(group => group.filters).flat().length - starredFilterKeys.length + numberOfShowDirectlyFilters;
734
+ const getHiddenFiltersLabel = () => {
735
+ switch (hiddenFiltersCount) {
736
+ case 0:
737
+ return t("filtersBar.hiddenFilters.toggleFilters");
738
+ case 1:
739
+ return t("filtersBar.hiddenFilters.singular");
740
+ default:
741
+ return t("filtersBar.hiddenFilters.plural", { count: hiddenFiltersCount });
742
+ }
743
+ };
744
+ return (jsxs(Popover, { placement: "bottom-start", children: [jsx(PopoverTrigger, { children: jsx(Button, { className: className, dataTestId: dataTestId !== null && dataTestId !== void 0 ? dataTestId : "starred-filters-menu", size: "small", variant: "ghost", children: getHiddenFiltersLabel() }) }), jsx(PopoverContent, { children: jsx(MenuList, { className: "overflow-hidden", dataTestId: "starred-filters-menu-popover", children: jsx("div", { className: "max-h-[55dvh] w-72 overflow-y-auto px-3 pb-2", children: filtersGrouped.map((group, idx) => {
806
745
  const isLast = idx === filtersGrouped.length - 1;
807
- return (jsxs("div", { className: "mb-2", children: [jsx("div", { className: "mb-1 mt-2 flex px-2", children: jsx(Text, { dataTestId: "starred-filters-group-title", size: "small", subtle: true, uppercase: true, weight: "bold", children: group.key }) }), group.filters.map(filter => {
808
- return (jsxs("div", { className: "flex w-full cursor-pointer items-center justify-between rounded-sm px-2 py-0 transition hover:bg-neutral-50", "data-testid": `${filter.filterKey}-star-filter`, onClick: () => {
809
- updateStarredFilters(filter.filterKey);
810
- logEvent("Starring Filter - Toggled", {
811
- type: filter.filterKey,
812
- });
813
- }, children: [jsx(Text, { weight: "thick", children: filter.title }), jsx(StarButton, { onClick: e => {
814
- e.preventDefault();
815
- e.stopPropagation();
816
- updateStarredFilters(filter.filterKey);
817
- logEvent("Starring Filter - Toggled", {
818
- type: filter.filterKey,
819
- });
820
- }, starred: starredFilterKeys.includes(filter.filterKey) })] }, filter.filterKey));
821
- }), !isLast && jsx("div", { className: "mt-2 h-[1px] w-full bg-neutral-300" })] }, group.key));
746
+ return (jsxs("div", { children: [jsx(Text, { className: "pb-1 pt-2", dataTestId: "starred-filters-group-title", size: "small", subtle: true, uppercase: true, children: group.title }), jsx("div", { className: "grid gap-2", children: group.filters.map(filter => {
747
+ return !filter.isHidden ? (jsxs("div", { className: "grid-cols-min-fr grid cursor-pointer items-center gap-2 rounded-sm transition hover:bg-neutral-50", "data-testid": `${filter.filterKey}-star-filter`, onClick: () => {
748
+ updateStarredFilters(filter.filterKey);
749
+ logEvent("Starring Filter - Toggled", {
750
+ type: filter.filterKey,
751
+ });
752
+ }, children: [jsx(Toggle, { id: "visible-filters-toggle", onChange: () => {
753
+ updateStarredFilters(filter.filterKey);
754
+ logEvent("Starring Filter - Toggled", {
755
+ type: filter.filterKey,
756
+ });
757
+ }, size: "medium", toggled: starredFilterKeys.includes(filter.filterKey) }), jsx(Text, { children: filter.title })] }, filter.filterKey)) : null;
758
+ }) }), !isLast && jsx("div", { className: "mt-2 h-[1px] w-full bg-neutral-300" })] }, group.key));
822
759
  }) }) }) })] }));
823
760
  };
824
761
 
@@ -831,9 +768,6 @@ const StarredFiltersMenu = ({ filterBarDefinition, updateStarredFilters, starred
831
768
  const StarredFilters = ({ filterBarDefinition, filterBarConfig, disableCollapse, hiddenFilters = [], }) => {
832
769
  const [t] = useTranslation();
833
770
  const { isLg } = useViewportSize();
834
- return (jsxs("div", { className: cvaFiltersAndSearchContainer({ collapsed: !(isLg || disableCollapse) }), children: [isLg || disableCollapse ? (jsx(FilterSelection, { filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters })) : (jsxs(Popover, { placement: "bottom-start", children: [jsx(PopoverTrigger, { children: jsx("div", { children: jsxs(Tooltip, { label: jsx(FilterButtonTooltipLabel, { filterBarConfig: filterBarConfig }), children: [jsx(Button, { className: "@xs:flex hidden", prefix: jsx(Icon, { color: filterBarConfig.appliedFilters.length > 0 ? "primary" : undefined, name: "Funnel", size: "small" }), size: "small", variant: "secondary", children: t("filtersBar.filtersHeading") }), jsx(IconButton, { className: "@xs:hidden", icon: jsx(Icon, { color: filterBarConfig.appliedFilters.length > 0 ? "primary" : undefined, name: "Funnel", size: "small" }), size: "small", variant: "secondary" })] }) }) }), jsx(PopoverContent, { cellPadding: 100, children: jsx(Card, { children: jsx(CardBody, { children: jsx(FilterSelection, { filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters }) }) }) })] })), filterBarDefinition.search ? (jsx("div", { className: "flex w-full", children: jsx(SearchFilterInline, { className: "w-full max-w-80", filter: filterBarDefinition.search, filterBarActions: filterBarConfig, filterState: { values: filterBarConfig.values, setters: filterBarConfig.setters } }, "filter-search") })) : null] }));
835
- };
836
- const FilterSelection = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [], className, }) => {
837
771
  const hideInFilterBar = useMemo(() => {
838
772
  return objectValues(filterBarDefinition)
839
773
  .map(filter => {
@@ -846,44 +780,42 @@ const FilterSelection = ({ filterBarDefinition, filterBarConfig, hiddenFilters =
846
780
  ...hideInFilterBar,
847
781
  ...hiddenFilters,
848
782
  ]);
849
- return (jsxs("div", { className: twMerge([className, "flex-wrap", "items-center", "gap-3", "flex"]), "data-testid": "starred-filters", children: [jsx(StarredFiltersMenu, { filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, starredFilterKeys: filterBarConfig.starredFilterKeys, updateStarredFilters: filterBarConfig.updateStarredFilters }), filterBarConfig.starredFilterKeys.length > 0 ? jsx("div", { className: "h-4 w-[1px] bg-slate-300" }) : null, filtersGrouped.map(group => group.filters
850
- .filter(filter => !hiddenFilters.includes(filter.filterKey))
851
- .map(filter => {
852
- const showMenuAnyway = filterBarConfig.filterHasChanged(filter.filterKey) &&
853
- filter.showInStarredMenu &&
854
- !filter.showInStarredMenu();
855
- if (filter.filterKey !== "search" &&
856
- (filterBarConfig.starredFilterKeys.includes(filter.filterKey) ||
857
- showMenuAnyway)) {
858
- return (jsx(Fragment$1, { children: jsx(Filter, { filter: filter, filterBarActions: filterBarConfig, filterState: { values: filterBarConfig.values, setters: filterBarConfig.setters } }, `filter-${filter.filterKey}`) }, filter.filterKey));
859
- }
860
- return null;
861
- })), jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.appliedFilters.length > 0, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })] }));
783
+ const allFilters = filtersGrouped.map(group => group.filters).flat();
784
+ const starredFilters = allFilters.filter(filter => {
785
+ const showMenuAnyway = filterBarConfig.filterHasChanged(filter.filterKey) && filter.showInStarredMenu && !filter.showInStarredMenu();
786
+ return (filterBarConfig.starredFilterKeys.includes(filter.filterKey) &&
787
+ (showMenuAnyway || !filter.showDirectly));
788
+ });
789
+ const nonAppliedFilters = starredFilters.filter(filter => !filterBarConfig.appliedFilterKeys.includes(filter.filterKey));
790
+ const appliedFilters = starredFilters.filter(filter => filterBarConfig.appliedFilterKeys.includes(filter.filterKey));
791
+ const filtersInPopover = isLg
792
+ ? nonAppliedFilters.filter(filter => !filter.showDirectly)
793
+ : starredFilters.filter(filter => !filter.showDirectly);
794
+ const showDirectlyFilters = allFilters.filter(filter => filter.showDirectly);
795
+ return (jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [jsx(Popover, { placement: "bottom-start", children: modalState => (jsxs(Fragment, { children: [jsx(PopoverTrigger, { children: jsx("div", { "data-testid": "starred-filters-menu-trigger", children: jsxs(Tooltip, { disabled: isLg || modalState.isOpen, label: jsx(FilterButtonTooltipLabel, { filterBarConfig: filterBarConfig }), children: [jsx(Button, { className: "@xs:flex hidden", prefix: jsx(Icon, { color: filterBarConfig.appliedFilterKeys.length > 0 ? "primary" : undefined, name: "Funnel", size: "small" }), size: "small", suffix: !isLg && filterBarConfig.appliedFilterKeys.length > 0
796
+ ? `(${filterBarConfig.appliedFilterKeys.length})`
797
+ : undefined, variant: "secondary", children: t("filtersBar.filtersHeading") }), jsx(IconButton, { className: "@xs:hidden", icon: jsx(Icon, { color: filterBarConfig.appliedFilterKeys.length > 0 ? "primary" : undefined, name: "Funnel", size: "small" }), size: "small", variant: "secondary" })] }) }) }), jsx(PopoverContent, { cellPadding: 100, children: jsxs(Card, { className: "max-h-[min(600px,_calc(100dvh-32px))] overflow-hidden", children: [filtersInPopover.length > 0 ? (jsx(CardBody, { density: "dense", children: jsx("div", { className: "flex h-full min-w-min flex-col gap-2", children: jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: filtersInPopover }) }) })) : null, jsxs(CardFooter, { className: filtersInPopover.length === 0 ? "border-none" : undefined, density: "dense", children: [jsx(StarredFiltersMenu, { className: "mr-auto", filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, starredFilterKeys: filterBarConfig.starredFilterKeys, updateStarredFilters: filterBarConfig.updateStarredFilters }), isLg ? null : (jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.appliedFilterKeys.length > 0, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState }))] })] }) })] })) }), showDirectlyFilters.length > 0 ? (jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: showDirectlyFilters })) : null, isLg ? (jsxs(Fragment, { children: [appliedFilters.filter(filter => !filter.showDirectly).length > 0 ? (jsx("div", { className: "h-4 w-[1px] bg-slate-300" })) : null, jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: appliedFilters }), jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.appliedFilterKeys.length > 0, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })] })) : null] }));
798
+ };
799
+ const FiltersList = ({ filters, filterBarConfig }) => {
800
+ return filters.length === 0
801
+ ? null
802
+ : filters.map(filter => {
803
+ return (jsx(Filter, { filter: filter, filterBarActions: filterBarConfig, filterState: { values: filterBarConfig.values, setters: filterBarConfig.setters } }, `filter-${filter.filterKey}`));
804
+ });
862
805
  };
863
- const cvaFiltersAndSearchContainer = cvaMerge(["grid", "gap-2", "w-full"], {
864
- variants: {
865
- collapsed: {
866
- true: ["grid-cols-min-fr"],
867
- false: ["grid-cols-[minmax(0,1fr)_300px]"],
868
- },
869
- },
870
- defaultVariants: {
871
- collapsed: false,
872
- },
873
- });
874
806
  const FilterButtonTooltipLabel = ({ filterBarConfig, }) => {
875
807
  const [t] = useTranslation();
876
- switch (filterBarConfig.appliedFilters.length) {
808
+ switch (filterBarConfig.appliedFilterKeys.length) {
877
809
  case 0:
878
- return t("filtersBar.filtersHeading");
810
+ return t("filtersBar.appliedFiltersTooltip.none");
879
811
  case 1:
880
- return filterBarConfig.appliedFilters[0]
812
+ return filterBarConfig.appliedFilterKeys[0]
881
813
  ? t("filtersBar.appliedFiltersTooltip.singular", {
882
- filterName: filterBarConfig.getFilterTitle(filterBarConfig.appliedFilters[0]),
814
+ filterName: filterBarConfig.getFilterTitle(filterBarConfig.appliedFilterKeys[0]),
883
815
  })
884
816
  : null; // should never happen though
885
817
  default:
886
- return (jsxs(Fragment, { children: [t("filtersBar.appliedFiltersTooltip.plural", { count: filterBarConfig.appliedFilters.length }), jsx("ul", { className: "list-inside", children: filterBarConfig.appliedFilters.map((appliedFilterKey, index) => (jsx("li", { className: "list-disc", children: filterBarConfig.getFilterTitle(appliedFilterKey) }, index))) })] }));
818
+ return (jsxs(Fragment, { children: [t("filtersBar.appliedFiltersTooltip.plural", { count: filterBarConfig.appliedFilterKeys.length }), jsx("ul", { className: "list-inside", children: filterBarConfig.appliedFilterKeys.map((appliedFilterKey, index) => (jsx("li", { className: "list-disc", children: filterBarConfig.getFilterTitle(appliedFilterKey) }, index))) })] }));
887
819
  }
888
820
  };
889
821
 
@@ -900,7 +832,7 @@ const doNothing = (args) => { };
900
832
  const mockFilterBar = {
901
833
  filterBarConfig: {
902
834
  isFilterIncludedByKey: doNothing,
903
- appliedFilters: [],
835
+ appliedFilterKeys: [],
904
836
  arrayIncludesValue: doNothing,
905
837
  getFilterTitle: doNothing,
906
838
  getFilterBarName: doNothing,
@@ -1198,7 +1130,7 @@ const useFilterBar = ({ name, onValuesChange, filterBarDefinition, initialState,
1198
1130
  const values = filterBarConfig.values[key];
1199
1131
  return Boolean(values);
1200
1132
  },
1201
- get appliedFilters() {
1133
+ get appliedFilterKeys() {
1202
1134
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
1203
1135
  const initialStateValues = filterBarConfig.initialState || {};
1204
1136
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/filters-filter-bar",
3
- "version": "0.0.504",
3
+ "version": "0.0.508",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -18,11 +18,9 @@
18
18
  "jest-fetch-mock": "^3.0.3",
19
19
  "@trackunit/react-core-contexts-api": "*",
20
20
  "@trackunit/i18n-library-translation": "*",
21
- "@trackunit/css-class-variance-utilities": "*",
22
21
  "tailwind-merge": "^2.0.0",
23
22
  "@trackunit/react-date-and-time-components": "*",
24
- "string-ts": "^2.0.0",
25
- "zod": "3.22.4"
23
+ "string-ts": "^2.0.0"
26
24
  },
27
25
  "module": "./index.esm.js",
28
26
  "main": "./index.cjs.js",
@@ -1,5 +1,6 @@
1
+ import { CommonProps } from "@trackunit/react-components";
1
2
  import { ReactElement } from "react";
2
- interface ResetFiltersProps {
3
+ interface ResetFiltersProps extends CommonProps {
3
4
  /**
4
5
  * A function that resets the filters to their initial state.
5
6
  */
@@ -15,5 +16,5 @@ interface ResetFiltersProps {
15
16
  *
16
17
  * @returns {ReactElement | null} The rendered ResetFiltersButton component, or null if no filters have been applied.
17
18
  */
18
- export declare const ResetFiltersButton: ({ filtersHaveBeenApplied, resetFiltersToInitialState, }: ResetFiltersProps) => ReactElement | null;
19
+ export declare const ResetFiltersButton: ({ filtersHaveBeenApplied, resetFiltersToInitialState, dataTestId, className, }: ResetFiltersProps) => ReactElement | null;
19
20
  export {};
@@ -30,7 +30,7 @@ export declare const useFilterBar: <TFilterBarDefinition extends FilterBarDefini
30
30
  objectArrayIncludesValue: (key: string, value: string) => boolean;
31
31
  getValuesByKey: (key: string) => FilterValueType;
32
32
  arrayIncludesValue: (key: string, value: string | boolean) => boolean;
33
- appliedFilters: (keyof FilterBarDefinition)[];
33
+ appliedFilterKeys: (keyof FilterBarDefinition)[];
34
34
  filterHasChanged(key: string): boolean;
35
35
  isFilterIncludedByKey(key: string): boolean;
36
36
  updateStarredFilters: (filterkey: string) => void;
@@ -1,9 +1,13 @@
1
- import { FilterDefinition } from "../types/FilterTypes";
1
+ import { FilterDefinition, FilterGroup } from "../types/FilterTypes";
2
2
  interface GroupOfFilters {
3
3
  /**
4
4
  * A unique key that identifies the group of filters.
5
5
  */
6
- key: string;
6
+ key: FilterGroup;
7
+ /**
8
+ * The translated title of the group of filters.
9
+ */
10
+ title: string;
7
11
  /**
8
12
  * An array of filter definitions that belong to this group.
9
13
  */
@@ -46,7 +46,7 @@ export type FilterMapGetter = {
46
46
  objectArrayIncludesValue: (key: string, value: string) => boolean;
47
47
  getValuesByKey: (key: string) => FilterValueType;
48
48
  arrayIncludesValue: (key: string, value: string | boolean) => boolean;
49
- readonly appliedFilters: (keyof FilterBarDefinition)[];
49
+ readonly appliedFilterKeys: (keyof FilterBarDefinition)[];
50
50
  filterHasChanged(key: string): boolean;
51
51
  isFilterIncludedByKey(key: string): boolean;
52
52
  };
@@ -89,6 +89,10 @@ export interface AbstractFilterDefinition {
89
89
  * A boolean that determines if the filter should be displayed in the filter bar without a menu, like a search field.
90
90
  */
91
91
  showDirectly?: boolean;
92
+ /**
93
+ * A boolean that determines if the filter should be generated.
94
+ */
95
+ isHidden?: boolean;
92
96
  }
93
97
  export interface BooleanFilterDefinition extends AbstractFilterDefinition {
94
98
  type: "boolean";
@@ -14,8 +14,8 @@ export declare const translations: TranslationResource<TranslationKeys>;
14
14
  /**
15
15
  * Local useTranslation for this specific library
16
16
  */
17
- export declare const useTranslation: () => [TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.boundingBoxFilter.label" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.shareOwnerFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filter.more.options.if.you.search.description" | "filter.more.options.if.you.search.title" | "filters.shared.clear" | "filters.shared.clearAll" | "filters.shared.recentSearches" | "filtersBar.appliedFiltersTooltip.none" | "filtersBar.appliedFiltersTooltip.plural" | "filtersBar.appliedFiltersTooltip.singular" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultDateRangeFilters.apply" | "filtersBar.defaultDateRangeFilters.cancel" | "filtersBar.defaultMinMaxFilters.apply" | "filtersBar.defaultMinMaxFilters.max" | "filtersBar.defaultMinMaxFilters.min" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.groups.ASSET" | "filtersBar.groups.CUSTOM_FIELDS" | "filtersBar.groups.CUSTOMERS" | "filtersBar.groups.INTEGRATION" | "filtersBar.groups.METADATA" | "filtersBar.groups.MY_NETWORK" | "filtersBar.groups.OPERATOR" | "filtersBar.groups.OTHER" | "filtersBar.groups.RENTAL" | "filtersBar.groups.SERVICE" | "filtersBar.groups.SITES" | "filtersBar.groups.STATUS" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.externalReference" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.owner" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "myNetwork.deviceList.filterBar.accessControlType" | "myNetwork.deviceList.filterBar.canProfile" | "myNetwork.deviceList.filterBar.country" | "myNetwork.deviceList.filterBar.dataFeed" | "myNetwork.deviceList.filterBar.deviceHealth" | "myNetwork.deviceList.filterBar.deviceHealthScore" | "myNetwork.deviceList.filterBar.deviceType" | "myNetwork.deviceList.filterBar.digitalKeyMode" | "myNetwork.deviceList.filterBar.firmwareVersion" | "myNetwork.deviceList.filterBar.hasCanSupport" | "myNetwork.deviceList.filterBar.mobileOperator" | "myNetwork.deviceList.filterBar.networkTechnology" | "myNetwork.deviceList.filterBar.operatingHoursIssue" | "myNetwork.deviceList.filterBar.owner" | "myNetwork.deviceList.filterBar.powerProfile" | "myNetwork.insights.accessControlDevice.DUALID" | "myNetwork.insights.accessControlDevice.DUALID_II" | "myNetwork.insights.accessControlDevice.IBUTTON_READER" | "myNetwork.insights.accessControlDevice.K300" | "myNetwork.insights.accessControlDevice.NO_ACCESSORY_CONNECTED" | "myNetwork.insights.accessControlDevice.UNKNOWN" | "myNetwork.insights.hasCanSupport.false" | "myNetwork.insights.hasCanSupport.true" | "myNetwork.insights.NONE" | "myNetwork.insights.operatingHoursIssue.HOURS_FROM_CAN_AND_PRERUN1_CONFIGURED" | "myNetwork.insights.operatingHoursIssue.MACHINE_CONSTANTLY_ON" | "myNetwork.insights.operatingHoursIssue.MULTIPLE_HOURS_SOURCE" | "myNetwork.insights.operatingHoursIssue.NOT_COUNTING_OPERATING_HOURS" | "myNetwork.insights.operatingHoursIssue.NOT_RECEIVING_HOURS_FROM_CAN" | "myNetwork.insights.unknown" | "myNetwork.overview.deviceHealthScoreV2.criticality.AT_RISK" | "myNetwork.overview.deviceHealthScoreV2.criticality.CRITICAL" | "myNetwork.overview.deviceHealthScoreV2.criticality.HEALTHY" | "myNetwork.overview.deviceHealthScoreV2.criticality.NONE" | "myNetwork.overview.unsupportedNetworkTechnology" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE">, import("i18next").i18n, boolean] & {
18
- t: TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.boundingBoxFilter.label" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.shareOwnerFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filter.more.options.if.you.search.description" | "filter.more.options.if.you.search.title" | "filters.shared.clear" | "filters.shared.clearAll" | "filters.shared.recentSearches" | "filtersBar.appliedFiltersTooltip.none" | "filtersBar.appliedFiltersTooltip.plural" | "filtersBar.appliedFiltersTooltip.singular" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultDateRangeFilters.apply" | "filtersBar.defaultDateRangeFilters.cancel" | "filtersBar.defaultMinMaxFilters.apply" | "filtersBar.defaultMinMaxFilters.max" | "filtersBar.defaultMinMaxFilters.min" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.groups.ASSET" | "filtersBar.groups.CUSTOM_FIELDS" | "filtersBar.groups.CUSTOMERS" | "filtersBar.groups.INTEGRATION" | "filtersBar.groups.METADATA" | "filtersBar.groups.MY_NETWORK" | "filtersBar.groups.OPERATOR" | "filtersBar.groups.OTHER" | "filtersBar.groups.RENTAL" | "filtersBar.groups.SERVICE" | "filtersBar.groups.SITES" | "filtersBar.groups.STATUS" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.externalReference" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.owner" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "myNetwork.deviceList.filterBar.accessControlType" | "myNetwork.deviceList.filterBar.canProfile" | "myNetwork.deviceList.filterBar.country" | "myNetwork.deviceList.filterBar.dataFeed" | "myNetwork.deviceList.filterBar.deviceHealth" | "myNetwork.deviceList.filterBar.deviceHealthScore" | "myNetwork.deviceList.filterBar.deviceType" | "myNetwork.deviceList.filterBar.digitalKeyMode" | "myNetwork.deviceList.filterBar.firmwareVersion" | "myNetwork.deviceList.filterBar.hasCanSupport" | "myNetwork.deviceList.filterBar.mobileOperator" | "myNetwork.deviceList.filterBar.networkTechnology" | "myNetwork.deviceList.filterBar.operatingHoursIssue" | "myNetwork.deviceList.filterBar.owner" | "myNetwork.deviceList.filterBar.powerProfile" | "myNetwork.insights.accessControlDevice.DUALID" | "myNetwork.insights.accessControlDevice.DUALID_II" | "myNetwork.insights.accessControlDevice.IBUTTON_READER" | "myNetwork.insights.accessControlDevice.K300" | "myNetwork.insights.accessControlDevice.NO_ACCESSORY_CONNECTED" | "myNetwork.insights.accessControlDevice.UNKNOWN" | "myNetwork.insights.hasCanSupport.false" | "myNetwork.insights.hasCanSupport.true" | "myNetwork.insights.NONE" | "myNetwork.insights.operatingHoursIssue.HOURS_FROM_CAN_AND_PRERUN1_CONFIGURED" | "myNetwork.insights.operatingHoursIssue.MACHINE_CONSTANTLY_ON" | "myNetwork.insights.operatingHoursIssue.MULTIPLE_HOURS_SOURCE" | "myNetwork.insights.operatingHoursIssue.NOT_COUNTING_OPERATING_HOURS" | "myNetwork.insights.operatingHoursIssue.NOT_RECEIVING_HOURS_FROM_CAN" | "myNetwork.insights.unknown" | "myNetwork.overview.deviceHealthScoreV2.criticality.AT_RISK" | "myNetwork.overview.deviceHealthScoreV2.criticality.CRITICAL" | "myNetwork.overview.deviceHealthScoreV2.criticality.HEALTHY" | "myNetwork.overview.deviceHealthScoreV2.criticality.NONE" | "myNetwork.overview.unsupportedNetworkTechnology" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE">;
17
+ export declare const useTranslation: () => [TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.boundingBoxFilter.label" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.shareOwnerFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filter.more.options.if.you.search.description" | "filter.more.options.if.you.search.title" | "filtersBar.appliedFiltersTooltip.none" | "filtersBar.appliedFiltersTooltip.plural" | "filtersBar.appliedFiltersTooltip.singular" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultDateRangeFilters.apply" | "filtersBar.defaultDateRangeFilters.cancel" | "filtersBar.defaultMinMaxFilters.apply" | "filtersBar.defaultMinMaxFilters.max" | "filtersBar.defaultMinMaxFilters.min" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.groups.ASSET" | "filtersBar.groups.CUSTOM_FIELDS" | "filtersBar.groups.CUSTOMERS" | "filtersBar.groups.INTEGRATION" | "filtersBar.groups.METADATA" | "filtersBar.groups.MY_NETWORK" | "filtersBar.groups.OPERATOR" | "filtersBar.groups.OTHER" | "filtersBar.groups.RENTAL" | "filtersBar.groups.SERVICE" | "filtersBar.groups.SITES" | "filtersBar.groups.STATUS" | "filtersBar.hiddenFilters.plural" | "filtersBar.hiddenFilters.singular" | "filtersBar.hiddenFilters.toggleFilters" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.externalReference" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.owner" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "myNetwork.deviceList.filterBar.accessControlType" | "myNetwork.deviceList.filterBar.canProfile" | "myNetwork.deviceList.filterBar.country" | "myNetwork.deviceList.filterBar.dataFeed" | "myNetwork.deviceList.filterBar.deviceHealth" | "myNetwork.deviceList.filterBar.deviceHealthScore" | "myNetwork.deviceList.filterBar.deviceType" | "myNetwork.deviceList.filterBar.digitalKeyMode" | "myNetwork.deviceList.filterBar.firmwareVersion" | "myNetwork.deviceList.filterBar.hasCanSupport" | "myNetwork.deviceList.filterBar.mobileOperator" | "myNetwork.deviceList.filterBar.networkTechnology" | "myNetwork.deviceList.filterBar.operatingHoursIssue" | "myNetwork.deviceList.filterBar.owner" | "myNetwork.deviceList.filterBar.powerProfile" | "myNetwork.insights.accessControlDevice.DUALID" | "myNetwork.insights.accessControlDevice.DUALID_II" | "myNetwork.insights.accessControlDevice.IBUTTON_READER" | "myNetwork.insights.accessControlDevice.K300" | "myNetwork.insights.accessControlDevice.NO_ACCESSORY_CONNECTED" | "myNetwork.insights.accessControlDevice.UNKNOWN" | "myNetwork.insights.hasCanSupport.false" | "myNetwork.insights.hasCanSupport.true" | "myNetwork.insights.NONE" | "myNetwork.insights.operatingHoursIssue.HOURS_FROM_CAN_AND_PRERUN1_CONFIGURED" | "myNetwork.insights.operatingHoursIssue.MACHINE_CONSTANTLY_ON" | "myNetwork.insights.operatingHoursIssue.MULTIPLE_HOURS_SOURCE" | "myNetwork.insights.operatingHoursIssue.NOT_COUNTING_OPERATING_HOURS" | "myNetwork.insights.operatingHoursIssue.NOT_RECEIVING_HOURS_FROM_CAN" | "myNetwork.insights.unknown" | "myNetwork.overview.deviceHealthScoreV2.criticality.AT_RISK" | "myNetwork.overview.deviceHealthScoreV2.criticality.CRITICAL" | "myNetwork.overview.deviceHealthScoreV2.criticality.HEALTHY" | "myNetwork.overview.deviceHealthScoreV2.criticality.NONE" | "myNetwork.overview.unsupportedNetworkTechnology" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE">, import("i18next").i18n, boolean] & {
18
+ t: TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.boundingBoxFilter.label" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.shareOwnerFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filter.more.options.if.you.search.description" | "filter.more.options.if.you.search.title" | "filtersBar.appliedFiltersTooltip.none" | "filtersBar.appliedFiltersTooltip.plural" | "filtersBar.appliedFiltersTooltip.singular" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultDateRangeFilters.apply" | "filtersBar.defaultDateRangeFilters.cancel" | "filtersBar.defaultMinMaxFilters.apply" | "filtersBar.defaultMinMaxFilters.max" | "filtersBar.defaultMinMaxFilters.min" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.groups.ASSET" | "filtersBar.groups.CUSTOM_FIELDS" | "filtersBar.groups.CUSTOMERS" | "filtersBar.groups.INTEGRATION" | "filtersBar.groups.METADATA" | "filtersBar.groups.MY_NETWORK" | "filtersBar.groups.OPERATOR" | "filtersBar.groups.OTHER" | "filtersBar.groups.RENTAL" | "filtersBar.groups.SERVICE" | "filtersBar.groups.SITES" | "filtersBar.groups.STATUS" | "filtersBar.hiddenFilters.plural" | "filtersBar.hiddenFilters.singular" | "filtersBar.hiddenFilters.toggleFilters" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.externalReference" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.owner" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "myNetwork.deviceList.filterBar.accessControlType" | "myNetwork.deviceList.filterBar.canProfile" | "myNetwork.deviceList.filterBar.country" | "myNetwork.deviceList.filterBar.dataFeed" | "myNetwork.deviceList.filterBar.deviceHealth" | "myNetwork.deviceList.filterBar.deviceHealthScore" | "myNetwork.deviceList.filterBar.deviceType" | "myNetwork.deviceList.filterBar.digitalKeyMode" | "myNetwork.deviceList.filterBar.firmwareVersion" | "myNetwork.deviceList.filterBar.hasCanSupport" | "myNetwork.deviceList.filterBar.mobileOperator" | "myNetwork.deviceList.filterBar.networkTechnology" | "myNetwork.deviceList.filterBar.operatingHoursIssue" | "myNetwork.deviceList.filterBar.owner" | "myNetwork.deviceList.filterBar.powerProfile" | "myNetwork.insights.accessControlDevice.DUALID" | "myNetwork.insights.accessControlDevice.DUALID_II" | "myNetwork.insights.accessControlDevice.IBUTTON_READER" | "myNetwork.insights.accessControlDevice.K300" | "myNetwork.insights.accessControlDevice.NO_ACCESSORY_CONNECTED" | "myNetwork.insights.accessControlDevice.UNKNOWN" | "myNetwork.insights.hasCanSupport.false" | "myNetwork.insights.hasCanSupport.true" | "myNetwork.insights.NONE" | "myNetwork.insights.operatingHoursIssue.HOURS_FROM_CAN_AND_PRERUN1_CONFIGURED" | "myNetwork.insights.operatingHoursIssue.MACHINE_CONSTANTLY_ON" | "myNetwork.insights.operatingHoursIssue.MULTIPLE_HOURS_SOURCE" | "myNetwork.insights.operatingHoursIssue.NOT_COUNTING_OPERATING_HOURS" | "myNetwork.insights.operatingHoursIssue.NOT_RECEIVING_HOURS_FROM_CAN" | "myNetwork.insights.unknown" | "myNetwork.overview.deviceHealthScoreV2.criticality.AT_RISK" | "myNetwork.overview.deviceHealthScoreV2.criticality.CRITICAL" | "myNetwork.overview.deviceHealthScoreV2.criticality.HEALTHY" | "myNetwork.overview.deviceHealthScoreV2.criticality.NONE" | "myNetwork.overview.unsupportedNetworkTechnology" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE">;
19
19
  i18n: import("i18next").i18n;
20
20
  ready: boolean;
21
21
  };
@@ -88,9 +88,6 @@ var translation = {
88
88
  "auditlog.filter.users": "Benutzer",
89
89
  "filter.more.options.if.you.search.description": "Verwenden Sie die Suche, um die Ergebnisse zu verfeinern.",
90
90
  "filter.more.options.if.you.search.title": "Mehr als {{count}} Elemente gefunden.",
91
- "filters.shared.clear": "löschen",
92
- "filters.shared.clearAll": "alles löschen",
93
- "filters.shared.recentSearches": "Kürzlich durchgeführte Suchen",
94
91
  "filtersBar.closeFilter": "Schließen",
95
92
  "filtersBar.defaultAssetFilters.followedFilter.ALL": "Alle Ausrüstungen",
96
93
  "filtersBar.defaultAssetFilters.followedFilter.allLabel": "Alle Ausrüstungen",
@@ -88,9 +88,6 @@ var translation = {
88
88
  "auditlog.filter.users": "Użytkownicy",
89
89
  "filter.more.options.if.you.search.description": "Użyj wyszukiwarki, aby dopracować wyniki.",
90
90
  "filter.more.options.if.you.search.title": "Znaleziono ponad {{count}} pozycji.",
91
- "filters.shared.clear": "wyczyść",
92
- "filters.shared.clearAll": "wyczyść wszystko",
93
- "filters.shared.recentSearches": "Ostatnie wyszukiwania",
94
91
  "filtersBar.closeFilter": "Zamknij",
95
92
  "filtersBar.defaultAssetFilters.followedFilter.ALL": "Wszystkie sprzęty",
96
93
  "filtersBar.defaultAssetFilters.followedFilter.allLabel": "Wszystkie sprzęty",
@@ -88,9 +88,6 @@ var translation = {
88
88
  "auditlog.filter.users": "Utilizadores",
89
89
  "filter.more.options.if.you.search.description": "Utilize a pesquisa para refinar resultados.",
90
90
  "filter.more.options.if.you.search.title": "Mais de {{count}} itens encontrados.",
91
- "filters.shared.clear": "apagar",
92
- "filters.shared.clearAll": "limpar tudo",
93
- "filters.shared.recentSearches": "Pesquisas recentes",
94
91
  "filtersBar.closeFilter": "Fechar",
95
92
  "filtersBar.defaultAssetFilters.followedFilter.ALL": "Todos os equipamentos",
96
93
  "filtersBar.defaultAssetFilters.followedFilter.allLabel": "Todos os equipamentos",
@@ -88,9 +88,6 @@ var translation = {
88
88
  "auditlog.filter.users": "Пользователи",
89
89
  "filter.more.options.if.you.search.description": "Используйте поиск для уточнения результатов.",
90
90
  "filter.more.options.if.you.search.title": "Найдено более {{count}} элементов.",
91
- "filters.shared.clear": "очистить",
92
- "filters.shared.clearAll": "очистить все",
93
- "filters.shared.recentSearches": "Недавние поиски",
94
91
  "filtersBar.closeFilter": "Закрыть",
95
92
  "filtersBar.defaultAssetFilters.followedFilter.ALL": "Все аппараты",
96
93
  "filtersBar.defaultAssetFilters.followedFilter.allLabel": "Все аппараты",
@@ -88,9 +88,6 @@ var translation = {
88
88
  "auditlog.filter.users": "Utilizatori",
89
89
  "filter.more.options.if.you.search.description": "Utilizați căutarea pentru a rafina rezultatele.",
90
90
  "filter.more.options.if.you.search.title": "Peste {{count}} (de) articole găsite.",
91
- "filters.shared.clear": "ștergere",
92
- "filters.shared.clearAll": "golire totală",
93
- "filters.shared.recentSearches": "Căutări recente",
94
91
  "filtersBar.closeFilter": "Închidere",
95
92
  "filtersBar.defaultAssetFilters.followedFilter.ALL": "Toate echipamentele",
96
93
  "filtersBar.defaultAssetFilters.followedFilter.allLabel": "Toate echipamentele",
@@ -88,9 +88,6 @@ var translation = {
88
88
  "auditlog.filter.users": "Usuarios",
89
89
  "filter.more.options.if.you.search.description": "Utilice la búsqueda para refinar los resultados.",
90
90
  "filter.more.options.if.you.search.title": "Más de {{count}} elementos encontrados.",
91
- "filters.shared.clear": "restablecer",
92
- "filters.shared.clearAll": "eliminar todos",
93
- "filters.shared.recentSearches": "Búsquedas recientes",
94
91
  "filtersBar.closeFilter": "Cerrar",
95
92
  "filtersBar.defaultAssetFilters.followedFilter.ALL": "Todo el equipamiento",
96
93
  "filtersBar.defaultAssetFilters.followedFilter.allLabel": "Todo el equipamiento",