@brizy/ui
Version:
React elements in Brizy style
18 lines (17 loc) • 926 B
JavaScript
import React, { useMemo } from "react";
import { getFieldsStyleTheme } from "../utils/getFieldsTheme";
import { Upload as UploadComponent } from "./Upload";
export const Upload = ({ source, loading, size = "middle", errorMessage, disabled = source ? true : false, onChange, onRemove, onClick, theme, children, acceptableTypes, }) => {
const props = useMemo(() => ({
source,
loading,
size,
errorMessage,
disabled,
acceptableTypes,
onChange,
onRemove,
}), [source, loading, size, errorMessage, disabled, acceptableTypes, onChange, onRemove]);
return theme || onClick ? (React.createElement("div", { style: getFieldsStyleTheme(theme), onClick: onClick },
React.createElement(UploadComponent, Object.assign({}, props, { openFileDialogOnClick: false }), children))) : (React.createElement(UploadComponent, Object.assign({}, props), children));
};