@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.78 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 b=require("react"),i=require("@progress/kendo-react-common"),u=require("@progress/kendo-react-intl"),a=require("./messages/index.js");function f(o){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(t,e,s.get?s:{enumerable:!0,get:()=>o[e]})}}return t.default=o,Object.freeze(t)}const c=f(b);class p extends c.Component{constructor(){super(...arguments),this._uploadElement=null,this._clearElement=null,this.onClearClick=()=>{this.props.disabled||this.props.onClear&&this.props.onClear.call(void 0)},this.checkEnterKey=t=>t.keyCode===i.Keys.enter,this.onUploadClick=()=>{this.props.disabled||(this.props.onClick.call(void 0,this.props.uploadButtonIndex),this.props.onUpload&&this.props.onUpload.call(void 0))}}componentDidUpdate(t){const{navigationIndex:e,clearButtonIndex:s,uploadButtonIndex:r}=this.props;e!==t.navigationIndex&&(e===s&&this._clearElement&&this._clearElement.focus(),e===r&&this._uploadElement&&this._uploadElement.focus())}render(){const{disabled:t,navigationIndex:e,clearButtonIndex:s,uploadButtonIndex:r,actionsLayout:l}=this.props,d=u.provideLocalizationService(this),k=i.classNames("k-actions","k-hstack",{"k-justify-content-start":l==="start","k-justify-content-center":l==="center","k-justify-content-end":l==="end","k-justify-content-stretch":l==="stretched"}),m=i.classNames("k-button k-button-md k-rounded-md k-button-solid k-button-solid-base","k-clear-selected",t?"k-disabled":"",e===s?"k-focus":""),h=i.classNames("k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary","k-primary","k-upload-selected",t?"k-disabled":"",e===r?"k-focus":"");return c.createElement("div",{className:k},c.createElement("button",{ref:n=>this._clearElement=n,type:"button",className:m,tabIndex:0,onClick:this.onClearClick,onKeyDown:n=>this.checkEnterKey(n)&&this.onClearClick()},d.toLanguageString(a.clearSelectedFiles,a.messages[a.clearSelectedFiles])),c.createElement("button",{ref:n=>this._uploadElement=n,type:"button",className:h,tabIndex:0,onClick:this.onUploadClick,onKeyDown:n=>this.checkEnterKey(n)&&this.onUploadClick()},d.toLanguageString(a.uploadSelectedFiles,a.messages[a.uploadSelectedFiles])))}}u.registerForLocalization(p);exports.UploadActionButtons=p;