{"version":3,"file":"ui-vts-kit-ng-vts-input.mjs","sources":["../../components/input/input.directive.ts","../../components/input/input-group-slot.component.ts","../../components/input/input-group.component.ts","../../components/input/calculateNodeHeight.ts","../../components/input/autosize.directive.ts","../../components/input/textarea-count.component.ts","../../components/input/input.module.ts","../../components/input/public-api.ts","../../components/input/ui-vts-kit-ng-vts-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  HostListener,\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 { BooleanInput, VtsSizeXLMSType } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\n@Directive({\n  selector: 'input[vts-input],textarea[vts-input]',\n  exportAs: 'vtsInput',\n  host: {\n    '[class.vts-input-disabled]': 'disabled',\n    '[class.vts-input-borderless]': 'vtsBorderless',\n    '[class.vts-input-filled]': 'filled',\n    '[class.vts-input-xl]': `vtsSize === 'xl'`,\n    '[class.vts-input-lg]': `vtsSize === 'lg'`,\n    '[class.vts-input-md]': `vtsSize === 'md'`,\n    '[class.vts-input-sm]': `vtsSize === 'sm'`,\n    '[attr.disabled]': 'disabled || null',\n    '[class.vts-input-rtl]': `dir=== 'rtl'`\n  }\n})\nexport class VtsInputDirective implements OnChanges, OnInit, OnDestroy {\n  static ngAcceptInputType_disabled: BooleanInput;\n  static ngAcceptInputType_vtsBorderless: BooleanInput;\n  @Input() @InputBoolean() vtsBorderless = false;\n  @Input() vtsSize: VtsSizeXLMSType = 'md';\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  filled: boolean = false;\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, 'vts-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  @HostListener('keyup', ['$event']) onKeyup(e: KeyboardEvent) {\n    this.filled = !!e.target && !!(e.target as HTMLInputElement).value;\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 {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n  selector: '[vts-input-group-slot]',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <i vts-icon [vtsType]=\"icon\" *ngIf=\"icon\"></i>\n    <ng-container *vtsStringTemplateOutlet=\"template\">\n      {{ template }}\n    </ng-container>\n  `,\n  host: {\n    '[class.vts-input-group-addon]': `type === 'addon'`,\n    '[class.vts-input-prefix]': `type === 'prefix'`,\n    '[class.vts-input-suffix]': `type === 'suffix'`\n  }\n})\nexport class VtsInputGroupSlotComponent {\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 */\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 { BooleanInput, VtsSizeXLMSType } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { merge, Subject } from 'rxjs';\nimport { map, mergeMap, startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { VtsInputDirective } from './input.directive';\n\n@Directive({\n  selector: `vts-input-group[vtsSuffix], vts-input-group[vtsPrefix]`\n})\nexport class VtsInputGroupWhitSuffixOrPrefixDirective {\n  constructor(public elementRef: ElementRef) {}\n}\n\n@Component({\n  selector: 'vts-input-group',\n  exportAs: 'vtsInputGroup',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <span class=\"vts-input-wrapper vts-input-group\" *ngIf=\"isAddOn; else noAddOnTemplate\">\n      <span\n        *ngIf=\"vtsAddOnBefore || vtsAddOnBeforeIcon\"\n        vts-input-group-slot\n        type=\"addon\"\n        [icon]=\"vtsAddOnBeforeIcon\"\n        [template]=\"vtsAddOnBefore\"\n      ></span>\n      <span\n        *ngIf=\"isAffix; else contentTemplate\"\n        class=\"vts-input-affix-wrapper\"\n        [class.vts-input-affix-wrapper-sm]=\"vtsSize == 'sm'\"\n        [class.vts-input-affix-wrapper-md]=\"vtsSize == 'md'\"\n        [class.vts-input-affix-wrapper-lg]=\"vtsSize == 'lg'\"\n        [class.vts-input-affix-wrapper-xl]=\"vtsSize == 'xl'\"\n      >\n        <ng-template [ngTemplateOutlet]=\"affixTemplate\"></ng-template>\n      </span>\n      <span\n        *ngIf=\"vtsAddOnAfter || vtsAddOnAfterIcon\"\n        vts-input-group-slot\n        type=\"addon\"\n        [icon]=\"vtsAddOnAfterIcon\"\n        [template]=\"vtsAddOnAfter\"\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=\"vtsPrefix || vtsPrefixIcon\"\n        vts-input-group-slot\n        type=\"prefix\"\n        [icon]=\"vtsPrefixIcon\"\n        [template]=\"vtsPrefix\"\n      ></span>\n      <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n      <span\n        *ngIf=\"vtsSuffix || vtsSuffixIcon\"\n        vts-input-group-slot\n        type=\"suffix\"\n        [icon]=\"vtsSuffixIcon\"\n        [template]=\"vtsSuffix\"\n      ></span>\n    </ng-template>\n    <ng-template #contentTemplate>\n      <ng-content></ng-content>\n    </ng-template>\n  `,\n  host: {\n    '[class.vts-input-group-compact]': `vtsCompact`,\n    '[class.vts-input-search-enter-button]': `vtsSearch`,\n    '[class.vts-input-search]': `vtsSearch`,\n    '[class.vts-input-search-rtl]': `dir === 'rtl'`,\n    '[class.vts-input-search-sm]': `vtsSearch && vtsSize == 'sm'`,\n    '[class.vts-input-search-md]': `vtsSearch && vtsSize == 'md'`,\n    '[class.vts-input-search-lg]': `vtsSearch && vtsSize == 'lg'`,\n    '[class.vts-input-search-xl]': `vtsSearch && vtsSize == 'xl'`,\n    '[class.vts-input-group-wrapper]': `isAddOn`,\n    '[class.vts-input-group-wrapper-rtl]': `dir === 'rtl'`,\n    '[class.vts-input-group-wrapper-sm]': `isAddOn && vtsSize == 'sm'`,\n    '[class.vts-input-group-wrapper-md]': `isAddOn && vtsSize == 'md'`,\n    '[class.vts-input-group-wrapper-lg]': `isAddOn && vtsSize == 'lg'`,\n    '[class.vts-input-group-wrapper-xl]': `isAddOn && vtsSize == 'xl'`,\n    '[class.vts-input-affix-wrapper]': `isAffix && !isAddOn`,\n    '[class.vts-input-affix-wrapper-rtl]': `dir === 'rtl'`,\n    '[class.vts-input-affix-wrapper-focused]': `isAffix && focused`,\n    '[class.vts-input-affix-wrapper-disabled]': `isAffix && disabled`,\n    '[class.vts-input-affix-wrapper-sm]': `isAffix && !isAddOn && vtsSize == 'sm'`,\n    '[class.vts-input-affix-wrapper-md]': `isAffix && !isAddOn && vtsSize == 'md'`,\n    '[class.vts-input-affix-wrapper-lg]': `isAffix && !isAddOn && vtsSize == 'lg'`,\n    '[class.vts-input-affix-wrapper-xl]': `isAffix && !isAddOn && vtsSize == 'xl'`,\n    '[class.vts-input-group]': `!isAffix && !isAddOn`,\n    '[class.vts-input-group-rtl]': `dir === 'rtl'`,\n    '[class.vts-input-group-sm]': `!isAffix && !isAddOn && vtsSize == 'sm'`,\n    '[class.vts-input-group-md]': `!isAffix && !isAddOn && vtsSize == 'md'`,\n    '[class.vts-input-group-lg]': `!isAffix && !isAddOn && vtsSize == 'lg'`,\n    '[class.vts-input-group-xl]': `!isAffix && !isAddOn && vtsSize == 'xl'`\n  }\n})\nexport class VtsInputGroupComponent implements AfterContentInit, OnChanges, OnInit, OnDestroy {\n  static ngAcceptInputType_vtsSearch: BooleanInput;\n  static ngAcceptInputType_vtsCompact: BooleanInput;\n\n  @ContentChildren(VtsInputDirective)\n  listOfVtsInputDirective!: QueryList<VtsInputDirective>;\n  @Input() vtsAddOnBeforeIcon?: string | null = null;\n  @Input() vtsAddOnAfterIcon?: string | null = null;\n  @Input() vtsPrefixIcon?: string | null = null;\n  @Input() vtsSuffixIcon?: string | null = null;\n  @Input() vtsAddOnBefore?: string | TemplateRef<void>;\n  @Input() vtsAddOnAfter?: string | TemplateRef<void>;\n  @Input() vtsPrefix?: string | TemplateRef<void>;\n  @Input() vtsSuffix?: string | TemplateRef<void>;\n  @Input() vtsSize: VtsSizeXLMSType = 'md';\n  @Input() @InputBoolean() vtsSearch = false;\n  @Input() @InputBoolean() vtsCompact = 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.listOfVtsInputDirective) {\n      this.listOfVtsInputDirective.forEach(item => (item.vtsSize = this.vtsSize));\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.listOfVtsInputDirective.changes.pipe(\n      startWith(this.listOfVtsInputDirective)\n    );\n    listOfInputChange$\n      .pipe(\n        switchMap(list => {\n          return merge(\n            ...[listOfInputChange$, ...list.map((input: VtsInputDirective) => input.disabled$)]\n          );\n        }),\n        mergeMap(() => listOfInputChange$),\n        map(list => list.some((input: VtsInputDirective) => 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      vtsSize,\n      vtsSuffix,\n      vtsPrefix,\n      vtsPrefixIcon,\n      vtsSuffixIcon,\n      vtsAddOnAfter,\n      vtsAddOnBefore,\n      vtsAddOnAfterIcon,\n      vtsAddOnBeforeIcon\n    } = changes;\n    if (vtsSize) {\n      this.updateChildrenInputSize();\n    }\n    if (vtsSuffix || vtsPrefix || vtsPrefixIcon || vtsSuffixIcon) {\n      this.isAffix = !!(\n        this.vtsSuffix ||\n        this.vtsPrefix ||\n        this.vtsPrefixIcon ||\n        this.vtsSuffixIcon\n      );\n    }\n    if (vtsAddOnAfter || vtsAddOnBefore || vtsAddOnAfterIcon || vtsAddOnBeforeIcon) {\n      this.isAddOn = !!(\n        this.vtsAddOnAfter ||\n        this.vtsAddOnBefore ||\n        this.vtsAddOnAfterIcon ||\n        this.vtsAddOnBeforeIcon\n      );\n    }\n  }\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\n\nconst HIDDEN_TEXTAREA_STYLE = `\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n`;\n\nconst SIZING_STYLE = [\n  'letter-spacing',\n  'line-height',\n  'padding-top',\n  'padding-bottom',\n  'font-family',\n  'font-weight',\n  'font-size',\n  'font-variant',\n  'text-rendering',\n  'text-transform',\n  'width',\n  'text-indent',\n  'padding-left',\n  'padding-right',\n  'border-width',\n  'box-sizing',\n  'word-break'\n];\n\nexport interface NodeType {\n  sizingStyle: string;\n  paddingSize: number;\n  borderSize: number;\n  boxSizing: string;\n}\n\nconst computedStyleCache: { [key: string]: NodeType } = {};\nlet hiddenTextarea: HTMLTextAreaElement;\n\nexport function calculateNodeStyling(node: HTMLElement, useCache = false) {\n  const nodeRef = (node.getAttribute('id') ||\n    node.getAttribute('data-reactid') ||\n    node.getAttribute('name')) as string;\n\n  if (useCache && computedStyleCache[nodeRef]) {\n    return computedStyleCache[nodeRef];\n  }\n\n  const style = window.getComputedStyle(node);\n\n  const boxSizing =\n    style.getPropertyValue('box-sizing') ||\n    style.getPropertyValue('-moz-box-sizing') ||\n    style.getPropertyValue('-webkit-box-sizing');\n\n  const paddingSize =\n    parseFloat(style.getPropertyValue('padding-bottom')) +\n    parseFloat(style.getPropertyValue('padding-top'));\n\n  const borderSize =\n    parseFloat(style.getPropertyValue('border-bottom-width')) +\n    parseFloat(style.getPropertyValue('border-top-width'));\n\n  const sizingStyle = SIZING_STYLE.map(name => `${name}:${style.getPropertyValue(name)}`).join(';');\n\n  const nodeInfo: NodeType = {\n    sizingStyle,\n    paddingSize,\n    borderSize,\n    boxSizing\n  };\n\n  if (useCache && nodeRef) {\n    computedStyleCache[nodeRef] = nodeInfo;\n  }\n\n  return nodeInfo;\n}\n\nexport default function calculateNodeHeight(\n  uiTextNode: HTMLTextAreaElement | HTMLInputElement,\n  useCache = false,\n  minRows: number | null = null,\n  maxRows: number | null = null\n) {\n  if (!hiddenTextarea) {\n    hiddenTextarea = document.createElement('textarea');\n    hiddenTextarea.setAttribute('tab-index', '-1');\n    hiddenTextarea.setAttribute('aria-hidden', 'true');\n    document.body.appendChild(hiddenTextarea);\n  }\n\n  // Fix wrap=\"off\" issue\n  // https://github.com/ant-design/ant-design/issues/6577\n  if (uiTextNode.getAttribute('wrap')) {\n    hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap') as string);\n  } else {\n    hiddenTextarea.removeAttribute('wrap');\n  }\n\n  // Copy all CSS properties that have an impact on the height of the content in\n  // the textbox\n  const { paddingSize, borderSize, boxSizing, sizingStyle } = calculateNodeStyling(\n    uiTextNode,\n    useCache\n  );\n\n  // Need to have the overflow attribute to hide the scrollbar otherwise\n  // text-lines will not calculated properly as the shadow will technically be\n  // narrower for content\n  hiddenTextarea.setAttribute('style', `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`);\n  hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n\n  let minHeight = Number.MIN_SAFE_INTEGER;\n  let maxHeight = Number.MAX_SAFE_INTEGER;\n  let height = hiddenTextarea.scrollHeight;\n  let overflowY: any;\n\n  if (boxSizing === 'border-box') {\n    // border-box: add border, since height = content + padding + border\n    height += borderSize;\n  } else if (boxSizing === 'content-box') {\n    // remove padding, since height = content\n    height -= paddingSize;\n  }\n\n  if (minRows !== null || maxRows !== null) {\n    // measure height of a textarea with a single row\n    hiddenTextarea.value = ' ';\n    const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n    if (minRows !== null) {\n      minHeight = singleRowHeight * minRows;\n      if (boxSizing === 'border-box') {\n        minHeight = minHeight + paddingSize + borderSize;\n      }\n      height = Math.max(minHeight, height);\n    }\n    if (maxRows !== null) {\n      maxHeight = singleRowHeight * maxRows;\n      if (boxSizing === 'border-box') {\n        maxHeight = maxHeight + paddingSize + borderSize;\n      }\n      overflowY = height > maxHeight ? '' : 'hidden';\n      height = Math.min(maxHeight, height);\n    }\n  }\n  return {\n    height: `${height}px`,\n    minHeight: `${minHeight}px`,\n    maxHeight: `${maxHeight}px`,\n    overflowY,\n    resize: 'none'\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 {\n  AfterViewInit,\n  Directive,\n  DoCheck,\n  ElementRef,\n  Input,\n  NgZone,\n  OnDestroy\n} from '@angular/core';\nimport { VtsResizeService } from '@ui-vts-kit/ng-vts/core/services';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport calculateNodeHeight from './calculateNodeHeight';\n\nexport interface AutoSizeType {\n  minRows?: number;\n  maxRows?: number;\n}\n\n@Directive({\n  selector: 'textarea[vtsAutosize]',\n  exportAs: 'vtsAutosize',\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 VtsAutosizeDirective 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 destroy$ = new Subject();\n\n  @Input()\n  set vtsAutosize(value: AutoSizeType | string | boolean) {\n    const isAutoSizeType = (data: string | boolean | AutoSizeType): data is AutoSizeType => {\n      return (\n        typeof data !== 'string' && typeof data !== 'boolean' && (!!data.maxRows || !!data.minRows)\n      );\n    };\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    }\n  }\n\n  resizeToFitContent(force: boolean = false): void {\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.placeholder = '';\n    const styles = calculateNodeHeight(this.el, false, this.minRows, this.maxRows);\n    Object.entries(styles).forEach(([k, v]) => ((this.el.style as any)[k] = v));\n    // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\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  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: VtsResizeService\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 */\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  ElementRef,\n  Input,\n  isDevMode,\n  OnDestroy,\n  Renderer2\n} from '@angular/core';\n\nimport { EMPTY, merge, Subject } from 'rxjs';\nimport { map, startWith, takeUntil } from 'rxjs/operators';\n\nimport { isNotNil } from '@ui-vts-kit/ng-vts/core/util';\n\nimport { VtsInputDirective } from './input.directive';\n\n@Component({\n  selector: 'vts-textarea-count',\n  template: `\n    <ng-content select=\"textarea[vts-input]\"></ng-content>\n  `,\n  host: {\n    class: 'vts-input-textarea-show-count'\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VtsTextareaCountComponent implements AfterContentInit, OnDestroy {\n  @ContentChild(VtsInputDirective, { static: true })\n  vtsInputDirective!: VtsInputDirective;\n  @Input() vtsMaxCharacterCount: number = 0;\n  @Input() vtsComputeCharacterCount: (v: string) => number = v => v.length;\n  @Input() vtsFormatter: (cur: number, max: number) => string = (c, m) =>\n    `${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.vtsInputDirective && isDevMode()) {\n      throw new Error('[vts-textarea-count]: Could not find matching textarea[vts-input] child.');\n    }\n\n    if (this.vtsInputDirective.ngControl) {\n      const valueChanges = this.vtsInputDirective.ngControl.valueChanges || EMPTY;\n      merge(valueChanges, this.configChange$)\n        .pipe(\n          takeUntil(this.destroy$),\n          map(() => this.vtsInputDirective.ngControl.value),\n          startWith(this.vtsInputDirective.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.vtsComputeCharacterCount(inputValue);\n    const dataCount = this.vtsFormatter(currentCount, this.vtsMaxCharacterCount);\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 { VtsOutletModule } from '@ui-vts-kit/ng-vts/core/outlet';\nimport { VtsIconModule } from '@ui-vts-kit/ng-vts/icon';\n\nimport { VtsAutosizeDirective } from './autosize.directive';\nimport { VtsInputGroupSlotComponent } from './input-group-slot.component';\nimport {\n  VtsInputGroupComponent,\n  VtsInputGroupWhitSuffixOrPrefixDirective\n} from './input-group.component';\nimport { VtsInputDirective } from './input.directive';\nimport { VtsTextareaCountComponent } from './textarea-count.component';\n\n@NgModule({\n  declarations: [\n    VtsTextareaCountComponent,\n    VtsInputDirective,\n    VtsInputGroupComponent,\n    VtsAutosizeDirective,\n    VtsInputGroupSlotComponent,\n    VtsInputGroupWhitSuffixOrPrefixDirective\n  ],\n  exports: [\n    VtsTextareaCountComponent,\n    VtsInputDirective,\n    VtsInputGroupComponent,\n    VtsAutosizeDirective,\n    VtsInputGroupWhitSuffixOrPrefixDirective\n  ],\n  imports: [BidiModule, CommonModule, VtsIconModule, PlatformModule, VtsOutletModule]\n})\nexport class VtsInputModule {}\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":["i1","i2","i3","i4.VtsInputGroupSlotComponent"],"mappings":"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"}