1.0.3 • Published 7 months ago

cursor-styles v1.0.3

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
7 months ago

CursorStyles

Version

A simple npm package for React that offers smooth, customizable cursors.

Project Logo

NPM Downloads Stars

Installation

You can install cursor-styles using npm:

npm install cursor-styles

Cursor Styles

As cursor-styles expands, you can easily switch between different cursor styles. The current options are:

Cursor StyleImport CodeDemo Button
SimpleCursorimport { SimpleCursor } from "cursor-styles";View Demo
FluidCursorimport { FluidCursor } from "cursor-styles";View Demo
PieCursorimport { PieCursor } from "cursor-styles";View Demo
ElasticCursorimport { ElasticCursor } from "cursor-styles";View Demo
DonutCursorimport { DonutCursor } from "cursor-styles";View Demo
CustomPngCursorimport { CustomPngCursor } from "cursor-styles";View Demo

Basic Usage

To use the cursors from the library, follow these steps:

  1. Import the Component: In your main file (e.g., App.js or index.js), add the following imports:
import { SimpleCursor } from "cursor-styles"; // or FluidCursor
import "cursor-styles/dist/style.css";
  1. Add the Cursor Component: Place the desired cursor component in your render method:
<SimpleCursor />
// or
<FluidCursor />

Customization

You can customize the cursor's appearance using the following attributes:

AttributeDescriptionDefault Value
sizeSet the size of the cursor30
colorChange the cursor colorblack
opacityAdjust the cursor's opacity1
borderSet the cursor's border using CSS syntaxnone
TransitionTimeSet the cursor's transition time using number values in seconds0.2
InnerBorderColorSet the color (its for only pie cursor)black
Iconpass the icon url or location path for CustomPngCursor (only for CustomPngCursor )"https://i.ibb.co.com/ts3cf3j/Untitled-design.png"
hideDefaultCursorSet true to hide default cursor or false to show default cursortrue

Example

Here’s an example of how to use the SimpleCursor with a custom styling:

import React from "react";
import { SimpleCursor } from "cursor-styles";
import "cursor-styles/dist/style.css";

const App = () => {
  return (
    <div>
      <SimpleCursor
        size={30} ~*control the cursor overall size*~
        color="red" ~*control or change the bg-color of the cursor*~
        opacity={0.5} ~*control the opacity of the cursor keep value from (0-1)*~
        border="1px dotted blue" ~*border styling and adding*~
        TransitionTime={0.5} ~*control the transition time of cursor overall animation*~
        hideDefaultCursor={false} ~*false means the default cursor will show*~
      />
      {/* Your other components */}
    </div>
  );
};

export default App;

Changing Cursor Types

To change the cursor type in the future, simply import the desired cursor component:

import { [NewCursorStyle] } from "cursor-styles";

Then use it in your component:

<NewCursorStyle
  size={30}
  color="red"
  opacity={1}
  border="1px solid green"
  TransitionTime={0.5}
  hideDefaultCursor={false}
/>

Example of Changing Type

For instance, if a new cursor Type called SparkleCursor is added:

import { SparkleCursor } from "cursor-styles";

const App = () => {
  return (
    <div>
      <SparkleCursor
        size={30}
        color="red"
        opacity={1}
        border="1px solid green"
        TransitionTime={0.5}
        hideDefaultCursor={false}
      />
      {/* Your other components */}
    </div>
  );
};

Conclusion

cursor-styles provides an easy way to implement customizable cursors in your React applications. Enjoy smooth, interactive cursors that enhance user experience!

Contributions

If you want to contribute to this project, fork the repository and clone it to your local machine. Commit your changes and push your changes to your forked repository. Finally, open a pull request with a detailed description of your changes to the dev branch.I highly appreciate any contributions.

Issues

If you are facing any problem, feel free to share here.

Changelog

### [1.0.3] - 2024-11-20

- First Stable Release.

### [Unreleased]

- Features and improvements are being developed.

This version starts with the most recent changes and works backward to the initial release. Let me know if you need further adjustments!

Contact Me

Gmail WhatsApp LinkedinFaceBookTelegram

Todo

  • Add method to control transition time.
  • Add Pie cursor style.
  • Add attribute to hide default cursor.
  • Add magic color effect on cursor move.
  • Add click style effect on cursor click.
  • Add Emoji cursor style-> use CustomPngCursor and pass emoji
  • Add Fire cursor style.
  • Add Custom cursor style.
  • Add Elastic cursor style.
  • Add click effect for Elastic cursor style.
  • Add Bubble effect while cursor moving.
  • Add Neon cursor style.
  • Add Ripple effect cursor moving.
  • Add Snake effect cursor moving.
  • Add Donut Cursor Style.
  • Add click event scale up and opacity reduce

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for more details.

License