pshihn/lumin
A JavaScript library to progressively highlight any text on a page.
repo name | pshihn/lumin |
repo link | https://github.com/pshihn/lumin |
homepage | https://lumin.rocks |
language | JavaScript |
size (curr.) | 301 kB |
stars (curr.) | 528 |
created | 2018-06-01 |
license | MIT License |
LuminJS
A JavaScript library to progressively highlight any text on a page.
Great for when you want users to pay attention to some important text. It can also be used to show progress of a task − Read something while tasks are being completed.
Related buzz words: Tiny (~1kB gzipped), No-dependency
Visit lumin.rocks to see it in action.
Note: This does NOT modify the user selection.
Install
Download the latest from dist folder
or from npm:
npm install --save lumin
Usage
Instantiate lumin with a node. All text under that node, including child nodes, will be highlighted. Then call start to start highlighting.
const luminator = lumin(domNode);
luminator.start(5000); // 5000ms to highlight
Or you can manually control the progress
// Set progress to 50%
luminator.progress = 50;
Note: The node being instantiated with has to be a positioned node. i.e. position is not static for this to work. In most cases, position:relative will do the trick.
Full API
progress
Numeric property one can set to indicate the progress of the highlight. The value is in percentage (0 to 100). This is useful when showing a progress of a task, e.g., a file upload.
start(duration)
Start the highlight.
duration is the approximate time in milliseconds the highlighting should take.
returns a Promise which is resolved when the highlight ends. The resolved value is true if the animation ends without interruption; false if stop was called.
stop()
Stops highlighting if it’s in progress.
clear()
Clears the highlighting.
Examples
See it live in action on lumin.rocks or view sample code in the Examples folder.