@smakss/react-scroll-direction 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -100,4 +100,4 @@ function useDetectScroll(props = {}) {
100
100
  }
101
101
 
102
102
  export { Axis, Direction, useDetectScroll as default };
103
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuLyoqIEVudW1lcmF0aW9uIGZvciBheGlzIHZhbHVlcyAqL1xuZXhwb3J0IGVudW0gQXhpcyB7XG4gIFggPSAneCcsXG4gIFkgPSAneSdcbn1cblxuLyoqIEVudW1lcmF0aW9uIGZvciBkaXJlY3Rpb24gdmFsdWVzICovXG5leHBvcnQgZW51bSBEaXJlY3Rpb24ge1xuICBVcCA9ICd1cCcsXG4gIERvd24gPSAnZG93bicsXG4gIExlZnQgPSAnbGVmdCcsXG4gIFJpZ2h0ID0gJ3JpZ2h0JyxcbiAgU3RpbGwgPSAnc3RpbGwnXG59XG5cbnR5cGUgU2Nyb2xsUG9zaXRpb24gPSB7XG4gIHRvcDogbnVtYmVyO1xuICBib3R0b206IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuICByaWdodDogbnVtYmVyO1xufTtcblxuLyoqIFR5cGUgZGVjbGFyYXRpb24gZm9yIHRoZSByZXR1cm5lZCBzY3JvbGwgaW5mb3JtYXRpb24gKi9cbnR5cGUgU2Nyb2xsSW5mbyA9IHtcbiAgc2Nyb2xsRGlyOiBEaXJlY3Rpb247XG4gIHNjcm9sbFBvc2l0aW9uOiBTY3JvbGxQb3NpdGlvbjtcbn07XG5cbi8qKiBUeXBlIGRlY2xhcmF0aW9uIGZvciBzY3JvbGwgcHJvcGVydGllcyAqL1xudHlwZSBTY3JvbGxQcm9wcyA9IHtcbiAgdGhyPzogbnVtYmVyO1xuICBheGlzPzogQXhpcztcbiAgc2Nyb2xsVXA/OiBEaXJlY3Rpb247XG4gIHNjcm9sbERvd24/OiBEaXJlY3Rpb247XG4gIHN0aWxsPzogRGlyZWN0aW9uO1xufTtcblxuLyoqXG4gKiB1c2VEZXRlY3RTY3JvbGwgaG9vay5cbiAqXG4gKiBUaGlzIGhvb2sgcHJvdmlkZXMgYSBtZWNoYW5pc20gdG8gZGV0ZWN0IHRoZSBzY3JvbGwgZGlyZWN0aW9uIGFuZCBwb3NpdGlvbi5cbiAqIEl0IHdpbGwgcmV0dXJuIHRoZSBzY3JvbGwgZGlyZWN0aW9uIGFzIGEgc3RyaW5nICh1cCwgZG93biwgbGVmdCwgcmlnaHQsIG9yIHN0aWxsKSBiYXNlZCBvbiB1c2VyIHNjcm9sbGluZyxcbiAqIGFzIHdlbGwgYXMgdGhlIHNjcm9sbCBwb3NpdGlvbiBmcm9tIHRoZSB0b3AsIGJvdHRvbSwgbGVmdCwgYW5kIHJpZ2h0IGVkZ2VzIG9mIHRoZSBwYWdlLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogaW1wb3J0IHVzZURldGVjdFNjcm9sbCwgeyBBeGlzLCBEaXJlY3Rpb24gfSBmcm9tICdAc21ha3NzL3JlYWN0LXNjcm9sbC1kaXJlY3Rpb24nO1xuICpcbiAqIGZ1bmN0aW9uIEFwcCgpIHtcbiAqICAgY29uc3QgeyBzY3JvbGxEaXIsIHNjcm9sbFBvc2l0aW9uIH0gPSB1c2VEZXRlY3RTY3JvbGwoe1xuICogICAgIHRocjogMTAwLFxuICogICAgIGF4aXM6IEF4aXMuWSxcbiAqICAgICBzY3JvbGxVcDogRGlyZWN0aW9uLlVwLFxuICogICAgIHNjcm9sbERvd246IERpcmVjdGlvbi5Eb3duLFxuICogICAgIHN0aWxsOiBEaXJlY3Rpb24uU3RpbGxcbiAqICAgfSk7XG4gKlxuICogICByZXR1cm4gKFxuICogICAgIDxkaXY+XG4gKiAgICAgICA8cD5DdXJyZW50IHNjcm9sbCBkaXJlY3Rpb246IHtzY3JvbGxEaXJ9PC9wPlxuICogICAgICAgPHA+U2Nyb2xsIHBvc2l0aW9uIC0gVG9wOiB7c2Nyb2xsUG9zaXRpb24udG9wfSwgQm90dG9tOiB7c2Nyb2xsUG9zaXRpb24uYm90dG9tfSxcbiAqICAgICAgICAgIExlZnQ6IHtzY3JvbGxQb3NpdGlvbi5sZWZ0fSwgUmlnaHQ6IHtzY3JvbGxQb3NpdGlvbi5yaWdodH08L3A+XG4gKiAgICAgPC9kaXY+XG4gKiAgICk7XG4gKiB9XG4gKlxuICogQHBhcmFtIHtTY3JvbGxQcm9wc30gcHJvcHMgLSBUaGUgcHJvcGVydGllcyByZWxhdGVkIHRvIHNjcm9sbGluZy5cbiAqIEByZXR1cm5zIHtTY3JvbGxJbmZvfSAtIFRoZSBjdXJyZW50IGRpcmVjdGlvbiBhbmQgcG9zaXRpb24gb2Ygc2Nyb2xsaW5nLlxuICovXG5mdW5jdGlvbiB1c2VEZXRlY3RTY3JvbGwocHJvcHM6IFNjcm9sbFByb3BzID0ge30pOiBTY3JvbGxJbmZvIHtcbiAgY29uc3Qge1xuICAgIHRociA9IDAsXG4gICAgYXhpcyA9IEF4aXMuWSxcbiAgICBzY3JvbGxVcCA9IGF4aXMgPT09IEF4aXMuWSA/IERpcmVjdGlvbi5VcCA6IERpcmVjdGlvbi5MZWZ0LFxuICAgIHNjcm9sbERvd24gPSBheGlzID09PSBBeGlzLlkgPyBEaXJlY3Rpb24uRG93biA6IERpcmVjdGlvbi5SaWdodCxcbiAgICBzdGlsbCA9IERpcmVjdGlvbi5TdGlsbFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3QgW3Njcm9sbERpciwgc2V0U2Nyb2xsRGlyXSA9IHVzZVN0YXRlPERpcmVjdGlvbj4oc3RpbGwpO1xuICBjb25zdCBbc2Nyb2xsUG9zaXRpb24sIHNldFNjcm9sbFBvc2l0aW9uXSA9IHVzZVN0YXRlPFNjcm9sbFBvc2l0aW9uPih7XG4gICAgdG9wOiAwLFxuICAgIGJvdHRvbTogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHJpZ2h0OiAwXG4gIH0pO1xuXG4gIGNvbnN0IHRocmVzaG9sZCA9IE1hdGgubWF4KDAsIHRocik7XG4gIGxldCB0aWNraW5nID0gZmFsc2U7XG4gIGxldCBsYXN0U2Nyb2xsID0gMDtcblxuICAvKiogRnVuY3Rpb24gdG8gdXBkYXRlIHNjcm9sbCBkaXJlY3Rpb24gKi9cbiAgY29uc3QgdXBkYXRlU2Nyb2xsRGlyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHNjcm9sbCA9IGF4aXMgPT09IEF4aXMuWSA/IHdpbmRvdy5zY3JvbGxZIDogd2luZG93LnNjcm9sbFg7XG5cbiAgICBpZiAoTWF0aC5hYnMoc2Nyb2xsIC0gbGFzdFNjcm9sbCkgPj0gdGhyZXNob2xkKSB7XG4gICAgICBzZXRTY3JvbGxEaXIoc2Nyb2xsID4gbGFzdFNjcm9sbCA/IHNjcm9sbERvd24gOiBzY3JvbGxVcCk7XG4gICAgICBsYXN0U2Nyb2xsID0gTWF0aC5tYXgoMCwgc2Nyb2xsKTtcbiAgICB9XG4gICAgdGlja2luZyA9IGZhbHNlO1xuICB9LCBbYXhpcywgdGhyZXNob2xkLCBzY3JvbGxEb3duLCBzY3JvbGxVcF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLyoqIEZ1bmN0aW9uIHRvIHVwZGF0ZSBzY3JvbGwgcG9zaXRpb24gKi9cbiAgICBjb25zdCB1cGRhdGVTY3JvbGxQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHRvcCA9IHdpbmRvdy5zY3JvbGxZO1xuICAgICAgY29uc3QgbGVmdCA9IHdpbmRvdy5zY3JvbGxYO1xuICAgICAgY29uc3QgYm90dG9tID1cbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCAtIHdpbmRvdy5pbm5lckhlaWdodCAtIHRvcDtcbiAgICAgIGNvbnN0IHJpZ2h0ID1cbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFdpZHRoIC0gd2luZG93LmlubmVyV2lkdGggLSBsZWZ0O1xuXG4gICAgICBzZXRTY3JvbGxQb3NpdGlvbih7IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodCB9KTtcbiAgICB9O1xuXG4gICAgLyoqIENhbGwgdGhlIHVwZGF0ZSBmdW5jdGlvbiB3aGVuIHRoZSBjb21wb25lbnQgbW91bnRzICovXG4gICAgdXBkYXRlU2Nyb2xsUG9zaXRpb24oKTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB1cGRhdGVTY3JvbGxQb3NpdGlvbik7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHVwZGF0ZVNjcm9sbFBvc2l0aW9uKTtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsYXN0U2Nyb2xsID0gYXhpcyA9PT0gQXhpcy5ZID8gd2luZG93LnNjcm9sbFkgOiB3aW5kb3cuc2Nyb2xsWDtcblxuICAgIC8qKiBGdW5jdGlvbiB0byBoYW5kbGUgb25TY3JvbGwgZXZlbnQgKi9cbiAgICBjb25zdCBvblNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghdGlja2luZykge1xuICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHVwZGF0ZVNjcm9sbERpcik7XG4gICAgICAgIHRpY2tpbmcgPSB0cnVlO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwpO1xuXG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbCk7XG4gIH0sIFt1cGRhdGVTY3JvbGxEaXJdKTtcblxuICByZXR1cm4geyBzY3JvbGxEaXIsIHNjcm9sbFBvc2l0aW9uIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZURldGVjdFNjcm9sbDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBO0lBQ1ksS0FHWDtBQUhELENBQUEsVUFBWSxJQUFJLEVBQUE7QUFDZCxJQUFBLElBQUEsQ0FBQSxHQUFBLENBQUEsR0FBQSxHQUFPLENBQUE7QUFDUCxJQUFBLElBQUEsQ0FBQSxHQUFBLENBQUEsR0FBQSxHQUFPLENBQUE7QUFDVCxDQUFDLEVBSFcsSUFBSSxLQUFKLElBQUksR0FHZixFQUFBLENBQUEsQ0FBQSxDQUFBO0FBRUQ7SUFDWSxVQU1YO0FBTkQsQ0FBQSxVQUFZLFNBQVMsRUFBQTtBQUNuQixJQUFBLFNBQUEsQ0FBQSxJQUFBLENBQUEsR0FBQSxJQUFTLENBQUE7QUFDVCxJQUFBLFNBQUEsQ0FBQSxNQUFBLENBQUEsR0FBQSxNQUFhLENBQUE7QUFDYixJQUFBLFNBQUEsQ0FBQSxNQUFB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
103
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { useState, useEffect, useCallback } from 'react';\n\n/** Enumeration for axis values */\nexport enum Axis {\n X = 'x',\n Y = 'y'\n}\n\n/** Enumeration for direction values */\nexport enum Direction {\n Up = 'up',\n Down = 'down',\n Left = 'left',\n Right = 'right',\n Still = 'still'\n}\n\ntype ScrollPosition = {\n top: number;\n bottom: number;\n left: number;\n right: number;\n};\n\n/** Type declaration for the returned scroll information */\ntype ScrollInfo = {\n scrollDir: Direction;\n scrollPosition: ScrollPosition;\n};\n\n/** Type declaration for scroll properties */\ntype ScrollProps = {\n thr?: number;\n axis?: Axis;\n scrollUp?: Direction;\n scrollDown?: Direction;\n still?: Direction;\n};\n\n/**\n * useDetectScroll hook.\n *\n * This hook provides a mechanism to detect the scroll direction and position.\n * It will return the scroll direction as a string (up, down, left, right, or still) based on user scrolling,\n * as well as the scroll position from the top, bottom, left, and right edges of the page.\n *\n * @example\n *\n * import useDetectScroll, { Axis, Direction } from '@smakss/react-scroll-direction';\n *\n * function App() {\n * const { scrollDir, scrollPosition } = useDetectScroll({\n * thr: 100,\n * axis: Axis.Y,\n * scrollUp: Direction.Up,\n * scrollDown: Direction.Down,\n * still: Direction.Still\n * });\n *\n * return (\n * <div>\n * <p>Current scroll direction: {scrollDir}</p>\n * <p>Scroll position - Top: {scrollPosition.top}, Bottom: {scrollPosition.bottom},\n * Left: {scrollPosition.left}, Right: {scrollPosition.right}</p>\n * </div>\n * );\n * }\n *\n * @param {ScrollProps} props - The properties related to scrolling.\n * @returns {ScrollInfo} - The current direction and position of scrolling.\n */\nfunction useDetectScroll(props: ScrollProps = {}): ScrollInfo {\n const {\n thr = 0,\n axis = Axis.Y,\n scrollUp = axis === Axis.Y ? Direction.Up : Direction.Left,\n scrollDown = axis === Axis.Y ? Direction.Down : Direction.Right,\n still = Direction.Still\n } = props;\n\n const [scrollDir, setScrollDir] = useState<Direction>(still);\n const [scrollPosition, setScrollPosition] = useState<ScrollPosition>({\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n });\n\n const threshold = Math.max(0, thr);\n let ticking = false;\n let lastScroll = 0;\n\n /** Function to update scroll direction */\n const updateScrollDir = useCallback(() => {\n const scroll = axis === Axis.Y ? window.scrollY : window.scrollX;\n\n if (Math.abs(scroll - lastScroll) >= threshold) {\n setScrollDir(scroll > lastScroll ? scrollDown : scrollUp);\n lastScroll = Math.max(0, scroll);\n }\n ticking = false;\n }, [axis, threshold, scrollDown, scrollUp]);\n\n useEffect(() => {\n /** Function to update scroll position */\n const updateScrollPosition = () => {\n const top = window.scrollY;\n const left = window.scrollX;\n const bottom =\n document.documentElement.scrollHeight - window.innerHeight - top;\n const right =\n document.documentElement.scrollWidth - window.innerWidth - left;\n\n setScrollPosition({ top, bottom, left, right });\n };\n\n /** Call the update function when the component mounts */\n updateScrollPosition();\n\n window.addEventListener('scroll', updateScrollPosition);\n\n return () => {\n window.removeEventListener('scroll', updateScrollPosition);\n };\n }, []);\n\n useEffect(() => {\n lastScroll = axis === Axis.Y ? window.scrollY : window.scrollX;\n\n /** Function to handle onScroll event */\n const onScroll = () => {\n if (!ticking) {\n window.requestAnimationFrame(updateScrollDir);\n ticking = true;\n }\n };\n\n window.addEventListener('scroll', onScroll);\n\n return () => window.removeEventListener('scroll', onScroll);\n }, [updateScrollDir]);\n\n return { scrollDir, scrollPosition };\n}\n\nexport default useDetectScroll;\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -77,5 +77,6 @@
77
77
  "typecheck": "tsc -b ."
78
78
  },
79
79
  "type": "module",
80
- "version": "4.0.1"
80
+ "types": "./dist/index.d.ts",
81
+ "version": "4.0.3"
81
82
  }