UNPKG

@lark-project/ui-kit-plugin

Version:

Lark Project UI Kit Plugin

51 lines (50 loc) 2.04 kB
/** * 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 { IBaseDOMProps, IBasePopoverProps, IBasePortalProps } from '../../types'; type PopType = 'Popover' | 'Select'; export interface IInnerInfo { type: PopType; } export interface ITriggerControllerProps<T extends Record<string, any> = Record<string, any>> extends IBasePortalProps, Pick<IBasePopoverProps, 'children'> { /** * 触发方式 */ trigger?: 'hover' | 'click' | 'custom'; /** * 弹出层是否可见,配合trigger = 'custom' 时使用 */ visible?: boolean; /** * 弹出层展示/隐藏时触发的回调 */ onVisibleChange?: (visible: boolean) => void; /** * 当弹出层处于展示状态,点击非Children、非浮层内部区域时的回调(仅trigger为custom、click时有效) */ onClickOutSide?: () => void; mouseEnterDelay?: number; mouseLeaveDelay?: number; openPayload?: { popoverProps?: Omit<IBasePopoverProps, 'children'> & IBaseDOMProps & { sizeLimit?: boolean; }; } & Record<string, any>; disabled?: boolean; contentRef?: React.MutableRefObject<{ popup?: Record<string, any>; }>; context?: T; innerInfo?: IInnerInfo; } export {};