Tooltip for Angular
The tooltip is a pop-up tip that appears when you hover over an item or click on it.
🔬️ Help make Tooltips better by answering a few questions.
Demo
Installation
Install the npm package.
npm i ng2-tooltip-directive
Import Ng2Module
:
import { TooltipModule } from 'ng2-tooltip-directive';
@NgModule({
imports: [ TooltipModule ]
})
Usage
Options can be set in the directive tag, so they have the highest priority.
<span tooltip="Tooltip" placement="top" showDelay="500">Tooltip on top</span>
You may pass as an object:
<span tooltip="Tooltip" [options]="myOptions">Tooltip on left</span>
myOptions = {
'placement': 'left',
'showDelay': 500
}
You can pass HTML as content :
<span tooltip="<p>Hello i'm a <strong>bold</strong> text!</p>">
Tooltip with HTML content
</span>
<ng-template #HtmlContent>
<p>Hello i'm a <strong>bold</strong> text!</p>
</ng-template>
<span [tooltip]="HtmlContent" contentType="template">
Tooltip with template content
</span>
Set default values
Create a file with your settings, for example:
import { TooltipOptions } from 'ng2-tooltip-directive';
export const MyDefaultTooltipOptions: TooltipOptions = {
'show-delay': 500
}
And pass your parameters when importing the module:
import { TooltipModule, TooltipOptions } from 'ng2-tooltip-directive';
import { MyDefaultTooltipOptions } from './my-default-options';
@NgModule({
imports: [
TooltipModule.forRoot(MyDefaultTooltipOptions as TooltipOptions)
]
})
Properties
name | type | default | description |
---|---|---|---|
placement | "top", "bottom", "left", "right" | "top" | The position of the tooltip. |
autoPlacement | boolean | true | Place the tooltip so that it does not go beyond the borders of the browser window. |
showDelay | number | 0 | The delay in ms before showing the tooltip. |
hideDelay | number | 300 | The delay in ms before removing the tooltip. |
hideDelayTouchscreen | number | 0 | Delay in milliseconds before hiding the tooltip (for mobile devices). |
display | boolean | true | Tooltip availability for display. |
displayTouchscreen | boolean | true | Display the tooltip on mobile devices. |
zIndex | number | 0 | Z-index of the tooltip. |
trigger | "hover", "click" | "hover" | Specifies how the tooltip is triggered. Control the closing time with "hide-delay". |
tooltipClass | string | Classes to be passed to the tooltip. | |
animationDuration | number | 300 | The duration controls how long the animation takes to run from start to finish. |
theme | "dark", "light" | "dark" | Theme of tooltip background and text. |
shadow | boolean | true | Shadow of the tooltip. |
offset | number | 8 | Offset the tooltip relative to the item. |
width | number | undefined | Width of the tooltip. |
maxWidth | number | 200 | Maximum width of the tooltip. |
contentType | "string", "html', "template" | "string" | The content type passed to the tooltip. |
hideDelayAfterClick | number | 2000 | Tooltip hiding delay for "click" trigger. |
pointerEvents | "auto", "none" | "none" | Defines whether or not an element reacts to pointer events. |
position | {top: number, left: number} | undefined | The tooltip coordinates relative to the browser window. |
Events
When you call events, the delays that are specified in the options in the directive are taken into account. Default delay before tooltip hiding is 300 milliseconds.
Event | Description |
---|---|
{type: "show", position: DOMRect} | The event is called before the tooltip appears. |
{type: "shown", position: DOMRect} | The event is called after the animation of the appearance of the tooltip. |
{type: "hide", position: DOMRect} | The event is called before the tooltip is hidden. |
{type: "hidden", position: DOMRect} | The event is called after the animation of the tooltip is hidden. |
Methods
If you specified the directive options, they will be taken into account when calling methods. Including the delay before the appearance and hiding of the tooltip.
Method | Description |
---|---|
show() | Shows the tooltip |
hide() | Hides the tooltip |
Author services
Are you interested in this library but lacks features? Write to the author, he can do it for you.
Sponsors
We use Browserstack for cross-browser testing.