portalis-component
Version:
Component Library for Nuxt 3 using TailwindCSS
31 lines (30 loc) • 867 B
TypeScript
import type { Ref } from 'vue-demi';
export interface ISelectItem {
text: string;
value: unknown;
disabled?: boolean;
[key: string]: unknown;
}
export interface ISelectProps {
modelValue: unknown;
selected?: ISelectItem;
options?: ISelectItem[] | string[];
isShowMore?: boolean;
}
export interface IAdapterContext {
props: ISelectProps;
keyword: Ref<string>;
isOpen: Ref<boolean>;
isLoading: Ref<boolean>;
menuEl: Ref<HTMLDivElement>;
isLoadMore?: Ref<boolean>;
isDone?: Ref<boolean>;
}
export interface IAdapter {
setup: (context: IAdapterContext) => Ref<ISelectItem[]>;
}
/**
* normalizing props.options to SelectItem[]
*/
export declare function useOptionsProp(props: ISelectProps): import("vue-demi").ComputedRef<ISelectItem[]>;
export declare function defineAdapter(adapter: IAdapter): IAdapter;