blob: a3af687b570f69f1d4741d6da2de36d229dbfaf8 [file] [log] [blame]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<nz-input-group
[nzSearch]="type === 'search'"
[nzPrefixIcon]="prefixIcon || (type === 'search' ? 'search' : undefined)"
[nzSuffixIcon]="suffixIcon"
[nzPrefix]="prefixTpl"
[nzSuffix]="suffixTpl"
[nzSize]="size"
[style]="groupStyle"
>
<input
nz-input
[id]="id || ''"
[type]="passwordVisible ? 'text' : type"
[name]="name || ''"
[style]="inputStyle || ''"
[required]="required || false"
[readonly]="readonly || false"
[disabled]="disabled || false"
[placeholder]="placeholder || ''"
[(ngModel)]="value"
(ngModelChange)="onChange($event)"
/>
</nz-input-group>
<ng-template #prefixTpl>
<ng-container *ngIf="prefix; else noPrefixContent">
<ng-template [ngTemplateOutlet]="prefix"></ng-template>
</ng-container>
<ng-template #noPrefixContent></ng-template>
</ng-template>
<ng-template #suffixTpl>
<ng-container *ngIf="suffix; else noSuffixContent">
<ng-template [ngTemplateOutlet]="suffix"></ng-template>
</ng-container>
<ng-template #noSuffixContent>
@if (type === 'password') {<i
nz-icon
[nzType]="passwordVisible ? 'eye-invisible' : 'eye'"
(click)="passwordVisible = !passwordVisible"
></i>
} @if (allowClear && value) {
<i nz-icon class="ant-input-clear-icon" nzTheme="fill" nzType="close-circle" (click)="onClear($event)"></i>
}
</ng-template>
</ng-template>