import { FiltersMap, OptionalFiltersMap } from '@wix/bex-core'; import { useWixPatternsContainer, useWixPatternsContainerOverrides, CollectionConfigWithConditionals, useCreateCollection, } from '@wix/bex-core/react'; import { TableGridSwitchState } from '../state/TableGridSwitchState'; import { useOptionalCachedState } from './useOptionalCachedState'; export { TableGridSwitchState } from '../state/TableGridSwitchState'; export type TableGridSwitchType = < T, F extends FiltersMap = OptionalFiltersMap, >( config: CollectionConfigWithConditionals, ) => TableGridSwitchState; export const useTableGridSwitchCollection: TableGridSwitchType = < T, F extends FiltersMap = OptionalFiltersMap, >( config: CollectionConfigWithConditionals, ): TableGridSwitchState => { const container = useWixPatternsContainer(); const containerOverrides = useWixPatternsContainerOverrides(); const createCollection = useCreateCollection(); const state = useOptionalCachedState( () => new TableGridSwitchState({ collection: createCollection(config), container, containerOverrides, }), ); return state; };