UNPKG

@progress/kendo-react-upload

Version:

React Upload component helps users transfer files from their file systems to dedicated server handlers. KendoReact Upload package

9 lines (8 loc) 2.81 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react"),l=require("@progress/kendo-react-common"),E=require("@progress/kendo-react-progressbars"),c=require("@progress/kendo-react-intl"),n=require("./messages/index.js"),g=require("./utils/utils.js"),f=require("./UploadListActionButton.js");function v(i){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const s in i)if(s!=="default"){const t=Object.getOwnPropertyDescriptor(i,s);Object.defineProperty(e,s,t.get?t:{enumerable:!0,get:()=>i[s]})}}return e.default=i,Object.freeze(e)}const a=v(p);class m extends a.Component{getFileExtension(e){return e.extension?e.extension.substring(1):""}getFileValidationMessage(e,s){const t=c.provideLocalizationService(this);let o="";if(s)o=t.toLanguageString(n.statusUploadFailed,n.messages[n.statusUploadFailed]);else if(e.validationErrors&&e.validationErrors.length>0){const r=`upload.${e.validationErrors[0]}`;o=t.toLanguageString(r,n.messages[r])}return o}renderValidationError(e,s){return a.createElement("span",{className:"k-file-info",key:"2"},a.createElement("span",{className:"k-file-name",title:e.name},e.name),a.createElement("span",{className:"k-file-validation-message","aria-live":"polite"},this.getFileValidationMessage(e,s)))}renderFileDetails(e){const t=c.provideLocalizationService(this).toLanguageString(n.statusUploaded,n.messages[n.statusUploaded]);return a.createElement("span",{className:"k-file-info",key:"2"},a.createElement("span",{className:"k-file-name",title:e.name},e.name),e.progress!==100?a.createElement("span",{className:"k-file-size"},g.getTotalFilesSizeMessage([e])):a.createElement("span",{className:"k-file-validation-message","aria-live":"polite"},t))}render(){const{files:e,...s}=this.props,t=e[0],[,o,r,d]=g.getFileStatus([t]),u=!d&&!o&&!r;return a.createElement("div",{className:l.classNames("k-file-single")},u&&a.createElement(E.ProgressBar,{value:t.progress||0,tabIndex:-1}),a.createElement("span",{className:"k-file-icon-wrapper",key:"1"},a.createElement(l.IconWrap,{className:"k-file-icon",...l.getFileExtensionIcon(t.extension),size:"xxlarge"}),a.createElement("span",{className:"k-file-state"})),d||r?this.renderValidationError(t,r):this.renderFileDetails(t),a.createElement(f.UploadListActionButton,{uid:t.uid,status:t.status,progress:t.progress,...s}))}}c.registerForLocalization(m);exports.UploadListSingleItem=m;