@trackunit/filters-filter-bar 2.3.7 → 2.3.10-alpha-90b6c9b97dd.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js CHANGED
@@ -7,11 +7,11 @@ var reactFilterComponents = require('@trackunit/react-filter-components');
7
7
  var reactComponents = require('@trackunit/react-components');
8
8
  var reactCoreHooks = require('@trackunit/react-core-hooks');
9
9
  var stringTs = require('string-ts');
10
- var tailwindMerge = require('tailwind-merge');
11
10
  var irisAppRuntimeCoreApi = require('@trackunit/iris-app-runtime-core-api');
12
11
  var reactFormComponents = require('@trackunit/react-form-components');
13
12
  var reactDateAndTimeComponents = require('@trackunit/react-date-and-time-components');
14
13
  var sharedUtils = require('@trackunit/shared-utils');
14
+ var tailwindMerge = require('tailwind-merge');
15
15
  var irisAppApi = require('@trackunit/iris-app-api');
16
16
  var cssClassVarianceUtilities = require('@trackunit/css-class-variance-utilities');
17
17
  var dequal = require('dequal');
@@ -139,7 +139,6 @@ var defaultTranslations = {
139
139
  "filtersBar.groups.INTEGRATION": "Integration",
140
140
  "filtersBar.groups.MANAGEMENT": "Management",
141
141
  "filtersBar.groups.METADATA": "Metadata",
142
- "filtersBar.groups.METRICS": "Metrics",
143
142
  "filtersBar.groups.MY_NETWORK": "My Network",
144
143
  "filtersBar.groups.OPERATOR": "Operator",
145
144
  "filtersBar.groups.OTHER": "Others",
@@ -491,33 +490,19 @@ const toggleFilterValue = (value) => {
491
490
  };
492
491
 
493
492
  const ITEM_HEIGHT = 28; //measured in DevTools on 03/10/2025
494
- /**
495
- * Filter rows are single-line checkboxes, so the skeleton drops the thumbnail and description slots
496
- * it renders by default. The first page is already announced by `FilterHeader`/`FilterResults`, which
497
- * is why only the pages fetched while scrolling get placeholder rows.
498
- */
499
- const LOADING_INDICATOR = {
500
- type: "skeleton",
501
- hasThumbnail: false,
502
- hasDescription: false,
503
- initialLoadingCount: 0,
504
- scrollLoadingCount: 3,
505
- };
506
493
  /**
507
494
  * DynamicFilterList is a React component that displays a list of dynamic filters with options like CheckBoxes or Radio buttons.
508
495
  *
509
496
  * @returns {ReactElement} - Returns the DynamicFilterList component.
510
497
  */
511
- const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked, count, showRequestMoreUseSearch = false, pagination, type = undefined, className, }) => {
498
+ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked, count, showRequestMoreUseSearch = false, type = undefined, className, }) => {
512
499
  const [t] = useTranslation();
513
- const showSearchMoreHint = showRequestMoreUseSearch && pagination === undefined;
514
- const updatedRowCount = react.useMemo(() => (showSearchMoreHint ? rowCount + 1 : rowCount), [rowCount, showSearchMoreHint]);
500
+ const parentRef = react.useRef(null);
501
+ const updatedRowCount = react.useMemo(() => (showRequestMoreUseSearch ? rowCount + 1 : rowCount), [rowCount, showRequestMoreUseSearch]);
515
502
  const list = reactComponents.useList({
516
503
  count: updatedRowCount,
517
- pagination,
518
- loadingIndicator: LOADING_INDICATOR,
519
504
  getItem: index => {
520
- if (showSearchMoreHint && index === rowCount) {
505
+ if (showRequestMoreUseSearch && index === rowCount) {
521
506
  return { type: "search-more" };
522
507
  }
523
508
  return {
@@ -532,7 +517,7 @@ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked
532
517
  separator: "none",
533
518
  estimateItemSize: () => ITEM_HEIGHT,
534
519
  });
535
- return (jsxRuntime.jsx(reactFilterComponents.FilterBody, { className: "flex h-full min-h-0 flex-col overflow-hidden", children: jsxRuntime.jsx(reactComponents.List, { className: tailwindMerge.twMerge("min-h-0 max-w-sm flex-1 overflow-y-auto", className), ...list, children: ({ key, listItemProps, item }) => {
520
+ return (jsxRuntime.jsx(reactFilterComponents.FilterBody, { limitSize: true, ref: parentRef, children: jsxRuntime.jsx(reactComponents.List, { className: className, ...list, children: ({ key, listItemProps, item }) => {
536
521
  if (!item) {
537
522
  return null;
538
523
  }
@@ -595,7 +580,7 @@ const EmptyResults = ({ loading = false }) => {
595
580
  *
596
581
  * @param {DefaultFilterProps<string[]>} props - The properties required for the `DefaultCheckboxFilter` component.
597
582
  */
598
- const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, loading, setValue, filterName, customSearch, showRequestMoreUseSearch = false, showUndefinedOptionWithCountAtBottom = true, pagination, }) => {
583
+ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, loading, setValue, filterName, customSearch, showRequestMoreUseSearch = false, showUndefinedOptionWithCountAtBottom = true, }) => {
599
584
  const { logEvent } = reactCoreHooks.useAnalytics(FilterEvents);
600
585
  const { t } = useTranslation();
601
586
  const handleSetValue = (value) => {
@@ -656,12 +641,6 @@ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, lo
656
641
  }
657
642
  return null;
658
643
  }, [results]);
659
- /**
660
- * Selects the options loaded so far, which for a paginated facet is the pages fetched up to now
661
- * rather than every value the server could return. That is what this button has always done — it
662
- * used to act on a single capped page — so scrolling in another page re-enables it for the
663
- * options that just arrived.
664
- */
665
644
  const hasSelectedAll = react.useMemo(() => {
666
645
  const values = filterBarActions.getValuesByKey(filterDefinition.filterKey);
667
646
  if (Array.isArray(values)) {
@@ -687,23 +666,23 @@ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, lo
687
666
  onChange: customSearch?.onChange ?? setSearchText,
688
667
  onClear: customSearch?.onClear ?? (() => setSearchText("")),
689
668
  count: undefinedCount ? filteredOptions.length - 1 : filteredOptions.length,
690
- }, children: options.length >= 2 ? (jsxRuntime.jsx(reactComponents.Button, { className: "place-self-start", "data-testid": "selectAllButton", disabled: hasSelectedAll, onClick: handleSelectAll, size: "small", variant: "ghost", children: t("filtersBar.selectAll") })) : null }), jsxRuntime.jsxs("div", { className: tailwindMerge.twMerge("grid max-h-[50dvh] min-h-0 overflow-hidden", undefinedCount ? "grid-rows-[minmax(0,1fr)_auto]" : "grid-rows-[minmax(0,1fr)]"), children: [jsxRuntime.jsx(FilterResults, { ignoreUndefined: undefinedCount !== null, loading: loading, results: results, children: res => (jsxRuntime.jsx(DynamicFilterList, { checked: index => {
691
- return filterDefinition.type === "valueNameArray"
692
- ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "")
693
- : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "");
694
- }, className: "mb-1 h-full", count: index => res[index]?.count, keyMapper: index => res[index]?.key || "", labelMapper: index => res[index]?.label || "", onChange: index => {
695
- const result = res[index];
696
- if (result) {
697
- handleSetValue(result);
698
- }
699
- }, pagination: pagination, rowCount: undefinedCount ? res.length - 1 : res.length, showRequestMoreUseSearch: showRequestMoreUseSearch, type: "CheckBox" })) }), showUndefinedOptionWithCountAtBottom && undefinedCount ? (jsxRuntime.jsx("div", { className: "border-t border-neutral-200 py-1", children: jsxRuntime.jsx(reactFilterComponents.CheckBoxFilterItem, { checked: filterDefinition.type === "valueNameArray"
700
- ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || "")
701
- : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || ""), "data-testid": "dynamic-filter-check-box-undefined", itemCount: undefinedCount.count, label: results[undefinedCount.index]?.label, name: "dynamic-filter-check-box-undefined", onChange: () => {
702
- const result = results[undefinedCount.index];
703
- if (result) {
704
- handleSetValue(result);
705
- }
706
- } }, "dynamic-filter-check-box-undefined") })) : null] })] }));
669
+ }, children: options.length >= 2 ? (jsxRuntime.jsx(reactComponents.Button, { className: "place-self-start", "data-testid": "selectAllButton", disabled: hasSelectedAll, onClick: handleSelectAll, size: "small", variant: "ghost", children: t("filtersBar.selectAll") })) : null }), jsxRuntime.jsx(FilterResults, { ignoreUndefined: undefinedCount !== null, loading: loading, results: results, children: res => (jsxRuntime.jsx(DynamicFilterList, { checked: index => {
670
+ return filterDefinition.type === "valueNameArray"
671
+ ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "")
672
+ : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "");
673
+ }, className: "mb-1", count: index => res[index]?.count, keyMapper: index => res[index]?.key || "", labelMapper: index => res[index]?.label || "", onChange: index => {
674
+ const result = res[index];
675
+ if (result) {
676
+ handleSetValue(result);
677
+ }
678
+ }, rowCount: undefinedCount ? res.length - 1 : res.length, showRequestMoreUseSearch: showRequestMoreUseSearch, type: "CheckBox" })) }), showUndefinedOptionWithCountAtBottom && undefinedCount ? (jsxRuntime.jsx("div", { className: "border-t border-neutral-200 py-1", children: jsxRuntime.jsx(reactFilterComponents.CheckBoxFilterItem, { checked: filterDefinition.type === "valueNameArray"
679
+ ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || "")
680
+ : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || ""), "data-testid": "dynamic-filter-check-box-undefined", itemCount: undefinedCount.count, label: results[undefinedCount.index]?.label, name: "dynamic-filter-check-box-undefined", onChange: () => {
681
+ const result = results[undefinedCount.index];
682
+ if (result) {
683
+ handleSetValue(result);
684
+ }
685
+ } }, "dynamic-filter-check-box-undefined") })) : null] }));
707
686
  };
