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.73 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@mui/material/Typography"),i=require("@mui/material/ListItem"),r=require("@mui/material/ListItemIcon"),a=require("@mui/material/ListItemText"),s=require("@mui/material/Box"),l=require("@mui/material/Stack"),u=require("@mui/material/Tooltip"),n=require("clsx"),o=require("./FileItem.styles.js"),d=require("../models/index.js"),c=require("../util/functions/index.js"),m=require("../FileStatus/FileStatus.container.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var x=f(t),p=f(i),j=f(r),h=f(a),q=f(s),y=f(l),S=f(u),I=f(n);const g="NexusFileItem";exports.default=({icon:t,name:i,size:r,hideSize:a,status:s=d.UploadStatus.Succeeded,errorMessage:l,progress:u=0,actions:n,onRetry:f=()=>{},secondaryAction:F,sx:v,...z})=>{const A=c.getFileSize(r),N=s===d.UploadStatus.Uploading,T=s===d.UploadStatus.Succeeded,U=e.jsxs(y.default,{direction:"row",alignItems:"center",children:[!a&&T&&e.jsx(x.default,{className:I.default(`${g}-fileSize`,"FileItem-fileSize"),variant:"caption",children:A}),e.jsx(q.default,{className:I.default(`${g}-status`,"FileItem-status"),children:e.jsx(m.FileStatus,{actions:n,progress:u,status:s,onRetry:f,errorMessage:l})})]});return e.jsxs(p.default,{"data-testid":`${g}-root`,className:`${g}-root`,sx:[n&&!N?o.default.fileItem:{},o.default.listItem,...Array.isArray(v)?v:[v]],secondaryAction:F||U,...z,children:[e.jsx(j.default,{sx:{minWidth:32},children:t}),e.jsx(h.default,{disableTypography:!0,children:e.jsx(S.default,{title:e.jsx("div",{translate:"no",children:i}),children:e.jsx(x.default,{component:"p",variant:"caption",noWrap:!0,translate:"no",children:i})})})]})};