UNPKG

ar-design

Version:

AR Design is a (react | nextjs) ui library.

28 lines (27 loc) 1.79 kB
import React, { memo } from "react"; import { ARIcon } from "../../icons"; import Button from "../button"; const Buttons = ({ selectedFile, handleFileToBase64, handleFileRemove }) => { return (React.createElement("div", { className: "buttons" }, React.createElement("div", null, React.createElement(Button, { variant: "borderless", color: "purple", type: "button", icon: { element: React.createElement(ARIcon, { icon: "Download", fill: "currentColor" }) }, onClick: (e) => { e.stopPropagation(); const url = window.URL.createObjectURL(selectedFile); const a = document.createElement("a"); a.href = url; a.download = selectedFile.name; a.click(); window.URL.revokeObjectURL(url); } }), selectedFile.type.includes("image") && (React.createElement(Button, { variant: "borderless", color: "blue", type: "button", icon: { element: React.createElement(ARIcon, { icon: "Eye-Fill", fill: "currentColor" }) }, onClick: async (e) => { e.stopPropagation(); const base64 = await handleFileToBase64(selectedFile); const newTab = window.open(); newTab?.document.write(`<img src="${base64}" title="${selectedFile.name}" alt="${selectedFile.name}" />`); } })), React.createElement(Button, { variant: "borderless", color: "red", type: "button", icon: { element: React.createElement(ARIcon, { icon: "Trash-Fill", fill: "currentColor" }) }, onClick: (e) => { e.stopPropagation(); handleFileRemove(selectedFile); } })))); }; export default memo(Buttons);