{"_id":"vue-transmit","_rev":"69-b953b7070ed17f69766754790a25d4c8","name":"vue-transmit","description":"Vue.js drag & drop uploader based on Dropzone.js","dist-tags":{"latest":"8.1.4","prerelease":"9.0.0-alpha.12"},"versions":{"1.0.0":{"name":"vue-transmit","version":"1.0.0","description":"Vue.js drag & drop uploader based on Dropzone.js","main":"dist/vue-dropzone.esm.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"dev":"cross-env NODE_ENV=development webpack-dev-server --open --hot","webpack-bundle-dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","webpack-bundle-prod":"cross-env NODE_ENV=production webpack --progress --hide-modules","bundle":"rollup -c ./rollup.config.js","test":"Hello World!"},"dependencies":{"lodash-es":"^4.17.4"},"devDependencies":{"autoprefixer":"^7.1.1","babel-core":"^6.25.0","babel-loader":"^7.0.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-stage-0":"^6.24.1","cross-env":"^5.0.1","css-loader":"^0.28.4","extract-text-webpack-plugin":"^2.1.2","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^2.0.0","postcss-loader":"^2.0.6","rollup":"^0.43.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-vue":"^2.4.0","rollup-watch":"^4.0.0","sass-loader":"^6.0.6","style-loader":"^0.18.2","uglify-es":"^3.0.15","uglify-js-harmony":"^2.7.7","url-loader":"^0.5.9","vue-loader":"^12.2.1","vue-template-compiler":"^2.3.4","webpack":"^2.6.1","webpack-dev-server":"^2.4.5"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"2d3d71d796f3c1978cb30b5fbbeda96144ec31cd","_id":"vue-transmit@1.0.0","_npmVersion":"5.0.1","_nodeVersion":"8.0.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-nwryo0cUgasa3HNv3LjefHv96q/0u7EzKTxTvZkXM1DaYR/EyIB3kNq89aCHkgZSJw7yA6DBtkyRT0X+yEfLvQ==","shasum":"70c0e821999e627c4b69af41a4b8a0f9e7f4e03d","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+jRpNzgMdGg1yzX5iKLZ4GJAkxaiuprHCZ5dfRfV6MgIhAI9erykSodmHeZQfSJ+xlWxb+YlsuofzgTU0EDNyx1zq"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-1.0.0.tgz_1497721234488_0.04124481976032257"}},"1.0.1":{"name":"vue-transmit","version":"1.0.1","description":"Vue.js drag & drop uploader based on Dropzone.js","main":"dist/vue-dropzone.esm.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"rollup -c ./rollup.config.js","dev":"rollup -c ./rollup.config.js -w","test":"php -S localhost:3000 -t ./test/"},"dependencies":{"lodash-es":"^4.17.4"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.25.0","babel-loader":"^7.0.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-stage-0":"^6.24.1","cross-env":"^5.0.1","css-loader":"^0.28.4","extract-text-webpack-plugin":"^2.1.2","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^2.0.0","postcss":"^6.0.6","postcss-loader":"^2.0.6","rollup":"^0.43.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-scss":"^0.3.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-vue":"^2.4.0","rollup-watch":"^4.0.0","sass-loader":"^6.0.6","style-loader":"^0.18.2","uglify-es":"^3.0.15","uglify-js-harmony":"^2.7.7","url-loader":"^0.5.9","vue-loader":"^12.2.1","vue-template-compiler":"^2.3.4","webpack":"^2.6.1","webpack-dev-server":"^2.4.5"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"0d7fbadd73169ab6c676f3467a34316665987025","_id":"vue-transmit@1.0.1","_npmVersion":"5.1.0","_nodeVersion":"8.1.3","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-8Xg+C8sNB6DmGyOLy/FberDgNeyoXS1mrFZMA92HBmuNOISfm/RS5FUJ1FN/2Gjqhcf6tmRlX9P//NMtp4vIxQ==","shasum":"0555ce2ac299ca3ded7117e2dd91bfb46b1f7453","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvjac8avVwCKxonc8eNw6q54Jcz82EVHEIxeB7nVAxDwIhANiSfuVV4bwrsBVkGH6RJh9ARimJURIv5vMf+OaC6lfk"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-1.0.1.tgz_1499753175543_0.10765512124635279"}},"1.0.2":{"name":"vue-transmit","version":"1.0.2","description":"Vue.js drag & drop uploader based on Dropzone.js","main":"dist/vue-dropzone.esm.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"rollup -c ./rollup.config.js","dev":"rollup -c ./rollup.config.js -w","test":"php -S localhost:3000 -t ./test/"},"dependencies":{"lodash-es":"^4.17.4"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.25.0","babel-loader":"^7.0.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-stage-0":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.4","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.0.0","postcss":"^6.0.9","postcss-loader":"^2.0.6","rollup":"^0.47.4","rollup-plugin-buble":"^0.15.0","rollup-plugin-commonjs":"^8.1.0","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-scss":"^0.3.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-vue":"^2.4.1","rollup-watch":"^4.3.1","sass-loader":"^6.0.6","style-loader":"^0.18.2","uglify-es":"^3.0.27","uglify-js-harmony":"^2.7.7","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"c784d4983bc91a1f90fee481ca85cd7af058f3f1","_id":"vue-transmit@1.0.2","_npmVersion":"5.3.0","_nodeVersion":"8.1.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-TF8cERxu406y5pYWlrBsZLI07O7mG5criX/TWvWMa/j+NM+4PuqOsv8x13GUZ+w6H/qct+bQiFhFTkjmvA5CBA==","shasum":"aafd2e902a1323dc1fcf28921d4cbe1c84512773","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-1.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGSYLdFvw8JLnfwj/rl0mxSM3wUhHH+ibKOlwtuVq58wIhAOa00zT8JQH7noUgzVvi/izi1aLffx6qG7xyr9lKNXkR"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-1.0.2.tgz_1502673256274_0.7738440986722708"}},"1.0.3":{"name":"vue-transmit","version":"1.0.3","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","main":"dist/vue-transmit.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"bc50eade66a762b927058756fe2b8709239ffc31","_id":"vue-transmit@1.0.3","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-bJJClVXi4v4B50g8Ew1d5GAOyM10mYIZmeXh+vgA23ynCPDlr/2xY1cyS8mOeRcOxHeHT6MdR5d5WcN5FnEQRg==","shasum":"b5811ca813175dab0e4dcd93cc47a5e2b8a7744b","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-1.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDG66DxRU8pj3UQkiqCyGWny+dMcT4LEwwn9eTinDSqgQIhAMDshKabcnaz8fX7WLpk/ji8IB4Vjm1PecE47/VJld2f"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-1.0.3.tgz_1503205900570_0.34700814611278474"}},"1.0.5":{"name":"vue-transmit","version":"1.0.5","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"a1540bddb9e2f9e3b8f78b7002be9d71c91d4a74","_id":"vue-transmit@1.0.5","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-16exVU6VMiYGFi+nvzIjg0M13pB5UPuwQ+hKOSxhN/KFFAoKKokIRLQ0pAX+rDQukoX5dl1XFoY97mfnXCplYQ==","shasum":"750be673d3ac3d5dec9e709df183beec120b4ca7","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-1.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+vliA8qXY+1giO0PDgcElL8ssR/57ZTnuA6gQEbOyhAIgMcm+Zd6ysUYFrJTQnV1nyZyzfPf8un4/7phUg17fRoY="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-1.0.5.tgz_1503272768650_0.5393922133371234"}},"1.0.7":{"name":"vue-transmit","version":"1.0.7","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","jsnext:main":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"01699474776d3082bf1032a56cf86d5b8073f9d1","_id":"vue-transmit@1.0.7","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-5oIwiQnzahUbd0vWr/3p1wWqLzQ8k2LGE/HFnqXhr/Q7e+rGGf0sRkhj8BY6IyXePH/cQ3IfWeG8PWICc+vFeA==","shasum":"01269079959d35ea3ac406d849a66e90618b6d7c","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-1.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeJ8h5T6NB5cmJ3Ho2sgkawQeAJ06FjhPjitLY84NZQgIhAIK9hR8x4aXI72apMzt3Lr1Z5iVPcqoRhrXcs/gpSNNL"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-1.0.7.tgz_1503849587103_0.1770076926331967"}},"1.0.8":{"name":"vue-transmit","version":"1.0.8","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","jsnext:main":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"dcc3e578d3926a9c70dc236ac95fb46ff20e5567","_id":"vue-transmit@1.0.8","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-uHiAc6CoZ/EM6ut5XnTpbxWSL7ibTcUEBQ7Ie0FBy+rbc5NnuvkGx2spVzIXLjKxQJHReaQk1+/o7a12rlgG2Q==","shasum":"07b948a84d35a6e8b5a2309d7fe6050b95fa75fb","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-1.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDu/vG8yM+p86XepjVttBw+Ptj4EYWR4DSHjfMUP0qhNwIgMgX6JxoN8OE9U0J3ivmOTuh8mgLSAW5b08/2KjMcmyM="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-1.0.8.tgz_1504021004077_0.24995605670847"}},"1.0.9":{"name":"vue-transmit","version":"1.0.9","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","jsnext:main":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"115ed7290c395b704dc8cbdc63247ddd98acf7e1","_id":"vue-transmit@1.0.9","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-yiM/56fAHpkIQGMG+R3jDvIcRDmdM2KSXl/nsytWm5Y6wkhIV8Kwo5pD28fDuNWBBPH06Lw6UNDRNGrIfPtJ+A==","shasum":"8944720a2fa65cf75024554f642e025547f3f529","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-1.0.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmNSdy/mfrJ5SK/f20k0PKOLHG5SOFhKSt/ea0FWLN3AIgefvPDLBHz1EBADIx+S60VHWKIotRwC4hQo31x4f3818="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-1.0.9.tgz_1505510965548_0.19508535088971257"}},"1.0.10":{"name":"vue-transmit","version":"1.0.10","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","jsnext:main":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"f7e6b5c7439d3595bd05795208d9beaa026aa1ba","_id":"vue-transmit@1.0.10","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-8y5HO9orcKpFUpLd+8DniyivdxI1xD7N0bRTiExdZhf3r5bB/Qy2fkwRgGrscUb9KZOe+zBrFkl/9nyyLRAfxw==","shasum":"8f3b17cbb8cc8f6cda5b1c79c9356517aecefc9f","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-1.0.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuBbjR1tvFAdlD0tJVO3K236P4OaP+6J1rwY5vsSGW1wIgPViBviWMpAhSlmooHE9uzOOtVYfak+vRAkdrlUlMytU="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-1.0.10.tgz_1505513810784_0.7964193227235228"}},"1.0.11":{"name":"vue-transmit","version":"1.0.11","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","jsnext:main":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"eee32337c4314529e105d489258390daf3a54a35","_id":"vue-transmit@1.0.11","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-lacAbO48UoiZwSB7VzfqBdmwxL6+cyH8evSlahKNJVFUQ0yQ7EmPVL9a9IkCL5IAjsqHBM3eAn8Ps0RyIo7haw==","shasum":"daca9f631e971dc2b67d4a51b6302a4355c7e605","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-1.0.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDd8FDzz+nUkLMK0nak2KuYTxyXGUhliyUORLVE+3csbAIhAISafwYvZxH3D2z72BUHkbqJvvCRw25lkGTlM35yuuv8"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-1.0.11.tgz_1505515313727_0.367692620260641"}},"1.0.12":{"name":"vue-transmit","version":"1.0.12","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","jsnext:main":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"169d6e6ab4f85c9f54ba46970204773cdd97117e","_id":"vue-transmit@1.0.12","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-CaRo5YFyuagdFp1XTxsbf0fFBkddGU1rufViblXbjqHdNZKnOoI2qd9BLkfkmdfBiyhrmBFeZjrwOdumIAjIig==","shasum":"8eaa0e44dd501d566f5e1b94fff5585df091514d","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-1.0.12.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDZjniW8uPrceuCLAGW24uWUBWAf5aQxlXgMGKwF0AaTAiAml7Q0EwY30KnlhLmH2flQDbIkTdUszJ43v/8xodqWDQ=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-1.0.12.tgz_1505519359294_0.6513715994078666"}},"5.0.0":{"name":"vue-transmit","version":"5.0.0","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","jsnext:main":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","release":"standard-version"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"f4096c7d9d6d2eab67e1efb9bfb2ea1c63bff2a9","_id":"vue-transmit@5.0.0","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-gphmr4wM+0NTMsbQw0hqMLklXOkOuDBfaXGPUnar1Zv8Z/p4fWfbLSrGbgJzNkfaAnWKZZHgD3x8EutNCuSlPg==","shasum":"90e0bfdd7773a8383bc6b5188797fc028757bdda","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDy9K21xuuAjtNOSWXd8tzEOrhl1Ma5y3CfeHuuJ5dAJQIhAJEZP6+Haar/N9Nfy8JuI8uBXaloNaYqwskbIk52QFMk"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.0.0.tgz_1505569490333_0.20974748115986586"}},"5.0.1":{"name":"vue-transmit","version":"5.0.1","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","jsnext:main":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","release":"standard-version"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"df11b2755fcf8e89dbf047255b40a06b2a6abc10","_id":"vue-transmit@5.0.1","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-HhPt2bTsdFqnrs6pbnMSdeh42YuHEbIn9tNH8q4NEWFkepj37RJQpJkwptiQwOzc4zh78rB6TYNzRkD5OSJwhg==","shasum":"0cd2009ed97d59850345a851a730484f81fadfcb","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICn7fuq/8qifdyHIWt4iP2rt5XmV877ZQZtzSY8drGFpAiEApzw+ErSjV9ieGB4gMvWI9XRvW4l9J7awpkpGCOnMXho="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.0.1.tgz_1505570321864_0.5515634114854038"}},"5.1.0":{"name":"vue-transmit","version":"5.1.0","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","jsnext:main":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","release":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"104833a0c82fe1385a041e92db9a29d4fa8ca387","_id":"vue-transmit@5.1.0","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-WH3abWc6zwttLkeWQVFBzMCgeW9s/6SrFMNObd9wuxOZ2w6DMeWUX41B/CEPZsPvo/mPqsf+wOEINuDKlkVPHw==","shasum":"bdb1373efbeef507f85080b36b531dcb61c1cbdd","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1E4+AQcgxNLSrVKv9T/unixd+sMejLWz55lzfnxNCcAIgPUjHWLz/XwJvD1Wrz188OftnUJksrV1+gEk+Q6Ap0T8="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.1.0.tgz_1505602744337_0.5337876693811268"}},"5.1.1":{"name":"vue-transmit","version":"5.1.1","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","jsnext:main":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","prepublishOnly":"npm run build","release":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"d672f61fe2aec84e732497f9ebb9198991db3476","_id":"vue-transmit@5.1.1","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-oguSOlYZy3qVbJvlYaT0vrHEet2YE42js783fzGC1BY3NxawKl5N8pfpiMI9lQhRy2Srw6ugfxufpxUFDoUr+g==","shasum":"c60886c69e478adf8bd796b7a33d280289293ea0","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAmxCxql/v+QtqBT6M0Zav0Nc6znB+mRPVTZ7x1HAKtYAiBv7tzoBZTgZW1gVwV2WOKmcrUUcciv7T6BMrhvV2oT6A=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.1.1.tgz_1505602948219_0.17295486642979085"}},"5.1.2":{"name":"vue-transmit","version":"5.1.2","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"index.js","jsnext:main":"index.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"build":"cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","release":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"b202be795c520811a10a0011362c579cedf539fa","_id":"vue-transmit@5.1.2","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-+9FTz2r6ycsX2q7c00e/UUG4fuI6h47+osU7UibnqpvoRmdkaCboqOKzlZR+0sReRJl0PQ7gE4kvCyc1++SsCw==","shasum":"3e1fb43038ae1162c4407e466c7a6ab2a6808204","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbftYcHAKCEYP6s0f1or2AHRfr7R0gj70xX/jTDF0LGQIhAM/aUk9/yMdUtPXyGuMvT+5YuQcoOlokdx8HXoK8gXQs"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.1.2.tgz_1505757197464_0.8359159603714943"}},"5.1.3":{"name":"vue-transmit","version":"5.1.3","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","release":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"c9e67d5e39dfe029725e23a418e9ac301d3e142c","_id":"vue-transmit@5.1.3","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-ZO0zaAUB7SvMCTZgkpE/2H9LT1LOaSx1DSaTl6UjmXafcGP/gcnmgOA+i0U5TQB8b6iUoLQQmn4RwRsivkUuPA==","shasum":"86b81763759052400a12ebeb6cd48eed3ef8e328","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDN3pXy6mg5M99bfl0xdbVGnG3mApdGoy9B/mvdTcpNUgIhAPxMJH08EiIlt5UIC9NZC9sgj+ghC9WM2HvoinGBvPyF"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.1.3.tgz_1505757990777_0.24472323758527637"}},"5.1.4":{"name":"vue-transmit","version":"5.1.4","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","release":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"8fba72c2c67db64f458fc82b037b896474c65b14","_id":"vue-transmit@5.1.4","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-91jF8YBu8DssHZfCWsz5DorJ/pdqbrkZ6LlyhHYAlMA40rL7f4axfBL/amZ/sUSwGlnZ5hyvnWojd87mVbM3HA==","shasum":"37fdf64a0dd53dfe624ce8b193e2091ccfca601a","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHhQrG9b3iwIAMKV0zcn1FxcmoJ20hMZ7i1KPl2T1B3TAiAdrdcgEv6x3z4trEfZC8qUXm2Eq4O7YFT6aVYe4TGCJw=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.1.4.tgz_1505758206264_0.007597545627504587"}},"5.1.5":{"name":"vue-transmit","version":"5.1.5","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","release":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-4","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"768ff80052ec2dea351ce5e2e56f90d65ac3745c","_id":"vue-transmit@5.1.5","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-427l1H9FUWqrafzzt351cyb8kI3R8KWB8xHrDNMvBQKZdk8eCVyktDG0U1GsnQKauDl1RHU2RXc9GtzTqgDAmw==","shasum":"3cbc1c3ef04f47f723cb0748591ffa34fd947623","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.1.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICRFKmqJMOFep5y6WB/v0eGckaE6jburZ3nAcy7lVRHjAiBdFw/hA5FBubpfOM+mceUswN/dIazJiaPr18i43QEnow=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.1.5.tgz_1505759332924_0.23792947293259203"}},"5.2.0":{"name":"vue-transmit","version":"5.2.0","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","release":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-5","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"bb7c91b0d7523d53620e465eefeec0ebc03865d3","_id":"vue-transmit@5.2.0","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-UX4rshzicRoDaHKCQyFbDSqyOTlL6YM6T9G8tr85zpUHJ/LYc9opB9nXSKpbBmJhDzVZoYPk2pk/o3vSPFYcgw==","shasum":"ee8eaaac59a5d2963b94fefbc36b7f635a1e6d57","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG/CpGCKp00r7zQHKGjDIKVc1x1Gc6t2cW+VLpGcfvI7AiEAuPR/wgyB7sfa6ZF+K0MB0u0EK1F7z7y9RvtbNJBQPZE="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.2.0.tgz_1506363684806_0.13181632128544152"}},"5.3.0":{"name":"vue-transmit","version":"5.3.0","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","release":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-5","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"b422e462e7d440c300771466a72101f67d8c8798","_id":"vue-transmit@5.3.0","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-o3xEV+kVZqxLEqanu6/WLXmwhHoutfx/bLQUXiLfmG9PXKbEUjHNKa9RQ2QiaHdvjYPcDb55YiGOcoyz+2kjxQ==","shasum":"8883fc53ad8af0c6eff9f377a519480beee09bf0","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAcSWoHd7c4WnLf4jWNBzkBvkzHGEwssjP2esyUY+z1FAiEAmwMswl0wcsqERYcUira1rLHITfuuXGeZEbQ2KuSuau8="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.3.0.tgz_1506655534897_0.5937242186628282"}},"5.3.1":{"name":"vue-transmit","version":"5.3.1","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","release":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.2","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.2","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.0.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.5","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.1.1","postcss":"^6.0.9","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.4","vue-template-compiler":"^2.4.2","webpack":"^3.5.5","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-5","webpack-dev-server":"^2.7.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"cf31c1bfdba7badab323c5932ee6bb7bf5828574","_id":"vue-transmit@5.3.1","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-WMkplIpTb+kbnpj6VqtWG7Kfg/AaWsUugrTohjHj3nZIWKeGD+XltuZICIci+tARjrz1+lj1BaSpUaH6lBhOsg==","shasum":"3b80e04fc2f9614d1b55c590042b61dec4e13281","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.3.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGHnPvGbFPqTIsIS9BCYW2rKx1hjGi/7SbPfD38hqLJMAiEAyOMzC9bSNlaTkI3LichqqlferAdJ3eJLDJvkDGjVWvM="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.3.1.tgz_1506665016684_0.6684225047938526"}},"5.3.2":{"name":"vue-transmit","version":"5.3.2","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.min.js | wc -c","release":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.2","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.7","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.12","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","url-loader":"^0.5.9","vue-loader":"^13.0.5","vue-template-compiler":"^2.4.4","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-7","webpack-dev-server":"^2.9.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"da97d4c184bf0ccb3de7f4c0753f892d20069f90","_id":"vue-transmit@5.3.2","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-GOxoE6Tn286pWb5HSTh4twfC/e2mrmyE1NkLh8KEPV9ooBWeUYfOq6RSWx6DotZc63WqbmxGZkxi6FnJUZIQ1Q==","shasum":"24b0a7b3d8e13eed44beb32b91ed8146b39bdae4","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.3.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGDKPop0YT6vIdp4+I47PbmAZE5YXAYe7IWOP8pDzdzZAiB0HUz99A9cwaN7QNj0FqNT3FO7NobPmIkkLArPWrEFrg=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.3.2.tgz_1506667216505_0.9021290335804224"}},"5.4.0":{"name":"vue-transmit","version":"5.4.0","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.2","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.7","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.12","postcss-loader":"^2.0.6","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","ts-loader":"^2.3.7","typescript":"^2.5.3","url-loader":"^0.5.9","vue-loader":"^13.0.5","vue-template-compiler":"^2.4.4","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-7","webpack-dev-server":"^2.9.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"db3089ee32bf296127057ae83b6553bf6148a55f","_id":"vue-transmit@5.4.0","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-uI7DUNsQFGPkDNaot/9VEI63uGHGjJZS+xyKFTvAjN+PdTq9GOtzusXDXsdVXEUZ4uzL6UanbEFwLuq8izve5A==","shasum":"2cde100588ed77cfc27db67e98b080655e6518a0","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-5.4.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClVJW2bSVtlSmDuT765061uqwbdCD+myAYWXKXDLVlowIhAOD7PVxHH70M3Z+Oe/foUkUVpL8UU/mX5Dnl2/6Jb1Qc"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-5.4.0.tgz_1506872913512_0.5351021594833583"}},"6.0.0":{"name":"vue-transmit","version":"6.0.0","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.4","av-ts":"^0.9.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.2","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.7","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.12","postcss-loader":"^2.0.6","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","ts-loader":"^2.3.7","typescript":"^2.5.3","url-loader":"^0.5.9","vue":"^2.4.4","vue-class-component":"^5.0.2","vue-loader":"^13.0.5","vue-property-decorator":"^5.3.0","vue-template-compiler":"^2.4.4","vue-ts-loader":"0.0.3","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-7","webpack-dev-server":"^2.9.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"d80fd22f4ca3c481db7243f10dd887e4881b1cc8","_id":"vue-transmit@6.0.0","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-PJLj0BDTt7URroIPecuh5/wlfV7NHV7BRF7bX91lBLCbvwDcaDerJfZ12GiOzRt7rcLPj9QNwQ9kLJJljvE38A==","shasum":"841538bb66f7caa073c4fba87246f1db8c2dc91b","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-6.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuNCfkKySbPCX0NlxG4NRVCfWBSDjrlJLXGxBb0K1ibwIhAPTWysUeM+U96RVUduXBxjgD8R7WRn3nHih6u/bQ3jAu"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-6.0.0.tgz_1506916706087_0.2898184033110738"}},"6.0.1":{"name":"vue-transmit","version":"6.0.1","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.4","av-ts":"^0.9.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^3.0.2","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.7","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.12","postcss-loader":"^2.0.6","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.18.2","ts-loader":"^2.3.7","typescript":"^2.5.3","url-loader":"^0.5.9","vue":"^2.4.4","vue-class-component":"^5.0.2","vue-loader":"^13.0.5","vue-property-decorator":"^5.3.0","vue-template-compiler":"^2.4.4","vue-ts-loader":"0.0.3","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-7","webpack-dev-server":"^2.9.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"c4dd1c036a705ce16984410d5afad7fc8e0c65e0","_id":"vue-transmit@6.0.1","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-ouZ0KcDXCa/gelPr3JOL3vwCUodE4OoM322tNg0J33+2c49AAlI9aNTccHwkuxp/TajH8sFoncRNoK/e2ImYkQ==","shasum":"5ab860deaaa2f5a1a0382c9e78e6e2ccf59e727b","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-6.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDT96xaq53t37i1X1ec/f/jlk2VJFt3mcBUajmlU+5VDwIhAPfwgOdsVmQagq8TfJfUi/XxEaDrFyDT8VC5vh6T3sFX"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-6.0.1.tgz_1506971200792_0.22541719814762473"}},"6.0.2":{"name":"vue-transmit","version":"6.0.2","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.4","av-ts":"^0.9.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.7","extract-text-webpack-plugin":"^3.0.1","file-loader":"^1.1.4","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.12","postcss-loader":"^2.0.6","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^2.3.7","typescript":"^2.5.3","url-loader":"^0.5.9","vue":"^2.4.4","vue-class-component":"^5.0.2","vue-loader":"^13.0.5","vue-property-decorator":"^5.3.0","vue-template-compiler":"^2.4.4","vue-ts-loader":"0.0.3","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-7","webpack-dev-server":"^2.9.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"fded28a97154d7db1e4c27941b10661ce90c29e9","_id":"vue-transmit@6.0.2","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-YcATscWv9NV6LEELWkYzzsmubvHXCuwTVbKD4SfoZskUazW9CtAnVGoaC3TDftLeN5uKgGfSz0+j7JL/achcbw==","shasum":"e71453002ca04fdde1368c6c6e4012124357d3ed","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-6.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA5MRiOz+DQpB4Corhsi8JZA3nc15QWQaZAUhqhKuG14AiEAnsMkytcWa/LELBmGHPw2AUVUCbkMQIn6HSWl8uKw5l8="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-6.0.2.tgz_1507099443033_0.7120347716845572"}},"6.0.3":{"name":"vue-transmit","version":"6.0.3","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.4","av-ts":"^0.9.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.7","extract-text-webpack-plugin":"^3.0.1","file-loader":"^1.1.4","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.12","postcss-loader":"^2.0.6","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^2.3.7","typescript":"^2.5.3","url-loader":"^0.5.9","vue":"^2.4.4","vue-class-component":"^5.0.2","vue-loader":"^13.0.5","vue-property-decorator":"^5.3.0","vue-template-compiler":"^2.4.4","vue-ts-loader":"0.0.3","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-7","webpack-dev-server":"^2.9.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"5b6a122088bf40376948065645aaf8c114355320","_id":"vue-transmit@6.0.3","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-LGiR0xYLzqMqQ04Bxgy7wmBniPvsnnVQqIqQLNz6UeK6N1gyB5pvbKIa0nH1VW2JomdfMNneSvWMcBxXSIeWTA==","shasum":"549421a16df550223e2d5abf574536a36d1bc898","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-6.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLNKAJSLTqz/dixDU7r2z33L90GyPWAgTeuu8+41OsQAIgQeyoK6piK5A9Pofb+4F0kz1Zzjm0LNEdf+BBEBFpuj8="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-6.0.3.tgz_1507153273304_0.14734285627491772"}},"6.0.4":{"name":"vue-transmit","version":"6.0.4","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.4","av-ts":"^0.9.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.7","extract-text-webpack-plugin":"^3.0.1","file-loader":"^1.1.4","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.12","postcss-loader":"^2.0.6","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^2.3.7","typescript":"^2.5.3","url-loader":"^0.5.9","vue":"^2.4.4","vue-class-component":"^5.0.2","vue-loader":"^13.0.5","vue-property-decorator":"^5.3.0","vue-template-compiler":"^2.4.4","vue-ts-loader":"0.0.3","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-7","webpack-dev-server":"^2.9.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"65ced3670ce1c1431dfaac9d68b68587edcf8ace","_id":"vue-transmit@6.0.4","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-axEEZogpcKm5OX2erleGm7g8HLmDDcMxTTcoqIxqKnlqn7KZqVVd2xSFRFEge03+KiRJzfA+fd/1wKyuSR9M4Q==","shasum":"8882d4a36d96f79236c2536eb49d7b8e1f2a28df","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-6.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHUVk/844EAZGWUKCaFyCMvV477nkoGoxkIWdXkGQCagIgcW7czjIE3r2eCjqhNEh0drvQfk+ulgp+BM+Yb0ntsq4="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-6.0.4.tgz_1507153390119_0.3754370550159365"}},"6.0.5":{"name":"vue-transmit","version":"6.0.5","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.4.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.5","av-ts":"^0.9.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.7","extract-text-webpack-plugin":"^3.0.1","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.13","postcss-loader":"^2.0.6","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^2.3.7","typescript":"^2.5.3","url-loader":"^0.6.2","vue-class-component":"^5.0.2","vue-loader":"^13.0.5","vue-property-decorator":"^5.3.0","vue-template-compiler":"^2.4.4","vue-ts-loader":"0.0.3","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-7","webpack-dev-server":"^2.9.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"cc4a4c38dcc5ffbadf836cfbb8a29d263cf657fd","_id":"vue-transmit@6.0.5","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-0wKwDwLGVTMNvwiC4cgG63TnCVnHhn3lfKt8ADfoU0vbWdfX48U+aES4bLaLMjJLZO1gb08VG93taCLCAVMiTA==","shasum":"433d462e1ff4848ef206728f5bd083051871fa8b","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-6.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFTkDT8eKEqg4tpIKWOFcs+jt3EBKtj8qKK1nPu++vL3AiEAmrn2FlTLo0VuyX/l3p0kIwGun1DI9XdpSV0lCNNLIsg="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-6.0.5.tgz_1507477744203_0.05108700040727854"}},"6.0.6":{"name":"vue-transmit","version":"6.0.6","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.4.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.5","av-ts":"^0.9.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.7","extract-text-webpack-plugin":"^3.0.1","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.13","postcss-loader":"^2.0.6","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^2.3.7","typescript":"^2.5.3","url-loader":"^0.6.2","vue-class-component":"^5.0.2","vue-loader":"^13.0.5","vue-property-decorator":"^5.3.0","vue-template-compiler":"^2.4.4","vue-ts-loader":"0.0.3","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-7","webpack-dev-server":"^2.9.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"cd00eafa75eec7156f08ac9a44845002e3ef21ca","_id":"vue-transmit@6.0.6","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-dVyEBAdCyiz+r7vCyfyvAhCoi3zJPiWCWQJUWh68sNS5FQb+5oQc20awanKulzDAQRIjriRtwu4vvACT4PZ66w==","shasum":"16588e210abeaf8d38f325214c2cd730cdb291ec","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-6.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDitb3QElOqnAwf5ijFPJqadsYKJBvctAhI/d2nOI7H4gIgN71HtyZ7ETKW0DxGchCC29bBoclISbW6BSubSHgKM2I="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-6.0.6.tgz_1507477813210_0.7739234410692006"}},"6.0.7":{"name":"vue-transmit","version":"6.0.7","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.4.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.5","av-ts":"^0.9.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.7","extract-text-webpack-plugin":"^3.0.1","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.13","postcss-loader":"^2.0.6","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^2.3.7","typescript":"^2.5.3","url-loader":"^0.6.2","vue-class-component":"^5.0.2","vue-loader":"^13.0.5","vue-property-decorator":"^5.3.0","vue-template-compiler":"^2.4.4","vue-ts-loader":"0.0.3","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-7","webpack-dev-server":"^2.9.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"8a100f762d521b478fcc79d80c5d101a025eee20","_id":"vue-transmit@6.0.7","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-DZ37JJ71qBa8UOUOCzrNZkz8ZZALlCG0TVyDAFrZfCE3j2fpNWbn9U7PmZgpkwm0UBD5j338EmTHy+OHMmYr1w==","shasum":"c00d096b3ec2f49271dfa0b04795c022199ebe6b","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-6.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbbfZo41mSS01dqh+uTAty820FgfNbMdSfPErl35b6LAIgWjhU00PxwH0nwd5J6a2j5mtjn2jKommyEBv84+hsT4A="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-6.0.7.tgz_1507584797607_0.7414386314339936"}},"6.0.8":{"name":"vue-transmit","version":"6.0.8","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.4.4","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.5","av-ts":"^0.9.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.0.5","css-loader":"^0.28.7","extract-text-webpack-plugin":"^3.0.1","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.13","postcss-loader":"^2.0.6","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^2.3.7","typescript":"^2.5.3","url-loader":"^0.6.2","vue-class-component":"^5.0.2","vue-loader":"^13.0.5","vue-property-decorator":"^5.3.0","vue-template-compiler":"^2.4.4","vue-ts-loader":"0.0.3","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0-7","webpack-dev-server":"^2.9.1"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"fb7ce8980c96daa4465bc66719f0def826e80076","_id":"vue-transmit@6.0.8","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-vmGDYKgOSqaJaUaBU/FteW/wQnlKmi/7hQPiXOLoHNVFhYKirJ+bp5XjJhrLmuAhhL6Oq64Jby45/s5T6e3EaQ==","shasum":"98c36a94f4d24ca8b35f21141fb177dcfe9b1596","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-6.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE+zUwA9z+SNIuNwSEmBEtJ+ekic1qNDCMN8FReo2IooAiEAjaIvD3U6GXevshe2OMr+ND5/p8o4q1LaEDOoeVW/+m8="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-6.0.8.tgz_1508274773806_0.1331477602943778"}},"7.0.0":{"name":"vue-transmit","version":"7.0.0","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.2","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.5","av-ts":"^0.9.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.0","css-loader":"^0.28.7","eslint":"^4.9.0","extract-text-webpack-plugin":"^3.0.1","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.13","postcss-loader":"^2.0.8","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^3.0.3","typescript":"^2.5.3","url-loader":"^0.6.2","vue-class-component":"^6.0.0","vue-loader":"^13.3.0","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.2","vue-ts-loader":"0.0.3","webpack":"^3.8.1","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0","webpack-dev-server":"^2.9.2"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"e2e9605bc26ddc50da1f4e23d005ef965f06b3bb","_id":"vue-transmit@7.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-jE4HsfXHvVOEhRj0ITawqlefjpNpVr0+xXPHYiHRcBDB15b/zcjiIj7NV7bXLnCNhaZnQnKeXT2ck72uH7fcbg==","shasum":"4de7df8efd09114a7c1c13783e65784f2afe72a6","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgVg2yjcBqFFoU0H7yAAaBgQkxeV0bxC/viiiBVLXQyAiEA9nXT7SCPUG9/s+QB0JY5pS4I2pf7PnC6DtG0/7cOep4="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.0.0.tgz_1508351945073_0.9220173011999577"}},"7.0.1":{"name":"vue-transmit","version":"7.0.1","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.2","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.5","av-ts":"^0.9.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.0","css-loader":"^0.28.7","eslint":"^4.9.0","extract-text-webpack-plugin":"^3.0.1","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.13","postcss-loader":"^2.0.8","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^3.0.3","typescript":"^2.5.3","url-loader":"^0.6.2","vue-class-component":"^6.0.0","vue-loader":"^13.3.0","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.2","vue-ts-loader":"0.0.3","webpack":"^3.8.1","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0","webpack-dev-server":"^2.9.2"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"bbd3fded9684957d1ad15a6cefcafe7b9bfd7b9c","_id":"vue-transmit@7.0.1","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-kuF5h+Vf5WSg8db14U88vwQqb4n8Lpcw9dzgJ3F8J03IdThTVaFp4gBeICKyTNCWz5CPhg2Nfy1EnDvY53R/IA==","shasum":"1d4e7332b82ca3c5542387a1ec1c07c2630e2cc6","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDH0rDW3ScosU72J1WgwLcKPPhzvRiD08z0I9xdnGkklQIgdp1R5liXUVuXg/WRLUBemM4K0IkAWtcTkAw1qtQ//h0="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.0.1.tgz_1509929601694_0.9737092154100537"}},"7.0.2":{"name":"vue-transmit","version":"7.0.2","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.2","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.5","av-ts":"^0.9.1","awesome-typescript-loader":"^3.3.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.0","css-loader":"^0.28.7","eslint":"^4.9.0","extract-text-webpack-plugin":"^3.0.1","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.13","postcss-loader":"^2.0.8","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^3.0.3","typescript":"^2.5.3","url-loader":"^0.6.2","vue-class-component":"^6.0.0","vue-loader":"^13.3.0","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.2","vue-ts-loader":"0.0.3","webpack":"^3.8.1","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0","webpack-dev-server":"^2.9.2"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"e5d50473994d0cb917b1cfd9307d7e00ba86304e","_id":"vue-transmit@7.0.2","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-oL9U8oa51J7oWE+RpcWL012QbpFhJkJhYk/sNGmHl5d0NIQFo+eJDpfH7J6+zFy5NKHPahyUnFuDsG+0fOblRg==","shasum":"980f520c4f586d045b5d0d8dbf08fd5ac51773fc","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqd43zbqEzerqCmcY1i7eT6Q4SUCyYw90A3AgBaUxJrAiEAoE3T1MjvcLDAeMqdFGsN7wEq/icu1bPnDLu19nFZA/s="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.0.2.tgz_1510094410584_0.07782280631363392"}},"7.0.3":{"name":"vue-transmit","version":"7.0.3","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3000 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.2","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.2.3","ajv-keywords":"^2.1.0","autoprefixer":"^7.1.5","av-ts":"^0.9.1","awesome-typescript-loader":"^3.3.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.0","css-loader":"^0.28.7","eslint":"^4.9.0","extract-text-webpack-plugin":"^3.0.1","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.5.3","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.13","postcss-loader":"^2.0.8","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^3.0.3","typescript":"^2.5.3","url-loader":"^0.6.2","vue-class-component":"^6.0.0","vue-loader":"^13.3.0","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.2","vue-ts-loader":"0.0.3","webpack":"^3.8.1","webpack-bundle-analyzer":"^2.9.0","webpack-dashboard":"^1.0.0","webpack-dev-server":"^2.9.2"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"093b9f515162803fb6dc7775c31d62b33e17fc1f","_id":"vue-transmit@7.0.3","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-H3OmYL65uUAv4h8AZhoUgxIriDU5BgvhjV7Uepa+lwBw/Gd07oT76EWoi/kF9E0IlfYDrQNcWpiM0F0MOD8lOg==","shasum":"2d4ab404b9a725c27510a35a98877f31a581e7a7","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBSuLjZtNlodMuq0jeX1HPRXPmkQlbVqejZweDcN+8DvAiBAjZlPDg0oK5yrfBMYe2RGjjKxN6sPyPG2n29TUQa90A=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.0.3.tgz_1510700047947_0.8524788119830191"}},"7.0.4":{"name":"vue-transmit","version":"7.0.4","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"npm run release:version && npm run release:publish","release:version":"standard-version","release:publish":"git push --follow-tags origin master; npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.5","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.3.0","ajv-keywords":"^2.1.1","autoprefixer":"^7.1.6","av-ts":"^0.9.1","awesome-typescript-loader":"^3.3.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.1","css-loader":"^0.28.7","eslint":"^4.11.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.6.1","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.14","postcss-loader":"^2.0.8","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^3.1.1","typescript":"^2.6.1","url-loader":"^0.6.2","vue-class-component":"^6.1.0","vue-loader":"^13.5.0","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.5","vue-ts-loader":"0.0.3","webpack":"^3.8.1","webpack-bundle-analyzer":"^2.9.1","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.9.4"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"fcec63350ec57259e40d938ceb356082eb28384a","_id":"vue-transmit@7.0.4","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-UR5jYFwVjUhh5tdeqgpmv2tTiA5wsl52VQZGha+MKw6r3Xm4v4W4132KtJ/A5ggaqUxPfMM1+BIRIkr0o8kfbQ==","shasum":"1aaee3297e3955a91f72f4aacec79bbf589f74bc","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE0HjJOg7PqQwWSlugH31B1njs2Mtj+nciUrgSnSRW8nAiEA35UCm4udu1ODyaSFk/zYHpQ9JEk77YjWpzg+cBsLKXE="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.0.4.tgz_1510952386975_0.13062544795684516"}},"7.0.5":{"name":"vue-transmit","version":"7.0.5","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","prerelease":"npm run build","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.5","vue-functional-data-merge":"^1.0.6"},"devDependencies":{"ajv":"^5.3.0","ajv-keywords":"^2.1.1","autoprefixer":"^7.1.6","av-ts":"^0.9.1","awesome-typescript-loader":"^3.3.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.1","css-loader":"^0.28.7","eslint":"^4.11.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.6.1","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.14","postcss-loader":"^2.0.8","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^3.1.1","typescript":"^2.6.1","url-loader":"^0.6.2","vue-class-component":"^6.1.0","vue-loader":"^13.5.0","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.5","vue-ts-loader":"0.0.3","webpack":"^3.8.1","webpack-bundle-analyzer":"^2.9.1","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.9.4"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"c05e98c7a92f59976260cfb1ae2212027080d318","_id":"vue-transmit@7.0.5","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-3z4NjHSB6H9yd+MDABtvbL05y0Mzr0oUFa+rcOLddkka5eIT4sLhGIAsQ+FalxWohhMSXWivRFgssmT20BaFWQ==","shasum":"77873b4a104f04319e5bfdb28e5af6452069b5e6","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQP+kPOcY4aRnq4ESg5C9HBaJoD9F+MJcDcijmtMtnXwIgfmI08/TjoZ8vd/jN5qaYT0DnKopf1+7q2VvEiPocctI="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.0.5.tgz_1511884481254_0.030940192518755794"}},"7.0.6":{"name":"vue-transmit","version":"7.0.6","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.9","vue-functional-data-merge":"^1.0.7"},"devDependencies":{"ajv":"^5.5.0","ajv-keywords":"^2.1.1","autoprefixer":"^7.1.6","av-ts":"^0.9.1","awesome-typescript-loader":"^3.4.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.1","css-loader":"^0.28.7","eslint":"^4.12.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.14","postcss-loader":"^2.0.9","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^3.1.1","typescript":"^2.6.2","url-loader":"^0.6.2","vue-class-component":"^6.1.0","vue-loader":"^13.5.0","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.9","vue-ts-loader":"0.0.3","webpack":"^3.8.1","webpack-bundle-analyzer":"^2.9.1","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.9.5"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"1bcd97798510e9f0ffc02801fc55d495c770261b","_id":"vue-transmit@7.0.6","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-Ot66x+VUMN7cDVtBTQayp1euxx+Sq8SCIoiCJDgg+5CFtq34f1ZFgldz9n/ajXYEUg2E6sZ/KreXGdjSYubXxQ==","shasum":"1372f156e2c5587c94f2571b3b07ce9d742c0f9c","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCF4gGiZVo4prWtQ8+5WXU91N4lpCo/o6m5NFE05M7ZdAIgTRrzxoG6VmqxYjLjNty0Jg3PNMInICYtXmu4yX5fchM="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.0.6.tgz_1511885009656_0.9534757304936647"}},"7.1.0":{"name":"vue-transmit","version":"7.1.0","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.9","vue-functional-data-merge":"^1.0.7"},"devDependencies":{"ajv":"^5.5.0","ajv-keywords":"^2.1.1","autoprefixer":"^7.1.6","av-ts":"^0.9.1","awesome-typescript-loader":"^3.4.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.1","css-loader":"^0.28.7","eslint":"^4.12.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.14","postcss-loader":"^2.0.9","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^3.1.1","typescript":"^2.6.2","url-loader":"^0.6.2","vue-class-component":"^6.1.0","vue-loader":"^13.5.0","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.9","vue-ts-loader":"0.0.3","webpack":"^3.8.1","webpack-bundle-analyzer":"^2.9.1","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.9.5"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"3785f4e0095d941e8dda7a4ab07271b14b64e2f6","_id":"vue-transmit@7.1.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-HuCFA7to7cvGH+RSLYJ8i3ChA236MLWDaW9JB/icHz+Uo2J8/HwAMsB3LNaBJYBanmHINuYz51daHHf3smEFtA==","shasum":"94d08604042dc3e84ab219d768e5c41479c8081d","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDAIhgvCkR2KuhsEtF9udMXCC/1d0vJGGROpG5070uS5AiA+hDhDupELonBhauGdoP2n7Bfa/jbLd3azFC90jdG/UA=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.1.0.tgz_1511902995819_0.10102402837947011"}},"7.1.1":{"name":"vue-transmit","version":"7.1.1","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.9"},"devDependencies":{"ajv":"^5.5.0","ajv-keywords":"^2.1.1","autoprefixer":"^7.1.6","av-ts":"^0.9.1","awesome-typescript-loader":"^3.4.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.1","css-loader":"^0.28.7","eslint":"^4.12.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.14","postcss-loader":"^2.0.9","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^3.1.1","typescript":"^2.6.2","url-loader":"^0.6.2","vue-class-component":"^6.1.0","vue-loader":"^13.5.0","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.9","vue-ts-loader":"0.0.3","webpack":"^3.8.1","webpack-bundle-analyzer":"^2.9.1","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.9.5"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"ac78ede1f63a14040517829d6565642906b5a35d","_id":"vue-transmit@7.1.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-rEQAwMsb0CYRYmXpJi9s33ioG/4v2YtPfGU1YrKKwuhQIAuSrVxA/Os9vCvyXAHOOIuMem6lp+ARruR5GVZdCg==","shasum":"946500ae2bd23767d0ce18cd0484ca0fbd7c88c0","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDy89eiH2fAmU7lX1pfF/IgmZrmsbM9rfjrvW5Yd4zGlwIgGmVgr60gk5C+2IERObaPRpjOKF66qaU2pYgZ9h/g9x4="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.1.1.tgz_1511905140750_0.25209662108682096"}},"7.1.2":{"name":"vue-transmit","version":"7.1.2","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.9"},"devDependencies":{"ajv":"^5.5.0","ajv-keywords":"^2.1.1","autoprefixer":"^7.1.6","av-ts":"^0.9.1","awesome-typescript-loader":"^3.4.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.1","css-loader":"^0.28.7","eslint":"^4.12.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.14","postcss-loader":"^2.0.9","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.0","ts-loader":"^3.1.1","typescript":"^2.6.2","url-loader":"^0.6.2","vue-class-component":"^6.1.0","vue-loader":"^13.5.0","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.9","vue-ts-loader":"0.0.3","webpack":"^3.8.1","webpack-bundle-analyzer":"^2.9.1","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.9.5"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"46cd030f20396540c427af56b2be2ce7f12473fe","_id":"vue-transmit@7.1.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-NTaBU7/LAQFpqaBjFpQGCSCGvcRDoVGQTuI+RlzPG+ashzf8+MAiJ+A/N/WiYWVVNVwLDbj3m9G/VmpW8/k+JA==","shasum":"fc71634409815891a00310811d71157d2a528417","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFGnlo/21p+e+eE2k7nQlo72Ro0M5NXSiLMuvYIUDpjQIhAMf590OxndA2Kgs23qpHExVDrGzEnH/lFYworb/8z2Ux"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.1.2.tgz_1512156394212_0.15315396431833506"}},"7.1.3":{"name":"vue-transmit","version":"7.1.3","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.10"},"devDependencies":{"ajv":"^5.5.1","ajv-keywords":"^2.1.1","autoprefixer":"^7.2.3","av-ts":"^0.9.1","awesome-typescript-loader":"^3.4.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.1","css-loader":"^0.28.7","eslint":"^4.13.1","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.5","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.14","postcss-loader":"^2.0.9","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.1","ts-loader":"^3.2.0","typescript":"^2.6.2","url-loader":"^0.6.2","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.10","vue-ts-loader":"0.0.3","webpack":"^3.10.0","webpack-bundle-analyzer":"^2.9.1","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.9.7"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"dca466f659440dcf365081afa4370e10791e243b","_id":"vue-transmit@7.1.3","_npmVersion":"5.6.0","_nodeVersion":"9.3.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-XpeHGRAKmhuJfzf+4ZHfEc5lk61WxqZJEuILIjLexwVJbqpp3NQbbPCYFmnLtOa7kdwXh9tOPLr1ePOoW1vmyQ==","shasum":"d4aa6bc9683b2de4e0b815dd2643eeed2fd49f93","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICtfIEP61kPkb31sDSqlbhHwScp0vpMn1+hhcYABmocUAiBK2GRtcUcGo6UZ70pfZBcpguLCvL1OCPiCz+N03NSPrg=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.1.3.tgz_1513271625979_0.9988590648863465"}},"7.1.4":{"name":"vue-transmit","version":"7.1.4","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"dependencies":{"lodash-es":"^4.17.4","vue":"^2.5.13"},"devDependencies":{"ajv":"^5.5.2","ajv-keywords":"^2.1.1","autoprefixer":"^7.2.3","av-ts":"^0.9.2","awesome-typescript-loader":"^3.4.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.3","css-loader":"^0.28.7","eslint":"^4.14.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.6","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.14","postcss-loader":"^2.0.9","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.1","ts-loader":"^3.2.0","typescript":"^2.6.2","url-loader":"^0.6.2","vue-class-component":"^6.1.2","vue-loader":"^13.6.1","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.13","vue-ts-loader":"0.0.3","webpack":"^3.10.0","webpack-bundle-analyzer":"^2.9.1","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.9.7"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"ba56ad2b4475774f646f8038648fca31a825b276","_id":"vue-transmit@7.1.4","_npmVersion":"5.6.0","_nodeVersion":"9.3.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-Qf0zveROlQ9l+5yHru721O5IoOqd4Fr3KTBumXCrEeFRyzG6sdFmXzHXt1DzHjr52j//QXlHkZCYqc+SEagZRw==","shasum":"6b8547c184f11069c419d62de0f8929f0c8ee057","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDIK+Nbyb1KLj/JfZ8BSi8Il2WsroSmjdAOkK6BFi9N9AiAuQ70rbij3hddOx+4GqiTqXY2cJz3EUSOevPD/sx4NCA=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.1.4.tgz_1514264713024_0.8750507386866957"}},"7.1.5":{"name":"vue-transmit","version":"7.1.5","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"dependencies":{"lodash-es":"^4.17.4"},"devDependencies":{"ajv":"^5.5.2","ajv-keywords":"^2.1.1","autoprefixer":"^7.2.3","av-ts":"^0.9.2","awesome-typescript-loader":"^3.4.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.3","css-loader":"^0.28.7","eslint":"^4.14.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.6","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.14","postcss-loader":"^2.0.9","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.2.0","style-loader":"^0.19.1","ts-loader":"^3.2.0","typescript":"^2.6.2","url-loader":"^0.6.2","vue":"^2.5.13","vue-class-component":"^6.1.2","vue-loader":"^13.6.1","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.13","vue-ts-loader":"0.0.3","webpack":"^3.10.0","webpack-bundle-analyzer":"^2.9.1","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.9.7"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"6b41970bd623b7c68d9760827fbdf7457563076b","_id":"vue-transmit@7.1.5","_npmVersion":"5.6.0","_nodeVersion":"9.3.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-gR+oI1s19yfMkdn//H7fRKVb40dq6wjrX2I0t47Lz4md3Ftzofkzj/IU7IPGK3e5IxdrVDa4QSUepSVzlQRIpQ==","shasum":"879006cf441480fe05000e71621eade25ac48518","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.1.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHcVf4zmW93I5GwoN/DQihsrVqh1U1qXMsWbEi5mVwfxAiAJT809STKhfRiFzSq0GqJfw1unaHcKLRWHiiM1z0LAiQ=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.1.5.tgz_1514304642149_0.40983166731894016"}},"7.1.6":{"name":"vue-transmit","version":"7.1.6","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"dependencies":{"lodash-es":"^4.17.4"},"devDependencies":{"ajv":"^6.0.0","ajv-keywords":"^3.0.0","autoprefixer":"^7.2.4","av-ts":"^0.9.2","awesome-typescript-loader":"^3.4.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.3","css-loader":"^0.28.8","eslint":"^4.15.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.6","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.16","postcss-loader":"^2.0.10","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.3.0","style-loader":"^0.19.1","ts-loader":"^3.2.0","typescript":"^2.6.2","url-loader":"^0.6.2","vue":"^2.5.13","vue-class-component":"^6.1.2","vue-loader":"^13.6.2","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.13","vue-ts-loader":"0.0.3","webpack":"^3.10.0","webpack-bundle-analyzer":"^2.9.2","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.10.0"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"606dea8577138c17400c3c00064b744b56b0ee38","_id":"vue-transmit@7.1.6","_npmVersion":"5.6.0","_nodeVersion":"9.3.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-qZEckHb22wWWZzo5RtHY6MIsLQ8jQH2JYeK4LuG/h4iFtphZcAR7MyJ9FtSkvAdmBVhH0g6HKPwcF7acHoqkAA==","shasum":"5481717d65350c53c2b1ababea772082d69e8c7f","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.1.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5Q8zNpdI/QWejZq0Q1L7RBjndXWn5S8S1Tv0GZkCnRwIhAIL2611nX26HCiEdIsOUmY3rnIfgdRBHpkJ5FombX/Wy"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.1.6.tgz_1515430093111_0.5905142843257636"}},"7.1.7":{"name":"vue-transmit","version":"7.1.7","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"dependencies":{"lodash-es":"^4.17.4"},"devDependencies":{"ajv":"^6.0.0","ajv-keywords":"^3.0.0","autoprefixer":"^7.2.4","av-ts":"^0.9.2","awesome-typescript-loader":"^3.4.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.3","css-loader":"^0.28.8","eslint":"^4.15.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.6","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.16","postcss-loader":"^2.0.10","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.3.0","style-loader":"^0.19.1","ts-loader":"^3.2.0","typescript":"^2.6.2","url-loader":"^0.6.2","vue":"^2.5.13","vue-class-component":"^6.1.2","vue-loader":"^13.6.2","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.13","vue-ts-loader":"0.0.3","webpack":"^3.10.0","webpack-bundle-analyzer":"^2.9.2","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.10.0"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"4fa3634019fc1739d6c5aa5c63f73143bb16973e","_id":"vue-transmit@7.1.7","_npmVersion":"5.6.0","_nodeVersion":"9.3.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-t5uH9sDlKkCUSEsbe+SXxLnqsTur06MHhVoVH6cr4JrW/Qk69wGZeRjWUD50LqBfhzsiFYy9Ie+kHVBNO7JRJw==","shasum":"7209ea9d235bdb556945ab668f36e08d603f52f6","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-7.1.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyADgCTgv0EQFhmCUBkUtvoQs11eScg68aPJOqlnNzDAIhAIb0jQoOH212AOvaDzyGDKzc+LRcobv2ilMN+hW7e5F3"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-7.1.7.tgz_1515430192354_0.11211354145780206"}},"8.0.0":{"name":"vue-transmit","version":"8.0.0","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"dependencies":{"lodash-es":"^4.17.4"},"devDependencies":{"ajv":"^6.0.1","ajv-keywords":"^3.0.0","autoprefixer":"^7.2.5","av-ts":"^0.9.2","awesome-typescript-loader":"^3.4.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.3","css-loader":"^0.28.8","eslint":"^4.15.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.6","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.16","postcss-loader":"^2.0.10","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.3.0","style-loader":"^0.19.1","ts-loader":"^3.2.0","typescript":"^2.6.2","url-loader":"^0.6.2","vue":"^2.5.13","vue-class-component":"^6.1.2","vue-loader":"^13.6.2","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.13","vue-ts-loader":"0.0.3","webpack":"^3.10.0","webpack-bundle-analyzer":"^2.9.2","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.10.0"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"bdc3d88f1e3654ebe1793728dab00476992af754","_id":"vue-transmit@8.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-f1oK8S/2Z6PFSSWVhVqk2CybamzemKdNEUlRoHr6HiiQRLL/kS8rMu4Cya2i4sUBnG9Ny5nJxypoph15sRrWXQ==","shasum":"5f91ea03d947c85fe1844a8844f39508a35f7696","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-8.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDM3Sb+cB4YiEHQoMAZ3ZPPU9cd8Rb26oxORPYfc1VKXAiBe17yF8IJa5q9Yi7BzxMa9XWw7QG9IbOMKkJ9YzSuImw=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit-8.0.0.tgz_1515775012245_0.8230965612456203"}},"9.0.0-alpha.0":{"name":"vue-transmit","version":"9.0.0-alpha.0","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","release:beta":"standard-version --prerelease beta","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{"lodash-es":"^4.17.5"},"devDependencies":{"@types/jest":"^22.1.1","cross-env":"^5.1.3","jest":"^22.2.1","lodash":"^4.17.5","postcss":"^6.0.17","rimraf":"^2.6.2","rollup":"^0.55.3","rollup-plugin-postcss":"^1.2.8","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.0","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.0.3","typescript":"^2.7.1","uglify-js":"^3.3.10","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nIn order to comply with Vue.js reactivity, an object's properties must be\ndefined up front and be configurable. A special File class has been written\n(`VTransmitFile`) to register file objects from uploads reactively, since the\nnative File object's properties are read-only. This class also adds useful\ninformation not present in the native File object (dimensions, upload stats,\netc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`) that require a\npolyfill. All other ESNext language features (arrow fns, for of, etc.) are\ntranspiled with babel._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## Installation\n\n```shell\nnpm install vue-transmit\n```\n\n## Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfields of the package. For most setups, importing the lib would like the\nfollowing:\n\n```js\n// ESM\nimport VueTransmit from \"vue-transmit\";\n// Common.js\nconst VueTransmit = require(\"vue-transmit\");\n// Browser\nwindow.VueTransmit;\n\n// Installation\nVue.use(VueTransmit);\n```\n\n| Target | Path                                    | Minified |\n| ------ | --------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js` | true     |\n| AMD    | `vue-transmit/dist/vue-transmit.js`     | true     |\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n| Property              | Type                  | Default                                                                     |\n| --------------------- | --------------------- | --------------------------------------------------------------------------- |\n| tag                   | String                | \"div\"                                                                       |\n| uploadAreaClasses     | Array, Object, String | null                                                                        |\n| uploadAreaAttrs       | Object                | {}                                                                          |\n| uploadAreaListeners   | Object                | {}                                                                          |\n| url                   | String                | undefined                                                                   |\n| method                | String                | \"post\"                                                                      |\n| withCredentials       | Boolean               | false                                                                       |\n| timeout               | Number                | 0                                                                           |\n| maxConcurrentUploads  | Number                | 2                                                                           |\n| uploadMultiple        | Boolean               | false                                                                       |\n| maxFileSize           | Number                | 256 _(in MiB)_                                                              |\n| paramName             | String                | \"file\"                                                                      |\n| createImageThumbnails | Boolean               | true                                                                        |\n| maxThumbnailFileSize  | Number                | 10                                                                          |\n| thumbnailWidth        | Number                | 120                                                                         |\n| thumbnailHeight       | Number                | 120                                                                         |\n| fileSizeBase          | Number                | 1000                                                                        |\n| maxFiles              | Number                | null                                                                        |\n| params                | Object                | default                                                                     |\n| headers               | Object                | default                                                                     |\n| responseType          | String                | \"\"                                                                          |\n| clickable             | Boolean               | true                                                                        |\n| ignoreHiddenFiles     | Boolean               | true                                                                        |\n| acceptedFileTypes     | Array                 | default                                                                     |\n| autoProcessQueue      | Boolean               | true                                                                        |\n| autoQueue             | Boolean               | true                                                                        |\n| capture               | String                | null                                                                        |\n| renameFile            | Function              | identity                                                                    |\n| dictFileTooBig        | String                | \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MiB.\" |\n| dictInvalidFileType   | String                | \"You can't upload files of this type.\"                                      |\n| dictResponseError     | String                | \"Server responded with {{ statusCode }} code.\"                              |\n| dictMaxFilesExceeded  | String                | \"You can not upload any more files.\"                                        |\n| accept                | Function              | default                                                                     |\n| resize                | Function              | default                                                                     |\n\n## Events\n\n| Event                   | Arguments                                            | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `DragEvent`                                          | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `DragEvent`                                          | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `DragEvent`                                          | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `DragEvent`                                          | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `DragEvent`                                          | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `DragEvent`                                          | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to VTransmitFile and added to the component data. _(status: 'added')_              |\n| `added-files`           | `VTransmitFile[]`                                    | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `VTransmitFile, Blob\\|URL`                           | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `VTransmitFile, message: String, XmlHttpRequest`     | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `VTransmitFile[], message: String, XmlHttpRequest`   | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `VTransmitFile[]`                                    | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `VTransmitFile, progress: Number, bytesSent: Number` | Fired on progress of the XHR.                                                                                                                                       |\n| `total-upload-progress` | `VTransmitFile, totalUploadProgress: Number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `VTransmitFile, XmlHttpRequest, FormData`            | Fired right before the XHR is sent.                                                                                                                                 |\n| `sending-multiple`      | `VTransmitFile[], XmlHttpRequest, FormData`          | Fired right before the XHR is sent.                                                                                                                                 |\n| `success`               | `VTransmitFile, response: String, ProgressEvent`     | Fired on load of the XHR.                                                                                                                                           |\n| `success-multiple`      | `VTransmitFile[], response: String, ProgressEvent`   | Fired on load of the XHR.                                                                                                                                           |\n| `timeout`               | `VTransmitFile, TimeoutEvent, XmlHttpRequest`        | Fired on timeout of the XHR.                                                                                                                                        |\n| `timeout-multiple`      | `VTransmitFile[], TimeoutEvent, XmlHttpRequest`      | Fired on timeout of the XHR.                                                                                                                                        |\n| `canceled`              | `VTransmitFile`                                      | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `canceled-multiple`     | `VTransmitFile[]`                                    | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `complete`              | `VTransmitFile`                                      | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `complete-multiple`     | `VTransmitFile[]`                                    | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `reset`                 | n/a                                                  | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `VTransmitFile[]`                                    | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: Boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        url: './upload.php',\n        clickable: false\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"c6e2aef3faad9b8877c15ab81a8d8200d8e5af89","_id":"vue-transmit@9.0.0-alpha.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-wwP0G99NTDNhB00KKE7EHOFHog2Urty70mmQ91BoCjjEVo4jxVkyIHJnB3D05NiI2dW8PO75IcCFNx1hWLpQDQ==","shasum":"2e094c78467fd909d993b30fdf726b332695d3f1","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.0.tgz","fileCount":43,"unpackedSize":6992126,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFrK9VLVQAz2EzMvM1XuxCtPeWAd+ydJPSiFCPEzrQHSAiApaW8REIpjPb517inRO8ZkyG6HP/F3jQcamxSvBRugTA=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.0_1518154999091_0.17113901405309906"},"_hasShrinkwrap":false},"9.0.0-alpha.1":{"name":"vue-transmit","version":"9.0.0-alpha.1","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","release:beta":"standard-version --prerelease beta","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{"lodash-es":"^4.17.5"},"devDependencies":{"@types/jest":"^22.1.1","cross-env":"^5.1.3","jest":"^22.2.1","lodash":"^4.17.5","postcss":"^6.0.17","rimraf":"^2.6.2","rollup":"^0.55.3","rollup-plugin-postcss":"^1.2.8","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.0","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.0.3","typescript":"^2.7.1","uglify-js":"^3.3.10","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nIn order to comply with Vue.js reactivity, an object's properties must be\ndefined up front and be configurable. A special File class has been written\n(`VTransmitFile`) to register file objects from uploads reactively, since the\nnative File object's properties are read-only. This class also adds useful\ninformation not present in the native File object (dimensions, upload stats,\netc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`) that require a\npolyfill. All other ESNext language features (arrow fns, for of, etc.) are\ntranspiled with babel._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## Installation\n\n```shell\nnpm install vue-transmit\n```\n\n## Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfields of the package. For most setups, importing the lib would like the\nfollowing:\n\n```js\n// ESM\nimport VueTransmit from \"vue-transmit\";\n// Common.js\nconst VueTransmit = require(\"vue-transmit\");\n// Browser\nwindow.VueTransmit;\n\n// Installation\nVue.use(VueTransmit);\n```\n\n| Target | Path                                    | Minified |\n| ------ | --------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js` | true     |\n| AMD    | `vue-transmit/dist/vue-transmit.js`     | true     |\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n| Property              | Type                  | Default                                                                     |\n| --------------------- | --------------------- | --------------------------------------------------------------------------- |\n| tag                   | String                | \"div\"                                                                       |\n| uploadAreaClasses     | Array, Object, String | null                                                                        |\n| uploadAreaAttrs       | Object                | {}                                                                          |\n| uploadAreaListeners   | Object                | {}                                                                          |\n| url                   | String                | undefined                                                                   |\n| method                | String                | \"post\"                                                                      |\n| withCredentials       | Boolean               | false                                                                       |\n| timeout               | Number                | 0                                                                           |\n| maxConcurrentUploads  | Number                | 2                                                                           |\n| uploadMultiple        | Boolean               | false                                                                       |\n| maxFileSize           | Number                | 256 _(in MiB)_                                                              |\n| paramName             | String                | \"file\"                                                                      |\n| createImageThumbnails | Boolean               | true                                                                        |\n| maxThumbnailFileSize  | Number                | 10                                                                          |\n| thumbnailWidth        | Number                | 120                                                                         |\n| thumbnailHeight       | Number                | 120                                                                         |\n| fileSizeBase          | Number                | 1000                                                                        |\n| maxFiles              | Number                | null                                                                        |\n| params                | Object                | default                                                                     |\n| headers               | Object                | default                                                                     |\n| responseType          | String                | \"\"                                                                          |\n| clickable             | Boolean               | true                                                                        |\n| ignoreHiddenFiles     | Boolean               | true                                                                        |\n| acceptedFileTypes     | Array                 | default                                                                     |\n| autoProcessQueue      | Boolean               | true                                                                        |\n| autoQueue             | Boolean               | true                                                                        |\n| capture               | String                | null                                                                        |\n| renameFile            | Function              | identity                                                                    |\n| dictFileTooBig        | String                | \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MiB.\" |\n| dictInvalidFileType   | String                | \"You can't upload files of this type.\"                                      |\n| dictResponseError     | String                | \"Server responded with {{ statusCode }} code.\"                              |\n| dictMaxFilesExceeded  | String                | \"You can not upload any more files.\"                                        |\n| accept                | Function              | default                                                                     |\n| resize                | Function              | default                                                                     |\n\n## Events\n\n| Event                   | Arguments                                            | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `DragEvent`                                          | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `DragEvent`                                          | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `DragEvent`                                          | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `DragEvent`                                          | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `DragEvent`                                          | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `DragEvent`                                          | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to VTransmitFile and added to the component data. _(status: 'added')_              |\n| `added-files`           | `VTransmitFile[]`                                    | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `VTransmitFile, Blob\\|URL`                           | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `VTransmitFile, message: String, XmlHttpRequest`     | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `VTransmitFile[], message: String, XmlHttpRequest`   | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `VTransmitFile[]`                                    | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `VTransmitFile, progress: Number, bytesSent: Number` | Fired on progress of the XHR.                                                                                                                                       |\n| `total-upload-progress` | `VTransmitFile, totalUploadProgress: Number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `VTransmitFile, XmlHttpRequest, FormData`            | Fired right before the XHR is sent.                                                                                                                                 |\n| `sending-multiple`      | `VTransmitFile[], XmlHttpRequest, FormData`          | Fired right before the XHR is sent.                                                                                                                                 |\n| `success`               | `VTransmitFile, response: String, ProgressEvent`     | Fired on load of the XHR.                                                                                                                                           |\n| `success-multiple`      | `VTransmitFile[], response: String, ProgressEvent`   | Fired on load of the XHR.                                                                                                                                           |\n| `timeout`               | `VTransmitFile, TimeoutEvent, XmlHttpRequest`        | Fired on timeout of the XHR.                                                                                                                                        |\n| `timeout-multiple`      | `VTransmitFile[], TimeoutEvent, XmlHttpRequest`      | Fired on timeout of the XHR.                                                                                                                                        |\n| `canceled`              | `VTransmitFile`                                      | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `canceled-multiple`     | `VTransmitFile[]`                                    | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `complete`              | `VTransmitFile`                                      | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `complete-multiple`     | `VTransmitFile[]`                                    | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `reset`                 | n/a                                                  | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `VTransmitFile[]`                                    | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: Boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        url: './upload.php',\n        clickable: false\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"cc805e2cffca3322771cc3937eb9751c7796c416","_id":"vue-transmit@9.0.0-alpha.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-wImth5czY/EtIey9vFOuFQ/ZgR77SRuCkJA7cTLBjIWS38c9QnsEN6boVvUWzd2gObM1Zdvs4rF+iQxak2W9iQ==","shasum":"65037cad57c6488f2179e7a154c42a3dc79a0822","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.1.tgz","fileCount":43,"unpackedSize":6992877,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9ZqpzOAUt+Za6POrg0PCO7wX0/U9vMYy/WYdXNSbxfwIgZxmTdQi+J6ppgF126csWiOGvXYSyTxqEQx3GJMqTNP8="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.1_1518160638958_0.9365932039731562"},"_hasShrinkwrap":false},"9.0.0-alpha.2":{"name":"vue-transmit","version":"9.0.0-alpha.2","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.js","main":"dist/vue-transmit.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js && rollup -c ./rollup.config.min.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","release:beta":"standard-version --prerelease beta","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{},"devDependencies":{"@types/jest":"^22.1.1","cross-env":"^5.1.3","jest":"^22.2.1","lodash":"^4.17.5","postcss":"^6.0.17","rimraf":"^2.6.2","rollup":"^0.55.3","rollup-plugin-postcss":"^1.2.8","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.0","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.0.3","typescript":"^2.7.1","uglify-js":"^3.3.10","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nVue-Transmit also has a modular upload transport. The default transport\nimplementation uses `XMLHttpRequest` to upload client-side files using\nmulti-part form data, but this could be swapped for a custom implementation for\nsomething like Firebase.\n\nIn order to integrate with Vue.js reactivity, an object's properties must be\ndefined initially, be enumerable, and be configurable. A special File class has\nbeen written (`VTransmitFile`) to register native browser file objects from\nuploads reactively, since the native object properties are read-only. This class\nalso adds useful information not present in the native File object (dimensions,\nupload stats, etc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Modular upload transport layer\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`, `Promise`) that\nrequire\n[a polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill).\nAll other ESNext language features (arrow fns, for of, etc.) are transpiled with\nTypeScript._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## Installation\n\n```sh\nnpm install vue-transmit\n```\n\n## Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfield of the package, while non-esm will resolve from the `main` field. By\ndefault, the unminified versions are specified. For most setups, importing the\nlib would like either of the following:\n\n```js\n// ESM\nimport VueTransmit from \"vue-transmit\";\n// Common.js\nconst VueTransmit = require(\"vue-transmit\");\n// Browser\nwindow.VueTransmit;\n\n// Installation\nVue.use(VueTransmit);\n```\n\n| Target | Path                                        | Minified |\n| ------ | ------------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js`     | false    |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.min.js` | true     |\n| UMD    | `vue-transmit/dist/vue-transmit.js`         | false    |\n| UMD    | `vue-transmit/dist/vue-transmit.min.js`     | true     |\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n| Property              | Type                  | Default                                                                     |\n| --------------------- | --------------------- | --------------------------------------------------------------------------- |\n| tag                   | String                | \"div\"                                                                       |\n| uploadAreaClasses     | Array, Object, String | null                                                                        |\n| uploadAreaAttrs       | Object                | {}                                                                          |\n| uploadAreaListeners   | Object                | {}                                                                          |\n| url                   | String                | undefined                                                                   |\n| method                | String                | \"post\"                                                                      |\n| withCredentials       | Boolean               | false                                                                       |\n| timeout               | Number                | 0                                                                           |\n| maxConcurrentUploads  | Number                | 2                                                                           |\n| uploadMultiple        | Boolean               | false                                                                       |\n| maxFileSize           | Number                | 256 _(in MiB)_                                                              |\n| paramName             | String                | \"file\"                                                                      |\n| createImageThumbnails | Boolean               | true                                                                        |\n| maxThumbnailFileSize  | Number                | 10                                                                          |\n| thumbnailWidth        | Number                | 120                                                                         |\n| thumbnailHeight       | Number                | 120                                                                         |\n| fileSizeBase          | Number                | 1000                                                                        |\n| maxFiles              | Number                | null                                                                        |\n| params                | Object                | default                                                                     |\n| headers               | Object                | default                                                                     |\n| responseType          | String                | \"\"                                                                          |\n| clickable             | Boolean               | true                                                                        |\n| ignoreHiddenFiles     | Boolean               | true                                                                        |\n| acceptedFileTypes     | Array                 | default                                                                     |\n| autoProcessQueue      | Boolean               | true                                                                        |\n| autoQueue             | Boolean               | true                                                                        |\n| capture               | String                | null                                                                        |\n| renameFile            | Function              | identity                                                                    |\n| dictFileTooBig        | String                | \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MiB.\" |\n| dictInvalidFileType   | String                | \"You can't upload files of this type.\"                                      |\n| dictResponseError     | String                | \"Server responded with {{ statusCode }} code.\"                              |\n| dictMaxFilesExceeded  | String                | \"You can not upload any more files.\"                                        |\n| accept                | Function              | default                                                                     |\n| resize                | Function              | default                                                                     |\n\n## Events\n\n| Event                   | Arguments                                            | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `DragEvent`                                          | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `DragEvent`                                          | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `DragEvent`                                          | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `DragEvent`                                          | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `DragEvent`                                          | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `DragEvent`                                          | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to VTransmitFile and added to the component data. _(status: 'added')_              |\n| `added-files`           | `VTransmitFile[]`                                    | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `VTransmitFile, Blob\\|URL`                           | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `VTransmitFile, message: String, XmlHttpRequest`     | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `VTransmitFile[], message: String, XmlHttpRequest`   | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `VTransmitFile[]`                                    | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `VTransmitFile, progress: Number, bytesSent: Number` | Fired on progress of the XHR.                                                                                                                                       |\n| `total-upload-progress` | `VTransmitFile, totalUploadProgress: Number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `VTransmitFile, XmlHttpRequest, FormData`            | Fired right before the XHR is sent.                                                                                                                                 |\n| `sending-multiple`      | `VTransmitFile[], XmlHttpRequest, FormData`          | Fired right before the XHR is sent.                                                                                                                                 |\n| `success`               | `VTransmitFile, response: String, ProgressEvent`     | Fired on load of the XHR.                                                                                                                                           |\n| `success-multiple`      | `VTransmitFile[], response: String, ProgressEvent`   | Fired on load of the XHR.                                                                                                                                           |\n| `timeout`               | `VTransmitFile, TimeoutEvent, XmlHttpRequest`        | Fired on timeout of the XHR.                                                                                                                                        |\n| `timeout-multiple`      | `VTransmitFile[], TimeoutEvent, XmlHttpRequest`      | Fired on timeout of the XHR.                                                                                                                                        |\n| `canceled`              | `VTransmitFile`                                      | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `canceled-multiple`     | `VTransmitFile[]`                                    | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `complete`              | `VTransmitFile`                                      | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `complete-multiple`     | `VTransmitFile[]`                                    | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `reset`                 | n/a                                                  | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `VTransmitFile[]`                                    | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: Boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" slot-scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        clickable: false,\n        adapterOptions: {\n          url: './upload.php',\n        },\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"c44a8afb7b580a4c3613b6e34958c07511014ccd","_id":"vue-transmit@9.0.0-alpha.2","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-bivVFbB05+TixU+sdUy4VAkMyBNsgxpZqeYD3wJTzP3/LROmeiuVkLVEd28mNOXkXgYcKsvWw2welQvTRnitxA==","shasum":"f2fe7aebd8f06b5ecc3370b748e04b0c0abcc154","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.2.tgz","fileCount":48,"unpackedSize":7258364,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICWFfrBwAHGZefXpd106tyXr5nhixDB1k4p8/9uNh6M+AiEAtdQijgOMyUTgGcikjoPj6s1tzBEenjxXkydnbOO8gsI="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.2_1518169031719_0.8521211524703811"},"_hasShrinkwrap":false},"9.0.0-alpha.3":{"name":"vue-transmit","version":"9.0.0-alpha.3","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.js","main":"dist/vue-transmit.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js && rollup -c ./rollup.config.min.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","release:beta":"standard-version --prerelease beta","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{},"devDependencies":{"@types/jest":"^22.1.1","cross-env":"^5.1.3","jest":"^22.2.1","lodash":"^4.17.5","postcss":"^6.0.17","rimraf":"^2.6.2","rollup":"^0.55.3","rollup-plugin-postcss":"^1.2.8","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.0","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.0.3","typescript":"^2.7.1","uglify-js":"^3.3.10","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nVue-Transmit also has a modular upload transport. The default transport\nimplementation uses `XMLHttpRequest` to upload client-side files using\nmulti-part form data, but this could be swapped for a custom implementation for\nsomething like Firebase.\n\nIn order to integrate with Vue.js reactivity, an object's properties must be\ndefined initially, be enumerable, and be configurable. A special File class has\nbeen written (`VTransmitFile`) to register native browser file objects from\nuploads reactively, since the native object properties are read-only. This class\nalso adds useful information not present in the native File object (dimensions,\nupload stats, etc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Modular upload transport layer\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`, `Promise`) that\nrequire\n[a polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill).\nAll other ESNext language features (arrow fns, for of, etc.) are transpiled with\nTypeScript._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## Installation\n\n```sh\nnpm install vue-transmit\n```\n\n## Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfield of the package, while non-esm will resolve from the `main` field. By\ndefault, the unminified versions are specified. For most setups, importing the\nlib would like either of the following:\n\n```js\n// ESM\nimport VueTransmit from \"vue-transmit\";\n// Common.js\nconst VueTransmit = require(\"vue-transmit\");\n// Browser\nwindow.VueTransmit;\n\n// Installation\nVue.use(VueTransmit);\n```\n\n| Target | Path                                        | Minified |\n| ------ | ------------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js`     | false    |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.min.js` | true     |\n| UMD    | `vue-transmit/dist/vue-transmit.js`         | false    |\n| UMD    | `vue-transmit/dist/vue-transmit.min.js`     | true     |\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n| Property              | Type                  | Default                                                                     |\n| --------------------- | --------------------- | --------------------------------------------------------------------------- |\n| tag                   | String                | \"div\"                                                                       |\n| uploadAreaClasses     | Array, Object, String | null                                                                        |\n| uploadAreaAttrs       | Object                | {}                                                                          |\n| uploadAreaListeners   | Object                | {}                                                                          |\n| url                   | String                | undefined                                                                   |\n| method                | String                | \"post\"                                                                      |\n| withCredentials       | Boolean               | false                                                                       |\n| timeout               | Number                | 0                                                                           |\n| maxConcurrentUploads  | Number                | 2                                                                           |\n| uploadMultiple        | Boolean               | false                                                                       |\n| maxFileSize           | Number                | 256 _(in MiB)_                                                              |\n| paramName             | String                | \"file\"                                                                      |\n| createImageThumbnails | Boolean               | true                                                                        |\n| maxThumbnailFileSize  | Number                | 10                                                                          |\n| thumbnailWidth        | Number                | 120                                                                         |\n| thumbnailHeight       | Number                | 120                                                                         |\n| fileSizeBase          | Number                | 1000                                                                        |\n| maxFiles              | Number                | null                                                                        |\n| params                | Object                | default                                                                     |\n| headers               | Object                | default                                                                     |\n| responseType          | String                | \"\"                                                                          |\n| clickable             | Boolean               | true                                                                        |\n| ignoreHiddenFiles     | Boolean               | true                                                                        |\n| acceptedFileTypes     | Array                 | default                                                                     |\n| autoProcessQueue      | Boolean               | true                                                                        |\n| autoQueue             | Boolean               | true                                                                        |\n| capture               | String                | null                                                                        |\n| renameFile            | Function              | identity                                                                    |\n| dictFileTooBig        | String                | \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MiB.\" |\n| dictInvalidFileType   | String                | \"You can't upload files of this type.\"                                      |\n| dictResponseError     | String                | \"Server responded with {{ statusCode }} code.\"                              |\n| dictMaxFilesExceeded  | String                | \"You can not upload any more files.\"                                        |\n| accept                | Function              | default                                                                     |\n| resize                | Function              | default                                                                     |\n\n## Events\n\n| Event                   | Arguments                                            | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `DragEvent`                                          | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `DragEvent`                                          | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `DragEvent`                                          | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `DragEvent`                                          | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `DragEvent`                                          | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `DragEvent`                                          | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to VTransmitFile and added to the component data. _(status: 'added')_              |\n| `added-files`           | `VTransmitFile[]`                                    | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `VTransmitFile, Blob\\|URL`                           | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `VTransmitFile, message: String, XmlHttpRequest`     | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `VTransmitFile[], message: String, XmlHttpRequest`   | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `VTransmitFile[]`                                    | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `VTransmitFile, progress: Number, bytesSent: Number` | Fired on progress of the XHR.                                                                                                                                       |\n| `total-upload-progress` | `VTransmitFile, totalUploadProgress: Number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `VTransmitFile, XmlHttpRequest, FormData`            | Fired right before the XHR is sent.                                                                                                                                 |\n| `sending-multiple`      | `VTransmitFile[], XmlHttpRequest, FormData`          | Fired right before the XHR is sent.                                                                                                                                 |\n| `success`               | `VTransmitFile, response: String, ProgressEvent`     | Fired on load of the XHR.                                                                                                                                           |\n| `success-multiple`      | `VTransmitFile[], response: String, ProgressEvent`   | Fired on load of the XHR.                                                                                                                                           |\n| `timeout`               | `VTransmitFile, TimeoutEvent, XmlHttpRequest`        | Fired on timeout of the XHR.                                                                                                                                        |\n| `timeout-multiple`      | `VTransmitFile[], TimeoutEvent, XmlHttpRequest`      | Fired on timeout of the XHR.                                                                                                                                        |\n| `canceled`              | `VTransmitFile`                                      | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `canceled-multiple`     | `VTransmitFile[]`                                    | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `complete`              | `VTransmitFile`                                      | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `complete-multiple`     | `VTransmitFile[]`                                    | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `reset`                 | n/a                                                  | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `VTransmitFile[]`                                    | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: Boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" slot-scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        clickable: false,\n        adapterOptions: {\n          url: './upload.php',\n        },\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"d5a491d84878909c61a02228a80d04583d2dbe26","_id":"vue-transmit@9.0.0-alpha.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-sUVpzUTLXLBe/bye/XoUFVfNyZ3YBUkKh2t5pFNJyW5+7fSOiXdBXoojj2pNLcygMGwSy9MkVQ9QcrORwGiPpg==","shasum":"1d87c09f672e5a63511a1e3811fe5c1a2742401b","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.3.tgz","fileCount":49,"unpackedSize":7263207,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlc9jAtt8xUGMfdjE559SS34sgwHJ6rVbR+Cgad+D43gIhAK5NTfGINPtWD3DrUovd7XfEy4g+OFx8zk6TuFUQHHg4"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.3_1518198731390_0.23281678279767082"},"_hasShrinkwrap":false},"9.0.0-alpha.4":{"name":"vue-transmit","version":"9.0.0-alpha.4","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.js","main":"dist/vue-transmit.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js && rollup -c ./rollup.config.min.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","postrelease:alpha":"git push --follow-tags origin master && npm publish --tag prerelease","release:beta":"standard-version --prerelease beta","postrelease:beta":"git push --follow-tags origin master && npm publish --tag prerelease","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{},"devDependencies":{"@types/jest":"^22.1.1","cross-env":"^5.1.3","jest":"^22.2.1","lodash":"^4.17.5","postcss":"^6.0.17","rimraf":"^2.6.2","rollup":"^0.55.3","rollup-plugin-postcss":"^1.2.8","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.0","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.0.3","typescript":"^2.7.1","uglify-js":"^3.3.10","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nVue-Transmit also has a modular upload transport. The default transport\nimplementation uses `XMLHttpRequest` to upload client-side files using\nmulti-part form data, but this could be swapped for a custom implementation for\nsomething like Firebase.\n\nIn order to integrate with Vue.js reactivity, an object's properties must be\ndefined initially, be enumerable, and be configurable. A special File class has\nbeen written (`VTransmitFile`) to register native browser file objects from\nuploads reactively, since the native object properties are read-only. This class\nalso adds useful information not present in the native File object (dimensions,\nupload stats, etc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Modular upload transport layer\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`, `Promise`) that\nrequire\n[a polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill).\nAll other ESNext language features (arrow fns, for of, etc.) are transpiled with\nTypeScript._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## Installation\n\n```sh\nnpm install vue-transmit\n```\n\n## Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfield of the package, while non-esm will resolve from the `main` field. By\ndefault, the unminified versions are specified. For most setups, importing the\nlib would like either of the following:\n\n```js\n// ESM\nimport VueTransmit from \"vue-transmit\";\n// Common.js\nconst VueTransmit = require(\"vue-transmit\");\n// Browser\nwindow.VueTransmit;\n\n// Installation\nVue.use(VueTransmit);\n```\n\n| Target | Path                                        | Minified |\n| ------ | ------------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js`     | false    |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.min.js` | true     |\n| UMD    | `vue-transmit/dist/vue-transmit.js`         | false    |\n| UMD    | `vue-transmit/dist/vue-transmit.min.js`     | true     |\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n| Property              | Type                  | Default                                                                     |\n| --------------------- | --------------------- | --------------------------------------------------------------------------- |\n| tag                   | String                | \"div\"                                                                       |\n| uploadAreaClasses     | Array, Object, String | null                                                                        |\n| uploadAreaAttrs       | Object                | {}                                                                          |\n| uploadAreaListeners   | Object                | {}                                                                          |\n| url                   | String                | undefined                                                                   |\n| method                | String                | \"post\"                                                                      |\n| withCredentials       | Boolean               | false                                                                       |\n| timeout               | Number                | 0                                                                           |\n| maxConcurrentUploads  | Number                | 2                                                                           |\n| uploadMultiple        | Boolean               | false                                                                       |\n| maxFileSize           | Number                | 256 _(in MiB)_                                                              |\n| paramName             | String                | \"file\"                                                                      |\n| createImageThumbnails | Boolean               | true                                                                        |\n| maxThumbnailFileSize  | Number                | 10                                                                          |\n| thumbnailWidth        | Number                | 120                                                                         |\n| thumbnailHeight       | Number                | 120                                                                         |\n| fileSizeBase          | Number                | 1000                                                                        |\n| maxFiles              | Number                | null                                                                        |\n| params                | Object                | default                                                                     |\n| headers               | Object                | default                                                                     |\n| responseType          | String                | \"\"                                                                          |\n| clickable             | Boolean               | true                                                                        |\n| ignoreHiddenFiles     | Boolean               | true                                                                        |\n| acceptedFileTypes     | Array                 | default                                                                     |\n| autoProcessQueue      | Boolean               | true                                                                        |\n| autoQueue             | Boolean               | true                                                                        |\n| capture               | String                | null                                                                        |\n| renameFile            | Function              | identity                                                                    |\n| dictFileTooBig        | String                | \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MiB.\" |\n| dictInvalidFileType   | String                | \"You can't upload files of this type.\"                                      |\n| dictResponseError     | String                | \"Server responded with {{ statusCode }} code.\"                              |\n| dictMaxFilesExceeded  | String                | \"You can not upload any more files.\"                                        |\n| accept                | Function              | default                                                                     |\n| resize                | Function              | default                                                                     |\n\n## Events\n\n| Event                   | Arguments                                            | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `DragEvent`                                          | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `DragEvent`                                          | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `DragEvent`                                          | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `DragEvent`                                          | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `DragEvent`                                          | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `DragEvent`                                          | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to VTransmitFile and added to the component data. _(status: 'added')_              |\n| `added-files`           | `VTransmitFile[]`                                    | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `VTransmitFile, Blob\\|URL`                           | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `VTransmitFile, message: String, XmlHttpRequest`     | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `VTransmitFile[], message: String, XmlHttpRequest`   | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `VTransmitFile[]`                                    | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `VTransmitFile, progress: Number, bytesSent: Number` | Fired on progress of the XHR.                                                                                                                                       |\n| `total-upload-progress` | `VTransmitFile, totalUploadProgress: Number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `VTransmitFile, XmlHttpRequest, FormData`            | Fired right before the XHR is sent.                                                                                                                                 |\n| `sending-multiple`      | `VTransmitFile[], XmlHttpRequest, FormData`          | Fired right before the XHR is sent.                                                                                                                                 |\n| `success`               | `VTransmitFile, response: String, ProgressEvent`     | Fired on load of the XHR.                                                                                                                                           |\n| `success-multiple`      | `VTransmitFile[], response: String, ProgressEvent`   | Fired on load of the XHR.                                                                                                                                           |\n| `timeout`               | `VTransmitFile, TimeoutEvent, XmlHttpRequest`        | Fired on timeout of the XHR.                                                                                                                                        |\n| `timeout-multiple`      | `VTransmitFile[], TimeoutEvent, XmlHttpRequest`      | Fired on timeout of the XHR.                                                                                                                                        |\n| `canceled`              | `VTransmitFile`                                      | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `canceled-multiple`     | `VTransmitFile[]`                                    | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `complete`              | `VTransmitFile`                                      | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `complete-multiple`     | `VTransmitFile[]`                                    | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `reset`                 | n/a                                                  | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `VTransmitFile[]`                                    | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: Boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" slot-scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        clickable: false,\n        adapterOptions: {\n          url: './upload.php',\n        },\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"313ce745ba7c54bca1b606fc251fada1fa386e95","_id":"vue-transmit@9.0.0-alpha.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-SCK+FyNTxs50rSjGGXywRPJmqOMIkAbmEyuIWmvevB9vjKNvf7dQf6UsyiDuzqNqndkq8XBDatW5DiBEtDYYMg==","shasum":"81a969068f457e74a438286c9d93ffeecbed278f","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.4.tgz","fileCount":49,"unpackedSize":7263098,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBQxSwNWK89SMhspstozcr70VLzT7MqxYZo8gOfMM4CbAiAMnCM6+MOL8rvHxB9oOVzQsCp5+USltCrk8q9SV4v7+A=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.4_1518199231883_0.42569357733992597"},"_hasShrinkwrap":false},"9.0.0-alpha.5":{"name":"vue-transmit","version":"9.0.0-alpha.5","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.js","main":"dist/vue-transmit.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js && rollup -c ./rollup.config.min.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","postrelease:alpha":"git push --follow-tags origin master && npm publish --tag prerelease","release:beta":"standard-version --prerelease beta","postrelease:beta":"git push --follow-tags origin master && npm publish --tag prerelease","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{},"devDependencies":{"@types/jest":"^22.1.1","cross-env":"^5.1.3","jest":"^22.2.1","lodash":"^4.17.5","postcss":"^6.0.17","rimraf":"^2.6.2","rollup":"^0.55.3","rollup-plugin-postcss":"^1.2.8","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.0","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.0.3","typescript":"^2.7.1","uglify-js":"^3.3.10","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nVue-Transmit also has a modular upload transport. The default transport\nimplementation uses `XMLHttpRequest` to upload client-side files using\nmulti-part form data, but this could be swapped for a custom implementation for\nsomething like Firebase.\n\nIn order to integrate with Vue.js reactivity, an object's properties must be\ndefined initially, be enumerable, and be configurable. A special File class has\nbeen written (`VTransmitFile`) to register native browser file objects from\nuploads reactively, since the native object properties are read-only. This class\nalso adds useful information not present in the native File object (dimensions,\nupload stats, etc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Modular upload transport layer\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`, `Promise`) that\nrequire\n[a polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill).\nAll other ESNext language features (arrow fns, for of, etc.) are transpiled with\nTypeScript._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## Installation\n\n```sh\nnpm install vue-transmit\n```\n\n## Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfield of the package, while non-esm will resolve from the `main` field. By\ndefault, the unminified versions are specified. For most setups, importing the\nlib would like either of the following:\n\n```js\n// ESM\nimport VueTransmit from \"vue-transmit\";\n// Common.js\nconst VueTransmit = require(\"vue-transmit\");\n// Browser\nwindow.VueTransmit;\n\n// Installation\nVue.use(VueTransmit);\n```\n\n| Target | Path                                        | Minified |\n| ------ | ------------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js`     | false    |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.min.js` | true     |\n| UMD    | `vue-transmit/dist/vue-transmit.js`         | false    |\n| UMD    | `vue-transmit/dist/vue-transmit.min.js`     | true     |\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n[**View Source**](./src/components/VueTransmit.vue#L85-L272)\n\n| Property               | Type                  | Default                        |\n| ---------------------- | --------------------- | ------------------------------ |\n| tag                    | String                | `\"div\"`                        |\n| uploadAreaClasses      | Array, Object, String | `null`                         |\n| uploadAreaAttrs        | Object                | `[Function: objFactory]`       |\n| uploadAreaListeners    | Object                | `[Function: objFactory]`       |\n| dragClass              | String                | `null`                         |\n| maxConcurrentUploads   | Number                | `2`                            |\n| uploadMultiple         | Boolean               | `false`                        |\n| maxFileSize            | Number                | `256`                          |\n| fileSizeBaseInBinary   | Boolean               | `false`                        |\n| createImageThumbnails  | Boolean               | `true`                         |\n| maxThumbnailFileSize   | Number                | `10`                           |\n| thumbnailWidth         | Number                | `120`                          |\n| thumbnailHeight        | Number                | `120`                          |\n| maxFiles               | Number                | `null`                         |\n| clickable              | Boolean               | `true`                         |\n| ignoreHiddenFiles      | Boolean               | `true`                         |\n| acceptedFileTypes      | Array                 | `[Function: default]`          |\n| autoProcessQueue       | Boolean               | `true`                         |\n| autoQueue              | Boolean               | `true`                         |\n| capture                | String                | `null`                         |\n| errMaxFileSizeExceeded | Function              | `[Function: default]`          |\n| errInvalidFileType     | Function              | `[Function: default]`          |\n| errMaxFilesExceeded    | Function              | `[Function: default]`          |\n| accept                 | Function              | `[Function: default]`          |\n| resize                 | Function              | `[Function: resizeImg]`        |\n| adapterOptions         | Object                | `[Function: objFactory]`       |\n| uploadAdapter          | Function              | `[Function: XHRUploadAdapter]` |\n\n## Adapter Options: XHRUploadAdapter\n\n[**View Source**](./src/upload-adapters/xhr.ts#L24-L79)\n\n| Property         | Type     | Default                                           |\n| ---------------- | -------- | ------------------------------------------------- |\n| url              | string   | _(required)_                                      |\n| method           | string   | `\"post\"`                                          |\n| withCredentials  | boolean  | `false`                                           |\n| timeout          | number   | `0`                                               |\n| paramName        | string   | `\"file\"`                                          |\n| params           | object   | `{}`                                              |\n| headers          | object   | `{ Accept, 'Cache-Control', 'X-Requested-With' }` |\n| responseType     | string   | `\"json\"`                                          |\n| errUploadError   | function | `[Function]`                                      |\n| errUploadTimeout | function | `[Function]`                                      |\n| renameFile       | function | `[Function]`                                      |\n\n## Events\n\n| Event                   | Arguments                                            | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `DragEvent`                                          | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `DragEvent`                                          | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `DragEvent`                                          | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `DragEvent`                                          | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `DragEvent`                                          | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `DragEvent`                                          | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to VTransmitFile and added to the component data. _(status: 'added')_              |\n| `added-files`           | `VTransmitFile[]`                                    | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `VTransmitFile, Blob\\|URL`                           | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `VTransmitFile, message: String, XmlHttpRequest`     | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `VTransmitFile[], message: String, XmlHttpRequest`   | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `VTransmitFile[]`                                    | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `VTransmitFile, progress: Number, bytesSent: Number` | Fired on progress of the XHR.                                                                                                                                       |\n| `total-upload-progress` | `VTransmitFile, totalUploadProgress: Number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `VTransmitFile, XmlHttpRequest, FormData`            | Fired right before the XHR is sent.                                                                                                                                 |\n| `sending-multiple`      | `VTransmitFile[], XmlHttpRequest, FormData`          | Fired right before the XHR is sent.                                                                                                                                 |\n| `success`               | `VTransmitFile, response: String, ProgressEvent`     | Fired on load of the XHR.                                                                                                                                           |\n| `success-multiple`      | `VTransmitFile[], response: String, ProgressEvent`   | Fired on load of the XHR.                                                                                                                                           |\n| `timeout`               | `VTransmitFile, TimeoutEvent, XmlHttpRequest`        | Fired on timeout of the XHR.                                                                                                                                        |\n| `timeout-multiple`      | `VTransmitFile[], TimeoutEvent, XmlHttpRequest`      | Fired on timeout of the XHR.                                                                                                                                        |\n| `canceled`              | `VTransmitFile`                                      | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `canceled-multiple`     | `VTransmitFile[]`                                    | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `complete`              | `VTransmitFile`                                      | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `complete-multiple`     | `VTransmitFile[]`                                    | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `reset`                 | n/a                                                  | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `VTransmitFile[]`                                    | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: Boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" slot-scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        clickable: false,\n        adapterOptions: {\n          url: './upload.php',\n        },\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"615d1e24c18dd9e523268ff73f1d0127c2bfcd73","_id":"vue-transmit@9.0.0-alpha.5","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-Xil6v/Y8Ts4F5y8o3zvh/eZSbJPo7r2SuxivduFRyPHxsC+QK8SJPnKkIydLYpOE5JC0iUYRNxdkwcajLMZGMQ==","shasum":"b58043830df27b70acfd923d0495f1d17fc775cd","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.5.tgz","fileCount":50,"unpackedSize":7265442,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBiPTjXSYrcMoXzq8h5Y/H6Ncd7BNLVziE/2QVShJ93YAiEAl6TM4q4tnSPH3qfpwsIyG8TmGooNPwxx7JztDCxUaNs="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.5_1518209840348_0.9898308613802815"},"_hasShrinkwrap":false},"9.0.0-alpha.6":{"name":"vue-transmit","version":"9.0.0-alpha.6","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.js","main":"dist/vue-transmit.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js && rollup -c ./rollup.config.min.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","postrelease:alpha":"git push --follow-tags origin master && npm publish --tag prerelease","release:beta":"standard-version --prerelease beta","postrelease:beta":"git push --follow-tags origin master && npm publish --tag prerelease","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{},"devDependencies":{"@types/jest":"^22.1.1","cross-env":"^5.1.3","jest":"^22.2.1","lodash":"^4.17.5","postcss":"^6.0.17","rimraf":"^2.6.2","rollup":"^0.55.3","rollup-plugin-postcss":"^1.2.8","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.0","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.0.3","typescript":"^2.7.1","uglify-js":"^3.3.10","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nVue-Transmit also has a modular upload transport. The default transport\nimplementation uses `XMLHttpRequest` to upload client-side files using\nmulti-part form data, but this could be swapped for a custom implementation for\nsomething like Firebase.\n\nIn order to integrate with Vue.js reactivity, an object's properties must be\ndefined initially, be enumerable, and be configurable. A special File class has\nbeen written (`VTransmitFile`) to register native browser file objects from\nuploads reactively, since the native object properties are read-only. This class\nalso adds useful information not present in the native File object (dimensions,\nupload stats, etc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Modular upload transport layer\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`, `Promise`) that\nrequire\n[a polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill).\nAll other ESNext language features (arrow fns, for of, etc.) are transpiled with\nTypeScript._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## v8.x.x\n\n[Visit the `8.x` branch here.](https://github.com/alexsasharegan/vue-transmit/tree/8.x)\n\nVersion 9 of Vue Transmit marks a new design that introduces various breaking\nchanges. Migrating an existing app to `>=v9.x.x` should be roughly hour of work\nfor most use cases (mileage may vary), but if you're using `v8.x.x` and you\ndon't need any `v9` features, there's no need to update. An `8.x` branch will be\nmaintained for LTS\\* support.\n\n\\* LTS support `===` patches only.\n\n## Installation\n\n```sh\nnpm install vue-transmit\n```\n\n## Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfield of the package, while non-esm will resolve from the `main` field. By\ndefault, the unminified versions are specified. For most setups, importing the\nlib would like either of the following:\n\n```js\n// ESM\nimport { VueTransmitPlugin } from \"vue-transmit\";\n// Common.js\nconst { VueTransmitPlugin } = require(\"vue-transmit\");\n// Browser\nconst VueTransmitPlugin = window.VueTransmit.VueTransmitPlugin;\n\n// Installation\nVue.use(VueTransmit);\n```\n\nIf you don't wish to register `VueTransmit` as a global component, you can\nimport the component directly.\n\n```js\n// ESM\nimport { VueTransmit } from \"vue-transmit\";\n// Common.js\nconst { VueTransmit } = require(\"vue-transmit\");\n// Browser\nconst VueTransmit = window.VueTransmit.VueTransmit;\n\n// Your component using VueTransmit\nconst MyComponent = Vue.extend({\n  name: \"my-component\",\n  components: {\n    \"vue-transmit\": VueTransmit,\n  },\n});\n```\n\n| Target | Path                                        | Minified |\n| ------ | ------------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js`     | false    |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.min.js` | true     |\n| UMD    | `vue-transmit/dist/vue-transmit.js`         | false    |\n| UMD    | `vue-transmit/dist/vue-transmit.min.js`     | true     |\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n[**View Source**](./src/components/VueTransmit.vue#L85-L272)\n\n| Property               | Type                  | Default                        |\n| ---------------------- | --------------------- | ------------------------------ |\n| tag                    | String                | `\"div\"`                        |\n| uploadAreaClasses      | Array, Object, String | `null`                         |\n| uploadAreaAttrs        | Object                | `[Function: objFactory]`       |\n| uploadAreaListeners    | Object                | `[Function: objFactory]`       |\n| dragClass              | String                | `null`                         |\n| maxConcurrentUploads   | Number                | `2`                            |\n| uploadMultiple         | Boolean               | `false`                        |\n| maxFileSize            | Number                | `256`                          |\n| fileSizeBaseInBinary   | Boolean               | `false`                        |\n| createImageThumbnails  | Boolean               | `true`                         |\n| maxThumbnailFileSize   | Number                | `10`                           |\n| thumbnailWidth         | Number                | `120`                          |\n| thumbnailHeight        | Number                | `120`                          |\n| maxFiles               | Number                | `null`                         |\n| clickable              | Boolean               | `true`                         |\n| ignoreHiddenFiles      | Boolean               | `true`                         |\n| acceptedFileTypes      | Array                 | `[Function: default]`          |\n| autoProcessQueue       | Boolean               | `true`                         |\n| autoQueue              | Boolean               | `true`                         |\n| capture                | String                | `null`                         |\n| errMaxFileSizeExceeded | Function              | `[Function: default]`          |\n| errInvalidFileType     | Function              | `[Function: default]`          |\n| errMaxFilesExceeded    | Function              | `[Function: default]`          |\n| accept                 | Function              | `[Function: default]`          |\n| resize                 | Function              | `[Function: resizeImg]`        |\n| adapterOptions         | Object                | `[Function: objFactory]`       |\n| uploadAdapter          | Function              | `[Function: XHRUploadAdapter]` |\n\n## Adapter Options: XHRUploadAdapter\n\n[**View Source**](./src/upload-adapters/xhr.ts#L24-L79)\n\n| Property         | Type     | Default                                           |\n| ---------------- | -------- | ------------------------------------------------- |\n| url              | string   | _(required)_                                      |\n| method           | string   | `\"post\"`                                          |\n| withCredentials  | boolean  | `false`                                           |\n| timeout          | number   | `0`                                               |\n| paramName        | string   | `\"file\"`                                          |\n| params           | object   | `{}`                                              |\n| headers          | object   | `{ Accept, 'Cache-Control', 'X-Requested-With' }` |\n| responseType     | string   | `\"json\"`                                          |\n| errUploadError   | function | `[Function]`                                      |\n| errUploadTimeout | function | `[Function]`                                      |\n| renameFile       | function | `[Function]`                                      |\n\n## Events\n\n| Event                   | Arguments                                            | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `DragEvent`                                          | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `DragEvent`                                          | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `DragEvent`                                          | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `DragEvent`                                          | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `DragEvent`                                          | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `DragEvent`                                          | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to VTransmitFile and added to the component data. _(status: 'added')_              |\n| `added-files`           | `VTransmitFile[]`                                    | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `VTransmitFile, Blob\\|URL`                           | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `VTransmitFile, message: String, XmlHttpRequest`     | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `VTransmitFile[], message: String, XmlHttpRequest`   | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `VTransmitFile[]`                                    | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `VTransmitFile, progress: Number, bytesSent: Number` | Fired on progress of the XHR.                                                                                                                                       |\n| `total-upload-progress` | `VTransmitFile, totalUploadProgress: Number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `VTransmitFile, XmlHttpRequest, FormData`            | Fired right before the XHR is sent.                                                                                                                                 |\n| `sending-multiple`      | `VTransmitFile[], XmlHttpRequest, FormData`          | Fired right before the XHR is sent.                                                                                                                                 |\n| `success`               | `VTransmitFile, response: String, ProgressEvent`     | Fired on load of the XHR.                                                                                                                                           |\n| `success-multiple`      | `VTransmitFile[], response: String, ProgressEvent`   | Fired on load of the XHR.                                                                                                                                           |\n| `timeout`               | `VTransmitFile, TimeoutEvent, XmlHttpRequest`        | Fired on timeout of the XHR.                                                                                                                                        |\n| `timeout-multiple`      | `VTransmitFile[], TimeoutEvent, XmlHttpRequest`      | Fired on timeout of the XHR.                                                                                                                                        |\n| `canceled`              | `VTransmitFile`                                      | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `canceled-multiple`     | `VTransmitFile[]`                                    | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `complete`              | `VTransmitFile`                                      | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `complete-multiple`     | `VTransmitFile[]`                                    | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `reset`                 | n/a                                                  | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `VTransmitFile[]`                                    | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: Boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" slot-scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        clickable: false,\n        adapterOptions: {\n          url: './upload.php',\n        },\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"9c4f1b6375c5203b91720c2ccdf169954771b722","_id":"vue-transmit@9.0.0-alpha.6","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-fZdlDYCv1Trv9DyCwZoONh8w1gnhcxSTRL+z4PrZ4H+nMWAZAuaW1il2w+OtbFmicIirc/LCpaH/8BcZEmAJAg==","shasum":"502e0668bf1eaaab85e5c5b376bf292f81d46a90","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.6.tgz","fileCount":50,"unpackedSize":7266763,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcr/mJisGsrJ8TVHSPtEuX07uQLOybNr6EEtsZoTvBoAiBQWOhOpCtQl3gbCWoC8zXlYRW1qU6jMhfI5JwvmPR3wg=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.6_1518211253461_0.5333189090193793"},"_hasShrinkwrap":false},"9.0.0-alpha.7":{"name":"vue-transmit","version":"9.0.0-alpha.7","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.js","main":"dist/vue-transmit.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js && rollup -c ./rollup.config.min.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","postrelease:alpha":"git push --follow-tags origin master && npm publish --tag prerelease","release:beta":"standard-version --prerelease beta","postrelease:beta":"git push --follow-tags origin master && npm publish --tag prerelease","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{},"devDependencies":{"@types/jest":"^22.1.3","cross-env":"^5.1.3","jest":"^22.3.0","lodash":"^4.17.5","postcss":"^6.0.18","rimraf":"^2.6.2","rollup":"^0.56.1","rollup-plugin-postcss":"^1.2.8","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.1","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.0.4","typescript":"^2.7.2","uglify-js":"^3.3.11","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nVue-Transmit also has a modular upload transport. The default transport\nimplementation uses `XMLHttpRequest` to upload client-side files using\nmulti-part form data, but this could be swapped for a custom implementation for\nsomething like Firebase.\n\nIn order to integrate with Vue.js reactivity, an object's properties must be\ndefined initially, be enumerable, and be configurable. A special File class has\nbeen written (`VTransmitFile`) to register native browser file objects from\nuploads reactively, since the native object properties are read-only. This class\nalso adds useful information not present in the native File object (dimensions,\nupload stats, etc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Modular upload transport layer\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`, `Promise`) that\nrequire\n[a polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill).\nAll other ESNext language features (arrow fns, for of, etc.) are transpiled with\nTypeScript._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## v8.x.x\n\n[Visit the `8.x` branch here.](https://github.com/alexsasharegan/vue-transmit/tree/8.x)\n\nVersion 9 of Vue Transmit marks a new design that introduces various breaking\nchanges. Migrating an existing app to `>=v9.x.x` should be roughly hour of work\nfor most use cases (mileage may vary), but if you're using `v8.x.x` and you\ndon't need any `v9` features, there's no need to update. An `8.x` branch will be\nmaintained for LTS\\* support.\n\n\\* LTS support `===` patches only.\n\n## Installation\n\n```sh\nnpm install vue-transmit\n```\n\n## Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfield of the package, while non-esm will resolve from the `main` field. By\ndefault, the unminified versions are specified. For most setups, importing the\nlib would like either of the following:\n\n```js\n// ESM\nimport { VueTransmitPlugin } from \"vue-transmit\";\n// Common.js\nconst { VueTransmitPlugin } = require(\"vue-transmit\");\n// Browser\nconst VueTransmitPlugin = window.VueTransmit.VueTransmitPlugin;\n\n// Installation\nVue.use(VueTransmit);\n```\n\nIf you don't wish to register `VueTransmit` as a global component, you can\nimport the component directly.\n\n```js\n// ESM\nimport { VueTransmit } from \"vue-transmit\";\n// Common.js\nconst { VueTransmit } = require(\"vue-transmit\");\n// Browser\nconst VueTransmit = window.VueTransmit.VueTransmit;\n\n// Your component using VueTransmit\nconst MyComponent = Vue.extend({\n  name: \"my-component\",\n  components: {\n    \"vue-transmit\": VueTransmit,\n  },\n});\n```\n\n| Target | Path                                        | Minified |\n| ------ | ------------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js`     | false    |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.min.js` | true     |\n| UMD    | `vue-transmit/dist/vue-transmit.js`         | false    |\n| UMD    | `vue-transmit/dist/vue-transmit.min.js`     | true     |\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n[**View Source**](./src/components/VueTransmit.vue#L85-L272)\n\n| Property               | Type                  | Default                        |\n| ---------------------- | --------------------- | ------------------------------ |\n| tag                    | String                | `\"div\"`                        |\n| uploadAreaClasses      | Array, Object, String | `null`                         |\n| uploadAreaAttrs        | Object                | `[Function: objFactory]`       |\n| uploadAreaListeners    | Object                | `[Function: objFactory]`       |\n| dragClass              | String                | `null`                         |\n| maxConcurrentUploads   | Number                | `2`                            |\n| uploadMultiple         | Boolean               | `false`                        |\n| maxFileSize            | Number                | `256`                          |\n| fileSizeBaseInBinary   | Boolean               | `false`                        |\n| createImageThumbnails  | Boolean               | `true`                         |\n| maxThumbnailFileSize   | Number                | `10`                           |\n| thumbnailWidth         | Number                | `120`                          |\n| thumbnailHeight        | Number                | `120`                          |\n| maxFiles               | Number                | `null`                         |\n| clickable              | Boolean               | `true`                         |\n| ignoreHiddenFiles      | Boolean               | `true`                         |\n| acceptedFileTypes      | Array                 | `[Function: default]`          |\n| autoProcessQueue       | Boolean               | `true`                         |\n| autoQueue              | Boolean               | `true`                         |\n| capture                | String                | `null`                         |\n| errMaxFileSizeExceeded | Function              | `[Function: default]`          |\n| errInvalidFileType     | Function              | `[Function: default]`          |\n| errMaxFilesExceeded    | Function              | `[Function: default]`          |\n| accept                 | Function              | `[Function: default]`          |\n| resize                 | Function              | `[Function: resizeImg]`        |\n| adapterOptions         | Object                | `[Function: objFactory]`       |\n| uploadAdapter          | Function              | `[Function: XHRUploadAdapter]` |\n\n## Adapter Options: XHRUploadAdapter\n\n[**View Source**](./src/upload-adapters/xhr.ts#L24-L79)\n\n| Property         | Type     | Default                                           |\n| ---------------- | -------- | ------------------------------------------------- |\n| url              | string   | _(required)_                                      |\n| method           | string   | `\"post\"`                                          |\n| withCredentials  | boolean  | `false`                                           |\n| timeout          | number   | `0`                                               |\n| paramName        | string   | `\"file\"`                                          |\n| params           | object   | `{}`                                              |\n| headers          | object   | `{ Accept, 'Cache-Control', 'X-Requested-With' }` |\n| responseType     | string   | `\"json\"`                                          |\n| errUploadError   | function | `[Function]`                                      |\n| errUploadTimeout | function | `[Function]`                                      |\n| renameFile       | function | `[Function]`                                      |\n\n## Events\n\n| Event                   | Arguments                                            | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `DragEvent`                                          | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `DragEvent`                                          | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `DragEvent`                                          | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `DragEvent`                                          | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `DragEvent`                                          | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `DragEvent`                                          | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to VTransmitFile and added to the component data. _(status: 'added')_              |\n| `added-files`           | `VTransmitFile[]`                                    | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `VTransmitFile, Blob\\|URL`                           | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `VTransmitFile, message: String, XmlHttpRequest`     | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `VTransmitFile[], message: String, XmlHttpRequest`   | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `VTransmitFile[]`                                    | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `VTransmitFile, progress: Number, bytesSent: Number` | Fired on progress of the XHR.                                                                                                                                       |\n| `total-upload-progress` | `VTransmitFile, totalUploadProgress: Number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `VTransmitFile, XmlHttpRequest, FormData`            | Fired right before the XHR is sent.                                                                                                                                 |\n| `sending-multiple`      | `VTransmitFile[], XmlHttpRequest, FormData`          | Fired right before the XHR is sent.                                                                                                                                 |\n| `success`               | `VTransmitFile, response: String, ProgressEvent`     | Fired on load of the XHR.                                                                                                                                           |\n| `success-multiple`      | `VTransmitFile[], response: String, ProgressEvent`   | Fired on load of the XHR.                                                                                                                                           |\n| `timeout`               | `VTransmitFile, TimeoutEvent, XmlHttpRequest`        | Fired on timeout of the XHR.                                                                                                                                        |\n| `timeout-multiple`      | `VTransmitFile[], TimeoutEvent, XmlHttpRequest`      | Fired on timeout of the XHR.                                                                                                                                        |\n| `canceled`              | `VTransmitFile`                                      | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `canceled-multiple`     | `VTransmitFile[]`                                    | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `complete`              | `VTransmitFile`                                      | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `complete-multiple`     | `VTransmitFile[]`                                    | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `reset`                 | n/a                                                  | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `VTransmitFile[]`                                    | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: Boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" slot-scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        clickable: false,\n        adapterOptions: {\n          url: './upload.php',\n        },\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"12b162cb272de4833ca914c0fad590a758b1d442","_id":"vue-transmit@9.0.0-alpha.7","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-bNXVaufkebrqBss47pBn1cJNBobi3JvHvYYfrwsLf6s9UbvjmAeRg6SdhfvEmaHVveMN8d1NqXj8/zm3280XMQ==","shasum":"cbd71fe0091504debb90fffb0a09c1183c2daf5e","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.7.tgz","fileCount":50,"unpackedSize":7275565,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHQCEDGDfQhe0o+YMmc9LIXDDrK4bLi1yK4verLcL1SQAiA96W92vK3TKiUby43Kalt+kLdLadJ1FgWKyHpEteJ92g=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.7_1518851256008_0.6463554807009178"},"_hasShrinkwrap":false},"9.0.0-alpha.8":{"name":"vue-transmit","version":"9.0.0-alpha.8","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.js","main":"dist/vue-transmit.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"files":["dist"],"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","postrelease:alpha":"git push --follow-tags origin master && npm publish --tag prerelease","release:beta":"standard-version --prerelease beta","postrelease:beta":"git push --follow-tags origin master && npm publish --tag prerelease","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{},"devDependencies":{"@types/jest":"^22.1.3","cross-env":"^5.1.3","jest":"^22.3.0","lodash":"^4.17.5","postcss":"^6.0.18","rimraf":"^2.6.2","rollup":"^0.56.1","rollup-plugin-postcss":"^1.2.8","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.1","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.0.4","typescript":"^2.7.2","uglify-js":"^3.3.11","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\nCheck out the CodeSandbox here: https://codesandbox.io/s/lyzqn4m659\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nVue-Transmit also has a modular upload transport. The default transport\nimplementation uses `XMLHttpRequest` to upload client-side files using\nmulti-part form data, but this could be swapped for a custom implementation for\nsomething like Firebase.\n\nIn order to integrate with Vue.js reactivity, an object's properties must be\ndefined initially, be enumerable, and be configurable. A special File class has\nbeen written (`VTransmitFile`) to register native browser file objects from\nuploads reactively, since the native object properties are read-only. This class\nalso adds useful information not present in the native File object (dimensions,\nupload stats, etc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Modular upload transport layer\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`, `Promise`) that\nrequire\n[a polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill).\nAll other ESNext language features (arrow fns, for of, etc.) are transpiled with\nTypeScript._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## v8.x.x\n\n[Visit the `8.x` branch here.](https://github.com/alexsasharegan/vue-transmit/tree/8.x)\n\nVersion 9 of Vue Transmit marks a new design that introduces various breaking\nchanges. Migrating an existing app to `>=v9.x.x` should be roughly hour of work\nfor most use cases (mileage may vary), but if you're using `v8.x.x` and you\ndon't need any `v9` features, there's no need to update. An `8.x` branch will be\nmaintained for LTS\\* support.\n\n\\* LTS support `===` patches only.\n\n## Installation\n\n```sh\nnpm install vue-transmit\n```\n\n## Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfield of the package, while non-esm will resolve from the `main` field. By\ndefault, the unminified versions are specified. For most setups, importing the\nlib would like either of the following:\n\n```js\n// ESM\nimport { VueTransmitPlugin } from \"vue-transmit\";\n// Common.js\nconst { VueTransmitPlugin } = require(\"vue-transmit\");\n// Browser\nconst VueTransmitPlugin = window.VueTransmit.VueTransmitPlugin;\n\n// Installation\nVue.use(VueTransmit);\n```\n\nIf you don't wish to register `VueTransmit` as a global component, you can\nimport the component directly.\n\n```js\n// ESM\nimport { VueTransmit } from \"vue-transmit\";\n// Common.js\nconst { VueTransmit } = require(\"vue-transmit\");\n// Browser\nconst VueTransmit = window.VueTransmit.VueTransmit;\n\n// Your component using VueTransmit\nconst MyComponent = Vue.extend({\n  name: \"my-component\",\n  components: {\n    \"vue-transmit\": VueTransmit,\n  },\n});\n```\n\n| Target | Path                                        | Minified |\n| ------ | ------------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js`     | false    |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.min.js` | true     |\n| UMD    | `vue-transmit/dist/vue-transmit.js`         | false    |\n| UMD    | `vue-transmit/dist/vue-transmit.min.js`     | true     |\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n[**View Source**](./src/components/VueTransmit.vue#L85-L272)\n\n| Property               | Type                  | Default                        |\n| ---------------------- | --------------------- | ------------------------------ |\n| tag                    | String                | `\"div\"`                        |\n| uploadAreaClasses      | Array, Object, String | `null`                         |\n| uploadAreaAttrs        | Object                | `[Function: objFactory]`       |\n| uploadAreaListeners    | Object                | `[Function: objFactory]`       |\n| dragClass              | String                | `null`                         |\n| maxConcurrentUploads   | Number                | `2`                            |\n| uploadMultiple         | Boolean               | `false`                        |\n| maxFileSize            | Number                | `256`                          |\n| fileSizeBaseInBinary   | Boolean               | `false`                        |\n| createImageThumbnails  | Boolean               | `true`                         |\n| maxThumbnailFileSize   | Number                | `10`                           |\n| thumbnailWidth         | Number                | `120`                          |\n| thumbnailHeight        | Number                | `120`                          |\n| maxFiles               | Number                | `null`                         |\n| clickable              | Boolean               | `true`                         |\n| ignoreHiddenFiles      | Boolean               | `true`                         |\n| acceptedFileTypes      | Array                 | `[Function: default]`          |\n| autoProcessQueue       | Boolean               | `true`                         |\n| autoQueue              | Boolean               | `true`                         |\n| capture                | String                | `null`                         |\n| errMaxFileSizeExceeded | Function              | `[Function: default]`          |\n| errInvalidFileType     | Function              | `[Function: default]`          |\n| errMaxFilesExceeded    | Function              | `[Function: default]`          |\n| accept                 | Function              | `[Function: default]`          |\n| resize                 | Function              | `[Function: resizeImg]`        |\n| adapterOptions         | Object                | `[Function: objFactory]`       |\n| uploadAdapter          | Function              | `[Function: XHRUploadAdapter]` |\n\n## Adapter Options: XHRUploadAdapter\n\n[**View Source**](./src/upload-adapters/xhr.ts#L24-L79)\n\n| Property         | Type     | Default                                           |\n| ---------------- | -------- | ------------------------------------------------- |\n| url              | string   | _(required)_                                      |\n| method           | string   | `\"post\"`                                          |\n| withCredentials  | boolean  | `false`                                           |\n| timeout          | number   | `0`                                               |\n| paramName        | string   | `\"file\"`                                          |\n| params           | object   | `{}`                                              |\n| headers          | object   | `{ Accept, 'Cache-Control', 'X-Requested-With' }` |\n| responseType     | string   | `\"json\"`                                          |\n| errUploadError   | function | `[Function]`                                      |\n| errUploadTimeout | function | `[Function]`                                      |\n| renameFile       | function | `[Function]`                                      |\n\n## Events\n\n| Event                   | Arguments                                            | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `DragEvent`                                          | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `DragEvent`                                          | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `DragEvent`                                          | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `DragEvent`                                          | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `DragEvent`                                          | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `DragEvent`                                          | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to VTransmitFile and added to the component data. _(status: 'added')_              |\n| `added-files`           | `VTransmitFile[]`                                    | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `VTransmitFile, Blob\\|URL`                           | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `VTransmitFile, message: String, XmlHttpRequest`     | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `VTransmitFile[], message: String, XmlHttpRequest`   | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `VTransmitFile[]`                                    | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `VTransmitFile, progress: Number, bytesSent: Number` | Fired on progress of the XHR.                                                                                                                                       |\n| `total-upload-progress` | `VTransmitFile, totalUploadProgress: Number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `VTransmitFile, XmlHttpRequest, FormData`            | Fired right before the XHR is sent.                                                                                                                                 |\n| `sending-multiple`      | `VTransmitFile[], XmlHttpRequest, FormData`          | Fired right before the XHR is sent.                                                                                                                                 |\n| `success`               | `VTransmitFile, response: String, ProgressEvent`     | Fired on load of the XHR.                                                                                                                                           |\n| `success-multiple`      | `VTransmitFile[], response: String, ProgressEvent`   | Fired on load of the XHR.                                                                                                                                           |\n| `timeout`               | `VTransmitFile, TimeoutEvent, XmlHttpRequest`        | Fired on timeout of the XHR.                                                                                                                                        |\n| `timeout-multiple`      | `VTransmitFile[], TimeoutEvent, XmlHttpRequest`      | Fired on timeout of the XHR.                                                                                                                                        |\n| `canceled`              | `VTransmitFile`                                      | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `canceled-multiple`     | `VTransmitFile[]`                                    | Fired upon cancellation of the XHR. _(status: 'canceled')_                                                                                                          |\n| `complete`              | `VTransmitFile`                                      | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `complete-multiple`     | `VTransmitFile[]`                                    | Fired upon completion of the XHR. _(success or failure)_                                                                                                            |\n| `reset`                 | n/a                                                  | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `VTransmitFile[]`                                    | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: Boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" slot-scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        clickable: false,\n        adapterOptions: {\n          url: './upload.php',\n        },\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"5e52731d1100c1a50c90e6ade93e54e792594ea7","_id":"vue-transmit@9.0.0-alpha.8","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-Tq0nH7ock+grRrTzEUuBJlBN3BvRO7wrSzOxsiZjJ5iE3P4rx+4xPU0fs7z8QgHL1vcKcMETclmMwKGjxn+3JQ==","shasum":"63090d5fbc3b99949afe6aebdd28c6c3124fbe56","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.8.tgz","fileCount":21,"unpackedSize":512229,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMZgmEB9cNQREsNVQHCkUdN6cWx9/WwQ5CAIzrAjq0qwIhAI4GbRKydn1FaUQf2Rj1or8HDa1qTYVCQAKqVSV+0C0E"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.8_1519321832464_0.8048954129204371"},"_hasShrinkwrap":false},"9.0.0-alpha.9":{"name":"vue-transmit","version":"9.0.0-alpha.9","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.js","main":"dist/vue-transmit.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"files":["dist"],"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","postrelease:alpha":"git push --follow-tags origin master && npm publish --tag prerelease","release:beta":"standard-version --prerelease beta","postrelease:beta":"git push --follow-tags origin master && npm publish --tag prerelease","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{},"devDependencies":{"@types/jest":"^22.1.3","cross-env":"^5.1.3","jest":"^22.3.0","lodash":"^4.17.5","postcss":"^6.0.18","rimraf":"^2.6.2","rollup":"^0.56.1","rollup-plugin-postcss":"^1.2.8","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.1","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.0.4","typescript":"^2.7.2","uglify-js":"^3.3.11","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\nCheck out the CodeSandbox here: https://codesandbox.io/s/lyzqn4m659\n\nHave a question? Check out the [FAQ section](#faq).<br> Can't find what you're\nlooking for?\n[Open an issue](https://github.com/alexsasharegan/vue-transmit/issues).<br> Want\nto add to the docs?\n[Submit a PR](https://github.com/alexsasharegan/vue-transmit/pulls).\n\n## Table of Contents\n\n* [Features](#features) - Vue Transmit features\n* [v8.x](#v8xx) - Info for v8.x users\n* [Installation](#installation) - Package install\n  * [Builds](#builds) - ESM, UMD build info\n* [Component Props](#props-vue-transmit) - Vue component props\n* [XHR Adapter Options](#adapter-options-xhruploadadapter) - Default adapter\n  options\n* [Component Events](#events) - Events emitted from VueTransmit\n* [File Statuses](#file-statuses) - enum of `file.status` values\n* [Slots](#slots) - Component slots\n  * [Slot: default](#default-slotsdefault) - default slot\n  * [Slot: `\"files\"`](#files-scoped-slotsfiles) - files slot\n* [VTransmitFile](#vtransmitfile) - the class that wraps the native File object\n* [Usage example](#usage) - implementation example\n* [FAQ](#faq) - Frequently Asked Questions\n  * [Accessing the VueTransmit instance](#accessing-the-vuetransmit-component-instance)\n  * [How to Remove a File](#how-to-remove-a-file)\n* [Lifecycle](#lifecycle) - Basic explanation of upload lifecycle\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nVue-Transmit also has a modular upload transport. The default transport\nimplementation uses `XMLHttpRequest` to upload client-side files using\nmulti-part form data, but this could be swapped for a custom implementation for\nsomething like Firebase or WebSockets.\n\nIn order to integrate with Vue.js reactivity, an object's properties must be\ndefined initially, be enumerable, and be configurable. A special File class has\nbeen written (`VTransmitFile`) to register native browser file objects from\nuploads reactively, since the native object properties are read-only. This class\nalso adds useful information not present in the native File object (dimensions,\nupload stats, etc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Modular upload transport layer\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`, `Promise`) that\nrequire\n[a polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill).\nAll other ESNext language features (arrow fns, for of, etc.) are transpiled with\nTypeScript._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## v8.x.x\n\n[Visit the `8.x` branch here.](https://github.com/alexsasharegan/vue-transmit/tree/8.x)\n\nVersion 9 of Vue Transmit marks a new design that introduces various breaking\nchanges. Migrating an existing app to `>=v9.x.x` should be roughly hour of work\nfor most use cases (mileage may vary), but if you're using `v8.x.x` and you\ndon't need any `v9` features, there's no need to update. An `8.x` branch will be\nmaintained for LTS\\* support.\n\n\\* LTS support `===` patches only.\n\n## Installation\n\n```sh\n# npm\nnpm install vue-transmit\n\n# yarn\nyarn add vue-transmit\n```\n\n### Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfield of the package, while non-esm will resolve from the `main` field. By\ndefault, the unminified versions are specified. For most setups, importing the\nlib would like either of the following:\n\n```js\n// ESM default export\nimport VueTransmit from \"vue-transmit\";\n// ESM named export\nimport { VueTransmitPlugin } from \"vue-transmit\";\n// Common.js (no 'default' export)\nconst { VueTransmitPlugin } = require(\"vue-transmit\");\n// Browser\nconst { VueTransmitPlugin } = window.VueTransmit;\n\n// Installation\nVue.use(VueTransmit);\n```\n\nIf you don't wish to register `VueTransmit` as a global component, you can\nimport the component directly.\n\n```js\n// ESM\nimport { VueTransmit } from \"vue-transmit\";\n// Common.js\nconst { VueTransmit } = require(\"vue-transmit\");\n// Browser\nconst { VueTransmit } = window.VueTransmit;\n\n// Your component using VueTransmit\nconst MyComponent = Vue.extend({\n  name: \"my-component\",\n  components: {\n    \"vue-transmit\": VueTransmit,\n  },\n});\n```\n\n| Target | Path                                        | Minified |\n| ------ | ------------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js`     | false    |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.min.js` | true     |\n| UMD    | `vue-transmit/dist/vue-transmit.js`         | false    |\n| UMD    | `vue-transmit/dist/vue-transmit.min.js`     | true     |\n\n```sh\nvue-transmit\n└── dist\n    ├── index.d.ts\n    ├── vue-transmit.css\n    ├── vue-transmit.esm.js\n    ├── vue-transmit.esm.js.map\n    ├── vue-transmit.esm.min.js\n    ├── vue-transmit.esm.min.js.map\n    ├── vue-transmit.js\n    ├── vue-transmit.js.map\n    ├── vue-transmit.min.js\n    └── vue-transmit.min.js.map\n```\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n[**View Source**](./src/components/VueTransmit.vue#L87)\n\n| Property               | Type                  | Default/Function Signature                                                                                                                                                                 |\n| ---------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| tag                    | string                | `\"div\"`                                                                                                                                                                                    |\n| uploadAreaClasses      | array, object, string | `null`                                                                                                                                                                                     |\n| uploadAreaAttrs        | object                | `{}`                                                                                                                                                                                       |\n| uploadAreaListeners    | object                | `{}`                                                                                                                                                                                       |\n| dragClass              | string                | `null`                                                                                                                                                                                     |\n| maxConcurrentUploads   | number                | `2`                                                                                                                                                                                        |\n| uploadMultiple         | boolean               | `false`                                                                                                                                                                                    |\n| maxFileSize            | number                | `256`                                                                                                                                                                                      |\n| fileSizeBaseInBinary   | boolean               | `false`                                                                                                                                                                                    |\n| createImageThumbnails  | boolean               | `true`                                                                                                                                                                                     |\n| maxThumbnailFileSize   | number                | `10`                                                                                                                                                                                       |\n| thumbnailWidth         | number                | `120`                                                                                                                                                                                      |\n| thumbnailHeight        | number                | `120`                                                                                                                                                                                      |\n| maxFiles               | number                | `null`                                                                                                                                                                                     |\n| clickable              | boolean               | `true`                                                                                                                                                                                     |\n| ignoreHiddenFiles      | boolean               | `true`                                                                                                                                                                                     |\n| acceptedFileTypes      | array                 | `[]`                                                                                                                                                                                       |\n| autoProcessQueue       | boolean               | `true`                                                                                                                                                                                     |\n| autoQueue              | boolean               | `true`                                                                                                                                                                                     |\n| capture                | string                | `null`                                                                                                                                                                                     |\n| errMaxFileSizeExceeded | function              | `(fileSize: number, maxFileSize: number, units: string) => string`                                                                                                                         |\n| errInvalidFileType     | function              | `(type: string, acceptedTypes: string[], file: VTransmitFile) => string`                                                                                                                   |\n| errMaxFilesExceeded    | function              | `(maxFiles: number) => string`                                                                                                                                                             |\n| accept                 | function              | `(file: VTransmitFile, done: Function) => string`                                                                                                                                          |\n| resize                 | function              | `(file: VTransmitFile, dims: { width: number; height: number; }) => { sx: number; sy: number; sWidth: number; sHeight: number; dx: number; dy: number; dWidth: number; dHeight: number; }` |\n| adapterOptions         | object                | `{}`                                                                                                                                                                                       |\n| uploadAdapter          | function              | `XHRUploadAdapter`                                                                                                                                                                         |\n\n## Adapter Options: XHRUploadAdapter\n\n[**View Source**](./src/upload-adapters/xhr.ts#L24-L79)\n\n| Property          | Type                                                              | Default/Function Signature                        |\n| ----------------- | ----------------------------------------------------------------- | ------------------------------------------------- |\n| url               | string                                                            | _(required)_                                      |\n| method            | string                                                            | `\"post\"`                                          |\n| withCredentials   | boolean                                                           | `false`                                           |\n| timeout           | number                                                            | `0`                                               |\n| paramName         | string                                                            | `\"file\"`                                          |\n| params            | `{ [key: string]: string }`                                       | `{}`                                              |\n| headers           | `{ [key: string]: string }`                                       | `{ Accept, 'Cache-Control', 'X-Requested-With' }` |\n| responseType      | `\"\" \\| \"arraybuffer\" \\| \"blob\" \\| \"document\" \\| \"json\" \\| \"text\"` | `\"json\"`                                          |\n| errUploadError    | function                                                          | `(xhr: XMLHttpRequest) => string`                 |\n| errUploadTimeout  | function                                                          | `(xhr: XMLHttpRequest) => string`                 |\n| renameFile        | function                                                          | `(name: string) => string`                        |\n| responseParseFunc | function                                                          | `<T>(xhr: XMLHttpRequest) => T`                   |\n\n## Events\n\n| Event                   | Arguments                                                  | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `event: DragEvent`                                         | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `event: DragEvent`                                         | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `event: DragEvent`                                         | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `event: DragEvent`                                         | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `event: DragEvent`                                         | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `event: DragEvent`                                         | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `file: VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to file: VTransmitFile and added to the component data. _(status: 'added')_        |\n| `added-files`           | `files: VTransmitFile[]`                                   | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `file: VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `file: VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `file: VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `file: VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `file: VTransmitFile, data: Blob\\|URL`                     | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `file: VTransmitFile, message: string, data: any`          | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `files: VTransmitFile[], message: string, data: any`       | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `file: VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `files: VTransmitFile[]`                                   | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `file: VTransmitFile, progress: number, bytesSent: number` | Fired on progress of the upload.                                                                                                                                    |\n| `total-upload-progress` | `file: VTransmitFile, totalUploadProgress: number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `file: VTransmitFile, xhr: XMLHttpRequest, data: FormData` | Fired right before the upload is sent.                                                                                                                              |\n| `sending-multiple`      | `files: VTransmitFile[], xhr: XMLHttpRequest, FormData`    | Fired right before the upload is sent.                                                                                                                              |\n| `success`               | `file: VTransmitFile, result: any`                         | Fired on load of the upload.                                                                                                                                        |\n| `success-multiple`      | `files: VTransmitFile[], result: any`                      | Fired on load of the upload.                                                                                                                                        |\n| `timeout`               | `file: VTransmitFile, message: string, data: any`          | Fired on timeout of the upload.                                                                                                                                     |\n| `timeout-multiple`      | `files: VTransmitFile[], message: string, data: any`       | Fired on timeout of the upload.                                                                                                                                     |\n| `canceled`              | `file: VTransmitFile`                                      | Fired upon cancellation of the upload. _(status: 'canceled')_                                                                                                       |\n| `canceled-multiple`     | `files: VTransmitFile[]`                                   | Fired upon cancellation of the upload. _(status: 'canceled')_                                                                                                       |\n| `complete`              | `file: VTransmitFile`                                      | Fired upon completion of the upload. _(whether success or failure)_                                                                                                 |\n| `complete-multiple`     | `files: VTransmitFile[]`                                   | Fired upon completion of the upload. _(whether success or failure)_                                                                                                 |\n| `reset`                 | `void`                                                     | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `file: VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `files: VTransmitFile[]`                                   | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `file: VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## File Statuses\n\nVTransmitFiles have a status property used to indicate its place in the upload\ncycle. Note that `Accepted` is an alias of `Queued` since the is the same place\nin the lifecycle (inherited from Dropzone lifecycle). This may change in a\nfuture version for more clarity. Also note that `Rejected` is not a status.\nAccepted/rejected is derived from the `file.accepted` boolean property.\n\n```ts\nenum UploadStatuses {\n  None = \"\",\n  Added = \"added\",\n  Queued = \"queued\",\n  Accepted = \"queued\",\n  Uploading = \"uploading\",\n  Canceled = \"canceled\",\n  Error = \"error\",\n  Timeout = \"timeout\",\n  Success = \"success\",\n}\n```\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  canceledFiles: VTransmitFile[];\n  failedFiles: VTransmitFile[];\n  timeoutFiles: VTransmitFile[];\n  successfulFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" slot-scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        clickable: false,\n        adapterOptions: {\n          url: './upload.php',\n        },\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## FAQ\n\n### Accessing the VueTransmit component instance\n\nIt's always recommended to place a ref on your vue-transmit instance so that\nyour component can call methods and retrieve data directly from the instance.\n\n```html\n<vue-transmit ref=\"vtransmit\" />\n```\n\n### How to remove a file\n\nYou can remove a single file or all files from the component instance. To remove\na single file, you'll need the file you wish to delete.\n\n```js\n// from your component\nthis.$refs.vtransmit.removeFile(vtFile); // single file\nthis.$refs.vtransmit.removeAllFiles((cancelInProgressUploads = false)); // all files\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"dec466637a02b06f38f8232c5feaed7c9f300595","_id":"vue-transmit@9.0.0-alpha.9","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-k8aDDa4lslp1U4y8rP6gzuz021Rob0zlTcB0KdqVqsyoewH0rMUh6lhRlKvI4CZV7Y8WT+ohZIrwVOdGlS/dqQ==","shasum":"180096639c073a50a4db0d554e297f0028ab0c9b","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.9.tgz","fileCount":21,"unpackedSize":530912,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCL1QdMhsunjMIN6uARkQMUxSXGqIyRr6pzQpqeP7FyowIgNNg1biBhSbvlwEzWKTKGOF+GgLgufxQirhpKiSAo3nY="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.9_1519919842756_0.06203473749372557"},"_hasShrinkwrap":false},"8.1.0":{"name":"vue-transmit","version":"8.1.0","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","prerelease:dry":"npm run build","release:dry":"standard-version --dry-run","prerelease":"npm run build","release":"standard-version","postrelease":"git push --follow-tags origin 8.x && npm publish"},"dependencies":{"lodash-es":"^4.17.4"},"devDependencies":{"ajv":"^6.0.1","ajv-keywords":"^3.0.0","autoprefixer":"^7.2.5","av-ts":"^0.9.2","awesome-typescript-loader":"^3.4.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.3","css-loader":"^0.28.8","eslint":"^4.15.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.6","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.16","postcss-loader":"^2.0.10","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.3.0","style-loader":"^0.19.1","ts-loader":"^3.2.0","typescript":"^2.6.2","url-loader":"^0.6.2","vue":"^2.5.13","vue-class-component":"^6.1.2","vue-loader":"^13.6.2","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.13","vue-ts-loader":"0.0.3","webpack":"^3.10.0","webpack-bundle-analyzer":"^2.9.2","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.10.0"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"3f43e7dfbc40b4dc3538d509b2e46cb4d7e875fb","_id":"vue-transmit@8.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-6BekVV7bfdnQNx6SMNi8UniCuRHV+dp2PeaYR+G9bxrvgCMUmvAyft2GFM0KWI2WUmRah2DOoDEp/NqNDg/XmA==","shasum":"07434190d2209432b4359d40d1c2fb707fc4d89c","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-8.1.0.tgz","fileCount":49,"unpackedSize":8181801,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1FAA9lFWGxZsz1BPDero06rY5OOkrH5urq50aQyMPdwIgFnWI0joLrl7JXuJMQ9Ff98ubo6gV19fhvUsGKY9JXJs="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_8.1.0_1519920586992_0.024481688115874922"},"_hasShrinkwrap":false},"9.0.0-alpha.10":{"name":"vue-transmit","version":"9.0.0-alpha.10","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.js","main":"dist/vue-transmit.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"files":["dist"],"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","postrelease:alpha":"git push --follow-tags origin master && npm publish --tag prerelease","release:beta":"standard-version --prerelease beta","postrelease:beta":"git push --follow-tags origin master && npm publish --tag prerelease","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{},"devDependencies":{"@types/jest":"^22.1.4","cross-env":"^5.1.3","jest":"^22.4.2","lodash":"^4.17.5","postcss":"^6.0.19","rimraf":"^2.6.2","rollup":"^0.56.3","rollup-plugin-postcss":"^1.3.1","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.1","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.4.0","typescript":"^2.7.2","uglify-js":"^3.3.12","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\nCheck out the CodeSandbox here: https://codesandbox.io/s/lyzqn4m659\n\nHave a question? Check out the [FAQ section](#faq).<br> Can't find what you're\nlooking for?\n[Open an issue](https://github.com/alexsasharegan/vue-transmit/issues).<br> Want\nto add to the docs?\n[Submit a PR](https://github.com/alexsasharegan/vue-transmit/pulls).\n\n## Table of Contents\n\n* [Features](#features) - Vue Transmit features\n* [v8.x](#v8xx) - Info for v8.x users\n* [Installation](#installation) - Package install\n  * [Builds](#builds) - ESM, UMD build info\n* [Component Props](#props-vue-transmit) - Vue component props\n* [XHR Adapter Options](#adapter-options-xhruploadadapter) - Default adapter\n  options\n* [Component Events](#events) - Events emitted from VueTransmit\n* [File Statuses](#file-statuses) - enum of `file.status` values\n* [Slots](#slots) - Component slots\n  * [Slot: default](#default-slotsdefault) - default slot\n  * [Slot: `\"files\"`](#files-scoped-slotsfiles) - files slot\n* [VTransmitFile](#vtransmitfile) - the class that wraps the native File object\n* [Usage example](#usage) - implementation example\n* [FAQ](#faq) - Frequently Asked Questions\n  * [Accessing the VueTransmit instance](#accessing-the-vuetransmit-component-instance)\n  * [How to Remove a File](#how-to-remove-a-file)\n* [Lifecycle](#lifecycle) - Basic explanation of upload lifecycle\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nVue-Transmit also has a modular upload transport. The default transport\nimplementation uses `XMLHttpRequest` to upload client-side files using\nmulti-part form data, but this could be swapped for a custom implementation for\nsomething like Firebase or WebSockets.\n\nIn order to integrate with Vue.js reactivity, an object's properties must be\ndefined initially, be enumerable, and be configurable. A special File class has\nbeen written (`VTransmitFile`) to register native browser file objects from\nuploads reactively, since the native object properties are read-only. This class\nalso adds useful information not present in the native File object (dimensions,\nupload stats, etc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Modular upload transport layer\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`, `Promise`) that\nrequire\n[a polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill).\nAll other ESNext language features (arrow fns, for of, etc.) are transpiled with\nTypeScript._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## v8.x.x\n\n[Visit the `8.x` branch here.](https://github.com/alexsasharegan/vue-transmit/tree/8.x)\n\nVersion 9 of Vue Transmit marks a new design that introduces various breaking\nchanges. Migrating an existing app to `>=v9.x.x` should be roughly hour of work\nfor most use cases (mileage may vary), but if you're using `v8.x.x` and you\ndon't need any `v9` features, there's no need to update. An `8.x` branch will be\nmaintained for LTS\\* support.\n\n\\* LTS support `===` patches only.\n\n## Installation\n\n```sh\n# npm\nnpm install vue-transmit\n\n# yarn\nyarn add vue-transmit\n```\n\n### Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfield of the package, while non-esm will resolve from the `main` field. By\ndefault, the unminified versions are specified. For most setups, importing the\nlib would like either of the following:\n\n```js\n// ESM default export\nimport VueTransmit from \"vue-transmit\";\n// ESM named export\nimport { VueTransmitPlugin } from \"vue-transmit\";\n// Common.js (no 'default' export)\nconst { VueTransmitPlugin } = require(\"vue-transmit\");\n// Browser\nconst { VueTransmitPlugin } = window.VueTransmit;\n\n// Installation\nVue.use(VueTransmit);\n```\n\nIf you don't wish to register `VueTransmit` as a global component, you can\nimport the component directly.\n\n```js\n// ESM\nimport { VueTransmit } from \"vue-transmit\";\n// Common.js\nconst { VueTransmit } = require(\"vue-transmit\");\n// Browser\nconst { VueTransmit } = window.VueTransmit;\n\n// Your component using VueTransmit\nconst MyComponent = Vue.extend({\n  name: \"my-component\",\n  components: {\n    \"vue-transmit\": VueTransmit,\n  },\n});\n```\n\n| Target | Path                                        | Minified |\n| ------ | ------------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js`     | false    |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.min.js` | true     |\n| UMD    | `vue-transmit/dist/vue-transmit.js`         | false    |\n| UMD    | `vue-transmit/dist/vue-transmit.min.js`     | true     |\n\n```sh\nvue-transmit\n└── dist\n    ├── index.d.ts\n    ├── vue-transmit.css\n    ├── vue-transmit.esm.js\n    ├── vue-transmit.esm.js.map\n    ├── vue-transmit.esm.min.js\n    ├── vue-transmit.esm.min.js.map\n    ├── vue-transmit.js\n    ├── vue-transmit.js.map\n    ├── vue-transmit.min.js\n    └── vue-transmit.min.js.map\n```\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n[**View Source**](./src/components/VueTransmit.vue#L87)\n\n| Property               | Type                  | Default/Function Signature                                                                                                                                                                 |\n| ---------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| tag                    | string                | `\"div\"`                                                                                                                                                                                    |\n| uploadAreaClasses      | array, object, string | `null`                                                                                                                                                                                     |\n| uploadAreaAttrs        | object                | `{}`                                                                                                                                                                                       |\n| uploadAreaListeners    | object                | `{}`                                                                                                                                                                                       |\n| dragClass              | string                | `null`                                                                                                                                                                                     |\n| maxConcurrentUploads   | number                | `2`                                                                                                                                                                                        |\n| uploadMultiple         | boolean               | `false`                                                                                                                                                                                    |\n| maxFileSize            | number                | `256`                                                                                                                                                                                      |\n| fileSizeBaseInBinary   | boolean               | `false`                                                                                                                                                                                    |\n| createImageThumbnails  | boolean               | `true`                                                                                                                                                                                     |\n| maxThumbnailFileSize   | number                | `10`                                                                                                                                                                                       |\n| thumbnailWidth         | number                | `120`                                                                                                                                                                                      |\n| thumbnailHeight        | number                | `120`                                                                                                                                                                                      |\n| maxFiles               | number                | `null`                                                                                                                                                                                     |\n| clickable              | boolean               | `true`                                                                                                                                                                                     |\n| ignoreHiddenFiles      | boolean               | `true`                                                                                                                                                                                     |\n| acceptedFileTypes      | array                 | `[]`                                                                                                                                                                                       |\n| autoProcessQueue       | boolean               | `true`                                                                                                                                                                                     |\n| autoQueue              | boolean               | `true`                                                                                                                                                                                     |\n| capture                | string                | `null`                                                                                                                                                                                     |\n| errMaxFileSizeExceeded | function              | `(fileSize: number, maxFileSize: number, units: string) => string`                                                                                                                         |\n| errInvalidFileType     | function              | `(type: string, acceptedTypes: string[], file: VTransmitFile) => string`                                                                                                                   |\n| errMaxFilesExceeded    | function              | `(maxFiles: number) => string`                                                                                                                                                             |\n| accept                 | function              | `(file: VTransmitFile, done: Function) => string`                                                                                                                                          |\n| resize                 | function              | `(file: VTransmitFile, dims: { width: number; height: number; }) => { sx: number; sy: number; sWidth: number; sHeight: number; dx: number; dy: number; dWidth: number; dHeight: number; }` |\n| adapterOptions         | object                | `{}`                                                                                                                                                                                       |\n| uploadAdapter          | function              | `XHRUploadAdapter`                                                                                                                                                                         |\n\n## Adapter Options: XHRUploadAdapter\n\n[**View Source**](./src/upload-adapters/xhr.ts#L24-L79)\n\n| Property          | Type                                                              | Default/Function Signature                        |\n| ----------------- | ----------------------------------------------------------------- | ------------------------------------------------- |\n| url               | string                                                            | _(required)_                                      |\n| method            | string                                                            | `\"post\"`                                          |\n| withCredentials   | boolean                                                           | `false`                                           |\n| timeout           | number                                                            | `0`                                               |\n| paramName         | string                                                            | `\"file\"`                                          |\n| params            | `{ [key: string]: string }`                                       | `{}`                                              |\n| headers           | `{ [key: string]: string }`                                       | `{ Accept, 'Cache-Control', 'X-Requested-With' }` |\n| responseType      | `\"\" \\| \"arraybuffer\" \\| \"blob\" \\| \"document\" \\| \"json\" \\| \"text\"` | `\"json\"`                                          |\n| errUploadError    | function                                                          | `(xhr: XMLHttpRequest) => string`                 |\n| errUploadTimeout  | function                                                          | `(xhr: XMLHttpRequest) => string`                 |\n| renameFile        | function                                                          | `(name: string) => string`                        |\n| responseParseFunc | function                                                          | `<T>(xhr: XMLHttpRequest) => T`                   |\n\n## Events\n\n| Event                   | Arguments                                                  | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `event: DragEvent`                                         | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `event: DragEvent`                                         | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `event: DragEvent`                                         | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `event: DragEvent`                                         | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `event: DragEvent`                                         | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `event: DragEvent`                                         | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `file: VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to file: VTransmitFile and added to the component data. _(status: 'added')_        |\n| `added-files`           | `files: VTransmitFile[]`                                   | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `file: VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `file: VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `file: VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `file: VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `file: VTransmitFile, data: Blob\\|URL`                     | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `file: VTransmitFile, message: string, data: any`          | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `files: VTransmitFile[], message: string, data: any`       | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `file: VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `files: VTransmitFile[]`                                   | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `file: VTransmitFile, progress: number, bytesSent: number` | Fired on progress of the upload.                                                                                                                                    |\n| `total-upload-progress` | `file: VTransmitFile, totalUploadProgress: number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `file: VTransmitFile, xhr: XMLHttpRequest, data: FormData` | Fired right before the upload is sent.                                                                                                                              |\n| `sending-multiple`      | `files: VTransmitFile[], xhr: XMLHttpRequest, FormData`    | Fired right before the upload is sent.                                                                                                                              |\n| `success`               | `file: VTransmitFile, result: any`                         | Fired on load of the upload.                                                                                                                                        |\n| `success-multiple`      | `files: VTransmitFile[], result: any`                      | Fired on load of the upload.                                                                                                                                        |\n| `timeout`               | `file: VTransmitFile, message: string, data: any`          | Fired on timeout of the upload.                                                                                                                                     |\n| `timeout-multiple`      | `files: VTransmitFile[], message: string, data: any`       | Fired on timeout of the upload.                                                                                                                                     |\n| `canceled`              | `file: VTransmitFile`                                      | Fired upon cancellation of the upload. _(status: 'canceled')_                                                                                                       |\n| `canceled-multiple`     | `files: VTransmitFile[]`                                   | Fired upon cancellation of the upload. _(status: 'canceled')_                                                                                                       |\n| `complete`              | `file: VTransmitFile`                                      | Fired upon completion of the upload. _(whether success or failure)_                                                                                                 |\n| `complete-multiple`     | `files: VTransmitFile[]`                                   | Fired upon completion of the upload. _(whether success or failure)_                                                                                                 |\n| `reset`                 | `void`                                                     | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `file: VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `files: VTransmitFile[]`                                   | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `file: VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## File Statuses\n\nVTransmitFiles have a status property used to indicate its place in the upload\ncycle. Note that `Accepted` is an alias of `Queued` since the is the same place\nin the lifecycle (inherited from Dropzone lifecycle). This may change in a\nfuture version for more clarity. Also note that `Rejected` is not a status.\nAccepted/rejected is derived from the `file.accepted` boolean property.\n\n```ts\nenum UploadStatuses {\n  None = \"\",\n  Added = \"added\",\n  Queued = \"queued\",\n  Accepted = \"queued\",\n  Uploading = \"uploading\",\n  Canceled = \"canceled\",\n  Error = \"error\",\n  Timeout = \"timeout\",\n  Success = \"success\",\n}\n```\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  canceledFiles: VTransmitFile[];\n  failedFiles: VTransmitFile[];\n  timeoutFiles: VTransmitFile[];\n  successfulFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" slot-scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        clickable: false,\n        adapterOptions: {\n          url: './upload.php',\n        },\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## FAQ\n\n### Accessing the VueTransmit component instance\n\nIt's always recommended to place a ref on your vue-transmit instance so that\nyour component can call methods and retrieve data directly from the instance.\n\n```html\n<vue-transmit ref=\"vtransmit\" />\n```\n\n### How to remove a file\n\nYou can remove a single file or all files from the component instance. To remove\na single file, you'll need the file you wish to delete.\n\n```js\n// from your component\nthis.$refs.vtransmit.removeFile(vtFile); // single file\nthis.$refs.vtransmit.removeAllFiles((cancelInProgressUploads = false)); // all files\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"b4419aef383545401db8c358ad940d620dc0bb3a","_id":"vue-transmit@9.0.0-alpha.10","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-M6epPO0hFKtXEwCuzlnv22Io6BswQa6dRuYkYUvrj/AvbJwFRgpjtB61FPUpsYoABMf0MBbcs5hI8jurcKNM4g==","shasum":"114ae9417f7efe410bb5f448bceda9a8dd85d9b8","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.10.tgz","fileCount":21,"unpackedSize":532188,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRkxmohZtDdlOONKz769z7NFMdTm+IgFNCxOqU/xcdhAIhAKuRxmsoin8Ud61zvHQ4aeRxPwyfHDDlg4jOmrheuCZr"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.10_1520739778653_0.7124709365100128"},"_hasShrinkwrap":false},"8.1.1":{"name":"vue-transmit","version":"8.1.1","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/types/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"files":["dist"],"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","prepublishOnly":"npm run build","prerelease:dry":"npm run build","release:dry":"standard-version --dry-run","prerelease":"npm run build","release":"standard-version","postrelease":"git push --follow-tags origin 8.x && npm publish"},"dependencies":{"lodash-es":"^4.17.4"},"devDependencies":{"ajv":"^6.0.1","ajv-keywords":"^3.0.0","autoprefixer":"^7.2.5","av-ts":"^0.9.2","awesome-typescript-loader":"^3.4.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.3","css-loader":"^0.28.8","eslint":"^4.15.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.6","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.16","postcss-loader":"^2.0.10","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.3.0","style-loader":"^0.19.1","ts-loader":"^3.2.0","typescript":"^2.6.2","url-loader":"^0.6.2","vue":"^2.5.13","vue-class-component":"^6.1.2","vue-loader":"^13.6.2","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.13","vue-ts-loader":"0.0.3","webpack":"^3.10.0","webpack-bundle-analyzer":"^2.9.2","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.10.0"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"53503f490a443454ba2925e395e5b4a4b51fce1d","_id":"vue-transmit@8.1.1","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-v0HQntNzgjrXv3jqNtk6d+DTNY79Vzgg2tYcoyLhK7RQOGNu474Yl7AAf42SST+cAvPzoea68KI8/Zfopr2m1g==","shasum":"b51a1ddb5673b9d938782db5fb6a8b2697126c7a","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-8.1.1.tgz","fileCount":22,"unpackedSize":1429288,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDPRb73p+AToR2MmpvHxAg75wDKlb8unu32maop6/REGAiEA0m+srQc9YRuVx1zMvioLqBxd4L/HU0r3Aa3uTMTwR9w="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_8.1.1_1520740590920_0.18732367713775666"},"_hasShrinkwrap":false},"9.0.0-alpha.11":{"name":"vue-transmit","version":"9.0.0-alpha.11","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.js","main":"dist/vue-transmit.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"files":["dist"],"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","postrelease:alpha":"git push --follow-tags origin master && npm publish --tag prerelease","release:beta":"standard-version --prerelease beta","postrelease:beta":"git push --follow-tags origin master && npm publish --tag prerelease","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"dependencies":{},"devDependencies":{"@types/jest":"^22.1.4","cross-env":"^5.1.3","jest":"^22.4.2","lodash":"^4.17.5","postcss":"^6.0.19","rimraf":"^2.6.2","rollup":"^0.56.3","rollup-plugin-postcss":"^1.3.1","rollup-plugin-typescript":"^0.8.1","rollup-plugin-typescript2":"^0.11.1","rollup-plugin-uglify":"^3.0.0","rollup-plugin-vue":"^3.0.0","standard-version":"^4.3.0","ts-jest":"^22.4.0","typescript":"^2.7.2","uglify-js":"^3.3.12","vue":"^2.5.13","vue-template-compiler":"^2.5.13"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\nCheck out the CodeSandbox here: https://codesandbox.io/s/lyzqn4m659\n\nHave a question? Check out the [FAQ section](#faq).<br> Can't find what you're\nlooking for?\n[Open an issue](https://github.com/alexsasharegan/vue-transmit/issues).<br> Want\nto add to the docs?\n[Submit a PR](https://github.com/alexsasharegan/vue-transmit/pulls).\n\n## Table of Contents\n\n* [Features](#features) - Vue Transmit features\n* [v8.x](#v8xx) - Info for v8.x users\n* [Installation](#installation) - Package install\n  * [Builds](#builds) - ESM, UMD build info\n* [Component Props](#props-vue-transmit) - Vue component props\n* [XHR Adapter Options](#adapter-options-xhruploadadapter) - Default adapter\n  options\n* [Component Events](#events) - Events emitted from VueTransmit\n* [File Statuses](#file-statuses) - enum of `file.status` values\n* [Slots](#slots) - Component slots\n  * [Slot: default](#default-slotsdefault) - default slot\n  * [Slot: `\"files\"`](#files-scoped-slotsfiles) - files slot\n* [VTransmitFile](#vtransmitfile) - the class that wraps the native File object\n* [Usage example](#usage) - implementation example\n* [FAQ](#faq) - Frequently Asked Questions\n  * [Accessing the VueTransmit instance](#accessing-the-vuetransmit-component-instance)\n  * [How to Remove a File](#how-to-remove-a-file)\n* [Lifecycle](#lifecycle) - Basic explanation of upload lifecycle\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nVue-Transmit also has a modular upload transport. The default transport\nimplementation uses `XMLHttpRequest` to upload client-side files using\nmulti-part form data, but this could be swapped for a custom implementation for\nsomething like Firebase or WebSockets.\n\nIn order to integrate with Vue.js reactivity, an object's properties must be\ndefined initially, be enumerable, and be configurable. A special File class has\nbeen written (`VTransmitFile`) to register native browser file objects from\nuploads reactively, since the native object properties are read-only. This class\nalso adds useful information not present in the native File object (dimensions,\nupload stats, etc.).\n\n* HTML 5 file uploads\n* Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n* Image thumbnail previews\n* Support for concurrent uploads\n* Modular upload transport layer\n* Completely written in Vue.js&mdash;no wrapper components\n* Scoped slots allow for fully customizable styling\n* Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`, `Promise`) that\nrequire\n[a polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill).\nAll other ESNext language features (arrow fns, for of, etc.) are transpiled with\nTypeScript._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## v8.x.x\n\n[Visit the `8.x` branch here.](https://github.com/alexsasharegan/vue-transmit/tree/8.x)\n\nVersion 9 of Vue Transmit marks a new design that introduces various breaking\nchanges. Migrating an existing app to `>=v9.x.x` should be roughly hour of work\nfor most use cases (mileage may vary), but if you're using `v8.x.x` and you\ndon't need any `v9` features, there's no need to update. An `8.x` branch will be\nmaintained for LTS\\* support.\n\n\\* LTS support `===` patches only.\n\n## Installation\n\n```sh\n# npm\nnpm install vue-transmit\n\n# yarn\nyarn add vue-transmit\n```\n\n### Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfield of the package, while non-esm will resolve from the `main` field. By\ndefault, the unminified versions are specified. For most setups, importing the\nlib would like either of the following:\n\n```js\n// ESM default export\nimport VueTransmit from \"vue-transmit\";\n// ESM named export\nimport { VueTransmitPlugin } from \"vue-transmit\";\n// Common.js (no 'default' export)\nconst { VueTransmitPlugin } = require(\"vue-transmit\");\n// Browser\nconst { VueTransmitPlugin } = window.VueTransmit;\n\n// Installation\nVue.use(VueTransmit);\n```\n\nIf you don't wish to register `VueTransmit` as a global component, you can\nimport the component directly.\n\n```js\n// ESM\nimport { VueTransmit } from \"vue-transmit\";\n// Common.js\nconst { VueTransmit } = require(\"vue-transmit\");\n// Browser\nconst { VueTransmit } = window.VueTransmit;\n\n// Your component using VueTransmit\nconst MyComponent = Vue.extend({\n  name: \"my-component\",\n  components: {\n    \"vue-transmit\": VueTransmit,\n  },\n});\n```\n\n| Target | Path                                        | Minified |\n| ------ | ------------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js`     | false    |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.min.js` | true     |\n| UMD    | `vue-transmit/dist/vue-transmit.js`         | false    |\n| UMD    | `vue-transmit/dist/vue-transmit.min.js`     | true     |\n\n```sh\nvue-transmit\n└── dist\n    ├── index.d.ts\n    ├── vue-transmit.css\n    ├── vue-transmit.esm.js\n    ├── vue-transmit.esm.js.map\n    ├── vue-transmit.esm.min.js\n    ├── vue-transmit.esm.min.js.map\n    ├── vue-transmit.js\n    ├── vue-transmit.js.map\n    ├── vue-transmit.min.js\n    └── vue-transmit.min.js.map\n```\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n[**View Source**](./src/components/VueTransmit.vue#L87)\n\n| Property               | Type                  | Default/Function Signature                                                                                                                                                                 |\n| ---------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| tag                    | string                | `\"div\"`                                                                                                                                                                                    |\n| uploadAreaClasses      | array, object, string | `null`                                                                                                                                                                                     |\n| uploadAreaAttrs        | object                | `{}`                                                                                                                                                                                       |\n| uploadAreaListeners    | object                | `{}`                                                                                                                                                                                       |\n| dragClass              | string                | `null`                                                                                                                                                                                     |\n| maxConcurrentUploads   | number                | `2`                                                                                                                                                                                        |\n| uploadMultiple         | boolean               | `false`                                                                                                                                                                                    |\n| maxFileSize            | number                | `256`                                                                                                                                                                                      |\n| fileSizeBaseInBinary   | boolean               | `false`                                                                                                                                                                                    |\n| createImageThumbnails  | boolean               | `true`                                                                                                                                                                                     |\n| maxThumbnailFileSize   | number                | `10`                                                                                                                                                                                       |\n| thumbnailWidth         | number                | `120`                                                                                                                                                                                      |\n| thumbnailHeight        | number                | `120`                                                                                                                                                                                      |\n| maxFiles               | number                | `null`                                                                                                                                                                                     |\n| clickable              | boolean               | `true`                                                                                                                                                                                     |\n| ignoreHiddenFiles      | boolean               | `true`                                                                                                                                                                                     |\n| acceptedFileTypes      | array                 | `[]`                                                                                                                                                                                       |\n| autoProcessQueue       | boolean               | `true`                                                                                                                                                                                     |\n| autoQueue              | boolean               | `true`                                                                                                                                                                                     |\n| capture                | string                | `null`                                                                                                                                                                                     |\n| errMaxFileSizeExceeded | function              | `(fileSize: number, maxFileSize: number, units: string) => string`                                                                                                                         |\n| errInvalidFileType     | function              | `(type: string, acceptedTypes: string[], file: VTransmitFile) => string`                                                                                                                   |\n| errMaxFilesExceeded    | function              | `(maxFiles: number) => string`                                                                                                                                                             |\n| accept                 | function              | `(file: VTransmitFile, done: Function) => string`                                                                                                                                          |\n| resize                 | function              | `(file: VTransmitFile, dims: { width: number; height: number; }) => { sx: number; sy: number; sWidth: number; sHeight: number; dx: number; dy: number; dWidth: number; dHeight: number; }` |\n| adapterOptions         | object                | `{}`                                                                                                                                                                                       |\n| uploadAdapter          | function              | `XHRUploadAdapter`                                                                                                                                                                         |\n\n## Adapter Options: XHRUploadAdapter\n\n[**View Source**](./src/upload-adapters/xhr.ts#L24-L79)\n\n| Property          | Type                                                              | Default/Function Signature                        |\n| ----------------- | ----------------------------------------------------------------- | ------------------------------------------------- |\n| url               | string                                                            | _(required)_                                      |\n| method            | string                                                            | `\"post\"`                                          |\n| withCredentials   | boolean                                                           | `false`                                           |\n| timeout           | number                                                            | `0`                                               |\n| paramName         | string                                                            | `\"file\"`                                          |\n| params            | `{ [key: string]: string }`                                       | `{}`                                              |\n| headers           | `{ [key: string]: string }`                                       | `{ Accept, 'Cache-Control', 'X-Requested-With' }` |\n| responseType      | `\"\" \\| \"arraybuffer\" \\| \"blob\" \\| \"document\" \\| \"json\" \\| \"text\"` | `\"json\"`                                          |\n| errUploadError    | function                                                          | `(xhr: XMLHttpRequest) => string`                 |\n| errUploadTimeout  | function                                                          | `(xhr: XMLHttpRequest) => string`                 |\n| renameFile        | function                                                          | `(name: string) => string`                        |\n| responseParseFunc | function                                                          | `<T>(xhr: XMLHttpRequest) => T`                   |\n\n## Events\n\n| Event                   | Arguments                                                  | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `event: DragEvent`                                         | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `event: DragEvent`                                         | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `event: DragEvent`                                         | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `event: DragEvent`                                         | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `event: DragEvent`                                         | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `event: DragEvent`                                         | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `file: VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to file: VTransmitFile and added to the component data. _(status: 'added')_        |\n| `added-files`           | `files: VTransmitFile[]`                                   | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `file: VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `file: VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `file: VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `file: VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `file: VTransmitFile, data: Blob\\|URL`                     | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `file: VTransmitFile, message: string, data: any`          | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `files: VTransmitFile[], message: string, data: any`       | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `file: VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `files: VTransmitFile[]`                                   | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `file: VTransmitFile, progress: number, bytesSent: number` | Fired on progress of the upload.                                                                                                                                    |\n| `total-upload-progress` | `file: VTransmitFile, totalUploadProgress: number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `file: VTransmitFile, xhr: XMLHttpRequest, data: FormData` | Fired right before the upload is sent.                                                                                                                              |\n| `sending-multiple`      | `files: VTransmitFile[], xhr: XMLHttpRequest, FormData`    | Fired right before the upload is sent.                                                                                                                              |\n| `success`               | `file: VTransmitFile, result: any`                         | Fired on load of the upload.                                                                                                                                        |\n| `success-multiple`      | `files: VTransmitFile[], result: any`                      | Fired on load of the upload.                                                                                                                                        |\n| `timeout`               | `file: VTransmitFile, message: string, data: any`          | Fired on timeout of the upload.                                                                                                                                     |\n| `timeout-multiple`      | `files: VTransmitFile[], message: string, data: any`       | Fired on timeout of the upload.                                                                                                                                     |\n| `canceled`              | `file: VTransmitFile`                                      | Fired upon cancellation of the upload. _(status: 'canceled')_                                                                                                       |\n| `canceled-multiple`     | `files: VTransmitFile[]`                                   | Fired upon cancellation of the upload. _(status: 'canceled')_                                                                                                       |\n| `complete`              | `file: VTransmitFile`                                      | Fired upon completion of the upload. _(whether success or failure)_                                                                                                 |\n| `complete-multiple`     | `files: VTransmitFile[]`                                   | Fired upon completion of the upload. _(whether success or failure)_                                                                                                 |\n| `reset`                 | `void`                                                     | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `file: VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `files: VTransmitFile[]`                                   | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `file: VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## File Statuses\n\nVTransmitFiles have a status property used to indicate its place in the upload\ncycle. Note that `Accepted` is an alias of `Queued` since the is the same place\nin the lifecycle (inherited from Dropzone lifecycle). This may change in a\nfuture version for more clarity. Also note that `Rejected` is not a status.\nAccepted/rejected is derived from the `file.accepted` boolean property.\n\n```ts\nenum UploadStatuses {\n  None = \"\",\n  Added = \"added\",\n  Queued = \"queued\",\n  Accepted = \"queued\",\n  Uploading = \"uploading\",\n  Canceled = \"canceled\",\n  Error = \"error\",\n  Timeout = \"timeout\",\n  Success = \"success\",\n}\n```\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n  files: VTransmitFile[];\n  acceptedFiles: VTransmitFile[];\n  rejectedFiles: VTransmitFile[];\n  addedFiles: VTransmitFile[];\n  queuedFiles: VTransmitFile[];\n  uploadingFiles: VTransmitFile[];\n  canceledFiles: VTransmitFile[];\n  failedFiles: VTransmitFile[];\n  timeoutFiles: VTransmitFile[];\n  successfulFiles: VTransmitFile[];\n  activeFiles: VTransmitFile[];\n  isUploading: boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n  \"_nativeFile\": {},\n  \"id\": \"v-transmit-file-1\",\n  \"accepted\": true,\n  \"lastModified\": 1478117443000,\n  \"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n  \"name\": \"cosmo.jpg\",\n  \"processing\": true,\n  \"size\": 142776,\n  \"status\": \"success\",\n  \"type\": \"image/jpeg\",\n  \"upload\": {\n    \"bytesSent\": 142776,\n    \"progress\": 100,\n    \"speed\": {\n      \"kbps\": 10.06,\n      \"mbps\": 0.01\n    },\n    \"start\": 1503273157993,\n    \"end\": 1503273158029,\n    \"time\": 0.036,\n    \"total\": 142776\n  },\n  \"webkitRelativePath\": \"\",\n  \"width\": 700,\n  \"height\": 700,\n  \"xhr\": {},\n  \"dataUrl\":\n    \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n  <main id=\"root\" class=\"mt-5\">\n    <div class=\"container\">\n      <div class=\"row\">\n        <header class=\"col-12 text-center\">\n          <h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n        </header>\n        <vue-transmit class=\"col-12\"\n                      tag=\"section\"\n                      v-bind=\"options\"\n                      upload-area-classes=\"bg-faded\"\n                      ref=\"uploader\">\n          <div class=\"d-flex align-items-center justify-content-center w-100\"\n                style=\"height:50vh; border-radius: 1rem;\">\n            <button class=\"btn btn-primary\"\n                    @click=\"triggerBrowse\">Upload Files</button>\n          </div>\n          <!-- Scoped slot -->\n          <template slot=\"files\" slot-scope=\"props\">\n            <div v-for=\"(file, i) in props.files\" :key=\"file.id\" :class=\"{'mt-5': i === 0}\">\n              <div class=\"media\">\n                <img :src=\"file.dataUrl\" class=\"img-fluid d-flex mr-3\">\n                <div class=\"media-body\">\n                  <h3>{{ file.name }}</h3>\n                  <div class=\"progress\" style=\"width: 50vw;\">\n                    <div class=\"progress-bar bg-success\"\n                        :style=\"{width: file.upload.progress + '%'}\"></div>\n                  </div>\n                  <pre>{{ file | json }} </pre>\n                </div>\n              </div>\n            </div>\n          </template>\n        </vue-transmit>\n      </div>\n    </div>\n  </main>\n</template>\n\n<script>\n  Vue.use(VueTransmit)\n  window.app = new Vue({\n    el: '#root',\n    data: {\n      options: {\n        acceptedFileTypes: ['image/*'],\n        clickable: false,\n        adapterOptions: {\n          url: './upload.php',\n        },\n      }\n    },\n    methods: {\n      triggerBrowse() {\n        this.$refs.uploader.triggerBrowseFiles()\n      },\n    },\n    filters: {\n      json(value) {\n        return JSON.stringify(value, null, 2)\n      }\n    }\n  })\n</script>\n```\n\n## FAQ\n\n### Accessing the VueTransmit component instance\n\nIt's always recommended to place a ref on your vue-transmit instance so that\nyour component can call methods and retrieve data directly from the instance.\n\n```html\n<vue-transmit ref=\"vtransmit\" />\n```\n\n### How to remove a file\n\nYou can remove a single file or all files from the component instance. To remove\na single file, you'll need the file you wish to delete.\n\n```js\n// from your component\nthis.$refs.vtransmit.removeFile(vtFile); // single file\nthis.$refs.vtransmit.removeAllFiles((cancelInProgressUploads = false)); // all files\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n* Trigger event\n  * input on `change`: value of `input.files` is read and passed to `vm.addFile`\n  * target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n    read/traversed and passed to `vm.addFile`\n* Add File\n  * instantiate `VTransmitFile` from native file object (for reactivity & extra\n    info)\n  * status `added`\n  * pushed onto `vm.files`\n  * thumbnail is enqueued\n* Accept File\n  * check size, type, upload limit\n  * invoke `accept` function for consumer validation\n  * `accept` or `reject` complete\n  * if `autoQueue`, enqueue file\n* Enqueue file\n  * check that file status is `added` & has been accepted\n  * status = `queued`\n  * if `autoProcessQueue`, invoke `processQueue` async _(like node\n    `setImmediate`)_\n* Process queue\n  * check number of uploading files against upload limit\n  * invoke `processFiles` with max amount of queued files options allow\n* Process files\n  * do upload\n* Progress updates\n* Complete upload\n  * status = `success || error`\n  * process queue to handle buffered files\n","readmeFilename":"README.md","gitHead":"f9e213998502f1467c16a3744f6d17021f7c575d","_id":"vue-transmit@9.0.0-alpha.11","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-HQXRu6v8frnQevkQy8RYYbj8el6+H9/1RmVp/0IU4lwMygU30OYBZOLPMbfyqW9p1MpxfX8YDT5qrpm0aH31ow==","shasum":"791970ec77826fc525980acc975742f599c34089","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.11.tgz","fileCount":21,"unpackedSize":532482,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHVQacJ3r9dEIWSRXyL1AO2+2vcIySHrQd6ccPe10B41AiBjPo2bYNfjDXPTg4qER5etglo34l/x7UEQ42Owvj/5MQ=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.11_1520740905103_0.2084611182239613"},"_hasShrinkwrap":false},"8.1.2":{"name":"vue-transmit","version":"8.1.2","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"files":["dist"],"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","prepublishOnly":"npm run build","prerelease:dry":"npm run build","release:dry":"standard-version --dry-run","prerelease":"npm run build","release":"standard-version","postrelease":"git push --follow-tags origin 8.x && npm publish"},"dependencies":{"lodash-es":"^4.17.4"},"devDependencies":{"ajv":"^6.0.1","ajv-keywords":"^3.0.0","autoprefixer":"^7.2.5","av-ts":"^0.9.2","awesome-typescript-loader":"^3.4.1","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.3","css-loader":"^0.28.8","eslint":"^4.15.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.6","lodash":"^4.17.4","node-sass":"^4.7.2","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.16","postcss-loader":"^2.0.10","rimraf":"^2.6.2","sass-loader":"^6.0.6","standard-version":"^4.3.0","style-loader":"^0.19.1","ts-loader":"^3.2.0","typescript":"^2.6.2","url-loader":"^0.6.2","vue":"^2.5.13","vue-class-component":"^6.1.2","vue-loader":"^13.6.2","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.13","vue-ts-loader":"0.0.3","webpack":"^3.10.0","webpack-bundle-analyzer":"^2.9.2","webpack-dashboard":"^1.0.2","webpack-dev-server":"^2.10.0"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"db7280f10e70204ce69c76c07cd264ac4a6e30c7","_id":"vue-transmit@8.1.2","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-j+8NTnWxwK7vPac4bv9sGRXmCwqIsxtdDLTQ0Kr9vOlbLm7wsKN7Ps8Cx3FLJ+wtlEOGR6gI/AFCAYZ2K1C9WA==","shasum":"261c43e9bd2be39a647a39c946c5f2c1c4b92a09","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-8.1.2.tgz","fileCount":22,"unpackedSize":1429534,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDThURuwjaK61HEcW032eXDJ0kk3QQ2MCXshRayG+2XAgIgIQsNcx1fXBel5fB7xxLQnMTCVFWLWe4z4BlrFOla7X4="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_8.1.2_1521842847716_0.2086974586937811"},"_hasShrinkwrap":false},"8.1.3":{"name":"vue-transmit","version":"8.1.3","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"files":["dist"],"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","prepublishOnly":"npm run build","prerelease:dry":"npm run build","release:dry":"standard-version --dry-run","prerelease":"npm run build","release":"standard-version","postrelease":"git push --follow-tags origin 8.x && npm publish"},"dependencies":{"lodash-es":"^4.17.10"},"devDependencies":{"ajv":"^6.5.0","ajv-keywords":"^3.2.0","autoprefixer":"^7.2.6","av-ts":"^0.9.3","awesome-typescript-loader":"^3.5.0","babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-loader":"^7.1.4","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.4","css-loader":"^0.28.11","eslint":"^4.19.1","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.11","lodash":"^4.17.10","node-sass":"^4.9.0","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.22","postcss-loader":"^2.1.5","rimraf":"^2.6.2","sass-loader":"^6.0.7","standard-version":"^4.3.0","style-loader":"^0.19.1","ts-loader":"^3.5.0","typescript":"^2.8.3","url-loader":"^0.6.2","vue":"^2.5.16","vue-class-component":"^6.2.0","vue-loader":"^13.7.1","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.16","vue-ts-loader":"0.0.3","webpack":"^3.11.0","webpack-bundle-analyzer":"^2.11.1","webpack-dashboard":"^1.1.1","webpack-dev-server":"^2.11.2"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"c09776bbc8d909ba3d7fb0715981727c636fb7d1","_id":"vue-transmit@8.1.3","_npmVersion":"5.8.0","_nodeVersion":"8.10.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-PDCWspKgicDyjPuvEn5X8OEUbzk/Wmc1nWxq5x0jFlC6Ok6izn4BjxlWMQQVJnF33njQKmsKej3nKNutat0xKw==","shasum":"7b9b6fb5b158ed9df7901cf36f844459ce739f79","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-8.1.3.tgz","fileCount":22,"unpackedSize":1503070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8mNGCRA9TVsSAnZWagAAoHwP/RxZ9G2mJmiFA8FuTwi7\n361SMyTNbhkNIxEkUt5EVgt7gMv4pliqEETe6/I5GfTwvnfdVBNWrh34A+f9\n+A+tdMPte3BUpHDzNZItZpTwZvq8B3Z1RiJJMjp4hGhiRiMAxw81ltIJ0D40\ntDIbfVR9VVfKdcU3JA864JT2ypWVwAH5lWRFCOUDAygZ/u9IO4BYQP2TBp0z\n4fj1ciRrbPkcquTpPwIDNWF+OIlUEMa40+VY+E5KpQ+WziK71Me+5FhGpxKq\nf1LyZzJu7J8cnh6cCI6SAeNWrATKy1HZJ3mYikQb01aB04QlMIMzcRVNZmux\nAv2jgeS1EMNSl6g0QVQ2SaNKSpjHtoCND28IKGKyV/sW1ipvcBmPngxxnztD\nDPnXa5n1Ji4tTvMfoFVsllRMnCKjdXDDbsyQXCvLbbzN6zNkjRUPIolYJ8jp\nbaH35bH6I0EtM9dqIuh4PRP6HpylXSyJuXSinHWqs33a8AIePjmacOhqCZrw\n2CdwI3b9mr1xjHIaQUpdUoxpmYPP5Jf0Vgi4BNntWm2fkdVixytjaHmIG74+\n7hmiD0Npz2knz54jdq4ho1Wwv5tkm7QUEvpyuPBj5rnIDvRPJFXrD6XPdK+T\n/UJO0mkTSxMfYrhaTTVkMHvaCCtN7a0b5hlfIVLfSCo4nvNAkp+LOQ5AKXML\nrNJA\r\n=Mk6T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFRmczL9YtfE3ZhrOCtK65wC4wGOxQde5H3uE6Ytmvp1AiBNYRvTbnswEp3DNb4H4KOwbfpbe9RV159NfHJO+XYrLA=="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_8.1.3_1525834564046_0.9580395093883283"},"_hasShrinkwrap":false},"8.1.4":{"name":"vue-transmit","version":"8.1.4","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.min.js","jsnext:main":"dist/vue-transmit.esm.min.js","main":"dist/vue-transmit.common.min.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"files":["dist"],"scripts":{"clean":"scripts/clean.js","build":"npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules","dev":"npm run clean && cross-env NODE_ENV=development webpack --progress --hide-modules -w","test":"php -S localhost:3030 -t ./test/","lib-size":"gzip -c dist/vue-transmit.esm.min.js | wc -c","prepublishOnly":"npm run build","prerelease:dry":"npm run build","release:dry":"standard-version --dry-run","prerelease":"npm run build","release":"standard-version","postrelease":"git push --follow-tags origin 8.x && npm publish"},"dependencies":{"lodash-es":"^4.17.10"},"devDependencies":{"ajv":"^6.5.0","ajv-keywords":"^3.2.0","autoprefixer":"^7.2.6","av-ts":"^0.9.3","awesome-typescript-loader":"^3.5.0","babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-loader":"^7.1.4","babel-minify-webpack-plugin":"^0.2.0","babel-plugin-app-require":"^1.1.0","babel-plugin-transform-es2015-arrow-functions":"^6.22.0","babel-plugin-transform-es2015-classes":"^6.24.1","babel-plugin-transform-es2015-constants":"^6.1.4","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-for-of":"^6.23.0","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-shorthand-properties":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-es2015-template-literals":"^6.22.0","babel-plugin-transform-es5-property-mutators":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-es2015":"^6.24.1","babel-preset-latest-node":"^0.4.0","babel-preset-react-native":"^4.0.0","babel-preset-stage-0":"^6.24.1","babel-preset-stage-3":"^6.24.1","cross-env":"^5.1.4","css-loader":"^0.28.11","eslint":"^4.19.1","extract-text-webpack-plugin":"^3.0.2","file-loader":"^1.1.11","lodash":"^4.17.10","node-sass":"^4.9.0","optimize-css-assets-webpack-plugin":"^3.2.0","postcss":"^6.0.22","postcss-loader":"^2.1.5","rimraf":"^2.6.2","sass-loader":"^6.0.7","standard-version":"^4.3.0","style-loader":"^0.19.1","ts-loader":"^3.5.0","typescript":"^2.8.3","url-loader":"^0.6.2","vue":"^2.5.16","vue-class-component":"^6.2.0","vue-loader":"^13.7.1","vue-property-decorator":"^6.0.0","vue-template-compiler":"^2.5.16","vue-ts-loader":"0.0.3","webpack":"^3.11.0","webpack-bundle-analyzer":"^2.11.1","webpack-dashboard":"^1.1.1","webpack-dev-server":"^2.11.2"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"ISC","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"af885a72fd80cf2a45339303819d8a6e7eede918","_id":"vue-transmit@8.1.4","_npmVersion":"5.8.0","_nodeVersion":"8.10.0","_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"dist":{"integrity":"sha512-hFXgiW8FMj9xPjSd70HWfXKnB7eMFkNYCKllYnoSXPUrRx+OCBc17Ik0UIC3JI1Gx5tYqRlwrdCMAyODtY1aSg==","shasum":"5e514639d4fc57991349f0cbf57e8cf15bec3038","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-8.1.4.tgz","fileCount":22,"unpackedSize":1499537,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8mUQCRA9TVsSAnZWagAAbbwP/3yRQ21SYjqliM12YbbL\nq83IStv+ii92enG/dfcmXsxJlmqHRrHh1EIobj5CSfLvHP76mqSDz+VWtf5B\n6YrZVTdPVWg0UQ4RQtNAlAoW8y3jgmVKV0L8aXhNmehvdUk986TBoCcWo7uS\nbz2ChqUpcuHJGoaXCu2uwXb3SP1N67YkBB28xDQCKweL3vv/aiOGJCymapxv\nYLRuzQJFrG7sszKEw+ynZvoQkAypTE6+kpr1Q00ZJI7CaYuaOxCvOUcY5UVP\npocp6QIs7EyXauWEglRjL0uT3xXYY5cG9ldkuh9OKJU/Su5aVkV3hgeJb6O1\nTz4sO24O2+ukk/j/3AeQ0Ni5d/l9Zk1p+OUpUmfoafXCEzXyehMcbhkQ18AX\nl2r1XsSwic650dCCFkstuIVG7dTG3uaKR/Ni1LCvNE+LAL0BAGWI5yJr3Ir2\nhlhPGwg8Uur0seT1bPq+E5RWFAy2n6Xo71AflMcTqjs6ddOPtu/EU772f+JH\nTDJ8q5lhfe2LU20Zj43FTNNAjTY+eXGD1zm6A7NAotIz1GaOQZz0GRnAUHjL\n+Q9AK9Frj8cAb+c1hJtaDrM4A3852cRmcesHcOVaHLX6g2R7WrGAcaffEj3y\n6Nc/C2hdGvYnGubrvuuqsmZa3OGrQ/hhL+qTF8AG7bGDkV/dVC/artaDWsmZ\nDMFx\r\n=qzpJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCylSz+wk1FyfodDm5wq/Ez4SEL3zCL3dxGuS3YgJYreQIhAOJF8qV9cyDVV+9h+RPCQomgnC3TfqTnEc9HOt3JRsU6"}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_8.1.4_1525835022665_0.3476758947410761"},"_hasShrinkwrap":false},"9.0.0-alpha.12":{"name":"vue-transmit","version":"9.0.0-alpha.12","description":"Vue.js drag & drop uploader based on Dropzone.js","module":"dist/vue-transmit.esm.js","main":"dist/vue-transmit.js","types":"dist/index.d.ts","keywords":["dragndrop","drag and drop","file upload","upload"],"directories":{"test":"test"},"scripts":{"clean":"scripts/clean.js","predev":"npm run clean","dev":"cross-env NODE_ENV=development rollup -c ./rollup.config.js","prebuild":"npm run clean","build":"cross-env NODE_ENV=production rollup -c ./rollup.config.js","prepublishOnly":"npm run build","test:site":"php -S localhost:3030 -t ./test/","test:jest":"jest --coverage","test":"npm run test:jest","precommit":"pretty-quick --staged","size:min":"cat dist/vue-transmit.esm.js | wc -c","size:gzip":"gzip -c dist/vue-transmit.esm.js | wc -c","release:alpha":"standard-version --prerelease alpha","postrelease:alpha":"git push --follow-tags origin master && npm publish --tag prerelease","release:beta":"standard-version --prerelease beta","postrelease:beta":"git push --follow-tags origin master && npm publish --tag prerelease","release":"standard-version","postrelease":"git push --follow-tags origin master && npm publish"},"jest":{"moduleFileExtensions":["ts","tsx","js"],"transform":{"\\.(ts|tsx)$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testMatch":["**/__tests__/*.(ts|js)","**/?(*.)(spec|test).(js|ts)"],"coverageDirectory":"coverage","collectCoverage":true,"mapCoverage":true},"peerDependencies":{"vue":"^2.5.0"},"dependencies":{},"devDependencies":{"@types/jest":"^23.3.13","cross-env":"^5.2.0","firebase":"^5.8.1","husky":"^1.3.1","jest":"^24.0.0","lodash":"^4.17.11","postcss":"^7.0.14","prettier":"^1.16.1","pretty-quick":"^1.10.0","rimraf":"^2.6.3","rollup":"^1.1.2","rollup-plugin-postcss":"^2.0.1","rollup-plugin-terser":"^4.0.3","rollup-plugin-typescript2":"^0.19.2","rollup-plugin-vue":"^4.6.1","standard-version":"^4.4.0","ts-jest":"^23.10.5","typescript":"^3.2.4","vue":"^2.5.22","vue-template-compiler":"^2.5.22"},"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"license":"MIT","bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","gitHead":"7472640bb160abc368f87c5c1664c3d3dd593edc","readme":"# Vue-Transmit\n\n<img src=\"./docs/vt-logo.svg\" width=\"200\">\n\n[![npm](https://img.shields.io/npm/v/vue-transmit.svg?style=for-the-badge)](https://img.shields.io/npm/v/vue-transmit)\n[![npm downloads](https://img.shields.io/npm/dt/vue-transmit.svg?style=for-the-badge)](https://www.npmjs.com/package/vue-transmit)\n[![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/issues)\n[![GitHub stars](https://img.shields.io/github/stars/alexsasharegan/vue-transmit.svg?style=for-the-badge)](https://github.com/alexsasharegan/vue-transmit/stargazers)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge)](https://conventionalcommits.org)\n\n**STATUS: Unmaintained**\n\n_I am currently unable to give this project much attention. I won't be\naddressing issues or creating new versions for the forseeable future. Feel free\nto fork this project and hack away though!_\n\nA Vue.js drag & drop uploader based on Dropzone.js (`~22KB`, `~6.5KB` gzipped).\nMany thanks to [Matias Meno](https://gitlab.com/meno/dropzone/tree/master) for\npaving the way with the original Dropzone.js!\n[Check it out](https://gitlab.com/meno/dropzone/tree/master) for any of your\nnon-vue projects. 🙌\n\nCheck out the CodeSandbox here: https://codesandbox.io/s/lyzqn4m659\n\nHave a question? Check out the [FAQ section](#faq).<br> Can't find what you're\nlooking for?\n[Open an issue](https://github.com/alexsasharegan/vue-transmit/issues).<br> Want\nto add to the docs?\n[Submit a PR](https://github.com/alexsasharegan/vue-transmit/pulls).\n\n## Table of Contents\n\n-  [Features](#features) - Vue Transmit features\n-  [v8.x](#v8xx) - Info for v8.x users\n-  [Installation](#installation) - Package install\n   -  [Builds](#builds) - ESM, UMD build info\n-  [Component Props](#props-vue-transmit) - Vue component props\n-  [XHR Adapter Options](#adapter-options-xhruploadadapter) - Default adapter\n   options\n-  [Component Events](#events) - Events emitted from VueTransmit\n-  [File Statuses](#file-statuses) - enum of `file.status` values\n-  [Slots](#slots) - Component slots\n   -  [Slot: default](#default-slotsdefault) - default slot\n   -  [Slot: `\"files\"`](#files-scoped-slotsfiles) - files slot\n-  [VTransmitFile](#vtransmitfile) - the class that wraps the native File object\n-  [Usage example](#usage) - implementation example\n-  [FAQ](#faq) - Frequently Asked Questions\n   -  [I don't see the dropzone](#i-dont-see-the-dropzone)\n   -  [How to add a button or text to the dropzone](#how-to-add-a-button-or-text-to-the-dropzone)\n   -  [Accessing the VueTransmit instance](#accessing-the-vuetransmit-component-instance)\n   -  [How to Remove a File](#how-to-remove-a-file)\n-  [Lifecycle](#lifecycle) - Basic explanation of upload lifecycle\n\n## Download\n\nTo get the latest alpha build:\n\n```sh\nnpm install vue-transmit@9.0.0-alpha.11\n```\n\n## Features\n\nVue-Transmit is a fork of Dropzone.js that has been completely rewritten in\nTypeScript/ES6 for Vue.js. Instead of creating a Vue wrapper component that\nduplicates and proxies all of the methods and event logic between Dropzone and\nthe component, Vue-Transmit implements them directly from the component. This\ncuts down on library size and offers a much tighter integration.\n\nVue-Transmit takes an event-based approach to the upload cycle. Instead of\npassing callbacks to the component via an options object, use the template event\nbinding syntax (`<vue-transmit @event=\"callback\" />`). All events strictly\nconform to kebab-casing, including events proxied off native events (e.g.\n`dragover => @drag-over`). This is for uniformity and so events can be easily\ndistinguished.\n\nVue-Transmit also has a modular upload transport. The default transport\nimplementation uses `XMLHttpRequest` to upload client-side files using\nmulti-part form data, but this could be swapped for a custom implementation for\nsomething like Firebase or WebSockets.\n\nIn order to integrate with Vue.js reactivity, an object's properties must be\ndefined initially, be enumerable, and be configurable. A special File class has\nbeen written (`VTransmitFile`) to register native browser file objects from\nuploads reactively, since the native object properties are read-only. This class\nalso adds useful information not present in the native File object (dimensions,\nupload stats, etc.).\n\n-  HTML 5 file uploads\n-  Emits upload lifecycle events (accepted, sending, progress, success, etc.)\n-  Image thumbnail previews\n-  Support for concurrent uploads\n-  Modular upload transport layer\n-  Completely written in Vue.js&mdash;no wrapper components\n-  Scoped slots allow for fully customizable styling\n-  Written in modern TypeScript/ES6 with modules\n\n_\\* Note: this library uses some built-ins (`Array.from`, `Promise`) that\nrequire\n[a polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill).\nAll other ESNext language features (arrow fns, for of, etc.) are transpiled with\nTypeScript._\n\n![upload-example](./docs/vue-transmit-10fps.gif)\n\n## v8.x.x\n\n[Visit the `8.x` branch here.](https://github.com/alexsasharegan/vue-transmit/tree/8.x)\n\nVersion 9 of Vue Transmit marks a new design that introduces various breaking\nchanges. Migrating an existing app to `>=v9.x.x` should be roughly hour of work\nfor most use cases (mileage may vary), but if you're using `v8.x.x` and you\ndon't need any `v9` features, there's no need to update. An `8.x` branch will be\nmaintained for LTS\\* support.\n\n\\* LTS support `===` patches only.\n\n## Installation\n\n```sh\n# npm\nnpm install vue-transmit\n\n# yarn\nyarn add vue-transmit\n```\n\n### Builds\n\nThe default build for ESM loaders like webpack is indicated in the `module`\nfield of the package, while non-esm will resolve from the `main` field. By\ndefault, the unminified versions are specified. For most setups, importing the\nlib would like either of the following:\n\n```js\n// ESM default export\nimport VueTransmit from \"vue-transmit\";\n// ESM named export\nimport { VueTransmitPlugin } from \"vue-transmit\";\n// Common.js (no 'default' export)\nconst { VueTransmitPlugin } = require(\"vue-transmit\");\n// Browser\nconst { VueTransmitPlugin } = window.VueTransmit;\n\n// Installation\nVue.use(VueTransmit);\n```\n\nIf you don't wish to register `VueTransmit` as a global component, you can\nimport the component directly.\n\n```js\n// ESM\nimport { VueTransmit } from \"vue-transmit\";\n// Common.js\nconst { VueTransmit } = require(\"vue-transmit\");\n// Browser\nconst { VueTransmit } = window.VueTransmit;\n\n// Your component using VueTransmit\nconst MyComponent = Vue.extend({\n\tname: \"my-component\",\n\tcomponents: {\n\t\t\"vue-transmit\": VueTransmit,\n\t},\n});\n```\n\n| Target | Path                                        | Minified |\n| ------ | ------------------------------------------- | -------- |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.js`     | false    |\n| ESM    | `vue-transmit/dist/vue-transmit.esm.min.js` | true     |\n| UMD    | `vue-transmit/dist/vue-transmit.js`         | false    |\n| UMD    | `vue-transmit/dist/vue-transmit.min.js`     | true     |\n\n```sh\nvue-transmit\n└── dist\n    ├── index.d.ts\n    ├── vue-transmit.css\n    ├── vue-transmit.esm.js\n    ├── vue-transmit.esm.js.map\n    ├── vue-transmit.esm.min.js\n    ├── vue-transmit.esm.min.js.map\n    ├── vue-transmit.js\n    ├── vue-transmit.js.map\n    ├── vue-transmit.min.js\n    └── vue-transmit.min.js.map\n```\n\n## Props: <code>&lt;vue-transmit&gt;</code>\n\n[**View Source**](./src/components/VueTransmit.vue#L91)\n\n| Property               | Type                  | Default/Function Signature                                                                                                                                                                 |\n| ---------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| tag                    | string                | `\"div\"`                                                                                                                                                                                    |\n| uploadAreaClasses      | array, object, string | `null`                                                                                                                                                                                     |\n| uploadAreaAttrs        | object                | `{}`                                                                                                                                                                                       |\n| uploadAreaListeners    | object                | `{}`                                                                                                                                                                                       |\n| dragClass              | string                | `null`                                                                                                                                                                                     |\n| maxConcurrentUploads   | number                | `2`                                                                                                                                                                                        |\n| uploadMultiple         | boolean               | `false`                                                                                                                                                                                    |\n| maxFileSize            | number                | `256`                                                                                                                                                                                      |\n| fileSizeBaseInBinary   | boolean               | `false`                                                                                                                                                                                    |\n| createImageThumbnails  | boolean               | `true`                                                                                                                                                                                     |\n| maxThumbnailFileSize   | number                | `10`                                                                                                                                                                                       |\n| thumbnailWidth         | number                | `120`                                                                                                                                                                                      |\n| thumbnailHeight        | number                | `120`                                                                                                                                                                                      |\n| maxFiles               | number                | `null`                                                                                                                                                                                     |\n| clickable              | boolean               | `true`                                                                                                                                                                                     |\n| ignoreHiddenFiles      | boolean               | `true`                                                                                                                                                                                     |\n| acceptedFileTypes      | array                 | `[]`                                                                                                                                                                                       |\n| autoProcessQueue       | boolean               | `true`                                                                                                                                                                                     |\n| autoQueue              | boolean               | `true`                                                                                                                                                                                     |\n| capture                | string                | `null`                                                                                                                                                                                     |\n| errMaxFileSizeExceeded | function              | `(fileSize: number, maxFileSize: number, units: string) => string`                                                                                                                         |\n| errInvalidFileType     | function              | `(type: string, acceptedTypes: string[], file: VTransmitFile) => string`                                                                                                                   |\n| errMaxFilesExceeded    | function              | `(maxFiles: number) => string`                                                                                                                                                             |\n| accept                 | function              | `(file: VTransmitFile, done: Function) => string`                                                                                                                                          |\n| resize                 | function              | `(file: VTransmitFile, dims: { width: number; height: number; }) => { sx: number; sy: number; sWidth: number; sHeight: number; dx: number; dy: number; dWidth: number; dHeight: number; }` |\n| adapterOptions         | object                | `{}`                                                                                                                                                                                       |\n| uploadAdapter          | function              | `XHRUploadAdapter`                                                                                                                                                                         |\n\n## Adapter Options: XHRUploadAdapter\n\n[**View Source**](./src/upload-drivers/xhr.ts#L41)\n\n| Property          | Type                                                              | Default/Function Signature                        |\n| ----------------- | ----------------------------------------------------------------- | ------------------------------------------------- |\n| url               | string                                                            | _(required)_                                      |\n| method            | string                                                            | `\"post\"`                                          |\n| withCredentials   | boolean                                                           | `false`                                           |\n| timeout           | number                                                            | `0`                                               |\n| paramName         | string                                                            | `\"file\"`                                          |\n| params            | `{ [key: string]: string }`                                       | `{}`                                              |\n| headers           | `{ [key: string]: string }`                                       | `{ Accept, 'Cache-Control', 'X-Requested-With' }` |\n| responseType      | `\"\" \\| \"arraybuffer\" \\| \"blob\" \\| \"document\" \\| \"json\" \\| \"text\"` | `\"json\"`                                          |\n| errUploadError    | function                                                          | `(xhr: XMLHttpRequest) => string`                 |\n| errUploadTimeout  | function                                                          | `(xhr: XMLHttpRequest) => string`                 |\n| renameFile        | function                                                          | `(name: string) => string`                        |\n| responseParseFunc | function                                                          | `<T>(xhr: XMLHttpRequest) => T`                   |\n\n## Events\n\n| Event                   | Arguments                                                  | Description                                                                                                                                                         |\n| ----------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `drop`                  | `event: DragEvent`                                         | The `drop` event is fired when an data transfer is dropped on the drop target.                                                                                      |\n| `drag-start`            | `event: DragEvent`                                         | The `drag-start` event is fired when the user starts dragging an element or text selection.                                                                         |\n| `drag-end`              | `event: DragEvent`                                         | The `drag-end` event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).                                         |\n| `drag-enter`            | `event: DragEvent`                                         | The `drag-enter` event is fired when a dragged element or text selection enters a valid drop target.                                                                |\n| `drag-over`             | `event: DragEvent`                                         | The `drag-over` event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).                        |\n| `drag-leave`            | `event: DragEvent`                                         | The `drag-leave` event is fired when a dragged element or text selection leaves a valid drop target.                                                                |\n| `added-file`            | `file: VTransmitFile`                                      | Fired on change from the hidden file input after the Native File has been copied to file: VTransmitFile and added to the component data. _(status: 'added')_        |\n| `added-files`           | `files: VTransmitFile[]`                                   | Fired on change from the hidden file input after the Native Files have been copied to VTransmitFiles and added to the component data. _(status: 'added')_           |\n| `accepted-file`         | `file: VTransmitFile`                                      | Fired if the user-supplied accept function returns without error. _(status: 'added', accepted: true)_                                                               |\n| `rejected-file`         | `file: VTransmitFile`                                      | Fired if the user-supplied accept function returns an error. Fired AFTER the `error` event to ensure correct file status. _(status: 'error', accepted: false)_      |\n| `accept-complete`       | `file: VTransmitFile`                                      | Fired after the user-supplied accept function has returned regardless of success/failure. Fired after `accepted-file` & `rejected-file`. _(status: ?, accepted: ?)_ |\n| `removed-file`          | `file: VTransmitFile`                                      | Fired on the removal of a file.                                                                                                                                     |\n| `thumbnail`             | `file: VTransmitFile, data: Blob\\|URL`                     | Fires on creation of a thumbnail.                                                                                                                                   |\n| `error`                 | `file: VTransmitFile, message: string, data: any`          | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `error-multiple`        | `files: VTransmitFile[], message: string, data: any`       | Fired on an ajax upload error. _(status: 'error')_                                                                                                                  |\n| `processing`            | `file: VTransmitFile`                                      | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `processing-multiple`   | `files: VTransmitFile[]`                                   | Fired after the status is changed to `'uploading'`, right before the ajax request.                                                                                  |\n| `upload-progress`       | `file: VTransmitFile, progress: number, bytesSent: number` | Fired on progress of the upload.                                                                                                                                    |\n| `total-upload-progress` | `file: VTransmitFile, totalUploadProgress: number`         | Fired directly after `upload-progress`.                                                                                                                             |\n| `sending`               | `file: VTransmitFile, xhr: XMLHttpRequest, data: FormData` | Fired right before the upload is sent.                                                                                                                              |\n| `sending-multiple`      | `files: VTransmitFile[], xhr: XMLHttpRequest, FormData`    | Fired right before the upload is sent.                                                                                                                              |\n| `success`               | `file: VTransmitFile, result: any`                         | Fired on load of the upload.                                                                                                                                        |\n| `success-multiple`      | `files: VTransmitFile[], result: any`                      | Fired on load of the upload.                                                                                                                                        |\n| `timeout`               | `file: VTransmitFile, message: string, data: any`          | Fired on timeout of the upload.                                                                                                                                     |\n| `timeout-multiple`      | `files: VTransmitFile[], message: string, data: any`       | Fired on timeout of the upload.                                                                                                                                     |\n| `canceled`              | `file: VTransmitFile`                                      | Fired upon cancellation of the upload. _(status: 'canceled')_                                                                                                       |\n| `canceled-multiple`     | `files: VTransmitFile[]`                                   | Fired upon cancellation of the upload. _(status: 'canceled')_                                                                                                       |\n| `complete`              | `file: VTransmitFile`                                      | Fired upon completion of the upload. _(whether success or failure)_                                                                                                 |\n| `complete-multiple`     | `files: VTransmitFile[]`                                   | Fired upon completion of the upload. _(whether success or failure)_                                                                                                 |\n| `reset`                 | `void`                                                     | Fired when all files have been removed.                                                                                                                             |\n| `max-files-exceeded`    | `file: VTransmitFile`                                      | Fired if a file is added that exceeds the max files prop.                                                                                                           |\n| `max-files-reached`     | `files: VTransmitFile[]`                                   | Fired when the total accepted files on the instance exceeds the max files prop.                                                                                     |\n| `queue-complete`        | `file: VTransmitFile`                                      | Fired once all added files have uploaded and the queue has been flushed.                                                                                            |\n\n## File Statuses\n\nVTransmitFiles have a status property used to indicate its place in the upload\ncycle. Note that `Accepted` is an alias of `Queued` since the is the same place\nin the lifecycle (inherited from Dropzone lifecycle). This may change in a\nfuture version for more clarity. Also note that `Rejected` is not a status.\nAccepted/rejected is derived from the `file.accepted` boolean property.\n\n```ts\nenum UploadStatuses {\n\tNone = \"\",\n\tAdded = \"added\",\n\tQueued = \"queued\",\n\tAccepted = \"queued\",\n\tUploading = \"uploading\",\n\tCanceled = \"canceled\",\n\tError = \"error\",\n\tTimeout = \"timeout\",\n\tSuccess = \"success\",\n}\n```\n\n## Slots\n\n### Default (`$slots.default`)\n\nThe default slot should contain your markup for getting an upload started. This\ncould be a file uploader button and/or a dropzone.\n\n### Files (Scoped, `$slots.files`)\n\nThis slot receives a number of props:\n\n```ts\ninterface FilesSlotProps {\n\tfiles: VTransmitFile[];\n\tacceptedFiles: VTransmitFile[];\n\trejectedFiles: VTransmitFile[];\n\taddedFiles: VTransmitFile[];\n\tqueuedFiles: VTransmitFile[];\n\tuploadingFiles: VTransmitFile[];\n\tcanceledFiles: VTransmitFile[];\n\tfailedFiles: VTransmitFile[];\n\ttimeoutFiles: VTransmitFile[];\n\tsuccessfulFiles: VTransmitFile[];\n\tactiveFiles: VTransmitFile[];\n\tisUploading: boolean;\n}\n```\n\n## `VTransmitFile`\n\n```json\n{\n\t\"_nativeFile\": {},\n\t\"id\": \"v-transmit-file-1\",\n\t\"accepted\": true,\n\t\"lastModified\": 1478117443000,\n\t\"lastModifiedDate\": \"2016-11-02T20:10:43.000Z\",\n\t\"name\": \"cosmo.jpg\",\n\t\"processing\": true,\n\t\"size\": 142776,\n\t\"status\": \"success\",\n\t\"type\": \"image/jpeg\",\n\t\"upload\": {\n\t\t\"bytesSent\": 142776,\n\t\t\"progress\": 100,\n\t\t\"speed\": {\n\t\t\t\"kbps\": 10.06,\n\t\t\t\"mbps\": 0.01\n\t\t},\n\t\t\"start\": 1503273157993,\n\t\t\"end\": 1503273158029,\n\t\t\"time\": 0.036,\n\t\t\"total\": 142776\n\t},\n\t\"webkitRelativePath\": \"\",\n\t\"width\": 700,\n\t\"height\": 700,\n\t\"xhr\": {},\n\t\"dataUrl\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAgAElEQVR4XlS9B7RmZ3UluG/=\"\n}\n```\n\n## Usage\n\nIf you have PHP installed on your machine, you can clone this repo and open up a\nworking test app by running:\n\n```sh\nnpm test\n```\n\nNow navigate to [http://localhost:3030/](http://localhost:3030/).\n\n```html\n<template>\n\t<main id=\"root\" class=\"mt-5\">\n\t\t<div class=\"container\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<header class=\"col-12 text-center\">\n\t\t\t\t\t<h1 class=\"mb-5\"><code>&lt;vue-transmit&gt;</code></h1>\n\t\t\t\t</header>\n\t\t\t\t<vue-transmit\n\t\t\t\t\tclass=\"col-12\"\n\t\t\t\t\ttag=\"section\"\n\t\t\t\t\tv-bind=\"options\"\n\t\t\t\t\tupload-area-classes=\"bg-faded\"\n\t\t\t\t\tref=\"uploader\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"d-flex align-items-center justify-content-center w-100\"\n\t\t\t\t\t\tstyle=\"height:50vh; border-radius: 1rem;\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<button class=\"btn btn-primary\" @click=\"triggerBrowse\">\n\t\t\t\t\t\t\tUpload Files\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- Scoped slot -->\n\t\t\t\t\t<template slot=\"files\" slot-scope=\"props\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"(file, i) in props.files\"\n\t\t\t\t\t\t\t:key=\"file.id\"\n\t\t\t\t\t\t\t:class=\"{'mt-5': i === 0}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"media\">\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t:src=\"file.dataUrl\"\n\t\t\t\t\t\t\t\t\tclass=\"img-fluid d-flex mr-3\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<div class=\"media-body\">\n\t\t\t\t\t\t\t\t\t<h3>{{ file.name }}</h3>\n\t\t\t\t\t\t\t\t\t<div class=\"progress\" style=\"width: 50vw;\">\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclass=\"progress-bar bg-success\"\n\t\t\t\t\t\t\t\t\t\t\t:style=\"{width: file.upload.progress + '%'}\"\n\t\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<pre>{{ file | json }} </pre>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</vue-transmit>\n\t\t\t</div>\n\t\t</div>\n\t</main>\n</template>\n\n<script>\n\tVue.use(VueTransmit);\n\twindow.app = new Vue({\n\t\tel: \"#root\",\n\t\tdata: {\n\t\t\toptions: {\n\t\t\t\tacceptedFileTypes: [\"image/*\"],\n\t\t\t\tclickable: false,\n\t\t\t\tadapterOptions: {\n\t\t\t\t\turl: \"./upload.php\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tmethods: {\n\t\t\ttriggerBrowse() {\n\t\t\t\tthis.$refs.uploader.triggerBrowseFiles();\n\t\t\t},\n\t\t},\n\t\tfilters: {\n\t\t\tjson(value) {\n\t\t\t\treturn JSON.stringify(value, null, 2);\n\t\t\t},\n\t\t},\n\t});\n</script>\n```\n\n## FAQ\n\n### I don't see the dropzone\n\nDefault styles are extracted into a separate `.css` file and are entirely\noptional. If you are using Vue single-file components, you can include it via\nthe `<style>` section:\n\n```css\n@import \"~vue-transmit/dist/vue-transmit.css\";\n```\n\nAlternatively, you can style the dropzone using your own classes using the\n`uploadAreaClasses` and `dragClass` props.\n\n### How to add a button or text to the dropzone\n\nVue Transmit doesn't add any markup for your dropzone target by default.\nInstead, it makes a default slot available for you to provide markup custom to\nyour use-case. Any content you put between the opening and closing\n`<vue-transmit>` tags will be rendered inside the drop zone.\n\n```html\n<vue-transmit>\n\t<h3 class=\"text-center\">Drop file here or click to upload.</h3>\n</vue-transmit>\n```\n\n### Accessing the VueTransmit component instance\n\nIt's always recommended to place a ref on your vue-transmit instance so that\nyour component can call methods and retrieve data directly from the instance.\n\n```html\n<vue-transmit ref=\"vtransmit\" />\n```\n\n### How to remove a file\n\nYou can remove a single file or all files from the component instance. To remove\na single file, you'll need the file you wish to delete.\n\n```js\n// from your component\nthis.$refs.vtransmit.removeFile(vtFile); // single file\nthis.$refs.vtransmit.removeAllFiles((cancelInProgressUploads = false)); // all files\n```\n\n## Lifecycle\n\nThe upload process has many stages, each with different possible outcomes. Here\nis an overview of the lifecycle of an upload with Vue Transmit:\n\n-  Trigger event\n   -  input on `change`: value of `input.files` is read and passed to\n      `vm.addFile`\n   -  target on `drop`: value of `event.dataTransfer[\"files\" || \"items\"]` is\n      read/traversed and passed to `vm.addFile`\n-  Add File\n   -  instantiate `VTransmitFile` from native file object (for reactivity &\n      extra info)\n   -  status `added`\n   -  pushed onto `vm.files`\n   -  thumbnail is enqueued\n-  Accept File\n   -  check size, type, upload limit\n   -  invoke `accept` function for consumer validation\n   -  `accept` or `reject` complete\n   -  if `autoQueue`, enqueue file\n-  Enqueue file\n   -  check that file status is `added` & has been accepted\n   -  status = `queued`\n   -  if `autoProcessQueue`, invoke `processQueue` async _(like node\n      `setImmediate`)_\n-  Process queue\n   -  check number of uploading files against upload limit\n   -  invoke `processFiles` with max amount of queued files options allow\n-  Process files\n   -  do upload\n-  Progress updates\n-  Complete upload\n   -  status = `success || error`\n   -  process queue to handle buffered files\n","readmeFilename":"README.md","_id":"vue-transmit@9.0.0-alpha.12","_nodeVersion":"10.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-WeQ5csnsN+EPT0q0H7vpXMjerFL3VhSKk/GCdnFNc0/47Q8l3b24xcZfNLj7/XqoqUoLVf5VMKIEpWUgraHuvQ==","shasum":"a1509fe4e5ab1e0dc1c0615e104af981b4a542fe","tarball":"https://registry.npmjs.org/vue-transmit/-/vue-transmit-9.0.0-alpha.12.tgz","fileCount":23,"unpackedSize":576873,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUHKzCRA9TVsSAnZWagAA57wP/0WCo4JmZ5vwTf+UGWyV\nLin65h11dd7lIsv2jlHtVyUpFwmM3G52u7sHSqRdzdwpYLbzCD52NI0/J6Kc\nS8vWcMkI96AQh/P0Mv9SPR1BAZqNch3iSd4Vf/OZo/IHf+qK94bdCfGPhker\n7pUK6K73DtBS1GsXy4RezLDg6RLDfsxdJM2kVq8MLW7OOJP8XRudJVyuTFHw\n5KVHhgL8AXhEnwZeKc9j0UEJd1uE9PZdcss4hXf2WyXWdkl6dVJYstnRb63s\naIB5dMuZiRcNdkycTRIsqXc7zXgC8dGQHmAJiPUZf0qobrf6JXUT9Psc6w7c\nwKJ/y0IQeCZ57lRD5qAtf4fvzwUje49ODCBQ5Lr//oCYJ9CXaXR0y5fkiINP\nVhGm48rR9JA6SXHUucNda8G3AOg2tsPN668teUDgzH5My5PHTHiJOzcKkzsq\nN0BUepOWdHKq4YgwCaA8jQXKSJLiCnpkZ1qd22/v3j/RGCZ4eX2PvaYRoyXs\nM8Q3SSdwTpilpNUmG5QK3UCbL/jkHxjPgpfECAS02akrLEX2L4ckXWHsBICj\nWk/rBrcXjti+NfMQsoZckxw+gOtAo9+PEadql5YFy38FOrvuY6a+D6Bns2N3\nvVRlbZC7qdP00wY+xK2JOb65sjFzpnzsSbMJmKDsvH4ejjIuM31qMjghSOjL\np4HO\r\n=1it4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUroypcY2WV0hNh1IkAVqa3IMzzURxfvjBDraX4e8zewIgE3mw61KFD4/KrY+EB8mSbZaGpQxFT58z0bhG00f5Ruk="}]},"maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"_npmUser":{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-transmit_9.0.0-alpha.12_1548776114997_0.4165787049438272"},"_hasShrinkwrap":false}},"readme":"","maintainers":[{"name":"alexsasharegan","email":"alex.joseph.regan@gmail.com"}],"time":{"modified":"2022-05-23T19:54:11.433Z","created":"2017-06-17T17:40:34.671Z","1.0.0":"2017-06-17T17:40:34.671Z","1.0.1":"2017-07-11T06:06:15.997Z","1.0.2":"2017-08-14T01:14:16.523Z","1.0.3":"2017-08-20T05:11:42.088Z","1.0.5":"2017-08-20T23:46:09.559Z","1.0.7":"2017-08-27T15:59:47.884Z","1.0.8":"2017-08-29T15:36:44.349Z","1.0.9":"2017-09-15T21:29:26.061Z","1.0.10":"2017-09-15T22:16:51.017Z","1.0.11":"2017-09-15T22:41:54.464Z","1.0.12":"2017-09-15T23:49:20.010Z","5.0.0":"2017-09-16T13:44:51.020Z","5.0.1":"2017-09-16T13:58:42.686Z","5.1.0":"2017-09-16T22:59:04.965Z","5.1.1":"2017-09-16T23:02:28.607Z","5.1.2":"2017-09-18T17:53:18.017Z","5.1.3":"2017-09-18T18:06:31.857Z","5.1.4":"2017-09-18T18:10:06.986Z","5.1.5":"2017-09-18T18:28:53.276Z","5.2.0":"2017-09-25T18:21:25.557Z","5.3.0":"2017-09-29T03:25:36.001Z","5.3.1":"2017-09-29T06:03:36.883Z","5.3.2":"2017-09-29T06:40:17.130Z","5.4.0":"2017-10-01T15:48:33.844Z","6.0.0":"2017-10-02T03:58:26.785Z","6.0.1":"2017-10-02T19:06:41.697Z","6.0.2":"2017-10-04T06:44:03.761Z","6.0.3":"2017-10-04T21:41:14.505Z","6.0.4":"2017-10-04T21:43:11.393Z","6.0.5":"2017-10-08T15:49:04.836Z","6.0.6":"2017-10-08T15:50:15.846Z","6.0.7":"2017-10-09T21:33:18.369Z","6.0.8":"2017-10-17T21:12:54.506Z","7.0.0":"2017-10-18T18:39:05.599Z","7.0.1":"2017-11-06T00:53:21.876Z","7.0.2":"2017-11-07T22:40:11.478Z","7.0.3":"2017-11-14T22:54:08.365Z","7.0.4":"2017-11-17T20:59:47.399Z","7.0.5":"2017-11-28T15:54:41.897Z","7.0.6":"2017-11-28T16:03:30.028Z","7.1.0":"2017-11-28T21:03:16.613Z","7.1.1":"2017-11-28T21:39:01.182Z","7.1.2":"2017-12-01T19:26:34.797Z","7.1.3":"2017-12-14T17:13:46.316Z","7.1.4":"2017-12-26T05:05:15.418Z","7.1.5":"2017-12-26T16:10:42.624Z","7.1.6":"2018-01-08T16:48:14.806Z","7.1.7":"2018-01-08T16:49:54.878Z","8.0.0":"2018-01-12T16:36:52.659Z","9.0.0-alpha.0":"2018-02-09T05:43:19.309Z","9.0.0-alpha.1":"2018-02-09T07:17:19.127Z","9.0.0-alpha.2":"2018-02-09T09:37:12.405Z","9.0.0-alpha.3":"2018-02-09T17:52:12.113Z","9.0.0-alpha.4":"2018-02-09T18:00:32.386Z","9.0.0-alpha.5":"2018-02-09T20:57:20.923Z","9.0.0-alpha.6":"2018-02-09T21:20:53.754Z","9.0.0-alpha.7":"2018-02-17T07:07:36.619Z","9.0.0-alpha.8":"2018-02-22T17:50:32.557Z","9.0.0-alpha.9":"2018-03-01T15:57:22.866Z","8.1.0":"2018-03-01T16:09:48.814Z","9.0.0-alpha.10":"2018-03-11T03:42:58.802Z","8.1.1":"2018-03-11T03:56:31.012Z","9.0.0-alpha.11":"2018-03-11T04:01:45.168Z","8.1.2":"2018-03-23T22:07:27.889Z","8.1.3":"2018-05-09T02:56:04.138Z","8.1.4":"2018-05-09T03:03:42.808Z","9.0.0-alpha.12":"2019-01-29T15:35:15.157Z"},"homepage":"https://github.com/alexsasharegan/vue-dropzone#readme","keywords":["dragndrop","drag and drop","file upload","upload"],"repository":{"type":"git","url":"git+https://github.com/alexsasharegan/vue-transmit.git"},"author":{"name":"Alex Regan","email":"alex.joseph.regan@gmail.com","url":"https://github.com/alexsasharegan"},"bugs":{"url":"https://github.com/alexsasharegan/vue-dropzone/issues"},"license":"ISC","readmeFilename":"","users":{"landen":true}}