@lark-project/ui-kit-plugin
Version:
Lark Project UI Kit Plugin
31 lines (30 loc) • 1.72 kB
TypeScript
/**
* Copyright (c) 2024 Lark Technologies Pte. Ltd.
*
* Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,provided that the above copyright notice and this permission notice appear in all copies.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
* EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
import type { ISelectOption, ISelectTriggerProps } from '../../trigger';
export interface ISelectContext<DATA extends Record<string, any> = Record<string, any>> {
optionList: ISelectOption<DATA>[];
disabledIds?: string[];
keyword: string;
multiple: boolean;
loading: boolean;
value: string[];
handleSetValue: (value: string[]) => void;
handleOnChange: (value: string[], option: ISelectOption<DATA>[]) => void;
}
export interface ISelectProps<DATA extends Record<string, any> = Record<string, any>> extends Pick<ISelectTriggerProps<DATA>, 'optionList' | 'filter' | 'onSearch' | 'onClear' | 'renderSelectedItem' | 'className' | 'style' | 'multiple' | 'placeholder' | 'disabled' | 'maxTagCount' | 'showClear' | 'value' | 'onChange'> {
/**
* 自定义 entry 函数名,与插件在入口导出的自定义函数名匹配
*/
entry?: string;
}