@trackunit/filters-filter-bar 1.25.1 → 1.25.3

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
@@ -450,9 +450,9 @@ const ResetFiltersButtonWithIcon = ({ resetFiltersToInitialState, "data-testid":
450
450
  /**
451
451
  *
452
452
  */
453
- const AppliedFiltersRenderer = ({ appliedFilters, filterBarConfig, showResetButton = true, }) => {
453
+ const AppliedFiltersRenderer = ({ appliedFilters, filterBarConfig, showResetButton = true, style, }) => {
454
454
  const filtersToRender = react.useMemo(() => appliedFilters.filter(filter => !filter.showDirectly), [appliedFilters]);
455
- return (jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [filtersToRender.length > 0 ? (jsxRuntime.jsx("div", { className: "h-4 w-[1px] bg-neutral-300", "data-testid": "applied-filters-buttons" })) : null, jsxRuntime.jsx(FiltersRenderer, { filterBarConfig: filterBarConfig, filters: filtersToRender }), appliedFilters.length > 0 && showResetButton ? (jsxRuntime.jsx(ResetFiltersButtonWithIcon, { resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })) : null] }));
455
+ return (jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", style: style, children: [filtersToRender.length > 0 ? (jsxRuntime.jsx("div", { className: "h-4 w-[1px] bg-neutral-300", "data-testid": "applied-filters-buttons" })) : null, jsxRuntime.jsx(FiltersRenderer, { filterBarConfig: filterBarConfig, filters: filtersToRender }), appliedFilters.length > 0 && showResetButton ? (jsxRuntime.jsx(ResetFiltersButtonWithIcon, { resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })) : null] }));
456
456
  };
457
457
 
458
458
  /**
@@ -907,8 +907,8 @@ const useFiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters =
907
907
  *
908
908
  * @returns {ReactElement} - Returns the FiltersList component.
909
909
  */
910
- const GroupedFiltersList = ({ filterBarConfig, filtersGrouped, className, "data-testid": dataTestId = "grouped-filters-list", }) => {
911
- return (jsxRuntime.jsx("div", { className: className, "data-testid": dataTestId, role: "menu", children: filtersGrouped.map((group, idx) => {
910
+ const GroupedFiltersList = ({ filterBarConfig, filtersGrouped, className, style, "data-testid": dataTestId = "grouped-filters-list", }) => {
911
+ return (jsxRuntime.jsx("div", { className: className, "data-testid": dataTestId, role: "menu", style: style, children: filtersGrouped.map((group, idx) => {
912
912
  const isLastGroup = idx === filtersGrouped.length - 1;
913
913
  return (jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [jsxRuntime.jsxs("div", { children: [filtersGrouped.length > 1 && (jsxRuntime.jsx(reactComponents.Text, { className: "h-7 px-3 py-2 text-neutral-400", "data-testid": `${group.key}-group-title`, size: "small", uppercase: true, weight: "bold", children: group.title })), jsxRuntime.jsx("ul", { "aria-labelledby": `${group.key}-group-title`, className: "grid", "data-testid": `${group.key}-group-list`, children: jsxRuntime.jsx(FiltersRenderer, { filterBarConfig: filterBarConfig, filters: group.filters, visualStyle: "list-item" }) })] }), isLastGroup ? null : jsxRuntime.jsx("div", { className: "h-[1px] w-full bg-neutral-200", role: "separator" })] }, group.key));
914
914
  }) }));
@@ -1069,7 +1069,7 @@ const MultipleFilterTooltipLabel = ({ filterBarConfig, filterKeys, filters, }) =
1069
1069
  * @template TFilterBarDefinition - The type representing the filter bar definition.
1070
1070
  * @returns {ReactElement} - Returns the FilterMenu component.
1071
1071
  */
1072
- const FiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [], compact = false, title, "data-testid": dataTestId = "filters-menu", className, buttonProps, allowShowFiltersDirectly = true, includeFilterKeys, }) => {
1072
+ const FiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [], compact = false, title, "data-testid": dataTestId = "filters-menu", className, style, buttonProps, allowShowFiltersDirectly = true, includeFilterKeys, }) => {
1073
1073
  const [t] = useTranslation();
1074
1074
  const [showCustomFilters, setShowCustomFilters] = react.useState(false);
1075
1075
  const { isSm } = reactComponents.useViewportBreakpoints();
@@ -1091,7 +1091,7 @@ const FiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [],
1091
1091
  includeFilterKeys,
1092
1092
  allowShowFiltersDirectly,
1093
1093
  });
1094
- return (jsxRuntime.jsxs("div", { className: tailwindMerge.twMerge("flex items-start gap-2", className), "data-testid": dataTestId, children: [jsxRuntime.jsx(reactComponents.Popover, { onOpenStateChange: open => {
1094
+ return (jsxRuntime.jsxs("div", { className: tailwindMerge.twMerge("flex items-start gap-2", className), "data-testid": dataTestId, style: style, children: [jsxRuntime.jsx(reactComponents.Popover, { onOpenStateChange: open => {
1095
1095
  if (!open) {
1096
1096
  setShowCustomFilters(false);
1097
1097
  setSearchText("");
@@ -1406,8 +1406,8 @@ const HierarchicalCheckboxFilter = ({ filterDefinition, filterBarActions, option
1406
1406
  * @param {FilterBarProps} props - The props for the FilterBar component
1407
1407
  * @returns {ReactElement} FilterBar component
1408
1408
  */
1409
- const FilterBar = ({ hiddenFilters, className, filterBarDefinition, filterBarConfig, compact = true, allowShowFiltersDirectly = true, title, }) => {
1410
- return (jsxRuntime.jsx(FiltersMenu, { allowShowFiltersDirectly: allowShowFiltersDirectly, className: className, compact: compact, "data-testid": `${filterBarConfig.name}-filterbar`, filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, title: title }));
1409
+ const FilterBar = ({ hiddenFilters, className, style, filterBarDefinition, filterBarConfig, compact = true, allowShowFiltersDirectly = true, title, }) => {
1410
+ return (jsxRuntime.jsx(FiltersMenu, { allowShowFiltersDirectly: allowShowFiltersDirectly, className: className, compact: compact, "data-testid": `${filterBarConfig.name}-filterbar`, filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, style: style, title: title }));
1411
1411
  };
1412
1412
 
1413
1413
  const returnFalse = () => false;
package/index.esm.js CHANGED
@@ -448,9 +448,9 @@ const ResetFiltersButtonWithIcon = ({ resetFiltersToInitialState, "data-testid":
448
448
  /**
449
449
  *
450
450
  */
451
- const AppliedFiltersRenderer = ({ appliedFilters, filterBarConfig, showResetButton = true, }) => {
451
+ const AppliedFiltersRenderer = ({ appliedFilters, filterBarConfig, showResetButton = true, style, }) => {
452
452
  const filtersToRender = useMemo(() => appliedFilters.filter(filter => !filter.showDirectly), [appliedFilters]);
453
- return (jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [filtersToRender.length > 0 ? (jsx("div", { className: "h-4 w-[1px] bg-neutral-300", "data-testid": "applied-filters-buttons" })) : null, jsx(FiltersRenderer, { filterBarConfig: filterBarConfig, filters: filtersToRender }), appliedFilters.length > 0 && showResetButton ? (jsx(ResetFiltersButtonWithIcon, { resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })) : null] }));
453
+ return (jsxs("div", { className: "flex flex-wrap items-center gap-2", style: style, children: [filtersToRender.length > 0 ? (jsx("div", { className: "h-4 w-[1px] bg-neutral-300", "data-testid": "applied-filters-buttons" })) : null, jsx(FiltersRenderer, { filterBarConfig: filterBarConfig, filters: filtersToRender }), appliedFilters.length > 0 && showResetButton ? (jsx(ResetFiltersButtonWithIcon, { resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })) : null] }));
454
454
  };
455
455
 
456
456
  /**
@@ -905,8 +905,8 @@ const useFiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters =
905
905
  *
906
906
  * @returns {ReactElement} - Returns the FiltersList component.
907
907
  */
908
- const GroupedFiltersList = ({ filterBarConfig, filtersGrouped, className, "data-testid": dataTestId = "grouped-filters-list", }) => {
909
- return (jsx("div", { className: className, "data-testid": dataTestId, role: "menu", children: filtersGrouped.map((group, idx) => {
908
+ const GroupedFiltersList = ({ filterBarConfig, filtersGrouped, className, style, "data-testid": dataTestId = "grouped-filters-list", }) => {
909
+ return (jsx("div", { className: className, "data-testid": dataTestId, role: "menu", style: style, children: filtersGrouped.map((group, idx) => {
910
910
  const isLastGroup = idx === filtersGrouped.length - 1;
911
911
  return (jsxs("div", { className: "flex flex-col gap-1", children: [jsxs("div", { children: [filtersGrouped.length > 1 && (jsx(Text, { className: "h-7 px-3 py-2 text-neutral-400", "data-testid": `${group.key}-group-title`, size: "small", uppercase: true, weight: "bold", children: group.title })), jsx("ul", { "aria-labelledby": `${group.key}-group-title`, className: "grid", "data-testid": `${group.key}-group-list`, children: jsx(FiltersRenderer, { filterBarConfig: filterBarConfig, filters: group.filters, visualStyle: "list-item" }) })] }), isLastGroup ? null : jsx("div", { className: "h-[1px] w-full bg-neutral-200", role: "separator" })] }, group.key));
912
912
  }) }));
@@ -1067,7 +1067,7 @@ const MultipleFilterTooltipLabel = ({ filterBarConfig, filterKeys, filters, }) =
1067
1067
  * @template TFilterBarDefinition - The type representing the filter bar definition.
1068
1068
  * @returns {ReactElement} - Returns the FilterMenu component.
1069
1069
  */
1070
- const FiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [], compact = false, title, "data-testid": dataTestId = "filters-menu", className, buttonProps, allowShowFiltersDirectly = true, includeFilterKeys, }) => {
1070
+ const FiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [], compact = false, title, "data-testid": dataTestId = "filters-menu", className, style, buttonProps, allowShowFiltersDirectly = true, includeFilterKeys, }) => {
1071
1071
  const [t] = useTranslation();
1072
1072
  const [showCustomFilters, setShowCustomFilters] = useState(false);
1073
1073
  const { isSm } = useViewportBreakpoints();
@@ -1089,7 +1089,7 @@ const FiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [],
1089
1089
  includeFilterKeys,
1090
1090
  allowShowFiltersDirectly,
1091
1091
  });
1092
- return (jsxs("div", { className: twMerge("flex items-start gap-2", className), "data-testid": dataTestId, children: [jsx(Popover, { onOpenStateChange: open => {
1092
+ return (jsxs("div", { className: twMerge("flex items-start gap-2", className), "data-testid": dataTestId, style: style, children: [jsx(Popover, { onOpenStateChange: open => {
1093
1093
  if (!open) {
1094
1094
  setShowCustomFilters(false);
1095
1095
  setSearchText("");
@@ -1404,8 +1404,8 @@ const HierarchicalCheckboxFilter = ({ filterDefinition, filterBarActions, option
1404
1404
  * @param {FilterBarProps} props - The props for the FilterBar component
1405
1405
  * @returns {ReactElement} FilterBar component
1406
1406
  */
1407
- const FilterBar = ({ hiddenFilters, className, filterBarDefinition, filterBarConfig, compact = true, allowShowFiltersDirectly = true, title, }) => {
1408
- return (jsx(FiltersMenu, { allowShowFiltersDirectly: allowShowFiltersDirectly, className: className, compact: compact, "data-testid": `${filterBarConfig.name}-filterbar`, filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, title: title }));
1407
+ const FilterBar = ({ hiddenFilters, className, style, filterBarDefinition, filterBarConfig, compact = true, allowShowFiltersDirectly = true, title, }) => {
1408
+ return (jsx(FiltersMenu, { allowShowFiltersDirectly: allowShowFiltersDirectly, className: className, compact: compact, "data-testid": `${filterBarConfig.name}-filterbar`, filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, style: style, title: title }));
1409
1409
  };
1410
1410
 
1411
1411
  const returnFalse = () => false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/filters-filter-bar",
3
- "version": "1.25.1",
3
+ "version": "1.25.3",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -12,16 +12,16 @@
12
12
  "string-ts": "^2.0.0",
13
13
  "zod": "^3.25.76",
14
14
  "@trackunit/iris-app-api": "1.20.1",
15
- "@trackunit/react-core-hooks": "1.17.1",
16
- "@trackunit/react-filter-components": "1.24.1",
17
- "@trackunit/react-date-and-time-components": "1.27.1",
15
+ "@trackunit/react-core-hooks": "1.17.2",
16
+ "@trackunit/react-filter-components": "1.24.3",
17
+ "@trackunit/react-date-and-time-components": "1.27.3",
18
18
  "@trackunit/shared-utils": "1.15.1",
19
- "@trackunit/react-form-components": "1.25.1",
19
+ "@trackunit/react-form-components": "1.25.3",
20
20
  "@trackunit/iris-app-runtime-core-api": "1.16.1",
21
21
  "@trackunit/geo-json-utils": "1.14.1",
22
- "@trackunit/i18n-library-translation": "1.21.1",
22
+ "@trackunit/i18n-library-translation": "1.21.2",
23
23
  "@trackunit/css-class-variance-utilities": "1.13.1",
24
- "@trackunit/react-components": "1.24.1"
24
+ "@trackunit/react-components": "1.24.2"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "@apollo/client": "^3.13.8",
@@ -1,6 +1,7 @@
1
+ import type { Styleable } from "@trackunit/react-components";
1
2
  import { ReactElement } from "react";
2
3
  import { FilterBarConfig, FilterBarDefinition, FilterMapActions, FilterMapGetter } from "./types/FilterTypes";
3
- interface FilterBarProps<TFilterBarDefinition extends FilterBarDefinition> {
4
+ interface FilterBarProps<TFilterBarDefinition extends FilterBarDefinition> extends Styleable {
4
5
  /**
5
6
  * If you want some of the filters to be hidden, but still programmatically enabled
6
7
  */
@@ -70,5 +71,5 @@ interface FilterBarProps<TFilterBarDefinition extends FilterBarDefinition> {
70
71
  * @param {FilterBarProps} props - The props for the FilterBar component
71
72
  * @returns {ReactElement} FilterBar component
72
73
  */
73
- export declare const FilterBar: <TFilterBarDefinition extends FilterBarDefinition>({ hiddenFilters, className, filterBarDefinition, filterBarConfig, compact, allowShowFiltersDirectly, title, }: FilterBarProps<TFilterBarDefinition>) => ReactElement;
74
+ export declare const FilterBar: <TFilterBarDefinition extends FilterBarDefinition>({ hiddenFilters, className, style, filterBarDefinition, filterBarConfig, compact, allowShowFiltersDirectly, title, }: FilterBarProps<TFilterBarDefinition>) => ReactElement;
74
75
  export {};
@@ -1,10 +1,11 @@
1
+ import type { Styleable } from "@trackunit/react-components";
1
2
  import { ReactElement } from "react";
2
3
  import { FilterBarConfig, FilterBarDefinition, FilterDefinition, FilterMapActions, FilterMapGetter } from "../types/FilterTypes";
3
4
  /**
4
5
  *
5
6
  */
6
- export declare const AppliedFiltersRenderer: <TFilterBarDefinition extends FilterBarDefinition>({ appliedFilters, filterBarConfig, showResetButton, }: {
7
+ export declare const AppliedFiltersRenderer: <TFilterBarDefinition extends FilterBarDefinition>({ appliedFilters, filterBarConfig, showResetButton, style, }: {
7
8
  appliedFilters: Array<FilterDefinition>;
8
9
  filterBarConfig: FilterBarConfig<TFilterBarDefinition> & FilterMapActions & FilterMapGetter;
9
10
  showResetButton?: boolean;
10
- }) => ReactElement;
11
+ } & Styleable) => ReactElement;
@@ -1,7 +1,7 @@
1
- import { ButtonProps, CommonProps } from "@trackunit/react-components";
1
+ import { ButtonProps, CommonProps, type Styleable } from "@trackunit/react-components";
2
2
  import { ReactElement } from "react";
3
3
  import { FilterBarConfig, FilterBarDefinition, FilterMapActions, FilterMapGetter } from "../types/FilterTypes";
4
- interface FiltersMenuProps<TFilterBarDefinition extends FilterBarDefinition> extends CommonProps {
4
+ interface FiltersMenuProps<TFilterBarDefinition extends FilterBarDefinition> extends CommonProps, Styleable {
5
5
  /**
6
6
  * If true, the filters marked as showDirectly will not be shown directly in the filter bar
7
7
  */
@@ -41,5 +41,5 @@ interface FiltersMenuProps<TFilterBarDefinition extends FilterBarDefinition> ext
41
41
  * @template TFilterBarDefinition - The type representing the filter bar definition.
42
42
  * @returns {ReactElement} - Returns the FilterMenu component.
43
43
  */
44
- export declare const FiltersMenu: <TFilterBarDefinition extends FilterBarDefinition>({ filterBarDefinition, filterBarConfig, hiddenFilters, compact, title, "data-testid": dataTestId, className, buttonProps, allowShowFiltersDirectly, includeFilterKeys, }: FiltersMenuProps<TFilterBarDefinition>) => ReactElement;
44
+ export declare const FiltersMenu: <TFilterBarDefinition extends FilterBarDefinition>({ filterBarDefinition, filterBarConfig, hiddenFilters, compact, title, "data-testid": dataTestId, className, style, buttonProps, allowShowFiltersDirectly, includeFilterKeys, }: FiltersMenuProps<TFilterBarDefinition>) => ReactElement;
45
45
  export {};
@@ -1,8 +1,8 @@
1
- import { CommonProps } from "@trackunit/react-components";
1
+ import { CommonProps, type Styleable } from "@trackunit/react-components";
2
2
  import { ReactElement } from "react";
3
3
  import { GroupOfFilters } from "../hooks/useGroupFilters";
4
4
  import { FilterBarConfig, FilterBarDefinition, FilterMapActions, FilterMapGetter } from "../types/FilterTypes";
5
- interface FiltersListProps extends CommonProps {
5
+ interface FiltersListProps extends CommonProps, Styleable {
6
6
  /**
7
7
  * The configuration of the filter bar, including its actions and state.
8
8
  */
@@ -14,5 +14,5 @@ interface FiltersListProps extends CommonProps {
14
14
  *
15
15
  * @returns {ReactElement} - Returns the FiltersList component.
16
16
  */
17
- export declare const GroupedFiltersList: ({ filterBarConfig, filtersGrouped, className, "data-testid": dataTestId, }: FiltersListProps) => ReactElement;
17
+ export declare const GroupedFiltersList: ({ filterBarConfig, filtersGrouped, className, style, "data-testid": dataTestId, }: FiltersListProps) => ReactElement;
18
18
  export {};