import { Filter, FiltersMap } from '@wix/bex-core'; import { ReactElement, useEffect, useState } from 'react'; import { useFilterRenderingContext } from '../FilterRenderingContext'; import { CollectionFilterState } from './CollectionFilterState'; import { CollectionToolbarFiltersState } from '../CollectionToolbarFilters/CollectionToolbarFiltersState'; export interface CollectionFilterProps { readonly filter: Filter; readonly state: CollectionToolbarFiltersState; readonly children: ReactElement; } export function CollectionFilter( props: CollectionFilterProps, ) { const { filter, children, state: toolbarFiltersState } = props; const { location } = useFilterRenderingContext(); const [state] = useState( () => new CollectionFilterState({ filter, toolbarFiltersState, location, }), ); useEffect(() => state.init(), []); return children; }