New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

vue-transmit

Package Overview
Dependencies
Maintainers
1
Versions
67
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vue-transmit - npm Package Compare versions

Comparing version 9.0.0-alpha.9 to 9.0.0-alpha.10

10

CHANGELOG.md

@@ -5,2 +5,12 @@ # Change Log

<a name="9.0.0-alpha.10"></a>
# [9.0.0-alpha.10](https://github.com/alexsasharegan/vue-transmit/compare/v9.0.0-alpha.9...v9.0.0-alpha.10) (2018-03-11)
### Bug Fixes
* adds draggable configurability fixes [#39](https://github.com/alexsasharegan/vue-transmit/issues/39) ([ef175a6](https://github.com/alexsasharegan/vue-transmit/commit/ef175a6))
<a name="9.0.0-alpha.9"></a>

@@ -7,0 +17,0 @@ # [9.0.0-alpha.9](https://github.com/alexsasharegan/vue-transmit/compare/v9.0.0-alpha.8...v9.0.0-alpha.9) (2018-03-01)

6

dist/vue-transmit.esm.js

@@ -475,3 +475,3 @@ import Vue from 'vue';

var VueTransmit = Vue.extend({render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:"component"},[_c('div',_vm._g(_vm._b({staticClass:"v-transmit__upload-area",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{"draggable":"true"},on:{"click":_vm.handleClickUploaderAction,"dragstart":_vm.handleDragStart,"dragend":_vm.handleDragEnd,"dragenter":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event);},"dragover":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event);},"dragleave":_vm.handleDragLeave,"drop":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event);}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t("default")],2),_vm._v(" "),_vm._t("files",null,null,_vm.fileSlotBindings),_vm._v(" "),_c('form',{ref:"uploadForm",style:(_vm.formStyles)},[_c('input',{ref:"hiddenFileInput",class:[_vm.maxFilesReachedClass],attrs:{"type":"file","multiple":_vm.multiple,"accept":_vm.filesToAccept,"capture":_vm.capture},on:{"change":_vm.onFileInputChange}})])],2)},staticRenderFns: [],
var VueTransmit = Vue.extend({render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:"component"},[_c('div',_vm._g(_vm._b({staticClass:"v-transmit__upload-area",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{"draggable":"!disableDraggable"},on:{"click":_vm.handleClickUploaderAction,"dragstart":_vm.handleDragStart,"dragend":_vm.handleDragEnd,"dragenter":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event);},"dragover":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event);},"dragleave":_vm.handleDragLeave,"drop":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event);}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t("default")],2),_vm._v(" "),_vm._t("files",null,null,_vm.fileSlotBindings),_vm._v(" "),_c('form',{ref:"uploadForm",style:(_vm.formStyles)},[_c('input',{ref:"hiddenFileInput",class:[_vm.maxFilesReachedClass],attrs:{"type":"file","multiple":_vm.multiple,"accept":_vm.filesToAccept,"capture":_vm.capture},on:{"change":_vm.onFileInputChange}})])],2)},staticRenderFns: [],
name: "VueTransmit",