708
687
 
709
688
  const formatToJustDate = (date) => {
package/index.esm.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { registerTranslations, useNamespaceTranslation } from '@trackunit/i18n-library-translation';
3
- import { useMemo, useState, useEffect, useCallback, Fragment as Fragment$1, useRef } from 'react';
3
+ import { useMemo, useRef, useState, useEffect, useCallback, Fragment as Fragment$1 } from 'react';
4
4
  import { Filter, FilterBody, RadioFilterItem, CheckBoxFilterItem, FilterHeader as FilterHeader$1, FilterFooter } from '@trackunit/react-filter-components';
5
5
  import { Button, Icon, useList, List, Text, useTextSearch, Card, CardBody, useViewportBreakpoints, Popover, PopoverTrigger, Tooltip, Badge, PopoverContent, IconButton, MenuList, useCustomEncoding, useSearchParamSync, useStorageKey, storageSerializer, useWatch } from '@trackunit/react-components';
6
6
  import { useAnalytics, useCurrentUser } from '@trackunit/react-core-hooks';
7
7
  import { capitalize } from 'string-ts';
8
- import { twMerge } from 'tailwind-merge';
9
8
  import { createEvent } from '@trackunit/iris-app-runtime-core-api';
10
9
  import { Search, NumberField, RadioGroup } from '@trackunit/react-form-components';
11
10
  import { DayRangePicker } from '@trackunit/react-date-and-time-components';
12
11
  import { nonNullable, capitalize as capitalize$1, objectValues, truthy, objectKeys } from '@trackunit/shared-utils';
12
+ import { twMerge } from 'tailwind-merge';
13
13
  import { customFieldFilterKey } from '@trackunit/iris-app-api';
14
14
  import { cvaMerge } from '@trackunit/css-class-variance-utilities';
15
15
  import { dequal } from 'dequal';
@@ -137,7 +137,6 @@ var defaultTranslations = {
137
137
  "filtersBar.groups.INTEGRATION": "Integration",
138
138
  "filtersBar.groups.MANAGEMENT": "Management",
139
139
  "filtersBar.groups.METADATA": "Metadata",
140
- "filtersBar.groups.METRICS": "Metrics",
141
140
  "filtersBar.groups.MY_NETWORK": "My Network",
142
141
  "filtersBar.groups.OPERATOR": "Operator",
143
142
  "filtersBar.groups.OTHER": "Others",
@@ -489,33 +488,19 @@ const toggleFilterValue = (value) => {
489
488
  };
490
489
 
491
490
  const ITEM_HEIGHT = 28; //measured in DevTools on 03/10/2025
492
- /**
493
- * Filter rows are single-line checkboxes, so the skeleton drops the thumbnail and description slots
494
- * it renders by default. The first page is already announced by `FilterHeader`/`FilterResults`, which
495
- * is why only the pages fetched while scrolling get placeholder rows.
496
- */
497
- const LOADING_INDICATOR = {
498
- type: "skeleton",
499
- hasThumbnail: false,
500
- hasDescription: false,
501
- initialLoadingCount: 0,
502
- scrollLoadingCount: 3,
503
- };
504
491
  /**
505
492
  * DynamicFilterList is a React component that displays a list of dynamic filters with options like CheckBoxes or Radio buttons.
506
493
  *
507
494
  * @returns {ReactElement} - Returns the DynamicFilterList component.
508
495
  */
509
- const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked, count, showRequestMoreUseSearch = false, pagination, type = undefined, className, }) => {
496
+ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked, count, showRequestMoreUseSearch = false, type = undefined, className, }) => {
510
497
  const [t] = useTranslation();
511
- const showSearchMoreHint = showRequestMoreUseSearch && pagination === undefined;
512
- const updatedRowCount = useMemo(() => (showSearchMoreHint ? rowCount + 1 : rowCount), [rowCount, showSearchMoreHint]);
498
+ const parentRef = useRef(null);
499
+ const updatedRowCount = useMemo(() => (showRequestMoreUseSearch ? rowCount + 1 : rowCount), [rowCount, showRequestMoreUseSearch]);
513
500
  const list = useList({
514
501
  count: updatedRowCount,
515
- pagination,
516
- loadingIndicator: LOADING_INDICATOR,
517
502
  getItem: index => {
518
- if (showSearchMoreHint && index === rowCount) {
503
+ if (showRequestMoreUseSearch && index === rowCount) {
519
504
  return { type: "search-more" };
520
505
  }
521
506
  return {
@@ -530,7 +515,7 @@ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked
530
515
  separator: "none",
531
516
  estimateItemSize: () => ITEM_HEIGHT,
532
517
  });
533
- return (jsx(FilterBody, { className: "flex h-full min-h-0 flex-col overflow-hidden", children: jsx(List, { className: twMerge("min-h-0 max-w-sm flex-1 overflow-y-auto", className), ...list, children: ({ key, listItemProps, item }) => {
518
+ return (jsx(FilterBody, { limitSize: true, ref: parentRef, children: jsx(List, { className: className, ...list, children: ({ key, listItemProps, item }) => {
534
519
  if (!item) {
535
520
  return null;
536
521
  }
@@ -593,7 +578,7 @@ const EmptyResults = ({ loading = false }) => {
593
578
  *
594
579
  * @param {DefaultFilterProps<string[]>} props - The properties required for the `DefaultCheckboxFilter` component.
595
580
  */
596
- const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, loading, setValue, filterName, customSearch, showRequestMoreUseSearch = false, showUndefinedOptionWithCountAtBottom = true, pagination, }) => {
581
+ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, loading, setValue, filterName, customSearch, showRequestMoreUseSearch = false, showUndefinedOptionWithCountAtBottom = true, }) => {
597
582
  const { logEvent } = useAnalytics(FilterEvents);
598
583
  const { t } = useTranslation();
599
584
  const handleSetValue = (value) => {
@@ -654,12 +639,6 @@ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, lo
654
639
  }
655
640
  return null;
656
641
  }, [results]);
657
- /**
658
- * Selects the options loaded so far, which for a paginated facet is the pages fetched up to now
659
- * rather than every value the server could return. That is what this button has always done — it
660
- * used to act on a single capped page — so scrolling in another page re-enables it for the
661
- * options that just arrived.
662
- */
663
642
  const hasSelectedAll = useMemo(() => {
664
643
  const values = filterBarActions.getValuesByKey(filterDefinition.filterKey);
665
644
  if (Array.isArray(values)) {
@@ -685,23 +664,23 @@ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, lo
685
664
  onChange: customSearch?.onChange ?? setSearchText,
686
665
  onClear: customSearch?.onClear ?? (() => setSearchText("")),
687
666
  count: undefinedCount ? filteredOptions.length - 1 : filteredOptions.length,
688
- }, children: options.length >= 2 ? (jsx(Button, { className: "place-self-start", "data-testid": "selectAllButton", disabled: hasSelectedAll, onClick: handleSelectAll, size: "small", variant: "ghost", children: t("filtersBar.selectAll") })) : null }), jsxs("div", { className: twMerge("grid max-h-[50dvh] min-h-0 overflow-hidden", undefinedCount ? "grid-rows-[minmax(0,1fr)_auto]" : "grid-rows-[minmax(0,1fr)]"), children: [jsx(FilterResults, { ignoreUndefined: undefinedCount !== null, loading: loading, results: results, children: res => (jsx(DynamicFilterList, { checked: index => {
689
- return filterDefinition.type === "valueNameArray"
690
- ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "")
691
- : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "");
692
- }, className: "mb-1 h-full", count: index => res[index]?.count, keyMapper: index => res[index]?.key || "", labelMapper: index => res[index]?.label || "", onChange: index => {
693
- const result = res[index];
694
- if (result) {
695
- handleSetValue(result);
696
- }
697
- }, pagination: pagination, rowCount: undefinedCount ? res.length - 1 : res.length, showRequestMoreUseSearch: showRequestMoreUseSearch, type: "CheckBox" })) }), showUndefinedOptionWithCountAtBottom && undefinedCount ? (jsx("div", { className: "border-t border-neutral-200 py-1", children: jsx(CheckBoxFilterItem, { checked: filterDefinition.type === "valueNameArray"
698
- ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || "")
699
- : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || ""), "data-testid": "dynamic-filter-check-box-undefined", itemCount: undefinedCount.count, label: results[undefinedCount.index]?.label, name: "dynamic-filter-check-box-undefined", onChange: () => {
700
- const result = results[undefinedCount.index];
701
- if (result) {
702
- handleSetValue(result);
703
- }
704
- } }, "dynamic-filter-check-box-undefined") })) : null] })] }));
667
+ }, children: options.length >= 2 ? (jsx(Button, { className: "place-self-start", "data-testid": "selectAllButton", disabled: hasSelectedAll, onClick: handleSelectAll, size: "small", variant: "ghost", children: t("filtersBar.selectAll") })) : null }), jsx(FilterResults, { ignoreUndefined: undefinedCount !== null, loading: loading, results: results, children: res => (jsx(DynamicFilterList, { checked: index => {
668
+ return filterDefinition.type === "valueNameArray"
669
+ ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "")
670
+ : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "");
671
+ }, className: "mb-1", count: index => res[index]?.count, keyMapper: index => res[index]?.key || "", labelMapper: index => res[index]?.label || "", onChange: index => {
672
+ const result = res[index];
673
+ if (result) {
674
+ handleSetValue(result);
675
+ }
676
+ }, rowCount: undefinedCount ? res.length - 1 : res.length, showRequestMoreUseSearch: showRequestMoreUseSearch, type: "CheckBox" })) }), showUndefinedOptionWithCountAtBottom && undefinedCount ? (jsx("div", { className: "border-t border-neutral-200 py-1", children: jsx(CheckBoxFilterItem, { checked: filterDefinition.type === "valueNameArray"
677
+ ? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || "")
678
+ : filterBarActions.arrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || ""), "data-testid": "dynamic-filter-check-box-undefined", itemCount: undefinedCount.count, label: results[undefinedCount.index]?.label, name: "dynamic-filter-check-box-undefined", onChange: () => {
679
+ const result = results[undefinedCount.index];
680
+ if (result) {
681
+ handleSetValue(result);
682
+ }
683
+ } }, "dynamic-filter-check-box-undefined") })) : null] }));
705
684
  };
