@navikt/ds-react
Version:
React components from the Norwegian Labour and Welfare Administration.
53 lines • 2.42 kB
JavaScript
;
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