Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/etesam913/react-mouse-blur

🖱️ A npm package that allows the user to easily implement motion blur on their mouse cursor.
https://github.com/etesam913/react-mouse-blur

blur cursor framer-motion motion react

Last synced: 4 months ago
JSON representation

🖱️ A npm package that allows the user to easily implement motion blur on their mouse cursor.

Awesome Lists containing this project

README

        

React-Mouse-Blur 🖱️


A npm package that provides a quick and easy implementation for cursor motion blur

## 📹 Video

https://www.youtube.com/watch?v=g322U64oSlI

## 📦 Installation

```bash
# with npm
npm install react-mouse-blur

# with yarn
yarn add react-mouse-blur
```

## :hammer: Usage

```jsx

import React, { useRef } from 'react';
import CursorBlur from 'react-mouse-blur';
import './App.css';
import cursor from './autocursor.png';

function App() {
const intensity1 = useRef(null);
const intensity2 = useRef(null);
const intensity3 = useRef(null);
const intensity4 = useRef(null);
const transparencyOff = useRef(null);

return (







Cursor Blur Intensity 1

Cursor Blur Intensity 2

Cursor Blur Intensity 3

Cursor Blur Intensity 4

Cursor Blur No Transparency

No Cursor Blur



);
}

export default App;

```

The intensity prop accepts an int and has levels 1, 2, 3, 4. It determines how powerful the motion blur should be.

The transparency prop accepts a boolean determines if the opacity of the trailing cursor changes.

The image prop determines the image of the trailing cursor.

The canvas prop accepts a ref and determines the area over which the motion blur should occur.

## Tips

* Always make sure that the CursorBlur component is above the canvas component that you are using.
* This is seen in the usage example above.

* For the main cursor image and the CursorBlur image to match, you have to set the cursor to be the same as the img prop. This can be done in index.css.
* index.css

```css
body {
cursor: url("./autocursor.png"), auto;
}
```
* If you set the transparency prop to false, then there is no need to set an intensity.
* This is the case as opacity is not changing.