@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) • 1.95 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@progress/kendo-react-intl"),y=require("react"),n=require("./messages/index.js");function v(i){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const e in i)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(i,e);Object.defineProperty(t,e,s.get?s:{enumerable:!0,get:()=>i[e]})}}return t.default=i,Object.freeze(t)}const c=v(y),w=/(chrome)[ \/]([\w.]+)/i,M=/(webkit)[ \/]([\w.]+)/i;class u extends c.Component{constructor(){super(...arguments),this._input=null,this.onMouseDown=t=>{this.props.onMouseDown&&this.props.onMouseDown(t)},this.onAdd=()=>{const t=navigator.userAgent,e=this._input;e&&(this.props.onAdd&&e.files&&this.props.onAdd.call(void 0,e.files),!t.match(w)&&t.match(M)||(e.type="",e.type="file"))}}get actionElement(){return this._input}render(){const{multiple:t,async:e,disabled:s,accept:d,hasFiles:p,ariaLabelledBy:o,ariaDescribedBy:g,id:f}=this.props,a=l.provideLocalizationService(this),r=p?n.selectTitle:n.selectNoFilesTitle,h=a.toLanguageString(r,n.messages[r]),b=a.toLanguageString(n.select,n.messages[n.select]);return c.createElement("input",{id:f,ref:m=>this._input=m,className:"k-hidden",autoComplete:"off",name:e.saveField,accept:d,type:"file",multiple:t,disabled:s,onChange:this.onAdd,onMouseDown:this.onMouseDown,title:h,tabIndex:-1,"data-testid":"upload-input-testid","aria-label":o!==void 0?void 0:b,"aria-labelledby":o,"aria-describedby":g,"aria-hidden":!0})}}l.registerForLocalization(u);exports.UploadInput=u;