{"version":3,"file":"uipath-angular-components-ui-password-toggle.mjs","sources":["../../../projects/angular/components/ui-password-toggle/src/ui-password-toggle.intl.ts","../../../projects/angular/components/ui-password-toggle/src/ui-password-toggle.component.ts","../../../projects/angular/components/ui-password-toggle/src/ui-password-toggle.component.html","../../../projects/angular/components/ui-password-toggle/src/ui-password-toggle.module.ts","../../../projects/angular/components/ui-password-toggle/src/uipath-angular-components-ui-password-toggle.ts"],"sourcesContent":["import { Subject } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class UiPasswordToggleIntl {\n    // eslint-disable-next-line rxjs/finnish\n    changes = new Subject<void>();\n\n    tooltipShow = 'Show';\n    tooltipHide = 'Hide';\n}\n","import {\n    BehaviorSubject,\n    combineLatest,\n    Observable,\n    Subject,\n} from 'rxjs';\nimport {\n    map,\n    startWith,\n    takeUntil,\n} from 'rxjs/operators';\n\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    Inject,\n    Input,\n    OnDestroy,\n    OnInit,\n    Optional,\n    Renderer2,\n} from '@angular/core';\n\nimport { UiPasswordToggleIntl } from './ui-password-toggle.intl';\n\n@Component({\n    selector: 'ui-password-toggle',\n    templateUrl: './ui-password-toggle.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class UiPasswordToggleComponent implements OnInit, OnDestroy {\n    /**\n     * The input element that needs to be toggled.\n     *\n     */\n    @Input()\n    element?: HTMLInputElement;\n\n    /**\n     * The disabled state of the toggle.\n     *\n     */\n    @Input()\n    disabled?: boolean;\n\n    /**\n     * Emits the password input visibility state.\n     *\n     */\n    isVisible$ = new BehaviorSubject(false);\n\n    /**\n     * Emits the password toggle active tooltip.\n     *\n     */\n    tooltip$: Observable<string>;\n\n    private _destroyed$ = new Subject<void>();\n\n    private get _isVisible() {\n        return this.isVisible$.value;\n    }\n\n    constructor(\n        @Inject(UiPasswordToggleIntl)\n        @Optional()\n        private _intl: UiPasswordToggleIntl,\n        private _renderer: Renderer2,\n    ) {\n        this._intl = this._intl || new UiPasswordToggleIntl();\n\n        this.tooltip$ = combineLatest([\n            this.isVisible$,\n            this._intl.changes\n                .pipe(startWith(void 0)),\n        ]).pipe(\n            map(([isVisible]) => isVisible ? this._intl.tooltipHide : this._intl.tooltipShow),\n            takeUntil(this._destroyed$),\n        );\n    }\n\n    ngOnInit() {\n        if (\n            !!this.element &&\n            this.element instanceof HTMLInputElement\n        ) { return; }\n\n        throw new Error('The password toggle must be bound to an input element!');\n    }\n\n    ngOnDestroy() {\n        this.isVisible$.complete();\n        this._destroyed$.next();\n        this._destroyed$.complete();\n    }\n\n    toggle() {\n        this._toggleVisibiltyState();\n\n        const type = this._isVisible ? 'text' : 'password';\n        this._renderer.setProperty(this.element, 'type', type);\n    }\n\n    private _toggleVisibiltyState = () => {\n        this.isVisible$.next(!this._isVisible);\n    };\n}\n","<ng-container *ngLet=\"{\n    tooltip: tooltip$ | async,\n    isVisible: isVisible$ | async\n} as state\">\n    <button [matTooltip]=\"state?.tooltip\"\n            [disabled]=\"!!disabled\"\n            (click)=\"toggle()\"\n            mat-icon-button\n            type=\"button\">\n        <mat-icon>{{ state?.isVisible ? 'visibility' : 'visibility_off' }}</mat-icon>\n    </button>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { UiAutoAccessibleLabelModule } from '@uipath/angular/a11y';\nimport { UiNgLetModule } from '@uipath/angular/directives/ui-ng-let';\n\nimport { UiPasswordToggleComponent } from './ui-password-toggle.component';\n\n@NgModule({\n    imports: [\n        CommonModule,\n        MatTooltipModule,\n        MatIconModule,\n        MatButtonModule,\n        UiAutoAccessibleLabelModule,\n        UiNgLetModule,\n    ],\n    declarations: [\n        UiPasswordToggleComponent,\n    ],\n    exports: [\n        UiPasswordToggleComponent,\n    ],\n})\nexport class UiPasswordToggleModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}