@trackunit/filters-filter-bar 1.3.40 → 1.3.43
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 +417 -329
- package/index.esm.js +417 -330
- package/package.json +10 -10
- package/src/lib/components/FilterHeader.d.ts +3 -6
- package/src/lib/hooks/mockFilterBar.d.ts +42 -2
- package/src/lib/hooks/types.d.ts +15 -0
- package/src/lib/hooks/useFilterBar.d.ts +7 -62
- package/src/lib/hooks/useFilterBarAsync.d.ts +13 -0
- package/src/lib/hooks/useSearchParamAsFilter.d.ts +3 -3
- package/src/lib/hooks/utils/useFilterBarActions.d.ts +20 -0
- package/src/lib/hooks/utils/useFilterBarPersistence.d.ts +17 -0
- package/src/lib/hooks/utils/useGenericSetValue.d.ts +11 -0
- package/src/lib/index.d.ts +1 -0
- package/src/lib/types/FilterTypes.d.ts +8 -12
- package/src/lib/utils/createFilterSetters.d.ts +5 -0
- package/src/lib/utils/createFilterValues.d.ts +5 -0
- package/src/lib/utils/createInitialState.d.ts +5 -2
- package/src/lib/utils/validateFilter.d.ts +5 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/filters-filter-bar",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.43",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
"tailwind-merge": "^2.0.0",
|
|
15
15
|
"string-ts": "^2.0.0",
|
|
16
16
|
"zod": "3.22.4",
|
|
17
|
-
"@trackunit/react-components": "1.4.
|
|
18
|
-
"@trackunit/react-core-hooks": "1.3.
|
|
19
|
-
"@trackunit/react-filter-components": "1.3.
|
|
20
|
-
"@trackunit/react-date-and-time-components": "1.3.
|
|
21
|
-
"@trackunit/shared-utils": "1.5.
|
|
22
|
-
"@trackunit/react-form-components": "1.3.
|
|
23
|
-
"@trackunit/react-core-contexts-api": "1.4.
|
|
24
|
-
"@trackunit/geo-json-utils": "1.3.
|
|
25
|
-
"@trackunit/i18n-library-translation": "1.3.
|
|
17
|
+
"@trackunit/react-components": "1.4.31",
|
|
18
|
+
"@trackunit/react-core-hooks": "1.3.31",
|
|
19
|
+
"@trackunit/react-filter-components": "1.3.36",
|
|
20
|
+
"@trackunit/react-date-and-time-components": "1.3.33",
|
|
21
|
+
"@trackunit/shared-utils": "1.5.30",
|
|
22
|
+
"@trackunit/react-form-components": "1.3.36",
|
|
23
|
+
"@trackunit/react-core-contexts-api": "1.4.31",
|
|
24
|
+
"@trackunit/geo-json-utils": "1.3.31",
|
|
25
|
+
"@trackunit/i18n-library-translation": "1.3.31"
|
|
26
26
|
},
|
|
27
27
|
"module": "./index.esm.js",
|
|
28
28
|
"main": "./index.cjs.js",
|
|
@@ -25,12 +25,9 @@ interface FilterHeaderCommonProps extends CommonProps {
|
|
|
25
25
|
*/
|
|
26
26
|
resetIndividualFilterToInitialState: (key: string) => void;
|
|
27
27
|
/**
|
|
28
|
-
* A
|
|
29
|
-
*
|
|
30
|
-
* @param {string} key - The key of the filter to check.
|
|
31
|
-
* @returns {boolean} - `true` if the filter has changed, `false` otherwise.
|
|
28
|
+
* A boolean value to check if the filter has changed.
|
|
32
29
|
*/
|
|
33
|
-
|
|
30
|
+
filterHasChanges: boolean;
|
|
34
31
|
/**
|
|
35
32
|
* The children to render in the header of the filter.
|
|
36
33
|
*/
|
|
@@ -67,5 +64,5 @@ type FilterHeaderProps = FilterHeaderCommonProps & FilterHeaderWithSearchProps;
|
|
|
67
64
|
*
|
|
68
65
|
* @returns {ReactElement} - Returns the FilterHeader component.
|
|
69
66
|
*/
|
|
70
|
-
export declare const FilterHeader: ({ filterKey, title, searchEnabled, searchProps,
|
|
67
|
+
export declare const FilterHeader: ({ filterKey, title, searchEnabled, searchProps, filterHasChanges, resetIndividualFilterToInitialState, onResetFilter, loading, children, className, dataTestId, }: FilterHeaderProps) => ReactElement;
|
|
71
68
|
export {};
|
|
@@ -1,2 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare const mockFilterBar: {
|
|
2
|
+
filterBarConfig: {
|
|
3
|
+
isFilterIncludedByKey: (args?: any) => any;
|
|
4
|
+
appliedFilterKeys: () => never[];
|
|
5
|
+
arrayIncludesValue: (args?: any) => any;
|
|
6
|
+
getFilterTitle: (args?: any) => any;
|
|
7
|
+
getFilterBarName: (args?: any) => any;
|
|
8
|
+
initialState: {
|
|
9
|
+
customerType: never[];
|
|
10
|
+
};
|
|
11
|
+
name: string;
|
|
12
|
+
objectArrayIncludesValue: (args?: any) => any;
|
|
13
|
+
resetFiltersToInitialState: (args?: any) => any;
|
|
14
|
+
resetIndividualFilterToInitialState: (args?: any) => any;
|
|
15
|
+
updateStarredFilters: (args?: any) => any;
|
|
16
|
+
setArrayObjectValue: (args?: any) => any;
|
|
17
|
+
setArrayValue: (args?: any) => any;
|
|
18
|
+
setBooleanValue: (args?: any) => any;
|
|
19
|
+
setArea: (args?: any) => any;
|
|
20
|
+
setDateRange: (args?: any) => any;
|
|
21
|
+
setMinMaxValue: (args?: any) => any;
|
|
22
|
+
setNumberValue: (args?: any) => any;
|
|
23
|
+
setStringValue: (args?: any) => any;
|
|
24
|
+
toggleArrayObjectValue: (args?: any) => any;
|
|
25
|
+
toggleArrayValue: (args?: any) => any;
|
|
26
|
+
values: {
|
|
27
|
+
customerType: never[];
|
|
28
|
+
};
|
|
29
|
+
starredFilterKeys: never[];
|
|
30
|
+
getValuesByKey: (args?: any) => any;
|
|
31
|
+
setters: {
|
|
32
|
+
setCriticality: (args?: any) => any;
|
|
33
|
+
setServicePlan: (args?: any) => any;
|
|
34
|
+
};
|
|
35
|
+
objectIncludesValue: (args?: any) => any;
|
|
36
|
+
setObjectValue: (args?: any) => any;
|
|
37
|
+
toggleObjectValue: (args?: any) => any;
|
|
38
|
+
};
|
|
39
|
+
filterBarDefinition: {};
|
|
40
|
+
name: string;
|
|
41
|
+
onValuesChange: (args?: any) => any;
|
|
42
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FilterBarDefinition, FilterStateValues } from "../types/FilterTypes";
|
|
2
|
+
export type FilterBarProps<TFilterBarDefinition extends FilterBarDefinition> = {
|
|
3
|
+
/**
|
|
4
|
+
* The name of the filter bar.
|
|
5
|
+
*/
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* An optional callback function that gets called when filter values change.
|
|
9
|
+
*/
|
|
10
|
+
onValuesChange?: (values: FilterStateValues<TFilterBarDefinition>) => void;
|
|
11
|
+
/**
|
|
12
|
+
* The filters that should potentially be used in the filter bar
|
|
13
|
+
*/
|
|
14
|
+
filterBarDefinition: TFilterBarDefinition;
|
|
15
|
+
};
|
|
@@ -1,70 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { FilterBarConfig, FilterBarDefinition, FilterMapActions, FilterMapGetter, FilterStateValues } from "../types/FilterTypes";
|
|
2
|
+
import { FilterBarProps } from "./types";
|
|
3
|
+
export interface FilterBarHook<TFilterBarDefinition extends FilterBarDefinition> {
|
|
4
|
+
filterBarConfig: FilterBarConfig<TFilterBarDefinition> & FilterMapActions & FilterMapGetter;
|
|
5
|
+
filterBarDefinition: TFilterBarDefinition;
|
|
6
6
|
name: string;
|
|
7
|
-
/**
|
|
8
|
-
* An optional callback function that gets called when filter values change.
|
|
9
|
-
*/
|
|
10
7
|
onValuesChange?: (values: FilterStateValues<TFilterBarDefinition>) => void;
|
|
11
|
-
|
|
12
|
-
* The filters that should potentially be used in the filter bar
|
|
13
|
-
*/
|
|
14
|
-
filterBarDefinition: TFilterBarDefinition;
|
|
15
|
-
/**
|
|
16
|
-
* Whether the filter bar should be loaded asynchronously
|
|
17
|
-
*/
|
|
18
|
-
loadAsync?: boolean;
|
|
19
|
-
/**
|
|
20
|
-
* An initial state for the filter bar.
|
|
21
|
-
*/
|
|
22
|
-
initialState?: {
|
|
23
|
-
filtered: InitialState<TFilterBarDefinition>;
|
|
24
|
-
empty: InitialState<TFilterBarDefinition>;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
8
|
+
}
|
|
27
9
|
/**
|
|
28
10
|
* Custom hook for managing a filter bar's state and actions.
|
|
29
11
|
*
|
|
30
12
|
* @template TFilterBarDefinition - A generic type for the filter bar definition.
|
|
31
13
|
* @returns {object} An object containing filter bar configuration and actions.
|
|
32
14
|
*/
|
|
33
|
-
export declare const useFilterBar: <TFilterBarDefinition extends FilterBarDefinition>({ name, onValuesChange, filterBarDefinition,
|
|
34
|
-
filterBarConfig: {
|
|
35
|
-
getFilterTitle: (key: string) => string;
|
|
36
|
-
getFilterBarName: () => string;
|
|
37
|
-
objectArrayIncludesValue: (key: string, value: string) => boolean;
|
|
38
|
-
objectIncludesValue: (key: string, value: string) => boolean;
|
|
39
|
-
getValuesByKey: (key: string) => FilterValueType;
|
|
40
|
-
arrayIncludesValue: (key: string, value: string | boolean) => boolean;
|
|
41
|
-
appliedFilterKeys: (keyof FilterBarDefinition)[];
|
|
42
|
-
filterHasChanged(key: string): boolean;
|
|
43
|
-
isFilterIncludedByKey(key: string): boolean;
|
|
44
|
-
updateStarredFilters: (filterkey: string) => void;
|
|
45
|
-
toggleArrayValue: (key: string, value: string) => void;
|
|
46
|
-
setStringValue: (key: string, value: string) => void;
|
|
47
|
-
setArrayValue: (key: string, value: string[]) => void;
|
|
48
|
-
setArea: (area: AreaFilterGeoJsonGeometry) => void;
|
|
49
|
-
setNumberValue: (key: string, value: NumberValue) => void;
|
|
50
|
-
setBooleanValue: (key: string, value: BooleanValue) => void;
|
|
51
|
-
setDateRange: (key: string, value: DateRangeValue) => void;
|
|
52
|
-
setMinMaxValue: (key: string, minMaxValue: MinMaxFilterValue) => void;
|
|
53
|
-
setArrayObjectValue: (key: string, value: ValueName[]) => void;
|
|
54
|
-
setObjectValue: (key: string, value: ValueName) => void;
|
|
55
|
-
toggleArrayObjectValue: (key: string, value: ValueName) => void;
|
|
56
|
-
toggleObjectValue: (key: string, value: ValueName) => void;
|
|
57
|
-
resetFiltersToInitialState: () => void;
|
|
58
|
-
resetIndividualFilterToInitialState: (key: string) => void;
|
|
59
|
-
name: string;
|
|
60
|
-
initialState: {
|
|
61
|
-
filtered: InitialState<TFilterBarDefinition>;
|
|
62
|
-
empty: InitialState<TFilterBarDefinition>;
|
|
63
|
-
};
|
|
64
|
-
starredFilterKeys: Extract<keyof TFilterBarDefinition, string>[];
|
|
65
|
-
values: FilterStateValues<TFilterBarDefinition>;
|
|
66
|
-
setters: import("../types/FilterTypes").FilterStateSetters<TFilterBarDefinition>;
|
|
67
|
-
};
|
|
68
|
-
filterBarDefinition: TFilterBarDefinition;
|
|
69
|
-
dataLoaded: <TFilterBarDefinitionExtended extends TFilterBarDefinition>(loadedFilterDefinitionsValues: TFilterBarDefinitionExtended) => void;
|
|
70
|
-
};
|
|
15
|
+
export declare const useFilterBar: <TFilterBarDefinition extends FilterBarDefinition>({ name, onValuesChange, filterBarDefinition, }: FilterBarProps<TFilterBarDefinition>) => FilterBarHook<TFilterBarDefinition>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FilterBarDefinition } from "../types/FilterTypes";
|
|
2
|
+
import { FilterBarProps } from "./types";
|
|
3
|
+
import { FilterBarHook } from "./useFilterBar";
|
|
4
|
+
export interface FilterBarAsyncHook<TFilterBarDefinition extends FilterBarDefinition> extends FilterBarHook<TFilterBarDefinition> {
|
|
5
|
+
dataLoaded: (filterBarDefinition: TFilterBarDefinition) => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Custom hook for managing a filter bar's state and actions.
|
|
9
|
+
*
|
|
10
|
+
* @template TFilterBarDefinition - A generic type for the filter bar definition.
|
|
11
|
+
* @returns {object} An object containing filter bar configuration and actions.
|
|
12
|
+
*/
|
|
13
|
+
export declare const useFilterBarAsync: <TFilterBarDefinition extends FilterBarDefinition>({ name, onValuesChange, filterBarDefinition, }: FilterBarProps<TFilterBarDefinition>) => FilterBarAsyncHook<TFilterBarDefinition>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ErrorHandlingContextValue } from "@trackunit/react-core-contexts-api";
|
|
2
2
|
import { ZodTypeAny } from "zod";
|
|
3
|
-
interface SearchParamAsFilterProps<
|
|
3
|
+
interface SearchParamAsFilterProps<TZodSchema> {
|
|
4
4
|
searchParamName: string;
|
|
5
5
|
filterName: string;
|
|
6
6
|
search: Record<PropertyKey, unknown>;
|
|
7
|
-
zodSchema:
|
|
7
|
+
zodSchema: TZodSchema;
|
|
8
8
|
errorHandler: ErrorHandlingContextValue;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
@@ -19,5 +19,5 @@ interface SearchParamAsFilterProps<T> {
|
|
|
19
19
|
* @param {ErrorHandlingContextValue} errorHandler - Error handling context for capturing and reporting exceptions.
|
|
20
20
|
* @returns {any} The parsed filter data if validation succeeds, otherwise `null`.
|
|
21
21
|
*/
|
|
22
|
-
export declare const useSearchParamAsFilter: <
|
|
22
|
+
export declare const useSearchParamAsFilter: <TZodSchema extends ZodTypeAny>({ searchParamName, filterName, search, zodSchema, errorHandler, }: SearchParamAsFilterProps<TZodSchema>) => any;
|
|
23
23
|
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Dispatch, SetStateAction } from "react";
|
|
2
|
+
import { FilterBarConfig, FilterBarDefinition, FilterBarInferredValue, FilterMapActions, FilterMapGetter, InitialState } from "../../types/FilterTypes";
|
|
3
|
+
/**
|
|
4
|
+
* Custom hook for managing a filter bar's actions .
|
|
5
|
+
*
|
|
6
|
+
* @template TFilterBarDefinition - A generic type for the filter bar definition.
|
|
7
|
+
* @returns {object} An object containing filter bar configuration and actions.
|
|
8
|
+
*/
|
|
9
|
+
declare const useFilterBarActions: <TFilterBarDefinition extends FilterBarDefinition>({ name, filterBarConfig, filterBarDefinition, setFilterBarConfig, setValue, initialState, }: {
|
|
10
|
+
name: string;
|
|
11
|
+
filterBarConfig: FilterBarConfig<TFilterBarDefinition>;
|
|
12
|
+
filterBarDefinition: FilterBarDefinition;
|
|
13
|
+
setFilterBarConfig: Dispatch<SetStateAction<FilterBarConfig<TFilterBarDefinition>>>;
|
|
14
|
+
setValue: (key: string, callback: (prev: FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => void;
|
|
15
|
+
initialState?: InitialState<TFilterBarDefinition>;
|
|
16
|
+
}) => {
|
|
17
|
+
filterMapGetter: FilterMapGetter;
|
|
18
|
+
filterMapActions: FilterMapActions;
|
|
19
|
+
};
|
|
20
|
+
export default useFilterBarActions;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FilterBarConfig, FilterBarDefinition, FilterBarInferredValue } from "../../types/FilterTypes";
|
|
2
|
+
type FilterBarPersistenceProps<TFilterBarDefinition extends FilterBarDefinition> = {
|
|
3
|
+
name: string;
|
|
4
|
+
setValue: (key: string, callback: (prev: FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => void;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Custom hook for managing the persistence of filter bar configurations.
|
|
8
|
+
*
|
|
9
|
+
* @template TFilterBarDefinition - The type of the filter bar definition.
|
|
10
|
+
* @param {FilterBarPersistenceProps<TFilterBarDefinition>} props - The props for the filter bar persistence.
|
|
11
|
+
* @returns { object } An object containing the loadData and saveData functions.
|
|
12
|
+
*/
|
|
13
|
+
export declare const useFilterBarPersistence: <TFilterBarDefinition extends FilterBarDefinition>({ name, setValue, }: FilterBarPersistenceProps<TFilterBarDefinition>) => {
|
|
14
|
+
loadData: <TFilterBarDefinitionExtended extends TFilterBarDefinition>(updatedFilterDefinitionsValues: TFilterBarDefinitionExtended[keyof TFilterBarDefinitionExtended][]) => FilterBarConfig<TFilterBarDefinition>;
|
|
15
|
+
saveData: (filterBarConfig: Partial<FilterBarConfig<TFilterBarDefinition>>) => void;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FilterBarConfig, FilterBarDefinition, FilterBarInferredValue } from "../../types/FilterTypes";
|
|
2
|
+
import { Dispatch, SetStateAction } from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Generic hook for setting the value of a filter bar.
|
|
5
|
+
*
|
|
6
|
+
* @template TFilterBarDefinition - The type of the filter bar definition.
|
|
7
|
+
* @returns {object} An object containing the setValue function.
|
|
8
|
+
*/
|
|
9
|
+
export declare const useGenericSetValue: <TFilterBarDefinition extends FilterBarDefinition>() => {
|
|
10
|
+
setValue: (setFilterBarConfig: Dispatch<SetStateAction<FilterBarConfig<TFilterBarDefinition>>>, key: string, callback: (prev: FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => void;
|
|
11
|
+
};
|
package/src/lib/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./components";
|
|
|
2
2
|
export * from "./FilterBar";
|
|
3
3
|
export * from "./hooks/mockFilterBar";
|
|
4
4
|
export * from "./hooks/useFilterBar";
|
|
5
|
+
export * from "./hooks/useFilterBarAsync";
|
|
5
6
|
export * from "./hooks/useSearchParamAsFilter";
|
|
6
7
|
export * from "./types/FilterTypes";
|
|
7
8
|
export * from "./utils/FilterEvents";
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from "react";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import { FilterBarProps } from "../hooks/useFilterBar";
|
|
4
3
|
export type ValueName = {
|
|
5
4
|
value: string;
|
|
6
5
|
name: string;
|
|
@@ -17,11 +16,9 @@ export type MinMaxFilterValue = {
|
|
|
17
16
|
};
|
|
18
17
|
export declare const areaFilterGeoJsonGeometrySchema: z.ZodUnion<[z.ZodObject<{
|
|
19
18
|
type: z.ZodLiteral<"Polygon">;
|
|
20
|
-
coordinates: z.ZodArray<z.ZodEffects<z.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
*/
|
|
24
|
-
ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
|
|
19
|
+
coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber /**
|
|
20
|
+
* A function that determines if the filter should be displayed in the filter bar.
|
|
21
|
+
*/], null>, "many">, [number, number][], [number, number][]>, "many">;
|
|
25
22
|
}, "strict", z.ZodTypeAny, {
|
|
26
23
|
type: "Polygon";
|
|
27
24
|
coordinates: [number, number][][];
|
|
@@ -65,8 +62,7 @@ export type FilterMapGetter = {
|
|
|
65
62
|
objectIncludesValue: (key: string, value: string) => boolean;
|
|
66
63
|
getValuesByKey: (key: string) => FilterValueType;
|
|
67
64
|
arrayIncludesValue: (key: string, value: string | boolean) => boolean;
|
|
68
|
-
|
|
69
|
-
filterHasChanged(key: string): boolean;
|
|
65
|
+
appliedFilterKeys: () => (keyof FilterBarDefinition)[];
|
|
70
66
|
isFilterIncludedByKey(key: string): boolean;
|
|
71
67
|
};
|
|
72
68
|
export type FilterName = string;
|
|
@@ -229,12 +225,12 @@ export interface FilterState<T extends FilterBarDefinition> {
|
|
|
229
225
|
*/
|
|
230
226
|
export interface FilterBarConfig<T extends FilterBarDefinition> extends FilterState<T> {
|
|
231
227
|
name: string;
|
|
232
|
-
/**
|
|
233
|
-
* The initial state of the filters in this filter list.
|
|
234
|
-
*/
|
|
235
|
-
initialState: NonNullable<FilterBarProps<T>["initialState"]>;
|
|
236
228
|
/**
|
|
237
229
|
* Filter names that should be starred for this filter list.
|
|
238
230
|
*/
|
|
239
231
|
starredFilterKeys: ExtractFilterKeys<T>[];
|
|
232
|
+
/**
|
|
233
|
+
* The initial state of the filter bar - used to restore the filter bar to its initial state, and to validate if a filter has been changed from the initial state.
|
|
234
|
+
*/
|
|
235
|
+
initialState: InitialState<T>;
|
|
240
236
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FilterBarDefinition, FilterBarInferredValue, FilterDefinition, FilterStateSetters } from "../types/FilterTypes";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
export declare const createFilterSetters: <TFilterBarDefinition extends FilterBarDefinition>(mainFilters: FilterDefinition[], setValue: (key: string, callback: (prev: FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => void) => FilterStateSetters<TFilterBarDefinition>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { FilterBarProps } from "../hooks/useFilterBar";
|
|
2
1
|
import { FilterBarConfig, FilterBarDefinition, FilterBarInferredValue, FilterDefinition, ValueName } from "../types/FilterTypes";
|
|
3
2
|
type InitialTypes = {
|
|
4
3
|
Arg: "string";
|
|
@@ -43,5 +42,9 @@ export declare const getInitialValueFromType: <TInitialType extends InitialTypes
|
|
|
43
42
|
* @template TFilterBarDefinition - The type representing the filter bar definition.
|
|
44
43
|
* @returns {FilterBarConfig<TFilterBarDefinition>} - Returns an initial filter bar configuration object.
|
|
45
44
|
*/
|
|
46
|
-
export declare const createInitialState: <TFilterBarDefinition extends FilterBarDefinition>(name
|
|
45
|
+
export declare const createInitialState: <TFilterBarDefinition extends FilterBarDefinition>({ name, mainFilters, setValue, }: {
|
|
46
|
+
name: string;
|
|
47
|
+
mainFilters: FilterDefinition[];
|
|
48
|
+
setValue: (key: string, callback: (prev: FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => void;
|
|
49
|
+
}) => FilterBarConfig<TFilterBarDefinition>;
|
|
47
50
|
export {};
|
|
@@ -42,4 +42,8 @@ export declare const isValueNameArray: (value: FilterDefinitionValue) => value i
|
|
|
42
42
|
* @param {FilterDefinition[]} filterDefinitions - An array of filter definitions to validate against.
|
|
43
43
|
* @returns {boolean} - Returns `true` if the filter configuration is valid, otherwise `false`.
|
|
44
44
|
*/
|
|
45
|
-
export declare const validateFilter: <TFilterBarDefinition extends FilterBarDefinition>(
|
|
45
|
+
export declare const validateFilter: <TFilterBarDefinition extends FilterBarDefinition>({ values, starredFilterKeys, filterDefinitions, }: {
|
|
46
|
+
values: FilterBarConfig<TFilterBarDefinition>["values"];
|
|
47
|
+
starredFilterKeys: FilterBarConfig<TFilterBarDefinition>["starredFilterKeys"];
|
|
48
|
+
filterDefinitions: FilterDefinition[];
|
|
49
|
+
}) => boolean;
|