@flexis/ui
Version:
Styleless React Components
57 lines • 2.18 kB
TypeScript
import { Ref, ButtonHTMLAttributes, CSSProperties, ReactElement, ChangeEvent, MouseEvent, PureComponent } from 'react';
import PropTypes from 'prop-types';
import { CombinePropsAndAttributes } from '../../helpers';
export declare enum DisplayVariant {
Img = "img",
Block = "block"
}
export declare type Display = 'img' | 'block';
interface ISelfProps {
elementRef?: Ref<HTMLInputElement>;
previewStyle?: CSSProperties;
display?: Display;
name?: string;
placeholder?: ReactElement<any>;
defaultValue?: string;
value?: string;
disabled?: boolean;
readOnly?: boolean;
resetButton?: ReactElement<any>;
onChange?(image: File, event: ChangeEvent | MouseEvent): any;
}
export declare type IProps = CombinePropsAndAttributes<ISelfProps, ButtonHTMLAttributes<HTMLButtonElement>>;
interface IState {
value: string;
filename: string;
}
export declare const DisplayValues: Display[];
export default class ImageSelect extends PureComponent<IProps, IState> {
static propTypes: {
elementRef: PropTypes.Requireable<(...args: any[]) => any>;
previewStyle: PropTypes.Requireable<object>;
display: PropTypes.Requireable<Display>;
name: PropTypes.Requireable<string>;
placeholder: PropTypes.Requireable<PropTypes.ReactElementLike>;
defaultValue: PropTypes.Requireable<string>;
value: PropTypes.Requireable<string>;
disabled: PropTypes.Requireable<boolean>;
readOnly: PropTypes.Requireable<boolean>;
resetButton: PropTypes.Requireable<PropTypes.ReactElementLike>;
style: PropTypes.Requireable<object>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
};
static defaultProps: {
display: DisplayVariant;
disabled: boolean;
readOnly: boolean;
resetButton: JSX.Element;
};
static getDerivedStateFromProps({ value }: IProps, { value: prevValue }: IState): Partial<IState>;
constructor(props: any);
render(): JSX.Element;
private onChange;
private onReset;
}
export {};
//# sourceMappingURL=ImageSelect.d.ts.map