UNPKG

angular-resize-event-package

Version:

[![npm version](https://img.shields.io/npm/v/angular-resize-event-package.svg)](https://www.npmjs.com/package/angular-resize-event-package) [![npm downloads](https://img.shields.io/npm/dm/angular-resize-event-package.svg)](https://www.npmjs.com/package/an

72 lines (65 loc) 2.87 kB
import * as i0 from '@angular/core'; import { inject, ElementRef, NgZone, EventEmitter, Output, Directive, NgModule } from '@angular/core'; class ResizedEvent { newRect; oldRect; isFirst; constructor(newRect, oldRect) { this.newRect = newRect; this.oldRect = oldRect; this.isFirst = oldRect == null; } } class ResizedDirective { element = inject(ElementRef); zone = inject(NgZone); observer; oldRect; resized = new EventEmitter(); constructor() { this.observer = new ResizeObserver(entries => this.zone.run(() => this.observe(entries))); } ngOnInit() { this.observer.observe(this.element.nativeElement); } ngOnDestroy() { this.observer.disconnect(); } observe(entries) { const domSize = entries[0]; const resizedEvent = new ResizedEvent(domSize.contentRect, this.oldRect); this.oldRect = domSize.contentRect; this.resized.emit(resizedEvent); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: ResizedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.1", type: ResizedDirective, isStandalone: true, selector: "[resized]", outputs: { resized: "resized" }, ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: ResizedDirective, decorators: [{ type: Directive, args: [{ selector: '[resized]', standalone: true }] }], ctorParameters: () => [], propDecorators: { resized: [{ type: Output }] } }); class AngularResizeEventModule { static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: AngularResizeEventModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: AngularResizeEventModule, imports: [ResizedDirective], exports: [ResizedDirective] }); static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: AngularResizeEventModule }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: AngularResizeEventModule, decorators: [{ type: NgModule, args: [{ imports: [ResizedDirective], exports: [ResizedDirective] }] }] }); /* * Public API Surface of angular-resize-event */ /** * Generated bundle index. Do not edit. */ export { AngularResizeEventModule, ResizedDirective, ResizedEvent }; //# sourceMappingURL=angular-resize-event-package.mjs.map