@trackunit/filters-filter-bar 0.0.90 → 0.0.92

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.
package/index.cjs.js CHANGED
@@ -105,6 +105,8 @@ var defaultTranslations = {
105
105
  "auditlog.filter.components": "Components",
106
106
  "auditlog.filter.events": "Events",
107
107
  "auditlog.filter.users": "Users",
108
+ "filter.more.options.if.you.search.description": "Use search to refine results.",
109
+ "filter.more.options.if.you.search.title": "Over {{count}} items found.",
108
110
  "filtersBar.closeFilter": "Close",
109
111
  "filtersBar.defaultAssetFilters.followedFilter.ALL": "All Assets",
110
112
  "filtersBar.defaultAssetFilters.followedFilter.allLabel": "All Assets",
@@ -561,10 +563,12 @@ const VirtualizedList = ({ parentRef, count, children }) => {
561
563
  *
562
564
  * @returns {JSX.Element} - Returns the DynamicFilterList component.
563
565
  */
564
- const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, prefixMapper, onChange, checked, count, showTooltip, type, }) => {
566
+ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, prefixMapper, onChange, checked, count, showTooltip, showRequestMoreUseSearch = false, type, }) => {
567
+ const [t] = useTranslation();
565
568
  const parentRef = react.useRef(null);
566
- return (jsxRuntime.jsx(reactFilterComponents.FilterBody, { limitSize: true, ref: parentRef, children: jsxRuntime.jsx(VirtualizedList, { parentRef: parentRef, count: rowCount, children: index => {
567
- return (jsxRuntime.jsx("div", { children: type === "Radio" ? (jsxRuntime.jsx(reactFilterComponents.RadioFilterItem, { dataTestId: "dynamic-filter-radio-" + keyMapper(index), label: labelMapper(index), value: keyMapper(index), selected: checked(index), prefix: prefixMapper === null || prefixMapper === void 0 ? void 0 : prefixMapper(index), itemCount: count(index) }, keyMapper(index))) : (jsxRuntime.jsx(reactFilterComponents.CheckBoxFilterItem, { dataTestId: "dynamic-filter-check-box-" + keyMapper(index), name: keyMapper(index), label: labelMapper(index), checked: checked(index), showTooltip: showTooltip, onChange: () => onChange === null || onChange === void 0 ? void 0 : onChange(index), prefix: prefixMapper === null || prefixMapper === void 0 ? void 0 : prefixMapper(index), itemCount: count(index) }, keyMapper(index))) }));
569
+ const updatedRowCount = react.useMemo(() => (showRequestMoreUseSearch ? rowCount + 1 : rowCount), [rowCount, showRequestMoreUseSearch]);
570
+ return (jsxRuntime.jsx(reactFilterComponents.FilterBody, { limitSize: true, ref: parentRef, children: jsxRuntime.jsx(VirtualizedList, { parentRef: parentRef, count: updatedRowCount, children: index => {
571
+ return (jsxRuntime.jsx("div", { children: showRequestMoreUseSearch && index === rowCount ? (jsxRuntime.jsxs("div", { className: "p-3 pt-2", children: [jsxRuntime.jsx("span", { className: "text-sm text-gray-600", children: t("filter.more.options.if.you.search.title", { count: rowCount }) }), jsxRuntime.jsx("br", {}), jsxRuntime.jsx("span", { className: "text-sm italic text-gray-400", children: t("filter.more.options.if.you.search.description") })] })) : type === "Radio" ? (jsxRuntime.jsx(reactFilterComponents.RadioFilterItem, { dataTestId: "dynamic-filter-radio-" + keyMapper(index), label: labelMapper(index), value: keyMapper(index), selected: checked(index), prefix: prefixMapper === null || prefixMapper === void 0 ? void 0 : prefixMapper(index), itemCount: count(index) }, keyMapper(index))) : (jsxRuntime.jsx(reactFilterComponents.CheckBoxFilterItem, { dataTestId: "dynamic-filter-check-box-" + keyMapper(index), name: keyMapper(index), label: labelMapper(index), checked: checked(index), showTooltip: showTooltip, onChange: () => onChange === null || onChange === void 0 ? void 0 : onChange(index), prefix: prefixMapper === null || prefixMapper === void 0 ? void 0 : prefixMapper(index), itemCount: count(index) }, keyMapper(index))) }));
568
572
  } }) }));
569
573
  };
570
574
 
@@ -588,11 +592,11 @@ const FilterHeader = ({ filterKey, title, searchEnabled, searchProps, filterHasC
588
592
  * shows no results if length or array is 0
589
593
  * otherwise it calls children as a render prop
590
594
  */
591
- const FilterResults = ({ results, loading, children }) => {
595
+ const FilterResults = ({ results, ignoreUndefined, loading, children }) => {
592
596
  if (!results) {
593
597
  return null;
594
598
  }
595
- if (results.length === 0) {
599
+ if ((ignoreUndefined ? results.length - 1 : results.length) === 0) {
596
600
  return jsxRuntime.jsx(EmptyResults, { loading: loading });
597
601
  }
598
602
  return jsxRuntime.jsx(jsxRuntime.Fragment, { children: children(results) });
@@ -607,22 +611,69 @@ const EmptyResults = ({ loading }) => {
607
611
  *
608
612
  * @param {DefaultFilterProps<string[]>} props - The properties required for the `DefaultCheckboxFilter` component.
609
613
  */
610
- const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, loading, filterName, customSearch, showTooltip = true, setValue, }) => {
611
- var _a, _b;
614
+ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, loading, setValue, filterName, customSearch, showRequestMoreUseSearch = false, showUndefinedOptionWithCountAtBottom = true, showTooltip = true, }) => {
615
+ var _a, _b, _c, _d, _e;
616
+ const [undefinedCount, setUndefinedCount] = react.useState(null);
612
617
  const { logEvent } = reactCoreHooks.useAnalytics(FilterEvents);
613
618
  const handleClick = (value) => {
614
619
  logEvent("FilterApplied", {
615
620
  type: filterName !== null && filterName !== void 0 ? filterName : `${sharedUtils.capitalize(filterDefinition.filterKey)}Filter`,
616
- value,
621
+ value: value.key,
617
622
  });
618
- setValue(toggleFilterValue(value));
623
+ if (filterDefinition.type === "stringArray") {
624
+ // eslint-disable-next-line local-rules/no-typescript-assertion
625
+ const setValueAsString = setValue;
626
+ setValueAsString(prev => {
627
+ if (prev === undefined) {
628
+ return [value.key];
629
+ }
630
+ return toggleFilterValue(value.key)(prev);
631
+ });
632
+ }
633
+ else if (filterDefinition.type === "valueName") {
634
+ // eslint-disable-next-line local-rules/no-typescript-assertion
635
+ const setValueAsValueName = setValue;
636
+ setValueAsValueName(prev => {
637
+ if (!prev) {
638
+ return [{ name: value.label, value: value.key }];
639
+ }
640
+ let array = prev;
641
+ if (prev.find(f => f.value === value.key) !== undefined) {
642
+ array = array.filter(f => f.value !== value.key);
643
+ }
644
+ else {
645
+ array = [...array, { name: value.label, value: value.key }];
646
+ }
647
+ return array;
648
+ });
649
+ }
619
650
  };
620
651
  const [filteredOptions, searchText, setSearchText] = reactCoreHooks.useTextSearch(options, item => [item.label]);
652
+ const results = react.useMemo(() => {
653
+ const result = customSearch ? options : filteredOptions;
654
+ if (showUndefinedOptionWithCountAtBottom) {
655
+ const foundUndefined = result.filter(option => option.key === "UNDEFINED");
656
+ const allWithoutUndefined = result.filter(option => option.key !== "UNDEFINED");
657
+ return [...allWithoutUndefined, ...foundUndefined];
658
+ }
659
+ return result;
660
+ }, [customSearch, options, filteredOptions, showUndefinedOptionWithCountAtBottom]);
661
+ react.useEffect(() => {
662
+ var _a, _b;
663
+ const index = results.findIndex(option => option.key === "UNDEFINED");
664
+ if (index !== -1) {
665
+ setUndefinedCount({ count: (_b = (_a = results[index]) === null || _a === void 0 ? void 0 : _a.count) !== null && _b !== void 0 ? _b : 0, index });
666
+ }
667
+ }, [results]);
621
668
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(FilterHeader, Object.assign({}, filterDefinition, filterBarActions, { loading: loading, searchEnabled: true, searchProps: {
622
669
  value: (_a = customSearch === null || customSearch === void 0 ? void 0 : customSearch.value) !== null && _a !== void 0 ? _a : searchText,
623
670
  onChange: (_b = customSearch === null || customSearch === void 0 ? void 0 : customSearch.onChange) !== null && _b !== void 0 ? _b : setSearchText,
624
- count: filteredOptions.length,
625
- } })), jsxRuntime.jsx(FilterResults, { results: customSearch ? options : filteredOptions, loading: loading, children: res => (jsxRuntime.jsx(DynamicFilterList, { type: "CheckBox", showTooltip: showTooltip, rowCount: res.length, count: index => res[index].count, keyMapper: index => res[index].key, labelMapper: index => res[index].label, checked: index => filterBarActions.arrayIncludesValue(filterDefinition.filterKey, res[index].key), onChange: index => handleClick(res[index].key), prefixMapper: index => res[index].prefix })) })] }));
671
+ count: undefinedCount ? filteredOptions.length - 1 : filteredOptions.length,
672
+ } })), jsxRuntime.jsx(FilterResults, { results: results, ignoreUndefined: undefinedCount !== null, loading: loading, children: res => (jsxRuntime.jsx(DynamicFilterList, { type: "CheckBox", showTooltip: showTooltip, rowCount: undefinedCount ? res.length - 1 : res.length, count: index => res[index].count, keyMapper: index => res[index].key, labelMapper: index => res[index].label, checked: index => filterDefinition.type === "valueName"
673
+ ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index].key)
674
+ : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, res[index].key), onChange: index => handleClick(res[index]), prefixMapper: index => res[index].prefix, showRequestMoreUseSearch: showRequestMoreUseSearch })) }), showUndefinedOptionWithCountAtBottom && undefinedCount ? (jsxRuntime.jsx(reactFilterComponents.CheckBoxFilterItem, { className: "border-t-2", dataTestId: "dynamic-filter-check-box-undefined", name: "dynamic-filter-check-box-undefined", label: (_c = results[undefinedCount.index]) === null || _c === void 0 ? void 0 : _c.label, checked: filterDefinition.type === "valueName"
675
+ ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, (_d = results[undefinedCount.index]) === null || _d === void 0 ? void 0 : _d.key)
676
+ : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, (_e = results[undefinedCount.index]) === null || _e === void 0 ? void 0 : _e.key), onChange: () => handleClick(results[undefinedCount.index]), itemCount: undefinedCount.count }, "dynamic-filter-check-box-undefined")) : null] }));
626
677
  };
