UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

1 lines 72.2 kB
{"version":3,"file":"ng-zorro-antd-input.mjs","sources":["../../components/input/input-addon.directive.ts","../../components/input/input-affix.directive.ts","../../components/input/input-password.directive.ts","../../components/input/tokens.ts","../../components/input/input.directive.ts","../../components/input/input-otp.component.ts","../../components/input/input-search.directive.ts","../../components/input/input-wrapper.component.ts","../../components/input/textarea-count.component.ts","../../components/input/input.module.ts","../../components/input/public-api.ts","../../components/input/ng-zorro-antd-input.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[nzInputAddonBefore]'\n})\nexport class NzInputAddonBeforeDirective {}\n\n@Directive({\n  selector: '[nzInputAddonAfter]'\n})\nexport class NzInputAddonAfterDirective {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[nzInputPrefix]'\n})\nexport class NzInputPrefixDirective {}\n\n@Directive({\n  selector: '[nzInputSuffix]'\n})\nexport class NzInputSuffixDirective {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, input, model } from '@angular/core';\n\n@Directive({\n  selector: 'nz-input-password',\n  exportAs: 'nzInputPassword',\n  host: {\n    class: 'ant-input-password'\n  }\n})\nexport class NzInputPasswordDirective {\n  readonly nzVisibilityToggle = input(true);\n  readonly nzVisible = model(false);\n\n  toggleVisible(): void {\n    this.nzVisible.update(value => !value);\n  }\n}\n\n@Directive({\n  selector: '[nzInputPasswordIcon]'\n})\nexport class NzInputPasswordIconDirective {\n  /**\n   * @internal\n   */\n  static ngTemplateContextGuard(_: NzInputPasswordIconDirective, context: unknown): context is { $implicit: boolean } {\n    return true;\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { InjectionToken } from '@angular/core';\n\nimport { NzInputSearchDirective } from './input-search.directive';\nimport type { NzInputWrapperComponent } from './input-wrapper.component';\n\nexport const NZ_INPUT_WRAPPER = new InjectionToken<NzInputWrapperComponent>(\n  typeof ngDevMode !== 'undefined' && ngDevMode ? 'nz-input-wrapper' : ''\n);\n\nexport const NZ_INPUT_SEARCH = new InjectionToken<NzInputSearchDirective>(\n  typeof ngDevMode !== 'undefined' && ngDevMode ? 'nz-input-search' : ''\n);\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n  booleanAttribute,\n  ComponentRef,\n  computed,\n  DestroyRef,\n  Directive,\n  effect,\n  ElementRef,\n  inject,\n  input,\n  linkedSignal,\n  OnInit,\n  signal,\n  ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { NgControl } from '@angular/forms';\nimport { FORM_FIELD } from '@angular/forms/signals';\nimport { EMPTY } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\n\nimport {\n  NZ_FORM_SIZE,\n  NZ_FORM_VARIANT,\n  NzFormItemFeedbackIconComponent,\n  NzFormStatusService\n} from 'ng-zorro-antd/core/form';\nimport { NzSizeLDSType, NzStatus, NzVariant } from 'ng-zorro-antd/core/types';\nimport { getStatusClassNames, InputFocusOptions, triggerFocus } from 'ng-zorro-antd/core/util';\nimport { NZ_SPACE_COMPACT_ITEM_TYPE, NZ_SPACE_COMPACT_SIZE, NzSpaceCompactItemDirective } from 'ng-zorro-antd/space';\n\nimport { NzInputPasswordDirective } from './input-password.directive';\nimport { NZ_INPUT_SEARCH, NZ_INPUT_WRAPPER } from './tokens';\n\nconst PREFIX_CLS = 'ant-input';\n\n@Directive({\n  selector: 'input[nz-input],textarea[nz-input]',\n  exportAs: 'nzInput',\n  host: {\n    class: 'ant-input',\n    '[attr.type]': 'type()',\n    '[class]': 'classes()',\n    '[class.ant-input-disabled]': 'finalDisabled()',\n    '[class.ant-input-outlined]': `finalVariant() === 'outlined'`,\n    '[class.ant-input-borderless]': `finalVariant() === 'borderless'`,\n    '[class.ant-input-filled]': `finalVariant() === 'filled'`,\n    '[class.ant-input-underlined]': `finalVariant() === 'underlined'`,\n    '[class.ant-input-lg]': `finalSize() === 'large'`,\n    '[class.ant-input-sm]': `finalSize() === 'small'`,\n    '[attr.disabled]': 'finalDisabled() || null',\n    '[attr.readonly]': 'readonly() || null',\n    '(input)': 'onInput($event)',\n    '[class.ant-input-rtl]': `dir() === 'rtl'`,\n    '[class.ant-input-focused]': 'focused()'\n  },\n  hostDirectives: [NzSpaceCompactItemDirective],\n  providers: [{ provide: NZ_SPACE_COMPACT_ITEM_TYPE, useValue: 'input' }]\n})\nexport class NzInputDirective implements OnInit {\n  private elementRef = inject<ElementRef<HTMLInputElement | HTMLTextAreaElement>>(ElementRef);\n  private compactSize = inject(NZ_SPACE_COMPACT_SIZE, { optional: true });\n  private destroyRef = inject(DestroyRef);\n  private nzFormStatusService = inject(NzFormStatusService, { optional: true });\n  private inputWrapper = inject(NZ_INPUT_WRAPPER, { host: true, optional: true });\n  private focusMonitor = inject(FocusMonitor);\n  private hostView = inject(ViewContainerRef);\n  private readonly inputPasswordDir = inject(NzInputPasswordDirective, { host: true, optional: true });\n  private readonly inputSearchDir = inject(NZ_INPUT_SEARCH, { host: true, optional: true });\n  private readonly formField = inject(FORM_FIELD, { self: true, optional: true });\n\n  readonly ngControl = inject(NgControl, { self: true, optional: true });\n  private readonly nativeValue = signal(this.elementRef.nativeElement.value);\n  readonly value = computed(() => {\n    if (this.formField) {\n      return String(this.formField.state().value() ?? '');\n    }\n    return this.nativeValue();\n  });\n\n  readonly nzVariant = input<NzVariant>();\n  readonly nzSize = input<NzSizeLDSType>('default');\n  readonly nzStatus = input<NzStatus>('');\n  readonly disabled = input(false, { transform: booleanAttribute });\n  readonly readonly = input(false, { transform: booleanAttribute });\n\n  readonly controlDisabled = signal(false);\n  readonly finalDisabled = computed(() => {\n    if (this.formField) {\n      return this.formField.state().disabled();\n    }\n    return this.ngControl ? this.controlDisabled() : this.disabled();\n  });\n  readonly dir = inject(Directionality).valueSignal;\n  // TODO: When the input group is removed, we can remove this.\n  readonly size = linkedSignal(this.nzSize);\n\n  private readonly formSize = inject(NZ_FORM_SIZE, { optional: true });\n  private readonly formVariant = inject(NZ_FORM_VARIANT, { optional: true });\n\n  readonly status = this.nzFormStatusService\n    ? toSignal(this.nzFormStatusService.formStatusChanges.pipe(map(value => value.status)), { initialValue: '' })\n    : this.nzStatus;\n  readonly hasFeedback = toSignal(\n    this.nzFormStatusService?.formStatusChanges.pipe(map(value => value.hasFeedback)) ?? EMPTY,\n    { initialValue: false }\n  );\n  readonly classes = computed(() => getStatusClassNames(PREFIX_CLS, this.status(), this.hasFeedback()));\n  readonly type = computed(() => {\n    if (this.inputPasswordDir) {\n      return this.inputPasswordDir.nzVisible() ? 'text' : 'password';\n    }\n    if (this.inputSearchDir) {\n      return 'search';\n    }\n    return this.elementRef.nativeElement.getAttribute('type') || 'text';\n  });\n\n  protected readonly focused = signal<boolean>(false);\n  protected readonly finalSize = computed(() => {\n    if (this.formSize?.()) {\n      return this.formSize();\n    }\n    if (this.compactSize) {\n      return this.compactSize();\n    }\n    return this.size();\n  });\n\n  protected readonly finalVariant = computed(() => this.nzVariant() || this.formVariant?.() || 'outlined');\n\n  feedbackRef: ComponentRef<NzFormItemFeedbackIconComponent> | null = null;\n  // TODO: When the input group is removed, we can remove this.\n  disabled$ = toObservable(this.finalDisabled);\n\n  constructor() {\n    this.destroyRef.onDestroy(() => {\n      this.focusMonitor.stopMonitoring(this.elementRef);\n    });\n\n    this.focusMonitor\n      .monitor(this.elementRef, false)\n      .pipe(takeUntilDestroyed())\n      .subscribe(origin => this.focused.set(!!origin));\n\n    effect(() => {\n      this.renderFeedbackIcon();\n    });\n  }\n\n  ngOnInit(): void {\n    // statusChanges is only accessible in onInit\n    this.ngControl?.statusChanges?.pipe(startWith(null), takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n      this.controlDisabled.set(!!this.ngControl!.disabled);\n    });\n\n    this.ngControl?.valueChanges\n      ?.pipe(startWith(this.ngControl?.control?.value), takeUntilDestroyed(this.destroyRef))\n      .subscribe(value => {\n        this.nativeValue.set(value ?? '');\n      });\n  }\n\n  onInput(event: Event): void {\n    this.nativeValue.set((event.target as HTMLInputElement | HTMLTextAreaElement).value);\n  }\n\n  private renderFeedbackIcon(): void {\n    if (!this.status() || !this.hasFeedback() || this.inputWrapper) {\n      // remove feedback\n      this.hostView.clear();\n      this.feedbackRef = null;\n      return;\n    }\n\n    this.feedbackRef = this.feedbackRef || this.hostView.createComponent(NzFormItemFeedbackIconComponent);\n    this.feedbackRef.location.nativeElement.classList.add('ant-input-suffix');\n    this.feedbackRef.setInput('status', this.status());\n  }\n\n  focus(options?: InputFocusOptions): void {\n    triggerFocus(this.elementRef.nativeElement, options);\n  }\n\n  blur(): void {\n    this.elementRef.nativeElement.blur();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BACKSPACE, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport {\n  booleanAttribute,\n  Component,\n  DestroyRef,\n  ElementRef,\n  forwardRef,\n  inject,\n  Input,\n  numberAttribute,\n  OnChanges,\n  QueryList,\n  SimpleChanges,\n  ViewChildren,\n  ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n  ControlValueAccessor,\n  FormArray,\n  FormBuilder,\n  FormControl,\n  NG_VALUE_ACCESSOR,\n  ReactiveFormsModule,\n  Validators\n} from '@angular/forms';\nimport { tap } from 'rxjs/operators';\n\nimport { NzSafeAny, NzSizeLDSType, NzStatus, OnTouchedType } from 'ng-zorro-antd/core/types';\n\nimport { NzInputDirective } from './input.directive';\n\n@Component({\n  selector: 'nz-input-otp',\n  exportAs: 'nzInputOtp',\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    @for (item of otpArray.controls; track $index) {\n      <input\n        nz-input\n        class=\"ant-otp-input\"\n        type=\"text\"\n        maxlength=\"1\"\n        size=\"1\"\n        [nzSize]=\"nzSize\"\n        [formControl]=\"item\"\n        [nzStatus]=\"nzStatus\"\n        (input)=\"onInput($index, $event)\"\n        (focus)=\"onFocus($event)\"\n        (keydown)=\"onKeyDown($index, $event)\"\n        (paste)=\"onPaste($index, $event)\"\n        #otpInput\n      />\n    }\n  `,\n  host: {\n    class: 'ant-otp'\n  },\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => NzInputOtpComponent),\n      multi: true\n    }\n  ],\n  imports: [NzInputDirective, ReactiveFormsModule]\n})\nexport class NzInputOtpComponent implements ControlValueAccessor, OnChanges {\n  private formBuilder = inject(FormBuilder);\n  private destroyRef = inject(DestroyRef);\n\n  @ViewChildren('otpInput') otpInputs!: QueryList<ElementRef>;\n\n  @Input({ transform: numberAttribute }) nzLength: number = 6;\n  @Input() nzSize: NzSizeLDSType = 'default';\n  @Input({ transform: booleanAttribute }) disabled = false;\n  @Input() nzStatus: NzStatus = '';\n  @Input() nzFormatter: (value: string) => string = value => value;\n  @Input() nzMask: string | null = null;\n\n  protected otpArray!: FormArray<FormControl<string>>;\n  private internalValue: string[] = [];\n  private onChangeCallback?: (_: NzSafeAny) => void;\n  onTouched: OnTouchedType = () => {};\n\n  constructor() {\n    this.createFormArray();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['nzLength']?.currentValue) {\n      this.createFormArray();\n    }\n\n    if (changes['disabled']) {\n      this.setDisabledState(this.disabled);\n    }\n  }\n\n  onInput(index: number, event: Event): void {\n    const inputElement = event.target as HTMLInputElement;\n    const nextInput = this.otpInputs.toArray()[index + 1];\n\n    if (inputElement.value && nextInput) {\n      nextInput.nativeElement.focus();\n    } else if (!nextInput) {\n      this.selectInputBox(index);\n    }\n  }\n\n  onFocus(event: FocusEvent): void {\n    const inputElement = event.target as HTMLInputElement;\n    inputElement.select();\n  }\n\n  onKeyDown(index: number, event: KeyboardEvent): void {\n    const previousInput = this.otpInputs.toArray()[index - 1];\n\n    if (event.keyCode === BACKSPACE) {\n      event.preventDefault();\n\n      this.internalValue[index] = '';\n      this.otpArray.at(index).setValue('', { emitEvent: false });\n\n      if (previousInput) {\n        this.selectInputBox(index - 1);\n      }\n\n      this.emitValue();\n    } else if (event.keyCode === LEFT_ARROW) {\n      event.preventDefault();\n      this.selectInputBox(index - 1);\n    } else if (event.keyCode === RIGHT_ARROW) {\n      event.preventDefault();\n      this.selectInputBox(index + 1);\n    }\n  }\n\n  writeValue(value: string): void {\n    if (!value) {\n      this.otpArray.reset();\n      return;\n    }\n\n    const controlValues = value.split('');\n    this.internalValue = controlValues;\n\n    controlValues.forEach((val, i) => {\n      const formattedValue = this.nzFormatter(val);\n      const value = this.nzMask ? this.nzMask : formattedValue;\n      this.otpArray.at(i).setValue(value, { emitEvent: false });\n    });\n  }\n\n  registerOnChange(fn: (value: string) => void): void {\n    this.onChangeCallback = fn;\n  }\n\n  registerOnTouched(fn: () => {}): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    if (isDisabled) {\n      this.otpArray.disable();\n    } else {\n      this.otpArray.enable();\n    }\n  }\n\n  onPaste(index: number, event: ClipboardEvent): void {\n    const pastedText = event.clipboardData?.getData('text') || '';\n    if (!pastedText) return;\n\n    let currentIndex = index;\n    for (const char of pastedText.split('')) {\n      if (currentIndex < this.nzLength) {\n        const formattedChar = this.nzFormatter(char);\n        this.internalValue[currentIndex] = char;\n        const maskedValue = this.nzMask ? this.nzMask : formattedChar;\n        this.otpArray.at(currentIndex).setValue(maskedValue, { emitEvent: false });\n        currentIndex++;\n      } else {\n        break;\n      }\n    }\n\n    event.preventDefault(); // this line is needed, otherwise the last index that is going to be selected will also be filled (in the next line).\n    this.selectInputBox(currentIndex);\n    this.emitValue();\n  }\n\n  private createFormArray(): void {\n    this.otpArray = this.formBuilder.array<FormControl<string>>([]);\n    this.internalValue = new Array(this.nzLength).fill('');\n\n    for (let i = 0; i < this.nzLength; i++) {\n      const control = this.formBuilder.nonNullable.control('', [Validators.required]);\n\n      control.valueChanges\n        .pipe(\n          tap(value => {\n            const unmaskedValue = this.nzFormatter(value);\n            this.internalValue[i] = unmaskedValue;\n\n            control.setValue(this.nzMask ?? unmaskedValue, { emitEvent: false });\n\n            this.emitValue();\n          }),\n          takeUntilDestroyed(this.destroyRef)\n        )\n        .subscribe();\n\n      this.otpArray.push(control);\n    }\n  }\n\n  private emitValue(): void {\n    const result = this.internalValue.join('');\n    if (this.onChangeCallback) {\n      this.onChangeCallback(result);\n    }\n  }\n\n  private selectInputBox(index: number): void {\n    const otpInputArray = this.otpInputs.toArray();\n    if (index <= 0) index = 0;\n    if (index >= otpInputArray.length) index = otpInputArray.length - 1;\n\n    otpInputArray[index].nativeElement.select();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n  booleanAttribute,\n  computed,\n  contentChild,\n  Directive,\n  ElementRef,\n  forwardRef,\n  input,\n  output\n} from '@angular/core';\n\nimport { NzInputDirective } from './input.directive';\nimport { NZ_INPUT_SEARCH } from './tokens';\n\n@Directive({\n  selector: 'nz-input-search',\n  exportAs: 'nzInputSearch',\n  providers: [{ provide: NZ_INPUT_SEARCH, useExisting: forwardRef(() => NzInputSearchDirective) }],\n  host: {\n    class: 'ant-input-search',\n    '[class.ant-input-search-large]': `size() === 'large'`,\n    '[class.ant-input-search-small]': `size() === 'small'`,\n    '[class.ant-input-search-with-button]': 'nzEnterButton() !== false',\n    '(keydown.enter)': 'onEnter($any($event))'\n  }\n})\nexport class NzInputSearchDirective {\n  private readonly inputDir = contentChild.required(NzInputDirective);\n  private readonly inputRef = contentChild.required(NzInputDirective, { read: ElementRef });\n\n  readonly nzEnterButton = input<boolean | string>(false);\n  readonly nzLoading = input(false, { transform: booleanAttribute });\n\n  readonly nzSearch = output<NzInputSearchEvent>();\n\n  readonly size = computed(() => this.inputDir().nzSize());\n\n  search(event: Event, source: 'input' | 'clear' = 'input'): void {\n    if (!this.nzLoading()) {\n      this.nzSearch.emit({ value: this.inputRef().nativeElement.value, event, source });\n    }\n  }\n\n  onEnter(event: KeyboardEvent): void {\n    if (event.target === this.inputRef().nativeElement) {\n      this.search(event);\n    }\n  }\n}\n\n@Directive({\n  selector: '[nzInputSearchEnterButton]'\n})\nexport class NzInputSearchEnterButtonDirective {}\n\nexport interface NzInputSearchEvent {\n  value: string;\n  event: Event;\n  source: 'clear' | 'input';\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n  afterNextRender,\n  booleanAttribute,\n  Component,\n  computed,\n  contentChild,\n  DestroyRef,\n  effect,\n  ElementRef,\n  forwardRef,\n  inject,\n  input,\n  output,\n  signal,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { EMPTY, startWith, switchMap } from 'rxjs';\n\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzFormItemFeedbackIconComponent } from 'ng-zorro-antd/core/form';\nimport { getStatusClassNames, getVariantClassNames, isNotNil, isNumberFinite } from 'ng-zorro-antd/core/util';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NZ_SPACE_COMPACT_ITEM_TYPE, NZ_SPACE_COMPACT_SIZE, NzSpaceCompactItemDirective } from 'ng-zorro-antd/space';\n\nimport { NzInputAddonAfterDirective, NzInputAddonBeforeDirective } from './input-addon.directive';\nimport { NzInputPrefixDirective, NzInputSuffixDirective } from './input-affix.directive';\nimport { NzInputPasswordDirective, NzInputPasswordIconDirective } from './input-password.directive';\nimport { NzInputSearchDirective, NzInputSearchEnterButtonDirective } from './input-search.directive';\nimport { NzInputDirective } from './input.directive';\nimport { NZ_INPUT_WRAPPER } from './tokens';\n\nexport interface NzCountConfig {\n  max?: number;\n  strategy?: (value: string) => number;\n  exceedFormatter?: (value: string, config: { max: number }) => string;\n}\n\n@Component({\n  selector: 'nz-input-wrapper,nz-input-password,nz-input-search',\n  exportAs: 'nzInputWrapper',\n  imports: [NzIconModule, NzButtonModule, NzFormItemFeedbackIconComponent, NgTemplateOutlet],\n  template: `\n    @if (hasAddon()) {\n      <ng-template [ngTemplateOutlet]=\"inputWithAddonInner\" />\n    } @else if (hasAffix()) {\n      <ng-template [ngTemplateOutlet]=\"inputWithAffixInner\" />\n    } @else {\n      <ng-template [ngTemplateOutlet]=\"input\" />\n    }\n\n    <ng-template #inputWithAddonInner>\n      <span class=\"ant-input-wrapper ant-input-group\">\n        @if (hasAddonBefore()) {\n          <span class=\"ant-input-group-addon\">\n            <ng-content select=\"[nzInputAddonBefore]\">{{ nzAddonBefore() }}</ng-content>\n          </span>\n        }\n\n        @if (hasAffix()) {\n          <ng-template [ngTemplateOutlet]=\"inputWithAffix\" />\n        } @else {\n          <ng-template [ngTemplateOutlet]=\"input\" />\n        }\n\n        @if (hasAddonAfter()) {\n          <span class=\"ant-input-group-addon\">\n            @if (inputSearchDir) {\n              @let nzEnterButton = inputSearchDir.nzEnterButton();\n              @let hasEnterButton = inputSearchEnterButton() ?? nzEnterButton !== false;\n              <button\n                nz-button\n                [nzType]=\"hasEnterButton ? 'primary' : 'default'\"\n                [nzSize]=\"size()\"\n                [nzLoading]=\"inputSearchDir.nzLoading()\"\n                type=\"button\"\n                class=\"ant-input-search-button\"\n                (click)=\"inputSearchDir.search($event)\"\n              >\n                <ng-content select=\"[nzInputSearchEnterButton]\">\n                  @if (nzEnterButton && typeof nzEnterButton === 'string') {\n                    {{ nzEnterButton }}\n                  } @else {\n                    <nz-icon nzType=\"search\" nzTheme=\"outline\" />\n                  }\n                </ng-content>\n              </button>\n            }\n            <ng-content select=\"[nzInputAddonAfter]\">{{ nzAddonAfter() }}</ng-content>\n          </span>\n        }\n      </span>\n    </ng-template>\n\n    <ng-template #inputWithAffix>\n      <span [class]=\"affixWrapperClass()\">\n        <ng-template [ngTemplateOutlet]=\"inputWithAffixInner\" />\n      </span>\n    </ng-template>\n\n    <ng-template #inputWithAffixInner>\n      @if (hasPrefix()) {\n        <span class=\"ant-input-prefix\">\n          <ng-content select=\"[nzInputPrefix]\">{{ nzPrefix() }}</ng-content>\n        </span>\n      }\n      <ng-template [ngTemplateOutlet]=\"input\" />\n      @if (hasSuffix()) {\n        <span class=\"ant-input-suffix\">\n          @if (nzAllowClear()) {\n            <span\n              class=\"ant-input-clear-icon\"\n              [class.ant-input-clear-icon-has-suffix]=\"\n                nzSuffix() || suffix() || hasFeedback() || inputPasswordDir?.nzVisibilityToggle()\n              \"\n              [class.ant-input-clear-icon-hidden]=\"!inputDir().value() || disabled() || readOnly()\"\n              role=\"button\"\n              tabindex=\"-1\"\n              (click)=\"clear(); inputSearchDir?.search($event, 'clear')\"\n            >\n              <ng-content select=\"[nzInputClearIcon]\">\n                <nz-icon nzType=\"close-circle\" nzTheme=\"fill\" />\n              </ng-content>\n            </span>\n          }\n          @if (nzShowCount()) {\n            <span class=\"ant-input-show-count-suffix\">{{ dataCount() }}</span>\n          }\n          @if (inputPasswordDir && inputPasswordDir.nzVisibilityToggle()) {\n            <span\n              class=\"ant-input-password-icon\"\n              role=\"button\"\n              tabindex=\"-1\"\n              (click)=\"inputPasswordDir.toggleVisible()\"\n            >\n              @if (inputPasswordIconTmpl(); as tmpl) {\n                <ng-template\n                  [ngTemplateOutlet]=\"tmpl\"\n                  [ngTemplateOutletContext]=\"{ $implicit: inputPasswordDir.nzVisible() }\"\n                />\n              } @else {\n                <nz-icon [nzType]=\"inputPasswordDir.nzVisible() ? 'eye' : 'eye-invisible'\" nzTheme=\"outline\" />\n              }\n            </span>\n          }\n          <ng-content select=\"[nzInputSuffix]\">{{ nzSuffix() }}</ng-content>\n          @if (hasFeedback() && status()) {\n            <nz-form-item-feedback-icon [status]=\"status()\" />\n          }\n        </span>\n      }\n    </ng-template>\n\n    <ng-template #input>\n      <ng-content select=\"[nz-input]\" />\n    </ng-template>\n  `,\n  providers: [\n    { provide: NZ_SPACE_COMPACT_ITEM_TYPE, useValue: 'input' },\n    { provide: NZ_INPUT_WRAPPER, useExisting: forwardRef(() => NzInputWrapperComponent) }\n  ],\n  encapsulation: ViewEncapsulation.None,\n  hostDirectives: [NzSpaceCompactItemDirective],\n  host: {\n    '[class]': 'class()',\n    '[class.ant-input-disabled]': 'disabled()',\n    '[class.ant-input-out-of-range]': 'nzShowCount() && isOutOfRange()',\n    '[class.ant-input-affix-wrapper-textarea-with-clear-btn]': 'nzAllowClear() && isTextarea()'\n  }\n})\nexport class NzInputWrapperComponent {\n  private readonly focusMonitor = inject(FocusMonitor);\n\n  protected readonly inputPasswordDir = inject(NzInputPasswordDirective, { self: true, optional: true });\n  protected readonly inputSearchDir = inject(NzInputSearchDirective, { self: true, optional: true });\n\n  protected readonly inputRef = contentChild.required(NzInputDirective, { read: ElementRef });\n  protected readonly inputDir = contentChild.required(NzInputDirective);\n\n  protected readonly prefix = contentChild(NzInputPrefixDirective);\n  protected readonly suffix = contentChild(NzInputSuffixDirective);\n  protected readonly addonBefore = contentChild(NzInputAddonBeforeDirective);\n  protected readonly addonAfter = contentChild(NzInputAddonAfterDirective);\n  protected readonly inputPasswordIconTmpl = contentChild(NzInputPasswordIconDirective, { read: TemplateRef });\n  protected readonly inputSearchEnterButton = contentChild(NzInputSearchEnterButtonDirective);\n\n  readonly nzAllowClear = input(false, { transform: booleanAttribute });\n  readonly nzPrefix = input<string>();\n  readonly nzSuffix = input<string>();\n  readonly nzAddonBefore = input<string>();\n  readonly nzAddonAfter = input<string>();\n\n  readonly nzShowCount = input(false, { transform: booleanAttribute });\n  readonly nzCount = input<NzCountConfig>();\n\n  readonly nzClear = output<void>();\n\n  readonly size = computed(() => this.inputDir().nzSize());\n  readonly variant = computed(() => this.inputDir().nzVariant());\n  readonly disabled = computed(() => this.inputDir().finalDisabled());\n  readonly readOnly = computed(() => this.inputDir().readonly());\n  readonly status = computed(() => this.inputDir().status());\n  readonly hasFeedback = computed(() => this.inputDir().hasFeedback());\n\n  protected readonly hasPrefix = computed(() => !!this.nzPrefix() || !!this.prefix());\n  protected readonly hasSuffix = computed(\n    () =>\n      !!this.nzSuffix() ||\n      !!this.suffix() ||\n      this.nzAllowClear() ||\n      this.hasFeedback() ||\n      this.nzShowCount() ||\n      this.inputPasswordDir\n  );\n  protected readonly hasAffix = computed(() => this.hasPrefix() || this.hasSuffix());\n  protected readonly hasAddonBefore = computed(() => !!this.nzAddonBefore() || !!this.addonBefore());\n  protected readonly hasAddonAfter = computed(\n    () => !!this.nzAddonAfter() || !!this.addonAfter() || !!this.inputSearchDir\n  );\n  protected readonly hasAddon = computed(() => this.hasAddonBefore() || this.hasAddonAfter());\n\n  private readonly compactSize = inject(NZ_SPACE_COMPACT_SIZE, { optional: true });\n  protected readonly dir = inject(Directionality).valueSignal;\n  protected readonly focused = signal(false);\n  protected readonly isTextarea = computed(() => this.inputRef().nativeElement instanceof HTMLTextAreaElement);\n\n  protected readonly finalSize = computed(() => {\n    if (this.compactSize) {\n      return this.compactSize();\n    }\n    return this.size();\n  });\n\n  protected readonly class = computed(() => {\n    if (this.hasAddon()) {\n      return this.groupWrapperClass();\n    }\n    if (this.hasAffix()) {\n      return this.affixWrapperClass();\n    }\n    return null;\n  });\n  protected readonly affixWrapperClass = computed(() => {\n    return {\n      'ant-input-affix-wrapper': true,\n      'ant-input-affix-wrapper-lg': this.finalSize() === 'large',\n      'ant-input-affix-wrapper-sm': this.finalSize() === 'small',\n      'ant-input-affix-wrapper-disabled': this.disabled(),\n      'ant-input-affix-wrapper-readonly': this.readOnly(),\n      'ant-input-affix-wrapper-focused': this.focused(),\n      'ant-input-affix-wrapper-rtl': this.dir() === 'rtl',\n      ...getStatusClassNames('ant-input-affix-wrapper', this.status(), this.hasFeedback()),\n      ...getVariantClassNames('ant-input-affix-wrapper', this.variant())\n    };\n  });\n  protected readonly groupWrapperClass = computed(() => {\n    return {\n      'ant-input-group-wrapper': true,\n      'ant-input-group-wrapper-sm': this.finalSize() === 'small',\n      'ant-input-group-wrapper-lg': this.finalSize() === 'large',\n      'ant-input-group-wrapper-rtl': this.dir() === 'rtl',\n      ...getStatusClassNames('ant-input-group-wrapper', this.status(), this.hasFeedback()),\n      ...getVariantClassNames('ant-input-group-wrapper', this.variant())\n    };\n  });\n\n  protected readonly inputValue = toSignal(\n    toObservable(this.inputDir).pipe(\n      switchMap(inputDir => {\n        const ngControl = inputDir.ngControl;\n        if (!ngControl) return EMPTY;\n        return (ngControl.valueChanges ?? EMPTY).pipe(startWith(ngControl.value as string));\n      })\n    )\n  );\n  protected readonly formattedValue = computed(() => {\n    const countConfig = this.nzCount();\n    const inputValue = this.inputValue();\n    const countMax = countConfig?.max ?? 0;\n    const value = isNotNil(inputValue) ? String(inputValue) : '';\n    let formattedValue = value;\n\n    if (countConfig?.exceedFormatter) {\n      formattedValue = countConfig.exceedFormatter(value, { max: countMax });\n    }\n    return formattedValue;\n  });\n  protected readonly computedCount = computed(() => {\n    const countConfig = this.nzCount();\n    const formattedValue = this.formattedValue();\n    let computedCount = formattedValue.length;\n\n    if (countConfig?.strategy) {\n      computedCount = countConfig.strategy(formattedValue);\n    }\n    return computedCount;\n  });\n  protected readonly dataCount = computed(() => {\n    const countConfig = this.nzCount();\n    const computedCount = this.computedCount();\n    const countMax = countConfig?.max;\n    return `${computedCount}${countMax ? `/${countMax}` : ``}`;\n  });\n  protected readonly isOutOfRange = computed(() => {\n    const countConfig = this.nzCount();\n    const countMax = countConfig?.max;\n    if (isNumberFinite(countMax)) {\n      return this.computedCount() > countMax!;\n    }\n    return false;\n  });\n\n  constructor() {\n    const destroyRef = inject(DestroyRef);\n\n    afterNextRender(() => {\n      const element = this.inputRef();\n      this.focusMonitor\n        .monitor(element)\n        .pipe(takeUntilDestroyed(destroyRef))\n        .subscribe(origin => {\n          this.focused.set(!!origin);\n        });\n\n      destroyRef.onDestroy(() => {\n        this.focusMonitor.stopMonitoring(element);\n      });\n    });\n\n    effect(() => {\n      if (this.nzCount()) {\n        const inputValue = this.inputValue();\n        const formattedValue = this.formattedValue();\n\n        if (isNotNil(inputValue) && formattedValue !== inputValue) {\n          this.inputDir().ngControl?.control?.setValue(formattedValue);\n        }\n      }\n    });\n  }\n\n  clear(): void {\n    this.inputDir().ngControl?.control?.setValue('');\n    this.nzClear.emit();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n  AfterContentInit,\n  Component,\n  ContentChild,\n  ElementRef,\n  effect,\n  inject,\n  Injector,\n  Input,\n  isDevMode,\n  numberAttribute,\n  Renderer2\n} from '@angular/core';\n\nimport { isNotNil } from 'ng-zorro-antd/core/util';\n\nimport { NzInputDirective } from './input.directive';\n\n@Component({\n  selector: 'nz-textarea-count',\n  template: `<ng-content select=\"textarea[nz-input]\" />`,\n  host: {\n    class: 'ant-input-textarea-show-count'\n  }\n})\nexport class NzTextareaCountComponent implements AfterContentInit {\n  private renderer = inject(Renderer2);\n  private injector = inject(Injector);\n  private elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n  @ContentChild(NzInputDirective, { static: true }) nzInputDirective!: NzInputDirective;\n  @Input({ transform: numberAttribute }) nzMaxCharacterCount: number = 0;\n  @Input() nzComputeCharacterCount: (v: string) => number = v => v.length;\n  @Input() nzFormatter: (cur: number, max: number) => string = (c, m) => `${c}${m > 0 ? `/${m}` : ``}`;\n\n  ngAfterContentInit(): void {\n    if (!this.nzInputDirective && isDevMode()) {\n      throw new Error('[nz-textarea-count]: Could not find matching textarea[nz-input] child.');\n    }\n\n    effect(() => this.setDataCount(this.nzInputDirective.value()), { injector: this.injector });\n  }\n\n  setDataCount(value: string): void {\n    const inputValue = isNotNil(value) ? String(value) : '';\n    const currentCount = this.nzComputeCharacterCount(inputValue);\n    const dataCount = this.nzFormatter(currentCount, this.nzMaxCharacterCount);\n    this.renderer.setAttribute(this.elementRef.nativeElement, 'data-count', dataCount);\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { NzInputAddonAfterDirective, NzInputAddonBeforeDirective } from './input-addon.directive';\nimport { NzInputPrefixDirective, NzInputSuffixDirective } from './input-affix.directive';\nimport { NzInputOtpComponent } from './input-otp.component';\nimport { NzInputPasswordDirective, NzInputPasswordIconDirective } from './input-password.directive';\nimport { NzInputSearchDirective, NzInputSearchEnterButtonDirective } from './input-search.directive';\nimport { NzInputWrapperComponent } from './input-wrapper.component';\nimport { NzInputDirective } from './input.directive';\nimport { NzTextareaCountComponent } from './textarea-count.component';\n\n@NgModule({\n  imports: [\n    NzTextareaCountComponent,\n    NzInputDirective,\n    NzInputWrapperComponent,\n    NzInputPasswordDirective,\n    NzInputPasswordIconDirective,\n    NzInputSearchDirective,\n    NzInputSearchEnterButtonDirective,\n    NzInputAddonBeforeDirective,\n    NzInputAddonAfterDirective,\n    NzInputPrefixDirective,\n    NzInputSuffixDirective,\n    NzInputOtpComponent\n  ],\n  exports: [\n    NzTextareaCountComponent,\n    NzInputDirective,\n    NzInputWrapperComponent,\n    NzInputPasswordDirective,\n    NzInputPasswordIconDirective,\n    NzInputSearchDirective,\n    NzInputSearchEnterButtonDirective,\n    NzInputAddonBeforeDirective,\n    NzInputAddonAfterDirective,\n    NzInputPrefixDirective,\n    NzInputSuffixDirective,\n    NzInputOtpComponent\n  ]\n})\nexport class NzInputModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './input-addon.directive';\nexport * from './input-affix.directive';\nexport * from './input-otp.component';\nexport * from './input-password.directive';\nexport * from './input-search.directive';\nexport * from './input-wrapper.component';\nexport * from './input.directive';\nexport * from './input.module';\nexport * from './textarea-count.component';\nexport * from './tokens';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","startWith"],"mappings":"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"}