{"version":3,"file":"ng-zorro-antd-input-number.mjs","sources":["../../components/input-number/input-number.component.ts","../../components/input-number/input-number-group-slot.component.ts","../../components/input-number/input-number-group.component.ts","../../components/input-number/input-number.module.ts","../../components/input-number/public-api.ts","../../components/input-number/ng-zorro-antd-input-number.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 { FocusMonitor } from '@angular/cdk/a11y';\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { DOWN_ARROW, ENTER, UP_ARROW } from '@angular/cdk/keycodes';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  Renderer2,\n  SimpleChanges,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { fromEvent, merge, Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { NzFormNoStatusService, NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport {\n  BooleanInput,\n  NgClassInterface,\n  NzSizeLDSType,\n  NzStatus,\n  NzValidateStatus,\n  OnChangeType,\n  OnTouchedType\n} from 'ng-zorro-antd/core/types';\nimport { getStatusClassNames, InputBoolean, isNotNil } from 'ng-zorro-antd/core/util';\n\n@Component({\n  selector: 'nz-input-number',\n  exportAs: 'nzInputNumber',\n  template: `\n    <div class=\"ant-input-number-handler-wrap\">\n      <span\n        #upHandler\n        unselectable=\"unselectable\"\n        class=\"ant-input-number-handler ant-input-number-handler-up\"\n        (mousedown)=\"up($event)\"\n        [class.ant-input-number-handler-up-disabled]=\"disabledUp\"\n      >\n        <span nz-icon nzType=\"up\" class=\"ant-input-number-handler-up-inner\"></span>\n      </span>\n      <span\n        #downHandler\n        unselectable=\"unselectable\"\n        class=\"ant-input-number-handler ant-input-number-handler-down\"\n        (mousedown)=\"down($event)\"\n        [class.ant-input-number-handler-down-disabled]=\"disabledDown\"\n      >\n        <span nz-icon nzType=\"down\" class=\"ant-input-number-handler-down-inner\"></span>\n      </span>\n    </div>\n    <div class=\"ant-input-number-input-wrap\">\n      <input\n        #inputElement\n        autocomplete=\"off\"\n        class=\"ant-input-number-input\"\n        [attr.id]=\"nzId\"\n        [attr.autofocus]=\"nzAutoFocus ? 'autofocus' : null\"\n        [disabled]=\"nzDisabled\"\n        [attr.min]=\"nzMin\"\n        [attr.max]=\"nzMax\"\n        [placeholder]=\"nzPlaceHolder\"\n        [attr.step]=\"nzStep\"\n        [readOnly]=\"nzReadOnly\"\n        [attr.inputmode]=\"nzInputMode\"\n        [ngModel]=\"displayValue\"\n        (ngModelChange)=\"onModelChange($event)\"\n      />\n    </div>\n    <nz-form-item-feedback-icon\n      class=\"ant-input-number-suffix\"\n      *ngIf=\"hasFeedback && !!status && !nzFormNoStatusService\"\n      [status]=\"status\"\n    ></nz-form-item-feedback-icon>\n  `,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => NzInputNumberComponent),\n      multi: true\n    },\n    NzDestroyService\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'ant-input-number',\n    '[class.ant-input-number-in-form-item]': '!!nzFormStatusService',\n    '[class.ant-input-number-focused]': 'isFocused',\n    '[class.ant-input-number-lg]': `nzSize === 'large'`,\n    '[class.ant-input-number-sm]': `nzSize === 'small'`,\n    '[class.ant-input-number-disabled]': 'nzDisabled',\n    '[class.ant-input-number-readonly]': 'nzReadOnly',\n    '[class.ant-input-number-rtl]': `dir === 'rtl'`,\n    '[class.ant-input-number-borderless]': `nzBorderless`\n  }\n})\nexport class NzInputNumberComponent implements ControlValueAccessor, AfterViewInit, OnChanges, OnInit, OnDestroy {\n  static ngAcceptInputType_nzDisabled: BooleanInput;\n  static ngAcceptInputType_nzReadOnly: BooleanInput;\n  static ngAcceptInputType_nzAutoFocus: BooleanInput;\n  static ngAcceptInputType_nzBorderless: BooleanInput;\n\n  private autoStepTimer?: number;\n  private parsedValue?: string | number;\n  private value?: number;\n  displayValue?: string | number;\n  isFocused = false;\n  disabled$ = new Subject<boolean>();\n  disabledUp = false;\n  disabledDown = false;\n  dir: Direction = 'ltr';\n  // status\n  prefixCls: string = 'ant-input-number';\n  status: NzValidateStatus = '';\n  statusCls: NgClassInterface = {};\n  hasFeedback: boolean = false;\n  onChange: OnChangeType = () => {};\n  onTouched: OnTouchedType = () => {};\n\n  @Output() readonly nzBlur = new EventEmitter();\n  @Output() readonly nzFocus = new EventEmitter();\n  /** The native `<span class=\"ant-input-number-handler-up\"></span>` element. */\n  @ViewChild('upHandler', { static: true }) upHandler!: ElementRef<HTMLElement>;\n  /** The native `<span class=\"ant-input-number-handler-down\"></span>` element. */\n  @ViewChild('downHandler', { static: true }) downHandler!: ElementRef<HTMLElement>;\n  /** The native `<input class=\"ant-input-number-input\" />` element. */\n  @ViewChild('inputElement', { static: true }) inputElement!: ElementRef<HTMLInputElement>;\n  @Input() nzSize: NzSizeLDSType = 'default';\n  @Input() nzMin: number = -Infinity;\n  @Input() nzMax: number = Infinity;\n  @Input() nzParser = (value: string): string =>\n    value\n      .trim()\n      .replace(/。/g, '.')\n      .replace(/[^\\w\\.-]+/g, '');\n  @Input() nzPrecision?: number;\n  @Input() nzPrecisionMode: 'cut' | 'toFixed' | ((value: number | string, precision?: number) => number) = 'toFixed';\n  @Input() nzPlaceHolder = '';\n  @Input() nzStatus: NzStatus = '';\n  @Input() nzStep = 1;\n  @Input() nzInputMode: string = 'decimal';\n  @Input() nzId: string | null = null;\n  @Input() @InputBoolean() nzDisabled = false;\n  @Input() @InputBoolean() nzReadOnly = false;\n  @Input() @InputBoolean() nzAutoFocus = false;\n  @Input() @InputBoolean() nzBorderless: boolean = false;\n  @Input() nzFormatter: (value: number) => string | number = value => value;\n\n  onModelChange(value: string): void {\n    this.parsedValue = this.nzParser(value);\n    this.inputElement.nativeElement.value = `${this.parsedValue}`;\n    const validValue = this.getCurrentValidValue(this.parsedValue);\n    this.setValue(validValue);\n  }\n\n  getCurrentValidValue(value: string | number): number {\n    let val = value;\n    if (val === '') {\n      val = '';\n    } else if (!this.isNotCompleteNumber(val)) {\n      val = `${this.getValidValue(val)}`;\n    } else {\n      val = this.value!;\n    }\n    return this.toNumber(val);\n  }\n\n  // '1.' '1x' 'xx' '' => are not complete numbers\n  isNotCompleteNumber(num: string | number): boolean {\n    return (\n      isNaN(num as number) ||\n      num === '' ||\n      num === null ||\n      !!(num && num.toString().indexOf('.') === num.toString().length - 1)\n    );\n  }\n\n  getValidValue(value?: string | number): string | number | undefined {\n    let val = parseFloat(value as string);\n    // https://github.com/ant-design/ant-design/issues/7358\n    if (isNaN(val)) {\n      return value;\n    }\n    if (val < this.nzMin) {\n      val = this.nzMin;\n    }\n    if (val > this.nzMax) {\n      val = this.nzMax;\n    }\n    return val;\n  }\n\n  toNumber(num: string | number): number {\n    if (this.isNotCompleteNumber(num)) {\n      return num as number;\n    }\n    const numStr = String(num);\n    if (numStr.indexOf('.') >= 0 && isNotNil(this.nzPrecision)) {\n      if (typeof this.nzPrecisionMode === 'function') {\n        return this.nzPrecisionMode(num, this.nzPrecision);\n      } else if (this.nzPrecisionMode === 'cut') {\n        const numSplit = numStr.split('.');\n        numSplit[1] = numSplit[1].slice(0, this.nzPrecision);\n        return Number(numSplit.join('.'));\n      }\n      return Number(Number(num).toFixed(this.nzPrecision));\n    }\n    return Number(num);\n  }\n\n  getRatio(e: KeyboardEvent): number {\n    let ratio = 1;\n    if (e.metaKey || e.ctrlKey) {\n      ratio = 0.1;\n    } else if (e.shiftKey) {\n      ratio = 10;\n    }\n    return ratio;\n  }\n\n  down(e: MouseEvent | KeyboardEvent, ratio?: number): void {\n    if (!this.isFocused) {\n      this.focus();\n    }\n    this.step('down', e, ratio);\n  }\n\n  up(e: MouseEvent | KeyboardEvent, ratio?: number): void {\n    if (!this.isFocused) {\n      this.focus();\n    }\n    this.step('up', e, ratio);\n  }\n\n  getPrecision(value: number): number {\n    const valueString = value.toString();\n    if (valueString.indexOf('e-') >= 0) {\n      return parseInt(valueString.slice(valueString.indexOf('e-') + 2), 10);\n    }\n    let precision = 0;\n    if (valueString.indexOf('.') >= 0) {\n      precision = valueString.length - valueString.indexOf('.') - 1;\n    }\n    return precision;\n  }\n\n  // step={1.0} value={1.51}\n  // press +\n  // then value should be 2.51, rather than 2.5\n  // if this.props.precision is undefined\n  // https://github.com/react-component/input-number/issues/39\n  getMaxPrecision(currentValue: string | number, ratio: number): number {\n    if (isNotNil(this.nzPrecision)) {\n      return this.nzPrecision;\n    }\n    const ratioPrecision = this.getPrecision(ratio);\n    const stepPrecision = this.getPrecision(this.nzStep);\n    const currentValuePrecision = this.getPrecision(currentValue as number);\n    if (!currentValue) {\n      return ratioPrecision + stepPrecision;\n    }\n    return Math.max(currentValuePrecision, ratioPrecision + stepPrecision);\n  }\n\n  getPrecisionFactor(currentValue: string | number, ratio: number): number {\n    const precision = this.getMaxPrecision(currentValue, ratio);\n    return Math.pow(10, precision);\n  }\n\n  upStep(val: string | number, rat: number): number {\n    const precisionFactor = this.getPrecisionFactor(val, rat);\n    const precision = Math.abs(this.getMaxPrecision(val, rat));\n    let result;\n    if (typeof val === 'number') {\n      result = ((precisionFactor * val + precisionFactor * this.nzStep * rat) / precisionFactor).toFixed(precision);\n    } else {\n      result = this.nzMin === -Infinity ? this.nzStep : this.nzMin;\n    }\n    return this.toNumber(result);\n  }\n\n  downStep(val: string | number, rat: number): number {\n    const precisionFactor = this.getPrecisionFactor(val, rat);\n    const precision = Math.abs(this.getMaxPrecision(val, rat));\n    let result;\n    if (typeof val === 'number') {\n      result = ((precisionFactor * val - precisionFactor * this.nzStep * rat) / precisionFactor).toFixed(precision);\n    } else {\n      result = this.nzMin === -Infinity ? -this.nzStep : this.nzMin;\n    }\n    return this.toNumber(result);\n  }\n\n  step<T extends keyof NzInputNumberComponent>(type: T, e: MouseEvent | KeyboardEvent, ratio: number = 1): void {\n    this.stop();\n    e.preventDefault();\n    if (this.nzDisabled) {\n      return;\n    }\n    const value = this.getCurrentValidValue(this.parsedValue!) || 0;\n    let val = 0;\n    if (type === 'up') {\n      val = this.upStep(value, ratio);\n    } else if (type === 'down') {\n      val = this.downStep(value, ratio);\n    }\n    const outOfRange = val > this.nzMax || val < this.nzMin;\n    if (val > this.nzMax) {\n      val = this.nzMax;\n    } else if (val < this.nzMin) {\n      val = this.nzMin;\n    }\n    this.setValue(val);\n    this.updateDisplayValue(val);\n    this.isFocused = true;\n    if (outOfRange) {\n      return;\n    }\n    this.autoStepTimer = setTimeout(() => {\n      (this[type] as (e: MouseEvent | KeyboardEvent, ratio: number) => void)(e, ratio);\n    }, 300);\n  }\n\n  stop(): void {\n    if (this.autoStepTimer) {\n      clearTimeout(this.autoStepTimer);\n    }\n  }\n\n  setValue(value: number): void {\n    if (`${this.value}` !== `${value}`) {\n      this.onChange(value);\n    }\n    this.value = value;\n    this.parsedValue = value;\n    this.disabledUp = this.disabledDown = false;\n    if (value || value === 0) {\n      const val = Number(value);\n      if (val >= this.nzMax) {\n        this.disabledUp = true;\n      }\n      if (val <= this.nzMin) {\n        this.disabledDown = true;\n      }\n    }\n  }\n\n  updateDisplayValue(value: number): void {\n    const displayValue = isNotNil(this.nzFormatter(value)) ? this.nzFormatter(value) : '';\n    this.displayValue = displayValue;\n    this.inputElement.nativeElement.value = `${displayValue}`;\n  }\n\n  writeValue(value: number): void {\n    this.value = value;\n    this.setValue(value);\n    this.updateDisplayValue(value);\n    this.cdr.markForCheck();\n  }\n\n  registerOnChange(fn: OnChangeType): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: OnTouchedType): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(disabled: boolean): void {\n    this.nzDisabled = disabled;\n    this.disabled$.next(disabled);\n    this.cdr.markForCheck();\n  }\n\n  focus(): void {\n    this.focusMonitor.focusVia(this.inputElement, 'keyboard');\n  }\n\n  blur(): void {\n    this.inputElement.nativeElement.blur();\n  }\n\n  constructor(\n    private ngZone: NgZone,\n    private elementRef: ElementRef<HTMLElement>,\n    private cdr: ChangeDetectorRef,\n    private focusMonitor: FocusMonitor,\n    private renderer: Renderer2,\n    @Optional() private directionality: Directionality,\n    private destroy$: NzDestroyService,\n    @Optional() public nzFormStatusService?: NzFormStatusService,\n    @Optional() public nzFormNoStatusService?: NzFormNoStatusService\n  ) {}\n\n  ngOnInit(): void {\n    this.nzFormStatusService?.formStatusChanges\n      .pipe(\n        distinctUntilChanged((pre, cur) => {\n          return pre.status === cur.status && pre.hasFeedback === cur.hasFeedback;\n        }),\n        takeUntil(this.destroy$)\n      )\n      .subscribe(({ status, hasFeedback }) => {\n        this.setStatusStyles(status, hasFeedback);\n      });\n\n    this.focusMonitor\n      .monitor(this.elementRef, true)\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(focusOrigin => {\n        if (!focusOrigin) {\n          this.isFocused = false;\n          this.updateDisplayValue(this.value!);\n          this.nzBlur.emit();\n          Promise.resolve().then(() => this.onTouched());\n        } else {\n          this.isFocused = true;\n          this.nzFocus.emit();\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    this.setupHandlersListeners();\n\n    this.ngZone.runOutsideAngular(() => {\n      fromEvent(this.inputElement.nativeElement, 'keyup')\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(() => this.stop());\n\n      fromEvent<KeyboardEvent>(this.inputElement.nativeElement, 'keydown')\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(event => {\n          const { keyCode } = event;\n\n          if (keyCode !== UP_ARROW && keyCode !== DOWN_ARROW && keyCode !== ENTER) {\n            return;\n          }\n\n          this.ngZone.run(() => {\n            if (keyCode === UP_ARROW) {\n              const ratio = this.getRatio(event);\n              this.up(event, ratio);\n              this.stop();\n            } else if (keyCode === DOWN_ARROW) {\n              const ratio = this.getRatio(event);\n              this.down(event, ratio);\n              this.stop();\n            } else {\n              this.updateDisplayValue(this.value!);\n            }\n\n            this.cdr.markForCheck();\n          });\n        });\n    });\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { nzStatus, nzDisabled } = changes;\n    if (changes.nzFormatter && !changes.nzFormatter.isFirstChange()) {\n      const validValue = this.getCurrentValidValue(this.parsedValue!);\n      this.setValue(validValue);\n      this.updateDisplayValue(validValue);\n    }\n    if (nzDisabled) {\n      this.disabled$.next(this.nzDisabled);\n    }\n    if (nzStatus) {\n      this.setStatusStyles(this.nzStatus, this.hasFeedback);\n    }\n  }\n\n  ngAfterViewInit(): void {\n    if (this.nzAutoFocus) {\n      this.focus();\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.focusMonitor.stopMonitoring(this.elementRef);\n  }\n\n  private setupHandlersListeners(): void {\n    this.ngZone.runOutsideAngular(() => {\n      merge(\n        fromEvent(this.upHandler.nativeElement, 'mouseup'),\n        fromEvent(this.upHandler.nativeElement, 'mouseleave'),\n        fromEvent(this.downHandler.nativeElement, 'mouseup'),\n        fromEvent(this.downHandler.nativeElement, 'mouseleave')\n      )\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(() => this.stop());\n    });\n  }\n\n  private setStatusStyles(status: NzValidateStatus, hasFeedback: boolean): void {\n    // set inner status\n    this.status = status;\n    this.hasFeedback = hasFeedback;\n    this.cdr.markForCheck();\n    // render status if nzStatus is set\n    this.statusCls = getStatusClassNames(this.prefixCls, status, hasFeedback);\n    Object.keys(this.statusCls).forEach(status => {\n      if (this.statusCls[status]) {\n        this.renderer.addClass(this.elementRef.nativeElement, status);\n      } else {\n        this.renderer.removeClass(this.elementRef.nativeElement, status);\n      }\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 { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: '[nz-input-number-group-slot]',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <span nz-icon [nzType]=\"icon\" *ngIf=\"icon\"></span>\n    <ng-container *nzStringTemplateOutlet=\"template\">{{ template }}</ng-container>\n    <ng-content></ng-content>\n  `,\n  host: {\n    '[class.ant-input-number-group-addon]': `type === 'addon'`,\n    '[class.ant-input-number-prefix]': `type === 'prefix'`,\n    '[class.ant-input-number-suffix]': `type === 'suffix'`\n  }\n})\nexport class NzInputNumberGroupSlotComponent {\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  Renderer2,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { merge, Subject } from 'rxjs';\nimport { distinctUntilChanged, map, mergeMap, startWith, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { NzFormNoStatusService, NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport { BooleanInput, NgClassInterface, NzSizeLDSType, NzStatus, NzValidateStatus } from 'ng-zorro-antd/core/types';\nimport { getStatusClassNames, InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { NzInputNumberComponent } from './input-number.component';\n\n@Directive({\n  selector: `nz-input-number-group[nzSuffix], nz-input-number-group[nzPrefix]`\n})\nexport class NzInputNumberGroupWhitSuffixOrPrefixDirective {\n  constructor(public elementRef: ElementRef) {}\n}\n\n@Component({\n  selector: 'nz-input-number-group',\n  exportAs: 'nzInputNumberGroup',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [NzFormNoStatusService],\n  template: `\n    <span class=\"ant-input-number-wrapper ant-input-number-group\" *ngIf=\"isAddOn; else noAddOnTemplate\">\n      <div\n        *ngIf=\"nzAddOnBefore || nzAddOnBeforeIcon\"\n        nz-input-number-group-slot\n        type=\"addon\"\n        [icon]=\"nzAddOnBeforeIcon\"\n        [template]=\"nzAddOnBefore\"\n      ></div>\n      <div\n        *ngIf=\"isAffix || hasFeedback; else contentTemplate\"\n        class=\"ant-input-number-affix-wrapper\"\n        [class.ant-input-number-affix-wrapper-disabled]=\"disabled\"\n        [class.ant-input-number-affix-wrapper-sm]=\"isSmall\"\n        [class.ant-input-number-affix-wrapper-lg]=\"isLarge\"\n        [class.ant-input-number-affix-wrapper-focused]=\"focused\"\n        [ngClass]=\"affixInGroupStatusCls\"\n      >\n        <ng-template [ngTemplateOutlet]=\"affixTemplate\"></ng-template>\n      </div>\n      <span\n        *ngIf=\"nzAddOnAfter || nzAddOnAfterIcon\"\n        nz-input-number-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-number-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 || isFeedback\"\n        nz-input-number-group-slot\n        type=\"suffix\"\n        [icon]=\"nzSuffixIcon\"\n        [template]=\"nzSuffix\"\n      >\n        <nz-form-item-feedback-icon *ngIf=\"isFeedback\" [status]=\"status\"></nz-form-item-feedback-icon>\n      </span>\n    </ng-template>\n    <ng-template #contentTemplate>\n      <ng-content></ng-content>\n      <span *ngIf=\"!isAddOn && !isAffix && isFeedback\" nz-input-number-group-slot type=\"suffix\">\n        <nz-form-item-feedback-icon *ngIf=\"isFeedback\" [status]=\"status\"></nz-form-item-feedback-icon>\n      </span>\n    </ng-template>\n  `,\n  host: {\n    '[class.ant-input-number-group]': 'nzCompact',\n    '[class.ant-input-number-group-compact]': 'nzCompact',\n    '[class.ant-input-number-group-wrapper]': `isAddOn`,\n    '[class.ant-input-number-group-wrapper-rtl]': `isAddOn && dir === 'rtl'`,\n    '[class.ant-input-number-group-wrapper-lg]': `isAddOn && isLarge`,\n    '[class.ant-input-number-group-wrapper-sm]': `isAddOn && isSmall`,\n    '[class.ant-input-number-affix-wrapper]': `!isAddOn && isAffix`,\n    '[class.ant-input-number-affix-wrapper-rtl]': `!isAddOn && dir === 'rtl'`,\n    '[class.ant-input-number-affix-wrapper-focused]': `!isAddOn && isAffix && focused`,\n    '[class.ant-input-number-affix-wrapper-disabled]': `!isAddOn && isAffix && disabled`,\n    '[class.ant-input-number-affix-wrapper-lg]': `!isAddOn && isAffix && isLarge`,\n    '[class.ant-input-number-affix-wrapper-sm]': `!isAddOn && isAffix && isSmall`\n  }\n})\nexport class NzInputNumberGroupComponent implements AfterContentInit, OnChanges, OnInit, OnDestroy {\n  static ngAcceptInputType_nzCompact: BooleanInput;\n\n  @ContentChildren(NzInputNumberComponent, { descendants: true })\n  listOfNzInputNumberComponent!: QueryList<NzInputNumberComponent>;\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() nzStatus: NzStatus = '';\n  @Input() nzSuffix?: string | TemplateRef<void>;\n  @Input() nzSize: NzSizeLDSType = 'default';\n  @Input() @InputBoolean() nzCompact = false;\n  isLarge = false;\n  isSmall = false;\n  isAffix = false;\n  isAddOn = false;\n  isFeedback = false;\n  focused = false;\n  disabled = false;\n  dir: Direction = 'ltr';\n  // status\n  prefixCls: string = 'ant-input-number';\n  affixStatusCls: NgClassInterface = {};\n  groupStatusCls: NgClassInterface = {};\n  affixInGroupStatusCls: NgClassInterface = {};\n  status: NzValidateStatus = '';\n  hasFeedback: boolean = false;\n  private destroy$ = new Subject<void>();\n\n  constructor(\n    private focusMonitor: FocusMonitor,\n    private elementRef: ElementRef,\n    private renderer: Renderer2,\n    private cdr: ChangeDetectorRef,\n    @Optional() private directionality: Directionality,\n    @Optional() private nzFormStatusService?: NzFormStatusService,\n    @Optional() private nzFormNoStatusService?: NzFormNoStatusService\n  ) {}\n\n  updateChildrenInputSize(): void {\n    if (this.listOfNzInputNumberComponent) {\n      this.listOfNzInputNumberComponent.forEach(item => (item.nzSize = this.nzSize));\n    }\n  }\n\n  ngOnInit(): void {\n    this.nzFormStatusService?.formStatusChanges\n      .pipe(\n        distinctUntilChanged((pre, cur) => {\n          return pre.status === cur.status && pre.hasFeedback === cur.hasFeedback;\n        }),\n        takeUntil(this.destroy$)\n      )\n      .subscribe(({ status, hasFeedback }) => {\n        this.setStatusStyles(status, hasFeedback);\n      });\n\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.listOfNzInputNumberComponent.changes.pipe(\n      startWith(this.listOfNzInputNumberComponent)\n    );\n    listOfInputChange$\n      .pipe(\n        switchMap(list =>\n          merge(...[listOfInputChange$, ...list.map((input: NzInputNumberComponent) => input.disabled$)])\n        ),\n        mergeMap(() => listOfInputChange$),\n        map(list => list.some((input: NzInputNumberComponent) => input.nzDisabled)),\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      nzStatus\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      this.nzFormNoStatusService?.noFormStatus?.next(this.isAddOn);\n    }\n    if (nzStatus) {\n      this.setStatusStyles(this.nzStatus, this.hasFeedback);\n    }\n  }\n  ngOnDestroy(): void {\n    this.focusMonitor.stopMonitoring(this.elementRef);\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  private setStatusStyles(status: NzValidateStatus, hasFeedback: boolean): void {\n    // set inner status\n    this.status = status;\n    this.hasFeedback = hasFeedback;\n    this.isFeedback = !!status && hasFeedback;\n    const baseAffix = !!(this.nzSuffix || this.nzPrefix || this.nzPrefixIcon || this.nzSuffixIcon);\n    this.isAffix = baseAffix || (!this.isAddOn && hasFeedback);\n    this.affixInGroupStatusCls =\n      this.isAffix || this.isFeedback\n        ? (this.affixStatusCls = getStatusClassNames(`${this.prefixCls}-affix-wrapper`, status, hasFeedback))\n        : {};\n    this.cdr.markForCheck();\n    // render status if nzStatus is set\n    this.affixStatusCls = getStatusClassNames(\n      `${this.prefixCls}-affix-wrapper`,\n      this.isAddOn ? '' : status,\n      this.isAddOn ? false : hasFeedback\n    );\n    this.groupStatusCls = getStatusClassNames(\n      `${this.prefixCls}-group-wrapper`,\n      this.isAddOn ? status : '',\n      this.isAddOn ? hasFeedback : false\n    );\n    const statusCls = {\n      ...this.affixStatusCls,\n      ...this.groupStatusCls\n    };\n    Object.keys(statusCls).forEach(status => {\n      if (statusCls[status]) {\n        this.renderer.addClass(this.elementRef.nativeElement, status);\n      } else {\n        this.renderer.removeClass(this.elementRef.nativeElement, status);\n      }\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 { BidiModule } from '@angular/cdk/bidi';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzFormPatchModule } from 'ng-zorro-antd/core/form';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzInputNumberGroupSlotComponent } from './input-number-group-slot.component';\nimport {\n  NzInputNumberGroupComponent,\n  NzInputNumberGroupWhitSuffixOrPrefixDirective\n} from './input-number-group.component';\nimport { NzInputNumberComponent } from './input-number.component';\n\n@NgModule({\n  imports: [BidiModule, CommonModule, FormsModule, NzOutletModule, NzIconModule, NzFormPatchModule],\n  declarations: [\n    NzInputNumberComponent,\n    NzInputNumberGroupComponent,\n    NzInputNumberGroupWhitSuffixOrPrefixDirective,\n    NzInputNumberGroupSlotComponent\n  ],\n  exports: [NzInputNumberComponent, NzInputNumberGroupComponent, NzInputNumberGroupWhitSuffixOrPrefixDirective]\n})\nexport class NzInputNumberModule {}\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-number.component';\nexport * from './input-number-group-slot.component';\nexport * from './input-number-group.component';\nexport * from './input-number.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i1","i2","i3","i4","i5.NzInputNumberGroupSlotComponent"],"mappings":"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"}