627
678
 
628
679
  const formatToJustDate = (date) => {
@@ -720,7 +771,7 @@ const DefaultMinMaxFilter = ({ filterDefinition, filterName, value, setValue, fi
720
771
  *
721
772
  * @returns {JSX.Element} - Returns the DefaultRadioFilter component.
722
773
  */
723
- const DefaultRadioFilter = ({ filterDefinition, filterBarActions, options, loading, filterName, customSearch, showTooltip, }) => {
774
+ const DefaultRadioFilter = ({ filterDefinition, filterBarActions, options, loading, filterName, customSearch, showRequestMoreUseSearch = false, showTooltip, }) => {
724
775
  var _a, _b, _c;
725
776
  const { logEvent } = reactCoreHooks.useAnalytics(FilterEvents);
726
777
  const [filteredOptions, searchText, setSearchText] = reactCoreHooks.useTextSearch(options, item => [item.label]);
@@ -742,7 +793,7 @@ const DefaultRadioFilter = ({ filterDefinition, filterBarActions, options, loadi
742
793
  count: filteredOptions.length,
743
794
  } })), jsxRuntime.jsx(FilterResults, { results: customSearch ? options : filteredOptions, loading: loading, children: res => (jsxRuntime.jsx(reactFormComponents.RadioGroup, { value: selectedRadioId, id: "DefaultRadioFilter", onChange: e => {
744
795
  handleClick(e.currentTarget.value);
745
- }, children: jsxRuntime.jsx(DynamicFilterList, { type: "Radio", showTooltip: showTooltip, rowCount: res.length, count: index => res[index].count, keyMapper: index => res[index].key, labelMapper: index => res[index].label, checked: index => filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index].key), prefixMapper: index => res[index].prefix }) })) })] }));
796
+ }, children: jsxRuntime.jsx(DynamicFilterList, { type: "Radio", showTooltip: showTooltip, rowCount: res.length, count: index => res[index].count, keyMapper: index => res[index].key, labelMapper: index => res[index].label, checked: index => filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index].key), prefixMapper: index => res[index].prefix, showRequestMoreUseSearch: showRequestMoreUseSearch }) })) })] }));
746
797
  };
