@trackunit/filters-filter-bar 0.0.1-alpha-d272aa10e1.0

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 (68) hide show
  1. package/README.md +22 -0
  2. package/index.cjs.d.ts +1 -0
  3. package/index.cjs.js +18864 -0
  4. package/index.esm.js +18845 -0
  5. package/package.json +29 -0
  6. package/src/index.d.ts +1 -0
  7. package/src/lib/FilterBar.d.ts +25 -0
  8. package/src/lib/components/DefaultCheckboxFilter.d.ts +8 -0
  9. package/src/lib/components/DefaultDateRangeFilter.d.ts +9 -0
  10. package/src/lib/components/DefaultFilterTypes.d.ts +53 -0
  11. package/src/lib/components/DefaultMinMaxFilter.d.ts +17 -0
  12. package/src/lib/components/DefaultRadioFilter.d.ts +9 -0
  13. package/src/lib/components/DynamicFilterList.d.ts +63 -0
  14. package/src/lib/components/Filter.d.ts +23 -0
  15. package/src/lib/components/FilterHeader.d.ts +64 -0
  16. package/src/lib/components/FilterResults.d.ts +14 -0
  17. package/src/lib/components/ResetFiltersButton.d.ts +26 -0
  18. package/src/lib/components/StarredFilters.d.ts +25 -0
  19. package/src/lib/components/StarredFiltersMenu.d.ts +29 -0
  20. package/src/lib/components/VirtualizedList.d.ts +26 -0
  21. package/src/lib/components/index.d.ts +9 -0
  22. package/src/lib/hooks/useFilterBar.d.ts +59 -0
  23. package/src/lib/hooks/useGroupFilters.d.ts +23 -0
  24. package/src/lib/index.d.ts +6 -0
  25. package/src/lib/types/FilterTypes.d.ts +219 -0
  26. package/src/lib/utils/FilterEvents.d.ts +17 -0
  27. package/src/lib/utils/capitalize.d.ts +7 -0
  28. package/src/lib/utils/createInitialState.d.ts +21 -0
  29. package/src/lib/utils/getCountryName.d.ts +10 -0
  30. package/src/lib/utils/mergeFilters.d.ts +8 -0
  31. package/src/lib/utils/reduceFilterText.d.ts +7 -0
  32. package/src/lib/utils/toggleFilterValue.d.ts +7 -0
  33. package/src/lib/utils/validateFilter.d.ts +10 -0
  34. package/src/translation.d.ts +34 -0
  35. package/translation.cjs.js +243 -0
  36. package/translation.cjs10.js +243 -0
  37. package/translation.cjs11.js +243 -0
  38. package/translation.cjs12.js +243 -0
  39. package/translation.cjs13.js +243 -0
  40. package/translation.cjs14.js +243 -0
  41. package/translation.cjs15.js +243 -0
  42. package/translation.cjs16.js +243 -0
  43. package/translation.cjs17.js +243 -0
  44. package/translation.cjs2.js +243 -0
  45. package/translation.cjs3.js +243 -0
  46. package/translation.cjs4.js +243 -0
  47. package/translation.cjs5.js +243 -0
  48. package/translation.cjs6.js +243 -0
  49. package/translation.cjs7.js +243 -0
  50. package/translation.cjs8.js +243 -0
  51. package/translation.cjs9.js +243 -0
  52. package/translation.esm.js +241 -0
  53. package/translation.esm10.js +241 -0
  54. package/translation.esm11.js +241 -0
  55. package/translation.esm12.js +241 -0
  56. package/translation.esm13.js +241 -0
  57. package/translation.esm14.js +241 -0
  58. package/translation.esm15.js +241 -0
  59. package/translation.esm16.js +241 -0
  60. package/translation.esm17.js +241 -0
  61. package/translation.esm2.js +241 -0
  62. package/translation.esm3.js +241 -0
  63. package/translation.esm4.js +241 -0
  64. package/translation.esm5.js +241 -0
  65. package/translation.esm6.js +241 -0
  66. package/translation.esm7.js +241 -0
  67. package/translation.esm8.js +241 -0
  68. package/translation.esm9.js +241 -0
@@ -0,0 +1,219 @@
1
+ import React from "react";
2
+ export type ValueName = {
3
+ value: string;
4
+ name: string;
5
+ };
6
+ export type NumberValue = {
7
+ numberValue?: number;
8
+ };
9
+ export type BooleanValue = {
10
+ booleanValue?: boolean;
11
+ };
12
+ export type Coordinate = {
13
+ latitude: number;
14
+ longitude: number;
15
+ };
16
+ export type BoundingBox = {
17
+ nw: Coordinate;
18
+ /** The coordinates for the South/East values of the bounding box. */
19
+ se: Coordinate;
20
+ /** The zoom level from which the bound box spans. */
21
+ zoom?: number;
22
+ };
23
+ export type MinMaxFilterValue = {
24
+ min?: number;
25
+ max?: number;
26
+ };
27
+ export type FilterValueType = string[] | ValueName[] | MinMaxFilterValue | BoundingBox | string | number | boolean | undefined;
28
+ export declare type FilterTypes = "boolean" | "string" | "number" | "dateRange" | "boundingBox" | "valueName" | "stringArray" | "minMax";
29
+ export type FilterMapActions = {
30
+ updateStarredFilters: (filterkey: string) => void;
31
+ toggleArrayValue: (key: string, value: string) => void;
32
+ setStringValue: (key: string, value: string) => void;
33
+ setArrayValue: (key: string, value: string[]) => void;
34
+ setBoundingBox: (boundingBox: BoundingBox) => void;
35
+ setNumberValue: (key: string, value: NumberValue) => void;
36
+ setBooleanValue: (key: string, value: BooleanValue) => void;
37
+ setDateRange: (key: string, value: DateRangeValue) => void;
38
+ setMinMaxValue: (key: string, minMaxValue: MinMaxFilterValue) => void;
39
+ setArrayObjectValue: (key: string, value: ValueName[]) => void;
40
+ toggleArrayObjectValue: (key: string, value: ValueName) => void;
41
+ resetFiltersToInitialState: () => void;
42
+ resetIndividualFilterToInitialState: (key: string) => void;
43
+ };
44
+ export type FilterMapGetter = {
45
+ getFilterName: () => string;
46
+ objectArrayIncludesValue: (key: string, value: string) => boolean;
47
+ getValuesByKey: (key: string) => FilterValueType;
48
+ arrayIncludesValue: (key: string, value: string) => boolean;
49
+ filtersHaveBeenApplied: boolean;
50
+ filterHasChanged(key: string): boolean;
51
+ isFilterIncludedByKey(key: string): boolean;
52
+ };
53
+ export type FilterName = string;
54
+ export type FilterBarDefinition = Record<FilterName, FilterDefinition>;
55
+ export type FilterTranslation = string;
56
+ export type FilterGroup = "METADATA" | "STATUS" | "SITES" | "OTHER" | "CUSTOM_FIELDS" | "MY_NETWORK" | "ASSET" | "OPERATOR" | "SERVICE" | "RENTAL";
57
+ export interface AbstractFilterDefinition {
58
+ /**
59
+ * The unique key or identifier for the filter.
60
+ */
61
+ filterKey: FilterName;
62
+ /**
63
+ * The type of the filter, indicating its behavior and data format.
64
+ */
65
+ type: FilterTypes;
66
+ /**
67
+ * The title and translation for the filter.
68
+ */
69
+ title: FilterTranslation;
70
+ /**
71
+ * If the filter should be on the provided filter bar as default
72
+ */
73
+ default?: boolean;
74
+ /**
75
+ * The Group the filter will be shown under in the ui.
76
+ *
77
+ * @default "OTHER"
78
+ */
79
+ group: FilterGroup;
80
+ /**
81
+ * In which filter bar should the filter be present
82
+ *
83
+ * @deprecated Will be removed in next release
84
+ */
85
+ includeAt?: string;
86
+ /**
87
+ * If the filter should be feature flagged away
88
+ *
89
+ * @deprecated Will be removed in next release
90
+ */
91
+ requireFlag?: string;
92
+ /**
93
+ * A function that determines if the filter should be displayed in the starred filter menu.
94
+ */
95
+ showInStarredMenu?: () => boolean;
96
+ }
97
+ export interface BooleanFilterDefinition extends AbstractFilterDefinition {
98
+ type: "boolean";
99
+ defaultValue?: BooleanValue;
100
+ valueAsText?: (value: BooleanValue) => string;
101
+ component: (filterComponentProps: FilterViewProps<BooleanValue>) => React.ReactNode;
102
+ }
103
+ export interface StringFilterDefinition extends AbstractFilterDefinition {
104
+ type: "string";
105
+ defaultValue?: string;
106
+ valueAsText?: (value: string) => string;
107
+ component: (filterComponentProps: FilterViewProps<string>) => React.ReactNode;
108
+ }
109
+ export interface NumberFilterDefinition extends AbstractFilterDefinition {
110
+ type: "number";
111
+ defaultValue?: number;
112
+ valueAsText?: (value: boolean) => string;
113
+ component: (filterComponentProps: FilterViewProps<number>) => React.ReactNode;
114
+ }
115
+ export interface BoundingBoxFilterDefinition extends AbstractFilterDefinition {
116
+ type: "boundingBox";
117
+ defaultValue?: BoundingBox;
118
+ valueAsText?: (value: BoundingBox) => string;
119
+ component: (filterComponentProps: FilterViewProps<BoundingBox>) => React.ReactNode;
120
+ }
121
+ export interface ValueNameFilterDefinition extends AbstractFilterDefinition {
122
+ type: "valueName";
123
+ defaultValue?: ValueName[];
124
+ valueAsText?: (value: ValueName[]) => string[];
125
+ component: (filterComponentProps: FilterViewProps<ValueName[]>) => React.ReactNode;
126
+ }
127
+ export interface StringArrayFilterDefinition extends AbstractFilterDefinition {
128
+ type: "stringArray";
129
+ defaultValue?: string[];
130
+ valueAsText?: (value: string[]) => string[];
131
+ component: (filterComponentProps: FilterViewProps<string[]>) => React.ReactNode;
132
+ }
133
+ export interface MinMaxFilterDefinition extends AbstractFilterDefinition {
134
+ type: "minMax";
135
+ defaultValue?: MinMaxFilterValue;
136
+ /**
137
+ * The minimum value that can be selected for this defintion
138
+ */
139
+ minimumNumber?: number | undefined;
140
+ /**
141
+ * The maximum value that can be selected for this defintion
142
+ */
143
+ maximumNumber?: number | undefined;
144
+ valueAsText?: (value: MinMaxFilterValue) => string;
145
+ component: (filterComponentProps: FilterViewProps<MinMaxFilterValue>) => React.ReactNode;
146
+ }
147
+ export type DateRangeValue = {
148
+ from: string | undefined;
149
+ to: string | undefined;
150
+ };
151
+ export interface DateRangeFilterDefinition extends AbstractFilterDefinition {
152
+ type: "dateRange";
153
+ defaultValue?: DateRangeValue;
154
+ /**
155
+ * The minimum value that can be selected for this defintion
156
+ */
157
+ from?: string | undefined;
158
+ /**
159
+ * The maximum value that can be selected for this defintion
160
+ */
161
+ to?: string | undefined;
162
+ valueAsText?: (value: DateRangeValue) => string;
163
+ component: (filterComponentProps: FilterViewProps<DateRangeValue>) => React.ReactNode;
164
+ }
165
+ export type FilterDefinition = BooleanFilterDefinition | MinMaxFilterDefinition | StringFilterDefinition | NumberFilterDefinition | DateRangeFilterDefinition | BoundingBoxFilterDefinition | ValueNameFilterDefinition | StringArrayFilterDefinition;
166
+ export type FilterDefinitionValue = NonNullable<FilterDefinition["defaultValue"]>;
167
+ export interface FilterViewProps<TReturnType> {
168
+ filterDefinition: FilterDefinition;
169
+ value?: TReturnType;
170
+ setValue: FilterStateSetterCallback<TReturnType>;
171
+ filterState: FilterState<{}>;
172
+ filterBarActions: FilterMapActions & FilterMapGetter;
173
+ }
174
+ export type FiltersStoreInstance<T extends FilterBarDefinition> = Partial<FilterBarConfig<T>>;
175
+ /**
176
+ * This is the container of all the FilterMaps that can be used to filter, this is persisted to localstorage.
177
+ */
178
+ export interface FilterStateMap<T extends FilterBarDefinition> {
179
+ filtersMap: Record<string, FilterBarConfig<T>>;
180
+ }
181
+ export type FilterBarInferredValue<T extends FilterBarDefinition, K extends keyof T> = T[K]["type"] extends infer Type ? Type extends "boolean" ? boolean | undefined : Type extends "string" ? string | undefined : Type extends "number" ? number | undefined : Type extends "boundingBox" ? BoundingBox | undefined : Type extends "valueName" ? ValueName[] | undefined : Type extends "stringArray" ? string[] | undefined : Type extends "minMax" ? MinMaxFilterValue | undefined : Type extends "dateRange" ? DateRangeValue | undefined : undefined : undefined;
182
+ export type SetterKey<T extends string> = `set${Capitalize<T>}`;
183
+ export type ReverseSetterKey<T extends string> = Uncapitalize<T extends `set${infer U}` ? U : never>;
184
+ export type ExtractFilterKeys<T extends FilterBarDefinition> = Extract<keyof T, string>;
185
+ export type ExtractSetterKeys<T extends FilterBarDefinition> = {
186
+ [K in ExtractFilterKeys<T>]: SetterKey<K>;
187
+ };
188
+ export type FilterStateSetterCallback<T> = (callback: (prev: T | undefined) => T | undefined) => void;
189
+ export type FilterStateSetters<TFilterBarDefinition extends FilterBarDefinition> = {
190
+ [K in ExtractSetterKeys<TFilterBarDefinition>[keyof ExtractSetterKeys<TFilterBarDefinition>]]: FilterStateSetterCallback<FilterBarInferredValue<TFilterBarDefinition, ReverseSetterKey<K>> | undefined>;
191
+ };
192
+ export type FilterStateValues<T extends FilterBarDefinition> = {
193
+ [K in keyof T]?: FilterBarInferredValue<T, K>;
194
+ };
195
+ export type InitialState<T extends FilterBarDefinition> = {
196
+ [K in keyof T]?: FilterBarInferredValue<T, K>;
197
+ };
198
+ export interface FilterState<T extends FilterBarDefinition> {
199
+ values: FilterStateValues<T>;
200
+ setters: FilterStateSetters<T>;
201
+ }
202
+ /**
203
+ * A FilterBarConfig is the Container of filters that can be used to filter.
204
+ */
205
+ export interface FilterBarConfig<T extends FilterBarDefinition> extends FilterState<T> {
206
+ name: string;
207
+ /**
208
+ * The initial state of the filters in this filter list.
209
+ */
210
+ initialState: InitialState<T>;
211
+ /**
212
+ * Allowed FilterName for this filter
213
+ */
214
+ filterNames: ExtractFilterKeys<T>[];
215
+ /**
216
+ * Filter names that should be starred for this filter list.
217
+ */
218
+ starredFilterKeys: ExtractFilterKeys<T>[];
219
+ }
@@ -0,0 +1,17 @@
1
+ import { BaseEvent, UnspecifiedEvent } from "@trackunit/react-core-contexts-api";
2
+ export interface FilterEvent extends BaseEvent {
3
+ type: string;
4
+ value: string | number;
5
+ }
6
+ /**
7
+ * Events — each with a name, and eventType.
8
+ * Adding a Description is encouraged, amplitudeName is NOT, but here for legacy reasons.
9
+ * Each entry must be made with createEvent to get get typed events
10
+ *
11
+ * Pass an event type to createEvent to specify the interface e.g. specify
12
+ * which properties are required/recommended when using logEvent() on said event
13
+ */
14
+ export declare const FilterEvents: {
15
+ FilterApplied: import("@trackunit/react-core-contexts-api").Event<FilterEvent>;
16
+ StarringFilter: import("@trackunit/react-core-contexts-api").Event<UnspecifiedEvent>;
17
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Capitalizes the first letter of a string.
3
+ *
4
+ * @param {string | null | undefined} s - The input string to capitalize. Can be null or undefined.
5
+ * @returns {string} The input string with its first letter capitalized, or an empty string if the input is null or undefined.
6
+ */
7
+ export declare const capitalize: (s: string | null | undefined) => string;
@@ -0,0 +1,21 @@
1
+ import { FilterBarConfig, FilterBarDefinition, FilterBarInferredValue, FilterDefinition, FilterTypes, InitialState, ValueName } from "../types/FilterTypes";
2
+ /**
3
+ * A helper function that returns a default value based on the filter type.
4
+ *
5
+ * @param {FilterTypes} type - The filter type for which to retrieve the initial value.
6
+ * @returns {string[] | ValueName[] | null | { min: undefined, max: undefined } | { from: undefined, to: undefined }} - The initial value corresponding to the given filter type.
7
+ */
8
+ export declare const getInitialValueFromType: (type: FilterTypes) => string[] | ValueName[] | null | {
9
+ min: undefined;
10
+ max: undefined;
11
+ } | {
12
+ from: undefined;
13
+ to: undefined;
14
+ };
15
+ /**
16
+ * Creates an initial state object for a filter bar configuration based on the provided parameters.
17
+ *
18
+ * @template TFilterBarDefinition - The type representing the filter bar definition.
19
+ * @returns {FilterBarConfig<TFilterBarDefinition>} - Returns an initial filter bar configuration object.
20
+ */
21
+ export declare const createInitialState: <TFilterBarDefinition extends FilterBarDefinition>(name: string, mainFilters: FilterDefinition[], initialState: InitialState<TFilterBarDefinition>, setValue: (key: string, callback: (prev: FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => void) => FilterBarConfig<TFilterBarDefinition>;
@@ -0,0 +1,10 @@
1
+ import { TransForLibs } from "@trackunit/i18n-library-translation";
2
+ /**
3
+ * Get the name of a country based on its country code.
4
+ *
5
+ * @param {string} countryCode - The country code for which to retrieve the name.
6
+ * @param {TransForLibs<"myNetwork.insights.unknown">} t - A translation function for localized strings.
7
+ * @param {Array<string>} languages - An array of language codes to determine the display language.
8
+ * @returns {string} The name of the country or a localized "unknown" string if the country code is "UNKNOWN" or if the name is not found.
9
+ */
10
+ export declare const getCountryName: (countryCode: string, t: TransForLibs<"myNetwork.insights.unknown">, languages: readonly string[]) => string;
@@ -0,0 +1,8 @@
1
+ import { FilterDefinition } from "../types/FilterTypes";
2
+ /**
3
+ * Merges additional filters into an existing filter bar definition.
4
+ *
5
+ * @param {Record<string, FilterDefinition>} filterBarDefinition - The existing filter bar definition to which the filters will be added.
6
+ * @param {FilterDefinition[]} extraFilters - An array of additional filters to merge into the definition.
7
+ */
8
+ export declare const mergeFilters: (filterBarDefinition: Record<string, FilterDefinition>, extraFilters: FilterDefinition[]) => void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Returns the two first values, appends counter if more.
3
+ *
4
+ * @param {string[]} [input] Array of values to reduce
5
+ * @returns {*} {string}
6
+ */
7
+ export declare const reduceFilterText: (input: string | string[]) => string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Toggles a filter value in an array.
3
+ *
4
+ * @template T - The type of the filter values.
5
+ * @returns {(prev?: T[]) => T[]} A function that takes an optional previous array of filter values
6
+ */
7
+ export declare const toggleFilterValue: <T extends Object>(value: T) => (prev?: T[] | undefined) => T[];
@@ -0,0 +1,10 @@
1
+ import { FilterBarConfig, FilterBarDefinition, FilterDefinition } from "../types/FilterTypes";
2
+ /**
3
+ * Validates a filter configuration against filter definitions.
4
+ *
5
+ * @template TFilterBarDefinition - The type of the filter bar definition.
6
+ * @param {FilterBarConfig<TFilterBarDefinition>} filter - The filter configuration to validate.
7
+ * @param {FilterDefinition[]} filterDefinitions - An array of filter definitions to validate against.
8
+ * @returns {boolean} - Returns `true` if the filter configuration is valid, otherwise `false`.
9
+ */
10
+ export declare const validateFilter: <TFilterBarDefinition extends FilterBarDefinition>(filter: FilterBarConfig<TFilterBarDefinition>, filterDefinitions: FilterDefinition[]) => boolean;
@@ -0,0 +1,34 @@
1
+ /// <reference types="react" />
2
+ import { NamespaceTransProps, TransForLibs, TranslationResource } from "@trackunit/i18n-library-translation";
3
+ import defaultTranslations from "./locales/en/translation.json";
4
+ /** A type for all available translation keys in this library */
5
+ export type TranslationKeys = keyof typeof defaultTranslations;
6
+ /** The translation namespace for this library */
7
+ export declare const namespace = "filters";
8
+ /**
9
+ * The TranslationResource for this Library.
10
+ * Holds lazy loaded imports for all languages supported by the library.
11
+ *
12
+ * This is used to register the translations for this library before initializing i18next.
13
+ */
14
+ export declare const translations: TranslationResource<TranslationKeys>;
15
+ /**
16
+ * Local useTranslation for this specific library
17
+ */
18
+ 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.rentalCustomerNameFilter.label" | "assetFilters.rentalStatusFilter.label" | "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" | "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.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.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.accessControlType.NO_ACCESSORY_CONNECTED" | "myNetwork.insights.accessControlType.TRACKUNIT_DUALID_CONNECTED" | "myNetwork.insights.accessControlType.TRACKUNIT_DUALID_II_CONNECTED" | "myNetwork.insights.accessControlType.TRACKUNIT_IBUTTON_READER_CONNECTED" | "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.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] & {
19
+ 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.rentalCustomerNameFilter.label" | "assetFilters.rentalStatusFilter.label" | "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" | "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.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.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.accessControlType.NO_ACCESSORY_CONNECTED" | "myNetwork.insights.accessControlType.TRACKUNIT_DUALID_CONNECTED" | "myNetwork.insights.accessControlType.TRACKUNIT_DUALID_II_CONNECTED" | "myNetwork.insights.accessControlType.TRACKUNIT_IBUTTON_READER_CONNECTED" | "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.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">;
20
+ i18n: import("i18next").i18n;
21
+ ready: boolean;
22
+ };
23
+ /**
24
+ * Type of the t function for the local useTranslation for this specific library
25
+ */
26
+ export type TranslationFunction = TransForLibs<TranslationKeys>;
27
+ /**
28
+ * Trans for this specific library.
29
+ */
30
+ export declare const Trans: (props: NamespaceTransProps<TranslationKeys>) => JSX.Element;
31
+ /**
32
+ * Registers the translations for this library
33
+ */
34
+ export declare const setupLibraryTranslations: () => void;