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.85 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("@mui/material/Typography"),r=require("@mui/material/LinearProgress"),t=require("@mui/icons-material/Refresh"),s=require("@mui/material/Box"),i=require("@mui/material/Button"),l=require("@mui/material/Stack"),n=require("@mui/material/IconButton"),o=require("@mui/icons-material/Cancel"),u=require("../models/index.js"),c=require("../locales/index.js"),d=require("./FileStatus.style.js"),m=require("./locale.json.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var x=f(a),j=f(r),p=f(t),y=f(s),q=f(i),$=f(l),g=f(n),h=f(o);const v="NexusFileStatus";exports.default=({status:a,progress:r=0,actions:t,errorMessage:s,onCancel:i,onRetry:l,sx:n,...o})=>{const f=c.useTranslate(m.default),N=a===u.UploadStatus.Uploading,S=a===u.UploadStatus.Failed;return e.jsxs(y.default,{className:`${v}-root`,sx:[d.styles.statusContainer,...Array.isArray(n)?n:[n]],...o,children:[e.jsxs($.default,{className:`${v}-status`,direction:"row",alignItems:"center",spacing:2,children:[N&&e.jsx(j.default,{className:`${v}-progress`,"data-testid":`${v}-progress`,variant:"determinate",color:"secondary",value:r,sx:d.styles.progress,"aria-label":"File Progress"}),S&&e.jsx(x.default,{className:`${v}-failed`,variant:"caption",color:"error",noWrap:!0,children:s??f("uploadFailed")}),void 0!==t&&e.jsx(y.default,{className:`${v}-actions-${a}`,children:t}),!t&&e.jsx(y.default,{className:`${v}-actions-${a}`,children:e.jsx(g.default,{size:"small","data-testid":`${v}-action-cancel`,onClick:i,"aria-label":"Cancel Action",children:e.jsx(h.default,{fontSize:"small"})})})]}),S&&e.jsx(q.default,{className:`${v}-retry`,"data-testid":`${v}-action-retry`,variant:"text",onClick:l,endIcon:e.jsx(p.default,{fontSize:"small"}),children:f("retry")})]})};