import React, { ComponentType } from 'react'; import { FiltersMap, OptionalFiltersMap } from '@wix/bex-core'; import { UsePickerContentParams } from '../../hooks/usePickerContent'; import { PickerContentState } from '../../state'; import { PickerContentProvider } from './PickerContentProvider'; import { PickerSelectorListContent } from '../PickerSelectorListContent'; import { fromMultipleSelectionToBoolean } from '../MaxSelection'; import { PickerContentWrapped } from './PickerContentWrapped'; import { PickerContentItemsSelectionProps } from './PickerContentItemsSelection'; import { SelectorListContentProps } from '@wix/design-system'; import { PickerContentAdditionalStepProps } from './PickerContentAdditionalStep'; export interface PickerContentComponentBaseProps extends PickerContentItemsSelectionProps, PickerContentAdditionalStepProps { /** * Additional props to pass to [SelectorList](https://www.docs.wixdesignsystem.com/?path=/story/components-lists--selectorlist), i.e `imageSize`, `imageShape` etc. */ selectorListProps?: Partial; } export interface PickerContentProps extends PickerContentComponentBaseProps { /** * A state object created with [`usePickerContent`](./?path=/story/base-components-collections-picker-hooks--usepickercontent) */ state: UsePickerContentParams | PickerContentState; } export type PickerContentComponentProps< T, F extends FiltersMap = OptionalFiltersMap, > = Omit< PickerContentComponentBaseProps, | 'renderItem' | 'pickerContentState' | 'renderEmptyState' | 'renderPickerContent' >; export type PickerContentComponent< T, F extends FiltersMap = OptionalFiltersMap, > = ComponentType>; export function PickerContent( props: PickerContentProps, ) { const { modalState } = props; // wrap with a new WixPatternsContainer that can get initialProps return ( ( )} /> ); }