{"version":3,"file":"taiga-ui-core-components-textfield.mjs","sources":["../../../projects/core/components/textfield/textfield.options.ts","../../../projects/core/components/textfield/select-like.directive.ts","../../../projects/core/components/textfield/textfield-accessor.ts","../../../projects/core/components/textfield/textfield.component.ts","../../../projects/core/components/textfield/textfield.template.html","../../../projects/core/components/textfield/textfield-multi/textfield-item.component.ts","../../../projects/core/components/textfield/textfield-multi/textfield-multi.component.ts","../../../projects/core/components/textfield/textfield-multi/textfield-multi.template.html","../../../projects/core/components/textfield/textfield.ts","../../../projects/core/components/textfield/textfield-auxiliary.ts","../../../projects/core/components/textfield/textfield-content.directive.ts","../../../projects/core/components/textfield/with-native-picker.directive.ts","../../../projects/core/components/textfield/taiga-ui-core-components-textfield.ts"],"sourcesContent":["import {\n    Directive,\n    inject,\n    InjectionToken,\n    input,\n    Optional,\n    type Provider,\n    type Signal,\n    signal,\n    SkipSelf,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nconst DEFAULT = {appearance: 'textfield', size: 'l', cleaner: true} as const;\n\nexport interface TuiTextfieldOptions {\n    readonly appearance: Signal<string>;\n    readonly size: Signal<TuiSizeL | TuiSizeS>;\n    readonly cleaner: Signal<boolean>;\n}\n\nexport const TUI_TEXTFIELD_OPTIONS = new InjectionToken<TuiTextfieldOptions>(\n    ngDevMode ? 'TUI_TEXTFIELD_OPTIONS' : '',\n    {\n        factory: () => ({\n            appearance: signal(DEFAULT.appearance),\n            size: signal(DEFAULT.size),\n            cleaner: signal(DEFAULT.cleaner),\n        }),\n    },\n);\n\nexport function tuiTextfieldOptionsProvider(\n    options: Partial<TuiTextfieldOptions>,\n): Provider {\n    return {\n        provide: TUI_TEXTFIELD_OPTIONS,\n        deps: [[new Optional(), new SkipSelf(), TUI_TEXTFIELD_OPTIONS]],\n        useFactory: (parent: TuiTextfieldOptions | null) => ({\n            appearance: signal(parent?.appearance() ?? DEFAULT.appearance),\n            size: signal(parent?.size() ?? DEFAULT.size),\n            cleaner: signal(parent?.cleaner() ?? DEFAULT.cleaner),\n            ...options,\n        }),\n    };\n}\n\n@Directive({\n    selector: '[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]',\n    providers: [tuiProvide(TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective)],\n})\nexport class TuiTextfieldOptionsDirective implements TuiTextfieldOptions {\n    private readonly options = inject(TUI_TEXTFIELD_OPTIONS, {skipSelf: true});\n\n    public readonly appearance = input(this.options.appearance(), {\n        alias: 'tuiTextfieldAppearance',\n    });\n\n    public readonly size = input(this.options.size(), {\n        alias: 'tuiTextfieldSize',\n        transform: (size: TuiSizeL | TuiSizeS | ''): TuiSizeL | TuiSizeS =>\n            size || DEFAULT.size,\n    });\n\n    public readonly cleaner = input(this.options.cleaner(), {\n        alias: 'tuiTextfieldCleaner',\n    });\n}\n","import {Directive, inject} from '@angular/core';\nimport {WA_IS_ANDROID, WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\n\n@Directive({\n    selector: '[tuiSelectLike]',\n    host: {\n        autocomplete: 'off',\n        inputmode: 'none',\n        spellcheck: 'false',\n        tuiSelectLike: '',\n        // Click on cleaner icon does not trigger `beforeinput` event --> handle all kind of deletion in input event\n        '(beforeinput)':\n            '(isMobile && $event.inputType.includes(\"insertText\")) || options.cleaner() && $event.inputType.includes(\"delete\") || $event.preventDefault()',\n        '(input.capture)': '$event.inputType?.includes(\"delete\") && clear()',\n        '(keydown.backspace.prevent)':\n            'options.cleaner() && el.value && dispatchInputEvent()',\n        '(keydown.delete.prevent)':\n            'options.cleaner() && el.value && dispatchInputEvent()',\n        // Hide Android text select handle (bubble marker below transparent caret)\n        '(mousedown)': 'prevent($event)',\n    },\n})\nexport class TuiSelectLike {\n    private readonly isAndroid = inject(WA_IS_ANDROID);\n\n    protected readonly el = tuiInjectElement<HTMLInputElement>();\n    protected readonly isMobile = inject(WA_IS_MOBILE);\n    protected readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n\n    protected clear(): void {\n        this.el.value = '';\n    }\n\n    protected dispatchInputEvent(): void {\n        this.el.dispatchEvent(\n            new InputEvent('input', {\n                inputType: 'deleteContentBackward',\n                bubbles: true,\n            }),\n        );\n    }\n\n    protected prevent(event: MouseEvent): void {\n        if (!this.isAndroid) {\n            return;\n        }\n\n        event.preventDefault();\n        this.el.focus();\n    }\n}\n","import {InjectionToken, type Provider, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiTextfieldAccessor<T = unknown> {\n    setValue(value: T | T[] | null): void;\n}\n\nexport const TUI_TEXTFIELD_ACCESSOR = new InjectionToken<TuiTextfieldAccessor>(\n    ngDevMode ? 'TUI_TEXTFIELD_ACCESSOR' : '',\n);\n\nexport function tuiAsTextfieldAccessor(accessor: Type<TuiTextfieldAccessor>): Provider {\n    return tuiProvide(TUI_TEXTFIELD_ACCESSOR, accessor);\n}\n","import {AsyncPipe} from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    contentChild,\n    contentChildren,\n    ElementRef,\n    forwardRef,\n    inject,\n    input,\n    type Signal,\n    viewChild,\n    ViewContainerRef,\n    ViewEncapsulation,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiValue} from '@taiga-ui/cdk/utils/dom';\nimport {tuiFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n    TUI_BUTTON_OPTIONS,\n    tuiButtonOptionsProvider,\n} from '@taiga-ui/core/components/button';\nimport {TuiCell} from '@taiga-ui/core/components/cell';\nimport {\n    tuiAsDataListHost,\n    type TuiDataListHost,\n    TuiWithOptionContent,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiButtonX, tuiButtonXOptionsProvider} from '@taiga-ui/core/directives/button-x';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {TuiWithItemsHandlers} from '@taiga-ui/core/directives/items-handlers';\nimport {\n    TuiDropdownDirective,\n    TuiDropdownFixed,\n    TuiDropdownOpen,\n    TuiWithDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TUI_AUXILIARY, TUI_CLEAR_WORD, TUI_TEXTFIELD_VALUE} from '@taiga-ui/core/tokens';\nimport {\n    type TuiInteractiveState,\n    type TuiSizeL,\n    type TuiSizeS,\n} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\nimport {TUI_TEXTFIELD_ACCESSOR, type TuiTextfieldAccessor} from './textfield-accessor';\n\n@Component({\n    selector: 'tui-textfield:not([multi])',\n    imports: [AsyncPipe, PolymorpheusOutlet, TuiButtonX, TuiCell],\n    templateUrl: './textfield.template.html',\n    styles: `\n        [data-tui-version='${TUI_VERSION}'] {\n            @import '@taiga-ui/styles/components/textfield.less';\n        }\n    `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [\n        tuiButtonOptionsProvider({size: 'xs', appearance: 'icon'}),\n        tuiButtonXOptionsProvider(() => inject(TUI_BUTTON_OPTIONS)),\n        tuiAsDataListHost(TuiTextfieldComponent),\n        {\n            provide: TUI_TEXTFIELD_VALUE,\n            useFactory: () => inject(TuiTextfieldComponent).value,\n        },\n    ],\n    hostDirectives: [\n        TuiAppearance,\n        TuiDropdownDirective,\n        TuiDropdownFixed,\n        TuiWithDropdownOpen,\n        TuiWithIcons,\n        TuiWithItemsHandlers,\n        TuiWithOptionContent,\n    ],\n    host: {\n        class: 'tui-interactive',\n        '[attr.data-size]': 'options.size()',\n        '[class._disabled]': 'disabled', // TODO :has([tuiInput]:disabled)\n        '[class._with-label]': 'hasLabel', // TODO :has([tuiLabel]\n        '[class._with-template]': 'content() && control()?.value != null',\n        '(animationcancel)': '0', // TODO :has([tuiInput]:disabled)\n        '(animationstart)': '0', // TODO :has([tuiInput]:disabled)\n        '(click.self.prevent)': '0',\n        // TODO preventing breaks resize: both, but not preventing breaks focus, fix\n        '(pointerdown.self.prevent)': 'onIconClick()',\n        '(scroll.capture.zoneless)': 'onScroll($event.target)',\n        '(tuiActiveZoneChange)': '!$event && control()?.valueAccessor?.onTouched?.()',\n    },\n})\nexport class TuiTextfieldComponent<T> implements TuiDataListHost<T> {\n    private readonly focusedIn = tuiFocusedIn(tuiInjectElement());\n\n    protected readonly ghost = viewChild<ElementRef<HTMLElement>>('ghost');\n    protected readonly dropdown = inject(TuiDropdownDirective);\n    protected readonly open = inject(TuiDropdownOpen);\n    protected readonly clear = inject(TUI_CLEAR_WORD);\n    protected readonly label = contentChild(\n        forwardRef(() => TuiLabel),\n        {read: ElementRef},\n    );\n\n    protected readonly computedFiller = computed((value = this.value()) => {\n        const filler = this.filler();\n\n        if (filler.length <= value.length) {\n            return '';\n        }\n\n        return this.input()?.nativeElement.matches('[dir=\"rtl\"] :scope')\n            ? `${filler.slice(0, filler.length - value.length)}${value}`\n            : `${value}${filler.slice(value.length)}`;\n    });\n\n    protected readonly showFiller = computed<boolean>(\n        () =>\n            this.focused() &&\n            !!this.computedFiller() &&\n            (!!this.value() || !this.input()?.nativeElement.placeholder),\n    );\n\n    protected readonly accessor =\n        contentChild<TuiTextfieldAccessor<T>>(TUI_TEXTFIELD_ACCESSOR);\n\n    public readonly vcr = viewChild('vcr', {read: ViewContainerRef});\n    public readonly control = contentChild(NgControl);\n    public readonly child = contentChild(TuiControl);\n    public readonly auxiliaries = contentChildren(TUI_AUXILIARY, {descendants: true});\n    public readonly focused = computed(() => this.open.open() || this.focusedIn());\n    public readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n    public readonly el = tuiInjectElement();\n    public readonly input: Signal<ElementRef<HTMLInputElement> | undefined> =\n        contentChild(TUI_TEXTFIELD_ACCESSOR, {read: ElementRef});\n\n    public readonly content = input<PolymorpheusContent<TuiContext<T>>>();\n    public readonly filler = input('');\n    public readonly invalid = input<boolean | null>(null);\n    public readonly tuiAppearanceFocus = input<boolean | null>(null);\n    /**\n     * TODO(v6): expose tuiAppearanceState input using host directives API\n     * ```ts\n     * hostDirectives: [{directive: TuiAppearance, inputs: ['tuiAppearanceState']}]\n     * ```\n     * Temporary workaround while {@link TuiInputDirective} still binds tuiAppearanceState(...)\n     */\n    public readonly tuiAppearanceState = input<TuiInteractiveState | null>(null);\n    public readonly value = tuiValue(this.input);\n\n    public get disabled(): boolean {\n        return this.control()?.disabled ?? this.input()?.nativeElement?.disabled ?? false;\n    }\n\n    public get size(): TuiSizeL | TuiSizeS {\n        return this.options.size();\n    }\n\n    public handleOption(option: T): void {\n        this.accessor()?.setValue(option);\n        this.open.open.set(false);\n    }\n\n    protected get hasLabel(): boolean {\n        return Boolean(this.label()?.nativeElement?.childNodes.length);\n    }\n\n    protected get openable(): boolean {\n        return (\n            this.open.enabled() &&\n            !this.input()?.nativeElement.matches('input:read-only,textarea:read-only')\n        );\n    }\n\n    protected onResize({clientWidth}: HTMLElement): void {\n        this.el.style.setProperty('--t-side', tuiPx(clientWidth));\n    }\n\n    protected onCleanerClick(value: T | T[] | null): void {\n        this.accessor()?.setValue(value);\n\n        if (this.dropdown.content() && this.openable) {\n            this.open.toggle(true);\n        }\n    }\n\n    // Click on ::before,::after pseudo-elements ([iconStart] / [iconEnd])\n    protected onIconClick(): void {\n        this.input()?.nativeElement.focus();\n\n        if (!this.openable) {\n            return;\n        }\n\n        this.open.open.update((open) => !open);\n\n        try {\n            this.input()?.nativeElement.showPicker?.();\n        } catch {\n            // Empty catch block - silently ignore showPicker errors\n        }\n    }\n\n    protected onScroll(element: HTMLElement): void {\n        const input = this.input();\n\n        if (input?.nativeElement === element) {\n            this.ghost()?.nativeElement.scrollTo({left: input?.nativeElement.scrollLeft});\n        }\n    }\n}\n","@if (child()?.value() ?? (control()?.control?.valueChanges | async)) {}\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"textarea\" />\n<ng-content select=\"label[tuiLabel]\" />\n<span\n    #side\n    class=\"t-content\"\n    (pointerdown)=\"input()?.nativeElement?.focus()\"\n    (resize)=\"onResize(side)\"\n>\n    <ng-content />\n    <ng-container #vcr />\n    @if (options.cleaner()) {\n        <button\n            tabindex=\"-1\"\n            tuiButtonX\n            (click)=\"onCleanerClick(null)\"\n        >\n            {{ clear() }}\n        </button>\n    }\n    <ng-content select=\"tui-icon\" />\n</span>\n@if (control()?.value != null) {\n    <span\n        class=\"t-template\"\n        [tuiCell]=\"options.size()\"\n    >\n        <ng-container *polymorpheusOutlet=\"content() as text; context: {$implicit: control()?.value}\">\n            {{ text }}\n        </ng-container>\n    </span>\n}\n@if (showFiller()) {\n    <input\n        #ghost\n        aria-hidden=\"true\"\n        disabled\n        class=\"t-filler\"\n        [value]=\"computedFiller()\"\n    />\n}\n","import {ChangeDetectionStrategy, Component, computed, inject} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {\n    injectContext,\n    PolymorpheusComponent,\n    type PolymorpheusContent,\n    PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextfieldMultiComponent} from './textfield-multi.component';\n\nexport interface TuiTextfieldItem<T> {\n    readonly item: T;\n    readonly index: number;\n}\n\n/*\n * Internal wrapper for polymorpheus-context\n */\n@Component({\n    selector: 'tui-textfield-item',\n    imports: [PolymorpheusOutlet],\n    template:\n        '<ng-container *polymorpheusOutlet=\"content() as text; context: context\">{{ text }}</ng-container>',\n    styleUrl: './textfield-item.style.less',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        '[class._disabled]': 'handlers.disabledItemHandler()(context.$implicit.item)',\n        '[class._string]': '!textfield.item()',\n        '(keydown.arrowLeft.prevent)': 'el.previousElementSibling?.firstChild?.focus()',\n        '(keydown.arrowRight.prevent)': 'el.nextElementSibling?.firstChild?.focus()',\n        '(pointerdown.self)': 'prevent($event)',\n    },\n})\nexport class TuiTextfieldItemComponent<T> {\n    protected readonly el = tuiInjectElement();\n    protected readonly handlers = inject(TUI_ITEMS_HANDLERS);\n    protected readonly context = injectContext<TuiContext<TuiTextfieldItem<T>>>();\n    protected readonly textfield = inject(TuiTextfieldMultiComponent);\n\n    protected readonly content = computed(\n        () =>\n            this.textfield.item() ??\n            this.handlers.stringify()(this.context.$implicit.item),\n    );\n\n    protected prevent(e: Event): void {\n        this.textfield.focused() && e.preventDefault();\n    }\n}\n\nexport const TUI_TEXTFIELD_ITEM: PolymorpheusContent<TuiContext<TuiTextfieldItem<any>>> =\n    new PolymorpheusComponent(TuiTextfieldItemComponent);\n","import {AsyncPipe} from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    contentChild,\n    inject,\n    input,\n    signal,\n    TemplateRef,\n    ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_DEFAULT_MATCHER, TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiArrayToggle, tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n    TUI_BUTTON_OPTIONS,\n    tuiButtonOptionsProvider,\n} from '@taiga-ui/core/components/button';\nimport {TuiCell} from '@taiga-ui/core/components/cell';\nimport {tuiAsDataListHost} from '@taiga-ui/core/components/data-list';\nimport {TuiScrollControls, TuiScrollRef} from '@taiga-ui/core/components/scrollbar';\nimport {TuiButtonX, tuiButtonXOptionsProvider} from '@taiga-ui/core/directives/button-x';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {tuiFilterByInputOptionsProvider} from '@taiga-ui/core/pipes/filter-by-input';\nimport {TUI_TEXTFIELD_VALUE} from '@taiga-ui/core/tokens';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {filter, fromEvent} from 'rxjs';\n\nimport {TuiTextfieldComponent} from '../textfield.component';\nimport {TUI_TEXTFIELD_ITEM} from './textfield-item.component';\n\n@Component({\n    selector: 'tui-textfield[multi]',\n    imports: [AsyncPipe, PolymorpheusOutlet, TuiButtonX, TuiCell, TuiScrollControls],\n    templateUrl: './textfield-multi.template.html',\n    styles: `\n        [data-tui-version='${TUI_VERSION}'] {\n            @import '@taiga-ui/styles/components/textfield.less';\n            @import './textfield-multi.style.less';\n        }\n    `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [\n        tuiButtonOptionsProvider({size: 'xs', appearance: 'icon'}),\n        tuiButtonXOptionsProvider(() => inject(TUI_BUTTON_OPTIONS)),\n        tuiAsDataListHost(TuiTextfieldMultiComponent),\n        tuiProvide(TuiTextfieldComponent, TuiTextfieldMultiComponent),\n        {\n            provide: TUI_TEXTFIELD_VALUE,\n            useFactory: () => inject(TuiTextfieldComponent).value,\n        },\n        tuiFilterByInputOptionsProvider({\n            filter: (items, search, stringify) =>\n                items.filter((x) => TUI_DEFAULT_MATCHER(x, search, stringify)),\n        }),\n    ],\n    hostDirectives: [TuiScrollRef],\n    host: {\n        '[attr.data-state]': 'disabled ? \"disabled\" : null',\n        '[class._empty]': '!items().length',\n        '[class._horizontal]': 'rows() === 1',\n        '[style.--t-item-height.px]': 'height()',\n        '[style.--t-rows]': 'rows()',\n        '(click.prevent)': 'onClick($event.target)',\n        '(tuiActiveZoneChange)': '!$event && el.scrollTo({left: 0})',\n    },\n})\nexport class TuiTextfieldMultiComponent<T> extends TuiTextfieldComponent<T> {\n    protected readonly height = signal<number | undefined>(undefined);\n    protected readonly win = inject(WA_WINDOW);\n    protected readonly handlers = inject(TUI_ITEMS_HANDLERS);\n    protected readonly component = TUI_TEXTFIELD_ITEM;\n    protected readonly items = computed<readonly T[]>(() => this.cva()?.value() ?? []);\n    protected readonly sub = fromEvent(this.el, 'scroll')\n        .pipe(\n            filter(() => this.rows() === 1),\n            tuiZonefree(),\n            takeUntilDestroyed(),\n        )\n        .subscribe(() => {\n            this.el.style.setProperty('--t-scroll', tuiPx(-1 * this.el.scrollLeft));\n        });\n\n    public readonly cva = contentChild(TuiControl);\n    public readonly item = contentChild(TuiItem, {read: TemplateRef, descendants: true});\n    public readonly rows = input(100);\n\n    public override handleOption(option: T): void {\n        this.accessor()?.setValue(\n            tuiArrayToggle(this.items(), option, this.handlers.identityMatcher()),\n        );\n    }\n\n    protected get placeholder(): string {\n        const el = this.input()?.nativeElement;\n        const placeholder = el?.matches('input') ? el.placeholder : this.computedFiller();\n        const value = this.computedFiller() || this.value();\n        const longer = value.length > placeholder.length ? value : placeholder;\n\n        return this.focused() ? longer : '';\n    }\n\n    protected onItems(target: HTMLElement): void {\n        this.height.set(target.querySelector('tui-textfield-item')?.clientHeight);\n    }\n\n    protected onLeft(event: any): void {\n        if (this.value() || !tuiIsElement(event.currentTarget)) {\n            return;\n        }\n\n        event.preventDefault();\n        event.currentTarget.previousElementSibling?.firstElementChild?.focus();\n    }\n\n    protected focusInput(): void {\n        const selection = this.win.getSelection();\n\n        if (!selection?.rangeCount || selection.getRangeAt(0)?.collapsed) {\n            this.input()?.nativeElement.focus();\n        }\n    }\n\n    protected onClick(target: HTMLElement): void {\n        if (\n            target === this.el ||\n            !this.cva()?.interactive() ||\n            (!this.el.matches('[tuiChevron]') &&\n                !this.el.querySelector('select, [tuiInputDateMulti]')) ||\n            target.matches('input:read-only,input[inputmode=\"none\"]')\n        ) {\n            return;\n        }\n\n        this.open.open.update((open) => !open);\n\n        try {\n            this.input()?.nativeElement.showPicker?.();\n        } catch {\n            // Empty catch block - silently ignore showPicker errors\n        }\n    }\n}\n","@if (child()?.value() ?? (control()?.control?.valueChanges | async)) {}\n@if (rows() > 1) {\n    <tui-scroll-controls class=\"t-scrollbar\" />\n}\n\n<div\n    #wrapper\n    class=\"t-items\"\n    (click)=\"focusInput()\"\n    (pointerdown.self.zoneless.prevent)=\"(0)\"\n    (resize)=\"onItems(wrapper)\"\n>\n    <ng-content select=\"label[tuiLabel]\" />\n    @for (item of items(); track item) {\n        <ng-template\n            [polymorpheusOutlet]=\"component\"\n            [polymorpheusOutletContext]=\"{$implicit: {item, index: $index}}\"\n        />\n    }\n    <span\n        class=\"t-input\"\n        (keydown.arrowLeft)=\"onLeft($event)\"\n    >\n        <ng-content select=\"input\" />\n        <ng-content select=\"select\" />\n        @if (placeholder) {\n            <span class=\"t-ghost\">{{ placeholder }}</span>\n        }\n        <input\n            aria-hidden=\"true\"\n            disabled\n            class=\"t-filler\"\n            [class.t-filler_hidden]=\"!showFiller()\"\n            [value]=\"computedFiller()\"\n        />\n    </span>\n</div>\n\n<span\n    #side\n    class=\"t-content\"\n    (click.stop)=\"input()?.nativeElement?.focus()\"\n    (pointerdown.zoneless.prevent)=\"(0)\"\n    (resize)=\"onResize(side)\"\n>\n    <ng-content />\n    @if (options.cleaner()) {\n        <button\n            tabindex=\"-1\"\n            tuiButtonX\n            (click)=\"onCleanerClick([])\"\n        >\n            {{ clear() }}\n        </button>\n    }\n    <ng-container #vcr />\n    <ng-content select=\"tui-icon\" />\n</span>\n\n@if (control()?.value != null) {\n    <span\n        class=\"t-template\"\n        [tuiCell]=\"options.size()\"\n    >\n        <ng-container *polymorpheusOutlet=\"content() as text; context: {$implicit: control()?.value}\">\n            {{ text }}\n        </ng-container>\n    </span>\n}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TuiTextfieldOptionsDirective} from './textfield.options';\nimport {TuiTextfieldMultiComponent} from './textfield-multi/textfield-multi.component';\n\nexport const TuiTextfield = [\n    TuiItem,\n    TuiLabel,\n    TuiTextfieldComponent,\n    TuiTextfieldOptionsDirective,\n    TuiTextfieldMultiComponent,\n    TuiDropdownContent,\n] as const;\n","import {computed, inject, type Signal} from '@angular/core';\n\nimport {TuiTextfieldComponent} from './textfield.component';\n\nexport function tuiInjectAuxiliary<T>(\n    predicate: (auxiliary: any, index: number) => boolean,\n): Signal<T | null> {\n    const {auxiliaries} = inject(TuiTextfieldComponent);\n\n    return computed(() => (auxiliaries().find(predicate) ?? null) as T | null);\n}\n","import {\n    computed,\n    Directive,\n    type DoCheck,\n    inject,\n    InjectionToken,\n    INJECTOR,\n    type OnDestroy,\n    type Provider,\n    TemplateRef,\n    type Type,\n} from '@angular/core';\n\nimport {TuiTextfieldComponent} from './textfield.component';\n\nexport const TUI_TEXTFIELD_CONTENT = new InjectionToken<Type<unknown>>(\n    ngDevMode ? 'TUI_TEXTFIELD_CONTENT' : '',\n);\n\nexport function tuiAsTextfieldContent(content: () => Type<unknown>): Provider {\n    return {provide: TUI_TEXTFIELD_CONTENT, useFactory: content};\n}\n\n@Directive({selector: 'ng-template[tuiTextfieldContent]'})\nexport class TuiTextfieldContent implements DoCheck, OnDestroy {\n    private readonly vcr = inject(TuiTextfieldComponent).vcr;\n    private readonly options = {injector: inject(INJECTOR)};\n\n    private readonly content =\n        inject(TUI_TEXTFIELD_CONTENT, {optional: true}) || inject(TemplateRef);\n\n    private readonly ref = computed(() => {\n        const vcr = this.vcr();\n\n        return this.content instanceof TemplateRef\n            ? vcr?.createEmbeddedView(this.content)\n            : vcr?.createComponent(this.content, this.options).hostView;\n    });\n\n    public ngDoCheck(): void {\n        this.ref()?.detectChanges();\n    }\n\n    public ngOnDestroy(): void {\n        this.ref()?.destroy();\n    }\n}\n","import {Directive} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\n/**\n * Use it instead of host binding\n * host: { '[type]': '\"text\"' }\n * ___\n * From Angular 19+ all effects are called before host bindings.\n * If effects inside `tuiValue` will be called before `<input />` get `type=\"text\"`,\n * it will cause loss of initial value\n */\n@Directive()\nexport class TuiWithNativePicker {\n    constructor() {\n        tuiInjectElement<HTMLInputElement>().type = 'text';\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}