///
import { SmartBaseExternalClassName, SmartComponent, SmartEventHandler } from '../base';
import { SmartTransitionEvents } from '../transition';
export interface SmartPopupProps {
/**
* 是否显示弹出层
*
* @default false
*/
show?: boolean;
/**
* `z-index`层级
*
* @default 100
*/
zIndex?: number;
/**
* 是否显示遮罩层
*
* @default true
*/
overlay?: boolean;
/**
* 弹出位置
*
* @default 'center'
*/
position?: 'top' | 'bottom' | 'center' | 'right' | 'left';
/**
* 动画时长,单位为毫秒
*
* @default 300
*/
duration?: number | Record;
/**
* 是否显示圆角
*
* @default false
*/
round?: boolean;
/**
* 自定义弹出层样式
*
* @default ''
*/
customStyle?: React.CSSProperties;
/**
* 自定义遮罩层样式
*
* @default ''
*/
overlayStyle?: React.CSSProperties;
/**
* 是否在点击遮罩层后关闭
*
* @default true
*/
closeOnClickOverlay?: boolean;
/**
* 是否显示关闭图标
*
* @default false
*/
closeable?: boolean;
/**
* 关闭图标名称或图片链接
*
* @default 'cross'
*/
closeIcon?: string;
/**
* 关闭图标位置,可选值为 top-right、top-left、bottom-left bottom-right
*
* @default 'top-right''
*/
closeIconPosition?: 'top-right' | 'top-left' | 'bottom-left' | 'bottom-right';
/**
* 是否为`iPhoneX`留出底部安全距离
*
* @default true
*/
safeAreaInsetBottom?: boolean;
/**
* 是否需要预留出一个最小的底部安全距离,用于在 safeArea 底部为 0 时进行追加,需要在 safeAreaInsetBottom 为 true 时生效
*
* @default 0
* @version `1.1.0`
*/
safeAreaInsetBottomMin?: number;
/**
* 是否留出顶部安全距离(状态栏高度)
*
* @default false
*/
safeAreaInsetTop?: boolean;
/**
* 是否锁定背景滚动
*
* @default true
*/
lockScroll?: boolean;
/**
* 开启弹框期间是否禁用本地手势
*
* @default false
* @version 2.3.8
*/
nativeDisabled?: boolean;
/**
* 是否使用 cover-view 包裹弹层,用于覆盖原生组件(如 map、video)时使用
*
* @default false
* @version 2.11.1
*/
fullCoverView?: boolean;
/**
* 关闭图标的无障碍读屏文案,透传至关闭图标的 aria-label
*
* @version 2.13.0
*/
closeIconAriaLabel?: string;
}
export interface SmartPopupEvents extends SmartTransitionEvents {
/**
* 关闭弹出层时触发
*/
onClose?: SmartEventHandler;
/**
* 点击遮罩层时触发
*/
onClickOverlay?: SmartEventHandler;
}
export type SmartPopupExternalClassName = SmartBaseExternalClassName;
export type SmartPopup = SmartComponent;