@trackunit/filters-filter-bar 0.0.542 → 0.0.545

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
@@ -53,6 +53,7 @@ var defaultTranslations = {
53
53
  "assetFilters.lastSeenFilter.last7Days": "Last 7 days",
54
54
  "assetFilters.lastSeenFilter.lastHour": "Last hour",
55
55
  "assetFilters.lastSeenFilter.olderThan30Days": "More than 30 days",
56
+ "assetFilters.location.previouslySearched": "Previously searched ({{date}})",
56
57
  "assetFilters.ownerAccountNameFilter.label": "Owner",
57
58
  "assetFilters.partnerFilter.label": "Partner",
58
59
  "assetFilters.periodFilter.label": "Period",
@@ -362,17 +363,18 @@ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked
362
363
  *
363
364
  * @returns {JSX.Element} - Returns the FilterHeader component.
364
365
  */
365
- const FilterHeader = ({ filterKey, title, searchEnabled, searchProps, filterHasChanged, resetIndividualFilterToInitialState, onResetFilter, loading = false, className, dataTestId, }) => {
366
+ const FilterHeader = ({ filterKey, title, searchEnabled, searchProps, filterHasChanged, resetIndividualFilterToInitialState, onResetFilter, loading = false, children, className, dataTestId, }) => {
367
+ var _a;
366
368
  const [t] = useTranslation();
367
369
  const handleResetFilter = () => {
368
370
  resetIndividualFilterToInitialState(filterKey);
369
371
  onResetFilter === null || onResetFilter === void 0 ? void 0 : onResetFilter();
370
372
  };
371
- return (jsxRuntime.jsx(reactFilterComponents.FilterHeader, { className: className, dataTestId: dataTestId !== null && dataTestId !== void 0 ? dataTestId : `${filterKey}-filter-header`, loading: loading, onReset: handleResetFilter, resetLabel: t("filtersBar.resetFilter"), showReset: filterHasChanged(filterKey), title: title, children: searchEnabled ? (jsxRuntime.jsx(reactFormComponents.Search, { autoFocus: true, fieldSize: "small", id: `${filterKey}-search`, onChange: e => searchProps.onChange(e.currentTarget.value), onKeyDown: e => {
372
- if (e.key === "Enter" && searchProps.onEnter) {
373
- searchProps.onEnter(searchProps.value);
374
- }
375
- }, placeholder: t("assetFilters.searchPlaceholder"), suffix: jsxRuntime.jsx(reactComponents.Text, { size: "small", subtle: true, children: searchProps.count }), value: searchProps.value })) : null }));
373
+ return (jsxRuntime.jsxs(reactFilterComponents.FilterHeader, { className: className, dataTestId: dataTestId !== null && dataTestId !== void 0 ? dataTestId : `${filterKey}-filter-header`, loading: loading, onReset: handleResetFilter, resetLabel: t("filtersBar.resetFilter"), showReset: filterHasChanged(filterKey), title: title, children: [searchEnabled ? (jsxRuntime.jsx(reactFormComponents.Search, { autoFocus: true, fieldSize: "small", id: `${filterKey}-search`, onChange: e => searchProps.onChange(e.currentTarget.value), onKeyDown: e => {
374
+ if (e.key === "Enter" && searchProps.onEnter) {
375
+ searchProps.onEnter(searchProps.value);
376
+ }
377
+ }, placeholder: (_a = searchProps.placeholder) !== null && _a !== void 0 ? _a : t("assetFilters.searchPlaceholder"), suffix: jsxRuntime.jsx(reactComponents.Text, { size: "small", subtle: true, children: searchProps.count }), value: searchProps.value })) : null, children] }));
376
378
  };
377
379
 
378
380
  /**
@@ -659,8 +661,8 @@ const Filter = ({ filter, filterBarActions, filterState, }) => {
659
661
  else if (filter.type === "dateRange") {
660
662
  filterBarActions.setDateRange(filter.filterKey, newValue);
661
663
  }
662
- else if (filter.type === "boundingBox") {
663
- filterBarActions.setBoundingBox(newValue);
664
+ else if (filter.type === "area") {
665
+ filterBarActions.setArea(newValue);
664
666
  }
665
667
  else if (filter.type === "valueName") {
666
668
  filterBarActions.setArrayObjectValue(filter.filterKey, newValue);
@@ -770,36 +772,36 @@ const StarredFiltersMenu = ({ filterBarDefinition, updateStarredFilters, starred
770
772
  * @template TFilterBarDefinition - The type representing the filter bar definition.
771
773
  * @returns {JSX.Element} - Returns the StarredFilters component.
772
774
  */
773
- const StarredFilters = ({ filterBarDefinition, filterBarConfig, disableCollapse, hiddenFilters = [], }) => {
775
+ const StarredFilters = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [], }) => {
774
776
  const [t] = useTranslation();
775
777
  const { isLg } = reactComponents.useViewportSize();
776
- const hideInFilterBar = react.useMemo(() => {
778
+ const hideInMenu = react.useMemo(() => {
777
779
  return sharedUtils.objectValues(filterBarDefinition)
778
780
  .map(filter => {
779
781
  const showInFilterBar = filter.showInFilterBar ? filter.showInFilterBar() : true;
780
- return !showInFilterBar ? filter.filterKey : null;
782
+ const showInStarredMenu = filter.showInStarredMenu ? filter.showInStarredMenu() : true;
783
+ const showMenuAnywayBecauseFilterHasChanged = filterBarConfig.filterHasChanged(filter.filterKey);
784
+ return (!showInFilterBar || !showInStarredMenu) && !showMenuAnywayBecauseFilterHasChanged
785
+ ? filter.filterKey
786
+ : null;
781
787
  })
782
788
  .filter(sharedUtils.truthy);
783
- }, [filterBarDefinition]);
789
+ }, [filterBarConfig, filterBarDefinition]);
784
790
  const { filtersGrouped } = useStarredGroupFilters(sharedUtils.objectValues(filterBarDefinition), [
785
- ...hideInFilterBar,
791
+ ...hideInMenu,
786
792
  ...hiddenFilters,
787
793
  ]);
788
794
  const allFilters = filtersGrouped.map(group => group.filters).flat();
789
795
  const starredFilters = allFilters.filter(filter => {
790
- const showMenuAnyway = filterBarConfig.filterHasChanged(filter.filterKey) && filter.showInStarredMenu && !filter.showInStarredMenu();
791
796
  return (filterBarConfig.starredFilterKeys.includes(filter.filterKey) &&
792
- (showMenuAnyway || !filter.showDirectly));
797
+ !filter.showDirectly);
793
798
  });
794
- const nonAppliedFilters = starredFilters.filter(filter => !filterBarConfig.appliedFilterKeys.includes(filter.filterKey));
795
799
  const appliedFilters = starredFilters.filter(filter => filterBarConfig.appliedFilterKeys.includes(filter.filterKey));
796
- const filtersInPopover = isLg
797
- ? nonAppliedFilters.filter(filter => !filter.showDirectly)
798
- : starredFilters.filter(filter => !filter.showDirectly);
800
+ const filtersToShow = starredFilters.filter(filter => !filter.showDirectly);
799
801
  const showDirectlyFilters = allFilters.filter(filter => filter.showDirectly);
800
802
  return (jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [jsxRuntime.jsx(reactComponents.Popover, { placement: "bottom-start", children: modalState => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(reactComponents.PopoverTrigger, { children: jsxRuntime.jsx("div", { "data-testid": "starred-filters-menu-trigger", children: jsxRuntime.jsxs(reactComponents.Tooltip, { disabled: isLg || modalState.isOpen, label: jsxRuntime.jsx(FilterButtonTooltipLabel, { filterBarConfig: filterBarConfig }), children: [jsxRuntime.jsx(reactComponents.Button, { className: "@xs:flex hidden", prefix: jsxRuntime.jsx(reactComponents.Icon, { color: filterBarConfig.appliedFilterKeys.length > 0 ? "primary" : undefined, name: "Funnel", size: "small" }), size: "small", suffix: !isLg && filterBarConfig.appliedFilterKeys.length > 0
801
803
  ? `(${filterBarConfig.appliedFilterKeys.length})`
802
- : undefined, variant: "secondary", children: t("filtersBar.filtersHeading") }), jsxRuntime.jsx(reactComponents.IconButton, { className: "@xs:hidden", icon: jsxRuntime.jsx(reactComponents.Icon, { color: filterBarConfig.appliedFilterKeys.length > 0 ? "primary" : undefined, name: "Funnel", size: "small" }), size: "small", variant: "secondary" })] }) }) }), jsxRuntime.jsx(reactComponents.PopoverContent, { cellPadding: 100, children: jsxRuntime.jsxs(reactComponents.Card, { className: "max-h-[min(600px,_calc(100dvh-32px))] overflow-hidden", children: [filtersInPopover.length > 0 ? (jsxRuntime.jsx(reactComponents.CardBody, { density: "dense", children: jsxRuntime.jsx("div", { className: "flex h-full min-w-min flex-col gap-2", children: jsxRuntime.jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: filtersInPopover }) }) })) : null, jsxRuntime.jsxs(reactComponents.CardFooter, { className: filtersInPopover.length === 0 ? "border-none" : undefined, density: "dense", children: [jsxRuntime.jsx(StarredFiltersMenu, { className: "mr-auto", filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, starredFilterKeys: filterBarConfig.starredFilterKeys, updateStarredFilters: filterBarConfig.updateStarredFilters }), isLg ? null : (jsxRuntime.jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.appliedFilterKeys.length > 0, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState }))] })] }) })] })) }), showDirectlyFilters.length > 0 ? (jsxRuntime.jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: showDirectlyFilters })) : null, isLg ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [appliedFilters.filter(filter => !filter.showDirectly).length > 0 ? (jsxRuntime.jsx("div", { className: "h-4 w-[1px] bg-slate-300" })) : null, jsxRuntime.jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: appliedFilters }), jsxRuntime.jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.appliedFilterKeys.length > 0, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })] })) : null] }));
804
+ : undefined, variant: "secondary", children: t("filtersBar.filtersHeading") }), jsxRuntime.jsx(reactComponents.IconButton, { className: "@xs:hidden", icon: jsxRuntime.jsx(reactComponents.Icon, { color: filterBarConfig.appliedFilterKeys.length > 0 ? "primary" : undefined, name: "Funnel", size: "small" }), size: "small", variant: "secondary" })] }) }) }), jsxRuntime.jsx(reactComponents.PopoverContent, { cellPadding: 100, children: jsxRuntime.jsxs(reactComponents.Card, { className: "max-h-[min(600px,_calc(100dvh-32px))] overflow-hidden", children: [filtersToShow.length > 0 ? (jsxRuntime.jsx(reactComponents.CardBody, { density: "dense", children: jsxRuntime.jsx("div", { className: "flex h-full min-w-min flex-col gap-2", children: jsxRuntime.jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: filtersToShow }) }) })) : null, jsxRuntime.jsxs(reactComponents.CardFooter, { className: filtersToShow.length === 0 ? "border-none" : undefined, density: "dense", children: [jsxRuntime.jsx(StarredFiltersMenu, { className: "mr-auto", filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, starredFilterKeys: filterBarConfig.starredFilterKeys, updateStarredFilters: filterBarConfig.updateStarredFilters }), isLg ? null : (jsxRuntime.jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.appliedFilterKeys.length > 0, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState }))] })] }) })] })) }), showDirectlyFilters.length > 0 ? (jsxRuntime.jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: showDirectlyFilters })) : null, isLg ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [appliedFilters.filter(filter => !filter.showDirectly).length > 0 ? (jsxRuntime.jsx("div", { className: "h-4 w-[1px] bg-slate-300" })) : null, jsxRuntime.jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: appliedFilters }), jsxRuntime.jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.appliedFilterKeys.length > 0, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })] })) : null] }));
803
805
  };
