{"version":3,"file":"angular-resize-event-package.mjs","sources":["../../../projects/angular-resize-event-package/src/lib/resized.event.ts","../../../projects/angular-resize-event-package/src/lib/resized.directive.ts","../../../projects/angular-resize-event-package/src/lib/angular-resize-event.module.ts","../../../projects/angular-resize-event-package/src/public-api.ts","../../../projects/angular-resize-event-package/src/angular-resize-event-package.ts"],"sourcesContent":["export class ResizedEvent {\r\n    public newRect: DOMRectReadOnly;\r\n    public oldRect?: DOMRectReadOnly;\r\n    public isFirst: boolean;\r\n\r\n    public constructor(newRect: DOMRectReadOnly, oldRect: DOMRectReadOnly | undefined) {\r\n        this.newRect = newRect;\r\n        this.oldRect = oldRect;\r\n        this.isFirst = oldRect == null;\r\n    }\r\n}\r\n","import {\r\n  Directive,\r\n  ElementRef,\r\n  EventEmitter,\r\n  NgZone,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output\r\n} from '@angular/core';\r\nimport { ResizedEvent } from './resized.event';\r\n\r\n@Directive({\r\n  selector: '[resized]',\r\n  standalone: true\r\n})\r\nexport class ResizedDirective implements OnInit, OnDestroy {\r\n  private observer: ResizeObserver;\r\n  private oldRect?: DOMRectReadOnly;\r\n\r\n  @Output()\r\n  public readonly resized = new EventEmitter<ResizedEvent>();\r\n\r\n  public constructor(\r\n    private readonly element: ElementRef,\r\n    private readonly zone: NgZone\r\n  ) {\r\n    this.observer = new ResizeObserver(entries =>\r\n      this.zone.run(() => this.observe(entries))\r\n    );\r\n  }\r\n\r\n  public ngOnInit(): void {\r\n    this.observer.observe(this.element.nativeElement);\r\n  }\r\n\r\n  public ngOnDestroy(): void {\r\n    this.observer.disconnect();\r\n  }\r\n\r\n  private observe(entries: ResizeObserverEntry[]): void {\r\n    const domSize = entries[0];\r\n    const resizedEvent = new ResizedEvent(domSize.contentRect, this.oldRect);\r\n    this.oldRect = domSize.contentRect;\r\n    this.resized.emit(resizedEvent);\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ResizedDirective } from './resized.directive';\r\n\r\n@NgModule({\r\n  imports: [ResizedDirective],\r\n  exports: [ResizedDirective]\r\n})\r\nexport class AngularResizeEventModule {}","/*\r\n * Public API Surface of angular-resize-event\r\n */\r\n\r\nexport { ResizedEvent } from './lib/resized.event';\r\nexport * from './lib/resized.directive';\r\nexport * from './lib/angular-resize-event.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAAa,YAAY,CAAA;AACd,IAAA,OAAO;AACP,IAAA,OAAO;AACP,IAAA,OAAO;IAEd,WAAA,CAAmB,OAAwB,EAAE,OAAoC,EAAA;AAC7E,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI;IAClC;AACH;;MCKY,gBAAgB,CAAA;AAQR,IAAA,OAAA;AACA,IAAA,IAAA;AARX,IAAA,QAAQ;AACR,IAAA,OAAO;AAGC,IAAA,OAAO,GAAG,IAAI,YAAY,EAAgB;IAE1D,WAAA,CACmB,OAAmB,EACnB,IAAY,EAAA;QADZ,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,IAAI,GAAJ,IAAI;QAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,IACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC3C;IACH;IAEO,QAAQ,GAAA;QACb,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IACnD;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;IAC5B;AAEQ,IAAA,OAAO,CAAC,OAA8B,EAAA;AAC5C,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;AAC1B,QAAA,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC;AACxE,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW;AAClC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;IACjC;uGA7BW,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;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE;AACb,iBAAA;;sBAKE;;;MCZU,wBAAwB,CAAA;uGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAxB,wBAAwB,EAAA,OAAA,EAAA,CAHzB,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAChB,gBAAgB,CAAA,EAAA,CAAA;wGAEf,wBAAwB,EAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,OAAO,EAAE,CAAC,gBAAgB;AAC3B,iBAAA;;;ACND;;AAEG;;ACFH;;AAEG;;;;"}