747
798
 
748
799
  /**
package/index.esm.js CHANGED
@@ -101,6 +101,8 @@ var defaultTranslations = {
101
101
  "auditlog.filter.components": "Components",
102
102
  "auditlog.filter.events": "Events",
103
103
  "auditlog.filter.users": "Users",
104
+ "filter.more.options.if.you.search.description": "Use search to refine results.",
105
+ "filter.more.options.if.you.search.title": "Over {{count}} items found.",
104
106
  "filtersBar.closeFilter": "Close",
105
107
  "filtersBar.defaultAssetFilters.followedFilter.ALL": "All Assets",
106
108
  "filtersBar.defaultAssetFilters.followedFilter.allLabel": "All Assets",
@@ -557,10 +559,12 @@ const VirtualizedList = ({ parentRef, count, children }) => {
557
559
  *
558
560
  * @returns {JSX.Element} - Returns the DynamicFilterList component.
559
561
  */
560
- const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, prefixMapper, onChange, checked, count, showTooltip, type, }) => {
562
+ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, prefixMapper, onChange, checked, count, showTooltip, showRequestMoreUseSearch = false, type, }) => {
563
+ const [t] = useTranslation();
561
564
  const parentRef = useRef(null);
562
- return (jsx(FilterBody, { limitSize: true, ref: parentRef, children: jsx(VirtualizedList, { parentRef: parentRef, count: rowCount, children: index => {
563
- return (jsx("div", { children: type === "Radio" ? (jsx(RadioFilterItem, { dataTestId: "dynamic-filter-radio-" + keyMapper(index), label: labelMapper(index), value: keyMapper(index), selected: checked(index), prefix: prefixMapper === null || prefixMapper === void 0 ? void 0 : prefixMapper(index), itemCount: count(index) }, keyMapper(index))) : (jsx(CheckBoxFilterItem, { dataTestId: "dynamic-filter-check-box-" + keyMapper(index), name: keyMapper(index), label: labelMapper(index), checked: checked(index), showTooltip: showTooltip, onChange: () => onChange === null || onChange === void 0 ? void 0 : onChange(index), prefix: prefixMapper === null || prefixMapper === void 0 ? void 0 : prefixMapper(index), itemCount: count(index) }, keyMapper(index))) }));
565
+ const updatedRowCount = useMemo(() => (showRequestMoreUseSearch ? rowCount + 1 : rowCount), [rowCount, showRequestMoreUseSearch]);
566
+ return (jsx(FilterBody, { limitSize: true, ref: parentRef, children: jsx(VirtualizedList, { parentRef: parentRef, count: updatedRowCount, children: index => {
567
+ return (jsx("div", { children: showRequestMoreUseSearch && index === rowCount ? (jsxs("div", { className: "p-3 pt-2", children: [jsx("span", { className: "text-sm text-gray-600", children: t("filter.more.options.if.you.search.title", { count: rowCount }) }), jsx("br", {}), jsx("span", { className: "text-sm italic text-gray-400", children: t("filter.more.options.if.you.search.description") })] })) : type === "Radio" ? (jsx(RadioFilterItem, { dataTestId: "dynamic-filter-radio-" + keyMapper(index), label: labelMapper(index), value: keyMapper(index), selected: checked(index), prefix: prefixMapper === null || prefixMapper === void 0 ? void 0 : prefixMapper(index), itemCount: count(index) }, keyMapper(index))) : (jsx(CheckBoxFilterItem, { dataTestId: "dynamic-filter-check-box-" + keyMapper(index), name: keyMapper(index), label: labelMapper(index), checked: checked(index), showTooltip: showTooltip, onChange: () => onChange === null || onChange === void 0 ? void 0 : onChange(index), prefix: prefixMapper === null || prefixMapper === void 0 ? void 0 : prefixMapper(index), itemCount: count(index) }, keyMapper(index))) }));
564
568
  } }) }));
565
569
  };
566
570
 
@@ -584,11 +588,11 @@ const FilterHeader = ({ filterKey, title, searchEnabled, searchProps, filterHasC
584
588
  * shows no results if length or array is 0
585
589
  * otherwise it calls children as a render prop
586
590
  */
587
- const FilterResults = ({ results, loading, children }) => {
591
+ const FilterResults = ({ results, ignoreUndefined, loading, children }) => {
588
592
  if (!results) {
589
593
  return null;
590
594
  }
591
- if (results.length === 0) {
595
+ if ((ignoreUndefined ? results.length - 1 : results.length) === 0) {
592
596
  return jsx(EmptyResults, { loading: loading });
593
597
  }
594
598
  return jsx(Fragment, { children: children(results) });
@@ -603,22 +607,69 @@ const EmptyResults = ({ loading }) => {
603
607
  *
604
608
  * @param {DefaultFilterProps<string[]>} props - The properties required for the `DefaultCheckboxFilter` component.
605
609
  */
606
- const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, loading, filterName, customSearch, showTooltip = true, setValue, }) => {
607
- var _a, _b;
610
+ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, loading, setValue, filterName, customSearch, showRequestMoreUseSearch = false, showUndefinedOptionWithCountAtBottom = true, showTooltip = true, }) => {
611
+ var _a, _b, _c, _d, _e;
612
+ const [undefinedCount, setUndefinedCount] = useState(null);
608
613
  const { logEvent } = useAnalytics(FilterEvents);
609
614
  const handleClick = (value) => {
610
615
  logEvent("FilterApplied", {
611
616
  type: filterName !== null && filterName !== void 0 ? filterName : `${capitalize$1(filterDefinition.filterKey)}Filter`,
612
- value,
617
+ value: value.key,
613
618
  });
614
- setValue(toggleFilterValue(value));
619
+ if (filterDefinition.type === "stringArray") {
620
+ // eslint-disable-next-line local-rules/no-typescript-assertion
621
+ const setValueAsString = setValue;
622
+ setValueAsString(prev => {
623
+ if (prev === undefined) {
624
+ return [value.key];
625
+ }
626
+ return toggleFilterValue(value.key)(prev);
627
+ });
628
+ }
629
+ else if (filterDefinition.type === "valueName") {
630
+ // eslint-disable-next-line local-rules/no-typescript-assertion
631
+ const setValueAsValueName = setValue;
632
+ setValueAsValueName(prev => {
633
+ if (!prev) {
634
+ return [{ name: value.label, value: value.key }];
635
+ }
636
+ let array = prev;
637
+ if (prev.find(f => f.value === value.key) !== undefined) {
638
+ array = array.filter(f => f.value !== value.key);
639
+ }
640
+ else {
641
+ array = [...array, { name: value.label, value: value.key }];
642
+ }
643
+ return array;
644
+ });
645
+ }
615
646
  };
616
647
  const [filteredOptions, searchText, setSearchText] = useTextSearch(options, item => [item.label]);
648
+ const results = useMemo(() => {
649
+ const result = customSearch ? options : filteredOptions;
650
+ if (showUndefinedOptionWithCountAtBottom) {
651
+ const foundUndefined = result.filter(option => option.key === "UNDEFINED");
652
+ const allWithoutUndefined = result.filter(option => option.key !== "UNDEFINED");
653
+ return [...allWithoutUndefined, ...foundUndefined];
654
+ }
655
+ return result;
656
+ }, [customSearch, options, filteredOptions, showUndefinedOptionWithCountAtBottom]);
657
+ useEffect(() => {
658
+ var _a, _b;
659
+ const index = results.findIndex(option => option.key === "UNDEFINED");
660
+ if (index !== -1) {
661
+ setUndefinedCount({ count: (_b = (_a = results[index]) === null || _a === void 0 ? void 0 : _a.count) !== null && _b !== void 0 ? _b : 0, index });
662
+ }
663
+ }, [results]);
617
664
  return (jsxs(Fragment, { children: [jsx(FilterHeader, Object.assign({}, filterDefinition, filterBarActions, { loading: loading, searchEnabled: true, searchProps: {
618
665
  value: (_a = customSearch === null || customSearch === void 0 ? void 0 : customSearch.value) !== null && _a !== void 0 ? _a : searchText,
619
666
  onChange: (_b = customSearch === null || customSearch === void 0 ? void 0 : customSearch.onChange) !== null && _b !== void 0 ? _b : setSearchText,
620
- count: filteredOptions.length,
621
- } })), jsx(FilterResults, { results: customSearch ? options : filteredOptions, loading: loading, children: res => (jsx(DynamicFilterList, { type: "CheckBox", showTooltip: showTooltip, rowCount: res.length, count: index => res[index].count, keyMapper: index => res[index].key, labelMapper: index => res[index].label, checked: index => filterBarActions.arrayIncludesValue(filterDefinition.filterKey, res[index].key), onChange: index => handleClick(res[index].key), prefixMapper: index => res[index].prefix })) })] }));
667
+ count: undefinedCount ? filteredOptions.length - 1 : filteredOptions.length,
668
+ } })), jsx(FilterResults, { results: results, ignoreUndefined: undefinedCount !== null, loading: loading, children: res => (jsx(DynamicFilterList, { type: "CheckBox", showTooltip: showTooltip, rowCount: undefinedCount ? res.length - 1 : res.length, count: index => res[index].count, keyMapper: index => res[index].key, labelMapper: index => res[index].label, checked: index => filterDefinition.type === "valueName"
669
+ ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index].key)
670
+ : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, res[index].key), onChange: index => handleClick(res[index]), prefixMapper: index => res[index].prefix, showRequestMoreUseSearch: showRequestMoreUseSearch })) }), showUndefinedOptionWithCountAtBottom && undefinedCount ? (jsx(CheckBoxFilterItem, { className: "border-t-2", dataTestId: "dynamic-filter-check-box-undefined", name: "dynamic-filter-check-box-undefined", label: (_c = results[undefinedCount.index]) === null || _c === void 0 ? void 0 : _c.label, checked: filterDefinition.type === "valueName"
671
+ ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, (_d = results[undefinedCount.index]) === null || _d === void 0 ? void 0 : _d.key)
672
+ : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, (_e = results[undefinedCount.index]) === null || _e === void 0 ? void 0 : _e.key), onChange: () => handleClick(results[undefinedCount.index]), itemCount: undefinedCount.count }, "dynamic-filter-check-box-undefined")) : null] }));
622
673
  };
