All Projects β†’ adenekan41 β†’ aimscroll

adenekan41 / aimscroll

Licence: MIT license
🍹 Painless utility libary to handle scroll positions and methods in react

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to aimscroll

sharyn
🌹 Sharyn – A collection of JavaScript / TypeScript packages that make your life easier and reduce your boilerplate code
Stars: ✭ 30 (+150%)
Mutual labels:  utility, react-hooks
Octotab.crx
βš’ (I'm dead) A super tiny chrome extension making your Github news feed more organized.
Stars: ✭ 17 (+41.67%)
Mutual labels:  utility
resynced
An experimental hook that lets you have multiple components using multiple synced states using no context provider
Stars: ✭ 19 (+58.33%)
Mutual labels:  react-hooks
avrocount
Count records in Avro files efficiently
Stars: ✭ 16 (+33.33%)
Mutual labels:  utility
google-place-autocomplete
πŸ† Best practice with Google Place Autocomplete API onΒ React
Stars: ✭ 68 (+466.67%)
Mutual labels:  react-hooks
JetBrainsRunner
A Krunner Plugin which allows you to open your recent projects
Stars: ✭ 31 (+158.33%)
Mutual labels:  utility
leak
Show info about package releases on PyPI.
Stars: ✭ 15 (+25%)
Mutual labels:  utility
xcursorlocate
cursor location indicator for x11
Stars: ✭ 16 (+33.33%)
Mutual labels:  utility
Windows10Tools
Tools for Windows 10
Stars: ✭ 45 (+275%)
Mutual labels:  utility
cdetect
πŸ”¬ Detect which compiler and compiler version a Linux executable (in the ELF format) was compiled with
Stars: ✭ 23 (+91.67%)
Mutual labels:  utility
i2c-exp-driver
Driver to program I2C based Onion Expansions
Stars: ✭ 33 (+175%)
Mutual labels:  utility
tracked
Header-only C++17 library enables to track object instances with varied policies and gives you to control exceptions on policy rule break.
Stars: ✭ 12 (+0%)
Mutual labels:  utility
react-2048
A React implementation of 2048 game built with typescript and styled-components
Stars: ✭ 66 (+450%)
Mutual labels:  react-hooks
mik
The Move to Islandora Kit is an extensible PHP command-line tool for converting source content and metadata into packages suitable for importing into Islandora (or other digital repository and preservations systems).
Stars: ✭ 32 (+166.67%)
Mutual labels:  utility
fsimilar
find/file similar
Stars: ✭ 13 (+8.33%)
Mutual labels:  utility
gut
🍱 yet another collection of go utilities & tools
Stars: ✭ 24 (+100%)
Mutual labels:  utility
Tasks
Tasks is an application that optimizes computer performance. Tasks improves overall system performance, boot times, and a safer experience while using your computer.
Stars: ✭ 65 (+441.67%)
Mutual labels:  utility
DropPoint
Make drag-and-drop easier using DropPoint. Drag content without having to open side-by-side windows
Stars: ✭ 303 (+2425%)
Mutual labels:  utility
use-app-state
🌏 useAppState() hook. that global version of setState() built on Context.
Stars: ✭ 65 (+441.67%)
Mutual labels:  react-hooks
MovieCards
React App that uses TMDb API to display movie data. Try it out! ->
Stars: ✭ 38 (+216.67%)
Mutual labels:  react-hooks

πŸŒͺ Painless utility to handle scroll positions and methods in react < 1KB



npm

NPM

See Demo On Codesandbox

⚑️Overview

Have you ever tried to add a feature to an element when the users scrolls to a certain extent ? or even tried the popular scroll aesthetic of adding a box-shadow to your navbar when the user scrolls up ?. aimscroll is Painless utility libary to handle scroll positions and methods in React.

πŸ”§ Installation

You can easily install this package with yarn or npm:

$ yarn add aimscroll

or

$ npm install --save aimscroll

✨ Features

  • 😎 Easy to learn
  • πŸ“¦ ~400b (gzipped)
  • πŸ™…β€β™‚οΈ Zero dependencies
  • βœ‚οΈ Super-flexible API
  • βœ… Fully tested and reliable
  • βš’ CommonJS, ESM & browser standalone support

πŸ“– Usage

Its really easy just like you use your popular React hooks. Here is a simple example below

import React from 'react';
import { useAimScroll } from 'aimscroll';

export default function App() {
  const [userScrolledUp] = useAimScroll(10);
  return (
    <div className="App">
      {userScrolledUp && <h2>Tada!! i showed when the user scrolled up</h2>}
    </div>
  );
}

You see!, its really easy check the documentation for an outline of each and every utilites and how to use them properly.

🍷 Documentation

useAimScroll - Demo

returns -- Boolean and function, accepts -- Number

  • scrollStart - at what scroll point you want the function to invoke.
  • scrollEnd - at what point you want the function to unsubscribe.
  • The returned function from useAimScroll is to force update and its advised not to be used. see example below
import React from 'react';
import { useAimScroll } from 'aimscroll';

export default function App() {
  const [userScrolledUp, forceUpdate] = useAimScroll(10, 100); // starts at 10 and ends at 100
  return (
    <div className="App">
      {userScrolledUp && <h2>Tada!! i showed when the user scrolled up</h2>}
    </div>
  );
}

useScrollPosition - Demo

returns -- Object

  • useScrollPosition - checks for the current position of the users window / document on the X and Y axis. see example below
import React from 'react';
import { useScrollPosition } from 'aimscroll';

export default function App() {
  const { x, y } = useScrollPosition();
  return (
    <div className="App">
      <p>
        {x} {/* Returns the current scroll position on X axis */}
      </p>
      <p>
        {y} {/* Returns the current scroll position on Y axis */}
      </p>
    </div>
  );
}

useScrollX - Demo

returns -- Number

  • useScrollX - Returns the scroll position on X axis see file here
import React from 'react';
import { useScrollX } from 'aimscroll';

export default function App() {
  return (
    <div className="App">
      <p>{useScrollX()}</p>{' '}
      {/* Returns the current scroll position on X axis */}
    </div>
  );
}

useScrollY - Demo

returns -- Number

  • useScrollY - Returns the scroll position on Y axis see file here
import React from 'react';
import { useScrollY } from 'aimscroll';

export default function App() {
  return (
    <div className="App">
      <p>{useScrollY()}</p>{' '}
      {/* Returns the current scroll position on Y axis */}
    </div>
  );
}

πŸ€”Thought Process

Aimscroll is built on top of React. I first tried out this concept when i wanted to add custom features to an element at the point the page offests a scroll position, and i came up with aimscroll. Seeing its re-usability and convenience, I decided to convert it to a standalone open-source library for others to benefit from the awesomeness of this package.

🀝 License

MIT Β© codewonders.dev  Β·  GitHub @adenekan41 / codewonders

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].