706
685
 
707
686
  const formatToJustDate = (date) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/filters-filter-bar",
3
- "version": "2.3.7",
3
+ "version": "2.3.10-alpha-90b6c9b97dd.0",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -11,17 +11,17 @@
11
11
  "tailwind-merge": "^2.0.0",
12
12
  "string-ts": "^2.0.0",
13
13
  "zod": "^3.25.76",
14
- "@trackunit/iris-app-api": "2.2.5",
15
- "@trackunit/react-core-hooks": "1.19.5",
16
- "@trackunit/react-filter-components": "2.3.7",
17
- "@trackunit/react-date-and-time-components": "2.3.7",
18
- "@trackunit/shared-utils": "1.15.93",
19
- "@trackunit/react-form-components": "2.3.6",
20
- "@trackunit/iris-app-runtime-core-api": "1.16.99",
21
- "@trackunit/geo-json-utils": "1.14.93",
22
- "@trackunit/i18n-library-translation": "2.2.5",
23
- "@trackunit/css-class-variance-utilities": "1.13.90",
24
- "@trackunit/react-components": "2.4.0"
14
+ "@trackunit/iris-app-api": "2.2.7-alpha-90b6c9b97dd.0",
15
+ "@trackunit/react-core-hooks": "1.19.7-alpha-90b6c9b97dd.0",
16
+ "@trackunit/react-filter-components": "2.3.9-alpha-90b6c9b97dd.0",
17
+ "@trackunit/react-date-and-time-components": "2.3.9-alpha-90b6c9b97dd.0",
18
+ "@trackunit/shared-utils": "1.15.95-alpha-90b6c9b97dd.0",
19
+ "@trackunit/react-form-components": "2.3.8-alpha-90b6c9b97dd.0",
20
+ "@trackunit/iris-app-runtime-core-api": "1.16.101-alpha-90b6c9b97dd.0",
21
+ "@trackunit/geo-json-utils": "1.14.95-alpha-90b6c9b97dd.0",
22
+ "@trackunit/i18n-library-translation": "2.2.7-alpha-90b6c9b97dd.0",
23
+ "@trackunit/css-class-variance-utilities": "1.13.92-alpha-90b6c9b97dd.0",
24
+ "@trackunit/react-components": "2.4.2-alpha-90b6c9b97dd.0"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "@apollo/client": "^3.13.8",
@@ -7,5 +7,5 @@ type FilterDefinitionValue = Array<string> | Array<ValueName>;
7
7
  *
