1.0.1 • Published 6 years ago

wc-typed-js v1.0.1

Weekly downloads
4
License
ISC
Repository
github
Last release
6 years ago

wc-typed-js - The Typed.js Web Component

npm npm Published on webcomponents.org

<wc-typed-js strings="Text number 1, Text number 2">
  <h1>Fixed Text: <span class="typing"></span></h1>  
</wc-typed-js>

The Typed.js Web Component for better reusability.

Typed.js is a library that types. Enter in any string, 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.

Checkout the offical project here.

Table of contents

Installation

npm install --save wc-typed-js

Default import

Import the component:

import { TypedJS } from 'wc-typed-js'

Browser import

<script type="module" src="dist/main.js" crossorigin></script>

Usage

To get started simply add the wc-typed-js custom element to your markup and pass the text, which should be typed to the strings property. In addition you need to pass an element with the class typing to the slot, which will be used as a wrapper.

Minimal setup:

<wc-typed-js strings="First text, Second Text">
  <h1 class="typing"></h1>
</wc-typed-js>

The typing class also allows you to just animate certain parts of a string:

<wc-typed-js strings="John', 'James">
  <h1>Hey <span class="typing"></span></h1>
</wc-typed-js>

Properties

You can make use of the following properties in order to customize your typing expirience:

PropertyTypeDescriptionUsage
stringsStringstrings to be typedstrings="Text 1, Text 2"
stringsElementStringID of element containing string childrenstringsElement="'myId'"
typeSpeedNumbertype speed in millisecondstypeSpeed="50"
startDelayNumbertime before typing starts in millisecondsstartDelay="1000"
backSpeedNumberbackspacing speed in millisecondsbackSpeed="10"
smartBackspaceBooleanonly backspace what doesn't match the previous stringsmartBackspace="true"
shuffleBooleanshuffle the stringsshuffle="true"
backDelayNumbertime before backspacing in millisecondsbackDelay="100"
fadeOutBooleanFade out instead of backspacefadeOut="true"
fadeOutClassStringcss class for fade animationfadeOutClass="'fadeOutClass'"
fadeOutDelayBooleanfade out delay in millisecondsfadeOutDelay="true"
loopBooleanloop stringsloop="true"
loopCountNumberamount of loopsloopCount="3"
showCursorBooleanshow cursorshowCursor="true"
cursorCharStringcharacter for cursorcursorChar="'_'"
autoInsertCssBooleaninsert CSS for cursor and fadeOut into HTMLautoInsertCss="true"
attrStringattribute for typing Ex: input placeholder, value, or just HTML textattr="'placeholder'"
bindInputFocusEventsBooleanbind to focus and blur if el is text inputbindInputFocusEvents="true"
contentTypeString'html' or 'null' for plaintextcontentType="'html'"

Events

Not implemented so far.

Features

Checkout features like type pausing, smart backspacing etc. on the libraries page.

Examples

Here are several examples:

<!-- infinite loop -->
<wc-typed-js strings="awesome, brilliant" loop="true">
  <h2>We are a <span class="typing"></span> company!</h2>
</wc-typed-js>

<!-- type pausing -->
<wc-typed-js strings="This is text ^1000 which gets paused for 1 second, wow, interesting">
  <h2 class="typing"></h2>
</wc-typed-js>

<!-- output html -->
<wc-typed-js strings="<p>Paragraph</p>, <span>Span</span>" contentType="'html'">
  <h2 class="typing"></h2>
</wc-typed-js>

License

MIT