{"version":3,"file":"ngx-long-press2.mjs","sources":["../../../projects/ngx-long-press2/src/lib/ngx-long-press2.directive.ts","../../../projects/ngx-long-press2/src/lib/ngx-long-press2.module.ts","../../../projects/ngx-long-press2/src/public-api.ts","../../../projects/ngx-long-press2/src/ngx-long-press2.ts"],"sourcesContent":["import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\n@Directive({\n  // tslint:disable-next-line:directive-selector\n  selector: '[ngxLongPress2]'\n})\nexport class NgxLongPress2Directive {\n\n  pressing: boolean;\n  longPressing: boolean;\n  timeout: any;\n  interval: any;\n\n  delay = 50;\n  lapsedTime = 0; // used for onLongPressing event\n\n  @Input()\n  minTime = 500; // used for onLongPress event\n\n  @Input()\n  maxTime = 2000; // used for onReleasePressing event\n\n  // tslint:disable-next-line:no-output-on-prefix\n  @Output()\n  onLongPress = new EventEmitter();\n\n  // tslint:disable-next-line:no-output-on-prefix\n  @Output()\n  onLongPressing: EventEmitter<number> = new EventEmitter();\n\n  // tslint:disable-next-line:no-output-on-prefix\n  @Output()\n  onReleasePressing: EventEmitter<void> = new EventEmitter();\n\n  @HostBinding('class.press')\n  get press(): boolean {\n    return this.pressing;\n  }\n\n  @HostBinding('class.longpress')\n  get longPress(): boolean {\n    return this.longPressing;\n  }\n\n  @HostListener('touchstart', ['$event'])\n  @HostListener('mousedown', ['$event'])\n  onMouseDown(event: any): void {\n    this.pressing = true;\n    this.longPressing = false;\n    this.timeout = setTimeout(() => {\n      this.longPressing = true;\n      this.onLongPress.emit(event);\n      this.interval = setInterval(() => {\n        this.onLongPressing.emit(this.lapsedTime);\n        if (this.lapsedTime < this.maxTime) {\n          this.lapsedTime += this.delay;\n        } else {\n          this.end();\n        }\n      }, this.delay);\n    }, this.minTime);\n  }\n\n  @HostListener('touchend')\n  @HostListener('mouseup')\n  @HostListener('mouseleave')\n  endPress(): void {\n    this.end();\n  }\n\n  end(): void {\n    clearTimeout(this.timeout);\n    clearInterval(this.interval);\n    this.longPressing = false;\n    this.pressing = false;\n    this.lapsedTime = 0;\n    this.onReleasePressing.next();\n  }\n\n}\n","import { NgModule } from '@angular/core';\nimport { NgxLongPress2Directive } from './ngx-long-press2.directive';\n\n\n@NgModule({\n  declarations: [NgxLongPress2Directive],\n  exports: [NgxLongPress2Directive]\n})\nexport class NgxLongPress2Module {\n}\n","/*\n * Public API Surface of ngx-long-press2\n */\n\nexport * from './lib/ngx-long-press2.directive';\nexport * from './lib/ngx-long-press2.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}