@uploadcare/file-uploader
Version:
Building blocks for Uploadcare products integration
64 lines (60 loc) • 2.6 kB
TypeScript
/// <reference types="react" />
type ConfigPlainType = import('./exported.js').ConfigPlainType;
type UploadCtxProvider = import('../index.js').UploadCtxProvider;
type Config = import('../index.js').Config;
type FileUploaderInline = import('../index.js').FileUploaderInline;
type FileUploaderRegular = import('../index.js').FileUploaderRegular;
type FileUploaderMinimal = import('../index.js').FileUploaderMinimal;
type FormInput = import('../index.js').FormInput;
type CloudImageEditorBlock = import('../index.js').CloudImageEditorBlock;
type CtxAttributes = {
'ctx-name': string;
};
type CommonHtmlAttributes<T> = Partial<
Pick<React.HTMLAttributes<T>, 'id' | 'children' | 'hidden'> & { class: React.HTMLAttributes<T>['className'] }
>;
type CustomElement<C, A = {}> = React.DetailedHTMLProps<CommonHtmlAttributes<C>, C> & A;
declare namespace JSX {
interface IntrinsicElements {
'uc-crop-frame': any;
'uc-editor-crop-button-control': any;
'uc-editor-filter-control': any;
'uc-editor-operation-control': any;
'uc-editor-image-cropper': any;
'uc-editor-image-fader': any;
'uc-editor-scroller': any;
'uc-editor-slider': any;
'uc-editor-toolbar': any;
'uc-btn-ui': any;
'uc-line-loader-ui': any;
'uc-presence-toggle': any;
'uc-slider-ui': any;
'uc-icon': any;
'uc-img': any;
'uc-simple-btn': any;
'uc-start-from': any;
'uc-drop-area': any;
'uc-source-btn': any;
'uc-source-list': any;
'uc-file-item': any;
'uc-modal': any;
'uc-upload-list': any;
'uc-url-source': any;
'uc-camera-source': any;
'uc-progress-bar-common': any;
'uc-progress-bar': any;
'uc-external-source': any;
'uc-cloud-image-editor-activity': any;
'uc-cloud-image-editor-block': CustomElement<
CloudImageEditorBlock,
CtxAttributes & ({ uuid: string } | { 'cdn-url': string }) & Partial<{ tabs: string; 'crop-preset': string }>
>;
'uc-cloud-image-editor': CustomElement<CloudImageEditorBlock, JSX.IntrinsicElements['uc-cloud-image-editor-block']>;
'uc-form-input': CustomElement<FormInput, CtxAttributes>;
'uc-file-uploader-regular': CustomElement<FileUploaderRegular, CtxAttributes & Partial<{ headless: boolean }>>;
'uc-file-uploader-minimal': CustomElement<FileUploaderMinimal, CtxAttributes>;
'uc-file-uploader-inline': CustomElement<FileUploaderInline, CtxAttributes>;
'uc-upload-ctx-provider': CustomElement<InstanceType<UploadCtxProvider>, CtxAttributes>;
'uc-config': CustomElement<InstanceType<Config>, CtxAttributes & Partial<ConfigPlainType>>;
}
}