@yext/search-headless
Version:
A library for powering UI components for Yext Search integrations
29 lines • 1.39 kB
TypeScript
import { PayloadAction, Slice } from '@reduxjs/toolkit';
import { FacetOption, DisplayableFacet } from '@yext/search-core';
import { SelectableStaticFilter } from '../models/utils/selectableStaticFilter';
import { FiltersState } from '../models/slices/filters';
export declare const initialState: FiltersState;
interface FacetPayload {
fieldId: string;
facetOption: FacetOption;
shouldSelect: boolean;
}
declare const reducers: {
setStatic: (state: FiltersState, action: PayloadAction<SelectableStaticFilter[]>) => void;
setFacets: (state: FiltersState, action: PayloadAction<DisplayableFacet[]>) => void;
resetFacets: (state: FiltersState) => void;
setFacetOption: (state: FiltersState, { payload }: PayloadAction<FacetPayload>) => void;
/**
* Sets whether a static filter currently in the state is selected or unselected.
* If the specified static filter should be selected, but is not in state, it will
* be added to the state.
*/
setFilterOption: (state: FiltersState, { payload }: PayloadAction<SelectableStaticFilter>) => void;
};
/**
* Registers with Redux the slice of {@link State} pertaining to filters. There are
* reducers for setting the static filters and facet options.
*/
export default function createFiltersSlice(prefix: string): Slice<FiltersState, typeof reducers>;
export {};
//# sourceMappingURL=filters.d.ts.map