@progress/kendo-vue-upload
Version:
9 lines (8 loc) • 1.96 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("vue"),f=require("@progress/kendo-vue-common"),m=require("@progress/kendo-vue-intl"),n=require("./messages/main.js"),h=/(chrome)[ \/]([\w.]+)/i,g=/(webkit)[ \/]([\w.]+)/i,y=i.defineComponent({name:"KendoVueUploadInput",props:{async:Object,id:String,multiple:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},accept:{type:String,default:void 0},hasFiles:{type:Boolean,default:!1},ariaLabelledBy:{type:String,default:void 0},ariaDescribedBy:{type:String,default:void 0}},emits:{mousedown:null,add:null},inject:{kendoLocalizationService:{default:null}},mounted(){this._input=this.inputRef},methods:{onMouseDown(e){this.$emit("mousedown",e)},onAdd(){const e=navigator.userAgent,t=this._input;t&&(t.files&&this.$emit("add",t.files),!e.match(h)&&e.match(g)||(t.type="",t.type="file"))},actionElement(){return this._input}},setup(){return{inputRef:i.ref(null)}},render(){const{multiple:e,async:t,disabled:l,accept:d,hasFiles:u,ariaLabelledBy:a,ariaDescribedBy:c}=this.$props,s=m.provideLocalizationService(this),o=u?n.selectTitle:n.selectNoFilesTitle,r=s.toLanguageString(o,n.messages[o]),p=s.toLanguageString(n.select,n.messages[n.select]);return i.createVNode("input",{ref:f.setRef(this,"input"),id:this.id,class:"k-hidden",autocomplete:"off",name:t.saveField,accept:d,type:"file",tabindex:-1,multiple:e,disabled:l,onChange:this.onAdd,onMousedown:this.onMouseDown,title:r,"aria-label":a!==void 0?void 0:p,"aria-labelledby":a,"aria-describedby":c},null)}});exports.UploadInput=y;