623
674
 
624
675
  const formatToJustDate = (date) => {
@@ -716,7 +767,7 @@ const DefaultMinMaxFilter = ({ filterDefinition, filterName, value, setValue, fi
716
767
  *
717
768
  * @returns {JSX.Element} - Returns the DefaultRadioFilter component.
718
769
  */
719
- const DefaultRadioFilter = ({ filterDefinition, filterBarActions, options, loading, filterName, customSearch, showTooltip, }) => {
770
+ const DefaultRadioFilter = ({ filterDefinition, filterBarActions, options, loading, filterName, customSearch, showRequestMoreUseSearch = false, showTooltip, }) => {
720
771
  var _a, _b, _c;
721
772
  const { logEvent } = useAnalytics(FilterEvents);
722
773
  const [filteredOptions, searchText, setSearchText] = useTextSearch(options, item => [item.label]);
@@ -738,7 +789,7 @@ const DefaultRadioFilter = ({ filterDefinition, filterBarActions, options, loadi
738
789
  count: filteredOptions.length,
739
790
  } })), jsx(FilterResults, { results: customSearch ? options : filteredOptions, loading: loading, children: res => (jsx(RadioGroup, { value: selectedRadioId, id: "DefaultRadioFilter", onChange: e => {
740
791
  handleClick(e.currentTarget.value);
741
- }, children: jsx(DynamicFilterList, { type: "Radio", showTooltip: showTooltip, rowCount: res.length, count: index => res[index].count, keyMapper: index => res[index].key, labelMapper: index => res[index].label, checked: index => filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index].key), prefixMapper: index => res[index].prefix }) })) })] }));
792
+ }, children: jsx(DynamicFilterList, { type: "Radio", showTooltip: showTooltip, rowCount: res.length, count: index => res[index].count, keyMapper: index => res[index].key, labelMapper: index => res[index].label, checked: index => filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index].key), prefixMapper: index => res[index].prefix, showRequestMoreUseSearch: showRequestMoreUseSearch }) })) })] }));
742
793
  };
