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.08 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 h=require("react"),a=require("@progress/kendo-react-common"),l=require("./interfaces/UploadFileStatus.js"),v=require("./UploadListSingleItem.js"),F=require("./UploadListMultiItem.js"),I=require("./utils/utils.js");function b(s){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>s[t]})}}return e.default=s,Object.freeze(e)}const n=b(h);class C extends n.Component{constructor(){super(...arguments),this._element=null,this.onClick=()=>{this.props.onClick.call(void 0,this.props.index)}}componentDidUpdate(){const{navigationIndex:e,index:t}=this.props,i=a.getActiveElement(document);e===t&&this._element&&i!==this._element&&this._element.focus()}render(){const{files:e,async:t,disabled:i,navigationIndex:r,index:c,listItemUI:u,onCancel:d,onRemove:p,onRetry:m}=this.props,o=e[0],f=o.status===l.UploadFileStatus.Uploaded||o.status===l.UploadFileStatus.Initial,U=a.classNames("k-file",I.filesHaveValidationErrors(e)?"k-file-error k-file-invalid":"",o.status===l.UploadFileStatus.UploadFailed||o.status===l.UploadFileStatus.RemoveFailed?"k-file-error":"",o.status===l.UploadFileStatus.Uploading?"k-file-progress":"",f?"k-file-success":"",r===c?"k-focus":""),g={async:t,disabled:i,onCancel:d,onRemove:p,onRetry:m},k=u||(e.length===1?v.UploadListSingleItem:F.UploadListMultiItem);return n.createElement("li",{ref:S=>{this._element=S},className:U,"data-uid":o.uid,onClick:this.onClick,role:"listitem"},n.createElement(k,{files:e,...g}))}}exports.UploadListGroup=C;