@@ -483,2 +483,6 @@ props: {

},
disableDraggable: {
type: Boolean,
"default": false
},
uploadAreaClasses: {

@@ -485,0 +489,0 @@ type: [Array, Object, String],

2

dist/vue-transmit.esm.min.js

@@ -1,2 +0,2 @@

import Vue from"vue";var UploadStatuses,ErrType,VTransmitEvents,idCounter=0;function uniqueId(e){return e+ ++idCounter}function round(e,t){void 0===t&&(t=2);var i=Math.pow(10,t);return Math.round(e*i)/i}function fromBytesToKbit(e){return e/125}function fromBytesToMbit(e){return e/125e3}function toKbps(e,t){return fromBytesToKbit(e)/t}function toMbps(e,t){return fromBytesToMbit(e)/t}function objFactory(){return{}}function noop(){}function scaleH(e,t){return t/e}function scaleW(e,t){return t*e}function expectNever(e,t){throw new Error(t)}function resizeImg(e,t){var i,s,r=e.width/e.height,a=t.width/t.height,n={sx:0,sy:0,sWidth:e.width,sHeight:e.height,dx:0,dy:0,dWidth:t.width,dHeight:t.height};return a>r?(i=e.width,s=scaleH(a,e.width)):(i=scaleW(a,e.height),s=e.height),i<e.width&&(n.sx=(e.width-i)/2,n.sWidth=i),s<e.height&&(n.sy=(e.height-s)/2,n.sHeight=s),n}function webkitIsFile(e){return e.isFile}function webkitIsDir(e){return e.isDirectory}!function(e){e.None="",e.Added="added",e.Queued="queued",e.Accepted="queued",e.Uploading="uploading",e.Canceled="canceled",e.Error="error",e.Timeout="timeout",e.Success="success"}(UploadStatuses||(UploadStatuses={})),function(e){e[e.Any=0]="Any",e[e.Timeout=1]="Timeout"}(ErrType||(ErrType={})),function(e){e.Initialize="initialize",e.AddedFile="added-file",e.AddedFiles="added-files",e.RemovedFile="removed-file",e.AcceptedFile="accepted-file",e.RejectedFile="rejected-file",e.AcceptComplete="accept-complete",e.Thumbnail="thumbnail",e.Processing="processing",e.ProcessingMultiple="processing-multiple",e.Canceled="canceled",e.CanceledMultiple="canceled-multiple",e.Sending="sending",e.SendingMultiple="sending-multiple",e.Timeout="timeout",e.TimeoutMultiple="timeout-multiple",e.UploadProgress="upload-progress",e.TotalUploadProgress="total-upload-progress",e.Success="success",e.SuccessMultiple="success-multiple",e.QueueComplete="queue-complete",e.Complete="complete",e.CompleteMultiple="complete-multiple",e.Error="error",e.ErrorMultiple="error-multiple",e.MaxFilesReached="max-files-reached",e.MaxFilesExceeded="max-files-exceeded",e.Reset="reset",e.DragOver="drag-over",e.DragEnter="drag-enter",e.DragLeave="drag-leave",e.DragEnd="drag-end",e.Drop="drop",e.Paste="paste"}(VTransmitEvents||(VTransmitEvents={}));var VTransmitFile=function(){function e(t){this._dataUrl="",this.id=e.idFactory(),this.status=UploadStatuses.None,this.accepted=!1,this.processing=!1,this.width=0,this.height=0,this.errorMessage="",this.adapterData={},this.upload={bytesSent:0,progress:0,total:0,speed:{kbps:0,mbps:0},start:0,end:0,time:0},this.nativeFile=t,this.lastModified=t.lastModified,this.lastModifiedDate=t.lastModifiedDate,this.name=t.name,this.size=t.size,this.type=t.type,this.webkitRelativePath=t.webkitRelativePath,this.upload.total=t.size}return e.prototype.handleProgress=function(e){this.startProgress();var t=e.total||this.upload.total;this.upload.progress=Math.min(100,100*e.loaded/t),this.upload.bytesSent=e.loaded,this.upload.total=t,this.upload.time=(Date.now()-this.upload.start)/1e3,this.upload.speed.kbps=round(toKbps(this.upload.bytesSent,this.upload.time)),this.upload.speed.mbps=round(toMbps(this.upload.bytesSent,this.upload.time)),100===this.upload.progress&&this.endProgress()},e.prototype.startProgress=function(){return this.upload.start||(this.upload.start=Date.now()),this},e.prototype.endProgress=function(){return this.upload.end||(this.upload.end=Date.now(),this.upload.time=(Date.now()-this.upload.start)/1e3),this},Object.defineProperty(e.prototype,"dataUrl",{get:function(){return this._dataUrl||""},set:function(e){Object.defineProperty(this,"_dataUrl",{value:e,enumerable:!1,configurable:!0,writable:!0})},enumerable:!0,configurable:!0}),e.idFactory=function(){return uniqueId("vt_")},e}(),VTransmitUploadContext=function(){function e(e){this.vtransmit=e,this.Statuses=UploadStatuses,this.props=e.$props}return e.prototype.emit=function(e){for(var t,i=[],s=1;s<arguments.length;s++)i[s-1]=arguments[s];(t=this.vtransmit).$emit.apply(t,[e].concat(i))},Object.defineProperty(e.prototype,"acceptedFiles",{get:function(){return this.vtransmit.acceptedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rejectedFiles",{get:function(){return this.vtransmit.rejectedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"addedFiles",{get:function(){return this.vtransmit.addedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"queuedFiles",{get:function(){return this.vtransmit.queuedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uploadingFiles",{get:function(){return this.vtransmit.uploadingFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeFiles",{get:function(){return this.vtransmit.activeFiles},enumerable:!0,configurable:!0}),e}(),group_id=0,XHRUploadAdapter=function(){function e(e,t){this.uploadGroups=Object.create(null);var i=t.url,s=t.method,r=void 0===s?"post":s,a=t.withCredentials,n=void 0!==a&&a,o=t.timeout,l=void 0===o?0:o,u=t.paramName,d=void 0===u?"file":u,p=t.params,c=void 0===p?Object.create(null):p,h=t.headers,m=void 0===h?{Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"}:h,f=t.responseType,g=void 0===f?"json":f,v=t.responseParseFunc,F=t.errUploadError,y=void 0===F?function(e){return"Error during upload: "+e.statusText+" ["+e.status+"]"}:F,T=t.errUploadTimeout,b=void 0===T?function(e){return"Error during upload: the server timed out."}:T,E=t.renameFile,S=void 0===E?function(e){return e}:E;this.context=e,this.url=i,this.method=r,this.withCredentials=n,this.timeout=l,this.paramName=d,this.params=c,this.headers=m,this.responseType=g,this.responseParseFunc=v,this.errUploadError=y,this.errUploadTimeout=b,this.renameFile=S}return e.prototype.uploadFiles=function(e){var t=this;return new Promise(function(i){if(!t.url)return i({ok:!1,err:{type:ErrType.Any,message:"Missing upload URL.",data:t.url}});var s=new XMLHttpRequest,r=t.handleUploadProgress(e),a=group_id++;t.uploadGroups[a]={id:a,xhr:s,files:e};for(var n=0,o=e;n<o.length;n++){(m=o[n]).adapterData.groupID=a,m.startProgress()}s.open(t.method,t.url,!0),s.timeout=t.timeout,s.withCredentials=Boolean(t.withCredentials),s.responseType=t.responseType,s.addEventListener("error",function(){t.rmGroup(a),i({ok:!1,err:{type:ErrType.Any,message:t.errUploadError(s),data:s}})}),s.upload.addEventListener("progress",r),s.addEventListener("timeout",function(){t.rmGroup(a),i({ok:!1,err:{type:ErrType.Timeout,message:t.errUploadTimeout(s),data:s}})}),s.addEventListener("load",function(n){if(e[0].status!==UploadStatuses.Canceled&&s.readyState===XMLHttpRequest.DONE){var o;if(t.rmGroup(a),t.responseParseFunc)o=t.responseParseFunc(s);else if(o=s.response,!s.responseType){var l=s.getResponseHeader("content-type");if(l&&l.indexOf("application/json")>-1)try{o=JSON.parse(s.responseText)}catch(e){return i({ok:!1,err:{message:"Invalid JSON response from server.",type:ErrType.Any,data:e}})}}return r(),s.status<200||s.status>=300?i({ok:!1,err:{type:ErrType.Any,message:t.errUploadError(s),data:s}}):i({ok:!0,data:o})}});var l=Object.assign(Object.create(null),t.headers);for(var u in l)l[u]&&s.setRequestHeader(u,l[u]);var d=new FormData;for(var p in t.params)d.append(p,t.params[p]);for(var c=0,h=e;c<h.length;c++){var m=h[c];t.context.emit(VTransmitEvents.Sending,m,s,d)}t.context.props.uploadMultiple&&t.context.emit(VTransmitEvents.SendingMultiple,e,s,d);for(var f=0;f<e.length;f++)d.append(t.getParamName(f),e[f].nativeFile,t.renameFile(e[f].name));s.send(d)})},e.prototype.handleUploadProgress=function(e){var t=this.context.vtransmit;return function(i){if(!i){for(var s=!0,r=0,a=e;r<a.length;r++){100===(l=a[r]).upload.progress&&l.upload.bytesSent===l.upload.total||(s=!1),l.upload.progress=100,l.upload.bytesSent=l.upload.total,l.endProgress()}if(s)return}for(var n=0,o=e;n<o.length;n++){var l=o[n];i&&l.handleProgress(i),t.$emit(VTransmitEvents.UploadProgress,l,l.upload.progress,l.upload.bytesSent)}}},e.prototype.getParamName=function(e){var t="";return this.context.props.uploadMultiple&&(t="["+e+"]"),this.paramName+t},e.prototype.cancelUpload=function(e){var t=this.uploadGroups[e.adapterData.groupID];return t?(t.xhr.abort(),this.rmGroup(e.adapterData.groupID),t.files.slice()):[]},e.prototype.rmGroup=function(e){delete this.uploadGroups[e]},e}(),VueTransmit=Vue.extend({render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(e.tag,{tag:"component"},[i("div",e._g(e._b({staticClass:"v-transmit__upload-area",class:[e.isDraggingClass,e.uploadAreaClasses],attrs:{draggable:"true"},on:{click:e.handleClickUploaderAction,dragstart:e.handleDragStart,dragend:e.handleDragEnd,dragenter:function(t){t.preventDefault(),t.stopPropagation(),e.handleDragEnter(t)},dragover:function(t){t.preventDefault(),t.stopPropagation(),e.handleDragOver(t)},dragleave:e.handleDragLeave,drop:function(t){t.preventDefault(),t.stopPropagation(),e.handleDrop(t)}}},"div",e.uploadAreaAttrs,!1),e.uploadAreaListeners),[e._t("default")],2),e._v(" "),e._t("files",null,null,e.fileSlotBindings),e._v(" "),i("form",{ref:"uploadForm",style:e.formStyles},[i("input",{ref:"hiddenFileInput",class:[e.maxFilesReachedClass],attrs:{type:"file",multiple:e.multiple,accept:e.filesToAccept,capture:e.capture},on:{change:e.onFileInputChange}})])],2)},staticRenderFns:[],name:"VueTransmit",props:{tag:{type:String,default:"div"},uploadAreaClasses:{type:[Array,Object,String],default:null},uploadAreaAttrs:{type:Object,default:objFactory},uploadAreaListeners:{type:Object,default:objFactory},dragClass:{type:String,default:null},maxConcurrentUploads:{type:Number,default:2},uploadMultiple:{type:Boolean,default:!1},maxFileSize:{type:Number,default:256},fileSizeBaseInBinary:{type:Boolean,default:!1},createImageThumbnails:{type:Boolean,default:!0},maxThumbnailFileSize:{type:Number,default:10},thumbnailWidth:{type:Number,default:120},thumbnailHeight:{type:Number,default:120},maxFiles:{type:Number,default:null},clickable:{type:Boolean,default:!0},ignoreHiddenFiles:{type:Boolean,default:!0},acceptedFileTypes:{type:Array,default:function(){return[]}},autoProcessQueue:{type:Boolean,default:!0},autoQueue:{type:Boolean,default:!0},capture:{type:String,default:null},errMaxFileSizeExceeded:{type:Function,default:function(e,t,i){return"The file is too big ("+round(e,1)+i+"). Max file size: "+round(t,1)+i+"."}},errInvalidFileType:{type:Function,default:function(e,t,i){return"You can't upload files of this type: "+e}},errMaxFilesExceeded:{type:Function,default:function(e){return"You can not upload any more files ("+e+" max)."}},accept:{type:Function,default:function(e,t){t()}},resize:{type:Function,default:resizeImg},adapterOptions:{type:Object,default:objFactory},uploadAdapter:{type:Function,default:XHRUploadAdapter}},mounted:function(){var e=this;this.$on(VTransmitEvents.UploadProgress,this.updateTotalUploadProgress),this.$on(VTransmitEvents.RemovedFile,this.updateTotalUploadProgress),this.$on(VTransmitEvents.Canceled,function(t){return e.$emit(VTransmitEvents.Complete,t)}),this.$on(VTransmitEvents.Complete,function(t){0===e.addedFiles.length&&0===e.uploadingFiles.length&&0===e.queuedFiles.length&&Promise.resolve().then(function(){return e.$emit(VTransmitEvents.QueueComplete,t)})}),this.$emit(VTransmitEvents.Initialize,this)},data:function(){return{dragging:!1,processingThumbnail:!1,thumbnailQueue:[],files:[],defaultHeaders:{Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"},formStyles:{visibility:"hidden !important",position:"absolute !important",top:"0 !important",left:"0 !important",height:"0px !important",width:"0px !important"}}},computed:{inputEl:function(){var e=this.$refs.hiddenFileInput;return e instanceof HTMLInputElement?e:null},formEl:function(){var e=this.$refs.uploadForm;return e instanceof HTMLFormElement?e:null},fileSizeBase:function(){return this.fileSizeBaseInBinary?1024:1e3},maxFileSizeBytes:function(){return this.maxFileSize*this.fileSizeBase*this.fileSizeBase},filesToAccept:function(){return this.acceptedFileTypes.join(",")},multiple:function(){return null===this.maxFiles||this.maxFiles>1},addedFiles:function(){return this.getFilesWithStatus(UploadStatuses.Added)},queuedFiles:function(){return this.getFilesWithStatus(UploadStatuses.Queued)},acceptedFiles:function(){return this.files.filter(function(e){return e.accepted})},rejectedFiles:function(){return this.files.filter(function(e){return!e.accepted})},uploadingFiles:function(){return this.getFilesWithStatus(UploadStatuses.Uploading)},canceledFiles:function(){return this.getFilesWithStatus(UploadStatuses.Canceled)},failedFiles:function(){return this.getFilesWithStatus(UploadStatuses.Error)},timeoutFiles:function(){return this.getFilesWithStatus(UploadStatuses.Timeout)},successfulFiles:function(){return this.getFilesWithStatus(UploadStatuses.Success)},activeFiles:function(){return this.getFilesWithStatus(UploadStatuses.Uploading,UploadStatuses.Queued)},maxFilesReached:function(){return null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles},maxFilesReachedClass:function(){return this.maxFilesReached?"v-transmit__max-files--reached":null},isDraggingClass:function(){return(e={"v-transmit__upload-area--is-dragging":this.dragging})[this.dragClass]=this.dragging,e;var e},isUploading:function(){return this.uploadingFiles.length>0},fileSlotBindings:function(){return{files:this.files,acceptedFiles:this.acceptedFiles,rejectedFiles:this.rejectedFiles,addedFiles:this.addedFiles,queuedFiles:this.queuedFiles,uploadingFiles:this.uploadingFiles,canceledFiles:this.canceledFiles,failedFiles:this.failedFiles,timeoutFiles:this.timeoutFiles,successfulFiles:this.successfulFiles,activeFiles:this.activeFiles,isUploading:this.isUploading}},transport:function(){var e=this.uploadAdapter;try{return new e(new VTransmitUploadContext(this),this.adapterOptions)}catch(e){throw console.error(e),e}}},watch:{acceptedFiles:function(e){null!=this.maxFiles&&e.length>=this.maxFiles&&this.$emit(VTransmitEvents.MaxFilesReached,this.files)}},methods:{getFilesWithStatus:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.files.filter(function(t){return e.indexOf(t.status)>-1})},onFileInputChange:function(){var e=this.inputEl,t=this.formEl;if(null==e||null==t)throw TypeError();e.files&&(this.$emit(VTransmitEvents.AddedFiles,Array.from(e.files).map(this.addFile)),t.reset())},addFile:function(e){var t=this,i=new VTransmitFile(e);return i.status=UploadStatuses.Added,this.files.push(i),this.$emit(VTransmitEvents.AddedFile,i),this.enqueueThumbnail(i),this.acceptFile(i,function(e){if(e)return i.accepted=!1,t.errorProcessing([i],e),t.$emit(VTransmitEvents.RejectedFile,i),void t.$emit(VTransmitEvents.AcceptComplete,i);i.accepted=!0,t.$emit(VTransmitEvents.AcceptedFile,i),t.$emit(VTransmitEvents.AcceptComplete,i),t.autoQueue&&t.enqueueFile(i)}),i},acceptFile:function(e,t){if(e.size>this.maxFileSizeBytes){var i=this.fileSizeBase*this.fileSizeBase,s=e.size/i,r="MB";return this.fileSizeBaseInBinary&&(r="MiB"),t(this.errMaxFileSizeExceeded(s,this.maxFileSize,r))}return this.isValidFileType(e,this.acceptedFileTypes)?null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles?(this.$emit(VTransmitEvents.MaxFilesExceeded,e),t(this.errMaxFilesExceeded(this.maxFiles))):void this.accept(e,t):t(this.errInvalidFileType(e.type,this.acceptedFileTypes,e))},removeFile:function(e){e.status===UploadStatuses.Uploading&&this.cancelUpload(e);var t=this.files.findIndex(function(t){return t.id===e.id});t>-1&&(this.$emit(VTransmitEvents.RemovedFile,this.files.splice(t,1)[0]),0===this.files.length&&this.$emit(VTransmitEvents.Reset))},removeFilesWithStatus:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.getFilesWithStatus.apply(this,e).map(this.removeFile)},removeAllFiles:function(e){var t;void 0===e&&(e=!1);for(var i=0,s=this.files;i<s.length;i++)((t=s[i]).status!==UploadStatuses.Uploading||e)&&this.removeFile(t)},triggerBrowseFiles:function(){this.inputEl&&this.inputEl.click()},handleClickUploaderAction:function(){this.clickable&&this.triggerBrowseFiles()},enqueueFile:function(e){if(e.status!==UploadStatuses.Added||!0!==e.accepted)throw new Error("This file can't be queued because it has already been processed or was rejected.");e.status=UploadStatuses.Queued,this.autoProcessQueue&&Promise.resolve().then(this.processQueue)},enqueueThumbnail:function(e){!this.createImageThumbnails||!e.type.match(/image.*/)||e.size>1024*this.maxThumbnailFileSize*1024||(this.thumbnailQueue.push(e),Promise.resolve().then(this.processThumbnailQueue))},processThumbnailQueue:function(){var e,t=this;this.processingThumbnail||0===this.thumbnailQueue.length||(this.processingThumbnail=!0,(e=this.thumbnailQueue.shift())&&this.createThumbnail(e,function(){t.processingThumbnail=!1,t.processThumbnailQueue()}))},createThumbnail:function(e,t){var i=this;void 0===t&&(t=noop);var s=new FileReader;s.addEventListener("load",function(){"image/svg+xml"===e.type&&(e.dataUrl=s.result,i.$emit(VTransmitEvents.Thumbnail,e,s.result),t()),i.createThumbnailFromUrl(e,s.result,t)},!1),s.readAsDataURL(e.nativeFile)},createThumbnailFromUrl:function(e,t,i){var s=this,r=document.createElement("img");r.addEventListener("load",function(){var t;e.width=r.width,e.height=r.height;var a=s.resize(e,{width:s.thumbnailWidth,height:s.thumbnailHeight}),n=document.createElement("canvas");if(t=n.getContext("2d")){n.width=a.dWidth,n.height=a.dHeight,t.drawImage(r,a.sx,a.sy,a.sWidth,a.sHeight,a.dx,a.dy,a.dWidth,a.dHeight);var o=n.toDataURL("image/png");return e.dataUrl=o,s.$emit(VTransmitEvents.Thumbnail,e,o),i?i():void 0}},!1),i&&r.addEventListener("error",i,!1),r.src=t},processQueue:function(){var e=this.uploadingFiles.length;if(!(e>=this.maxConcurrentUploads||0===this.queuedFiles.length)){if(this.uploadMultiple)return this.processFiles(this.queuedFiles.slice(0,this.maxConcurrentUploads-e));for(var t,i=e;i<this.maxConcurrentUploads;i++)(t=this.queuedFiles.shift())&&this.processFile(t)}},processFile:function(e){this.processFiles([e])},processFiles:function(e){for(var t,i=0,s=e;i<s.length;i++)(t=s[i]).processing=!0,t.status=UploadStatuses.Uploading,this.$emit(VTransmitEvents.Processing,t);return this.uploadMultiple&&this.$emit(VTransmitEvents.ProcessingMultiple,e),this.uploadFiles(e)},cancelUpload:function(e){if(e.status!==UploadStatuses.Added&&e.status!==UploadStatuses.Queued||(e.status=UploadStatuses.Canceled,this.$emit(VTransmitEvents.Canceled,e),this.uploadMultiple&&this.$emit(VTransmitEvents.CanceledMultiple,[e])),e.status===UploadStatuses.Uploading){for(var t=this.transport.cancelUpload(e),i=void 0,s=0,r=t;s<r.length;s++)(i=r[s]).status=UploadStatuses.Canceled,this.$emit(VTransmitEvents.Canceled,i);this.uploadMultiple&&this.$emit(VTransmitEvents.CanceledMultiple,t)}this.autoProcessQueue&&this.processQueue()},uploadFile:function(e){this.uploadFiles([e])},uploadFiles:function(e){var t=this;this.transport.uploadFiles(e).then(function(i){if(i.ok)return t.uploadFinished(e,i.data);switch(i.err.type){case ErrType.Any:t.errorProcessing(e,i.err.message,i.err.data);break;case ErrType.Timeout:t.handleTimeout(e,i.err.message,i.err.data);break;default:expectNever(i.err.type,"unmatched error case")}})},handleTimeout:function(e,t,i){for(var s,r=0,a=e;r<a.length;r++)(s=a[r]).status=UploadStatuses.Timeout,s.endProgress(),this.$emit(VTransmitEvents.Timeout,s,t,i);this.$emit(VTransmitEvents.TimeoutMultiple,e,t,i),this.autoProcessQueue&&this.processQueue()},updateTotalUploadProgress:function(){var e=this.activeFiles.reduce(function(e,t){return e.totalBytesSent+=t.upload.bytesSent,e.totalBytes+=t.upload.total,e},{totalBytesSent:0,totalBytes:0,totalProgress:100});this.activeFiles.length&&(e.totalProgress=100*e.totalBytesSent/e.totalBytes),this.$emit(VTransmitEvents.TotalUploadProgress,e)},uploadFinished:function(e,t){for(var i=[],s=2;s<arguments.length;s++)i[s-2]=arguments[s];for(var r=0,a=e;r<a.length;r++){var n=a[r];n.status=UploadStatuses.Success,n.endProgress(),this.$emit.apply(this,[VTransmitEvents.Success,n,t].concat(i)),this.$emit(VTransmitEvents.Complete,n)}this.uploadMultiple&&(this.$emit.apply(this,[VTransmitEvents.SuccessMultiple,e,t].concat(i)),this.$emit(VTransmitEvents.CompleteMultiple,e)),this.autoProcessQueue&&this.processQueue()},errorProcessing:function(e,t,i){for(var s=0,r=e;s<r.length;s++){var a=r[s];a.status=UploadStatuses.Error,a.endProgress(),this.$emit(VTransmitEvents.Error,a,t,i),this.$emit(VTransmitEvents.Complete,a)}if(this.uploadMultiple&&(this.$emit(VTransmitEvents.ErrorMultiple,e,t,i),this.$emit(VTransmitEvents.CompleteMultiple,e)),this.autoProcessQueue)return this.processQueue()},isValidFileType:function(e,t){if(!t.length)return!0;for(var i,s=e.type,r=s.slice(0,s.indexOf("/")),a=0,n=t;a<n.length;a++)switch(i=n[a],!0){case"."==i.charAt(0):if(-1!==e.name.toLowerCase().indexOf(i.toLowerCase(),e.name.length-i.length))return!0;break;case"/*"==i.slice(-2):if(r===i.slice(0,-2))return!0;break;default:if(s==i)return!0}return!1},handleDragStart:function(e){this.$emit("drag-start",e)},handleDragOver:function(e){var t;this.dragging=!0;try{t=e.dataTransfer.effectAllowed}catch(e){}e.dataTransfer.dropEffect="move"===t||"linkMove"===t?"move":"copy",this.$emit(VTransmitEvents.DragOver,e)},handleDragEnter:function(e){this.dragging=!0,this.$emit(VTransmitEvents.DragEnter,e)},handleDragLeave:function(e){this.dragging=!1,this.$emit(VTransmitEvents.DragLeave,e)},handleDragEnd:function(e){this.dragging=!1,this.$emit(VTransmitEvents.DragEnd,e)},handleDrop:function(e){var t,i;(this.dragging=!1,e.dataTransfer)&&(this.$emit(VTransmitEvents.Drop,e),this.$emit(VTransmitEvents.AddedFiles,t=Array.from(e.dataTransfer.files)),e.dataTransfer.items&&(i=Array.from(e.dataTransfer.items))&&i.length&&(i[0].getAsFile||i[0].webkitGetAsEntry)?this.addFilesFromItems(i):this.handleFiles(t))},paste:function(e){if(e&&e.clipboardData&&e.clipboardData.items){this.$emit(VTransmitEvents.Paste,e);var t=Array.from(e.clipboardData.items);t.length&&this.addFilesFromItems(t)}},handleFiles:function(e){return e.map(this.addFile)},addFilesFromItems:function(e){for(var t,i=0,s=e;i<s.length;i++){var r=s[i];if(r.getAsFile&&"file"==r.kind){var a=r.getAsFile();a&&this.addFile(a)}else if(r.webkitGetAsEntry){if(null==(t=r.webkitGetAsEntry()))continue;if(webkitIsFile(t)){t.file(this.addFile,console.error);continue}if(webkitIsDir(t)){this.addFilesFromDirectory(t,t.name);continue}}}},addFilesFromDirectory:function(e,t){var i=this;e.createReader().readEntries(function(e){for(var s=0,r=e;s<r.length;s++){var a=r[s];null!=a&&(webkitIsDir(a)?i.addFilesFromDirectory(a,t+"/"+a.name):webkitIsFile(a)&&a.file(function(e){i.ignoreHiddenFiles&&"."==e.name.charAt(0)||(e.fullPath=t+"/"+e.name,i.addFile(e))},console.error))}},console.error)}}}),VueTransmitPlugin={install:function(e){e.component("VueTransmit",VueTransmit)},name:"vue-transmit"};export default VueTransmitPlugin;export{VueTransmitPlugin,VueTransmit,XHRUploadAdapter};
import Vue from"vue";var UploadStatuses,ErrType,VTransmitEvents,idCounter=0;function uniqueId(e){return e+ ++idCounter}function round(e,t){void 0===t&&(t=2);var i=Math.pow(10,t);return Math.round(e*i)/i}function fromBytesToKbit(e){return e/125}function fromBytesToMbit(e){return e/125e3}function toKbps(e,t){return fromBytesToKbit(e)/t}function toMbps(e,t){return fromBytesToMbit(e)/t}function objFactory(){return{}}function noop(){}function scaleH(e,t){return t/e}function scaleW(e,t){return t*e}function expectNever(e,t){throw new Error(t)}function resizeImg(e,t){var i,s,r=e.width/e.height,a=t.width/t.height,n={sx:0,sy:0,sWidth:e.width,sHeight:e.height,dx:0,dy:0,dWidth:t.width,dHeight:t.height};return a>r?(i=e.width,s=scaleH(a,e.width)):(i=scaleW(a,e.height),s=e.height),i<e.width&&(n.sx=(e.width-i)/2,n.sWidth=i),s<e.height&&(n.sy=(e.height-s)/2,n.sHeight=s),n}function webkitIsFile(e){return e.isFile}function webkitIsDir(e){return e.isDirectory}!function(e){e.None="",e.Added="added",e.Queued="queued",e.Accepted="queued",e.Uploading="uploading",e.Canceled="canceled",e.Error="error",e.Timeout="timeout",e.Success="success"}(UploadStatuses||(UploadStatuses={})),function(e){e[e.Any=0]="Any",e[e.Timeout=1]="Timeout"}(ErrType||(ErrType={})),function(e){e.Initialize="initialize",e.AddedFile="added-file",e.AddedFiles="added-files",e.RemovedFile="removed-file",e.AcceptedFile="accepted-file",e.RejectedFile="rejected-file",e.AcceptComplete="accept-complete",e.Thumbnail="thumbnail",e.Processing="processing",e.ProcessingMultiple="processing-multiple",e.Canceled="canceled",e.CanceledMultiple="canceled-multiple",e.Sending="sending",e.SendingMultiple="sending-multiple",e.Timeout="timeout",e.TimeoutMultiple="timeout-multiple",e.UploadProgress="upload-progress",e.TotalUploadProgress="total-upload-progress",e.Success="success",e.SuccessMultiple="success-multiple",e.QueueComplete="queue-complete",e.Complete="complete",e.CompleteMultiple="complete-multiple",e.Error="error",e.ErrorMultiple="error-multiple",e.MaxFilesReached="max-files-reached",e.MaxFilesExceeded="max-files-exceeded",e.Reset="reset",e.DragOver="drag-over",e.DragEnter="drag-enter",e.DragLeave="drag-leave",e.DragEnd="drag-end",e.Drop="drop",e.Paste="paste"}(VTransmitEvents||(VTransmitEvents={}));var VTransmitFile=function(){function e(t){this._dataUrl="",this.id=e.idFactory(),this.status=UploadStatuses.None,this.accepted=!1,this.processing=!1,this.width=0,this.height=0,this.errorMessage="",this.adapterData={},this.upload={bytesSent:0,progress:0,total:0,speed:{kbps:0,mbps:0},start:0,end:0,time:0},this.nativeFile=t,this.lastModified=t.lastModified,this.lastModifiedDate=t.lastModifiedDate,this.name=t.name,this.size=t.size,this.type=t.type,this.webkitRelativePath=t.webkitRelativePath,this.upload.total=t.size}return e.prototype.handleProgress=function(e){this.startProgress();var t=e.total||this.upload.total;this.upload.progress=Math.min(100,100*e.loaded/t),this.upload.bytesSent=e.loaded,this.upload.total=t,this.upload.time=(Date.now()-this.upload.start)/1e3,this.upload.speed.kbps=round(toKbps(this.upload.bytesSent,this.upload.time)),this.upload.speed.mbps=round(toMbps(this.upload.bytesSent,this.upload.time)),100===this.upload.progress&&this.endProgress()},e.prototype.startProgress=function(){return this.upload.start||(this.upload.start=Date.now()),this},e.prototype.endProgress=function(){return this.upload.end||(this.upload.end=Date.now(),this.upload.time=(Date.now()-this.upload.start)/1e3),this},Object.defineProperty(e.prototype,"dataUrl",{get:function(){return this._dataUrl||""},set:function(e){Object.defineProperty(this,"_dataUrl",{value:e,enumerable:!1,configurable:!0,writable:!0})},enumerable:!0,configurable:!0}),e.idFactory=function(){return uniqueId("vt_")},e}(),VTransmitUploadContext=function(){function e(e){this.vtransmit=e,this.Statuses=UploadStatuses,this.props=e.$props}return e.prototype.emit=function(e){for(var t,i=[],s=1;s<arguments.length;s++)i[s-1]=arguments[s];(t=this.vtransmit).$emit.apply(t,[e].concat(i))},Object.defineProperty(e.prototype,"acceptedFiles",{get:function(){return this.vtransmit.acceptedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rejectedFiles",{get:function(){return this.vtransmit.rejectedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"addedFiles",{get:function(){return this.vtransmit.addedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"queuedFiles",{get:function(){return this.vtransmit.queuedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uploadingFiles",{get:function(){return this.vtransmit.uploadingFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeFiles",{get:function(){return this.vtransmit.activeFiles},enumerable:!0,configurable:!0}),e}(),group_id=0,XHRUploadAdapter=function(){function e(e,t){this.uploadGroups=Object.create(null);var i=t.url,s=t.method,r=void 0===s?"post":s,a=t.withCredentials,n=void 0!==a&&a,o=t.timeout,l=void 0===o?0:o,u=t.paramName,d=void 0===u?"file":u,p=t.params,c=void 0===p?Object.create(null):p,h=t.headers,m=void 0===h?{Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"}:h,f=t.responseType,g=void 0===f?"json":f,v=t.responseParseFunc,F=t.errUploadError,y=void 0===F?function(e){return"Error during upload: "+e.statusText+" ["+e.status+"]"}:F,T=t.errUploadTimeout,b=void 0===T?function(e){return"Error during upload: the server timed out."}:T,E=t.renameFile,S=void 0===E?function(e){return e}:E;this.context=e,this.url=i,this.method=r,this.withCredentials=n,this.timeout=l,this.paramName=d,this.params=c,this.headers=m,this.responseType=g,this.responseParseFunc=v,this.errUploadError=y,this.errUploadTimeout=b,this.renameFile=S}return e.prototype.uploadFiles=function(e){var t=this;return new Promise(function(i){if(!t.url)return i({ok:!1,err:{type:ErrType.Any,message:"Missing upload URL.",data:t.url}});var s=new XMLHttpRequest,r=t.handleUploadProgress(e),a=group_id++;t.uploadGroups[a]={id:a,xhr:s,files:e};for(var n=0,o=e;n<o.length;n++){(m=o[n]).adapterData.groupID=a,m.startProgress()}s.open(t.method,t.url,!0),s.timeout=t.timeout,s.withCredentials=Boolean(t.withCredentials),s.responseType=t.responseType,s.addEventListener("error",function(){t.rmGroup(a),i({ok:!1,err:{type:ErrType.Any,message:t.errUploadError(s),data:s}})}),s.upload.addEventListener("progress",r),s.addEventListener("timeout",function(){t.rmGroup(a),i({ok:!1,err:{type:ErrType.Timeout,message:t.errUploadTimeout(s),data:s}})}),s.addEventListener("load",function(n){if(e[0].status!==UploadStatuses.Canceled&&s.readyState===XMLHttpRequest.DONE){var o;if(t.rmGroup(a),t.responseParseFunc)o=t.responseParseFunc(s);else if(o=s.response,!s.responseType){var l=s.getResponseHeader("content-type");if(l&&l.indexOf("application/json")>-1)try{o=JSON.parse(s.responseText)}catch(e){return i({ok:!1,err:{message:"Invalid JSON response from server.",type:ErrType.Any,data:e}})}}return r(),s.status<200||s.status>=300?i({ok:!1,err:{type:ErrType.Any,message:t.errUploadError(s),data:s}}):i({ok:!0,data:o})}});var l=Object.assign(Object.create(null),t.headers);for(var u in l)l[u]&&s.setRequestHeader(u,l[u]);var d=new FormData;for(var p in t.params)d.append(p,t.params[p]);for(var c=0,h=e;c<h.length;c++){var m=h[c];t.context.emit(VTransmitEvents.Sending,m,s,d)}t.context.props.uploadMultiple&&t.context.emit(VTransmitEvents.SendingMultiple,e,s,d);for(var f=0;f<e.length;f++)d.append(t.getParamName(f),e[f].nativeFile,t.renameFile(e[f].name));s.send(d)})},e.prototype.handleUploadProgress=function(e){var t=this.context.vtransmit;return function(i){if(!i){for(var s=!0,r=0,a=e;r<a.length;r++){100===(l=a[r]).upload.progress&&l.upload.bytesSent===l.upload.total||(s=!1),l.upload.progress=100,l.upload.bytesSent=l.upload.total,l.endProgress()}if(s)return}for(var n=0,o=e;n<o.length;n++){var l=o[n];i&&l.handleProgress(i),t.$emit(VTransmitEvents.UploadProgress,l,l.upload.progress,l.upload.bytesSent)}}},e.prototype.getParamName=function(e){var t="";return this.context.props.uploadMultiple&&(t="["+e+"]"),this.paramName+t},e.prototype.cancelUpload=function(e){var t=this.uploadGroups[e.adapterData.groupID];return t?(t.xhr.abort(),this.rmGroup(e.adapterData.groupID),t.files.slice()):[]},e.prototype.rmGroup=function(e){delete this.uploadGroups[e]},e}(),VueTransmit=Vue.extend({render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(e.tag,{tag:"component"},[i("div",e._g(e._b({staticClass:"v-transmit__upload-area",class:[e.isDraggingClass,e.uploadAreaClasses],attrs:{draggable:"!disableDraggable"},on:{click:e.handleClickUploaderAction,dragstart:e.handleDragStart,dragend:e.handleDragEnd,dragenter:function(t){t.preventDefault(),t.stopPropagation(),e.handleDragEnter(t)},dragover:function(t){t.preventDefault(),t.stopPropagation(),e.handleDragOver(t)},dragleave:e.handleDragLeave,drop:function(t){t.preventDefault(),t.stopPropagation(),e.handleDrop(t)}}},"div",e.uploadAreaAttrs,!1),e.uploadAreaListeners),[e._t("default")],2),e._v(" "),e._t("files",null,null,e.fileSlotBindings),e._v(" "),i("form",{ref:"uploadForm",style:e.formStyles},[i("input",{ref:"hiddenFileInput",class:[e.maxFilesReachedClass],attrs:{type:"file",multiple:e.multiple,accept:e.filesToAccept,capture:e.capture},on:{change:e.onFileInputChange}})])],2)},staticRenderFns:[],name:"VueTransmit",props:{tag:{type:String,default:"div"},disableDraggable:{type:Boolean,default:!1},uploadAreaClasses:{type:[Array,Object,String],default:null},uploadAreaAttrs:{type:Object,default:objFactory},uploadAreaListeners:{type:Object,default:objFactory},dragClass:{type:String,default:null},maxConcurrentUploads:{type:Number,default:2},uploadMultiple:{type:Boolean,default:!1},maxFileSize:{type:Number,default:256},fileSizeBaseInBinary:{type:Boolean,default:!1},createImageThumbnails:{type:Boolean,default:!0},maxThumbnailFileSize:{type:Number,default:10},thumbnailWidth:{type:Number,default:120},thumbnailHeight:{type:Number,default:120},maxFiles:{type:Number,default:null},clickable:{type:Boolean,default:!0},ignoreHiddenFiles:{type:Boolean,default:!0},acceptedFileTypes:{type:Array,default:function(){return[]}},autoProcessQueue:{type:Boolean,default:!0},autoQueue:{type:Boolean,default:!0},capture:{type:String,default:null},errMaxFileSizeExceeded:{type:Function,default:function(e,t,i){return"The file is too big ("+round(e,1)+i+"). Max file size: "+round(t,1)+i+"."}},errInvalidFileType:{type:Function,default:function(e,t,i){return"You can't upload files of this type: "+e}},errMaxFilesExceeded:{type:Function,default:function(e){return"You can not upload any more files ("+e+" max)."}},accept:{type:Function,default:function(e,t){t()}},resize:{type:Function,default:resizeImg},adapterOptions:{type:Object,default:objFactory},uploadAdapter:{type:Function,default:XHRUploadAdapter}},mounted:function(){var e=this;this.$on(VTransmitEvents.UploadProgress,this.updateTotalUploadProgress),this.$on(VTransmitEvents.RemovedFile,this.updateTotalUploadProgress),this.$on(VTransmitEvents.Canceled,function(t){return e.$emit(VTransmitEvents.Complete,t)}),this.$on(VTransmitEvents.Complete,function(t){0===e.addedFiles.length&&0===e.uploadingFiles.length&&0===e.queuedFiles.length&&Promise.resolve().then(function(){return e.$emit(VTransmitEvents.QueueComplete,t)})}),this.$emit(VTransmitEvents.Initialize,this)},data:function(){return{dragging:!1,processingThumbnail:!1,thumbnailQueue:[],files:[],defaultHeaders:{Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"},formStyles:{visibility:"hidden !important",position:"absolute !important",top:"0 !important",left:"0 !important",height:"0px !important",width:"0px !important"}}},computed:{inputEl:function(){var e=this.$refs.hiddenFileInput;return e instanceof HTMLInputElement?e:null},formEl:function(){var e=this.$refs.uploadForm;return e instanceof HTMLFormElement?e:null},fileSizeBase:function(){return this.fileSizeBaseInBinary?1024:1e3},maxFileSizeBytes:function(){return this.maxFileSize*this.fileSizeBase*this.fileSizeBase},filesToAccept:function(){return this.acceptedFileTypes.join(",")},multiple:function(){return null===this.maxFiles||this.maxFiles>1},addedFiles:function(){return this.getFilesWithStatus(UploadStatuses.Added)},queuedFiles:function(){return this.getFilesWithStatus(UploadStatuses.Queued)},acceptedFiles:function(){return this.files.filter(function(e){return e.accepted})},rejectedFiles:function(){return this.files.filter(function(e){return!e.accepted})},uploadingFiles:function(){return this.getFilesWithStatus(UploadStatuses.Uploading)},canceledFiles:function(){return this.getFilesWithStatus(UploadStatuses.Canceled)},failedFiles:function(){return this.getFilesWithStatus(UploadStatuses.Error)},timeoutFiles:function(){return this.getFilesWithStatus(UploadStatuses.Timeout)},successfulFiles:function(){return this.getFilesWithStatus(UploadStatuses.Success)},activeFiles:function(){return this.getFilesWithStatus(UploadStatuses.Uploading,UploadStatuses.Queued)},maxFilesReached:function(){return null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles},maxFilesReachedClass:function(){return this.maxFilesReached?"v-transmit__max-files--reached":null},isDraggingClass:function(){return(e={"v-transmit__upload-area--is-dragging":this.dragging})[this.dragClass]=this.dragging,e;var e},isUploading:function(){return this.uploadingFiles.length>0},fileSlotBindings:function(){return{files:this.files,acceptedFiles:this.acceptedFiles,rejectedFiles:this.rejectedFiles,addedFiles:this.addedFiles,queuedFiles:this.queuedFiles,uploadingFiles:this.uploadingFiles,canceledFiles:this.canceledFiles,failedFiles:this.failedFiles,timeoutFiles:this.timeoutFiles,successfulFiles:this.successfulFiles,activeFiles:this.activeFiles,isUploading:this.isUploading}},transport:function(){var e=this.uploadAdapter;try{return new e(new VTransmitUploadContext(this),this.adapterOptions)}catch(e){throw console.error(e),e}}},watch:{acceptedFiles:function(e){null!=this.maxFiles&&e.length>=this.maxFiles&&this.$emit(VTransmitEvents.MaxFilesReached,this.files)}},methods:{getFilesWithStatus:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.files.filter(function(t){return e.indexOf(t.status)>-1})},onFileInputChange:function(){var e=this.inputEl,t=this.formEl;if(null==e||null==t)throw TypeError();e.files&&(this.$emit(VTransmitEvents.AddedFiles,Array.from(e.files).map(this.addFile)),t.reset())},addFile:function(e){var t=this,i=new VTransmitFile(e);return i.status=UploadStatuses.Added,this.files.push(i),this.$emit(VTransmitEvents.AddedFile,i),this.enqueueThumbnail(i),this.acceptFile(i,function(e){if(e)return i.accepted=!1,t.errorProcessing([i],e),t.$emit(VTransmitEvents.RejectedFile,i),void t.$emit(VTransmitEvents.AcceptComplete,i);i.accepted=!0,t.$emit(VTransmitEvents.AcceptedFile,i),t.$emit(VTransmitEvents.AcceptComplete,i),t.autoQueue&&t.enqueueFile(i)}),i},acceptFile:function(e,t){if(e.size>this.maxFileSizeBytes){var i=this.fileSizeBase*this.fileSizeBase,s=e.size/i,r="MB";return this.fileSizeBaseInBinary&&(r="MiB"),t(this.errMaxFileSizeExceeded(s,this.maxFileSize,r))}return this.isValidFileType(e,this.acceptedFileTypes)?null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles?(this.$emit(VTransmitEvents.MaxFilesExceeded,e),t(this.errMaxFilesExceeded(this.maxFiles))):void this.accept(e,t):t(this.errInvalidFileType(e.type,this.acceptedFileTypes,e))},removeFile:function(e){e.status===UploadStatuses.Uploading&&this.cancelUpload(e);var t=this.files.findIndex(function(t){return t.id===e.id});t>-1&&(this.$emit(VTransmitEvents.RemovedFile,this.files.splice(t,1)[0]),0===this.files.length&&this.$emit(VTransmitEvents.Reset))},removeFilesWithStatus:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.getFilesWithStatus.apply(this,e).map(this.removeFile)},removeAllFiles:function(e){var t;void 0===e&&(e=!1);for(var i=0,s=this.files;i<s.length;i++)((t=s[i]).status!==UploadStatuses.Uploading||e)&&this.removeFile(t)},triggerBrowseFiles:function(){this.inputEl&&this.inputEl.click()},handleClickUploaderAction:function(){this.clickable&&this.triggerBrowseFiles()},enqueueFile:function(e){if(e.status!==UploadStatuses.Added||!0!==e.accepted)throw new Error("This file can't be queued because it has already been processed or was rejected.");e.status=UploadStatuses.Queued,this.autoProcessQueue&&Promise.resolve().then(this.processQueue)},enqueueThumbnail:function(e){!this.createImageThumbnails||!e.type.match(/image.*/)||e.size>1024*this.maxThumbnailFileSize*1024||(this.thumbnailQueue.push(e),Promise.resolve().then(this.processThumbnailQueue))},processThumbnailQueue:function(){var e,t=this;this.processingThumbnail||0===this.thumbnailQueue.length||(this.processingThumbnail=!0,(e=this.thumbnailQueue.shift())&&this.createThumbnail(e,function(){t.processingThumbnail=!1,t.processThumbnailQueue()}))},createThumbnail:function(e,t){var i=this;void 0===t&&(t=noop);var s=new FileReader;s.addEventListener("load",function(){"image/svg+xml"===e.type&&(e.dataUrl=s.result,i.$emit(VTransmitEvents.Thumbnail,e,s.result),t()),i.createThumbnailFromUrl(e,s.result,t)},!1),s.readAsDataURL(e.nativeFile)},createThumbnailFromUrl:function(e,t,i){var s=this,r=document.createElement("img");r.addEventListener("load",function(){var t;e.width=r.width,e.height=r.height;var a=s.resize(e,{width:s.thumbnailWidth,height:s.thumbnailHeight}),n=document.createElement("canvas");if(t=n.getContext("2d")){n.width=a.dWidth,n.height=a.dHeight,t.drawImage(r,a.sx,a.sy,a.sWidth,a.sHeight,a.dx,a.dy,a.dWidth,a.dHeight);var o=n.toDataURL("image/png");return e.dataUrl=o,s.$emit(VTransmitEvents.Thumbnail,e,o),i?i():void 0}},!1),i&&r.addEventListener("error",i,!1),r.src=t},processQueue:function(){var e=this.uploadingFiles.length;if(!(e>=this.maxConcurrentUploads||0===this.queuedFiles.length)){if(this.uploadMultiple)return this.processFiles(this.queuedFiles.slice(0,this.maxConcurrentUploads-e));for(var t,i=e;i<this.maxConcurrentUploads;i++)(t=this.queuedFiles.shift())&&this.processFile(t)}},processFile:function(e){this.processFiles([e])},processFiles:function(e){for(var t,i=0,s=e;i<s.length;i++)(t=s[i]).processing=!0,t.status=UploadStatuses.Uploading,this.$emit(VTransmitEvents.Processing,t);return this.uploadMultiple&&this.$emit(VTransmitEvents.ProcessingMultiple,e),this.uploadFiles(e)},cancelUpload:function(e){if(e.status!==UploadStatuses.Added&&e.status!==UploadStatuses.Queued||(e.status=UploadStatuses.Canceled,this.$emit(VTransmitEvents.Canceled,e),this.uploadMultiple&&this.$emit(VTransmitEvents.CanceledMultiple,[e])),e.status===UploadStatuses.Uploading){for(var t=this.transport.cancelUpload(e),i=void 0,s=0,r=t;s<r.length;s++)(i=r[s]).status=UploadStatuses.Canceled,this.$emit(VTransmitEvents.Canceled,i);this.uploadMultiple&&this.$emit(VTransmitEvents.CanceledMultiple,t)}this.autoProcessQueue&&this.processQueue()},uploadFile:function(e){this.uploadFiles([e])},uploadFiles:function(e){var t=this;this.transport.uploadFiles(e).then(function(i){if(i.ok)return t.uploadFinished(e,i.data);switch(i.err.type){case ErrType.Any:t.errorProcessing(e,i.err.message,i.err.data);break;case ErrType.Timeout:t.handleTimeout(e,i.err.message,i.err.data);break;default:expectNever(i.err.type,"unmatched error case")}})},handleTimeout:function(e,t,i){for(var s,r=0,a=e;r<a.length;r++)(s=a[r]).status=UploadStatuses.Timeout,s.endProgress(),this.$emit(VTransmitEvents.Timeout,s,t,i);this.$emit(VTransmitEvents.TimeoutMultiple,e,t,i),this.autoProcessQueue&&this.processQueue()},updateTotalUploadProgress:function(){var e=this.activeFiles.reduce(function(e,t){return e.totalBytesSent+=t.upload.bytesSent,e.totalBytes+=t.upload.total,e},{totalBytesSent:0,totalBytes:0,totalProgress:100});this.activeFiles.length&&(e.totalProgress=100*e.totalBytesSent/e.totalBytes),this.$emit(VTransmitEvents.TotalUploadProgress,e)},uploadFinished:function(e,t){for(var i=[],s=2;s<arguments.length;s++)i[s-2]=arguments[s];for(var r=0,a=e;r<a.length;r++){var n=a[r];n.status=UploadStatuses.Success,n.endProgress(),this.$emit.apply(this,[VTransmitEvents.Success,n,t].concat(i)),this.$emit(VTransmitEvents.Complete,n)}this.uploadMultiple&&(this.$emit.apply(this,[VTransmitEvents.SuccessMultiple,e,t].concat(i)),this.$emit(VTransmitEvents.CompleteMultiple,e)),this.autoProcessQueue&&this.processQueue()},errorProcessing:function(e,t,i){for(var s=0,r=e;s<r.length;s++){var a=r[s];a.status=UploadStatuses.Error,a.endProgress(),this.$emit(VTransmitEvents.Error,a,t,i),this.$emit(VTransmitEvents.Complete,a)}if(this.uploadMultiple&&(this.$emit(VTransmitEvents.ErrorMultiple,e,t,i),this.$emit(VTransmitEvents.CompleteMultiple,e)),this.autoProcessQueue)return this.processQueue()},isValidFileType:function(e,t){if(!t.length)return!0;for(var i,s=e.type,r=s.slice(0,s.indexOf("/")),a=0,n=t;a<n.length;a++)switch(i=n[a],!0){case"."==i.charAt(0):if(-1!==e.name.toLowerCase().indexOf(i.toLowerCase(),e.name.length-i.length))return!0;break;case"/*"==i.slice(-2):if(r===i.slice(0,-2))return!0;break;default:if(s==i)return!0}return!1},handleDragStart:function(e){this.$emit("drag-start",e)},handleDragOver:function(e){var t;this.dragging=!0;try{t=e.dataTransfer.effectAllowed}catch(e){}e.dataTransfer.dropEffect="move"===t||"linkMove"===t?"move":"copy",this.$emit(VTransmitEvents.DragOver,e)},handleDragEnter:function(e){this.dragging=!0,this.$emit(VTransmitEvents.DragEnter,e)},handleDragLeave:function(e){this.dragging=!1,this.$emit(VTransmitEvents.DragLeave,e)},handleDragEnd:function(e){this.dragging=!1,this.$emit(VTransmitEvents.DragEnd,e)},handleDrop:function(e){var t,i;(this.dragging=!1,e.dataTransfer)&&(this.$emit(VTransmitEvents.Drop,e),this.$emit(VTransmitEvents.AddedFiles,t=Array.from(e.dataTransfer.files)),e.dataTransfer.items&&(i=Array.from(e.dataTransfer.items))&&i.length&&(i[0].getAsFile||i[0].webkitGetAsEntry)?this.addFilesFromItems(i):this.handleFiles(t))},paste:function(e){if(e&&e.clipboardData&&e.clipboardData.items){this.$emit(VTransmitEvents.Paste,e);var t=Array.from(e.clipboardData.items);t.length&&this.addFilesFromItems(t)}},handleFiles:function(e){return e.map(this.addFile)},addFilesFromItems:function(e){for(var t,i=0,s=e;i<s.length;i++){var r=s[i];if(r.getAsFile&&"file"==r.kind){var a=r.getAsFile();a&&this.addFile(a)}else if(r.webkitGetAsEntry){if(null==(t=r.webkitGetAsEntry()))continue;if(webkitIsFile(t)){t.file(this.addFile,console.error);continue}if(webkitIsDir(t)){this.addFilesFromDirectory(t,t.name);continue}}}},addFilesFromDirectory:function(e,t){var i=this;e.createReader().readEntries(function(e){for(var s=0,r=e;s<r.length;s++){var a=r[s];null!=a&&(webkitIsDir(a)?i.addFilesFromDirectory(a,t+"/"+a.name):webkitIsFile(a)&&a.file(function(e){i.ignoreHiddenFiles&&"."==e.name.charAt(0)||(e.fullPath=t+"/"+e.name,i.addFile(e))},console.error))}},console.error)}}}),VueTransmitPlugin={install:function(e){e.component("VueTransmit",VueTransmit)},name:"vue-transmit"};export default VueTransmitPlugin;export{VueTransmitPlugin,VueTransmit,XHRUploadAdapter};
//# sourceMappingURL=vue-transmit.esm.min.js.map

@@ -481,3 +481,3 @@ (function (global, factory) {

var VueTransmit = Vue.extend({render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:"component"},[_c('div',_vm._g(_vm._b({staticClass:"v-transmit__upload-area",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{"draggable":"true"},on:{"click":_vm.handleClickUploaderAction,"dragstart":_vm.handleDragStart,"dragend":_vm.handleDragEnd,"dragenter":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event);},"dragover":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event);},"dragleave":_vm.handleDragLeave,"drop":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event);}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t("default")],2),_vm._v(" "),_vm._t("files",null,null,_vm.fileSlotBindings),_vm._v(" "),_c('form',{ref:"uploadForm",style:(_vm.formStyles)},[_c('input',{ref:"hiddenFileInput",class:[_vm.maxFilesReachedClass],attrs:{"type":"file","multiple":_vm.multiple,"accept":_vm.filesToAccept,"capture":_vm.capture},on:{"change":_vm.onFileInputChange}})])],2)},staticRenderFns: [],
var VueTransmit = Vue.extend({render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:"component"},[_c('div',_vm._g(_vm._b({staticClass:"v-transmit__upload-area",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{"draggable":"!disableDraggable"},on:{"click":_vm.handleClickUploaderAction,"dragstart":_vm.handleDragStart,"dragend":_vm.handleDragEnd,"dragenter":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event);},"dragover":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event);},"dragleave":_vm.handleDragLeave,"drop":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event);}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t("default")],2),_vm._v(" "),_vm._t("files",null,null,_vm.fileSlotBindings),_vm._v(" "),_c('form',{ref:"uploadForm",style:(_vm.formStyles)},[_c('input',{ref:"hiddenFileInput",class:[_vm.maxFilesReachedClass],attrs:{"type":"file","multiple":_vm.multiple,"accept":_vm.filesToAccept,"capture":_vm.capture},on:{"change":_vm.onFileInputChange}})])],2)},staticRenderFns: [],
name: "VueTransmit",

@@ -489,2 +489,6 @@ props: {

},
disableDraggable: {
type: Boolean,
"default": false
},
uploadAreaClasses: {

@@ -491,0 +495,0 @@ type: [Array, Object, String],

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t(e.VueTransmit={},e.Vue)}(this,function(e,t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var i,s,r,a=0;function n(e,t){void 0===t&&(t=2);var i=Math.pow(10,t);return Math.round(e*i)/i}function l(){return{}}function o(){}function u(e){return e.isFile}function d(e){return e.isDirectory}!function(e){e.None="",e.Added="added",e.Queued="queued",e.Accepted="queued",e.Uploading="uploading",e.Canceled="canceled",e.Error="error",e.Timeout="timeout",e.Success="success"}(i||(i={})),function(e){e[e.Any=0]="Any",e[e.Timeout=1]="Timeout"}(s||(s={})),function(e){e.Initialize="initialize",e.AddedFile="added-file",e.AddedFiles="added-files",e.RemovedFile="removed-file",e.AcceptedFile="accepted-file",e.RejectedFile="rejected-file",e.AcceptComplete="accept-complete",e.Thumbnail="thumbnail",e.Processing="processing",e.ProcessingMultiple="processing-multiple",e.Canceled="canceled",e.CanceledMultiple="canceled-multiple",e.Sending="sending",e.SendingMultiple="sending-multiple",e.Timeout="timeout",e.TimeoutMultiple="timeout-multiple",e.UploadProgress="upload-progress",e.TotalUploadProgress="total-upload-progress",e.Success="success",e.SuccessMultiple="success-multiple",e.QueueComplete="queue-complete",e.Complete="complete",e.CompleteMultiple="complete-multiple",e.Error="error",e.ErrorMultiple="error-multiple",e.MaxFilesReached="max-files-reached",e.MaxFilesExceeded="max-files-exceeded",e.Reset="reset",e.DragOver="drag-over",e.DragEnter="drag-enter",e.DragLeave="drag-leave",e.DragEnd="drag-end",e.Drop="drop",e.Paste="paste"}(r||(r={}));var p=function(){function e(t){this._dataUrl="",this.id=e.idFactory(),this.status=i.None,this.accepted=!1,this.processing=!1,this.width=0,this.height=0,this.errorMessage="",this.adapterData={},this.upload={bytesSent:0,progress:0,total:0,speed:{kbps:0,mbps:0},start:0,end:0,time:0},this.nativeFile=t,this.lastModified=t.lastModified,this.lastModifiedDate=t.lastModifiedDate,this.name=t.name,this.size=t.size,this.type=t.type,this.webkitRelativePath=t.webkitRelativePath,this.upload.total=t.size}return e.prototype.handleProgress=function(e){this.startProgress();var t,i,s=e.total||this.upload.total;this.upload.progress=Math.min(100,100*e.loaded/s),this.upload.bytesSent=e.loaded,this.upload.total=s,this.upload.time=(Date.now()-this.upload.start)/1e3,this.upload.speed.kbps=n((t=this.upload.bytesSent,i=this.upload.time,function(e){return e/125}(t)/i)),this.upload.speed.mbps=n(function(e,t){return function(e){return e/125e3}(e)/t}(this.upload.bytesSent,this.upload.time)),100===this.upload.progress&&this.endProgress()},e.prototype.startProgress=function(){return this.upload.start||(this.upload.start=Date.now()),this},e.prototype.endProgress=function(){return this.upload.end||(this.upload.end=Date.now(),this.upload.time=(Date.now()-this.upload.start)/1e3),this},Object.defineProperty(e.prototype,"dataUrl",{get:function(){return this._dataUrl||""},set:function(e){Object.defineProperty(this,"_dataUrl",{value:e,enumerable:!1,configurable:!0,writable:!0})},enumerable:!0,configurable:!0}),e.idFactory=function(){return"vt_"+ ++a},e}(),c=function(){function e(e){this.vtransmit=e,this.Statuses=i,this.props=e.$props}return e.prototype.emit=function(e){for(var t,i=[],s=1;s<arguments.length;s++)i[s-1]=arguments[s];(t=this.vtransmit).$emit.apply(t,[e].concat(i))},Object.defineProperty(e.prototype,"acceptedFiles",{get:function(){return this.vtransmit.acceptedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rejectedFiles",{get:function(){return this.vtransmit.rejectedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"addedFiles",{get:function(){return this.vtransmit.addedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"queuedFiles",{get:function(){return this.vtransmit.queuedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uploadingFiles",{get:function(){return this.vtransmit.uploadingFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeFiles",{get:function(){return this.vtransmit.activeFiles},enumerable:!0,configurable:!0}),e}(),h=0,f=function(){function e(e,t){this.uploadGroups=Object.create(null);var i=t.url,s=t.method,r=void 0===s?"post":s,a=t.withCredentials,n=void 0!==a&&a,l=t.timeout,o=void 0===l?0:l,u=t.paramName,d=void 0===u?"file":u,p=t.params,c=void 0===p?Object.create(null):p,h=t.headers,f=void 0===h?{Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"}:h,m=t.responseType,g=void 0===m?"json":m,F=t.responseParseFunc,v=t.errUploadError,y=void 0===v?function(e){return"Error during upload: "+e.statusText+" ["+e.status+"]"}:v,b=t.errUploadTimeout,T=void 0===b?function(e){return"Error during upload: the server timed out."}:b,x=t.renameFile,P=void 0===x?function(e){return e}:x;this.context=e,this.url=i,this.method=r,this.withCredentials=n,this.timeout=o,this.paramName=d,this.params=c,this.headers=f,this.responseType=g,this.responseParseFunc=F,this.errUploadError=y,this.errUploadTimeout=T,this.renameFile=P}return e.prototype.uploadFiles=function(e){var t=this;return new Promise(function(a){if(!t.url)return a({ok:!1,err:{type:s.Any,message:"Missing upload URL.",data:t.url}});var n=new XMLHttpRequest,l=t.handleUploadProgress(e),o=h++;t.uploadGroups[o]={id:o,xhr:n,files:e};for(var u=0,d=e;u<d.length;u++){(v=d[u]).adapterData.groupID=o,v.startProgress()}n.open(t.method,t.url,!0),n.timeout=t.timeout,n.withCredentials=Boolean(t.withCredentials),n.responseType=t.responseType,n.addEventListener("error",function(){t.rmGroup(o),a({ok:!1,err:{type:s.Any,message:t.errUploadError(n),data:n}})}),n.upload.addEventListener("progress",l),n.addEventListener("timeout",function(){t.rmGroup(o),a({ok:!1,err:{type:s.Timeout,message:t.errUploadTimeout(n),data:n}})}),n.addEventListener("load",function(r){if(e[0].status!==i.Canceled&&n.readyState===XMLHttpRequest.DONE){var u;if(t.rmGroup(o),t.responseParseFunc)u=t.responseParseFunc(n);else if(u=n.response,!n.responseType){var d=n.getResponseHeader("content-type");if(d&&d.indexOf("application/json")>-1)try{u=JSON.parse(n.responseText)}catch(e){return a({ok:!1,err:{message:"Invalid JSON response from server.",type:s.Any,data:e}})}}return l(),n.status<200||n.status>=300?a({ok:!1,err:{type:s.Any,message:t.errUploadError(n),data:n}}):a({ok:!0,data:u})}});var p=Object.assign(Object.create(null),t.headers);for(var c in p)p[c]&&n.setRequestHeader(c,p[c]);var f=new FormData;for(var m in t.params)f.append(m,t.params[m]);for(var g=0,F=e;g<F.length;g++){var v=F[g];t.context.emit(r.Sending,v,n,f)}t.context.props.uploadMultiple&&t.context.emit(r.SendingMultiple,e,n,f);for(var y=0;y<e.length;y++)f.append(t.getParamName(y),e[y].nativeFile,t.renameFile(e[y].name));n.send(f)})},e.prototype.handleUploadProgress=function(e){var t=this.context.vtransmit;return function(i){if(!i){for(var s=!0,a=0,n=e;a<n.length;a++){100===(u=n[a]).upload.progress&&u.upload.bytesSent===u.upload.total||(s=!1),u.upload.progress=100,u.upload.bytesSent=u.upload.total,u.endProgress()}if(s)return}for(var l=0,o=e;l<o.length;l++){var u=o[l];i&&u.handleProgress(i),t.$emit(r.UploadProgress,u,u.upload.progress,u.upload.bytesSent)}}},e.prototype.getParamName=function(e){var t="";return this.context.props.uploadMultiple&&(t="["+e+"]"),this.paramName+t},e.prototype.cancelUpload=function(e){var t=this.uploadGroups[e.adapterData.groupID];return t?(t.xhr.abort(),this.rmGroup(e.adapterData.groupID),t.files.slice()):[]},e.prototype.rmGroup=function(e){delete this.uploadGroups[e]},e}(),m=t.extend({render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(e.tag,{tag:"component"},[i("div",e._g(e._b({staticClass:"v-transmit__upload-area",class:[e.isDraggingClass,e.uploadAreaClasses],attrs:{draggable:"true"},on:{click:e.handleClickUploaderAction,dragstart:e.handleDragStart,dragend:e.handleDragEnd,dragenter:function(t){t.preventDefault(),t.stopPropagation(),e.handleDragEnter(t)},dragover:function(t){t.preventDefault(),t.stopPropagation(),e.handleDragOver(t)},dragleave:e.handleDragLeave,drop:function(t){t.preventDefault(),t.stopPropagation(),e.handleDrop(t)}}},"div",e.uploadAreaAttrs,!1),e.uploadAreaListeners),[e._t("default")],2),e._v(" "),e._t("files",null,null,e.fileSlotBindings),e._v(" "),i("form",{ref:"uploadForm",style:e.formStyles},[i("input",{ref:"hiddenFileInput",class:[e.maxFilesReachedClass],attrs:{type:"file",multiple:e.multiple,accept:e.filesToAccept,capture:e.capture},on:{change:e.onFileInputChange}})])],2)},staticRenderFns:[],name:"VueTransmit",props:{tag:{type:String,default:"div"},uploadAreaClasses:{type:[Array,Object,String],default:null},uploadAreaAttrs:{type:Object,default:l},uploadAreaListeners:{type:Object,default:l},dragClass:{type:String,default:null},maxConcurrentUploads:{type:Number,default:2},uploadMultiple:{type:Boolean,default:!1},maxFileSize:{type:Number,default:256},fileSizeBaseInBinary:{type:Boolean,default:!1},createImageThumbnails:{type:Boolean,default:!0},maxThumbnailFileSize:{type:Number,default:10},thumbnailWidth:{type:Number,default:120},thumbnailHeight:{type:Number,default:120},maxFiles:{type:Number,default:null},clickable:{type:Boolean,default:!0},ignoreHiddenFiles:{type:Boolean,default:!0},acceptedFileTypes:{type:Array,default:function(){return[]}},autoProcessQueue:{type:Boolean,default:!0},autoQueue:{type:Boolean,default:!0},capture:{type:String,default:null},errMaxFileSizeExceeded:{type:Function,default:function(e,t,i){return"The file is too big ("+n(e,1)+i+"). Max file size: "+n(t,1)+i+"."}},errInvalidFileType:{type:Function,default:function(e,t,i){return"You can't upload files of this type: "+e}},errMaxFilesExceeded:{type:Function,default:function(e){return"You can not upload any more files ("+e+" max)."}},accept:{type:Function,default:function(e,t){t()}},resize:{type:Function,default:function(e,t){var i,s,r,a=e.width/e.height,n=t.width/t.height,l={sx:0,sy:0,sWidth:e.width,sHeight:e.height,dx:0,dy:0,dWidth:t.width,dHeight:t.height};return n>a?(i=e.width,r=n,s=e.width/r):(i=function(e,t){return t*e}(n,e.height),s=e.height),i<e.width&&(l.sx=(e.width-i)/2,l.sWidth=i),s<e.height&&(l.sy=(e.height-s)/2,l.sHeight=s),l}},adapterOptions:{type:Object,default:l},uploadAdapter:{type:Function,default:f}},mounted:function(){var e=this;this.$on(r.UploadProgress,this.updateTotalUploadProgress),this.$on(r.RemovedFile,this.updateTotalUploadProgress),this.$on(r.Canceled,function(t){return e.$emit(r.Complete,t)}),this.$on(r.Complete,function(t){0===e.addedFiles.length&&0===e.uploadingFiles.length&&0===e.queuedFiles.length&&Promise.resolve().then(function(){return e.$emit(r.QueueComplete,t)})}),this.$emit(r.Initialize,this)},data:function(){return{dragging:!1,processingThumbnail:!1,thumbnailQueue:[],files:[],defaultHeaders:{Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"},formStyles:{visibility:"hidden !important",position:"absolute !important",top:"0 !important",left:"0 !important",height:"0px !important",width:"0px !important"}}},computed:{inputEl:function(){var e=this.$refs.hiddenFileInput;return e instanceof HTMLInputElement?e:null},formEl:function(){var e=this.$refs.uploadForm;return e instanceof HTMLFormElement?e:null},fileSizeBase:function(){return this.fileSizeBaseInBinary?1024:1e3},maxFileSizeBytes:function(){return this.maxFileSize*this.fileSizeBase*this.fileSizeBase},filesToAccept:function(){return this.acceptedFileTypes.join(",")},multiple:function(){return null===this.maxFiles||this.maxFiles>1},addedFiles:function(){return this.getFilesWithStatus(i.Added)},queuedFiles:function(){return this.getFilesWithStatus(i.Queued)},acceptedFiles:function(){return this.files.filter(function(e){return e.accepted})},rejectedFiles:function(){return this.files.filter(function(e){return!e.accepted})},uploadingFiles:function(){return this.getFilesWithStatus(i.Uploading)},canceledFiles:function(){return this.getFilesWithStatus(i.Canceled)},failedFiles:function(){return this.getFilesWithStatus(i.Error)},timeoutFiles:function(){return this.getFilesWithStatus(i.Timeout)},successfulFiles:function(){return this.getFilesWithStatus(i.Success)},activeFiles:function(){return this.getFilesWithStatus(i.Uploading,i.Queued)},maxFilesReached:function(){return null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles},maxFilesReachedClass:function(){return this.maxFilesReached?"v-transmit__max-files--reached":null},isDraggingClass:function(){return(e={"v-transmit__upload-area--is-dragging":this.dragging})[this.dragClass]=this.dragging,e;var e},isUploading:function(){return this.uploadingFiles.length>0},fileSlotBindings:function(){return{files:this.files,acceptedFiles:this.acceptedFiles,rejectedFiles:this.rejectedFiles,addedFiles:this.addedFiles,queuedFiles:this.queuedFiles,uploadingFiles:this.uploadingFiles,canceledFiles:this.canceledFiles,failedFiles:this.failedFiles,timeoutFiles:this.timeoutFiles,successfulFiles:this.successfulFiles,activeFiles:this.activeFiles,isUploading:this.isUploading}},transport:function(){var e=this.uploadAdapter;try{return new e(new c(this),this.adapterOptions)}catch(e){throw console.error(e),e}}},watch:{acceptedFiles:function(e){null!=this.maxFiles&&e.length>=this.maxFiles&&this.$emit(r.MaxFilesReached,this.files)}},methods:{getFilesWithStatus:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.files.filter(function(t){return e.indexOf(t.status)>-1})},onFileInputChange:function(){var e=this.inputEl,t=this.formEl;if(null==e||null==t)throw TypeError();e.files&&(this.$emit(r.AddedFiles,Array.from(e.files).map(this.addFile)),t.reset())},addFile:function(e){var t=this,s=new p(e);return s.status=i.Added,this.files.push(s),this.$emit(r.AddedFile,s),this.enqueueThumbnail(s),this.acceptFile(s,function(e){if(e)return s.accepted=!1,t.errorProcessing([s],e),t.$emit(r.RejectedFile,s),void t.$emit(r.AcceptComplete,s);s.accepted=!0,t.$emit(r.AcceptedFile,s),t.$emit(r.AcceptComplete,s),t.autoQueue&&t.enqueueFile(s)}),s},acceptFile:function(e,t){if(e.size>this.maxFileSizeBytes){var i=this.fileSizeBase*this.fileSizeBase,s=e.size/i,a="MB";return this.fileSizeBaseInBinary&&(a="MiB"),t(this.errMaxFileSizeExceeded(s,this.maxFileSize,a))}return this.isValidFileType(e,this.acceptedFileTypes)?null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles?(this.$emit(r.MaxFilesExceeded,e),t(this.errMaxFilesExceeded(this.maxFiles))):void this.accept(e,t):t(this.errInvalidFileType(e.type,this.acceptedFileTypes,e))},removeFile:function(e){e.status===i.Uploading&&this.cancelUpload(e);var t=this.files.findIndex(function(t){return t.id===e.id});t>-1&&(this.$emit(r.RemovedFile,this.files.splice(t,1)[0]),0===this.files.length&&this.$emit(r.Reset))},removeFilesWithStatus:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.getFilesWithStatus.apply(this,e).map(this.removeFile)},removeAllFiles:function(e){var t;void 0===e&&(e=!1);for(var s=0,r=this.files;s<r.length;s++)((t=r[s]).status!==i.Uploading||e)&&this.removeFile(t)},triggerBrowseFiles:function(){this.inputEl&&this.inputEl.click()},handleClickUploaderAction:function(){this.clickable&&this.triggerBrowseFiles()},enqueueFile:function(e){if(e.status!==i.Added||!0!==e.accepted)throw new Error("This file can't be queued because it has already been processed or was rejected.");e.status=i.Queued,this.autoProcessQueue&&Promise.resolve().then(this.processQueue)},enqueueThumbnail:function(e){!this.createImageThumbnails||!e.type.match(/image.*/)||e.size>1024*this.maxThumbnailFileSize*1024||(this.thumbnailQueue.push(e),Promise.resolve().then(this.processThumbnailQueue))},processThumbnailQueue:function(){var e,t=this;this.processingThumbnail||0===this.thumbnailQueue.length||(this.processingThumbnail=!0,(e=this.thumbnailQueue.shift())&&this.createThumbnail(e,function(){t.processingThumbnail=!1,t.processThumbnailQueue()}))},createThumbnail:function(e,t){var i=this;void 0===t&&(t=o);var s=new FileReader;s.addEventListener("load",function(){"image/svg+xml"===e.type&&(e.dataUrl=s.result,i.$emit(r.Thumbnail,e,s.result),t()),i.createThumbnailFromUrl(e,s.result,t)},!1),s.readAsDataURL(e.nativeFile)},createThumbnailFromUrl:function(e,t,i){var s=this,a=document.createElement("img");a.addEventListener("load",function(){var t;e.width=a.width,e.height=a.height;var n=s.resize(e,{width:s.thumbnailWidth,height:s.thumbnailHeight}),l=document.createElement("canvas");if(t=l.getContext("2d")){l.width=n.dWidth,l.height=n.dHeight,t.drawImage(a,n.sx,n.sy,n.sWidth,n.sHeight,n.dx,n.dy,n.dWidth,n.dHeight);var o=l.toDataURL("image/png");return e.dataUrl=o,s.$emit(r.Thumbnail,e,o),i?i():void 0}},!1),i&&a.addEventListener("error",i,!1),a.src=t},processQueue:function(){var e=this.uploadingFiles.length;if(!(e>=this.maxConcurrentUploads||0===this.queuedFiles.length)){if(this.uploadMultiple)return this.processFiles(this.queuedFiles.slice(0,this.maxConcurrentUploads-e));for(var t,i=e;i<this.maxConcurrentUploads;i++)(t=this.queuedFiles.shift())&&this.processFile(t)}},processFile:function(e){this.processFiles([e])},processFiles:function(e){for(var t,s=0,a=e;s<a.length;s++)(t=a[s]).processing=!0,t.status=i.Uploading,this.$emit(r.Processing,t);return this.uploadMultiple&&this.$emit(r.ProcessingMultiple,e),this.uploadFiles(e)},cancelUpload:function(e){if(e.status!==i.Added&&e.status!==i.Queued||(e.status=i.Canceled,this.$emit(r.Canceled,e),this.uploadMultiple&&this.$emit(r.CanceledMultiple,[e])),e.status===i.Uploading){for(var t=this.transport.cancelUpload(e),s=void 0,a=0,n=t;a<n.length;a++)(s=n[a]).status=i.Canceled,this.$emit(r.Canceled,s);this.uploadMultiple&&this.$emit(r.CanceledMultiple,t)}this.autoProcessQueue&&this.processQueue()},uploadFile:function(e){this.uploadFiles([e])},uploadFiles:function(e){var t=this;this.transport.uploadFiles(e).then(function(i){if(i.ok)return t.uploadFinished(e,i.data);switch(i.err.type){case s.Any:t.errorProcessing(e,i.err.message,i.err.data);break;case s.Timeout:t.handleTimeout(e,i.err.message,i.err.data);break;default:!function(e,t){throw new Error(t)}(i.err.type,"unmatched error case")}})},handleTimeout:function(e,t,s){for(var a,n=0,l=e;n<l.length;n++)(a=l[n]).status=i.Timeout,a.endProgress(),this.$emit(r.Timeout,a,t,s);this.$emit(r.TimeoutMultiple,e,t,s),this.autoProcessQueue&&this.processQueue()},updateTotalUploadProgress:function(){var e=this.activeFiles.reduce(function(e,t){return e.totalBytesSent+=t.upload.bytesSent,e.totalBytes+=t.upload.total,e},{totalBytesSent:0,totalBytes:0,totalProgress:100});this.activeFiles.length&&(e.totalProgress=100*e.totalBytesSent/e.totalBytes),this.$emit(r.TotalUploadProgress,e)},uploadFinished:function(e,t){for(var s=[],a=2;a<arguments.length;a++)s[a-2]=arguments[a];for(var n=0,l=e;n<l.length;n++){var o=l[n];o.status=i.Success,o.endProgress(),this.$emit.apply(this,[r.Success,o,t].concat(s)),this.$emit(r.Complete,o)}this.uploadMultiple&&(this.$emit.apply(this,[r.SuccessMultiple,e,t].concat(s)),this.$emit(r.CompleteMultiple,e)),this.autoProcessQueue&&this.processQueue()},errorProcessing:function(e,t,s){for(var a=0,n=e;a<n.length;a++){var l=n[a];l.status=i.Error,l.endProgress(),this.$emit(r.Error,l,t,s),this.$emit(r.Complete,l)}if(this.uploadMultiple&&(this.$emit(r.ErrorMultiple,e,t,s),this.$emit(r.CompleteMultiple,e)),this.autoProcessQueue)return this.processQueue()},isValidFileType:function(e,t){if(!t.length)return!0;for(var i,s=e.type,r=s.slice(0,s.indexOf("/")),a=0,n=t;a<n.length;a++)switch(i=n[a],!0){case"."==i.charAt(0):if(-1!==e.name.toLowerCase().indexOf(i.toLowerCase(),e.name.length-i.length))return!0;break;case"/*"==i.slice(-2):if(r===i.slice(0,-2))return!0;break;default:if(s==i)return!0}return!1},handleDragStart:function(e){this.$emit("drag-start",e)},handleDragOver:function(e){var t;this.dragging=!0;try{t=e.dataTransfer.effectAllowed}catch(e){}e.dataTransfer.dropEffect="move"===t||"linkMove"===t?"move":"copy",this.$emit(r.DragOver,e)},handleDragEnter:function(e){this.dragging=!0,this.$emit(r.DragEnter,e)},handleDragLeave:function(e){this.dragging=!1,this.$emit(r.DragLeave,e)},handleDragEnd:function(e){this.dragging=!1,this.$emit(r.DragEnd,e)},handleDrop:function(e){var t,i;(this.dragging=!1,e.dataTransfer)&&(this.$emit(r.Drop,e),this.$emit(r.AddedFiles,t=Array.from(e.dataTransfer.files)),e.dataTransfer.items&&(i=Array.from(e.dataTransfer.items))&&i.length&&(i[0].getAsFile||i[0].webkitGetAsEntry)?this.addFilesFromItems(i):this.handleFiles(t))},paste:function(e){if(e&&e.clipboardData&&e.clipboardData.items){this.$emit(r.Paste,e);var t=Array.from(e.clipboardData.items);t.length&&this.addFilesFromItems(t)}},handleFiles:function(e){return e.map(this.addFile)},addFilesFromItems:function(e){for(var t,i=0,s=e;i<s.length;i++){var r=s[i];if(r.getAsFile&&"file"==r.kind){var a=r.getAsFile();a&&this.addFile(a)}else if(r.webkitGetAsEntry){if(null==(t=r.webkitGetAsEntry()))continue;if(u(t)){t.file(this.addFile,console.error);continue}if(d(t)){this.addFilesFromDirectory(t,t.name);continue}}}},addFilesFromDirectory:function(e,t){var i=this;e.createReader().readEntries(function(e){for(var s=0,r=e;s<r.length;s++){var a=r[s];null!=a&&(d(a)?i.addFilesFromDirectory(a,t+"/"+a.name):u(a)&&a.file(function(e){i.ignoreHiddenFiles&&"."==e.name.charAt(0)||(e.fullPath=t+"/"+e.name,i.addFile(e))},console.error))}},console.error)}}}),g={install:function(e){e.component("VueTransmit",m)},name:"vue-transmit"};e.VueTransmitPlugin=g,e.VueTransmit=m,e.XHRUploadAdapter=f,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t(e.VueTransmit={},e.Vue)}(this,function(e,t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var i,s,r,a=0;function n(e,t){void 0===t&&(t=2);var i=Math.pow(10,t);return Math.round(e*i)/i}function l(){return{}}function o(){}function u(e){return e.isFile}function d(e){return e.isDirectory}!function(e){e.None="",e.Added="added",e.Queued="queued",e.Accepted="queued",e.Uploading="uploading",e.Canceled="canceled",e.Error="error",e.Timeout="timeout",e.Success="success"}(i||(i={})),function(e){e[e.Any=0]="Any",e[e.Timeout=1]="Timeout"}(s||(s={})),function(e){e.Initialize="initialize",e.AddedFile="added-file",e.AddedFiles="added-files",e.RemovedFile="removed-file",e.AcceptedFile="accepted-file",e.RejectedFile="rejected-file",e.AcceptComplete="accept-complete",e.Thumbnail="thumbnail",e.Processing="processing",e.ProcessingMultiple="processing-multiple",e.Canceled="canceled",e.CanceledMultiple="canceled-multiple",e.Sending="sending",e.SendingMultiple="sending-multiple",e.Timeout="timeout",e.TimeoutMultiple="timeout-multiple",e.UploadProgress="upload-progress",e.TotalUploadProgress="total-upload-progress",e.Success="success",e.SuccessMultiple="success-multiple",e.QueueComplete="queue-complete",e.Complete="complete",e.CompleteMultiple="complete-multiple",e.Error="error",e.ErrorMultiple="error-multiple",e.MaxFilesReached="max-files-reached",e.MaxFilesExceeded="max-files-exceeded",e.Reset="reset",e.DragOver="drag-over",e.DragEnter="drag-enter",e.DragLeave="drag-leave",e.DragEnd="drag-end",e.Drop="drop",e.Paste="paste"}(r||(r={}));var p=function(){function e(t){this._dataUrl="",this.id=e.idFactory(),this.status=i.None,this.accepted=!1,this.processing=!1,this.width=0,this.height=0,this.errorMessage="",this.adapterData={},this.upload={bytesSent:0,progress:0,total:0,speed:{kbps:0,mbps:0},start:0,end:0,time:0},this.nativeFile=t,this.lastModified=t.lastModified,this.lastModifiedDate=t.lastModifiedDate,this.name=t.name,this.size=t.size,this.type=t.type,this.webkitRelativePath=t.webkitRelativePath,this.upload.total=t.size}return e.prototype.handleProgress=function(e){this.startProgress();var t,i,s=e.total||this.upload.total;this.upload.progress=Math.min(100,100*e.loaded/s),this.upload.bytesSent=e.loaded,this.upload.total=s,this.upload.time=(Date.now()-this.upload.start)/1e3,this.upload.speed.kbps=n((t=this.upload.bytesSent,i=this.upload.time,function(e){return e/125}(t)/i)),this.upload.speed.mbps=n(function(e,t){return function(e){return e/125e3}(e)/t}(this.upload.bytesSent,this.upload.time)),100===this.upload.progress&&this.endProgress()},e.prototype.startProgress=function(){return this.upload.start||(this.upload.start=Date.now()),this},e.prototype.endProgress=function(){return this.upload.end||(this.upload.end=Date.now(),this.upload.time=(Date.now()-this.upload.start)/1e3),this},Object.defineProperty(e.prototype,"dataUrl",{get:function(){return this._dataUrl||""},set:function(e){Object.defineProperty(this,"_dataUrl",{value:e,enumerable:!1,configurable:!0,writable:!0})},enumerable:!0,configurable:!0}),e.idFactory=function(){return"vt_"+ ++a},e}(),c=function(){function e(e){this.vtransmit=e,this.Statuses=i,this.props=e.$props}return e.prototype.emit=function(e){for(var t,i=[],s=1;s<arguments.length;s++)i[s-1]=arguments[s];(t=this.vtransmit).$emit.apply(t,[e].concat(i))},Object.defineProperty(e.prototype,"acceptedFiles",{get:function(){return this.vtransmit.acceptedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rejectedFiles",{get:function(){return this.vtransmit.rejectedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"addedFiles",{get:function(){return this.vtransmit.addedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"queuedFiles",{get:function(){return this.vtransmit.queuedFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uploadingFiles",{get:function(){return this.vtransmit.uploadingFiles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeFiles",{get:function(){return this.vtransmit.activeFiles},enumerable:!0,configurable:!0}),e}(),h=0,f=function(){function e(e,t){this.uploadGroups=Object.create(null);var i=t.url,s=t.method,r=void 0===s?"post":s,a=t.withCredentials,n=void 0!==a&&a,l=t.timeout,o=void 0===l?0:l,u=t.paramName,d=void 0===u?"file":u,p=t.params,c=void 0===p?Object.create(null):p,h=t.headers,f=void 0===h?{Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"}:h,m=t.responseType,g=void 0===m?"json":m,F=t.responseParseFunc,v=t.errUploadError,y=void 0===v?function(e){return"Error during upload: "+e.statusText+" ["+e.status+"]"}:v,b=t.errUploadTimeout,T=void 0===b?function(e){return"Error during upload: the server timed out."}:b,x=t.renameFile,P=void 0===x?function(e){return e}:x;this.context=e,this.url=i,this.method=r,this.withCredentials=n,this.timeout=o,this.paramName=d,this.params=c,this.headers=f,this.responseType=g,this.responseParseFunc=F,this.errUploadError=y,this.errUploadTimeout=T,this.renameFile=P}return e.prototype.uploadFiles=function(e){var t=this;return new Promise(function(a){if(!t.url)return a({ok:!1,err:{type:s.Any,message:"Missing upload URL.",data:t.url}});var n=new XMLHttpRequest,l=t.handleUploadProgress(e),o=h++;t.uploadGroups[o]={id:o,xhr:n,files:e};for(var u=0,d=e;u<d.length;u++){(v=d[u]).adapterData.groupID=o,v.startProgress()}n.open(t.method,t.url,!0),n.timeout=t.timeout,n.withCredentials=Boolean(t.withCredentials),n.responseType=t.responseType,n.addEventListener("error",function(){t.rmGroup(o),a({ok:!1,err:{type:s.Any,message:t.errUploadError(n),data:n}})}),n.upload.addEventListener("progress",l),n.addEventListener("timeout",function(){t.rmGroup(o),a({ok:!1,err:{type:s.Timeout,message:t.errUploadTimeout(n),data:n}})}),n.addEventListener("load",function(r){if(e[0].status!==i.Canceled&&n.readyState===XMLHttpRequest.DONE){var u;if(t.rmGroup(o),t.responseParseFunc)u=t.responseParseFunc(n);else if(u=n.response,!n.responseType){var d=n.getResponseHeader("content-type");if(d&&d.indexOf("application/json")>-1)try{u=JSON.parse(n.responseText)}catch(e){return a({ok:!1,err:{message:"Invalid JSON response from server.",type:s.Any,data:e}})}}return l(),n.status<200||n.status>=300?a({ok:!1,err:{type:s.Any,message:t.errUploadError(n),data:n}}):a({ok:!0,data:u})}});var p=Object.assign(Object.create(null),t.headers);for(var c in p)p[c]&&n.setRequestHeader(c,p[c]);var f=new FormData;for(var m in t.params)f.append(m,t.params[m]);for(var g=0,F=e;g<F.length;g++){var v=F[g];t.context.emit(r.Sending,v,n,f)}t.context.props.uploadMultiple&&t.context.emit(r.SendingMultiple,e,n,f);for(var y=0;y<e.length;y++)f.append(t.getParamName(y),e[y].nativeFile,t.renameFile(e[y].name));n.send(f)})},e.prototype.handleUploadProgress=function(e){var t=this.context.vtransmit;return function(i){if(!i){for(var s=!0,a=0,n=e;a<n.length;a++){100===(u=n[a]).upload.progress&&u.upload.bytesSent===u.upload.total||(s=!1),u.upload.progress=100,u.upload.bytesSent=u.upload.total,u.endProgress()}if(s)return}for(var l=0,o=e;l<o.length;l++){var u=o[l];i&&u.handleProgress(i),t.$emit(r.UploadProgress,u,u.upload.progress,u.upload.bytesSent)}}},e.prototype.getParamName=function(e){var t="";return this.context.props.uploadMultiple&&(t="["+e+"]"),this.paramName+t},e.prototype.cancelUpload=function(e){var t=this.uploadGroups[e.adapterData.groupID];return t?(t.xhr.abort(),this.rmGroup(e.adapterData.groupID),t.files.slice()):[]},e.prototype.rmGroup=function(e){delete this.uploadGroups[e]},e}(),m=t.extend({render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(e.tag,{tag:"component"},[i("div",e._g(e._b({staticClass:"v-transmit__upload-area",class:[e.isDraggingClass,e.uploadAreaClasses],attrs:{draggable:"!disableDraggable"},on:{click:e.handleClickUploaderAction,dragstart:e.handleDragStart,dragend:e.handleDragEnd,dragenter:function(t){t.preventDefault(),t.stopPropagation(),e.handleDragEnter(t)},dragover:function(t){t.preventDefault(),t.stopPropagation(),e.handleDragOver(t)},dragleave:e.handleDragLeave,drop:function(t){t.preventDefault(),t.stopPropagation(),e.handleDrop(t)}}},"div",e.uploadAreaAttrs,!1),e.uploadAreaListeners),[e._t("default")],2),e._v(" "),e._t("files",null,null,e.fileSlotBindings),e._v(" "),i("form",{ref:"uploadForm",style:e.formStyles},[i("input",{ref:"hiddenFileInput",class:[e.maxFilesReachedClass],attrs:{type:"file",multiple:e.multiple,accept:e.filesToAccept,capture:e.capture},on:{change:e.onFileInputChange}})])],2)},staticRenderFns:[],name:"VueTransmit",props:{tag:{type:String,default:"div"},disableDraggable:{type:Boolean,default:!1},uploadAreaClasses:{type:[Array,Object,String],default:null},uploadAreaAttrs:{type:Object,default:l},uploadAreaListeners:{type:Object,default:l},dragClass:{type:String,default:null},maxConcurrentUploads:{type:Number,default:2},uploadMultiple:{type:Boolean,default:!1},maxFileSize:{type:Number,default:256},fileSizeBaseInBinary:{type:Boolean,default:!1},createImageThumbnails:{type:Boolean,default:!0},maxThumbnailFileSize:{type:Number,default:10},thumbnailWidth:{type:Number,default:120},thumbnailHeight:{type:Number,default:120},maxFiles:{type:Number,default:null},clickable:{type:Boolean,default:!0},ignoreHiddenFiles:{type:Boolean,default:!0},acceptedFileTypes:{type:Array,default:function(){return[]}},autoProcessQueue:{type:Boolean,default:!0},autoQueue:{type:Boolean,default:!0},capture:{type:String,default:null},errMaxFileSizeExceeded:{type:Function,default:function(e,t,i){return"The file is too big ("+n(e,1)+i+"). Max file size: "+n(t,1)+i+"."}},errInvalidFileType:{type:Function,default:function(e,t,i){return"You can't upload files of this type: "+e}},errMaxFilesExceeded:{type:Function,default:function(e){return"You can not upload any more files ("+e+" max)."}},accept:{type:Function,default:function(e,t){t()}},resize:{type:Function,default:function(e,t){var i,s,r,a=e.width/e.height,n=t.width/t.height,l={sx:0,sy:0,sWidth:e.width,sHeight:e.height,dx:0,dy:0,dWidth:t.width,dHeight:t.height};return n>a?(i=e.width,r=n,s=e.width/r):(i=function(e,t){return t*e}(n,e.height),s=e.height),i<e.width&&(l.sx=(e.width-i)/2,l.sWidth=i),s<e.height&&(l.sy=(e.height-s)/2,l.sHeight=s),l}},adapterOptions:{type:Object,default:l},uploadAdapter:{type:Function,default:f}},mounted:function(){var e=this;this.$on(r.UploadProgress,this.updateTotalUploadProgress),this.$on(r.RemovedFile,this.updateTotalUploadProgress),this.$on(r.Canceled,function(t){return e.$emit(r.Complete,t)}),this.$on(r.Complete,function(t){0===e.addedFiles.length&&0===e.uploadingFiles.length&&0===e.queuedFiles.length&&Promise.resolve().then(function(){return e.$emit(r.QueueComplete,t)})}),this.$emit(r.Initialize,this)},data:function(){return{dragging:!1,processingThumbnail:!1,thumbnailQueue:[],files:[],defaultHeaders:{Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"},formStyles:{visibility:"hidden !important",position:"absolute !important",top:"0 !important",left:"0 !important",height:"0px !important",width:"0px !important"}}},computed:{inputEl:function(){var e=this.$refs.hiddenFileInput;return e instanceof HTMLInputElement?e:null},formEl:function(){var e=this.$refs.uploadForm;return e instanceof HTMLFormElement?e:null},fileSizeBase:function(){return this.fileSizeBaseInBinary?1024:1e3},maxFileSizeBytes:function(){return this.maxFileSize*this.fileSizeBase*this.fileSizeBase},filesToAccept:function(){return this.acceptedFileTypes.join(",")},multiple:function(){return null===this.maxFiles||this.maxFiles>1},addedFiles:function(){return this.getFilesWithStatus(i.Added)},queuedFiles:function(){return this.getFilesWithStatus(i.Queued)},acceptedFiles:function(){return this.files.filter(function(e){return e.accepted})},rejectedFiles:function(){return this.files.filter(function(e){return!e.accepted})},uploadingFiles:function(){return this.getFilesWithStatus(i.Uploading)},canceledFiles:function(){return this.getFilesWithStatus(i.Canceled)},failedFiles:function(){return this.getFilesWithStatus(i.Error)},timeoutFiles:function(){return this.getFilesWithStatus(i.Timeout)},successfulFiles:function(){return this.getFilesWithStatus(i.Success)},activeFiles:function(){return this.getFilesWithStatus(i.Uploading,i.Queued)},maxFilesReached:function(){return null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles},maxFilesReachedClass:function(){return this.maxFilesReached?"v-transmit__max-files--reached":null},isDraggingClass:function(){return(e={"v-transmit__upload-area--is-dragging":this.dragging})[this.dragClass]=this.dragging,e;var e},isUploading:function(){return this.uploadingFiles.length>0},fileSlotBindings:function(){return{files:this.files,acceptedFiles:this.acceptedFiles,rejectedFiles:this.rejectedFiles,addedFiles:this.addedFiles,queuedFiles:this.queuedFiles,uploadingFiles:this.uploadingFiles,canceledFiles:this.canceledFiles,failedFiles:this.failedFiles,timeoutFiles:this.timeoutFiles,successfulFiles:this.successfulFiles,activeFiles:this.activeFiles,isUploading:this.isUploading}},transport:function(){var e=this.uploadAdapter;try{return new e(new c(this),this.adapterOptions)}catch(e){throw console.error(e),e}}},watch:{acceptedFiles:function(e){null!=this.maxFiles&&e.length>=this.maxFiles&&this.$emit(r.MaxFilesReached,this.files)}},methods:{getFilesWithStatus:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.files.filter(function(t){return e.indexOf(t.status)>-1})},onFileInputChange:function(){var e=this.inputEl,t=this.formEl;if(null==e||null==t)throw TypeError();e.files&&(this.$emit(r.AddedFiles,Array.from(e.files).map(this.addFile)),t.reset())},addFile:function(e){var t=this,s=new p(e);return s.status=i.Added,this.files.push(s),this.$emit(r.AddedFile,s),this.enqueueThumbnail(s),this.acceptFile(s,function(e){if(e)return s.accepted=!1,t.errorProcessing([s],e),t.$emit(r.RejectedFile,s),void t.$emit(r.AcceptComplete,s);s.accepted=!0,t.$emit(r.AcceptedFile,s),t.$emit(r.AcceptComplete,s),t.autoQueue&&t.enqueueFile(s)}),s},acceptFile:function(e,t){if(e.size>this.maxFileSizeBytes){var i=this.fileSizeBase*this.fileSizeBase,s=e.size/i,a="MB";return this.fileSizeBaseInBinary&&(a="MiB"),t(this.errMaxFileSizeExceeded(s,this.maxFileSize,a))}return this.isValidFileType(e,this.acceptedFileTypes)?null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles?(this.$emit(r.MaxFilesExceeded,e),t(this.errMaxFilesExceeded(this.maxFiles))):void this.accept(e,t):t(this.errInvalidFileType(e.type,this.acceptedFileTypes,e))},removeFile:function(e){e.status===i.Uploading&&this.cancelUpload(e);var t=this.files.findIndex(function(t){return t.id===e.id});t>-1&&(this.$emit(r.RemovedFile,this.files.splice(t,1)[0]),0===this.files.length&&this.$emit(r.Reset))},removeFilesWithStatus:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.getFilesWithStatus.apply(this,e).map(this.removeFile)},removeAllFiles:function(e){var t;void 0===e&&(e=!1);for(var s=0,r=this.files;s<r.length;s++)((t=r[s]).status!==i.Uploading||e)&&this.removeFile(t)},triggerBrowseFiles:function(){this.inputEl&&this.inputEl.click()},handleClickUploaderAction:function(){this.clickable&&this.triggerBrowseFiles()},enqueueFile:function(e){if(e.status!==i.Added||!0!==e.accepted)throw new Error("This file can't be queued because it has already been processed or was rejected.");e.status=i.Queued,this.autoProcessQueue&&Promise.resolve().then(this.processQueue)},enqueueThumbnail:function(e){!this.createImageThumbnails||!e.type.match(/image.*/)||e.size>1024*this.maxThumbnailFileSize*1024||(this.thumbnailQueue.push(e),Promise.resolve().then(this.processThumbnailQueue))},processThumbnailQueue:function(){var e,t=this;this.processingThumbnail||0===this.thumbnailQueue.length||(this.processingThumbnail=!0,(e=this.thumbnailQueue.shift())&&this.createThumbnail(e,function(){t.processingThumbnail=!1,t.processThumbnailQueue()}))},createThumbnail:function(e,t){var i=this;void 0===t&&(t=o);var s=new FileReader;s.addEventListener("load",function(){"image/svg+xml"===e.type&&(e.dataUrl=s.result,i.$emit(r.Thumbnail,e,s.result),t()),i.createThumbnailFromUrl(e,s.result,t)},!1),s.readAsDataURL(e.nativeFile)},createThumbnailFromUrl:function(e,t,i){var s=this,a=document.createElement("img");a.addEventListener("load",function(){var t;e.width=a.width,e.height=a.height;var n=s.resize(e,{width:s.thumbnailWidth,height:s.thumbnailHeight}),l=document.createElement("canvas");if(t=l.getContext("2d")){l.width=n.dWidth,l.height=n.dHeight,t.drawImage(a,n.sx,n.sy,n.sWidth,n.sHeight,n.dx,n.dy,n.dWidth,n.dHeight);var o=l.toDataURL("image/png");return e.dataUrl=o,s.$emit(r.Thumbnail,e,o),i?i():void 0}},!1),i&&a.addEventListener("error",i,!1),a.src=t},processQueue:function(){var e=this.uploadingFiles.length;if(!(e>=this.maxConcurrentUploads||0===this.queuedFiles.length)){if(this.uploadMultiple)return this.processFiles(this.queuedFiles.slice(0,this.maxConcurrentUploads-e));for(var t,i=e;i<this.maxConcurrentUploads;i++)(t=this.queuedFiles.shift())&&this.processFile(t)}},processFile:function(e){this.processFiles([e])},processFiles:function(e){for(var t,s=0,a=e;s<a.length;s++)(t=a[s]).processing=!0,t.status=i.Uploading,this.$emit(r.Processing,t);return this.uploadMultiple&&this.$emit(r.ProcessingMultiple,e),this.uploadFiles(e)},cancelUpload:function(e){if(e.status!==i.Added&&e.status!==i.Queued||(e.status=i.Canceled,this.$emit(r.Canceled,e),this.uploadMultiple&&this.$emit(r.CanceledMultiple,[e])),e.status===i.Uploading){for(var t=this.transport.cancelUpload(e),s=void 0,a=0,n=t;a<n.length;a++)(s=n[a]).status=i.Canceled,this.$emit(r.Canceled,s);this.uploadMultiple&&this.$emit(r.CanceledMultiple,t)}this.autoProcessQueue&&this.processQueue()},uploadFile:function(e){this.uploadFiles([e])},uploadFiles:function(e){var t=this;this.transport.uploadFiles(e).then(function(i){if(i.ok)return t.uploadFinished(e,i.data);switch(i.err.type){case s.Any:t.errorProcessing(e,i.err.message,i.err.data);break;case s.Timeout:t.handleTimeout(e,i.err.message,i.err.data);break;default:!function(e,t){throw new Error(t)}(i.err.type,"unmatched error case")}})},handleTimeout:function(e,t,s){for(var a,n=0,l=e;n<l.length;n++)(a=l[n]).status=i.Timeout,a.endProgress(),this.$emit(r.Timeout,a,t,s);this.$emit(r.TimeoutMultiple,e,t,s),this.autoProcessQueue&&this.processQueue()},updateTotalUploadProgress:function(){var e=this.activeFiles.reduce(function(e,t){return e.totalBytesSent+=t.upload.bytesSent,e.totalBytes+=t.upload.total,e},{totalBytesSent:0,totalBytes:0,totalProgress:100});this.activeFiles.length&&(e.totalProgress=100*e.totalBytesSent/e.totalBytes),this.$emit(r.TotalUploadProgress,e)},uploadFinished:function(e,t){for(var s=[],a=2;a<arguments.length;a++)s[a-2]=arguments[a];for(var n=0,l=e;n<l.length;n++){var o=l[n];o.status=i.Success,o.endProgress(),this.$emit.apply(this,[r.Success,o,t].concat(s)),this.$emit(r.Complete,o)}this.uploadMultiple&&(this.$emit.apply(this,[r.SuccessMultiple,e,t].concat(s)),this.$emit(r.CompleteMultiple,e)),this.autoProcessQueue&&this.processQueue()},errorProcessing:function(e,t,s){for(var a=0,n=e;a<n.length;a++){var l=n[a];l.status=i.Error,l.endProgress(),this.$emit(r.Error,l,t,s),this.$emit(r.Complete,l)}if(this.uploadMultiple&&(this.$emit(r.ErrorMultiple,e,t,s),this.$emit(r.CompleteMultiple,e)),this.autoProcessQueue)return this.processQueue()},isValidFileType:function(e,t){if(!t.length)return!0;for(var i,s=e.type,r=s.slice(0,s.indexOf("/")),a=0,n=t;a<n.length;a++)switch(i=n[a],!0){case"."==i.charAt(0):if(-1!==e.name.toLowerCase().indexOf(i.toLowerCase(),e.name.length-i.length))return!0;break;case"/*"==i.slice(-2):if(r===i.slice(0,-2))return!0;break;default:if(s==i)return!0}return!1},handleDragStart:function(e){this.$emit("drag-start",e)},handleDragOver:function(e){var t;this.dragging=!0;try{t=e.dataTransfer.effectAllowed}catch(e){}e.dataTransfer.dropEffect="move"===t||"linkMove"===t?"move":"copy",this.$emit(r.DragOver,e)},handleDragEnter:function(e){this.dragging=!0,this.$emit(r.DragEnter,e)},handleDragLeave:function(e){this.dragging=!1,this.$emit(r.DragLeave,e)},handleDragEnd:function(e){this.dragging=!1,this.$emit(r.DragEnd,e)},handleDrop:function(e){var t,i;(this.dragging=!1,e.dataTransfer)&&(this.$emit(r.Drop,e),this.$emit(r.AddedFiles,t=Array.from(e.dataTransfer.files)),e.dataTransfer.items&&(i=Array.from(e.dataTransfer.items))&&i.length&&(i[0].getAsFile||i[0].webkitGetAsEntry)?this.addFilesFromItems(i):this.handleFiles(t))},paste:function(e){if(e&&e.clipboardData&&e.clipboardData.items){this.$emit(r.Paste,e);var t=Array.from(e.clipboardData.items);t.length&&this.addFilesFromItems(t)}},handleFiles:function(e){return e.map(this.addFile)},addFilesFromItems:function(e){for(var t,i=0,s=e;i<s.length;i++){var r=s[i];if(r.getAsFile&&"file"==r.kind){var a=r.getAsFile();a&&this.addFile(a)}else if(r.webkitGetAsEntry){if(null==(t=r.webkitGetAsEntry()))continue;if(u(t)){t.file(this.addFile,console.error);continue}if(d(t)){this.addFilesFromDirectory(t,t.name);continue}}}},addFilesFromDirectory:function(e,t){var i=this;e.createReader().readEntries(function(e){for(var s=0,r=e;s<r.length;s++){var a=r[s];null!=a&&(d(a)?i.addFilesFromDirectory(a,t+"/"+a.name):u(a)&&a.file(function(e){i.ignoreHiddenFiles&&"."==e.name.charAt(0)||(e.fullPath=t+"/"+e.name,i.addFile(e))},console.error))}},console.error)}}}),g={install:function(e){e.component("VueTransmit",m)},name:"vue-transmit"};e.VueTransmitPlugin=g,e.VueTransmit=m,e.XHRUploadAdapter=f,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=vue-transmit.min.js.map
{
"name": "vue-transmit",
"version": "9.0.0-alpha.9",
"version": "9.0.0-alpha.10",
"description": "Vue.js drag & drop uploader based on Dropzone.js",

@@ -58,10 +58,10 @@ "module": "dist/vue-transmit.esm.js",

"devDependencies": {
"@types/jest": "^22.1.3",
"@types/jest": "^22.1.4",
"cross-env": "^5.1.3",
"jest": "^22.3.0",
"jest": "^22.4.2",
"lodash": "^4.17.5",
"postcss": "^6.0.18",
"postcss": "^6.0.19",
"rimraf": "^2.6.2",
"rollup": "^0.56.1",
"rollup-plugin-postcss": "^1.2.8",
"rollup": "^0.56.3",
"rollup-plugin-postcss": "^1.3.1",
"rollup-plugin-typescript": "^0.8.1",

@@ -72,5 +72,5 @@ "rollup-plugin-typescript2": "^0.11.1",

"standard-version": "^4.3.0",
"ts-jest": "^22.0.4",
"ts-jest": "^22.4.0",
"typescript": "^2.7.2",
"uglify-js": "^3.3.11",
"uglify-js": "^3.3.12",
"vue": "^2.5.13",

@@ -77,0 +77,0 @@ "vue-template-compiler": "^2.5.13"

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc