@douyinfe/semi-ui
Version:
A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.
51 lines (50 loc) • 2.37 kB
TypeScript
import React from "react";
import BaseComponent from "../_base/baseComponent";
import { ImageProps, ImageStates } from "./interface";
import PropTypes from "prop-types";
import { PreviewContextProps } from "./previewContext";
import ImageFoundation, { ImageAdapter } from '@douyinfe/semi-foundation/lib/cjs/image/imageFoundation';
import '@douyinfe/semi-foundation/lib/cjs/image/image.css';
export default class Image extends BaseComponent<ImageProps, ImageStates> {
static isSemiImage: boolean;
static contextType: React.Context<PreviewContextProps>;
static propTypes: {
style: PropTypes.Requireable<object>;
className: PropTypes.Requireable<string>;
src: PropTypes.Requireable<string>;
width: PropTypes.Requireable<NonNullable<string | number>>;
height: PropTypes.Requireable<NonNullable<string | number>>;
alt: PropTypes.Requireable<string>;
placeholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
fallback: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
preview: PropTypes.Requireable<NonNullable<boolean | object>>;
onLoad: PropTypes.Requireable<(...args: any[]) => any>;
onError: PropTypes.Requireable<(...args: any[]) => any>;
onClick: PropTypes.Requireable<(...args: any[]) => any>;
crossOrigin: PropTypes.Requireable<string>;
imageID: PropTypes.Requireable<number>;
};
static defaultProps: {
preview: boolean;
};
get adapter(): ImageAdapter<ImageProps, ImageStates>;
context: PreviewContextProps;
foundation: ImageFoundation;
imgRef: React.RefObject<HTMLImageElement>;
constructor(props: ImageProps);
static getDerivedStateFromProps(props: ImageProps, state: ImageStates): Partial<ImageStates>;
isInGroup(): boolean;
isLazyLoad(): boolean;
handleClick: (e: any) => void;
handleLoaded: (e: any) => void;
handleError: (e: any) => void;
handlePreviewVisibleChange: (visible: boolean) => void;
renderDefaultLoading: () => React.JSX.Element;
renderDefaultError: () => React.JSX.Element;
renderLoad: () => React.JSX.Element;
renderError: () => React.JSX.Element;
renderExtra: () => React.JSX.Element;
getLocalTextByKey: (key: string) => React.JSX.Element;
renderMask: () => React.JSX.Element;
render(): React.JSX.Element;
}