743
794
 
744
795
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/filters-filter-bar",
3
- "version": "0.0.90",
3
+ "version": "0.0.92",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -1,8 +1,11 @@
1
1
  /// <reference types="react" />
2
+ import { ValueName } from "../types/FilterTypes";
2
3
  import { DefaultFilterProps } from "./DefaultFilterTypes";
4
+ type FilterDefinitionValue = string[] | ValueName[];
3
5
  /**
4
6
  * `DefaultCheckboxFilter` is a React component for handling checkbox filters.
5
7
  *
6
8
  * @param {DefaultFilterProps<string[]>} props - The properties required for the `DefaultCheckboxFilter` component.
7
9
  */
8
- export declare const DefaultCheckboxFilter: ({ filterDefinition, filterBarActions, options, loading, filterName, customSearch, showTooltip, setValue, }: DefaultFilterProps<string[]>) => JSX.Element;
10
+ export declare const DefaultCheckboxFilter: <T extends FilterDefinitionValue>({ filterDefinition, filterBarActions, options, loading, setValue, filterName, customSearch, showRequestMoreUseSearch, showUndefinedOptionWithCountAtBottom, showTooltip, }: DefaultFilterProps<T>) => JSX.Element;
11
+ export {};
@@ -35,6 +35,14 @@ export interface DefaultFilterProps<TReturnType> extends FilterViewProps<TReturn
35
35
  * A custom filter name, if provided.
