1 line
99 KiB
Plaintext
1 line
99 KiB
Plaintext
{"version":3,"file":"ng-zorro-antd-input.mjs","sources":["../../components/input/autosize.directive.ts","../../components/input/input-addon.directive.ts","../../components/input/input-affix.directive.ts","../../components/input/input-group-slot.component.ts","../../components/input/input-password.directive.ts","../../components/input/input-search.directive.ts","../../components/input/tokens.ts","../../components/input/input.directive.ts","../../components/input/input-group.component.ts","../../components/input/input-otp.component.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 { Platform } from '@angular/cdk/platform';\nimport { AfterViewInit, DestroyRef, Directive, DoCheck, ElementRef, inject, Input, NgZone } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\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, DoCheck {\n private ngZone = inject(NgZone);\n private platform = inject(Platform);\n private destroyRef = inject(DestroyRef);\n private resizeService = inject(NzResizeService);\n private el: HTMLTextAreaElement | HTMLInputElement = inject(ElementRef).nativeElement;\n\n private autosize: boolean = false;\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 inputGap = 10;\n private destroyed = false;\n\n constructor() {\n this.destroyRef.onDestroy(() => {\n this.destroyed = true;\n });\n }\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.destroyed && 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 ngAfterViewInit(): void {\n if (this.autosize && this.platform.isBrowser) {\n this.resizeToFitContent();\n this.resizeService\n .connect()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.resizeToFitContent(true));\n }\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 { 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 { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n/**\n * @deprecated Will be removed in v22.0.0. This component will be removed along with input-group.\n */\n@Component({\n selector: '[nz-input-group-slot]',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @if (icon) {\n <nz-icon [nzType]=\"icon\" />\n }\n <ng-container *nzStringTemplateOutlet=\"template\">{{ template }}</ng-container>\n <ng-content></ng-content>\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 imports: [NzIconModule, NzOutletModule]\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 { 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 { booleanAttribute, computed, contentChild, Directive, ElementRef, input, output } from '@angular/core';\n\nimport { NzInputDirective } from './input.directive';\n\n@Directive({\n selector: 'nz-input-search',\n exportAs: 'nzInputSearch',\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 { InjectionToken } from '@angular/core';\n\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","/**\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 { EMPTY } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\n\nimport { NzFormItemFeedbackIconComponent, NzFormNoStatusService, NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport { NzSizeLDSType, NzStatus, NzVariant } from 'ng-zorro-antd/core/types';\nimport { getStatusClassNames } 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 { NzInputSearchDirective } from './input-search.directive';\nimport { 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-borderless]': `nzVariant() === 'borderless' || (nzVariant() === 'outlined' && nzBorderless())`,\n '[class.ant-input-filled]': `nzVariant() === 'filled'`,\n '[class.ant-input-underlined]': `nzVariant() === '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 '[class.ant-input-rtl]': `dir() === 'rtl'`,\n '[class.ant-input-stepperless]': `nzStepperless()`,\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);\n private compactSize = inject(NZ_SPACE_COMPACT_SIZE, { optional: true });\n private destroyRef = inject(DestroyRef);\n private nzFormStatusService = inject(NzFormStatusService, { optional: true });\n private nzFormNoStatusService = inject(NzFormNoStatusService, { optional: true });\n private inputWrapper = inject(NZ_INPUT_WRAPPER, { host: true, optional: true });\n private focusMonitor = inject(FocusMonitor);\n protected hostView = inject(ViewContainerRef);\n protected readonly inputPasswordDir = inject(NzInputPasswordDirective, { host: true, optional: true });\n protected readonly inputSearchDir = inject(NzInputSearchDirective, { host: true, optional: true });\n\n readonly ngControl = inject(NgControl, { self: true, optional: true });\n readonly value = signal<string>(this.elementRef.nativeElement.value);\n\n /**\n * @deprecated Will be removed in v21. It is recommended to use `nzVariant` instead.\n */\n readonly nzBorderless = input(false, { transform: booleanAttribute });\n readonly nzVariant = input<NzVariant>('outlined');\n readonly nzSize = input<NzSizeLDSType>('default');\n /**\n * @deprecated Will be removed in v22.\n */\n readonly nzStepperless = input(true, { transform: booleanAttribute });\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 = this.ngControl ? this.controlDisabled : this.disabled;\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 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.compactSize) {\n return this.compactSize();\n }\n return this.size();\n });\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?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {\n this.value.set(value);\n });\n }\n\n private renderFeedbackIcon(): void {\n if (!this.status() || !this.hasFeedback() || this.inputWrapper || !!this.nzFormNoStatusService) {\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.instance.status = this.status();\n this.feedbackRef.instance.updateIcon();\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 { FocusMonitor } from '@angular/cdk/a11y';\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { merge } from 'rxjs';\nimport { distinctUntilChanged, map, mergeMap, startWith, switchMap } from 'rxjs/operators';\n\nimport { NzFormItemFeedbackIconComponent, NzFormNoStatusService, NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport { NgClassInterface, NzSizeLDSType, NzStatus, NzValidateStatus } from 'ng-zorro-antd/core/types';\nimport { getStatusClassNames } from 'ng-zorro-antd/core/util';\nimport { NZ_SPACE_COMPACT_ITEM_TYPE, NzSpaceCompactItemDirective } from 'ng-zorro-antd/space';\n\nimport { NzInputGroupSlotComponent } from './input-group-slot.component';\nimport { NzInputDirective } from './input.directive';\n\n/**\n * @deprecated Will be removed in v22.0.0. This component will be removed along with input-group.\n */\n@Directive({\n selector: `nz-input-group[nzSuffix], nz-input-group[nzPrefix]`\n})\nexport class NzInputGroupWhitSuffixOrPrefixDirective {\n public readonly elementRef = inject(ElementRef);\n}\n\n/**\n * @deprecated Will be removed in v22. It is recommended to use `<nz-input-wrapper>` instead.\n */\n@Component({\n selector: 'nz-input-group',\n exportAs: 'nzInputGroup',\n imports: [NzInputGroupSlotComponent, NgTemplateOutlet, NzFormItemFeedbackIconComponent],\n encapsulation: ViewEncapsulation.None,\n providers: [NzFormNoStatusService, { provide: NZ_SPACE_COMPACT_ITEM_TYPE, useValue: 'input' }],\n template: `\n @if (isAddOn) {\n <span class=\"ant-input-wrapper ant-input-group\">\n @if (nzAddOnBefore || nzAddOnBeforeIcon) {\n <span nz-input-group-slot type=\"addon\" [icon]=\"nzAddOnBeforeIcon\" [template]=\"nzAddOnBefore\"></span>\n }\n\n @if (isAffix || hasFeedback) {\n <span\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 [class.ant-input-affix-wrapper-focused]=\"focused\"\n [class]=\"affixInGroupStatusCls\"\n >\n <ng-template [ngTemplateOutlet]=\"affixTemplate\"></ng-template>\n </span>\n } @else {\n <ng-template [ngTemplateOutlet]=\"contentTemplate\" />\n }\n @if (nzAddOnAfter || nzAddOnAfterIcon) {\n <span nz-input-group-slot type=\"addon\" [icon]=\"nzAddOnAfterIcon\" [template]=\"nzAddOnAfter\"></span>\n }\n </span>\n } @else {\n @if (isAffix) {\n <ng-template [ngTemplateOutlet]=\"affixTemplate\" />\n } @else {\n <ng-template [ngTemplateOutlet]=\"contentTemplate\" />\n }\n }\n\n <!-- affix template -->\n <ng-template #affixTemplate>\n @if (nzPrefix || nzPrefixIcon) {\n <span nz-input-group-slot type=\"prefix\" [icon]=\"nzPrefixIcon\" [template]=\"nzPrefix\"></span>\n }\n <ng-template [ngTemplateOutlet]=\"contentTemplate\" />\n @if (nzSuffix || nzSuffixIcon || isFeedback) {\n <span nz-input-group-slot type=\"suffix\" [icon]=\"nzSuffixIcon\" [template]=\"nzSuffix\">\n @if (isFeedback) {\n <nz-form-item-feedback-icon [status]=\"status\" />\n }\n </span>\n }\n </ng-template>\n\n <!-- content template -->\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n @if (!isAddOn && !isAffix && isFeedback) {\n <span nz-input-group-slot type=\"suffix\">\n <nz-form-item-feedback-icon [status]=\"status\" />\n </span>\n }\n </ng-template>\n `,\n host: {\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 hostDirectives: [NzSpaceCompactItemDirective],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NzInputGroupComponent implements AfterContentInit, OnChanges, OnInit {\n private focusMonitor = inject(FocusMonitor);\n private elementRef = inject(ElementRef);\n private renderer = inject(Renderer2);\n private cdr = inject(ChangeDetectorRef);\n private directionality = inject(Directionality);\n private destroyRef = inject(DestroyRef);\n private nzFormStatusService = inject(NzFormStatusService, { optional: true });\n private nzFormNoStatusService = inject(NzFormNoStatusService, { optional: true });\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() nzStatus: NzStatus = '';\n @Input() nzSuffix?: string | TemplateRef<void>;\n @Input() nzSize: NzSizeLDSType = 'default';\n @Input({ transform: booleanAttribute }) nzSearch = 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';\n affixStatusCls: NgClassInterface = {};\n groupStatusCls: NgClassInterface = {};\n affixInGroupStatusCls: NgClassInterface = {};\n status: NzValidateStatus = '';\n hasFeedback: boolean = false;\n\n constructor() {\n this.destroyRef.onDestroy(() => this.focusMonitor.stopMonitoring(this.elementRef));\n }\n\n updateChildrenInputSize(): void {\n if (this.listOfNzInputDirective) {\n this.listOfNzInputDirective.forEach(item => item['size'].set(this.nzSize));\n }\n }\n\n ngOnInit(): void {\n this.nzFormStatusService?.formStatusChanges\n .pipe(\n distinctUntilChanged((pre, cur) => pre.status === cur.status && pre.hasFeedback === cur.hasFeedback),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe(({ status, hasFeedback }) => {\n this.setStatusStyles(status, hasFeedback);\n });\n\n this.focusMonitor\n .monitor(this.elementRef, true)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(focusOrigin => {\n this.focused = !!focusOrigin;\n this.cdr.markForCheck();\n });\n\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(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.finalDisabled())),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe(disabled => {\n this.disabled = disabled;\n this.cdr.markForCheck();\n });\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\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 { BACKSPACE, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\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 changeDetection: ChangeDetectionStrategy.OnPush,\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 { FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n ElementRef,\n forwardRef,\n inject,\n input,\n output,\n signal,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzFormItemFeedbackIconComponent } from 'ng-zorro-antd/core/form';\nimport { getStatusClassNames, getVariantClassNames } 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\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 hasEnterButton = inputSearchEnterButton() ?? inputSearchDir.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 (typeof inputSearchDir.nzEnterButton() === 'string') {\n {{ inputSearchDir.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 (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 changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [NzSpaceCompactItemDirective],\n host: {\n '[class]': 'class()',\n '[class.ant-input-disabled]': 'disabled()',\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 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 () => !!this.nzSuffix() || !!this.suffix() || this.nzAllowClear() || this.hasFeedback() || 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 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\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 ChangeDetectionStrategy,\n Component,\n ContentChild,\n DestroyRef,\n ElementRef,\n inject,\n Input,\n isDevMode,\n numberAttribute,\n Renderer2\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { EMPTY } from 'rxjs';\nimport { map, startWith } 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 {\n private renderer = inject(Renderer2);\n private destroyRef = inject(DestroyRef);\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 if (this.nzInputDirective.ngControl) {\n const valueChanges = this.nzInputDirective.ngControl.valueChanges || EMPTY;\n valueChanges\n .pipe(\n takeUntilDestroyed(this.destroyRef),\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","/**\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 { NzAutosizeDirective } from './autosize.directive';\nimport { NzInputAddonAfterDirective, NzInputAddonBeforeDirective } from './input-addon.directive';\nimport { NzInputPrefixDirective, NzInputSuffixDirective } from './input-affix.directive';\nimport { NzInputGroupSlotComponent } from './input-group-slot.component';\nimport { NzInputGroupComponent, NzInputGroupWhitSuffixOrPrefixDirective } from './input-group.component';\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 NzInputGroupComponent,\n NzAutosizeDirective,\n NzInputGroupSlotComponent,\n NzInputGroupWhitSuffixOrPrefixDirective,\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 NzInputGroupComponent,\n NzAutosizeDirective,\n NzInputGroupWhitSuffixOrPrefixDirective,\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 './autosize.directive';\nexport * from './input-addon.directive';\nexport * from './input-affix.directive';\nexport * from './input-group-slot.component';\nexport * from './input-group.component';\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","i2"],"mappings":"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"} |