ngx-popper-damo
v2.0.7
Published
ngx-popper is an angular wrapper for popper.js
Downloads
46
Maintainers
Readme
ngx-popper
ngx-popper is an angular wrapper for the Popper.js library.
Installation
node and npm are required to run this package.
- Use npm/yarn to install the package:
$ npm install ngx-popper --save
Or
$ yarn add ngx-popper --save
- You simply add into your module
NgxPopperModule
:
import {NgxPopperModule} from 'ngx-popper';
@NgModule({
// ...
imports: [
// ...
NgxPopperModule
]
})
SystemJS
System.config({
paths: {
// paths serve as alias
'npm:': 'libs/'
},
// map tells the System loader where to look for things
map: {
... ,
'ngx-popper': 'npm:ngx-popper',
'popper-directive.js': 'npm:ngx-popper',
'popper.module': 'npm:ngx-popper',
},
// packages tells the System loader how to load when no filename and/or no extension
packages: {
... ,
'ngx-popper': {
main: 'index.js',
defaultExtension: 'js'
},
'popper.js': {
main: 'popper-directive.js',
defaultExtension: 'js'
},
'popper.module': {
main: './popper.module.js',
defaultExtension: 'js'
}
}
});
- Add to view:
<div [popper]="popper1Content"
[popperShowOnStart]="true"
[popperTrigger]="'click'"
[popperPlacement]="'bottom'">
<p class="bold">Hey!</p>
<p class="thin">Choose where to put your popper!</p>
</div>
<popper-content #popper1Content>
<p class="bold">Popper on bottom</p>
</popper-content>
- As text:
<div [popper]="'As text'"
[popperTrigger]="'hover'"
[popperPlacement]="'bottom'"
(popperOnShown)="onShown($event)">
<p class="bold">Pop</p>
<p class="thin">on the bottom</p>
</div>
- Position fixed, breaking overflow:
<div [popper]="'As text'"
[popperTrigger]="'hover'"
[popperPlacement]="'bottom'"
[popperPositionFixed]="true"
(popperOnShown)="onShown($event)">
</div>
- Specific target:
<div class="example">
<div #popperTargetElement></div>
<div [popper]="'As text'"
[popperTrigger]="'hover'"
[popperPlacement]="'bottom'"
[popperTarget]="popperTargetElement"
(popperOnShown)="onShown($event)">
</div>
- hide/show programmatically:
<div [popper]="tooltipcontent"
[popperTrigger]="'hover'"
[popperPlacement]="'bottom'">
<p class="bold">Pop</p>
<p class="thin">on the bottom</p>
</div>
<popper-content #tooltipcontent>
<div>
<p>This is a tooltip with text</p>
<span (click)="tooltipcontent.hide()">Close</div>
</div>
</popper-content>
Attributes map:
| Option | Type | Default | |:------------------- |:---------------- |:-------- | | popperDisableAnimation | boolean | false | | popperDisableStyle | boolean | false | | popperDisabled | boolean | false | | popperDelay | number | 0 | | popperTimeout | number | 0 | | popperTimeoutAfterShow | number | 0 | | popperPlacement | Placement(string) | auto | | popperTarget | HtmlElement | auto | | popperBoundaries | string(selector) | undefined|
| popperShowOnStart | number | 0 |
| popperTrigger | Trigger(string) | hover | | popperPositionFixed | boolean | false | | popperHideOnClickOutside | boolean | true | | popperHideOnScroll | boolean | false | | popperForceDetection | boolean | false | | popperModifiers | popperModifier | undefined| | popperOnShown | EventEmitter| $event |
| popperOnHidden | EventEmitter| $event |Override defaults:
Ngx-popper comes with a few default properties you can override in default to effect all instances These are overridden by any child attributes.
NgModule({
imports: [
BrowserModule,
FormsModule,
NgxPopperModule.forRoot({placement: 'bottom'})],
declarations: [AppComponent],
providers: [],
bootstrap: [AppComponent]
})
| Options | Type | Default |
|:------------------- |:---------------- |:-------- |
| disableAnimation | boolean | false |
| disableDefaultStyling | boolean | false |
| placement | Placement(string) | auto |
| boundariesElement | string(selector) | undefined|
| trigger | Trigger(string) | hover |
| popperModifiers | popperModifier | undefined|
| positionFixed | boolean | false |
| hideOnClickOutside | boolean | true |
| hideOnScroll | boolean | false |
- popperPlacement:
| 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'bottom-start' | 'left-start' | 'right-start' | 'top-end' | 'bottom-end' | 'left-end' | 'right-end' | 'auto' | 'auto-top' | 'auto-bottom' | 'auto-left' | 'auto-right' | Function
- popperTrigger:
| 'click' | 'mousedown' | 'hover' | 'none'
Demo
Demo
Contribute
Hell ya!!!
$ yarn install
$ yarn run build
$ yarn run dev