@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
99 lines (98 loc) • 3.46 kB
TypeScript
import { MediaPickerEnums, MediaPickerRenditionData, MediaPickerTransformedBase64Image } from "..";
import { MediaPickerBase64Image } from "./MediaPickerBase64Image";
import { MediaPickerImageRatioDefinition, MediaPickerRollupImageRatio } from "./MediaPickerImageRatio";
import { MediaPickerImageScalingDefinition } from "./MediaPickerImageScaling";
import { MediaPickerPersistedImageInformation } from "./MediaPickerPersistedImageDetails";
export interface MediaInformation {
mediaType: MediaPickerEnums.OmniaMediaTypes;
}
export interface ImageInformation extends MediaInformation, MediaPickerBase64Image {
sizeInBytes: number;
sourceUrl?: string;
}
export interface VideoInformation extends MediaInformation {
videoUrl: string;
thumbnailUrl?: string;
graphDriveId?: string;
graphDriveItemId?: string;
}
export interface MediaItem {
mediaType: MediaPickerEnums.OmniaMediaTypes;
thumbnailUrl: string;
}
export interface ImageItem extends MediaItem {
imageUrl: string;
fileName: string;
}
export interface VideoItem extends MediaItem {
videoUrl: string;
}
export interface BingMediaItem extends ImageItem {
height: number;
width: number;
contentSize: number;
encodingFormat: string;
}
export interface ImageEditorData {
transformedBase64?: MediaPickerTransformedBase64Image;
renditionData?: Array<MediaPickerRenditionData>;
imageAlternateText?: string;
}
export interface MediaPickerLimitedSizeSettings {
fileSizeBytesLimit: number;
}
export interface ImageDataInfo {
base64String: string;
imageWidth: number;
imageHeight: number;
size: number;
mimeType: string;
format: string;
}
export interface MediaPickerImageInformation {
width: number;
height: number;
sizeBytes: number;
}
export interface MediaPickerPersistedImage {
providerImageInformation: MediaPickerPersistedImageInformation;
metadata: Array<MediaPickerImageMetadata>;
}
export interface MediaPickerImageMetadata {
name: string;
value: string;
}
export interface MediaPickerImageSettings {
/** Null is always show scaling options */
imageScalingOptions?: MediaPickerImageScalingOptions;
/** Null is hide crop button, Empty array is free transform */
selectableRatios?: Array<MediaPickerImageRatioDefinition>;
rollupRatios?: Array<MediaPickerRollupImageRatio>;
/** True: show transformation step. False: do not show transformation but still handle scaling, rollup image will not be generated */
disableTransformations: boolean;
/** force using a custom image scaling options, i.e. hard-code a scaling option based on specific requirements */
customImageScalingDefinition?: MediaPickerImageScalingDefinition;
}
export interface MediaPickerImageScalingOptions {
/** Scaling option that will be selected by default*/
preSelectedScalingOption: MediaPickerImageScalingDefinition;
/** True: show scaling options and auto select default value. False: scale image by default value without showing scaling options */
showScalingOptions: boolean;
}
export interface ImageCropzoneRect {
left: number;
top: number;
width: number;
height: number;
}
export interface ImageTransformerOptions {
editor: ImageTransformerEditorOptions;
rollup: boolean;
setting: boolean;
}
export interface ImageTransformerEditorOptions {
crop: boolean;
flip: boolean;
filter: boolean;
reset: boolean;
}