/** * External dependencies */ import type { EntityId, EntityInstance, EntityKindName } from '@nab/types'; export type PostSearcherProps< TValue, TNewValue = TValue > = { readonly id?: string; readonly className?: string; readonly type?: EntityKindName; readonly value: TValue; readonly onChange: ( val: TNewValue ) => void; readonly disabled?: boolean; readonly placeholder?: string; readonly menuPlacement?: 'auto' | 'top' | 'bottom'; readonly menuShouldBlockScroll?: boolean; } & Omit< OptionLoaderProps, 'type' >; export type OptionLoaderProps = { readonly type: EntityKindName; readonly perPage?: number; readonly filter?: ( p: EntityInstance ) => boolean; }; export type OptionResults = { readonly options: ReadonlyArray< { readonly value: EntityId; readonly label: string; readonly type: OptionLoaderProps[ 'type' ]; } >; readonly hasMore: boolean; readonly additional: { readonly page: number }; };