UNPKG

@nexusui/components

Version:

These are custom components specially-developed for NexusUI applications. They will make your life easier by giving you out-of-the-box implementations for various high-level UI elements that you can drop directly into your application.

2 lines (1 loc) 1.24 kB
import{jsx as e}from"react/jsx-runtime";import t from"@mui/icons-material/Image";import a from"@mui/icons-material/TextSnippetOutlined";import s from"@mui/icons-material/PictureAsPdf";import i from"@mui/icons-material/ViewList";import r from"@mui/icons-material/ViewInAr";import c from"@mui/icons-material/InsertDriveFileOutlined";import m from"@mui/icons-material/Folder";const o="NexusFileIcon",d={image:t,file:a,table:i,pdf:s,cad:r,default:c},l={fontSize:"small",sx:{color:"text.secondary"}},n=(d,n,p)=>{if(!0===n)return e(m,{...l,"data-testid":`${o}-folder`});if(!p){const m=d.split(".");switch(m[m.length-1]){case"jpg":case"png":case"jpeg":case"bmp":case"gif":case"svg":return e(t,{...l,"data-testid":`${o}-image`});case"txt":case"doc":case"docx":case"dot":case"dotm":case"xps":case"mht":case"mhtml":case"rtf":case"xml":case"odt":case"ppt":case"pptx":case"xls":case"xlsx":case"xlsm":case"xlst":case"rar":case"zip":return e(a,{...l,"data-testid":`${o}-file`});case"table":return e(i,{...l,"data-testid":`${o}-table`});case"pdf":return e(s,{...l,"data-testid":`${o}-pdf`});case"dxf":return e(r,{...l,"data-testid":`${o}-cad`});default:return e(c,{...l,"data-testid":`${o}-default`})}}return p};export{d as fileIconMapping,n as getFileIcon};