UNPKG

1.97 kBTypeScriptView Raw
1import type { IDialogPropTypes } from 'rc-dialog/lib/IDialogPropTypes';
2import type { GetContainer } from 'rc-util/lib/PortalWrapper';
3import * as React from 'react';
4import type { TransformType } from './hooks/useImageTransform';
5import type { PreviewProps, ToolbarRenderInfoType } from './Preview';
6import PreviewGroup from './PreviewGroup';
7export interface ImagePreviewType extends Omit<IDialogPropTypes, 'mask' | 'visible' | 'closable' | 'prefixCls' | 'onClose' | 'afterClose' | 'wrapClassName'> {
8 src?: string;
9 visible?: boolean;
10 minScale?: number;
11 maxScale?: number;
12 onVisibleChange?: (value: boolean, prevValue: boolean) => void;
13 getContainer?: GetContainer | false;
14 mask?: React.ReactNode;
15 maskClassName?: string;
16 icons?: PreviewProps['icons'];
17 scaleStep?: number;
18 movable?: boolean;
19 imageRender?: (originalNode: React.ReactElement, info: {
20 transform: TransformType;
21 }) => React.ReactNode;
22 onTransform?: PreviewProps['onTransform'];
23 toolbarRender?: (originalNode: React.ReactElement, info: Omit<ToolbarRenderInfoType, 'current' | 'total'>) => React.ReactNode;
24}
25export interface ImageProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, 'placeholder' | 'onClick'> {
26 src?: string;
27 wrapperClassName?: string;
28 wrapperStyle?: React.CSSProperties;
29 prefixCls?: string;
30 previewPrefixCls?: string;
31 placeholder?: React.ReactNode;
32 fallback?: string;
33 rootClassName?: string;
34 preview?: boolean | ImagePreviewType;
35 /**
36 * @deprecated since version 3.2.1
37 */
38 onPreviewClose?: (value: boolean, prevValue: boolean) => void;
39 onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
40 onError?: (e: React.SyntheticEvent<HTMLImageElement, Event>) => void;
41}
42interface CompoundedComponent<P> extends React.FC<P> {
43 PreviewGroup: typeof PreviewGroup;
44}
45declare const ImageInternal: CompoundedComponent<ImageProps>;
46export default ImageInternal;