36
36
  */
37
37
  filterName?: `${Capitalize<FilterName>}Filter`;
38
+ /**
39
+ * A flag indicating whether the "Use search to refine results." option should be displayed.
40
+ */
41
+ showRequestMoreUseSearch?: boolean;
42
+ /**
43
+ * A flag indicating whether the key "UNDEFINED" should be moved to bottom of the list always visible. Default is true
44
+ */
45
+ showUndefinedOptionWithCountAtBottom?: boolean;
38
46
  /**
39
47
  * By default, searches client side on all options. Override with this to support for server side searching
40
48
  */
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
- import { ValueName } from "../types/FilterTypes";
2
+ import { ValueName } from "@trackunit/react-core-contexts-api";
3
3
  import { DefaultFilterProps } from "./DefaultFilterTypes";
4
4
  /**
5
5
  * DefaultRadioFilter is a React component that renders a filter with radio button options based on the provided props.
6
6
  *
7
7
  * @returns {JSX.Element} - Returns the DefaultRadioFilter component.
8
8
  */
9
- export declare const DefaultRadioFilter: ({ filterDefinition, filterBarActions, options, loading, filterName, customSearch, showTooltip, }: DefaultFilterProps<ValueName[]>) => JSX.Element;
9
+ export declare const DefaultRadioFilter: ({ filterDefinition, filterBarActions, options, loading, filterName, customSearch, showRequestMoreUseSearch, showTooltip, }: DefaultFilterProps<ValueName[]>) => JSX.Element;
@@ -53,11 +53,15 @@ interface DynamicFilterListProps {
53
53
  * A flag indicating whether tooltips should be displayed for the rows.
54
54
  */
55
55
  showTooltip?: boolean;
56
+ /**
57
+ * A flag indicating whether the "Use search to refine results." option should be displayed.
58
+ */
59
+ showRequestMoreUseSearch?: boolean;
56
60
  }
