UNPKG

shineout

Version:

Shein 前端组件库

258 lines (220 loc) 5.13 kB
import * as React from 'react' import { StandardProps, RegularAttributes } from '../@types/common' type ReactNode = React.ReactNode export interface PopoverProps extends StandardProps { /** * Cancel the popup after clicking the element in mouseEnterDelay * * 在 mouseEnterDelay 内点击元素后取消弹出 * * default: false */ clickToCancelDelay?: boolean; /** * z-index of popover * * Popover 层级 * * default: 1060 */ zIndex?: number; /** * Pop-up background-color(with arrows) * * 弹出层背景色(含箭头) * * default: '#fff' */ background?: string; /** * is visible (controlled) * * 是否显示(受控) * * default: - */ visible?: boolean; /** * the event of visible change * * 显示隐藏改变时事件 * * default: - */ onVisibleChange?: (visible: boolean) => void; /** * the show delay of mouseenter(ms) * * 移入显示延迟(毫秒) * * default: 0 */ mouseEnterDelay?: number; /** * the hidden delay of mouseleave (ms) * * 移除隐藏延迟(毫秒) * * default: 0 */ mouseLeaveDelay?: number; /** * The color of pop-up border(with arrows) * * 弹出层边框颜色(含箭头) * * default: '#dee2e6' */ border?: string; /** * Pop-up content. * * 弹出显示内容,如果内容为函数,则参数是主动关闭操作 * * default: required */ children?: ReactNode | ((close: (() => void)) => ReactNode); /** * Callback event when close. * * Popover 关闭时回调事件 * * default: - */ onClose?: () => void; /** * Callback event when open. * * Popover 弹出回调事件 * * default: - */ onOpen?: () => void; /** * The position of pop-up layer * * 弹出层位置 * * default: 'top' */ position?: 'top-left' | 'top' | 'top-right' | 'left-top' | 'left' | 'left-bottom' | 'right-top' | 'right' | 'right-bottom' | 'bottom-left' | 'bottom' | 'bottom-right'; /** * type of show * * 触发方式 * * default: 'hover' */ trigger?: 'click' | 'hover'; /** * type of popover * * 类型 * * default: none */ type?: 'success' | 'info' | 'warning' | 'danger' | 'confirmwarning'; /** * Old API, out of date * . * 旧接口,如果content为空,父组件作为触发元素 * * default: */ content?: ((close: () => void) => void) | ReactNode; /** * Popup location priority, default is left and right priority, only valid when position is not set, Options: ['vertical', 'horizontal'] * * 弹出位置优先级, 默认为左右优先, 只在未设置 position 时生效, 可选值['vertical', 'horizontal', 'auto'] * * default: 'vertical' */ priorityDirection?: string; /** * Custom Popover container, override the default behavior which is rendering under the body, () => DOMElement * * 自定义Popover容器,覆盖默认渲染在body下的行为, () => DOMElement * * default: none */ getPopupContainer?: () => HTMLElement; /** * scroll to dismiss, return el to order scroller * * 滚动来关闭气泡框,如果需要指定滚动元素,则通过函数返回 * * default: false */ scrollDismiss?: (() => HTMLElement) | boolean; /** * show arrow * * 是否显示箭头 * * default: true */ showArrow?: boolean; } export interface PopoverConfirmProps extends PopoverProps{ /** * ok button click callback, will close tooltip while returned promise resolve * * 点击确定按钮时触发事件,返回 Promise 时,会在 Promise resolve 后关闭 Tooltip * * default: none */ onOk?: () => void; /** * cancel button click callback, will close tooltip while returned promise resolve * * 点击取消按钮时触发事件,返回 Promise 时,会在 Promise resolve 后关闭 Tooltip * * default: none */ onCancel?: () => void; /** * button text * * 按钮文字 * * default: { ok: 'Ok', cancel: 'Cancel' } */ text?: { ok?: string, cancel?: string }; /** * ok button's type, same with button type * * 确认按钮的类型,与按钮类型相同 * * default: danger */ okType?: RegularAttributes.Type; /** * ok button's type, same with button type * * 确认按钮的类型,与按钮类型相同 * * default: danger */ icon?: boolean | ReactNode; /** * using inner styles * * 使用内置文本样式 * * default: - */ useTextStyle?: boolean; } declare class PopoverConfirm extends React.Component<PopoverConfirmProps, {}> { render(): JSX.Element; } declare class PopoverContent extends React.Component<PopoverProps, {}> { render(): JSX.Element; } export type ContentProps = Omit<PopoverProps, 'content'>; declare class Popover extends React.Component<ContentProps, {}> { static Confirm: typeof PopoverConfirm; static Content: typeof PopoverContent; render(): JSX.Element; } export default Popover