804
806
  const FiltersList = ({ filters, filterBarConfig }) => {
805
807
  return filters.length === 0
@@ -827,8 +829,8 @@ const FilterButtonTooltipLabel = ({ filterBarConfig, }) => {
827
829
  /**
828
830
  * The FilterBar component serves as a wrapper for managing filters.
829
831
  */
830
- const FilterBar = ({ hiddenFilters, className, filterBarDefinition, filterBarConfig, disableCollapse = false, }) => {
831
- return (jsxRuntime.jsx("div", { className: tailwindMerge.twMerge("flex", className), "data-testid": `${filterBarConfig.name}-filterbar`, children: jsxRuntime.jsx(StarredFilters, { disableCollapse: disableCollapse, filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters }) }));
832
+ const FilterBar = ({ hiddenFilters, className, filterBarDefinition, filterBarConfig, }) => {
833
+ return (jsxRuntime.jsx("div", { className: tailwindMerge.twMerge("flex", className), "data-testid": `${filterBarConfig.name}-filterbar`, children: jsxRuntime.jsx(StarredFilters, { filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters }) }));
832
834
  };
833
835
 
834
836
  // Can't import jest.fn so must define a function that does nothing but mimics the jest.fn
@@ -850,7 +852,7 @@ const mockFilterBar = {
850
852
  setArrayObjectValue: doNothing,
851
853
  setArrayValue: doNothing,
852
854
  setBooleanValue: doNothing,
853
- setBoundingBox: doNothing,
855
+ setArea: doNothing,
854
856
  setDateRange: doNothing,
855
857
  setMinMaxValue: doNothing,
856
858
  setNumberValue: doNothing,
@@ -872,7 +874,6 @@ const mockFilterBar = {
872
874
  /**
873
875
  * A helper function that returns a default value based on the filter type.
874
876
  *
875
- * @param {FilterTypes} type - The filter type for which to retrieve the initial value.
876
877
  * @returns {string[] | ValueName[] | null | { min: undefined, max: undefined } | { from: undefined, to: undefined }} - The initial value corresponding to the given filter type.
877
878
  */
878
879
  const getInitialValueFromType = (type) => {
@@ -954,7 +955,7 @@ const isNotRightType = (filterDefinition, foundFilter) => {
954
955
  return ((filterDefinition.type === "valueName" && !isValueNameFilterValue(foundFilter)) ||
955
956
  (filterDefinition.type === "stringArray" && !isStringArrayFilterValue(foundFilter)) ||
956
957
  (filterDefinition.type === "dateRange" && !isDateRangeValue(foundFilter)) ||
957
- (filterDefinition.type === "boundingBox" && !isBoundingBox(foundFilter)) ||
958
+ (filterDefinition.type === "area" && !isAreaFilterValue(foundFilter)) ||
958
959
  (filterDefinition.type === "minMax" && !isMinMaxFilterValue(foundFilter)) ||
959
960
  (filterDefinition.type === "boolean" && !isBooleanValue(foundFilter)) ||
960
961
  (filterDefinition.type === "string" && typeof foundFilter !== "string") ||
@@ -979,12 +980,15 @@ const isDateRangeValue = (value) => {
979
980
  : false;
980
981
  };
981
982
  /**
982
- *
983
+ * {
984
+ type: "Polygon";
985
+ coordinates: [number, number][][];
986
+ }
983
987
  */
984
- const isBoundingBox = (value) => {
988
+ const isAreaFilterValue = (value) => {
989
+ // eslint-disable-next-line no-autofix/local-rules/prefer-custom-object-keys
985
990
  return value
986
- ? // eslint-disable-next-line no-autofix/local-rules/prefer-custom-object-keys
987
- typeof value === "object" && Object.keys(value).includes("nw") && Object.keys(value).includes("se")
991
+ ? typeof value === "object" && Object.keys(value).includes("coordinates") && Object.keys(value).includes("type")
988
992
  : false;
989
993
  };
990
994
  /**
@@ -1245,13 +1249,13 @@ const useFilterBar = ({ name, onValuesChange, filterBarDefinition, initialState,
1245
1249
  };
1246
1250
  });
1247
1251
  },
1248
- setBoundingBox(boundingBox) {
1252
+ setArea(area) {
1249
1253
  setFilterBarConfig(prevState => {
1250
1254
  return {
1251
1255
  ...prevState,
1252
1256
  values: {
1253
1257
  ...prevState.values,
1254
- boundingBox,
1258
+ area,
1255
1259
  },
1256
1260
  };
1257
1261
  });
@@ -1416,9 +1420,9 @@ exports.FilterEvents = FilterEvents;
1416
1420
  exports.FilterHeader = FilterHeader;
1417
1421
  exports.FilterResults = FilterResults;
1418
1422
  exports.StarredFilters = StarredFilters;
1423
+ exports.isAreaFilterValue = isAreaFilterValue;
1419
1424
  exports.isArrayFilterValue = isArrayFilterValue;
1420
1425
  exports.isBooleanValue = isBooleanValue;
1421
- exports.isBoundingBox = isBoundingBox;
1422
1426
  exports.isDateRangeValue = isDateRangeValue;
1423
1427
  exports.isMinMaxFilterValue = isMinMaxFilterValue;
1424
1428
  exports.isStringArrayFilterValue = isStringArrayFilterValue;
package/index.esm.js CHANGED
@@ -51,6 +51,7 @@ var defaultTranslations = {
51
51
  "assetFilters.lastSeenFilter.last7Days": "Last 7 days",
52
52
  "assetFilters.lastSeenFilter.lastHour": "Last hour",
53
53
  "assetFilters.lastSeenFilter.olderThan30Days": "More than 30 days",
54
+ "assetFilters.location.previouslySearched": "Previously searched ({{date}})",
54
55
  "assetFilters.ownerAccountNameFilter.label": "Owner",
55
56
  "assetFilters.partnerFilter.label": "Partner",
56
57
  "assetFilters.periodFilter.label": "Period",
@@ -360,17 +361,18 @@ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked
360
361
  *
361
362
  * @returns {JSX.Element} - Returns the FilterHeader component.
362
363
  */
363
- const FilterHeader = ({ filterKey, title, searchEnabled, searchProps, filterHasChanged, resetIndividualFilterToInitialState, onResetFilter, loading = false, className, dataTestId, }) => {
364
+ const FilterHeader = ({ filterKey, title, searchEnabled, searchProps, filterHasChanged, resetIndividualFilterToInitialState, onResetFilter, loading = false, children, className, dataTestId, }) => {
365
+ var _a;
364
366
  const [t] = useTranslation();
365
367
  const handleResetFilter = () => {
366
368
  resetIndividualFilterToInitialState(filterKey);
367
369
  onResetFilter === null || onResetFilter === void 0 ? void 0 : onResetFilter();
368
370
  };
369
- return (jsx(FilterHeader$1, { className: className, dataTestId: dataTestId !== null && dataTestId !== void 0 ? dataTestId : `${filterKey}-filter-header`, loading: loading, onReset: handleResetFilter, resetLabel: t("filtersBar.resetFilter"), showReset: filterHasChanged(filterKey), title: title, children: searchEnabled ? (jsx(Search, { autoFocus: true, fieldSize: "small", id: `${filterKey}-search`, onChange: e => searchProps.onChange(e.currentTarget.value), onKeyDown: e => {
370
- if (e.key === "Enter" && searchProps.onEnter) {
371
- searchProps.onEnter(searchProps.value);
372
- }
373
- }, placeholder: t("assetFilters.searchPlaceholder"), suffix: jsx(Text, { size: "small", subtle: true, children: searchProps.count }), value: searchProps.value })) : null }));
371
+ return (jsxs(FilterHeader$1, { className: className, dataTestId: dataTestId !== null && dataTestId !== void 0 ? dataTestId : `${filterKey}-filter-header`, loading: loading, onReset: handleResetFilter, resetLabel: t("filtersBar.resetFilter"), showReset: filterHasChanged(filterKey), title: title, children: [searchEnabled ? (jsx(Search, { autoFocus: true, fieldSize: "small", id: `${filterKey}-search`, onChange: e => searchProps.onChange(e.currentTarget.value), onKeyDown: e => {
372
+ if (e.key === "Enter" && searchProps.onEnter) {
373
+ searchProps.onEnter(searchProps.value);
374
+ }
375
+ }, placeholder: (_a = searchProps.placeholder) !== null && _a !== void 0 ? _a : t("assetFilters.searchPlaceholder"), suffix: jsx(Text, { size: "small", subtle: true, children: searchProps.count }), value: searchProps.value })) : null, children] }));
374
376
  };
375
377
 
376
378
  /**
@@ -657,8 +659,8 @@ const Filter = ({ filter, filterBarActions, filterState, }) => {
657
659
  else if (filter.type === "dateRange") {
658
660
  filterBarActions.setDateRange(filter.filterKey, newValue);
659
661
  }
660
- else if (filter.type === "boundingBox") {
661
- filterBarActions.setBoundingBox(newValue);
662
+ else if (filter.type === "area") {
663
+ filterBarActions.setArea(newValue);
662
664
  }
663
665
  else if (filter.type === "valueName") {
664
666
  filterBarActions.setArrayObjectValue(filter.filterKey, newValue);
@@ -768,36 +770,36 @@ const StarredFiltersMenu = ({ filterBarDefinition, updateStarredFilters, starred
768
770
  * @template TFilterBarDefinition - The type representing the filter bar definition.
769
771
  * @returns {JSX.Element} - Returns the StarredFilters component.
770
772
  */
771
- const StarredFilters = ({ filterBarDefinition, filterBarConfig, disableCollapse, hiddenFilters = [], }) => {
773
+ const StarredFilters = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [], }) => {
772
774
  const [t] = useTranslation();
773
775
  const { isLg } = useViewportSize();
774
- const hideInFilterBar = useMemo(() => {
776
+ const hideInMenu = useMemo(() => {
775
777
  return objectValues(filterBarDefinition)
776
778
  .map(filter => {
777
779
  const showInFilterBar = filter.showInFilterBar ? filter.showInFilterBar() : true;
778
- return !showInFilterBar ? filter.filterKey : null;
780
+ const showInStarredMenu = filter.showInStarredMenu ? filter.showInStarredMenu() : true;
781
+ const showMenuAnywayBecauseFilterHasChanged = filterBarConfig.filterHasChanged(filter.filterKey);
782
+ return (!showInFilterBar || !showInStarredMenu) && !showMenuAnywayBecauseFilterHasChanged
783
+ ? filter.filterKey
784
+ : null;
779
785
  })
780
786
  .filter(truthy);
781
- }, [filterBarDefinition]);
787
+ }, [filterBarConfig, filterBarDefinition]);
782
788
  const { filtersGrouped } = useStarredGroupFilters(objectValues(filterBarDefinition), [
783
- ...hideInFilterBar,
789
+ ...hideInMenu,
784
790
  ...hiddenFilters,
785
791
  ]);
786
792
  const allFilters = filtersGrouped.map(group => group.filters).flat();
787
793
  const starredFilters = allFilters.filter(filter => {
788
- const showMenuAnyway = filterBarConfig.filterHasChanged(filter.filterKey) && filter.showInStarredMenu && !filter.showInStarredMenu();
789
794
  return (filterBarConfig.starredFilterKeys.includes(filter.filterKey) &&
790
- (showMenuAnyway || !filter.showDirectly));
795
+ !filter.showDirectly);
791
796
  });
792
- const nonAppliedFilters = starredFilters.filter(filter => !filterBarConfig.appliedFilterKeys.includes(filter.filterKey));
793
797
  const appliedFilters = starredFilters.filter(filter => filterBarConfig.appliedFilterKeys.includes(filter.filterKey));
794
- const filtersInPopover = isLg
795
- ? nonAppliedFilters.filter(filter => !filter.showDirectly)
796
- : starredFilters.filter(filter => !filter.showDirectly);
798
+ const filtersToShow = starredFilters.filter(filter => !filter.showDirectly);
797
799
  const showDirectlyFilters = allFilters.filter(filter => filter.showDirectly);
798
800
  return (jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [jsx(Popover, { placement: "bottom-start", children: modalState => (jsxs(Fragment, { children: [jsx(PopoverTrigger, { children: jsx("div", { "data-testid": "starred-filters-menu-trigger", children: jsxs(Tooltip, { disabled: isLg || modalState.isOpen, label: jsx(FilterButtonTooltipLabel, { filterBarConfig: filterBarConfig }), children: [jsx(Button, { className: "@xs:flex hidden", prefix: jsx(Icon, { color: filterBarConfig.appliedFilterKeys.length > 0 ? "primary" : undefined, name: "Funnel", size: "small" }), size: "small", suffix: !isLg && filterBarConfig.appliedFilterKeys.length > 0
799
801
  ? `(${filterBarConfig.appliedFilterKeys.length})`
800
- : undefined, variant: "secondary", children: t("filtersBar.filtersHeading") }), jsx(IconButton, { className: "@xs:hidden", icon: jsx(Icon, { color: filterBarConfig.appliedFilterKeys.length > 0 ? "primary" : undefined, name: "Funnel", size: "small" }), size: "small", variant: "secondary" })] }) }) }), jsx(PopoverContent, { cellPadding: 100, children: jsxs(Card, { className: "max-h-[min(600px,_calc(100dvh-32px))] overflow-hidden", children: [filtersInPopover.length > 0 ? (jsx(CardBody, { density: "dense", children: jsx("div", { className: "flex h-full min-w-min flex-col gap-2", children: jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: filtersInPopover }) }) })) : null, jsxs(CardFooter, { className: filtersInPopover.length === 0 ? "border-none" : undefined, density: "dense", children: [jsx(StarredFiltersMenu, { className: "mr-auto", filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, starredFilterKeys: filterBarConfig.starredFilterKeys, updateStarredFilters: filterBarConfig.updateStarredFilters }), isLg ? null : (jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.appliedFilterKeys.length > 0, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState }))] })] }) })] })) }), showDirectlyFilters.length > 0 ? (jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: showDirectlyFilters })) : null, isLg ? (jsxs(Fragment, { children: [appliedFilters.filter(filter => !filter.showDirectly).length > 0 ? (jsx("div", { className: "h-4 w-[1px] bg-slate-300" })) : null, jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: appliedFilters }), jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.appliedFilterKeys.length > 0, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })] })) : null] }));
802
+ : undefined, variant: "secondary", children: t("filtersBar.filtersHeading") }), jsx(IconButton, { className: "@xs:hidden", icon: jsx(Icon, { color: filterBarConfig.appliedFilterKeys.length > 0 ? "primary" : undefined, name: "Funnel", size: "small" }), size: "small", variant: "secondary" })] }) }) }), jsx(PopoverContent, { cellPadding: 100, children: jsxs(Card, { className: "max-h-[min(600px,_calc(100dvh-32px))] overflow-hidden", children: [filtersToShow.length > 0 ? (jsx(CardBody, { density: "dense", children: jsx("div", { className: "flex h-full min-w-min flex-col gap-2", children: jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: filtersToShow }) }) })) : null, jsxs(CardFooter, { className: filtersToShow.length === 0 ? "border-none" : undefined, density: "dense", children: [jsx(StarredFiltersMenu, { className: "mr-auto", filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, starredFilterKeys: filterBarConfig.starredFilterKeys, updateStarredFilters: filterBarConfig.updateStarredFilters }), isLg ? null : (jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.appliedFilterKeys.length > 0, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState }))] })] }) })] })) }), showDirectlyFilters.length > 0 ? (jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: showDirectlyFilters })) : null, isLg ? (jsxs(Fragment, { children: [appliedFilters.filter(filter => !filter.showDirectly).length > 0 ? (jsx("div", { className: "h-4 w-[1px] bg-slate-300" })) : null, jsx(FiltersList, { filterBarConfig: filterBarConfig, filters: appliedFilters }), jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.appliedFilterKeys.length > 0, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })] })) : null] }));
801
803
  };
