-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Kevin Gonzalez edited this page Sep 13, 2019
·
1 revision
-
Import
Keyboard
fromreact-mk
-
Keyboard
accepts any child with a validtoString
method -
Keyboard
exposes atype
method whenchildren
is a type offunction
-
Keyboard
will type out your text in an organic manner, see example -
Besides
children
,Keyboard
can take the following optional props-
sentenceDelayPerCharRange
: an array of two numbers indicating the delay in milliseconds whichreact-mk
applies between words, the delay is calculated by getting a random number in your range and multiplying it by the number of characters in your sentence. -
keyPressDelayRange
: an array of two numbers indicating the delay in milliseconds whichreact-mk
applies between characters, the delay is calculated by getting a random number in your range.
-
-
You may also import the
Cursor
component fromreact-mk
; a standard blinking cursor that accepts the following props-
children
: the cursor you wish to display, it will accept anynode
and is a|
by default -
blink
: a bool which istrue
by default, whenfalse
the cursor will not blink -
blinkAnimationDuration
: theanimation-duration
of thecss
animation
property of the cursor - All other props will be spread to the root element which is a
span
-
import React from "react";
import ReactDOM from "react-dom";
import Keyboard, { Cursor } from "react-mk";
import "./styles.css";
function App() {
return (
<div className="App">
<Keyboard sentenceDelayPerCharRange={[0, 0]}>
You can write whatever you like here (╯°□°)╯︵ ┻━┻
</Keyboard>
<Cursor />
<br />
<Keyboard keyPressDelayRange={[200, 400]}>
{({ type }) =>
type(
1000,
"You can even type super slowly using the keyPressDelayRange prop",
300,
"Set the blink property of Cursor to false to disable the blinking animation --> "
)
}
</Keyboard>
<Cursor blink={false} />
<br />
<Keyboard
sentenceDelayPerCharRange={[0, 0]}
keyPressDelayRange={[50, 70]}
>
{({ type }) =>
type(
3000,
"Multiple instances of Keyboard can easily be rendered at the same time"
)
}
</Keyboard>
<Cursor>#</Cursor>
<br />
<Keyboard sentenceDelayPerCharRange={[300, 400]}>
{({ type }) =>
type(
4000,
"Use the sentenceDelayPerCharRange prop to adjust the amount of time that your sentences should be visible (It'll be a while before the next sentance appears)",
"You can also pass a number to the `type` function to dictate the time between deleting the previous sentance and writting the next sentence"
)
}
</Keyboard>
<Cursor blinkAnimationDuration={200}>[]</Cursor>
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);