zarm
Version:
基于 React 的移动端UI库
32 lines (31 loc) • 1.68 kB
TypeScript
import * as React from 'react';
import type { HTMLProps } from '../utils/utilityTypes';
import type { BaseModalProps } from './interface';
import type { ModalActionProps } from './ModalAction';
export interface ModalCssVars {
'--background'?: React.CSSProperties['background'];
'--border-radius'?: React.CSSProperties['borderRadius'];
'--shadow'?: React.CSSProperties['boxShadow'];
'--title-font-size'?: React.CSSProperties['fontSize'];
'--title-font-weight'?: React.CSSProperties['fontWeight'];
'--title-text-color'?: React.CSSProperties['color'];
'--close-size'?: React.CSSProperties['fontSize'];
'--close-color'?: React.CSSProperties['color'];
'--close-active-color'?: React.CSSProperties['color'];
'--body-font-size'?: React.CSSProperties['fontSize'];
'--body-text-color'?: React.CSSProperties['color'];
'--body-padding'?: React.CSSProperties['padding'];
'--button-height'?: React.CSSProperties['height'];
'--button-font-size'?: React.CSSProperties['fontSize'];
'--button-font-weight'?: React.CSSProperties['fontWeight'];
'--button-text-color'?: React.CSSProperties['color'];
'--button-background'?: React.CSSProperties['background'];
'--button-active-background'?: React.CSSProperties['background'];
'--button-disabled-opacity'?: React.CSSProperties['opacity'];
}
export interface ModalProps extends BaseModalProps, HTMLProps<ModalCssVars> {
actions?: (ModalActionProps | ModalActionProps[])[];
onAction?: (action: ModalActionProps) => void | Promise<void>;
}
declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>>;
export default Modal;