{"version":3,"file":"ng-zorro-antd-input.mjs","sources":["../../components/input/input.directive.ts","../../components/input/input-group-slot.component.ts","../../components/input/input-group.component.ts","../../components/input/autosize.directive.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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  Directive,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Renderer2,\n  Self,\n  SimpleChanges\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { BooleanInput, NzSizeLDSType } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\n@Directive({\n  selector: 'input[nz-input],textarea[nz-input]',\n  exportAs: 'nzInput',\n  host: {\n    '[class.ant-input-disabled]': 'disabled',\n    '[class.ant-input-borderless]': 'nzBorderless',\n    '[class.ant-input-lg]': `nzSize === 'large'`,\n    '[class.ant-input-sm]': `nzSize === 'small'`,\n    '[attr.disabled]': 'disabled || null',\n    '[class.ant-input-rtl]': `dir=== 'rtl'`\n  }\n})\nexport class NzInputDirective implements OnChanges, OnInit, OnDestroy {\n  static ngAcceptInputType_disabled: BooleanInput;\n  static ngAcceptInputType_nzBorderless: BooleanInput;\n  @Input() @InputBoolean() nzBorderless = false;\n  @Input() nzSize: NzSizeLDSType = 'default';\n  @Input()\n  get disabled(): boolean {\n    if (this.ngControl && this.ngControl.disabled !== null) {\n      return this.ngControl.disabled;\n    }\n    return this._disabled;\n  }\n  set disabled(value: boolean) {\n    this._disabled = value != null && `${value}` !== 'false';\n  }\n  _disabled = false;\n  disabled$ = new Subject<boolean>();\n  dir: Direction = 'ltr';\n  private destroy$ = new Subject<void>();\n\n  constructor(\n    @Optional() @Self() public ngControl: NgControl,\n    renderer: Renderer2,\n    elementRef: ElementRef,\n    @Optional() private directionality: Directionality\n  ) {\n    renderer.addClass(elementRef.nativeElement, 'ant-input');\n  }\n\n  ngOnInit(): void {\n    if (this.ngControl) {\n      this.ngControl.statusChanges\n        ?.pipe(\n          filter(() => this.ngControl.disabled !== null),\n          takeUntil(this.destroy$)\n        )\n        .subscribe(() => {\n          this.disabled$.next(this.ngControl.disabled!);\n        });\n    }\n\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n    });\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { disabled } = changes;\n    if (disabled) {\n      this.disabled$.next(this.disabled);\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\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 { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: '[nz-input-group-slot]',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <i nz-icon [nzType]=\"icon\" *ngIf=\"icon\"></i>\n    <ng-container *nzStringTemplateOutlet=\"template\">{{ template }}</ng-container>\n  `,\n  host: {\n    '[class.ant-input-group-addon]': `type === 'addon'`,\n    '[class.ant-input-prefix]': `type === 'prefix'`,\n    '[class.ant-input-suffix]': `type === 'suffix'`\n  }\n})\nexport class NzInputGroupSlotComponent {\n  @Input() icon?: string | null = null;\n  @Input() type: 'addon' | 'prefix' | 'suffix' | null = null;\n  @Input() template?: string | TemplateRef<void> | null = null;\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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  QueryList,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { merge, Subject } from 'rxjs';\nimport { map, mergeMap, startWith, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { BooleanInput, NzSizeLDSType } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { NzInputDirective } from './input.directive';\n\n@Directive({\n  selector: `nz-input-group[nzSuffix], nz-input-group[nzPrefix]`\n})\nexport class NzInputGroupWhitSuffixOrPrefixDirective {\n  constructor(public elementRef: ElementRef) {}\n}\n\n@Component({\n  selector: 'nz-input-group',\n  exportAs: 'nzInputGroup',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <span class=\"ant-input-wrapper ant-input-group\" *ngIf=\"isAddOn; else noAddOnTemplate\">\n      <span\n        *ngIf=\"nzAddOnBefore || nzAddOnBeforeIcon\"\n        nz-input-group-slot\n        type=\"addon\"\n        [icon]=\"nzAddOnBeforeIcon\"\n        [template]=\"nzAddOnBefore\"\n      ></span>\n      <span\n        *ngIf=\"isAffix; else contentTemplate\"\n        class=\"ant-input-affix-wrapper\"\n        [class.ant-input-affix-wrapper-disabled]=\"disabled\"\n        [class.ant-input-affix-wrapper-sm]=\"isSmall\"\n        [class.ant-input-affix-wrapper-lg]=\"isLarge\"\n      >\n        <ng-template [ngTemplateOutlet]=\"affixTemplate\"></ng-template>\n      </span>\n      <span\n        *ngIf=\"nzAddOnAfter || nzAddOnAfterIcon\"\n        nz-input-group-slot\n        type=\"addon\"\n        [icon]=\"nzAddOnAfterIcon\"\n        [template]=\"nzAddOnAfter\"\n      ></span>\n    </span>\n    <ng-template #noAddOnTemplate>\n      <ng-template [ngIf]=\"isAffix\" [ngIfElse]=\"contentTemplate\">\n        <ng-template [ngTemplateOutlet]=\"affixTemplate\"></ng-template>\n      </ng-template>\n    </ng-template>\n    <ng-template #affixTemplate>\n      <span\n        *ngIf=\"nzPrefix || nzPrefixIcon\"\n        nz-input-group-slot\n        type=\"prefix\"\n        [icon]=\"nzPrefixIcon\"\n        [template]=\"nzPrefix\"\n      ></span>\n      <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n      <span\n        *ngIf=\"nzSuffix || nzSuffixIcon\"\n        nz-input-group-slot\n        type=\"suffix\"\n        [icon]=\"nzSuffixIcon\"\n        [template]=\"nzSuffix\"\n      ></span>\n    </ng-template>\n    <ng-template #contentTemplate>\n      <ng-content></ng-content>\n    </ng-template>\n  `,\n  host: {\n    '[class.ant-input-group-compact]': `nzCompact`,\n    '[class.ant-input-search-enter-button]': `nzSearch`,\n    '[class.ant-input-search]': `nzSearch`,\n    '[class.ant-input-search-rtl]': `dir === 'rtl'`,\n    '[class.ant-input-search-sm]': `nzSearch && isSmall`,\n    '[class.ant-input-search-large]': `nzSearch && isLarge`,\n    '[class.ant-input-group-wrapper]': `isAddOn`,\n    '[class.ant-input-group-wrapper-rtl]': `dir === 'rtl'`,\n    '[class.ant-input-group-wrapper-lg]': `isAddOn && isLarge`,\n    '[class.ant-input-group-wrapper-sm]': `isAddOn && isSmall`,\n    '[class.ant-input-affix-wrapper]': `isAffix && !isAddOn`,\n    '[class.ant-input-affix-wrapper-rtl]': `dir === 'rtl'`,\n    '[class.ant-input-affix-wrapper-focused]': `isAffix && focused`,\n    '[class.ant-input-affix-wrapper-disabled]': `isAffix && disabled`,\n    '[class.ant-input-affix-wrapper-lg]': `isAffix && !isAddOn && isLarge`,\n    '[class.ant-input-affix-wrapper-sm]': `isAffix && !isAddOn && isSmall`,\n    '[class.ant-input-group]': `!isAffix && !isAddOn`,\n    '[class.ant-input-group-rtl]': `dir === 'rtl'`,\n    '[class.ant-input-group-lg]': `!isAffix && !isAddOn && isLarge`,\n    '[class.ant-input-group-sm]': `!isAffix && !isAddOn && isSmall`\n  }\n})\nexport class NzInputGroupComponent implements AfterContentInit, OnChanges, OnInit, OnDestroy {\n  static ngAcceptInputType_nzSearch: BooleanInput;\n  static ngAcceptInputType_nzCompact: BooleanInput;\n\n  @ContentChildren(NzInputDirective) listOfNzInputDirective!: QueryList<NzInputDirective>;\n  @Input() nzAddOnBeforeIcon?: string | null = null;\n  @Input() nzAddOnAfterIcon?: string | null = null;\n  @Input() nzPrefixIcon?: string | null = null;\n  @Input() nzSuffixIcon?: string | null = null;\n  @Input() nzAddOnBefore?: string | TemplateRef<void>;\n  @Input() nzAddOnAfter?: string | TemplateRef<void>;\n  @Input() nzPrefix?: string | TemplateRef<void>;\n  @Input() nzSuffix?: string | TemplateRef<void>;\n  @Input() nzSize: NzSizeLDSType = 'default';\n  @Input() @InputBoolean() nzSearch = false;\n  @Input() @InputBoolean() nzCompact = false;\n  isLarge = false;\n  isSmall = false;\n  isAffix = false;\n  isAddOn = false;\n  focused = false;\n  disabled = false;\n  dir: Direction = 'ltr';\n  private destroy$ = new Subject<void>();\n\n  constructor(\n    private focusMonitor: FocusMonitor,\n    private elementRef: ElementRef,\n    private cdr: ChangeDetectorRef,\n    @Optional() private directionality: Directionality\n  ) {}\n\n  updateChildrenInputSize(): void {\n    if (this.listOfNzInputDirective) {\n      this.listOfNzInputDirective.forEach(item => (item.nzSize = this.nzSize));\n    }\n  }\n\n  ngOnInit(): void {\n    this.focusMonitor\n      .monitor(this.elementRef, true)\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(focusOrigin => {\n        this.focused = !!focusOrigin;\n        this.cdr.markForCheck();\n      });\n\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n    });\n  }\n\n  ngAfterContentInit(): void {\n    this.updateChildrenInputSize();\n    const listOfInputChange$ = this.listOfNzInputDirective.changes.pipe(startWith(this.listOfNzInputDirective));\n    listOfInputChange$\n      .pipe(\n        switchMap(list => merge(...[listOfInputChange$, ...list.map((input: NzInputDirective) => input.disabled$)])),\n        mergeMap(() => listOfInputChange$),\n        map(list => list.some((input: NzInputDirective) => input.disabled)),\n        takeUntil(this.destroy$)\n      )\n      .subscribe(disabled => {\n        this.disabled = disabled;\n        this.cdr.markForCheck();\n      });\n  }\n  ngOnChanges(changes: SimpleChanges): void {\n    const {\n      nzSize,\n      nzSuffix,\n      nzPrefix,\n      nzPrefixIcon,\n      nzSuffixIcon,\n      nzAddOnAfter,\n      nzAddOnBefore,\n      nzAddOnAfterIcon,\n      nzAddOnBeforeIcon\n    } = changes;\n    if (nzSize) {\n      this.updateChildrenInputSize();\n      this.isLarge = this.nzSize === 'large';\n      this.isSmall = this.nzSize === 'small';\n    }\n    if (nzSuffix || nzPrefix || nzPrefixIcon || nzSuffixIcon) {\n      this.isAffix = !!(this.nzSuffix || this.nzPrefix || this.nzPrefixIcon || this.nzSuffixIcon);\n    }\n    if (nzAddOnAfter || nzAddOnBefore || nzAddOnAfterIcon || nzAddOnBeforeIcon) {\n      this.isAddOn = !!(this.nzAddOnAfter || this.nzAddOnBefore || this.nzAddOnAfterIcon || this.nzAddOnBeforeIcon);\n    }\n  }\n  ngOnDestroy(): void {\n    this.focusMonitor.stopMonitoring(this.elementRef);\n    this.destroy$.next();\n    this.destroy$.complete();\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 { Platform } from '@angular/cdk/platform';\nimport { AfterViewInit, Directive, DoCheck, ElementRef, Input, NgZone, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzResizeService } from 'ng-zorro-antd/core/services';\n\nexport interface AutoSizeType {\n  minRows?: number;\n  maxRows?: number;\n}\n\n@Directive({\n  selector: 'textarea[nzAutosize]',\n  exportAs: 'nzAutosize',\n  host: {\n    // Textarea elements that have the directive applied should have a single row by default.\n    // Browsers normally show two rows by default and therefore this limits the minRows binding.\n    rows: '1',\n    '(input)': 'noopInputHandler()'\n  }\n})\nexport class NzAutosizeDirective implements AfterViewInit, OnDestroy, DoCheck {\n  private autosize: boolean = false;\n  private el: HTMLTextAreaElement | HTMLInputElement = this.elementRef.nativeElement;\n  private cachedLineHeight!: number;\n  private previousValue!: string;\n  private previousMinRows: number | undefined;\n  private minRows: number | undefined;\n  private maxRows: number | undefined;\n  private maxHeight: number | null = null;\n  private minHeight: number | null = null;\n  private destroy$ = new Subject();\n  private inputGap = 10;\n\n  @Input()\n  set nzAutosize(value: string | boolean | AutoSizeType) {\n    const isAutoSizeType = (data: string | boolean | AutoSizeType): data is AutoSizeType =>\n      typeof data !== 'string' && typeof data !== 'boolean' && (!!data.maxRows || !!data.minRows);\n    if (typeof value === 'string' || value === true) {\n      this.autosize = true;\n    } else if (isAutoSizeType(value)) {\n      this.autosize = true;\n      this.minRows = value.minRows;\n      this.maxRows = value.maxRows;\n      this.maxHeight = this.setMaxHeight();\n      this.minHeight = this.setMinHeight();\n    }\n  }\n\n  resizeToFitContent(force: boolean = false): void {\n    this.cacheTextareaLineHeight();\n\n    // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n    // in checking the height of the textarea.\n    if (!this.cachedLineHeight) {\n      return;\n    }\n\n    const textarea = this.el as HTMLTextAreaElement;\n    const value = textarea.value;\n\n    // Only resize if the value or minRows have changed since these calculations can be expensive.\n    if (!force && this.minRows === this.previousMinRows && value === this.previousValue) {\n      return;\n    }\n    const placeholderText = textarea.placeholder;\n\n    // Reset the textarea height to auto in order to shrink back to its default size.\n    // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n    // Long placeholders that are wider than the textarea width may lead to a bigger scrollHeight\n    // value. To ensure that the scrollHeight is not bigger than the content, the placeholders\n    // need to be removed temporarily.\n    textarea.classList.add('nz-textarea-autosize-measuring');\n    textarea.placeholder = '';\n    let height =\n      Math.round((textarea.scrollHeight - this.inputGap) / this.cachedLineHeight) * this.cachedLineHeight +\n      this.inputGap;\n    if (this.maxHeight !== null && height > this.maxHeight) {\n      height = this.maxHeight!;\n    }\n    if (this.minHeight !== null && height < this.minHeight) {\n      height = this.minHeight!;\n    }\n    // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n    textarea.style.height = `${height}px`;\n    textarea.classList.remove('nz-textarea-autosize-measuring');\n    textarea.placeholder = placeholderText;\n\n    // On Firefox resizing the textarea will prevent it from scrolling to the caret position.\n    // We need to re-set the selection in order for it to scroll to the proper position.\n    if (typeof requestAnimationFrame !== 'undefined') {\n      this.ngZone.runOutsideAngular(() =>\n        requestAnimationFrame(() => {\n          const { selectionStart, selectionEnd } = textarea;\n\n          // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n          // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n          // between the time we requested the animation frame and when it was executed.\n          // Also note that we have to assert that the textarea is focused before we set the\n          // selection range. Setting the selection range on a non-focused textarea will cause\n          // it to receive focus on IE and Edge.\n          if (!this.destroy$.isStopped && document.activeElement === textarea) {\n            textarea.setSelectionRange(selectionStart, selectionEnd);\n          }\n        })\n      );\n    }\n\n    this.previousValue = value;\n    this.previousMinRows = this.minRows;\n  }\n\n  private cacheTextareaLineHeight(): void {\n    if (this.cachedLineHeight >= 0 || !this.el.parentNode) {\n      return;\n    }\n\n    // Use a clone element because we have to override some styles.\n    const textareaClone = this.el.cloneNode(false) as HTMLTextAreaElement;\n    textareaClone.rows = 1;\n\n    // Use `position: absolute` so that this doesn't cause a browser layout and use\n    // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n    // would affect the height.\n    textareaClone.style.position = 'absolute';\n    textareaClone.style.visibility = 'hidden';\n    textareaClone.style.border = 'none';\n    textareaClone.style.padding = '0';\n    textareaClone.style.height = '';\n    textareaClone.style.minHeight = '';\n    textareaClone.style.maxHeight = '';\n\n    // In Firefox it happens that textarea elements are always bigger than the specified amount\n    // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n    // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n    // to hidden. This ensures that there is no invalid calculation of the line height.\n    // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n    textareaClone.style.overflow = 'hidden';\n\n    this.el.parentNode!.appendChild(textareaClone);\n    this.cachedLineHeight = textareaClone.clientHeight - this.inputGap;\n    this.el.parentNode!.removeChild(textareaClone);\n\n    // Min and max heights have to be re-calculated if the cached line height changes\n    this.maxHeight = this.setMaxHeight();\n    this.minHeight = this.setMinHeight();\n  }\n\n  setMinHeight(): number | null {\n    const minHeight =\n      this.minRows && this.cachedLineHeight ? this.minRows * this.cachedLineHeight + this.inputGap : null;\n\n    if (minHeight !== null) {\n      this.el.style.minHeight = `${minHeight}px`;\n    }\n    return minHeight;\n  }\n\n  setMaxHeight(): number | null {\n    const maxHeight =\n      this.maxRows && this.cachedLineHeight ? this.maxRows * this.cachedLineHeight + this.inputGap : null;\n    if (maxHeight !== null) {\n      this.el.style.maxHeight = `${maxHeight}px`;\n    }\n    return maxHeight;\n  }\n\n  noopInputHandler(): void {\n    // no-op handler that ensures we're running change detection on input events.\n  }\n\n  constructor(\n    private elementRef: ElementRef,\n    private ngZone: NgZone,\n    private platform: Platform,\n    private resizeService: NzResizeService\n  ) {}\n\n  ngAfterViewInit(): void {\n    if (this.autosize && this.platform.isBrowser) {\n      this.resizeToFitContent();\n      this.resizeService\n        .subscribe()\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(() => this.resizeToFitContent(true));\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  ngDoCheck(): void {\n    if (this.autosize && this.platform.isBrowser) {\n      this.resizeToFitContent();\n    }\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  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  ElementRef,\n  Input,\n  isDevMode,\n  OnDestroy,\n  Renderer2\n} from '@angular/core';\nimport { EMPTY, merge, Subject } from 'rxjs';\nimport { map, startWith, takeUntil } from 'rxjs/operators';\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]\"></ng-content> `,\n  host: {\n    class: 'ant-input-textarea-show-count'\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NzTextareaCountComponent implements AfterContentInit, OnDestroy {\n  @ContentChild(NzInputDirective, { static: true }) nzInputDirective!: NzInputDirective;\n  @Input() 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  private configChange$ = new Subject();\n  private destroy$ = new Subject();\n\n  constructor(private renderer: Renderer2, private elementRef: ElementRef<HTMLElement>) {}\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    if (this.nzInputDirective.ngControl) {\n      const valueChanges = this.nzInputDirective.ngControl.valueChanges || EMPTY;\n      merge(valueChanges, this.configChange$)\n        .pipe(\n          takeUntil(this.destroy$),\n          map(() => this.nzInputDirective.ngControl.value),\n          startWith(this.nzInputDirective.ngControl.value as string)\n        )\n        .subscribe(value => {\n          this.setDataCount(value);\n        });\n    }\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  ngOnDestroy(): void {\n    this.configChange$.complete();\n    this.destroy$.next();\n    this.destroy$.complete();\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 { BidiModule } from '@angular/cdk/bidi';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzAutosizeDirective } from './autosize.directive';\nimport { NzInputGroupSlotComponent } from './input-group-slot.component';\nimport { NzInputGroupComponent, NzInputGroupWhitSuffixOrPrefixDirective } from './input-group.component';\nimport { NzInputDirective } from './input.directive';\nimport { NzTextareaCountComponent } from './textarea-count.component';\n\n@NgModule({\n  declarations: [\n    NzTextareaCountComponent,\n    NzInputDirective,\n    NzInputGroupComponent,\n    NzAutosizeDirective,\n    NzInputGroupSlotComponent,\n    NzInputGroupWhitSuffixOrPrefixDirective\n  ],\n  exports: [\n    NzTextareaCountComponent,\n    NzInputDirective,\n    NzInputGroupComponent,\n    NzAutosizeDirective,\n    NzInputGroupWhitSuffixOrPrefixDirective\n  ],\n  imports: [BidiModule, CommonModule, NzIconModule, PlatformModule, NzOutletModule]\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-group.component';\nexport * from './input.module';\nexport * from './input-group.component';\nexport * from './input-group-slot.component';\nexport * from './input.directive';\nexport * from './autosize.directive';\nexport * from './textarea-count.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}