UNPKG

kwikid-components-react

Version:

KwikID's Component Library in React

86 lines (80 loc) 2.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getIconColor = exports.getFolderIcon = exports.getFileIcon = exports.getFileExtension = void 0; var _fa = require("react-icons/fa"); /** * Get file extension from file name */ const getFileExtension = fileName => { const parts = fileName.split("."); return parts.length > 1 ? parts[parts.length - 1].toLowerCase() : ""; }; /** * File extension to icon mapping */ exports.getFileExtension = getFileExtension; const FILE_ICONS = { // Documents doc: _fa.FaFileWord, docx: _fa.FaFileWord, pdf: _fa.FaFilePdf, xls: _fa.FaFileExcel, xlsx: _fa.FaFileExcel, ppt: _fa.FaFilePowerpoint, pptx: _fa.FaFilePowerpoint, txt: _fa.FaFileAlt, rtf: _fa.FaFileAlt, // Images jpg: _fa.FaFileImage, jpeg: _fa.FaFileImage, png: _fa.FaFileImage, gif: _fa.FaFileImage, svg: _fa.FaFileImage, bmp: _fa.FaFileImage, // Audio mp3: _fa.FaFileAudio, wav: _fa.FaFileAudio, ogg: _fa.FaFileAudio, // Video mp4: _fa.FaFileVideo, avi: _fa.FaFileVideo, mov: _fa.FaFileVideo, wmv: _fa.FaFileVideo, // Code js: _fa.FaFileCode, ts: _fa.FaFileCode, jsx: _fa.FaFileCode, tsx: _fa.FaFileCode, html: _fa.FaFileCode, css: _fa.FaFileCode, json: _fa.FaFileCode }; // Default fallback icon const DEFAULT_FILE_ICON = _fa.FaFile; /** * Get the appropriate icon for a file based on its extension */ const getFileIcon = fileName => { const extension = getFileExtension(fileName); return FILE_ICONS[extension] || DEFAULT_FILE_ICON; }; /** * Get folder icon based on expanded state */ exports.getFileIcon = getFileIcon; const getFolderIcon = isExpanded => { return isExpanded ? _fa.FaFolderOpen : _fa.FaFolder; }; /** * Get icon color based on node type and state */ exports.getFolderIcon = getFolderIcon; const getIconColor = (nodeType, isExpanded) => { if (nodeType === "folder") { return isExpanded ? "#f8d775" : "#e9c46a"; // Different shades for expanded/collapsed folders } return "#8e9aaf"; // Blue-gray for files }; exports.getIconColor = getIconColor;