UNPKG

angular-resize-event-package

Version:

Angular directive for detecting changes of an element size.

1 lines 4.41 kB
{"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 { Directive, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { ResizedEvent } from './resized.event';\r\n\r\n@Directive({\r\n selector: '[resized]'\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;\r\n\r\n public constructor(\r\n private readonly element: ElementRef,\r\n private readonly zone: NgZone\r\n )\r\n {\r\n this.resized = new EventEmitter<ResizedEvent>();\r\n this.observer = new ResizeObserver(entries => this.zone.run(() => this.observe(entries)));\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\r\n","import { NgModule } from '@angular/core';\r\nimport { ResizedDirective } from './resized.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n ResizedDirective\r\n ],\r\n exports: [\r\n ResizedDirective\r\n ]\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,WAAmB,CAAA,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;;AAErC;;MCJY,gBAAgB,CAAA;AAQR,IAAA,OAAA;AACA,IAAA,IAAA;AARX,IAAA,QAAQ;AACR,IAAA,OAAO;AAGC,IAAA,OAAO;IAEvB,WACmB,CAAA,OAAmB,EACnB,IAAY,EAAA;QADZ,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAI,CAAA,IAAA,GAAJ,IAAI;AAGrB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAgB;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;;IAGpF,QAAQ,GAAA;QACb,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;;IAG5C,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;;AAGpB,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;;uGA5BtB,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;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACX,iBAAA;oGAMiB,OAAO,EAAA,CAAA;sBADtB;;;MCCU,wBAAwB,CAAA;uGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAxB,wBAAwB,EAAA,OAAA,EAAA,CANjC,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAGhB,gBAAgB,CAAA,EAAA,CAAA;wGAGP,wBAAwB,EAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD;AACF,iBAAA;;;ACVD;;AAEG;;ACFH;;AAEG;;;;"}