2.0.7 • Published 6 years ago

ngx-popper-damo v2.0.7

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

ngx-popper

npm npm MIT licensed

ngx-popper is an angular wrapper for the Popper.js library.

Installation

node and npm are required to run this package.

  1. Use npm/yarn to install the package:

    $ npm install ngx-popper --save 

    Or

     $ yarn add ngx-popper --save 
  2. 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'
            }
        }
    });
  1. 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>
  2. 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>
  3. Position fixed, breaking overflow:

         <div [popper]="'As text'"
              [popperTrigger]="'hover'"
              [popperPlacement]="'bottom'"
              [popperPositionFixed]="true"
              (popperOnShown)="onShown($event)">
         </div>
  4. Specific target:

    <div class="example">
         <div #popperTargetElement></div>
         <div [popper]="'As text'"
              [popperTrigger]="'hover'"
              [popperPlacement]="'bottom'"
              [popperTarget]="popperTargetElement"
              (popperOnShown)="onShown($event)">
         </div>
  5. 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>
  6. Attributes map:

    OptionTypeDefault
    popperDisableAnimationbooleanfalse
    popperDisableStylebooleanfalse
    popperDisabledbooleanfalse
    popperDelaynumber0
    popperTimeoutnumber0
    popperTimeoutAfterShownumber0
    popperPlacementPlacement(string)auto
    popperTargetHtmlElementauto
    popperBoundariesstring(selector)undefined
    popperShowOnStartnumber0
    popperTriggerTrigger(string)hover
    popperPositionFixedbooleanfalse
    popperHideOnClickOutsidebooleantrue
    popperHideOnScrollbooleanfalse
    popperForceDetectionbooleanfalse
    popperModifierspopperModifierundefined
    popperOnShownEventEmitter$event
    popperOnHiddenEventEmitter$event
  7. 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]

})
OptionsTypeDefault
disableAnimationbooleanfalse
disableDefaultStylingbooleanfalse
placementPlacement(string)auto
boundariesElementstring(selector)undefined
triggerTrigger(string)hover
popperModifierspopperModifierundefined
positionFixedbooleanfalse
hideOnClickOutsidebooleantrue
hideOnScrollbooleanfalse
  1. 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

  2. popperTrigger:

    | 'click' | 'mousedown' | 'hover' | 'none'

Demo

Demo

Contribute

Hell ya!!!

  $ yarn install
  $ yarn run build
  $ yarn run dev  
2.0.7

6 years ago

2.0.6

6 years ago

2.0.5

6 years ago

2.0.4

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago