@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.41 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
*-------------------------------------------------------------------------------------------
*/
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("react"),b=require("@progress/kendo-react-common"),r=require("@progress/kendo-react-intl"),_=require("@progress/kendo-react-buttons"),i=require("./messages/index.js"),x=require("./UploadInput.js");function k(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const a=k(I),v=n=>a.createElement("span",{"aria-hidden":!0},n.message);class u extends a.Component{constructor(){super(...arguments),this._element=null,this._uploadInput=null,this.focus=()=>{this._element&&this._element.focus()},this.onClick=()=>{this.actionElement&&this.actionElement.click(),this.props.onClick.call(void 0,this.props.addButtonIndex)},this.onInputMouseDown=e=>{this._element&&(e.preventDefault(),this._element.focus())}}get actionElement(){if(this._uploadInput)return this._uploadInput.actionElement}componentDidUpdate(e){const{navigationIndex:t,addButtonIndex:o,notFocusedIndex:s}=this.props;t!==e.navigationIndex&&e.navigationIndex!==s&&t===o&&this._element&&this._element.focus()}render(){const{navigationIndex:e,addButtonIndex:t,tabIndex:o,id:s,ariaControls:d,disabled:p,ariaExpanded:m,selectMessageUI:l,...h}=this.props,c=r.provideLocalizationService(this).toLanguageString(i.select,i.messages[i.select]),f=l||v;return a.createElement("div",{className:"k-upload-button-wrap"},a.createElement(_.Button,{type:"button",id:s?`${s}-select-button`:"select-button",className:b.classNames("k-upload-button",e===t?"k-focus":""),themeColor:"base",tabIndex:o,onClick:this.onClick,"aria-label":c,"aria-controls":d,"aria-disabled":p,"aria-expanded":m},a.createElement(f,{message:c})),a.createElement(x.UploadInput,{id:s?`${s}-files`:"files",...h,onMouseDown:this.onInputMouseDown,ref:g=>this._uploadInput=g}))}}r.registerForLocalization(u);exports.UploadAddButton=u;