{"version":3,"file":"le2xx-angular-resize-event.mjs","sources":["../../../projects/angular-resize-event/src/lib/resized.event.ts","../../../projects/angular-resize-event/src/lib/resized.directive.ts","../../../projects/angular-resize-event/src/lib/angular-resize-event.module.ts","../../../projects/angular-resize-event/src/public-api.ts","../../../projects/angular-resize-event/src/le2xx-angular-resize-event.ts"],"sourcesContent":["export class ResizedEvent {\n    public newRect: DOMRectReadOnly;\n    public oldRect?: DOMRectReadOnly;\n    public isFirst: boolean;\n\n    public constructor(newRect: DOMRectReadOnly, oldRect: DOMRectReadOnly | undefined) {\n        this.newRect = newRect;\n        this.oldRect = oldRect;\n        this.isFirst = oldRect == null;\n    }\n}\n","import { Directive, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, Output } from '@angular/core';\nimport { ResizedEvent } from './resized.event';\n\n@Directive({\n  selector: '[resized]'\n})\nexport class ResizedDirective implements OnInit, OnDestroy {\n  private observer: ResizeObserver;\n  private oldRect?: DOMRectReadOnly;\n\n  @Output()\n  public readonly resized;\n\n  public constructor(\n    private readonly element: ElementRef,\n    private readonly zone: NgZone\n  )\n  {\n    this.resized = new EventEmitter<ResizedEvent>();\n    this.observer = new ResizeObserver(entries => this.zone.run(() => this.observe(entries)));\n  }\n\n  public ngOnInit(): void {\n    this.observer.observe(this.element.nativeElement)\n  }\n\n  public ngOnDestroy(): void {\n    this.observer.disconnect();\n  }\n\n  private observe(entries: ResizeObserverEntry[]): void {\n    const domSize = entries[0];\n    const resizedEvent = new ResizedEvent(domSize.contentRect, this.oldRect);\n    this.oldRect = domSize.contentRect;\n    this.resized.emit(resizedEvent);\n  }\n}\n\n","import { NgModule } from '@angular/core';\nimport { ResizedDirective } from './resized.directive';\n\n@NgModule({\n  declarations: [\n    ResizedDirective\n  ],\n  imports: [\n  ],\n  exports: [\n    ResizedDirective\n  ]\n})\nexport class AngularResizeEventModule {}\n","/*\n * Public API Surface of angular-resize-event\n */\n\nexport { ResizedEvent } from './lib/resized.event';\nexport * from './lib/resized.directive';\nexport * from './lib/angular-resize-event.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAAa,YAAY,CAAA;IAKrB,WAAmB,CAAA,OAAwB,EAAE,OAAoC,EAAA;AAC7E,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC;KAClC;AACJ;;MCJY,gBAAgB,CAAA;IAO3B,WACmB,CAAA,OAAmB,EACnB,IAAY,EAAA;AADZ,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;AACnB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;AAG7B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAgB,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAC3F;IAEM,QAAQ,GAAA;QACb,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;KAClD;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;KAC5B;AAEO,IAAA,OAAO,CAAC,OAA8B,EAAA;AAC5C,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3B,QAAA,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;AACnC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACjC;;6GA7BU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iGAAhB,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;iBACtB,CAAA;sHAMiB,OAAO,EAAA,CAAA;sBADtB,MAAM;;;MCGI,wBAAwB,CAAA;;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAxB,wBAAwB,EAAA,YAAA,EAAA,CARjC,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAKhB,gBAAgB,CAAA,EAAA,CAAA,CAAA;sHAGP,wBAAwB,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,gBAAgB;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE;wBACP,gBAAgB;AACjB,qBAAA;iBACF,CAAA;;;ACZD;;AAEG;;ACFH;;AAEG;;;;"}