802
804
  const FiltersList = ({ filters, filterBarConfig }) => {
803
805
  return filters.length === 0
@@ -825,8 +827,8 @@ const FilterButtonTooltipLabel = ({ filterBarConfig, }) => {
825
827
  /**
826
828
  * The FilterBar component serves as a wrapper for managing filters.
827
829
  */
828
- const FilterBar = ({ hiddenFilters, className, filterBarDefinition, filterBarConfig, disableCollapse = false, }) => {
829
- return (jsx("div", { className: twMerge("flex", className), "data-testid": `${filterBarConfig.name}-filterbar`, children: jsx(StarredFilters, { disableCollapse: disableCollapse, filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters }) }));
830
+ const FilterBar = ({ hiddenFilters, className, filterBarDefinition, filterBarConfig, }) => {
831
+ return (jsx("div", { className: twMerge("flex", className), "data-testid": `${filterBarConfig.name}-filterbar`, children: jsx(StarredFilters, { filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters }) }));
830
832
  };
831
833
 
832
834
  // Can't import jest.fn so must define a function that does nothing but mimics the jest.fn
@@ -848,7 +850,7 @@ const mockFilterBar = {
848
850
  setArrayObjectValue: doNothing,
849
851
  setArrayValue: doNothing,
850
852
  setBooleanValue: doNothing,
851
- setBoundingBox: doNothing,
853
+ setArea: doNothing,
852
854
  setDateRange: doNothing,
853
855
  setMinMaxValue: doNothing,
854
856
  setNumberValue: doNothing,
@@ -870,7 +872,6 @@ const mockFilterBar = {
870
872
  /**
871
873
  * A helper function that returns a default value based on the filter type.
872
874
  *
873
- * @param {FilterTypes} type - The filter type for which to retrieve the initial value.
874
875
  * @returns {string[] | ValueName[] | null | { min: undefined, max: undefined } | { from: undefined, to: undefined }} - The initial value corresponding to the given filter type.
875
876
  */
876
877
  const getInitialValueFromType = (type) => {
@@ -952,7 +953,7 @@ const isNotRightType = (filterDefinition, foundFilter) => {
952
953
  return ((filterDefinition.type === "valueName" && !isValueNameFilterValue(foundFilter)) ||
953
954
  (filterDefinition.type === "stringArray" && !isStringArrayFilterValue(foundFilter)) ||
954
955
  (filterDefinition.type === "dateRange" && !isDateRangeValue(foundFilter)) ||
955
- (filterDefinition.type === "boundingBox" && !isBoundingBox(foundFilter)) ||
956
+ (filterDefinition.type === "area" && !isAreaFilterValue(foundFilter)) ||
956
957
  (filterDefinition.type === "minMax" && !isMinMaxFilterValue(foundFilter)) ||
957
958
  (filterDefinition.type === "boolean" && !isBooleanValue(foundFilter)) ||
958
959
  (filterDefinition.type === "string" && typeof foundFilter !== "string") ||
@@ -977,12 +978,15 @@ const isDateRangeValue = (value) => {
977
978
  : false;
978
979
  };
979
980
  /**
980
- *
981
+ * {
982
+ type: "Polygon";
983
+ coordinates: [number, number][][];
984
+ }
981
985
  */
982
- const isBoundingBox = (value) => {
986
+ const isAreaFilterValue = (value) => {
987
+ // eslint-disable-next-line no-autofix/local-rules/prefer-custom-object-keys
983
988
  return value
984
- ? // eslint-disable-next-line no-autofix/local-rules/prefer-custom-object-keys
985
- typeof value === "object" && Object.keys(value).includes("nw") && Object.keys(value).includes("se")
989
+ ? typeof value === "object" && Object.keys(value).includes("coordinates") && Object.keys(value).includes("type")
986
990
  : false;
987
991
  };
988
992
  /**
@@ -1243,13 +1247,13 @@ const useFilterBar = ({ name, onValuesChange, filterBarDefinition, initialState,
1243
1247
  };
1244
1248
  });
1245
1249
  },
1246
- setBoundingBox(boundingBox) {
1250
+ setArea(area) {
1247
1251
  setFilterBarConfig(prevState => {
1248
1252
  return {
1249
1253
  ...prevState,
1250
1254
  values: {
1251
1255
  ...prevState.values,
1252
- boundingBox,
1256
+ area,
1253
1257
  },
1254
1258
  };
1255
1259
  });
@@ -1404,4 +1408,4 @@ const mergeFilters = (filterBarDefinition, extraFilters) => {
1404
1408
  */
1405
1409
  setupLibraryTranslations();
1406
1410
 
1407
- export { DefaultCheckboxFilter, DefaultDateRangeFilter, DefaultMinMaxFilter, DefaultRadioFilter, DynamicFilterList, FilterBar, FilterEvents, FilterHeader, FilterResults, StarredFilters, isArrayFilterValue, isBooleanValue, isBoundingBox, isDateRangeValue, isMinMaxFilterValue, isStringArrayFilterValue, isValueNameFilterValue, mergeFilters, mockFilterBar, toggleFilterValue, useFilterBar, validateFilter };
1411
+ export { DefaultCheckboxFilter, DefaultDateRangeFilter, DefaultMinMaxFilter, DefaultRadioFilter, DynamicFilterList, FilterBar, FilterEvents, FilterHeader, FilterResults, StarredFilters, isAreaFilterValue, isArrayFilterValue, isBooleanValue, isDateRangeValue, isMinMaxFilterValue, isStringArrayFilterValue, isValueNameFilterValue, mergeFilters, mockFilterBar, toggleFilterValue, useFilterBar, validateFilter };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/filters-filter-bar",
3
- "version": "0.0.542",
3
+ "version": "0.0.545",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -18,13 +18,9 @@ interface FilterBarProps<TFilterBarDefinition extends FilterBarDefinition> {
18
18
  * @see FilterBarConfig
19
19
  */
20
20
  filterBarConfig: FilterBarConfig<TFilterBarDefinition> & FilterMapActions & FilterMapGetter;
21
- /**
22
- * If you want to disable the collapse functionality - if you filter only have 1 or 2 filters and it can fit on mobile screens.
23
- */
24
- disableCollapse?: boolean;
25
21
  }
26
22
  /**
27
23
  * The FilterBar component serves as a wrapper for managing filters.
28
24
  */
29
- export declare const FilterBar: <TFilterBarDefinition extends FilterBarDefinition>({ hiddenFilters, className, filterBarDefinition, filterBarConfig, disableCollapse, }: FilterBarProps<TFilterBarDefinition>) => import("react/jsx-runtime").JSX.Element;
25
+ export declare const FilterBar: <TFilterBarDefinition extends FilterBarDefinition>({ hiddenFilters, className, filterBarDefinition, filterBarConfig, }: FilterBarProps<TFilterBarDefinition>) => import("react/jsx-runtime").JSX.Element;
30
26
  export {};
@@ -30,6 +30,10 @@ interface FilterHeaderCommonProps extends CommonProps {
30
30
  * @returns {boolean} - `true` if the filter has changed, `false` otherwise.
31
31
  */
32
32
  filterHasChanged(key: string): boolean;
33
+ /**
34
+ * The children to render in the header of the filter.
35
+ */
36
+ children?: React.ReactNode;
33
37
  }
34
38
  interface FilterSearchProps {
35
39
  /**
@@ -47,6 +51,7 @@ interface FilterSearchProps {
47
51
  */
48
52
  count?: number;
49
53
  onEnter?: (value: string) => void;
54
+ placeholder?: string;
50
55
  }
51
56
  type FilterHeaderWithSearchProps = {
52
57
  searchEnabled?: false;
@@ -61,5 +66,5 @@ type FilterHeaderProps = FilterHeaderCommonProps & FilterHeaderWithSearchProps;
61
66
  *
62
67
  * @returns {JSX.Element} - Returns the FilterHeader component.
63
68
  */
64
- export declare const FilterHeader: ({ filterKey, title, searchEnabled, searchProps, filterHasChanged, resetIndividualFilterToInitialState, onResetFilter, loading, className, dataTestId, }: FilterHeaderProps) => JSX.Element;
69
+ export declare const FilterHeader: ({ filterKey, title, searchEnabled, searchProps, filterHasChanged, resetIndividualFilterToInitialState, onResetFilter, loading, children, className, dataTestId, }: FilterHeaderProps) => JSX.Element;
65
70
  export {};
@@ -12,10 +12,6 @@ interface StarredFiltersProps<TFilterBarDefinition extends FilterBarDefinition>
12
12
  * If you want some of the filters to be hidden, but still programmatically enabled
13
13
  */
14
14
  hiddenFilters?: string[];
15
- /**
16
- * If you want to disable the collapse functionality - if you filter only have 1 or 2 filters and it can fit on mobile screens.
17
- */
18
- disableCollapse?: boolean;
19
15
  }
20
16
  /**
21
17
  * StarredFilters is a React component that displays a list of starred filters based on the provided filter bar configuration.
@@ -23,5 +19,5 @@ interface StarredFiltersProps<TFilterBarDefinition extends FilterBarDefinition>
23
19
  * @template TFilterBarDefinition - The type representing the filter bar definition.
24
20
  * @returns {JSX.Element} - Returns the StarredFilters component.
25
21
  */
26
- export declare const StarredFilters: <TFilterBarDefinition extends FilterBarDefinition>({ filterBarDefinition, filterBarConfig, disableCollapse, hiddenFilters, }: StarredFiltersProps<TFilterBarDefinition>) => import("react/jsx-runtime").JSX.Element;
22
+ export declare const StarredFilters: <TFilterBarDefinition extends FilterBarDefinition>({ filterBarDefinition, filterBarConfig, hiddenFilters, }: StarredFiltersProps<TFilterBarDefinition>) => import("react/jsx-runtime").JSX.Element;
27
23
  export {};
@@ -1,4 +1,5 @@
1
- import { BooleanValue, BoundingBox, DateRangeValue, FilterBarDefinition, FilterStateValues, FilterValueType, InitialState, MinMaxFilterValue, NumberValue, ValueName } from "../types/FilterTypes";
1
+ import { GeoJsonPolygon } from "@trackunit/shared-utils";
2
+ import { BooleanValue, DateRangeValue, FilterBarDefinition, FilterStateValues, FilterValueType, InitialState, MinMaxFilterValue, NumberValue, ValueName } from "../types/FilterTypes";
2
3
  export interface FilterBarProps<TFilterBarDefinition extends FilterBarDefinition> {
3
4
  /**
4
5
  * The name of the filter bar.
@@ -37,7 +38,7 @@ export declare const useFilterBar: <TFilterBarDefinition extends FilterBarDefini
37
38
  toggleArrayValue: (key: string, value: string) => void;
38
39
  setStringValue: (key: string, value: string) => void;
39
40
  setArrayValue: (key: string, value: string[]) => void;
40
- setBoundingBox: (boundingBox: BoundingBox) => void;
41
+ setArea: (polygon: GeoJsonPolygon) => void;
41
42
  setNumberValue: (key: string, value: NumberValue) => void;
42
43
  setBooleanValue: (key: string, value: BooleanValue) => void;
43
44
  setDateRange: (key: string, value: DateRangeValue) => void;
@@ -1,3 +1,4 @@
1
+ import { GeoJsonPolygon } from "@trackunit/shared-utils";
1
2
  import React from "react";
2
3
  export type ValueName = {
3
4
  value: string;
@@ -9,28 +10,18 @@ export type NumberValue = {
9
10
  export type BooleanValue = {
10
11
  booleanValue?: boolean;
11
12
  };
12
- export type Coordinate = {
13
- latitude: number;
14
- longitude: number;
15
- };
16
- export type BoundingBox = {
17
- /** The coordinates for the North/West values of the bounding box. */
18
- nw: Coordinate;
19
- /** The coordinates for the South/East values of the bounding box. */
20
- se: Coordinate;
21
- };
22
13
  export type MinMaxFilterValue = {
23
14
  min?: number;
24
15
  max?: number;
25
16
  };
26
- export type FilterValueType = string[] | ValueName[] | MinMaxFilterValue | BoundingBox | string | number | BooleanValue | undefined;
27
- export declare type FilterTypes = "boolean" | "string" | "number" | "dateRange" | "boundingBox" | "valueName" | "stringArray" | "minMax";
17
+ export type FilterValueType = string[] | ValueName[] | MinMaxFilterValue | GeoJsonPolygon | string | number | BooleanValue | undefined;
18
+ export declare type FilterTypes = "boolean" | "string" | "number" | "dateRange" | "area" | "valueName" | "stringArray" | "minMax";
28
19
  export type FilterMapActions = {
29
20
  updateStarredFilters: (filterkey: string) => void;
30
21
  toggleArrayValue: (key: string, value: string) => void;
31
22
  setStringValue: (key: string, value: string) => void;
32
23
  setArrayValue: (key: string, value: string[]) => void;
33
- setBoundingBox: (boundingBox: BoundingBox) => void;
24
+ setArea: (polygon: GeoJsonPolygon) => void;
34
25
  setNumberValue: (key: string, value: NumberValue) => void;
35
26
  setBooleanValue: (key: string, value: BooleanValue) => void;
36
27
  setDateRange: (key: string, value: DateRangeValue) => void;
@@ -112,11 +103,11 @@ export interface NumberFilterDefinition extends AbstractFilterDefinition {
112
103
  valueAsText?: (value: number) => string;
113
104
  component: (filterComponentProps: FilterViewProps<number>) => React.ReactNode;
114
105
  }
115
- export interface BoundingBoxFilterDefinition extends AbstractFilterDefinition {
116
- type: "boundingBox";
117
- defaultValue?: BoundingBox;
118
- valueAsText?: (value: BoundingBox) => string;
119
- component: (filterComponentProps: FilterViewProps<BoundingBox>) => React.ReactNode;
106
+ export interface AreaFilterDefinition extends AbstractFilterDefinition {
107
+ type: "area";
108
+ defaultValue?: GeoJsonPolygon;
109
+ valueAsText?: (value: GeoJsonPolygon) => string;
110
+ component: (filterComponentProps: FilterViewProps<GeoJsonPolygon>) => React.ReactNode;
120
111
  }
121
112
  export interface ValueNameFilterDefinition extends AbstractFilterDefinition {
122
113
  type: "valueName";
@@ -162,7 +153,7 @@ export interface DateRangeFilterDefinition extends AbstractFilterDefinition {
162
153
  valueAsText?: (value: DateRangeValue) => string;
163
154
  component: (filterComponentProps: FilterViewProps<DateRangeValue>) => React.ReactNode;
164
155
  }
165
- export type FilterDefinition = BooleanFilterDefinition | MinMaxFilterDefinition | StringFilterDefinition | NumberFilterDefinition | DateRangeFilterDefinition | BoundingBoxFilterDefinition | ValueNameFilterDefinition | StringArrayFilterDefinition;
156
+ export type FilterDefinition = BooleanFilterDefinition | MinMaxFilterDefinition | StringFilterDefinition | NumberFilterDefinition | DateRangeFilterDefinition | AreaFilterDefinition | ValueNameFilterDefinition | StringArrayFilterDefinition;
166
157
  export type FilterDefinitionValue = NonNullable<FilterDefinition["defaultValue"]>;
167
158
  export interface FilterViewProps<TReturnType> {
168
159
  filterDefinition: FilterDefinition;
@@ -178,7 +169,7 @@ export type FiltersStoreInstance<T extends FilterBarDefinition> = Partial<Filter
178
169
  export interface FilterStateMap<T extends FilterBarDefinition> {
179
170
  filtersMap: Record<string, FilterBarConfig<T>>;
180
171
  }
181
- export type FilterBarInferredValue<T extends FilterBarDefinition, K extends keyof T> = T[K]["type"] extends infer Type ? Type extends "boolean" ? BooleanValue | 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;
172
+ export type FilterBarInferredValue<T extends FilterBarDefinition, K extends keyof T> = T[K]["type"] extends infer Type ? Type extends "boolean" ? BooleanValue | undefined : Type extends "string" ? string | undefined : Type extends "number" ? number | undefined : Type extends "area" ? GeoJsonPolygon | undefined : Type extends "valueName" ? ValueName[] | undefined : Type extends "stringArray" ? string[] | undefined : Type extends "minMax" ? MinMaxFilterValue | undefined : Type extends "dateRange" ? DateRangeValue | undefined : undefined : undefined;
182
173
  export type SetterKey<T extends string> = `set${Capitalize<T>}`;
183
174
  export type ReverseSetterKey<T extends string> = Uncapitalize<T extends `set${infer U}` ? U : never>;
184
175
  export type ExtractFilterKeys<T extends FilterBarDefinition> = Extract<keyof T, string>;
@@ -27,10 +27,9 @@ type InitialTypes = {
27
27
  /**
28
28
  * A helper function that returns a default value based on the filter type.
29
29
  *
30
- * @param {FilterTypes} type - The filter type for which to retrieve the initial value.
31
30
  * @returns {string[] | ValueName[] | null | { min: undefined, max: undefined } | { from: undefined, to: undefined }} - The initial value corresponding to the given filter type.
32
31
  */
33
- export declare const getInitialValueFromType: <InitialType extends InitialTypes>(type: InitialType["Arg"]) => InitialType["Init"];
32
+ export declare const getInitialValueFromType: <TInitialType extends InitialTypes>(type: TInitialType["Arg"]) => TInitialType["Init"];
34
33
  /**
35
34
  * Creates an initial state object for a filter bar configuration based on the provided parameters.
36
35
  *
@@ -1,4 +1,5 @@
1
- import { BooleanValue, BoundingBox, DateRangeValue, FilterBarConfig, FilterBarDefinition, FilterDefinition, FilterDefinitionValue, MinMaxFilterValue, ValueName } from "../types/FilterTypes";
1
+ import { GeoJsonPolygon } from "@trackunit/shared-utils";
2
+ import { BooleanValue, DateRangeValue, FilterBarConfig, FilterBarDefinition, FilterDefinition, FilterDefinitionValue, MinMaxFilterValue, ValueName } from "../types/FilterTypes";
2
3
  /**
3
4
  *
4
5
  */
@@ -8,9 +9,12 @@ export declare const isMinMaxFilterValue: (value: FilterDefinitionValue) => valu
8
9
  */
9
10
  export declare const isDateRangeValue: (value: FilterDefinitionValue) => value is DateRangeValue;
10
11
  /**
11
- *
12
+ * {
13
+ type: "Polygon";
14
+ coordinates: [number, number][][];
15
+ }
12
16
  */
13
- export declare const isBoundingBox: (value: FilterDefinitionValue) => value is BoundingBox;
17
+ export declare const isAreaFilterValue: (value: FilterDefinitionValue) => value is GeoJsonPolygon;
14
18
  /**
15
19
  *
16
20
  */
@@ -14,8 +14,8 @@ export declare const translations: TranslationResource<TranslationKeys>;
14
14
  /**
15
15
  * Local useTranslation for this specific library
16
16
  */
17
- export declare const useTranslation: () => [TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.boundingBoxFilter.label" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.shareOwnerFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filter.more.options.if.you.search.description" | "filter.more.options.if.you.search.title" | "filtersBar.appliedFiltersTooltip.none" | "filtersBar.appliedFiltersTooltip.plural" | "filtersBar.appliedFiltersTooltip.singular" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultDateRangeFilters.apply" | "filtersBar.defaultDateRangeFilters.cancel" | "filtersBar.defaultMinMaxFilters.apply" | "filtersBar.defaultMinMaxFilters.max" | "filtersBar.defaultMinMaxFilters.min" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.groups.ASSET" | "filtersBar.groups.CUSTOM_FIELDS" | "filtersBar.groups.CUSTOMERS" | "filtersBar.groups.INTEGRATION" | "filtersBar.groups.METADATA" | "filtersBar.groups.MY_NETWORK" | "filtersBar.groups.OPERATOR" | "filtersBar.groups.OTHER" | "filtersBar.groups.RENTAL" | "filtersBar.groups.SERVICE" | "filtersBar.groups.SITES" | "filtersBar.groups.STATUS" | "filtersBar.hiddenFilters.plural" | "filtersBar.hiddenFilters.singular" | "filtersBar.hiddenFilters.toggleFilters" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.externalReference" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.owner" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "myNetwork.deviceList.filterBar.accessControlType" | "myNetwork.deviceList.filterBar.canProfile" | "myNetwork.deviceList.filterBar.country" | "myNetwork.deviceList.filterBar.dataFeed" | "myNetwork.deviceList.filterBar.deviceHealth" | "myNetwork.deviceList.filterBar.deviceHealthScore" | "myNetwork.deviceList.filterBar.deviceType" | "myNetwork.deviceList.filterBar.digitalKeyMode" | "myNetwork.deviceList.filterBar.firmwareVersion" | "myNetwork.deviceList.filterBar.hasCanSupport" | "myNetwork.deviceList.filterBar.mobileOperator" | "myNetwork.deviceList.filterBar.networkTechnology" | "myNetwork.deviceList.filterBar.operatingHoursIssue" | "myNetwork.deviceList.filterBar.owner" | "myNetwork.deviceList.filterBar.powerProfile" | "myNetwork.insights.accessControlDevice.DUALID" | "myNetwork.insights.accessControlDevice.DUALID_II" | "myNetwork.insights.accessControlDevice.IBUTTON_READER" | "myNetwork.insights.accessControlDevice.K300" | "myNetwork.insights.accessControlDevice.NO_ACCESSORY_CONNECTED" | "myNetwork.insights.accessControlDevice.UNKNOWN" | "myNetwork.insights.hasCanSupport.false" | "myNetwork.insights.hasCanSupport.true" | "myNetwork.insights.NONE" | "myNetwork.insights.operatingHoursIssue.HOURS_FROM_CAN_AND_PRERUN1_CONFIGURED" | "myNetwork.insights.operatingHoursIssue.MACHINE_CONSTANTLY_ON" | "myNetwork.insights.operatingHoursIssue.MULTIPLE_HOURS_SOURCE" | "myNetwork.insights.operatingHoursIssue.NOT_COUNTING_OPERATING_HOURS" | "myNetwork.insights.operatingHoursIssue.NOT_RECEIVING_HOURS_FROM_CAN" | "myNetwork.insights.unknown" | "myNetwork.overview.deviceHealthScoreV2.criticality.AT_RISK" | "myNetwork.overview.deviceHealthScoreV2.criticality.CRITICAL" | "myNetwork.overview.deviceHealthScoreV2.criticality.HEALTHY" | "myNetwork.overview.deviceHealthScoreV2.criticality.NONE" | "myNetwork.overview.unsupportedNetworkTechnology" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE">, import("i18next").i18n, boolean] & {
18
- t: TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.boundingBoxFilter.label" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.shareOwnerFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filter.more.options.if.you.search.description" | "filter.more.options.if.you.search.title" | "filtersBar.appliedFiltersTooltip.none" | "filtersBar.appliedFiltersTooltip.plural" | "filtersBar.appliedFiltersTooltip.singular" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultDateRangeFilters.apply" | "filtersBar.defaultDateRangeFilters.cancel" | "filtersBar.defaultMinMaxFilters.apply" | "filtersBar.defaultMinMaxFilters.max" | "filtersBar.defaultMinMaxFilters.min" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.groups.ASSET" | "filtersBar.groups.CUSTOM_FIELDS" | "filtersBar.groups.CUSTOMERS" | "filtersBar.groups.INTEGRATION" | "filtersBar.groups.METADATA" | "filtersBar.groups.MY_NETWORK" | "filtersBar.groups.OPERATOR" | "filtersBar.groups.OTHER" | "filtersBar.groups.RENTAL" | "filtersBar.groups.SERVICE" | "filtersBar.groups.SITES" | "filtersBar.groups.STATUS" | "filtersBar.hiddenFilters.plural" | "filtersBar.hiddenFilters.singular" | "filtersBar.hiddenFilters.toggleFilters" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.externalReference" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.owner" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "myNetwork.deviceList.filterBar.accessControlType" | "myNetwork.deviceList.filterBar.canProfile" | "myNetwork.deviceList.filterBar.country" | "myNetwork.deviceList.filterBar.dataFeed" | "myNetwork.deviceList.filterBar.deviceHealth" | "myNetwork.deviceList.filterBar.deviceHealthScore" | "myNetwork.deviceList.filterBar.deviceType" | "myNetwork.deviceList.filterBar.digitalKeyMode" | "myNetwork.deviceList.filterBar.firmwareVersion" | "myNetwork.deviceList.filterBar.hasCanSupport" | "myNetwork.deviceList.filterBar.mobileOperator" | "myNetwork.deviceList.filterBar.networkTechnology" | "myNetwork.deviceList.filterBar.operatingHoursIssue" | "myNetwork.deviceList.filterBar.owner" | "myNetwork.deviceList.filterBar.powerProfile" | "myNetwork.insights.accessControlDevice.DUALID" | "myNetwork.insights.accessControlDevice.DUALID_II" | "myNetwork.insights.accessControlDevice.IBUTTON_READER" | "myNetwork.insights.accessControlDevice.K300" | "myNetwork.insights.accessControlDevice.NO_ACCESSORY_CONNECTED" | "myNetwork.insights.accessControlDevice.UNKNOWN" | "myNetwork.insights.hasCanSupport.false" | "myNetwork.insights.hasCanSupport.true" | "myNetwork.insights.NONE" | "myNetwork.insights.operatingHoursIssue.HOURS_FROM_CAN_AND_PRERUN1_CONFIGURED" | "myNetwork.insights.operatingHoursIssue.MACHINE_CONSTANTLY_ON" | "myNetwork.insights.operatingHoursIssue.MULTIPLE_HOURS_SOURCE" | "myNetwork.insights.operatingHoursIssue.NOT_COUNTING_OPERATING_HOURS" | "myNetwork.insights.operatingHoursIssue.NOT_RECEIVING_HOURS_FROM_CAN" | "myNetwork.insights.unknown" | "myNetwork.overview.deviceHealthScoreV2.criticality.AT_RISK" | "myNetwork.overview.deviceHealthScoreV2.criticality.CRITICAL" | "myNetwork.overview.deviceHealthScoreV2.criticality.HEALTHY" | "myNetwork.overview.deviceHealthScoreV2.criticality.NONE" | "myNetwork.overview.unsupportedNetworkTechnology" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE">;
17
+ export declare const useTranslation: () => [TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.boundingBoxFilter.label" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.location.previouslySearched" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.shareOwnerFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filter.more.options.if.you.search.description" | "filter.more.options.if.you.search.title" | "filtersBar.appliedFiltersTooltip.none" | "filtersBar.appliedFiltersTooltip.plural" | "filtersBar.appliedFiltersTooltip.singular" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultDateRangeFilters.apply" | "filtersBar.defaultDateRangeFilters.cancel" | "filtersBar.defaultMinMaxFilters.apply" | "filtersBar.defaultMinMaxFilters.max" | "filtersBar.defaultMinMaxFilters.min" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.groups.ASSET" | "filtersBar.groups.CUSTOM_FIELDS" | "filtersBar.groups.CUSTOMERS" | "filtersBar.groups.INTEGRATION" | "filtersBar.groups.METADATA" | "filtersBar.groups.MY_NETWORK" | "filtersBar.groups.OPERATOR" | "filtersBar.groups.OTHER" | "filtersBar.groups.RENTAL" | "filtersBar.groups.SERVICE" | "filtersBar.groups.SITES" | "filtersBar.groups.STATUS" | "filtersBar.hiddenFilters.plural" | "filtersBar.hiddenFilters.singular" | "filtersBar.hiddenFilters.toggleFilters" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.externalReference" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.owner" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "myNetwork.deviceList.filterBar.accessControlType" | "myNetwork.deviceList.filterBar.canProfile" | "myNetwork.deviceList.filterBar.country" | "myNetwork.deviceList.filterBar.dataFeed" | "myNetwork.deviceList.filterBar.deviceHealth" | "myNetwork.deviceList.filterBar.deviceHealthScore" | "myNetwork.deviceList.filterBar.deviceType" | "myNetwork.deviceList.filterBar.digitalKeyMode" | "myNetwork.deviceList.filterBar.firmwareVersion" | "myNetwork.deviceList.filterBar.hasCanSupport" | "myNetwork.deviceList.filterBar.mobileOperator" | "myNetwork.deviceList.filterBar.networkTechnology" | "myNetwork.deviceList.filterBar.operatingHoursIssue" | "myNetwork.deviceList.filterBar.owner" | "myNetwork.deviceList.filterBar.powerProfile" | "myNetwork.insights.accessControlDevice.DUALID" | "myNetwork.insights.accessControlDevice.DUALID_II" | "myNetwork.insights.accessControlDevice.IBUTTON_READER" | "myNetwork.insights.accessControlDevice.K300" | "myNetwork.insights.accessControlDevice.NO_ACCESSORY_CONNECTED" | "myNetwork.insights.accessControlDevice.UNKNOWN" | "myNetwork.insights.hasCanSupport.false" | "myNetwork.insights.hasCanSupport.true" | "myNetwork.insights.NONE" | "myNetwork.insights.operatingHoursIssue.HOURS_FROM_CAN_AND_PRERUN1_CONFIGURED" | "myNetwork.insights.operatingHoursIssue.MACHINE_CONSTANTLY_ON" | "myNetwork.insights.operatingHoursIssue.MULTIPLE_HOURS_SOURCE" | "myNetwork.insights.operatingHoursIssue.NOT_COUNTING_OPERATING_HOURS" | "myNetwork.insights.operatingHoursIssue.NOT_RECEIVING_HOURS_FROM_CAN" | "myNetwork.insights.unknown" | "myNetwork.overview.deviceHealthScoreV2.criticality.AT_RISK" | "myNetwork.overview.deviceHealthScoreV2.criticality.CRITICAL" | "myNetwork.overview.deviceHealthScoreV2.criticality.HEALTHY" | "myNetwork.overview.deviceHealthScoreV2.criticality.NONE" | "myNetwork.overview.unsupportedNetworkTechnology" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE">, import("i18next").i18n, boolean] & {
18
+ t: TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.boundingBoxFilter.label" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.location.previouslySearched" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.shareOwnerFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filter.more.options.if.you.search.description" | "filter.more.options.if.you.search.title" | "filtersBar.appliedFiltersTooltip.none" | "filtersBar.appliedFiltersTooltip.plural" | "filtersBar.appliedFiltersTooltip.singular" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultDateRangeFilters.apply" | "filtersBar.defaultDateRangeFilters.cancel" | "filtersBar.defaultMinMaxFilters.apply" | "filtersBar.defaultMinMaxFilters.max" | "filtersBar.defaultMinMaxFilters.min" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.groups.ASSET" | "filtersBar.groups.CUSTOM_FIELDS" | "filtersBar.groups.CUSTOMERS" | "filtersBar.groups.INTEGRATION" | "filtersBar.groups.METADATA" | "filtersBar.groups.MY_NETWORK" | "filtersBar.groups.OPERATOR" | "filtersBar.groups.OTHER" | "filtersBar.groups.RENTAL" | "filtersBar.groups.SERVICE" | "filtersBar.groups.SITES" | "filtersBar.groups.STATUS" | "filtersBar.hiddenFilters.plural" | "filtersBar.hiddenFilters.singular" | "filtersBar.hiddenFilters.toggleFilters" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.externalReference" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.owner" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "myNetwork.deviceList.filterBar.accessControlType" | "myNetwork.deviceList.filterBar.canProfile" | "myNetwork.deviceList.filterBar.country" | "myNetwork.deviceList.filterBar.dataFeed" | "myNetwork.deviceList.filterBar.deviceHealth" | "myNetwork.deviceList.filterBar.deviceHealthScore" | "myNetwork.deviceList.filterBar.deviceType" | "myNetwork.deviceList.filterBar.digitalKeyMode" | "myNetwork.deviceList.filterBar.firmwareVersion" | "myNetwork.deviceList.filterBar.hasCanSupport" | "myNetwork.deviceList.filterBar.mobileOperator" | "myNetwork.deviceList.filterBar.networkTechnology" | "myNetwork.deviceList.filterBar.operatingHoursIssue" | "myNetwork.deviceList.filterBar.owner" | "myNetwork.deviceList.filterBar.powerProfile" | "myNetwork.insights.accessControlDevice.DUALID" | "myNetwork.insights.accessControlDevice.DUALID_II" | "myNetwork.insights.accessControlDevice.IBUTTON_READER" | "myNetwork.insights.accessControlDevice.K300" | "myNetwork.insights.accessControlDevice.NO_ACCESSORY_CONNECTED" | "myNetwork.insights.accessControlDevice.UNKNOWN" | "myNetwork.insights.hasCanSupport.false" | "myNetwork.insights.hasCanSupport.true" | "myNetwork.insights.NONE" | "myNetwork.insights.operatingHoursIssue.HOURS_FROM_CAN_AND_PRERUN1_CONFIGURED" | "myNetwork.insights.operatingHoursIssue.MACHINE_CONSTANTLY_ON" | "myNetwork.insights.operatingHoursIssue.MULTIPLE_HOURS_SOURCE" | "myNetwork.insights.operatingHoursIssue.NOT_COUNTING_OPERATING_HOURS" | "myNetwork.insights.operatingHoursIssue.NOT_RECEIVING_HOURS_FROM_CAN" | "myNetwork.insights.unknown" | "myNetwork.overview.deviceHealthScoreV2.criticality.AT_RISK" | "myNetwork.overview.deviceHealthScoreV2.criticality.CRITICAL" | "myNetwork.overview.deviceHealthScoreV2.criticality.HEALTHY" | "myNetwork.overview.deviceHealthScoreV2.criticality.NONE" | "myNetwork.overview.unsupportedNetworkTechnology" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE">;
19
19
  i18n: import("i18next").i18n;
20
20
  ready: boolean;
21
21
  };
@@ -66,6 +66,8 @@ var translation = {
66
66
  "assetFilters.regions.WESTERN_ASIA": "Vestasien",
67
67
  "assetFilters.regions.WESTERN_EUROPE": "Vesteuropa",
68
68
  "assetFilters.regions.WHOLE_WORLD": "Hele verden",
69
+ "assetFilters.searchFilter.label": "Tekstsøgning",
70
+ "assetFilters.searchPlaceholder": "Søg på tekst...",
69
71
  "assetFilters.serviceAssignmentStatusFilter.label": "Status for tildeling",
70
72
  "assetFilters.servicePlanFilter.fullyConfigured": "Fuldt konfigureret",
71
73
  "assetFilters.servicePlanFilter.label": "Serviceplan",
@@ -66,6 +66,8 @@ var translation = {
66
66
  "assetFilters.regions.WESTERN_ASIA": "Asie de l'Ouest",
67
67
  "assetFilters.regions.WESTERN_EUROPE": "Europe de l'Ouest",
68
68
  "assetFilters.regions.WHOLE_WORLD": "Monde entier",
69
+ "assetFilters.searchFilter.label": "Recherche de texte",
70
+ "assetFilters.searchPlaceholder": "Rechercher par texte...",
69
71
  "assetFilters.serviceAssignmentStatusFilter.label": "Statut de l'attribution",
70
72
  "assetFilters.servicePlanFilter.fullyConfigured": "Entièrement configuré",
71
73
  "assetFilters.servicePlanFilter.label": "Plan de révision",
@@ -66,6 +66,8 @@ var translation = {
66
66
  "assetFilters.regions.WESTERN_ASIA": "Nyugat-Ázsia",
67
67
  "assetFilters.regions.WESTERN_EUROPE": "Nyugat-Európa",
68
68
  "assetFilters.regions.WHOLE_WORLD": "Az egész világ",
69
+ "assetFilters.searchFilter.label": "Szöveges keresés",
70
+ "assetFilters.searchPlaceholder": "Keresés szöveg alapján...",
69
71
  "assetFilters.serviceAssignmentStatusFilter.label": "Hozzárendelési állapot",
70
72
  "assetFilters.servicePlanFilter.fullyConfigured": "Teljesen konfigurált",
71
73
  "assetFilters.servicePlanFilter.label": "Szervizterv",
@@ -64,6 +64,8 @@ var translation = {
64
64
  "assetFilters.regions.WESTERN_ASIA": "Vestasien",
65
65
  "assetFilters.regions.WESTERN_EUROPE": "Vesteuropa",
66
66
  "assetFilters.regions.WHOLE_WORLD": "Hele verden",
67
+ "assetFilters.searchFilter.label": "Tekstsøgning",
68
+ "assetFilters.searchPlaceholder": "Søg på tekst...",
67
69
  "assetFilters.serviceAssignmentStatusFilter.label": "Status for tildeling",
68
70
  "assetFilters.servicePlanFilter.fullyConfigured": "Fuldt konfigureret",
69
71
  "assetFilters.servicePlanFilter.label": "Serviceplan",
@@ -64,6 +64,8 @@ var translation = {
64
64
  "assetFilters.regions.WESTERN_ASIA": "Asie de l'Ouest",
65
65
  "assetFilters.regions.WESTERN_EUROPE": "Europe de l'Ouest",
66
66
  "assetFilters.regions.WHOLE_WORLD": "Monde entier",
67
+ "assetFilters.searchFilter.label": "Recherche de texte",
68
+ "assetFilters.searchPlaceholder": "Rechercher par texte...",
67
69
  "assetFilters.serviceAssignmentStatusFilter.label": "Statut de l'attribution",
68
70
  "assetFilters.servicePlanFilter.fullyConfigured": "Entièrement configuré",
69
71
  "assetFilters.servicePlanFilter.label": "Plan de révision",
@@ -64,6 +64,8 @@ var translation = {
64
64
  "assetFilters.regions.WESTERN_ASIA": "Nyugat-Ázsia",
65
65
  "assetFilters.regions.WESTERN_EUROPE": "Nyugat-Európa",
66
66
  "assetFilters.regions.WHOLE_WORLD": "Az egész világ",
67
+ "assetFilters.searchFilter.label": "Szöveges keresés",
68
+ "assetFilters.searchPlaceholder": "Keresés szöveg alapján...",
67
69
  "assetFilters.serviceAssignmentStatusFilter.label": "Hozzárendelési állapot",
68
70
  "assetFilters.servicePlanFilter.fullyConfigured": "Teljesen konfigurált",
69
71
  "assetFilters.servicePlanFilter.label": "Szervizterv",
@@ -1,7 +0,0 @@
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;