1.1.0 • Published 11 months ago

@duyvu-fsdev/ng-tooltip v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

ng-tooltip

Overview

ng-tooltip is a versatile and customizable tooltip library designed for Angular and Ionic/Angular applications.

Features

  • Dynamic positioning: Automatically adjusts when overflowing screen boundaries.
  • Customizable styles: Modify tooltip styles using CSS variables or custom classes.
  • Seamless integration: Easily integrates with Angular and Ionic frameworks.

Installation

To install the library, run the following command:

npm install @duyvu-fsdev/ng-tooltip

If you encounter a dependency conflict with the required version of @angular/common, you can resolve it by:

using the --legacy-peer-deps flag:
npm install @duyvu-fsdev/ng-tooltip --legacy-peer-deps

Usage

1. Import the module

Add TooltipModule to your module:
/* *.module.ts */

import { TooltipModule } from '@duyvu-fsdev/ng-tooltip';

@NgModule({
  imports: [..., TooltipModule],
})

export class YourModule {}

2. Add the tooltip to your template

Template Example:
/* *.html */

<ng-tooltip [option]="tooltipOption">
  <host-element><!-- content --></host-element>
</ng-tooltip>
TypeScript Example:
// *.ts

import { Option } from '@duyvu-fsdev/ng-tooltip';
...

export class YourComponent {
 ...
 tooltipOption: Option = {
  position: 'bottom',
  text: 'Hello, this is a tooltip!',
  class: 'custom-tooltip'
 };
}
Option Interface
PropertyTypeDefaultDescriptionExample
position'top' \| 'bottom' \| 'left' \| 'right'\| undefined'bottom'Position of the tooltip relative to the host'bottom'
textstring''Tooltip text content'Tooltip text content'
classstring''CSS class for custom styling'custom-tooltip'

CSS Configuration

1. Import default styles important

Add it to angular.json:
/* angular.json */

"styles": [
 ...
 "node_modules/@duyvu-fsdev/ng-tooltip/styles/ng-tooltip.scss"
]
or import it into your global SCSS file
/* global.scss */

@import "@duyvu-fsdev/ng-tooltip/styles/ng-tooltip.scss";

2. Customize using CSS variables

Modify variables directly in global.scss to change the tooltip's appearance globally
/* global.scss */

ng-tooltip {
  --tooltip-background: #fff;
  --tooltip-color: #000;
  --tooltip-border-radius: 4px;
  --tooltip-padding: 8px;
  --tooltip-width: auto;
  --tooltip-height: auto;
}
You can also apply custom styles using a specific class
tooltipOption: Option = {
 ...
 class: 'custom-tooltip'
};
/* global.scss */

.custom-tooltip {
  background: #f00;
  color: #fff;
  padding: 10px;
  border-radius: 8px;
}

Demo on stackblitz

Demo

License

MIT

Author

Developed and maintained by duyvu-fsdev