UNPKG

@uploadcare/react-uploader

Version:

React component for file uploads using Uploadcare

79 lines (56 loc) 2.48 kB
import { ConfigType } from '@uploadcare/file-uploader'; import { default as default_2 } from 'react'; import { defineLocale } from '@uploadcare/file-uploader'; import { EventMap } from '@uploadcare/file-uploader'; import { FC } from 'react'; import { Ref } from 'react'; import { UploadCtxProvider } from '@uploadcare/file-uploader'; declare type CommonProps = { /** * The class name for wrapper over uploader */ className?: string; /** * The class name for uploader */ classNameUploader?: string; /** * The unique ID */ ctxName?: string; }; declare type ConfigProps = Partial<Omit<ConfigType, "pubkey">> & { pubkey: ConfigType["pubkey"]; }; export { defineLocale } declare type EventProps = Partial<TEventsSchema>; export declare const FileUploaderInline: FC<TProps<"Inline">>; declare type FileUploaderInlineProps = {}; export declare const FileUploaderMinimal: FC<TProps<"Minimal">>; declare type FileUploaderMinimalProps = {}; declare type FileUploaderModes = 'Regular' | 'Minimal' | 'Inline'; export declare const FileUploaderRegular: FC<TProps<"Regular">>; declare type FileUploaderRegularProps = { /** * The prop controls the button's visibility in regular mode. */ headless?: boolean; }; export declare type TEventsSchema = { [K in keyof EventMap as TPrefixOnAndCamelCase<K>]: (event: EventMap[K]["detail"]) => void; }; declare type TExtraPrefixOn<S extends string> = `on${Capitalize<S>}`; declare type TPrefixOnAndCamelCase<S extends string> = TExtraPrefixOn<TToCamelCase<S>>; export declare type TProps<T extends FileUploaderModes> = CommonProps & ConfigProps & EventProps & UploadCtxPropviderProps & Pick<TProps_2, "fallback"> & (T extends "Regular" ? FileUploaderRegularProps : T extends "Minimal" ? FileUploaderMinimalProps : T extends "Inline" ? FileUploaderInlineProps : never); declare type TProps_2 = { fallback?: default_2.ReactNode | default_2.ReactPortal | null; condition?: boolean; children: default_2.ReactNode; }; declare type TToCamelCase<S extends string> = S extends `${infer Head}-${infer Tail}` ? `${Lowercase<Head>}${Capitalize<TToCamelCase<Tail>>}` : Lowercase<S>; declare type UploadCtxPropviderProps = { apiRef?: Ref<InstanceType<UploadCtxProvider>>; }; export { UploadCtxProvider } export * from "@uploadcare/file-uploader/types/index.js"; export { }