UNPKG

@td-design/react-native

Version:

react-native UI组件库

71 lines 2.33 kB
import { ReactElement, ReactNode } from 'react'; import { ImageSourcePropType, StyleProp, TextStyle, ViewStyle } from 'react-native'; export interface ModalProps { /** 弹窗是否可见 */ visible: boolean; /** 点击mask是否可以关闭弹窗 */ maskClosable?: boolean; /** 是否显示mask */ maskVisible?: boolean; /** 弹窗动画 */ animationType?: 'fade' | 'slide'; /** 弹窗内容样式 */ bodyContainerStyle?: StyleProp<ViewStyle>; /** 关闭弹窗 */ onClose?: () => void; /** 弹窗动画结束后执行 */ onAnimationEnd?: (visible: boolean) => void; /** 在用户按下 Android 设备上的后退按键时触发 */ onRequestClose?: () => boolean; /** 内容显示位置。bottom在底部;center在中间;fullscreen全屏显示 */ position?: 'top' | 'bottom' | 'center' | 'fullscreen'; /** 动画时长,默认为300ms */ animationDuration?: number; } export interface Action<T = StyleProp<TextStyle>> { text: string; onPress?: () => void | Promise<void>; style?: T; } export interface AlertProps { /** 警示性图标 */ icon?: ReactNode; /** 标题 */ title: ReactNode; /** 内容 */ content?: ReactNode; /** 按钮文本 */ confirmText?: string; /** 确认事件 */ onPress?: () => void | Promise<void>; } export interface ConfirmProps extends Omit<AlertProps, 'onPress' | 'confirmText'> { /** 警示性图标 */ icon?: ReactNode; /** 确认事件 */ onOk?: () => void | Promise<void>; /** 取消事件 */ onCancel?: () => void | Promise<void>; /** 确认文本 */ okText?: string; /** 取消文本 */ cancelText?: string; } export interface PromptProps extends Omit<ConfirmProps, 'icon' | 'onOk'> { /** 自定义输入框组件 */ input: ReactElement; onOk?: (value?: string) => void | Promise<void>; } export type TipProps = Omit<AlertProps, 'icon' | 'onPress' | 'confirmText'> & { /** 背景图 */ img: ImageSourcePropType; /** 高度 */ height: number; /** 关闭图标的不透明度 */ closeIconActiveOpacity?: number; }; export type ImperativeModalChildrenProps<P> = P & { /** 在弹窗组件内调用,用以关闭弹窗 */ closeModal?: () => void; }; //# sourceMappingURL=type.d.ts.map