files-ui-react-19
Version:
UI components for file uploads with React js - with React 19 support
71 lines (70 loc) • 2.68 kB
TypeScript
import { OverridableComponentProps } from "../overridable/OverridableComponentsProps";
export interface AvatarFullProps extends OverridableComponentProps {
accept?: string;
variant?: "square" | "circle";
borderRadius?: string;
/**
* Just like any other input component. The value of the input element,
required for a controlled component.
*/
src?: string | File;
/**
* Callback fired when an image file is selected.
* @param selectedFile The new file selected
*/
onChange?: (selectedFile: File) => void;
/**
* Alternative label when an error occurs
* on loading the image
*/
alt?: string;
/**
* Label to be displayed when image source is not set.
*/
emptyLabel?: React.ReactNode;
/**
* Label to be displayed when "isLoading" prop is set set. This will cover
the current image.
*/
loadingLabel?: React.ReactNode;
/**
* Label to be displayed when there is a valid source set.
*/
changeLabel?: React.ReactNode;
/**
* If true and if a src is given, then avatar will show the image and will not allow
* the user to change the picture. Also, layer on hover will not be shown
*/
readOnly?: boolean;
/**
* If true, loadingLabel will be shown.
*/
isLoading?: boolean;
/**
* Callback fired when an error occured on loading the image.
*/
onError?: Function;
/**
* If not present, image width will be set to 100%.
*
* If present, image will be analized and displayed according to its heigh and width.
* Image with height greater than its width has a "portrait" orientation.
* Otherwise it has a "landscape" orientation.
* - If value is "orientation", image will be displayed complete by giving 100%
* to width prop if the orientation is "landscape".
* When orientation is "portrait", height prop will be set to 100%. Some images
* will show an empty space.
* - If value is "center", image will be centered and will not be displayed complete.
* This the empty space is avoided. This is achived by giving 100% to width prop if
* the orientation is "portrait". When orientation is "landscape", height prop will be set to 100%.
* @default center
*/
smartImgFit?: false | "orientation" | "center";
}
type DefDivProps = React.HTMLProps<HTMLDivElement>;
type DivPropsOmitAvatarFullProps = Omit<DefDivProps, keyof AvatarFullProps>;
export declare type AvatarProps = DivPropsOmitAvatarFullProps & {
[P in keyof AvatarFullProps]: AvatarFullProps[P];
};
export declare const defaultAvatarProps: AvatarProps;
export {};