UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

112 lines (111 loc) 3.83 kB
import * as React from 'react'; export interface IImage { } export interface IImageProps extends React.HTMLAttributes<HTMLImageElement> { /** * Optional callback to access the ICheckbox interface. Use this instead of ref for accessing * the public methods and properties of the component. */ componentRef?: (component: IImage) => void; /** * If true, fades the image in when loaded. * @defaultvalue false; */ shouldFadeIn?: boolean; /** * If true, the image starts as visible and is hidden on error. Otherwise, the image is hidden until * it is successfully loaded. This disables shouldFadeIn. * @defaultvalue false; */ shouldStartVisible?: boolean; /** * If provided, adds the indicated css class to the image. */ className?: string; /** * Used to determine how the image is scaled and cropped to fit the frame. * * @defaultvalue If both dimensions are provided, then the image is fit using ImageFit.scale. Otherwise, the * image won't be scaled or cropped. */ imageFit?: ImageFit; /** * Deprecated at v1.3.6, to replace the src in case of errors, use onLoadingStateChange instead and * rerender the Image with a difference src. * @deprecated */ errorSrc?: string; /** * If true, the image frame will expand to fill its parent container. */ maximizeFrame?: boolean; /** * Optional callback method for when the image load state has changed. * The 'loadState' parameter indicates the current state of the Image. */ onLoadingStateChange?: (loadState: ImageLoadState) => void; /** * Specified the cover style to be used for this image. If not * specified, this will be dynamically calculated based on the * aspect ratio for the image. */ coverStyle?: ImageCoverStyle; } /** * The possible methods that can be used to fit the image. */ export declare enum ImageFit { /** * The image is not scaled. The image is centered and cropped within the content box. */ center = 0, /** * The image is scaled to maintain its aspect ratio while being fully contained within the frame. The image will * be centered horizontally and vertically within the frame. The space in the top and bottom or in the sides of * the frame will be empty depending on the difference in aspect ratio between the image and the frame. */ contain = 1, /** * The image is scaled to maintain its aspect ratio while filling the frame. Portions of the image will be cropped from * the top and bottom, or from the sides, depending on the difference in aspect ratio between the image and the frame. */ cover = 2, /** * Neither the image nor the frame are scaled. If their sizes do not match, the image will either be cropped or the * frame will have empty space. */ none = 3, } /** * The cover style to be used on the image */ export declare enum ImageCoverStyle { /** * The image will be shown at 100% height of container and the width will be scaled accordingly */ landscape = 0, /** * The image will be shown at 100% width of container and the height will be scaled accordingly */ portrait = 1, } export declare enum ImageLoadState { /** * The image has not yet been loaded, and there is no error yet. */ notLoaded = 0, /** * The image has been loaded successfully. */ loaded = 1, /** * An error has been encountered while loading the image. */ error = 2, /** * Deprecated at v1.3.6, to replace the src in case of errors, use onLoadingStateChange instead * and rerender the Image with a difference src. * @deprecated */ errorLoaded = 3, }