{"_id":"svelte-drag","_rev":"55-dc7df4856ba2dc2296d86a8a012d051a","name":"svelte-drag","dist-tags":{"latest":"3.1.0","next":"3.0.0-beta.1"},"versions":{"0.0.3":{"name":"svelte-drag","version":"0.0.3","description":"Svelte port of react-draggable","main":"dist/index.js","types":"dist/types.d.ts","type":"module","scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"ISC","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"60bda972b77f5c1c648c8bff2068e38aac85698b","_id":"svelte-drag@0.0.3","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-M2i/jia95UG1W5hDpgBS/EKl4VCQDjWU8eVkpmuOZVR1I2BIvsP7J+VQ2NihWh1ArhxSQOn/uwmVNQ/6cGMjRw==","shasum":"08b1db6a21ec1990b023063bf7b7ab082982d26a","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-0.0.3.tgz","fileCount":2,"unpackedSize":3050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9UrkCRA9TVsSAnZWagAAkjMP/i21eNjHcIAR2rhcMueO\nQFfBQSAcPtYoSCy0aPBbd5zuNrbg2FySTdT1PqB5nkT3UUQhWceM8dgXpeHT\nrs7IjJ7Vm6f/CfddqN1NPRHFzmuA+LLONe6cD8ek6zlppB4qtYG1D3+kcxnt\nZx4EYisTmEjNvQ2R1/zBGj47Key5fsuQzDUvCC0qsiyeOHs/FvQ9/zygAQDP\nIxjL+nIpG734zxaiVj4pw1G5O7izORwZGi1vzzHPeSKFZG9aZehZ+qZAGlEh\n759t+7AacKDsgY8eABZs5JsWLJySe1uvyx1EUKtq5Cwk4IKtu6ipmCtl1ITO\nOOg3imhO8XIP7iTtRzEKP05ZkulJKI3ZWjMPzUrJNGaudyoEHEF7l5T7mzbx\nvh9f2sZ1k11m25z8NTi5ZQGbG39KkPEqYlo6e/szib7wbut9H6U+3SCyeaIo\nlqTJmACwFTVChJLRJ3ebEiAaEIhJ0f+c0MYqBbaqUh3qHqQrlX0MfCNUNR81\n4OSaUP6ZaCuii+5m0dy47mjbvAxR/Gsq2Enztr55BZ4G0bmEGEziEtCPEXFk\neC97zJFU5Co7di4n4wpE9H3KojuxW9R2uj66EukBhbGPpLdK5twd+sAuuB3q\n/zu8rfrDKPXfOlxs8eCMZxNNPOeHEdhujBbskFfH07Js2qqqF+bodi1ttoFR\nkxVj\r\n=ZWc0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPyMyV6QQhs3KJ7AmFjU/lxBz3Vbu+07P6AG6tI+PdPQIgT4P+8vIUU4CllmzTZX/6YZYunm4X1Xv67CHVuPt9lts="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_0.0.3_1626688228299_0.6671906546093456"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"0.0.4":{"name":"svelte-drag","version":"0.0.4","description":"Svelte port of react-draggable","main":"dist/index.js","types":"dist/types.d.ts","type":"module","scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"ISC","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"291081e4a952e06071266a71c6dfa0088c1d7c96","_id":"svelte-drag@0.0.4","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-MfnY1CwbGcFm9G7gqKyavtcWvfEhCNxSgaZYcpyOtq2lM5smLauUj1ERguSyJV4ppNPmTENzsK0NM0YWWB2B8A==","shasum":"4fa9612449ecd08acb8de3aacd71d86dca39d4c4","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-0.0.4.tgz","fileCount":2,"unpackedSize":3961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YVgCRA9TVsSAnZWagAAZDUP/Rz3rRWj/ByDdg7oNurf\n8tuQ0vy8H2y9RMYZaVka6hotORmLs8ca7j1jxiFh/o2ApfKhgClT5LRw7tBq\nQNPd5ArYibxj5numlvqoHuNQ9pcVIem4sa/LJfLw4Qsk4COj3CNzGq4ot+cl\nAvB7rysb/7SYmLUJthIzWfnz6eRSQJTfMO6furwRvDfAWJjTXEULOM1+qeDr\nfnId3EN2CkdkWkTw8Kb4j07q9S1l+RF8+BW0418pGC3gvzYZYZHdDnj2jcRe\nzl9bOexiD2cedtF3lbM2VXdG01swXJxLcj21/wp6YstJjE7YiSlAzkoLR2Pp\nUc0s5lWlE2faHdgun1I58rFW1Hoe8wDOQ0Z2aLHlpTZEdoMUCUW3Wgj1rRDi\nnHAlHdiFYIY5VXlTZ9rad6KRnv5e+TNtwCa/aHDLQ+xuyFWSjmHGKXMOHK8S\nA5v6ykg8CtYfCf8GjQUfR8KAEcnmwSOWNINYTXWUvFcphUCFCEPHpf67Dgo+\njrxGVuFFSDS+xJgj9asIIlo1od4tC+FmG4MIDNV/EpPPAiGFCOiKCpUzjTqe\nDaFo5tdqMRWNDK8ef/r9AJzYGcM4KQZFWKimzJDZKv+9H9mUyse75lT6LPy1\nPkGnGHr2QJgvJv1DsXehSZUr8IAJnMEzWMgfcIW3pt8rerwGtPlxWsb15tY+\nVGYH\r\n=+JC5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC25XD3cxwrP+IwK9mHykEccLBBg5/YU8P7IjdAoKVCrgIgEjOao6t+ucr3HG4szqTPW5QklvJcC1qSei7/JltscKo="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_0.0.4_1626703200325_0.7233441579020101"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"0.0.5":{"name":"svelte-drag","version":"0.0.5","description":"Svelte port of react-draggable","main":"dist/index.js","types":"./dist/index.d.ts","type":"module","scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"ISC","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"327d0a298c484ccff8781487de5aea0eb4d469b1","_id":"svelte-drag@0.0.5","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Li83NMVtEwZscarwDA+5SiwZQtKIuyVROd3/UBJLTwW39xdXGDIl7XvGI7OtjU02zYiCh+qHMcFqoRNUaWPL8Q==","shasum":"df892e7d2aaa5b7cb440ea495c08368d5900cfa7","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-0.0.5.tgz","fileCount":2,"unpackedSize":3963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9ZyqCRA9TVsSAnZWagAACCEP/2ywOuPo8lqRJ4i3Twxt\n0LaPTtbo+mobNTAFhJRO1kSafvVFjkia+gt34Pj6rrTXr9hEKzj5F8jRP3gF\nt4dbm3p01PFuisjv5SaVVPMBZOy83AhLp8unx/6Afdwwr1RfggxtRH3yKmDG\nmlrTWEGriLGG82YJyVV5ckQXGWpxR6q7xP2rbn+2k1AXggANlSDJd7pNbbYi\ntcTU91BRhWJgQRjsil2qhNngwX/52NuBKw72q3SAXPXibr5YAfXpedzcu7NP\n3F+8cwetAIjEyQnCdQod4/09QlY6TDS1OawO4XZZdkz+vhmwWNpIAqWDa9KL\n62yrvuAnhyQX5sbwwfivRVxA6e6VHr/2d7TAsdJPswkoLb5Q2NI2iCUgRrQp\n45QDa5Lxt206+xxNjfCBP+nAhMErUtTA0Dk8DLWOQQwus42ZUBGPJUYigZ3e\n8eidjLph52bhDt/5yJehl1WCynQEV4CGAjn0VxTyd+PhweBq8BkT5/SqRsIH\nQL9sMldDrDBnDq1KVfZWlNjC2TR67p/foJKbQ7KELkwM6pjCFwsWxowUuStc\n34saIlI7fvvxXfWo2JktxwiztGAQ+yWVmIcXigtN4NrD1nNLMmoShkpaz73d\nXimNYOqIDKVco48EDiqdA+wGqXGKzLlS95BzGzAuFrttFpDC47rQKMobxV48\nuA4s\r\n=0kx2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtMWrFCwDHyzd8GwpvJB9bkNdVdZbnngNVeoCuz6dwFwIhAJk9/CAvbH54WV6C5qMsi/ayMtd/32dpi31EeZtPn41n"}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_0.0.5_1626709162356_0.2650056418554647"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"0.0.6":{"name":"svelte-drag","version":"0.0.6","description":"Svelte port of react-draggable","main":"dist/index.js","type":"module","scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"ISC","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"327d0a298c484ccff8781487de5aea0eb4d469b1","_id":"svelte-drag@0.0.6","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-UqNvNlGKiSlFpGfz/VZcQULcTUBSsYzQtGmZdy4tjdPwlucmnDewchHdV09QJTCW/CJHf2iaWZx586tqyrQWrA==","shasum":"5087051f71062b00c8f4b17afcb9b1a9ef87e9d3","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-0.0.6.tgz","fileCount":4,"unpackedSize":16697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9Z8LCRA9TVsSAnZWagAAw3oP/20KBdNAEjwOtpbt70k5\nb/8RLMbN7h8Pp2tAvUIBQvFIRoy/zFxuMDDSrk5cBifHTn3erlNL4dwYAORf\npJqpKkf6CP+kGAywU2TI596AQvUQU5wC7k/NSxd0SQCXeg3PIOq4JAig5dhO\n+R22SyD/w2ydGxBWPUn06C66GCSvYbqYxz6y9eQAjSraN9WudGzUw7zBGY4r\nJ0f7YUcUddzPwoF/4rggGYBhScPifrj3NJ9H/zKPosnCo3ubTHnbzHWvRWBh\nhjFT6gsTsCTpS23y6ufgIEi2JmmcL93XVYwsHsHWxNqMx6xjmCstQ/TRsPma\nyo0AQCPCvgIrwHC4I3Kg89jfYje0Q9fxzQ2lh6FM2ckEOa0+09k6Z6dY/aPB\nFXrrMSeBlKa34eLJ0AFtv2TsFCIQPrwH73jA3T4sTmzjYhnOsR+nmEBrDl9e\nwTQOqi5qAbwgRxX+8H5kAoacOKb+n3pgzPa9gidw6bi6/kpnoMLtep92nLVM\nGNDA8sC0KmXH7950VRBvQb4y8GHPG1ce2gp2THtVYo9bElFZcrfVqMO9ddO6\nA6MAJVUmfNpA8E8C89ShSfUM2GKYFMfDbEL60n0//fI/pSZkUW+Wsl/pm7ab\nacD4blPYeSgV1tZ2yhEQr4d98DeuFEx4Bkt/Ze99LetbLRHZ/kO1/+wNv1P/\nrpV5\r\n=pfXT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICVb5wE2N2x8SupNRsy5CE8e2hzRpWU/ev6GZeo7fHtOAiAnl/7+VurFHRg7rYNLxZ4xbXY+EA3gBKZJlcnjYJr+Ng=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_0.0.6_1626709771331_0.09600295630598832"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"0.0.7":{"name":"svelte-drag","version":"0.0.7","description":"Svelte port of react-draggable","main":"dist/index.js","type":"module","scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"ISC","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"0b8c45c0c845f059fabd1c349c6d4ffe2d284f7f","_id":"svelte-drag@0.0.7","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-GCntCaSNvz5ceugmQAE6rNbU6Pgv0R8n0wEK64EgOZHWuywmA4glUQ0jyVvWaHZhlARTG/4rBMBkSAGn24OBTA==","shasum":"8d4a20a6a6332a5b8a12bad1b602385bd9e62043","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-0.0.7.tgz","fileCount":4,"unpackedSize":16577,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9aEzCRA9TVsSAnZWagAA2psP/2KPlgHCr4vVTySd8gR7\nepAJj/wDtqO6WTPXtA006Ot5kYvHAcNvuaKhi9Nei2k2DX5HwTLezHMro0Zx\nQyhIvVKmv1peVjZafEBY/lPWvOZwrYnQ41NdByi06NHxrAnwFs6gmNl7YsuK\nOdvTr6F+ED6JPxr3H8ORfTQen6XmJNP9Hw2/SMsqdyB8ulU//20V/i/ItyPZ\ntkm4fQ5dzE37JMsnoekJnuxxvHZGm/VnkqofBvuxqHWPoErqLEyOrbZ89PEV\nGj39AYFtOXCHe4X/iQrgmM2ziPTbqWkTBaFWUyEbScVPLDJv3u6md6nmQeb5\nXROWjJHK6s/0oGXRIgFK1QsuE32Q/xcGD3Wwujn5e2cfuFl4JThBHore5gWM\nOc/2EFHMCE9+1FQM0H4OsirJgOx+7vCQtPgLWHORAXtxCXgl32iy2EipctTw\nOmPj0bICypGbFXfvvon7r6JxMJ79wtkSuoS5uWPnZ4RvMeeGrmrnbkXgWJ78\nMPg3//LqNvLfpFKA09s6j8WRj3xhJ9YReYLannQeElQ7pHfZO0FXqWL/E+3B\ngmyxag/mZrAURoT0DCXWiypCB6VX4a/xShclt9BJ3a4EzN7bEbDvKe5I7S8k\nbPjyEXzgkoGGO2SyQML4hoI/KIdUp6TjFL7/MNbK0viEw9YicVjwnjyPiF+6\nUXU1\r\n=PsYK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgAtQof3FJzhldVPHx5Q+yRtBeiOFU+YJNdoeN5mGXYwIgT392GAoRnhQs7yryx1J1TLKOhYwBK4XBPnCwey2LIBc="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_0.0.7_1626710323785_0.6275836211953882"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"0.0.8":{"name":"svelte-drag","version":"0.0.8","description":"Svelte port of react-draggable","main":"dist/index.js","type":"module","types":"dist/index.d.ts","scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"ISC","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"0378f273f9cfbfe66d8f6609763bc116ee3b0292","_id":"svelte-drag@0.0.8","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-qI0ZEVrb7zY9Fz0lNuERJCk2GUrGKFwdcnie8eWbVUqa6pfaRwrtm/uKICiDjhrcPehTGq5lAFYh/FhcrAfa1w==","shasum":"04439e1ef22432976797d7f0695862fe70c0bd51","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-0.0.8.tgz","fileCount":4,"unpackedSize":16607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9aP2CRA9TVsSAnZWagAALp4P/j7pOvUBoUmYXeBWRiNR\nqINXtcNn5wi3TvC/6Jl0xb4RgkWZV+spPMcZcdBAJOoUikIenIPTjcMnKxWz\nkHxzRT9HxoeAIxOLAIefq2NNy47ot1ODjCVrHLEw+T4vNcuDw7BxBpU2Qwhv\nUrQlYryrV7gxlAXRFuXFYG6K1GtdskxfdynUhdr41RLCYb8aAaAqRUwkMnsc\n5zDVQN+HWJO/OHdQG+LXiyLZt4MsT/QzTZ45Ol8oh+USC1BmBUKFDOcdn8AY\nxLVJtK1O0MRhVKmuWAjRRCRxtNXJAyfvl0GrDnsD/ZHF/oU5WL6XAfrTGXNT\nj6JEth84OI1Wjl2RjNqFmjrTej4vX3/fmb+V9AA7g9gI3L2af5dtEhywwVh+\nVveeD79ARPtZ3xTk4AS4xn/uuV4f4Qv4OhUhYkrlK9PRw+hMIpakJmkVyHUF\neQnCfss7aNCwHWOeKpy8qg6pBfgSxO4GRpCA01TXd4/8kPRWifqg7b6nsCGj\nu4OOE072g1bhxvlZLyx00qngFWTtx7LfLk4x2eFO2a00ghmTRcH31Z79CCx0\n5sIa65JjNQFtopNaik8xHXaAxa0u7bvvUlZUZEVxqX4AlGk/uHNEjwIsFIBY\neAz5Wh08rMscv6jHdPq8z3WOGsD0enPsxXoNaSqp174weq7JaLRIXBPRtA9o\naTX8\r\n=iI3s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGwwy1ecN5+dp3gLlkp+dN9PVdtUupKYiFCmKc/Zxe2EAiEA8wY69lsx8rw8+aI6U7yohXgRzs7lr0ZTOeVQGPmFKIM="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_0.0.8_1626711030530_0.6481894615186337"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"0.0.9":{"name":"svelte-drag","version":"0.0.9","description":"Svelte port of react-draggable","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"ISC","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"f2fda892d578212bee609260b1cefdcf70659967","_id":"svelte-drag@0.0.9","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-D4kvxN3pJuRXkAzUEOXNJiiPM5ignSWrT5PqD9gdXh0zYQZihCeQ8Q105BorgJRGJwfA8bJOO03XTDMLFWQbSw==","shasum":"a1992121966d3102579425b23e8b62f67b605c99","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-0.0.9.tgz","fileCount":4,"unpackedSize":20071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9aafCRA9TVsSAnZWagAAv4EP/0jAj3MdfahW9dJnAp69\nIEwlkEpnfcGymjGa08UhasH9xGFTmnp9GHe32qtPNXH91uhBOjGX477lLLv6\nYfPReFpunw0Z2qF1lTJZJr4m8TWwXREnPhiiDib0yF0QKZgQ9INW5tdTAnIn\n9zGPFZPSAujXKNaAFWEEkdYfnTUffLvsvvsZNf9JnPYsHpK6BPPgPsu3up9Y\nDmj3KdXcpKW+z92OQK2ViFQ67HLi8ix7rejKyVTZl3wcRDS/EFBEl0LGjIJk\nuRDhpQrr8y4/C0F/ncfA1l6dlOA/+7fwrVMlEko+CbRbenMzIaNDADCi1ncy\nkBE5UPwuZLDPeIXsrAmoC6/QI7Cau7Iz8SSFr3g8ky05HjqAa+uzQR1LCAMZ\nU0ROgsRb7/TsBi9UEIrCTeGzQYYm1wfDNYXylTtKQE0VGHP//QQrG5XpwRl+\nJRbXjn1W1majcWGsglnRFdR/S4Pj6MIt1zRUTVLOUzCrn30cSeF8EHv7mhF8\nVzeXAiv9gHF8igcXLy6dXHLl7sICEE4wexy7NxCd05AjM3dFW/YWKxwhvVZY\ngO2CIEvBF+PjS5lsZmVpetWQwTjgGx0W99Ut18UBIuykse+ZMmMLvM9Db5zW\nbMQMPWJYzfHDUKLcp4L/nkUa1Bu3SWpxkhmPrAV0YLcULBptuSYsXXtcR8S8\nAmpZ\r\n=JAQW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGKWkArlzg6TUCOKE+SmWZSSdR3hwxArr/9cR4k54TMRAiEAom9+3Rs6q9gGL7Wllh4MPVkDiUvjjyi62YBFPzo39wU="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_0.0.9_1626711711592_0.25873839706119517"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"0.0.10":{"name":"svelte-drag","version":"0.0.10","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"ISC","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"86d814508998f9fd9fe3ce617dd09852533d79e6","_id":"svelte-drag@0.0.10","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-XETt94WW3BMz4zHeF+Il2QJ+saWggsorCWSXPfi9kc+xq5+Ua42GP2pL2J1eipACN1Skxf8OYw2IUSJQpI0URw==","shasum":"15f44a0bbdf7396240740e444f7b755f16d5d126","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-0.0.10.tgz","fileCount":6,"unpackedSize":38922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9a1gCRA9TVsSAnZWagAAHMUP+wViBIDmnLP+9YIof6CI\no4H9jQguF3F84LtMDG9aqxY6XFzw2ykMrgiZVUvIP25Ei0eYnLJCHRiI7mLA\nv0fb8gUwBWnX4QTxCaT8MVUHsIRXrQ+2mKhRUskqZ9kp7+uGDfpU8yfYTtnI\n1O1hrAcgDD98Y8AIW62TNSOIwlwIVR1VWjnkymYawf1ZSOeY/LehMJLMKsc4\nRmdmY6uwI5SV3yBnK48ibkCC5dBJkj1nYOUsOOXhbk+QmVPF/l194QtLVwZj\nSrDAqMOtP8nbbtKrJh6Hy/GbnV6adS+pHLB48iYhSSm9Bbt0nj3I5/PW3xov\nS3nDlco7zdcC3KwGmn0/HdIXFPNKG2vjs40K5iylYv32bLsPI4gxPPr0fwRX\nVNb+TV6viLciGkhmgkzxKVd2VkYLphDz6+M9+exUESJZS4IiIl9IPFvzRh4F\n7gDHfPiON/C5KzbJ7vvSMDpUtXoaZ0DmMxrEK+SYwyN1fpMyG8LaaiAfJnWU\nHOuIp0f3GRN/rrsJvBqzfTJQQEk5tI9AkfKKEgkK8/OeL3EaJXQc3u3N3JXF\nIHNIXYAs5NREFFAjrlTgQzP0IJ2YXsIwismKLex5CGyMVI00hpPfMXCDXulQ\nfJfbsHZd0ntMfuP+/3pBBAE0ejfG2K9O6tJqfhbmfYM78eeFM/9R0Kf/vd1z\ncYkY\r\n=XBQd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFcOs/6Y7cmTdsoLSJ/zr31c1Pi61s0Xkacd/MX0Ptd0AiA2fJ5wRKyMJVgsEwXqtGbS6DGcOhxcpeBhiNTExDp4Ag=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_0.0.10_1626713439709_0.7115887408736932"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"0.1.0":{"name":"svelte-drag","version":"0.1.0","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"ISC","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"12b1cb4f59bf71d31f2630cae722c8347f04c342","_id":"svelte-drag@0.1.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-SIBxH4k8b0pIVBBq0r4VT9YrWNFd0wqQSLu7yK8f5QH2FNe/AQlHGFHQg757BZlynXo0KP9T5qz4o03OIX3xag==","shasum":"d12dff61250226a7af88215980ef0a60fe3a21ff","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-0.1.0.tgz","fileCount":6,"unpackedSize":42484,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9cGsCRA9TVsSAnZWagAAcFoQAKBt2eJ2LncKFJrwFMh5\ns3fOUnT1eJ1a6jnNUX12GxhhbmBfVvIn74dEu5QGYen4DBXE0HRIAveFugzE\nZq0C7oTYUxk++yf+u0Qu0gKjbpA/IAMJW0gKsVnCmuHnieUtgNZ2qr4forz1\nXyEXAMWAF/V01z3WmEOouWUXq3AvLtnPEAI55bcOcGCKImzxYEPyYV7eKN7F\nY6q0A+C5AUUYpgTuExsEgSPp1878lFxPbGfSVFhNkTOoGKyoyVmRaO1H/jnp\nvhMgDULodn3AtLrrS4JArS91GVeVf+9NEXndJYnV0j+2Wb8o6XetYbJL9WCq\nl84bWYKjzGjbT7V72uZLMWQXOVNeKwYOy1hSvsxWmQllRZsklJT+PsgjTq2M\nmxe9tiWnXoDRzMnnslUv0Ae/l5khnfBsCCfBT13LBQxN23ftgAgB5xiMJ5Na\nNluaW2ZhQrum+omIkEnXjH73z28eTnVT/sv+K+2zu4+gT+lLOtwIkCCfT4Kf\njtr0IaeE6OzcLASNiJO4JvPkJeIVhleLOWxIW92yz8bV5FrZYqTL+U6XRHlZ\nLv+LePqXbJB/z1tP9OCrlZ9+3aq5x2EHzjvlgWzjLH4wS9upAlodUfcs0Hdl\nJZrjTvqfPXU2xBfL0+xs2UeTYQg5/utCy8+dNYSXUoFVz5TSEdNqXBRMM/wM\nqjj8\r\n=g2bJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxX+7Y06P0uBGOWWtEXeDfsW4Q99uVy7FpNOBCKeMXIAIhANskfUqhVtfWx2UF8Cinjr0J0NR0YabgSOypx9MeRzkC"}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_0.1.0_1626718636547_0.4785668684187716"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"0.1.1":{"name":"svelte-drag","version":"0.1.1","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"ISC","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"621ae074416775a782cd460a2da1eb52f74729cf","_id":"svelte-drag@0.1.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-8ILOlGKEnqrIA96bEPjQQg8FuNfo0vGtwNjpIxWR70i/vEnj5W69PQfghHrY7xc+CYbAffCctjmbP8AlZjyY6A==","shasum":"19bd24f7dfca260624fdd8d40f26b69e6e1c31e8","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-0.1.1.tgz","fileCount":6,"unpackedSize":42601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9cXmCRA9TVsSAnZWagAA3aYP/jlOd2tTbhVfM/l4i69U\nSdC80x1uNAuppf9uBznCxVq96/oJobBgh9O7yDFs6PBZMYx6eVwMOw2BccLQ\nhIThE7qH1GO+GW9meTW+cI7b+mc5mDGDRgsidiji7UWmWyfzv4OTM4+SkZTh\nieyFLev6Nb0mrQaW6dq26AUUvmWrLKGFP0QNMBO5PIRO05/rqaCJWehocCd3\ns7xY6+pMJ1BKJ1ZPvEwBOaJgx+kUqlo42S42/qkgd0zNu5nHtAv4Qb4Zwe1Y\nj5LGMeMpIkYpB4yY+IBCCzN3Bf8IqXDTk7TGG8eG2HiBiSW1Scrlp+imfEnF\nBho3gfdbqVaQBkQpzb+2fJfpbizbkK+bQVNOHk8UsORRy5V3Q5JxuX1Avmk9\nqrpbzPl/m3VcwU2VT5kMCitJH1OkZpONxVIDyrhDVldTSlIbsy6Mc0OqPuSX\nCqjRAjKOruOC98gXJD7vHfjjBNeuoUyhmARzhVXHU8pJOF/H+Ow/mxPRX1o0\n3Hm1ebl104ZUzO3mw3H/6s3wtDUftVMM/e89U+aReJ55JN8JPENuDbRo3NLH\nrSXDC1DR85veGl89r8Tt3NF0Fdl9XIzKS7Eqr3qIh7QD38IL8LlFi5xWzCjl\n1weO6w8m6c22c4bUPEJ8p0FiLlljTKIj+vx+9KNM/Npwf6zAPAdeRptc+s7C\njr8r\r\n=L5Dd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGn+lQTUlSZw7Cj/p1zDnNyUNMnLqAiI7ZrLXJMM6vQ6AiEAgMg8y79CwZ+odEztXi0R709TevCPYygx0hD8Fj64dkA="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_0.1.1_1626719718330_0.45684577014477856"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"0.1.2":{"name":"svelte-drag","version":"0.1.2","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"ISC","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"aebfce0d69118042bbf045357f634b220a84c03b","_id":"svelte-drag@0.1.2","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-xL224Nhz9SmES8aj8CUJpdWqpnHnGZ6F0fF7rDXdxV61oNs1tFuk++OZ7ZEAMyrEBD1dcYj95ovodNq0YbJnzA==","shasum":"d286b1fee1b7bd130605d963427f5b0581445e99","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-0.1.2.tgz","fileCount":6,"unpackedSize":42605,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9cZhCRA9TVsSAnZWagAAH/AP/R4iwW0hmH1oOhbgyoQa\nh6/2+GBlYUTVfpapyxq1qHZH7aMZdpCJ5MTEUWOUI0oHyg8guuerQ4IoXHGy\n6w+E9oz+KCmxbGNNfC5Km54YwD/DfzHr6RX5+P9OaXw5ELMrkvoVduTNECvs\nRnE+j+GgI1FiHmdN+Ghb3lYCi5/Nl3BlJQCONoKrs1KN7erEKXdZ9/7zT4B5\n1Jt49uNIFDnI08kOYN+m91xAtX8JqzuBjVqd4UOC/JzIOXmweub0/RmQGtIh\nFjgatuFEumZT30kLhI/Q43JHJ9Wny1AWVYcztv8VcsxPZR5ii7eRrhGq5xpX\nlR/VRrhj2j4Fd+uwaqIKWNOpNVVQl6Z7gkVbhmbBeMt2egSkmi/mVwg6qhrL\nwcZvhnKUuCqOYI/Uwp5hyhJo+4o55u3tMTd/yaitfZEmvxMYFCthprbNgI0B\nz3IUJTH4ni6R1XEdg9Y1PjvbG++vw1Je+aqXMuofh/6pLjlCUCc2JDlwRw+p\nq3GnvABDkLXg/BqXqmgES01jEgoFR3nO4pbpb1adazJea914g+1AFRGMJp8N\njbVNwLBUC/LWtEzXVJoACbfHlbhC7gtyLazacjGJSw9GNeGPPzYkR/XXvFeM\nIfVThN7+CeufhTjBRvOcSolEzd8iyAFyItINgcvCMVRqkH0ZYqNB41D8EN65\naKIy\r\n=GgWS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpObMP5l7HmDrirs3hEFOD8QB0JISr6mGu9Iw3jLssPgIgZPcM+MDbCadgej4SEkKuTHDJH1sn8araI5u9yfKYiKw="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_0.1.2_1626719841094_0.2399500094251712"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.0.0":{"name":"svelte-drag","version":"1.0.0","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"c42a63e132bb852a02bc8b2101636b06545cafaf","_id":"svelte-drag@1.0.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-yvGqa4VdWq1dvxBKuOvdXtt42hQP9LDiGNhBYATRvQjMABsqIgz5dM7CQrTOZWds4g2PMSAvEBmJdibWovIV0A==","shasum":"a1dd88ab84b1c31568d2ca1947566a8d83e5014d","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.0.0.tgz","fileCount":8,"unpackedSize":66764,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9sb+CRA9TVsSAnZWagAAnCkQAJNSPydKk/mKOwsWqcN2\nqcJBlFXbgYWSwa93LP5Oq7bruRPP9LAsgWVPSl0BsszklGStt3lA6xAmlqpL\nxIKM8ZE5bhY1HlVsiVPjuRMuVoMbYozbG4D/tMLYA5V0C2pWAZb/vaTMHHdS\nmJgZbxbPjDi3ZIVBRzvU5jJGT4sYJllK9xwMYiq2tH37fZtrLApqBJF1GYN5\na3L5iFJthzQWkgqTXq9vD1/9SlgKeh3HzKwP6ghEn+XV9NfAk58VgzwOjUyv\nzJSsRw/sQmxiJz+1RZbE/10i8Xt/TvRZcptfAvscKqjFSCLp04vINRcLDQDi\nynN1U5YWFs1aH6pKr0rdJVRaLtYeaWcV5eVg1KJmA+WQxPzYcGn1QzqIDeE4\nDQ10CnrAO0PcPmHaav4ck5A75+HmB7wQYSv//F9V5kd1iGzymmZ/895mGL8i\nGq4DO99aqQbxfYSwUSJVmkWhLAm+s+vRJmu2nb8h0iL6q4NjSzavvCivayPi\n/uQU0qs+9RXJZwC7yj4B1NQ2FqryAuIa/s6/q9QJAOY7z0jeETZF8YzZVV1a\nwGl+7aau4H3a0iZHC0dr+CtLxqvjEJvwci5iHpH3ojIWm4lQJ1iFx9GgNa47\nxfIiGDvv4+LufBalXlCwagLQFgnaCUyFak4qHskt54+1WfX32gL+yQrHdboi\nF7Jh\r\n=zsCA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwL/X65drpH34Rq1m+cWSjMR/lLUh/tFR+gPuDtEBBEAIhAPxcsDj5iU56PQzg0sz7qMvvmIMk5dr10AFdUL0Yxta5"}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.0.0_1626785534685_0.4334853254431492"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.0.1":{"name":"svelte-drag","version":"1.0.1","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"ceaa37c33803976ac85de00dc56c0200ce64f122","_id":"svelte-drag@1.0.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-ImqVGkkAF+wrFk6U3f1IJhsSFfTeAgC3FC4UIKqyKlM+BSDi4RHCHLwxK6czuNHJmnZeXCs0ZrdTSz7zN7kfbw==","shasum":"0f480f629fd29a3c34008074d30ca9563cf4fe34","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.0.1.tgz","fileCount":8,"unpackedSize":66950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9tO0CRA9TVsSAnZWagAA72AQAIp3P/YUInD6XMWn3LGb\n1sTaOaD2g+ZP9mGFrnT8sDBY/fGbqBdCPoj6w+0UXltquNc8TkhNZIUTufV6\n9jvN1239SRSumRRlcFPPw34PbSDTubvLKlCoXngtne4C6Ctd+mYh/VXY4XN1\nMKv9lPulydjCjZlQmVZbMIDnpDKJ89IH8ZvuSWyg2x3+wwNtNFccWq8A+JB/\nOX6qZ9QvVaPLJ0eK0s3SWZqf2LrESQyzCqJIMBZsdYyoeLdrSL6qQqzbfvab\n8wqTd0MB36lr3X5wmi8EiclqlbXD4VWEwfbQ+UiyCSgnB2zoRkJhIHuD3Cac\nS8Mj/HdgXPTnZqvoF8ILa9Qf6BhQe+6YPGqabBiQu31+PPW4qktFswRAjXRg\nrJKeJKfLl/zUrIIouestTKVXZOr2l4bun5a6b+qQulPrXS2P6ViAW2fmCwTt\nT2a0sgMUgSD1n5gjQMBgmkZuqAZ86Qkpi2pevYtNueBzxct7k0ZoZwKYrdBB\n/vwEcMETWJByMf/jPXxXFrRsaRR8L6ANNtilBwC3VekyxHwtshYf4ayoEAEY\nyd1TY7ip7dZWmgp7rJ8Ex+M1pkHvIFGSusb4clq4Bte8qWIex588e2mNZGa8\n0LoQHASwr3mSUekBdh5evavo0pTeotBxwoCyPO+Olby2HAV9QIpZMbzw6FoV\nR4uy\r\n=/+j5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFW4ETea7mbClgQJ9jMDcIWQWvgL82QZY/FUMh5gJE68AiBTtXFDFkKO2TsMABgcmHTQ6xPC4mOwVvgfd9Cyol2zEA=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.0.1_1626788788577_0.9706826963785982"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.0.2":{"name":"svelte-drag","version":"1.0.2","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"158c4fd192fc6067f394677da59eec29d9049385","_id":"svelte-drag@1.0.2","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-cBXbP5yI3FF0ykFBwJEy23xNTgk0VsSZ43FIUMpiacfVJY77/UbhDBGWnnrwzvNeqp9kkzwZIH8IIh3AK/MkkQ==","shasum":"4ac345b71e2b32b51ea86566342cfe15de5db686","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.0.2.tgz","fileCount":8,"unpackedSize":67033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9tYeCRA9TVsSAnZWagAAAVoP/2MF3vNm6BmVLXmjxbdP\n8PywG6mkpk4QPs8l73aSquhDuO4rKVYqDJKIZG0nG/4jCSKnlVj8J/yt6ZIa\nr8wIm38JOnp/TCS8lQlP5GOty79O7eP1W/suxJ3puFdt3snXWanyBp4R0QGq\nUGggXmLRJrkii4nUY6KYRzRbNmb/I8ikxda97s+7jQyH5XlArlQS2rDkpJCl\nviHPNvwZUXcBDzz32Y/xdZvTjk9yAUydzJfKuU4TYthbFbC808X6kVSrfRJD\nwnXMzK/yG53+TMwbjnXmPZrc1SxIEiyVroBwim9F3q+CGK2vcr90fP6aMUx+\nod267em9VTbxW62wdUbptHv2D7nXs0ow3ouWAYpQLIzjAcsE/eaPhXjPyrn3\ntFca0k5T3F2XFu2atVatIbhiZA0FeYSdTido6pSF0CUD5QVGM5E3gOSQRvD5\nw/9Bfke/98u+//p+hEl6cNrgtyDHDLA9/zkVnxQrfs0q7w+ald+3aBtJDD6l\nVcYq5mpmCwNh56F334QpjkQDqECmfqeprKzfLg1P9HUpfxY75T9xqQbYs2UD\nzmoZuYJoFacrXZF40j1KYNvkGlQJYPxtqsndwEbA9VHYZ86bo+mTkTzMbkSc\nk6g3TcCTlnrFUOEENee4hJ3MaP7iobcUkpxBkqKr4DqYdJE1LhWQyv9/DMrx\n406o\r\n=a2KC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAj3CO9amiWFwB4hva4J5XWZHrDbUpBubLutw7Y8AXkVAiEAyO3VowCAzwdFOFz2Rnqaim+j2rOjs5I7fHr21QP88dE="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.0.2_1626789406082_0.43343915964318636"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.0.3":{"name":"svelte-drag","version":"1.0.3","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"c71bf503ecc98adb726b98ba28db5549ff2de111","_id":"svelte-drag@1.0.3","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-5eCFaxd0UofHORafD0Yx0wCSGPkE6PdWaG3m38L3yf1H9rcKEypg2UZgMnFXuP31JCUUTQ05JYozuFDy6QPJNQ==","shasum":"abff05fd4c0e3b8dc6fe13b603b5b2dd9a6dd1fc","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.0.3.tgz","fileCount":8,"unpackedSize":67277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9tiCCRA9TVsSAnZWagAAsxMP+wVpboIxkFmzhI+CAZbZ\nmgg1xCqxv6w00qbRKEMHs2AsFZtYowP6vFkhGcK3MMYzzAemYGo0oJSs9q4Z\nlF+yq3t/bQi+M6zdHH6HPEPSITpjGr81U1KZ14VAzQ2uKPC4EleP+XtabIG9\nRiExK/bzTYJeK9TrT5tg141EgsPXLhqjQ0e8wtr0JPQ09BT5cgMAd/YSxHoP\nhK8kZVqRs86AfR2q4vAq0se+webFbDt7CQMhWprL+ulLlN+JyHlXI8Qk7tOA\nBLx0sOtM0WXAV4bC7MzQu0D/XSaXFMZ2eBSYmYMpjOVUd63OD5ASxs2Fgoy5\nTLWgKBNkAGh2nntsQzzv1zWtFAuoC9VP9atyFHNaJvRruZcWQOsypdrwEcok\niAcKRi+TiPnSsH9/YIMX3rc7VOweyTwHqdrROGS2DNCDSjA/PQ7wUSCw3RRa\njHKtVntgqtXrym8nAtAXeJb2uhwLPRWWvSRIBdDJGtTslOwNV15k6385dJGs\nIQSEPTe003OW4DcH1VjpCkM30ahvct49Oo2cFV8KGu6Pa15J052Yzv8oYENV\nQGXilb1+QSwjfVoK9vR4QWfa/golVzW2Qkipt885n0MxV8wVnWdG3OoUFoKm\nnSe+6d+qVN7BDt8e3Sejobnj0hUwNLt/TMdIiwE99sIEzqNyES+YyxGH0CU0\nZB9K\r\n=GyNW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDg3quCALPyIIp/COlIFMFCiHbRuET7A3JPKlx75v1NoQIgHPaAQ8c/tx5ebuQLBMop3RdXV/OUKNvIn+UftwraxlA="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.0.3_1626790018151_0.7830658445583529"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.1.0":{"name":"svelte-drag","version":"1.1.0","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"6c3963d5be0de79ba1371b9201d122d23a9538a1","_id":"svelte-drag@1.1.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-NCwstAmAVPAjZ142QLrpwCehPstuf+66BlrL17kVxPT3HeZc8D5rKI0HqS+EyoqD0wSfNiL8/siw03PfIxnwoA==","shasum":"f768a537a5b342995283c4e01ceee6ab7b19829e","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.1.0.tgz","fileCount":8,"unpackedSize":84783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9wVmCRA9TVsSAnZWagAAmw0QAI8id5naJNn39YX8L26t\nVsiLe2O5loBesv421wfGPhJqjw9SOFqEqn81Sqm/SD7AmVS3lo01/XBSheg9\nupjVhHM2LOjdnRgON8WehYqcSNAq5mgxp9Vh4VFKDZuD3hY3hnYiJ7WhxE6V\neK6uVF/wfo2W9i2cJ21UH1qGJPtRlgjkpB/dvHREdYFna5SdvjPrfUkS/zre\nuB9mIxdTmxf+V1yN4Q/x+0OVFrLpX/x4FdXG2i5NhW1FufKBlorWY5JeQBaN\n8cbvswIR5jR9BTSaq4n0FaERbDGaPUWFU+HeuyDJucI4a1ohGQ+6d0Q27hfr\n2xVr5UEo5UF/YDZeCNxQ4FmgGC0bfGR1wbYYe0VtzdOqvk3c/hzbmlSMO84w\nJLOuSFoO4p6dWMGwIsfuyt/lVta9BXBRtm0iYykLdP4MDvasLFrmKPEl3m9k\nxY+BchDswlIIrxUcmZahq0O3pLJ4CsYq+/ltEQORAyQYnUXB54llCrploKzq\nXwJcN8ewaXfEkSyLVKnG9euZ1ouqD8nqYbBdumpp6idqie7s5Mwzy8nbYoYz\nbbaPb/g4WUGRoglJANAMZjCvF3FiTBfqLrOQHSguwYHkcix4H+GoqsQAS6Az\njMwHWP42RF6JE9sfjXv0H5Ahcdm5Bn6U+BFlNksoEiRkCrxTCdx46SD6ph/2\nujiW\r\n=sZFh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDNmBuE+Z2+GVvgTz9/IHLCUSBVRdVc7j00cJdAkOIbIAiADzL+z4k5iGwu6dfZ0kzehvrwJdZbG2A7nNvJ/O2PVKg=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.1.0_1626801510236_0.5178372367797248"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.1.1":{"name":"svelte-drag","version":"1.1.1","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"4d9676c7dcb60f08bfa59ba2837de53e87afc0a5","_id":"svelte-drag@1.1.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-oW2ng3+/f/uRzmBkjZDdELuFgR+r9gdwXRFGNpymguc//QvuiuryBWYi/yZDNe+bbrrxAE0WkPusbYXSoAhb8Q==","shasum":"aad1acb5b43465ff5905faae43ea5e08b45f25fe","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.1.1.tgz","fileCount":8,"unpackedSize":85265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9wjxCRA9TVsSAnZWagAAWF4P/0HtHi2P95huwxHI/kNy\neDjX94xdbAvCjwiHv29tH+mhiGN5q8zvff8IZiP3SVpWoTxSIU5HN6Vqe6S/\nXXtqMPOStn/GFO08XEua0QV3p5uUJpv4ZfQMBEOVEIVb7w3t/lVSDQC6HCqe\nwRRx2QorlbsAcxKOaFHry/io0hhS+p7Hq8sgv3YrixWHhSGDqarFhrxVqvf3\nUwdxUGzyZeveOh2kGH7edr9p+GeuzjiUdj52fxtDCul0OkI3ik+q4SFwkQmL\ndo8uhgRd2NJu8qnlrmw6y448bbk4cg4tdYeBH0n2HQNXgMn0jGFn4nnw+3BC\nrTIN4ms1qDvPH7u5Fi2fzFw+Y8PestFSUKS6wFr2Kw9LUa1lO9TRs70Co84+\nT0EgSTAeXvyoYDgt4WWkvsKnDLWxyyn+N2RD10Z9GTbO1L86f7hWZqGTYMW9\n8OVHTbU51W0ilYVnuuJo57tPMyV0vik8BlzaSiJCuXfy6IT1IClOIBxfuBh8\nqsDHCV4Kq3bgjy8l2BCQ7ql8vVtmxGD0swsZFMp+0+MTl0Sy5/5M2LIE3+Yb\n08wW6q4TIMhL+163Y3Jw7w/illcmCA1I1MW7g++ndPvX+C5yXVQk8MTAgszg\nQcaZ9nCIBH13uwGe7bd2FtAQEKYZYvXhbdd367+qEaMIRk2Ejevdf8WPVDpT\nm75W\r\n=4aAU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE2NCbI0fczfNaPgPyX5FTF9PJKPLS8Y7SwT8T4X1VcHAiBD08IiFx4juFWY0vshyq95BTxTUXiv82wjgAJmYRyNUA=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.1.1_1626802417059_0.4616063692889676"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.1.2":{"name":"svelte-drag","version":"1.1.2","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"919220907e27fbcee596abab1fd76a9d848f8f76","_id":"svelte-drag@1.1.2","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-/Giv5AgEcXk5IadeB2g8Awe3lYaRrKtxZiTo3ERknkLSCCJ/IfE4Q7aeUtoK+FeoiXMe+2X/cSzlAwICluwZXQ==","shasum":"8d437a6accbf49dfc829aaf44bb6f187b633ea86","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.1.2.tgz","fileCount":8,"unpackedSize":85290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9wzhCRA9TVsSAnZWagAA6swP/1FS6x9SQchoxl+qitqU\n9s8gTnBUSMbE5ajEyfiDHqv7LHoY1/s4p9vl8/R5k3Pi1HtzeGd4ELYXFCLs\no/O+ItrRkdvnmt1wkoTTJDchDLbVwg+7lqSdFQzNyRdp/hcb7w2592PVHf0b\n6kURcYazMrMSbbI4XqNokd9KjyRW+Vpi4259XCpU++vBt9QIlrSy925ns14s\nfcLHbq5aWxZvNUTqBdGN3i79CzLzeC/d1XgokP6p3/MCYhlM7zBmFmHEC6rY\n9t0FOMI4Vtshz2iSmosF/TwGPBawzhTw+c39TM0pPnET8gkdqUKQVscW1k0N\nM/03j2Gb5sDsVT5iTUJuIoS041tn0VtsXEly9v4ocjYlzDYP2fx4LOYd1mBZ\n3gUehiSwSd+F9nhff9SZ0TkF+FLYRwjl3+CTDaT71GAzYNn8BeaDMt4TumB0\n1kOM67vGUALbjYlrCQOuq8tU9H0RlmpVJ8ney8IYz9zdKjODsNoz7idJ50Iz\nbjCXqrCeopjZ6v3dOQrQBapT74opHYv4lWHTLK6/DVPbAdAEvfMtJWE68dX/\nxI/2xSINZ++GB/lR8YhXZwF/6Ye4a93oaFk0erpKw3L5tUFUm6/vSxTNR/nM\nLtQsZypBhmeoMj/QWYErWKe/FoGtYIRFGrxWq3cq06ejO9gVNy4bcawIPlki\nlf3u\r\n=F/QE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFsxDHoTIlFy9achEvMnv7qvYB8RXeAtcGfRfJyPZWQXAiBUj2XzieBVRObDeihTA8upumKJ3sd+rA6uXKep/na+CQ=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.1.2_1626803425718_0.38085390779074646"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.2.0":{"name":"svelte-drag","version":"1.2.0","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"e46e409042f94302385bf0561baba7a850d0e687","_id":"svelte-drag@1.2.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-fAi11BBAyXJjSTNS2aGPvtovWLT3iUJiqlOC1hOnC55aBzxN/+71CnVkasq9DrUBzYFbQoeWwUWzmkq3eqbxvA==","shasum":"66340d685d56a1b093d6fed309801a64987a4468","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.2.0.tgz","fileCount":8,"unpackedSize":81056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg96hoCRA9TVsSAnZWagAABLcP/3XGwoEfdoRrcExz0nnY\nrSDJSmFDnCdUPaL97JZpoJrW13hxD/4cooXsuloHysHNHgZDV21OEahq8443\njFk+uQ6QUA8HsTt2Ee0lR48jhp0OyBcnRtXclxrn+KS/ojkKFc2NZvUzUq6h\nVJ8eR24az4OugFDrJquk3AUpZKXF/C45mM49XJ9m7xN3PJ9+AXAmg/K06ED5\nvRFzcKJyM/BIx4LvfKUwo/WcOp0RJag/puF7xKAjI2nce6SRhFyM4bpeUEZC\n8Va6FL7biHkzj+2dXMNhVtnVuKQsxYjEuQszA8IJYj2QAdvJ2v3hoROGsTEN\nkkjIXvRvsUmKxgBwMHCYWKN2KDFxhEUzKI13HlW+/GzxOYe47Z3e7KJmusqo\nxzF7k1SKsX5FU8+f/ZkiCMdENX/xd0iYuDHuL2l9XkDwC8XxBEf/PgVeQEO5\n4X7nK+6RIsyGa307r9BKhk5zsWgpoEw9AVt6ECJMhHZY7wXZ8L8qJoGx9CHs\n7WMt0VbdppqwPOhZVO6GsgurbJVOmr4BEag3ZGPjabyVUzuVVI13/36PVyvt\n2mrKzplvMuUKF4Vfnoz+64SIjFmNlrpDN3+5D6Ww5lz9Gs8QQ4fLvUXISDOi\nVW7DKX57LgQ+7hc7gr1k8K6tmnNDTOyEBrLthRBjJtgO+HPzAWpuVRJh4WB5\ntUnW\r\n=7Qci\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9AcJjWswp0NJUHFrwxxhb6cyVm9HL/PLupQpg7AJRhgIhANLC8+Eneqk7BLcsKP8XkFDEOgqFga9abPClL/wZFg60"}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.2.0_1626843240489_0.33800626771145126"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.2.1":{"name":"svelte-drag","version":"1.2.1","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"1c8880532a702e5fd44012614b7977cfbc7d7926","_id":"svelte-drag@1.2.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-C1uVecqL0Yj8Yjk0l0CBHwkiA4yIs+L+NNiWcFsNd+0U38xY5vgjtBVS8AvvjGVp9Y3PQGi61nd1lP0bCquAsg==","shasum":"24e81ab68105715d72a7eab98ab1dc68da9e64b2","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.2.1.tgz","fileCount":8,"unpackedSize":81039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg96oACRA9TVsSAnZWagAArVEP/ifm3Ou+mkeFIHbcegAg\nLojfF+gmrzFRrMtNWqqn/llYFv6YwLMmGzsqS6+wDtSYDNzi5xMsZKxCNzbW\n1t+Z4rRdb4oUTD3qGj3XrWLQya11OAd8EKNTJgMbGNm3gTPXV2C6k9a3uNEy\nuX2edO60lAxQq7wWZykYCCNk0hupvMz4NGHuOTksy7W70HBV6HLzK3tIgXqS\nDlYOgZhye5VKoEMHU9/pWTV9BXiNPFi7Zn4JBe24iF4D9Io0yedyIDOWQksX\niW85CWTJD8+WhDFWOE0dkrxpqtfk9WcaNWjyi+HKfy9G2AxVErnEo9qVfSAe\nGHoUhoqFdNxgUqjoCqWkKk/gYWUkR/ibeTgNcAt34FDYU7TlT0r/A9gFpbtU\nwA3sboMnvDt3QSpuPxVUJr8dD267pCZoMBMLVbqVISMb8kM7Kh31921kW66M\nIrqe8oC9Xv0vnVOSFXZ4yPoftabyFQW1R3b502pqtDhO3gk3LrJR2II3dPPW\nLkWO9J84WwrdAxl6ABjqLpTY66we1bsGz5BUgN8thG4gYRxKYxue3JArXWWj\nAvm21K9pPkAzV1C924UBgKVA9lplD40+vLwFjn77nGPXILIJPGn7sG/NPr7U\nDa6SVIfV7t1kpTYPESfaDv/9J4mwneQkKVCD8xwZuEa5IdaGgyYhWNQjfure\naLXB\r\n=+e+t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHpN/aC+k5ODymF4tFFL4pByqtFRnrzWWX34QQ17hlPFAiB0CjeDje0fO41AWygyBVJtIvvJq9XBmZvkgouV9ZBuLQ=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.2.1_1626843648073_0.05364179778604772"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.2.2":{"name":"svelte-drag","version":"1.2.2","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"809955a63e99b674b9144d8b298ddce63cd8a024","_id":"svelte-drag@1.2.2","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-/YRabPGdxfrJXDDuSLEXjVqEE3piHv6FKKEMYyPTEqepPqOcJjHwX8inOsycFZHaw9AIGx+n1gtEqFA6kQfJ/A==","shasum":"e6e3a3c2a73c75a199fb6a0ee8df2518723923aa","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.2.2.tgz","fileCount":8,"unpackedSize":81007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg96pvCRA9TVsSAnZWagAAz4sP/35tt9qZtRblsWUwvIxI\nwFtYSTjTsWcDL/Q9HhG1W3EA3ejccWNpgzqGMm7OEcFz6sZv0nUlHJ1zCvXi\nWCdnD1RcGbtfFACism27tYeqNK5eHfVgaJguWgf5/Y7E2eloKFlkxzA2n/14\npCPKADL3+nb0rw9ecsJAQQADm+T4FjLhLkVtuXZX9byvqX/Sv9wTIvlkScGn\nxM4rprZS/S2iz/4E9Dh7iBXnPBHJvh98vfYJVX8QjKqLFG9rilxda7M0hTyU\nHmsHZhAYfeYOuhjcqM673igcyYHcPvIrs4LuhA87nnuvyeQ/Is8RDV5TKTZ2\ndURzOSk+IXI0xjHjLACveP7HK/D1Oeaq0tdb3Nw9Yc4QqBNFddmBlBsOADJ2\nvNg2OYFfNsxGnhVsNDmGqR+fbW8Glg1ERKj0BxjsjbkpTr9kqmUT7rcu+Rci\nmNjAMhMGACsgGriiB1bPq7Acv1Fi9X1UaRxYK9tfbn3jayXA4x4GTN4EB5f7\nH7CxjymXafcNrJ6Beje/HEEzO5WMUf+4dLkanRHSQEfoKt9yj1+dpd+lD6eR\nlJRzUskc8RwIaFKJftmV0KdGosUUpIx6W639QSo6NNd8coqXMMjVrmkgPt8B\noPy0YVHjUZusOz4n9OCze9SacTHdLq0z8nvCWGh/vq+475tPa8DpsWIXz1mg\nqDaL\r\n=b9kh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDuLDYcADKHtM3pNE3B4NrX4SMd7L9wnt01Hf/Xky/vTAiAXZtUACBbcylEFuUIN8qi4VNtp3/dTUfhZrrmB7cYxJw=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.2.2_1626843759154_0.5738328347237482"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.2.3":{"name":"svelte-drag","version":"1.2.3","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"gitHead":"d37aeb4a6c77d867dfd5b314fed9e8f990a098a3","_id":"svelte-drag@1.2.3","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-FTnhzG+F1bDQdXNa7Qy1DOlSOZISJplX/fxf/o9Dm7EEayeWAVIpXqVYFhqQKm4KPslXzzUYDla90inzFPRaOA==","shasum":"1713c70cd7127fb1935eb1fc72e6e1d9069cb7c4","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.2.3.tgz","fileCount":8,"unpackedSize":81055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg96sHCRA9TVsSAnZWagAAtE8P+QDLYFe6mwGIFIs6XkJQ\neJ1z++ReAWGNpF3im0Ox5hKyMa2Iqy/rXGhu6HZ5F1BTSmxu1dHMspvKk/v7\nt6fvcG88dcKIFvQeqz4bdW/W7kxV5EFcsfDYOdC0HLh3D9myXSbaY5z3n+Zg\nG9/a/0yfus8qdVME9JMmlYeN6c5MQRGOw7QK3mvrKKUAMx126K0G30xM3F5x\n0gvh5SUjUmabVw7VP9pI96OUOZvMy75t5AUd/DDJf3EXGkqhE+C4BxLlDYim\nqg98tZ1EqLJ08EZEl3iE0ffxTUpFHR8MBeq/pb310paEeDfSOJityz0JVR7N\nJqtk8erXqQ4ABaAfewkPbmJETw5/YPMwZfpJxtzrNxBoOSLG7XkiYKUryqQy\nb244uYvIjaQ10PoA8iVNFJMU0ZB6G9wKUYdlF3UrHHrkarlgoly7QP86K+Jf\nMN/RkjDj6VauOQNj+REMrT+rMDKhnCAq3rHGejGLHwhHDoqub3KiKZ08tKSF\ng5ynEtDxcxbkLF7+LnGv3dmD6zZaaabIfzqfLdCZ5SjUbSb17xzyQKiiBgxo\nKnmZ7L38qRd29FMBZdmQY+sunBc1KId2hNmEWaRR9Vx0O+jdrFfU6VQUA79b\nczrpykQ1lSdcf+zrDdh3uMKvfcGLGe4T2Xud5VYJWWhabtVRgKJQCEgSTZ91\n/Yxn\r\n=BAhN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzPJXAGeTn8fJ6mnaE/KztnP0ep78yI4R7GV+PUDgz4gIgLlGL0TqNBpwel6/hped76ZXKzwu+PRv8H4DgdrKVUkU="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.2.3_1626843911391_0.6595169729165522"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.3.0":{"name":"svelte-drag","version":"1.3.0","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"dependencies":{"fast-memoize":"^2.5.2"},"gitHead":"081972ff5e0478fa287c9bc83f79ea75f46aa1af","_id":"svelte-drag@1.3.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-XDLoIbjrpm2xsf6NWZPiwy7cxfD0q1mQAguOUti8/ccxPrii6zxclAvOJtr8R2mobUMPiQH1Y9ee6F7q9CEiLg==","shasum":"69e794d20ecabae720e05546c705dbcb190d9e3d","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.3.0.tgz","fileCount":8,"unpackedSize":95498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+loJCRA9TVsSAnZWagAAkB4QAJSuUe/GkGGf1BzoTRiD\ny8wvUdn8ow1AzV2bOnU4HobbYHACOCV5u15lZlVtzu9M9he2Y5mH6wjzMH6O\n9OwhHH8e9Bya7kvthPOcJiDo1kHkZFLH1Qwr2neiK04QTRpP9/EB7Zgv0JTt\n1ftAV7Y8ZZFZJ0Py4LKDqleaiLrS3pk0i+8q53mf23AmakvIdosAiE+lpHlb\nvjmmgOUrwydVIHV6za92GJD9/DcN0a2Jf/vLEm8yhx77MPoelEVAmu5xdaY0\nGeKB/G5ziT5J48kiMQLsob62wCgTuNJWel/eW44QY+IwVdLq5ECaPheLl6YN\nDq1tYRmDVsvFQiAt2sBt3L3zwzURtPRY1HwoOPOkFcJMrwriZTuobMUD4IpF\nSAoy0FAp9LscFGjlJQtrcCO9xfJl7T4h+7F/fZABMTZI+cFAp+bl3T+r5n7e\n++wIG964QwJ1W0PMYX2pBP8BXHTemav6bvb/fUo+O+klLOfS2rbX5ko7S965\nUmxjUo6zy3pQ5R7nvlNzMhuPRM2cBa5TEwlPSqpl5VgbrIwM7u0aabEkR0MV\nZJwiNeW40JRekbag186pWiLD5Lp1KiQuOjsrdHz5PjqzcJBb9gb5zhNJDvNy\nXALwNyLSIzCbMDqxV0O0qE+qnDjwT2qUWthAuMxy/ohSp8mJJvFT6N7EqUo1\nfkIm\r\n=W5N9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNAf6QWkJy8hf7UyKbXlbTZzvrThf7Oa+1pow1zpBEkAIhAP7M7jcDt9zuvibfwvKt0l+eLG0fouCKuhvLEoHD+lt0"}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.3.0_1627019785161_0.03524133164674348"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.3.1":{"name":"svelte-drag","version":"1.3.1","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^4.12.5","typescript":"^4.3.5"},"dependencies":{"fast-memoize":"^2.5.2"},"gitHead":"22c1b2b7eac19312c03e82d41fc40b6182b8efef","_id":"svelte-drag@1.3.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-GvWv1VdS+B55wXDHnP+QdDjvfaHBkbk5uAtPPOFnBht8Y3h38xZGH2vZVZH8vmiE9JZ5ZKiJnH5cRajH1pUAKQ==","shasum":"e2169817bae488350dc9f9dab5ab4dc0fb5ebbfc","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.3.1.tgz","fileCount":8,"unpackedSize":95496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+lpZCRA9TVsSAnZWagAAlVgP/04fEqRW0cZCTg2RW9CN\nLfuNhP7Vfgh6dv8M+F6dg8U54s6azvM9utB4zufj0i1YLtSktxkii3UOD1NR\nyOszRLPVhYL04oPOtwn5bPZtnNqvx4NACMO15hscAY9ux3WjcPaWdmUk1xDf\n5ZqJOiHP5ZvjZIjrOLtCq9vxhcS+TJlVgiGif9EtR/vra31UDFavhl0Qlhlr\neErSJCjVpxdFBSPBZbnmgAxJu+sZCMdFXDn/crPW06oI1kZRSsja7d7cwzXo\niyB9tIybYDVp8tpoxKWc/PsBQdD2B7ZXIcqT2sIpxaluugjepVQzfHr/LK3Q\nkIXkEK9sy0YsI+qN591PatTfym37nM0CvTZJgN/EtarlpcJ57NaEosPNgC/G\nZtWbwcTky3NNq/q4nVxkyzs0f3/FJ4VTO/J0NO/fpyA0/XoPEiFNIjYuTCh6\nWb9UqpXK03FFpTZ4Q5MFxxx0Fdal4S5TMUZErWCWoyCS1SQilslmmzjxtAVb\nrZPWwuVrST6+Qe+zpdCX4JipFMP78RKOFTwxARKa8vxsOxacJtZb2UGQiQZ9\nZLOtMMIzH3fYoD4HQNnJRyZ7dOuhrkIU2SawfWJrlbDKW7m/9VfCO2ecJxd1\nZXV0x/lFnvl9S4X/zwIgK8v0TGVCHD/IfN+/Pk/kuuFQVcuWMp51pVQq8nlE\na/el\r\n=V4N8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHfwQd6y6Nq0q2v9eR5dNMM/WK3namLvHftK5PVojeyxAiBBcI+fV5ph4qfq90o5u2vHrPEIq1TnpA5l9ga7Nplv4w=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.3.1_1627019865127_0.8775943342209822"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.4.0":{"name":"svelte-drag","version":"1.4.0","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"5.2.1","typescript":"4.4.3"},"scripts":{"watch":"tsup --watch","pub":"npm publish"},"_id":"svelte-drag@1.4.0","_integrity":"sha512-5/ap98lARsVfFfcgQ6zwi6dIpQX6KYNPLsB4u2l7ZTUaPuWWAkugAZDDPZPUe7fW4CxKkVKflVD9jt8Zt98LQQ==","_resolved":"P:\\svelte-drag\\svelte-drag-1.4.0.tgz","_from":"file:svelte-drag-1.4.0.tgz","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"integrity":"sha512-5/ap98lARsVfFfcgQ6zwi6dIpQX6KYNPLsB4u2l7ZTUaPuWWAkugAZDDPZPUe7fW4CxKkVKflVD9jt8Zt98LQQ==","shasum":"414aa812c950519853b38d620fee0eb95d77664b","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.4.0.tgz","fileCount":8,"unpackedSize":96492,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICmhu7sD8Wo7PI5cGSfGv/NQKAAaar5x3CgX4lz4Q8YEAiATe5wnHsgHy2wjc96kqDb5S2DMC5Kas2JLgNjmxpIU3A=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.4.0_1632798638946_0.4302831528408748"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.5.0":{"name":"svelte-drag","version":"1.5.0","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^5.4.0","typescript":"^4.4.3"},"scripts":{"watch":"tsup --watch","pub":"npm publish"},"_id":"svelte-drag@1.5.0","_integrity":"sha512-SgHmj9JYcPaCg8ZsTIyYqwXAJ2/vX7tA9+7bib8OLsKzejECFpQIV7cwOZMY88LbGNJ37nxCuHnx61LZXSCOEg==","_resolved":"E:\\svelte-drag\\svelte-drag-1.5.0.tgz","_from":"file:svelte-drag-1.5.0.tgz","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-SgHmj9JYcPaCg8ZsTIyYqwXAJ2/vX7tA9+7bib8OLsKzejECFpQIV7cwOZMY88LbGNJ37nxCuHnx61LZXSCOEg==","shasum":"b9944fd1ef1e9505d65c3adb2d2682357bb21655","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.5.0.tgz","fileCount":8,"unpackedSize":97603,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIARU5LGzu9zosmXtLMZAnmTOsv8My6vqSHwYqGE5d/50AiEAuspJWnj2mKqroYAhQ5I05zYOzqtt3GFecxfaSwAmb8Y="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.5.0_1633856180609_0.38139880674467475"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"1.5.1":{"name":"svelte-drag","version":"1.5.1","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^5.4.0","typescript":"^4.4.3"},"gitHead":"7e47e63bc2567e4c2872e8ea96279a6873dd79ef","_id":"svelte-drag@1.5.1","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-FY+4IfuTzu+qxpxXmosdL7EWzuSCR+IQOLPKcTIIVvo0uqw1W1ot3ENj9j3YYPwH8Nx3XraEJj1zD7bncC0uEA==","shasum":"d2f401fb39299ced1f96ed7b8e9ebe5c1eb3e133","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-1.5.1.tgz","fileCount":8,"unpackedSize":97334,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHDrcQHixg85gUxzWDQ2hxqQDJE4Z8CfGdWvn5cMvkdvAiEA4lV/2KmL0N0DViIuO6KFNG8ZI+moTx2cyFBQHqR4ncM="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_1.5.1_1633933035370_0.4542215368260809"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.0.0":{"name":"svelte-drag","version":"2.0.0","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^5.4.0","typescript":"^4.4.3"},"scripts":{"watch":"tsup --watch","pub":"npm publish"},"_id":"svelte-drag@2.0.0","_integrity":"sha512-N6h7OCLEd8PxNTGOK8a+Bv5oCFCtOfEzHKwOEjwFhkuyq1+J2LuOGDQjCn6pRI9nFZXeZgWWr2+6R6nJ9Jbjcw==","_resolved":"E:\\svelte-drag\\svelte-drag-2.0.0.tgz","_from":"file:svelte-drag-2.0.0.tgz","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-N6h7OCLEd8PxNTGOK8a+Bv5oCFCtOfEzHKwOEjwFhkuyq1+J2LuOGDQjCn6pRI9nFZXeZgWWr2+6R6nJ9Jbjcw==","shasum":"f9c03c5d89490722f2647f85c3f3b86f31ac3997","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.0.0.tgz","fileCount":8,"unpackedSize":96996,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVknzLn3E/gleLmgsUivhZWx8C7SSiaFJFlHqpeJaaywIgfGer0lvk/eyyDNdAWUCaVZtknIETs3KGt9EGwU2xcqs="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.0.0_1634009252742_0.16108764508569884"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.0.1":{"name":"svelte-drag","version":"2.0.1","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"tsup":"^5.4.0","typescript":"^4.4.3"},"scripts":{"watch":"tsup --watch","pub":"npm publish"},"_id":"svelte-drag@2.0.1","_integrity":"sha512-Gt/7i2bAZ6DRxYTt8HS8VZiyJDbo/KEHzqSFxbuLgJawVmpCJWzsWmKIXgYaBPUyhetUqzqSWUNpMJm9YweEOg==","_resolved":"E:\\svelte-drag\\svelte-drag-2.0.1.tgz","_from":"file:svelte-drag-2.0.1.tgz","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-Gt/7i2bAZ6DRxYTt8HS8VZiyJDbo/KEHzqSFxbuLgJawVmpCJWzsWmKIXgYaBPUyhetUqzqSWUNpMJm9YweEOg==","shasum":"38bf979e64a2f2f52ef9e660dc868259de8b44bb","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.0.1.tgz","fileCount":8,"unpackedSize":97003,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFV8832/TQfoeyEuhHgyjRuNOrKQi7xDgGXDNwCwf5EAAiB/PA1wSRFTFpwv5mhk+OEm+B55OeBTk6LCdg/p9k4fcQ=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.0.1_1634401218622_0.14238500515373564"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.0.2":{"name":"svelte-drag","version":"2.0.2","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"scripts":{"test":"jest test","test:watch":"npm run test -- --watch","watch":"tsup --watch","prepublishOnly":"tsup","pub":"npm publish"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":{"name":"Puru Vijay"},"license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.15.8","@testing-library/jest-dom":"^5.14.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.2.5","jest":"^27.2.5","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.6","tsm":"^2.1.2","tsup":"^5.4.0","typescript":"^4.4.3"},"gitHead":"27ab72a456c029084eea10e67b32fafb8121449c","_id":"svelte-drag@2.0.2","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-23nEmriYjPneCi3IbGjq0L+ETyh+NCYY8s5oyIw2ek/eNyQiPk/7G0TzbQtYBQOsGb3G1cVMHnToPDHWx9+PTw==","shasum":"f22b9b8d5998ce4afef848a1fb84c4d0273301a6","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.0.2.tgz","fileCount":8,"unpackedSize":97607,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAF4fAQtpgyOct2nNgI7OhbGx0kYnm7OVVRGmI6I32lyAiBgYyyT1RKROXW4vOlq5it/9p/Cr0LhDl7UYbtrFhxpbw=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.0.2_1635277504965_0.07572324010648868"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.0.3":{"name":"svelte-drag","version":"2.0.3","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.15.8","@testing-library/jest-dom":"^5.14.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.2.5","jest":"^27.2.5","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.6","tsm":"^2.1.2","tsup":"^5.4.0","typescript":"^4.4.3"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish"},"_id":"svelte-drag@2.0.3","_integrity":"sha512-A+AzoAxLC7qQSkiEhg5tS8eexEhse9QVr/JeaHSM78QsSufB1ZRx2z/rBJBF4+UWy3jpz7YiR2rLpRtgacIBjA==","_resolved":"E:\\svelte-drag\\svelte-drag-2.0.3.tgz","_from":"file:svelte-drag-2.0.3.tgz","_nodeVersion":"16.12.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-A+AzoAxLC7qQSkiEhg5tS8eexEhse9QVr/JeaHSM78QsSufB1ZRx2z/rBJBF4+UWy3jpz7YiR2rLpRtgacIBjA==","shasum":"135985a3c62bdeeb3f47c70dbe72da48dd32534c","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.0.3.tgz","fileCount":8,"unpackedSize":97337,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCD6oYXgUbkhzIryK2dRfP8tHBIaArHHzLEdD51vegSAAIgTVS3h9XhE6cKJHdzzRwfT51ChBTdhGT4lFFUtCl5WVk="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.0.3_1636519219342_0.870399286761236"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.0.4":{"name":"svelte-drag","version":"2.0.4","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.15.8","@testing-library/jest-dom":"^5.14.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.2.5","jest":"^27.2.5","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.6","tsm":"^2.1.2","tsup":"^5.4.0","typescript":"^4.4.3"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish"},"_id":"svelte-drag@2.0.4","_integrity":"sha512-HBOVKu6FkmOXrGLzS2PFIJkjx392qQABo8ZAUt1XooU03cowisnTatypQSouiAyLleXFrLYe7E51EfaDP9Qd6w==","_resolved":"E:\\svelte-drag\\svelte-drag-2.0.4.tgz","_from":"file:svelte-drag-2.0.4.tgz","_nodeVersion":"16.12.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-HBOVKu6FkmOXrGLzS2PFIJkjx392qQABo8ZAUt1XooU03cowisnTatypQSouiAyLleXFrLYe7E51EfaDP9Qd6w==","shasum":"df0fa318b10cb2b975706cfc45369780f924f9b2","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.0.4.tgz","fileCount":8,"unpackedSize":96857,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGXjl5D352mSgZnCc9/Bm/Wxlh14EbQVgSJZcckAzYDIAiEA+2f2a4BEWO3NybkMDlnhLl3o1KQGpYZlwkJX/9wIfDQ="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.0.4_1636526167588_0.049575927863579006"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.1.0-beta.0":{"name":"svelte-drag","version":"2.1.0-beta.0","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.15.8","@testing-library/jest-dom":"^5.14.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.2.5","jest":"^27.2.5","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.6","tsm":"^2.1.2","tsup":"^5.4.0","typescript":"^4.4.3"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish"},"_id":"svelte-drag@2.1.0-beta.0","_integrity":"sha512-kQ+nC9D9ty86I7325L4qCItPUCtD4AQp3H39S2Q0w7sMdAo01kHz0uLHwEiDn/iLQeiBoccuRxKj7Ul2vjltgw==","_resolved":"E:\\svelte-drag\\svelte-drag-2.1.0-beta.0.tgz","_from":"file:svelte-drag-2.1.0-beta.0.tgz","_nodeVersion":"16.12.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-kQ+nC9D9ty86I7325L4qCItPUCtD4AQp3H39S2Q0w7sMdAo01kHz0uLHwEiDn/iLQeiBoccuRxKj7Ul2vjltgw==","shasum":"aad7b0eb0827647be4ac53bc8a2cdda3e2569019","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.1.0-beta.0.tgz","fileCount":8,"unpackedSize":99032,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHOLvg87HdBCXwT3qEZrpCtiR7c8Xjgh5+psGhxqTd6jAiEA4sON+SluLwrFLVGJWA/oSlYSglWKXLsVhmwdhQlwTL4="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.1.0-beta.0_1636540290336_0.9033007616535798"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.1.0-beta.1":{"name":"svelte-drag","version":"2.1.0-beta.1","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.15.8","@testing-library/jest-dom":"^5.14.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.2.5","jest":"^27.2.5","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.6","tsm":"^2.1.2","tsup":"^5.4.0","typescript":"^4.4.3"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish"},"_id":"svelte-drag@2.1.0-beta.1","_integrity":"sha512-cXK2hqFXR9k5eXKl3nOKAskDXFsYlgBHuatvvjKVeHeIqNI7qOAb0qOC5zUul2EOEn0fh9RUJF7yug5nhbDevg==","_resolved":"E:\\svelte-drag\\svelte-drag-2.1.0-beta.1.tgz","_from":"file:svelte-drag-2.1.0-beta.1.tgz","_nodeVersion":"16.12.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-cXK2hqFXR9k5eXKl3nOKAskDXFsYlgBHuatvvjKVeHeIqNI7qOAb0qOC5zUul2EOEn0fh9RUJF7yug5nhbDevg==","shasum":"565a6d5b32f60e316dee8964ac6b28c104365e78","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.1.0-beta.1.tgz","fileCount":8,"unpackedSize":99144,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWsSkdYrUtlucfMCAWEZHHKqljyba+7FFEbGZUZ/cCRgIgdGtEucVYinp07gQ08f7iMVCrfKaF6bkNoFgjm4QR19g="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.1.0-beta.1_1636542308388_0.7118673003417306"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.1.0":{"name":"svelte-drag","version":"2.1.0","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.15.8","@testing-library/jest-dom":"^5.14.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.2.5","jest":"^27.2.5","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.6","tsm":"^2.1.2","tsup":"^5.4.0","typescript":"^4.4.3"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish"},"_id":"svelte-drag@2.1.0","_integrity":"sha512-2417JybAVzGTgPbqB1Ve+cCi+UUMnKFressKW7f11FPm+pPkbc8mUycZmHmYDOHr9m53Vr/GWl1Nx/DlKRnsOg==","_resolved":"E:\\svelte-drag\\svelte-drag-2.1.0.tgz","_from":"file:svelte-drag-2.1.0.tgz","_nodeVersion":"16.12.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-2417JybAVzGTgPbqB1Ve+cCi+UUMnKFressKW7f11FPm+pPkbc8mUycZmHmYDOHr9m53Vr/GWl1Nx/DlKRnsOg==","shasum":"964b1c2c5b0dfa2f59620690186fb6af60cc0bc5","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.1.0.tgz","fileCount":8,"unpackedSize":100146,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8MmdgvK6v11vVWTi5a29UY+tsN8EpzQ4aM+cX0w8woQIgDrhCKbZjF1LGGz4TTXENUdHYPEcIHUo3aXFRx77P080="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.1.0_1636697873016_0.8448586637826863"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.1.1":{"name":"svelte-drag","version":"2.1.1","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.15.8","@testing-library/jest-dom":"^5.14.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.2.5","jest":"^27.2.5","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.6","tsm":"^2.1.2","tsup":"^5.4.0","typescript":"^4.4.3"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish"},"_id":"svelte-drag@2.1.1","_integrity":"sha512-GxUAhE1gZZI5KZ/t5zJ55EaaLPCfuEKAqYk4B6B2nXoqlR0IZMUmYB0bjm7gskl05QP1VLPpVbRZYLvA10lFew==","_resolved":"E:\\svelte-drag\\svelte-drag-2.1.1.tgz","_from":"file:svelte-drag-2.1.1.tgz","_nodeVersion":"16.12.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-GxUAhE1gZZI5KZ/t5zJ55EaaLPCfuEKAqYk4B6B2nXoqlR0IZMUmYB0bjm7gskl05QP1VLPpVbRZYLvA10lFew==","shasum":"866aea0f39cff81c9fd2d8382704fe0a82c5e7a5","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.1.1.tgz","fileCount":8,"unpackedSize":104994,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUv+mCBqjnDJ7kqoXhmSCKrnRWvfkOwE6HLSkj0rACNwIhAOC4gzawV5Vef2M8qinDHtu83nHB/H/OWRBH+uI0r01p"}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.1.1_1636717248282_0.3924483779577639"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.2.0":{"name":"svelte-drag","version":"2.2.0","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.15.8","@testing-library/jest-dom":"^5.14.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.2.5","jest":"^27.2.5","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.6","tsm":"^2.1.2","tsup":"^5.4.0","typescript":"^4.4.3"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish"},"_id":"svelte-drag@2.2.0","_integrity":"sha512-FqfG28RTgan0tO8PlzEQB7O2Ut+P9aXwnSL2AD6es7b+Y67yDqH8Bi1R5J0BVwt6I7rk2dhkX01ivLxdRp1AUA==","_resolved":"E:\\svelte-drag\\svelte-drag-2.2.0.tgz","_from":"file:svelte-drag-2.2.0.tgz","_nodeVersion":"16.12.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-FqfG28RTgan0tO8PlzEQB7O2Ut+P9aXwnSL2AD6es7b+Y67yDqH8Bi1R5J0BVwt6I7rk2dhkX01ivLxdRp1AUA==","shasum":"c2478a707d015dbcae718a077ea6846f28daef07","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.2.0.tgz","fileCount":8,"unpackedSize":108641,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG35IUxmSaMeOkGEh4cD5mQveTIgtc/jfPsUPAkYEDEaAiBgrTDXaeity3ZYVR3jvf33Xlk/LNLCmHhxTOs6s+7V1w=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.2.0_1636744977479_0.817637236011598"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.2.1":{"name":"svelte-drag","version":"2.2.1","description":"Svelte port of react-draggable","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.15.8","@testing-library/jest-dom":"^5.14.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.2.5","jest":"^27.2.5","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.6","tsm":"^2.1.2","tsup":"^5.4.0","typescript":"^4.4.3"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish"},"_id":"svelte-drag@2.2.1","_integrity":"sha512-WBvtRdzhZOC5GVsCggJWazxqkGl5NUW6OHxf2yOBCJFrSh5JFxpIp9mMfTiORmiGiFf5S9P3JGBU7hV+iXCvmQ==","_resolved":"E:\\svelte-drag\\svelte-drag-2.2.1.tgz","_from":"file:svelte-drag-2.2.1.tgz","_nodeVersion":"16.12.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-WBvtRdzhZOC5GVsCggJWazxqkGl5NUW6OHxf2yOBCJFrSh5JFxpIp9mMfTiORmiGiFf5S9P3JGBU7hV+iXCvmQ==","shasum":"84bb3989a106302ce700691abfbbe06e2a3d17a5","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.2.1.tgz","fileCount":8,"unpackedSize":109089,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDfSUtVGVCkURKPSFT4h8buoYIeS4ro3OJwwNr2Kqg3ZAiAdCZWxEwMzXWgpodXJBdRZ9hwn5iXDWBk8dCiR11UdXw=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.2.1_1636745291375_0.744510152026356"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.3.0":{"name":"svelte-drag","version":"2.3.0","description":"Svelte Action to add dragging to your apps 😉","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.16.4","@testing-library/jest-dom":"^5.15.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.3.1","jest":"^27.3.1","prettier":"^2.4.1","prettier-plugin-svelte":"^2.5.0","svelte":"^3.44.2","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.7","tsm":"^2.1.4","tsup":"^5.9.2","typescript":"^4.5.2"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish","format":"prettier --write --plugin-search-dir=. '**/*.{js,ts,tsx,json,svelte,html}'"},"_id":"svelte-drag@2.3.0","_integrity":"sha512-iab0nuQwa8Wmn2ozNj1OwUbq+g6w91wQbGvu/mLwJejkkLjNU99CLDhPwDQJKvkxKYiiuRKhntWmrFMTf8MECw==","_resolved":"E:\\svelte-drag\\svelte-drag-2.3.0.tgz","_from":"file:svelte-drag-2.3.0.tgz","_nodeVersion":"16.12.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-iab0nuQwa8Wmn2ozNj1OwUbq+g6w91wQbGvu/mLwJejkkLjNU99CLDhPwDQJKvkxKYiiuRKhntWmrFMTf8MECw==","shasum":"313c74de91ee9a99bb1bc7080d8865fe415af8e2","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.3.0.tgz","fileCount":8,"unpackedSize":109457,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhn3imCRA9TVsSAnZWagAAyPMP/3ELX8wW3F49OxhGZ+5U\nY1Ix6WY3FoIDtLUm0lLJ6SdYt8HfEDkN/dGFyvkLoHTJ4F/c1N4ywhzChxXc\no0byXiMpWtJZYVMVQXoPDxJIl8vLh4sly6PPed9JpuL37UviQy+xLqEkmKIH\nR9cAh9QjWYpztYReOOCdwGqUCk4Wwp0kICgxkRKbaU9l5GdLRuLDw5yMwk63\nudZ4sXSliRbLmd4ZM2TBKa2MHA+XBXJAky6zBiAhJ2Ierk4CVOGLkLHbWOzQ\nG6F79g0Ryd0HMN9emAnixVou2t5rRKPnL+xerkei5JlvJ3EfkpwuO85yE7zy\nUPRydzr34YV/C6beCtKiS9cpbqBkjngziuLitVi5Pc0n3giUlxj/noSv1mXb\nqUQr7NPNGpL0gc3L8yWzsKYUlrrbLIH6h8udA3VpNTlM8OlLCFde1ZreYl5S\nuBNZlWhus+frJoO2F1A8FNcj64ClBUH2pAK91Y77C5WHKwtExN90xx0WyoaD\n/IDs5K5xzoDMIfO7Fw1FFtSkugBZp1IvpPNUA9zo6hCyfZNwQM30LtqHpBP8\nv6p1pM132C4eixkVvG3Cad0mhOgcLDat/tsm8DhKyJVty5xtUDo2LBByH8Gm\n2N2Etr++tLUN4bEGsuuvr7HeGgkKaaA/cgvbkEHALNPqznaybt/Ty0ITZRzk\nCJaA\r\n=S52B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD12KMwZZARdtokIom8QR8g7lNinnII7pTemhDKWUkFfwIgbgjb91Z6XixNceyLeEbOj39afp9ApBpbD9yGhfAxnow="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.3.0_1637841062763_0.5615650505345127"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.3.1":{"name":"svelte-drag","version":"2.3.1","description":"Svelte Action to add dragging to your apps 😉","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.16.4","@testing-library/jest-dom":"^5.15.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.3.1","jest":"^27.3.1","prettier":"^2.4.1","prettier-plugin-svelte":"^2.5.0","svelte":"^3.44.2","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.7","tsm":"^2.1.4","tsup":"^5.9.2","typescript":"^4.5.2"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish","format":"prettier --write --plugin-search-dir=. '**/*.{js,ts,tsx,json,svelte,html}'"},"_id":"svelte-drag@2.3.1","_integrity":"sha512-cLtpY3uBKHb0f1ekWZk0FrUhmn8LTfmZxY+qgQ1/ffeGQa5u8XhRmTzi5iaNbktYd9gIRnCImTm1bxvefg+tTw==","_resolved":"E:\\svelte-drag\\svelte-drag-2.3.1.tgz","_from":"file:svelte-drag-2.3.1.tgz","_nodeVersion":"16.12.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-cLtpY3uBKHb0f1ekWZk0FrUhmn8LTfmZxY+qgQ1/ffeGQa5u8XhRmTzi5iaNbktYd9gIRnCImTm1bxvefg+tTw==","shasum":"6af66f394f3689dbd92cf2f92b709bdd40af44e1","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.3.1.tgz","fileCount":8,"unpackedSize":110455,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhn7Y/CRA9TVsSAnZWagAAjRQP/1qHJMnkesVoVecIsksE\nFfwQAZY/6dWfyL26q/+uvNn1SCGk2ByS5CaxSmKpRurb+UGzHQ+bZJmkIzmc\nsHJt5yvVn04QgnLaYc3yyS2ya2cxmWHbo1xNrirsxsca9U3RXVlak/x+NJIJ\njw4Lpp/JCIl9CyJUhd5Hw8KW9wL1rKpgIrZGZmCXZFNUu5V/dc7ACBKzgADm\nfFRD05XQoLJ8LcU0WOn90PGvkvUGrHhe5pSrtCOY7YluCdSht5hot2MxLO3I\nrysXQASk0rqt7YOKSb+SsWA1TqwYd6VD+7Vk/RNbWq/WvvfwWOMgyKpGxou5\nkGTalffGwCiWh0q7FYoA9dgZ4tGCIZcn6SRSrdtXpBM0+2IPemlG25oe8Faj\nwE56qE5orJrsA/mmw66bfM9rSps8V2TcTJFo/tRD3+W4sJywrEWZCIRUtxMF\n47oxJc/kut/D/14OOJDXCiOo9nO1a5jLr/NG3kK8kSqQovb6nelWFRxEdPiv\nRM8FdNvaSocNKn5ud7WIzvg5yo35+GRwwwuP4Yl2nUvBVhZ4s5C5/YwklAZD\nBjkD+MefCD+QixeL4mb7YfZXEFVhq4jZKXbHfR5WuEXRmWf4a/t6xquOqVrH\nJ9YL5q3XlGwW7GeTSpl1YBd3Msz5LRIBlmopTzetehE1tQ4PnnWgMUyg6vKG\nRzIK\r\n=dUbj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBIOlLzUrmw+f3/161za+ZfK6LbdmvDMdKNu4YXFYI2KAiEA+Lqumu/GdoS1qlMoi0gcCq0m8q7RXbYoR2Dwo++YnLU="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.3.1_1637856830862_0.11253833875391983"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.3.2":{"name":"svelte-drag","version":"2.3.2","description":"Svelte Action to add dragging to your apps 😉","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.16.4","@testing-library/jest-dom":"^5.15.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.3.1","jest":"^27.3.1","prettier":"^2.4.1","prettier-plugin-svelte":"^2.5.0","svelte":"^3.44.2","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.7","tsm":"^2.1.4","tsup":"^5.9.2","typescript":"^4.5.2"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish","format":"prettier --write --plugin-search-dir=. '**/*.{js,ts,tsx,json,svelte,html}'"},"_id":"svelte-drag@2.3.2","_integrity":"sha512-rhbbTlXPZ2R663S1S4iLARlQerBFequ65U6cf/cBQYq+ZU4G4NSluggxErCWGqWd9Pdqrdspd4c7Zx0dtqhs2Q==","_resolved":"E:\\svelte-drag\\svelte-drag-2.3.2.tgz","_from":"file:svelte-drag-2.3.2.tgz","_nodeVersion":"16.12.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-rhbbTlXPZ2R663S1S4iLARlQerBFequ65U6cf/cBQYq+ZU4G4NSluggxErCWGqWd9Pdqrdspd4c7Zx0dtqhs2Q==","shasum":"ccf4899dccb8d032493f0763998d740b207076d3","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.3.2.tgz","fileCount":8,"unpackedSize":110439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhoIOZCRA9TVsSAnZWagAAkGIP/0Zwnt7zz8sFO+7xKdp8\nwUBT5+Wz77lfzVnuZtWfklPUJYtd+7YgV5GECLdMqG1kQsFAcdUNLGHCLgjy\nlUK7N4F3reqOmbEBlnVNHzLi1/lTBozSqsSMoqOYkm+D58R2hl5KlTGsWF5q\nKDNCXwc2o2t3iAuSfZ+EtRElsTm0GB5tF+7mr9QrMGsyy9vUjXvBjB+uzKWt\ndrK0T6fiQk6Qi9s6RKsfoaP+xR0ar102y71Zisp8yY+MSSDZQMlyLzC5ScOp\nIZn2+GHEveMapnshuDwEBnFZF/fl5Fak5Nymsb4zfTIqeciKHBwxrD0NJT7M\nF0qIVq9DiY/+yBd0whkIeKi1Ame5ZR3/+6qQRySY4rsKjVw8B3E3vh25n+bx\nEWKxHlmUI+2QJuQFE0smKmo7AjRniZk2b+mko9rFYtDDD+/wpJit3AtDv0tD\nc3VeJ/4+1IiC7lpnMt4ZKuhDOCSfSsCcGeALbLlxgXebMvAjRZn8uLdN9Orn\ndYdD+/ayVAVoWL/FBkEkDMdG7+4hIydlMRG+rsSpDIfm4J0ArUvWXkcWdEBi\nBttqZLZI+CV4n4F9ck3Ytwez5yBejSa6ruq3QQ6rOptsk9Unaot2YYeodLT0\ni72CtDW9MoI62EWKT2tN/RJgebBNjmHMpuEB9RVOw6pWpf3Qznox1L4hQt4v\nCPbb\r\n=boP/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAp5JZcEoACvVitOdE/5h3CqlQeEDOLwjuKe7xfZ0gZyAiEAoSspOxkHOPDCfcTv1AkSbZHItSWs/hO5fBHv07ag3XI="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.3.2_1637909401828_0.3591635455736859"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.4.0":{"name":"svelte-drag","version":"2.4.0","description":"Svelte Action to add dragging to your apps 😉","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@babel/preset-env":"^7.16.4","@testing-library/jest-dom":"^5.15.1","@testing-library/svelte":"^3.0.3","babel-jest":"^27.3.1","jest":"^27.3.1","prettier":"^2.4.1","prettier-plugin-svelte":"^2.5.0","svelte":"^3.44.2","svelte-jester":"^2.1.5","svelte-preprocess":"^4.9.8","ts-jest":"^27.0.7","tsm":"^2.1.4","tsup":"^5.9.2","typescript":"^4.5.2"},"scripts":{"test":"jest test","test:watch":"pnpm run test -- --watch","watch":"tsup --watch","pub":"pnpm publish","format":"prettier --write --plugin-search-dir=. '**/*.{js,ts,tsx,json,svelte,html}'"},"_id":"svelte-drag@2.4.0","_integrity":"sha512-9WY3L1Y+3sAHufb4e7Ml4zHZWkTXL8DfB3NYovOL1ygImBFuMfHEhoeqo/qpWSU/wjO53nzn+T3nu9lHqATAyg==","_resolved":"/Users/puruvijay/Projects/svelte-drag/svelte-drag-2.4.0.tgz","_from":"file:svelte-drag-2.4.0.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-9WY3L1Y+3sAHufb4e7Ml4zHZWkTXL8DfB3NYovOL1ygImBFuMfHEhoeqo/qpWSU/wjO53nzn+T3nu9lHqATAyg==","shasum":"34c24d1e729e930177a1d8d359d9b24520f38cf4","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.4.0.tgz","fileCount":8,"unpackedSize":109313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuLhZCRA9TVsSAnZWagAAEVwQAJmkme9tEyeMVmq0BOTT\nX+Rcix7X3C7bn8qbA+cAypE15p/yxOyzeb/x3Nb9Ifuoz/hi/KeALM72MqRN\nbsrpqd/aPiIKMC7Tlgu1a2eeAxD3CS/Q/iWBMRDQltBJxcCCjzl5Bcp4aO/M\nYNAEIJrzXjiFXox5OjigMswPoKNkK2sUAcvY5I/yD/2JJUJZaJvhQsuHr2cW\nxqObYPLjNX0kWOBr5j0stwnpHaLTOoZkbEI35ngEST5IsHo+Xeu8Ja56WHkS\nNj07JgCHTPFOvWdqX9jH47RCiERhCSCpfp8uSxW0AsNbskMwLc68vLxaaGzy\n/hLWq9UM7hy1RU5jKNHbiyQ/Oki8n7crlBP/AG2d2fCCoMFr24XgTr4PXjMY\n8odDWC0jkMWASsWB2GuYc5VV4bWvLAr8OwAtToJZnjfzLxC9BpCJPy9eMpYO\nrZc2yobbDaOW5Cvo6cqgZOYlkrMJ5iK5E9DGJmws2WcoWU39UiTNyFvHjf/J\nY+8HH6Yp689dfWGIWP2UXN7vQZ1RGIoMRmphNIbP90GN34Slep+HnGpHEt7a\nVrt4JXHZzRpIV0MYZm3XD+NGKZ2dMful1ZGsy11n5xbBK1Wqtqmg/Hk1/STb\naqtYPXLVjWdWjhnsLtFvqO7hM8VX55Q8IT/k14/iRow5vJm/U1x2C5RAfzzd\n2a4B\r\n=3WUV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE/d0Z5ec1me2NoQAgbECVO97M153wxtxqRY08a3U9lDAiBjri2sbjw6MvweZ+Fs2q+YEPL3c+/ZsK5MWxagdqXezg=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.4.0_1639495768970_0.5802896276648812"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.4.1-beta.0":{"name":"svelte-drag","version":"2.4.1-beta.0","description":"Svelte Action to add dragging to your apps 😉","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@sveltejs/vite-plugin-svelte":"^1.0.0-next.34","@testing-library/dom":"^8.11.2","@testing-library/jest-dom":"^5.16.1","@testing-library/svelte":"^3.0.3","jsdom":"^19.0.0","svelte":"^3.46.2","svelte-preprocess":"^4.10.1","tsup":"^5.11.11","typescript":"^4.5.4","vite":"^2.7.12","vitest":"^0.1.18"},"scripts":{"test":"vitest run test","test:watch":"vitest test","watch":"tsup --watch","pub":"pnpm publish"},"readme":"# svelte-drag\n\nA lightweight Svelte Action to make your elements draggable.\n\nInspired from the amazing [react-draggable](https://github.com/react-grid-layout/react-draggable) library, and implements the same API.\n\n# Features\n\n- 🤏 Tiny - Only [2.2KB](https://bundlephobia.com/package/svelte-drag) min+gzip.\n- 🐇 Simple - Quite simple to use, and effectively no-config required!\n- 🧙‍♀️ Elegant - Svelte Action, to keep the usage simple, elegant and expressive.\n- 🗃️ Highly customizable - Offers tons of options that you can modify to get different behavior.\n- ⚛️ Reactive - Change options passed to it on the fly, it will **just work 🙂**\n\n[Try it in Svelte REPL](https://svelte.dev/repl/fc972f90450c4945b6f2481d13eafa00?version=3.38.3)\n\n# Installing\n\n```bash\npnpm add svelte-drag\n\n# npm\nnpm install svelte-drag\n\n# yarn\nyarn add svelte-drag\n```\n\n# Usage\n\nBasic usage\n\n```svelte\n<script>\n  import { draggable } from 'svelte-drag';\n</script>\n\n<div use:draggable>Hello</div>\n```\n\nWith options\n\n```svelte\n<script>\n  import { draggable } from 'svelte-drag';\n</script>\n\n<div use:draggable={{ axis: 'x', grid: [10, 10] }}>Hello</div>\n```\n\nDefining options elsewhere with typescript\n\n```svelte\n<script lang=\"ts\">\n  import { draggable } from 'svelte-drag';\n  import type { DragOptions } from 'svelte-drag';\n\n  let options: DragOptions = {\n    axis: 'y',\n    bounds: 'parent',\n  };\n</script>\n\n<div use:draggable={options}>Hello</div>\n```\n\n# Options\n\nThere's tons of options available for this package. All of them are already documented within the code itself, so you'll never have to leave the code editor.\n\n## axis\n\n**type**: `'both' | 'x' | 'y' | 'none'`\n\n**Default Value**: `'both'`\n\nAxis on which the element can be dragged on. Valid values: `both`, `x`, `y`, `none`.\n\n- `both` - Element can move in any direction\n- `x` - Only horizontal movement possible\n- `y` - Only vertical movement possible\n- `none` - No movement at all\n\n**Examples**:\n\n```svelte\n<!-- Drag only in x direction -->\n<div use:draggable={{ axis: 'x' }}>Text</div>\n```\n\nDynamically change `axis` using radio buttons.\n\n```svelte\n<script>\nlet axis;\n</script>\n\n<div>\n  Axis:\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"both\" />\n    Both\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"x\" />\n    x\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"y\" />\n    y\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"none\" />\n    none\n  </label>\n</div>\n\n<!-- Dynamically change axis -->\n<div use:draggable={{ axis }}>Text</div>\n```\n\n## bounds\n\n**type**: `'parent' | string | { top?: number; right?: number; bottom?: number; left?: number }`\n\n**Default Value**: `undefined`\n\nOptionally limit the drag area\n\nAccepts `parent` as prefixed value, and limits it to its parent.\n\nOr, you can specify any selector and it will be bound to that.\n\n**Note**: This library doesn't check whether the selector is bigger than the node element.\nYou yourself will have to make sure of that, or it may lead to unexpected behavior.\n\nOr, finally, you can pass an object of type `{ top: number; right: number; bottom: number; left: number }`.\nThese mimic the css `top`, `right`, `bottom` and `left`, in the sense that `bottom` starts from the bottom of the window, and `right` from right of window.\nIf any of these properties are unspecified, they are assumed to be `0`.\n\n**Examples**:\n\nBound to parent\n\n```svelte\n<div use:draggable={{ bounds: 'parent' }}>Hello</div>\n```\n\nBound to body\n\n```svelte\n<div use:draggable={{ bounds: 'body' }}>Hello</div>\n```\n\nBound to an ancestor selector somewhere in page\n\n```svelte\n<div use:draggable={{ bounds: '.way-up-in-the-dom' }}>Hello</div>\n```\n\nManually through coordinates. Empty object means bound to the `window`.\n\n**NOTE**: It isn't strictly empty object. If you omit any property from this object, it will be assumed as `0`.\n\n```svelte\n<div use:draggable={{ bounds: {} }}>Hello</div>\n```\n\nBound only to top and bottom, and unbounded horizontally in practice by setting bounds way beyond the screen.\n\n```svelte\n<div use:draggable={{ bounds: { top: 0, bottom: 0, left: -1000, right: -1000 } }}>Hello</div>\n```\n\n## gpuAcceleration\n\n**type**: `boolean`\n\n**Default value**: `true`\n\nIf true, uses `translate3d` instead of `translate` to move the element around, and the hardware acceleration kicks in.\n\n`true` by default, but can be set to `false` if [blurry text issue](https://developpaper.com/question/why-does-the-use-of-css3-translate3d-result-in-blurred-display/) occurs.\n\nExample 👇\n\n```svelte\n<div use:draggable={{ gpuAcceleration: false }}>Hello</div>\n```\n\n## applyUserSelectHack\n\n**type**: `boolean`\n\n**Default value**: `true`\n\nApplies `user-select: none` on `<body />` element when dragging, to prevent the irritating effect where dragging doesn't happen and the text is selected. Applied when dragging starts and removed when it stops.\n\n## ignoreMultitouch\n\n**type**: `boolean`\n\n**Default value**: `false`\n\nIgnores touch events with more than 1 touch.\nThis helps when you have multiple elements on a canvas where you want to implement pinch-to-zoom behaviour.\n\n```svelte\n<!-- Ignore Multitouch -->\n<div use:draggable={{ ignoreMultitouch: true }}>Text</div>\n```\n\n## disabled\n\n**type**: `boolean`\n\n**Default Value**: `undefined`\n\nDisables dragging.\n\n## grid\n\n**type**: `[number, number]`\n\n**Default value**: `undefined`\n\nApplies a grid on the page to which the element snaps to when dragging, rather than the default continuous grid.\n\n`Note`: If you're programmatically creating the grid, do not set it to [0, 0] ever, that will stop drag at all. Set it to `undefined` to make it continuous once again.\n\n## position\n\n**type**: `{ x: number; y: number }`\n\n**Default Value**: `undefined`\n\nControls the position of the element programmatically. Fully reactive.\n\nRead more below in the **Controlled vs Uncontrolled** section.\n\n## cancel\n\n**type**: `string`\n\n**Default value**: `undefined`\n\nCSS Selector of an element inside the parent node(on which `use:draggable` is applied). If it is provided, Trying to drag inside the `cancel` selector will prevent dragging.\n\n```svelte\n<div use:draggable={{ cancel: '.cancel' }}>\n  This will drag!\n  <div class=\"cancel\">You shall not drag!!🧙‍♂️</div>\n</div>\n```\n\n## handle\n\n**type**: `string`\n\n**Default Value**: `undefined`\n\nCSS Selector of an element inside the parent node(on which `use:draggable` is applied). If it is provided, Only clicking and dragging on this element will allow the parent to drag, anywhere else on the parent won't work.\n\n```svelte\n<div use:draggable={{ handle: '.handle' }}>\n  You shall not drag!!🧙‍♂️\n  <div class=\"handle\">This will drag 😁</div>\n</div>\n```\n\n## defaultClass\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable'`\n\nClass to apply on the element on which `use:draggable` is applied. <br/><br/> Note that if `handle` is provided, it will still apply class on the parent element, **NOT** the handle\n\n## defaultClassDragging\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable-dragging'`\n\nClass to apply on the parent element when it is dragging\n\n## defaultClassDragged\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable-dragged'`\n\nClass to apply on the parent element if it has been dragged at least once.\n\n## defaultPosition\n\n**type**: `{ x: number; y: number }`\n\n**Default Value**: `{ x: 0, y: 0 }`\n\nOffsets your element to the position you specify in the very beginning. `x` and `y` should be in pixels\n\n## onDragStart\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging start.\n\n## onDrag\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging is going on.\n\n## onDragEnd\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging ends.\n\n# Events\n\n`svelte-drag` emits 3 events, `on:svelte-drag`, `on:svelte-drag:start` & `on:svelte-drag:end`. These are all custom events, and can be listened on the node the `use:draggable` is applied to\n\nExample:\n\n```svelte\n<div\n  use:draggable\n  on:svelte-drag:start={(e) => console.log('Dragging started', e)}\n  on:svelte-drag={(e) => console.log(e.detail)}\n  on:svelte-drag:end={(e) => console.log('Dragging stopped', e)}\n>\n  Hello\n</div>\n```\n\nEvent signatures:\n\n`on:svelte-drag:start`: `(e: CustomEvent<{offsetX: number; offsetY: number }>) => void`. Provides the initial offset when dragging starts, on the `e.detail` object.\n\n`on:svelte-drag:`: `(e: CustomEvent<{offsetX: number; offsetY: number }>) => void`. Provides how far the element has been dragged from it's original position in `x` and `y` coordinates on the `event.detail` object\n\n`on:svelte-drag:end`: `(e: CustomEvent<{offsetX: number; offsetY: number }>) => void`. No internal state provided to `event.detail`. Provides the final offset when dragging ends, on the `e.detail` object.\n\n### Alternative\n\nIf you scroll up, you'll see 3 options, `onDragStart`, `onDrag` and `onDragEnd`. These are basically event handlers that you specify as methods of the options object.\n\nWhy have two ways to listen to events? Because at the time of writing, the Svelte extension for VSCode doesn't work fully well with custom events when using TypeScript, even after they're explicitly typed by the user in TypeScript.\n\nI take TypeScript very seriously, hence I am going an extra step to provide duplicate implementations for event handling.\n\nHow to use events-as-options? The syntax is similar to the custom events one 👇\n\n```svelte\n<div\n  use:draggable={{\n    onDragStart: ({ offsetX, offsetY }) => {\n      // Do something\n    },\n    onDrag: ({ offsetX, offsetY }) => {\n      // Do something\n    },\n    onDragEnd: ({ offsetX, offsetY }) => {\n      // Do something\n    },\n\n  }}\n  class=\"box\"\n/>\n```\n\nUltimately, this gives everyone a choice. non-TypeScript users will prefer the `on:svelte-drag:*` method because it is more idiomatic, and TypeScript users can go with events-as-options way to get better TS experience\n\n> Note: Do not use same event in two different ways. I.E., having `on:svelte-drag:start` and `onDragStart` at once will have both fire at the time when dragging starts. Use only one at a time.\n\nIf you're a TypeScript user, read on below 👇\n\n# TypeScript\n\nThe events above are custom events, and hence, not recognized by the TypeScript compiler, so your editor will basically yell at you and say these events do not exist. For that, you need to create a `types.d.ts` file in the `source` folder of your project and the code below to it 👇\n\n```ts\nexport declare namespace svelte.JSX {\n\tinterface HTMLAttributes<T> {\n\t\t'onsvelte-drag:start'?: (e: CustomEvent<{ offsetX: number; offsetY: number }>) => void;\n\t\t'onsvelte-drag:end'?: (e: CustomEvent<{ offsetX: number; offsetY: number }>) => void;\n\t\t'onsvelte-drag'?: (e: CustomEvent<{ offsetX: number; offsetY: number }>) => void;\n\t}\n}\n```\n\n## Types Exported from package\n\nThis package exports these types you can use:\n\n```ts\nimport type { DragAxis, DragBounds, DragBoundsCoords, DragOptions } from 'svelte-drag';\n```\n\n`DragOptions` is the documented list of all options provided by the component.\n\n`DragAxis` is the type of `axis` option, and is equal to `'both' | 'x' | 'y' | 'none'`.\n\n`DragBounds` is `'parent' | string | Partial<DragBoundsCoords>`, the complete type of `bounds` option.\n\n`DragBoundsCoords` is when you're specifying the `bounds` field using an object, this is the type needed for that.\n\n```ts\nexport type DragBoundsCoords = {\n\t/** Number of pixels from left of the window */\n\tleft: number;\n\n\t/** Number of pixels from top of the window */\n\ttop: number;\n\n\t/** Number of pixels from the right side of window */\n\tright: number;\n\n\t/** Number of pixels from the bottom of the window */\n\tbottom: number;\n};\n```\n\n# Controlled vs Uncontrolled\n\nThis is taken straight from React's philosophy(After all, this package is inspired from [react-draggable](https://github.com/react-grid-layout/react-draggable)).\n\nUncontrolled means your app doesn't control the dragging of the app. Meaning, the user drags the element, it changes position, and you do something with that action. You yourself don't change position of the element or anything. This is the default behavior of this library.\n\nControlled means your app, using state variables, changes the position of the element, or in simple terms, programmatically drag the element. You basically set the `position` property to `{ x: 10, y: 50 }`(or any other numbers), and voila! yur now controlling the position of the element programmatically 🥳🥳\n\nOFC, this library doesn't go fully **Controlled**. The user can still drag it around even when `position` is set.\n\nSo, when you change `position`, the element position changes. However, when the element is dragged by user interaction, `position` is not changed. This is done intentionally, as two-way data binding here isn't possible and also will lead to unexpected behavior. To keep the `position` variable up to date, use the `on:svelte-drag` event to keep your state up to date to the draggable's internal state.\n\nTo have it be strictly **Controlled**, meaning it can only be moved programmatically, add the `disabled` option to your draggable element's config\n\n```svelte\n<div use:draggable={{ position: { x: 0, y: 10 }, disabled: true }} />\n```\n\nHere are a bunch of examples showing controlled behavior 👇\n\n1. [Changing with inputs](https://svelte.dev/repl/e1e707358b37467ba272891715878a1d?version=3.44.1)\n2. [Changing with Sliders](https://svelte.dev/repl/6b437a1cdbfc4c748520a72330c6395b?version=3.44.1)\n3. [Draggable only through external state, not user input](https://svelte.dev/repl/0eae169f272e41ba9c07ef222ed2bf66?version=3.44.1)\n4. [Comes back to original position after drag end](https://svelte.dev/repl/83d3aa8c5e154b7baf1a9c417c217d2e?version=3.44.1)\n5. [Comes back to original position with transition](https://svelte.dev/repl/bc84ed4ca22f45acbc28de3e33199883?version=3.44.1)\n\n# Why an action and not a component?\n\nIn case you're wondering why this library is an action, and not a component, the answer is simple: Actions usage is much much simpler and elegant than a component for this case could ever be.\n\nIf it were a component, its syntax would be like this 👇\n\n```svelte\n<Draggable axis=\"x\" grid={[50, 50]}>\n  <div>\n    Hello\n  </div>\n</Draggable>\n```\n\nThis is ok, but what if there are more than 2 elements at the top.\n\n```svelte\n<Draggable axis=\"x\" grid={[50, 50]}>\n  <div>\n    Hello\n  </div>\n\n  <div>\n    You shall not pass ~ Gandalf the wizard\n  </div>\n</Draggable>\n```\n\nThis poses a problem: How would I decide which of these to make a draggable? Ofc, I could wrap the `<slot />` in a `<div>`, apply event listeners on it, set it to `display: contents`, but it would add an extra DOM element, and sometimes, that alone can make a huge difference!\n\nSo to not add a wrapper myself, I would need to write here in docs to pass only one root element, and give an error when I detect multiple. or I'd need to enforce passing the ref of the element into the component using `bind:this`, like this 👇\n\n```svelte\n<script>\nlet ref;\n</script>\n\n<Draggable nodeRef={ref} axis=\"x\" grid={[50, 50]}>\n  <div bind:this={ref}>\n    Hello\n  </div>\n</Draggable>\n```\n\nYou'd have to bind the element ref which you want to make a draggable, and pass it to the component.\n\nThis is doable, but it adds an unnecessary amount of API layer, and the code isn't idiomatic and elegant, not to mention how much extra code I would have to add as the library author.\n\nNot to mention, it would require much more work to make it SSR compliant, which makes no sense, cuz the server isn't dragging elements around, so why need to SSR it in the first place ¯\\\\\\_(ツ)\\_/¯. I would have to add `browser` checks everywhere to make it work, which is less than ideal.\n\nOn the other hand, as an action, this gives ultimate control to both the user and me.\n\n```svelte\n<div use:draggable={{ axis: 'x', grid: [50, 50] }}>\n  Hello\n</div>\n```\n\nThis is extremely simple, elegant and expressive. By applying the action, you are specifying which element you want to be draggable, without any extra overhead. It just works!! And Actions aren't run in SSR, so your app will server render without errors caused from this library, and will spare me the gruelling task of adding browser checks everywhere!! It's a win win for everyone!! 🙂\n\n# Contributing\n\nFeel free to open an issue with a bug or feature request.\n\nIf you wish to make a PR fixing something, please open an issue about it first!\n\n## Help needed 🛑\n\nThis library lacks something very important: **Automated Tests!**\n\nI'll be straight about this: I don't know how to write tests. I've tried, but not been able to.\n\nSo I need your help. If you wish to contribute and can add tests here, it would be great for everyone using this! 🙂\n\nSpecifications here: [#7](https://github.com/PuruVJ/svelte-drag/issues/7)\n\n# License\n\nMIT License\n","_id":"svelte-drag@2.4.1-beta.0","_integrity":"sha512-/vrNciuyLn+l2v5U2Nfx8R66Spc8ljOvx2RFD/UljEWFGN6GoFY2tbWtUW0jYW4PcGtUf/dUIBIYoFMx2Hrjxw==","_resolved":"/Users/puruvijay/Projects/svelte-drag/svelte-drag-2.4.1-beta.0.tgz","_from":"file:svelte-drag-2.4.1-beta.0.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-/vrNciuyLn+l2v5U2Nfx8R66Spc8ljOvx2RFD/UljEWFGN6GoFY2tbWtUW0jYW4PcGtUf/dUIBIYoFMx2Hrjxw==","shasum":"97fc5ada3d0c354141e721d664a0d88d0eba79cc","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.4.1-beta.0.tgz","fileCount":8,"unpackedSize":127722,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh76OICRA9TVsSAnZWagAAuRMP/RjKEUDc+lQMwEWVM/yU\nAy5+iOEq6CkQ3iV3Ix4+s4UdIOvEuqkuQT5Lg+R+pw3vuX9ArYKRnDBgqJpg\n5PA5VaTFCmGPYdDxbObp3a6F7DpvkdNZl73aUHZ4YjCwz8PwFlxMSJTXGSda\nLpQxSG1VYz2O+YWfcXNRfoS/cQ+vd3Nh8IXU3yILI6VU1clI1qeozUlQVy3p\nkXdzk2zTzFnAtvIeM1eecQf33aLFS27gh9wPJ+gkd47C63JbvzeMkxYIy9rL\ngTfanTza4ky5k6P73AKL8Z3fP7rp9WHZBoHViLXdfmE2IsUZDhvZMioHftnU\njK2yn+TgNC51m9J9JdDxKJRl2FoO6G7jbGvEbkFI4BfXhrZJNgWbuWoSM80s\nsH8M/C5d/G0KvXfPeoEfKvhCpz4r8ipy+/pI2eiH3LgzvwdEuseWoxrxNmWS\nIqDoNMizvi3yFesNyfszebmJOH6RhqVahPnWuyu1vhpn6q3OHUVBORl7bFwE\nidBNefVUXGUmTp5NPGEFa8qVbKF94MBwGzipAyZcT9dSp36zQJZmMaITIBYk\nOFjWn1UQTJxJQ10xfax1MaDysjmTf34QHh3VBqToMYH9MIlphhDeywcQ+kgs\nVv3cqZNuXWtb9DAmi5NCEq1TspQAlxljMV3yp+DhiMeXjDXiKPinDbvJITkV\nLFVZ\r\n=/p5D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGVLy4QS4AuWPXP3H5vFEzBmSx7oTjFV/9VUHiQhetROAiEAyHhHCJM74knPb04b3dG90/1Y8FZaIJUaj0ND9VxtSBs="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.4.1-beta.0_1643094920018_0.047417486638153594"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.4.1":{"name":"svelte-drag","version":"2.4.1","description":"Svelte Action to add dragging to your apps 😉","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@sveltejs/vite-plugin-svelte":"^1.0.0-next.34","@testing-library/dom":"^8.11.2","@testing-library/jest-dom":"^5.16.1","@testing-library/svelte":"^3.0.3","jsdom":"^19.0.0","svelte":"^3.46.2","svelte-preprocess":"^4.10.1","tsup":"^5.11.11","typescript":"^4.5.4","vite":"^2.7.12","vitest":"^0.1.18"},"scripts":{"test":"vitest run test","test:watch":"vitest test","watch":"tsup --watch","pub":"pnpm publish"},"_id":"svelte-drag@2.4.1","_integrity":"sha512-Kj91TlEB28j5WlbVlvlc2IxI/VKV0Nse+5/ngL0fUZu6JBbJR6QbYdlqXHcHvSE7Wsg1KqY2FOuJnXE2jynoeQ==","_resolved":"/Users/puruvijay/Projects/svelte-drag/svelte-drag-2.4.1.tgz","_from":"file:svelte-drag-2.4.1.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Kj91TlEB28j5WlbVlvlc2IxI/VKV0Nse+5/ngL0fUZu6JBbJR6QbYdlqXHcHvSE7Wsg1KqY2FOuJnXE2jynoeQ==","shasum":"19e66c395612172eaf4c28aab350812c8da2cfdf","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.4.1.tgz","fileCount":8,"unpackedSize":129338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8NogCRA9TVsSAnZWagAAiJsQAI6BdVm0UOq8nmpK1lgA\nNX3ngMhaid1/96IrqWWJGtSKMMb5/MwUwu++NUpNJb5yDe4xQD7mOb8Z/iIe\n1oOjKnjERI8oUiLNLSgQSeWzlW3L2Ei4oYrl3yo1mdhNSWvHKXQ1mrRi/w20\nbsnKcFipk7fnPmIM81pRck6LplQ26ZH3vFltozJ01TxcOdicThjBVHsyZEsx\nkAa4//tOexqhhAW9tNtBxEa3FxrEaxwrS5oi/Uac4rttNOI1gA4wzyoWk3Fs\nqeIAkg17qZYepoyg7DtGHmpC+d51/DQ8LXTqCiWM3Kc/UY/yP8ep+j8Q5KA+\n/lCeWUP6vTy6snoT1DRX74oAxCR8H4zLbPCtpnXGTZNKosg7qDts4kEok2L7\nPf2Pdq1LoD6NxKfoT2Psw5aEbxy9cNsNTKGL9bdwRwUaIC9iriL3hVYdjVzQ\n62DbYYWUCd8HmTixFR3XmiDwnnze/xPt41mZxZH55DsyV2LzE4mvEaIDIYE+\nkXaKpiyhBWmMDc1BKaszYYaTe5WnOx2Pq0aARbHkLjybPghalo+bghHao9IN\nio1DYieOULLQ4vQpQm8T7iY7d1FsFwT3vK+d43aRtPvSjVWeMPdw6zdTxDaH\nUUT3a54Zl9tmG0fbM2+HiR2kuKAmBSIn2Vkcdqs4/zi2wn3dS4qSsi+0ufFq\ncfu2\r\n=hcy6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOZs2q6L052ELJoim/IfCIuzeYjEgLZpd9hw5OBnv46QIgLrM2dfeKBS2Gvh7L0qd7pmOaY4w9VMv8AjgBKSkpPEg="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.4.1_1643174431876_0.7349922126167423"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"2.5.0":{"name":"svelte-drag","version":"2.5.0","description":"Svelte Action to add dragging to your apps 😉","main":"dist/index.cjs","module":"dist/index.js","type":"module","types":"dist/index.d.ts","typings":"dist/index.d.ts","sideEffects":false,"exports":{"import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","devDependencies":{"@sveltejs/vite-plugin-svelte":"^1.0.0-next.34","@testing-library/dom":"^8.11.2","@testing-library/jest-dom":"^5.16.1","@testing-library/svelte":"^3.0.3","jsdom":"^19.0.0","svelte":"^3.46.2","svelte-preprocess":"^4.10.1","tsup":"^5.11.11","typescript":"^4.5.4","vite":"^2.7.12","vitest":"^0.1.18"},"scripts":{"test":"vitest run test","test:watch":"vitest test","watch":"tsup --watch","pub":"pnpm publish"},"_id":"svelte-drag@2.5.0","_integrity":"sha512-o35EAtcbpyRnIJUxx7DkRk7abDOOmuzHcevXcapifqMCBKfgQChrejG5veTOAi1GOnu1QSRscCmloBSb2nNv1A==","_resolved":"/Users/puruvijay/Projects/svelte-drag/svelte-drag-2.5.0.tgz","_from":"file:svelte-drag-2.5.0.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-o35EAtcbpyRnIJUxx7DkRk7abDOOmuzHcevXcapifqMCBKfgQChrejG5veTOAi1GOnu1QSRscCmloBSb2nNv1A==","shasum":"679abb7aa90156c7cb8728301e728c29a78ab71e","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-2.5.0.tgz","fileCount":8,"unpackedSize":128465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8O9lCRA9TVsSAnZWagAAsi8QAJxM/maWad0rff35SJHU\nNE8eHQkwKkWQjID/tnXiPMAenKwFEdBj/ldUKsvwKpO6Z2GCLehmBugo/3BN\n5Us0lNxtTd+ayb7yZZ4W0K485q1NZ7WNsBG2yiLNRVE5Wv1NBDMkFmF/lPe0\nZaGzA/Mtk/PC762+ITN1Kqnife+20cMJdSeP0tdT7Y/F5S7G56ujopuvvGpG\nQMWDUQH338vBu9/G96aIB2J268CffkT3QazxnNl7qS5pZN+mkS9anzlWLFQY\nMIGur9f8gNrOnEgzrZLLPQNEBP470MsuXSUsttdFxrV4cLS0TOjRDFpmYnBY\nHgZz7ASX73o5IEwLuded6tnxmBY4RRAbmCmqaftKjEqDhFcvx93kVjW5YWgS\nsGlMpcXgF9GVZ+LHtcGH3q65elhFbWNfhGSYiAacemMq1mQwDkgRROz2FFYV\n82aVxC3PMSDH88oFYWq7MqAtNDqZVtVVbu3UCSmAmjkk6kBc3jsJSoxdEQvE\noBY2dRWq5TQp37DLtzrQRL5QwNYyFxuPKprd0vxScqIxV9A8cRs8pbQYxFPQ\ne68D1Js29B4YxS8kBTPF+chW4jbE9sUn671N5wrT7xXzN4hV+i6qhFsorel1\nou2Prv/QwwsIpD3qv09cI1qQqRknxCO2W1C0mf/UNY0Cv8KBnY38rL4jqwUU\nL8QA\r\n=0v3S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEXS0dZOyMrVaamru6n2DcJDEDyxMUIFYqH5f/Rd8PCvAiAOFlGaDzokNQmA9ajWIJU5ycMc+IkLvQeUgwJyQnfR3g=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_2.5.0_1643179877784_0.8882830811028759"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"3.0.0-beta.0":{"name":"svelte-drag","version":"3.0.0-beta.0","description":"Svelte Action to add dragging to your apps 😉","main":"dist/index.js","module":"dist/index.js","type":"module","types":"dist/index.d.ts","sideEffects":false,"exports":{".":{"import":"./dist/index.js","module":"./dist/index.js"},"./package.json":"./package.json"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","readme":"# svelte-drag\n\nA lightweight Svelte Action to make your elements draggable.\n\nInspired from the amazing [react-draggable](https://github.com/react-grid-layout/react-draggable) library, and implements the same API.\n\n# Features\n\n- 🤏 Tiny - Only [2.2KB](https://bundlephobia.com/package/svelte-drag) min+gzip.\n- 🐇 Simple - Quite simple to use, and effectively no-config required!\n- 🧙‍♀️ Elegant - Svelte Action, to keep the usage simple, elegant and expressive.\n- 🗃️ Highly customizable - Offers tons of options that you can modify to get different behavior.\n- ⚛️ Reactive - Change options passed to it on the fly, it will **just work 🙂**\n\n[Try it in Svelte REPL](https://svelte.dev/repl/fc972f90450c4945b6f2481d13eafa00?version=3.38.3)\n\n# Installing\n\n```bash\npnpm add svelte-drag\n\n# npm\nnpm install svelte-drag\n\n# yarn\nyarn add svelte-drag\n```\n\n# Usage\n\nBasic usage\n\n```svelte\n<script>\n  import { draggable } from 'svelte-drag';\n</script>\n\n<div use:draggable>Hello</div>\n```\n\nWith options\n\n```svelte\n<script>\n  import { draggable } from 'svelte-drag';\n</script>\n\n<div use:draggable={{ axis: 'x', grid: [10, 10] }}>Hello</div>\n```\n\nDefining options elsewhere with typescript\n\n```svelte\n<script lang=\"ts\">\n  import { draggable } from 'svelte-drag';\n  import type { DragOptions } from 'svelte-drag';\n\n  let options: DragOptions = {\n    axis: 'y',\n    bounds: 'parent',\n  };\n</script>\n\n<div use:draggable={options}>Hello</div>\n```\n\n# Options\n\nThere's tons of options available for this package. All of them are already documented within the code itself, so you'll never have to leave the code editor.\n\n## axis\n\n**type**: `'both' | 'x' | 'y' | 'none'`\n\n**Default Value**: `'both'`\n\nAxis on which the element can be dragged on. Valid values: `both`, `x`, `y`, `none`.\n\n- `both` - Element can move in any direction\n- `x` - Only horizontal movement possible\n- `y` - Only vertical movement possible\n- `none` - No movement at all\n\n**Examples**:\n\n```svelte\n<!-- Drag only in x direction -->\n<div use:draggable={{ axis: 'x' }}>Text</div>\n```\n\nDynamically change `axis` using radio buttons.\n\n```svelte\n<script>\nlet axis;\n</script>\n\n<div>\n  Axis:\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"both\" />\n    Both\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"x\" />\n    x\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"y\" />\n    y\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"none\" />\n    none\n  </label>\n</div>\n\n<!-- Dynamically change axis -->\n<div use:draggable={{ axis }}>Text</div>\n```\n\n## bounds\n\n**type**: `'parent' | string | { top?: number; right?: number; bottom?: number; left?: number }`\n\n**Default Value**: `undefined`\n\nOptionally limit the drag area\n\nAccepts `parent` as prefixed value, and limits it to its parent.\n\nOr, you can specify any selector and it will be bound to that.\n\n**Note**: This library doesn't check whether the selector is bigger than the node element.\nYou yourself will have to make sure of that, or it may lead to unexpected behavior.\n\nOr, finally, you can pass an object of type `{ top: number; right: number; bottom: number; left: number }`.\nThese mimic the css `top`, `right`, `bottom` and `left`, in the sense that `bottom` starts from the bottom of the window, and `right` from right of window.\nIf any of these properties are unspecified, they are assumed to be `0`.\n\n**Examples**:\n\nBound to parent\n\n```svelte\n<div use:draggable={{ bounds: 'parent' }}>Hello</div>\n```\n\nBound to body\n\n```svelte\n<div use:draggable={{ bounds: 'body' }}>Hello</div>\n```\n\nBound to an ancestor selector somewhere in page\n\n```svelte\n<div use:draggable={{ bounds: '.way-up-in-the-dom' }}>Hello</div>\n```\n\nManually through coordinates. Empty object means bound to the `window`.\n\n**NOTE**: It isn't strictly empty object. If you omit any property from this object, it will be assumed as `0`.\n\n```svelte\n<div use:draggable={{ bounds: {} }}>Hello</div>\n```\n\nBound only to top and bottom, and unbounded horizontally in practice by setting bounds way beyond the screen.\n\n```svelte\n<div use:draggable={{ bounds: { top: 0, bottom: 0, left: -1000, right: -1000 } }}>Hello</div>\n```\n\n## gpuAcceleration\n\n**type**: `boolean`\n\n**Default value**: `true`\n\nIf true, uses `translate3d` instead of `translate` to move the element around, and the hardware acceleration kicks in.\n\n`true` by default, but can be set to `false` if [blurry text issue](https://developpaper.com/question/why-does-the-use-of-css3-translate3d-result-in-blurred-display/) occurs.\n\nExample 👇\n\n```svelte\n<div use:draggable={{ gpuAcceleration: false }}>Hello</div>\n```\n\n## applyUserSelectHack\n\n**type**: `boolean`\n\n**Default value**: `true`\n\nApplies `user-select: none` on `<body />` element when dragging, to prevent the irritating effect where dragging doesn't happen and the text is selected. Applied when dragging starts and removed when it stops.\n\n## ignoreMultitouch\n\n**type**: `boolean`\n\n**Default value**: `false`\n\nIgnores touch events with more than 1 touch.\nThis helps when you have multiple elements on a canvas where you want to implement pinch-to-zoom behaviour.\n\n```svelte\n<!-- Ignore Multitouch -->\n<div use:draggable={{ ignoreMultitouch: true }}>Text</div>\n```\n\n## disabled\n\n**type**: `boolean`\n\n**Default Value**: `undefined`\n\nDisables dragging.\n\n## grid\n\n**type**: `[number, number]`\n\n**Default value**: `undefined`\n\nApplies a grid on the page to which the element snaps to when dragging, rather than the default continuous grid.\n\n`Note`: If you're programmatically creating the grid, do not set it to [0, 0] ever, that will stop drag at all. Set it to `undefined` to make it continuous once again.\n\n## position\n\n**type**: `{ x: number; y: number }`\n\n**Default Value**: `undefined`\n\nControls the position of the element programmatically. Fully reactive.\n\nRead more below in the **Controlled vs Uncontrolled** section.\n\n## cancel\n\n**type**: `string`\n\n**Default value**: `undefined`\n\nCSS Selector of an element inside the parent node(on which `use:draggable` is applied). If it is provided, Trying to drag inside the `cancel` selector will prevent dragging.\n\n```svelte\n<div use:draggable={{ cancel: '.cancel' }}>\n  This will drag!\n  <div class=\"cancel\">You shall not drag!!🧙‍♂️</div>\n</div>\n```\n\n## handle\n\n**type**: `string`\n\n**Default Value**: `undefined`\n\nCSS Selector of an element inside the parent node(on which `use:draggable` is applied). If it is provided, Only clicking and dragging on this element will allow the parent to drag, anywhere else on the parent won't work.\n\n```svelte\n<div use:draggable={{ handle: '.handle' }}>\n  You shall not drag!!🧙‍♂️\n  <div class=\"handle\">This will drag 😁</div>\n</div>\n```\n\n## defaultClass\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable'`\n\nClass to apply on the element on which `use:draggable` is applied. <br/><br/> Note that if `handle` is provided, it will still apply class on the parent element, **NOT** the handle\n\n## defaultClassDragging\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable-dragging'`\n\nClass to apply on the parent element when it is dragging\n\n## defaultClassDragged\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable-dragged'`\n\nClass to apply on the parent element if it has been dragged at least once.\n\n## defaultPosition\n\n**type**: `{ x: number; y: number }`\n\n**Default Value**: `{ x: 0, y: 0 }`\n\nOffsets your element to the position you specify in the very beginning. `x` and `y` should be in pixels\n\n## onDragStart\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging start.\n\n## onDrag\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging is going on.\n\n## onDragEnd\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging ends.\n\n# Events\n\n`svelte-drag` emits 3 events, `on:svelte-drag`, `on:svelte-drag:start` & `on:svelte-drag:end`. These are all custom events, and can be listened on the node the `use:draggable` is applied to\n\nExample:\n\n```svelte\n<div\n  use:draggable\n  on:svelte-drag:start={(e) => console.log('Dragging started', e)}\n  on:svelte-drag={(e) => console.log(e.detail)}\n  on:svelte-drag:end={(e) => console.log('Dragging stopped', e)}\n>\n  Hello\n</div>\n```\n\nEvent signatures:\n\n`on:svelte-drag:start`: `(e: CustomEvent<{offsetX: number; offsetY: number }>) => void`. Provides the initial offset when dragging starts, on the `e.detail` object.\n\n`on:svelte-drag:`: `(e: CustomEvent<{offsetX: number; offsetY: number }>) => void`. Provides how far the element has been dragged from it's original position in `x` and `y` coordinates on the `event.detail` object\n\n`on:svelte-drag:end`: `(e: CustomEvent<{offsetX: number; offsetY: number }>) => void`. No internal state provided to `event.detail`. Provides the final offset when dragging ends, on the `e.detail` object.\n\n### Alternative\n\nIf you scroll up, you'll see 3 options, `onDragStart`, `onDrag` and `onDragEnd`. These are basically event handlers that you specify as methods of the options object.\n\nWhy have two ways to listen to events? Because at the time of writing, the Svelte extension for VSCode doesn't work fully well with custom events when using TypeScript, even after they're explicitly typed by the user in TypeScript.\n\nI take TypeScript very seriously, hence I am going an extra step to provide duplicate implementations for event handling.\n\nHow to use events-as-options? The syntax is similar to the custom events one 👇\n\n```svelte\n<div\n  use:draggable={{\n    onDragStart: ({ offsetX, offsetY }) => {\n      // Do something\n    },\n    onDrag: ({ offsetX, offsetY }) => {\n      // Do something\n    },\n    onDragEnd: ({ offsetX, offsetY }) => {\n      // Do something\n    },\n\n  }}\n  class=\"box\"\n/>\n```\n\nUltimately, this gives everyone a choice. non-TypeScript users will prefer the `on:svelte-drag:*` method because it is more idiomatic, and TypeScript users can go with events-as-options way to get better TS experience\n\n> Note: Do not use same event in two different ways. I.E., having `on:svelte-drag:start` and `onDragStart` at once will have both fire at the time when dragging starts. Use only one at a time.\n\nIf you're a TypeScript user, read on below 👇\n\n# TypeScript\n\nThis library ships with proper TypeScript typings, for the best Developer Experience, whether authoring JS or TS.\n\n## Types Exported from package\n\nThis package exports these types you can use:\n\n```ts\nimport type { DragAxis, DragBounds, DragBoundsCoords, DragOptions } from 'svelte-drag';\n```\n\n`DragOptions` is the documented list of all options provided by the component.\n\n`DragAxis` is the type of `axis` option, and is equal to `'both' | 'x' | 'y' | 'none'`.\n\n`DragBounds` is `'parent' | string | Partial<DragBoundsCoords>`, the complete type of `bounds` option.\n\n`DragBoundsCoords` is when you're specifying the `bounds` field using an object, this is the type needed for that.\n\n```ts\nexport type DragBoundsCoords = {\n\t/** Number of pixels from left of the window */\n\tleft: number;\n\n\t/** Number of pixels from top of the window */\n\ttop: number;\n\n\t/** Number of pixels from the right side of window */\n\tright: number;\n\n\t/** Number of pixels from the bottom of the window */\n\tbottom: number;\n};\n```\n\n# Controlled vs Uncontrolled\n\nThis is taken straight from React's philosophy(After all, this package is inspired from [react-draggable](https://github.com/react-grid-layout/react-draggable)).\n\nUncontrolled means your app doesn't control the dragging of the app. Meaning, the user drags the element, it changes position, and you do something with that action. You yourself don't change position of the element or anything. This is the default behavior of this library.\n\nControlled means your app, using state variables, changes the position of the element, or in simple terms, programmatically drag the element. You basically set the `position` property to `{ x: 10, y: 50 }`(or any other numbers), and voila! yur now controlling the position of the element programmatically 🥳🥳\n\nOFC, this library doesn't go fully **Controlled**. The user can still drag it around even when `position` is set.\n\nSo, when you change `position`, the element position changes. However, when the element is dragged by user interaction, `position` is not changed. This is done intentionally, as two-way data binding here isn't possible and also will lead to unexpected behavior. To keep the `position` variable up to date, use the `on:svelte-drag` event to keep your state up to date to the draggable's internal state.\n\nTo have it be strictly **Controlled**, meaning it can only be moved programmatically, add the `disabled` option to your draggable element's config\n\n```svelte\n<div use:draggable={{ position: { x: 0, y: 10 }, disabled: true }} />\n```\n\nHere are a bunch of examples showing controlled behavior 👇\n\n1. [Changing with inputs](https://svelte.dev/repl/e1e707358b37467ba272891715878a1d?version=3.44.1)\n2. [Changing with Sliders](https://svelte.dev/repl/6b437a1cdbfc4c748520a72330c6395b?version=3.44.1)\n3. [Draggable only through external state, not user input](https://svelte.dev/repl/0eae169f272e41ba9c07ef222ed2bf66?version=3.44.1)\n4. [Comes back to original position after drag end](https://svelte.dev/repl/83d3aa8c5e154b7baf1a9c417c217d2e?version=3.44.1)\n5. [Comes back to original position with transition](https://svelte.dev/repl/bc84ed4ca22f45acbc28de3e33199883?version=3.44.1)\n\n# Why an action and not a component?\n\nIn case you're wondering why this library is an action, and not a component, the answer is simple: Actions usage is much much simpler and elegant than a component for this case could ever be.\n\nIf it were a component, its syntax would be like this 👇\n\n```svelte\n<Draggable axis=\"x\" grid={[50, 50]}>\n  <div>\n    Hello\n  </div>\n</Draggable>\n```\n\nThis is ok, but what if there are more than 2 elements at the top.\n\n```svelte\n<Draggable axis=\"x\" grid={[50, 50]}>\n  <div>\n    Hello\n  </div>\n\n  <div>\n    You shall not pass ~ Gandalf the wizard\n  </div>\n</Draggable>\n```\n\nThis poses a problem: How would I decide which of these to make a draggable? Ofc, I could wrap the `<slot />` in a `<div>`, apply event listeners on it, set it to `display: contents`, but it would add an extra DOM element, and sometimes, that alone can make a huge difference!\n\nSo to not add a wrapper myself, I would need to write here in docs to pass only one root element, and give an error when I detect multiple. or I'd need to enforce passing the ref of the element into the component using `bind:this`, like this 👇\n\n```svelte\n<script>\nlet ref;\n</script>\n\n<Draggable nodeRef={ref} axis=\"x\" grid={[50, 50]}>\n  <div bind:this={ref}>\n    Hello\n  </div>\n</Draggable>\n```\n\nYou'd have to bind the element ref which you want to make a draggable, and pass it to the component.\n\nThis is doable, but it adds an unnecessary amount of API layer, and the code isn't idiomatic and elegant, not to mention how much extra code I would have to add as the library author.\n\nNot to mention, it would require much more work to make it SSR compliant, which makes no sense, cuz the server isn't dragging elements around, so why need to SSR it in the first place ¯\\\\\\_(ツ)\\_/¯. I would have to add `browser` checks everywhere to make it work, which is less than ideal.\n\nOn the other hand, as an action, this gives ultimate control to both the user and me.\n\n```svelte\n<div use:draggable={{ axis: 'x', grid: [50, 50] }}>\n  Hello\n</div>\n```\n\nThis is extremely simple, elegant and expressive. By applying the action, you are specifying which element you want to be draggable, without any extra overhead. It just works!! And Actions aren't run in SSR, so your app will server render without errors caused from this library, and will spare me the gruelling task of adding browser checks everywhere!! It's a win win for everyone!! 🙂\n\n# Contributing\n\nFeel free to open an issue with a bug or feature request.\n\nIf you wish to make a PR fixing something, please open an issue about it first!\n\n## Help needed 🛑\n\nThis library lacks something very important: **Automated Tests!**\n\nI'll be straight about this: I don't know how to write tests. I've tried, but not been able to.\n\nSo I need your help. If you wish to contribute and can add tests here, it would be great for everyone using this! 🙂\n\nSpecifications here: [#7](https://github.com/PuruVJ/svelte-drag/issues/7)\n\n# License\n\nMIT License\n","_id":"svelte-drag@3.0.0-beta.0","_integrity":"sha512-bc8U8I7GR/PBTLdvZlKwKfIQazAFcApjbxf+7PgbOjwX4YmB1lcFCZdEp+KbfiZtusMK8RXYFXR+pLgP3Cxa0g==","_resolved":"/Users/puruvijay/Projects/svelte-drag/dist/svelte-drag-3.0.0-beta.0.tgz","_from":"file:svelte-drag-3.0.0-beta.0.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-bc8U8I7GR/PBTLdvZlKwKfIQazAFcApjbxf+7PgbOjwX4YmB1lcFCZdEp+KbfiZtusMK8RXYFXR+pLgP3Cxa0g==","shasum":"fa50ebf8e8232883833faac3fcac651132f51864","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-3.0.0-beta.0.tgz","fileCount":5,"unpackedSize":76769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8PSjCRA9TVsSAnZWagAA2bMP/0vF0qIH1GTsfA2Sxshv\naiI+vGTYOWvqHGjRktF+6P9sTCL+6QabeEOyAmm6ltLyTxtoxxzaL9Nf3KlN\nyy8b1UljSTngd103ECwMJK/o2xZLDs5K9JKac7iv84jp0iJeYN76mknFMmXk\nNwiVCk+VvfEnGKYSwnzy8w4W3bjDPt4Fl2fW4wW/+to7auiFGQTODDSJh/KF\nUmrcmkHvPuCPoo7R4in4VEH3wnPBgC96dWF7uaEEsHsx30Emwbzdi2fo/YGi\nPX4GcPV6Ski4XDXZwdzkzXfODZiN0+BYgSElhkZum+ZsIM6yEjRBf8XYPG8C\nHU2qAWqwReJH19k4mDI7td3A8cCb17sSsifu06YvPRWbX4d2rj9YzQIzpwkd\njy/oSL5dGm4AGgTna81aIvjY3VwREDLiS3xb4PPN19s78RUZ5gVfFTtXSynH\nMTX+pW2dlZUFMRYxMWui5EAzsNFux2gdQ7hv35DOCC6xPP8M8Gz9ILbhR8Uj\nQNRHVrrph8SlUqScxy+u9ODrOyhrYCN29k9u3WP8G0CmO0tr/aHIsHoBYmFm\ng/CnPrhoqqez6R/zCbRyzkuEgWjwryVDYD9DYP1yOIrtFF0+kNcZ4JnV6RTS\n/wcy5PxefpgJTtgl9Bsvp91p2VqMl+uuIjIp9GpIEWkrx0ODnaasCCmhEFbv\nKvzq\r\n=78Fs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgv2tXZpXgC8tR/0CGm/ytQwqdQf7nuSKn8/Zl5F23ewIhAL+7TZJMac9cptySNXFaF2wc0sW7I8kzpzwReDEwVuxR"}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_3.0.0-beta.0_1643181219260_0.21545787575866204"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"3.0.0-beta.1":{"name":"svelte-drag","version":"3.0.0-beta.1","description":"Svelte Action to add dragging to your apps 😉","main":"index.js","module":"index.js","type":"module","types":"index.d.ts","sideEffects":false,"exports":{".":{"import":"./index.js","module":"./index.js"},"./package.json":"./package.json"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","readme":"# svelte-drag\n\nA lightweight Svelte Action to make your elements draggable.\n\nInspired from the amazing [react-draggable](https://github.com/react-grid-layout/react-draggable) library, and implements the same API.\n\n# Features\n\n- 🤏 Tiny - Only [2.2KB](https://bundlephobia.com/package/svelte-drag) min+gzip.\n- 🐇 Simple - Quite simple to use, and effectively no-config required!\n- 🧙‍♀️ Elegant - Svelte Action, to keep the usage simple, elegant and expressive.\n- 🗃️ Highly customizable - Offers tons of options that you can modify to get different behavior.\n- ⚛️ Reactive - Change options passed to it on the fly, it will **just work 🙂**\n\n[Try it in Svelte REPL](https://svelte.dev/repl/fc972f90450c4945b6f2481d13eafa00?version=3.38.3)\n\n# Installing\n\n```bash\npnpm add svelte-drag\n\n# npm\nnpm install svelte-drag\n\n# yarn\nyarn add svelte-drag\n```\n\n# Usage\n\nBasic usage\n\n```svelte\n<script>\n  import { draggable } from 'svelte-drag';\n</script>\n\n<div use:draggable>Hello</div>\n```\n\nWith options\n\n```svelte\n<script>\n  import { draggable } from 'svelte-drag';\n</script>\n\n<div use:draggable={{ axis: 'x', grid: [10, 10] }}>Hello</div>\n```\n\nDefining options elsewhere with typescript\n\n```svelte\n<script lang=\"ts\">\n  import { draggable } from 'svelte-drag';\n  import type { DragOptions } from 'svelte-drag';\n\n  let options: DragOptions = {\n    axis: 'y',\n    bounds: 'parent',\n  };\n</script>\n\n<div use:draggable={options}>Hello</div>\n```\n\n# Options\n\nThere's tons of options available for this package. All of them are already documented within the code itself, so you'll never have to leave the code editor.\n\n## axis\n\n**type**: `'both' | 'x' | 'y' | 'none'`\n\n**Default Value**: `'both'`\n\nAxis on which the element can be dragged on. Valid values: `both`, `x`, `y`, `none`.\n\n- `both` - Element can move in any direction\n- `x` - Only horizontal movement possible\n- `y` - Only vertical movement possible\n- `none` - No movement at all\n\n**Examples**:\n\n```svelte\n<!-- Drag only in x direction -->\n<div use:draggable={{ axis: 'x' }}>Text</div>\n```\n\nDynamically change `axis` using radio buttons.\n\n```svelte\n<script>\nlet axis;\n</script>\n\n<div>\n  Axis:\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"both\" />\n    Both\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"x\" />\n    x\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"y\" />\n    y\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"none\" />\n    none\n  </label>\n</div>\n\n<!-- Dynamically change axis -->\n<div use:draggable={{ axis }}>Text</div>\n```\n\n## bounds\n\n**type**: `'parent' | string | { top?: number; right?: number; bottom?: number; left?: number }`\n\n**Default Value**: `undefined`\n\nOptionally limit the drag area\n\nAccepts `parent` as prefixed value, and limits it to its parent.\n\nOr, you can specify any selector and it will be bound to that.\n\n**Note**: This library doesn't check whether the selector is bigger than the node element.\nYou yourself will have to make sure of that, or it may lead to unexpected behavior.\n\nOr, finally, you can pass an object of type `{ top: number; right: number; bottom: number; left: number }`.\nThese mimic the css `top`, `right`, `bottom` and `left`, in the sense that `bottom` starts from the bottom of the window, and `right` from right of window.\nIf any of these properties are unspecified, they are assumed to be `0`.\n\n**Examples**:\n\nBound to parent\n\n```svelte\n<div use:draggable={{ bounds: 'parent' }}>Hello</div>\n```\n\nBound to body\n\n```svelte\n<div use:draggable={{ bounds: 'body' }}>Hello</div>\n```\n\nBound to an ancestor selector somewhere in page\n\n```svelte\n<div use:draggable={{ bounds: '.way-up-in-the-dom' }}>Hello</div>\n```\n\nManually through coordinates. Empty object means bound to the `window`.\n\n**NOTE**: It isn't strictly empty object. If you omit any property from this object, it will be assumed as `0`.\n\n```svelte\n<div use:draggable={{ bounds: {} }}>Hello</div>\n```\n\nBound only to top and bottom, and unbounded horizontally in practice by setting bounds way beyond the screen.\n\n```svelte\n<div use:draggable={{ bounds: { top: 0, bottom: 0, left: -1000, right: -1000 } }}>Hello</div>\n```\n\n## gpuAcceleration\n\n**type**: `boolean`\n\n**Default value**: `true`\n\nIf true, uses `translate3d` instead of `translate` to move the element around, and the hardware acceleration kicks in.\n\n`true` by default, but can be set to `false` if [blurry text issue](https://developpaper.com/question/why-does-the-use-of-css3-translate3d-result-in-blurred-display/) occurs.\n\nExample 👇\n\n```svelte\n<div use:draggable={{ gpuAcceleration: false }}>Hello</div>\n```\n\n## applyUserSelectHack\n\n**type**: `boolean`\n\n**Default value**: `true`\n\nApplies `user-select: none` on `<body />` element when dragging, to prevent the irritating effect where dragging doesn't happen and the text is selected. Applied when dragging starts and removed when it stops.\n\n## ignoreMultitouch\n\n**type**: `boolean`\n\n**Default value**: `false`\n\nIgnores touch events with more than 1 touch.\nThis helps when you have multiple elements on a canvas where you want to implement pinch-to-zoom behaviour.\n\n```svelte\n<!-- Ignore Multitouch -->\n<div use:draggable={{ ignoreMultitouch: true }}>Text</div>\n```\n\n## disabled\n\n**type**: `boolean`\n\n**Default Value**: `undefined`\n\nDisables dragging.\n\n## grid\n\n**type**: `[number, number]`\n\n**Default value**: `undefined`\n\nApplies a grid on the page to which the element snaps to when dragging, rather than the default continuous grid.\n\n`Note`: If you're programmatically creating the grid, do not set it to [0, 0] ever, that will stop drag at all. Set it to `undefined` to make it continuous once again.\n\n## position\n\n**type**: `{ x: number; y: number }`\n\n**Default Value**: `undefined`\n\nControls the position of the element programmatically. Fully reactive.\n\nRead more below in the **Controlled vs Uncontrolled** section.\n\n## cancel\n\n**type**: `string`\n\n**Default value**: `undefined`\n\nCSS Selector of an element inside the parent node(on which `use:draggable` is applied). If it is provided, Trying to drag inside the `cancel` selector will prevent dragging.\n\n```svelte\n<div use:draggable={{ cancel: '.cancel' }}>\n  This will drag!\n  <div class=\"cancel\">You shall not drag!!🧙‍♂️</div>\n</div>\n```\n\n## handle\n\n**type**: `string`\n\n**Default Value**: `undefined`\n\nCSS Selector of an element inside the parent node(on which `use:draggable` is applied). If it is provided, Only clicking and dragging on this element will allow the parent to drag, anywhere else on the parent won't work.\n\n```svelte\n<div use:draggable={{ handle: '.handle' }}>\n  You shall not drag!!🧙‍♂️\n  <div class=\"handle\">This will drag 😁</div>\n</div>\n```\n\n## defaultClass\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable'`\n\nClass to apply on the element on which `use:draggable` is applied. <br/><br/> Note that if `handle` is provided, it will still apply class on the parent element, **NOT** the handle\n\n## defaultClassDragging\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable-dragging'`\n\nClass to apply on the parent element when it is dragging\n\n## defaultClassDragged\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable-dragged'`\n\nClass to apply on the parent element if it has been dragged at least once.\n\n## defaultPosition\n\n**type**: `{ x: number; y: number }`\n\n**Default Value**: `{ x: 0, y: 0 }`\n\nOffsets your element to the position you specify in the very beginning. `x` and `y` should be in pixels\n\n## onDragStart\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging start.\n\n## onDrag\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging is going on.\n\n## onDragEnd\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging ends.\n\n# Events\n\n`svelte-drag` emits 3 events, `on:svelte-drag`, `on:svelte-drag:start` & `on:svelte-drag:end`. These are all custom events, and can be listened on the node the `use:draggable` is applied to\n\nExample:\n\n```svelte\n<div\n  use:draggable\n  on:svelte-drag:start={(e) => console.log('Dragging started', e)}\n  on:svelte-drag={(e) => console.log(e.detail)}\n  on:svelte-drag:end={(e) => console.log('Dragging stopped', e)}\n>\n  Hello\n</div>\n```\n\nEvent signatures:\n\n`on:svelte-drag:start`: `(e: CustomEvent<{offsetX: number; offsetY: number }>) => void`. Provides the initial offset when dragging starts, on the `e.detail` object.\n\n`on:svelte-drag:`: `(e: CustomEvent<{offsetX: number; offsetY: number }>) => void`. Provides how far the element has been dragged from it's original position in `x` and `y` coordinates on the `event.detail` object\n\n`on:svelte-drag:end`: `(e: CustomEvent<{offsetX: number; offsetY: number }>) => void`. No internal state provided to `event.detail`. Provides the final offset when dragging ends, on the `e.detail` object.\n\n### Alternative\n\nIf you scroll up, you'll see 3 options, `onDragStart`, `onDrag` and `onDragEnd`. These are basically event handlers that you specify as methods of the options object.\n\nWhy have two ways to listen to events? Because at the time of writing, the Svelte extension for VSCode doesn't work fully well with custom events when using TypeScript, even after they're explicitly typed by the user in TypeScript.\n\nI take TypeScript very seriously, hence I am going an extra step to provide duplicate implementations for event handling.\n\nHow to use events-as-options? The syntax is similar to the custom events one 👇\n\n```svelte\n<div\n  use:draggable={{\n    onDragStart: ({ offsetX, offsetY }) => {\n      // Do something\n    },\n    onDrag: ({ offsetX, offsetY }) => {\n      // Do something\n    },\n    onDragEnd: ({ offsetX, offsetY }) => {\n      // Do something\n    },\n\n  }}\n  class=\"box\"\n/>\n```\n\nUltimately, this gives everyone a choice. non-TypeScript users will prefer the `on:svelte-drag:*` method because it is more idiomatic, and TypeScript users can go with events-as-options way to get better TS experience\n\n> Note: Do not use same event in two different ways. I.E., having `on:svelte-drag:start` and `onDragStart` at once will have both fire at the time when dragging starts. Use only one at a time.\n\nIf you're a TypeScript user, read on below 👇\n\n# TypeScript\n\nThis library ships with proper TypeScript typings, for the best Developer Experience, whether authoring JS or TS.\n\n## Types Exported from package\n\nThis package exports these types you can use:\n\n```ts\nimport type { DragAxis, DragBounds, DragBoundsCoords, DragOptions } from 'svelte-drag';\n```\n\n`DragOptions` is the documented list of all options provided by the component.\n\n`DragAxis` is the type of `axis` option, and is equal to `'both' | 'x' | 'y' | 'none'`.\n\n`DragBounds` is `'parent' | string | Partial<DragBoundsCoords>`, the complete type of `bounds` option.\n\n`DragBoundsCoords` is when you're specifying the `bounds` field using an object, this is the type needed for that.\n\n```ts\nexport type DragBoundsCoords = {\n\t/** Number of pixels from left of the window */\n\tleft: number;\n\n\t/** Number of pixels from top of the window */\n\ttop: number;\n\n\t/** Number of pixels from the right side of window */\n\tright: number;\n\n\t/** Number of pixels from the bottom of the window */\n\tbottom: number;\n};\n```\n\n# Controlled vs Uncontrolled\n\nThis is taken straight from React's philosophy(After all, this package is inspired from [react-draggable](https://github.com/react-grid-layout/react-draggable)).\n\nUncontrolled means your app doesn't control the dragging of the app. Meaning, the user drags the element, it changes position, and you do something with that action. You yourself don't change position of the element or anything. This is the default behavior of this library.\n\nControlled means your app, using state variables, changes the position of the element, or in simple terms, programmatically drag the element. You basically set the `position` property to `{ x: 10, y: 50 }`(or any other numbers), and voila! yur now controlling the position of the element programmatically 🥳🥳\n\nOFC, this library doesn't go fully **Controlled**. The user can still drag it around even when `position` is set.\n\nSo, when you change `position`, the element position changes. However, when the element is dragged by user interaction, `position` is not changed. This is done intentionally, as two-way data binding here isn't possible and also will lead to unexpected behavior. To keep the `position` variable up to date, use the `on:svelte-drag` event to keep your state up to date to the draggable's internal state.\n\nTo have it be strictly **Controlled**, meaning it can only be moved programmatically, add the `disabled` option to your draggable element's config\n\n```svelte\n<div use:draggable={{ position: { x: 0, y: 10 }, disabled: true }} />\n```\n\nHere are a bunch of examples showing controlled behavior 👇\n\n1. [Changing with inputs](https://svelte.dev/repl/e1e707358b37467ba272891715878a1d?version=3.44.1)\n2. [Changing with Sliders](https://svelte.dev/repl/6b437a1cdbfc4c748520a72330c6395b?version=3.44.1)\n3. [Draggable only through external state, not user input](https://svelte.dev/repl/0eae169f272e41ba9c07ef222ed2bf66?version=3.44.1)\n4. [Comes back to original position after drag end](https://svelte.dev/repl/83d3aa8c5e154b7baf1a9c417c217d2e?version=3.44.1)\n5. [Comes back to original position with transition](https://svelte.dev/repl/bc84ed4ca22f45acbc28de3e33199883?version=3.44.1)\n\n# Why an action and not a component?\n\nIn case you're wondering why this library is an action, and not a component, the answer is simple: Actions usage is much much simpler and elegant than a component for this case could ever be.\n\nIf it were a component, its syntax would be like this 👇\n\n```svelte\n<Draggable axis=\"x\" grid={[50, 50]}>\n  <div>\n    Hello\n  </div>\n</Draggable>\n```\n\nThis is ok, but what if there are more than 2 elements at the top.\n\n```svelte\n<Draggable axis=\"x\" grid={[50, 50]}>\n  <div>\n    Hello\n  </div>\n\n  <div>\n    You shall not pass ~ Gandalf the wizard\n  </div>\n</Draggable>\n```\n\nThis poses a problem: How would I decide which of these to make a draggable? Ofc, I could wrap the `<slot />` in a `<div>`, apply event listeners on it, set it to `display: contents`, but it would add an extra DOM element, and sometimes, that alone can make a huge difference!\n\nSo to not add a wrapper myself, I would need to write here in docs to pass only one root element, and give an error when I detect multiple. or I'd need to enforce passing the ref of the element into the component using `bind:this`, like this 👇\n\n```svelte\n<script>\nlet ref;\n</script>\n\n<Draggable nodeRef={ref} axis=\"x\" grid={[50, 50]}>\n  <div bind:this={ref}>\n    Hello\n  </div>\n</Draggable>\n```\n\nYou'd have to bind the element ref which you want to make a draggable, and pass it to the component.\n\nThis is doable, but it adds an unnecessary amount of API layer, and the code isn't idiomatic and elegant, not to mention how much extra code I would have to add as the library author.\n\nNot to mention, it would require much more work to make it SSR compliant, which makes no sense, cuz the server isn't dragging elements around, so why need to SSR it in the first place ¯\\\\\\_(ツ)\\_/¯. I would have to add `browser` checks everywhere to make it work, which is less than ideal.\n\nOn the other hand, as an action, this gives ultimate control to both the user and me.\n\n```svelte\n<div use:draggable={{ axis: 'x', grid: [50, 50] }}>\n  Hello\n</div>\n```\n\nThis is extremely simple, elegant and expressive. By applying the action, you are specifying which element you want to be draggable, without any extra overhead. It just works!! And Actions aren't run in SSR, so your app will server render without errors caused from this library, and will spare me the gruelling task of adding browser checks everywhere!! It's a win win for everyone!! 🙂\n\n# Contributing\n\nFeel free to open an issue with a bug or feature request.\n\nIf you wish to make a PR fixing something, please open an issue about it first!\n\n## Help needed 🛑\n\nThis library lacks something very important: **Automated Tests!**\n\nI'll be straight about this: I don't know how to write tests. I've tried, but not been able to.\n\nSo I need your help. If you wish to contribute and can add tests here, it would be great for everyone using this! 🙂\n\nSpecifications here: [#7](https://github.com/PuruVJ/svelte-drag/issues/7)\n\n# License\n\nMIT License\n","_id":"svelte-drag@3.0.0-beta.1","_integrity":"sha512-rblLKHMjTkvZ9Vca8SLJRtMB1XfVXZX5F8iAaIivYmwM9yXo96SLmm+a8GayS5hcu1V9HpQxq8F/6xjZCbDXbw==","_resolved":"/Users/puruvijay/Projects/svelte-drag/dist/svelte-drag-3.0.0-beta.1.tgz","_from":"file:svelte-drag-3.0.0-beta.1.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-rblLKHMjTkvZ9Vca8SLJRtMB1XfVXZX5F8iAaIivYmwM9yXo96SLmm+a8GayS5hcu1V9HpQxq8F/6xjZCbDXbw==","shasum":"f76f4c50437df8f0235c23042d0dc30a278d45cb","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-3.0.0-beta.1.tgz","fileCount":5,"unpackedSize":76744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8PX5CRA9TVsSAnZWagAAAl0P/2NfJq3ZBKKft7DcwZXd\nceqf5n/QVr71akY++42b9jBnzUEs2xtbVwZy5J/W/jOH9dlgeiSi1hyZybb9\nZaeyW+J5sF4sQ05VJ8qCSUKyXUjNtFYoD0eXLlHN440VIjN8din0avqFnsrW\nApTHDmIvI5xW+nT/JjwLie/Nw44GizN5c04n4o8UZvQ42e28uUjvdXROvpWP\n3oUdBrT8F1Dv1OvQMXtaHacUr29M7WvcCjiK86xUownUcNscR5CZcRXGv1/i\nxncBsXDNyt8fM7pYfRPlpRrUfJcMmHrh9+hM7fVpW7l6tX9s4IhjJkIbn3vX\n8l2UtYNcLnqJOv0YFQQRaEteVzqOwNcDjPwu69+zZEoHsMx5PV7llbHfeMCe\n8ALVcM6D0HbarEwZFIp3nusZ1RqhpuXYnExF2UgdZrJ8lpPpxH/CUZinFx7H\n/6jkreGr4rxAFcPfa94SqcstyIl8gfZWW5Nn2UzxUanLMBt4tdjNhSv1TYRI\n+RaPUvZ81deAdSNPz+a2sHcnYTn/Cv99c5IhWnNVtp0/pWOSZh9//UquxyhT\nwEd5pUm+a5nISFNYMNsMy9iDwPMXKnxJ33f9gM3aKjPgzTKJuTheCWauvwUA\n8ZCnnvjaLifT7d2Fp52QjAvTbGGUhMMwMTjkzP+subfToh0PcCF4YAaHE2OL\nU+gy\r\n=cn41\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYcyCGRWCgHh9QIxgrJvn5WiAN7ft/Q8uD3mtk9mZ5ugIgWfGfA3ivHKvwsrTsWejwTA+LudvN7hg+tVVUvLlDUfQ="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_3.0.0-beta.1_1643181561091_0.6683401508555296"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"3.0.0":{"name":"svelte-drag","version":"3.0.0","description":"Svelte Action to add dragging to your apps 😉","main":"index.js","module":"index.js","type":"module","types":"index.d.ts","sideEffects":false,"exports":{".":{"import":"./index.js","module":"./index.js"},"./package.json":"./package.json"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","_id":"svelte-drag@3.0.0","_integrity":"sha512-+JsMc6tJ7roz7pR46Z01otGMCp2hIrKzerj0wLPaA6fb5k1Oqxu60nIhO7iIChRAnzSgs1q6Fp3cDpB7wYczxw==","_resolved":"/Users/puruvijay/Projects/svelte-drag/dist/svelte-drag-3.0.0.tgz","_from":"file:svelte-drag-3.0.0.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-+JsMc6tJ7roz7pR46Z01otGMCp2hIrKzerj0wLPaA6fb5k1Oqxu60nIhO7iIChRAnzSgs1q6Fp3cDpB7wYczxw==","shasum":"33a1eeedd435a53a8fe16a9285de1063f0badcf2","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-3.0.0.tgz","fileCount":5,"unpackedSize":76737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8PxoCRA9TVsSAnZWagAAv1cP/0CKWpO3YIKNeMFOBv3j\nLMKjEs4vFflIMK6s2wg64Yn6+GkJQSlwUVk/pggWl3x9X6iiN+DrnxV6paBf\niKT45RT6vaSLYsMQOuvKd1eMRgJzqwF8OQexIHHlK4SRnApyRRqAnpG/7pYL\n/h7Ig4cSkxAGvwh97RaXR6m+9wS8ETQ0/EMJ5MZUH+Gt+adDSF1borKUAqEm\n7J12rQX7W52VnDrn55Fwwj7jBXFcNmtMXTg7Rf7iQs0Ovi1u4CMK3AFgMSzF\nHvZIujWgpPY7P9MvMD87wLH5DmZP8UgddIGaeUdQpvePsBhm/o7BJxm1D25p\nYz8yvbAz2kMcZdYORiSsyJXzD/szUOxVLRmIjuFzQoVSBbofgPLROLvLrTSI\nbV73fRrcRqJ5z0Mm30FI19O5GU2hLiFIWpewBJpyvADejrwokwiaVQeUQzRJ\nhp1nZtV6OKmGAoXzV74+6OHV+4bJmijag8D1y3QrV1iWkiSerJBAT/WXEXHD\ng9UmZqSSmCqTFFLUxTz1JhlwPeSWYyrN6kZUSJfeWbViZPlOJqYsmDqNFmbw\n3NPWXARfa1SWzTAMeRFkmHdIotDidtdPyrvpAFhDExT7ZkXd9il4h90/w8br\nuRtC/j1OTgpe3hyYcX6wdy2vukLecTSzWeYh+DkVgHNiq9OEyDpc2t2Fv4KC\njJZW\r\n=muTf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHcHERsHO+QTPG+D1kH5wZzDrLbvcpz9v07Lbm2zgK3gIgeMpLHzTADtNEe3lfLl5or5TLF9zS5aHbpxBnkRHu/pM="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_3.0.0_1643183208518_0.8534234451744989"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"3.0.1":{"name":"svelte-drag","version":"3.0.1","description":"Svelte Action to add dragging to your apps 😉","main":"index.js","module":"index.js","type":"module","types":"index.d.ts","sideEffects":false,"exports":{".":{"import":"./index.js","module":"./index.js"},"./package.json":"./package.json"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","_id":"svelte-drag@3.0.1","_integrity":"sha512-YrCptO9EHkI/T0yZCuKVlkeOaa4ZWeB7K5LW4WgJYXhGdHbTEQp2zNs4aWAdm53BGSv/uc5Rcmp+UqM2VcMcgQ==","_resolved":"/Users/puruvijay/Projects/svelte-drag/dist/svelte-drag-3.0.1.tgz","_from":"file:svelte-drag-3.0.1.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-YrCptO9EHkI/T0yZCuKVlkeOaa4ZWeB7K5LW4WgJYXhGdHbTEQp2zNs4aWAdm53BGSv/uc5Rcmp+UqM2VcMcgQ==","shasum":"f8c0d8361a3eeb33001554cd43d6b2ad35af5ad4","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-3.0.1.tgz","fileCount":5,"unpackedSize":76741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8P9XCRA9TVsSAnZWagAAsHMP/RRiNIBYWxToDKwl9z5h\nLBFyfsPK6TB+N2xnPUts3rWLb9dNKeCAia8irRUvgL61g871qam7w7zAD6cZ\n18bEROp8lQtFhlbbPPLF9jAiOAi0d42ywLwzgBKdumbLrsXJDD7+ZfHU7m4t\nPk1bKhcwpO6jFqb7NwwvMs+B1yPxMeJxFRj1Kju/qt96RgF89yaLvwVDXdYi\nyRuWHPXdPSBoj2kJpsWZt0Umi2fm1jSMcOk/2iUhPyBQdAQf0//PjXKKhTnz\nyWq1Hs2FyKIdqAnKNE+BKwqZaJ8qhOPKx9OOTNEFT8nT9T3STcM9GbaSd8lj\nFhdE9pZcWOkNkDq1PENu43BlZ+5lLVTFJfQMEqpRtuZoUXmchLACK8DrRTQi\ndPxgGTEEL8LopGThc3lxqAaGRMEVLMZU7pgfkrG3IIv+KQprGF7ZsNfIfNrc\nqXoszsdT43Oh/U4yPt5GBWLOVudk9Fm65T6tKdzp0+Gt4iRRNIhhFzFa5Kjj\nrjJBarthvmGI0YYaYbj0pDmy6U/jv1ibF/0QaGAtZ+cEtEiPTGnRGN0FDlkE\nTlnVhcA8Li7mzMUKdzzvCjwWtjlo9joBd1dnGs2evH04JHBbl5XRVlY34qOt\n4l030ka1si1PKUOxsZjN6NTVhuVudNSGpVU+7KXSUlfohRjrTlrodfUXEAX0\nSHPU\r\n=XThX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGQY9e1RdJAuJnm7VzmcMCH1i/7wb0FgrwVUB6A8cy0qAiEAy5Kk2SpBn82nIGZjRtiyHAYtG77us2hS5LDysNuGKXA="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_3.0.1_1643183958994_0.7597584859705202"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"},"3.1.0":{"name":"svelte-drag","version":"3.1.0","description":"Svelte Action to add dragging to your apps 😉","main":"index.js","module":"index.js","type":"module","types":"index.d.ts","sideEffects":false,"exports":{".":{"import":"./index.js","module":"./index.js"},"./package.json":"./package.json"},"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"author":"Puru Vijay","license":"MIT","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"homepage":"https://github.com/PuruVJ/svelte-drag#readme","_id":"svelte-drag@3.1.0","_integrity":"sha512-l3XwToVhHcVultoPhDMr+Z7EmORl0Jac2IX0cAwFmr/SKfZ952xQP/WSS7/Kdu4Nn49mdskViMhsw3zh4RoBRw==","_resolved":"/Users/puruvijay/Projects/svelte-drag/dist/svelte-drag-3.1.0.tgz","_from":"file:svelte-drag-3.1.0.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-l3XwToVhHcVultoPhDMr+Z7EmORl0Jac2IX0cAwFmr/SKfZ952xQP/WSS7/Kdu4Nn49mdskViMhsw3zh4RoBRw==","shasum":"ef542f4232ec00c60c80b16f6a9419726e27de60","tarball":"https://registry.npmjs.org/svelte-drag/-/svelte-drag-3.1.0.tgz","fileCount":5,"unpackedSize":77848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8QiwCRA9TVsSAnZWagAA5TgP/2BfSpVrPiM4qWIBRYR+\nGWxvneqUVYQYKKoo5bto5bcy0od/OYgg2AwTXvBlQahyCeZBneClcs/PNswf\n8NA1/PjBifMAErb0trPceerCr9sYl1SA0hyPUTLwoK2fYcjkjz2Ey3p0RDiR\n/kO+xrCrQ+G2ZyMX47j1ig967g7j4VuCJTqcTJZNngCScSVd8ge9wOkhJ9Xm\n/Gkz3KayZT53/V0J8v34OGXNaRqmy6u2xv7BQEZE/Gl+QICAX1mo4Mlc8juC\nZXJ9XigVprkuKE5lwqulfq40YIgoVgwYKIIqWWICKs9T7S2bE9NfzMentaRh\ngZgpfIfzBAk981REXSocLnrU9SOTTz2eJCEhvKryMsqv5//8puNVwA6oe+kh\nyI3ceZtcsIpBs62Qk8r/ezQsZtKDUdnXH4nkS42EbWwd4cN1Pv57w6nBY3yP\nsrjbTB3Lr2mLY2TrJVbojplXNeEJHK6ZlYVcTQDXqCW2lN+/WW5BU72CrMCR\nfmBmVoLGwcI4joYyV+714fzEz0PjKdwJAlLUm5eL+BSss4xXUT0Q8WxBYcGG\ntxImtysiFymKhZZzxCg3TCWfHlX1S7ASCeTCKC6Lwvaf1MIRxdMPLMGBl8Cc\nALRkYeV68n8n6KA//p4W0x6cm9W+fT2D1SpZWo5M/+s3T5xveHcOhcA1TYPy\nkj42\r\n=6TLy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEAPoyTXjNcf5KW/3mXf37590Dj7kWj68LdYlZ4Tom+oAiBw7NTvpgsuOytORJn5HExp3gVVT/6rthuGL5hUz9pqOw=="}]},"_npmUser":{"name":"puruvj","email":"awesomepuruvj@gmail.com"},"directories":{},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-drag_3.1.0_1643186352369_0.7613682469382956"},"_hasShrinkwrap":false,"deprecated":"Instead use @neodrag/svelte"}},"time":{"created":"2021-07-19T09:50:28.252Z","0.0.3":"2021-07-19T09:50:28.462Z","modified":"2022-05-19T02:43:16.803Z","0.0.4":"2021-07-19T14:00:00.428Z","0.0.5":"2021-07-19T15:39:22.468Z","0.0.6":"2021-07-19T15:49:31.457Z","0.0.7":"2021-07-19T15:58:43.938Z","0.0.8":"2021-07-19T16:10:30.690Z","0.0.9":"2021-07-19T16:21:51.708Z","0.0.10":"2021-07-19T16:50:40.092Z","0.1.0":"2021-07-19T18:17:16.717Z","0.1.1":"2021-07-19T18:35:18.476Z","0.1.2":"2021-07-19T18:37:21.209Z","1.0.0":"2021-07-20T12:52:14.836Z","1.0.1":"2021-07-20T13:46:28.725Z","1.0.2":"2021-07-20T13:56:46.203Z","1.0.3":"2021-07-20T14:06:58.302Z","1.1.0":"2021-07-20T17:18:30.362Z","1.1.1":"2021-07-20T17:33:37.271Z","1.1.2":"2021-07-20T17:50:25.829Z","1.2.0":"2021-07-21T04:54:00.719Z","1.2.1":"2021-07-21T05:00:48.342Z","1.2.2":"2021-07-21T05:02:39.324Z","1.2.3":"2021-07-21T05:05:11.626Z","1.3.0":"2021-07-23T05:56:25.340Z","1.3.1":"2021-07-23T05:57:45.241Z","1.4.0":"2021-09-28T03:10:39.116Z","1.5.0":"2021-10-10T08:56:20.760Z","1.5.1":"2021-10-11T06:17:15.543Z","2.0.0":"2021-10-12T03:27:32.939Z","2.0.1":"2021-10-16T16:20:18.784Z","2.0.2":"2021-10-26T19:45:05.116Z","2.0.3":"2021-11-10T04:40:19.480Z","2.0.4":"2021-11-10T06:36:07.739Z","2.1.0-beta.0":"2021-11-10T10:31:30.527Z","2.1.0-beta.1":"2021-11-10T11:05:08.568Z","2.1.0":"2021-11-12T06:17:53.182Z","2.1.1":"2021-11-12T11:40:48.451Z","2.2.0":"2021-11-12T19:22:57.670Z","2.2.1":"2021-11-12T19:28:11.545Z","2.3.0":"2021-11-25T11:51:02.965Z","2.3.1":"2021-11-25T16:13:51.060Z","2.3.2":"2021-11-26T06:50:01.946Z","2.4.0":"2021-12-14T15:29:29.112Z","2.4.1-beta.0":"2022-01-25T07:15:20.203Z","2.4.1":"2022-01-26T05:20:32.020Z","2.5.0":"2022-01-26T06:51:17.959Z","3.0.0-beta.0":"2022-01-26T07:13:39.383Z","3.0.0-beta.1":"2022-01-26T07:19:21.499Z","3.0.0":"2022-01-26T07:46:48.637Z","3.0.1":"2022-01-26T07:59:19.211Z","3.1.0":"2022-01-26T08:39:12.499Z"},"maintainers":[{"name":"puruvj","email":"awesomepuruvj@gmail.com"}],"description":"Svelte Action to add dragging to your apps 😉","homepage":"https://github.com/PuruVJ/svelte-drag#readme","keywords":["draggable","svelte","react-draggable","drag","svelte","small","tiny","performant"],"repository":{"type":"git","url":"git+https://github.com/PuruVJ/svelte-drag.git"},"author":"Puru Vijay","bugs":{"url":"https://github.com/PuruVJ/svelte-drag/issues"},"license":"MIT","readme":"# svelte-drag\n\nA lightweight Svelte Action to make your elements draggable.\n\nInspired from the amazing [react-draggable](https://github.com/react-grid-layout/react-draggable) library, and implements the same API.\n\n# Features\n\n- 🤏 Tiny - Only [2.2KB](https://bundlephobia.com/package/svelte-drag) min+gzip.\n- 🐇 Simple - Quite simple to use, and effectively no-config required!\n- 🧙‍♀️ Elegant - Svelte Action, to keep the usage simple, elegant and expressive.\n- 🗃️ Highly customizable - Offers tons of options that you can modify to get different behavior.\n- ⚛️ Reactive - Change options passed to it on the fly, it will **just work 🙂**\n\n[Try it in Svelte REPL](https://svelte.dev/repl/fc972f90450c4945b6f2481d13eafa00?version=3.38.3)\n\n# Installing\n\n```bash\npnpm add svelte-drag\n\n# npm\nnpm install svelte-drag\n\n# yarn\nyarn add svelte-drag\n```\n\n# Usage\n\nBasic usage\n\n```svelte\n<script>\n  import { draggable } from 'svelte-drag';\n</script>\n\n<div use:draggable>Hello</div>\n```\n\nWith options\n\n```svelte\n<script>\n  import { draggable } from 'svelte-drag';\n</script>\n\n<div use:draggable={{ axis: 'x', grid: [10, 10] }}>Hello</div>\n```\n\nDefining options elsewhere with typescript\n\n```svelte\n<script lang=\"ts\">\n  import { draggable } from 'svelte-drag';\n  import type { DragOptions } from 'svelte-drag';\n\n  let options: DragOptions = {\n    axis: 'y',\n    bounds: 'parent',\n  };\n</script>\n\n<div use:draggable={options}>Hello</div>\n```\n\n# Options\n\nThere are tons of options available for this package. All of them are already documented within the code itself, so you'll never have to leave the code editor.\n\n## axis\n\n**type**: `'both' | 'x' | 'y' | 'none'`\n\n**Default Value**: `'both'`\n\nAxis on which the element can be dragged on. Valid values: `both`, `x`, `y`, `none`.\n\n- `both` - Element can move in any direction\n- `x` - Only horizontal movement possible\n- `y` - Only vertical movement possible\n- `none` - No movement at all\n\n**Examples**:\n\n```svelte\n<!-- Drag only in x direction -->\n<div use:draggable={{ axis: 'x' }}>Text</div>\n```\n\nDynamically change `axis` using radio buttons.\n\n```svelte\n<script>\nlet axis;\n</script>\n\n<div>\n  Axis:\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"both\" />\n    Both\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"x\" />\n    x\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"y\" />\n    y\n  </label>\n  <label>\n    <input type=\"radio\" bind:group={axis} value=\"none\" />\n    none\n  </label>\n</div>\n\n<!-- Dynamically change axis -->\n<div use:draggable={{ axis }}>Text</div>\n```\n\n## bounds\n\n**type**: `HTMLElement | 'parent' | string | { top?: number; right?: number; bottom?: number; left?: number }`\n\n**Default Value**: `undefined`\n\nOptionally limit the drag area\n\n`parent`: Limit to parent\n\nOr, you can specify any selector and it will be bound to that.\n\n**Note**: This library doesn't check whether the selector is bigger than the node element.\nYou yourself will have to make sure of that, or it may lead to unexpected behavior.\n\nOr, finally, you can pass an object of type `{ top: number; right: number; bottom: number; left: number }`.\nThese mimic the css `top`, `right`, `bottom` and `left`, in the sense that `bottom` starts from the bottom of the window, and `right` from right of window.\nIf any of these properties are unspecified, they are assumed to be `0`.\n\n**Examples**:\n\nBound to any element\n\n```svelte\n<div use:draggable={{ bounds: document.querySelector('.some-element') }}>Hello</div>\n```\n\nBound to parent\n\n```svelte\n<div use:draggable={{ bounds: 'parent' }}>Hello</div>\n```\n\nBound to body\n\n```svelte\n<div use:draggable={{ bounds: 'body' }}>Hello</div>\n```\n\nBound to an ancestor selector somewhere in page\n\n```svelte\n<div use:draggable={{ bounds: '.way-up-in-the-dom' }}>Hello</div>\n```\n\nManually through coordinates. Empty object means bound to the `window`.\n\n**NOTE**: It isn't strictly empty object. If you omit any property from this object, it will be assumed as `0`.\n\n```svelte\n<div use:draggable={{ bounds: {} }}>Hello</div>\n```\n\nBound only to top and bottom, and unbounded horizontally in practice by setting bounds way beyond the screen.\n\n```svelte\n<div use:draggable={{ bounds: { top: 0, bottom: 0, left: -1000, right: -1000 } }}>Hello</div>\n```\n\n## gpuAcceleration\n\n**type**: `boolean`\n\n**Default value**: `true`\n\nIf true, uses `translate3d` instead of `translate` to move the element around, and the hardware acceleration kicks in.\n\n`true` by default, but can be set to `false` if [blurry text issue](https://developpaper.com/question/why-does-the-use-of-css3-translate3d-result-in-blurred-display/) occurs.\n\nExample 👇\n\n```svelte\n<div use:draggable={{ gpuAcceleration: false }}>Hello</div>\n```\n\n## applyUserSelectHack\n\n**type**: `boolean`\n\n**Default value**: `true`\n\nApplies `user-select: none` on `<body />` element when dragging, to prevent the irritating effect where dragging doesn't happen and the text is selected. Applied when dragging starts and removed when it stops.\n\n## ignoreMultitouch\n\n**type**: `boolean`\n\n**Default value**: `false`\n\nIgnores touch events with more than 1 touch.\nThis helps when you have multiple elements on a canvas where you want to implement pinch-to-zoom behaviour.\n\n```svelte\n<!-- Ignore Multitouch -->\n<div use:draggable={{ ignoreMultitouch: true }}>Text</div>\n```\n\n## disabled\n\n**type**: `boolean`\n\n**Default Value**: `undefined`\n\nDisables dragging.\n\n## grid\n\n**type**: `[number, number]`\n\n**Default value**: `undefined`\n\nApplies a grid on the page to which the element snaps to when dragging, rather than the default continuous grid.\n\n`Note`: If you're programmatically creating the grid, do not set it to [0, 0] ever, that will stop drag at all. Set it to `undefined` to make it continuous once again.\n\n## position\n\n**type**: `{ x: number; y: number }`\n\n**Default Value**: `undefined`\n\nControls the position of the element programmatically. Fully reactive.\n\nRead more below in the **Controlled vs Uncontrolled** section.\n\n## cancel\n\n**type**: `string | HTMLElement`\n\n**Default value**: `undefined`\n\nCSS Selector of an element inside the parent node(on which `use:draggable` is applied). If it is provided, Trying to drag inside the `cancel` selector will prevent dragging.\n\n```svelte\n<div use:draggable={{ cancel: '.cancel' }}>\n  This will drag!\n  <div class=\"cancel\">You shall not drag!!🧙‍♂️</div>\n</div>\n```\n\n## handle\n\n**type**: `string | HTMLElement`\n\n**Default Value**: `undefined`\n\nCSS Selector of an element inside the parent node(on which `use:draggable` is applied). If it is provided, Only clicking and dragging on this element will allow the parent to drag, anywhere else on the parent won't work.\n\n```svelte\n<div use:draggable={{ handle: '.handle' }}>\n  You shall not drag!!🧙‍♂️\n  <div class=\"handle\">This will drag 😁</div>\n</div>\n```\n\n```svelte\n<div use:draggable={{ handle }}>\n  You shall not drag!!🧙‍♂️\n  <div class=\"handle\" bind:this={handle}>This will drag 😁</div>\n</div>\n```\n\n## defaultClass\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable'`\n\nClass to apply on the element on which `use:draggable` is applied. <br/><br/> Note that if `handle` is provided, it will still apply class on the parent element, **NOT** the handle\n\n## defaultClassDragging\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable-dragging'`\n\nClass to apply on the parent element when it is dragging\n\n## defaultClassDragged\n\n**type**: `string`\n\n**Default Value**: `'svelte-draggable-dragged'`\n\nClass to apply on the parent element if it has been dragged at least once.\n\n## defaultPosition\n\n**type**: `{ x: number; y: number }`\n\n**Default Value**: `{ x: 0, y: 0 }`\n\nOffsets your element to the position you specify in the very beginning. `x` and `y` should be in pixels\n\n## onDragStart\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging start.\n\n## onDrag\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging is going on.\n\n## onDragEnd\n\n**type**: `(data: { offsetX: number; offsetY: number }) => void`\n\n**Default Value**: `undefined`\n\nFires when dragging ends.\n\n# Events\n\n`svelte-drag` emits 3 events, `on:svelte-drag`, `on:svelte-drag:start` & `on:svelte-drag:end`. These are all custom events, and can be listened on the node the `use:draggable` is applied to\n\nExample:\n\n```svelte\n<div\n  use:draggable\n  on:svelte-drag:start={(e) => console.log('Dragging started', e)}\n  on:svelte-drag={(e) => console.log(e.detail)}\n  on:svelte-drag:end={(e) => console.log('Dragging stopped', e)}\n>\n  Hello\n</div>\n```\n\nEvent signatures:\n\n`on:svelte-drag:start`: `(e: CustomEvent<{ offsetX: number; offsetY: number; domRect: DOMRect }>) => void`. Provides the initial offset when dragging starts, on the `e.detail` object.\n\n`on:svelte-drag:`: `(e: CustomEvent<{ offsetX: number; offsetY: number; domRect: DOMRect }>`. Provides how far the element has been dragged from it's original position in `x` and `y` coordinates on the `event.detail` object\n\n`on:svelte-drag:end`: `(e: CustomEvent<{ offsetX: number; offsetY: number; domRect: DOMRect }>) => void`. No internal state provided to `event.detail`. Provides the final offset when dragging ends, on the `e.detail` object.\n\n### Alternative\n\nIf you scroll up, you'll see 3 options, `onDragStart`, `onDrag` and `onDragEnd`. These are basically event handlers that you specify as methods of the options object.\n\nWhy have two ways to listen to events? Because at the time of writing, the Svelte extension for VSCode doesn't work fully well with custom events when using TypeScript, even after they're explicitly typed by the user in TypeScript.\n\nI take TypeScript very seriously, hence I am going an extra step to provide duplicate implementations for event handling.\n\nHow to use events-as-options? The syntax is similar to the custom events one 👇\n\n```svelte\n<div\n  use:draggable={{\n    onDragStart: ({ offsetX, offsetY, domRect }) => {\n      // Do something\n    },\n    onDrag: ({ offsetX, offsetY, domRect }) => {\n      // Do something\n    },\n    onDragEnd: ({ offsetX, offsetY, domRect }) => {\n      // Do something\n    },\n\n  }}\n  class=\"box\"\n/>\n```\n\nUltimately, this gives everyone a choice. non-TypeScript users will prefer the `on:svelte-drag:*` method because it is more idiomatic, and TypeScript users can go with events-as-options way to get better TS experience\n\n> Note: Do not use same event in two different ways. I.E., having `on:svelte-drag:start` and `onDragStart` at once will have both fire at the time when dragging starts. Use only one at a time.\n\nIf you're a TypeScript user, read on below 👇\n\n# TypeScript\n\nThis library ships with proper TypeScript typings, for the best Developer Experience, whether authoring JS or TS.\n\n## Types Exported from package\n\nThis package exports these types you can use:\n\n```ts\nimport type { DragAxis, DragBounds, DragBoundsCoords, DragOptions } from 'svelte-drag';\n```\n\n`DragOptions` is the documented list of all options provided by the component.\n\n`DragAxis` is the type of `axis` option, and is equal to `'both' | 'x' | 'y' | 'none'`.\n\n`DragBounds` is `'parent' | string | Partial<DragBoundsCoords>`, the complete type of `bounds` option.\n\n`DragBoundsCoords` is when you're specifying the `bounds` field using an object, this is the type needed for that.\n\n```ts\nexport type DragBoundsCoords = {\n\t/** Number of pixels from left of the window */\n\tleft: number;\n\n\t/** Number of pixels from top of the window */\n\ttop: number;\n\n\t/** Number of pixels from the right side of window */\n\tright: number;\n\n\t/** Number of pixels from the bottom of the window */\n\tbottom: number;\n};\n```\n\n# Controlled vs Uncontrolled\n\nThis is taken straight from React's philosophy(After all, this package is inspired from [react-draggable](https://github.com/react-grid-layout/react-draggable)).\n\nUncontrolled means your app doesn't control the dragging of the app. Meaning, the user drags the element, it changes position, and you do something with that action. You yourself don't change position of the element or anything. This is the default behavior of this library.\n\nControlled means your app, using state variables, changes the position of the element, or in simple terms, programmatically drag the element. You basically set the `position` property to `{ x: 10, y: 50 }`(or any other numbers), and voila! yur now controlling the position of the element programmatically 🥳🥳\n\nOFC, this library doesn't go fully **Controlled**. The user can still drag it around even when `position` is set.\n\nSo, when you change `position`, the element position changes. However, when the element is dragged by user interaction, `position` is not changed. This is done intentionally, as two-way data binding here isn't possible and also will lead to unexpected behavior. To keep the `position` variable up to date, use the `on:svelte-drag` event to keep your state up to date to the draggable's internal state.\n\nTo have it be strictly **Controlled**, meaning it can only be moved programmatically, add the `disabled` option to your draggable element's config\n\n```svelte\n<div use:draggable={{ position: { x: 0, y: 10 }, disabled: true }} />\n```\n\nHere are a bunch of examples showing controlled behavior 👇\n\n1. [Changing with inputs](https://svelte.dev/repl/e1e707358b37467ba272891715878a1d?version=3.44.1)\n2. [Changing with Sliders](https://svelte.dev/repl/6b437a1cdbfc4c748520a72330c6395b?version=3.44.1)\n3. [Draggable only through external state, not user input](https://svelte.dev/repl/0eae169f272e41ba9c07ef222ed2bf66?version=3.44.1)\n4. [Comes back to original position after drag end](https://svelte.dev/repl/83d3aa8c5e154b7baf1a9c417c217d2e?version=3.44.1)\n5. [Comes back to original position with transition](https://svelte.dev/repl/bc84ed4ca22f45acbc28de3e33199883?version=3.44.1)\n\n# Why an action and not a component?\n\nIn case you're wondering why this library is an action, and not a component, the answer is simple: Actions usage is much much simpler and elegant than a component for this case could ever be.\n\nIf it were a component, its syntax would be like this 👇\n\n```svelte\n<Draggable axis=\"x\" grid={[50, 50]}>\n  <div>\n    Hello\n  </div>\n</Draggable>\n```\n\nThis is ok, but what if there are more than 2 elements at the top.\n\n```svelte\n<Draggable axis=\"x\" grid={[50, 50]}>\n  <div>\n    Hello\n  </div>\n\n  <div>\n    You shall not pass ~ Gandalf the wizard\n  </div>\n</Draggable>\n```\n\nThis poses a problem: How would I decide which of these to make a draggable? Ofc, I could wrap the `<slot />` in a `<div>`, apply event listeners on it, set it to `display: contents`, but it would add an extra DOM element, and sometimes, that alone can make a huge difference!\n\nSo to not add a wrapper myself, I would need to write here in docs to pass only one root element, and give an error when I detect multiple. or I'd need to enforce passing the ref of the element into the component using `bind:this`, like this 👇\n\n```svelte\n<script>\nlet ref;\n</script>\n\n<Draggable nodeRef={ref} axis=\"x\" grid={[50, 50]}>\n  <div bind:this={ref}>\n    Hello\n  </div>\n</Draggable>\n```\n\nYou'd have to bind the element ref which you want to make a draggable, and pass it to the component.\n\nThis is doable, but it adds an unnecessary amount of API layer, and the code isn't idiomatic and elegant, not to mention how much extra code I would have to add as the library author.\n\nNot to mention, it would require much more work to make it SSR compliant, which makes no sense, cuz the server isn't dragging elements around, so why need to SSR it in the first place ¯\\\\\\_(ツ)\\_/¯. I would have to add `browser` checks everywhere to make it work, which is less than ideal.\n\nOn the other hand, as an action, this gives ultimate control to both the user and me.\n\n```svelte\n<div use:draggable={{ axis: 'x', grid: [50, 50] }}>\n  Hello\n</div>\n```\n\nThis is extremely simple, elegant and expressive. By applying the action, you are specifying which element you want to be draggable, without any extra overhead. It just works!! And Actions aren't run in SSR, so your app will server render without errors caused from this library, and will spare me the gruelling task of adding browser checks everywhere!! It's a win win for everyone!! 🙂\n\n# Contributing\n\nFeel free to open an issue with a bug or feature request.\n\nIf you wish to make a PR fixing something, please open an issue about it first!\n\n## Help needed 🛑\n\nThis library lacks something very important: **Automated Tests!**\n\nI'll be straight about this: I don't know how to write tests. I've tried, but not been able to.\n\nSo I need your help. If you wish to contribute and can add tests here, it would be great for everyone using this! 🙂\n\nSpecifications here: [#7](https://github.com/PuruVJ/svelte-drag/issues/7)\n\n# License\n\nMIT License\n","readmeFilename":"","users":{"maxdevjs":true}}