UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

121 lines (120 loc) 2.38 kB
import { Placement } from "../utils/placement.mjs"; import { CSSProperties, ReactElement, ReactNode, Ref } from "react"; //#region src/Popover/type.d.ts type PopoverPlacement = Placement; type PopoverTrigger = 'hover' | 'click' | 'both' | ('hover' | 'click')[]; interface PopoverProps { /** * 是否显示箭头, 在 `inset` 下无法使用 * @default true */ arrow?: boolean; /** * 触发元素 */ children: ReactElement | ReactNode; /** * 弹出容器类名 */ className?: string; /** * 自定义类名 */ classNames?: { arrow?: string; content?: string; root?: string; trigger?: string; }; /** * 关闭延迟(毫秒),优先级高于 mouseLeaveDelay */ closeDelay?: number; /** * 弹出内容 */ content: ReactNode; /** * 默认打开状态 * @default false */ defaultOpen?: boolean; /** * 是否禁用 * @default false */ disabled?: boolean; /** * 获取弹出容器 */ getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement; /** * 是否嵌入 trigger 内部显示 * @default false */ inset?: boolean; /** * 鼠标移入延迟(秒) * @default 0.1 */ mouseEnterDelay?: number; /** * 鼠标移出延迟(秒) * @default 0.1 */ mouseLeaveDelay?: number; /** * 是否使用原生 button 元素作为触发器 */ nativeButton?: boolean; /** * 打开状态变化回调 */ onOpenChange?: (open: boolean) => void; /** * 受控的打开状态 */ open?: boolean; /** * 打开延迟(毫秒),优先级高于 mouseEnterDelay */ openDelay?: number; /** * 弹出位置 * @default 'top' */ placement?: PopoverPlacement; /** * 是否使用 Portal 渲染 * @default true */ portalled?: boolean; /** * ref */ ref?: Ref<HTMLElement>; /** * 当设置为 true 时,即使在 PopoverGroup 内部也会独立渲染,忽略 group 单例行为 */ standalone?: boolean; /** * 自定义样式 */ styles?: { arrow?: CSSProperties; content?: CSSProperties; root?: CSSProperties; }; /** * 触发方式 * @default 'hover' */ trigger?: PopoverTrigger; /** * z-index */ zIndex?: number; } //#endregion export { PopoverPlacement, PopoverProps, PopoverTrigger }; //# sourceMappingURL=type.d.mts.map