UNPKG

ngx-otp-input

Version:

One Time Password input library for Angular (14+)

38 lines 4.39 kB
import { ContentChildren, Directive, Input, } from '@angular/core'; import * as i0 from "@angular/core"; export class AutoBlurDirective { constructor() { this.inputHTMLElements = []; } ngOnChanges(changes) { if (this.ngxAutoBlur && this.inputHTMLElements.length > 0 && changes['isFormValid'].currentValue) { this.inputHTMLElements.forEach((input) => { input.blur(); }); } } ngAfterContentInit() { this.inputs.forEach((input) => { this.inputHTMLElements.push(input.nativeElement); }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutoBlurDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: AutoBlurDirective, isStandalone: true, selector: "[ngxAutoBlur]", inputs: { ngxAutoBlur: "ngxAutoBlur", isFormValid: "isFormValid" }, queries: [{ propertyName: "inputs", predicate: ["otpInputElement"], descendants: true }], usesOnChanges: true, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutoBlurDirective, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[ngxAutoBlur]', }] }], propDecorators: { inputs: [{ type: ContentChildren, args: ['otpInputElement', { descendants: true }] }], ngxAutoBlur: [{ type: Input }], isFormValid: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b0JsdXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW90cC1pbnB1dC9zcmMvbGliL2RpcmVjdGl2ZXMvYXV0b0JsdXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxlQUFlLEVBQ2YsU0FBUyxFQUVULEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQzs7QUFNdkIsTUFBTSxPQUFPLGlCQUFpQjtJQUo5QjtRQUtVLHNCQUFpQixHQUF1QixFQUFFLENBQUM7S0E0QnBEO0lBakJDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUNFLElBQUksQ0FBQyxXQUFXO1lBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNqQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxFQUNuQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN2QyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTVCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGVBQWU7aUJBQzFCOzhCQUtDLE1BQU07c0JBREwsZUFBZTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSXpELFdBQVc7c0JBRFYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25neEF1dG9CbHVyXScsXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9CbHVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSBpbnB1dEhUTUxFbGVtZW50czogSFRNTElucHV0RWxlbWVudFtdID0gW107XG5cbiAgQENvbnRlbnRDaGlsZHJlbignb3RwSW5wdXRFbGVtZW50JywgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBpbnB1dHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pj47XG5cbiAgQElucHV0KClcbiAgbmd4QXV0b0JsdXIhOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGlzRm9ybVZhbGlkITogYm9vbGVhbjtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5uZ3hBdXRvQmx1ciAmJlxuICAgICAgdGhpcy5pbnB1dEhUTUxFbGVtZW50cy5sZW5ndGggPiAwICYmXG4gICAgICBjaGFuZ2VzWydpc0Zvcm1WYWxpZCddLmN1cnJlbnRWYWx1ZVxuICAgICkge1xuICAgICAgdGhpcy5pbnB1dEhUTUxFbGVtZW50cy5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgICBpbnB1dC5ibHVyKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5pbnB1dHMuZm9yRWFjaCgoaW5wdXQpID0+IHtcbiAgICAgIHRoaXMuaW5wdXRIVE1MRWxlbWVudHMucHVzaChpbnB1dC5uYXRpdmVFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxufVxuIl19