react-image-previewer
Version:
An exquisite React photo preview component
60 lines (55 loc) • 2.05 kB
TypeScript
import React from 'react';
import { P as PhotoProviderBase, D as DataType, a as PhotoRenderParams } from './types-9c54b1f2.js';
export { A as ActiveAnimationType, B as BrokenElementParams, C as CloseEdgeType, f as EasingMode, E as ExposedProperties, M as ModeType, e as OriginRectType, O as OverlayRenderProps, c as PhotoTapFunction, b as ReachFunction, R as ReachMoveFunction, d as ReachType, T as TouchStartType } from './types-9c54b1f2.js';
interface PhotoProviderProps extends PhotoProviderBase {
children: React.ReactNode;
onIndexChange?: (index: number, state: PhotoProviderState) => void;
onVisibleChange?: (visible: boolean, index: number, state: PhotoProviderState) => void;
}
type PhotoProviderState = {
images: DataType[];
visible: boolean;
index: number;
};
declare const PhotoProvider: React.ForwardRefExoticComponent<PhotoProviderProps & React.RefAttributes<HTMLDivElement>>;
interface PhotoViewProps {
/**
* 图片地址
*/
src?: string;
/**
* 自定义渲染,优先级比 src 低
*/
render?: (props: PhotoRenderParams) => React.ReactNode;
/**
* 自定义覆盖节点
*/
overlay?: React.ReactNode;
/**
* 自定义渲染节点宽度
*/
width?: number;
/**
* 自定义渲染节点高度
*/
height?: number;
/**
* 子节点,一般为缩略图
*/
children?: React.ReactElement;
/**
* 触发的事件
*/
triggers?: ('onClick' | 'onDoubleClick')[];
}
declare const PhotoView: React.FC<PhotoViewProps>;
interface IPhotoSliderProps extends PhotoProviderBase {
images: DataType[];
index?: number;
onIndexChange?: (index: number) => void;
visible: boolean;
onClose: (evt?: React.MouseEvent | React.TouchEvent) => void;
afterClose?: () => void;
}
declare const PhotoSlider: React.ForwardRefExoticComponent<IPhotoSliderProps & React.RefAttributes<HTMLDivElement>>;
export { DataType, PhotoProvider, PhotoProviderBase, PhotoRenderParams, PhotoSlider, PhotoView };