oak-general-business/es/components/extraFile/crop/index.d.ts

77 lines
2.4 KiB
TypeScript

import { EntityDict } from '../../../oak-app-domain';
import { FileState } from '../../../features/extraFile';
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/types/Entity';
import { ReactComponentProps } from 'oak-frontend-base/lib/types/Page';
type ExtraFile = EntityDict['extraFile']['OpSchema'];
export interface EnhancedExtraFile extends ExtraFile {
url: string;
thumbUrl: string;
fileName: string;
fileState?: FileState;
percentage?: number;
}
export type Theme = 'file' | 'image' | 'image-flow' | 'custom';
type SourceType = 'album' | 'camera';
type ImageMode = 'scaleToFill' | 'aspectFit' | 'aspectFill' | 'widthFix' | 'heightFix' | 'top' | 'bottom' | 'left' | 'right' | 'center' | 'top left' | 'top right' | 'bottom left' | 'bottom right';
declare const _default: <ED2 extends EntityDict & BaseEntityDict, T2 extends keyof ED2>(props: ReactComponentProps<ED2, T2, true, {
bucket: string;
autoUpload: boolean;
maxNumber: number;
extension: string[];
selectCount: number;
sourceType: SourceType[];
mediaType: ('image' | 'video')[];
mode: ImageMode;
size: number;
showUploadList: boolean;
showUploadProgress: boolean;
accept: string;
disablePreview: boolean;
disableDelete: boolean;
disableAdd: boolean;
disableDownload: boolean;
disabled: boolean;
type: string;
origin: string;
tag1: string;
tag2: string;
entity: keyof ED2;
entityId: string;
theme: Theme;
children?: React.ReactNode;
enableCrop: boolean;
enableCompross: boolean;
cropQuality: number;
showRest: boolean;
showGrid: boolean;
fillColor: string;
rotationSlider: boolean;
aspectSlider: boolean;
zoomSlider: boolean;
resetText: string;
aspect: number;
minZoom: number;
maxZoom: number;
cropShape: 'rect' | 'round';
cropperProps: object;
modalTitle: string;
modalWidth: string;
modalOk: string;
modalCancel: string;
strict: boolean;
checkOrientation: boolean;
retainExif: boolean;
maxWidth: number;
maxHeight: number;
minWidth: number;
minHeight: number;
compressWidth: number;
compressHeight: number;
resize: 'contain' | 'cover' | 'none';
compressQuality: number;
mimeType: string;
convertTypes: string[];
convertSize: number;
}>) => React.ReactElement;
export default _default;