import { JSXElementConstructor, ReactElement } from 'react'; import { CustomModalContent, PickerModalState } from '../../hooks'; import { ComputedQuery, FiltersMap } from '@wix/bex-core'; import { IconElement, FloatingNotificationProps, FloatingNotification } from '@wix/design-system'; import { PickerProps } from '../Picker'; import { MaxSelectionLabelProps, MultipleSelection } from '../MaxSelection'; import { PickerContentState } from '../../state'; import { PickerListItemProps } from '../PickerListItemProps'; import { SingleSelectFilterProps } from '../SingleSelectFilter'; import { PickerContentBaseWrappedProps } from './PickerContentBaseWrapped'; export interface PickerContentItemsSelectionProps extends Partial { modalState: PickerModalState; customContentButtonText?: string; customContentButtonPrefixIcon?: IconElement; /** * A callback to be called when the custom content button is clicked */ customContentButtonOnClick?: (param: { onClose: (newItems?: T[]) => void; }) => void; customContent?: CustomModalContent; /** * Shows "Select All" checkbox as a side action (overrides "customContent" prop). * If `multiple={number}` or `multiple={false}` are used, this prop does nothing. */ showSelectAllCheckbox?: boolean; multiple?: MultipleSelection; /** * Shows a SingleSelectFilter component in a picker modal to filter items; */ filterComponent?: ReactElement, JSXElementConstructor>>; /** * A function that render a item row in the selector list */ renderItem: (item: T, index: number) => Partial; /** * A render function to be rendered when there're no items to show in the table.
* You can use the built in [``](/pages/cairo/?path=/story/components-collection-features--empty-state).
* The function accepts the following parameters * * `hasAvailableItems`: Indicates whether other items might have been shown using other filtering / search * * `query`: An instance of [ComputedQuery](/pages/cairo/?path=/story/common-models--computedquery) that represents the query that resulted with an empty state */ renderEmptyState?: (params: { hasAvailableItems: boolean; query: ComputedQuery; }) => ReactElement; renderError: PickerProps['renderError']; /** * When set to `true`, the modal primary button will be always enabled. */ enablePrimaryButton?: boolean; /** Hides the search input of the picker */ hideSearch?: boolean; /** * Function that returns label for multi selection like: * '2 items selected (24 max)` * This function accepts argument {num: number, max: number} */ customMaxSelectionLabel?: MaxSelectionLabelProps['customLabel']; /** * Function that returns custom notification that will be displayed in the picker modal. * Useful to describe additional information about the selection (for instance how to increase limit of selected items). * @param data.selected - number of selected items * @param data.total - total number of items */ renderCustomNotification?: (data: { selected?: number; total?: number; }) => ReactElement; /** Displays count of selected items in `sideActions` */ showSelectedCount?: boolean; } interface PickerContentItemsSelectionStateProps { state: PickerContentState; renderPickerContent: (params: { state: PickerContentState; renderItem: PickerContentItemsSelectionProps['renderItem']; }) => ReactElement; } export type PickerContentItemsSelectionFullProps = PickerContentItemsSelectionProps & PickerContentItemsSelectionStateProps; declare function _PickerContentItemsSelection(props: PickerContentItemsSelectionFullProps): JSX.Element; export declare const PickerContentItemsSelection: typeof _PickerContentItemsSelection & { displayName: string; }; export {}; //# sourceMappingURL=PickerContentItemsSelection.d.ts.map