UNPKG

@brizy/ui

Version:
15 lines (14 loc) 1.08 kB
import React, { useMemo } from "react"; import { Icon } from "../../Icon"; import { CmsAddIcon } from "../../icons"; import { BRZ_PREFIX, IMAGE_ACCEPTABLE_TYPES } from "../../constants"; import { useTranslation } from "../../utils/localization/useTranslation"; export const UploadButton = ({ disabled, withText, handleChange, onClick, acceptableTypes = IMAGE_ACCEPTABLE_TYPES, }) => { const { t } = useTranslation(); const accept = useMemo(() => acceptableTypes.join(","), [acceptableTypes]); return (React.createElement("label", { className: `${BRZ_PREFIX}-multiupload__label`, onClick: onClick }, !disabled && !onClick && (React.createElement("input", { multiple: true, type: "file", accept: accept, className: `${BRZ_PREFIX}-multiupload__input`, onChange: handleChange })), React.createElement("div", { className: `${BRZ_PREFIX}-multiupload__add` }, React.createElement(Icon, { source: CmsAddIcon, color: "inherit" }), withText && React.createElement("span", { className: `${BRZ_PREFIX}-multiupload__add-text` }, t("Add"))))); };