🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

react-speed-reader

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-speed-reader

Speed Reader component for React

1.3.0
latest
Source
npm
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

react-speed-reader

Try it - Live Example

Install

npm install react-speed-reader

Demo

Check out Live Example and the example code, or run it locally

git clone git@github.com:Radivarig/react-speed-reader.git
npm install
npm run dev

Updates

(1.1): (breaking) function renderReader (props, state)=>ReactElement is required in props of the reader

Features

  • flash one or more words
  • on one word flash, show highlighted pivot letter (the red focus)
  • set words per minute (WPM)
  • pause after character match
  • trim sentence after character match
  • show blank after character match
  • TODO: multiple rows
  • TODO: trim by row length

Basic Usage

Check the Example GUI for full demonstration.

// ...
  renderReader(props, state) {
    if ( !state.currentText )
      return <span>&nbsp;</span>  //keep lineHeight

    if (props.chunk > 1)
      return <span>{state.currentText}</span>

    var fixedLeft = {
      position: 'absolute'
    , display: 'inline-block'
    , transform: 'translate(-100%)'
    , textAlign: 'right'
    }
    return (
      <span>
        <span style={fixedLeft}>{state.pre}</span>
        <span style={{color: 'red'}}>{state.mid}</span>
        <span style={{position: 'absolute'}}>{state.post}</span>
      </span>
    )
  }
// ...
    <SpeedReader
        inputText={'Something to read'}
        renderReader={this.renderReader/*above*/}
        speed={250}
        isPlaying={True}
    
        //bellow is optional

        trim={{regex: /\.|,|\?|!/} /*trim sentence*/}
        offset={{regex: /\.|,|\?|!/, duration: 0.5} /*pause for 0.5 times the WPM speed*/}
        blank={{regex: /\.|\?|!/, duration: 0.5} /*show blank*/}

        chunk={1/*number of words per flash*/}
        reset={{/*resets when changed, use timestamp new Date().getTime()*/}}
        setProgress={{/*{ skipFor: Int OR percent: 0 to 1, timestamp: new Date().getTime() }*/}}

        hasEndedCallback={{/*call your pause fn to sync with GUI*/}}
        progressCallback={{/*calls with {at: Int, of: Int}*/}}
        />

License

MIT

Keywords

react

FAQs

Package last updated on 10 Mar 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts