2.13.1 • Published 4 years ago

@vvo/typewriter-effect v2.13.1

Weekly downloads
53
License
MIT
Repository
github
Last release
4 years ago

TypewriterJS v2

CircleCI

npm.io

NPM Repository JSFiddle Example Emoji Example

CDN

You can use the CDN version of this plugin for fast and easy setup.

<script src="https://unpkg.com/typewriter-effect@latest/dist/core.js"></script>

Core

This include the core typewriter library, which can be used directly through the API.

See examples in the 'examples' folder.

import Typewriter from 'typewriter-effect/dist/core';

new Typewriter('#typewriter', {
  strings: ['Hello', 'World'],
  autoStart: true,
});

Options

NameTypeDefault valueDescription
stringsString or ArraynullStrings to type out when using autoStart option
cursorStringPipe characterString value to use as the cursor.
delay'natural' or Number'natural'The delay between each key when typing.
deleteSpeed'natural' or Number'natural'The delay between deleting each character.
loopBooleanfalseWhether to keep looping or not.
autoStartBooleanfalseWhether to autostart typing strings or not. You are required to provide strings option.
devModeBooleanfalseWhether or not to display console logs.
skipAddStylesBooleanSkip adding default typewriter css styles.
wrapperClassNameString'Typewriter__wrapper'Class name for the wrapper element.
cursorClassNameString'Typewriter__cursor'Class name for the cursor element.
stringSplitterFunctionString splitter function, can be used to split emoji's

Methods

All methods can be chained together.

NameParamsDescription
start-Start the typewriter effect.
stop-Stop the typewriter effect.
pauseForms Time to pause for in millisecondsPause for milliseconds
typeStringstring String to type out, it can contain HTML tagsType out a string using the typewriter effect.
pasteStringstring String to paste out, it can contain HTML tagsPaste out a string.
deleteAllspeed Speed to delete all visibles nodes, can be number or 'natural'Delete everything that is visible inside of the typewriter wrapper element.
deleteCharsamount Number of charactersDelete and amount of characters, starting at the end of the visible string.
callFunctioncb Callback, thisArg this Object to bind to the callback functionCall a callback function. The first parameter to the callback elements which contains all DOM nodes used in the typewriter effect.
changeDeleteSpeedspeed Number or 'natural'The speed at which to delete the characters, lower number is faster.
changeDelaydelay Number or 'natural'Change the delay when typing out each character

React

This includes a React component which can be used within your project. You can pass in a onInit function which will be called with the instance of the typewriter so you can use the typewriter core API.

import Typewriter from 'typewriter-effect';

<Typewriter
  onInit={(typewriter) => {
    typewriter.typeString('Hello World!')
      .callFunction(() => {
        console.log('String typed out!');
      })
      .pauseFor(2500)
      .deleteAll()
      .callFunction(() => {
        console.log('All strings were deleted');
      })
      .start();
  }}
/>

Alternatively you can also pass in options to use auto play and looping for example:

import Typewriter from 'typewriter-effect';

<Typewriter
  options={{
    strings: ['Hello', 'World'],
    autoStart: true,
    loop: true,
  }}
/>