npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@typewavejs/react

v0.2.0

Published

<h1 align="center"> TypeWave JS React </h1>

Downloads

103

Readme

Introduction

The TypeWave JS library is a versatile and advanced tool designed for creating interactive typing animations within React applications. With its support for a broad spectrum of animation events, TypeWave JS enables developers to craft everything from simple typing effects to complex animated sequences. This includes controlling typing speed, cursor movements, text deletions, pauses within sequences, continuous loops, and dynamic configuration changes during an animation. Additionally, its ability to handle React elements instead of just strings allows for rich, dynamic content integration, making it an ideal choice for any animation scenario in modern web applications.

Features

  • Dynamic Typing: Simulates typing with adjustable speed, cursor movements, and deletions.
  • Customizable Cursor: Options to show or hide the cursor and customize its character.
  • Event Control: Manipulates typing behavior through a structured event system.
  • Animation Control: Offers fine control over each stage of the animation, including pauses and loops.
  • Versatility: Accepts React elements as inputs, allowing for a wide range of use cases.

Installation

To integrate the TypeWave JS library into your project, install it as follows:

npm install @typewavejs/react

How To Use

Here is an example demonstrating how to use the TypeWave JS library:

import { TypeWave } from 'TypeWaveJS';

<TypeWaveJS
  play={true}
  events={[
    {
      type: 'type', 
      value: 'Hello, world!'
    }
  ]}
  showCursor={true}
  cursorCharacter="|"
  typeSpeed={100}
  moveSpeed={100}
  deleteSpeed={100}
  onEvent={(event, index) => console.log(`Event ${index}:`, event)}
/>

Documentation

Props Overview

The TypeWave JS library offers a robust set of properties (props) that allow developers to customize and control the behavior of typing animations within their React applications:

| Prop | Type | Default | Description | | ------------------- | ------------- | -------- | -------------------------------------------------------------------------------------------- | | play | boolean | true | Controls whether the animation should play automatically. | | events | array | Required | An array of event objects that dictate the sequence and type of animations performed. | | component | elementType | span | Specifies the type of React component or HTML element that should wrap the animated content. | | showCursor | boolean | true | Determines whether to show a blinking cursor during the typing animation. | | cursorCharacter | string | \| | The character used to represent the cursor. | | typeSpeed | number | 250 | The speed in milliseconds at which typing occurs. | | moveSpeed | number | 250 | The speed in milliseconds at which the cursor moves. | | deleteSpeed | number | 250 | The speed in milliseconds at which characters are deleted during the animation. | | onEvent | func | null | A callback function that is executed after each event is processed. |

Event Configuration

Events in TypeWave JS are defined as objects within the events array prop, each detailing specific actions in the animation sequence. The structure of these events allows for a wide variety of animations:

  • type (string): Describes the animation event type with supported values such as type, move, delete, pause, loop, and options. Each type dictates the behavior of the animation:
    • type: Inserts the specified content (text or React elements) at the current cursor position.
    • move: Shifts the cursor a specified number of positions.
    • delete: Removes content starting from the current cursor position.
    • pause: Halts the animation for a specified duration.
    • loop: Repeats the animation sequence from the start.
    • options: Dynamically changes settings such as cursor character and typing speed during the animation.
  • value (any): The value associated with the event, which varies based on the event type (e.g., text/element for type, number of positions for move).
  • delay (number): Optional delay before the event starts, useful for timing adjustments between events.
  • instant (boolean): When set to true, the event is executed immediately without any animated delay.
  • remove (boolean): When set to true, the event is removed from the animation queue once executed.

These event configurations enable precise control over each aspect of the typing animation, allowing developers to create complex and visually engaging interactions.

Author

Diogo Marques Crava

Feel free to contact me through any of the above platforms!

License

TypeWave JS is released under the MIT license. Feel free to use it in your projects, abiding by the terms of the license.