{"version":3,"file":"axulus-uikit-ripple.mjs","sources":["../../src/app/components/ripple/ripple.ts","../../src/app/components/ripple/axulus-uikit-ripple.ts"],"sourcesContent":["import { NgModule, Directive, AfterViewInit, ElementRef, NgZone, OnDestroy, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler } from '@axulus/uikit/dom';\nimport { PrimeNGConfig } from '@axulus/uikit/api';\n\n@Directive({\n  selector: '[pRipple]',\n  host: {\n    class: 'p-ripple p-element'\n  }\n})\nexport class Ripple implements AfterViewInit, OnDestroy {\n  constructor(public el: ElementRef, public zone: NgZone, @Optional() public config: PrimeNGConfig) {}\n\n  animationListener: any;\n\n  mouseDownListener: any;\n\n  timeout: any;\n\n  ngAfterViewInit() {\n    if (this.config && this.config.ripple) {\n      this.zone.runOutsideAngular(() => {\n        this.create();\n\n        this.mouseDownListener = this.onMouseDown.bind(this);\n        this.el.nativeElement.addEventListener('mousedown', this.mouseDownListener);\n      });\n    }\n  }\n\n  onMouseDown(event: MouseEvent) {\n    let ink = this.getInk();\n    if (!ink || getComputedStyle(ink, null).display === 'none') {\n      return;\n    }\n\n    DomHandler.removeClass(ink, 'p-ink-active');\n    if (!DomHandler.getHeight(ink) && !DomHandler.getWidth(ink)) {\n      let d = Math.max(DomHandler.getOuterWidth(this.el.nativeElement), DomHandler.getOuterHeight(this.el.nativeElement));\n      ink.style.height = d + 'px';\n      ink.style.width = d + 'px';\n    }\n\n    let offset = DomHandler.getOffset(this.el.nativeElement);\n    let x = event.pageX - offset.left + document.body.scrollTop - DomHandler.getWidth(ink) / 2;\n    let y = event.pageY - offset.top + document.body.scrollLeft - DomHandler.getHeight(ink) / 2;\n\n    ink.style.top = y + 'px';\n    ink.style.left = x + 'px';\n    DomHandler.addClass(ink, 'p-ink-active');\n\n    this.timeout = setTimeout(() => {\n      let ink = this.getInk();\n      if (ink) {\n        DomHandler.removeClass(ink, 'p-ink-active');\n      }\n    }, 401);\n  }\n\n  getInk() {\n    for (let i = 0; i < this.el.nativeElement.children.length; i++) {\n      if (this.el.nativeElement.children[i].className.indexOf('p-ink') !== -1) {\n        return this.el.nativeElement.children[i];\n      }\n    }\n    return null;\n  }\n\n  resetInk() {\n    let ink = this.getInk();\n    if (ink) {\n      DomHandler.removeClass(ink, 'p-ink-active');\n    }\n  }\n\n  onAnimationEnd(event: Event) {\n    if (this.timeout) {\n      clearTimeout(this.timeout);\n    }\n    DomHandler.removeClass(event.currentTarget, 'p-ink-active');\n  }\n\n  create() {\n    let ink = document.createElement('span');\n    ink.className = 'p-ink';\n    this.el.nativeElement.appendChild(ink);\n\n    this.animationListener = this.onAnimationEnd.bind(this);\n    ink.addEventListener('animationend', this.animationListener);\n  }\n\n  remove() {\n    let ink = this.getInk();\n    if (ink) {\n      this.el.nativeElement.removeEventListener('mousedown', this.mouseDownListener);\n      ink.removeEventListener('animationend', this.animationListener);\n      DomHandler.removeElement(ink);\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.config && this.config.ripple) {\n      this.remove();\n    }\n  }\n}\n\n@NgModule({\n  imports: [CommonModule],\n  exports: [Ripple],\n  declarations: [Ripple]\n})\nexport class RippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}