Image.d.ts 2.1 KB

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