{"_id":"@aeoss/vue-draggable-resizable","_rev":"3-c02ea939d09c36a85772ef56d646cb53","name":"@aeoss/vue-draggable-resizable","dist-tags":{"latest":"1.7.8"},"versions":{"1.7.6":{"name":"@aeoss/vue-draggable-resizable","version":"1.7.6","description":"Vue2 Component for resizable and draggable elements","author":{"name":"Maurizio Bonani","email":"maurizio.bonani@gmail.com"},"main":"dist/index.js","jsnext:main":"src/index.js","scripts":{"dev":"node build/dev-server.js","docs":"webpack --config build/webpack.docs.js","build":"webpack --config build/webpack.dist.js","test":"npm run unit","unit":"cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run","prepublish":"yarn test","lint":"eslint --ext .js,.vue src test/unit/specs"},"repository":{"type":"git","url":"https://github.com/aeoss/vue-draggable-resizable.git"},"license":"MIT","bugs":{"url":"https://github.com/aeoss/vue-draggable-resizable/issues"},"homepage":"https://github.com/aeoss/vue-draggable-resizable","keywords":["vue","component","dragabble","resizable"],"peerDependencies":{"vue":"^2.3.0"},"devDependencies":{"babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^6.2.10","babel-plugin-istanbul":"^3.1.2","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.2.1","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chai":"^3.5.0","cross-env":"^3.1.4","css-loader":"^0.26.1","eslint":"^3.14.1","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^2.0.7","eslint-loader":"^1.6.1","eslint-plugin-html":"^2.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","inject-loader":"^2.0.1","karma":"^1.4.1","karma-chai":"^0.1.0","karma-chai-dom":"^1.1.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon-chai":"^1.2.4","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.26","karma-webpack":"^2.0.2","mocha":"^3.2.0","opn":"^4.0.2","sinon":"^2.1.0","sinon-chai":"^2.8.0","syn":"^0.5.0","vue-loader":"^11.1.4","vue-style-loader":"^2.0.0","vue-template-compiler":"^2.2.1","vue-unit":"^0.2.x","webpack":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.16.1","webpack-merge":"^2.6.1"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 9"],"dependencies":{"vue":"^2.5.21"},"licenseText":"MIT License\n\nCopyright (c) 2017 Maurizio Bonani\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@aeoss/vue-draggable-resizable@1.7.6","dist":{"shasum":"7a5f39d12aeb1dccb799275cb221386f748d9ba1","tarball":"https://registry.npmjs.org/@aeoss/vue-draggable-resizable/-/vue-draggable-resizable-1.7.6.tgz","integrity":"sha512-Z9aHKjQQ5JtyBK/Hg/6EEVMoGepMqwLcmzMtHLpYLgA0T0PfQBIKESDcOS7c0c9bOgZGkGrMCsCGXnJfIjkdLQ==","fileCount":38,"unpackedSize":127709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGIpaCRA9TVsSAnZWagAA9qgQAIx5byFt3SZDqb0Lk0jG\nu5NsOLZUufFbE/kQw4XZzEv2/11e1fXEOexzGXZ3SuGsJEK1gPnafAgyA6iN\nn4w7EqE68XRCbOHqTN7tEE2YljWrvHF540hWOMi5ewaGNtkg1Jl+GH08UN0z\nA9eXzdOddhDse+27uhB1469iD/N6U4hHanzR4p9w5/vDKwE7lr9VjY0hY9ev\nFu4UKkvi/0nDay/MSxAq0x3+Mt+qJkqAja2NK0ZUmwiSjpwBX0B0e61AtUK/\nZTfPMG4WKsOYyeD+P/aRSD7/7rsN3P1H9eZk8akDfrKpjvaEYeYszOR2ogRq\nbXV2XX97Cs8DAStG6LKj6kGoj/QWJXINXuPpUZ3vM3uvGwBFA83SsGsh5pLD\nfyOTRUxAzd1NAU36RWVacpVd3ooYpoOtB/bxk7GdyfG27mKnGYJ3KCmROF3l\nNd/9jOKXBli+ki1MULt5ChncrkkePMOYz5E74WtIvOFjyha1XMzC8ye/tB8U\nGXn7EoQjAIQ1l44HPDbUsd012dUSa8y3W6JLa1TfA5U4+5FcDHbHAZY0F+uR\ntsT7XEgj0+//gZlOWlXB6ffdGw2/Mdv4b5qpLmXdIRxUdLlL2KQltjgxvH9d\nlNfUpViRSPCcx8RvVBME5iP3Rwj9W9hSyCOiyjD+9VMET7bQ+wnIsdP/mrKQ\nv/Rw\r\n=+zDE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB+woFS0dkw7DZI6kNHmY7fnKJXUmWtdh6+shnNr9dKrAiAaTQ2BhzlSENq81xixWyF4cpngUOhO59WFkvAeF6XKRg=="}]},"maintainers":[{"name":"spencerpjy","email":"spencerpjy@gmail.com"},{"name":"scottplunkett","email":"plunkets@aeoss.io"}],"_npmUser":{"name":"spencerpjy","email":"spencerpjy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-draggable-resizable_1.7.6_1545112153922_0.09858480699163819"},"_hasShrinkwrap":false},"1.7.7":{"name":"@aeoss/vue-draggable-resizable","version":"1.7.7","description":"Vue2 Component for resizable and draggable elements","author":{"name":"Maurizio Bonani","email":"maurizio.bonani@gmail.com"},"main":"dist/index.js","jsnext:main":"src/index.js","scripts":{"dev":"node build/dev-server.js","docs":"webpack --config build/webpack.docs.js","build":"webpack --config build/webpack.dist.js","test":"npm run unit","unit":"cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run","prepublish":"yarn test","lint":"eslint --ext .js,.vue src test/unit/specs"},"repository":{"type":"git","url":"https://github.com/aeoss/vue-draggable-resizable.git"},"license":"MIT","bugs":{"url":"https://github.com/aeoss/vue-draggable-resizable/issues"},"homepage":"https://github.com/aeoss/vue-draggable-resizable","keywords":["vue","component","dragabble","resizable"],"peerDependencies":{"vue":"^2.3.0"},"devDependencies":{"babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^6.2.10","babel-plugin-istanbul":"^3.1.2","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.2.1","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chai":"^3.5.0","cross-env":"^3.1.4","css-loader":"^0.26.1","eslint":"^3.14.1","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^2.0.7","eslint-loader":"^1.6.1","eslint-plugin-html":"^2.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","inject-loader":"^2.0.1","karma":"^1.4.1","karma-chai":"^0.1.0","karma-chai-dom":"^1.1.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon-chai":"^1.2.4","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.26","karma-webpack":"^2.0.2","mocha":"^3.2.0","opn":"^4.0.2","sinon":"^2.1.0","sinon-chai":"^2.8.0","syn":"^0.5.0","vue-loader":"^11.1.4","vue-style-loader":"^2.0.0","vue-template-compiler":"^2.5.21","vue-unit":"^0.2.x","webpack":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.16.1","webpack-merge":"^2.6.1"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 9"],"dependencies":{"vue":"^2.5.21"},"licenseText":"MIT License\n\nCopyright (c) 2017 Maurizio Bonani\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@aeoss/vue-draggable-resizable@1.7.7","dist":{"shasum":"767bcdd078f1c626b5fe8a3b8efd542a9fdbe3aa","tarball":"https://registry.npmjs.org/@aeoss/vue-draggable-resizable/-/vue-draggable-resizable-1.7.7.tgz","integrity":"sha512-DIaud1NOiYs5BKC0mH9e0AZaF+0jlmJqgHvGohRcHWvUt+CQMd54pLq3oG4bzyfeE5WfzMbymUytgO73N7bX+A==","fileCount":38,"unpackedSize":127748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGI+UCRA9TVsSAnZWagAAnwkP/23Of0WlvFxECxIJuMeD\niE10VrerakxBaqcq13x6i0qASMxNYRgd0hfYiU/1nyGqvstV7LYk+qYiVqbV\ngKwCU29C6HwU11yeaHH352b8sqaJD6XjIRwsCx29Bs+o7n/Q5NKpvW15/mLP\nnxQRqMz32VOqXA9ouuXKDgSJ/78M1rUyjiXFyZ8CAKCecvYUa14VOnpLt0cf\ntouHE2mG/3JSfTrw5IPYO2k1AuMfCdu4RuWEiET+qMpp5s2ZBYxUfgwnkPbX\nveQSrTfAYmg6o8c4U5vAubjSvX8/S/yxhus5nWeBpGQBla7GiVHr7YeVnVdU\nNpTRxRwLo9qAinBt8BMqWJIqlVjJz//BbSrMGkO103iQOkByW59h+Ri9WQr4\n21BiwY00OnEw4C9N065lAHGwlsaefnHcletg/xuLX0naNGQiRXDte0DMMZcW\n+2Q3Pl6zZUiujZvN+MkwBxWtuAFBHaTaenTvzf9aUd83aFqARyr2GY2A1G7R\nSxiMwBPzY79zKWPrAgmsF9m9HrFmM9O0z8zYiuqHOgPrEQ6SuqV5zUxZdWoq\nvYu1uf0SUKP2AhRSdl6upINwhyzgb0RAJcyTTZ5cuwXb4hD2nOQW1+UWh8BD\nEjXl68LkI3DzcjzGExD6opvTTsFx3w+S8rLLHuMbG9NdKGiTB1wtjz99MFZa\n+7Oh\r\n=FBPH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFm323Jkhi0Zzh4B31X28F6Y+KVkmuTH34CL+paJ1QTJAiEA7Kp4KAhC+ducpNeUNKcQh7ZXil02lggUf+mhJHuGb8Q="}]},"maintainers":[{"name":"scottplunkett","email":"plunkets@aeoss.io"},{"name":"spencerpjy","email":"spencerpjy@gmail.com"}],"_npmUser":{"name":"spencerpjy","email":"spencerpjy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-draggable-resizable_1.7.7_1545113491680_0.583263157732677"},"_hasShrinkwrap":false},"1.7.8":{"name":"@aeoss/vue-draggable-resizable","version":"1.7.8","description":"Vue2 Component for resizable and draggable elements","author":{"name":"Maurizio Bonani","email":"maurizio.bonani@gmail.com"},"main":"dist/index.js","jsnext:main":"src/index.js","scripts":{"dev":"node build/dev-server.js","docs":"webpack --config build/webpack.docs.js","build":"webpack --config build/webpack.dist.js","test":"npm run unit","unit":"cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run","prepublish":"yarn test && yarn build","lint":"eslint --ext .js,.vue src test/unit/specs"},"repository":{"type":"git","url":"https://github.com/aeoss/vue-draggable-resizable.git"},"license":"MIT","bugs":{"url":"https://github.com/aeoss/vue-draggable-resizable/issues"},"homepage":"https://github.com/aeoss/vue-draggable-resizable","keywords":["vue","component","dragabble","resizable"],"peerDependencies":{"vue":"^2.5.21"},"devDependencies":{"babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-loader":"^6.2.10","babel-plugin-istanbul":"^3.1.2","babel-plugin-transform-runtime":"^6.22.0","babel-preset-env":"^1.2.1","babel-preset-stage-2":"^6.22.0","babel-register":"^6.22.0","chai":"^3.5.0","cross-env":"^3.1.4","css-loader":"^0.26.1","eslint":"^3.14.1","eslint-config-standard":"^6.2.1","eslint-friendly-formatter":"^2.0.7","eslint-loader":"^1.6.1","eslint-plugin-html":"^2.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","eventsource-polyfill":"^0.9.6","express":"^4.14.1","friendly-errors-webpack-plugin":"^1.1.3","html-webpack-plugin":"^2.28.0","http-proxy-middleware":"^0.17.3","inject-loader":"^2.0.1","karma":"^1.4.1","karma-chai":"^0.1.0","karma-chai-dom":"^1.1.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon-chai":"^1.2.4","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.26","karma-webpack":"^2.0.2","mocha":"^3.2.0","opn":"^4.0.2","sinon":"^2.1.0","sinon-chai":"^2.8.0","syn":"^0.5.0","vue-loader":"^11.1.4","vue-style-loader":"^2.0.0","vue-template-compiler":"^2.5.21","vue-unit":"^0.2.x","webpack":"^2.2.1","webpack-dev-middleware":"^1.10.0","webpack-hot-middleware":"^2.16.1","webpack-merge":"^2.6.1"},"engines":{"node":">= 4.0.0","npm":">= 3.0.0"},"browserslist":["> 1%","last 2 versions","not ie <= 9"],"dependencies":{"vue":"^2.5.21"},"licenseText":"MIT License\n\nCopyright (c) 2017 Maurizio Bonani\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@aeoss/vue-draggable-resizable@1.7.8","dist":{"shasum":"55a356c8a0fdda867eeaaabcafcef5a1605b311e","tarball":"https://registry.npmjs.org/@aeoss/vue-draggable-resizable/-/vue-draggable-resizable-1.7.8.tgz","integrity":"sha512-/1kK2oJ4S/wiarjZRrl/ZohUF3rlh9JhSW3tTIgr6xsJzsKFcEph1E2tiMR5iYDV1GFay7LH4vjFInzTsdS6iA==","fileCount":38,"unpackedSize":127763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGJIKCRA9TVsSAnZWagAAtiwP/0CRK7nNqATeVLaIMIiT\nUP60Tv/k3wSilFUksVRl5wcGLu1aTOYQ2ePirZhFRsKVPi6tjAofWiJcm+VU\n5umt5FIrBZmYz3PoXDKJ3Wg7kn0s1uHs5JVn0D8cpVR45+Gm1g6YX5jXF4SA\nraw7qv6E2m2uHZ0USm4hJt2v6li28GqH6FEbca7oa/0kz9IXKnzdCGeYvwwi\nJLgRWcainoaP5cJq0LKCyVkErUzY78aYezE6h5QEzZN3MkMDcVxfuGOBUetV\njVQt6T5RW4maTsckSRA+/6AtCd3Hrb0f4HbIUt3J7DQGje08vPF7LFVjdYyA\nUM5CLHRBTwMrfehhrTdHbaiGwdMMkT4szsAsV6/hFGhyaKu16qJ0oNJJFsJi\nBjGEtI3rK2oD3846mqJut4Mjn0F9iCGJwP/8wSsYX6B+BSFwZC/1eNYY/YdD\nvdThRAtIK0M2c0DE22UqD0RTGPyQ5/CH+leh9mke3qLmBmZXsHnH1rvLueWL\nXxxl4hOzmaBdvcer7rrP4hZZHw981Hoo1vUuzYD9KOnGStNsUuKZCZsGZ3sy\nfJNHBWtAwoIGCTdFiyao9A5IfTQy6acCTXCNQsd3TSfl37SRPi3BDXlYXWOU\nbJkD8M1Gci7STZgaKNeMjLUKVQhx85weTQGTeKPB07H/omYbqGEbiKIVw9qK\n53oP\r\n=YHuv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBO9LGFhuKnpwnwokGiRU/2rJty9bY2LT27qefBM7L08AiAoI/yqxFAheED2lsFDKV/7b+cXisj7VTyXl8xMlO4XDg=="}]},"maintainers":[{"name":"scottplunkett","email":"plunkets@aeoss.io"},{"name":"spencerpjy","email":"spencerpjy@gmail.com"}],"_npmUser":{"name":"spencerpjy","email":"spencerpjy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-draggable-resizable_1.7.8_1545114121889_0.8303517620365493"},"_hasShrinkwrap":false}},"time":{"created":"2018-12-18T05:49:13.747Z","1.7.6":"2018-12-18T05:49:14.048Z","modified":"2022-04-04T11:47:53.476Z","1.7.7":"2018-12-18T06:11:31.808Z","1.7.8":"2018-12-18T06:22:02.039Z"},"maintainers":[{"name":"scottplunkett","email":"plunkets@aeoss.io"},{"name":"spencerpjy","email":"spencerpjy@gmail.com"}],"description":"Vue2 Component for resizable and draggable elements","homepage":"https://github.com/aeoss/vue-draggable-resizable","keywords":["vue","component","dragabble","resizable"],"repository":{"type":"git","url":"https://github.com/aeoss/vue-draggable-resizable.git"},"author":{"name":"Maurizio Bonani","email":"maurizio.bonani@gmail.com"},"bugs":{"url":"https://github.com/aeoss/vue-draggable-resizable/issues"},"license":"MIT","readme":"<p align=\"center\"><img src=\"https://rawgit.com/mauricius/vue-draggable-resizable/master/docs/resources/logo.png\" alt=\"logo\"></p>\n<h1 align=\"center\">VueDraggableResizable</h1>\n\n[![Latest Version on NPM](https://img.shields.io/npm/v/vue-draggable-resizable.svg?style=flat-square)](https://npmjs.com/package/vue-draggable-resizable)\n[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md)\n[![npm](https://img.shields.io/npm/dt/vue-draggable-resizable.svg?style=flat-square)](https://www.npmjs.com/package/vue-draggable-resizable)\n\n> Vue2 Component for draggable and resizable elements.\n\n## Table of Contents\n\n* [Features](#features)\n* [Demo](#demo)\n* [Install and basic usage](#install-and-basic-usage)\n  * [Props](#props)\n  * [Events](#events)\n* [Gotchas](#gotchas)\n* [Roadmap](#roadmap)\n* [Contributing](#contributing)\n* [License](#license)\n\n### Features\n\n* No dependencies\n* Use draggable, resizable or both\n* Define handles for resizing\n* Restrict size and movement to parent element\n* Snap element to custom grid\n* Restrict drag to vertical or horizontal axis\n\n### Demo\n\n[Demo](https://mauricius.github.io/vue-draggable-resizable/)\n\n---\n\n## Install and basic usage\n\n```bash\n$ npm install --save vue-draggable-resizable\n```\n\n\nRegister the component\n\n```js\nimport Vue from 'vue'\nimport VueDraggableResizable from 'vue-draggable-resizable'\n\nVue.component('vue-draggable-resizable', VueDraggableResizable)\n```\n\nYou may now use the component in your markup\n\n```vue\n<template>\n  <div style=\"height: 500px; width: 500px; border: 1px solid red; position: relative;\">\n    <vue-draggable-resizable :w=\"100\" :h=\"100\" v-on:dragging=\"onDrag\" v-on:resizing=\"onResize\" :parent=\"true\">\n      <p>Hello! I'm a flexible component. You can drag me around and you can resize me.<br>\n      X: {{ x }} / Y: {{ y }} - Width: {{ width }} / Height: {{ height }}</p>\n    </vue-draggable-resizable>\n  </div>\n</template>\n\n<script>\nimport VueDraggableResizable from 'vue-draggable-resizable'\n\nexport default {\n  data: function () {\n    return {\n      width: 0,\n      height: 0,\n      x: 0,\n      y: 0\n    }\n  },\n  methods: {\n    onResize: function (x, y, width, height) {\n      this.x = x\n      this.y = y\n      this.width = width\n      this.height = height\n    },\n    onDrag: function (x, y) {\n      this.x = x\n      this.y = y\n    }\n  }\n}\n</script>\n```\n\n### Props\n\n#### active\nType: `Boolean`<br>\nRequired: `false`<br>\nDefault: `false`\n\nDetermines if the component should be active or not. The prop reacts to changes and also can be used with the `sync`[modifier](https://vuejs.org/v2/guide/components.html#sync-Modifier) to keep the state in sync with the parent.\n\n```html\n<vue-draggable-resizable :active=\"true\">\n```\n\n#### draggable\nType: `Boolean`<br>\nRequired: `false`<br>\nDefault: `true`\n\nDefines it the component should be draggable or not.\n\n```html\n<vue-draggable-resizable :draggable=\"false\">\n```\n\n#### resizable\nType: `Boolean`<br>\nRequired: `false`<br>\nDefault: `true`\n\nDefines it the component should be resizable or not.\n\n```html\n<vue-draggable-resizable :resizable=\"false\">\n```\n\n#### w\nType: `Number`<br>\nRequired: `false`<br>\nDefault: `200`\n\nDefine the initial width of the element.\n\n```html\n<vue-draggable-resizable :w=\"200\">\n```\n\n#### h\nType: `Number`<br>\nRequired: `false`<br>\nDefault: `200`\n\nDefine the initial height of the element.\n\n```html\n<vue-draggable-resizable :h=\"200\">\n```\n\n#### minw\nType: `Number`<br>\nRequired: `false`<br>\nDefault: `50`\n\nDefine the minimal width of the element.\n\n```html\n<vue-draggable-resizable :minw=\"50\">\n```\n\n#### minh\nType: `Number`<br>\nRequired: `false`<br>\nDefault: `50`\n\nDefine the minimal height of the element.\n\n```html\n<vue-draggable-resizable :minh=\"50\">\n```\n\n#### x\nType: `Number`<br>\nRequired: `false`<br>\nDefault: `0`\n\nDefine the initial x position of the element.\n\n```html\n<vue-draggable-resizable :x=\"0\">\n```\n\n#### y\nType: `Number`<br>\nRequired: `false`<br>\nDefault: `0`\n\nDefine the initial y position of the element.\n\n```html\n<vue-draggable-resizable :y=\"0\">\n```\n\n#### z\nType: `Number|String`<br>\nRequired: `false`<br>\nDefault: `auto`\n\nDefine the zIndex of the element.\n\n```html\n<vue-draggable-resizable :z=\"999\">\n```\n\n#### handles\nType: `Array`<br>\nRequired: `false`<br>\nDefault: `['tl', 'tm', 'tr', 'mr', 'br', 'bm', 'bl', 'ml']`\n\nDefine the array of handles to restrict the element resizing:\n* `tl` - Top left\n* `tm` - Top middle\n* `tr` - Top right\n* `mr` - Middle right\n* `br` - Bottom right\n* `bm` - Bottom middle\n* `bl` - Bottom left\n* `ml` - Middle left\n\n```html\n<vue-draggable-resizable :handles=\"['tm','bm','ml','mr']\">\n```\n\n#### axis\nType: `String`<br>\nRequired: `false`<br>\nDefault: `both`\n\nDefine the axis on which the element is draggable. Available values are `x`, `y` or `both`.\n\n```html\n<vue-draggable-resizable axis=\"x\">\n```\n\n#### grid\nType: `Array`<br>\nRequired: `false`<br>\nDefault: `[1,1]`\n\nDefine the grid on which the element is snapped.\n\n```html\n<vue-draggable-resizable :grid=\"[1,1]\">\n```\n\n#### parent\nType: `Boolean`<br>\nRequired: `false`<br>\nDefault: `false`\n\nRestricts the movement and the dimensions of the element to the parent.\n\n```html\n<vue-draggable-resizable :parent=\"true\">\n```\n\n#### dragHandle\nType: `String`<br>\nRequired: `false`\n\nDefines the selector that should be used to drag the component.\n\n```html\n<vue-draggable-resizable drag-handle=\".drag\">\n```\n\n#### dragCancel\nType: `String`<br>\nRequired: `false`\n\nDefines a selector that should be used to prevent drag initialization.\n\n```html\n<vue-draggable-resizable drag-cancel=\".drag\">\n```\n\n#### maximize\nType: `Boolean`<br>\nRequired: `false`<br>\nDefault: `false`\n\nIf set to `true` allows the component to fill its parent when double-clicked.\n\n```html\n<vue-draggable-resizable :maximize=\"true\">\n```\n\n---\n\n### Events\n\n#### activated\n\nRequired: `false`<br>\nParameters: `-`\n\nCalled whenever the component gets clicked, in order to show handles.\n\n```html\n<vue-draggable-resizable @activated=\"onActivated\">\n```\n\n#### deactivated\n\nRequired: `false`<br>\nParameters: `-`\n\nCalled whenever the user clicks anywhere outside the component, in order to deactivate it.\n\n```html\n<vue-draggable-resizable @deactivated=\"onDeactivated\">\n```\n\n#### resizing\n\nRequired: `false`<br>\nParameters:\n* `left` the X position of the element\n* `top` the Y position of the element\n* `width` the width of the element\n* `height` the height of the element\n\nCalled whenever the component gets resized.\n\n```html\n<vue-draggable-resizable @resizing=\"onResizing\">\n```\n\n#### resizestop\n\nRequired: `false`<br>\nParameters:\n* `left` the X position of the element\n* `top` the Y position of the element\n* `width` the width of the element\n* `height` the height of the element\n\nCalled whenever the component stops getting resized.\n\n```html\n<vue-draggable-resizable @resizestop=\"onResizstop\">\n```\n\n#### dragging\n\nRequired: `false`<br>\nParameters:\n* `left` the X position of the element\n* `top` the Y position of the element\n\nCalled whenever the component gets dragged.\n\n```html\n<vue-draggable-resizable @dragging=\"onDragging\">\n```\n\n#### dragstop\n\nRequired: `false`<br>\nParameters:\n* `left` the X position of the element\n* `top` the Y position of the element\n\nCalled whenever the component stops getting dragged.\n\n```html\n<vue-draggable-resizable @dragstop=\"onDragstop\">\n```\n\n### Gotchas\n\nBe careful to use appropriate values for `x`, `y`, `w`, `h`, `minh` and `minh` props when you want to restrict the component in its parent element.\n\nIf you have contents inside a component that shall be selectable or get the\nwindow's focus (e.g. `input` elements), use the [`dragHandle`](#draghandle)\nproperty to explicitly define the draggable area or [`dragCancel`](#dragCancel)\nto exclude elements from being so.\n\n### Bonus\n\nIf `resizing`, `parent` and `maximize` props are `true` you can double-click on the element to make it fill the parent.\n\n## Roadmap\n\n- [x] Touch support (thanks @ojczeo)\n- [x] Fix grid issues (#34, #58) - Version 2\n- [x] Implement Storybook - Version 2\n- [x] Aspect ratio on resizing (#26) - Version 2\n- [ ] `maxWidth` and `maxHeight` props (#76) - In progress\n- [x] Different approach with CSS styles (#73) - Version 2\n- [x] Watching props for changes (requires refactoring and possibly breaking changes) - Version 2\n\n## Contributing\n\nAny contribution to the code or any part of the documentation and any idea and/or suggestion are very welcome.\n\n``` bash\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# distribution build\nnpm run build\n\n# build the docs into gh-pages\nnpm run docs\n\n# run unit tests\nnpm run test\n\n```\n\n## License\n\n[MIT license](LICENSE)\n","readmeFilename":"README.md"}