8
8
  * @param {DefaultFilterProps<string[]>} props - The properties required for the `DefaultCheckboxFilter` component.
9
9
  */
10
- export declare const DefaultCheckboxFilter: <TFilterValue extends FilterDefinitionValue>({ filterDefinition, filterBarActions, options, loading, setValue, filterName, customSearch, showRequestMoreUseSearch, showUndefinedOptionWithCountAtBottom, pagination, }: DefaultFilterProps<TFilterValue>) => ReactElement;
10
+ export declare const DefaultCheckboxFilter: <TFilterValue extends FilterDefinitionValue>({ filterDefinition, filterBarActions, options, loading, setValue, filterName, customSearch, showRequestMoreUseSearch, showUndefinedOptionWithCountAtBottom, }: DefaultFilterProps<TFilterValue>) => ReactElement;
11
11
  export {};
@@ -1,4 +1,3 @@
1
- import type { RelayPagination } from "@trackunit/react-components";
2
1
  import { ReactNode } from "react";
3
2
  import { FilterName, FilterViewProps } from "../types/FilterTypes";
4
3
  export interface FilterOption {
@@ -50,11 +49,6 @@ export interface DefaultFilterProps<TReturnType> extends FilterViewProps<TReturn
50
49
  * A flag indicating whether the "Use search to refine results." option should be displayed.
51
50
  */
52
51
  showRequestMoreUseSearch?: boolean;
53
- /**
54
- * Relay-style pagination for server-side infinite scroll in the filter list.
55
- * When set, additional pages load as the user scrolls (via `useList` / `List`).
56
- */
57
- pagination?: RelayPagination;
58
52
  /**
59
53
  * A flag indicating whether the key "UNDEFINED" should be moved to bottom of the list always visible. Default is true
60
54
  */
@@ -1,4 +1,3 @@
1
- import { RelayPagination } from "@trackunit/react-components";
2
1
  import { ReactElement } from "react";
3
2
  interface DynamicFilterListProps {
4
3
  /**
@@ -47,10 +46,6 @@ interface DynamicFilterListProps {
47
46
  * A flag indicating whether the "Use search to refine results." option should be displayed.
48
47
  */
49
48
  showRequestMoreUseSearch?: boolean;
50
- /**
51
- * Relay-style pagination for server-side infinite scroll.
52
- */
53
- pagination?: RelayPagination;
54
49
  /**
55
50
  * A class name to apply to the filter list.
56
51
  */
@@ -61,5 +56,5 @@ interface DynamicFilterListProps {
61
56
  *
62
57
  * @returns {ReactElement} - Returns the DynamicFilterList component.
63
58
  */
64
- export declare const DynamicFilterList: ({ rowCount, keyMapper, labelMapper, onChange, checked, count, showRequestMoreUseSearch, pagination, type, className, }: DynamicFilterListProps) => ReactElement;
59
+ export declare const DynamicFilterList: ({ rowCount, keyMapper, labelMapper, onChange, checked, count, showRequestMoreUseSearch, type, className, }: DynamicFilterListProps) => ReactElement;
65
60
  export {};
@@ -47,7 +47,7 @@ export type FilterMapGetter = {
47
47
  export type FilterName = string;
48
48
  export type FilterBarDefinition = Record<FilterName, FilterDefinition>;
49
49
  export type FilterTranslation = string;
50
- export type FilterGroup = "METADATA" | "STATUS" | "SITES" | "CUSTOMERS" | "OTHER" | "CUSTOM_FIELDS" | "MY_NETWORK" | "DEVICE_HEALTH" | "DEVICE" | "ASSET" | "OPERATOR" | "SERVICE" | "RENTAL" | "INTEGRATION" | "CURRENT_LOCATION" | "MANAGEMENT" | "METRICS";
50
+ export type FilterGroup = "METADATA" | "STATUS" | "SITES" | "CUSTOMERS" | "OTHER" | "CUSTOM_FIELDS" | "MY_NETWORK" | "DEVICE_HEALTH" | "DEVICE" | "ASSET" | "OPERATOR" | "SERVICE" | "RENTAL" | "INTEGRATION" | "CURRENT_LOCATION" | "MANAGEMENT";
51
51
  export interface AbstractFilterDefinition {
52
52
  /**
53
53
  * The unique key or identifier for the filter.
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../../../libs/filters/filter-bar/migrations/entry.ts"],"names":[],"mappings":"","sourcesContent":["export {};\n"]}