alinea
Version:
[](https://npmjs.org/package/alinea) [](https://packagephobia.com/result?p=alinea)
52 lines (48 loc) • 2.35 kB
JavaScript
import "../../../chunks/chunk-U5RRZUYZ.js";
// src/dashboard/view/media/FileUploadRow.tsx
import {
Chip,
HStack,
Icon,
Loader,
TextLabel,
VStack,
fromModule
} from "alinea/ui";
import { Ellipsis } from "alinea/ui/Ellipsis";
import { IcBaselineErrorOutline } from "alinea/ui/icons/IcBaselineErrorOutline";
import { IcRoundCheck } from "alinea/ui/icons/IcRoundCheck";
import { IcRoundInsertDriveFile } from "alinea/ui/icons/IcRoundInsertDriveFile";
import { UploadStatus } from "../../hook/UseUploads.js";
// src/dashboard/view/media/FileUploadRow.module.scss
var FileUploadRow_module_default = {
"root": "alinea-FileUploadRow",
"root-preview": "alinea-FileUploadRow-preview",
"rootPreview": "alinea-FileUploadRow-preview",
"root-preview-image": "alinea-FileUploadRow-preview-image",
"rootPreviewImage": "alinea-FileUploadRow-preview-image",
"root-preview-icon": "alinea-FileUploadRow-preview-icon",
"rootPreviewIcon": "alinea-FileUploadRow-preview-icon",
"root-status": "alinea-FileUploadRow-status",
"rootStatus": "alinea-FileUploadRow-status"
};
// src/dashboard/view/media/FileUploadRow.tsx
import { jsx, jsxs } from "react/jsx-runtime";
var styles = fromModule(FileUploadRow_module_default);
function FileUploadRow(upload) {
return /* @__PURE__ */ jsxs(HStack, { center: true, full: true, gap: 10, className: styles.root(), children: [
/* @__PURE__ */ jsx("div", { className: styles.root.preview(), children: upload.preview ? /* @__PURE__ */ jsx("img", { src: upload.preview, className: styles.root.preview.image() }) : /* @__PURE__ */ jsx("div", { className: styles.root.preview.icon(), children: /* @__PURE__ */ jsx(IcRoundInsertDriveFile, {}) }) }),
/* @__PURE__ */ jsx(VStack, { children: /* @__PURE__ */ jsx(Ellipsis, { children: /* @__PURE__ */ jsx(TextLabel, { label: upload.file.name }) }) }),
/* @__PURE__ */ jsx(Chip, { style: { marginLeft: "auto" }, children: upload.file.name.toLowerCase().split(".").pop() }),
/* @__PURE__ */ jsx("div", { className: styles.root.status(), children: upload.status === UploadStatus.Done ? /* @__PURE__ */ jsx(
Icon,
{
icon: upload.error ? IcBaselineErrorOutline : IcRoundCheck,
title: upload.error ? upload.error.message : "Done"
}
) : /* @__PURE__ */ jsx(Loader, {}) })
] });
}
export {
FileUploadRow
};