UNPKG

4.72 kBSource Map (JSON)View Raw
1{"version":3,"file":"bmat-angular-forms-bm-password.js","sources":["ng://@bmat/angular/forms/bm-password/lib/bm-password.component.ts","ng://@bmat/angular/forms/bm-password/lib/bm-password.component.module.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'bm-password',\n templateUrl: 'bm-password.component.html',\n styleUrls: ['bm-password.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // tslint:disable-next-line:no-forward-ref\n useExisting: forwardRef(() => PasswordInputComponent),\n multi: true,\n },\n ],\n})\n/**\n * Password input with an icon to toggle view/hide\n */\nexport class PasswordInputComponent implements ControlValueAccessor {\n @Input() public value: string | null = null;\n @Input() public disabled!: boolean;\n @Input() public displayButton = true;\n\n @Input() public hide = true;\n\n @Output() public toggleHide = new EventEmitter<boolean>();\n @Output() public passwordChange = new EventEmitter<string>();\n\n @ViewChild('input', { read: ElementRef, static: true })\n private _input!: ElementRef<HTMLInputElement>;\n\n private _onChangeCb!: (val: string) => void;\n private _onTouchCb!: () => void;\n\n constructor(private _cdr: ChangeDetectorRef) {}\n\n public writeValue(value: string) {\n this.value = value;\n this._cdr.markForCheck();\n }\n\n public registerOnChange(fn: (val: string) => void) {\n this._onChangeCb = fn;\n }\n\n public registerOnTouched(fn: () => void) {\n this._onTouchCb = fn;\n }\n\n public setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n public onInputChange(e: Event) {\n const { value } = e.target as HTMLInputElement;\n\n if (this._onChangeCb) {\n this._onChangeCb(value);\n }\n\n this.passwordChange.emit(value);\n }\n\n public onInputBlur() {\n if (this._onTouchCb) {\n this._onTouchCb();\n }\n }\n\n public focus() {\n if (this._input && this._input.nativeElement) {\n this._input.nativeElement.focus();\n }\n }\n\n public onToggleClick(e: Event) {\n e.preventDefault();\n this.hide = !this.hide;\n this.toggleHide.emit(this.hide);\n }\n\n public getInputType() {\n return this.hide ? 'password' : 'text';\n }\n}\n","/**\n * BMAT Layout Module\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { PasswordInputComponent } from './bm-password.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [PasswordInputComponent],\n exports: [PasswordInputComponent],\n})\nexport class PasswordInputComponentModule {}\n"],"names":[],"mappings":";;;;;;;;AAAA,AA2BA;;;AAGA,MAAa,sBAAsB;;;;IAgBjC,YAAoB,IAAuB;QAAvB,SAAI,GAAJ,IAAI,CAAmB;QAf3B,UAAK,GAAkB,IAAI,CAAC;QAE5B,kBAAa,GAAG,IAAI,CAAC;QAErB,SAAI,GAAG,IAAI,CAAC;QAEX,eAAU,GAAG,IAAI,YAAY,EAAW,CAAC;QACzC,mBAAc,GAAG,IAAI,YAAY,EAAU,CAAC;KAQd;;;;;IAExC,UAAU,CAAC,KAAa;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;KAC1B;;;;;IAEM,gBAAgB,CAAC,EAAyB;QAC/C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KACvB;;;;;IAEM,iBAAiB,CAAC,EAAc;QACrC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;;;;IAEM,gBAAgB,CAAC,UAAmB;QACzC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;;;;;IAEM,aAAa,CAAC,CAAQ;cACrB,EAAE,KAAK,EAAE,sBAAG,CAAC,CAAC,MAAM,EAAoB;QAE9C,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACzB;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;;;;IAEM,WAAW;QAChB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;KACF;;;;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SACnC;KACF;;;;;IAEM,aAAa,CAAC,CAAQ;QAC3B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjC;;;;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC;KACxC;;;YAlFF,SAAS,SAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,gpFAAyC;gBAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;gBAC/C,SAAS,EAAE;oBACT;wBACE,OAAO,EAAE,iBAAiB;;wBAE1B,WAAW,EAAE,UAAU;;;wBAAC,MAAM,sBAAsB,EAAC;wBACrD,KAAK,EAAE,IAAI;qBACZ;iBACF;;aACF;;;;YAxBC,iBAAiB;;;oBA6BhB,KAAK;uBACL,KAAK;4BACL,KAAK;mBAEL,KAAK;yBAEL,MAAM;6BACN,MAAM;qBAEN,SAAS,SAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;;;;;MC3B3C,4BAA4B;;;YALxC,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,YAAY,EAAE,CAAC,sBAAsB,CAAC;gBACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;aAClC;;;;;"}
\No newline at end of file