{"_id":"@ashthornton/asscroll","_rev":"81-068692950a85916096ebd49c250fc755","name":"@ashthornton/asscroll","dist-tags":{"latest":"2.0.11","beta":"2.0.0-beta.10"},"versions":{"1.0.0":{"name":"@ashthornton/asscroll","version":"1.0.0","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","vue-template-compiler":"^2.6.11"},"gitHead":"be8827ff62fb061838ead297cbf24dd461e6c62c","_id":"@ashthornton/asscroll@1.0.0","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-9DQ+JUWw8TQq/4pvetnXrvEYH/aWvW1DDU4xUajJDd3Lbcnz0vKKaFfr3h8N3mmIG0np4g+V9Oeh4gcEdgKutA==","shasum":"f3a37f2e9c53d6b11347da4301154dde1c45ff89","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.0.0.tgz","fileCount":14,"unpackedSize":487624,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJgQMCRA9TVsSAnZWagAApOQQAISyFBu9FFJCIt6ZhjTT\nDXyRJW+mV1AZc7xpCW8LvLVmFIjk2DIbw5/cCgPdMbXVGxiWNXRAIWrZArbK\n/nWYwoAboTqtZHWomoPBGKmlCBhDnswIbtCjmmAaHwE253E4PEax7FXKpOKt\nNpUN8Q5qqNLwedoE0xJmD4cwoNeH8d2MsYosJUoAa5Era8GHJoo7M/AVTbz+\nBITRTaISiF/T8xcFcNW72bkRxxocnhn3fz/ldjTwkQCOt1xtPnl7TPF2cGzr\n9Pmeq5w+gPol9SYsHAM/ZWcuxgPOCw8mWF80qdi1GjyvTJgRsGbBzoMeOmE1\nDn2dDXfv9BauYTMaAFngd5putWKPyZK21rfOuQcQOeC5KD/yCWgULyd3LYj9\nXVetJRlEFrwjDmHNRMauSZZwBMDFw11wZn8PgDxUYl5ZVUiYK/cp1plVHEog\neYYEC6C8/EyGfSVzs4RcdQfE22oinrPiX2/DeJHWCEGJ4jdHH5ujDBbCnVz8\nWTxutVnTITZ05xK5QOrpWYI9kiByqpglj9wgLRnfoKSZ/HUb+wdxtTeRwGL/\nD7qgCKWHO3vEoLh/sjTg6y6rhpYLrO+Iau91DCCD/8P+m9B10mT2oYq5HWTP\npRR8vOzltKRuXe029ovj7wRP9dUHGivLn1L0Fo3Hl4jLk9MN0JVjojhkdNWJ\nAEjh\r\n=4zMj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAJzD1SDDkTB/ng6vwf5Q3Q1qMYRjK0vQzuMWpoqkPEFAiAClCLQu6PgAsaNrc/BX3QEJKMYUSjJSp7yFMWm4iJZQQ=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.0.0_1579549708111_0.7548758697366484"},"_hasShrinkwrap":false},"1.0.1":{"name":"@ashthornton/asscroll","version":"1.0.1","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","vue-template-compiler":"^2.6.11"},"gitHead":"89eb6f84e234276c52004af8fb190fbc1f411fac","_id":"@ashthornton/asscroll@1.0.1","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-CwZIRvf00ysy1pjFwdonmeg5s9jUimSVxe+fOkaSF6ZBT+/U6xa+WGf9GVoP3bZj4QWg+aXMTaJjEzrbS07U+g==","shasum":"cd0c4423b27b3d17183bdc9fa793e18a303dd628","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.0.1.tgz","fileCount":14,"unpackedSize":487634,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJga4CRA9TVsSAnZWagAAuoQP/3D6sC+wCwJp1UWyM4qy\nM8lyxKsl8D8YSTsUG33Mb2vnnRxkhXYMA3nKeH9LPgTPK7olbkjIWEDvKnqU\nVQlvr4k/d6A4vrdOd8VNBiZ+Sfi2k+CxHDgzLNwGzaT5Ls4pZo+SJBr1rdv1\nZUnah526Us2ZAHbaOzqhMfzWH0GlXB/PP7qA5kjv29bSC5+rmCZqXwM+5NIQ\nOGnHdk9EgCkDLI4uCn4xLIlwjiY1jgSHcMwjVZJgJvLAAP9IiQyNF9noTqmD\ncqtuEGDscv/++fGdcsF0qQ41xc99ttcNM+zWbdbQL13vKVd1unfZ8PPk0dLX\n1fViIbOzQLSorjZfIAojX6nYRm9I7qSFBL53shCYiWhRTEis0MSnJhDDqvWK\n9YTCe0xp2pC9WqCwxYRPQOLEmikR/8QtnJi2ZFwOePtUDtRbZ8vD/QXE7VLJ\nmtQ6ejI4qk2vPibCIN8+pJMpq8RK9u0HjgSfrDaU7Cx37h+Wth8mgrSx4Fz2\nEZJGRjxt/bogOkVD9h6xkif5Bu+yWDh+vgR3Aobb6aVTyJM4XoJjgShgItjE\n5PZeug3+2O4h8s1YgeHKLDSvs2EDjZkrZbeXRDieltt9G6EITOQY1oix+d5r\nqE8JJKiromGWXABhmWO1m1EiIJGfYyKoq0kk+vCfkDjeztA+idL+ZrtqmlZL\nWgjv\r\n=vmXp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdZIemvjYDykrYyKGWinm2lReBSfUnp5RZBNFWrraDlwIgNVJ13ZK+ef40pZYJm10/y9KCL0Oe9RwNNshRbAEWtH0="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.0.1_1579550391557_0.19114535219541295"},"_hasShrinkwrap":false},"1.0.2":{"name":"@ashthornton/asscroll","version":"1.0.2","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","vue-template-compiler":"^2.6.11"},"gitHead":"2a5313a027c70b1d8391d7347f6cde4fbd27a98d","_id":"@ashthornton/asscroll@1.0.2","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-G8rkWXVtWCPMY4wdTYciGMML7KX0+a8KHRu9tQ8RznshDgCUsqNZIZbpILPx/S6hlVTRsL7BEQO67BWn0ehgjw==","shasum":"1ab6c2c12064d166fce3de9e8997a1fe489bab57","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.0.2.tgz","fileCount":14,"unpackedSize":487759,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJiU2CRA9TVsSAnZWagAAMIoQAIiV0UHD2OktosHubcvN\ndawImx3PpRUiGvGIP15gg8e9m3Kl52YvVghMGjwoJGzGnlNJVxkJ/AdGZNK0\njRe4fA5sAEOdkPe4+SxvOdhaV78Y4gUfYuGgNIM/4NlDgI17+OtUXfn+whf3\nPgbV+NncC6rlmQWWwan+fLWB4l2BpPHfjnkYILOQGYOCik3zTcJ6trVqPNvc\n/0AmV9qiQRGmTcfZDX18lnGk+RiRloY/Ykj00N4V0rSjjDoDW+eJV+jRksJw\nIJv4XK0yejvIq/j6MHPovF/wmQare09regJG0PCNwy8Bi7GNyeaJ0yvTbulo\ndCL+oO+Lg/p9WYd1EhZpGCg3SRCjLASMHXh+8vTNUgGutUmAKy1rpLUi1wll\nDC8aIPpBV3W8KngI3gRw2jNv3UFhEfqdGZFaNK7fWA646kBAaLBOZrqG8MY1\nfa6R6+8O2eoxItAZwSDqzjI2vk0OrgbuNa4G7XhvL1BSShNjpfZVSHZof9tA\n3cLrTMop9A+GZM+y2THDMLB7twFRhvV7yH7FLjvUSIesssoMM3JXsRAyRa0q\nnxkOoVcxdpoWpGftTSLX578Pui1CVVzq3R7yte41TVi2qbxAsqRNgh4iOFah\nFkMfKRpinEKAsz01oUvGUE4zUtLXw2grMxCp19FGSRL8jnJUb9772e39YHSC\nkJlV\r\n=pMZV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDH7mZxcpVIEbUFhiihDZ64YAkLmHGAgDWHg2Yqt/qcHAIgF+VqcwNatfREP5oIIlcvRrS82soFjCdHR0wxk+EUKBA="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.0.2_1579558197878_0.030430538261423612"},"_hasShrinkwrap":false},"1.0.3":{"name":"@ashthornton/asscroll","version":"1.0.3","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","vue-template-compiler":"^2.6.11"},"gitHead":"8604571f0ef438aa470e1362add1c9bd30db4e88","_id":"@ashthornton/asscroll@1.0.3","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ZLbDXDjLTWZqKNOmkEIauLcqvj92yeuO62ZoT1UHWaJ4mUk3uxmdG/rN/xOT9VOGytTgnprd64LvOKV62YhkAA==","shasum":"4ecf3f27b4dc1cf19ebadf9565f26f217ca3763e","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.0.3.tgz","fileCount":14,"unpackedSize":487750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJjd4CRA9TVsSAnZWagAARbUP/0EPJw79Cxt5cJTuUEpu\nPBdWBKJMVLbq8hThascDopbMVc1bC/Bw9WYDAHL/IvScjOU20MvWWS8ZjFsV\nKfC60z2BI4c9uT1zzDIwwVlubOwUZwID13po/koDgN73nS/zjEODKRtEX0I9\nJVSa2ZEuh6AusGdfNRcHThRZ/QhLP5IbGLl6tTyS8iGGec7LEvFtpTqCctT0\nH/FoGkwnvuZqth9GfqX2gWTAFst9mrIPFi7ctBcRPdmCSIzukz0LBfeXyRVv\nGapGuQHkwu27tWGuLvkqG+HmTZb347HU4Y5VxswHiE7eS6X+OFkJ/eb1Ra6G\nGAcfmbmM8FAFpvLBoO58mxBOUul2TzmLYHW8P6u729zBJZ+6XGQTyIEFGeNf\n3upksNVNpqgRtJlvRjzOxEFSL08FxMt1hFxeTErW1/3/vM8b7vGaxnI5KqWU\nySY6vN60yADIJoE3+1ONkctpVqGf4izibCGtT2EMvF7lNFA1/7C63PPBBB/g\n3WVFEetVcFmuJ8xdNqnNhisBkMeFE4lexbpXiXDaaiA3NczH/YasDO9h93N3\nxzck0MSn46S6FGs0X0xdfC+Ks4RoHCHJIaoTCbZ2T3jusrw2wvjLTP1Cj0CD\nrQO6w/380JDmIN6fbvwAUfk+ZFF0v6a33uM0jh8wzqr0A/z8RryIzLj0fNeD\nKBc0\r\n=zY01\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBc6agWX2K3kB/U8xwtfryt8vVk0YSb4Ux8V9vNymZ9qAiBlFB5688kOsG39nDi6NWJx48vWSx2kS2UXEok91JQ9dg=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.0.3_1579562871911_0.07297260067165379"},"_hasShrinkwrap":false},"1.0.4":{"name":"@ashthornton/asscroll","version":"1.0.4","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","vue-template-compiler":"^2.6.11"},"gitHead":"a223bfb1dc93673d33f65af97c407e110a55a84a","_id":"@ashthornton/asscroll@1.0.4","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-cb/4A5f1XyWckSlNn5dcRAge0y6XGa0uTn+4hc8npD1POUXWHiNla4jkgQoA8hEAWH1b+ui0W6nc2RZt07GhOQ==","shasum":"94a7424992745dc193a55a3f31924005444a113c","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.0.4.tgz","fileCount":14,"unpackedSize":488587,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOT4qCRA9TVsSAnZWagAA6jMP/iNbYwt5jhGoT47Vy6Lz\nALlExRQZTEktJz5jSz7vbjSbyFcEEIJMlJpNxbjDNKpf9aN0m4dPDFc/DDTq\nPMirQzULj1YQtMkFlttRTybTXXV+W3+gaQpccM8s4BpALrg2qnp4Id+x/BfN\nCuNPycFoX86LeEJzmZAcjmzeE8F+p1uMfTi4MLgmDZGA90RoZYOcjLPNTM+l\n/NbPQBmO04hdWn7bKy4oNii9r2ocj0rDyH7/bD1H1Q7uRRzTq69efAdEinY/\nt4hckJiXGM556eX1l9b64IwMSYd2q7dGuqW044WBpS/j1Ij8SValTFLRMSZ5\nXy3sn0AaUCTa4YsKN/xT4fRQJV3YEdHDecrqrY9exF+PwDkrHbcDuOmkCsk4\nQKSxfohaymCddQad1wkBcMIzQSzG6rVJoz+LoH0wUvUtjAjUTjE/amXaORTj\nz79EJSgCcJsHLgYkyQWtUrZZha22x8rmbWKGcIDsejXVcnfjDjQ6X2c7YVTI\nlKu5aWF5VAQzVaiZXn4EZ8r+KjU7zRYFz9M2XZy3qW+24fVZwlUZB1l4zbAU\n16id/LakmanxLb1nTYb6Z0KoVsOokeCL+5btpgZ70atN6x4Nb/j+BHpc7Dlw\nRTHimCvPBzF4U+/KgR80OhcVzxgUrobi+9yyR0VJaRpkJqiBNWl6FcMunVI/\nWydC\r\n=87fM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2AbBHA694l/ODILjowCz2uf5Ts0ei9W122pyyE3oq4gIhAPFNFnVgrUF/YBAtpsbVAbjPUyXP0xa40Xp8qJs5SuKP"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.0.4_1580809769629_0.3000765638071847"},"_hasShrinkwrap":false},"1.0.5":{"name":"@ashthornton/asscroll","version":"1.0.5","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","vue-template-compiler":"^2.6.11"},"gitHead":"5e9b00af44985e71495fb574b215a5c10daf5473","_id":"@ashthornton/asscroll@1.0.5","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-0iA/wV0vVMi6wrKcpr/7XbAOIwKuLvBolmq0zesmKzZds3uTtG8G1ashW9pNCoLVsjAcJZNrYc318q94mkq70w==","shasum":"a46ee619b1aba03eebc9da6f7efb0b538d749286","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.0.5.tgz","fileCount":14,"unpackedSize":488638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOvvWCRA9TVsSAnZWagAAAtIQAJYaEDlxd/9bO/eFeSrz\n7XAyUD9feThUrjPDg/rJfWvVPvdO7rqdgZxtNMSZtQPUBJGsr1B+ecBIFGtg\nAVkUOoB64LKZkM7iFvwQmta18RCF7TL7j9Y77ZtEcpQGIGJDTQRND64v+hcm\nQaJh5vfCHCIhhe7X4sue3tOTxCWLpzODA5at2W9tO+1v3gqtTDtSphwc/5iT\nqwI8Qr7AZ1Q6bA10J9bNM9sw5EemL6Ic/hkx/6DcN6zzXGd7Iop3RLmnMP9o\nx7RNrkilHEed0lRdPB+vga7dlv8jBG+Pv5MknX6dcA1XtJ5fbx2aVFNF9d26\ntdLEJz8K/8Aqnd+gXvyv90nbl2A8sYft+7ZHy/vIlfiKO2yzO7WtkWgghT1D\nxCqtfJU4cuiexIAo+hGPdSCRxticq96GiJCmcx57wFSpcowzWH99fua5E74v\nV7flRsq012LClkwASmkQKN3p4XDqHu1hoV6ZeKgjch4JTvoKZHvA8OlJ2y+z\nafMiBdOz9aWAJT0ZrLuLOfUAJfFfEL6JN2alrf4mlbZ2eAI+cyBuK/74jfl+\nJb2r7OAS7Y6Ax6wLY9S5guBddLTn+MP8BlqqKVqNitUCwhT+24zjlTYCTZYw\nLKuuC4EPdBcqesSILIHgrpq/P+nY/7lDcvxZ0RfwAlEx5vb6s0h5aKLwYlrb\noyHf\r\n=L96W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAiQ8ko2F+9GRfTrekXbNOxXMliNnyd07HqiNCKQJQ+DAiEA3LAvPn5xFWk494ZM9itHLlGqFPO4RbnhQfox11o9Rkk="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.0.5_1580923862169_0.1083194893672168"},"_hasShrinkwrap":false},"1.0.6":{"name":"@ashthornton/asscroll","version":"1.0.6","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","vue-template-compiler":"^2.6.11"},"gitHead":"751cc12207a89916f1814ea8bcc5ee71085ab11a","_id":"@ashthornton/asscroll@1.0.6","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-dY4ODTUt5lJk8zscThx0AGNK/glBIH+hrns9LyyAUol98y8wbLJY7b3wuSJUf+0PI0nUyfKWo3uHqTn9S9vMew==","shasum":"ec4aa446cbb1a87312cb8f522f161a73c3e08265","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.0.6.tgz","fileCount":14,"unpackedSize":488672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQq4xCRA9TVsSAnZWagAAHvEP/3/7ObszmoNfxVD7dRWY\nDUzl0czfacdZLf7gkjplkJxnLma3v5yyzQIDJe4C+7pSHKUE/Xpgklrvqj6E\ngidVkrkYAZFU+lm+oD6oUHiXP+02tuLQYPcuY6VtaZof+UhsO8Jz6XBfI6Ci\nPoOKwu6NihQetKwSyBdnoXylGA3HJ5oYrGHZ/Jp3ywyj8QtH/2ON959shuVV\naMgDLg2chm7JwoFsIQICszfvxaHgWkDau+Dz9O+Vz98Uf0BK7lhn8enbF8um\nzaJdwGcG/YWHPqMY8pPBVr0T8l2+5DMEAdwkTjE8lM14MO8Tu7O8+YsvGTZ1\naZEmdOlCEXYscLM6Qt1FeS4FCaB3WS59xe2bXXWeB6+tC6oRSXYpq0YxqA1V\nZpmKA0iIwOZPFmo5JWu2eBxQYtw27fjo3Y4ag2TFHDQMArVVt++a00Nmnwa3\nUY6pMS16zKymPeaxIRFjJgxfAE270lcFZRA7nDzP0NN2eh3GG2MTwWG/jvEW\nkdvT9MyEZGnJlI9eJxh8cZawz6SKgd0NiKOMb8HpcBdSsCfCWMQCYS46Q0bP\n7mGK7LNlMM+6Nzei00CzY/PUOHSEfXJ9UqieHcrAWMNddvl5I9dGCdbXr3NV\nisDPdvvAZ6LFwnS6ILYudsEnmLSGJDvO+pd/4niTnRJ/WVhaq1+eonQ7cGBf\niki1\r\n=mJkO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGU7aVbMDj2lz/Y/uoPCExJb6SUCS110hgE6dQGydMejAiBQU7SAVRPerC/rZlJfP7/f4iRXYVtePTB4uRzU22OwUQ=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.0.6_1581428272569_0.13207557856534602"},"_hasShrinkwrap":false},"1.0.7":{"name":"@ashthornton/asscroll","version":"1.0.7","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","vue-template-compiler":"^2.6.11"},"gitHead":"b9f9500519212834ec9ff3154d0c4b6f3c6fab7a","_id":"@ashthornton/asscroll@1.0.7","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BasYkGz107m/DfcNxYzQF4dKYExfNz74OAfofdzukBolPfaVv+GGb0/QLQrJQ6C4qbjs7ZgcF46Br4PtLrULxw==","shasum":"8484c760d686f7df5ec5157e48eb0fd5f490764c","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.0.7.tgz","fileCount":14,"unpackedSize":488825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQs5VCRA9TVsSAnZWagAAZkEP/A3/ufseFDUkSV2qUEqo\n0lF8aMtSYuOng2PvOIJFANIjOknX5YvGmnExq6N+k5XkZRgufHWW1zjL6+Ag\nJd+vN6FTuWUzGF0/g5zi20fg8b5lKjIi3SN0U9cfqVyNv3njNlnCAgFHsPls\nHTXHGYhl6FqUGqRlRdpgUc1ZyRoe0SZ96XzJpk2Y7D4wP1GX5h9XsjmJfX3Q\nMwBtSOtvwdrJsvseJs+Zq5RaGA2nfjmOAEofO1hRsR8SxUd6hU1hILNydV7W\nEdSHBG4P165ttxPTqZ8ELkkCb+5BBVgLkkFiD1R4KAbQvUpT2kchxNkLfDAl\nciGiWcMuYS6Y5X+eeQgPgWwRWF4S6AbzX4Al8MzJmtd+k8XLJREFEHCWnq0h\nySuNaKLOZXROyxXIgEFKmC7isr35CWtXVUUMFlqDZ+2atgY9Zqw/0gRyxJ2d\nKYZkN5nGKrKHpHPEdKFWwDAKVMDUVK+jVcFvEeIL8w+5t0n8LMayz/EXyD3m\n25z/in2KdzO0gIGkQFpiSrxMLA3C5ZkscB4w/7PZWCpLG6k3uorIHA6AFZ5Y\nURrVT+OqRHVZMPwnGwiQio1mZbmUg7/N86kx7QQ0TI89dkFOYiR8KZI0OYSj\nMTYQVberTWtZr2x2egZWMzEvv6H3WT/VYEhKizdxLAUfLuuYo5zN9HP9qZ/3\nDC0G\r\n=wI0J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCuIVcNjxnnQQcdZbbf3YH3zj/RZblx/3ZrLNMWYAmrAIhAOjMRCij6J9699dsS4ZGsqoT5ccmZy8aJxsXzH9m0Id/"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.0.7_1581436501325_0.9223317231163541"},"_hasShrinkwrap":false},"1.0.8":{"name":"@ashthornton/asscroll","version":"1.0.8","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","vue-template-compiler":"^2.6.11"},"gitHead":"8d229496b3eeb57f7ad56c4db6a946b04d1642e5","_id":"@ashthornton/asscroll@1.0.8","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-J9v8ZVlpWQhYMoy5Uu+eo7JkrpES/1nD614oazn9ina3UdJMbIw5VABaW2u5UJVzquyiJ3Z498Z2fon4B4+g8w==","shasum":"a1f2a24762e14f3afa2718d7214bbec8bbf9a8a5","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.0.8.tgz","fileCount":14,"unpackedSize":489673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQtTNCRA9TVsSAnZWagAA598QAJFNxmwK/oqyN1Q4KHVC\nxaha9lOT6qm0XbJoyLYr/zwXjI7XO2gdK+nA7eVgmTAJyFg1hztfY90PzApZ\nr2v963VJZ2HhLm8P8Bfj6yYSv6IxFC+KfVulRnnZYA3F666bB4b3ZXACoSk7\nDNS3Gu/tGk0l9mHEV8TWmGzdqRXQWiLgVFGOOnltQ2jJp0SShU5Fv3MFChyY\n5BRh6wk5ATMh2WvYEU/Y8UlMBGft5pWU3Lmbtz57Z6gZn5FN/2zmmJ7E5ZZ8\nTzSFjOwVQLlB13kdgcR61jclF+5iCjyqo8VG/zxqR51GYzusvR7vx18XUs3l\nyW6P9dNimvhiFKmvhdaXRZlyhQJxVyCfwW9s+hSlFSgzjVQ0l7dlULz5S3vL\n4Qixn9mgrYCSK23jj+TrpKg+CP7va3Fe91wcikkT9G49Emx3N1hRUwhaFtuX\nUtfzz/Oa6VsKliKA3kjQvMJguq6esa1lM/cHPQPYXFu+6n1nEtoRoapT+j+w\nRYtHyzvO32ANvCe6kMMOBmuGk0FI44cS0Gzwa42f60/I2A+tQmbr+DOSfuwZ\nIOm87nKIlBSplQLuAgeo5udYeRmS19xgzLPCFqX+WpgDOfdT7aKSO+tGKURR\nhQwZsF1HuDKRs1FoTr4UFQufEERyMs67hXVVs/mfYf0uoC7SPp21EewgEqR2\n+hrK\r\n=uxBX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDy6aFpaHXtOrmxqPuM1hxbkWOv9xN4PN2stPLlgv6iTAiAUqgvVxPgCx2Bu3jHX1oaGneTYTQSGBvQebpswwT5RTA=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.0.8_1581438156767_0.6597600221333588"},"_hasShrinkwrap":false},"1.1.0":{"name":"@ashthornton/asscroll","version":"1.1.0","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"gitHead":"df99531535038032069aa8dc1a1b032bf1a215c1","_id":"@ashthornton/asscroll@1.1.0","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-HjMZzyvTVYTD1uI4XWk0ZUVsZO9yOUBKJKHytObu5hcc7h5DnCTChctdR+tlWa64PrxtZ3P46Qui3o4LejGVXQ==","shasum":"0d40b2c172d7ac7c56897ab5d097b4fc6bb4ecdd","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.1.0.tgz","fileCount":15,"unpackedSize":492674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQxwICRA9TVsSAnZWagAACCYP/3OrWcKWdsfOe/AHRwSy\nv/fpMmCblLeQs98YYUYx48vWTZQfqzcxSEeF7X0dCBXYxixfoGTfTmxI9B94\nZC/rEjqiIcX3E3QKUtWACShvX+OokUg8lRs6rBD/bumJDD4DUR4HBTN1tySL\nmrHD3gJU4+OsSVxGImOswMDxtGXpTvgPIrNww7tfEfENLNlBYgMDeHz0U2A2\nAZ7Punj0a0QjwcwtyY/YYw0yYhPTrOxgcsMuztOmFwaWqpofTjKPpIhqaMq9\nUg8F/VagWfubgucSa6A6FTgp+H8l/T/EEpYcUUosEuXTHIJUh5zxBtLNL+Mc\n50expy0AEVY3g088AsT85qe2TNDPYB5AKlreyIJrvo8QR8VVMNtZ+NlYRfbG\nP8D+tpXAdzl/5nvgawhJtTPHG1gJzQ6YklLDhW9hMyx+GXStltIS5dL/clsb\nkR//AWFRl17xzz4oUV8AhQoybzjdKDzTTjU8jCffGodivH13tQpYA8rD3qU8\nmBglWxRC95SXb1Xe235ekVUlWtoRGj58MtUdSvpDhCk/yhAk47hsH+CkPCkf\nyZ1I9miKMnjz+8dMsfeJTXIMTziKbJ+FAR0ndqOHs/u+QxJESpKqD21me6bf\nhXWyuqfxniq4wDxJsRQujBGn+GaziflZomAfDIwJ7Zm0JcWj/rEZ3gpC+FwZ\nWiU3\r\n=zTtt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7U5OIJoZq0RamteYPx89snXgN3Q5wds+h3A9ABRCW/wIhAPqNoW1iK+WdbeFNZ4fzKxPKWh+QVC5r0/JmvMMDNbLV"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.1.0_1581456391519_0.3911472598420682"},"_hasShrinkwrap":false},"1.1.1":{"name":"@ashthornton/asscroll","version":"1.1.1","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"gitHead":"9044545ab57b2225bd37dfbbc532d5c5b63643dc","_id":"@ashthornton/asscroll@1.1.1","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-oGTGtIw8w+rDGs9V5gzxOLkkOmAqw+7jzdIARkupzTFz7K5lEsCEqrAxAQIH3BnwvVcjYGRpd+HyGmQ8bW+GQw==","shasum":"1c4e7bd629a4fde813d3dce87ea3ccb7890b6905","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.1.1.tgz","fileCount":15,"unpackedSize":492973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQ8dzCRA9TVsSAnZWagAAt5YP/RWML1nOhc0+XekoQkiC\nlmKqAtJWZ7hhJfqQPTXqcXSg8MLgV2ngyEgoLKhlUsFOombbIhcip7ypawr+\nHEgfbJuQFn+xz2U0sJ3CTF2uV5jghXepFDNr1SOT+QKHKhV2jGRud8vBq3ls\nwkpE81noyFAWbh2M1JLxVrFZ45dQLfd5kXzE7HtjamWlIO0O2THjQb7+0BF1\n1TTRIponvVvI1PPRVfERKTwbF1EBYrZC2x6Hv865XI89mKe4rtZxhj2im/4/\n9a8iUglWv6hSaxeMLerqGlk+4a2vhY1W8i2hyPpRS2pBslpCoWV+Z5Fun9Vx\nY+Kg7LoB/8LU2Qoa8WNn8aZtzmxZD/yxbIvvTJkcyY7rxBIp//IwV63VVza7\nJfq1BiWBuReX31QcRknwctgRd6GTJxDnIfiWUPvlDl4DmqumjV1do6H6A4Oc\noHFA8IkFY4o/DH2njdUjxCsJiyM+OH9bCAcX/MbqSYUaa+Lor13xo4p+YK7Q\no/PtNuyUVZNrUZrT5HR0ZFN5PO2G+TI3vTPj9DycC/c8tdr3v8fLn0XXJ4yq\nVoAFAKS1oKZB/6HiLUHOZoxVCtRw2RGK+fyL32a03pT9YwZEtt8cKxxbIThT\nKkb89x//IdElGNDoNFGXPrqirwOL1PBCzCk9sr2JfL3Q+lBsAgIu+knkIwsq\nOp/Z\r\n=G9kB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH8MJUz/G+Jp6Tl+A+y2UamZUrT2ZDRmKNDa3t1tSth/AiEAu8OCHSt452JPyXnfCNrzFsJdeiAlOsvA3gA2Y4JZ/Tk="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.1.1_1581500274555_0.05301884412546887"},"_hasShrinkwrap":false},"1.1.2":{"name":"@ashthornton/asscroll","version":"1.1.2","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"gitHead":"4e6d6f058b68ce0f6987d44e7b838ea7b5b5f4c5","_id":"@ashthornton/asscroll@1.1.2","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-5Fo3I4qh22vF5qI3DKqRX6stw4B70bVOXNUkoYBjdy5+Jsj0CjzGIs4KNI8Pwe00JAqYyYGBxu7jFsAmJarpMw==","shasum":"e6ef401b2c17a257557aac1cade64d0bc2a186e7","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.1.2.tgz","fileCount":15,"unpackedSize":494270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQ/CgCRA9TVsSAnZWagAAr7sP/0N3tSdbLmLa2L6OVWBC\nmXxJbk61LaA0LVPnCbzeZrRjelgHgsVSmsrnzAYstbZbJnBbhppV4Ptev5lA\nJiXjb2ZOivwNWAvAGOmPchx2ZXxbX1gpHLlxdrBl/25C8YJgxzOQcoLxSdc7\n00rNYABHgayof10aR0GPcg0/rSouhg+fAayk1Qq2uPOUM/1K7TY8qjx/GShP\nKaLkJNzxpXU0Jm4MagGGmqR48uZpD698tFby9NBsnQECpBJBPMAVKDJ2vhcS\ndqeH9P6V/QQ28MIELHOd0pKzIuKGjXchGLkH/0vi31+u/+qK8B8Yl2nCHDIw\n9pV43q5CZAjVTeyIfjzGYo9cB50fwu7yllykEcFvw20+NlgC+35Ua0vvGSqx\nfU/mP4QLFY3YAJhIwDoDvdUrsbtor5yk23MoUfUbmovK0BHp+qkiI9AGtQGT\nmAfC6ThHGh5a+AsD9BOBUZS1My2H6jOdaPVRvF6gSFIXNGePFj3byk2CZY9i\nsZv2mnVVk6jCFrMTk7ykKtd+rLAPDzX8Sx4vhMzGp193OjX75wOR7BiDohGr\n8Lh24nP8q5hCoPMkPnfH5B2ShPrnjh/qLs91Eb1+//Ux8Rj/vkz1pSuH7tCC\np88FQN2t0EjrnU1ptuK3E9xoTcAWDAqPN5e19YdfkmJLHYQMPLQpuhDYuWPp\n3hLC\r\n=EutA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICogDtl/l/yWybmPjjafXfAJC/F7mY/vB9uCVRrUTv0jAiBJ2IMsZLehsYW1xu6F7bIU47walGbePVcfHrl7ZjAThg=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.1.2_1581510816456_0.13466557064889706"},"_hasShrinkwrap":false},"1.1.3":{"name":"@ashthornton/asscroll","version":"1.1.3","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"gitHead":"1b3748a656eaa5a091410941a469362dc7907528","_id":"@ashthornton/asscroll@1.1.3","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BNJA2C/q07z7+kWuUoPVoOST7I2dGjYi03fejz6VBeNVok3XMexu8lAu6EA+YoJ4pfu9bGoj7ImxcliqTPD2og==","shasum":"6640b8c8ebaa55ab34c14d5f0d893d02083ff17c","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.1.3.tgz","fileCount":15,"unpackedSize":495614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRXO5CRA9TVsSAnZWagAApCcP+gMPv/KMjZMBzNgJvPmU\nxhSG7iBYkRHyuxJxe2k6Ie45jdAXiEGYGtM2Qv+GL+5r5nDknKUoy8JbCXdq\n9tl3oZGipEMEazCk4prqyKF1nz9j+Pm8Ny1cLoYVg8ZNnw6T7KmUdVlHurnb\n7gPwYFUZui5AbknkqNtk4IjXUEEMlaKor9z14ijMTL4OkXmc/QaHuyuftQnT\noIWgg94p4TGgrRmFh8qmOdf25HNJyPz58GbcJ3JvHqb5h8CuwcAzm3EgWeu/\npFHCyv5yn09qnDyPzYPVaaHwj+oxPqlmT4d6T1h25b3Ti3HmJfao47zzorUa\nOdGSP+7ixVhz1VEuZwFLSk9H4B6y+6Nut5h5u9nmOQt/sWTl9yx1LgvPxx75\nkE6NvOu3h0oks1hhph3gIoyIz2xmq/qayP1J9JizNYQLvAq+Qr0pQsiujsne\n2pd9z0ph1yv0tnOy7lk5rGx+LjfXau8FZKnLFKldZDZBJE5h+Vt1QsOjRLty\nhZ82DykNjhDcaVHoXQJJ+GQ4rFKtbaadKmbxH1P1f7uPJZfqGDGQO/l9lHuz\nHkBcUxCl3Cnx6JUz2U6bzdbYuPNqMA8gZE4tYNdVWS/emFlbeAG2h0l0O8xV\nHDHboYr+fa80J6HnOO7XdWL3fZUqOqOkIm3V1jGXFcwUIRnZBAOB/fJuAoLd\n3Y2n\r\n=z/eu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSMX1T0zeJvOFXkDDeHMOSDhF4wucPyUBobI5+ih4iVAIhALDHmMao4RtdKzJdwXMLth/kTSBSYLNf8oobXRm5AgA8"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.1.3_1581609912968_0.3734893227614793"},"_hasShrinkwrap":false},"1.2.0":{"name":"@ashthornton/asscroll","version":"1.2.0","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"gitHead":"5396a1ce17d977e529985010f3b42402358266d5","_id":"@ashthornton/asscroll@1.2.0","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-GyDmsnvVEm6YIk+ETACJyzaLEdACTF/mSP2oIsd6qVL94KpuCvtP5Oblvv89iDUWTzXcW1ivDfH/o+8on7GTQg==","shasum":"bb05abbe1b74155b4f5031499ab4858cef0dd9d5","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.2.0.tgz","fileCount":15,"unpackedSize":497195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRplCCRA9TVsSAnZWagAAm2sP/1EaIB+ypQdUFsrLCJtV\nTUQwrRwub1tI0+pCS2Er2dpXJKb5L+02W2vcbQqWWdwDyIb1xq+llbgGK460\nkVQtaAEkoh8I4oIpwOZegpT4BvBbmh+rhd9S9cEak/wgCvVz/+vHHABdl6NA\nbviNfPbaext4Kpv6heUUVJyg3l1yl5TUXDVUtJdzS23/I08Rgw0ByJhPYfqk\nHEH/MkUOfuKACHb2qa+p0FZI0D15Kjfz8+DwVXKHEPNV59eFA4s4usSXNm1M\nbPj2E89XLzUCSZgvWEQTe1Vj/ieu4OlDLLVDpggRH2L60SWsNetY8cLNoR26\n/CwSh2D7jgtfzlSlQkHF23ZI3HA1fXihvuySPv7hnrsxz4bqh+6/YMXHlNPH\n1EqgLfj0POxsMqbU3mKci/QijvSup5UaNZNGrq0YW0GH68rTGk1YCmg3A6/4\nfeBgiSk+KtSRqQbIJXxYCFllz7yoJsB7oXFilCP7fS6aCkEmlSFuWfKNTnP/\nS0YGic7Ph62F0lW3sk5eBJ1HOzyOLQvHHOzl4YBUa+Tqxxoz73pQkXF4TB/Q\neKAjSCaz5QhKi83TvhSI4x38K8SFozEa849FwPejLuaXDsq9RvaekBDdSnE8\n4NRG5r18LH4caQF1RiS3eVLxoV82W5dG/Tkrx6Fnf6e0XjQrrjtdI7RaFa6G\naqZy\r\n=6x2z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEDH+1j9JYz7BaMNZwDYPaOZR9Z47FvICCQRGPTUaSH9AiEApMpguE3MtPQS0bgOC8+vAaQrGmL6bfs1OJte5f0fMnY="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.2.0_1581685057879_0.7562760932473294"},"_hasShrinkwrap":false},"1.2.1":{"name":"@ashthornton/asscroll","version":"1.2.1","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"gitHead":"df2498f41a7b90f2fabf6ff59823d72a4b6c8226","_id":"@ashthornton/asscroll@1.2.1","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-+pSoOMBvSNoZ/3Fc4D/S7BzyGtGh7MLFOQO/uxCUXcRtfChYM6cvf30oeZwaHjlcWlMaNKED2LlCdCq21gAcvg==","shasum":"2a7fb6cc2d539fb24c3d95a1d8ce3370b7ae2198","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.2.1.tgz","fileCount":15,"unpackedSize":497600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRqchCRA9TVsSAnZWagAA02kP/RcfRmkVb2htC2XxG0Um\nRY7icLcWMHr/e/sn3AKBrChmK4dx96zMqUM0KvoEjkMrzJcLxdbx+NlDbzFm\n+ZSh3mE0G1K8HWCFvaUoT9cZwRyuilxYZJhGEVmUY19ToYP8QKquWu+rPezc\nY8VEaTUUTWST1OfvwIo80Bl3S3mUSmNlu+CmWhENQcqFgM4XxBhGBG/rSHUj\n17by2oMKzqrBYSZIHhB/mSD49hKa44boB6fL2DIfgQXmgfGVUVxgrxTWnmUD\nsrcB2C5/cR4sH4XCZ7mKuShcTq/zvIuXe4rIKkI188782+I0tCcTEmIc134Z\niz1aPk83/hDup/S4hLDtb8JipLBitGE/4Au6LXKpa1FNkEKSHZMRmFebHsi3\nv8stkH/3fsEKQK1RDQu9irAW2kFjOReb5Vlu6P9PJqEBgHdABuwtRT1wgawN\n6zn7sWduGUe1PWOs/jxJU/hb6o4oVJ0qcfSm75v0Y7IEYLvDkBZfMhGsNz6y\nj4/KxoVw1d/t4PCVPCZ06RV7de143tkW7Zuf8C//WtqVEL+0ckpH07k4eQTm\njZR6ZEOgouEyvYvEn0Mdozyydi4T27kMXjfumL16bJ68boawdPAtG4ULvm9l\nR0+K68ONtGThPe7Vqu6jE/2dSXG1csX1+CzTpvC6MNXo1yS19bBvJZXEWynp\nlAKN\r\n=I2OO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmrb/qIwAtK3ZSSB9DrHdWEBsbsDvuCEgCSvA2AhoDCQIgKdhtDHZtKgkw1za4boV2aYDvClu2tOgxLB0PXM3Q89s="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.2.1_1581688609430_0.1526654510861607"},"_hasShrinkwrap":false},"1.2.2":{"name":"@ashthornton/asscroll","version":"1.2.2","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"gitHead":"54ff17a6cdb4a951876628b8069345d93f218bb4","_id":"@ashthornton/asscroll@1.2.2","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Kl96h01HQqZSO0Ko1cResICkZyr49lgETB3gDK1WJeVhbklCTRfvid9WVsuvz2LVSK/MyYIW+PYih+dpkEbk+w==","shasum":"e7e277f8b7d395ee09225186beed4c7b6e8ddac6","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.2.2.tgz","fileCount":15,"unpackedSize":497699,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUABqCRA9TVsSAnZWagAAFNYP/0TsRhmCMrmzHcXCajkH\n+tof739HFN7CHHjuIBjiDKWB03bZV5t0dP3uCKyc/nQYPmiF3YKz+nE+cGLS\nkbGOuJy6K0j9JPsj2OZeMNTvQ8qONdrq4mydgzlD6piV+/rTazEwdP0cKqWw\nw8NFjL8+Dzh6jPF8DV1j+7JlAhWxv6AQ5MKzxjUkFEmh9f28aYa4zi4b3HL1\n+iMLoLuqyods+IikhSuYgzQx6ZVON0TnXH+uPhnG+i4N0jK8z9mvfdGQDlzJ\nX0TDbe6kbdufOWOMZ/fDXRwOUadTeesWWVmH4qcL9i34ausRmgNFsaQBhfLM\nIVuVDpi0+ggjAQu95lCmZpiW6BY+310btvvTG1cBnpmLBbvS0mUmYFPb+xcQ\ndT5bz82Hl0C8vd04hkV3QXeIw9dhx65d6AMPQQuoOvZ3EtRo/k+5H68H7Znx\niBZWt2QSYJ0ZbjB0HTD+1q23lWDKagj7DnR4jvOuNjyChebGisZtw0H6S3U8\ncm2d/gZuz7IGEdlKZUsZwzZ7JF97Ku3IyReZTa2/csYg4QN/U7jOxk+xq9Vy\nAhKBECXUQGt4fMh84HRXHT8NHcMhmoRAMOz9VUG/UnOa2Ye6GpMKjgf1yxzY\nUtauaie6rLUaljfGXSgDTQcEko1tQ6vnIYIThBmG1Ah7iksmFXv3f5u8K9Qa\nrjV2\r\n=+wjx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA97vW9rBYSqgeAP0dylvftmciQZrjnHdYw7vXIgGZd1AiBGw1xG2cwZxPLqdN+QHLbMGgUWVTohrzyllVV3JuO79w=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.2.2_1582301289963_0.05651325963032883"},"_hasShrinkwrap":false},"1.2.3":{"name":"@ashthornton/asscroll","version":"1.2.3","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"gitHead":"080cb6a40e891980b17a5b54fc999c081cf7657c","_id":"@ashthornton/asscroll@1.2.3","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Rz8siffCm2OdWOxn8tk5veQf4bNfLWcNImYdg798Yo++zVo1NazuTT0Pm8SOmrNTdimCkmT861a8BILFXpmJhQ==","shasum":"3e127a06adbcbed8aaa1bdd0b9a212770d2c5123","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.2.3.tgz","fileCount":15,"unpackedSize":497729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeV+o9CRA9TVsSAnZWagAAmJsP/31DcdWTJdFRhTgNPKqO\nTZiiqSIhPgWszbANgZvHx9eIJSge1Yw/bC8k1uJDt4zg7ruSxrm2HONLyo2l\n1brUf7k7x/DQZb0r7gNKx510YKQEgsmSASXN+d0oAHPzo9As5hqCT+X8iaQd\nd1X2f6MldT5ZkH3PsF6t1XzMXy0p+o6AkZefSf8Wc4k5ybPQCa/5KoB/DQqK\nIKl3O4oCCXaXEgSK1b3RzeCGzHnDEWD8adN1tjQ6vwkK+toaWX+sAQK4IUNQ\nnncwM3pTk78fWOyAb+8gpQiemE4MFUNRxkWYr8Jt19pHiBp01PI+l9IW+C0t\n7r/iAk2mbz+2mLF3YF6Zv8tkLgcQYL4WSnnrFfYh7zyQV2B9EtU6PJeyHWCk\niHs7f00MS+w6kp6VVgbC92htJWWaReHAeCqW6YkZzoPiX/yGOFaGu08GYVKb\npDq40wEwkOLIX+uPCXncxyTBlVoi0wRT6ClJyux5heTTeAIlRRoduI9Of61R\n5+/4yvPquPLV+CQw+q7HiQzC+20W0wdEUERq8S+HfFhD3dFRIxz4/UOy82VV\nxZqKj53gQL7BpzpAR8nqkt5wqL8iJBeDm9bXzbtIzIMaW+47A02tukEbJmwc\nT09i3WNXLh/Ru11ApPkp4SCuUnp6RJI1BTavS2l2AC8ccMa3X/FHSwcWv9VE\nnPtA\r\n=bNPs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyowC/DZZ/bSyDVNyXbg4GgaSwWVTEhZNADNmZCaXsGAIhANk6t5sfYmUf4yz6fGKuVy30DbZGoI8qgcvoDpjDmh/E"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.2.3_1582819900525_0.2039883078541116"},"_hasShrinkwrap":false},"1.2.4":{"name":"@ashthornton/asscroll","version":"1.2.4","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"gitHead":"e1be5cda1db08ee91ffcfe771661496d3cc4bc64","_id":"@ashthornton/asscroll@1.2.4","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-kVHcZJHHx5APq7ZehNBTMmR7LihSZATObW6OCNJu3DEYotEIPLACa2sf/rJykCTuUnxzYmhVNCZYPi9N4h1RjQ==","shasum":"04734ef62d59cf0bb721c5b08e555143833cc043","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.2.4.tgz","fileCount":16,"unpackedSize":555294,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefKk2CRA9TVsSAnZWagAAYo8P/0wyRu/ynfy8CKjlLFKT\nYOureNBTosyD9abiJd7dFbR42Y/desXp3HIVn5DA77CkFbX5+rSNyMPyxg+z\nYtRKjF1c2y8yCICtDObEq++qE0PscXnnX+FVqScl73nT7NqVvu/UvRGjBJyn\nloH2rEpuiMxWtr0D874IO1enIILZ/yT4sRl53rF2v/ahrhEqLFwkYFkdiW8w\nQ514q+NIqgUBNkU7lSvGx+XX4DdSIDAT099VdublQscuvgeqyMUQ7iIrYFua\nqJmRPoOOZxXxFPrhnVKfzl2uAU4X17e0/sygBXu2Uc0PZR8VBO6+vDAvijXC\nZm7qE5cZpIqN8TGyAXG5o1reDQAoIVC4IU5Z5BDwJrlYh+FuvyIgkABpiVH+\n4gudlnlTkTkOZuKlcXro33nzoQHf1Wc30CXLXICQCLiFNXwI7oiqBTIbzWuS\nP82x0OP9wzfGPymT2yDwIDKBaRmvf2Lp/evw3B3lpkN2HaDfgPieep5Z7FsG\nhuU63ZG3hj0WMGoDQufogmxydUtsbAwgdyJvBiCQJiHAUlo8hAh2iMgdah/K\nyiCx3j+v9oZQAfJEUvv4QisNnecWfZpdR3d6bAAF7L022nMmO72HX7e7PpcW\nlAw2il8xqs8CgOtieXEppuY9+JZwkE63ByJLtAeArqEvJHyvbktvDRwUz18w\nJ2M2\r\n=8L/D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICmJWatcr4EU5wFeHwHxlYAY0Rity8nvJ1rdU/DABHNVAiBqhSJSrP7ZpJRIeSn5l3FM/irKxSOuzDVm3wQe6FDrLg=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.2.4_1585228085930_0.8346744928631145"},"_hasShrinkwrap":false},"1.2.5":{"name":"@ashthornton/asscroll","version":"1.2.5","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@unseenco/e":"^1.3.6","babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","lodash.debounce":"^4.0.8","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"gitHead":"cd6c1d62687b36ad8ac7af1e53741706cc308819","_id":"@ashthornton/asscroll@1.2.5","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-0a/Fl2WslKMULMJhQa/1CGZcPD2Iy5RtHDGTmMsiRQ+McmglI9VdB05HoLMmZ4M4EbDxYkbc02nSPdPIpwd53Q==","shasum":"be89e043d41a9653e0848e9d5b274c6ea42c1662","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.2.5.tgz","fileCount":12,"unpackedSize":172124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefKpKCRA9TVsSAnZWagAAnwAP/11/2Y1DasHgM8eBO+OM\nmYSjenGXRxt1Sm/y7UxLXU328zSz7zSUjYkxmzVg3sx6QTf/HzmAfcnzfD+F\n4VUaYRWl9ld9UpoJXnd54GmpXS+Wowa2z3b4jVZByp3PDLL/Fjy1gMGA0a5m\nVH0CM1sI/oYtWf3Ch24HRgTofb5o4Y7HmJ881BJNQ61sQ2F7hQwWcDncFXP5\nhfdUeQCLlPLQQ5HFMFQ3R0Zqb5dHSGV51iZ1+vCLh3pkG0mV0wQrZaRdXwgd\n8NvacWAPzuBB2fPxlDvA7u66fvrShcMEn0qgVJXnZZC8KMdD37OuiwDnfnXK\ndm9CboNZ+EttpYgUvPBmhT/xPPtFHVaN2iuPyjIyOCxwan1hqiLaR+EotyKb\nV43w4wHK66memblmBopdHY6X09lKQCaDrnjeLThUOg/veSrYKRQiJfgNDR/L\n1lM+FZPNxrc40+DqlRzleQR9mbfavM+gBo/Alb/BB9s0drqlbjTAe6PFqsM5\n7tdM6GHndQIVJGRWLctOwdhXIZDZ7l8V1bA3mWzBVPw5kcBtgtfESZJ2+rMf\no3J6xeXMkS0a1tzqJHRCuY9iRt+zI/IPl9pwiwzVUkbXBAlvEQYvEoFvB+5G\nuE2xOjwZwdgyQPmvLyx7zqPABid2ggUg4MUYYekOuNyUNcoKpB8tahEmOzRf\n2IY+\r\n=a4Rm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPgA0ICsYCG099s8PPdMWriOrCBMLMFZW+ktHSUh5dbAIgBSHOFiVq2d3xrHAHK84v8hRUiOcIPV6EkScfSx04HPg="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.2.5_1585228362213_0.16588464744549447"},"_hasShrinkwrap":false},"1.2.6":{"name":"@ashthornton/asscroll","version":"1.2.6","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"54dfd6392dedafb602de2b77361d62bbe743251b","_id":"@ashthornton/asscroll@1.2.6","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-LLXvqOsIy4KqSpmJnfi5OVMLX+PX+QOIMhUgIR10WBUireGOA2hCMJReK6eZjj8CIMsOjyV7qBHZdTdj7tOqnQ==","shasum":"a23ba3f244f821177d2b70109376c27b0468dbe7","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.2.6.tgz","fileCount":12,"unpackedSize":173941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiKzHCRA9TVsSAnZWagAAeLYP/ArMiB9xyaoVgRZ3ZJ2j\nBUOi9TLUSdmOpFi0iBM9Iwzv6U1bBH++sNAm7sg7ezphQDdJihXR2YvTJCzt\nW4FrF5B+Wvj8wHa5RrGC6jWfmk5KXpm/LOWyGwYeubzBBJ6I3YUGrOVWAAbC\n6/yC3vZxlLCmxZofvDKeXw6JBl82abQ4XpGU70tl2Kb0zdZo5yoqh7jIYdhA\njla4j8gY/fFcjHmNa5AEX63+rqqPP7puODNut0ZR4iFSJ0vHiBGjFc7NldJO\nIsISPr0oCQ+maTc2cAJ7Lmj+sQvowz2TBg6m3Qa56IomRUCklno6Ij2hyo3C\nYIREi+hPSIwq4h4fRKlCch6mOZDYpPcDwwXKoVWdmgdLWARPan4kyuoofRzZ\nvYovKGbWxDA0OrtBZ4PsZ//C/vatE53vkGfOfnSoxoMvX55MbUmMjzUKtSD9\nWav0qqII/8lklawOm+ACjn6eKQdsIuT85pTr2FSR8w3Ki0kWjQqJ18ZpBQZK\nmBKHLp9B7lFVhA7C+7t4vka+fXWjPowpqskbB6jMGyfxmPSSb/ubPc3SvZ9S\n0n/7FWkIB2wQp/b/c5OKNjP5chYUaNPkHRbQtshuEbNiD6RvL0DczBewcJWz\nMCiyWb4TfZK3Eu4wY4bTdIlxtD22kFBCchNUFLl1ktDKR45dBn036RoTWGyo\nSgsc\r\n=G6uk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxmg3WJ6Ro7+f5LVim9BgDcvcbw0MEP2uB0HIi5QkuZgIhAN1YBeCeXivgeovJsSxaSLrHXPPMtNSXSYaKZpTQ0na8"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.2.6_1586015431245_0.18381352125157702"},"_hasShrinkwrap":false},"1.2.7":{"name":"@ashthornton/asscroll","version":"1.2.7","description":"Ash's Smooth Scroll","main":"src/index.js","scripts":{"dev":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"babel-eslint":"^10.0.3","cross-env":"^6.0.3","eslint":"^6.8.0","eslint-loader":"^3.0.3","laravel-mix":"^5.0.1","resolve-url-loader":"^3.1.0","sass":"^1.25.0","sass-loader":"^8.0.2","vue-template-compiler":"^2.6.11"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"4934cf161011369a360ba381da91cc8c5d8f9824","_id":"@ashthornton/asscroll@1.2.7","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-UFpJyTWQuMgxMx88mwGybfVdx54oSSObGDHIR4hWZxBfZvzG6jWd3zDi5kOU8bjCwKGIfs1KQ9sl8hiMaDHTpA==","shasum":"682f240daa3f21d35da27f10c9024aa64def668e","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.2.7.tgz","fileCount":12,"unpackedSize":174314,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyjSECRA9TVsSAnZWagAAvhwP/3hSJilfe00gRYwzxhNK\n2IvtU8fk/CmD8Wo9Tj4w5AeNwYHTgJlYhYGVgSfU2LKUqxjDKeXCurPzSsKa\nx8QrgyEC525kNc400mYt458pfG6lar32eOy8UNeYGHG+G8WTSoPLAYpGMx2V\nNrD3oDkZEu0f6ffBTX5G4WbYTV5LgILsfrg3ArHIVY6yiYIRou8HZBPz8ZiX\njU7gx94wO+c/iholMa+/z/aFIqbrPuguR52fCsrzogLr1G2F6v0wHWCgc7AH\no9i8COc0hbz7xGBuovuitZ6jV0xBHSXvKdNTvSn4YP31ALoTIKwy8VonAin+\n0DnCHuu+PXsRN0Gc9FQzug2DqoU+ZL24QG4tA9ignk/ZxSjB0iqym15+Aeke\nEj+imeOzI5xPTtWu5QKScsngyJXRQbv2UoCrk7hfjQUYZhCDQWYKYUK5H78a\nY6iWaTF9PlEdRC+lYqnijGuZhCsqkPDCLGOD2nmLns/+VUVRc9/Ib6c8mj3i\ncU7S+FC7tYRwFo7GXnyqzoyq8rdpGbciNeOTgcusE7WQ4fD+sElpR2e0N3bU\nc0JreyKR8Ucre0pW+dduWa/ucvnk7hi7zcspXHtAWmulUC7MuL9Q8lJ5wm+P\nJc/PtuRRPxAyiRxldNahDw7wZc0w6iOvcscMeBF+3IcEUzFBz3VxQFRdbfwX\ne1sU\r\n=4rY8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBz3vKkfm6qFns+1Dd6AljBWIYnnc3F3GYcxBdlVQ0IFAiAp9fVXcDzGNjwThGttD372MdLse+Dcl+C1ZaxapykBow=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.2.7_1590310019793_0.08627582274833268"},"_hasShrinkwrap":false},"1.3.0":{"name":"@ashthornton/asscroll","version":"1.3.0","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"358cf10a416fa8ddc255a089f10b2da5401276ef","_id":"@ashthornton/asscroll@1.3.0","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-1FuaLEKz0QHGpZvoHLpQ4HyGk7YSPiFsWokV9i/Q10e7aku+US1M7SPZNsoq748rjpQ+PdN/4tZsT8BcyuAnQA==","shasum":"0ce4d323092b116d2fbd5761a416d171f5e40dce","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.3.0.tgz","fileCount":14,"unpackedSize":209271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeykVHCRA9TVsSAnZWagAAbDUP/i05/2OnCkRIKPoNPdrR\nysMY/sbZvPPRZlPSoIGEw6iMuCPP5vihBOlfnXMT1AH7HrsdphFPlxSFo43j\nap2Q2Xtz1XY5MOFxzzaIwG/tiyze4vn1viYautCzXK/PHr9ZXoqu3GW8dA3T\nhVCtFu015fU/rAZ0BvxpF68qxhVqj9XqGS7OoDuO8Mg5YojY9bQ0Ks7V349b\nlWYg9tQyuSjgm5yj/1zKR7Ms3sci6ZpUgfjFpE4NMNPeTLjiQExnF/xGCsTt\nyG50QnjRzQIxFT096BeY7dYrpOkRMMl1ZMoEF9+UqINXRKQf/uFIPHMkiWW9\n877nwO75nDOIIlCQewJ+CDdLB5xSdQGtmc0YvYQ/IBJNcnzko9agMp3uWOno\nQxBCMnZwdzNgg04UuS429bw6ynOw1VCFwL82o9DUGSoflP5ijKiEa0wpjhv1\nCxQT+wrz+bbmb1oFWrI2XR71KnQE3SRvx4o8onidEytfEXn2UQPoBGnvcabd\nijB1aUid5q4M7lkO9gjosqiXkqghIksIRlnWPBynhsOlSfgnDRMFdBEZvLgd\nbazbkeBCD5D+RVhSpraVixqUp9MWVW4zoyAPXpmASTjwZzLdneOWKsmPTsfe\nBUz7WXxWQb34ge9ylxVs9QVaTGVWjTEbIyD2VLTb1Mq/K+YBNxPZ26cadQh+\nGC7r\r\n=mtTF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnL2XdL5AvpUYdHuRIHQ0q+3sTD8BOzLwLSXrze2ObEAIhAKMb06Vcs4uANLED/yf5Nkc9JhtKtXi1G0Scg0h5SpsD"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.3.0_1590314311116_0.0843360448627144"},"_hasShrinkwrap":false},"1.3.1":{"name":"@ashthornton/asscroll","version":"1.3.1","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"c88f26fe0926805d17b45695f4b2307564c3b047","_id":"@ashthornton/asscroll@1.3.1","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-smQRynHdPpFq9bYZASRag2M+LKf2/Oh1qV6uA4u7JVEc+2t/gSurc873YvMR5VwW4bnOwo9hVkT/ouyDZJ9aNg==","shasum":"de7c473684537fc53aff13adcba0f46a21355ba6","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.3.1.tgz","fileCount":14,"unpackedSize":209285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyktOCRA9TVsSAnZWagAAlPIQAJcGQFHxN4faBV2kDxFr\nqhFd1cBQlU9XfgdMaQvO/5tqTixYeL8nmlZFwvOAee6J1QyP587XKno5YeqY\nWFjFzacnj1VIDGh50qyG79fjBnCwEhDsUvUM5DbTQSX/Rw7bUAM7OcM9UHbk\n8fOBNc594myNL9GbERhjdqzEuWLT97S29JBHWAXUp9K9pAmDUTxfHQvi1Qlc\n5pxXzkVE7b0WG0ls+YUfLM0FRl8JNxq67lf/SsEVIVA14AOzEE+CdbeSIoFM\nRX4La5I7H64LaJs/GfBkkLtf7KNXTcqMkOkwjwEMS4k/PFg7sIGIjG201c4Y\nsRHofFNIzY9CwB07eiWfZBqmYJdEuSL08ZCiuJ9mnuGe+GbuJlVQt4Yn14jp\nMHJQWL7WFij1lbiLl7kQdfeQmxATvcBtKIBKViO/gxKoMGXCajUyjL5NzzZI\nU49yDpNaEovcaO39051yWAjXi5zQWOhF6svajp3joKW28yXIV4yx/BRcwpXx\nCtuHHTiDwWTbB6jnMm2PsKz7ZsULxftTXPu9Kx4g7Z517d1wuGDQTyyuLcMh\nlT+I+zG4AnsaFBY5o1vLy0S03iMT66ss7b9aGMdAu2XMchJLFVICrGcEXEKX\nZoyQuf7H/cfHtYYV9KpTUGUxjbVh5QPPU9SGdnbPXZ6U8YZu3DU7KLLM1KI/\nAiXZ\r\n=7aT8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzbb9Zn5g1dgHtv+qTSmBzVsayZ/pO/5wia58h6uXzyQIgGzLttlP0jyjaLLi57agiMZlAImBIIX5/nAxPRTzUTfE="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.3.1_1590315854457_0.4555688931828552"},"_hasShrinkwrap":false},"1.3.2":{"name":"@ashthornton/asscroll","version":"1.3.2","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"e4c9856274ddf357f05fe93b86482287e4a65799","_id":"@ashthornton/asscroll@1.3.2","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-9tmUgCQHEmJHfQ7BMbtY8xM1D9U3TSkpRxpToIep0VegLNlGeNBV8X4TPDjcnCrGfjicPI0jNoE1g1HDqAjJNg==","shasum":"422da87246c9bc64005dc886703de906f70520dd","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.3.2.tgz","fileCount":14,"unpackedSize":209282,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeykxECRA9TVsSAnZWagAAeVIP/R6R6IztKcQZHYAbxOOH\neJ2y23JyFaw0KWNO00eFUwdHZ9waoV0L5hykDUaKLqYeBRsK7tr5D+DGjmTl\ngE/4JCLMtWo5JPb45N54Zf1oYz2F9DuzMYgz6yGniOo/mtu9GXQrMGYSUqnE\nGy2TNhSTX7IDxsPGBfRkN6j+UZNSwUAtzffa6BpFBW9wXTR7B7c+YB8UIuy/\nXok+pMlIlUzK9LcPVylQHx+UAJ+gquJCZh4T/fID7JEbmr+zO7hC2at/qzqL\nyvBlWBA8IdUe+j2thydFINIFhZDZfmYiSzqVVAugkcFKTh4a1bs1jAAbMawx\n8J47pyUAHOFIE30aXgcz+EJXB35s+JfMtoHTsSOqfrL7ATTRZHifDbxHJsxh\n/g88SEWtAORsS/7WwhKizfRA9zTj5Pwau1KRlAIRbO6uyZz+Nck75Kt66k6C\nK66RxHUUPd0EIKGq9wej5lzBvlOylHT8VgyXvBJSHdK/RVsy+t7Kj0kX67PN\nV74dRzG5i5aLquT840oz5L4k5D6OU6J/JO9mUAFRow66OnE+ywsA1/crfuUA\nN2mB5jkAMTlyuWt6HK4Cw+H3EjAU0/IrNUiH/fgtWJUyvwoiXpac1AIgfN1N\nF970QlglW4CtMT/nWV1oShAo4zoIOby6QZ7q97o60EO7RWH7pyhc+xCCiMaz\n4dan\r\n=A7Ur\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICNY31OVire+IxaIAiRlSq7pv4BbRHurMRobk5Eft8CTAiEA4zTghk4FgUzVR24PH9JY5Oqebh7C8mRr76aYLGmOt4s="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.3.2_1590316100289_0.2960758192915549"},"_hasShrinkwrap":false},"1.3.3":{"name":"@ashthornton/asscroll","version":"1.3.3","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"288c330b99877a06a3bcad8d47c92b6fa8d3f306","_id":"@ashthornton/asscroll@1.3.3","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-5ttOa2zMQ7VvIHN1DwK3iEog/BNXCuNbNS/uzXy1AkUTurpOFzM35t7/zWg+cdbkYDKr4Alg8pgtPjTnhIQjnA==","shasum":"98219587c4fd240fd7c464a709a59cfc87858559","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.3.3.tgz","fileCount":14,"unpackedSize":209408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1T2RCRA9TVsSAnZWagAAbvoP/1uJqKSKaekhjfiD2Rgs\ndMgPNxdVGIatWMTA1hR69DJuVsnBcT2bPIVPIWc7BNiPy/WFdojkLPhkZlIG\nVTEMEN+N/VR8/UYXoegCgMk0WGkCMYx2IwVwPay66ImO5nqh9v1UvQHX/X5/\nwoPuzkUO64kgMflPpwtPvHsaD6qEr0fexIboOSkpxcOm0l3PhZi0m+qcxx71\nIz0vqf2KQlxfXdpsxI8EilefG/Y3ehe/UZqFzZoxXnriEvvmSxumN5qZbYwF\nMZbnCz+G+EYjpxwSDo3Bw8Z5+gRwEh7TmqG9zqcgtjbBjsrl7sw5fl3v9aaq\nfLcIHqCTAUKxR51EkSxbT4PpLTp4t0N0HJOJ+Y3uumSsY7wJoJVA1Ql6a5tf\npGdU0F9TIs3Zdnt1a1WWDntPm3Rhs1lSj1OryZtpatqCDZkC94ybbg7OYeRU\nE4DNdvqtIcwHSZ1u91k2vqtN4D4SU0MwABI/gDnH8oX/EsQj238bFryhvqea\n/m1qAl14u04+yKTQDrRvPJExe+OaaHV+L6fBjXzB3aeKBg1INW1oTJm+xVV+\noDV88IDO9e07Z0MR6B2MnpqORcgeY60Pqx+8PByPRsrJfeAUap9Hlaszhdbd\ncG4NuCy1ruZIC2rXsTX22kcUTXwJik04MGgiKBtHuZjxsMKxBQcEhPnlmrmV\nwgIu\r\n=9EiE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGLThyMMZ2lIEEPoKFHkpha4lnex3gn4Fy6KyuC7crUwIgehRJMW7tKiNQh1SPPlGjdzo7/1+u9QPVea2DOFZR6Ug="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.3.3_1591033233164_0.666214255078712"},"_hasShrinkwrap":false},"1.3.4":{"name":"@ashthornton/asscroll","version":"1.3.4","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"c6c34295853e52025de0876b9daf1c64e5ded3c3","_id":"@ashthornton/asscroll@1.3.4","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-iyCBhxV+15ZY+5nF2edhb6pUINAFvDbHL3oynd3x1QJ/ukVv0DB4+o+xlk6S2Vhm+GlpFgMUp2epaOk/MWaksQ==","shasum":"d8d404eafdddbf14555f40d1e16af152e4e96e02","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.3.4.tgz","fileCount":14,"unpackedSize":209757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1T+tCRA9TVsSAnZWagAA/BQP+wTgwgpp2IE3SzhlNovq\nqgXJbTr0TkHWFy5imJoGipJkBpI290xCeB1zvADzCRKKuLAtumk+8BIEwji1\nAgSlqdrV/usdu71U5wMaxGtRpo1sR6SIoflhi0IMWMngicXY5llhUYrJZwf9\nBXuo1VzXZUibig6VcxlyaHeep35XgCeUWBdjjgTQRv7IR7tPdQMdCNsBPcEo\n+7fmSM95+oz5NEVR2MdM/YEYSgHim4Z4xE0xbnGAI3BZjy8KVDPogUDNsf0w\nQqQ/avVhO7ihSWEOsF0VqJAa4pQORHsXtjCysMor/JZAMIDHFA4XUuTuRyVz\n/wUeOfhjXUYE2gOHIhlvAoIedDgoi+ZA0izuaYdgZVMYTnJSSRGU9Pfm/uUJ\nYkCNbOL4ytMG8Utsd8+9ZcsTwpjXhwg3xi9VmTJ+56rkcWU3PgPGy9kB9+3J\n/JUb76CDnZYyXHGRWLJ1vpClnhB9gyWlFBaAnAzy63nTC61pv3qCsrdFl1K1\nHX1kgPVvomOm9ih3mOHdW9gpH1khAa+a1bUQ3s4RUF30rYFPKk1fjBAaTPyk\nrlgJMx28e0zcmNtNo2PGpKBb58c6QY8l229x0XBn/HF5hfcnyuwkPHvRs85/\nm+vS8+CXj129cDKkz60o4+i4t+DLQuAQLSzC2KrMBVJoMnV3DCMd9MWxx+7+\n2LiO\r\n=pLBh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEet5rwy/SvG2v9ucczkqL0Iy4rUIFm+KnrtHs1zq4zAiEAojWfbAngDv9xEGQqnTTcacwlL0s0weze2j3TJLMKToY="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.3.4_1591033773042_0.6398408753198046"},"_hasShrinkwrap":false},"1.4.0":{"name":"@ashthornton/asscroll","version":"1.4.0","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"c60527e0ad8669710f47695eba27ade039b51ef2","_id":"@ashthornton/asscroll@1.4.0","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-rR8UcYh4PcAq0kJULkJaZFVJ+Mh7D0T4bbhACVfJHPSXfW0ekZ00i807lmWioWeZgWgQn+JutUu7SBUYzrJjPg==","shasum":"546b0347bebda23dea5151aae288f17f44c5af53","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.4.0.tgz","fileCount":14,"unpackedSize":207710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6f3qCRA9TVsSAnZWagAAMYUP/3mI4/9SSg0t5S2i6vlx\nkvLcWnaR1cJM47LHl9Nds2cN0L1CMmVCLHmpwbssj0R8ax8P70kg0U7wQVfu\nl8WNpq5EhucwBtVHP2DXXz9f9hF+w7CFacYKzVkCH75pUn8i6xfkN66xEEwK\nF6VDVd/aIgRCGxy6uJeT630B/u1wQUcNBMhRtWmWu+uevhOgrGSY6Ppg8NOu\n3eGl4I70EYb4xlNp3FI3tViyxHlqz25nLDB3F2JFbj1fbr+nldHRcsk+qFTJ\nAoXXKhqnBDx0Vs5cAZIlR1FaaeVC7QemR3xRPP0yHE7qHw6nj8oxr/zXXi7K\nbpryTzSio8viTdY0CpTEvLL+UYaFTngf78CLAQwu0mjsRINnbJPwNztS30OT\n1U2xtC0r3v4KVO6LCL87iubk5Ywu+zq5mXorqS6y9v62dTYiHesiUV3AXBLe\nBUVZQG0Ivn2vPhHmWMEvM/9stRxoIkBhe/VRpUa08Ixh+m1UzOhn0OWCA6Rm\nMPKusj3xx+xe8yxgloB30hU9szMfLH0rOPlLi9Ma3MZLEPHxe35dJ14asRYv\nUnY5F+WpeepSB6PGUeO4DhRcgXvtCCil2cDKjMCsq91VVRTUN7dDXmW9opJp\nLvNlZ65MmJJLRIhiePgaXzEydUEwL11K6tWJoWIdb0HLEOm7DUQvQ7Okgoo+\nQzRv\r\n=EkqB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDq/82g++c4+NNKeTibMA8npFANIrrp8O4YhIhSavK7oAiEA9fb45LOWr7UXLu8UhXa/hvLXDmb3K0u2Z2Vs67oDhB8="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.4.0_1592393193623_0.2538697123435594"},"_hasShrinkwrap":false},"1.4.1":{"name":"@ashthornton/asscroll","version":"1.4.1","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"6a8f6092e644d8c4e67023334ac27b9c37416c95","_id":"@ashthornton/asscroll@1.4.1","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ZJSfQSu7hZT1O/jw/33A2ay4WLGkk/gLGk0IHGyU4QkPsGDwU2rvMN6bezmBiJj/yGkvU3zOCM3jKL+IJPBecw==","shasum":"606c2835693f9abcf05a2af05b2b4a250fc1ce2e","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.4.1.tgz","fileCount":14,"unpackedSize":207674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6ynrCRA9TVsSAnZWagAApqsP/1MHjq2++elwtfN8V4MS\nwOp9PQZ3HVOxZEekJaZHJIhxE89DxaTDpynPTuzPIdROJGZN+FJTVIYg6GO8\nGw6366ME31SricbvqJYFrXQTPyIiTzFXae4uu3wEjg6h0oqUcHnIv+9hZoFN\ndlOc37w6q+AVw+WaRCGbA9F0faMNS02XhVXUmsaiXObu+jnORTr6vx1M/09M\n/KKl1ti9G6Jz/ISzaJLRFfSPlDUGAnB94V4JruKsScODK++eKto0j1ICIIn0\n/K92hIw6JGcwMGbrgY4DLgjFhQwPhWNPOdp/cX+gyQFQOyqkPk+UELHVDFA2\nIK58OW1V2BpDRYn7VDx5/gQvFg6l+4k/Gt9p52r+7TQG13R5tn6hO+e3Upoj\nYCZ+oA5sgv46O2BOq+6C/385ODG/enA1V4qlVQzyY+ATq7IMj4JBYN9Ii795\nTGqsCaS5UPXCRqs/K19n3hx8fMBIrVfRk+/7Fxpf33wHSjyhUosdcqFF+DXK\nVnpP8ecZUy6ZegphFjhT9FmsYi7CiWz0TaiGppCqkNYuHO7d+004+/Ii0Rtq\nFRPM6PeyIik6l8zudo7XIw9iFJCV5GlPW8j0xktTMyYgw7chmkHCLp1WeQ54\n6yraKEnTUdmh1NZmmYZpesJHifoUSb8JHFwWmrWCCrMphLhhYFho9HX/l954\n0NyX\r\n=dhYD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAkR/ydNMUn5/BtE1GhgaEXU1XxWyTiiC+mopXgd9nTrAiEAlDvpnKhxxJAzngOxTqh8d++QLoDmjKtlPHcrdFY2OeA="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.4.1_1592469995355_0.49650672848072697"},"_hasShrinkwrap":false},"1.5.0":{"name":"@ashthornton/asscroll","version":"1.5.0","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"5455bc15d08cda081ae19605cabeddcd60ac345c","_id":"@ashthornton/asscroll@1.5.0","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-VPxArhP1SvxDzoRwtqVAauUgQsGLG3VYjyEoPMjxhg/+uAfRQt1Wps5X42/UYQYGa8da7kVw3/karbIdDQ7b+g==","shasum":"4afa4b71bfc173dff25bfde25ae315c148986bc3","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.5.0.tgz","fileCount":14,"unpackedSize":208935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe83ECCRA9TVsSAnZWagAAJzUQAIhBwC8LuTqnpo78eVgr\n6PNnlKADtWDHNeJILDw6zPhoM+7Sib2nlisynuay8zA3TrjjG51n/yJKIGSF\ny7Dg9KVnQmmIyWnZp44yDFWwlYSdY6oWaXMdBmACtaaFUHFgyt5FTHjrcKV7\nQAx/IuVO29dRO28061IZx+3UcXV/z4I9AynH07dnvUcibqAccrTYSLqKIcee\ndd4UpM9qlqOWfFsumcvB/Oqp48bpNZ9mLzhJ2XHeR/VFLixFOcGMzwA7Vk6S\nx8oOqhZv7GtZ/HJ+uRcADQKUki2AaSibgQQzdW/8ewuOpJlLY4ond6/tmPZf\nP8+ek7Pca5gHnrOvXOgwja0sxeDMwNmRUgAMC9WUrNgZ1qUdDGIOMWHa84MR\nzfbGsDjEWCw7c3XyLjdxoFeCoKtIV2VguXAjHvYaT+mF8XR5b7o8YfS4tYqV\nvaxnUiPXSq91k/ycG/cR/vycwQqZnUpty3zzSK3V50jww0vkdeiVXHWS3jDE\n2YF7K3dZ1AV4qU6o+BLulu1eIeADhA009+WfjDhYa/LxlPfjk7fx2UgeRXCX\nHZHJFUqMx5nlcIf/SSWshCSKDRlLyrC89Tj+OaTgkEqBkt3y/AcMap/SjK5Q\nMko/h3hm6NmJGk7ljNwMs0Qs6uHAPFHIFvPD7wZG04sQjUSjyKCjx3HMVyWA\nWLbZ\r\n=dHJ1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5r8mZI2orWVWw7eeXVy8FlMAYOZ63KIZ/nyQiRqAPUAIhALUtVRHf3DAKhr4A+CXL0HgL3dJqFlKK4QPVjeZdnaCM"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.5.0_1593012482270_0.9906590882386146"},"_hasShrinkwrap":false},"1.5.1":{"name":"@ashthornton/asscroll","version":"1.5.1","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"5c724b3980a61366870f8fc0eb59fde2fe442c54","_id":"@ashthornton/asscroll@1.5.1","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-F3xpmo0kiFvq4DzcaIK4e7FrLFDUtiprLNSEGZD65Ud5eKCkT1mzJuEp9dA87amMddBY+DRbTmtVeYYS/GXp6A==","shasum":"463dc71f6f8d501b3f89bd229e6ab76370f63d3f","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.5.1.tgz","fileCount":14,"unpackedSize":211259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe85geCRA9TVsSAnZWagAASIIQAIluM9t60fajMer6kNsp\nNvvFIMAOa/N1ffoMnOCfT39EsIuNbMNt9bAYGZF73vpD2SrLfT8VSzIUclrW\ngWv5DBN+EpOVpsCGJ0MdkdoqbyB/KAzE5k7cZfAjMgORfs2OrfBHR0L6NmSC\nB8WIxxAww1WYYKph76Bb4T8Bjhuxvo8kMHW/xXc+lWiWxs/bcml2zKkNntaV\nbUWKS7wqHF2QSwaWU/oh7vaoxbWeqRYROMfJT7Y91oFegpGBj9mhlI9EZhQE\njXtbyXndcXmr/M6e0tYUi4A9OEerG1bYi8rzsaQ8O0kwcLNMkoMrfchxupEh\n8y0BOwap9S2y38eQrriWJhN4VzuoJdxdZQL3ac5Mq7BidoSCrkCLBfeZk3/N\nGw5heI4jAUH9AxDNMEwEAHox4ilW/lPmaK668mX6+Un/fMtrdI64TNY/h586\ncz6eHTbEykSIOsxHSXci0Nsu+RoNQOuRypbRP0AA6PygKcZhblWaG2N8Mo25\nUTre23vbgC7cWru7UEHyw6ujGpP6ixavd46AntMPsgRTVQoNaxlp33/3q3/m\nptjnXS0tW6bkQbYw5As5ECCU80gRh7gmbFCVUfeeTXilwOZTIDWgIsLXKtHJ\nEZYNytFSURdXyksl7ufvgub45TnYbwTputRRsxjxC66BOLpPEyBm9F8yUoPB\nUyf3\r\n=niM8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIACKzrBqkLs1DxqmUTg+PZhBz6y3jyWI4TbEjXwKeihPAiEA/+/LrAnk1yJSNJvLK5+7ZJh7s5Zy8CX0uns5+iBAkTA="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.5.1_1593022493773_0.5309250284242584"},"_hasShrinkwrap":false},"1.5.2":{"name":"@ashthornton/asscroll","version":"1.5.2","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"fc18f6780418224cf9a8dd93c47276b2b92213c1","_id":"@ashthornton/asscroll@1.5.2","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Mt5Zt3zxKcH1j0M0uSK1ulmNUd84BkZJTplfh2lbolf6F4q0w+E51yJqW98Rw21paqbNp4Bg25UP1OeqWe+gmQ==","shasum":"009c7ee0399e41d5dfd7a1392a68b7fc8591e7e0","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.5.2.tgz","fileCount":14,"unpackedSize":211259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe85ocCRA9TVsSAnZWagAApjMP/3RdgeI7m6aXlcOFwOZC\n1z88cxbGZOMnylgxlVyODiyO3fn67vFkCNx+ernDsUsXnU+cEa+hJS4hJMbi\naN38z1/sH1T/5inMPEy298YmVWmkAVgeAY8ZPYUpE0jasEK3cx/G9xXcrgAT\nh+RJPPzw/u7dowK+524S7/WUrXwQHDyxyTpa0qYWFz78POnAPn3NCJHTM4Cs\n0+ZfxNtRdLw5dvuhTfZkTeIxnpbtQEDxg0yLVarIGMNc1IPY72c39QSaWDuY\nj7nIAwkoQwSTmctKDW/ydXrBexCHKRv1/49ftux/OIkM0FoJG4cY8ecakH2Z\nOEMPuuKR1pM4Nv0tJN+e8vJTkTJEBTvQmLg7Q+pNJ/7ASx0YI2fUdvaGCxYh\nvNLuEznOXuc3cqTK0BuCNcqFIoK04dMOQs8YfKXpYG7sZaNXChQ5jpIKJgTK\njJtxAa60bP/6afftUvg0lBA4KRKOyQp2UHInpJZiwhPdpNzPXBnGCmWpGh4Q\nFNt0vHGk3VvDHjuzEPuT0Z38VxfXdbMtoIIpog2v/6kiex1J6ix1WiPDddq1\nzfFoJOZzj8h7GQa34tx6JevJGtkVRjboBRiQ2ezFa1dafjb9MScDbT5h1vwp\nBj+r3X5+2B24dlySZSc5KCjnBziMxqez5qh7idy9Btksf88z9A+bk5Ug5OHx\nX2hP\r\n=O+99\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBbpMIGJi41hdFGond8qp9ZS5ias4rCHJPb2e7l7icBiAiEA5DBU3Tfp/klDIdgOSg1MIDunuVMd8DA+bMEQdT7TmYs="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.5.2_1593023003763_0.6668745490191703"},"_hasShrinkwrap":false},"1.5.3":{"name":"@ashthornton/asscroll","version":"1.5.3","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"a32968849bf1c0ad1a578cee46a734f5722d24c7","_id":"@ashthornton/asscroll@1.5.3","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-qqtJ6QPeBTw7XqNisp+bJtj25Byf3VqRJD8c5NpzVzrjm7F5JxwjHeepCKvhX4ku4XKJSfMgO7eEIqcQHyvRvw==","shasum":"4d4d1980c891737047e663b40feb170d937c9263","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.5.3.tgz","fileCount":14,"unpackedSize":211396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBEC+CRA9TVsSAnZWagAAOmsP/RI1hPZLOQhmCZvcKW2o\nKk2bKTO1WkhJFusbmsXKgp+N9dEUN6/tg4khhsrK/wVaAkqXZtivECAVnqo6\niROcB7suAMynLbKTDl0UD/t9cCAH1GVDxHTxSbiWSpN+kwj2bsYn2CHZiaBx\nnYbyR6Gk71w9PlBEI4RgSnYCcAKiLX+0g6l1Ocv2ToQsQ0DgoIvhT13M6kbI\nlAuQi6vrK0+2FibDTrDR1dKKduqYFq0myYC9AQO80ndcrNW7CkqlzKMAtvJW\nif+HugmrG0q84lXGcuFJkCfQF/hSBnXLGge6NdHxuPnC9oaVM1TEQx00pmLw\nEoSHLzacyWYld8UHwTAnwJSIEuXJ6WCfyGct7VMesOBUiWICtRrYV4wTwHIu\nCZIYFk82IiU/YON9GhraOG1cDJAiHIHNDyNUoefItXX7aXOyuEDUtfjHMlW5\nRcxn6cp+oWurHXfaXCr6kEoLWn1xcxKLE1Z+WsR/tGUIyPdE6yruFhztFaXh\n3ayyvK7pPJEzq80xAYErje+CS0SEl5G/mWOwG0SoofRkabktOuJRqOgrm+2q\nFkeJaliPW9L3WalqYMPKpkx21JWHS4htEB17ZWcOocZzYR1RPdGjqIRjtSBM\ny/+tX5SY6hv2EK7tc8XH6FW+De6iKEbn682pJeKru+Ca/T/UcMBO7kx0Cx1a\nPNt5\r\n=ViB8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC5ndiHA8mUQ/+fnrDyTIYWuKkBjP3A1LXzSZCk9iC+XAiEA3wLqyBCSrMEjM55OdNKowctFQZiZRcLUa9grqb2BGpg="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.5.3_1594114237972_0.2162406385285376"},"_hasShrinkwrap":false},"1.5.4":{"name":"@ashthornton/asscroll","version":"1.5.4","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"4bc17d38cb21977fbee0f02f88d72c72b9835a7a","_id":"@ashthornton/asscroll@1.5.4","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-HLvPWuYi7cG9PF5F1cQeOeLiXmrYcSDq2O3+3FTTdxMFoMFjwAsXA17uYil8g57nMWj8EuwAJVll+F1zinHeMA==","shasum":"38982492070b0ba0acdae03f28ff81877df5d9aa","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.5.4.tgz","fileCount":14,"unpackedSize":211539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBEFYCRA9TVsSAnZWagAAcnUP/jrOx2DhD5CwM73ZmOOe\nhVLppHV4zXU1trpXSQP5H9c+xH/R2NiJDDBy7/9JliD/PD8Jfn7t/Hj4XBaC\nvlNk7UR3damvpwX//qk1Nw1KwNZQoeVv8BEjj+Ydg6cOPNm4tJmJ4AKwB+Yg\nt5qj4oJTBW+bRcMDt7gDB6MrhLV5GGWrSnKv7oDWDvv8eMrUs8Ztgpf/j8aJ\nkwEQanamseoOvbbfEBLsDv/8fKJ9BvKGCOfixCGhaufl9QbgkgXJyu4XEXbW\nmUE24cIPaq5M8771B/PV0/w2s8ZM5ps7cEqXS/08XK0WBrObHTFdKKeb5AUT\nZ9tYVx7NYMoBj7YSDsaE99qTuwm5h5iNecFOGWY4v3Wt0+/VJz/geTopz34c\ntBY2uzf1QSv69riCwqvXHeT2U3+NMO59alfTs2m5ilPwVEOVxKEQw5MrGddb\nA635CdcE6GtExEdglKjs/45hAPE16j5jaITUCW4kp+fEdE8ORTu+U5ory4ye\nJnFHy2wkrMFltvyJY1XmnymDE+B4QOQAJuV8u/ULhFiohF+Ck2cuidvt6xxT\nmkSYHeSh+brPhz9iqBpVU3tHpxLh7pfVtj3n4jDEwf1rKLN3UsIGHuCpIdfX\ngNh0Q2c47HTMTBd3FJVfKxiz31EtvhsOK/xrqq9vOGtjnKAm8OoGsG2bkPYu\nQLoB\r\n=XIGg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvrYE5FJoZIwF8074n6OHrx12+TniDYQMW00rjxgpafAIgE0tkn6rFzg1r0LeaWe9y4d1BLI7/E9p1q2EzTTPhqdk="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.5.4_1594114392202_0.09596080664320406"},"_hasShrinkwrap":false},"1.5.5":{"name":"@ashthornton/asscroll","version":"1.5.5","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"9cd793d89e2a014e4a1436fa68b6b1226abb83f0","_id":"@ashthornton/asscroll@1.5.5","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Kp227rpUXMJr66UBgRXjHJ+coDgs+Q01eR9ZW1TjsNK+LdpgEm9x1TCGUWg18vEuqAc6cr8hH0XOOSyoTE8Niw==","shasum":"2af06744592b61072e229fd243c90fd511f7765c","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.5.5.tgz","fileCount":14,"unpackedSize":211570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBKxBCRA9TVsSAnZWagAA2ywQAJsPKm3EIIOaatlIIE5c\n7ScFD9e/qF7MxloNCB5WTSmVMWjOnvfS6J3ViVUw+b0MBybrCTX1VsFFFR5B\nStv0yWUBC5T9YqFfwZO+WObZbhtlFtuAy83S8pF9Lx+k9FOeNbae0kKCvF8F\nh9tsvN958VrOHi4xShxOWzr6tho+NA5Y3+Qw204IdZMVHfMzspVWYyvtF8as\nmNECr5mT1W0f0S1imHc32dl9l0NspT0WlbYL6okDeURr7ew4AW8OGdRXeA8q\nKa1U+LP6bI14Z1K26DObP7ooWT+l51ZRfoEquoqcC7IUU3T5JtWY7EKNk89Y\ne0srvZbqvFtA/IN0dvWqpPZTo88fQ9BBlDS1E9yVwMY63TPZmWoi5oq11q3H\nsokc4GrHVzMFMDl5kSYwkQPqrHDYJX2Fw+cl1NaIBlfCF2S/Y/R77PezTGTL\nv6kqDQIJtVBBqpyxvI3YcwRiBNXOHsgC8K5gHPZkBJ9Bsdju+PqU7PWMBwGg\n6xv1M62o93HZjdSlFqRNvDUxHmZnY6KizNYha8uSUq0t/87hT4aAh5YZ8L7i\nd/vobcVNH653a9PnFQ/WCMcsWdMn76ET+pFMJHYvKleb8nvJoRCgYToCDDl9\nznzpDkoRi8ZveyIcwjxorQIftsXneQ6fgjBlVrtFb45O5vsa9+KvY/2Tr//0\nM7YJ\r\n=9RH7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGhG0SmsFE2xJ3g7t/K8QUznjXLRwpS2qqK2O5XJVFLfAiASB3Jus5G35kUOqgWt0ZmgmERjhdwNuhs4poHydqsQpg=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.5.5_1594141761232_0.6083163253505723"},"_hasShrinkwrap":false},"1.5.6":{"name":"@ashthornton/asscroll","version":"1.5.6","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"3a287122cabdfeb548bea70edb9a0882ae8879a8","_id":"@ashthornton/asscroll@1.5.6","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-DRs1Msk5UHBz923f3AGStc4I8LszZcq82EG/dhJJCfi9T6GfvJzfb5z2VKkCcDPiFTggErqHRv+64dwR1ejX8A==","shasum":"ca587ed4526379c45f092469d491943f983a0b19","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.5.6.tgz","fileCount":14,"unpackedSize":212634,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBMVECRA9TVsSAnZWagAA7gcP/3iDdUbvjy9anTbE/kJ/\nCXOJjcki3QB5SrIUprUDrEf1cNSLXiuC3j3EF9I0R2gIqeT/uSGXZzX6nBCp\ntL9I4IbmlyoIo68b2Y8ZB76j8OJVFDOnrI0UvKudluexM5IsLJKbsKJHwrzp\nZqq46C2fyr3pO10fPyGY1D6OsP1kl2JqxmTXFwt2nF1m8nXL0GqeeIqjcGiL\nCqk88cZbsyVaubnOqJEBXvcn5jbve7xjL5CF07uVxbxAAH9L6bnbM06gHn69\nn2TZTTunfAJRKuTwBEkZYCR1fPzhdSIsEvHsj4ZA8L6PsAxcXX1yLazF3lUT\nrSGNTX7dqVPzazsQbImeni4f2KF6sVnRiNa3A3BwiO+MMK6OxbnsAAiKwXgh\ncKoaqOqKoJdqX0iR/Qcz0b/u+oOW2fzjv9Qe8aVRhMseVxbp7wt3MSeve7SH\nu+xCZb9PaGDIcOVnyMbKaKF7NNxbDQfILg/K3vgs74smM1RNQPorUYRmQdSF\nbOqVxAdp7bgxewxg0y204nf7x8SVCfZDBZ5a5Et9oLAvDTlJY9l6z+cw410y\nHtwBEwGsFa5olTdFzRDtuU9Z6S25W/E9BJt1MxemVBLSkTlOwsxl0jZMzwLi\n5yI608Or8FaCrsWMdS2AaESJqrLoB5mFNmqBKQnoqxYw6U8BBNaOceaeJwyH\n9kk3\r\n=O64o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQWnRHbFuvF2xOfM3vc0eIUcRZYH06mTnqpwXlCOvFqAIgOiAGAuGp6BIx/h/+a5GvEGZBPJS4JZ4llmef874TSes="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.5.6_1594148163748_0.61595665832781"},"_hasShrinkwrap":false},"1.5.7":{"name":"@ashthornton/asscroll","version":"1.5.7","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"795f53fe360bd150cf85eef1ca8d2d3124031ab2","_id":"@ashthornton/asscroll@1.5.7","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Ugnuo5XzeCQqreo6ElgaFzmym09hIwnVBVd2FhwLzPoYTBDjvTUNfWzAncVmWpSFKcd6ANulS2aiM9HiYpy+6g==","shasum":"37142b8863830739fb6e965ec9df66d03ef6da36","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.5.7.tgz","fileCount":12,"unpackedSize":156938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDiVbCRA9TVsSAnZWagAAgwwQAJT89a0MA3G0vNGzbIIv\nkOivZJq5a9ho5ShDwkHPJd7u5I8KPAlXdL0Rll8XrQBkMD+PHQ1OdAQhMx+C\nJ6zVA9+faKTk/3PgoOJ0dWKM9PGzDv8JRy0vr//56VN/HPlTfC9yIFwN5Sar\nX9JVyPjymeS0r+A2SlsmLSWVJqVnAPRHpWj3ROz4F1YcG+Cw/IxxnSbOcPXy\nbhKzVDl0eVNBBHZRax5t28rWFixuC7PWEF1zCmqgRT6geQODddBhtBXaTgvC\nJ1xAlQP/UYhUBH5x8dXryYNQrHCi+RVIE2NNbU6zM7akaHjIdHI2yfdANfDh\nMe20wceP5ewI1TqF15Yzob0YVBFJQFqzf/+QBJf/46myh4HhJjamE0jquiH0\nGCt/4cMY8MyId9kT8grc2UlUiMQFqSl7iB9xr2nc2o0PvAIshAABG5/96RcR\nyAXWb142zxIyiyfxPHdDCYIXnRvflwx1Fh36WmR4veRdsKYOUCelqDZiENgi\nLVTgqRf7qtGeMO0NpPeSRqV5YgmCfIHvPlZw4inVyaKbWQV4tngdDIsIJQ8e\nNFmcTw6OIunXxgxKTNuYUc+EOhc04eevYz6SpyKlfgxOmC2esdPelR8VSZpc\ncoV/MknXpH6LAdT6UinxfUXkc4LVBjLs4Ib8ESt3GmRcGIao9E37fa5C9MPx\nGhoX\r\n=2AgJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAsJdkUuxfP7uWCtUWrFRpoNfWQfVrnpmSxoXMwFoHopAiA4zXm8GpNVWrCAc9z9ku9NEqZFJlEdfr0eAJ7YGnB1jg=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.5.7_1594762586521_0.4562530860616707"},"_hasShrinkwrap":false},"1.5.8":{"name":"@ashthornton/asscroll","version":"1.5.8","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"d438df5579830750312c72991d0a37a91ce34c39","_id":"@ashthornton/asscroll@1.5.8","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-8q2XiVNuUKMu53ZGaDkDo/XaXcXDzyzENyaRP0v3cZMGGMmwboK8g9dJS4Ng8lS8zzfPH8ZWoJDMT5HiITPzAA==","shasum":"0131e0a429b92169bc10252239b3a1a11fd0cd82","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.5.8.tgz","fileCount":12,"unpackedSize":157691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDiV+CRA9TVsSAnZWagAAsa8P/3gQ6BrZYwKPxJEEH3CO\n5RkHRGhiLAMPwG9ejzKFICrCEYJASqP0HMD1tPO/6Fn+nkiFh4t9MBhGrWlr\nhHBYG/JIectqv8IB+yQlj1AEXXRs4Vtn8Rs5hYHbWNRzxygk9qchz8Xos87O\n/0bVuLztC5XucIKaP7FvSUonawYFOqF+5akU2V6SeDWDhtS+ScYh9DjR0zpX\nTC1CU9+bHdlHrbWQrFp33WcEQH93MAynMx83IbSKMfjlGnPURInDxJHphfGF\nFz7giXX07WVdb1V49qGcn6YZU4mvMY3+Q4SAZoOu/K0dwCP5tAGZlY1LMD4l\nqanlslQ6axH2sRwX067nCu3i0hW+lHOnLJGVBAH5aMvCr9bBGkk+nP0Rp2Zo\ndRA2+nOaH8mFNBWU2WgNkLZwCSTI57UEbp1LS/HE17X1xoMTND0kF4l6u1Rh\nE+bo2AchbtB3pyePOmVnz2AGlAdGUGieHPiN+1dLy/RwNO6TGL07AVt1/cA7\ndUjv/CzSfWi+zSNckBG/hg50AOGxboCBMK5IUFOjiOpAvIxCQA3Tw0+E+cgT\ngGgCsjdtbDazjGzfKrJ4FrpT8VckvAp/+GqLoUmN1X/JTexGR9MIdKS9JcQ7\nVYUAhQ4GPMt83Cu56/LmCkMSEZ6CQg9IAw/GWey6MSQcQ7Wxqwi35ubtifYW\nQApS\r\n=DlAG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFEOT/FRsNOd1DiKBF21a2yZGm4QlzRO3jlqTSWcUGq4AiBdFf3U3uAJgvqmQESbpMwKwf8j69kBytxS3lTStIZaKw=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.5.8_1594762621597_0.2632119904403478"},"_hasShrinkwrap":false},"1.5.9":{"name":"@ashthornton/asscroll","version":"1.5.9","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules"},"repository":{"type":"git","url":"git+https://github.com/ashthornton-gc/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton-gc/asscroll/issues"},"homepage":"https://github.com/ashthornton-gc/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"50075be333de87e148a8a0b4f3511560f3f1e1a1","_id":"@ashthornton/asscroll@1.5.9","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-gDlAFDBvW6DHnUJQUJ4hzPX4kZy4vSGJqPVaDtXVceydPhH86lrbMTFWqqUw2z91AQp/XjW/NeTLCx+4iw3TYA==","shasum":"534bfecaad3eb2df3a6554723d6dd52a1d625218","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.5.9.tgz","fileCount":13,"unpackedSize":159319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfELvaCRA9TVsSAnZWagAA/mUP/ipF1fO1vOEQMvQjKOgM\nMDsaMrwRPmQw1nMm0QjwJ2Im/FYpf8qF9lqcc9mDBkCFW40SlcPxfsveG3Yx\n490FKi56vguv9VWhKX/MU9/4DdpJw/p0yi4wn4gh027VjCNvS1WxOqb7IDPf\n3P7Fi7Ez+GSVjBec/esqgfhATZMI11HRtJoZ5W9SO5ftD4cE1NJC7WNUAFDg\nxfGYHl3fAFlS06/ottN9U5lBzBVN7VqOJB9THWOQsL2JjSuUh7GigQZJFJ9T\n0pjMl7qmleWtPIOVDr25X/tWyjCG+HSBY6Xi9auomnvnSTgkW0ty0U0REN+j\nCDr2AAMY7D9ygePHBmsgyJidJmDrJF+H9O/IcyZ4vW82iwsSQBM6pfwq5/wc\nPxOVCwWqKY6C0TNo9taBCyJEiev9d/6D7ZCOc6zoUZ5FpnUktXbxgIkjPoxX\nSBaJJKHZlGfq+0k1V/7i/LWnewlzb58qRAkRZx8INN60Kdy8WKayziatr5b0\n+F3lZznYZ/plp+CNaIZqRIXLzvfJWSGnbywBm53JDurcBrzpx0Y8dOZW5HE4\nAwZXjtD2FYTpAFaIpfiqHfjeTUhmdbQ2qbhAB9pexMsvzebUPCO1xwX1De8U\nlJSmk2XG6q/bNik/RAXEPptVNJsGiFw1+gt0hnXscURJefnybP8SG4TCJUxJ\nJFbl\r\n=beO5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHvFq780D8Z6mp8HzTmpZeXAs8K3b9aQIq7/Bu6pjvDvAiB6YbBAwglqBvoorU5sywkO1lEz+wjBQFrrPpxiKZy/gA=="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.5.9_1594932185943_0.945237177454163"},"_hasShrinkwrap":false},"1.5.18":{"name":"@ashthornton/asscroll","version":"1.5.18","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m 'build'"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.3.6","lodash.debounce":"^4.0.8"},"gitHead":"d7dcf9a6246f7a8f9381ad6600317dc93e48a4e9","_id":"@ashthornton/asscroll@1.5.18","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-POi6YaeKseYr4ce6LZjGjl57v1ZgK2LHvAjxvJyaPJtBxiaF8HUuNoOk3RMk3K3NF8Ebe0fGNNnEv0qO3KBgHg==","shasum":"f83de6b7a51ae33937e1c5d74598e38f35c2a50d","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.5.18.tgz","fileCount":13,"unpackedSize":159826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfM7LSCRA9TVsSAnZWagAAHRMP/j1hgT7slec/SNdlYGkI\n9GWbowCHoE8OirxlqDMAXUxdqgKWxyhnJjfdw4soHld8AxA6eFSJuZGPBgVb\nOxb96ps1sECQ1OL+zCyO0q+yPqHug6Ka8C4rzzTuDs/U4fSjNHG4InDhOU5U\nbDpxyj8Cr4kOvWIn6WBhVliYvA0GUyrEiknHGgoRI1TXSLspr0ZmTStAIU66\na9xrhd54Ab52iFamM31ZvCuHKHYnRmWR7mVB6LIhO+8Hu7TpJVB4x45gudJ1\npqYybWe+9U257bzzPBPQ6Mc0pEq8mAcW/KZrGtQpNSZdBeALsDF7NhRN/VUv\ncVdW7w4N1UQC7j8NDT0ll15y/YJvT0zyfaqtV0+WpW2eIiyvWYkZJ1ufuD6A\nmB+CTI9g1/eViK//nWnVsUpxLeU0fhxhotorPWGuXUWSem6iHCrpirLmfVfW\nbO7iKw0Anm5RufDMZbzSefgSm7QIQqZOCp7Fy05WJaDcIgJ1yu+5zF6fIEdp\nzDFjjd/wlub+TWzZbHJJyF+KBidObHxFTuWPYTzD8I2EbucTyp5NIvuVKGgt\nhDuEF/vN+PdZsXew8KZI8cfe2dn4hPhSQcMTqOYmFLuHnypHXBOasCACDVEK\n82U1sPQoPug0uKk/A+AhKamWogUdu7E6dBmFItxQBt9Uhb7shUY/LGU3ihir\nwkKU\r\n=ZDzI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiM1Ue3hf1u/E72vbuFQ9vSGgDnEKjwhrXgORwjSOdawIhAO4PDqNIg60VlcDTPgdQ3Pa/J1b0gGiH/VdHbfndEVe5"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.5.18_1597223633494_0.26610364484524984"},"_hasShrinkwrap":false},"1.6.0":{"name":"@ashthornton/asscroll","version":"1.6.0","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m 'build'"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"843fa1e71cfeb3409ddfbe411861e1510b93d4d8","_id":"@ashthornton/asscroll@1.6.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-byTBRxpH05rJDNvPlC2ndSB2I7u17U1F5ZISDFi9oGoILzhmcRwnJ+SIgAl4PuXsXmBhz+NUISZyXtNARVqYVw==","shasum":"6676b147ab6daf84eb3e45377725551cf7979bcc","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.6.0.tgz","fileCount":14,"unpackedSize":155554,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO6eBCRA9TVsSAnZWagAALp0P+wTMoiy4fP1p3MYL+CQM\nZ4vVP51kMIXtd/++4xxueETkajHY3kRSfDAKWVQYdZP6HAgJKah6hJ5smkAA\nu0kHH7oVZGNgl3vAE72bZlzkFf+Z7R9il2L/9TdybQprJQDZbysl8vcn5WFA\nxfH71Y4Z84W88CG09fu947Vq8ppdgfJFON+nJGoZSszx7b8ioJ4+ACljH1TR\nTwcQpbceRCasWPvt1HrRncFJL4LX8NyI76eHSI9HChKOkVwVyOnskJGe1H1Z\nDnf1NMVZinwCjfHdhFDRyvXLEvlsqI9wvC4Klk/VR2ypqvMe+uYVHUcUdKoV\n2adWE1t9Ub52m/63X7cAV4HeCBda4dZnUY5CR8hGLrdUF1aehGYFprsJU0Mk\ncgv8AZdaqvKJsneIlaSXzZOLanrgLSipLAIRI70qhBvm78ONmsbG+c3w9g6Q\nlI9J4drXV5Z52KgczQh7bE4JOX6WL4wTCmbtwTRMRXBbaXPk/F+UfKKkWcMS\npBwEUHo9hjJQhvkyVQZbfPOiOc49u/CDkHj+Ebds1q3677L4ZVefATWjVfLX\nM03G+PT5aINBTjjwN/OVdYS5jLfct4QmWkOtfnYzk6h1JagmjeIELLeRZNRI\nakR053uXMi0kJ1OwvqsApiZzsFPGeXhRg3um0Y8kismgMJXgV/UUHTfiATXT\nLuzA\r\n=UaKJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDubWNhIhADR1e7aMr6EFMZBIFCHUAkk+WhAz52flKyGAiEA2WAYSDFVQXvIIEuJEDpYV86oOYUyqAoahjlmykaExFI="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.6.0_1597745024533_0.2906065892826821"},"_hasShrinkwrap":false},"1.6.1":{"name":"@ashthornton/asscroll","version":"1.6.1","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m 'build'"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"857f3479b13f061aa14aef4c54d6f928483fff99","_id":"@ashthornton/asscroll@1.6.1","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-7MOBti0pssh5l2yydke/F+WHPq4oM2rmYv0s6hDwQ59aYsE8aqOyxISCXCFj2AoaV8dcNZRWiIPYsvoZKRnhQw==","shasum":"42aad5e27573619e02a135999608d76fe12351ce","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.6.1.tgz","fileCount":14,"unpackedSize":155829,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO6/GCRA9TVsSAnZWagAAJ/EQAJddQbD0VuV7wtg5sSwp\nbqTXr3QLRW83asJa7KtacsIKUlGjD2EcsD12BNm4l3w1mgvhBj9p1qTR6kb/\nsbRIcoIYM/8XIKdH3rbskjohIgtvVGVn4alimkLVS2PF5gXq7XYJldn4+b37\nhfNbZyCd2WY2/SLE/JX2IVEvM0LIAfHAjexqTnysXkQpbGeZGw460pX2HIIs\n58hh9hdWFsHmJy3ovhr9zoZYKCye7CqJs47xE88S7YCh9KnpQa5XRUYYMk/m\nIJKgV+WaHmq0qPCgo2/hzabfEbG9cEE8XMEyGdVGRCQnNBfwKnSH+Wexqrre\nPkOaRHG0gkJO3wvJWET3HdjxHU9NA3/gWZZH7xOFmx3zoiT77SttMJjogGHO\n/TQ81ViSpyvqua9jxRiWHUdpkTotDno9hGduItzTc6C8ZHd+slDqjgRW114H\nYxU8TI0NjKx8HeEiSXvwTCCaEE5RmUoMkvXEDpWaX9jLOYdzODuofdfJ6Jos\nolX00o2hiakuhKostgMtrJnJXNXqL0EpKeyCcsM4VCuZKZyXKCq1RSO9DP6k\nbBL6eyu34gNdivyjJguQt1Kww+nc9f9v78KSQc9p5FZIx7I/Kc/XeEhOvAyp\njjdeP0HVZdLXQQ3YRzly/YdbxpLV6ghs35qPXi9H04gKmgDBFyfb4q/17bHY\nHmcM\r\n=Z/0p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFpfR3zfYu6jQmQ1nbt2oAWqhWt+hjbRlVUtTMxu4mMUAiEA/XRlxTD5334RqALMeBGf86Wl7Y8eS27E7JRPqqLrOLg="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.6.1_1597747142191_0.10050007643230541"},"_hasShrinkwrap":false},"1.6.2":{"name":"@ashthornton/asscroll","version":"1.6.2","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m 'build'"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"092cc368bea567dda006392009612bd5ccc89b59","_id":"@ashthornton/asscroll@1.6.2","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-deap+gfut1wk9G/pHo2UpMvu5ufrQC9DFq83LqnRO6Hm0HHJJMgC+drota9CE0v+C65INoqvJ9Kxk0U9owJSGA==","shasum":"64d9db0348bec95a2c626d2b4abfe89ee1a618c7","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.6.2.tgz","fileCount":14,"unpackedSize":156543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVPFeCRA9TVsSAnZWagAAbukP/1QzK4SRVrG2nY6rYuk2\nBTQRcfLOtNrs/bWPtBSn6kTWc8qw2rVLoIygEnqfFz2QjSF+WlnVh192rbRz\nFKNtH0nc+HyKYK4a0N29Ja8yv95YnkTjBR05L5sL2XGr7bjgrjKKvGMzqsO7\n27obyMVRmP2gnGTAYLxtpFj+A19Wah5QFmFgJpKqqFYUx5JgKJ3wDjkofAYm\nXeGxBR9wrHmuZUSdFzxOZ/h+VhXCmrKM7YzkiHn1pgUg4e5PLglKkCeKVmg3\nhqLhUpkQR7ZMmFQ+nl89PTZOfbj4KVvuVAbd3vJEUX7G7VwxMtrNjVFPFJi3\nIpMUkB2w6THZ4LogNwCXXiEb9i63E25PE4t/HJUYpMkhZ7Wkf6CGKFEAHSYR\ntSuRcQThfvNYpZ8vxrUECZOUJt6L1nzgvk6E7jugNq8R5V8FnlX/AEgWRFy9\nmiLuPJGAVx9WlNWaWUtWSh4xPL+4q0SrmjrDNaVkCY9y5ubhsbFvee+oU7+c\nyBIaOiVXTPpsrrhuuWxUrc6hAOzus9xWtOrsv45X6lwGnTGCNUMzhH6yZLix\n5iPR/rT+EOveEKzc8+iapbh6TD9201snaashEAOCyVUeL7qL25h+yF//BvR2\nFbCzfh2WXJyO+/1kKqbp0CxxzIMUNvUYhXdgzUMVwSmXiplgTvzFLCN0xazh\nNRL7\r\n=wtUM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5r9V2UZ7KIGs4HXHM07G2FH0XFiHV9PGZH3po09DmGQIhAJRFfjaD6WSJVb1lmxSwdk28CjQChIcMh8HT03hBNoA5"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.6.2_1599402334416_0.27839840407947936"},"_hasShrinkwrap":false},"1.6.3":{"name":"@ashthornton/asscroll","version":"1.6.3","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m 'build'"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"e72adad0a882841c0009e2752b0880af7f1c9022","_id":"@ashthornton/asscroll@1.6.3","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-OhuINS29du1Atk5rMnWioeRdnKXRVUQlJ6YKqPa/ebmVfVsC/6HsLHuEXr8xvonarAnJ7+MP9HSXX4bhcdyiLg==","shasum":"a14fcb10aa2752d2ceeadc016657a1e00ede5331","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.6.3.tgz","fileCount":14,"unpackedSize":142241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV65uCRA9TVsSAnZWagAA9fEP/1/OyLURGMGOUOeBJKks\nwg3f8NVh8jt3x3iRFhlJ2V2nAUop8uYUqdSxFR8q2n3zewZNhbJeUTfxxaBG\napvOwG0VsGNOlantmQyu7VUfwDmJh2K19wiqKvXgY31l6+0p6/9ZInmHsDUA\nDLmnr8UX4v6pQqDLMfMApwe51dvsaSCw6YiZW8c5o4JOxPppPejhSnEzwdM0\nJJ7SaC6CCBBrLAvHwThy4JOar+57I/8Ian4RGtLGGRU3MN+gJ62Gedq/pAIS\n3TjpdyG9u4qweeDb1Ux3eYnN2cDWl1ZMyHY5JQk06u90BeYlQgW87+NKPuFU\nYNYzCTAdq/DGqPVhM+4KAjxYjvoCIh41o0wHIV79C/RdnINdu9BrsSUfy3Qs\nq8Z0yKRwdkkqk/3O0b3RkqMc6sATPNyKmw9/Gi6cr5FLZkYGn5A2FPJ0CaWu\nswyv+URuFZXqlhtR5TwtRh0CqitiTiGJhmbToZEo6k8GD8aAKa5pyJAqCFz8\nND8Ep58D1af3F7GKAvSGQ6vsZD64/14ddtKkCWvQZfpst0X4g2qs9ouLQSW4\n2kW4XivuU3F70zhKaI9XzgRMRcQp3aHK1RscxRNbVZd7WrFWJbmJrhDWgDtR\nVWGsA2Oru+Cy6YMwnBeKLT4tUWnRaFVmOzQdc58SifaCgAtVbBPBxESLL0zc\n6YMI\r\n=IaDU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3BUjoP52FQGQ5KCdbBxcZmf5bHVzI0NvETeK8Vo/F9AIhAPt9e1OeJ+5zHmjnm/ep3GR+YAwo+iaVunKL1c3WhAKv"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.6.3_1599581805330_0.8226821851577368"},"_hasShrinkwrap":false},"1.6.4":{"name":"@ashthornton/asscroll","version":"1.6.4","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m 'build'"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"af3916c577ee877482a881607d9eb527ece80b68","_id":"@ashthornton/asscroll@1.6.4","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-yPawGn1puX+4vdupJkrBSWnattO7BZsEgqRmRAj2TD/ZR7Q3SEfEJyRf2yJx9JW1khnyLebWlwKom8wL7qt0OA==","shasum":"4cb430f1298aa6d916eccf2e5b10dbafb9d9441c","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.6.4.tgz","fileCount":14,"unpackedSize":142197,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfet9RCRA9TVsSAnZWagAAV8gP/A8oSe0e1LmcNivzA8Lf\nG0qCuJnKqHQ7pDkcLhTz6ZMW0xfdsy+hSu+Ivhj9L4lcSNu3mTgUZH+YVXjK\npi3GUvkJLHtK8/zw9we1WwxZV0RMSQgsM3FR9hPbp2vkB3/+zqMz7SOhN6TF\nwNzZJXvpEfmbdSvWNcTwhrArEAI6BTAWfMhRlJzExaCIZOZdhlr+Fs7x3BrG\njqOOUB+yB1vz8BjQg/vwN+1WG6nV9XUxaq6m0riS6ti+3X8n8TDo5Ck/1Z2L\n8w4Z2bODyUZE8/7lF8rZuJ0EP1unUyTmNz0ZVJsjZjApqGjHS5q9BW6tIdZZ\nigdxjWR4+dvqQ0kfWMtDHz0oInsd5T+fxYiurbddl38dboyaQontMGrfoPMg\nTMez18tUfc/dgGHrD4n2PX+G4ce57ceJgHY7rWZJuALowRpXLaq3U30yu9UH\nSj9V66b+LXqyDx9MEaDZTssKHs0fE3G75tns5s4VWumhPKcXZpiNm3sd262e\n0sjSD55bvNcqgDsR+GSK8mP+3ezXEw+zsvzw8S3BNU5GNhWS+kGlwsdbSVyr\nWgaqH3oZxezqPaVw5V57m2MlnBBOEwKTfxCUd9DUZGlzsfzsicxdGWfbjJEt\np7ORn0VAbjaa5dV2xyvtWpVi++N1gX/qHkC5z9+N+SVKZCKq7QtSyhByXgct\nYY0X\r\n=M9Uv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFUQMFu2pT+OMSjnnk29dPiosuzQLwdtBn+IT0ezKKQAIgNGSJlKMo0LXLB3pxoU8Q6ysecQoy+aPcZKN1oloGWzI="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.6.4_1601888081397_0.8594817655547031"},"_hasShrinkwrap":false},"1.6.5":{"name":"@ashthornton/asscroll","version":"1.6.5","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m 'build'"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"9449329dbd7fc3ef5a2eb9f2c133de79788903fd","_id":"@ashthornton/asscroll@1.6.5","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-HZbOU3JEYvBpQCel9S20YRAXl5JoqEF/PZzxPwPcq/I/Bo7nMDneFFDcyRbPEDLfDcvWIkvAr1wh9HWCHOErLw==","shasum":"926056f94ebad0c5b9644ac34c78c09a1d8da911","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.6.5.tgz","fileCount":14,"unpackedSize":142036,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffvn1CRA9TVsSAnZWagAAILwP/3Us4IYu6KXgW/PZ/dtW\nX8pL3Hh2bCdIho0mbB0jVArmrnfest+oj3AA+0U05L5FgDRGyK01ksV0H7Jp\nszKkqRxOecPFIuaosEWB3n7X6SWX3m1JPbRcnWqYZbSqhLcYeLRhCC7/wlxD\nmMTFvyJJWsoydodzwNPgUdprze+GPt8grqN6VuSPSpvFVI03xwMg769OVJ6T\nnPTXjDOjohQDtq05acqWCjRLTutGdHj6rMqWkRzXbvCOuiU4P+himzLFdRgE\nVz1CmEe8giVt5fpBtMbdw4H1pFpWHmUB/ikQTfqA98vh2pXtiwr9eSDoFLCe\nY3eo0SQf5TGNWLBMZ7Ne/1b5Lz3ZW5Yz9oe5vsAmDoiaF+7krV67pKlf+y6Z\nkszmjRw/FXUJBTNwe8GFa3OTpQIhX7OnS5yZABO65SpmE38EOshomKUA7cgq\nToXRAhqNZaAnRtB35zO7hq8MRQEO62/K3QP1xKpkBZKOjej5fD6L105HTTyi\nkNgTpQDF7YN0sU+9+8Ofrfxm91aalGmx6y0u9nlzRAmELhOLNKDkj3FKbNPE\n22JjhDZSkl0Xf2K1pGnWbaey1ZQPZqFYAFP1Bhl305OVvrTh8T63mhIpbTkY\nrPbOOhrdAs74BDyjBoa+ywGct8VM98eyeZOaprKEGzDVXwsppaTwDnlP82WT\nb6oL\r\n=nWYI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEOXs4u4ZcSYFPKKlqwARNdHrR/UWLHHpKvJ2CEFZH6IAiEAz/2GmXKHcXuUoxmZHXprSer03o0/ZCFBY4tHF49k5ys="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.6.5_1602157044702_0.4882191541194427"},"_hasShrinkwrap":false},"1.7.0":{"name":"@ashthornton/asscroll","version":"1.7.0","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"1e1acc08f1813cdcef8ad55a69881d75b693da61","_id":"@ashthornton/asscroll@1.7.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-ja9wVKoTlaFpZvNanT1jqXUKeKBhIz0ctNFYKsbmHeDd8X3B0K2LXFSE3mKy/Fu5c5c2T/A5lZotKsecnyfSNA==","shasum":"6be3be8098721d0ab25baaf4dd9ed3f9a5fea763","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.7.0.tgz","fileCount":14,"unpackedSize":143454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiwfVCRA9TVsSAnZWagAAJdcP/05iFrVHtP1bzM8FjlDg\nzV4QbED/h6h+2mgpf17s9n3deSxmBdEqPWOIdZ+SmUOAcnadfkTrJrEIht1U\noiRjZtv5jcAxpWnIRVu44jtBtNpstkNDy9NpQivNlSrccyUuP9NkOCmrT0Rr\nan6JuDajsePzYJl882fYTCfO7r7RICw/A2KA5NDPCgMqLs5l5ZvTnyox+ECh\nyKOybEFibcX71KmSyA+wWKguTSOFC8SJttSkuSjHJEzzdGYBwZ5f6krh26Hh\ntxmXVGdhWu4uSBuOmEDokraXt3J3EWMbhhXM1aY77sh4GkAt8orhN3vNsRNM\nzRWZ6N/25WOZr96nPupiObcN/3uT7IiXSRVvaaPW2RV/rPeKPt/qsyniat02\nraKhyMi4lAplQcAGnzMcf0V6WPNfEKqhcU8VkL9Hvm4SCt7Q9qxzKoB2NexV\nsxQM+VjBM1igzHtIHyc9MWfWm513xg34NI/9Anx2jQBfzgFkbZnstyf+T/Zi\n3ff4zijICPKdod73NOZUrPEHMbudzZFJS+Tig4Ufr4V+sIYYujoZM4IR9M2s\n45V/C2DHHCM2a+d3W1cMPOdNpjZzBF9LCZNTwAeFnvHEtIOjauEXHk9MUKZi\ngG6nq8hKr4gFidV6xbVFa2Jv3tR8ydIp2zk9m3dxhgkkRRVMboi8Yu3I29xg\nOBFp\r\n=tt8Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDrd1T2R2vyKAtxk8dVJNE4auUkcObkVrFv2p1cT0jcvAiEA07Lf6z+ulzjhBizPSffcXT3Hy8+eID3Zh3K3l/LKRRs="}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.7.0_1602947028623_0.7422286767110629"},"_hasShrinkwrap":false},"1.7.1":{"name":"@ashthornton/asscroll","version":"1.7.1","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"301a22b4a89e7dd0c841e77d5a0c1a0ddeadce80","_id":"@ashthornton/asscroll@1.7.1","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-OuvMVuGos4biVLNJGtigmAhwlJEnEGPmRJ0utUbBOHzUiYLSu8717j7CBojIUBog/422B9OR2Bt3ryod+qmMxg==","shasum":"42fd124c880172d41b69c27184ebc1322bf6e182","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.7.1.tgz","fileCount":14,"unpackedSize":144102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjCk1CRA9TVsSAnZWagAAY9AP/jRFZhqeo93Phti/wQdd\noRQ81IczOBsAos0KP/YwurlXPYRIfohkH37Aa+uCVfLDzt86K1ZSiWAbsKGY\nZXFTNR2ZLLB1T0T9fDTMumKgcbveTtWUUNyFe5Go6mNJ3XwlbRRGUq9XqtcN\no0DjDOPouEb1toClUGWqQiBBhBW5rhWIsK+o/KbrX88b2Rq73nPh+Is4M4P9\nj4uPKxvPfsclSgPEqUaGXnd4HmCAw1P4mbpVJbcDUzWx6aAnU/aswqo4v7Tw\niOELdfJhu/sl5wF0aQIl6v7b2JFdsK1/U0PYZN+uAVrj4+17MnynM083cu2i\n5/YXXdSzBvQfxe2KSKjmGbCl1El5CD9hyXrIkD++kDPX05fv2XOYqdQT0PDN\nT9NFTikspwrfFBNQTNuC+RNnWxOc4hEHWzpWG12HBq9cGqhDETFw+iuGfsP+\nIW92CfoMQb4ITPoRRxvpJWy/OQF1gSRue74wVy4026FM7oOHmXFtNmKQyTf+\nypSBJojPGhFhUkaxm8x6+IQMtPr2xScnjdJk1OP6q3TyLB8DxeoBFOP65MTF\nJLfDgIwx76rKOgbfAMX0YkDG+hcOBDx9nhIcpO4H607fwNxKVld6DhwsC+5t\nL8nXS0PDAjjpUPi7M3afDSSfu1mNSU2c6S3ZEhrW+A3eA9Se+zjnIOLWhGdz\n6v6R\r\n=Ksn+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClmNaqsFjuQcf6299Yvy61LYbkyfEYzGGTraM70qWQ9wIhALeVTX1byD67qy9gL6pGLbU7xL+u5qmd09e9SI5P8adL"}]},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.7.1_1603021109326_0.6512017742250198"},"_hasShrinkwrap":false},"1.7.2":{"name":"@ashthornton/asscroll","version":"1.7.2","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"b20541a880e67dd07f8293f78e49e807d53008bc","_id":"@ashthornton/asscroll@1.7.2","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Z4OFL00r/oLCUlRh/jVYFsBkpeV3ISqjvXPc+e/xcXse7kRIAOo2im7z4ugbQzX7F5tA6syCRZKgNrXN0vgIVw==","shasum":"557407d347957048fa6b6cf780f1495bf3bcff1d","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.7.2.tgz","fileCount":14,"unpackedSize":145471,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfs7kLCRA9TVsSAnZWagAAPKgQAI3OsWVKANKova/1U75/\nfeQsnUoIio+qJuLECh+KrCFsy73/0PixVgozMCQKPm3vT68o29tuj5W1gjol\n0J5Vakg8DbS4gAN8mkpMl/QPMqn19zzxjGUh9VhMiDK3oaXaswZRdmi8FMse\nf+wzwAARJU98Ec644CnkLUyf/PmGCWhODmK6UrL/NZWyLyKAM0ATXG6K3U9/\nqovYCOkJQ2NpeCDpEsw2gxT2BigUknfb1aeUpie7b6wlHxLqxEt/WumtLtO8\n/DcRSVQBEI7U0QNzzNR7Q/vmBKZbtoVRJ2uTGamDDxnuyqNDjTt0l7MYY1xD\nZb0+8jxBDeYHgdlx80hgsqRBa5Lg/OfA4iMJ/sC3ThBtPz0A9a9nA5eVQpS8\n734DTX2Mqh2LE3gdS4sAfAi/jbvtPCpuYUq2CliidSKhYPe1OLP4m6yA4dPi\nZCJMQfsmM0hMLbOIB4qTvr16rqQHLnyxKU7stjM6INTJEJi+/8zUWxvq3SDM\nrkDu/5lvnZeW24ITdVpCKzLb2RdYlmXY+rz6ndrTdHhA35gMTFyZ/jHigqxv\nDm630XSVBixUN2beyrc/J3RcIbEduG/G6ut53dTnUs0YQjLV811kiBspYBbL\nF7B+RjMzPXyjt3noOfzlqmkbPJTj4nlcYtCRg3pmHSH+/Vdg1pK6pQhHUR0N\n3FDr\r\n=ky16\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAGrbUD4lb0CEOT2HKuMCQkEP2JC/Os0w6hKoVDa9wWFAiEAo/TnSwPyx7aQTLzxU3Z/P+BWHcCUdhKKfrvNoKYqF0U="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.7.2_1605613835324_0.954334644320395"},"_hasShrinkwrap":false},"1.7.3":{"name":"@ashthornton/asscroll","version":"1.7.3","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"571675bfec9bc8ed8a39f0cf8927a82d34641e95","_id":"@ashthornton/asscroll@1.7.3","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-fl+f9FnmLXtQE3ztwUQKDYoFtK1aj5rGSaJKnKThfdRK3sxwP/IpPqB7Kux4OEedyWxvva1LKbjdcJHvYVuwZA==","shasum":"7bab4444390a94f1a716e1db6e12062062e4280d","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.7.3.tgz","fileCount":14,"unpackedSize":145494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftR8wCRA9TVsSAnZWagAARTIP/R6/amyjZhOnnCfeR9Tx\nn4ueAAaqRAb55/bbw6qJDVDClHCbDxPMGT3QR6lyq3bVskYjCfvnnIGbZ518\nNpQ00s5ZqeQpq4bHgLJsB2lGiUANa7q1FyIZGRxRlnZ7bdh3sfL0CIPH7Rj+\nvZ/PzkwPFLtZeDtQyCDDp70OZF6hB3Ypu6uOQ7ZwYzOl2du9Wu/PIGaxVnmz\n7tS9YE4tz/NQji3xvmLTRGaLhd/Bn5/JRkNnSJXNoDA1pDs6ql7VRel3SbTY\ndJTmVqRXdW9bUhOFPDQ4ViGZO/inKAWgHw4XIh91lFclm2vg1FZ+Uaks4Tx6\nJarzT5yys+mcxGr+1W3as9KzoVYSZ29qMyp/Fq98s7JzMmc0cg7o2P+9y7Uz\n7luzPNE1YL4jQn2lYNSCA4f5PF21vfBbIedD+dMU+xrKrS+FCgoMgq2qFeGT\nxttUgnsiO6yc2xULQCCozFkP4X8/kH/+v1ihBNvxA7U46Lcs/98E9uxB2EDu\neHVnpGT55rRs5gH3bczuaCOZ0AUeJH2EVCZUx/BkiQx8f56Tl1KLOSknk0t1\nX/8PzHOIvhVH8a91nbpj9e1TWMyhBilvAJSPgjnhQ3zNAoj1d6pEE2b+PClr\nVTc5Nn1yCvDwa4hnjJ1zYwX226b54Dn9nNepOc66/0CTIME+t/s923DqaZ5l\nWmKQ\r\n=q+vz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDUhAVfs+nQvDHglytCGFk9N+VuH0FVc1TsZVU0MOJ0VAiEAq9AdyTUFo0BTaN9iFx6SbQBpID7sONOkUXdF8+4KMWE="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.7.3_1605705519559_0.04978709953287508"},"_hasShrinkwrap":false},"1.7.4":{"name":"@ashthornton/asscroll","version":"1.7.4","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"4af3e832d39f17165591b5738f018242a8177a29","_id":"@ashthornton/asscroll@1.7.4","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-mJqx4tS4+RYqagKhwwzdh7Ofs8WO+8pR4GV3Ffo1dt0iifF9LDVfE3GUqvtQwHMuSYUt9t3Vu7yEI95s6wZLHA==","shasum":"4da37cd5ae69604b2153b888b42ea10f2433bfcf","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.7.4.tgz","fileCount":14,"unpackedSize":146192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCcP3CRA9TVsSAnZWagAAEx0QAJBsOWKxIBvsMQ9RSiyY\nnTiTlhaksVpmfhhTe9gtqgw4C0+8ptvWH0DCXrrDl2nbJNiuR4FwunQVf+8k\nG5+rgtZEvOd3P30h+qaf1hv2XSoFOulJK4Ymqq/8MbRtTqJSzem9dUnbKlQV\noRzSWT5koM/yzi6kWOZhwo32oqfF/tKKos+Ohdc9uuT62o7DqRv6xVhFck2g\nKMLDaYQNjx02qjJdG+oMmCK8rh0M6jZH4IYIsZzYcqFrnEy4MJ5gTrbslHSw\nUG9Mk+qVcuZQKKn6T/RyWKwyYbtM1VtHe1NWvW9sfXsScVDjthL/i+HmHfBm\neEAHijCxUSu+4AOF6SUMmVa1h9BTBciW3aWsePi3uE5DPBVucTVbpb1+1kvQ\ni3R69Y5Cy7WOVJRWDe2FmGvSxyLbtjO1/JLqlZ51tZXgqvdaKEyx9lZO0Hti\nyQ2+9tUIfbO9TMhcoUtMv/6XXYLtOmuUJCDmOdwuoCbOz9GCXMY/gYTD2Lr+\ncXADexLFDXIAfMJPWGC+u667FYVU0M/Z4V/84G/iiEEOK6REGNNB7Z5R7p36\neM/uVxauhqTan+/acpUN5HqW35bXkOhH/kLsbznnutuNWuLk+CvQfDJpPnmg\nXCyEIFlGvafxhO4bYlIm65WxX/C+vpd1VnlsjTGc4eAfe46/RYW3IZMia8cC\nyUH4\r\n=Txps\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDeLt7FVb83SYgAyQ0QBx2mbv8iCWVrxLxqxkMbBzUo8QIgVmbLL9bHILiCIBcPGJzZE9AzeClxzkZwtIG8fbUrGag="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.7.4_1611252727309_0.7498175237480229"},"_hasShrinkwrap":false},"1.7.5":{"name":"@ashthornton/asscroll","version":"1.7.5","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"86b2306c4b0b430f74a57a96d600c9dd67b4fcd0","_id":"@ashthornton/asscroll@1.7.5","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-2fXB8tbmggiq//QKxiNL0O97rw4xjFVFmroTUgxmeAvU7oCyNurAUEWeh+W+A7oUFdAd/Bzsi58Z3YJAgHJ23Q==","shasum":"88a95c64549f26d63e9d380a0222f713f7806727","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.7.5.tgz","fileCount":14,"unpackedSize":148230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNDjnCRA9TVsSAnZWagAAj68P/0P3soi/x/czGR0PHKdu\nYq4LOHGQGDE5qgJrLFubpW+25BxkL+s3Xb4qjZTF8ajwZQYj7Uc/wyydyYBA\n6Bfk+kyVs/zuIzuDOZT4Sa1Z74n8gisGm1vwSIWITAdUUr4+19pIYaAUgF90\njiSoyyr8Bseh25CsJ90JKW305WfsxU2GE4vzqS9l85tMQGVKiCnncmrHzcHd\nEH2kZykyDAIVd0jBlHQPTH4Ml1ThAhuNwbq4dNsPn2bPVYZxUbcMTJA9X4Ba\nanUVXh8/OnezDYUkC4FHWHlrtIQ9VacnAeAUm+WltY64quqWkWZVPdiwJ0YY\nj+U6LhV0AcFdFzB3mPdQyYULwreAokerstaiihsk7dAL5j5ICE7cCFFy/tyS\nu+V7GQZ0UywvTP8L0JaCaJKBboYVxZiidhLeLBKkDi+nZkDdPMS1o45uT5kK\nBgjKgSJUkDo2yArlW+P8SckZqMykPF1zOeqtrvTgy+/WHxmj2uOAwnRIrW4V\niCC7Vhi7LGzs0CPJUTxR/f0geI/qbVJxmwYCdXQ8NteYx6eR97+UkgULhU+i\nMPmqXNhW5GgE1Mv3lot6u9NIoSGL6C55rhijKX1jQ8SA5ynOOqs+5RyM8SAW\np+NeuztaSvdy0L0hC9kkJpOiQiWL29wbREuROmjDN13ncYkonlxkst/cFviw\nhclL\r\n=GzvK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD87oo+x46bDG3dKtmw6mWwtlY9GPsF0+7mCQ9yjgvTvwIgbPCqxr+Q0i/vwJMjCB/g0n3gHsWM7swakxL5cgXbYSk="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.7.5_1614035174748_0.19639253897568865"},"_hasShrinkwrap":false},"1.7.6":{"name":"@ashthornton/asscroll","version":"1.7.6","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"81156a6b8627d190fa2cb6067312e532b28d5296","_id":"@ashthornton/asscroll@1.7.6","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-rhxeEvyj00T9JnJwTDEh0g+zDB/Pcmt24AP54hyxNzTURWR52rsXn2ZIP1ahhJV7L931nWfRm/cufOiaZOx9KQ==","shasum":"41a3a424035634e807e6823d77de434190dcd3e3","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.7.6.tgz","fileCount":14,"unpackedSize":147346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNXedCRA9TVsSAnZWagAAwocP/2yRXtfHtPcxERvKP8xQ\nmLxQoQcIYbKwOJxhi9myMz/U7WL3xxlzQV0FE6/4szXWDEAtuB01PgqgvJqU\noJkVqlWQ3JK/rCuE1hsje49JrCXUzR/INSg7lHoqhp9J5YAnq8YeWu90X2dM\nJIm+s/5/dzscBfiWHwBZKTsG1tp69vNY8ePluYMw0WOM0OkDxIxCgVaAHo7R\nNaXmLvzMf8N/HFTcG8nXNzzrN7zwO1jpBRUo3ZyJFZzM8mUY9+6OPjddaDY1\nb5Ln+wu1I4k5mhUGCeXZ7Hy3rFL9Ih6LF8i3o2tnBJYs5XOdItIywy5/OnyX\ng7gzu6Z49ENadM+Um7M2dnfaLlj+8iytlIzwtjbUkdLj72HrzPN30lRQ4Sq6\nBaTo+DGZc8j/FdJ4b+KpXlUbjkM4xfta7JRDGi3kYjVNMShFF+PY63GPLQRu\nm24Nwg2Shxhzbe2oW/OhcBGKTpwGQ3WjgrtLgJK9WYDRxwAXvXIZDajg+Kee\nPLODUNiR1WSQi5h6e9sNk7ZHHiHUidBJQhlQgdlctoK0r0jDOK5+xkLpdo01\nndvRW8NhtIgxV2BkdVy9nIWj7ziAjYG8PcLLUW841F+pOEJiEmFG7LMScgKq\nWRuglmuEC7Q2EzyC6IMyCXlzLC6GxcQbV+faa40DxmY62UvJz2bjwQ/MiZUz\n58lG\r\n=FV1l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEd0Tj1dwNOUzIwcyH7VTMyRIM4wVKqE6At39thoLngXAiBihJydBFxB06Y4GTtTiTV3IjiVLwDk+YwWRtwIkWrplA=="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.7.6_1614116764182_0.06795461962165894"},"_hasShrinkwrap":false},"1.7.7":{"name":"@ashthornton/asscroll","version":"1.7.7","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"f1b67000f777fac017803cb8bbad47ac3e927a86","_id":"@ashthornton/asscroll@1.7.7","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-mivOdsriQHiA+Sw9bBjkC5YRXB0OPpH5+c+Hrx/zz7xWaFudMiH535bRQf06IFTrcYcMt39s9FTBju0nIDvz0A==","shasum":"ca7a92cfed6a2092fe7195e4b04edda0f5970264","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.7.7.tgz","fileCount":14,"unpackedSize":148278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfzRcCRA9TVsSAnZWagAAz+oQAJGaHYTHBLiaoBR7wn83\njF3iLmY8WBlG0sM4SQQn/wGRmxZja6e13KoPyFWrhwkpk3APQ0CF/ptBrez/\n/e018S1Orh3vpHNpG1sTtwOklCpR5nGcBeNgyoVBuRfoUxye/nh086xEKPw5\nT1QTyaDJCA21N+4hAlGioOdKjTEjHIlq7o9IhhnSh8RnTROkF5+j2pmIp/0m\nYp2bpAzHnQPcCrQEN3qsNnJazBY5Wlp9DXPhQUkyXHrEKV/Jmha8pmvfPRqD\n7IxL9sojmn+3Gn2jdMHagUWQmLpLWrMJtporlDO3+7vPP4fBPjCHE3ihiv58\nrnNiIcLjlZdSS8Dk9tnKw8Flhlx7xvDBrKYxqccccgI3UxMS0q6kNhUmRxDK\nNFO9HWmt2g7XjYdogmhBEgPE/Otjjomy+9WD0rmPGdk3cx53F5ZuSkxO2VDw\nUbDmes0UE2WoEGZxpeth5R9MOh6GmThsq8t+OUyRwwZxYnJ5NLuJdCutK2Hg\nvIvykyfwV6QoJHa6hOgISDq3V+PBkQCQKjZk5FbcYF2i46+l5lp4yHvur5WA\nGunlIql0E1/hGcxmS2ctkZHAo0PdRA4ppQai7eIkNUW6c0Fmzu3OA0oDRsDf\nVLjKgMXRNbYQrzijk1zRcQSCrQHO0nLOCXp+szuwuPbmzW5nmS7IIla4jucE\n+dbx\r\n=bDKf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxJ/BdTPajhoSzHn0QWtEcWU4GcvD/twWGqmRizNY+qgIgc8FXX4w36k4lhna0JjhugIjF1wv39xMTBDs3+WVOyiU="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.7.7_1618949211747_0.6786487050251149"},"_hasShrinkwrap":false},"1.7.8":{"name":"@ashthornton/asscroll","version":"1.7.8","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"14ade9e1c8032bfbaf0284cef1c95804c602cb08","_id":"@ashthornton/asscroll@1.7.8","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-BjshyH0P+n543XPbiTurDCyFxHQR6Pkmlvc8QHCvh6v/nWoJmYNwnw4CMvgxudqfK8299IivWza314NdI5S/pg==","shasum":"8224e22227f5d890c505914f603ab3a6f19253a7","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.7.8.tgz","fileCount":14,"unpackedSize":146434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjV2ECRA9TVsSAnZWagAAS2IP/3916BDE7t/V+8b6LRYq\nTXmTnx1VZ7NXEpGve4j9F0uqu0npt9XzhZ5SUrfX3/56GA5SUyBnIYfmRn/4\n+FJ1h7wKIq7nGQpmyYY/7XHQCoTlEH5hiMnk2Nf6lnWZUU+hApWKEmFU6B1n\nSmleLH4D5Nr/ynnrRVcg10ZkdLsNTBL5q233XIdoHiNNGpFvqObYylOehX2T\n7pctH/x7niJVGfdhvsUpxO7tdMvUZ2R8p68KbxjBSN94YXlykHrOUGzUAY67\nQt4pGklmAtOFT2+ttBN2FLoY1stXwWB6opH+opuEf29STTkKq8XJGzR8vFip\nAr3KqnV5W4F0znG0y0If20ABO3YMdbR2YNVbybo8vYQiI70jWlt98ZxQ0HEW\ny4m3GGK5o35TQxgU5ZiUzEAGfjX51Q7pIUA4yYQcty+qkfj1mTJYpdod8YnP\ny9GpwSO3seSacwr7fQZFwgJ5fGZcGHaeIV1JspowLDCrH6d79KxWGcs96zG1\nJQ//CAxX4RpTMpEl6xI42uh8AkCna2JwPpQtJT3KubX8EqanFYKvJRixC/7J\ni6qPO2fqGayj8zIfPaXwyENEydPh+3m3Bw2kD9Tpi02qosbAfEmlIOC4yGE6\n/I9MVaeTV+CeRosajbVeoP7nA57MvPQY9TkEsCvfRJIIrzNKdeXA+EOs1T9U\n3Hwi\r\n=CXGr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcRg3PEyi2QE15BzvF+G1uw6wQ2PMuo4mSuCmwlZX7SgIgdzHKBOZ17JVYHbPA5zZW6lqcPAij9FnCpmiJ33g1z4k="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.7.8_1619877251453_0.47632413716255084"},"_hasShrinkwrap":false},"1.7.9":{"name":"@ashthornton/asscroll","version":"1.7.9","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"7.5.4","@babel/preset-env":"7.5.4","@babel/register":"7.4.4","babel-loader":"^8.0.6","core-js":"^3.1.4","cross-env":"^7.0.2","eslint":"^6.0.1","eslint-loader":"^2.2.1","regenerator-runtime":"^0.13.2","terser-webpack-plugin":"^3.0.1","webpack":"^4.35.3","webpack-cli":"^3.3.6"},"dependencies":{"@unseenco/e":"^1.7.0"},"gitHead":"5d9df40737077cb642dc9565edd52238d92a6460","_id":"@ashthornton/asscroll@1.7.9","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-MoFqgJ6N48XjWW9ooECoTT38mm6Bs8VMnnit80nFNHHWX2s7wYUJUD9ou8c98pZYYMhtY1JycBEJt+GCmLEsKA==","shasum":"f5500eebe8b75f4871027d4fd51bf679892fb328","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-1.7.9.tgz","fileCount":14,"unpackedSize":146522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgj7ZPCRA9TVsSAnZWagAAf6IP/iskj5PfGUJi+Ocyo816\npNX1mzolUgVCocXASe9fuISYjJ0HjOOiXUKhveyK6lMedK0WgAkLJwIwBcvs\ntnw/buz+jqrL6OmWaCJivc8495L9/Rg3eEw9Xn06pSHhuG1nlE2RCEMietMk\noZ/Ns8kYcGKPqTL2JG7E7BUkPJVEkj+KohepOcUnZ/NYgQ4Qvpso3jiOT5OO\nB/Al8C9FnMUK6Dtlj8faxlrXZ07oQVEmpzIt8AXkhRAOiqWR15XCczBNHwjZ\ngTHp25t5QMRxDPrM+Sswu4m9UzNNgR+QPsmfB0AORHAd0JoZiNKiy6oMs64t\njsXKMN4v+AD1p0TSObMVgVf63wX7Y9y8Mqy0anVHVGo93wJPR9zMZbh/yOAK\n0+1z6GHHZFDO5CdT+JIjXFnvCO48CymP2Ywh8sKUQake+5a32rErAm+s1y1w\nl2iF4CwgXP6kM7N/IFkvxGefDJ0opwPCidPk13t3Y+XryaHa1E1zF61cuHfR\nEWQgGh7XnTEXggc/r/M8t+ALvAzvMcpP127rjbpYZD+mC4bVkSALcr4kqoUY\nIFLTHssfhuSLL2r900doq4AUFbYoeho65SVataDkULOfv8A+L8R1GRhjMjgo\nuvKgt/JIEcJxOea6Vr1An0vTjdhaUwXUklAL5TL04u3wwBXU5XwAc1qKLzWM\nbB2H\r\n=EMbZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0LqmvsLXoyxLAkog2M4svSaLr/AZtFU+XtsqUc5SqiQIhAP4c/0cuUt90MHTNyt4UnDlxHSsvyX4qOaqZze8HiPLE"}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_1.7.9_1620031054986_0.9097108531492744"},"_hasShrinkwrap":false},"2.0.0-beta.0":{"name":"@ashthornton/asscroll","version":"2.0.0-beta.0","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"readme":"<p align=\"center\"><img src=\"https://raw.githubusercontent.com/ashthornton-gc/asscroll/master/docs/asscroll.png\"></p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://www.npmjs.com/package/@ashthornton/asscroll\"><img src=\"https://img.shields.io/npm/v/@ashthornton/asscroll?color=%23F7894A\" alt=\"NPM Version\"></a>\r\n    <a href=\"https://www.jsdelivr.com/package/npm/@ashthornton/asscroll\"><img alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/@ashthornton/asscroll?color=%23F7894A\"></a>\r\n</p>\r\n\r\n<h3 align=\"center\"><strong>ASScroll is a hybrid smooth scroll setup that combines the<br>performance gains of virtual scroll with the reliability of native scroll.</strong></h3>\r\n\r\n<p align=\"center\" style=\"padding: 0 15%\">This setup aims to be a lightweight solution that provides a consistent smooth scrolling experience across all platforms, devices and hardware.</p>\r\n\r\n---\r\n\r\n#### Advantages over pure virtual scroll:\r\n- Accessibility / keyboard friendly (without overriding the browser's native scroll)\r\n- No special cases to cater for when handling manual key detection (i.e. pressing space in a form input)\r\n- Doesn't stop working when hovering over an iframe\r\n- Handles hardware that doesn't fire the 'wheel' event i.e. Windows trackpads in Edge + IE\r\n- No lag between DOM and WebGL elements on mobile, whilst retaining native inertia scroll\r\n\r\n#### Other Features:\r\n- Horizontal scroll\r\n- Custom scroll bar\r\n- Use your own external RAF loop and resize events\r\n- Consistent lerp speeds on high refresh rate displays\r\n\r\n_No animation features are included as there are other libraries that can be used with ASScroll. GreenSock's [ScrollTrigger](https://greensock.com/scrolltrigger/) is a great example and a demo is included below_\r\n\r\nDemos\r\n================\r\n- [Zero Config Demo](https://codepen.io/ashthornton/pen/pobJRQX?editors=1010)\r\n- [Using GSAP's ScrollTrigger with ASScroll](https://codepen.io/ashthornton/pen/PoZRwPW)\r\n\r\n### Sites using ASScroll\r\n- [Superlist](https://superlist.com/)\r\n- [Lewa House](https://lewahouse.com/)\r\n- [Eder Anaya](https://ederanaya.me/)\r\n- [FanFan](https://fanfan.fan/)\r\n- [Havoc](https://www.havoc.co/)\r\n- [Wray and Nephew](https://straightfromyard.co.uk/)\r\n- [Shape Studio](https://shapestudio.co.uk/)\r\n\r\nTable of contents\r\n=================\r\n<!--ts-->\r\n   * [Install](#install)\r\n   * [Zero Config Setup](#zero-config-setup)\r\n   * [API](#asscroll)\r\n   * [Custom Scrollbar](#custom-scrollbar)\r\n   * [External RAF Usage](#usage-with-external-requestanimationframe)\r\n   * [External Resize Usage](#usage-with-external-window-resize)\r\n   * [Touch Devices](#touch-devices)\r\n<!--te-->\r\n\r\n---\r\n\r\n\r\n# Install\r\n`npm i --save @ashthornton/asscroll` or `yarn add @ashthornton/asscroll`\r\n\r\nAlso available via [JSDelivr CDN](https://www.jsdelivr.com/package/npm/@ashthornton/asscroll) which you can then include with a `<script>` tag.\r\n\r\n# Zero Config Setup\r\n\r\n1. Add a class of `.asscroll-container` to the parent element of the content to be smooth scrolled. By default, the first child found within will be scrolled. These can both be changed in the options.\r\n\r\n```html\r\n<body>\r\n    <div class=\"asscroll-container\">\r\n        <div><!-- The Y translation will be applied to this element --></div>\r\n    </div>\r\n</body>\r\n```\r\n\r\n2. Import and initialise in Javascript\r\n\r\n```js\r\nimport ASScroll from '@ashthornton/asscroll'\r\n\r\nconst asscroll = new ASScroll()\r\n\r\nwindow.addEventListener('load', () => {\r\n    asscroll.enable()\r\n})\r\n```\r\n\r\n---\r\n\r\n<a name=\"ASScroll\"></a>\n\n# ASScroll\nAsh's Smooth Scroll 🍑\n\n\n* [ASScroll](#ASScroll)\n    * [new ASScroll([parameters])](#new_ASScroll_new)\n    * [.targetScrollPos](#ASScroll+targetScrollPos) ⇒ <code>number</code>\n    * [.currentScrollPos](#ASScroll+currentScrollPos) ⇒ <code>number</code>\n    * [.maxScroll](#ASScroll+maxScroll) ⇒ <code>number</code>\n    * [.containerElement](#ASScroll+containerElement) ⇒ <code>HTMLElement</code>\n    * [.scrollElements](#ASScroll+scrollElements) ⇒ <code>Array</code>\n    * [.enable([parameters])](#ASScroll+enable)\n    * [.disable(parameters)](#ASScroll+disable)\n    * [.update()](#ASScroll+update)\n    * [.resize([parameters])](#ASScroll+resize)\n    * [.on(eventName, callback)](#ASScroll+on)\n    * [.off(eventName, callback)](#ASScroll+off)\n    * [.scrollTo(targetScrollPos, [emitEvent])](#ASScroll+scrollTo)\n\n<a name=\"new_ASScroll_new\"></a>\n\n## new ASScroll([parameters])\nCreates an ASScroll instance\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.containerElement] | <code>string</code> \\| <code>HTMLElement</code> | <code>&quot;.asscroll-container&quot;</code> | The selector string for the outer container element, or the element itself |\n| [parameters.scrollElements] | <code>string</code> \\| <code>HTMLElement</code> \\| <code>NodeList</code> | <code>&quot;[data-asscroll]&quot;</code> | The selector string for the elements to scroll, or the elements themselves |\n| [parameters.ease] | <code>number</code> | <code>0.075</code> | The ease amount for the transform lerp |\n| [parameters.touchEase] | <code>number</code> | <code>1</code> | The ease amount for the transform lerp on touch devices |\n| [parameters.touchScrollType] | <code>string</code> | <code>&quot;none&quot;</code> | Set the scrolling method on touch devices. Other options are 'transform' and 'scrollTop' |\n| [parameters.scrollbarEl] | <code>string</code> | <code>&quot;.asscrollbar&quot;</code> | The selector string for the custom scrollbar element |\n| [parameters.scrollbarHandleEl] | <code>string</code> | <code>&quot;.asscrollbar__handle&quot;</code> | The selector string for the custom scrollbar handle element |\n| [parameters.customScrollbar] | <code>boolean</code> | <code>true</code> | Toggle the custom scrollbar |\n| [parameters.scrollbarStyles] | <code>boolean</code> | <code>true</code> | Include the scrollbar CSS via Javascript |\n| [parameters.disableNativeScrollbar] | <code>boolean</code> | <code>true</code> | Disable the native browser scrollbar |\n| [parameters.disableRaf] | <code>boolean</code> | <code>false</code> | Disable internal requestAnimationFrame loop in order to use an external one |\n| [parameters.disableResize] | <code>boolean</code> | <code>false</code> | Disable internal resize event on the window in order to use an external one |\n| [parameters.limitLerpRate] | <code>boolean</code> | <code>true</code> | Match lerp speed on >60Hz displays to that of a 60Hz display |\n| [parameters.blockScrollClass] | <code>string</code> | <code>&quot;.asscroll-block&quot;</code> | The class to add to elements that should block ASScroll when hovered |\n\n**Example**  \n```js\rconst asscroll = new ASScroll({\r\tcontainerElement: '.page-container',\r\tscrollElements: '.my-page'\r})\r```\n<a name=\"ASScroll+targetScrollPos\"></a>\n\n## asscroll.targetScrollPos ⇒ <code>number</code>\nReturns the target scroll position.\n\n**Returns**: <code>number</code> - Target scroll position  \n<a name=\"ASScroll+currentScrollPos\"></a>\n\n## asscroll.currentScrollPos ⇒ <code>number</code>\nGets or sets the current scroll position.\n\n**Returns**: <code>number</code> - Current scroll position  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| scrollPos | <code>number</code> | The desired scroll position |\n\n**Example** *(Sets the scroll position to 200, bypassing any lerps)*  \n```js\nasscroll.currentScrollPos = 200\n```\n<a name=\"ASScroll+maxScroll\"></a>\n\n## asscroll.maxScroll ⇒ <code>number</code>\nReturns the maximum scroll height of the page.\n\n**Returns**: <code>number</code> - Maxmium scroll height  \n<a name=\"ASScroll+containerElement\"></a>\n\n## asscroll.containerElement ⇒ <code>HTMLElement</code>\nReturns the outer element that ASScroll is attached to.\n\n**Returns**: <code>HTMLElement</code> - The outer element  \n<a name=\"ASScroll+scrollElements\"></a>\n\n## asscroll.scrollElements ⇒ <code>Array</code>\nReturns the the element(s) that ASScroll is scrolling.\n\n**Returns**: <code>Array</code> - An array of elements ASScroll is scrolling  \n<a name=\"ASScroll+enable\"></a>\n\n## asscroll.enable([parameters])\nEnable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.newScrollElements] | <code>boolean</code> \\| <code>NodeList</code> \\| <code>HTMLElement</code> | <code>false</code> | Specify the new element(s) that should be scrolled |\n| [parameters.reset] | <code>boolean</code> | <code>false</code> | Reset the scroll position to 0 |\n| [parameters.restore] | <code>boolean</code> | <code>false</code> | Restore the scroll position to where it was when disable() was called |\n| [parameters.horizontalScroll] | <code>boolean</code> | <code>false</code> | Toggle horizontal scrolling |\n\n**Example** *(Enables ASScroll on the &#x27;.page&#x27; element and resets the scroll position to 0)*  \n```js\nasscroll.enable({ newScrollElements: document.querySelector('.page'), reset: true })\n```\n**Example** *(Enables ASScroll and restores to the previous position before ASScroll.disable() was called)*  \n```js\nasscroll.enable({ restore: true })\n```\n<a name=\"ASScroll+disable\"></a>\n\n## asscroll.disable(parameters)\nDisable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| parameters | <code>object</code> |  |  |\n| [parameters.inputOnly] | <code>boolean</code> | <code>false</code> | Only disable the ability to manually scroll (still allow transforms) |\n\n**Example** *(Disables the ability to manually scroll whilst still allowing position updates to be made via asscroll.currentScrollPos, for example)*  \n```js\nasscroll.disable({ inputOnly: true })\n```\n<a name=\"ASScroll+update\"></a>\n\n## asscroll.update()\nCall the internal animation frame request callback.\n\n<a name=\"ASScroll+resize\"></a>\n\n## asscroll.resize([parameters])\nCall the internal resize callback.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| [parameters] | <code>object</code> |  |\n| [parameters.width] | <code>number</code> | Window width |\n| [parameters.height] | <code>number</code> | Window height |\n\n<a name=\"ASScroll+on\"></a>\n\n## asscroll.on(eventName, callback)\nAdd an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event you wish to listen for |\n| callback | <code>function</code> | Callback function that should be executed when the event fires |\n\n**Example** *(Logs out the scroll position when the &#x27;scroll&#x27; event is fired)*  \n```js\nasscroll.on('scroll', scrollPos => console.log(scrollPos))\n```\n**Example** *(Returns the target scroll position and current scroll position during the internal update loop)*  \n```js\nasscroll.on('update', ({ targetScrollPos, currentScrollPos }) => console.log(targetScrollPos, currentScrollPos))\n```\n**Example** *(Fires when the lerped scroll position has reached the target position)*  \n```js\nasscroll.on('scrollEnd', scrollPos => console.log(scrollPos))\n```\n<a name=\"ASScroll+off\"></a>\n\n## asscroll.off(eventName, callback)\nRemove an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event |\n| callback | <code>function</code> | Callback function |\n\n<a name=\"ASScroll+scrollTo\"></a>\n\n## asscroll.scrollTo(targetScrollPos, [emitEvent])\nScroll to a given position on the page.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| targetScrollPos | <code>number</code> |  | Scroll position |\n| [emitEvent] | <code>boolean</code> | <code>true</code> | Whether to emit the external scroll events or not |\n\n\r\n---\r\n\r\n## Custom Scrollbar\r\n\r\nWhen `customScrollbar` is enabled in the options, a default set of styles will get added to the page that match the following HTML:\r\n\r\n```HTML\r\n<div class=\"asscrollbar\"><div class=\"asscrollbar__handle\"><div></div></div></div>\r\n```\r\n\r\nThis HTML will get added to your page automatically if you don't add it yourself.\r\n\r\nYou can change the classes that are used by changing the `scrollbarEl` and `scrollbarHandleEl` options.\r\n\r\nYou can use your own styles by setting the `scrollbarStyles` option to false.\r\n\r\n---\r\n\r\n⚠ **Note**: These styles are added via JS so will only be applied after JS has loaded. This may cause the native scrollbar to show for a moment before the styles are added resulting in a jump of the page.\r\n\r\nYou can include the styles necessary to hide the native scrollbar in your CSS by copy and pasting the contents of `/css/index.css` or simply by importing them into your CSS setup. For example:\r\n\r\n```css\r\n@import '~@ashthornton/asscroll/css'\r\n```\r\n\r\n## Usage with external requestAnimationFrame\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableRaf: true\r\n})\r\n\r\n// Regular RAF setup\r\nrequestAnimationFrame(onRaf)\r\nfunction onRaf() {\r\n    asscroll.update()\r\n    requestAnimationFrame(onRaf)\r\n}\r\n\r\n// Use with GSAP's internal RAF\r\ngsap.ticker.add(asscroll.update)\r\n\r\nasscroll.enable()\r\n```\r\n\r\n## Usage with external window resize\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableResize: true\r\n})\r\n\r\nwindow.addEventListener('resize', () => {\r\n    // trigger other resize logic\r\n    asscroll.resize({ width: window.innerWidth, height: window.innerHeight })\r\n})\r\n\r\nasscroll.enable()\r\n```\r\n\r\nTouch Devices\r\n===\r\n\r\nASScroll provides three options for handling itself on touch devices:\r\n- `'none'`: Disabled completely, falling back to native scroll whilst still providing scroll position properties\r\n- `'transform'`: Continue to transform the scroll elements with an ease setting specifically to touch devices\r\n- `'scrollTop'`: Utilise the `scrollTop` value of the container element when used in conjunction with CSS that prevents resizes and browser UI from toggling\r\n\r\nThe `scrollTop` option is primarily used for syncing WebGL content to the scroll position on mobile, without overriding the native inertia scroll.\r\n\r\nWhen using the `'scrollTop'` option, you must include the following CSS in your project and replace `.asscroll-container` and `[data-scroll]` with the elements you are using, if you have changed from the defaults:\r\n```css\r\n.asscroll-touch .asscroll-container {\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: -0.1px;\r\n    overflow-y: auto;\r\n}\r\n\r\n.asscroll-touch [data-scroll] {\r\n    margin-bottom: 0.1px;\r\n}\r\n```","readmeFilename":"README.md","gitHead":"8272d58399cd70a00bb5e299c5b883462826f127","_id":"@ashthornton/asscroll@2.0.0-beta.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-zPVN4yCHiACPcwuhZOh8ab11mSZkCBZbK4RwWA1AQm4D3hFkhIgIlbA6zDiCXmwRa67amFJPjC1WZM8TMfsoNA==","shasum":"f5e09d3fda360df7d0d78fdff8d46ffe2a64080a","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.0-beta.0.tgz","fileCount":16,"unpackedSize":174942,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgj+9BCRA9TVsSAnZWagAAQCIP/Asvccu4nFh3MJ/x+TJ1\nthF2zkCBlfQahvX3rOPf/ZE0c7tAr5hPZ+GiwfL+/ZVCY8iLfwizOqTr0sQs\n420qBfygvNthyrX3asLk/WhuV4H+ykAgfl1S0HvPj3OkDPMZ5FmQRd4ZUoUe\nkYXYYe1AxKzILaHvq3z/PKKI4l58AKSMaKVWvjUW/87o6+4yfdoH6pOGgmVL\n9LgfGjlBzyLrZ2RU8yc9bADOFPDVdbskwP9m+uABpANZxOywUenrQopPS5Lp\n86OemlOtvw8ZNRnYe+ZA9An2NwipHV3/J1C6JpKUo5GFn44EqZ/ZhG/USow0\nSx07GYhsFD/vu6QJ9oRdPVGiOgJMsGBuqbFMIK68CbDswlEgxx9NRD0FhIyr\nP5sZBjIDTfIiq1WHSuV3BQVRyfh3ZqvElQSEUK7deyNO5+lyL5hN78iHONh2\n53/D8BLp7xqsWsnvDWHG6PLD7so2eLWYiaMNsxYg+MkayqsOOt5h+JKm9dSE\nHql3cz9Ph2iXww7kTVlxAPx7awb8DRaBKoWbghRc28rqwSbZgCfK/Qo/PyD3\nWeZzG8HZdGd9ltKKPNQTVKqQ31I990O6XOMQBqdryGYqtGj4PWpA429q4USb\ns9BUbpP0SqrrWIVdPZfIdkCgNWnSac87WoTQWExS/8worz5Yhhzf1zV3i53F\nuQu4\r\n=aTP9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkasKgo7CdR3+NEvjXI4NQjWNLP9lbyk6Pkgd9IXHkfQIgNS/X/9YApUR0ENa8tJ9IgeEDX1GD43kwxhji9CFd1EU="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.0-beta.0_1620045632950_0.3408144238779669"},"_hasShrinkwrap":false},"2.0.0-beta.1":{"name":"@ashthornton/asscroll","version":"2.0.0-beta.1","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"readme":"<p align=\"center\"><img src=\"https://raw.githubusercontent.com/ashthornton-gc/asscroll/master/docs/asscroll.png\"></p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://www.npmjs.com/package/@ashthornton/asscroll\"><img src=\"https://img.shields.io/npm/v/@ashthornton/asscroll?color=%23F7894A\" alt=\"NPM Version\"></a>\r\n    <a href=\"https://www.jsdelivr.com/package/npm/@ashthornton/asscroll\"><img alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/@ashthornton/asscroll?color=%23F7894A\"></a>\r\n</p>\r\n\r\n<h3 align=\"center\"><strong>ASScroll is a hybrid smooth scroll setup that combines the<br>performance gains of virtual scroll with the reliability of native scroll.</strong></h3>\r\n\r\n<p align=\"center\" style=\"padding: 0 15%\">This setup aims to be a lightweight solution that provides a consistent smooth scrolling experience across all platforms, devices and hardware.</p>\r\n\r\n---\r\n\r\n#### Advantages over pure virtual scroll:\r\n- Accessibility / keyboard friendly (without overriding the browser's native scroll)\r\n- No special cases to cater for when handling manual key detection (i.e. pressing space in a form input)\r\n- Doesn't stop working when hovering over an iframe\r\n- Handles hardware that doesn't fire the 'wheel' event i.e. Windows trackpads in Edge + IE\r\n- No lag between DOM and WebGL elements on mobile, whilst retaining native inertia scroll\r\n\r\n#### Other Features:\r\n- Horizontal scroll\r\n- Custom scroll bar\r\n- Use your own external RAF loop and resize events\r\n- Consistent lerp speeds on high refresh rate displays\r\n\r\n_No animation features are included as there are other libraries that can be used with ASScroll. GreenSock's [ScrollTrigger](https://greensock.com/scrolltrigger/) is a great example and a demo is included below_\r\n\r\nDemos\r\n================\r\n- [Zero Config Demo](https://codepen.io/ashthornton/pen/pobJRQX?editors=1010)\r\n- [Options Demo](https://codepen.io/ashthornton/pen/YzWXZqL?editors=1010)\r\n- [Using GSAP's ScrollTrigger with ASScroll](https://codepen.io/ashthornton/pen/PoZRwPW)\r\n- [Using PJAX Navigation (Highway) with ASScroll](https://codepen.io/ashthornton/project/editor/AypMLG)\r\n\r\n### Sites using ASScroll\r\n- [Superlist](https://superlist.com/)\r\n- [Lewa House](https://lewahouse.com/)\r\n- [Eder Anaya](https://ederanaya.me/)\r\n- [FanFan](https://fanfan.fan/)\r\n- [Havoc](https://www.havoc.co/)\r\n- [Wray and Nephew](https://straightfromyard.co.uk/)\r\n- [Shape Studio](https://shapestudio.co.uk/)\r\n\r\nTable of contents\r\n=================\r\n<!--ts-->\r\n   * [Install](#install)\r\n   * [Zero Config Setup](#zero-config-setup)\r\n   * [API](#asscroll)\r\n   * [Custom Scrollbar](#custom-scrollbar)\r\n   * [External RAF Usage](#usage-with-external-requestanimationframe)\r\n   * [External Resize Usage](#usage-with-external-window-resize)\r\n   * [Touch Devices](#touch-devices)\r\n<!--te-->\r\n\r\n---\r\n\r\n\r\n# Install\r\n`npm i --save @ashthornton/asscroll` or `yarn add @ashthornton/asscroll`\r\n\r\nAlso available via [JSDelivr CDN](https://www.jsdelivr.com/package/npm/@ashthornton/asscroll) which you can then include with a `<script>` tag.\r\n\r\n# Zero Config Setup\r\n\r\n1. Add a class of `.asscroll-container` to the parent element of the content to be smooth scrolled. By default, the first child found within will be scrolled. These can both be changed in the options.\r\n\r\n```html\r\n<body>\r\n    <div class=\"asscroll-container\">\r\n        <div><!-- The Y translation will be applied to this element --></div>\r\n    </div>\r\n</body>\r\n```\r\n\r\n2. Import and initialise in Javascript\r\n\r\n```js\r\nimport ASScroll from '@ashthornton/asscroll'\r\n\r\nconst asscroll = new ASScroll()\r\n\r\nwindow.addEventListener('load', () => {\r\n    asscroll.enable()\r\n})\r\n```\r\n\r\n---\r\n\r\n<a name=\"ASScroll\"></a>\n\n# ASScroll\nAsh's Smooth Scroll 🍑\n\n\n* [ASScroll](#ASScroll)\n    * [new ASScroll([parameters])](#new_ASScroll_new)\n    * [.targetPos](#ASScroll+targetPos) ⇒ <code>number</code>\n    * [.currentPos](#ASScroll+currentPos) ⇒ <code>number</code>\n    * [.maxScroll](#ASScroll+maxScroll) ⇒ <code>number</code>\n    * [.containerElement](#ASScroll+containerElement) ⇒ <code>HTMLElement</code>\n    * [.scrollElements](#ASScroll+scrollElements) ⇒ <code>Array</code>\n    * [.enable([parameters])](#ASScroll+enable)\n    * [.disable(parameters)](#ASScroll+disable)\n    * [.update()](#ASScroll+update)\n    * [.resize([parameters])](#ASScroll+resize)\n    * [.on(eventName, callback)](#ASScroll+on)\n    * [.off(eventName, callback)](#ASScroll+off)\n    * [.scrollTo(targetPos, [emitEvent])](#ASScroll+scrollTo)\n\n<a name=\"new_ASScroll_new\"></a>\n\n## new ASScroll([parameters])\nCreates an ASScroll instance\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.containerElement] | <code>string</code> \\| <code>HTMLElement</code> | <code>&quot;.asscroll-container&quot;</code> | The selector string for the outer container element, or the element itself |\n| [parameters.scrollElements] | <code>string</code> \\| <code>HTMLElement</code> \\| <code>NodeList</code> | <code>&quot;[data-asscroll]&quot;</code> | The selector string for the elements to scroll, or the elements themselves |\n| [parameters.ease] | <code>number</code> | <code>0.075</code> | The ease amount for the transform lerp |\n| [parameters.touchEase] | <code>number</code> | <code>1</code> | The ease amount for the transform lerp on touch devices |\n| [parameters.touchScrollType] | <code>string</code> | <code>&quot;none&quot;</code> | Set the scrolling method on touch devices. Other options are 'transform' and 'scrollTop' |\n| [parameters.scrollbarEl] | <code>string</code> | <code>&quot;.asscrollbar&quot;</code> | The selector string for the custom scrollbar element |\n| [parameters.scrollbarHandleEl] | <code>string</code> | <code>&quot;.asscrollbar__handle&quot;</code> | The selector string for the custom scrollbar handle element |\n| [parameters.customScrollbar] | <code>boolean</code> | <code>true</code> | Toggle the custom scrollbar |\n| [parameters.scrollbarStyles] | <code>boolean</code> | <code>true</code> | Include the scrollbar CSS via Javascript |\n| [parameters.disableNativeScrollbar] | <code>boolean</code> | <code>true</code> | Disable the native browser scrollbar |\n| [parameters.disableRaf] | <code>boolean</code> | <code>false</code> | Disable internal requestAnimationFrame loop in order to use an external one |\n| [parameters.disableResize] | <code>boolean</code> | <code>false</code> | Disable internal resize event on the window in order to use an external one |\n| [parameters.limitLerpRate] | <code>boolean</code> | <code>true</code> | Match lerp speed on >60Hz displays to that of a 60Hz display |\n| [parameters.blockScrollClass] | <code>string</code> | <code>&quot;.asscroll-block&quot;</code> | The class to add to elements that should block ASScroll when hovered |\n\n<a name=\"ASScroll+targetPos\"></a>\n\n## asscroll.targetPos ⇒ <code>number</code>\nReturns the target scroll position.\n\n**Returns**: <code>number</code> - Target scroll position  \n<a name=\"ASScroll+currentPos\"></a>\n\n## asscroll.currentPos ⇒ <code>number</code>\nGets or sets the current scroll position.\n\n**Returns**: <code>number</code> - Current scroll position  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| scrollPos | <code>number</code> | The desired scroll position |\n\n**Example** *(Sets the scroll position to 200, bypassing any lerps)*  \n```js\nasscroll.currentPos = 200\n```\n<a name=\"ASScroll+maxScroll\"></a>\n\n## asscroll.maxScroll ⇒ <code>number</code>\nReturns the maximum scroll height of the page.\n\n**Returns**: <code>number</code> - Maxmium scroll height  \n<a name=\"ASScroll+containerElement\"></a>\n\n## asscroll.containerElement ⇒ <code>HTMLElement</code>\nReturns the outer element that ASScroll is attached to.\n\n**Returns**: <code>HTMLElement</code> - The outer element  \n<a name=\"ASScroll+scrollElements\"></a>\n\n## asscroll.scrollElements ⇒ <code>Array</code>\nReturns the the element(s) that ASScroll is scrolling.\n\n**Returns**: <code>Array</code> - An array of elements ASScroll is scrolling  \n<a name=\"ASScroll+enable\"></a>\n\n## asscroll.enable([parameters])\nEnable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.newScrollElements] | <code>boolean</code> \\| <code>NodeList</code> \\| <code>HTMLElement</code> | <code>false</code> | Specify the new element(s) that should be scrolled |\n| [parameters.reset] | <code>boolean</code> | <code>false</code> | Reset the scroll position to 0 |\n| [parameters.restore] | <code>boolean</code> | <code>false</code> | Restore the scroll position to where it was when disable() was called |\n| [parameters.horizontalScroll] | <code>boolean</code> | <code>false</code> | Toggle horizontal scrolling |\n\n**Example** *(Enables ASScroll on the &#x27;.page&#x27; element and resets the scroll position to 0)*  \n```js\nasscroll.enable({ newScrollElements: document.querySelector('.page'), reset: true })\n```\n**Example** *(Enables ASScroll and restores to the previous position before ASScroll.disable() was called)*  \n```js\nasscroll.enable({ restore: true })\n```\n<a name=\"ASScroll+disable\"></a>\n\n## asscroll.disable(parameters)\nDisable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| parameters | <code>object</code> |  |  |\n| [parameters.inputOnly] | <code>boolean</code> | <code>false</code> | Only disable the ability to manually scroll (still allow transforms) |\n\n**Example** *(Disables the ability to manually scroll whilst still allowing position updates to be made via asscroll.currentPos, for example)*  \n```js\nasscroll.disable({ inputOnly: true })\n```\n<a name=\"ASScroll+update\"></a>\n\n## asscroll.update()\nCall the internal animation frame request callback.\n\n<a name=\"ASScroll+resize\"></a>\n\n## asscroll.resize([parameters])\nCall the internal resize callback.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| [parameters] | <code>object</code> |  |\n| [parameters.width] | <code>number</code> | Window width |\n| [parameters.height] | <code>number</code> | Window height |\n\n<a name=\"ASScroll+on\"></a>\n\n## asscroll.on(eventName, callback)\nAdd an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event you wish to listen for |\n| callback | <code>function</code> | Callback function that should be executed when the event fires |\n\n**Example** *(Logs out the scroll position when the &#x27;scroll&#x27; event is fired)*  \n```js\nasscroll.on('scroll', scrollPos => console.log(scrollPos))\n```\n**Example** *(Returns the target scroll position and current scroll position during the internal update loop)*  \n```js\nasscroll.on('update', ({ targetPos, currentPos }) => console.log(targetPos, currentPos))\n```\n**Example** *(Fires when the lerped scroll position has reached the target position)*  \n```js\nasscroll.on('scrollEnd', scrollPos => console.log(scrollPos))\n```\n<a name=\"ASScroll+off\"></a>\n\n## asscroll.off(eventName, callback)\nRemove an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event |\n| callback | <code>function</code> | Callback function |\n\n<a name=\"ASScroll+scrollTo\"></a>\n\n## asscroll.scrollTo(targetPos, [emitEvent])\nScroll to a given position on the page.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| targetPos | <code>number</code> |  | Target scroll position |\n| [emitEvent] | <code>boolean</code> | <code>true</code> | Whether to emit the external scroll events or not |\n\n\r\n---\r\n\r\n## Custom Scrollbar\r\n\r\nWhen `customScrollbar` is enabled in the options, a default set of styles will get added to the page that match the following HTML:\r\n\r\n```HTML\r\n<div class=\"asscrollbar\"><div class=\"asscrollbar__handle\"><div></div></div></div>\r\n```\r\n\r\nThis HTML will get added to your page automatically if you don't add it yourself.\r\n\r\nYou can change the classes that are used by changing the `scrollbarEl` and `scrollbarHandleEl` options.\r\n\r\nYou can use your own styles by setting the `scrollbarStyles` option to false.\r\n\r\n---\r\n\r\n⚠ **Note**: These styles are added via JS so will only be applied after JS has loaded. This may cause the native scrollbar to show for a moment before the styles are added resulting in a jump of the page.\r\n\r\nYou can include the styles necessary to hide the native scrollbar in your CSS by copy and pasting the contents of `/css/index.css` or simply by importing them into your CSS setup. For example:\r\n\r\n```css\r\n@import '~@ashthornton/asscroll/css'\r\n```\r\n\r\n## Usage with external requestAnimationFrame\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableRaf: true\r\n})\r\n\r\n// Regular RAF setup\r\nrequestAnimationFrame(onRaf)\r\nfunction onRaf() {\r\n    asscroll.update()\r\n    requestAnimationFrame(onRaf)\r\n}\r\n\r\n// Use with GSAP's internal RAF\r\ngsap.ticker.add(asscroll.update)\r\n\r\nasscroll.enable()\r\n```\r\n\r\n## Usage with external window resize\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableResize: true\r\n})\r\n\r\nwindow.addEventListener('resize', () => {\r\n    // trigger other resize logic\r\n    asscroll.resize({ width: window.innerWidth, height: window.innerHeight })\r\n})\r\n\r\nasscroll.enable()\r\n```\r\n\r\nTouch Devices\r\n===\r\n\r\nASScroll provides three options for handling itself on touch devices:\r\n- `'none'`: Disabled completely, falling back to native scroll whilst still providing scroll position properties\r\n- `'transform'`: Continue to transform the scroll elements with an ease setting specifically to touch devices\r\n- `'scrollTop'`: Utilise the `scrollTop` value of the container element when used in conjunction with CSS that prevents resizes and browser UI from toggling\r\n\r\nThe `scrollTop` option is primarily used for syncing WebGL content to the scroll position on mobile, without overriding the native inertia scroll.\r\n\r\nWhen using the `'scrollTop'` option, you must include the following CSS in your project and replace `.asscroll-container` and `[data-scroll]` with the elements you are using, if you have changed from the defaults:\r\n```css\r\n.asscroll-touch .asscroll-container {\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: -0.1px;\r\n    overflow-y: auto;\r\n}\r\n\r\n.asscroll-touch [data-scroll] {\r\n    margin-bottom: 0.1px;\r\n}\r\n```","readmeFilename":"README.md","gitHead":"cd51459fee50189b3e5baf56932803de00a33cff","_id":"@ashthornton/asscroll@2.0.0-beta.1","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-ouSwxm8Ahkqyy9BjEOIAXKzhYPSV1HuFSKHes9JiTYwx8jI33vu7z/95hFzj6set/GqJLPM0rXI9iQfuoT7F/A==","shasum":"9a324a4f106d80ac1e1668b46af63f3a1f0f7a31","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.0-beta.1.tgz","fileCount":16,"unpackedSize":174416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkFKdCRA9TVsSAnZWagAAQTQP/2bSQYpOpuPiXp2lSK4f\nR0UNGBTJJzS9P8+aD2UQFqub61g1y5Ah2QCdH1r6L4cqrmo/Q8yMBwLMacit\nhAISxHogXLxbbMhIjOEGyIppVvyMvonGXEPFrlM6HF0HQaCy2pNDpcTsd7pC\nrFG0ize8h+KQjWgS5BmpXKyRAMikWflgI+IJZabhCBuIo4stydEgBXJneOtf\n+FAbQnwy30YzuqpMbgqcZ5qR9WiZ1xpQ/BOXb6mRQW/eovA20ZewyT8weUXh\nW8quRotEEfIw3tnvT+qGO1SzLy7lLm5E52kIdW2ikj1cAD82zYzZP/8KvNBL\nuxPMYmFYTOreHXZrh3muSS2KvWQEozhlhZ2DNMD8VNIhYrk0DAdPYmj2aHbA\nlHqlxQFVhbVFpkc+JbBQYGQvJcpQzeib2jGXvPz1PdozLVS14pv+7lJsTPTK\nPlWSGxTpifyMEdovE+NUncqH07CEBUI+xPaqnNU5MpOetTpORhKWlDXaoC/f\nZ/IQk6rJNdDMYtzucf1DaUEf1Esw1vB2vossQRqFPxpwuEh2S8ymJFoLP5y3\n/+koYq1nShpNed3RSwKcA690EkL30u04qL1HuZ1aMlnbgY5tSJ70esMZmX02\nVFJdqhlhonE1qpq83WgWl7/LlVBKhvI4wgFikRG3uomhSDhZZIwZEcgUSrGA\n+UAF\r\n=WiFY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgJDVulCG4gOSjz8gDJVke7RneZZWNKQxt5iDO5t102AiEAxJSPWhXiUAeG4RrxLIWFCJ7OYdEUk4VR0RgGS569ULs="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.0-beta.1_1620071068815_0.9783806317213122"},"_hasShrinkwrap":false},"2.0.0-beta.2":{"name":"@ashthornton/asscroll","version":"2.0.0-beta.2","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"readme":"<p align=\"center\"><img src=\"https://raw.githubusercontent.com/ashthornton-gc/asscroll/master/docs/asscroll.png\"></p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://www.npmjs.com/package/@ashthornton/asscroll\"><img src=\"https://img.shields.io/npm/v/@ashthornton/asscroll?color=%23F7894A\" alt=\"NPM Version\"></a>\r\n    <a href=\"https://www.jsdelivr.com/package/npm/@ashthornton/asscroll\"><img alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/@ashthornton/asscroll?color=%23F7894A\"></a>\r\n</p>\r\n\r\n<h3 align=\"center\"><strong>ASScroll is a hybrid smooth scroll setup that combines the<br>performance gains of virtual scroll with the reliability of native scroll.</strong></h3>\r\n\r\n<p align=\"center\" style=\"padding: 0 15%\">This setup aims to be a lightweight solution that provides a consistent smooth scrolling experience across all platforms, devices and hardware.</p>\r\n\r\n---\r\n\r\n#### Advantages over pure virtual scroll:\r\n- Accessibility / keyboard friendly (without overriding the browser's native scroll)\r\n- No special cases to cater for when handling manual key detection (i.e. pressing space in a form input)\r\n- Doesn't stop working when hovering over an iframe\r\n- Handles hardware that doesn't fire the 'wheel' event i.e. Windows trackpads in Edge + IE\r\n- No lag between DOM and WebGL elements on mobile, whilst retaining native inertia scroll\r\n\r\n#### Other Features:\r\n- Horizontal scroll\r\n- Custom scroll bar\r\n- Use your own external RAF loop and resize events\r\n- Consistent lerp speeds on high refresh rate displays\r\n\r\n_No animation features are included as there are other libraries that can be used with ASScroll. GreenSock's [ScrollTrigger](https://greensock.com/scrolltrigger/) is a great example and a demo is included below_\r\n\r\nDemos\r\n================\r\n- [Zero Config Demo](https://codepen.io/ashthornton/pen/pobJRQX?editors=1010)\r\n- [Options Demo](https://codepen.io/ashthornton/pen/YzWXZqL?editors=1010)\r\n- [Using GSAP's ScrollTrigger with ASScroll](https://codepen.io/ashthornton/pen/PoZRwPW)\r\n- [Using PJAX Navigation (Highway) with ASScroll](https://codepen.io/ashthornton/project/editor/AypMLG)\r\n\r\n### Sites using ASScroll\r\n- [Superlist](https://superlist.com/)\r\n- [Lewa House](https://lewahouse.com/)\r\n- [Eder Anaya](https://ederanaya.me/)\r\n- [FanFan](https://fanfan.fan/)\r\n- [Havoc](https://www.havoc.co/)\r\n- [Wray and Nephew](https://straightfromyard.co.uk/)\r\n- [Shape Studio](https://shapestudio.co.uk/)\r\n\r\nTable of contents\r\n=================\r\n<!--ts-->\r\n   * [Install](#install)\r\n   * [Zero Config Setup](#zero-config-setup)\r\n   * [API](#asscroll)\r\n   * [Custom Scrollbar](#custom-scrollbar)\r\n   * [External RAF Usage](#usage-with-external-requestanimationframe)\r\n   * [External Resize Usage](#usage-with-external-window-resize)\r\n   * [Touch Devices](#touch-devices)\r\n<!--te-->\r\n\r\n---\r\n\r\n\r\n# Install\r\n`npm i --save @ashthornton/asscroll` or `yarn add @ashthornton/asscroll`\r\n\r\nAlso available via [JSDelivr CDN](https://www.jsdelivr.com/package/npm/@ashthornton/asscroll) which you can then include with a `<script>` tag.\r\n\r\n# Zero Config Setup\r\n\r\n1. Add a class of `.asscroll-container` to the parent element of the content to be smooth scrolled. By default, the first child found within will be scrolled. These can both be changed in the options.\r\n\r\n```html\r\n<body>\r\n    <div class=\"asscroll-container\">\r\n        <div><!-- The Y translation will be applied to this element --></div>\r\n    </div>\r\n</body>\r\n```\r\n\r\n2. Import and initialise in Javascript\r\n\r\n```js\r\nimport ASScroll from '@ashthornton/asscroll'\r\n\r\nconst asscroll = new ASScroll()\r\n\r\nwindow.addEventListener('load', () => {\r\n    asscroll.enable()\r\n})\r\n```\r\n\r\n---\r\n\r\n<a name=\"ASScroll\"></a>\n\n# ASScroll\nAsh's Smooth Scroll 🍑\n\n\n* [ASScroll](#ASScroll)\n    * [new ASScroll([parameters])](#new_ASScroll_new)\n    * [.targetPos](#ASScroll+targetPos) ⇒ <code>number</code>\n    * [.currentPos](#ASScroll+currentPos) ⇒ <code>number</code>\n    * [.maxScroll](#ASScroll+maxScroll) ⇒ <code>number</code>\n    * [.containerElement](#ASScroll+containerElement) ⇒ <code>HTMLElement</code>\n    * [.scrollElements](#ASScroll+scrollElements) ⇒ <code>Array</code>\n    * [.enable([parameters])](#ASScroll+enable)\n    * [.disable(parameters)](#ASScroll+disable)\n    * [.update()](#ASScroll+update)\n    * [.resize([parameters])](#ASScroll+resize)\n    * [.on(eventName, callback)](#ASScroll+on)\n    * [.off(eventName, callback)](#ASScroll+off)\n    * [.scrollTo(targetPos, [emitEvent])](#ASScroll+scrollTo)\n\n<a name=\"new_ASScroll_new\"></a>\n\n## new ASScroll([parameters])\nCreates an ASScroll instance\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.containerElement] | <code>string</code> \\| <code>HTMLElement</code> | <code>&quot;.asscroll-container&quot;</code> | The selector string for the outer container element, or the element itself |\n| [parameters.scrollElements] | <code>string</code> \\| <code>HTMLElement</code> \\| <code>NodeList</code> | <code>&quot;[data-asscroll]&quot;</code> | The selector string for the elements to scroll, or the elements themselves |\n| [parameters.ease] | <code>number</code> | <code>0.075</code> | The ease amount for the transform lerp |\n| [parameters.touchEase] | <code>number</code> | <code>1</code> | The ease amount for the transform lerp on touch devices |\n| [parameters.touchScrollType] | <code>string</code> | <code>&quot;none&quot;</code> | Set the scrolling method on touch devices. Other options are 'transform' and 'scrollTop' |\n| [parameters.scrollbarEl] | <code>string</code> | <code>&quot;.asscrollbar&quot;</code> | The selector string for the custom scrollbar element |\n| [parameters.scrollbarHandleEl] | <code>string</code> | <code>&quot;.asscrollbar__handle&quot;</code> | The selector string for the custom scrollbar handle element |\n| [parameters.customScrollbar] | <code>boolean</code> | <code>true</code> | Toggle the custom scrollbar |\n| [parameters.scrollbarStyles] | <code>boolean</code> | <code>true</code> | Include the scrollbar CSS via Javascript |\n| [parameters.disableNativeScrollbar] | <code>boolean</code> | <code>true</code> | Disable the native browser scrollbar |\n| [parameters.disableRaf] | <code>boolean</code> | <code>false</code> | Disable internal requestAnimationFrame loop in order to use an external one |\n| [parameters.disableResize] | <code>boolean</code> | <code>false</code> | Disable internal resize event on the window in order to use an external one |\n| [parameters.limitLerpRate] | <code>boolean</code> | <code>true</code> | Match lerp speed on >60Hz displays to that of a 60Hz display |\n| [parameters.blockScrollClass] | <code>string</code> | <code>&quot;.asscroll-block&quot;</code> | The class to add to elements that should block ASScroll when hovered |\n\n<a name=\"ASScroll+targetPos\"></a>\n\n## asscroll.targetPos ⇒ <code>number</code>\nReturns the target scroll position.\n\n**Returns**: <code>number</code> - Target scroll position  \n<a name=\"ASScroll+currentPos\"></a>\n\n## asscroll.currentPos ⇒ <code>number</code>\nGets or sets the current scroll position.\n\n**Returns**: <code>number</code> - Current scroll position  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| scrollPos | <code>number</code> | The desired scroll position |\n\n**Example** *(Sets the scroll position to 200, bypassing any lerps)*  \n```js\nasscroll.currentPos = 200\n```\n<a name=\"ASScroll+maxScroll\"></a>\n\n## asscroll.maxScroll ⇒ <code>number</code>\nReturns the maximum scroll height of the page.\n\n**Returns**: <code>number</code> - Maxmium scroll height  \n<a name=\"ASScroll+containerElement\"></a>\n\n## asscroll.containerElement ⇒ <code>HTMLElement</code>\nReturns the outer element that ASScroll is attached to.\n\n**Returns**: <code>HTMLElement</code> - The outer element  \n<a name=\"ASScroll+scrollElements\"></a>\n\n## asscroll.scrollElements ⇒ <code>Array</code>\nReturns the the element(s) that ASScroll is scrolling.\n\n**Returns**: <code>Array</code> - An array of elements ASScroll is scrolling  \n<a name=\"ASScroll+enable\"></a>\n\n## asscroll.enable([parameters])\nEnable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.newScrollElements] | <code>boolean</code> \\| <code>NodeList</code> \\| <code>HTMLElement</code> | <code>false</code> | Specify the new element(s) that should be scrolled |\n| [parameters.reset] | <code>boolean</code> | <code>false</code> | Reset the scroll position to 0 |\n| [parameters.restore] | <code>boolean</code> | <code>false</code> | Restore the scroll position to where it was when disable() was called |\n| [parameters.horizontalScroll] | <code>boolean</code> | <code>false</code> | Toggle horizontal scrolling |\n\n**Example** *(Enables ASScroll on the &#x27;.page&#x27; element and resets the scroll position to 0)*  \n```js\nasscroll.enable({ newScrollElements: document.querySelector('.page'), reset: true })\n```\n**Example** *(Enables ASScroll and restores to the previous position before ASScroll.disable() was called)*  \n```js\nasscroll.enable({ restore: true })\n```\n<a name=\"ASScroll+disable\"></a>\n\n## asscroll.disable(parameters)\nDisable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| parameters | <code>object</code> |  |  |\n| [parameters.inputOnly] | <code>boolean</code> | <code>false</code> | Only disable the ability to manually scroll (still allow transforms) |\n\n**Example** *(Disables the ability to manually scroll whilst still allowing position updates to be made via asscroll.currentPos, for example)*  \n```js\nasscroll.disable({ inputOnly: true })\n```\n<a name=\"ASScroll+update\"></a>\n\n## asscroll.update()\nCall the internal animation frame request callback.\n\n<a name=\"ASScroll+resize\"></a>\n\n## asscroll.resize([parameters])\nCall the internal resize callback.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| [parameters] | <code>object</code> |  |\n| [parameters.width] | <code>number</code> | Window width |\n| [parameters.height] | <code>number</code> | Window height |\n\n<a name=\"ASScroll+on\"></a>\n\n## asscroll.on(eventName, callback)\nAdd an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event you wish to listen for |\n| callback | <code>function</code> | Callback function that should be executed when the event fires |\n\n**Example** *(Logs out the scroll position when the &#x27;scroll&#x27; event is fired)*  \n```js\nasscroll.on('scroll', scrollPos => console.log(scrollPos))\n```\n**Example** *(Returns the target scroll position and current scroll position during the internal update loop)*  \n```js\nasscroll.on('update', ({ targetPos, currentPos }) => console.log(targetPos, currentPos))\n```\n**Example** *(Fires when the lerped scroll position has reached the target position)*  \n```js\nasscroll.on('scrollEnd', scrollPos => console.log(scrollPos))\n```\n<a name=\"ASScroll+off\"></a>\n\n## asscroll.off(eventName, callback)\nRemove an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event |\n| callback | <code>function</code> | Callback function |\n\n<a name=\"ASScroll+scrollTo\"></a>\n\n## asscroll.scrollTo(targetPos, [emitEvent])\nScroll to a given position on the page.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| targetPos | <code>number</code> |  | Target scroll position |\n| [emitEvent] | <code>boolean</code> | <code>true</code> | Whether to emit the external scroll events or not |\n\n\r\n---\r\n\r\n## Custom Scrollbar\r\n\r\nWhen `customScrollbar` is enabled in the options, a default set of styles will get added to the page that match the following HTML:\r\n\r\n```HTML\r\n<div class=\"asscrollbar\"><div class=\"asscrollbar__handle\"><div></div></div></div>\r\n```\r\n\r\nThis HTML will get added to your page automatically if you don't add it yourself.\r\n\r\nYou can change the classes that are used by changing the `scrollbarEl` and `scrollbarHandleEl` options.\r\n\r\nYou can use your own styles by setting the `scrollbarStyles` option to false.\r\n\r\n---\r\n\r\n⚠ **Note**: These styles are added via JS so will only be applied after JS has loaded. This may cause the native scrollbar to show for a moment before the styles are added resulting in a jump of the page.\r\n\r\nYou can include the styles necessary to hide the native scrollbar in your CSS by copy and pasting the contents of `/css/index.css` or simply by importing them into your CSS setup. For example:\r\n\r\n```css\r\n@import '~@ashthornton/asscroll/css'\r\n```\r\n\r\n## Usage with external requestAnimationFrame\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableRaf: true\r\n})\r\n\r\n// Regular RAF setup\r\nrequestAnimationFrame(onRaf)\r\nfunction onRaf() {\r\n    asscroll.update()\r\n    requestAnimationFrame(onRaf)\r\n}\r\n\r\n// Use with GSAP's internal RAF\r\ngsap.ticker.add(asscroll.update)\r\n\r\nasscroll.enable()\r\n```\r\n\r\n## Usage with external window resize\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableResize: true\r\n})\r\n\r\nwindow.addEventListener('resize', () => {\r\n    // trigger other resize logic\r\n    asscroll.resize({ width: window.innerWidth, height: window.innerHeight })\r\n})\r\n\r\nasscroll.enable()\r\n```\r\n\r\nTouch Devices\r\n===\r\n\r\nASScroll provides three options for handling itself on touch devices:\r\n- `'none'`: Disabled completely, falling back to native scroll whilst still providing scroll position properties\r\n- `'transform'`: Continue to transform the scroll elements with an ease setting specifically to touch devices\r\n- `'scrollTop'`: Utilise the `scrollTop` value of the container element when used in conjunction with CSS that prevents resizes and browser UI from toggling\r\n\r\nThe `scrollTop` option is primarily used for syncing WebGL content to the scroll position on mobile, without overriding the native inertia scroll.\r\n\r\nWhen using the `'scrollTop'` option, you must include the following CSS in your project and replace `.asscroll-container` and `[data-scroll]` with the elements you are using, if you have changed from the defaults:\r\n```css\r\n.asscroll-touch .asscroll-container {\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: -0.1px;\r\n    overflow-y: auto;\r\n}\r\n\r\n.asscroll-touch [data-scroll] {\r\n    margin-bottom: 0.1px;\r\n}\r\n```","readmeFilename":"README.md","gitHead":"47e7e6ca873a6abd26e18e72d5358d424bfd35f6","_id":"@ashthornton/asscroll@2.0.0-beta.2","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-7rTzkMgdGEUpSS/sKzfQg6k94Fi8PVhS/NBFdJkkgGS/coF4UUu97TCf/2mUVipKHVxZFRoA/rKNsJeXB8ddmQ==","shasum":"cc83c8233e0435b4379490e65eb668f86c8e1b0e","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.0-beta.2.tgz","fileCount":15,"unpackedSize":171815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkFPICRA9TVsSAnZWagAAn5IP/2NlRn5wZvWTxJRkLgzF\nWmGM+wtovDb4JzYINrvV5gHP+dYCYbjeCFE08QxPwysyCCoPKJjqrWzpBYI0\nQin+zeAtsYsz76+H6Uld1dsJWQ/kHRTxyimmzQOMKDWqHQ0d3xV8GXA+osvB\nJxiTismjGitBOu4Pg6cuNj74NNZmCYUd5Q2O/EHfPM4irZjdZA8t4q6EyyJc\nQBW1Klj6dfqJKBapZawJ/UVw4R1XVKQ9gLIkDbdkxz4o771Graw08fffGhOv\nM25wBKJmSzn76mrqB/X+YBK7T6v4mWr9CDO9MscYB5EDy7WQ6opREe3Wsw52\nYNGzmEZzAOOUhoOLeMLL4iE+OFbVKQZtnd//mdN9amhWSEL7b82IRK5wizVZ\n2Aag9gGIPpLe3flNIhZMvqCmHByymBFrRpy4dAEWm/C3IVDRg+HFcoj82ZUf\n79uDy1HbrA1k2d7NLrj3rf2rdOY1K6v3LMCnC7UUZ10Tm24gg+kRM20zjALQ\ncgmRA0uFK7Y+EgAvFLSwxuzqIKJ6hGCMgtUFS/8xgxphadHGO0CuAY4p5RPv\nWj+ZX6xrKNVgfbcJgXzRQCyP2hYjNA+ph10PBKLYsb1U1j3KycCr7XLNusMo\n3AX+7iqWqHeLRt8bj09Y+Dw0YYGk/X5tqcVCQS9507gPTNcQanHrFHBWndu0\n0/qE\r\n=7MfL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH4jMNthiTea1OV/XUN2qokd8PVwpOMpM1b5MZgqSVRMAiEAm8IVDcJH/JKc+cwtEIUprhlT3Jdf5DZswEm921umQ8g="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.0-beta.2_1620071368077_0.2616013720737467"},"_hasShrinkwrap":false},"2.0.0-beta.3":{"name":"@ashthornton/asscroll","version":"2.0.0-beta.3","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"readme":"<p align=\"center\"><img src=\"https://raw.githubusercontent.com/ashthornton-gc/asscroll/master/docs/asscroll.png\"></p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://www.npmjs.com/package/@ashthornton/asscroll\"><img src=\"https://img.shields.io/npm/v/@ashthornton/asscroll?color=%23F7894A\" alt=\"NPM Version\"></a>\r\n    <img alt=\"npm bundle size\" src=\"https://img.shields.io/bundlephobia/minzip/@ashthornton/asscroll?color=%23F7894A\">\r\n    <a href=\"https://www.jsdelivr.com/package/npm/@ashthornton/asscroll\"><img alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/@ashthornton/asscroll?color=%23F7894A\"></a>\r\n</p>\r\n\r\n<h3 align=\"center\"><strong>ASScroll is a hybrid smooth scroll setup that combines the<br>performance gains of virtual scroll with the reliability of native scroll.</strong></h3>\r\n\r\n<p align=\"center\" style=\"padding: 0 15%\">This setup aims to be a lightweight solution that provides a consistent smooth scrolling experience across all platforms, devices and hardware.</p>\r\n\r\n---\r\n\r\n#### Advantages over pure virtual scroll:\r\n- Accessibility / keyboard friendly (without overriding the browser's native scroll)\r\n- No special cases to cater for when handling manual key detection (i.e. pressing space in a form input)\r\n- Doesn't stop working when hovering over an iframe\r\n- Handles hardware that doesn't fire the 'wheel' event i.e. Windows trackpads in Edge + IE\r\n- No lag between DOM and WebGL elements on mobile, whilst retaining native inertia scroll\r\n\r\n#### Other Features:\r\n- Horizontal scroll\r\n- Custom scroll bar\r\n- Use your own external RAF loop and resize events\r\n- Consistent lerp speeds on high refresh rate displays\r\n\r\n_No animation features are included as there are other libraries that can be used with ASScroll. GreenSock's [ScrollTrigger](https://greensock.com/scrolltrigger/) is a great example and a demo is included below_\r\n\r\nDemos\r\n================\r\n- [Zero Config Demo](https://codepen.io/ashthornton/pen/pobJRQX?editors=1010)\r\n- [Options Demo](https://codepen.io/ashthornton/pen/YzWXZqL?editors=1010)\r\n- [Using GSAP's ScrollTrigger with ASScroll](https://codepen.io/ashthornton/pen/PoZRwPW)\r\n- [Using PJAX Navigation (Highway) with ASScroll](https://codepen.io/ashthornton/project/editor/AypMLG)\r\n\r\n### Sites using ASScroll\r\n- [Superlist](https://superlist.com/)\r\n- [Lewa House](https://lewahouse.com/)\r\n- [Eder Anaya](https://ederanaya.me/)\r\n- [FanFan](https://fanfan.fan/)\r\n- [Havoc](https://www.havoc.co/)\r\n- [Wray and Nephew](https://straightfromyard.co.uk/)\r\n- [Shape Studio](https://shapestudio.co.uk/)\r\n\r\nTable of contents\r\n=================\r\n<!--ts-->\r\n   * [Install](#install)\r\n   * [Zero Config Setup](#zero-config-setup)\r\n   * [API](#asscroll)\r\n   * [Custom Scrollbar](#custom-scrollbar)\r\n   * [External RAF Usage](#usage-with-external-requestanimationframe)\r\n   * [External Resize Usage](#usage-with-external-window-resize)\r\n   * [Touch Devices](#touch-devices)\r\n<!--te-->\r\n\r\n---\r\n\r\n\r\n# Install\r\n`npm i --save @ashthornton/asscroll` or `yarn add @ashthornton/asscroll`\r\n\r\nAlso available via [JSDelivr CDN](https://www.jsdelivr.com/package/npm/@ashthornton/asscroll) which you can then include with a `<script>` tag.\r\n\r\n# Zero Config Setup\r\n\r\n1. Add a class of `.asscroll-container` to the parent element of the content to be smooth scrolled. By default, the first child found within will be scrolled. These can both be changed in the options.\r\n\r\n```html\r\n<body>\r\n    <div class=\"asscroll-container\">\r\n        <div><!-- The Y translation will be applied to this element --></div>\r\n    </div>\r\n</body>\r\n```\r\n\r\n2. Import and initialise in Javascript\r\n\r\n```js\r\nimport ASScroll from '@ashthornton/asscroll'\r\n\r\nconst asscroll = new ASScroll()\r\n\r\nwindow.addEventListener('load', () => {\r\n    asscroll.enable()\r\n})\r\n```\r\n\r\n---\r\n\r\n<a name=\"ASScroll\"></a>\n\n# ASScroll\nAsh's Smooth Scroll 🍑\n\n\n* [ASScroll](#ASScroll)\n    * [new ASScroll([parameters])](#new_ASScroll_new)\n    * [.targetPos](#ASScroll+targetPos) ⇒ <code>number</code>\n    * [.currentPos](#ASScroll+currentPos) ⇒ <code>number</code>\n    * [.maxScroll](#ASScroll+maxScroll) ⇒ <code>number</code>\n    * [.containerElement](#ASScroll+containerElement) ⇒ <code>HTMLElement</code>\n    * [.scrollElements](#ASScroll+scrollElements) ⇒ <code>Array</code>\n    * [.enable([parameters])](#ASScroll+enable)\n    * [.disable(parameters)](#ASScroll+disable)\n    * [.update()](#ASScroll+update)\n    * [.resize([parameters])](#ASScroll+resize)\n    * [.on(eventName, callback)](#ASScroll+on)\n    * [.off(eventName, callback)](#ASScroll+off)\n    * [.scrollTo(targetPos, [emitEvent])](#ASScroll+scrollTo)\n\n<a name=\"new_ASScroll_new\"></a>\n\n## new ASScroll([parameters])\nCreates an ASScroll instance\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.containerElement] | <code>string</code> \\| <code>HTMLElement</code> | <code>&quot;.asscroll-container&quot;</code> | The selector string for the outer container element, or the element itself |\n| [parameters.scrollElements] | <code>string</code> \\| <code>HTMLElement</code> \\| <code>NodeList</code> | <code>&quot;[data-asscroll]&quot;</code> | The selector string for the elements to scroll, or the elements themselves |\n| [parameters.ease] | <code>number</code> | <code>0.075</code> | The ease amount for the transform lerp |\n| [parameters.touchEase] | <code>number</code> | <code>1</code> | The ease amount for the transform lerp on touch devices |\n| [parameters.touchScrollType] | <code>string</code> | <code>&quot;none&quot;</code> | Set the scrolling method on touch devices. Other options are 'transform' and 'scrollTop' |\n| [parameters.scrollbarEl] | <code>string</code> | <code>&quot;.asscrollbar&quot;</code> | The selector string for the custom scrollbar element |\n| [parameters.scrollbarHandleEl] | <code>string</code> | <code>&quot;.asscrollbar__handle&quot;</code> | The selector string for the custom scrollbar handle element |\n| [parameters.customScrollbar] | <code>boolean</code> | <code>true</code> | Toggle the custom scrollbar |\n| [parameters.scrollbarStyles] | <code>boolean</code> | <code>true</code> | Include the scrollbar CSS via Javascript |\n| [parameters.disableNativeScrollbar] | <code>boolean</code> | <code>true</code> | Disable the native browser scrollbar |\n| [parameters.disableRaf] | <code>boolean</code> | <code>false</code> | Disable internal requestAnimationFrame loop in order to use an external one |\n| [parameters.disableResize] | <code>boolean</code> | <code>false</code> | Disable internal resize event on the window in order to use an external one |\n| [parameters.limitLerpRate] | <code>boolean</code> | <code>true</code> | Match lerp speed on >60Hz displays to that of a 60Hz display |\n| [parameters.blockScrollClass] | <code>string</code> | <code>&quot;.asscroll-block&quot;</code> | The class to add to elements that should block ASScroll when hovered |\n\n<a name=\"ASScroll+targetPos\"></a>\n\n## asscroll.targetPos ⇒ <code>number</code>\nReturns the target scroll position.\n\n**Returns**: <code>number</code> - Target scroll position  \n<a name=\"ASScroll+currentPos\"></a>\n\n## asscroll.currentPos ⇒ <code>number</code>\nGets or sets the current scroll position.\n\n**Returns**: <code>number</code> - Current scroll position  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| scrollPos | <code>number</code> | The desired scroll position |\n\n**Example** *(Sets the scroll position to 200, bypassing any lerps)*  \n```js\nasscroll.currentPos = 200\n```\n<a name=\"ASScroll+maxScroll\"></a>\n\n## asscroll.maxScroll ⇒ <code>number</code>\nReturns the maximum scroll height of the page.\n\n**Returns**: <code>number</code> - Maxmium scroll height  \n<a name=\"ASScroll+containerElement\"></a>\n\n## asscroll.containerElement ⇒ <code>HTMLElement</code>\nReturns the outer element that ASScroll is attached to.\n\n**Returns**: <code>HTMLElement</code> - The outer element  \n<a name=\"ASScroll+scrollElements\"></a>\n\n## asscroll.scrollElements ⇒ <code>Array</code>\nReturns the the element(s) that ASScroll is scrolling.\n\n**Returns**: <code>Array</code> - An array of elements ASScroll is scrolling  \n<a name=\"ASScroll+enable\"></a>\n\n## asscroll.enable([parameters])\nEnable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.newScrollElements] | <code>boolean</code> \\| <code>NodeList</code> \\| <code>HTMLElement</code> | <code>false</code> | Specify the new element(s) that should be scrolled |\n| [parameters.reset] | <code>boolean</code> | <code>false</code> | Reset the scroll position to 0 |\n| [parameters.restore] | <code>boolean</code> | <code>false</code> | Restore the scroll position to where it was when disable() was called |\n| [parameters.horizontalScroll] | <code>boolean</code> | <code>false</code> | Toggle horizontal scrolling |\n\n**Example** *(Enables ASScroll on the &#x27;.page&#x27; element and resets the scroll position to 0)*  \n```js\nasscroll.enable({ newScrollElements: document.querySelector('.page'), reset: true })\n```\n**Example** *(Enables ASScroll and restores to the previous position before ASScroll.disable() was called)*  \n```js\nasscroll.enable({ restore: true })\n```\n<a name=\"ASScroll+disable\"></a>\n\n## asscroll.disable(parameters)\nDisable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| parameters | <code>object</code> |  |  |\n| [parameters.inputOnly] | <code>boolean</code> | <code>false</code> | Only disable the ability to manually scroll (still allow transforms) |\n\n**Example** *(Disables the ability to manually scroll whilst still allowing position updates to be made via asscroll.currentPos, for example)*  \n```js\nasscroll.disable({ inputOnly: true })\n```\n<a name=\"ASScroll+update\"></a>\n\n## asscroll.update()\nCall the internal animation frame request callback.\n\n<a name=\"ASScroll+resize\"></a>\n\n## asscroll.resize([parameters])\nCall the internal resize callback.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| [parameters] | <code>object</code> |  |\n| [parameters.width] | <code>number</code> | Window width |\n| [parameters.height] | <code>number</code> | Window height |\n\n<a name=\"ASScroll+on\"></a>\n\n## asscroll.on(eventName, callback)\nAdd an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event you wish to listen for |\n| callback | <code>function</code> | Callback function that should be executed when the event fires |\n\n**Example** *(Logs out the scroll position when the &#x27;scroll&#x27; event is fired)*  \n```js\nasscroll.on('scroll', scrollPos => console.log(scrollPos))\n```\n**Example** *(Returns the target scroll position and current scroll position during the internal update loop)*  \n```js\nasscroll.on('update', ({ targetPos, currentPos }) => console.log(targetPos, currentPos))\n```\n**Example** *(Fires when the lerped scroll position has reached the target position)*  \n```js\nasscroll.on('scrollEnd', scrollPos => console.log(scrollPos))\n```\n<a name=\"ASScroll+off\"></a>\n\n## asscroll.off(eventName, callback)\nRemove an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event |\n| callback | <code>function</code> | Callback function |\n\n<a name=\"ASScroll+scrollTo\"></a>\n\n## asscroll.scrollTo(targetPos, [emitEvent])\nScroll to a given position on the page.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| targetPos | <code>number</code> |  | Target scroll position |\n| [emitEvent] | <code>boolean</code> | <code>true</code> | Whether to emit the external scroll events or not |\n\n\r\n---\r\n\r\n## Custom Scrollbar\r\n\r\nWhen `customScrollbar` is enabled in the options, a default set of styles will get added to the page that match the following HTML:\r\n\r\n```HTML\r\n<div class=\"asscrollbar\"><div class=\"asscrollbar__handle\"><div></div></div></div>\r\n```\r\n\r\nThis HTML will get added to your page automatically if you don't add it yourself.\r\n\r\nYou can change the classes that are used by changing the `scrollbarEl` and `scrollbarHandleEl` options.\r\n\r\nYou can use your own styles by setting the `scrollbarStyles` option to false.\r\n\r\n---\r\n\r\n⚠ **Note**: These styles are added via JS so will only be applied after JS has loaded. This may cause the native scrollbar to show for a moment before the styles are added resulting in a jump of the page.\r\n\r\nYou can include the styles necessary to hide the native scrollbar in your CSS by copy and pasting the contents of `/css/index.css` or simply by importing them into your CSS setup. For example:\r\n\r\n```css\r\n@import '~@ashthornton/asscroll/css'\r\n```\r\n\r\n## Usage with external requestAnimationFrame\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableRaf: true\r\n})\r\n\r\n// Regular RAF setup\r\nrequestAnimationFrame(onRaf)\r\nfunction onRaf() {\r\n    asscroll.update()\r\n    requestAnimationFrame(onRaf)\r\n}\r\n\r\n// Use with GSAP's internal RAF\r\ngsap.ticker.add(asscroll.update)\r\n\r\nasscroll.enable()\r\n```\r\n\r\n## Usage with external window resize\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableResize: true\r\n})\r\n\r\nwindow.addEventListener('resize', () => {\r\n    // trigger other resize logic\r\n    asscroll.resize({ width: window.innerWidth, height: window.innerHeight })\r\n})\r\n\r\nasscroll.enable()\r\n```\r\n\r\nTouch Devices\r\n===\r\n\r\nASScroll provides three options for handling itself on touch devices:\r\n- `'none'`: Disabled completely, falling back to native scroll whilst still providing scroll position properties\r\n- `'transform'`: Continue to transform the scroll elements with an ease setting specifically to touch devices\r\n- `'scrollTop'`: Utilise the `scrollTop` value of the container element when used in conjunction with CSS that prevents resizes and browser UI from toggling\r\n\r\nThe `scrollTop` option is primarily used for syncing WebGL content to the scroll position on mobile, without overriding the native inertia scroll.\r\n\r\nWhen using the `'scrollTop'` option, you must include the following CSS in your project and replace `.asscroll-container` and `[data-scroll]` with the elements you are using, if you have changed from the defaults:\r\n```css\r\n.asscroll-touch .asscroll-container {\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: -0.1px;\r\n    overflow-y: auto;\r\n}\r\n\r\n.asscroll-touch [data-scroll] {\r\n    margin-bottom: 0.1px;\r\n}\r\n```","readmeFilename":"README.md","gitHead":"38b6402eea81262302842a9249fa0d011faa8a74","_id":"@ashthornton/asscroll@2.0.0-beta.3","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-pbLTO0Kkeb9rA/ykiKenEri0mnZFiMi+evenTBGzWCI/k+n9P7hBTDUnb0BalLUbgwRRGyRWVw+uocVA2fT+0Q==","shasum":"a2ee2d509b8c569ada398dc526f435c8b07f7578","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.0-beta.3.tgz","fileCount":15,"unpackedSize":172034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkFj4CRA9TVsSAnZWagAAE68P/RoxvCzzCsfSRDL67k+g\nuvenlHdZD7uq21HfRp3s5nmmOV2zfgDOijbbSTYk6gJ6mvf7UL4VGlSCgW/q\nnpxn35pSTjA4gLsM6WAKYsTc6WZVYmQOiDO3U2kSK3Jg69CqK9/I2TOXFMKy\nRIvWnXm9hrPfTOpmRqFbXQhw/H5EYpYJZfPI9yVkkbfq3vz+Y27fdX4UX/44\ndad7jZrV6hUEQWLlYYImQgvtlSim7daSXPfm53++vKk1Ga+rutCqCXJJ33F8\nG8dsYQMScZ+yJ3NgPIyIFi3WJcksI89zwnWHyrUhgiIPnJdxF/rRbDwmoDKm\nNl9dyEBt+DcDs9YzcSr5o1rVvOcjZjGERR2Bgr578Pq/me2rEoPDiKljHpfh\nldSF5pqo89u/lR6Rsh4c6x7v+J2JfoQOgC1RqGSn2YNWlt9t/f0cguyooj0W\n8gHZOsFNxVa9n1i/HHPiBPOFCFWt/QgcWTkOyobbJtcDvCl+fejFrb5nQI3n\nZP6A2s8D/9oXQSowkcAh9zR/x8MJXzO4RYaA5awvk9+zEJOXOi1eRwWLZ4dF\nliv108ns/4Ffb+iVNuF/WpndmVN2yVVXLD+5SADsjxS/FOn2ObyYIA9j0uDV\nUUn3u5vAh04p1EbPQjd628jRPl9fo+/xf/WTGcsUlxIDYwLWLlNXIpmtw/O3\n506/\r\n=dk7G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGjCrcaOlsgBaFGGzZdxja11hfUe7oGw9RSRgua+KuzQAiEA190ivUrOIPdCbAofvLfVmn5OEK2vqpHJM94ghro5UXs="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.0-beta.3_1620072696528_0.9291188088490383"},"_hasShrinkwrap":false},"2.0.0-beta.4":{"name":"@ashthornton/asscroll","version":"2.0.0-beta.4","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"readme":"<p align=\"center\"><img src=\"https://raw.githubusercontent.com/ashthornton-gc/asscroll/master/docs/asscroll.png\"></p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://www.npmjs.com/package/@ashthornton/asscroll\"><img src=\"https://img.shields.io/npm/v/@ashthornton/asscroll?color=%23F7894A\" alt=\"NPM Version\"></a>\r\n    <img alt=\"npm bundle size\" src=\"https://img.shields.io/bundlephobia/minzip/@ashthornton/asscroll?color=%23F7894A\">\r\n    <a href=\"https://www.jsdelivr.com/package/npm/@ashthornton/asscroll\"><img alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/@ashthornton/asscroll?color=%23F7894A\"></a>\r\n</p>\r\n\r\n<h3 align=\"center\"><strong>ASScroll is a hybrid smooth scroll setup that combines the<br>performance gains of virtual scroll with the reliability of native scroll.</strong></h3>\r\n\r\n<p align=\"center\" style=\"padding: 0 15%\">This setup aims to be a lightweight solution that provides a consistent smooth scrolling experience across all platforms, devices and hardware.</p>\r\n\r\n---\r\n\r\n#### Advantages over pure virtual scroll:\r\n- Accessibility / keyboard friendly (without overriding the browser's native scroll)\r\n- No special cases to cater for when handling manual key detection (i.e. pressing space in a form input)\r\n- Doesn't stop working when hovering over an iframe\r\n- Handles hardware that doesn't fire the 'wheel' event i.e. Windows trackpads in Edge + IE\r\n- No lag between DOM and WebGL elements on mobile, whilst retaining native inertia scroll\r\n\r\n#### Other Features:\r\n- Horizontal scroll\r\n- Custom scroll bar\r\n- Use your own external RAF loop and resize events\r\n- Consistent lerp speeds on high refresh rate displays\r\n\r\n_No animation features are included as there are other libraries that can be used with ASScroll. GreenSock's [ScrollTrigger](https://greensock.com/scrolltrigger/) is a great example and a demo is included below_\r\n\r\nDemos\r\n================\r\n- [Zero Config Demo](https://codepen.io/ashthornton/pen/pobJRQX?editors=1010)\r\n- [Options Demo](https://codepen.io/ashthornton/pen/YzWXZqL?editors=1010)\r\n- [Using GSAP's ScrollTrigger with ASScroll](https://codepen.io/ashthornton/pen/PoZRwPW)\r\n- [Using PJAX Navigation (Highway) with ASScroll](https://codepen.io/ashthornton/project/editor/AypMLG)\r\n\r\n### Sites using ASScroll\r\n- [Superlist](https://superlist.com/)\r\n- [Lewa House](https://lewahouse.com/)\r\n- [Eder Anaya](https://ederanaya.me/)\r\n- [FanFan](https://fanfan.fan/)\r\n- [Havoc](https://www.havoc.co/)\r\n- [Wray and Nephew](https://straightfromyard.co.uk/)\r\n- [Shape Studio](https://shapestudio.co.uk/)\r\n\r\nTable of contents\r\n=================\r\n<!--ts-->\r\n   * [Install](#install)\r\n   * [Zero Config Setup](#zero-config-setup)\r\n   * [API](#asscroll)\r\n   * [Custom Scrollbar](#custom-scrollbar)\r\n   * [External RAF Usage](#usage-with-external-requestanimationframe)\r\n   * [External Resize Usage](#usage-with-external-window-resize)\r\n   * [Touch Devices](#touch-devices)\r\n<!--te-->\r\n\r\n---\r\n\r\n\r\n# Install\r\n`npm i --save @ashthornton/asscroll` or `yarn add @ashthornton/asscroll`\r\n\r\nAlso available via [JSDelivr CDN](https://www.jsdelivr.com/package/npm/@ashthornton/asscroll) which you can then include with a `<script>` tag.\r\n\r\n# Zero Config Setup\r\n\r\n1. Add a class of `.asscroll-container` to the parent element of the content to be smooth scrolled. By default, the first child found within will be scrolled. These can both be changed in the options.\r\n\r\n```html\r\n<body>\r\n    <div class=\"asscroll-container\">\r\n        <div><!-- The Y translation will be applied to this element --></div>\r\n    </div>\r\n</body>\r\n```\r\n\r\n2. Import and initialise in Javascript\r\n\r\n```js\r\nimport ASScroll from '@ashthornton/asscroll'\r\n\r\nconst asscroll = new ASScroll()\r\n\r\nwindow.addEventListener('load', () => {\r\n    asscroll.enable()\r\n})\r\n```\r\n\r\n---\r\n\r\n<a name=\"ASScroll\"></a>\n\n# ASScroll\nAsh's Smooth Scroll 🍑\n\n\n* [ASScroll](#ASScroll)\n    * [new ASScroll([parameters])](#new_ASScroll_new)\n    * [.targetPos](#ASScroll+targetPos) ⇒ <code>number</code>\n    * [.currentPos](#ASScroll+currentPos) ⇒ <code>number</code>\n    * [.maxScroll](#ASScroll+maxScroll) ⇒ <code>number</code>\n    * [.containerElement](#ASScroll+containerElement) ⇒ <code>HTMLElement</code>\n    * [.scrollElements](#ASScroll+scrollElements) ⇒ <code>Array</code>\n    * [.enable([parameters])](#ASScroll+enable)\n    * [.disable(parameters)](#ASScroll+disable)\n    * [.update()](#ASScroll+update)\n    * [.resize([parameters])](#ASScroll+resize)\n    * [.on(eventName, callback)](#ASScroll+on)\n    * [.off(eventName, callback)](#ASScroll+off)\n    * [.scrollTo(targetPos, [emitEvent])](#ASScroll+scrollTo)\n\n<a name=\"new_ASScroll_new\"></a>\n\n## new ASScroll([parameters])\nCreates an ASScroll instance\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.containerElement] | <code>string</code> \\| <code>HTMLElement</code> | <code>&quot;.asscroll-container&quot;</code> | The selector string for the outer container element, or the element itself |\n| [parameters.scrollElements] | <code>string</code> \\| <code>HTMLElement</code> \\| <code>NodeList</code> | <code>&quot;[asscroll]&quot;</code> | The selector string for the elements to scroll, or the elements themselves |\n| [parameters.ease] | <code>number</code> | <code>0.075</code> | The ease amount for the transform lerp |\n| [parameters.touchEase] | <code>number</code> | <code>1</code> | The ease amount for the transform lerp on touch devices |\n| [parameters.touchScrollType] | <code>string</code> | <code>&quot;none&quot;</code> | Set the scrolling method on touch devices. Other options are 'transform' and 'scrollTop'. See the [Touch Devices](#touch-devices) section for more info |\n| [parameters.scrollbarEl] | <code>string</code> | <code>&quot;.asscrollbar&quot;</code> | The selector string for the custom scrollbar element |\n| [parameters.scrollbarHandleEl] | <code>string</code> | <code>&quot;.asscrollbar__handle&quot;</code> | The selector string for the custom scrollbar handle element |\n| [parameters.customScrollbar] | <code>boolean</code> | <code>true</code> | Toggle the custom scrollbar |\n| [parameters.scrollbarStyles] | <code>boolean</code> | <code>true</code> | Include the scrollbar CSS via Javascript |\n| [parameters.disableNativeScrollbar] | <code>boolean</code> | <code>true</code> | Disable the native browser scrollbar |\n| [parameters.disableRaf] | <code>boolean</code> | <code>false</code> | Disable internal requestAnimationFrame loop in order to use an external one |\n| [parameters.disableResize] | <code>boolean</code> | <code>false</code> | Disable internal resize event on the window in order to use an external one |\n| [parameters.limitLerpRate] | <code>boolean</code> | <code>true</code> | Match lerp speed on >60Hz displays to that of a 60Hz display |\n| [parameters.blockScrollClass] | <code>string</code> | <code>&quot;.asscroll-block&quot;</code> | The class to add to elements that should block ASScroll when hovered |\n\n<a name=\"ASScroll+targetPos\"></a>\n\n## asscroll.targetPos ⇒ <code>number</code>\nReturns the target scroll position.\n\n**Returns**: <code>number</code> - Target scroll position  \n<a name=\"ASScroll+currentPos\"></a>\n\n## asscroll.currentPos ⇒ <code>number</code>\nGets or sets the current scroll position.\n\n**Returns**: <code>number</code> - Current scroll position  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| scrollPos | <code>number</code> | The desired scroll position |\n\n**Example** *(Sets the scroll position to 200, bypassing any lerps)*  \n```js\nasscroll.currentPos = 200\n```\n<a name=\"ASScroll+maxScroll\"></a>\n\n## asscroll.maxScroll ⇒ <code>number</code>\nReturns the maximum scroll height of the page.\n\n**Returns**: <code>number</code> - Maxmium scroll height  \n<a name=\"ASScroll+containerElement\"></a>\n\n## asscroll.containerElement ⇒ <code>HTMLElement</code>\nReturns the outer element that ASScroll is attached to.\n\n**Returns**: <code>HTMLElement</code> - The outer element  \n<a name=\"ASScroll+scrollElements\"></a>\n\n## asscroll.scrollElements ⇒ <code>Array</code>\nReturns the the element(s) that ASScroll is scrolling.\n\n**Returns**: <code>Array</code> - An array of elements ASScroll is scrolling  \n<a name=\"ASScroll+enable\"></a>\n\n## asscroll.enable([parameters])\nEnable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.newScrollElements] | <code>boolean</code> \\| <code>NodeList</code> \\| <code>HTMLElement</code> | <code>false</code> | Specify the new element(s) that should be scrolled |\n| [parameters.reset] | <code>boolean</code> | <code>false</code> | Reset the scroll position to 0 |\n| [parameters.restore] | <code>boolean</code> | <code>false</code> | Restore the scroll position to where it was when disable() was called |\n| [parameters.horizontalScroll] | <code>boolean</code> | <code>false</code> | Toggle horizontal scrolling |\n\n**Example** *(Enables ASScroll on the &#x27;.page&#x27; element and resets the scroll position to 0)*  \n```js\nasscroll.enable({ newScrollElements: document.querySelector('.page'), reset: true })\n```\n**Example** *(Enables ASScroll and restores to the previous position before ASScroll.disable() was called)*  \n```js\nasscroll.enable({ restore: true })\n```\n<a name=\"ASScroll+disable\"></a>\n\n## asscroll.disable(parameters)\nDisable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| parameters | <code>object</code> |  |  |\n| [parameters.inputOnly] | <code>boolean</code> | <code>false</code> | Only disable the ability to manually scroll (still allow transforms) |\n\n**Example** *(Disables the ability to manually scroll whilst still allowing position updates to be made via asscroll.currentPos, for example)*  \n```js\nasscroll.disable({ inputOnly: true })\n```\n<a name=\"ASScroll+update\"></a>\n\n## asscroll.update()\nCall the internal animation frame request callback.\n\n<a name=\"ASScroll+resize\"></a>\n\n## asscroll.resize([parameters])\nCall the internal resize callback.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| [parameters] | <code>object</code> |  |\n| [parameters.width] | <code>number</code> | Window width |\n| [parameters.height] | <code>number</code> | Window height |\n\n<a name=\"ASScroll+on\"></a>\n\n## asscroll.on(eventName, callback)\nAdd an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event you wish to listen for |\n| callback | <code>function</code> | Callback function that should be executed when the event fires |\n\n**Example** *(Logs out the scroll position when the &#x27;scroll&#x27; event is fired)*  \n```js\nasscroll.on('scroll', scrollPos => console.log(scrollPos))\n```\n**Example** *(Returns the target scroll position and current scroll position during the internal update loop)*  \n```js\nasscroll.on('update', ({ targetPos, currentPos }) => console.log(targetPos, currentPos))\n```\n**Example** *(Fires when the lerped scroll position has reached the target position)*  \n```js\nasscroll.on('scrollEnd', scrollPos => console.log(scrollPos))\n```\n<a name=\"ASScroll+off\"></a>\n\n## asscroll.off(eventName, callback)\nRemove an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event |\n| callback | <code>function</code> | Callback function |\n\n<a name=\"ASScroll+scrollTo\"></a>\n\n## asscroll.scrollTo(targetPos, [emitEvent])\nScroll to a given position on the page.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| targetPos | <code>number</code> |  | Target scroll position |\n| [emitEvent] | <code>boolean</code> | <code>true</code> | Whether to emit the external scroll events or not |\n\n\r\n---\r\n\r\n## Custom Scrollbar\r\n\r\nWhen `customScrollbar` is enabled in the options, a default set of styles will get added to the page that match the following HTML:\r\n\r\n```HTML\r\n<div class=\"asscrollbar\"><div class=\"asscrollbar__handle\"><div></div></div></div>\r\n```\r\n\r\nThis HTML will get added to your page automatically if you don't add it yourself.\r\n\r\nYou can change the classes that are used by changing the `scrollbarEl` and `scrollbarHandleEl` options.\r\n\r\nYou can use your own styles by setting the `scrollbarStyles` option to false.\r\n\r\n---\r\n\r\n⚠ **Note**: These styles are added via JS so will only be applied after JS has loaded. This may cause the native scrollbar to show for a moment before the styles are added resulting in a jump of the page.\r\n\r\nYou can include the styles necessary to hide the native scrollbar in your CSS by copy and pasting the contents of `/css/index.css` or simply by importing them into your CSS setup. For example:\r\n\r\n```css\r\n@import '~@ashthornton/asscroll/css'\r\n```\r\n\r\n## Usage with external requestAnimationFrame\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableRaf: true\r\n})\r\n\r\n// Regular RAF setup\r\nrequestAnimationFrame(onRaf)\r\nfunction onRaf() {\r\n    asscroll.update()\r\n    requestAnimationFrame(onRaf)\r\n}\r\n\r\n// Use with GSAP's internal RAF\r\ngsap.ticker.add(asscroll.update)\r\n\r\nasscroll.enable()\r\n```\r\n\r\n## Usage with external window resize\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableResize: true\r\n})\r\n\r\nwindow.addEventListener('resize', () => {\r\n    // trigger other resize logic\r\n    asscroll.resize({ width: window.innerWidth, height: window.innerHeight })\r\n})\r\n\r\nasscroll.enable()\r\n```\r\n\r\nTouch Devices\r\n===\r\n\r\nASScroll provides three options for handling itself on touch devices via the `touchScrollType` option:\r\n- `'none'`: Disabled completely, falling back to native scroll whilst still providing scroll position properties\r\n- `'transform'`: Continue to transform the scroll elements with an ease setting specifically to touch devices\r\n- `'scrollTop'`: Utilise the `scrollTop` value of the container element when used in conjunction with CSS that prevents resizes and browser UI from toggling\r\n\r\nThe `scrollTop` option is primarily used for syncing WebGL content to the scroll position on mobile, without overriding the native inertia scroll. Some CSS will be injected automatically when this option is enabled. This CSS can be found [here](https://github.com/ashthornton/asscroll/blob/master/css/scrollTop.css).","readmeFilename":"README.md","gitHead":"a94ff29e404e681ce0118af4f96820a6b36cf726","_id":"@ashthornton/asscroll@2.0.0-beta.4","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-DnrLtwLTkIywoSukl6s4P/BoK32jGjvcu/7OsT9tgH4o1oNsvvg3quRUiv0RnxWGCSR4JCyMlKvzCkzfOvEJ/g==","shasum":"a94969d148b146d0d9cad73d1817f8bcc07029ac","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.0-beta.4.tgz","fileCount":15,"unpackedSize":173639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkGBSCRA9TVsSAnZWagAAn4YP/A7GUUgD/PZoOELr0j2V\nVQJDuvNMYhUYg8DpgAkdeDsHQaVzNyiKK0NbbuKQ6c2d8I09PgqxTJeA6gCR\nawIR5AU9yudXsNU5h3WoJk8/AKkxA1de13JVJj8rkT34yRdcCZgzLX/gpOCd\nl/De4SV1axgv1h4aklf3DRiEuqSzAJf9eegkttQboErDHPJ7FydaXPrGG7n5\nrB62rsiVZc6Vth0GkQiHlnlF4tf4VFHfaM/MdFS99t8QK6isEkyomSBm3bgk\nokIbRQcJucAdVqU3HPBEZ4zrLlnONDx7M6nwYt3ojt7GRjXQnz0cWGPYiDA/\nee8oUgdWb5duoXOQstmNAi4ttaljSFUt5b+T46Zq/pkxaefr1irC7jYfxtoa\n6LHbKWCQc0aR6brSOla2JzdWni4A1kHrhn9fc6JKbhn3sMQAcKnpVCsUMnjC\nF46g5MLhS4ScbglSQbwUp6hUWYZZwPgJVEsi9ZeLEs5loDWurG9z+/FEmj1O\ndC7aKiZN10H2N+3A2DJX4Q53tw9mKOMu9VBf0Flw5vkMFrpuZR7J1KMu5sWE\nVV/Hj+vQllsNH4noA3cKKYgWsVaPNB2VlPv1kdJrcrXYCURxXH/9yXqjluA9\nRMbnauccL5qDMkXhMpcxmUsqaxFgcIt7ukkaIiepG3hL18LTW1Qple5WLQPc\nAf6z\r\n=DkGo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyrs07Dz6oXDOfL0ue153zn/AW2ywtoccYF1N7Y9WrYQIhALt5iuLqQbRgLAcnU8/TOGic36iEZQqnBS+/FALCfZSo"}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.0-beta.4_1620074578489_0.6659291468506601"},"_hasShrinkwrap":false},"2.0.0-beta.6":{"name":"@ashthornton/asscroll","version":"2.0.0-beta.6","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"readme":"<p align=\"center\"><img src=\"https://raw.githubusercontent.com/ashthornton-gc/asscroll/master/docs/asscroll.png\"></p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://www.npmjs.com/package/@ashthornton/asscroll\"><img src=\"https://img.shields.io/npm/v/@ashthornton/asscroll?color=%23F7894A\" alt=\"NPM Version\"></a>\r\n    <img alt=\"npm bundle size\" src=\"https://img.shields.io/bundlephobia/minzip/@ashthornton/asscroll?color=%23F7894A\">\r\n    <a href=\"https://www.jsdelivr.com/package/npm/@ashthornton/asscroll\"><img alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/@ashthornton/asscroll?color=%23F7894A\"></a>\r\n</p>\r\n\r\n<h3 align=\"center\"><strong>ASScroll is a hybrid smooth scroll setup that combines the<br>performance gains of virtual scroll with the reliability of native scroll.</strong></h3>\r\n\r\n<p align=\"center\" style=\"padding: 0 15%\">This setup aims to be a lightweight solution that provides a consistent smooth scrolling experience across all platforms, devices and hardware.</p>\r\n\r\n---\r\n\r\n#### Advantages over pure virtual scroll:\r\n- Accessibility / keyboard friendly (without overriding the browser's native scroll)\r\n- No special cases to cater for when handling manual key detection (i.e. pressing space in a form input)\r\n- Doesn't stop working when hovering over an iframe\r\n- Handles hardware that doesn't fire the 'wheel' event i.e. Windows trackpads in Edge + IE\r\n- No lag between DOM and WebGL elements on mobile, whilst retaining native inertia scroll\r\n\r\n#### Other Features:\r\n- Horizontal scroll\r\n- Custom scroll bar\r\n- Use your own external RAF loop and resize events\r\n- Consistent lerp speeds on high refresh rate displays\r\n\r\n_No animation features are included as there are other libraries that can be used with ASScroll. GreenSock's [ScrollTrigger](https://greensock.com/scrolltrigger/) is a great example and a demo is included below_\r\n\r\nDemos\r\n================\r\n- [Zero Config Demo](https://codepen.io/ashthornton/pen/pobJRQX?editors=1010)\r\n- [Options Demo](https://codepen.io/ashthornton/pen/YzWXZqL?editors=1010)\r\n- [Using GSAP's ScrollTrigger with ASScroll](https://codepen.io/ashthornton/pen/PoZRwPW)\r\n- [Using PJAX Navigation (Highway) with ASScroll](https://codepen.io/ashthornton/project/editor/AypMLG)\r\n\r\n### Sites using ASScroll\r\n- [Superlist](https://superlist.com/)\r\n- [Lewa House](https://lewahouse.com/)\r\n- [Eder Anaya](https://ederanaya.me/)\r\n- [FanFan](https://fanfan.fan/)\r\n- [Havoc](https://www.havoc.co/)\r\n- [Wray and Nephew](https://straightfromyard.co.uk/)\r\n- [Shape Studio](https://shapestudio.co.uk/)\r\n\r\nTable of contents\r\n=================\r\n<!--ts-->\r\n   * [Install](#install)\r\n   * [Zero Config Setup](#zero-config-setup)\r\n   * [API](#asscroll)\r\n   * [Custom Scrollbar](#custom-scrollbar)\r\n   * [External RAF Usage](#usage-with-external-requestanimationframe)\r\n   * [External Resize Usage](#usage-with-external-window-resize)\r\n   * [Touch Devices](#touch-devices)\r\n<!--te-->\r\n\r\n---\r\n\r\n\r\n# Install\r\n`npm i --save @ashthornton/asscroll` or `yarn add @ashthornton/asscroll`\r\n\r\nAlso available via [JSDelivr CDN](https://www.jsdelivr.com/package/npm/@ashthornton/asscroll) which you can then include with a `<script>` tag.\r\n\r\n# Zero Config Setup\r\n\r\n1. Add a class of `.asscroll-container` to the parent element of the content to be smooth scrolled. By default, the first child found within will be scrolled. These can both be changed in the options.\r\n\r\n```html\r\n<body>\r\n    <div class=\"asscroll-container\">\r\n        <div><!-- The Y translation will be applied to this element --></div>\r\n    </div>\r\n</body>\r\n```\r\n\r\n2. Import and initialise in Javascript\r\n\r\n```js\r\nimport ASScroll from '@ashthornton/asscroll'\r\n\r\nconst asscroll = new ASScroll()\r\n\r\nwindow.addEventListener('load', () => {\r\n    asscroll.enable()\r\n})\r\n```\r\n\r\n---\r\n\r\n<a name=\"ASScroll\"></a>\n\n# ASScroll\nAsh's Smooth Scroll 🍑\n\n\n* [ASScroll](#ASScroll)\n    * [new ASScroll([parameters])](#new_ASScroll_new)\n    * [.targetPos](#ASScroll+targetPos) ⇒ <code>number</code>\n    * [.currentPos](#ASScroll+currentPos) ⇒ <code>number</code>\n    * [.maxScroll](#ASScroll+maxScroll) ⇒ <code>number</code>\n    * [.containerElement](#ASScroll+containerElement) ⇒ <code>HTMLElement</code>\n    * [.scrollElements](#ASScroll+scrollElements) ⇒ <code>Array</code>\n    * [.isHorizontalScroll](#ASScroll+isHorizontalScroll) ⇒ <code>boolean</code>\n    * [.enable([parameters])](#ASScroll+enable)\n    * [.disable(parameters)](#ASScroll+disable)\n    * [.update()](#ASScroll+update)\n    * [.resize([parameters])](#ASScroll+resize)\n    * [.on(eventName, callback)](#ASScroll+on)\n    * [.off(eventName, callback)](#ASScroll+off)\n    * [.scrollTo(targetPos, [emitEvent])](#ASScroll+scrollTo)\n\n<a name=\"new_ASScroll_new\"></a>\n\n## new ASScroll([parameters])\nCreates an ASScroll instance\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.containerElement] | <code>string</code> \\| <code>HTMLElement</code> | <code>&quot;.asscroll-container&quot;</code> | The selector string for the outer container element, or the element itself |\n| [parameters.scrollElements] | <code>string</code> \\| <code>HTMLElement</code> \\| <code>NodeList</code> | <code>&quot;[asscroll]&quot;</code> | The selector string for the elements to scroll, or the elements themselves |\n| [parameters.ease] | <code>number</code> | <code>0.075</code> | The ease amount for the transform lerp |\n| [parameters.touchEase] | <code>number</code> | <code>1</code> | The ease amount for the transform lerp on touch devices |\n| [parameters.touchScrollType] | <code>string</code> | <code>&quot;none&quot;</code> | Set the scrolling method on touch devices. Other options are 'transform' and 'scrollTop'. See the [Touch Devices](#touch-devices) section for more info |\n| [parameters.scrollbarEl] | <code>string</code> | <code>&quot;.asscrollbar&quot;</code> | The selector string for the custom scrollbar element |\n| [parameters.scrollbarHandleEl] | <code>string</code> | <code>&quot;.asscrollbar__handle&quot;</code> | The selector string for the custom scrollbar handle element |\n| [parameters.customScrollbar] | <code>boolean</code> | <code>true</code> | Toggle the custom scrollbar |\n| [parameters.scrollbarStyles] | <code>boolean</code> | <code>true</code> | Include the scrollbar CSS via Javascript |\n| [parameters.disableNativeScrollbar] | <code>boolean</code> | <code>true</code> | Disable the native browser scrollbar |\n| [parameters.disableRaf] | <code>boolean</code> | <code>false</code> | Disable internal requestAnimationFrame loop in order to use an external one |\n| [parameters.disableResize] | <code>boolean</code> | <code>false</code> | Disable internal resize event on the window in order to use an external one |\n| [parameters.limitLerpRate] | <code>boolean</code> | <code>true</code> | Match lerp speed on >60Hz displays to that of a 60Hz display |\n| [parameters.blockScrollClass] | <code>string</code> | <code>&quot;.asscroll-block&quot;</code> | The class to add to elements that should block ASScroll when hovered |\n\n<a name=\"ASScroll+targetPos\"></a>\n\n## asscroll.targetPos ⇒ <code>number</code>\nReturns the target scroll position.\n\n**Returns**: <code>number</code> - Target scroll position  \n<a name=\"ASScroll+currentPos\"></a>\n\n## asscroll.currentPos ⇒ <code>number</code>\nGets or sets the current scroll position.\n\n**Returns**: <code>number</code> - Current scroll position  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| scrollPos | <code>number</code> | The desired scroll position |\n\n**Example** *(Sets the scroll position to 200, bypassing any lerps)*  \n```js\nasscroll.currentPos = 200\n```\n<a name=\"ASScroll+maxScroll\"></a>\n\n## asscroll.maxScroll ⇒ <code>number</code>\nReturns the maximum scroll height of the page.\n\n**Returns**: <code>number</code> - Maxmium scroll height  \n<a name=\"ASScroll+containerElement\"></a>\n\n## asscroll.containerElement ⇒ <code>HTMLElement</code>\nReturns the outer element that ASScroll is attached to.\n\n**Returns**: <code>HTMLElement</code> - The outer element  \n<a name=\"ASScroll+scrollElements\"></a>\n\n## asscroll.scrollElements ⇒ <code>Array</code>\nReturns the the element(s) that ASScroll is scrolling.\n\n**Returns**: <code>Array</code> - An array of elements ASScroll is scrolling  \n<a name=\"ASScroll+isHorizontalScroll\"></a>\n\n## asscroll.isHorizontalScroll ⇒ <code>boolean</code>\nReturns whether or not ASScroll is in horizontal scroll mode\n\n**Returns**: <code>boolean</code> - The status of horizontal scroll  \n<a name=\"ASScroll+enable\"></a>\n\n## asscroll.enable([parameters])\nEnable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.newScrollElements] | <code>boolean</code> \\| <code>NodeList</code> \\| <code>HTMLElement</code> | <code>false</code> | Specify the new element(s) that should be scrolled |\n| [parameters.reset] | <code>boolean</code> | <code>false</code> | Reset the scroll position to 0 |\n| [parameters.restore] | <code>boolean</code> | <code>false</code> | Restore the scroll position to where it was when disable() was called |\n| [parameters.horizontalScroll] | <code>boolean</code> | <code>false</code> | Toggle horizontal scrolling |\n\n**Example** *(Enables ASScroll on the &#x27;.page&#x27; element and resets the scroll position to 0)*  \n```js\nasscroll.enable({ newScrollElements: document.querySelector('.page'), reset: true })\n```\n**Example** *(Enables ASScroll and restores to the previous position before ASScroll.disable() was called)*  \n```js\nasscroll.enable({ restore: true })\n```\n<a name=\"ASScroll+disable\"></a>\n\n## asscroll.disable(parameters)\nDisable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| parameters | <code>object</code> |  |  |\n| [parameters.inputOnly] | <code>boolean</code> | <code>false</code> | Only disable the ability to manually scroll (still allow transforms) |\n\n**Example** *(Disables the ability to manually scroll whilst still allowing position updates to be made via asscroll.currentPos, for example)*  \n```js\nasscroll.disable({ inputOnly: true })\n```\n<a name=\"ASScroll+update\"></a>\n\n## asscroll.update()\nCall the internal animation frame request callback.\n\n<a name=\"ASScroll+resize\"></a>\n\n## asscroll.resize([parameters])\nCall the internal resize callback.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| [parameters] | <code>object</code> |  |\n| [parameters.width] | <code>number</code> | Window width |\n| [parameters.height] | <code>number</code> | Window height |\n\n<a name=\"ASScroll+on\"></a>\n\n## asscroll.on(eventName, callback)\nAdd an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event you wish to listen for |\n| callback | <code>function</code> | Callback function that should be executed when the event fires |\n\n**Example** *(Logs out the scroll position when the &#x27;scroll&#x27; event is fired)*  \n```js\nasscroll.on('scroll', scrollPos => console.log(scrollPos))\n```\n**Example** *(Returns the target scroll position and current scroll position during the internal update loop)*  \n```js\nasscroll.on('update', ({ targetPos, currentPos }) => console.log(targetPos, currentPos))\n```\n**Example** *(Fires when the lerped scroll position has reached the target position)*  \n```js\nasscroll.on('scrollEnd', scrollPos => console.log(scrollPos))\n```\n<a name=\"ASScroll+off\"></a>\n\n## asscroll.off(eventName, callback)\nRemove an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event |\n| callback | <code>function</code> | Callback function |\n\n<a name=\"ASScroll+scrollTo\"></a>\n\n## asscroll.scrollTo(targetPos, [emitEvent])\nScroll to a given position on the page.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| targetPos | <code>number</code> |  | Target scroll position |\n| [emitEvent] | <code>boolean</code> | <code>true</code> | Whether to emit the external scroll events or not |\n\n\r\n---\r\n\r\n## Custom Scrollbar\r\n\r\nWhen `customScrollbar` is enabled in the options, a default set of styles will get added to the page that match the following HTML:\r\n\r\n```HTML\r\n<div class=\"asscrollbar\"><div class=\"asscrollbar__handle\"><div></div></div></div>\r\n```\r\n\r\nThis HTML will get added to your page automatically if you don't add it yourself.\r\n\r\nYou can change the classes that are used by changing the `scrollbarEl` and `scrollbarHandleEl` options.\r\n\r\nYou can use your own styles by setting the `scrollbarStyles` option to false.\r\n\r\n---\r\n\r\n⚠ **Note**: These styles are added via JS so will only be applied after JS has loaded. This may cause the native scrollbar to show for a moment before the styles are added resulting in a jump of the page.\r\n\r\nYou can include the styles necessary to hide the native scrollbar in your CSS by copy and pasting the contents of `/css/index.css` or simply by importing them into your CSS setup. For example:\r\n\r\n```css\r\n@import '~@ashthornton/asscroll/css'\r\n```\r\n\r\n## Usage with external requestAnimationFrame\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableRaf: true\r\n})\r\n\r\n// Regular RAF setup\r\nrequestAnimationFrame(onRaf)\r\nfunction onRaf() {\r\n    asscroll.update()\r\n    requestAnimationFrame(onRaf)\r\n}\r\n\r\n// Use with GSAP's internal RAF\r\ngsap.ticker.add(asscroll.update)\r\n\r\nasscroll.enable()\r\n```\r\n\r\n## Usage with external window resize\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableResize: true\r\n})\r\n\r\nwindow.addEventListener('resize', () => {\r\n    // trigger other resize logic\r\n    asscroll.resize({ width: window.innerWidth, height: window.innerHeight })\r\n})\r\n\r\nasscroll.enable()\r\n```\r\n\r\nTouch Devices\r\n===\r\n\r\nASScroll provides three options for handling itself on touch devices via the `touchScrollType` option:\r\n- `'none'`: Disabled completely, falling back to native scroll whilst still providing scroll position properties\r\n- `'transform'`: Continue to transform the scroll elements with an ease setting specifically to touch devices\r\n- `'scrollTop'`: Utilise the `scrollTop` value of the container element when used in conjunction with CSS that prevents resizes and browser UI from toggling\r\n\r\nThe `scrollTop` option is primarily used for syncing WebGL content to the scroll position on mobile, without overriding the native inertia scroll. Some CSS will be injected automatically when this option is enabled. This CSS can be found [here](https://github.com/ashthornton/asscroll/blob/master/css/scrollTop.css).","readmeFilename":"README.md","gitHead":"61992290ad64d3c17a18b85b17f294f3857f52f0","_id":"@ashthornton/asscroll@2.0.0-beta.6","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-BJqwPIlNxMSNZ7+el13pzkpmexZrAWYnmZy6RNm9bEe+Iv08FwN2cwjcpEDjIHRlXo7rhjTOOczoQaqD3zXHGg==","shasum":"654ee2b97fe92f4d2a35850b3873665c72dbe30c","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.0-beta.6.tgz","fileCount":15,"unpackedSize":174446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkGRmCRA9TVsSAnZWagAA4JoQAKNIccygXCAIn5Chxr5/\n9bT0qp55Xuvw3lVn5sDGkXuLf3aOH1Nzyb3KuY/WWqwZR1m/EQE7rF3h67yo\noNX8Jshwd31wSZVcA5rxMo+i4R4uePmt9YPz6jtG/WJljw/mjL4VqYwAvo8R\nC3L6pHCR1V+PwwJEg3DnBjeeRMcBwOaJeER7VL0xuAix0sbrZM8ScSIuCbBH\nyWmbGTRecvW+DBZ8LqL+73C75Q0UV0NZXDuMQd9InLxYk+/LnbW71MgQDJDW\nJ6wG22zXe/cFggOatpkhtBPwum9Z4BkpG/b7kYuBC5KtZPE4KOessC3ngrHg\nIgcZRVw7w6E6JYOosKGPF6KxSrtuPzxpiblkiqIjKztgW4X5Ysp9756i9UzP\nXvXUOtGvkBgoFHNgOe5AnUUAC3/d0da0sl4p+3tXglS+Asj5pm7pjK+kj/a8\nhcxHVGpRtQObROxf4IAUwtWjzguACqlk+W+SS3fR354IP6RhROM+oLjvebyt\nxz06MRZHTjYhdVSOgryWCen90z1aI1YOXbeKdsFhIBg/7UJNDKtbKnUscqOo\nvoj+uhjnXpiIPh6L3W6Nbq0Q5sTShxjByKjLlqtbVDRdtsKb8k7qa4uE8bsW\nHG35PtSsVHjhrqROG0bc5ZGZ+o0tok6ZOwZkfioMGYa2des90PZksDB7BTqO\nZVPC\r\n=TOll\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTQek8F3crRxWvqId2zuo6R9NnnU8nkxZPkNRp2YigKgIhAM6T2Cc/xlbcAteS38XaVawzBN/wy0oG/3iqEAqhZPnX"}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.0-beta.6_1620075621878_0.11918256121903248"},"_hasShrinkwrap":false},"2.0.0-beta.7":{"name":"@ashthornton/asscroll","version":"2.0.0-beta.7","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"readme":"<p align=\"center\"><img src=\"https://raw.githubusercontent.com/ashthornton-gc/asscroll/master/docs/asscroll.png\"></p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://www.npmjs.com/package/@ashthornton/asscroll\"><img src=\"https://img.shields.io/npm/v/@ashthornton/asscroll?color=%23F7894A\" alt=\"NPM Version\"></a>\r\n    <img alt=\"npm bundle size\" src=\"https://img.shields.io/bundlephobia/minzip/@ashthornton/asscroll?color=%23F7894A\">\r\n    <a href=\"https://www.jsdelivr.com/package/npm/@ashthornton/asscroll\"><img alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/@ashthornton/asscroll?color=%23F7894A\"></a>\r\n</p>\r\n\r\n<h3 align=\"center\"><strong>ASScroll is a hybrid smooth scroll setup that combines the<br>performance gains of virtual scroll with the reliability of native scroll.</strong></h3>\r\n\r\n<p align=\"center\" style=\"padding: 0 15%\">This setup aims to be a lightweight solution that provides a consistent smooth scrolling experience across all platforms, devices and hardware.</p>\r\n\r\n---\r\n\r\n#### Advantages over pure virtual scroll:\r\n- Accessibility / keyboard friendly (without overriding the browser's native scroll)\r\n- No special cases to cater for when handling manual key detection (i.e. pressing space in a form input)\r\n- Doesn't stop working when hovering over an iframe\r\n- Handles hardware that doesn't fire the 'wheel' event i.e. Windows trackpads in Edge + IE\r\n- No lag between DOM and WebGL elements on mobile, whilst retaining native inertia scroll\r\n\r\n#### Other Features:\r\n- Horizontal scroll\r\n- Custom scroll bar\r\n- Use your own external RAF loop and resize events\r\n- Consistent lerp speeds on high refresh rate displays\r\n\r\n_No animation features are included as there are other libraries that can be used with ASScroll. GreenSock's [ScrollTrigger](https://greensock.com/scrolltrigger/) is a great example and a demo is included below_\r\n\r\nDemos\r\n================\r\n- [Zero Config Demo](https://codepen.io/ashthornton/pen/pobJRQX?editors=1010)\r\n- [Options Demo](https://codepen.io/ashthornton/pen/YzWXZqL?editors=1010)\r\n- [Using GSAP's ScrollTrigger with ASScroll](https://codepen.io/ashthornton/pen/PoZRwPW)\r\n- [Using PJAX Navigation (Highway) with ASScroll](https://codepen.io/ashthornton/project/editor/AypMLG)\r\n\r\n### Sites using ASScroll\r\n- [Superlist](https://superlist.com/)\r\n- [Lewa House](https://lewahouse.com/)\r\n- [Eder Anaya](https://ederanaya.me/)\r\n- [FanFan](https://fanfan.fan/)\r\n- [Havoc](https://www.havoc.co/)\r\n- [Wray and Nephew](https://straightfromyard.co.uk/)\r\n- [Shape Studio](https://shapestudio.co.uk/)\r\n\r\nTable of contents\r\n=================\r\n<!--ts-->\r\n   * [Install](#install)\r\n   * [Zero Config Setup](#zero-config-setup)\r\n   * [API](#asscroll)\r\n   * [Custom Scrollbar](#custom-scrollbar)\r\n   * [External RAF Usage](#usage-with-external-requestanimationframe)\r\n   * [External Resize Usage](#usage-with-external-window-resize)\r\n   * [Touch Devices](#touch-devices)\r\n<!--te-->\r\n\r\n---\r\n\r\n\r\n# Install\r\n`npm i --save @ashthornton/asscroll` or `yarn add @ashthornton/asscroll`\r\n\r\nAlso available via [JSDelivr CDN](https://www.jsdelivr.com/package/npm/@ashthornton/asscroll) which you can then include with a `<script>` tag.\r\n\r\n# Zero Config Setup\r\n\r\n1. Add a class of `.asscroll-container` to the parent element of the content to be smooth scrolled. By default, the first child found within will be scrolled. These can both be changed in the options.\r\n\r\n```html\r\n<body>\r\n    <div class=\"asscroll-container\">\r\n        <div><!-- The Y translation will be applied to this element --></div>\r\n    </div>\r\n</body>\r\n```\r\n\r\n2. Import and initialise in Javascript\r\n\r\n```js\r\nimport ASScroll from '@ashthornton/asscroll'\r\n\r\nconst asscroll = new ASScroll()\r\n\r\nwindow.addEventListener('load', () => {\r\n    asscroll.enable()\r\n})\r\n```\r\n\r\n---\r\n\r\n<a name=\"ASScroll\"></a>\n\n# ASScroll\nAsh's Smooth Scroll 🍑\n\n\n* [ASScroll](#ASScroll)\n    * [new ASScroll([parameters])](#new_ASScroll_new)\n    * [.targetPos](#ASScroll+targetPos) ⇒ <code>number</code>\n    * [.currentPos](#ASScroll+currentPos) ⇒ <code>number</code>\n    * [.maxScroll](#ASScroll+maxScroll) ⇒ <code>number</code>\n    * [.containerElement](#ASScroll+containerElement) ⇒ <code>HTMLElement</code>\n    * [.scrollElements](#ASScroll+scrollElements) ⇒ <code>Array</code>\n    * [.isHorizontal](#ASScroll+isHorizontal) ⇒ <code>boolean</code>\n    * [.enable([parameters])](#ASScroll+enable)\n    * [.disable(parameters)](#ASScroll+disable)\n    * [.update()](#ASScroll+update)\n    * [.resize([parameters])](#ASScroll+resize)\n    * [.on(eventName, callback)](#ASScroll+on)\n    * [.off(eventName, callback)](#ASScroll+off)\n    * [.scrollTo(targetPos, [emitEvent])](#ASScroll+scrollTo)\n\n<a name=\"new_ASScroll_new\"></a>\n\n## new ASScroll([parameters])\nCreates an ASScroll instance\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.containerElement] | <code>string</code> \\| <code>HTMLElement</code> | <code>&quot;.asscroll-container&quot;</code> | The selector string for the outer container element, or the element itself |\n| [parameters.scrollElements] | <code>string</code> \\| <code>HTMLElement</code> \\| <code>NodeList</code> | <code>&quot;[asscroll]&quot;</code> | The selector string for the elements to scroll, or the elements themselves |\n| [parameters.ease] | <code>number</code> | <code>0.075</code> | The ease amount for the transform lerp |\n| [parameters.touchEase] | <code>number</code> | <code>1</code> | The ease amount for the transform lerp on touch devices |\n| [parameters.touchScrollType] | <code>string</code> | <code>&quot;none&quot;</code> | Set the scrolling method on touch devices. Other options are 'transform' and 'scrollTop'. See the [Touch Devices](#touch-devices) section for more info |\n| [parameters.scrollbarEl] | <code>string</code> | <code>&quot;.asscrollbar&quot;</code> | The selector string for the custom scrollbar element |\n| [parameters.scrollbarHandleEl] | <code>string</code> | <code>&quot;.asscrollbar__handle&quot;</code> | The selector string for the custom scrollbar handle element |\n| [parameters.customScrollbar] | <code>boolean</code> | <code>true</code> | Toggle the custom scrollbar |\n| [parameters.scrollbarStyles] | <code>boolean</code> | <code>true</code> | Include the scrollbar CSS via Javascript |\n| [parameters.disableNativeScrollbar] | <code>boolean</code> | <code>true</code> | Disable the native browser scrollbar |\n| [parameters.disableRaf] | <code>boolean</code> | <code>false</code> | Disable internal requestAnimationFrame loop in order to use an external one |\n| [parameters.disableResize] | <code>boolean</code> | <code>false</code> | Disable internal resize event on the window in order to use an external one |\n| [parameters.limitLerpRate] | <code>boolean</code> | <code>true</code> | Match lerp speed on >60Hz displays to that of a 60Hz display |\n| [parameters.blockScrollClass] | <code>string</code> | <code>&quot;.asscroll-block&quot;</code> | The class to add to elements that should block ASScroll when hovered |\n\n<a name=\"ASScroll+targetPos\"></a>\n\n## asscroll.targetPos ⇒ <code>number</code>\nReturns the target scroll position.\n\n**Returns**: <code>number</code> - Target scroll position  \n<a name=\"ASScroll+currentPos\"></a>\n\n## asscroll.currentPos ⇒ <code>number</code>\nGets or sets the current scroll position.\n\n**Returns**: <code>number</code> - Current scroll position  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| scrollPos | <code>number</code> | The desired scroll position |\n\n**Example** *(Sets the scroll position to 200, bypassing any lerps)*  \n```js\nasscroll.currentPos = 200\n```\n<a name=\"ASScroll+maxScroll\"></a>\n\n## asscroll.maxScroll ⇒ <code>number</code>\nReturns the maximum scroll height of the page.\n\n**Returns**: <code>number</code> - Maxmium scroll height  \n<a name=\"ASScroll+containerElement\"></a>\n\n## asscroll.containerElement ⇒ <code>HTMLElement</code>\nReturns the outer element that ASScroll is attached to.\n\n**Returns**: <code>HTMLElement</code> - The outer element  \n<a name=\"ASScroll+scrollElements\"></a>\n\n## asscroll.scrollElements ⇒ <code>Array</code>\nReturns the the element(s) that ASScroll is scrolling.\n\n**Returns**: <code>Array</code> - An array of elements ASScroll is scrolling  \n<a name=\"ASScroll+isHorizontal\"></a>\n\n## asscroll.isHorizontal ⇒ <code>boolean</code>\nReturns whether or not ASScroll is in horizontal scroll mode\n\n**Returns**: <code>boolean</code> - The status of horizontal scroll  \n<a name=\"ASScroll+enable\"></a>\n\n## asscroll.enable([parameters])\nEnable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.newScrollElements] | <code>boolean</code> \\| <code>NodeList</code> \\| <code>HTMLElement</code> | <code>false</code> | Specify the new element(s) that should be scrolled |\n| [parameters.reset] | <code>boolean</code> | <code>false</code> | Reset the scroll position to 0 |\n| [parameters.restore] | <code>boolean</code> | <code>false</code> | Restore the scroll position to where it was when disable() was called |\n| [parameters.horizontalScroll] | <code>boolean</code> | <code>false</code> | Toggle horizontal scrolling |\n\n**Example** *(Enables ASScroll on the &#x27;.page&#x27; element and resets the scroll position to 0)*  \n```js\nasscroll.enable({ newScrollElements: document.querySelector('.page'), reset: true })\n```\n**Example** *(Enables ASScroll and restores to the previous position before ASScroll.disable() was called)*  \n```js\nasscroll.enable({ restore: true })\n```\n<a name=\"ASScroll+disable\"></a>\n\n## asscroll.disable(parameters)\nDisable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| parameters | <code>object</code> |  |  |\n| [parameters.inputOnly] | <code>boolean</code> | <code>false</code> | Only disable the ability to manually scroll (still allow transforms) |\n\n**Example** *(Disables the ability to manually scroll whilst still allowing position updates to be made via asscroll.currentPos, for example)*  \n```js\nasscroll.disable({ inputOnly: true })\n```\n<a name=\"ASScroll+update\"></a>\n\n## asscroll.update()\nCall the internal animation frame request callback.\n\n<a name=\"ASScroll+resize\"></a>\n\n## asscroll.resize([parameters])\nCall the internal resize callback.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| [parameters] | <code>object</code> |  |\n| [parameters.width] | <code>number</code> | Window width |\n| [parameters.height] | <code>number</code> | Window height |\n\n<a name=\"ASScroll+on\"></a>\n\n## asscroll.on(eventName, callback)\nAdd an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event you wish to listen for |\n| callback | <code>function</code> | Callback function that should be executed when the event fires |\n\n**Example** *(Logs out the scroll position when the &#x27;scroll&#x27; event is fired)*  \n```js\nasscroll.on('scroll', scrollPos => console.log(scrollPos))\n```\n**Example** *(Returns the target scroll position and current scroll position during the internal update loop)*  \n```js\nasscroll.on('update', ({ targetPos, currentPos }) => console.log(targetPos, currentPos))\n```\n**Example** *(Fires when the lerped scroll position has reached the target position)*  \n```js\nasscroll.on('scrollEnd', scrollPos => console.log(scrollPos))\n```\n<a name=\"ASScroll+off\"></a>\n\n## asscroll.off(eventName, callback)\nRemove an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event |\n| callback | <code>function</code> | Callback function |\n\n<a name=\"ASScroll+scrollTo\"></a>\n\n## asscroll.scrollTo(targetPos, [emitEvent])\nScroll to a given position on the page.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| targetPos | <code>number</code> |  | Target scroll position |\n| [emitEvent] | <code>boolean</code> | <code>true</code> | Whether to emit the external scroll events or not |\n\n\r\n---\r\n\r\n## Custom Scrollbar\r\n\r\nWhen `customScrollbar` is enabled in the options, a default set of styles will get added to the page that match the following HTML:\r\n\r\n```HTML\r\n<div class=\"asscrollbar\"><div class=\"asscrollbar__handle\"><div></div></div></div>\r\n```\r\n\r\nThis HTML will get added to your page automatically if you don't add it yourself.\r\n\r\nYou can change the classes that are used by changing the `scrollbarEl` and `scrollbarHandleEl` options.\r\n\r\nYou can use your own styles by setting the `scrollbarStyles` option to false.\r\n\r\n---\r\n\r\n⚠ **Note**: These styles are added via JS so will only be applied after JS has loaded. This may cause the native scrollbar to show for a moment before the styles are added resulting in a jump of the page.\r\n\r\nYou can include the styles necessary to hide the native scrollbar in your CSS by copy and pasting the contents of `/css/index.css` or simply by importing them into your CSS setup. For example:\r\n\r\n```css\r\n@import '~@ashthornton/asscroll/css'\r\n```\r\n\r\n## Usage with external requestAnimationFrame\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableRaf: true\r\n})\r\n\r\n// Regular RAF setup\r\nrequestAnimationFrame(onRaf)\r\nfunction onRaf() {\r\n    asscroll.update()\r\n    requestAnimationFrame(onRaf)\r\n}\r\n\r\n// Use with GSAP's internal RAF\r\ngsap.ticker.add(asscroll.update)\r\n\r\nasscroll.enable()\r\n```\r\n\r\n## Usage with external window resize\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableResize: true\r\n})\r\n\r\nwindow.addEventListener('resize', () => {\r\n    // trigger other resize logic\r\n    asscroll.resize({ width: window.innerWidth, height: window.innerHeight })\r\n})\r\n\r\nasscroll.enable()\r\n```\r\n\r\nTouch Devices\r\n===\r\n\r\nASScroll provides three options for handling itself on touch devices via the `touchScrollType` option:\r\n- `'none'`: Disabled completely, falling back to native scroll whilst still providing scroll position properties\r\n- `'transform'`: Continue to transform the scroll elements with an ease setting specifically to touch devices\r\n- `'scrollTop'`: Utilise the `scrollTop` value of the container element when used in conjunction with CSS that prevents resizes and browser UI from toggling\r\n\r\nThe `scrollTop` option is primarily used for syncing WebGL content to the scroll position on mobile, without overriding the native inertia scroll. Some CSS will be injected automatically when this option is enabled. This CSS can be found [here](https://github.com/ashthornton/asscroll/blob/master/css/scrollTop.css).","readmeFilename":"README.md","gitHead":"3bbd2dea9e90647df86f8fda298da2f6babe8852","_id":"@ashthornton/asscroll@2.0.0-beta.7","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-BufVhr0l7BmzslZQy/GKf6LNDZGITvm6Psnw2iE/5jkbBwV27ZHpUCCTvpA5S3J0Ioa+NDPYPZuuSJoG8HJQLg==","shasum":"b9780d0c2c32cb5a7b76b309165f7822a6eb17fb","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.0-beta.7.tgz","fileCount":15,"unpackedSize":174420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkGTQCRA9TVsSAnZWagAAgP8QAJqYEQ61Uo+9UsIhGAsY\nK43pi2AH1UbCAYQSsbfznuP7mFyMaRWHzM4IpbTW7Ub07JaRW0JlbLWGXpLY\nHS7302jT1hE3Sb1wMvLcQYoIyS+FeOZguONxp9UipfyZwhIJefJnwcxDa5ni\nOzqvPuzCnKRlhR2GDHdimeINLtninHzdOTA0ObsOj0meh7nOe//T6fDOglAI\nmTlENrW8sxZ4XIJL5mwiARIzkTFJ2WZak2LvP3jJaqP1fRSeFQ1ABnC73m7e\nhi0FgzGLwHKBzceXT4so67db78FBDlP2CgfXNYQ5AssBmblqszbWlAa+WhU7\n0ulPgKIj+mTiLb7YCA+eoaD3TuRuBgRn4KkNVUjnF3CBXFBUfjoiEotVusJX\nEEP1KqSZ/u8C6BaeQUb1LKQ/h6KbapA4EQ+hJGF4fSu1RVTELzRP1xcoJWll\nBcYyFYgnh10rIs+9+j0o25cueut4psewKs/V8h2GK5o3SAr1rHzQq5X1Ot2U\nRVlyT8okQE99xUHPfRq7iZ8zyw8JOBsNaUbQQ39H4PQk2jV1k/NDAowmpYxQ\nm5QI+grtFMIjSxfLpLw8HNM+AM3xzEXq3MMEoLXPbpQ3S2xgrlWr5us1YuFp\n+btzHl2lyogSCCkQiktVsWCnZ17zIO8BugdXmC392wAW+QFkPLUVeuP0axnB\ns0sJ\r\n=EC2d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDc9vG5xb9hBC7p0fX5uC58vYlgHhG0hPqhxdoFHh5AEgIhAJIsnzS4ibZezLPnPQiPOFvqQO+ULiKvfTcBFZr2nA/F"}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.0-beta.7_1620075727878_0.47609269033373147"},"_hasShrinkwrap":false},"2.0.0-beta.8":{"name":"@ashthornton/asscroll","version":"2.0.0-beta.8","description":"Ash's Smooth Scroll","main":"src/index.js","unpkg":"build/asscroll.min.js","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"readme":"<p align=\"center\"><img src=\"https://raw.githubusercontent.com/ashthornton-gc/asscroll/master/docs/asscroll.png\"></p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://www.npmjs.com/package/@ashthornton/asscroll\"><img src=\"https://img.shields.io/npm/v/@ashthornton/asscroll?color=%23F7894A\" alt=\"NPM Version\"></a>\r\n    <img alt=\"npm bundle size\" src=\"https://img.shields.io/bundlephobia/minzip/@ashthornton/asscroll?color=%23F7894A\">\r\n    <a href=\"https://www.jsdelivr.com/package/npm/@ashthornton/asscroll\"><img alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/@ashthornton/asscroll?color=%23F7894A\"></a>\r\n</p>\r\n\r\n<h3 align=\"center\"><strong>ASScroll is a hybrid smooth scroll setup that combines the<br>performance gains of virtual scroll with the reliability of native scroll.</strong></h3>\r\n\r\n<p align=\"center\" style=\"padding: 0 15%\">This setup aims to be a lightweight solution that provides a consistent smooth scrolling experience across all platforms, devices and hardware.</p>\r\n\r\n---\r\n\r\n#### Advantages over pure virtual scroll:\r\n- Accessibility / keyboard friendly (without overriding the browser's native scroll)\r\n- No special cases to cater for when handling manual key detection (i.e. pressing space in a form input)\r\n- Doesn't stop working when hovering over an iframe\r\n- Handles hardware that doesn't fire the 'wheel' event i.e. Windows trackpads in Edge + IE\r\n- No lag between DOM and WebGL elements on mobile, whilst retaining native inertia scroll\r\n\r\n#### Other Features:\r\n- Horizontal scroll\r\n- Custom scroll bar\r\n- Use your own external RAF loop and resize events\r\n- Consistent lerp speeds on high refresh rate displays\r\n\r\n_No animation features are included as there are other libraries that can be used with ASScroll. GreenSock's [ScrollTrigger](https://greensock.com/scrolltrigger/) is a great example and a demo is included below_\r\n\r\nDemos\r\n================\r\n- [Zero Config Demo](https://codepen.io/ashthornton/pen/pobJRQX?editors=1010)\r\n- [Options Demo](https://codepen.io/ashthornton/pen/YzWXZqL?editors=1010)\r\n- [Using GSAP's ScrollTrigger with ASScroll](https://codepen.io/ashthornton/pen/PoZRwPW)\r\n- [Using PJAX Navigation (Highway) with ASScroll](https://codepen.io/ashthornton/project/editor/AypMLG)\r\n\r\n### Sites using ASScroll\r\n- [Superlist](https://superlist.com/)\r\n- [Lewa House](https://lewahouse.com/)\r\n- [Eder Anaya](https://ederanaya.me/)\r\n- [FanFan](https://fanfan.fan/)\r\n- [Havoc](https://www.havoc.co/)\r\n- [Wray and Nephew](https://straightfromyard.co.uk/)\r\n- [Shape Studio](https://shapestudio.co.uk/)\r\n\r\nTable of contents\r\n=================\r\n<!--ts-->\r\n   * [Install](#install)\r\n   * [Zero Config Setup](#zero-config-setup)\r\n   * [API](#asscroll)\r\n   * [Custom Scrollbar](#custom-scrollbar)\r\n   * [External RAF Usage](#usage-with-external-requestanimationframe)\r\n   * [External Resize Usage](#usage-with-external-window-resize)\r\n   * [Touch Devices](#touch-devices)\r\n<!--te-->\r\n\r\n---\r\n\r\n\r\n# Install\r\n`npm i --save @ashthornton/asscroll` or `yarn add @ashthornton/asscroll`\r\n\r\nAlso available via [JSDelivr CDN](https://www.jsdelivr.com/package/npm/@ashthornton/asscroll) which you can then include with a `<script>` tag.\r\n\r\n# Zero Config Setup\r\n\r\n1. Add a class of `.asscroll-container` to the parent element of the content to be smooth scrolled. By default, the first child found within will be scrolled. These can both be changed in the options.\r\n\r\n```html\r\n<body>\r\n    <div class=\"asscroll-container\">\r\n        <div><!-- The Y translation will be applied to this element --></div>\r\n    </div>\r\n</body>\r\n```\r\n\r\n2. Import and initialise in Javascript\r\n\r\n```js\r\nimport ASScroll from '@ashthornton/asscroll'\r\n\r\nconst asscroll = new ASScroll()\r\n\r\nwindow.addEventListener('load', () => {\r\n    asscroll.enable()\r\n})\r\n```\r\n\r\n---\r\n\r\n<a name=\"ASScroll\"></a>\n\n# ASScroll\nAsh's Smooth Scroll 🍑\n\n\n* [ASScroll](#ASScroll)\n    * [new ASScroll([parameters])](#new_ASScroll_new)\n    * [.targetPos](#ASScroll+targetPos) ⇒ <code>number</code>\n    * [.currentPos](#ASScroll+currentPos) ⇒ <code>number</code>\n    * [.maxScroll](#ASScroll+maxScroll) ⇒ <code>number</code>\n    * [.containerElement](#ASScroll+containerElement) ⇒ <code>HTMLElement</code>\n    * [.scrollElements](#ASScroll+scrollElements) ⇒ <code>Array</code>\n    * [.isHorizontal](#ASScroll+isHorizontal) ⇒ <code>boolean</code>\n    * [.enable([parameters])](#ASScroll+enable)\n    * [.disable(parameters)](#ASScroll+disable)\n    * [.update()](#ASScroll+update)\n    * [.resize([parameters])](#ASScroll+resize)\n    * [.on(eventName, callback)](#ASScroll+on)\n    * [.off(eventName, callback)](#ASScroll+off)\n    * [.scrollTo(targetPos, [emitEvent])](#ASScroll+scrollTo)\n\n<a name=\"new_ASScroll_new\"></a>\n\n## new ASScroll([parameters])\nCreates an ASScroll instance\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.containerElement] | <code>string</code> \\| <code>HTMLElement</code> | <code>&quot;.asscroll-container&quot;</code> | The selector string for the outer container element, or the element itself |\n| [parameters.scrollElements] | <code>string</code> \\| <code>HTMLElement</code> \\| <code>NodeList</code> | <code>&quot;[asscroll]&quot;</code> | The selector string for the elements to scroll, or the elements themselves |\n| [parameters.ease] | <code>number</code> | <code>0.075</code> | The ease amount for the transform lerp |\n| [parameters.touchEase] | <code>number</code> | <code>1</code> | The ease amount for the transform lerp on touch devices |\n| [parameters.touchScrollType] | <code>string</code> | <code>&quot;none&quot;</code> | Set the scrolling method on touch devices. Other options are 'transform' and 'scrollTop'. See the [Touch Devices](#touch-devices) section for more info |\n| [parameters.scrollbarEl] | <code>string</code> | <code>&quot;.asscrollbar&quot;</code> | The selector string for the custom scrollbar element |\n| [parameters.scrollbarHandleEl] | <code>string</code> | <code>&quot;.asscrollbar__handle&quot;</code> | The selector string for the custom scrollbar handle element |\n| [parameters.customScrollbar] | <code>boolean</code> | <code>true</code> | Toggle the custom scrollbar |\n| [parameters.scrollbarStyles] | <code>boolean</code> | <code>true</code> | Include the scrollbar CSS via Javascript |\n| [parameters.disableNativeScrollbar] | <code>boolean</code> | <code>true</code> | Disable the native browser scrollbar |\n| [parameters.disableRaf] | <code>boolean</code> | <code>false</code> | Disable internal requestAnimationFrame loop in order to use an external one |\n| [parameters.disableResize] | <code>boolean</code> | <code>false</code> | Disable internal resize event on the window in order to use an external one |\n| [parameters.limitLerpRate] | <code>boolean</code> | <code>true</code> | Match lerp speed on >60Hz displays to that of a 60Hz display |\n| [parameters.blockScrollClass] | <code>string</code> | <code>&quot;.asscroll-block&quot;</code> | The class to add to elements that should block ASScroll when hovered |\n\n<a name=\"ASScroll+targetPos\"></a>\n\n## asscroll.targetPos ⇒ <code>number</code>\nReturns the target scroll position.\n\n**Returns**: <code>number</code> - Target scroll position  \n<a name=\"ASScroll+currentPos\"></a>\n\n## asscroll.currentPos ⇒ <code>number</code>\nGets or sets the current scroll position.\n\n**Returns**: <code>number</code> - Current scroll position  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| scrollPos | <code>number</code> | The desired scroll position |\n\n**Example** *(Sets the scroll position to 200, bypassing any lerps)*  \n```js\nasscroll.currentPos = 200\n```\n<a name=\"ASScroll+maxScroll\"></a>\n\n## asscroll.maxScroll ⇒ <code>number</code>\nReturns the maximum scroll height of the page.\n\n**Returns**: <code>number</code> - Maxmium scroll height  \n<a name=\"ASScroll+containerElement\"></a>\n\n## asscroll.containerElement ⇒ <code>HTMLElement</code>\nReturns the outer element that ASScroll is attached to.\n\n**Returns**: <code>HTMLElement</code> - The outer element  \n<a name=\"ASScroll+scrollElements\"></a>\n\n## asscroll.scrollElements ⇒ <code>Array</code>\nReturns the the element(s) that ASScroll is scrolling.\n\n**Returns**: <code>Array</code> - An array of elements ASScroll is scrolling  \n<a name=\"ASScroll+isHorizontal\"></a>\n\n## asscroll.isHorizontal ⇒ <code>boolean</code>\nReturns whether or not ASScroll is in horizontal scroll mode\n\n**Returns**: <code>boolean</code> - The status of horizontal scroll  \n<a name=\"ASScroll+enable\"></a>\n\n## asscroll.enable([parameters])\nEnable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.newScrollElements] | <code>boolean</code> \\| <code>NodeList</code> \\| <code>HTMLElement</code> | <code>false</code> | Specify the new element(s) that should be scrolled |\n| [parameters.reset] | <code>boolean</code> | <code>false</code> | Reset the scroll position to 0 |\n| [parameters.restore] | <code>boolean</code> | <code>false</code> | Restore the scroll position to where it was when disable() was called |\n| [parameters.horizontalScroll] | <code>boolean</code> | <code>false</code> | Toggle horizontal scrolling |\n\n**Example** *(Enables ASScroll on the &#x27;.page&#x27; element and resets the scroll position to 0)*  \n```js\nasscroll.enable({ newScrollElements: document.querySelector('.page'), reset: true })\n```\n**Example** *(Enables ASScroll and restores to the previous position before ASScroll.disable() was called)*  \n```js\nasscroll.enable({ restore: true })\n```\n<a name=\"ASScroll+disable\"></a>\n\n## asscroll.disable(parameters)\nDisable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| parameters | <code>object</code> |  |  |\n| [parameters.inputOnly] | <code>boolean</code> | <code>false</code> | Only disable the ability to manually scroll (still allow transforms) |\n\n**Example** *(Disables the ability to manually scroll whilst still allowing position updates to be made via asscroll.currentPos, for example)*  \n```js\nasscroll.disable({ inputOnly: true })\n```\n<a name=\"ASScroll+update\"></a>\n\n## asscroll.update()\nCall the internal animation frame request callback.\n\n<a name=\"ASScroll+resize\"></a>\n\n## asscroll.resize([parameters])\nCall the internal resize callback.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| [parameters] | <code>object</code> |  |\n| [parameters.width] | <code>number</code> | Window width |\n| [parameters.height] | <code>number</code> | Window height |\n\n<a name=\"ASScroll+on\"></a>\n\n## asscroll.on(eventName, callback)\nAdd an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event you wish to listen for |\n| callback | <code>function</code> | Callback function that should be executed when the event fires |\n\n**Example** *(Logs out the scroll position when the &#x27;scroll&#x27; event is fired)*  \n```js\nasscroll.on('scroll', scrollPos => console.log(scrollPos))\n```\n**Example** *(Returns the target scroll position and current scroll position during the internal update loop)*  \n```js\nasscroll.on('update', ({ targetPos, currentPos }) => console.log(targetPos, currentPos))\n```\n**Example** *(Fires when the lerped scroll position has reached the target position)*  \n```js\nasscroll.on('scrollEnd', scrollPos => console.log(scrollPos))\n```\n<a name=\"ASScroll+off\"></a>\n\n## asscroll.off(eventName, callback)\nRemove an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event |\n| callback | <code>function</code> | Callback function |\n\n<a name=\"ASScroll+scrollTo\"></a>\n\n## asscroll.scrollTo(targetPos, [emitEvent])\nScroll to a given position on the page.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| targetPos | <code>number</code> |  | Target scroll position |\n| [emitEvent] | <code>boolean</code> | <code>true</code> | Whether to emit the external scroll events or not |\n\n\r\n---\r\n\r\n## Custom Scrollbar\r\n\r\nWhen `customScrollbar` is enabled in the options, a default set of styles will get added to the page that match the following HTML:\r\n\r\n```HTML\r\n<div class=\"asscrollbar\"><div class=\"asscrollbar__handle\"><div></div></div></div>\r\n```\r\n\r\nThis HTML will get added to your page automatically if you don't add it yourself.\r\n\r\nYou can change the classes that are used by changing the `scrollbarEl` and `scrollbarHandleEl` options.\r\n\r\nYou can use your own styles by setting the `scrollbarStyles` option to false.\r\n\r\n---\r\n\r\n⚠ **Note**: These styles are added via JS so will only be applied after JS has loaded. This may cause the native scrollbar to show for a moment before the styles are added resulting in a jump of the page.\r\n\r\nYou can include the styles necessary to hide the native scrollbar in your CSS by copy and pasting the contents of `/css/index.css` or simply by importing them into your CSS setup. For example:\r\n\r\n```css\r\n@import '~@ashthornton/asscroll/css'\r\n```\r\n\r\n## Usage with external requestAnimationFrame\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableRaf: true\r\n})\r\n\r\n// Regular RAF setup\r\nrequestAnimationFrame(onRaf)\r\nfunction onRaf() {\r\n    asscroll.update()\r\n    requestAnimationFrame(onRaf)\r\n}\r\n\r\n// Use with GSAP's internal RAF\r\ngsap.ticker.add(asscroll.update)\r\n\r\nasscroll.enable()\r\n```\r\n\r\n## Usage with external window resize\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableResize: true\r\n})\r\n\r\nwindow.addEventListener('resize', () => {\r\n    // trigger other resize logic\r\n    asscroll.resize({ width: window.innerWidth, height: window.innerHeight })\r\n})\r\n\r\nasscroll.enable()\r\n```\r\n\r\nTouch Devices\r\n===\r\n\r\nASScroll provides three options for handling itself on touch devices via the `touchScrollType` option:\r\n- `'none'`: Disabled completely, falling back to native scroll whilst still providing scroll position properties\r\n- `'transform'`: Continue to transform the scroll elements with an ease setting specifically to touch devices\r\n- `'scrollTop'`: Utilise the `scrollTop` value of the container element when used in conjunction with CSS that prevents resizes and browser UI from toggling\r\n\r\nThe `scrollTop` option is primarily used for syncing WebGL content to the scroll position on mobile, without overriding the native inertia scroll. Some CSS will be injected automatically when this option is enabled. This CSS can be found [here](https://github.com/ashthornton/asscroll/blob/master/css/scrollTop.css).","readmeFilename":"README.md","gitHead":"bf2954282ecb8368f48484e5f2d04871b73a6e4e","_id":"@ashthornton/asscroll@2.0.0-beta.8","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-iFHerfbZv8tPqlSEEEV99+Xt+AXmUCUWqTt4yNIRML5KKzBIGMytfNkPdNZj/pMvtcbpnravIvRxsm+k6JF/IQ==","shasum":"336e86334aa5653b8bf36f4ed38eb3a5feb09295","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.0-beta.8.tgz","fileCount":15,"unpackedSize":174437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkZdsCRA9TVsSAnZWagAAd+8P/iGG35d6ZhwNkDUv+SNR\nr7WchjGp6fhD8pdOe7udcp/aV1roadDWhpF/T/iq5j8k2n+B+KUR00q8cFMI\n2dbeo/Lp89u4GF+Vjo6gHAU8hRvEj82d0ND95AyfXMg42C+gPFkvrNyvxqZ0\nFi9eOXglw3aIWxOjsBtcyL/+xyUD7S6ClsYSvW1XY35tsJkFG62iEI59p+pk\nrhCthExMdiMqfHk/kfT7Iz6E58fQWPO2Jw4I2sH8MQGim623agNXZZw0XwLw\ny7Qsu0+INFyU7I3amxah1n9eZHW4qxQ4kMTc9dtSxM6kQAtHjEXW9TeP58YJ\nvZ4Wci6y6XKmyyEC1Hel4JRGdgh8SlvfFCyAsRHyY2+4TpoRb8txiFspwdpZ\nFiTECjf4tKtGg3zT9hv4sFm35ec9IfkDKsilwboYMsNr1TU1G2bsZNLK8T78\nmJdQt713ZpAB9JK++BttwMwR7Gte8awhXUUFXSpo3VbSuap7I1PcabrZ0FJ/\n5bD1tQ45zYBQoyR6JBIg+7gN+H5TpOP6Oo4EzTdiCk75uEw4IhhJuXW+So2y\nHlt30ctDwxzgTrac4reG3/reOETWJ3ktL33VqQAqM+95e262fMmHYc0i3ngZ\na4qGRcFR7VfvkZBy3yoEZq+xrYhm55JjEDZbA6Nl/0/p2bys70N21RIMIMx3\nm2U2\r\n=l9A6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJE5STvIwxMJ1X6uEbPALUfJC1uRmOkabUdp5QOUdsyQIhANHuyy5mQYWBvayg82dd8cbxzvO/SCYYge1U78b/S28A"}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.0-beta.8_1620154220207_0.25767066137795513"},"_hasShrinkwrap":false},"2.0.0-beta.9":{"name":"@ashthornton/asscroll","version":"2.0.0-beta.9","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"readme":"<p align=\"center\"><img src=\"https://raw.githubusercontent.com/ashthornton-gc/asscroll/master/docs/asscroll.png\"></p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://www.npmjs.com/package/@ashthornton/asscroll\"><img src=\"https://img.shields.io/npm/v/@ashthornton/asscroll?color=%23F7894A\" alt=\"NPM Version\"></a>\r\n    <img alt=\"npm bundle size\" src=\"https://img.shields.io/bundlephobia/minzip/@ashthornton/asscroll?color=%23F7894A\">\r\n    <a href=\"https://www.jsdelivr.com/package/npm/@ashthornton/asscroll\"><img alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/@ashthornton/asscroll?color=%23F7894A\"></a>\r\n</p>\r\n\r\n<h3 align=\"center\"><strong>ASScroll is a hybrid smooth scroll setup that combines the<br>performance gains of virtual scroll with the reliability of native scroll.</strong></h3>\r\n\r\n<p align=\"center\" style=\"padding: 0 15%\">This setup aims to be a lightweight solution that provides a consistent smooth scrolling experience across all platforms, devices and hardware.</p>\r\n\r\n---\r\n\r\n#### Advantages over pure virtual scroll:\r\n- Accessibility / keyboard friendly (without overriding the browser's native scroll)\r\n- No special cases to cater for when handling manual key detection (i.e. pressing space in a form input)\r\n- Doesn't stop working when hovering over an iframe\r\n- Handles hardware that doesn't fire the 'wheel' event i.e. Windows trackpads in Edge + IE\r\n- No lag between DOM and WebGL elements on mobile, whilst retaining native inertia scroll\r\n\r\n#### Other Features:\r\n- Horizontal scroll\r\n- Custom scroll bar\r\n- Use your own external RAF loop and resize events\r\n- Consistent lerp speeds on high refresh rate displays\r\n\r\n_No animation features are included as there are other libraries that can be used with ASScroll. GreenSock's [ScrollTrigger](https://greensock.com/scrolltrigger/) is a great example and a demo is included below_\r\n\r\nDemos\r\n================\r\n- [Zero Config Demo](https://codepen.io/ashthornton/pen/pobJRQX?editors=1010)\r\n- [Options Demo](https://codepen.io/ashthornton/pen/YzWXZqL?editors=1010)\r\n- [Using GSAP's ScrollTrigger with ASScroll](https://codepen.io/ashthornton/pen/PoZRwPW)\r\n- [Using PJAX Navigation (Highway) with ASScroll](https://codepen.io/ashthornton/project/editor/AypMLG)\r\n\r\n### Sites using ASScroll\r\n- [Superlist](https://superlist.com/)\r\n- [Lewa House](https://lewahouse.com/)\r\n- [Eder Anaya](https://ederanaya.me/)\r\n- [FanFan](https://fanfan.fan/)\r\n- [Havoc](https://www.havoc.co/)\r\n- [Wray and Nephew](https://straightfromyard.co.uk/)\r\n- [Shape Studio](https://shapestudio.co.uk/)\r\n\r\nTable of contents\r\n=================\r\n<!--ts-->\r\n   * [Install](#install)\r\n   * [Zero Config Setup](#zero-config-setup)\r\n   * [API](#asscroll)\r\n   * [Custom Scrollbar](#custom-scrollbar)\r\n   * [External RAF Usage](#usage-with-external-requestanimationframe)\r\n   * [External Resize Usage](#usage-with-external-window-resize)\r\n   * [Touch Devices](#touch-devices)\r\n<!--te-->\r\n\r\n---\r\n\r\n\r\n# Install\r\n`npm i --save @ashthornton/asscroll` or `yarn add @ashthornton/asscroll`\r\n\r\nAlso available via [JSDelivr CDN](https://www.jsdelivr.com/package/npm/@ashthornton/asscroll) which you can then include with a `<script>` tag.\r\n\r\n# Zero Config Setup\r\n\r\n1. Add a class of `.asscroll-container` to the parent element of the content to be smooth scrolled. By default, the first child found within will be scrolled. These can both be changed in the options.\r\n\r\n```html\r\n<body>\r\n    <div class=\"asscroll-container\">\r\n        <div><!-- The Y translation will be applied to this element --></div>\r\n    </div>\r\n</body>\r\n```\r\n\r\n2. Import and initialise in Javascript\r\n\r\n```js\r\nimport ASScroll from '@ashthornton/asscroll'\r\n\r\nconst asscroll = new ASScroll()\r\n\r\nwindow.addEventListener('load', () => {\r\n    asscroll.enable()\r\n})\r\n```\r\n\r\n---\r\n\r\n<a name=\"ASScroll\"></a>\n\n# ASScroll\nAsh's Smooth Scroll 🍑\n\n\n* [ASScroll](#ASScroll)\n    * [new ASScroll([parameters])](#new_ASScroll_new)\n    * [.targetPos](#ASScroll+targetPos) ⇒ <code>number</code>\n    * [.currentPos](#ASScroll+currentPos) ⇒ <code>number</code>\n    * [.maxScroll](#ASScroll+maxScroll) ⇒ <code>number</code>\n    * [.containerElement](#ASScroll+containerElement) ⇒ <code>HTMLElement</code>\n    * [.scrollElements](#ASScroll+scrollElements) ⇒ <code>Array</code>\n    * [.isHorizontal](#ASScroll+isHorizontal) ⇒ <code>boolean</code>\n    * ~~[.scrollPos](#ASScroll+scrollPos)~~\n    * ~~[.smoothScrollPos](#ASScroll+smoothScrollPos)~~\n    * [.enable([parameters])](#ASScroll+enable)\n    * [.disable([parameters])](#ASScroll+disable)\n    * [.update()](#ASScroll+update)\n    * [.resize([parameters])](#ASScroll+resize)\n    * [.on(eventName, callback)](#ASScroll+on)\n    * [.off(eventName, callback)](#ASScroll+off)\n    * [.scrollTo(targetPos, [emitEvent])](#ASScroll+scrollTo)\n    * ~~[.onRaf()](#ASScroll+onRaf)~~\n    * ~~[.onResize()](#ASScroll+onResize)~~\n\n<a name=\"new_ASScroll_new\"></a>\n\n## new ASScroll([parameters])\nCreates an ASScroll instance\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.containerElement] | <code>string</code> \\| <code>HTMLElement</code> | <code>&quot;.asscroll-container&quot;</code> | The selector string for the outer container element, or the element itself |\n| [parameters.scrollElements] | <code>string</code> \\| <code>HTMLElement</code> \\| <code>NodeList</code> | <code>&quot;[asscroll]&quot;</code> | The selector string for the elements to scroll, or the elements themselves |\n| [parameters.ease] | <code>number</code> | <code>0.075</code> | The ease amount for the transform lerp |\n| [parameters.touchEase] | <code>number</code> | <code>1</code> | The ease amount for the transform lerp on touch devices |\n| [parameters.touchScrollType] | <code>string</code> | <code>&quot;none&quot;</code> | Set the scrolling method on touch devices. Other options are 'transform' and 'scrollTop'. See the [Touch Devices](#touch-devices) section for more info |\n| [parameters.scrollbarEl] | <code>string</code> | <code>&quot;.asscrollbar&quot;</code> | The selector string for the custom scrollbar element |\n| [parameters.scrollbarHandleEl] | <code>string</code> | <code>&quot;.asscrollbar__handle&quot;</code> | The selector string for the custom scrollbar handle element |\n| [parameters.customScrollbar] | <code>boolean</code> | <code>true</code> | Toggle the custom scrollbar |\n| [parameters.scrollbarStyles] | <code>boolean</code> | <code>true</code> | Include the scrollbar CSS via Javascript |\n| [parameters.disableNativeScrollbar] | <code>boolean</code> | <code>true</code> | Disable the native browser scrollbar |\n| [parameters.disableRaf] | <code>boolean</code> | <code>false</code> | Disable internal requestAnimationFrame loop in order to use an external one |\n| [parameters.disableResize] | <code>boolean</code> | <code>false</code> | Disable internal resize event on the window in order to use an external one |\n| [parameters.limitLerpRate] | <code>boolean</code> | <code>true</code> | Match lerp speed on >60Hz displays to that of a 60Hz display |\n| [parameters.blockScrollClass] | <code>string</code> | <code>&quot;.asscroll-block&quot;</code> | The class to add to elements that should block ASScroll when hovered |\n\n<a name=\"ASScroll+targetPos\"></a>\n\n## asscroll.targetPos ⇒ <code>number</code>\nReturns the target scroll position.\n\n**Returns**: <code>number</code> - Target scroll position  \n<a name=\"ASScroll+currentPos\"></a>\n\n## asscroll.currentPos ⇒ <code>number</code>\nGets or sets the current scroll position.\n\n**Returns**: <code>number</code> - Current scroll position  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| scrollPos | <code>number</code> | The desired scroll position |\n\n**Example** *(Sets the scroll position to 200, bypassing any lerps)*  \n```js\nasscroll.currentPos = 200\n```\n<a name=\"ASScroll+maxScroll\"></a>\n\n## asscroll.maxScroll ⇒ <code>number</code>\nReturns the maximum scroll height of the page.\n\n**Returns**: <code>number</code> - Maxmium scroll height  \n<a name=\"ASScroll+containerElement\"></a>\n\n## asscroll.containerElement ⇒ <code>HTMLElement</code>\nReturns the outer element that ASScroll is attached to.\n\n**Returns**: <code>HTMLElement</code> - The outer element  \n<a name=\"ASScroll+scrollElements\"></a>\n\n## asscroll.scrollElements ⇒ <code>Array</code>\nReturns the the element(s) that ASScroll is scrolling.\n\n**Returns**: <code>Array</code> - An array of elements ASScroll is scrolling  \n<a name=\"ASScroll+isHorizontal\"></a>\n\n## asscroll.isHorizontal ⇒ <code>boolean</code>\nReturns whether or not ASScroll is in horizontal scroll mode\n\n**Returns**: <code>boolean</code> - The status of horizontal scroll  \n<a name=\"ASScroll+scrollPos\"></a>\n\n## ~~asscroll.scrollPos~~\n***Deprecated***\n\n**See**: [targetPos](#ASScroll+targetPos)  \n<a name=\"ASScroll+smoothScrollPos\"></a>\n\n## ~~asscroll.smoothScrollPos~~\n***Deprecated***\n\n**See**: [currentPos](#ASScroll+currentPos)  \n<a name=\"ASScroll+enable\"></a>\n\n## asscroll.enable([parameters])\nEnable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.newScrollElements] | <code>boolean</code> \\| <code>NodeList</code> \\| <code>HTMLElement</code> | <code>false</code> | Specify the new element(s) that should be scrolled |\n| [parameters.reset] | <code>boolean</code> | <code>false</code> | Reset the scroll position to 0 |\n| [parameters.restore] | <code>boolean</code> | <code>false</code> | Restore the scroll position to where it was when disable() was called |\n| [parameters.horizontalScroll] | <code>boolean</code> | <code>false</code> | Toggle horizontal scrolling |\n\n**Example** *(Enables ASScroll on the &#x27;.page&#x27; element and resets the scroll position to 0)*  \n```js\nasscroll.enable({ newScrollElements: document.querySelector('.page'), reset: true })\n```\n**Example** *(Enables ASScroll and restores to the previous position before ASScroll.disable() was called)*  \n```js\nasscroll.enable({ restore: true })\n```\n<a name=\"ASScroll+disable\"></a>\n\n## asscroll.disable([parameters])\nDisable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.inputOnly] | <code>boolean</code> | <code>false</code> | Only disable the ability to manually scroll (still allow transforms) |\n\n**Example** *(Disables the ability to manually scroll whilst still allowing position updates to be made via asscroll.currentPos, for example)*  \n```js\nasscroll.disable({ inputOnly: true })\n```\n<a name=\"ASScroll+update\"></a>\n\n## asscroll.update()\nCall the internal animation frame request callback.\n\n<a name=\"ASScroll+resize\"></a>\n\n## asscroll.resize([parameters])\nCall the internal resize callback.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| [parameters] | <code>object</code> |  |\n| [parameters.width] | <code>number</code> | Window width |\n| [parameters.height] | <code>number</code> | Window height |\n\n<a name=\"ASScroll+on\"></a>\n\n## asscroll.on(eventName, callback)\nAdd an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event you wish to listen for |\n| callback | <code>function</code> | Callback function that should be executed when the event fires |\n\n**Example** *(Logs out the scroll position when the &#x27;scroll&#x27; event is fired)*  \n```js\nasscroll.on('scroll', scrollPos => console.log(scrollPos))\n```\n**Example** *(Returns the target scroll position and current scroll position during the internal update loop)*  \n```js\nasscroll.on('update', ({ targetPos, currentPos }) => console.log(targetPos, currentPos))\n```\n**Example** *(Fires when the lerped scroll position has reached the target position)*  \n```js\nasscroll.on('scrollEnd', scrollPos => console.log(scrollPos))\n```\n<a name=\"ASScroll+off\"></a>\n\n## asscroll.off(eventName, callback)\nRemove an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event |\n| callback | <code>function</code> | Callback function |\n\n<a name=\"ASScroll+scrollTo\"></a>\n\n## asscroll.scrollTo(targetPos, [emitEvent])\nScroll to a given position on the page.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| targetPos | <code>number</code> |  | Target scroll position |\n| [emitEvent] | <code>boolean</code> | <code>true</code> | Whether to emit the external scroll events or not |\n\n<a name=\"ASScroll+onRaf\"></a>\n\n## ~~asscroll.onRaf()~~\n***Deprecated***\n\n**See**: [update](#ASScroll+update)  \n<a name=\"ASScroll+onResize\"></a>\n\n## ~~asscroll.onResize()~~\n***Deprecated***\n\n**See**: [resize](#ASScroll+resize)  \n\r\n---\r\n\r\n## Custom Scrollbar\r\n\r\nWhen `customScrollbar` is enabled in the options, a default set of styles will get added to the page that match the following HTML:\r\n\r\n```HTML\r\n<div class=\"asscrollbar\"><div class=\"asscrollbar__handle\"><div></div></div></div>\r\n```\r\n\r\nThis HTML will get added to your page automatically if you don't add it yourself.\r\n\r\nYou can change the classes that are used by changing the `scrollbarEl` and `scrollbarHandleEl` options.\r\n\r\nYou can use your own styles by setting the `scrollbarStyles` option to false.\r\n\r\n---\r\n\r\n⚠ **Note**: These styles are added via JS so will only be applied after JS has loaded. This may cause the native scrollbar to show for a moment before the styles are added resulting in a jump of the page.\r\n\r\nYou can include the styles necessary to hide the native scrollbar in your CSS by copy and pasting the contents of `/css/index.css` or simply by importing them into your CSS setup. For example:\r\n\r\n```css\r\n@import '~@ashthornton/asscroll/css'\r\n```\r\n\r\n## Usage with external requestAnimationFrame\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableRaf: true\r\n})\r\n\r\n// Regular RAF setup\r\nrequestAnimationFrame(onRaf)\r\nfunction onRaf() {\r\n    asscroll.update()\r\n    requestAnimationFrame(onRaf)\r\n}\r\n\r\n// Use with GSAP's internal RAF\r\ngsap.ticker.add(asscroll.update)\r\n\r\nasscroll.enable()\r\n```\r\n\r\n## Usage with external window resize\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableResize: true\r\n})\r\n\r\nwindow.addEventListener('resize', () => {\r\n    // trigger other resize logic\r\n    asscroll.resize({ width: window.innerWidth, height: window.innerHeight })\r\n})\r\n\r\nasscroll.enable()\r\n```\r\n\r\nTouch Devices\r\n===\r\n\r\nASScroll provides three options for handling itself on touch devices via the `touchScrollType` option:\r\n- `'none'`: Disabled completely, falling back to native scroll whilst still providing scroll position properties\r\n- `'transform'`: Continue to transform the scroll elements with an ease setting specifically to touch devices\r\n- `'scrollTop'`: Utilise the `scrollTop` value of the container element when used in conjunction with CSS that prevents resizes and browser UI from toggling\r\n\r\nThe `scrollTop` option is primarily used for syncing WebGL content to the scroll position on mobile, without overriding the native inertia scroll. Some CSS will be injected automatically when this option is enabled. This CSS can be found [here](https://github.com/ashthornton/asscroll/blob/master/css/scrollTop.css).","readmeFilename":"README.md","gitHead":"a6f68181d3fe9624d9e1cd041cb19ec448e1576d","_id":"@ashthornton/asscroll@2.0.0-beta.9","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-bTYrPKjEV4ALdASEnyeG+xSMHftJjCEHR2by9vXb5lEnpWnfPs9eAKMNy0KKs6l2wdMuk34QcxeIP3T0yquEJQ==","shasum":"51f9765b92dced6ed4b99cbe1bd6f182ec727273","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.0-beta.9.tgz","fileCount":22,"unpackedSize":186836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkbe5CRA9TVsSAnZWagAApMsP/1Zxisuh2ghHPtwzNz5W\nu99HbAoejcjlY85O9nw0xC0oV7Fr6H/W5v04ayTDI4JbuQg4IRhKVSVcMbRM\nvZcfeVr3RZbQr2CgDj3hDUMmQ0e9UuvT7a98TdhQOqVOKpZgEeCRERauNqxH\nTXaALAopuPfPz5Ad614z/npgsd3jZI+UHid5JcjQmwFvIql76znychyHSrwB\nMf+H65/fXnewQ2W+30B5FZjWP6/C8pincoMdsQEmDIhpGu/bQ01sg2YvMcT6\nzFWxiIO7vWy5I6Y3mQE6wp7fLs92HRkYLd+qVqPKToSS55hWOoDVNLeYyn7n\nvPA99LGORh+1koCszl1Is5hDQ70VhPaqVvXLxq3FZ4v+cDmsjVY3jHsH+eF1\n9e36+3hQC2FTttyEU4kznKiFAjmmF6iBhfXfAbYdzOrsDyp3YH6xnoeu49Zu\n5L7x4mxB5drXVlmI2fL1FtFH3LSv9iuR87MU3cLyPzeLSqEPQ3Ix0h2f9+D2\nkzSah1+JuTTEv/8nNPYrnYRwZ7Rx7RYuc88umfKko9JzJZRWU/rnM/zwbSm8\nSLuBDcgbOjhDuhZKhwp9zDQ0YOkbxuZSfnlFXigNcsTJqjQ859VYHnTA+hT2\nWDAKsKRKafQS77ohViA7NLi3nU/25vQfL4ucI6e57Hsb+cWlpKRkMmUaeWzW\nGum1\r\n=hP/N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDXnGvy06L4wMvpvTxQysRTiEeNhakMJXJV6mQ755hDgIgG+ceHnaB/+Dc8bH0yOhcmokn8Ts9u1uZAUBI0/7LJmQ="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.0-beta.9_1620162488617_0.3205079043365402"},"_hasShrinkwrap":false},"2.0.0-beta.10":{"name":"@ashthornton/asscroll","version":"2.0.0-beta.10","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"readme":"<p align=\"center\"><img src=\"https://raw.githubusercontent.com/ashthornton-gc/asscroll/master/docs/asscroll.png\"></p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://www.npmjs.com/package/@ashthornton/asscroll\"><img src=\"https://img.shields.io/npm/v/@ashthornton/asscroll?color=%23F7894A\" alt=\"NPM Version\"></a>\r\n    <img alt=\"npm bundle size\" src=\"https://img.shields.io/bundlephobia/minzip/@ashthornton/asscroll?color=%23F7894A\">\r\n    <a href=\"https://www.jsdelivr.com/package/npm/@ashthornton/asscroll\"><img alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/@ashthornton/asscroll?color=%23F7894A\"></a>\r\n</p>\r\n\r\n<h3 align=\"center\"><strong>ASScroll is a hybrid smooth scroll setup that combines the<br>performance gains of virtual scroll with the reliability of native scroll.</strong></h3>\r\n\r\n<p align=\"center\" style=\"padding: 0 15%\">This setup aims to be a lightweight solution that provides a consistent smooth scrolling experience across all platforms, devices and hardware.</p>\r\n\r\n---\r\n\r\n#### Advantages over pure virtual scroll:\r\n- Accessibility / keyboard friendly (without overriding the browser's native scroll)\r\n- No special cases to cater for when handling manual key detection (i.e. pressing space in a form input)\r\n- Doesn't stop working when hovering over an iframe\r\n- Handles hardware that doesn't fire the 'wheel' event i.e. Windows trackpads in Edge + IE\r\n- No lag between DOM and WebGL elements on mobile, whilst retaining native inertia scroll\r\n\r\n#### Other Features:\r\n- Horizontal scroll\r\n- Custom scroll bar\r\n- Use your own external RAF loop and resize events\r\n- Consistent lerp speeds on high refresh rate displays\r\n\r\n_No animation features are included as there are other libraries that can be used with ASScroll. GreenSock's [ScrollTrigger](https://greensock.com/scrolltrigger/) is a great example and a demo is included below_\r\n\r\nDemos\r\n================\r\n- [Zero Config Demo](https://codepen.io/ashthornton/pen/pobJRQX?editors=1010)\r\n- [Options Demo](https://codepen.io/ashthornton/pen/YzWXZqL?editors=1010)\r\n- [Using GSAP's ScrollTrigger with ASScroll](https://codepen.io/ashthornton/pen/PoZRwPW)\r\n- [Using PJAX Navigation (Highway) with ASScroll](https://codepen.io/ashthornton/project/editor/AypMLG)\r\n\r\n### Sites using ASScroll\r\n- [Superlist](https://superlist.com/)\r\n- [Lewa House](https://lewahouse.com/)\r\n- [Eder Anaya](https://ederanaya.me/)\r\n- [FanFan](https://fanfan.fan/)\r\n- [Havoc](https://www.havoc.co/)\r\n- [Wray and Nephew](https://straightfromyard.co.uk/)\r\n- [Shape Studio](https://shapestudio.co.uk/)\r\n\r\nTable of contents\r\n=================\r\n<!--ts-->\r\n   * [Install](#install)\r\n   * [Zero Config Setup](#zero-config-setup)\r\n   * [API](#asscroll)\r\n   * [Custom Scrollbar](#custom-scrollbar)\r\n   * [External RAF Usage](#usage-with-external-requestanimationframe)\r\n   * [External Resize Usage](#usage-with-external-window-resize)\r\n   * [Touch Devices](#touch-devices)\r\n<!--te-->\r\n\r\n---\r\n\r\n\r\n# Install\r\n`npm i --save @ashthornton/asscroll` or `yarn add @ashthornton/asscroll`\r\n\r\nAlso available via [JSDelivr CDN](https://www.jsdelivr.com/package/npm/@ashthornton/asscroll) which you can then include with a `<script>` tag.\r\n\r\n# Zero Config Setup\r\n\r\n1. Add the attribute `asscroll-container` to the parent element of the content to be smooth scrolled. By default, the first child found within will be scrolled. Both of these selectors be changed in the options.\r\n\r\n```html\r\n<body>\r\n    <div asscroll-container>\r\n        <div><!-- The Y translation will be applied to this element --></div>\r\n    </div>\r\n</body>\r\n```\r\n\r\n2. Import and initialise in Javascript\r\n\r\n```js\r\nimport ASScroll from '@ashthornton/asscroll'\r\n\r\nconst asscroll = new ASScroll()\r\n\r\nwindow.addEventListener('load', () => {\r\n    asscroll.enable()\r\n})\r\n```\r\n\r\n---\r\n\r\n<a name=\"ASScroll\"></a>\n\n# ASScroll\nAsh's Smooth Scroll 🍑\n\n\n* [ASScroll](#ASScroll)\n    * [new ASScroll([parameters])](#new_ASScroll_new)\n    * [.targetPos](#ASScroll+targetPos) ⇒ <code>number</code>\n    * [.currentPos](#ASScroll+currentPos) ⇒ <code>number</code>\n    * [.maxScroll](#ASScroll+maxScroll) ⇒ <code>number</code>\n    * [.containerElement](#ASScroll+containerElement) ⇒ <code>HTMLElement</code>\n    * [.scrollElements](#ASScroll+scrollElements) ⇒ <code>Array</code>\n    * [.isHorizontal](#ASScroll+isHorizontal) ⇒ <code>boolean</code>\n    * ~~[.scrollPos](#ASScroll+scrollPos)~~\n    * ~~[.smoothScrollPos](#ASScroll+smoothScrollPos)~~\n    * [.enable([parameters])](#ASScroll+enable)\n    * [.disable([parameters])](#ASScroll+disable)\n    * [.update()](#ASScroll+update)\n    * [.resize([parameters])](#ASScroll+resize)\n    * [.on(eventName, callback)](#ASScroll+on)\n    * [.off(eventName, callback)](#ASScroll+off)\n    * [.scrollTo(targetPos, [emitEvent])](#ASScroll+scrollTo)\n    * ~~[.onRaf()](#ASScroll+onRaf)~~\n    * ~~[.onResize()](#ASScroll+onResize)~~\n\n<a name=\"new_ASScroll_new\"></a>\n\n## new ASScroll([parameters])\nCreates an ASScroll instance\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.containerElement] | <code>string</code> \\| <code>HTMLElement</code> | <code>&quot;[asscroll-container]&quot;</code> | The selector string for the outer container element, or the element itself |\n| [parameters.scrollElements] | <code>string</code> \\| <code>HTMLElement</code> \\| <code>NodeList</code> | <code>&quot;[asscroll]&quot;</code> | The selector string for the elements to scroll, or the elements themselves |\n| [parameters.ease] | <code>number</code> | <code>0.075</code> | The ease amount for the transform lerp |\n| [parameters.touchEase] | <code>number</code> | <code>1</code> | The ease amount for the transform lerp on touch devices |\n| [parameters.touchScrollType] | <code>string</code> | <code>&quot;none&quot;</code> | Set the scrolling method on touch devices. Other options are 'transform' and 'scrollTop'. See the [Touch Devices](#touch-devices) section for more info |\n| [parameters.scrollbarEl] | <code>string</code> | <code>&quot;.asscrollbar&quot;</code> | The selector string for the custom scrollbar element |\n| [parameters.scrollbarHandleEl] | <code>string</code> | <code>&quot;.asscrollbar__handle&quot;</code> | The selector string for the custom scrollbar handle element |\n| [parameters.customScrollbar] | <code>boolean</code> | <code>true</code> | Toggle the custom scrollbar |\n| [parameters.scrollbarStyles] | <code>boolean</code> | <code>true</code> | Include the scrollbar CSS via Javascript |\n| [parameters.disableNativeScrollbar] | <code>boolean</code> | <code>true</code> | Disable the native browser scrollbar |\n| [parameters.disableRaf] | <code>boolean</code> | <code>false</code> | Disable internal requestAnimationFrame loop in order to use an external one |\n| [parameters.disableResize] | <code>boolean</code> | <code>false</code> | Disable internal resize event on the window in order to use an external one |\n| [parameters.limitLerpRate] | <code>boolean</code> | <code>true</code> | Match lerp speed on >60Hz displays to that of a 60Hz display |\n| [parameters.blockScrollClass] | <code>string</code> | <code>&quot;.asscroll-block&quot;</code> | The class to add to elements that should block ASScroll when hovered |\n\n<a name=\"ASScroll+targetPos\"></a>\n\n## asscroll.targetPos ⇒ <code>number</code>\nReturns the target scroll position.\n\n**Returns**: <code>number</code> - Target scroll position  \n<a name=\"ASScroll+currentPos\"></a>\n\n## asscroll.currentPos ⇒ <code>number</code>\nGets or sets the current scroll position.\n\n**Returns**: <code>number</code> - Current scroll position  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| scrollPos | <code>number</code> | The desired scroll position |\n\n**Example** *(Sets the scroll position to 200, bypassing any lerps)*  \n```js\nasscroll.currentPos = 200\n```\n<a name=\"ASScroll+maxScroll\"></a>\n\n## asscroll.maxScroll ⇒ <code>number</code>\nReturns the maximum scroll height of the page.\n\n**Returns**: <code>number</code> - Maxmium scroll height  \n<a name=\"ASScroll+containerElement\"></a>\n\n## asscroll.containerElement ⇒ <code>HTMLElement</code>\nReturns the outer element that ASScroll is attached to.\n\n**Returns**: <code>HTMLElement</code> - The outer element  \n<a name=\"ASScroll+scrollElements\"></a>\n\n## asscroll.scrollElements ⇒ <code>Array</code>\nReturns the the element(s) that ASScroll is scrolling.\n\n**Returns**: <code>Array</code> - An array of elements ASScroll is scrolling  \n<a name=\"ASScroll+isHorizontal\"></a>\n\n## asscroll.isHorizontal ⇒ <code>boolean</code>\nReturns whether or not ASScroll is in horizontal scroll mode\n\n**Returns**: <code>boolean</code> - The status of horizontal scroll  \n<a name=\"ASScroll+scrollPos\"></a>\n\n## ~~asscroll.scrollPos~~\n***Deprecated***\n\n**See**: [targetPos](#ASScroll+targetPos)  \n<a name=\"ASScroll+smoothScrollPos\"></a>\n\n## ~~asscroll.smoothScrollPos~~\n***Deprecated***\n\n**See**: [currentPos](#ASScroll+currentPos)  \n<a name=\"ASScroll+enable\"></a>\n\n## asscroll.enable([parameters])\nEnable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.newScrollElements] | <code>boolean</code> \\| <code>NodeList</code> \\| <code>HTMLElement</code> | <code>false</code> | Specify the new element(s) that should be scrolled |\n| [parameters.reset] | <code>boolean</code> | <code>false</code> | Reset the scroll position to 0 |\n| [parameters.restore] | <code>boolean</code> | <code>false</code> | Restore the scroll position to where it was when disable() was called |\n| [parameters.horizontalScroll] | <code>boolean</code> | <code>false</code> | Toggle horizontal scrolling |\n\n**Example** *(Enables ASScroll on the &#x27;.page&#x27; element and resets the scroll position to 0)*  \n```js\nasscroll.enable({ newScrollElements: document.querySelector('.page'), reset: true })\n```\n**Example** *(Enables ASScroll and restores to the previous position before ASScroll.disable() was called)*  \n```js\nasscroll.enable({ restore: true })\n```\n<a name=\"ASScroll+disable\"></a>\n\n## asscroll.disable([parameters])\nDisable ASScroll.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [parameters] | <code>object</code> |  |  |\n| [parameters.inputOnly] | <code>boolean</code> | <code>false</code> | Only disable the ability to manually scroll (still allow transforms) |\n\n**Example** *(Disables the ability to manually scroll whilst still allowing position updates to be made via asscroll.currentPos, for example)*  \n```js\nasscroll.disable({ inputOnly: true })\n```\n<a name=\"ASScroll+update\"></a>\n\n## asscroll.update()\nCall the internal animation frame request callback.\n\n<a name=\"ASScroll+resize\"></a>\n\n## asscroll.resize([parameters])\nCall the internal resize callback.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| [parameters] | <code>object</code> |  |\n| [parameters.width] | <code>number</code> | Window width |\n| [parameters.height] | <code>number</code> | Window height |\n\n<a name=\"ASScroll+on\"></a>\n\n## asscroll.on(eventName, callback)\nAdd an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event you wish to listen for |\n| callback | <code>function</code> | Callback function that should be executed when the event fires |\n\n**Example** *(Logs out the scroll position when the &#x27;scroll&#x27; event is fired)*  \n```js\nasscroll.on('scroll', scrollPos => console.log(scrollPos))\n```\n**Example** *(Returns the target scroll position and current scroll position during the internal update loop)*  \n```js\nasscroll.on('update', ({ targetPos, currentPos }) => console.log(targetPos, currentPos))\n```\n**Example** *(Fires when the lerped scroll position has reached the target position)*  \n```js\nasscroll.on('scrollEnd', scrollPos => console.log(scrollPos))\n```\n<a name=\"ASScroll+off\"></a>\n\n## asscroll.off(eventName, callback)\nRemove an event listener.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| eventName | <code>string</code> | Name of the event |\n| callback | <code>function</code> | Callback function |\n\n<a name=\"ASScroll+scrollTo\"></a>\n\n## asscroll.scrollTo(targetPos, [emitEvent])\nScroll to a given position on the page.\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| targetPos | <code>number</code> |  | Target scroll position |\n| [emitEvent] | <code>boolean</code> | <code>true</code> | Whether to emit the external scroll events or not |\n\n<a name=\"ASScroll+onRaf\"></a>\n\n## ~~asscroll.onRaf()~~\n***Deprecated***\n\n**See**: [update](#ASScroll+update)  \n<a name=\"ASScroll+onResize\"></a>\n\n## ~~asscroll.onResize()~~\n***Deprecated***\n\n**See**: [resize](#ASScroll+resize)  \n\r\n---\r\n\r\n## Custom Scrollbar\r\n\r\nWhen `customScrollbar` is enabled in the options, a default set of styles will get added to the page that match the following HTML:\r\n\r\n```HTML\r\n<div class=\"asscrollbar\"><div class=\"asscrollbar__handle\"><div></div></div></div>\r\n```\r\n\r\nThis HTML will get added to your page automatically if you don't add it yourself.\r\n\r\nYou can change the classes that are used by changing the `scrollbarEl` and `scrollbarHandleEl` options.\r\n\r\nYou can use your own styles by setting the `scrollbarStyles` option to false.\r\n\r\n---\r\n\r\n⚠ **Note**: These styles are added via JS so will only be applied after JS has loaded. This may cause the native scrollbar to show for a moment before the styles are added resulting in a jump of the page.\r\n\r\nYou can include the styles necessary to hide the native scrollbar in your CSS by copy and pasting the contents of `/css/index.css` or simply by importing them into your CSS setup. For example:\r\n\r\n```css\r\n@import '~@ashthornton/asscroll/css'\r\n```\r\n\r\n## Usage with external requestAnimationFrame\r\nMultiple requestAnimationFrame loops causes a significant impact on performance, so ASScroll provides the option to disable its internal rAF loop in order for you to update it yourself externally.\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableRaf: true\r\n})\r\n\r\n// Regular RAF loop\r\nrequestAnimationFrame(onRaf)\r\nfunction onRaf() {\r\n    asscroll.update()\r\n    requestAnimationFrame(onRaf)\r\n}\r\n\r\n// Or use with GSAP's internal RAF\r\ngsap.ticker.add(asscroll.update)\r\n```\r\n\r\n## Usage with external window resize\r\nYou may already have a window resize listener in your project where you get the window size for other components. Rather than let ASScroll access these window properties during its internal resize event, which causes extra browser calculations, you can pass your own values.\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableResize: true\r\n})\r\n\r\nwindow.addEventListener('resize', () => {\r\n    // trigger other resize logic\r\n    const width = window.innerWidth\r\n    const height = window.innerHeight\r\n    asscroll.resize({ width, height })\r\n})\r\n```\r\n\r\n## Touch Devices\r\n\r\nASScroll provides three options for handling itself on touch devices via the `touchScrollType` option:\r\n- `'none'`: Disabled completely, falling back to native scroll whilst still providing scroll position properties\r\n- `'transform'`: Continue to transform the scroll elements with an ease setting specifically to touch devices\r\n- `'scrollTop'`: Utilise the `scrollTop` value of the container element when used in conjunction with CSS that prevents resizes and browser UI from toggling\r\n\r\nThe `scrollTop` option is primarily used for syncing WebGL content to the scroll position on mobile, without overriding the native inertia scroll. Some CSS will be injected automatically when this option is enabled. This CSS can be found [here](https://github.com/ashthornton/asscroll/blob/master/css/scrollTop.css).","readmeFilename":"README.md","gitHead":"000e98dfc05f425f169325a4652ce7d27cb76e6e","_id":"@ashthornton/asscroll@2.0.0-beta.10","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-m+LPPWech0y+mYjtN9PYJRq0FzdHetjVhC+gMd1dK2CAIY/+pD5nY5ZbbQxMaraF4O832RdCXi+0Zjepavonqw==","shasum":"9ced03d8bb77ba6c34e977049ecdc449a110fbf6","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.0-beta.10.tgz","fileCount":22,"unpackedSize":188142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkpVNCRA9TVsSAnZWagAAz/YP/0VZL0JEoHYo6k4v3DyO\nt3vjAtnUpOYCLJ1asWrIWgq9ziIHtgolBx/QTVLBdJS7+YFhuWnIQiD36Xh0\nuay2PoMMnxVboMjwRxdRsnJflmw1jEgLyz8Ix6Tu/Huz11b5fmDCRPJiaYR7\nrW/Nz+EL34vW1AywpSlIMjAkBrZRXSYMeEWNH+zoxq7CnE7m4gHjmDgyHAcP\nBml4YJ3d+JMzw8uznZuFhrfOnuyl3j8v4mFb6bmtHGagTpGmljogC+xZ3LW7\n9WErbIzffjlJP/HOXzdkMrw6r8y/QnUK5ljgZVz5KrGxyqAhireWHNANERgT\ntRSKgogZX5que9WZOHeYuI8DsgAxKx4InJVfgF7Q9VinCKdl8wquaj7TZbAz\nVxJ/eJceIF8Hw4gG8Kv/hD2XAQyfQ/AiTerXiSGBF18sxWgCmOJocGYJo43t\nzLtHLV58EqOABNjCzwpStZHji/xaGM7EoZtAgheZS8tZYJgiKYlYKYDRY7rV\n1X3ZvVDlUjUtB7NcawQzEsQ5KrPnsem0OboayLN9jr4Zb7I7CZqPz0ExF4qE\nSE9P4WmlWgCJdsiqRK+VYjKaneQK7fDgjLUqxtAB2BwXqp+YLp3NW525qF2n\no3mPSiJssMn/lTJaYhS62RdEFW1BDE8KdKN1H3poPYnqxAN3tA07JYchfXOX\n3Frt\r\n=05oA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGbIw3eqMdkarWdxKYBiObQ/IWq/O5h5pOrmK3qoLJqSAiEA05F4T6xqrMgFdV7pcr8GeKaonyjBdv7JejF3UxOZ3qk="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.0-beta.10_1620219213365_0.7528496817728039"},"_hasShrinkwrap":false},"2.0.0":{"name":"@ashthornton/asscroll","version":"2.0.0","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"gitHead":"04f6746f6b67c883947e0d0067d851bfdb525648","_id":"@ashthornton/asscroll@2.0.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-G7RV9havoRR3L8D+w+BrvudLL24OegFtfX7gqMU0NXpDwLrFTy8T/1/FagdYxO7nKAvf14MXG3+/BH5J7Vai0A==","shasum":"a115deb0110616bf0f76cb21ef1938f4addbdad1","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.0.tgz","fileCount":22,"unpackedSize":188964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk8llCRA9TVsSAnZWagAAxoMP/2RDL/YPSFyr3GYkKOib\nBFm8y/hsIqcHBrxTRkLBa0YsthPNtc3tmsRtsH3wabSNWK9F03FZwJPhXmUO\nvH4EJrPA6hS00+EB5gB/FQNYyU96BFgNtuY/CTaoMGFD+RL6MnDWLGsDRu1C\nKQMtY2ypj9tT1fIjyw4ZKjg/rFewWGDHHcPbpx5lx8rCM7/iZ44dmnX8EkNU\nhpe7rHSLTxeG5CtF7og67YJJ7xxSNoHzcCzr4Zg+FkNVCekcN5N8QnBFuKiT\n8M1aPVvtf77DsYokn7F1U0KwK/IxF3PoegcuMDPUoNH/XYlp282uX5lIt35B\nUnYOa4T0ZHYA9eJ5QRwrQRzOrq6mYxBQ4a1Eptvg6c37ppKx6LQLyuZHKbSy\nuxEBv+Y9vbUyp3Fwy2lHVTonuL8pKlTkThZIxz09rvITsJEPqtNjt7GuFuKo\n0bjSRkNDtKeUtTjymaW6g3mkSCYibKOc3zwNflYRct+Li+tTou+66eGfmKW9\ne8c2SaFqyyu/oGXDkMOOVvHuCuzxDDaUeqU0BS/BvSkqR+CMCB3wcu843AYx\n/oEn3J6bkozX9709NSEDbGxv9wtICZicFM7+QyIfc1NB1i1vhaYnY4sr+Rzl\nXZW29mlyoJCvjmat0YumEtNwUzI38NTtsTWaYgBuEOcGnZFeqtZB0TCW1d1W\nX8Er\r\n=kLlt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD53jEOkVgJjeEDohIJujW0eIgojb7T/l+yeSBdmmDPnAIhALNAKfHTa8EBbxYsaArIE5KkKYWq7DECv9007v7wGTQo"}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.0_1620298084352_0.08226503503632299"},"_hasShrinkwrap":false},"2.0.1":{"name":"@ashthornton/asscroll","version":"2.0.1","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"npx typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"gitHead":"11e8c7f7525e6b01ed1264ea7f0020ba8edb0ab6","_id":"@ashthornton/asscroll@2.0.1","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-1EzEcvZzH47ZMzstJI0Rqarc/q0qejLtnYqVO+7vPm44tpcNOeqqsg58uDKHwdtmcI/FB7iy9BiqHCbHZSOyRA==","shasum":"82cfcbf37da2d2d695ff95876f7896f8929ce247","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.1.tgz","fileCount":22,"unpackedSize":188984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk8sCCRA9TVsSAnZWagAAqr4P/3hmyP9IIoscCL1IhSfb\n3YMfWB5yXQnoqVugsZvRmn4c1Wik3H563EghwCAOgtabi0LbNgY9yYKaX+IT\nN/K0jaaUd7E2e6C7yel6S5vKyJEnB/3EVgovpoKxyQv5Gk+o2UoFkkDcF8rT\nAylfI09lkac+Oq3sDH2LtGdVn1jGrtBYHV1DV2esvWOTjt9aSW+G7Fb5sd6C\nLEMZJKJPsnOvrFCDH08+WgS8r9F9XaIJeOEcVNgm/922fbTCQS0Afu/MjyAa\nfbPK11i2LP6YRNoKsJdG2mPTeSv4nDK3Uw631wl+8xwsjoPR7p76g3roVZ3I\ncd4wQCr4r19uaVyXW9AjZRoFgnpMzKcnzFD3C63MyhePlmo7SpBlANkyNpSA\n180fEz/MP+G/ep0tCeQ7RXrEBSAupv5vRjKON2dklTma2aBo7yb5NYOHn/Wm\nLcHUvd3FY2tpe3/huTUW+9l1QA0/My2gNfjoLj7+mMJ1qCixs+tLgfk1iAM1\nvZaqZc24H0M81VQaRNGtf81+X3y5RWVG2kGSpnHbVojJ/G4nhReWDBoXlbF6\nbJ/d1HUqpI/LiBbye3rZMygPIlGfJS4LFQyWv0YZ0LvBoDZA24RJ/GyexTKR\n8gJjHfmLE8xHrC+w59S6/9mEFuZOQA6chmY+TCHr+1BvmXxvfu9tpwWHW4jk\n72mz\r\n=R+O8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD70KY/pVYJoGXbxSjFHwabdCBwZoHVc4Liu/UH+z5SVQIgcroSOeDxzMIWFwXvuspvtAD+5G96JHToljDIByPigrc="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.1_1620298497762_0.7694571955422533"},"_hasShrinkwrap":false},"2.0.2":{"name":"@ashthornton/asscroll","version":"2.0.2","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"npx typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"gitHead":"c1c67f97f43177b8b5573e81b1b0659fbe3ba2e0","_id":"@ashthornton/asscroll@2.0.2","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-+FXJJI2UZqxWOvug7220x0DgBDW59MogCJeYm+OFcVDMVumY+D1pFDwfpNIA74RHPPdctAjWpR5lB+rm6HEzJA==","shasum":"f3f246effe6af849114f5b3934aa265e61dfce9b","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.2.tgz","fileCount":22,"unpackedSize":189008,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+DApCRA9TVsSAnZWagAAAioP/1LfNJUg8l8Zhn85JXS6\nEaRuD0E67mvSFP5JBvZAJom/12vDn7SqaYKOR+Cs7izi8w+iZajd0w3ozC4Q\nlDTlJbEZRYagMPyO64zgcVKBR7N38b7aISs03B4cspGWSbpszLG+lc+jzMjQ\nDPpusMDrwuLCOSHf5bofw1/+qvw0bEV4KetAkhtmCuUvQpOQP2IlxpLuUbPr\ndyARV64wB/cLAvRnOlPxGILYnK+Wa7JGp1G8uvze2gRm1KJV6BH6MP5XhTuT\na2kJRjic+LPTcPjDIgX4PqkUGbPFDj1DMtCSl6P5WeKqX3JfnNIOr3lvpAAM\nRI1DdzY5LvpPt5fgfM4QccWPxkjWcB2+Cgu4MBuJliMsuIm5XaXSKWea2NXl\nt1n0z1P7HQ34TOncMPETB2Jv3dkXatGHmzVV8NEW9Q1hhAZhU8vdZ9xdt3B1\nciCBEWT5FGwaenlK+KxXhdioKY9JpvgQgQw8fHbiSZiDlxbDVFmgbJC8mWSg\nr4Z3JMfVPBKFqkpEQ2BhO09CaQkpfQrD+0G7kYJ1aTzQjR8HDaIrQ8CdHSwV\nJJ3YYtuxiAY/1VatFNdLtH1po+YhN7ZiFVK3zPWRJZ59qENidLCosfrlIthn\n50ZybjEGDmprqrPnn9DFYNOeR+Nc+DB6B4ER4mmuD9rgnunfYPAu8x+knYgS\n7EVh\r\n=pF/U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCquckegJk2h+RiHOZGVhdDK+GjG679W721VO22xxDjoQIgVLZ7DFx2UZmM17f7PazP2IKby8qm5SL72HU3nZVPkD0="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.2_1626877992866_0.6186568724598958"},"_hasShrinkwrap":false},"2.0.3":{"name":"@ashthornton/asscroll","version":"2.0.3","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"npx typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"gitHead":"8a0ffd40324ece6b188e792367430054a4a0c733","_id":"@ashthornton/asscroll@2.0.3","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Q4L1rqTPB5TbZXVqHW1Ebsl/9ao7diiEVAEZ1K2hHUUdco4JGh7XZETy+aJeg0bBE94lARXSZNTbNSzv5qafkA==","shasum":"eeb167914b1f9b35be00a71831ece5d9f3180e07","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.3.tgz","fileCount":22,"unpackedSize":189343,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhp+Z9CRA9TVsSAnZWagAANpQP/iuJlbjejvoOm0/pEVQU\n4BrcZ4wAgjKWPWAN0S/mmM+vZDTdULBmjIOsDxMPM+uOc7Lcrtf/7cxPcEEH\ne+7imfUme1h2qsgPWAKeOgyGUrJBhJmzHuJlXIDWAPZ5l9srCn7d5moa5fpn\n2T0ZauQIV11ldRHMRkENCQOcipg8gOz1guBWs8dC4Wj0nyZxBwWuZ1tWIpNb\n15h9EMwUPpeO7eapFZcnw8vWd26dLcwag2wy9h/9hoOmQAdXkUBfeNvTcvx6\nWVCa6oeQ3rv0ZZ/ScShoSTjpNK/qTpbfwWJnSEAvp8vqNrUX2rnHcZBTu4LC\nJXRglt2iZmbatyh9sb8K0HgsibYqOFsQeZ2AeGahlWCopwX2SjKpLq6WzPgU\nWZTFxKb8vUIUNjAypBRlDzpmFCDwpdZG9DwZXKkme13Qcevz4oVsNd6QZLak\nC70C7TtPakFfyY4BkeGloio2E/e9t4/eoX+XDpB4VX9e9MY+cdgp8bSObdrq\nHGG+n0VCkgmtd+EtqTwLjAEDCSy0gOAoDxBGVk9jJIRAxL2OfcTMRnWRBHOr\n61RsM5GTcAXpxS2S1qsozxVI50w3J5CBSyD0jKgvtYBMDme9tDtAHNkqQvkz\nGbJTUqXwAX1aELoWZYn2D04ymF8gIzjZjvAnLvTG4FpphCLPWkS8/Li1mjsz\nNGuP\r\n=UBUP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCy6Zlri2dLz/bmOWvvJXtkz+5KafiQRacp/iQMB1NYXAIgG8X8379IaWt0eRqwkeudAfKeDjY+scvu41njuHUOH4Q="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.3_1638393469092_0.8906764125680899"},"_hasShrinkwrap":false},"2.0.4":{"name":"@ashthornton/asscroll","version":"2.0.4","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"npx typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"gitHead":"031003d705be72aa6a51e9873a97f67be950ac48","_id":"@ashthornton/asscroll@2.0.4","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-qo44dItBSq6+iYPh0qcekH6aFUoaelUDDxv7Qbq8viFuZpCM2yndIPRy2sFxOmqwe84+7ag/ATJUZ/mFSgnxpQ==","shasum":"fae0db00c69903aa50a0ef1cb52ccefbb248c02c","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.4.tgz","fileCount":22,"unpackedSize":191190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhp/G5CRA9TVsSAnZWagAAfDEP/A6d4j3vZkjcpO4cDDU2\nJvlWVUhVrT53otLReFVEJflO8gLPdQU1YfPm5Z5xvJs54wUgv2sKLKrLuK/y\n3U+57ClqP2xhVkbgQ7pQ0Q+gWkmerZcKYiVP0AO09234JjVa4ofx5GA0VbgZ\n4DaEShszZ6o7be4NTniH+4/LXZd4UmJ+2ib1z7FyD2+eEVAtdsP9rgYu7Dvt\n92x/PPlxc8TCtXK5m1NNYo7Lt0WxnjipwOVudqo6MIz6BjE+ugizkD1OU2Gz\nd5OIIn/UnwqKnIZyaHdJ8ympA8pKQk7Sxl9vIYIfiJ0joz1HSqVoWtd048D0\nRIf91aT9JgtudxPU/vIBt9P81ioFVYy/pGXICgYdmapm+QFRxwOOt83lTdIx\nMWKx10qujiHtKVDBr0xfEe255ATGg3plFI3ZDBlMA3d0s6drXG5drqXcAqJc\nR7SwnANTJ5QcSyz2PsJbPYzISAKKMQN62cvcu/7XuLfEOeKbfurtGDPx3Q5L\nYHAOUMJWfDYnlkiq7Mo7xfuEsuyA4M2JMbYM1NXgYiKqo/yEoW89bdz74xon\npSEALOMP6dRsXmGMJ7Fx3CV/yVrWBjl50QKOe7BywyBF35geKo0V9u0QrR9z\nwxD8T41D3B5zI9qWFFT3Lx2DCSiKuVYM2G9CPLffpHu/d7YuWo3U/KCNyxsm\nxaqk\r\n=iP0K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDILU149fgLQq2ROgtmR6PYlCRE+TV5BGAHQ87q7yc0VgIgcQTCvTbCqcAQ4bY4jDCQ4u/9wle1+Xy8+4LMQG4HUJI="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.4_1638396345769_0.8965230821886434"},"_hasShrinkwrap":false},"2.0.5":{"name":"@ashthornton/asscroll","version":"2.0.5","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"npx typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^1.8.2"},"gitHead":"63dfad69d6d59c57f12d19aa4dc3a3f88fc38af7","_id":"@ashthornton/asscroll@2.0.5","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-gTw8yS5l2FBTyplvsi/PVD3ONlbqMCQ2ELc2PB1OULBXx1j+6rsPSsfaTzPU0ap+lfL944j0JIK1njD5fLRC0Q==","shasum":"7f28aaf900278f6f8b391b4eb06a72b1ab8d7879","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.5.tgz","fileCount":22,"unpackedSize":191760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNFkGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYxA//TEcKM4uYYTAUjQPloUWMIgfXLxqBD5FNZnkePt96IMLhamrR\r\nmbgPwPxbHyfACONM+OAdkI5OFRckhfuWHpSuYsl7M7LoM16XPIkV3S/4jFVy\r\n77eJrGE75xYAjxQ4HWYmv2sydtHDSwJFtw3oemjchooTD+Sp4Tb+XC6wfoqy\r\nS8ZIbr51lt8v7hQgxEFWYTbqpE8ENgQrjo9eQw6QQRUNhyjQ/HL7M2ddHFOw\r\nnNOHIyzCl1hOazUvh6ZP/E7heOwyZ8d0P5sHKEMZ/evY3MYt6Q0Tix9AE0eY\r\n4FZgLBE2Srkp2M7JJT3YBVFAm6uja2wTYQv9XIWDtN2b20K6imPZaXt1TdPL\r\n1boWPkEvONjaKT2W0aeAC2h9VdN/F+ruJqm3Tf7RwS9JHoIzZf+p+kv2lWFz\r\nMCITcYlRsln5dSpvbdTjm8VF5fUEGd8/Yg8wpXUo8YHxXG9LHqcheQkkTb+t\r\nlXNHBm8/dbKeQAX4Kf07j1Ft5x78hBaGrRbGejxLhuqLqKq13K9Zuxfyxq5E\r\n1Py+ot3R5Xpq8Zd37l5Lli059XE67t6Itty0AwYrJwZm9+cm+8DJ1pEjnCc5\r\nTzmHBHY12u9k/K7j5OeyWhPmRHT0UxajSxGWtXpAo46fRQWngNyVPIJIMbk4\r\n/NfGhVDKck04VGfnF0rOoaIbAMt+npmmOa4=\r\n=Idh4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICA64NWP+QDV/HAkGZaY/K2nEbGm1iLZVkQMSC9I2raoAiANOS0AzdZxgIxi5JCI44edY/XLAh+s0EtvXY0Ade6F1Q=="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.5_1647597830084_0.49753580845239287"},"_hasShrinkwrap":false},"2.0.6":{"name":"@ashthornton/asscroll","version":"2.0.6","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"npx typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^2.2.2"},"browserslist":"last 2 versions and >=1% or safari >13 or last 6 ios_saf versions","gitHead":"5d5d3413e9b64e69782d03223d0d4a829af26acd","_id":"@ashthornton/asscroll@2.0.6","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-MYvEJu68o9ANT2RT9g3yNMLZZnlSXrEho/qZC5n72+8/vkxKKeQ8jUbVRVVhVTwZ7nqLoNAVtqpsftHhYpCfgA==","shasum":"e9eb4751ae1c0ddc5a90b0a7f54579dcc281aede","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.6.tgz","fileCount":22,"unpackedSize":132115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOzyMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrWsQ/+M/Jg69cZXxcKQM48qmt+8b2emTqMz7eNfzhzT+VFOFi63NTd\r\nXx1fZMh4UI915wg/LbTPTgvxLoyMBCiR92YKxjLbY6/+pEyWWcHoOmH/C2DN\r\nYK0JVg7Fh/hSTWjM4WhVNfZM+pWQ0HQmDWE24RoZwbhe8q2F776bOu0fNqL/\r\nncEmEJ/xoolkfGxiFLWfb/s+IJuRj7hLoZNvE0V41oyhLgGAY6ZAxNlFxe9N\r\n8ru9aCcKJTJE3FfzYjL8mhYbMYmZJQjdhhFm2ZdPAMUSXNE+SRAU5LzFbAhh\r\n/8aE5z4TH2wvqmwcIHcTcCLRcd9R/sn4nDJuzNaTDX3dYnXB0Uso3SBiAdUJ\r\nAB688ToIribGWHKPeR3tWgxVRDpHdnFRplqAj8YeIEugGFmN6PaqMsKlkw1f\r\nLvdprk2z1Bizy0dutOV5l7BWoHyNKEFBJjlp1UDLNIwelYQ/oTFI1LGh22bF\r\nnSFnFVILHDkTsQ6UZVN4fNOxFg9VmM4MRprG1FEnZGqJFd0Q8y2IT/vOmAws\r\nJtDA/EvDTbXzWMHk1BJMMMtWYP3KME98vL41YrwkQu8baN71VFbB4LJDHtL3\r\nu51/f3gEvMYRYuFKwJuGBk36irUlXonBHn/BnKuBSBfibSn3IhEmTORQkUG8\r\nXhhf572rp0HNxpiz2p4Be7zLrOkDMcxWsVM=\r\n=+hkr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGCgEZ4TBnCNyINVCltg8gDuvYMV5567G+dNL2H4FjJrAiBwIJMgG0hZwbpi/8KguguzO3mDpycBGGbB+A3jJFPPFA=="}]},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.6_1648049292500_0.7962605296720793"},"_hasShrinkwrap":false},"2.0.7":{"name":"@ashthornton/asscroll","version":"2.0.7","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"npx typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^2.2.2"},"browserslist":"last 2 versions and >=1% or safari >13 or last 6 ios_saf versions","gitHead":"567d654c008102e3dd37204a54cf81b2cc74ca70","_id":"@ashthornton/asscroll@2.0.7","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-8OcuNdd7B1Edi2ERpWR9f6jy6ScpmZWIpKBVt4FyeGmK3ojQBpQ+oU7cDxn11aGAzGp7ULQnMb518gtodII7jQ==","shasum":"2e9624508ad9997036fd1952c725f593943beaf8","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.7.tgz","fileCount":22,"unpackedSize":132974,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHCmUzodHOPDlsgb3hNVUnaaNKx4LtPOBBlgE25qe3VrAiA+zDrYUloSmjT0wYtc0ymYjNyB9LBTIJDJhJvrcs23aw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiesK4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQ5g/9F3XoX8Un0/jhSbQYmWFPJVAC3vG0xDnJ+DO6LtoArn+I5760\r\nidDl687vdO6Nb4iZ8BRQOOpsf/AEm1GGlcwxjfsYv/X0u/nEgDfZ9Ku+Hn6u\r\nI/eeAVdgd2lgcAZ2pH3SIUmfKgWR53nuMODW+57ha/S9xpQb4vgAeedr+5vq\r\nU+vAfKZoi4mk47/0vHXCGIlNl14Pm14NEZxIsgCseofbDPIOBnbNbyjVEBhv\r\n3VUwrRBQE61Cg8rzHDUwmA8fnqvxRiB9593yUmWH7rqoKwKj9AZWkMlGQXrg\r\nDnjL1rUmffflqlc9VpeFlG6pt2TVUizfNLIepjnHu4UkWl23BODcijorKZ/2\r\nPJHzwP0zKmwghf3wrSKY6eN3cL+rH7PDF7f9Mn9d2xVb/pP0Xn5eu6rjTDaS\r\nhFKjHFEVp1ZvTAQboxlawDfs/rYCOaT6Rjxiq1Fgd88TZ+/1BeO0biWqEduH\r\nsWXWyC/bLRXPyfIfnEXcS+FZ/GU+klwZcbnTHyWbgEJ5dLmT4aQ1uH8xyGv6\r\nWR3D8MHTYYn2A4JZcG58dXhWPdt1CdkHqLluD5fL8OTT7Idmj4OpUFxdaD49\r\n69cJm5ctW6AO7szIJ46Y+tMu0BfzYJ/4PnwvxSFf90hKs3Q76x8NEj26jlF+\r\nqxUnvvgc+8xzHzL8A3OwmGm1JEVTq4DMtMA=\r\n=Pdu7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.7_1652212407956_0.7062560242496807"},"_hasShrinkwrap":false},"2.0.8":{"name":"@ashthornton/asscroll","version":"2.0.8","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"npx typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^2.2.2"},"browserslist":"last 2 versions and >=1% or safari >13 or last 6 ios_saf versions","gitHead":"249b3f427e25ba977d03fa65d4c0fadca9b84444","_id":"@ashthornton/asscroll@2.0.8","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-+jnIuJ3gFetILfgM6y5g7STGXvnfgnmGdep3XFEJMdJ2f2PXpNC7oQ2/qzG5o1Xke18/q600MyPuf0pMv5VOug==","shasum":"8fc28c7e8d7bde699151a8652a9c00779aa69e55","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.8.tgz","fileCount":22,"unpackedSize":136835,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFI/a3ME9xVKyM7ltNJ9/Ih/8roQCld84Y8U1+TWYiWdAiEA6c2wP3V4F41iuTVcS/2zw0kZbyGDdpDWQE4rJLKyXjA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiytyIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqfGw//QN0Y8LvQCjDMTf+4Oj1gGOO1rV4H/2gQ4dwLwMNqOTb8+fIa\r\nLu1CIUEnX4wS/ZJoSF9y9dX7Kgt3/si/Rv4f+WuQkZMMT2nO0RDiddfjwI6O\r\nzFIT2YnQCQRlY2zvSIujJLgORZDdTtaJGQ/zCfQBh+rVaIqII1C8vl8E6ayb\r\nLA29B66hAClXLVtV8Ju3w2xstABw2HocHZwZN++0EhtMuMPYB8OjsRZ0pV5/\r\nh0s+EbBNnYhJvI1evi1JqYg/1aFecOllkC2JNdlsa5zF4CXx+tP33nVGFPY6\r\nlr6/DUDQbizaA6YzicxtxrHMy558Dbuxa3hv+qx0WW8kwdjmzM6NcYzjV9WQ\r\nN1KenMwBWC3hksP+ojAkyiC/UX8SrskIe3JHarMrUwAnv1BXC3NJUOxMs+TI\r\nuAq17RhdRpzTCnEwCguYB7XZ5EhbyqVsZbIMSRaRa9vBmpDuk9ONJvlPcv1u\r\nRJ0SYHg0y2w7O93do3GoNmlhtTBmxhCwMsjn9LjzYkWM+M0HkVhJBliLOCkk\r\n0jJSRGkUEMOwsyUZJdlidZxzYd9HGFx2tt77Pn0a22Rq0NUU6oWDfIkH+FCz\r\nK4MxkzuxT890cGO4DtZUOTVRyF+WarH10lbNuNUvSnjw+l6gw9RIWOi4TRpL\r\npk515xmWR23Qnmd9G1EHXTA9b2ebdrlISmY=\r\n=fVul\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.8_1657461896720_0.8937909946232823"},"_hasShrinkwrap":false},"2.0.9":{"name":"@ashthornton/asscroll","version":"2.0.9","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"npx typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^2.2.2"},"browserslist":"last 2 versions and >=1% or safari >13 or last 6 ios_saf versions","gitHead":"0f02faf695a60b0453ae2d5cf0b49172db2043a7","_id":"@ashthornton/asscroll@2.0.9","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-twcgB9wxGfNRUUT/gqRbjzGvHQ8CFUnaDDcBvDYha7nlEOJRgvdtfdC3wm0mS+0/PxHSR0UcYA1Q1Z0ofA9Rvw==","shasum":"cf87d616bf1219c2acff948bca539df3df326492","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.9.tgz","fileCount":22,"unpackedSize":136975,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCI9jfqpKo1UtrYiZtgOCEOZwkO8Mxf0sX00bG7G3bRpwIgHOeHhl+cj9OstKq5BzZ1WHy47Hzy4dtzy96ih/LxcuY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyt+7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplQQ/8DNObNV/G8twsKsQ/zOrhFuvkCk/xv8Zeil7xpv6T/ZzYvEYc\r\nl8z48r56idkZKjR6ZbJVwR5qamFcjF+R1W++hDHEE9Mevzuo8ATXLm2Wb5cM\r\ndNlqwWVwMtZOU94Cic8PaWvaNMl826JLrA1YD7+GRWdSa5K5Y3T/Cb2dxDG4\r\nHukio6QeYfAHS/oyg0cJT9xN9THRF/zTiUaOCWRiHuCL1xTFD5VdrUEtb1jN\r\nvWPs3DNgTemBcS6NsCmuMoAFhfrR7gq+JuyP2zrx1QhhlYY1/LUV9ARIuHpS\r\ncT2EWOdZjLjAw2g335xmxjdK2Ol+kkkPV2uOGO4nSOx3g1oa5peJJNRXm60v\r\nMieBu10HTrxAUrCT73LpuAl8cGz65kRADQwgVxESKsHL8Md1+lSDQ9QqbL51\r\nKQibclkVdUbiz+RjhsIxKnN18ozjwX/uy24uirmKhEJG67q2SqYZgMC/Us7W\r\neFc1p2p8idokU+utwcsLcnUS2PGrPdGWkIywayFki5hUesyLkDZdguL4YGJ7\r\nOhtTaVKAaMJR2016m6FL+Y2jk5CQ4uKky1VD6lGyhzQxLGtljNYRp+MIEEkm\r\nDp0lwJIHjmjJFuLiwVbP+zqrWuMatmyQf2yYEdNznClZBstpt4Hqcbo2dr0x\r\nT5e6WmWwCOhtMr/M1mFogqS4goioPyFvkcA=\r\n=0hF0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.9_1657462715560_0.31386764828180946"},"_hasShrinkwrap":false},"2.0.10":{"name":"@ashthornton/asscroll","version":"2.0.10","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"npx typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^2.2.2"},"browserslist":"last 2 versions and >=1% or safari >13 or last 6 ios_saf versions","gitHead":"46218d78001bdeab32e8818996a96b5bcd93c400","_id":"@ashthornton/asscroll@2.0.10","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-JqkTgxkhKlVN39LbHwaAdxN5UJTIaMcdDn8n1Xq7/2hJ6ggPZnvPGsLHHBTPFoeGbhK/VJD01z2jyEaT81lj6A==","shasum":"9be6b69f30085c04fdbaee7765a552054df91abe","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.10.tgz","fileCount":22,"unpackedSize":137871,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXGW5vIrKgl5gP15991cr5WGDhIOtSIKPxO4mZC43SIwIgTdy9EFW5mKDCdcaMAuY0pZJRQ2tS3X/mYYQNw9CaQOc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyw+DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDeA//ZtxfElRIbyW14fJRkRXTe8n9SDUU9L+hnOeuj5xPHmfEpIdQ\r\nyZotFA57d21VO8PHtf5Lwybq3F8WkEXNO8A6hOGeZok1+heNToZsKct0I045\r\n7EYYOHNkzLuj8DyDnq1eKrHWpAthF0cvh8oA8t4ogmAXwHpo7r5wecO2M87D\r\naPPp5Ah5xMXnzHMwc9c2qb+VS5FN/kg6q1sivD+AgKH/YNpIV9jvFgUJFLry\r\nducxzY9StVTGFNM7BNwqRvuEG8XUCBYA3VKD4tsrmyA+XlTxRhO73U9VyUyi\r\nilDgMUZLYu3q+0VHzXQTCPzBfaqmklxXLezpFEBzYZMHqzNfKhp8+Hkrh+KK\r\n/VE/pf36p08lPqmaTbtJkTwFLPgs5rYj6qjoTCKUlDEOn5u2TOJN+tZoX4VR\r\nn8+Ywo1sQGFeXfyaNChEvPCTC3oP7mVwEoZrJEBTqf9ZUm6gYDzuGlAaWdHi\r\nq82/6QdWMhmuCt2IHuc3eRO6x75D3nRu3Anvp0oj1cU424aIM6rl+JOIBxpz\r\nAvRlTTF4XcAPp2zM7hw5b6lx9vvYjtllX4AcxPCWQRGIEyHyV0hGA7XcwWa1\r\nM2b2K3/dqtZxZuNAU+coiM2ATZNJ6iNz/BARdpp3uUnbcBdCEkcSd6wlCx24\r\n8DX6gzmY+6MGmdZpYnG4HoL9x9+M38tMMbc=\r\n=Zci+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.10_1657474947604_0.63014663744909"},"_hasShrinkwrap":false},"2.0.11":{"name":"@ashthornton/asscroll","version":"2.0.11","description":"Ash's Smooth Scroll","main":"build/asscroll.js","unpkg":"build/asscroll.min.js","types":"types/index.d.ts","scripts":{"start":"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress","production":"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress","postpublish":"git push origin master && git push origin --tags","postversion":"npm publish --access public","preversion":"npm run production && git add -A && git commit -m build","fix":"eslint --fix \"src/**\"","docs":"jsdoc2md src/index.js > README.md --template docs/README.hbs --heading-depth 1 --partial docs/scope.hbs","types":"npx typescript src/index.js --allowJs --declaration --emitDeclarationOnly --outDir types --lib es2015"},"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"author":{"name":"Ash Thornton"},"license":"MIT","bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"homepage":"https://github.com/ashthornton/asscroll#readme","devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","core-js":"^3.11.1","cross-env":"^7.0.2","eslint":"^7.25.0","eslint-config-standard":"^16.0.2","eslint-loader":"^4.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-webpack-plugin":"^2.4.3","jsdoc-to-markdown":"^7.0.1","terser-webpack-plugin":"^5.1.1","webpack":"^5.36.2","webpack-cli":"^4.6.0"},"dependencies":{"@unseenco/e":"^2.2.2"},"browserslist":"last 2 versions and >=1% or safari >13 or last 6 ios_saf versions","gitHead":"024e4eafa9499c51332a278dc01541a26f919efd","_id":"@ashthornton/asscroll@2.0.11","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-X7Z+0aePdxn2WeKTx+sX/U9KNwjRSlY+ZeoGO7ZQy4uKRZ2cSHZi5ho9WiuDAPTPj97Smb2aZ7XC8goR73SmPA==","shasum":"d8f3d6c52244d724bd294fa18075d97dd7689370","tarball":"https://registry.npmjs.org/@ashthornton/asscroll/-/asscroll-2.0.11.tgz","fileCount":22,"unpackedSize":138025,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHHqg3rZSjFIVhVfXF0kVAFhrk+EEoEqR5UqMCWMeM2mAiEAtRnt9vY8xZ3m+9oSJd7TC5AjD9/Ho6NChaMeinBlSeg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyxfYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQsg//anTXrmXm9zSV+pNU6FsXxhd8mb6zTTOtcQYUJRVV3OB/DK5+\r\nP/6XvipjYvduQcKOQqqAEsl/8SEyTTEyDRCutxXpUle78M4QfsD8zGOZS7Or\r\nzOOQhygm4fUOYXdOp/feSEwjemPL7vFQyoK/RAXh3eyEzn9DNFd3vC+CbYmc\r\naeeXEqYQeKzqlXT/9Wgfst0x1aaPf6iI5E6nFDWSZlSoE343jW8i3+OdIT06\r\nZbc4Aa2sn3LRUBpDJ45NnJXRRCE8Aje4sgcKCmUY6u45YDTXn5/8hmY5OgwZ\r\nKuab4lnYz6tKZFZsASmEUmRFKpMomI1yzs64ZEGI05Qjo0NSEAl1RFqL9DPT\r\nKT5zO7neVObmx5JRZ8p/cNz/9ACup3mv/igW/jQfgLsAr8zQIMCRwXkDJCTN\r\njb9ViFJM7cO8JKxmcKRJom2yxI+fqin76vmydlrnizmSBbnpyQd9e387U+FP\r\noSN4BCTLW8GsuXTQ5j93NXkpEwhFj3rm2kLoOUgIUaLACh6X1nEV1Y2lBmDY\r\n6lAOS5Z6fgvwpv3KHbgVgnQAmFsBXGu31bOK6v25Y32+1znCG/30Stf2PBBC\r\nV0CQByG5erxPPMMTUZqJ950I3uiGW29THUes/6CUXf0FSm72J5dVDHghtvHU\r\nAFIwaUBvyj9ajJth5MYXPfZqj+lZKfX584c=\r\n=0Zfy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ashthornton","email":"ashthornton0@gmail.com"},"directories":{},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asscroll_2.0.11_1657477080286_0.4780362198613963"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-20T19:48:28.081Z","1.0.0":"2020-01-20T19:48:28.338Z","modified":"2022-07-10T18:18:00.601Z","1.0.1":"2020-01-20T19:59:51.753Z","1.0.2":"2020-01-20T22:09:58.085Z","1.0.3":"2020-01-20T23:27:52.069Z","1.0.4":"2020-02-04T09:49:29.834Z","1.0.5":"2020-02-05T17:31:02.408Z","1.0.6":"2020-02-11T13:37:52.847Z","1.0.7":"2020-02-11T15:55:01.528Z","1.0.8":"2020-02-11T16:22:36.929Z","1.1.0":"2020-02-11T21:26:31.637Z","1.1.1":"2020-02-12T09:37:54.716Z","1.1.2":"2020-02-12T12:33:36.702Z","1.1.3":"2020-02-13T16:05:13.099Z","1.2.0":"2020-02-14T12:57:38.053Z","1.2.1":"2020-02-14T13:56:49.585Z","1.2.2":"2020-02-21T16:08:10.189Z","1.2.3":"2020-02-27T16:11:40.754Z","1.2.4":"2020-03-26T13:08:06.433Z","1.2.5":"2020-03-26T13:12:42.430Z","1.2.6":"2020-04-04T15:50:31.446Z","1.2.7":"2020-05-24T08:46:59.958Z","1.3.0":"2020-05-24T09:58:31.325Z","1.3.1":"2020-05-24T10:24:14.580Z","1.3.2":"2020-05-24T10:28:20.472Z","1.3.3":"2020-06-01T17:40:33.279Z","1.3.4":"2020-06-01T17:49:33.197Z","1.4.0":"2020-06-17T11:26:33.855Z","1.4.1":"2020-06-18T08:46:35.500Z","1.5.0":"2020-06-24T15:28:02.489Z","1.5.1":"2020-06-24T18:14:54.032Z","1.5.2":"2020-06-24T18:23:23.888Z","1.5.3":"2020-07-07T09:30:38.079Z","1.5.4":"2020-07-07T09:33:12.343Z","1.5.5":"2020-07-07T17:09:21.395Z","1.5.6":"2020-07-07T18:56:03.848Z","1.5.7":"2020-07-14T21:36:26.780Z","1.5.8":"2020-07-14T21:37:01.815Z","1.5.9":"2020-07-16T20:43:06.137Z","1.5.18":"2020-08-12T09:13:53.641Z","1.6.0":"2020-08-18T10:03:44.630Z","1.6.1":"2020-08-18T10:39:02.374Z","1.6.2":"2020-09-06T14:25:34.597Z","1.6.3":"2020-09-08T16:16:45.507Z","1.6.4":"2020-10-05T08:54:41.539Z","1.6.5":"2020-10-08T11:37:24.860Z","1.7.0":"2020-10-17T15:03:48.839Z","1.7.1":"2020-10-18T11:38:29.443Z","1.7.2":"2020-11-17T11:50:35.473Z","1.7.3":"2020-11-18T13:18:39.682Z","1.7.4":"2021-01-21T18:12:07.421Z","1.8.0-beta.0":"2021-02-19T14:37:18.263Z","1.8.0-beta.1":"2021-02-19T14:48:14.281Z","1.7.5":"2021-02-22T23:06:14.933Z","1.7.6":"2021-02-23T21:46:04.424Z","1.7.7":"2021-04-20T20:06:51.928Z","1.7.8":"2021-05-01T13:54:11.666Z","1.7.9":"2021-05-03T08:37:35.109Z","2.0.0-beta.0":"2021-05-03T12:40:33.117Z","2.0.0-beta.1":"2021-05-03T19:44:28.953Z","2.0.0-beta.2":"2021-05-03T19:49:28.230Z","2.0.0-beta.3":"2021-05-03T20:11:36.680Z","2.0.0-beta.4":"2021-05-03T20:42:58.629Z","2.0.0-beta.6":"2021-05-03T21:00:22.029Z","2.0.0-beta.7":"2021-05-03T21:02:08.009Z","2.0.0-beta.8":"2021-05-04T18:50:20.395Z","2.0.0-beta.9":"2021-05-04T21:08:08.716Z","2.0.0-beta.10":"2021-05-05T12:53:33.491Z","2.0.0":"2021-05-06T10:48:04.607Z","2.0.1":"2021-05-06T10:54:57.933Z","2.0.2":"2021-07-21T14:33:13.003Z","2.0.3":"2021-12-01T21:17:49.284Z","2.0.4":"2021-12-01T22:05:45.931Z","2.0.5":"2022-03-18T10:03:50.244Z","2.0.6":"2022-03-23T15:28:12.719Z","2.0.7":"2022-05-10T19:53:28.139Z","2.0.8":"2022-07-10T14:04:56.911Z","2.0.9":"2022-07-10T14:18:35.778Z","2.0.10":"2022-07-10T17:42:27.793Z","2.0.11":"2022-07-10T18:18:00.520Z"},"maintainers":[{"name":"ashthornton","email":"ashthornton0@gmail.com"}],"description":"Ash's Smooth Scroll","homepage":"https://github.com/ashthornton/asscroll#readme","keywords":["smooth","scroll","smooth-scroll","smooth scroll"],"repository":{"type":"git","url":"git+https://github.com/ashthornton/asscroll.git"},"author":{"name":"Ash Thornton"},"bugs":{"url":"https://github.com/ashthornton/asscroll/issues"},"license":"MIT","readme":"<p align=\"center\"><img src=\"https://raw.githubusercontent.com/ashthornton/asscroll/master/docs/banner.jpg\"></p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://www.npmjs.com/package/@ashthornton/asscroll\"><img src=\"https://img.shields.io/npm/v/@ashthornton/asscroll?color=%23F7894A\" alt=\"NPM Version\"></a>\r\n    <img alt=\"npm bundle size\" src=\"https://img.shields.io/bundlephobia/minzip/@ashthornton/asscroll?color=%23F7894A\">\r\n    <a href=\"https://www.jsdelivr.com/package/npm/@ashthornton/asscroll\"><img alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/@ashthornton/asscroll?color=%23F7894A\"></a>\r\n</p>\r\n\r\n<h3 align=\"center\"><strong>ASScroll is a Javascript hybrid smooth scroll setup that combines the<br>performance gains of virtual scroll with the reliability of native scroll.</strong></h3>\r\n\r\n<p align=\"center\" style=\"padding: 0 15%\">This setup aims to be a lightweight solution that provides a consistent smooth scrolling experience across all platforms, devices and hardware.</p>\r\n\r\n---\r\n\r\n#### Advantages over pure virtual scroll:\r\n- Accessible and keyboard friendly (without overriding the browser's native scroll)\r\n- No special cases to cater for when handling manual key detection (i.e. pressing space in a form input)\r\n- Doesn't stop working when hovering over an iframe\r\n- Handles hardware that doesn't fire the 'wheel' event i.e. Windows trackpads in Legacy Edge\r\n- No lag between DOM and WebGL elements on mobile, whilst retaining native inertia scroll\r\n\r\n#### Other Features:\r\n- Horizontal scroll\r\n- Custom scroll bar\r\n- Use your own external RAF loop and resize events\r\n- Consistent lerp speeds on high refresh rate displays\r\n\r\n_No animation features are included as there are other libraries that can be used with ASScroll. GreenSock's [ScrollTrigger](https://greensock.com/scrolltrigger/) is a great example and a demo is included below_\r\n\r\nDemos\r\n================\r\n- [Zero Config Demo](https://codepen.io/ashthornton/pen/pobJRQX?editors=1010)\r\n- [Options Demo](https://codepen.io/ashthornton/pen/YzWXZqL?editors=1010)\r\n- [Using GSAP's ScrollTrigger with ASScroll](https://codepen.io/ashthornton/pen/PoZRwPW)\r\n- [Using PJAX Navigation (Highway) with ASScroll](https://codepen.io/ashthornton/project/editor/AypMLG)\r\n- [Touch-friendly DOM/WebGL Sync](https://codepen.io/ashthornton/pen/YzZzaVK)\r\n\r\n### Sites using ASScroll\r\n- [CLOU Architects](https://www.clouarchitects.com/)\r\n- [Lewa House](https://lewahouse.com/)\r\n- [Eder Anaya](https://ederanaya.me/)\r\n- [FanFan](https://fanfan.fan/)\r\n- [Havoc](https://www.havoc.co/)\r\n- [Shape Studio](https://shapestudio.co.uk/)\r\n\r\nTable of contents\r\n=================\r\n<!--ts-->\r\n   * [Install](#install)\r\n   * [Zero Config Setup](#zero-config-setup)\r\n   * [API](#asscroll)\r\n   * [Custom Scrollbar](#custom-scrollbar)\r\n   * [External RAF Usage](#usage-with-external-requestanimationframe)\r\n   * [External Resize Usage](#usage-with-external-window-resize)\r\n   * [Touch Devices](#touch-devices)\r\n   * [Changelog](#changelog)\r\n<!--te-->\r\n\r\n---\r\n\r\n\r\n# Install\r\n`npm i --save @ashthornton/asscroll` or `yarn add @ashthornton/asscroll`\r\n\r\nAlso available via [JSDelivr CDN](https://www.jsdelivr.com/package/npm/@ashthornton/asscroll) which you can then include with a `<script>` tag.\r\n\r\n# Zero Config Setup\r\n\r\n1. Add the attribute `asscroll-container` to the parent element of the content to be smooth scrolled. By default, the first child found within will be scrolled. Both of these selectors be changed in the options.\r\n\r\n```html\r\n<body>\r\n    <div asscroll-container>\r\n        <div><!-- The Y translation will be applied to this element --></div>\r\n    </div>\r\n</body>\r\n```\r\n\r\n2. Import and initialise in Javascript\r\n\r\n```js\r\nimport ASScroll from '@ashthornton/asscroll'\r\n\r\nconst asscroll = new ASScroll()\r\n\r\nwindow.addEventListener('load', () => {\r\n    asscroll.enable()\r\n})\r\n```\r\n\r\n---\r\n\r\n<a name=\"ASScroll\"></a>\r\n\r\n# ASScroll\r\nAsh's Smooth Scroll 🍑\r\n\r\n\r\n* [ASScroll](#ASScroll)\r\n    * [new ASScroll([parameters])](#new_ASScroll_new)\r\n    * [.targetPos](#ASScroll+targetPos) ⇒ <code>number</code>\r\n    * [.currentPos](#ASScroll+currentPos) ⇒ <code>number</code>\r\n    * [.maxScroll](#ASScroll+maxScroll) ⇒ <code>number</code>\r\n    * [.containerElement](#ASScroll+containerElement) ⇒ <code>HTMLElement</code>\r\n    * [.scrollElements](#ASScroll+scrollElements) ⇒ <code>Array</code>\r\n    * [.isHorizontal](#ASScroll+isHorizontal) ⇒ <code>boolean</code>\r\n    * [.isScrollJacking](#ASScroll+isScrollJacking) ⇒ <code>boolean</code>\r\n    * ~~[.scrollPos](#ASScroll+scrollPos)~~\r\n    * ~~[.smoothScrollPos](#ASScroll+smoothScrollPos)~~\r\n    * [.enable([parameters])](#ASScroll+enable)\r\n    * [.disable([parameters])](#ASScroll+disable)\r\n    * [.update()](#ASScroll+update)\r\n    * [.resize([parameters])](#ASScroll+resize)\r\n    * [.on(eventName, callback)](#ASScroll+on)\r\n    * [.off(eventName, callback)](#ASScroll+off)\r\n    * [.scrollTo(targetPos, [emitEvent])](#ASScroll+scrollTo)\r\n    * ~~[.onRaf()](#ASScroll+onRaf)~~\r\n    * ~~[.onResize()](#ASScroll+onResize)~~\r\n\r\n<a name=\"new_ASScroll_new\"></a>\r\n\r\n## new ASScroll([parameters])\r\nCreates an ASScroll instance\r\n\r\n\r\n| Param | Type | Default | Description |\r\n| --- | --- | --- | --- |\r\n| [parameters] | <code>object</code> |  |  |\r\n| [parameters.containerElement] | <code>string</code> \\| <code>HTMLElement</code> | <code>&quot;[asscroll-container]&quot;</code> | The selector string for the outer container element, or the element itself |\r\n| [parameters.scrollElements] | <code>string</code> \\| <code>HTMLElement</code> \\| <code>NodeList</code> | <code>&quot;[asscroll]&quot;</code> | The selector string for the elements to scroll, or the elements themselves |\r\n| [parameters.ease] | <code>number</code> | <code>0.075</code> | The ease amount for the transform lerp |\r\n| [parameters.touchEase] | <code>number</code> | <code>1</code> | The ease amount for the transform lerp on touch devices |\r\n| [parameters.touchScrollType] | <code>string</code> | <code>&quot;none&quot;</code> | Set the scrolling method on touch devices. Other options are 'transform' and 'scrollTop'. See the [Touch Devices](#touch-devices) section for more info |\r\n| [parameters.lockIOSBrowserUI] | <code>boolean</code> | <code>false</code> | When using an iOS device and touchScrollType is 'transform', this will change the setup to prevent the browser UI from showing/hiding to stop resize events on scroll. |\r\n| [parameters.scrollbarEl] | <code>string</code> | <code>&quot;.asscrollbar&quot;</code> | The selector string for the custom scrollbar element |\r\n| [parameters.scrollbarHandleEl] | <code>string</code> | <code>&quot;.asscrollbar__handle&quot;</code> | The selector string for the custom scrollbar handle element |\r\n| [parameters.customScrollbar] | <code>boolean</code> | <code>true</code> | Toggle the custom scrollbar |\r\n| [parameters.scrollbarStyles] | <code>boolean</code> | <code>true</code> | Include the scrollbar CSS via Javascript |\r\n| [parameters.disableNativeScrollbar] | <code>boolean</code> | <code>true</code> | Disable the native browser scrollbar |\r\n| [parameters.disableRaf] | <code>boolean</code> | <code>false</code> | Disable internal requestAnimationFrame loop in order to use an external one |\r\n| [parameters.disableResize] | <code>boolean</code> | <code>false</code> | Disable internal resize event on the window in order to use an external one |\r\n| [parameters.limitLerpRate] | <code>boolean</code> | <code>true</code> | Match lerp speed on >60Hz displays to that of a 60Hz display |\r\n| [parameters.blockScrollClass] | <code>string</code> | <code>&quot;.asscroll-block&quot;</code> | The class to add to elements that should block ASScroll when hovered |\r\n\r\n<a name=\"ASScroll+targetPos\"></a>\r\n\r\n## asscroll.targetPos ⇒ <code>number</code>\r\nReturns the target scroll position.\r\n\r\n**Returns**: <code>number</code> - Target scroll position  \r\n<a name=\"ASScroll+currentPos\"></a>\r\n\r\n## asscroll.currentPos ⇒ <code>number</code>\r\nGets or sets the current scroll position.\r\n\r\n**Returns**: <code>number</code> - Current scroll position  \r\n\r\n| Param | Type | Description |\r\n| --- | --- | --- |\r\n| scrollPos | <code>number</code> | The desired scroll position |\r\n\r\n**Example** *(Sets the scroll position to 200, bypassing any lerps)*  \r\n```js\r\nasscroll.currentPos = 200\r\n```\r\n<a name=\"ASScroll+maxScroll\"></a>\r\n\r\n## asscroll.maxScroll ⇒ <code>number</code>\r\nReturns the maximum scroll height of the page.\r\n\r\n**Returns**: <code>number</code> - Maxmium scroll height  \r\n<a name=\"ASScroll+containerElement\"></a>\r\n\r\n## asscroll.containerElement ⇒ <code>HTMLElement</code>\r\nReturns the outer element that ASScroll is attached to.\r\n\r\n**Returns**: <code>HTMLElement</code> - The outer element  \r\n<a name=\"ASScroll+scrollElements\"></a>\r\n\r\n## asscroll.scrollElements ⇒ <code>Array</code>\r\nReturns the the element(s) that ASScroll is scrolling.\r\n\r\n**Returns**: <code>Array</code> - An array of elements ASScroll is scrolling  \r\n<a name=\"ASScroll+isHorizontal\"></a>\r\n\r\n## asscroll.isHorizontal ⇒ <code>boolean</code>\r\nReturns whether or not ASScroll is in horizontal scroll mode\r\n\r\n**Returns**: <code>boolean</code> - The status of horizontal scroll  \r\n<a name=\"ASScroll+isScrollJacking\"></a>\r\n\r\n## asscroll.isScrollJacking ⇒ <code>boolean</code>\r\nReturns whether or not ASScroll is actively transforming the page element(s). For example, would return false if running on a touch device and touchScrollType !== 'transform', or if ASScroll was currently disabled via the .disable() method.\r\n\r\n**Returns**: <code>boolean</code> - The status of actively controlling the page scroll  \r\n<a name=\"ASScroll+scrollPos\"></a>\r\n\r\n## ~~asscroll.scrollPos~~\r\n***Deprecated***\r\n\r\n**See**: [targetPos](#ASScroll+targetPos)  \r\n<a name=\"ASScroll+smoothScrollPos\"></a>\r\n\r\n## ~~asscroll.smoothScrollPos~~\r\n***Deprecated***\r\n\r\n**See**: [currentPos](#ASScroll+currentPos)  \r\n<a name=\"ASScroll+enable\"></a>\r\n\r\n## asscroll.enable([parameters])\r\nEnable ASScroll.\r\n\r\n\r\n| Param | Type | Default | Description |\r\n| --- | --- | --- | --- |\r\n| [parameters] | <code>object</code> |  |  |\r\n| [parameters.newScrollElements] | <code>boolean</code> \\| <code>NodeList</code> \\| <code>HTMLElement</code> | <code>false</code> | Specify the new element(s) that should be scrolled |\r\n| [parameters.reset] | <code>boolean</code> | <code>false</code> | Reset the scroll position to 0 |\r\n| [parameters.restore] | <code>boolean</code> | <code>false</code> | Restore the scroll position to where it was when disable() was called |\r\n| [parameters.horizontalScroll] | <code>boolean</code> | <code>false</code> | Toggle horizontal scrolling |\r\n\r\n**Example** *(Enables ASScroll on the &#x27;.page&#x27; element and resets the scroll position to 0)*  \r\n```js\r\nasscroll.enable({ newScrollElements: document.querySelector('.page'), reset: true })\r\n```\r\n**Example** *(Enables ASScroll and restores to the previous position before ASScroll.disable() was called)*  \r\n```js\r\nasscroll.enable({ restore: true })\r\n```\r\n<a name=\"ASScroll+disable\"></a>\r\n\r\n## asscroll.disable([parameters])\r\nDisable ASScroll.\r\n\r\n\r\n| Param | Type | Default | Description |\r\n| --- | --- | --- | --- |\r\n| [parameters] | <code>object</code> |  |  |\r\n| [parameters.inputOnly] | <code>boolean</code> | <code>false</code> | Only disable the ability to manually scroll (still allow transforms) |\r\n\r\n**Example** *(Disables the ability to manually scroll whilst still allowing position updates to be made via asscroll.currentPos, for example)*  \r\n```js\r\nasscroll.disable({ inputOnly: true })\r\n```\r\n<a name=\"ASScroll+update\"></a>\r\n\r\n## asscroll.update()\r\nCall the internal animation frame request callback.\r\n\r\n<a name=\"ASScroll+resize\"></a>\r\n\r\n## asscroll.resize([parameters])\r\nCall the internal resize callback.\r\n\r\n\r\n| Param | Type | Description |\r\n| --- | --- | --- |\r\n| [parameters] | <code>object</code> |  |\r\n| [parameters.width] | <code>number</code> | Window width |\r\n| [parameters.height] | <code>number</code> | Window height |\r\n\r\n<a name=\"ASScroll+on\"></a>\r\n\r\n## asscroll.on(eventName, callback)\r\nAdd an event listener.\r\n\r\n\r\n| Param | Type | Description |\r\n| --- | --- | --- |\r\n| eventName | <code>string</code> | Name of the event you wish to listen for |\r\n| callback | <code>function</code> | Callback function that should be executed when the event fires |\r\n\r\n**Example** *(Logs out the scroll position when the &#x27;scroll&#x27; event is fired)*  \r\n```js\r\nasscroll.on('scroll', scrollPos => console.log(scrollPos))\r\n```\r\n**Example** *(Returns the target scroll position and current scroll position during the internal update loop)*  \r\n```js\r\nasscroll.on('update', ({ targetPos, currentPos }) => console.log(targetPos, currentPos))\r\n```\r\n**Example** *(Fires when the lerped scroll position has reached the target position)*  \r\n```js\r\nasscroll.on('scrollEnd', scrollPos => console.log(scrollPos))\r\n```\r\n<a name=\"ASScroll+off\"></a>\r\n\r\n## asscroll.off(eventName, callback)\r\nRemove an event listener.\r\n\r\n\r\n| Param | Type | Description |\r\n| --- | --- | --- |\r\n| eventName | <code>string</code> | Name of the event |\r\n| callback | <code>function</code> | Callback function |\r\n\r\n<a name=\"ASScroll+scrollTo\"></a>\r\n\r\n## asscroll.scrollTo(targetPos, [emitEvent])\r\nScroll to a given position on the page.\r\n\r\n\r\n| Param | Type | Default | Description |\r\n| --- | --- | --- | --- |\r\n| targetPos | <code>number</code> |  | Target scroll position |\r\n| [emitEvent] | <code>boolean</code> | <code>true</code> | Whether to emit the external scroll events or not |\r\n\r\n<a name=\"ASScroll+onRaf\"></a>\r\n\r\n## ~~asscroll.onRaf()~~\r\n***Deprecated***\r\n\r\n**See**: [update](#ASScroll+update)  \r\n<a name=\"ASScroll+onResize\"></a>\r\n\r\n## ~~asscroll.onResize()~~\r\n***Deprecated***\r\n\r\n**See**: [resize](#ASScroll+resize)  \r\n\r\n---\r\n\r\n## Custom Scrollbar\r\n\r\nWhen `customScrollbar` is enabled in the options, a default set of styles will get added to the page that match the following HTML:\r\n\r\n```HTML\r\n<div class=\"asscrollbar\"><div class=\"asscrollbar__handle\"><div></div></div></div>\r\n```\r\n\r\nThis HTML will get added to your page automatically if you don't add it yourself.\r\n\r\nYou can change the classes that are used by changing the `scrollbarEl` and `scrollbarHandleEl` options.\r\n\r\nYou can use your own styles by setting the `scrollbarStyles` option to false.\r\n\r\n---\r\n\r\n⚠ **Note**: These styles are added via JS so will only be applied after JS has loaded. This may cause the native scrollbar to show for a moment before the styles are added resulting in a jump of the page.\r\n\r\nYou can include the styles necessary to hide the native scrollbar in your CSS by copy and pasting the contents of `/css/index.css` or simply by importing them into your CSS setup. For example:\r\n\r\n```css\r\n@import '~@ashthornton/asscroll/css'\r\n```\r\n\r\n## Usage with external requestAnimationFrame\r\nMultiple requestAnimationFrame loops causes a significant impact on performance, so ASScroll provides the option to disable its internal rAF loop in order for you to update it yourself externally.\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableRaf: true\r\n})\r\n\r\n// Regular RAF loop\r\nrequestAnimationFrame(onRaf)\r\nfunction onRaf() {\r\n    asscroll.update()\r\n    requestAnimationFrame(onRaf)\r\n}\r\n\r\n// Or use with GSAP's internal RAF\r\ngsap.ticker.add(asscroll.update)\r\n```\r\n\r\n## Usage with external window resize\r\nYou may already have a window resize listener in your project where you get the window size for other components. Rather than let ASScroll access these window properties during its internal resize event, which causes extra browser calculations, you can pass your own values.\r\n\r\n```Javascript\r\nconst asscroll = new ASScroll({\r\n    disableResize: true\r\n})\r\n\r\nwindow.addEventListener('resize', () => {\r\n    // trigger other resize logic\r\n    const width = window.innerWidth\r\n    const height = window.innerHeight\r\n    asscroll.resize({ width, height })\r\n})\r\n```\r\n\r\n## Touch Devices\r\n\r\nASScroll provides three options for handling itself on touch devices via the `touchScrollType` option:\r\n- `'none'`: Disabled completely, falling back to native scroll whilst still providing scroll position properties\r\n- `'transform'`: Continue to transform the scroll elements with an ease setting specifically to touch devices\r\n- `'scrollTop'`: Utilise the `scrollTop` value of the container element when used in conjunction with CSS that prevents resizes and browser UI from toggling\r\n\r\nThe `scrollTop` option is primarily used for syncing WebGL content to the scroll position on mobile, without overriding the native inertia scroll. Some CSS will be injected automatically when this option is enabled. This CSS can be found [here](https://github.com/ashthornton/asscroll/blob/master/css/scrollTop.css).\r\n\r\n`touchScrollType: transform` will also achieve DOM and WebGL content sync but is more expensive.\r\n\r\n## Changelog\r\n[View Changelog](https://github.com/ashthornton/asscroll/blob/master/CHANGELOG.md)\r\n\r\n[![Verified on Openbase](https://badges.openbase.com/js/verified/@ashthornton/asscroll.svg?style=openbase&token=WmQF8PcdmBheXMjTKPy59HRexmMzyckLHugup8l88mU=)](https://openbase.com/js/@ashthornton/asscroll?utm_source=embedded&amp;utm_medium=badge&amp;utm_campaign=rate-badge)\r\n","readmeFilename":"README.md"}