@taiga-ui/kit
Version:
Taiga UI Angular main components kit
69 lines • 9.68 kB
JavaScript
import { ChangeDetectionStrategy, Component, computed, inject, signal, } from '@angular/core';
import { toSignal } from '@angular/core/rxjs-interop';
import { tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens';
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
import { tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
import { TuiIcon } from '@taiga-ui/core/components/icon';
import { TUI_TEXTFIELD_OPTIONS, TuiTextfieldContent, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
import { TuiTooltip } from '@taiga-ui/kit/directives';
import { TUI_PASSWORD_TEXTS } from '@taiga-ui/kit/tokens';
import { TUI_INPUT_PASSWORD_OPTIONS } from './input-password.options';
import * as i0 from "@angular/core";
import * as i1 from "@taiga-ui/core/components/textfield";
/**
* @deprecated use {@link TuiPassword} with {@link TuiTextfield}
*/
class TuiInputPassword {
constructor() {
this.options = inject(TUI_INPUT_PASSWORD_OPTIONS);
this.texts = toSignal(inject(TUI_PASSWORD_TEXTS), {
initialValue: ['', ''],
});
this.el = tuiInjectElement();
this.size = inject(TUI_TEXTFIELD_OPTIONS).size;
this.hidden = signal(true);
this.text = computed(() => this.hidden() ? this.texts()[0] : this.texts()[1]);
this.icon = computed((size = this.size()) => {
const icon = this.hidden() ? this.options.icons.show : this.options.icons.hide;
return tuiIsString(icon) ? icon : icon(size);
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPassword, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputPassword, isStandalone: true, selector: "input[tuiInputPassword]", host: { attributes: { "ngSkipHydration": "true" }, properties: { "type": "hidden() ? \"password\" : \"text\"" } }, providers: [tuiFallbackValueProvider('')], hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0, template: `
<tui-icon
*tuiTextfieldContent
[icon]="icon()"
[style.border]="size() === 's' ? null : 'none'"
[tuiTooltip]="text()"
(click)="hidden.set(!hidden())"
(mousedown.capture.prevent.stop)="el.focus()"
/>
`, isInline: true, dependencies: [{ kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }, { kind: "directive", type: TuiTooltip, selector: "tui-icon[tuiTooltip]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
export { TuiInputPassword };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPassword, decorators: [{
type: Component,
args: [{
standalone: true,
selector: 'input[tuiInputPassword]',
imports: [TuiIcon, TuiTextfieldContent, TuiTooltip],
template: `
<tui-icon
*tuiTextfieldContent
[icon]="icon()"
[style.border]="size() === 's' ? null : 'none'"
[tuiTooltip]="text()"
(click)="hidden.set(!hidden())"
(mousedown.capture.prevent.stop)="el.focus()"
/>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [tuiFallbackValueProvider('')],
hostDirectives: [TuiWithTextfield],
host: {
ngSkipHydration: 'true',
'[type]': 'hidden() ? "password" : "text"',
},
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGFzc3dvcmQvaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRXBFOztHQUVHO0FBQ0gsTUFzQmEsZ0JBQWdCO0lBdEI3QjtRQXVCcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzdDLFVBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDMUQsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBVTtTQUNsQyxDQUFDLENBQUM7UUFFZ0IsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBQzFDLFNBQUksR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDMUMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixTQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNwQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNwRCxDQUFDO1FBRWlCLFNBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDdEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUUvRSxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7S0FDTjsrR0FsQlksZ0JBQWdCO21HQUFoQixnQkFBZ0IseUxBUGQsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxnRkFYL0I7Ozs7Ozs7OztLQVNULDREQVZTLE9BQU8scUZBQUUsbUJBQW1CLDZFQUFFLFVBQVU7O1NBbUJ6QyxnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkF0QjVCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLENBQUM7b0JBQ25ELFFBQVEsRUFBRTs7Ozs7Ozs7O0tBU1Q7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN6QyxjQUFjLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDbEMsSUFBSSxFQUFFO3dCQUNGLGVBQWUsRUFBRSxNQUFNO3dCQUN2QixRQUFRLEVBQUUsZ0NBQWdDO3FCQUM3QztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGluamVjdCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlJc1N0cmluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VHVpSWNvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9PUFRJT05TLFxuICAgIFR1aVRleHRmaWVsZENvbnRlbnQsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUdWlUb29sdGlwfSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtUVUlfUEFTU1dPUkRfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1wYXNzd29yZC5vcHRpb25zJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVBhc3N3b3JkfSB3aXRoIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dFBhc3N3b3JkXScsXG4gICAgaW1wb3J0czogW1R1aUljb24sIFR1aVRleHRmaWVsZENvbnRlbnQsIFR1aVRvb2x0aXBdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgKnR1aVRleHRmaWVsZENvbnRlbnRcbiAgICAgICAgICAgIFtpY29uXT1cImljb24oKVwiXG4gICAgICAgICAgICBbc3R5bGUuYm9yZGVyXT1cInNpemUoKSA9PT0gJ3MnID8gbnVsbCA6ICdub25lJ1wiXG4gICAgICAgICAgICBbdHVpVG9vbHRpcF09XCJ0ZXh0KClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhpZGRlbi5zZXQoIWhpZGRlbigpKVwiXG4gICAgICAgICAgICAobW91c2Vkb3duLmNhcHR1cmUucHJldmVudC5zdG9wKT1cImVsLmZvY3VzKClcIlxuICAgICAgICAvPlxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyKCcnKV0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoVGV4dGZpZWxkXSxcbiAgICBob3N0OiB7XG4gICAgICAgIG5nU2tpcEh5ZHJhdGlvbjogJ3RydWUnLFxuICAgICAgICAnW3R5cGVdJzogJ2hpZGRlbigpID8gXCJwYXNzd29yZFwiIDogXCJ0ZXh0XCInLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0UGFzc3dvcmQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0cyA9IHRvU2lnbmFsKGluamVjdChUVUlfUEFTU1dPUkRfVEVYVFMpLCB7XG4gICAgICAgIGluaXRpYWxWYWx1ZTogWycnLCAnJ10gYXMgY29uc3QsXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpemUgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKS5zaXplO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoaWRkZW4gPSBzaWduYWwodHJ1ZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHQgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLmhpZGRlbigpID8gdGhpcy50ZXh0cygpWzBdIDogdGhpcy50ZXh0cygpWzFdLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbiA9IGNvbXB1dGVkKChzaXplID0gdGhpcy5zaXplKCkpID0+IHtcbiAgICAgICAgY29uc3QgaWNvbiA9IHRoaXMuaGlkZGVuKCkgPyB0aGlzLm9wdGlvbnMuaWNvbnMuc2hvdyA6IHRoaXMub3B0aW9ucy5pY29ucy5oaWRlO1xuXG4gICAgICAgIHJldHVybiB0dWlJc1N0cmluZyhpY29uKSA/IGljb24gOiBpY29uKHNpemUpO1xuICAgIH0pO1xufVxuIl19