{"version":3,"file":"ngx-simple-popper.mjs","sources":["../../../projects/ngx-simple-popper/src/lib/ngx-simple-popper.directive.ts","../../../projects/ngx-simple-popper/src/lib/components/popper-container/popper-container.component.ts","../../../projects/ngx-simple-popper/src/lib/components/popper-container/popper-container.component.html","../../../projects/ngx-simple-popper/src/lib/ngx-simple-popper.module.ts","../../../projects/ngx-simple-popper/src/public-api.ts","../../../projects/ngx-simple-popper/src/ngx-simple-popper.ts"],"sourcesContent":["import { createPopper, Placement } from '@popperjs/core';\nimport {Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit, SimpleChanges} from '@angular/core';\nimport {PopperContainerComponent} from \"./components/popper-container/popper-container.component\";\n\n@Directive({\n  selector: '[popperFor]'\n})\nexport class NgxSimplePopperDirective implements OnInit, OnDestroy, OnChanges {\n\n  @Input()\n  popperFor!: PopperContainerComponent;\n\n  @Input()\n  placement!: Placement;\n\n  @Input()\n  offset = [0, 6];\n\n  popper: any = null;\n\n  constructor(private el: ElementRef) {\n  }\n\n  ngOnInit() {\n  }\n\n  _dispose() {\n    this.popper.destroy();\n    this.popper = null;\n  }\n\n  createPopper() {\n    if (this.popper) {\n      this._dispose();\n    }\n    this.popper = createPopper(this.el.nativeElement, this.popperFor.elementRef.nativeElement, {\n      placement: this.placement,\n      modifiers: [\n        {\n          name: 'offset',\n          options: {\n            offset: this.offset,\n          },\n        },\n      ],\n    });\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    const currValue = changes?.['placement'].currentValue;\n    const prevValue = changes?.['placement'].previousValue;\n    if (currValue !== prevValue) {\n      this.createPopper();\n    }\n  }\n\n  ngOnDestroy() {\n    this._dispose();\n  }\n\n}\n","import {Component, ElementRef, HostBinding, Input, OnInit} from '@angular/core';\n\n@Component({\n  selector: 'popper-container',\n  templateUrl: './popper-container.component.html',\n  styleUrls: ['./popper-container.component.css'],\n})\nexport class PopperContainerComponent implements OnInit {\n\n  @Input()\n  @HostBinding('attr.data-state')\n  public state: 'show' | 'hide' = 'show';\n\n  public elementRef: ElementRef;\n\n  constructor(el: ElementRef) {\n    this.elementRef = el;\n  }\n\n  ngOnInit(): void {\n  }\n}\n","<ng-container>\n  <div class=\"popper-content\">\n      <ng-content></ng-content>\n  </div>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {NgxSimplePopperDirective} from \"./ngx-simple-popper.directive\";\nimport { PopperContainerComponent } from './components/popper-container/popper-container.component';\n\n@NgModule({\n  declarations: [\n    PopperContainerComponent,\n    NgxSimplePopperDirective,\n  ],\n  imports: [\n    CommonModule,\n  ],\n  exports: [\n    PopperContainerComponent,\n    NgxSimplePopperDirective,\n  ]\n})\nexport class NgxSimplePopperModule { }\n","/*\n * Public API Surface of ngx-simple-popper\n */\nexport * from './lib/ngx-simple-popper.directive';\nexport * from './lib/components/popper-container/popper-container.component';\nexport * from './lib/ngx-simple-popper.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAOa,wBAAwB;IAanC,YAAoB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAJlC,WAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhB,WAAM,GAAQ,IAAI,CAAC;KAGlB;IAED,QAAQ;KACP;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;IAED,YAAY;QACV,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE;YACzF,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE;wBACP,MAAM,EAAE,IAAI,CAAC,MAAM;qBACpB;iBACF;aACF;SACF,CAAC,CAAC;KACJ;IAED,WAAW,CAAC,OAAsB;QAChC,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC,YAAY,CAAC;QACtD,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC,aAAa,CAAC;QACvD,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;KACF;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;;qHAnDU,wBAAwB;yGAAxB,wBAAwB;2FAAxB,wBAAwB;kBAHpC,SAAS;mBAAC;oBACT,QAAQ,EAAE,aAAa;iBACxB;iGAIC,SAAS;sBADR,KAAK;gBAIN,SAAS;sBADR,KAAK;gBAIN,MAAM;sBADL,KAAK;;;MCRK,wBAAwB;IAQnC,YAAY,EAAc;QAJnB,UAAK,GAAoB,MAAM,CAAC;QAKrC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;IAED,QAAQ;KACP;;qHAbU,wBAAwB;yGAAxB,wBAAwB,+ICPrC,gHAKA;2FDEa,wBAAwB;kBALpC,SAAS;+BACE,kBAAkB;iGAQrB,KAAK;sBAFX,KAAK;;sBACL,WAAW;uBAAC,iBAAiB;;;MEQnB,qBAAqB;;kHAArB,qBAAqB;mHAArB,qBAAqB,iBAX9B,wBAAwB;QACxB,wBAAwB,aAGxB,YAAY,aAGZ,wBAAwB;QACxB,wBAAwB;mHAGf,qBAAqB,YARvB;YACP,YAAY;SACb;2FAMU,qBAAqB;kBAbjC,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,wBAAwB;qBACzB;oBACD,OAAO,EAAE;wBACP,YAAY;qBACb;oBACD,OAAO,EAAE;wBACP,wBAAwB;wBACxB,wBAAwB;qBACzB;iBACF;;;ACjBD;;;;ACAA;;;;;;"}