57
61
  /**
58
62
  * DynamicFilterList is a React component that displays a list of dynamic filters with options like CheckBoxes or Radio buttons.
59
63
  *
60
64
  * @returns {JSX.Element} - Returns the DynamicFilterList component.
61
65
  */
62
- export declare const DynamicFilterList: ({ rowCount, keyMapper, labelMapper, prefixMapper, onChange, checked, count, showTooltip, type, }: DynamicFilterListProps) => JSX.Element;
66
+ export declare const DynamicFilterList: ({ rowCount, keyMapper, labelMapper, prefixMapper, onChange, checked, count, showTooltip, showRequestMoreUseSearch, type, }: DynamicFilterListProps) => JSX.Element;
63
67
  export {};
@@ -2,6 +2,7 @@
2
2
  interface Props<T> {
3
3
  results: T[] | undefined | null;
4
4
  loading?: boolean;
5
+ ignoreUndefined?: boolean;
5
6
  children: (results: T[]) => JSX.Element;
6
7
  }
7
8
  /**
@@ -10,5 +11,5 @@ interface Props<T> {
10
11
  * shows no results if length or array is 0
11
12
  * otherwise it calls children as a render prop
12
13
  */
13
- export declare const FilterResults: <T extends string | object>({ results, loading, children }: Props<T>) => JSX.Element | null;
14
+ export declare const FilterResults: <T extends string | object>({ results, ignoreUndefined, loading, children }: Props<T>) => JSX.Element | null;
14
15
  export {};
@@ -15,8 +15,8 @@ export declare const translations: TranslationResource<TranslationKeys>;
15
15
  /**
16
16
  * Local useTranslation for this specific library
17
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.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.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.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.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">;
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" | "filter.more.options.if.you.search.description" | "filter.more.options.if.you.search.title" | "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.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.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" | "filter.more.options.if.you.search.description" | "filter.more.options.if.you.search.title" | "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.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.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
20
  i18n: import("i18next").i18n;
21
21
  ready: boolean;
22
22
  };