UNPKG

@navikt/ds-react

Version:

React components from the Norwegian Labour and Welfare Administration.

53 lines 2.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = __importDefault(require("react")); const aksel_icons_1 = require("@navikt/aksel-icons"); const loader_1 = require("../../../../loader"); const Theme_1 = require("../../../../theme/Theme"); const iconProps = { fontSize: "2rem", "aria-hidden": true, }; function ItemIcon({ isLoading, file, showError }) { const { cn } = (0, Theme_1.useRenameCSS)(); if (isLoading) { return (react_1.default.createElement("div", { className: cn("navds-file-item__icon navds-file-item__icon--loading") }, react_1.default.createElement(loader_1.Loader, { size: "large" }))); } if (showError) { return (react_1.default.createElement("div", { className: cn("navds-file-item__icon") }, react_1.default.createElement(aksel_icons_1.FileXMarkIcon, Object.assign({}, iconProps)))); } return (react_1.default.createElement("div", { className: cn("navds-file-item__icon") }, react_1.default.createElement(Icon, { file: file }))); } function Icon({ file }) { const extension = file.name.substring(file.name.lastIndexOf(".") + 1); switch (extension) { case "jpg": case "jpeg": case "png": case "gif": case "webp": return react_1.default.createElement(aksel_icons_1.FileImageIcon, Object.assign({}, iconProps)); case "pdf": return react_1.default.createElement(aksel_icons_1.FilePdfIcon, Object.assign({}, iconProps)); case "txt": return react_1.default.createElement(aksel_icons_1.FileTextIcon, Object.assign({}, iconProps)); case "csv": return react_1.default.createElement(aksel_icons_1.FileCsvIcon, Object.assign({}, iconProps)); case "xls": case "xlsx": return react_1.default.createElement(aksel_icons_1.FileExcelIcon, Object.assign({}, iconProps)); case "doc": case "docx": return react_1.default.createElement(aksel_icons_1.FileWordIcon, Object.assign({}, iconProps)); default: return react_1.default.createElement(aksel_icons_1.FileIcon, Object.assign({}, iconProps)); } } exports.default = ItemIcon; //# sourceMappingURL=ItemIcon.js.map