|
| 1 | +import React, { useEffect, useRef } from 'react'; |
| 2 | +import { useScrollDirection } from '../src/useScrollDirection'; |
| 3 | + |
| 4 | +export default { |
| 5 | + title: 'Basic usage X axis', |
| 6 | + component: useScrollDirection, |
| 7 | +}; |
| 8 | + |
| 9 | +export const WindowObject = () => { |
| 10 | + const scrollDirection = useScrollDirection(); |
| 11 | + |
| 12 | + useEffect(() => { |
| 13 | + console.log(scrollDirection); |
| 14 | + }, [scrollDirection]); |
| 15 | + |
| 16 | + return ( |
| 17 | + <div style={{ width: '2000px' }}> |
| 18 | + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam et felis |
| 19 | + maximus magna placerat pellentesque. Aliquam eu tristique libero. Quisque |
| 20 | + aliquet dui neque, a lobortis mi posuere quis. In id purus et nisl |
| 21 | + ultrices bibendum quis a mi. Quisque sit amet justo erat. Cras condimentum |
| 22 | + pretium odio vitae interdum. Vestibulum sed felis iaculis, volutpat lacus |
| 23 | + sit amet, eleifend ex. Donec neque magna, rutrum quis scelerisque sit |
| 24 | + amet, maximus a tortor. Aenean a risus facilisis, facilisis nisl ut, |
| 25 | + luctus turpis. Curabitur laoreet gravida congue. Integer condimentum augue |
| 26 | + eu ante lobortis semper. Donec non odio eget justo sagittis fermentum a |
| 27 | + non nisl. Fusce ac orci massa. Ut egestas fringilla convallis. Nam non |
| 28 | + lorem lacinia, tincidunt eros efficitur, iaculis leo. Sed purus diam, |
| 29 | + interdum ac egestas vitae, pulvinar et ante. Nunc laoreet elementum urna |
| 30 | + ut luctus. Donec id purus sapien. Phasellus iaculis ipsum sapien, non |
| 31 | + ullamcorper mauris ultrices ac. Fusce sit amet semper dui. Sed aliquam, |
| 32 | + sem nec auctor eleifend, risus ante vehicula leo, mattis maximus massa |
| 33 | + ipsum quis leo. Vestibulum euismod cursus sapien in semper. Donec et purus |
| 34 | + sollicitudin, sagittis leo eu, feugiat sem. Curabitur euismod mi vel est |
| 35 | + pulvinar lobortis. Phasellus molestie nisl nec tincidunt suscipit. Mauris |
| 36 | + vitae iaculis urna. Sed viverra bibendum justo, at pulvinar sapien |
| 37 | + tincidunt at. Cras in tellus ligula. Aenean sed sem efficitur, aliquam |
| 38 | + turpis et, maximus neque. Phasellus imperdiet tortor odio, et porttitor |
| 39 | + orci porttitor nec. Curabitur sit amet risus ut metus imperdiet semper. |
| 40 | + Sed ornare, nulla ut suscipit feugiat, dolor libero aliquam ex, eu |
| 41 | + fringilla diam sapien sed diam. Vestibulum sed orci nec dolor semper |
| 42 | + varius. Maecenas vulputate gravida lacus quis rutrum. Donec magna lorem, |
| 43 | + efficitur nec euismod id, pharetra a neque. Donec vel erat sed libero |
| 44 | + cursus feugiat vel ut purus. Nunc luctus turpis et justo convallis |
| 45 | + viverra. Vestibulum id efficitur turpis. Orci varius natoque penatibus et |
| 46 | + magnis dis parturient montes, nascetur ridiculus mus. Nullam eu |
| 47 | + condimentum risus. Vestibulum posuere feugiat massa, quis lacinia turpis |
| 48 | + posuere at. Sed commodo congue diam, a venenatis nulla lacinia eu. Nam |
| 49 | + orci risus, imperdiet luctus massa et, fermentum accumsan erat. |
| 50 | + Suspendisse sagittis tempus risus vel condimentum. Praesent neque tellus, |
| 51 | + rutrum non lobortis lobortis, porta sit amet dolor. Lorem ipsum dolor sit |
| 52 | + amet, consectetur adipiscing elit. Nam et felis maximus magna placerat |
| 53 | + pellentesque. Aliquam eu tristique libero. Quisque aliquet dui neque, a |
| 54 | + lobortis mi posuere quis. In id purus et nisl ultrices bibendum quis a mi. |
| 55 | + Quisque sit amet justo erat. Cras condimentum pretium odio vitae interdum. |
| 56 | + Vestibulum sed felis iaculis, volutpat lacus sit amet, eleifend ex. Donec |
| 57 | + neque magna, rutrum quis scelerisque sit amet, maximus a tortor. Aenean a |
| 58 | + risus facilisis, facilisis nisl ut, luctus turpis. Curabitur laoreet |
| 59 | + gravida congue. Integer condimentum augue eu ante lobortis semper. Donec |
| 60 | + non odio eget justo sagittis fermentum a non nisl. Fusce ac orci massa. Ut |
| 61 | + egestas fringilla convallis. Nam non lorem lacinia, tincidunt eros |
| 62 | + efficitur, iaculis leo. Sed purus diam, interdum ac egestas vitae, |
| 63 | + pulvinar et ante. Nunc laoreet elementum urna ut luctus. Donec id purus |
| 64 | + sapien. Phasellus iaculis ipsum sapien, non ullamcorper mauris ultrices |
| 65 | + ac. Fusce sit amet semper dui. Sed aliquam, sem nec auctor eleifend, risus |
| 66 | + ante vehicula leo, mattis maximus massa ipsum quis leo. Vestibulum euismod |
| 67 | + cursus sapien in semper. Donec et purus sollicitudin, sagittis leo eu, |
| 68 | + feugiat sem. Curabitur euismod mi vel est pulvinar lobortis. Phasellus |
| 69 | + molestie nisl nec tincidunt suscipit. |
| 70 | + </div> |
| 71 | + ); |
| 72 | +}; |
| 73 | + |
| 74 | +WindowObject.story = { |
| 75 | + name: 'On window object', |
| 76 | +}; |
| 77 | + |
| 78 | +export const RefObject = () => { |
| 79 | + const containerRef = useRef(null); |
| 80 | + const scrollDirection = useScrollDirection({ ref: containerRef }); |
| 81 | + |
| 82 | + useEffect(() => { |
| 83 | + console.log(scrollDirection); |
| 84 | + }, [scrollDirection]); |
| 85 | + |
| 86 | + return ( |
| 87 | + <div |
| 88 | + ref={containerRef} |
| 89 | + style={{ |
| 90 | + width: '100%', |
| 91 | + height: '200px', |
| 92 | + overflowX: 'auto', |
| 93 | + whiteSpace: 'nowrap', |
| 94 | + }} |
| 95 | + > |
| 96 | + <div> |
| 97 | + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam et felis |
| 98 | + maximus magna placerat pellentesque. Aliquam eu tristique libero. |
| 99 | + Quisque aliquet dui neque, a lobortis mi posuere quis. In id purus et |
| 100 | + nisl ultrices bibendum quis a mi. Quisque sit amet justo erat. Cras |
| 101 | + condimentum pretium odio vitae interdum. Vestibulum sed felis iaculis, |
| 102 | + volutpat lacus sit amet, eleifend ex. Donec neque magna, rutrum quis |
| 103 | + scelerisque sit amet, maximus a tortor. Aenean a risus facilisis, |
| 104 | + facilisis nisl ut, luctus turpis. Curabitur laoreet gravida congue. |
| 105 | + Integer condimentum augue eu ante lobortis semper. Donec non odio eget |
| 106 | + justo sagittis fermentum a non nisl. Fusce ac orci massa. Ut egestas |
| 107 | + fringilla convallis. Nam non lorem lacinia, tincidunt eros efficitur, |
| 108 | + iaculis leo. Sed purus diam, interdum ac egestas vitae, pulvinar et |
| 109 | + ante. Nunc laoreet elementum urna ut luctus. Donec id purus sapien. |
| 110 | + Phasellus iaculis ipsum sapien, non ullamcorper mauris ultrices ac. |
| 111 | + Fusce sit amet semper dui. Sed aliquam, sem nec auctor eleifend, risus |
| 112 | + ante vehicula leo, mattis maximus massa ipsum quis leo. Vestibulum |
| 113 | + euismod cursus sapien in semper. Donec et purus sollicitudin, sagittis |
| 114 | + leo eu, feugiat sem. Curabitur euismod mi vel est pulvinar lobortis. |
| 115 | + Phasellus molestie nisl nec tincidunt suscipit. Mauris vitae iaculis |
| 116 | + urna. Sed viverra bibendum justo, at pulvinar sapien tincidunt at. Cras |
| 117 | + in tellus ligula. Aenean sed sem efficitur, aliquam turpis et, maximus |
| 118 | + neque. Phasellus imperdiet tortor odio, et porttitor orci porttitor nec. |
| 119 | + Curabitur sit amet risus ut metus imperdiet semper. Sed ornare, nulla ut |
| 120 | + suscipit feugiat, dolor libero aliquam ex, eu fringilla diam sapien sed |
| 121 | + diam. Vestibulum sed orci nec dolor semper varius. Maecenas vulputate |
| 122 | + gravida lacus quis rutrum. Donec magna lorem, efficitur nec euismod id, |
| 123 | + pharetra a neque. Donec vel erat sed libero cursus feugiat vel ut purus. |
| 124 | + Nunc luctus turpis et justo convallis viverra. Vestibulum id efficitur |
| 125 | + turpis. Orci varius natoque penatibus et magnis dis parturient montes, |
| 126 | + nascetur ridiculus mus. Nullam eu condimentum risus. Vestibulum posuere |
| 127 | + feugiat massa, quis lacinia turpis posuere at. Sed commodo congue diam, |
| 128 | + a venenatis nulla lacinia eu. Nam orci risus, imperdiet luctus massa et, |
| 129 | + fermentum accumsan erat. Suspendisse sagittis tempus risus vel |
| 130 | + condimentum. Praesent neque tellus, rutrum non lobortis lobortis, porta |
| 131 | + sit amet dolor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. |
| 132 | + Nam et felis maximus magna placerat pellentesque. Aliquam eu tristique |
| 133 | + libero. Quisque aliquet dui neque, a lobortis mi posuere quis. In id |
| 134 | + purus et nisl ultrices bibendum quis a mi. Quisque sit amet justo erat. |
| 135 | + Cras condimentum pretium odio vitae interdum. Vestibulum sed felis |
| 136 | + iaculis, volutpat lacus sit amet, eleifend ex. Donec neque magna, rutrum |
| 137 | + quis scelerisque sit amet, maximus a tortor. Aenean a risus facilisis, |
| 138 | + facilisis nisl ut, luctus turpis. Curabitur laoreet gravida congue. |
| 139 | + Integer condimentum augue eu ante lobortis semper. Donec non odio eget |
| 140 | + justo sagittis fermentum a non nisl. Fusce ac orci massa. Ut egestas |
| 141 | + fringilla convallis. Nam non lorem lacinia, tincidunt eros efficitur, |
| 142 | + iaculis leo. Sed purus diam, interdum ac egestas vitae, pulvinar et |
| 143 | + ante. Nunc laoreet elementum urna ut luctus. Donec id purus sapien. |
| 144 | + Phasellus iaculis ipsum sapien, non ullamcorper mauris ultrices ac. |
| 145 | + Fusce sit amet semper dui. Sed aliquam, sem nec auctor eleifend, risus |
| 146 | + ante vehicula leo, mattis maximus massa ipsum quis leo. Vestibulum |
| 147 | + euismod cursus sapien in semper. Donec et purus sollicitudin, sagittis |
| 148 | + leo eu, feugiat sem. Curabitur euismod mi vel est pulvinar lobortis. |
| 149 | + Phasellus molestie nisl nec tincidunt suscipit. |
| 150 | + </div> |
| 151 | + </div> |
| 152 | + ); |
| 153 | +}; |
| 154 | + |
| 155 | +RefObject.story = { |
| 156 | + name: 'On ref object', |
| 157 | +}; |
0 commit comments