{"_id":"@anakinyuen/scroll-direction","_rev":"2-8676730306348733420718cba8ae1ded","name":"@anakinyuen/scroll-direction","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@anakinyuen/scroll-direction","version":"1.0.0","description":"","main":"dist/scroll-direction.umd.js","module":"dist/scroll-direction.esm.js","typings":"dist/types/ScrollDirection.d.ts","scripts":{"dev":"gulp watch","build":"gulp","test":"cypress run"},"keywords":["scroll","scroll-direction","EventTarget","Element","data-attributes"],"author":{"name":"Anakin Yuen"},"license":"MIT","devDependencies":{"@babel/core":"^7.8.0","@babel/plugin-transform-runtime":"^7.8.0","@babel/preset-env":"^7.8.0","@typescript-eslint/eslint-plugin":"^2.15.0","@typescript-eslint/parser":"^2.15.0","cypress":"^3.8.2","eslint":"^6.8.0","eslint-config-prettier":"^6.9.0","eslint-plugin-prettier":"^3.1.2","gulp":"^4.0.2","gulp-rename":"^2.0.0","gulp-run":"^1.7.1","gulp-sourcemaps":"^2.6.5","gulp-terser":"^1.2.0","gulp-typescript":"^6.0.0-alpha.1","prettier":"^1.19.1","rollup":"^1.29.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^5.2.0","rollup-plugin-typescript":"^1.0.1","tslib":"^1.10.0","typescript":"^3.7.4"},"dependencies":{"@babel/runtime":"^7.8.0","@babel/runtime-corejs3":"^7.8.0","core-js":"^3.6.3","regenerator-runtime":"^0.13.3"},"gitHead":"9b536905876876ff68bccc1901b33ca540df232d","_id":"@anakinyuen/scroll-direction@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.9.0","_npmUser":{"name":"anakinyuen","email":"anakinyuen1024@gmail.com"},"dist":{"integrity":"sha512-b+NJdTP20PMW0I5UWoAfUKqR3om31u082N5Q9QiBybDGl/51IuUeE/4i4Oj0GTiZjGD6R7jkiK7D5FRn1YC5mg==","shasum":"067164ecd2b34d944db56d2c4032f4aa164ab82d","tarball":"https://registry.npmjs.org/@anakinyuen/scroll-direction/-/scroll-direction-1.0.0.tgz","fileCount":8,"unpackedSize":57771,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIHVpCRA9TVsSAnZWagAAtZ8P/35L2kGI3uYjDRXFnxwk\nOBuB7iSARQTDJF9zA9a7v8lCrUrWiNbVb6Rm4YTG0tzz7HxctnSMw7MAkMxP\nsO9Nx1UcUGNFJ5v7BnFW/XmqKyywd8z8jFym27gpjvlpMMJtGaz6iffHHehW\nlDCHyJ49VZ575SC2lyj3PYmgqo9T7Vr4Wn5Xe0hhqoyofleR3XfMz7BUNYzR\n0EgdAoZyvKYV0s5XaH040CnomD5QG6kB8s60p4J2XksH92lcDCnK3XDQ3lLv\nzXWRX2shaXoX8MXFB4QYLeZ2FLZh0Rox9Seq5TNTx33HqAj2/X/PvPXPU4R2\nKJH4zXoJCqCSZSOtmLwusrlWy00+i6yklIrPdLAFbHEVtpMU+FtljgmHRimS\n98XOtohxot7DMbiCQd8euEISOeViZIIuJNBMf3jgGHzJfdxwclIHPSONEhFX\nCA/7Tq0jRwbf1Bq4gbFxaMy/4aEsq9savXoEIfjmLLkl6WjeEip6+xmB+DMv\nNvoJLlxk73tmijZgCwbXyx4BblsllBv+qw65VHnEg7Ki9vVv1oh/1eXUQRV2\nNDSeVv6upG4pFKdI8hV9Kd6GiTROtf8Tr3dmU9RVEA+PKG2xboPqPV4Q3tqy\nuhmCrnBZVNBFeGazx61jBkK/qkwN/FEB9Q/OXRcT8h7XHwVgECBCBqTmX/GY\nu+et\r\n=nMLa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxtMnqtrOT7+tqyvg1pOQoTjDq2co3hOhx4T8bhT6i8AIhAILY/852moAEFh/y63iThdxu6negapa0uVUVCKzyxQtR"}]},"maintainers":[{"name":"anakinyuen","email":"anakinyuen1024@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/scroll-direction_1.0.0_1579185512712_0.8781391905587272"},"_hasShrinkwrap":false},"1.0.1":{"name":"@anakinyuen/scroll-direction","version":"1.0.1","description":"0 dependency JavaScript library for monitoring scroll direction in the element","main":"dist/scroll-direction.umd.js","module":"dist/scroll-direction.esm.js","typings":"dist/types/ScrollDirection.d.ts","repository":{"type":"git","url":"git+https://github.com/AnakinYuen/scroll-direction.git"},"scripts":{"dev":"gulp watch","build":"gulp","test":"cypress run"},"keywords":["scroll","scroll-direction","EventTarget","Element","data-attributes"],"author":{"name":"Anakin Yuen"},"license":"MIT","devDependencies":{"@babel/core":"^7.8.0","@babel/plugin-transform-runtime":"^7.8.0","@babel/preset-env":"^7.8.0","@typescript-eslint/eslint-plugin":"^2.15.0","@typescript-eslint/parser":"^2.15.0","cypress":"^3.8.2","eslint":"^6.8.0","eslint-config-prettier":"^6.9.0","eslint-plugin-prettier":"^3.1.2","gulp":"^4.0.2","gulp-rename":"^2.0.0","gulp-run":"^1.7.1","gulp-sourcemaps":"^2.6.5","gulp-terser":"^1.2.0","gulp-typescript":"^6.0.0-alpha.1","prettier":"^1.19.1","rollup":"^1.29.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^5.2.0","rollup-plugin-typescript":"^1.0.1","tslib":"^1.10.0","typescript":"^3.7.4"},"dependencies":{"@babel/runtime":"^7.8.0","@babel/runtime-corejs3":"^7.8.0","core-js":"^3.6.3","regenerator-runtime":"^0.13.3"},"gitHead":"2f1ff50410a6505f5952af26a60a2bdb5ef16e18","bugs":{"url":"https://github.com/AnakinYuen/scroll-direction/issues"},"homepage":"https://github.com/AnakinYuen/scroll-direction#readme","_id":"@anakinyuen/scroll-direction@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.9.0","_npmUser":{"name":"anakinyuen","email":"anakinyuen1024@gmail.com"},"dist":{"integrity":"sha512-1W7qgLlc3PVHdgySD55LyWcfZzEZ+y9Tg1hhcngjAD8aPKJeDKefwp3T+glhdtEidWLwFqN1mQSVIV6xZoldNQ==","shasum":"59fc781a6c0bc43089abaeacc995b8b1bd06eeef","tarball":"https://registry.npmjs.org/@anakinyuen/scroll-direction/-/scroll-direction-1.0.1.tgz","fileCount":8,"unpackedSize":62971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIHf3CRA9TVsSAnZWagAA+JsP+gOyVOLqc6qH6FjWHnLu\neJW4MVuQK1yN+81nugO8tXBs2nEOhgNzTnK9onD82bCn89cnLW4ZBo2aC25u\n6jNctW/eTciUK//YrN6hbvp7Vi1ITmW07hM0TGB0zu1w6y1A5qlYe9YzVyl2\n20XSV8zfG7yQU3iQ/i8n05zGkAOacjWiEDOS7uMBV8FrhURTIHPtpQb5kgIZ\nX9zJEWc6/sg30NihuLwGuXX7a58h7V5xPLzhrZ7uE41FtEDw8LtqKYHiOsMQ\n9yxALAkzp8AOm4Dkdvx/StIOKUTF8H7+M/JO+vyaOcTDvkQPOI4sW19KX7m5\npPXtZijBGHi/c6b9reuQZy7tPOTzzDLlv0IYjIXllTVa+G7vE6ZsR9MpMdOV\nXexNHgrv5vPtqZjxHA0Ir3vz3NBY9K3Xc7euWiLHj1ZVzRH76HKJo/Z0sljb\nCde4AJd0/YhKUG9iOjwqxQLF2q+vPvEWdwQdinJUbNZh6A6fqRgChIn9VnIO\nLMKR8yHlbRxsFBvcJjdKZREYwOW1yToD/YRn89YfAd3aq0taRz43U8EFBVaH\nK/GHS7bqss7fF0V3ghk+N1fV6ILkVHxtyNzoCPz7wxbDXNdJ/LAUpPvB/Jfs\nj7eKwbfwN6ktJ+6tc3D5KrHbPJSK+cyVFCJX5tuQ0Bp3yCbKIsjn5LJnMYKh\nUaXW\r\n=KUyd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDzjuep8ndGpiuFyWCyD9/KFIW/pBFrHZpw79tfSfxIFAiB8H1sXAkdslgfjmLbqNTcemVY0HIbP75ZMLbSofV7zgQ=="}]},"maintainers":[{"name":"anakinyuen","email":"anakinyuen1024@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/scroll-direction_1.0.1_1579186167366_0.5419323047703319"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-16T14:38:32.680Z","1.0.0":"2020-01-16T14:38:32.866Z","modified":"2022-04-04T13:53:45.541Z","1.0.1":"2020-01-16T14:49:27.508Z"},"maintainers":[{"name":"anakinyuen","email":"anakinyuen1024@gmail.com"}],"keywords":["scroll","scroll-direction","EventTarget","Element","data-attributes"],"author":{"name":"Anakin Yuen"},"license":"MIT","readme":"<p align=\"center\">\n  <a href=\"https://github.com/AnakinYuen/scroll-direction\"><img src=\"./logo.svg\" alt=\"Scroll Direction Logo\" width=\"500\"></a>\n</p>\n\n# scroll-direction\n\n[![license](https://img.shields.io/npm/l/@anakinyuen/scroll-direction.svg)](https://github.com/AnakinYuen/scroll-direction/blob/master/LICENSE)\n[![npm version](https://img.shields.io/npm/v/@anakinyuen/scroll-direction.svg)](https://www.npmjs.com/package/@anakinyuen/scroll-direction)\n[![npm bundle size](https://img.shields.io/bundlephobia/minzip/@anakinyuen/scroll-direction.svg)]()\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n\n0 dependency JavaScript library for monitoring scroll direction in the element. (Inspired by [scrolldir](https://github.com/dollarshaveclub/scrolldir))\n\n## Key Features\n\n- **no dependency**\n- **minimal size:** weighing `1.9KB` only (`scroll-direction.esm.js`)\n- **noise cancellation:** only changing its direction attribute when scrolled a significant amount\n- **support any DOM element:** any scrollable DOM element can be observed\n- **support event system:** just provide a `Dispatchable` object, `ScrollDirection` will notify when the scroll direction changes\n\n## Installation\n\n### npm\n\n```bash\n$ npm install @anakinyuen/scroll-direction\n```\n\n### Direct include\n\nSimply download and include with a `script` tag.\n\n```html\n<script src=\"dist/scroll-direction.umd.js\"></script>\n```\n\nor\n\n### Using `import` statement\n\nYou may also import `scroll-direction` directly to your source code\n\n```js\nimport ScrollDirection from '@anakinyuen/scroll-direction';\n```\n\n## Usage\n\n### Create `ScrollDirection` instance in ts\n\n```js\nconst scrollDirection = new ScrollDirection();\nscrollDirection.start(); // start listening to scroll event\n```\n\n## Options\n\n### `attribute`\n\nType: `string`\nDefault: `\"data-scroll-direction\"`\n\nAttribute name for storing the scroll direction.\n\n### `direction`\n\nType: `\"up\" | \"down\"`\nDefault: `\"down\"`\n\nInitial value for `data-scroll-direction`.\n\n### `addAttributeTo`\n\nType: `HTMLElement`\nDefault: `document.documentElement`\n\nThe element that `data-scroll-direction` will be added to.\n\n### `element`\n\nType: `HTMLElement`\nDefault: `document.documentElement`\n\nThe element that `ScrollDirection` should observe.\n\n### `thresholdPixels`\n\nType: `number`\nDefault: `64`\n\nThe number of pixels to scroll before re-evaluating the direction\n\n### `historyMaxAge`\n\nType: `number`\nDefault: `512`\n\nThe maximum duration for a record to determine the scroll direction.\n\n### `historyLength`\n\nType: `number`\nDefault: `32`\n\nThe number of records to keep to determine the scroll direction.\n\n### `eventTarget`\n\nType: `{ dispatchEvent: (event: Event) => boolean; }`\n\n[Object that can receive events and may have listeners for them.](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget)\n\n## Compatibility\n\n### For `scroll-direction.umd.js`\n\nThis file is compiled by [Babel](https://github.com/babel/babel) with the following [browserslist](https://github.com/browserslist/browserslist).\n\n```\n>0.2%\nnot dead\nnot op_mini all\n```\n\n| [<img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\" alt=\"IE / Edge\" width=\"24px\" height=\"24px\" />](http://godban.github.io/browsers-support-badges/)<br>IE / Edge | [<img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" />](http://godban.github.io/browsers-support-badges/)<br>Firefox | [<img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" />](http://godban.github.io/browsers-support-badges/)<br>Chrome | [<img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" />](http://godban.github.io/browsers-support-badges/)<br>Safari | [<img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" />](http://godban.github.io/browsers-support-badges/)<br>iOS Safari | [<img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" />](http://godban.github.io/browsers-support-badges/)<br>Samsung | [<img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" />](http://godban.github.io/browsers-support-badges/)<br>Opera |\n| --------- | --------- | --------- | --------- | --------- | --------- | --------- |\n| IE11, Edge| &check; | &check; | &check; | &check; | &check; | &check;\n\n### For `scroll-direction.esm.js`\n\nRequires [ES2015 classes](https://caniuse.com/es6-class) and [ES2015 module](https://caniuse.com/#feat=es6-module). IE11 and below not supported.\n\n## Licensing\n\n[MIT license](https://github.com/AnakinYuen/scroll-direction/blob/master/LICENSE)\n","readmeFilename":"README.md","description":"0 dependency JavaScript library for monitoring scroll direction in the element","homepage":"https://github.com/AnakinYuen/scroll-direction#readme","repository":{"type":"git","url":"git+https://github.com/AnakinYuen/scroll-direction.git"},"bugs":{"url":"https://github.com/AnakinYuen/scroll-direction/issues"}}