smart-tooltip
Version:
Intelligently show tooltip based on container position
114 lines (83 loc) • 3.08 kB
Markdown
# What's this
A package that allows you tooltip to show intelligently base on where it is
# Installation
`npm i smart-tooltip --save`
`optionally run npm init -y`
`Make sure your plugin is always up to date for more stability`
# Bundling your app
Html (index.html)
```
<head>
<link rel="stylesheet" href="node_modules/smart-tooltip/main.css">
</head>
<body>
<div class="smart-tooltip-container" >
Button
<span class="smart-tooltip">Welcome</span>
</div>
</body>
<script src="yourscript.js"></script>
```
Javascript (yourscript.js)
```
import {smartTooltip} from "smart-tooltip";
smartTooltip();
```
Bundling with Parcel (optional)
```
run npm i parcel -g
parcel index.html
```
## options
* Forcing tooltip to stay at particular position
_ Apply class *stay-left | stay-right | stay-bottom | stay-top* _
eg:
```
<div class="smart-tooltip-container" >
Button
<span class="smart-tooltip stay-right">Welcome</span>
</div>
```
* Have you run into the trouble of having your tooltip cut because of a parent container overflowed hidden? Dont worry, just add the class _overlay_ eg:
```
<div class="smart-tooltip-container" >
Button
<span class="smart-tooltip stay-right overlay">Welcome</span>
</div>
```
*NB: TO PREVENT TROUBLES WITH OVERLAY .. PLEASE SPECIFY DEFINITE WITDH FOR TOOLTIP*
_NOTE: The Tooltip overlay will not work in a parent with transfrom property yet because of how css works (fixed position and transformed parent)... working on a fix for that soon_
* Do you want the tooltip stick around for a while...?
Add the stick class with the time in milliseconds (stick-100) you want it to stay.
```
<button class="smart-tooltip-container">
Button
<span class="smart-tooltip overlay stick-200">Tooltip</span>
</button>
```
Or may be you want to tooltip to stick around until you click anywhere else .. in that case just add the stick class eg:
```
<button class="smart-tooltip-container">
Button
<span class="smart-tooltip overlay stick">Tooltip</span>
</button>
```
*Force the tooltip to stay on Hover Even if stick time has expired,
add 'stayonhover' class
NB: Stay on hover works well when the "stick" or "stick-*" class is used*
```
<div class="smart-tooltip-container">
Button
<span class="smart-tooltip stay-bottom overlay stick-2000 stayonhover">Tooltip</span>
</div>
```
* You can also use smart-tooltip as a dropdown.. just add the 'clicktoshow' class to the smart-tooltip-container.
```
<button class="smart-tooltip-container clicktoshow">
Button
<span class="smart-tooltip overlay">Tooltip</span>
</button>
```
*Feel free to clone the github repo and import main.css and index.js to your project
<!-- smart-tooltip supports 2 options all of which are optional
* *type * - _hard | soft_ (Defaults to soft) -->