import React, {FC, useMemo} from "react"; import { MultiSelectSearchItem, MultiSelectSearchItemContext, MultiSelectSearchItemOptions } from "./MultiSelectSearchItem"; import {SelectOption} from "./MultiSelectSearch"; import {__} from "../../globals"; export type MultiSelectStateProps = { values: Value[], afterValues?: () => React.ReactNode, onRemoveValue?: (value: Value) => void, labels?: Partial<{ above?: string, }>, defaultItemOptions?: typeof itemOptions, CustomItem?: FC<{ value: Value }>, showDefaultEmptyState?: boolean, // default is true } const itemOptions = { context: MultiSelectSearchItemContext.Selected, beforeLabel(): React.ReactNode { return } } as MultiSelectSearchItemOptions export const MultiSelectState = ({ values, afterValues, onRemoveValue, labels, defaultItemOptions, CustomItem, showDefaultEmptyState = true, }: MultiSelectStateProps) => { const heightAndMargin = 'h-60 --mt-4' if (values?.length) { return
{labels?.above &&

{labels.above}

}
{values.map(value => { return CustomItem ? : , ...{ ...itemOptions, ...defaultItemOptions || {}, }, } as MultiSelectSearchItemOptions}/>; } )}
{afterValues?.()}
} if (showDefaultEmptyState) { return
{false && }

{__('Search or open the selector to add items')}

; } };