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

react-typeout

v1.0.0

Published

Simply a react component that types by itself.

Downloads

86

Readme

React typeout

Build Status Coverage Status

Simply a React Component that types by itself. Add any Array of strings, and watch it type at the speed you've set, backspace what it's typed, and begin a new sentence for however many strings you've set.

Installation

Install the package from npm

npm install --save react-typeout

Usage

Basic Example

import React, { Component } from 'react';
import { render } from 'react-dom';
import TypeOut from 'react-typeout';

const words = ['the first sentence', 'the second sentence'];

class App extends Component {

    render() {
        return (
          <TypeOut words={words} />
        )
    }
}

render(<App/>, document.getElementById('app'));

Props

words: PropTypes.arrayof(PropTypes.string).isRequired

The words property is the only required prop. Here you set all the words/sentences you would like it to type out.

random: PropTypes.bool

The random property specifies wether the array of words should be typed out in its correct order or random order.

Defaults to: false

infinitive: PropTypes.bool

The infinitive property specifies if words can be typed multiple times

Defaults to: true

typeSpeed: PropTypes.number

The typeSpeed property specifies the speed of each char in the sentence to be typed.

Defaults to: 200

rewindSpeed: PropTypes.number

The rewindSpeed property specifies the speed of each char in the sentence to be typed back.

Defaults to: 50

pauseSpeed: PropTypes.number

The pauseSpeed property specifies the we will wait before typing out next word/sentence after one is complete.

Defaults to: 1000

Node: PropTypes.string

The Node property specifies the tag type our text will be rendered inside

Defaults to: span

className: PropTypes.string

The className property specifies the class that react-typeout will have

Defaults to: react-typeout

caret: PropTypes.bool

The caret property specifies if react-typeout should render a caret after the word, See styling documentation best result. Caret will always use the className of react-typeout-caret

Defaults to: false

done: PropTypes.func

The done property specifies if a method should be called then react-typeout has no words left to print. infinitiveneeds to be false

Defaults to: null

Styling

Basic caret styling

.react-typeout-caret {
  content: "|";
  margin-left: 5px;
  opacity: 1;
  font-weight: 100;
  -webkit-animation: blink 0.7s infinite;
  -moz-animation: blink 0.7s infinite;
  -ms-animation: blink 0.7s infinite;
  -o-animation: blink 0.7s infinite;
  animation: blink 0.7s infinite;
}

@keyframes blink{
  0% { opacity:1; }
  50% { opacity:0; }
  100% { opacity:1; }
}
@-webkit-keyframes blink{
  0% { opacity:1; }
  50% { opacity:0; }
  100% { opacity:1; }
}
@-moz-keyframes blink{
  0% { opacity:1; }
  50% { opacity:0; }
  100% { opacity:1; }
}
@-ms-keyframes blink{
  0% { opacity:1; }
  50% { opacity:0; }
  100% { opacity:1; }
}
@-o-keyframes blink{
  0% { opacity:1; }
  50% { opacity:0; }
  100% { opacity:1; }
}

License

MIT. Copyright (c) 2017 Philip Knape.