@brizy/ui
Version:
React elements in Brizy style
28 lines (27 loc) • 1.27 kB
JavaScript
import React from "react";
import { UploadComponent } from "./UploadComponent";
import { always, cond, prop, T } from "ramda";
import { getChoose, getLoading, isValid } from "./utils";
import { Icon } from "../../Icon";
import { Delete } from "../../icons";
import { BRZ_PREFIX } from "../../constants";
import { useTranslation } from "../../utils/localization/useTranslation";
const getContent = (props) => {
const { value, onRemove } = props;
return (React.createElement("span", { className: `${BRZ_PREFIX}-upload-file__name-file-item--single` },
React.createElement("span", { className: `${BRZ_PREFIX}-upload-file__name-file-item--single__text` }, value.name),
onRemove && (React.createElement("button", { onClick: e => {
e.preventDefault();
onRemove(value);
} },
React.createElement(Icon, { source: Delete, color: "gray-mid", hoverColor: "gray", size: "12px" })))));
};
export const Upload = (props) => {
const { t } = useTranslation();
const renderContent = cond([
[prop("loading"), getLoading],
[isValid, getContent],
[T, always(getChoose(t))],
]);
return React.createElement(UploadComponent, Object.assign({}, props), renderContent(props));
};