UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

31 lines (28 loc) 1.01 kB
'use client'; import ActionIcon_default from "../ActionIcon/ActionIcon.mjs"; import { downloadBlob } from "../utils/downloadBlob.mjs"; import React, { memo } from "react"; import { jsx } from "react/jsx-runtime"; import { Download } from "lucide-react"; //#region src/DownloadButton/DownloadButton.tsx const DownloadButton = memo(({ fileName = "download", fileType = "svg", disabled = false, blobUrl, ...rest }) => { const handleDownload = async () => { if (!blobUrl || disabled) return; try { await downloadBlob(blobUrl, `${fileName.replace(/\.[^./]+$/, "")}.${fileType}`); } catch (error) { console.error("Download failed:", error); } }; return /* @__PURE__ */ jsx(ActionIcon_default, { title: `Download ${fileType.toUpperCase()}`, ...rest, icon: Download, onClick: handleDownload }); }); DownloadButton.displayName = "DownloadButton"; var DownloadButton_default = DownloadButton; //#endregion export { DownloadButton_default as default }; //# sourceMappingURL=DownloadButton.mjs.map