@taiga-ui/legacy 4.52.0-canary.6c67ccf → 4.52.0-canary.9fae831
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/color-selector/color-selector.module.d.ts +11 -12
- package/components/index.d.ts +0 -8
- package/components/input-phone/input-phone.component.d.ts +3 -0
- package/components/input-phone/input-phone.directive.d.ts +3 -0
- package/components/input-phone/input-phone.module.d.ts +3 -0
- package/components/input-phone/input-phone.options.d.ts +10 -1
- package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +0 -4
- package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +2 -3
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +18 -4
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs +6 -6
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +3 -3
- package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-time.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input.mjs +2 -3
- package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +1 -1
- package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-select.mjs +2 -3
- package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components.mjs +0 -8
- package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
- package/package.json +28 -60
- package/utils/icons-path-factory.d.ts +1 -1
- package/components/input-copy/index.d.ts +0 -4
- package/components/input-copy/input-copy.component.d.ts +0 -33
- package/components/input-copy/input-copy.directive.d.ts +0 -11
- package/components/input-copy/input-copy.module.d.ts +0 -18
- package/components/input-copy/input-copy.options.d.ts +0 -26
- package/components/input-date-multi/index.d.ts +0 -2
- package/components/input-date-multi/input-date-multi.component.d.ts +0 -66
- package/components/input-date-multi/input-date-multi.module.d.ts +0 -20
- package/components/input-month/index.d.ts +0 -3
- package/components/input-month/input-month.component.d.ts +0 -44
- package/components/input-month/input-month.directive.d.ts +0 -19
- package/components/input-month/input-month.module.d.ts +0 -19
- package/components/input-password/index.d.ts +0 -4
- package/components/input-password/input-password.component.d.ts +0 -33
- package/components/input-password/input-password.directive.d.ts +0 -15
- package/components/input-password/input-password.module.d.ts +0 -19
- package/components/input-password/input-password.options.d.ts +0 -25
- package/components/input-year/index.d.ts +0 -3
- package/components/input-year/input-year.component.d.ts +0 -36
- package/components/input-year/input-year.directive.d.ts +0 -14
- package/components/input-year/input-year.module.d.ts +0 -18
- package/components/island/index.d.ts +0 -1
- package/components/island/island.directive.d.ts +0 -20
- package/components/sheet/components/sheet/sheet.component.d.ts +0 -31
- package/components/sheet/components/sheet/sheet.providers.d.ts +0 -2
- package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +0 -11
- package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +0 -14
- package/components/sheet/components/sheets-host/sheets-host.component.d.ts +0 -15
- package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +0 -14
- package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +0 -9
- package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +0 -14
- package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +0 -17
- package/components/sheet/index.d.ts +0 -14
- package/components/sheet/sheet-options.d.ts +0 -27
- package/components/sheet/sheet-tokens.d.ts +0 -18
- package/components/sheet/sheet.d.ts +0 -21
- package/components/sheet/sheet.directive.d.ts +0 -17
- package/components/sheet/sheet.module.d.ts +0 -24
- package/components/sheet/sheet.service.d.ts +0 -17
- package/components/table-bar/index.d.ts +0 -4
- package/components/table-bar/table-bar.component.d.ts +0 -17
- package/components/table-bar/table-bar.directive.d.ts +0 -11
- package/components/table-bar/table-bar.options.d.ts +0 -31
- package/components/table-bar/table-bars-host.component.d.ts +0 -10
- package/components/table-bar/table-bars.service.d.ts +0 -11
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +0 -197
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +0 -272
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs +0 -231
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs +0 -187
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-input-year.mjs +0 -188
- package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-island.mjs +0 -68
- package/fesm2022/taiga-ui-legacy-components-island.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-sheet.mjs +0 -577
- package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +0 -147
- package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-multi-select.mjs","sources":["../../../projects/legacy/components/multi-select/multi-select.options.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.ts","../../../projects/legacy/components/multi-select/multi-select.component.ts","../../../projects/legacy/components/multi-select/multi-select.template.html","../../../projects/legacy/components/multi-select/hide-selected.pipe.ts","../../../projects/legacy/components/multi-select/multi-select.directive.ts","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.component.ts","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.template.html","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.directive.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.component.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.template.html","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select-group.component.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select-group.template.html","../../../projects/legacy/components/multi-select/multi-select.module.ts","../../../projects/legacy/components/multi-select/taiga-ui-legacy-components-multi-select.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiMultiSelectOptions<T> {\n readonly rows: number;\n readonly valueContent: PolymorpheusContent<TuiContext<readonly T[]>>;\n}\n\nexport const TUI_MULTI_SELECT_DEFAULT_OPTIONS: TuiMultiSelectOptions<unknown> = {\n rows: Infinity,\n valueContent: '',\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for MultiSelect component\n */\nexport const TUI_MULTI_SELECT_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_MULTI_SELECT_OPTIONS' : '',\n {\n factory: () => TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiMultiSelectOptionsProvider<T>(\n options: Partial<TuiMultiSelectOptions<T>>,\n): Provider {\n return tuiProvideOptions(\n TUI_MULTI_SELECT_OPTIONS,\n options,\n TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n );\n}\n","import {Directive} from '@angular/core';\nimport {type TuiMapper} from '@taiga-ui/cdk/types';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport {type TuiMultiSelectDirective} from '../multi-select.directive';\n\n@Directive()\nexport abstract class AbstractTuiNativeMultiSelect<T> extends AbstractTuiNativeSelect<\n TuiMultiSelectDirective<T>,\n T\n> {\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selectedMapper: TuiMapper<[T, ...any[]], boolean> = (option, value) =>\n value.includes(option);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {EMPTY_ARRAY, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {\n type TuiBooleanHandler,\n type TuiContext,\n type TuiMapper,\n type TuiStringHandler,\n} from '@taiga-ui/cdk/types';\nimport {tuiGetClipboardDataText} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiArrayToggle, tuiIsString, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n tuiAsDataListHost,\n type TuiDataListAccessor,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {type TuiSizeL, type TuiSizeM, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl,\n TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {\n TUI_INPUT_TAG_OPTIONS,\n TuiInputTagComponent,\n} from '@taiga-ui/legacy/components/input-tag';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {\n TUI_MULTI_SELECT_OPTIONS,\n type TuiMultiSelectOptions,\n} from './multi-select.options';\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select/native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'tui-multi-select',\n templateUrl: './multi-select.template.html',\n styleUrls: ['./multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiMultiSelectComponent),\n tuiAsControl(TuiMultiSelectComponent),\n tuiAsDataListHost(TuiMultiSelectComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '[class._editable]': 'editable',\n '[class._expandable]': 'rows > 1',\n },\n})\nexport class TuiMultiSelectComponent<T>\n extends AbstractTuiMultipleControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ContentChild(AbstractTuiNativeMultiSelect, {static: true})\n private readonly nativeSelect?: AbstractTuiNativeMultiSelect<T>;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiInputTagComponent)\n private readonly input?: TuiInputTagComponent;\n\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly options = inject<TuiMultiSelectOptions<T>>(TUI_MULTI_SELECT_OPTIONS);\n private readonly inputTagOptions = inject(TUI_INPUT_TAG_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n protected open = false;\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly isMobile: boolean = inject(TUI_IS_MOBILE);\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public placeholder = '';\n\n @Input()\n public editable = true;\n\n @Input()\n public disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n public valueContent: TuiMultiSelectOptions<T>['valueContent'] =\n this.options.valueContent;\n\n @Input()\n public tagValidator: TuiBooleanHandler<T> = TUI_TRUE_HANDLER;\n\n @Input()\n public rows: TuiMultiSelectOptions<T>['rows'] = this.options.rows;\n\n @Input()\n public autoColor = false;\n\n @Output()\n public readonly searchChange = new EventEmitter<string | null>();\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.input?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return !!this.input?.focused || !!this.dropdown?.tuiDropdownOpen;\n }\n\n public onValueChange(value: readonly T[]): void {\n this.value = value;\n }\n\n public onSearch(search: string | null): void {\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (search !== '') {\n this.open = true;\n }\n\n this.updateSearch(search);\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n public handleOption(option: T): void {\n const {value, identityMatcher} = this;\n const index = value.findIndex((item) => identityMatcher(item, option));\n\n this.value =\n index === -1 ? [...value, option] : value.filter((_, i) => i !== index);\n this.updateSearch(null);\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return this.interactive ? this.arrowMode.interactive : this.arrowMode.disabled;\n }\n\n protected get nativeDropdownMode(): boolean {\n return !!this.nativeSelect && this.isMobile && !this.editable;\n }\n\n protected get computedValue(): readonly T[] {\n return this.computedGroup ? EMPTY_ARRAY : this.value;\n }\n\n // @bad TODO: think of a better way\n protected get searchOrSpace(): string {\n return this.computedGroup ? ' ' : this.searchString;\n }\n\n protected get searchString(): string {\n return this.search === null ? '' : this.search;\n }\n\n protected get computedGroup(): boolean {\n return (\n !!this.valueContent &&\n this.value.length > 0 &&\n (!this.focused || !this.editable)\n );\n }\n\n @tuiPure\n protected getStringifier(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiContext<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n\n protected readonly valueMapper: TuiMapper<\n [readonly T[], TuiStringHandler<T>, boolean?],\n ReadonlyArray<TuiStringifiableItem<T>>\n > = (value, stringify, group) =>\n group\n ? EMPTY_ARRAY\n : value.map((item) => new TuiStringifiableItem(item, stringify));\n\n protected readonly disabledItemHandlerWrapper: TuiMapper<\n [TuiBooleanHandler<T>],\n TuiBooleanHandler<TuiStringifiableItem<T> | string>\n > = (handler) => (stringifiable) =>\n tuiIsString(stringifiable) || handler(stringifiable.item);\n\n protected onSpace(event: Event): void {\n if (!this.editable) {\n event.preventDefault();\n }\n\n if (!this.readOnly) {\n this.open = true;\n }\n }\n\n protected onEnter(event: Event): void {\n const {value} = this;\n const options = this.accessor ? this.accessor.getOptions() : [];\n\n if (options.length !== 1) {\n return;\n }\n\n event.preventDefault();\n this.value = options[0] ? tuiArrayToggle(value, options[0]) : value;\n this.updateSearch(null);\n }\n\n protected onKeyDown(event: KeyboardEvent): void {\n if (event.key === this.inputTagOptions.separator) {\n this.onEnter(event);\n }\n }\n\n protected onPaste(event: Event): void {\n const pasted = tuiGetClipboardDataText(event as ClipboardEvent);\n const tags = pasted\n .split(this.inputTagOptions.separator)\n .map((tag) => tag.trim());\n const options = this.accessor?.getOptions() ?? [];\n const separator = tuiIsString(this.inputTagOptions.separator)\n ? this.inputTagOptions.separator\n : ',';\n\n const matches =\n options?.filter((option) => tags.includes(this.stringify(option))) ?? [];\n const matchingStrings = matches.map((v) => String(v));\n const invalid = tags.filter((value) => !matchingStrings.includes(value));\n\n this.value = this.filterValue([...this.value, ...matches]);\n this.updateSearch(invalid.length ? invalid.join(separator) : null);\n }\n\n protected onClick({nativeFocusableElement}: TuiInputTagComponent): void {\n if (\n this.interactive &&\n nativeFocusableElement &&\n tuiIsNativeFocused(nativeFocusableElement)\n ) {\n this.open = !this.open;\n }\n }\n\n protected onInput(value: ReadonlyArray<TuiStringifiableItem<T>>): void {\n this.value = value.map(({item}) => item);\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n private filterValue(value: T[]): T[] {\n const seen = new Set();\n\n return value\n .reverse()\n .filter((item) => item && !seen.has(item) && seen.add(item))\n .reverse();\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n automation-id=\"tui-multi-select__input\"\n class=\"t-input\"\n [autoColor]=\"autoColor\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"false\"\n [inputHidden]=\"!editable\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper : stringify\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoOpen]=\"open\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [search]=\"searchOrSpace\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n (click.prevent)=\"onClick(inputTag)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.space)=\"onSpace($event)\"\n (keydown)=\"onKeyDown($event)\"\n (ngModelChange)=\"onInput($event)\"\n (paste.capture.stop.prevent)=\"onPaste($event)\"\n (searchChange)=\"onSearch($event)\"\n >\n <ng-content />\n <ng-template #select>\n @if (isMobile) {\n <ng-content select=\"select\" />\n }\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n />\n\n @if (computedGroup) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-content\"\n [class.t-content_fullsize]=\"inputTag.labelOutside\"\n >\n <span\n *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </span>\n </div>\n }\n </tui-input-tag>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n automation-id=\"tui-multi-select__arrow\"\n tuiWrapper\n class=\"t-arrow\"\n [class.t-arrow_native-dropdown]=\"nativeDropdownMode\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n <ng-container *polymorpheusOutlet=\"arrow as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n</div>\n","import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiIsFlat} from '@taiga-ui/kit/utils';\n\nimport {TuiMultiSelectComponent} from './multi-select.component';\n\n@Pipe({\n standalone: false,\n name: 'tuiHideSelected',\n pure: false,\n})\nexport class TuiHideSelectedPipe implements PipeTransform {\n private readonly component = inject(TuiMultiSelectComponent);\n\n public transform<T>(items: readonly T[] | null): readonly T[] | null;\n public transform<T>(\n items: ReadonlyArray<readonly T[]> | null,\n ): ReadonlyArray<readonly T[]> | null;\n public transform<T>(\n items: ReadonlyArray<readonly T[]> | readonly T[] | null,\n ): ReadonlyArray<readonly T[]> | readonly T[] | null {\n const {value, identityMatcher} = this.component;\n\n if (!items) {\n return null;\n }\n\n return tuiIsFlat(items)\n ? this.filter(items, value, identityMatcher)\n : this.filter2d(items, value, identityMatcher);\n }\n\n @tuiPure\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): ReadonlyArray<readonly T[]> {\n return items.map((subItems) => this.filter(subItems, value, matcher));\n }\n\n @tuiPure\n private filter<T>(\n items: readonly T[],\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): readonly T[] {\n return items.filter((item) =>\n value.every((selected) => !matcher(selected, item)),\n );\n }\n}\n","import {Directive} from '@angular/core';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiMultiSelectComponent} from './multi-select.component';\n\n@Directive({\n standalone: false,\n selector: 'tui-multi-select',\n providers: [tuiAsTextfieldHost(TuiMultiSelectDirective)],\n})\nexport class TuiMultiSelectDirective<T = string> extends AbstractTuiTextfieldHost<\n TuiMultiSelectComponent<T>\n> {\n public override get readOnly(): boolean {\n return true;\n }\n\n public get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n public disableItemHandler: TuiBooleanHandler<T> = (item) =>\n this.host.disabledItemHandler(item);\n\n public onValueChange(): void {}\n\n public onSelectionChange(value: T[]): void {\n this.host.onValueChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n inject,\n Input,\n type QueryList,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {EMPTY_QUERY, TUI_DEFAULT_IDENTITY_MATCHER} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue, tuiQueryListChanges} from '@taiga-ui/cdk/observables';\nimport {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {\n tuiGetOriginalArrayFromQueryList,\n tuiIsPresent,\n tuiPure,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_HOST,\n type TuiDataListHost,\n TuiOption,\n} from '@taiga-ui/core/components/data-list';\nimport {TUI_MULTI_SELECT_TEXTS} from '@taiga-ui/kit/tokens';\nimport {combineLatest, map, type Observable} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n templateUrl: './multi-select-group.template.html',\n styleUrls: ['./multi-select-group.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._label]': 'label',\n },\n})\nexport class TuiMultiSelectGroupComponent<T> {\n @ContentChildren(TuiOption)\n private readonly options: QueryList<TuiOption<T>> = EMPTY_QUERY;\n\n private readonly host = inject<TuiDataListHost<T>>(TUI_DATA_LIST_HOST);\n private readonly control = inject(NgControl);\n\n protected readonly multiSelectTexts$ = inject(TUI_MULTI_SELECT_TEXTS);\n\n @Input()\n public label = '';\n\n @tuiPure\n protected get empty$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(map(({length}) => !length));\n }\n\n @tuiPure\n protected get disabled$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(\n map((items) => items.every(({disabled}) => disabled)),\n );\n }\n\n @tuiPure\n protected get value$(): Observable<boolean | null> {\n return combineLatest([this.items$, this.valueChanges$]).pipe(\n map(([items, current]) => {\n let result = false;\n\n for (let i = 0; i < items.length; i++) {\n const selected = current.some((selected) =>\n this.matcher(selected, items[i]!),\n );\n\n if ((!selected && result) || (selected && !result && i)) {\n return null;\n }\n\n result = selected;\n }\n\n return result;\n }),\n );\n }\n\n protected onClick(checked: boolean | null): void {\n if (!this.control.control) {\n return;\n }\n\n const controlValue: readonly T[] = this.control.value || [];\n const {values} = this;\n const filtered = controlValue.filter((current) =>\n values.every((item) => !this.matcher(current, item)),\n );\n\n this.control.control.setValue(checked ? filtered : [...filtered, ...values]);\n }\n\n @tuiPure\n private get items$(): Observable<readonly T[]> {\n return tuiQueryListChanges(this.options).pipe(\n map((options) => options.map(({value}) => value).filter(tuiIsPresent)),\n );\n }\n\n @tuiPure\n private get valueChanges$(): Observable<readonly T[]> {\n return tuiControlValue<readonly T[]>(this.control).pipe(\n map((value) => value || []),\n );\n }\n\n private get values(): readonly T[] {\n return this.filter(tuiGetOriginalArrayFromQueryList(this.options));\n }\n\n private get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n @tuiPure\n private filter(items: ReadonlyArray<TuiOption<T>>): readonly T[] {\n return items.map(({value}) => value).filter(tuiIsPresent);\n }\n}\n","<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n @if (label && !(empty$ | async)) {\n <button\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n }\n</span>\n<ng-content />\n","import {Directive, inject} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, NgControl} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_HOST,\n tuiAsOptionContent,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {TuiMultiSelectOptionComponent} from '@taiga-ui/legacy/components/multi-select-option';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\nimport {TuiMultiSelectComponent} from '../multi-select.component';\n\nexport const TUI_MULTI_SELECT_OPTION = new PolymorpheusComponent(\n TuiMultiSelectOptionComponent,\n);\n\n@Directive({\n standalone: false,\n selector: '[tuiMultiSelectGroup]',\n providers: [\n tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),\n {\n provide: TUI_DATA_LIST_HOST,\n useFactory: <T>(): TuiDataListHost<T> => {\n const multiSelect = inject(TuiMultiSelectComponent, {optional: true});\n const ngControl = inject(NgControl);\n const host = inject(AbstractTuiControl, {optional: true});\n const {identityMatcher, stringify} =\n inject(TUI_ITEMS_HANDLERS, {optional: true}) ?? {};\n\n return (\n multiSelect || {\n stringify,\n identityMatcher,\n handleOption: (option) => {\n const value = host?.value ?? ngControl.control?.value ?? [];\n const result = tuiArrayToggle(value, option, identityMatcher);\n\n if (host) {\n host.value = result;\n } else {\n ngControl.control?.setValue(result);\n }\n },\n }\n );\n },\n },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useValue: {\n writeValue: EMPTY_FUNCTION,\n registerOnChange: EMPTY_FUNCTION,\n registerOnTouched: EMPTY_FUNCTION,\n },\n },\n ],\n})\nexport class TuiMultiSelectGroupDirective {}\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'select[multiple][tuiSelect]:not([labels])',\n templateUrl: './native-multi-select.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectComponent),\n tuiProvide(AbstractTuiNativeMultiSelect, TuiNativeMultiSelectComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.zoneless)': '0',\n '(mousedown.stop.zoneless)': '0',\n },\n})\nexport class TuiNativeMultiSelectComponent<T> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n public items: readonly T[] | null = [];\n\n protected onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map((option) => option.index);\n const value = this.items?.filter((_, index) => selected.includes(index)) || [];\n\n this.host.onSelectionChange(value);\n }\n}\n","@if (control.control?.valueChanges | async) {}\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n@for (option of items; track option) {\n <option\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n}\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'select[multiple][tuiSelect][labels]',\n templateUrl: './native-multi-select-group.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectGroupComponent),\n tuiProvide(AbstractTuiNativeMultiSelect, TuiNativeMultiSelectGroupComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectGroupComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectGroupComponent<unknown>) =>\n datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.zoneless)': '0',\n '(mousedown.stop.zoneless)': '0',\n },\n})\nexport class TuiNativeMultiSelectGroupComponent<\n T,\n> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n public items: readonly T[][] | null = [];\n\n @Input()\n public labels: readonly string[] = [];\n\n protected onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map((option) => option.index);\n const flatItems = this.items?.reduce((acc, val) => acc.concat(val), []) || [];\n const value = flatItems.filter((_, index) => selected.includes(index));\n\n this.host.onSelectionChange(value);\n }\n}\n","@if (control.control?.valueChanges | async) {}\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n@for (group of items; track group; let index = $index) {\n <optgroup [label]=\"labels[index]\">\n @for (option of group; track option) {\n <option\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n }\n </optgroup>\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListWrapper} from '@taiga-ui/kit/components/data-list-wrapper';\nimport {TuiStringifyContentPipe} from '@taiga-ui/kit/pipes/stringify-content';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {TuiInputTagModule} from '@taiga-ui/legacy/components/input-tag';\nimport {TuiMultiSelectOptionModule} from '@taiga-ui/legacy/components/multi-select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiHideSelectedPipe} from './hide-selected.pipe';\nimport {TuiMultiSelectComponent} from './multi-select.component';\nimport {TuiMultiSelectDirective} from './multi-select.directive';\nimport {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\nimport {TuiNativeMultiSelectComponent} from './native-multi-select/native-multi-select.component';\nimport {TuiNativeMultiSelectGroupComponent} from './native-multi-select/native-multi-select-group.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-chip TuiInputChip} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiWrapperModule,\n TuiArrowComponent,\n TuiLet,\n TuiInputTagModule,\n TuiMultiSelectOptionModule,\n TuiMapperPipe,\n TuiLink,\n TuiTextfieldControllerModule,\n TuiStringifyContentPipe,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n declarations: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n TuiMultiSelectDirective,\n ],\n exports: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiMultiSelectDirective,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n})\nexport class TuiMultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i5","i7","i4.TuiMultiSelectGroupDirective","i6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-multi-select.mjs","sources":["../../../projects/legacy/components/multi-select/multi-select.options.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.ts","../../../projects/legacy/components/multi-select/multi-select.component.ts","../../../projects/legacy/components/multi-select/multi-select.template.html","../../../projects/legacy/components/multi-select/hide-selected.pipe.ts","../../../projects/legacy/components/multi-select/multi-select.directive.ts","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.component.ts","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.template.html","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.directive.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.component.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.template.html","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select-group.component.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select-group.template.html","../../../projects/legacy/components/multi-select/multi-select.module.ts","../../../projects/legacy/components/multi-select/taiga-ui-legacy-components-multi-select.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiMultiSelectOptions<T> {\n readonly rows: number;\n readonly valueContent: PolymorpheusContent<TuiContext<readonly T[]>>;\n}\n\nexport const TUI_MULTI_SELECT_DEFAULT_OPTIONS: TuiMultiSelectOptions<unknown> = {\n rows: Infinity,\n valueContent: '',\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for MultiSelect component\n */\nexport const TUI_MULTI_SELECT_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_MULTI_SELECT_OPTIONS' : '',\n {\n factory: () => TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiMultiSelectOptionsProvider<T>(\n options: Partial<TuiMultiSelectOptions<T>>,\n): Provider {\n return tuiProvideOptions(\n TUI_MULTI_SELECT_OPTIONS,\n options,\n TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n );\n}\n","import {Directive} from '@angular/core';\nimport {type TuiMapper} from '@taiga-ui/cdk/types';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport {type TuiMultiSelectDirective} from '../multi-select.directive';\n\n@Directive()\nexport abstract class AbstractTuiNativeMultiSelect<T> extends AbstractTuiNativeSelect<\n TuiMultiSelectDirective<T>,\n T\n> {\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selectedMapper: TuiMapper<[T, ...any[]], boolean> = (option, value) =>\n value.includes(option);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {EMPTY_ARRAY, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {\n type TuiBooleanHandler,\n type TuiContext,\n type TuiMapper,\n type TuiStringHandler,\n} from '@taiga-ui/cdk/types';\nimport {tuiGetClipboardDataText} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiArrayToggle, tuiIsString, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n tuiAsDataListHost,\n type TuiDataListAccessor,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {type TuiSizeL, type TuiSizeM, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl,\n TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {\n TUI_INPUT_TAG_OPTIONS,\n TuiInputTagComponent,\n} from '@taiga-ui/legacy/components/input-tag';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {\n TUI_MULTI_SELECT_OPTIONS,\n type TuiMultiSelectOptions,\n} from './multi-select.options';\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select/native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'tui-multi-select',\n templateUrl: './multi-select.template.html',\n styleUrls: ['./multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiMultiSelectComponent),\n tuiAsControl(TuiMultiSelectComponent),\n tuiAsDataListHost(TuiMultiSelectComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '[class._editable]': 'editable',\n '[class._expandable]': 'rows > 1',\n },\n})\nexport class TuiMultiSelectComponent<T>\n extends AbstractTuiMultipleControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ContentChild(AbstractTuiNativeMultiSelect, {static: true})\n private readonly nativeSelect?: AbstractTuiNativeMultiSelect<T>;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiInputTagComponent)\n private readonly input?: TuiInputTagComponent;\n\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly options = inject<TuiMultiSelectOptions<T>>(TUI_MULTI_SELECT_OPTIONS);\n private readonly inputTagOptions = inject(TUI_INPUT_TAG_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n protected open = false;\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly isMobile: boolean = inject(TUI_IS_MOBILE);\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public placeholder = '';\n\n @Input()\n public editable = true;\n\n @Input()\n public disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n public valueContent: TuiMultiSelectOptions<T>['valueContent'] =\n this.options.valueContent;\n\n @Input()\n public tagValidator: TuiBooleanHandler<T> = TUI_TRUE_HANDLER;\n\n @Input()\n public rows: TuiMultiSelectOptions<T>['rows'] = this.options.rows;\n\n @Input()\n public autoColor = false;\n\n @Output()\n public readonly searchChange = new EventEmitter<string | null>();\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.input?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return !!this.input?.focused || !!this.dropdown?.tuiDropdownOpen;\n }\n\n public onValueChange(value: readonly T[]): void {\n this.value = value;\n }\n\n public onSearch(search: string | null): void {\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (search !== '') {\n this.open = true;\n }\n\n this.updateSearch(search);\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n public handleOption(option: T): void {\n const {value, identityMatcher} = this;\n const index = value.findIndex((item) => identityMatcher(item, option));\n\n this.value =\n index === -1 ? [...value, option] : value.filter((_, i) => i !== index);\n this.updateSearch(null);\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return this.interactive ? this.arrowMode.interactive : this.arrowMode.disabled;\n }\n\n protected get nativeDropdownMode(): boolean {\n return !!this.nativeSelect && this.isMobile && !this.editable;\n }\n\n protected get computedValue(): readonly T[] {\n return this.computedGroup ? EMPTY_ARRAY : this.value;\n }\n\n // @bad TODO: think of a better way\n protected get searchOrSpace(): string {\n return this.computedGroup ? ' ' : this.searchString;\n }\n\n protected get searchString(): string {\n return this.search === null ? '' : this.search;\n }\n\n protected get computedGroup(): boolean {\n return (\n !!this.valueContent &&\n this.value.length > 0 &&\n (!this.focused || !this.editable)\n );\n }\n\n @tuiPure\n protected getStringifier(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiContext<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n\n protected readonly valueMapper: TuiMapper<\n [readonly T[], TuiStringHandler<T>, boolean?],\n ReadonlyArray<TuiStringifiableItem<T>>\n > = (value, stringify, group) =>\n group\n ? EMPTY_ARRAY\n : value.map((item) => new TuiStringifiableItem(item, stringify));\n\n protected readonly disabledItemHandlerWrapper: TuiMapper<\n [TuiBooleanHandler<T>],\n TuiBooleanHandler<TuiStringifiableItem<T> | string>\n > = (handler) => (stringifiable) =>\n tuiIsString(stringifiable) || handler(stringifiable.item);\n\n protected onSpace(event: Event): void {\n if (!this.editable) {\n event.preventDefault();\n }\n\n if (!this.readOnly) {\n this.open = true;\n }\n }\n\n protected onEnter(event: Event): void {\n const {value} = this;\n const options = this.accessor ? this.accessor.getOptions() : [];\n\n if (options.length !== 1) {\n return;\n }\n\n event.preventDefault();\n this.value = options[0] ? tuiArrayToggle(value, options[0]) : value;\n this.updateSearch(null);\n }\n\n protected onKeyDown(event: KeyboardEvent): void {\n if (event.key === this.inputTagOptions.separator) {\n this.onEnter(event);\n }\n }\n\n protected onPaste(event: Event): void {\n const pasted = tuiGetClipboardDataText(event as ClipboardEvent);\n const tags = pasted\n .split(this.inputTagOptions.separator)\n .map((tag) => tag.trim());\n const options = this.accessor?.getOptions() ?? [];\n const separator = tuiIsString(this.inputTagOptions.separator)\n ? this.inputTagOptions.separator\n : ',';\n\n const matches =\n options?.filter((option) => tags.includes(this.stringify(option))) ?? [];\n const matchingStrings = matches.map((v) => String(v));\n const invalid = tags.filter((value) => !matchingStrings.includes(value));\n\n this.value = this.filterValue([...this.value, ...matches]);\n this.updateSearch(invalid.length ? invalid.join(separator) : null);\n }\n\n protected onClick({nativeFocusableElement}: TuiInputTagComponent): void {\n if (\n this.interactive &&\n nativeFocusableElement &&\n tuiIsFocused(nativeFocusableElement)\n ) {\n this.open = !this.open;\n }\n }\n\n protected onInput(value: ReadonlyArray<TuiStringifiableItem<T>>): void {\n this.value = value.map(({item}) => item);\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n private filterValue(value: T[]): T[] {\n const seen = new Set();\n\n return value\n .reverse()\n .filter((item) => item && !seen.has(item) && seen.add(item))\n .reverse();\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n automation-id=\"tui-multi-select__input\"\n class=\"t-input\"\n [autoColor]=\"autoColor\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"false\"\n [inputHidden]=\"!editable\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper : stringify\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoOpen]=\"open\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [search]=\"searchOrSpace\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n (click.prevent)=\"onClick(inputTag)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.space)=\"onSpace($event)\"\n (keydown)=\"onKeyDown($event)\"\n (ngModelChange)=\"onInput($event)\"\n (paste.capture.stop.prevent)=\"onPaste($event)\"\n (searchChange)=\"onSearch($event)\"\n >\n <ng-content />\n <ng-template #select>\n @if (isMobile) {\n <ng-content select=\"select\" />\n }\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n />\n\n @if (computedGroup) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-content\"\n [class.t-content_fullsize]=\"inputTag.labelOutside\"\n >\n <span\n *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </span>\n </div>\n }\n </tui-input-tag>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n automation-id=\"tui-multi-select__arrow\"\n tuiWrapper\n class=\"t-arrow\"\n [class.t-arrow_native-dropdown]=\"nativeDropdownMode\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n <ng-container *polymorpheusOutlet=\"arrow as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n</div>\n","import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiIsFlat} from '@taiga-ui/kit/utils';\n\nimport {TuiMultiSelectComponent} from './multi-select.component';\n\n@Pipe({\n standalone: false,\n name: 'tuiHideSelected',\n pure: false,\n})\nexport class TuiHideSelectedPipe implements PipeTransform {\n private readonly component = inject(TuiMultiSelectComponent);\n\n public transform<T>(items: readonly T[] | null): readonly T[] | null;\n public transform<T>(\n items: ReadonlyArray<readonly T[]> | null,\n ): ReadonlyArray<readonly T[]> | null;\n public transform<T>(\n items: ReadonlyArray<readonly T[]> | readonly T[] | null,\n ): ReadonlyArray<readonly T[]> | readonly T[] | null {\n const {value, identityMatcher} = this.component;\n\n if (!items) {\n return null;\n }\n\n return tuiIsFlat(items)\n ? this.filter(items, value, identityMatcher)\n : this.filter2d(items, value, identityMatcher);\n }\n\n @tuiPure\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): ReadonlyArray<readonly T[]> {\n return items.map((subItems) => this.filter(subItems, value, matcher));\n }\n\n @tuiPure\n private filter<T>(\n items: readonly T[],\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): readonly T[] {\n return items.filter((item) =>\n value.every((selected) => !matcher(selected, item)),\n );\n }\n}\n","import {Directive} from '@angular/core';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiMultiSelectComponent} from './multi-select.component';\n\n@Directive({\n standalone: false,\n selector: 'tui-multi-select',\n providers: [tuiAsTextfieldHost(TuiMultiSelectDirective)],\n})\nexport class TuiMultiSelectDirective<T = string> extends AbstractTuiTextfieldHost<\n TuiMultiSelectComponent<T>\n> {\n public override get readOnly(): boolean {\n return true;\n }\n\n public get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n public disableItemHandler: TuiBooleanHandler<T> = (item) =>\n this.host.disabledItemHandler(item);\n\n public onValueChange(): void {}\n\n public onSelectionChange(value: T[]): void {\n this.host.onValueChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n inject,\n Input,\n type QueryList,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {EMPTY_QUERY, TUI_DEFAULT_IDENTITY_MATCHER} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue, tuiQueryListChanges} from '@taiga-ui/cdk/observables';\nimport {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {\n tuiGetOriginalArrayFromQueryList,\n tuiIsPresent,\n tuiPure,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_HOST,\n type TuiDataListHost,\n TuiOption,\n} from '@taiga-ui/core/components/data-list';\nimport {TUI_MULTI_SELECT_TEXTS} from '@taiga-ui/kit/tokens';\nimport {combineLatest, map, type Observable} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n templateUrl: './multi-select-group.template.html',\n styleUrls: ['./multi-select-group.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._label]': 'label',\n },\n})\nexport class TuiMultiSelectGroupComponent<T> {\n @ContentChildren(TuiOption)\n private readonly options: QueryList<TuiOption<T>> = EMPTY_QUERY;\n\n private readonly host = inject<TuiDataListHost<T>>(TUI_DATA_LIST_HOST);\n private readonly control = inject(NgControl);\n\n protected readonly multiSelectTexts$ = inject(TUI_MULTI_SELECT_TEXTS);\n\n @Input()\n public label = '';\n\n @tuiPure\n protected get empty$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(map(({length}) => !length));\n }\n\n @tuiPure\n protected get disabled$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(\n map((items) => items.every(({disabled}) => disabled)),\n );\n }\n\n @tuiPure\n protected get value$(): Observable<boolean | null> {\n return combineLatest([this.items$, this.valueChanges$]).pipe(\n map(([items, current]) => {\n let result = false;\n\n for (let i = 0; i < items.length; i++) {\n const selected = current.some((selected) =>\n this.matcher(selected, items[i]!),\n );\n\n if ((!selected && result) || (selected && !result && i)) {\n return null;\n }\n\n result = selected;\n }\n\n return result;\n }),\n );\n }\n\n protected onClick(checked: boolean | null): void {\n if (!this.control.control) {\n return;\n }\n\n const controlValue: readonly T[] = this.control.value || [];\n const {values} = this;\n const filtered = controlValue.filter((current) =>\n values.every((item) => !this.matcher(current, item)),\n );\n\n this.control.control.setValue(checked ? filtered : [...filtered, ...values]);\n }\n\n @tuiPure\n private get items$(): Observable<readonly T[]> {\n return tuiQueryListChanges(this.options).pipe(\n map((options) => options.map(({value}) => value).filter(tuiIsPresent)),\n );\n }\n\n @tuiPure\n private get valueChanges$(): Observable<readonly T[]> {\n return tuiControlValue<readonly T[]>(this.control).pipe(\n map((value) => value || []),\n );\n }\n\n private get values(): readonly T[] {\n return this.filter(tuiGetOriginalArrayFromQueryList(this.options));\n }\n\n private get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n @tuiPure\n private filter(items: ReadonlyArray<TuiOption<T>>): readonly T[] {\n return items.map(({value}) => value).filter(tuiIsPresent);\n }\n}\n","<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n @if (label && !(empty$ | async)) {\n <button\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n }\n</span>\n<ng-content />\n","import {Directive, inject} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, NgControl} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_HOST,\n tuiAsOptionContent,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {TuiMultiSelectOptionComponent} from '@taiga-ui/legacy/components/multi-select-option';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\nimport {TuiMultiSelectComponent} from '../multi-select.component';\n\nexport const TUI_MULTI_SELECT_OPTION = new PolymorpheusComponent(\n TuiMultiSelectOptionComponent,\n);\n\n@Directive({\n standalone: false,\n selector: '[tuiMultiSelectGroup]',\n providers: [\n tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),\n {\n provide: TUI_DATA_LIST_HOST,\n useFactory: <T>(): TuiDataListHost<T> => {\n const multiSelect = inject(TuiMultiSelectComponent, {optional: true});\n const ngControl = inject(NgControl);\n const host = inject(AbstractTuiControl, {optional: true});\n const {identityMatcher, stringify} =\n inject(TUI_ITEMS_HANDLERS, {optional: true}) ?? {};\n\n return (\n multiSelect || {\n stringify,\n identityMatcher,\n handleOption: (option) => {\n const value = host?.value ?? ngControl.control?.value ?? [];\n const result = tuiArrayToggle(value, option, identityMatcher);\n\n if (host) {\n host.value = result;\n } else {\n ngControl.control?.setValue(result);\n }\n },\n }\n );\n },\n },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useValue: {\n writeValue: EMPTY_FUNCTION,\n registerOnChange: EMPTY_FUNCTION,\n registerOnTouched: EMPTY_FUNCTION,\n },\n },\n ],\n})\nexport class TuiMultiSelectGroupDirective {}\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'select[multiple][tuiSelect]:not([labels])',\n templateUrl: './native-multi-select.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectComponent),\n tuiProvide(AbstractTuiNativeMultiSelect, TuiNativeMultiSelectComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.zoneless)': '0',\n '(mousedown.stop.zoneless)': '0',\n },\n})\nexport class TuiNativeMultiSelectComponent<T> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n public items: readonly T[] | null = [];\n\n protected onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map((option) => option.index);\n const value = this.items?.filter((_, index) => selected.includes(index)) || [];\n\n this.host.onSelectionChange(value);\n }\n}\n","@if (control.control?.valueChanges | async) {}\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n@for (option of items; track option) {\n <option\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n}\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'select[multiple][tuiSelect][labels]',\n templateUrl: './native-multi-select-group.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectGroupComponent),\n tuiProvide(AbstractTuiNativeMultiSelect, TuiNativeMultiSelectGroupComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectGroupComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectGroupComponent<unknown>) =>\n datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.zoneless)': '0',\n '(mousedown.stop.zoneless)': '0',\n },\n})\nexport class TuiNativeMultiSelectGroupComponent<\n T,\n> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n public items: readonly T[][] | null = [];\n\n @Input()\n public labels: readonly string[] = [];\n\n protected onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map((option) => option.index);\n const flatItems = this.items?.reduce((acc, val) => acc.concat(val), []) || [];\n const value = flatItems.filter((_, index) => selected.includes(index));\n\n this.host.onSelectionChange(value);\n }\n}\n","@if (control.control?.valueChanges | async) {}\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n@for (group of items; track group; let index = $index) {\n <optgroup [label]=\"labels[index]\">\n @for (option of group; track option) {\n <option\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n }\n </optgroup>\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListWrapper} from '@taiga-ui/kit/components/data-list-wrapper';\nimport {TuiStringifyContentPipe} from '@taiga-ui/kit/pipes/stringify-content';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {TuiInputTagModule} from '@taiga-ui/legacy/components/input-tag';\nimport {TuiMultiSelectOptionModule} from '@taiga-ui/legacy/components/multi-select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiHideSelectedPipe} from './hide-selected.pipe';\nimport {TuiMultiSelectComponent} from './multi-select.component';\nimport {TuiMultiSelectDirective} from './multi-select.directive';\nimport {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\nimport {TuiNativeMultiSelectComponent} from './native-multi-select/native-multi-select.component';\nimport {TuiNativeMultiSelectGroupComponent} from './native-multi-select/native-multi-select-group.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-chip TuiInputChip} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiWrapperModule,\n TuiArrowComponent,\n TuiLet,\n TuiInputTagModule,\n TuiMultiSelectOptionModule,\n TuiMapperPipe,\n TuiLink,\n TuiTextfieldControllerModule,\n TuiStringifyContentPipe,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n declarations: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n TuiMultiSelectDirective,\n ],\n exports: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiMultiSelectDirective,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n})\nexport class TuiMultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i5","i7","i4.TuiMultiSelectGroupDirective","i6"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { __decorate } from 'tslib';
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { inject, ElementRef, ViewChild, ChangeDetectionStrategy, Component, EventEmitter, Output, Input, ContentChildren, Directive, NgModule } from '@angular/core';
|
|
4
4
|
import { tuiInjectElement, tuiRetargetedBoundaryCrossing } from '@taiga-ui/cdk/utils/dom';
|
|
5
|
-
import {
|
|
5
|
+
import { tuiIsFocusedIn } from '@taiga-ui/cdk/utils/focus';
|
|
6
6
|
import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
7
7
|
import { TUI_TEXTFIELD_OPTIONS as TUI_TEXTFIELD_OPTIONS$1 } from '@taiga-ui/core/components/textfield';
|
|
8
8
|
import { TuiHintOptionsDirective } from '@taiga-ui/core/directives/hint';
|
|
@@ -136,7 +136,7 @@ class TuiPrimitiveTextfieldComponent extends AbstractTuiInteractive {
|
|
|
136
136
|
nativeElement);
|
|
137
137
|
}
|
|
138
138
|
get focused() {
|
|
139
|
-
return
|
|
139
|
+
return tuiIsFocusedIn(this.el);
|
|
140
140
|
}
|
|
141
141
|
get appearance() {
|
|
142
142
|
return this.options.appearance() === 'table'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-primitive-textfield.mjs","sources":["../../../projects/legacy/components/primitive-textfield/value-decoration/value-decoration.component.ts","../../../projects/legacy/components/primitive-textfield/value-decoration/value-decoration.template.html","../../../projects/legacy/components/primitive-textfield/primitive-textfield.component.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield.template.html","../../../projects/legacy/components/primitive-textfield/primitive-textfield.directive.ts","../../../projects/legacy/components/primitive-textfield/textfield/textfield.component.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield.module.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield-options.ts","../../../projects/legacy/components/primitive-textfield/taiga-ui-legacy-components-primitive-textfield.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n type DoCheck,\n ElementRef,\n inject,\n ViewChild,\n} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_FONTS_READY} from '@taiga-ui/legacy/tokens';\nimport {BehaviorSubject, delay, distinctUntilChanged, filter, map, merge} from 'rxjs';\n\nimport {type TuiPrimitiveTextfield} from '../primitive-textfield-types';\n\n@Component({\n standalone: false,\n selector: 'tui-value-decoration',\n templateUrl: './value-decoration.template.html',\n styleUrls: ['./value-decoration.style.less'],\n // It follows Change Detection of PrimitiveTextfield\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n host: {\n '[class._table]': 'isContextTable',\n '[class._filler]': 'filler',\n '(animationstart)': 'ngDoCheck()',\n },\n})\nexport class TuiValueDecorationComponent implements DoCheck {\n @ViewChild('pre', {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n private readonly textfield = inject<TuiPrimitiveTextfield>(\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n );\n\n private readonly fontsReady$ = inject(TUI_FONTS_READY);\n\n private readonly prefix$ = new BehaviorSubject('');\n\n public readonly pre$ = merge(this.fontsReady$, this.prefix$).pipe(\n delay(0),\n filter(() => !!this.pre?.nativeElement.isConnected),\n map(() => this.pre?.nativeElement.offsetWidth || 0),\n distinctUntilChanged(),\n );\n\n public ngDoCheck(): void {\n this.prefix$.next(this.prefix);\n }\n\n protected get isContextTable(): boolean {\n return this.textfield.appearance === 'table';\n }\n\n protected get filler(): string {\n const {focused, placeholder, exampleText, value, textfield} = this;\n\n if (placeholder && exampleText) {\n return '';\n }\n\n return focused ? exampleText || textfield.filler.slice(value.length) : '';\n }\n\n protected get value(): string {\n return this.textfield.value;\n }\n\n protected get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : '';\n }\n\n protected get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : '';\n }\n\n private get placeholder(): string {\n return this.textfield.nativeFocusableElement?.placeholder || '';\n }\n\n private get exampleText(): string {\n return !this.value && this.focused ? this.placeholder : '';\n }\n\n private get decorationsVisible(): boolean {\n return !!this.value || (this.focused && !this.placeholder);\n }\n\n private get focused(): boolean {\n return this.textfield.computedFocused && !this.textfield.readOnly;\n }\n\n private get computedPostfix(): string {\n return this.textfield.postfix && (this.filler || this.value)\n ? ` ${this.textfield.postfix}`\n : this.textfield.postfix;\n }\n}\n","<span\n #pre\n class=\"t-prefix\"\n [textContent]=\"prefix\"\n></span>\n<span\n class=\"t-ghost\"\n [textContent]=\"value\"\n></span>\n<span\n class=\"t-filler\"\n [textContent]=\"filler\"\n></span>\n<span\n class=\"t-postfix\"\n [textContent]=\"postfix\"\n></span>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n type ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n type QueryList,\n ViewChild,\n} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiRetargetedBoundaryCrossing} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_TEXTFIELD_OPTIONS as OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiInteractive} from '@taiga-ui/legacy/classes';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_OPTIONS as LEGACY_OPTIONS,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiGetBorder} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {fromEvent, map, type Observable} from 'rxjs';\n\nimport {type TuiPrimitiveTextfield} from './primitive-textfield-types';\n\nexport const TUI_ICON_START_PADDINGS: Record<TuiSizeL | TuiSizeS, number> = {\n s: 1.25,\n m: 1.75,\n l: 2.25,\n};\n\n/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@Component({\n standalone: false,\n selector: 'tui-primitive-textfield',\n templateUrl: './primitive-textfield.template.html',\n styleUrls: ['./primitive-textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '[class._readonly]': 'readOnly',\n '[class._hidden]': 'inputHidden',\n '[class._invalid]': 'computedInvalid',\n '[class._autofilled]': 'autofilled',\n '[style.--t-border-start.rem]': 'borderStart',\n '[style.--t-border-end.rem]': 'borderEnd',\n '[class._label-outside]': 'labelOutside',\n '(focusin)': 'onFocused(true)',\n '(focusout)': 'onFocused(false)',\n '(transitionstart.capture)': 'transitionStartHandler($event)',\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiPrimitiveTextfield\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n private readonly legacyOptions = inject(LEGACY_OPTIONS);\n private readonly el = tuiInjectElement();\n\n @ContentChildren(PolymorpheusOutlet, {descendants: true})\n protected readonly content?: QueryList<unknown>;\n\n protected readonly options = inject(OPTIONS);\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n protected autofilled = false;\n\n @Input()\n public editable = true;\n\n /**\n * @deprecated:\n * use `tuiTextfieldOptionsProvider({iconCleaner: `@tui.chevron-up`})`\n */\n @Input()\n public iconCleaner = this.legacyOptions.iconCleaner;\n\n @Input()\n public readOnly = false;\n\n @Input()\n public invalid = false;\n\n @Input()\n public disabled = false;\n\n @Input()\n public value = '';\n\n @Output()\n public readonly valueChange = new EventEmitter<string>();\n\n public get prefix(): string {\n return this.controller.prefix;\n }\n\n public get postfix(): string {\n return this.controller.postfix;\n }\n\n public get filler(): string {\n return this.controller.filler;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n if (this.computedDisabled || !this.focusableElement) {\n return null;\n }\n\n const {nativeElement} = this.focusableElement;\n\n return (nativeElement.previousElementSibling ||\n nativeElement) as HTMLInputElement | null;\n }\n\n public get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el);\n }\n\n public get appearance(): string {\n return this.options.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n public onModelChange(value: string): void {\n this.updateValue(value);\n }\n\n protected get labelOutside(): boolean {\n return (\n this.appearance === 'table' ||\n this.size === 's' ||\n this.controller.labelOutside\n );\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n protected get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n protected get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n protected get borderStart(): number {\n return this.iconLeftContent ? this.iconPaddingLeft : 0;\n }\n\n protected get borderEnd(): number {\n return tuiGetBorder(\n !!this.iconContent,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n this.size,\n );\n }\n\n protected get hasValue(): boolean {\n return !!this.value;\n }\n\n protected get hasCleaner(): boolean {\n return (\n this.controller.cleaner &&\n this.hasValue &&\n !this.computedDisabled &&\n !this.readOnly\n );\n }\n\n protected get hasTooltip(): boolean {\n return !!this.hintOptions?.content && !this.computedDisabled;\n }\n\n protected get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n protected get placeholderVisible(): boolean {\n const hasDecor =\n this.nativeFocusableElement?.placeholder ||\n this.prefix ||\n this.postfix ||\n this.filler;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n\n return !this.hasValue && !showDecor;\n }\n\n protected get hasPlaceholder(): boolean {\n const placeholder = this.placeholderRaisable || this.placeholderVisible;\n\n return this.appearance === 'table' &&\n !this.nativeFocusableElement?.readOnly &&\n (this.prefix || this.postfix)\n ? placeholder && !this.value && !this.computedFocused\n : placeholder;\n }\n\n protected get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n protected get iconContent(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconLeftContent(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconStart;\n }\n\n protected get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.legacyOptions.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n // Safari expiration date autofill workaround\n protected get name(): 'ccexpiryyear' | null {\n return this.nativeFocusableElement?.autocomplete === 'cc-exp'\n ? 'ccexpiryyear'\n : null;\n }\n\n protected get computedId(): string {\n return this.nativeFocusableElement?.id || '';\n }\n\n @tuiPure\n protected getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, 'scroll').pipe(\n map(() => -1 * Math.max(element.scrollLeft, 0)),\n );\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected clear(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = '';\n }\n\n this.updateValue('');\n }\n\n protected onMouseDown(event: MouseEvent): void {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement || event.target === nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n nativeFocusableElement.focus();\n }\n\n protected transitionStartHandler({propertyName, target}: TransitionEvent): void {\n const matchedAutofill =\n propertyName.includes('box-shadow') && (target as Element)?.matches('input');\n\n if (matchedAutofill) {\n this.onAutofilled(!this.autofilled);\n }\n }\n\n protected onAutofilled(autofilled: boolean): void {\n this.updateAutofilled(autofilled);\n }\n\n protected detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n private get iconPaddingLeft(): number {\n return TUI_ICON_START_PADDINGS[this.size];\n }\n\n private get placeholderRaisable(): boolean {\n return !this.labelOutside;\n }\n\n private updateAutofilled(autofilled: boolean): void {\n if (this.autofilled === autofilled) {\n return;\n }\n\n this.autofilled = autofilled;\n }\n\n private updateValue(value: string): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","@if (content?.changes | async) {}\n@if (hintOptions?.change$ | async) {}\n<div\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiWrapper\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.--t-text-indent.px]=\"decor.pre$ | async\"\n (click.prevent.zoneless)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <ng-content select=\"input\" />\n <ng-content select=\"select\" />\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly || !editable\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n [class.t-input_template_hidden]=\"!inputHidden\"\n >\n <ng-content select=\"tuiContent\" />\n </div>\n <div class=\"t-content\">\n @if (iconLeftContent) {\n <div class=\"t-icon t-icon_left t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n <div class=\"t-wrapper\">\n @if (hasPlaceholder) {\n <label\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content />\n </label>\n }\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n aria-hidden=\"true\"\n automation-id=\"tui-primitive-textfield__value-decoration\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n />\n </div>\n </div>\n <div class=\"t-icons\">\n @if (hasCustomContent) {\n <div\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [icon]=\"src\"\n />\n </div>\n }\n @if (hasCleaner) {\n <span\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n tuiWrapper\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-icon\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [icon]=\"src.toString()\"\n />\n </span>\n }\n @if (showHint) {\n <tui-tooltip\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"computedId\"\n />\n }\n @if (iconContent) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n </div>\n</div>\n","import {Directive, inject} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\n/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@Directive({\n standalone: false,\n selector: 'tui-primitive-textfield',\n providers: [tuiAsTextfieldHost(TuiPrimitiveTextfieldDirective)],\n})\nexport class TuiPrimitiveTextfieldDirective extends AbstractTuiTextfieldHost<any> {\n protected override readonly host = inject(TuiPrimitiveTextfieldComponent);\n\n public override get readOnly(): boolean {\n return this.host.readOnly || !this.host.editable;\n }\n\n public onValueChange(value: string): void {\n this.host.onModelChange(value);\n }\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {TUI_TEXTFIELD_HOST, type TuiTextfieldHost} from '@taiga-ui/legacy/tokens';\n\n@Component({\n standalone: false,\n selector: 'input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]',\n template: '',\n styleUrls: ['./textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TEXTFIELD_CONTROLLER_PROVIDER],\n host: {\n type: 'text',\n '[attr.id]': 'id',\n '[attr.inputMode]': 'inputMode',\n '[attr.aria-invalid]': 'host.invalid',\n '[attr.disabled]': 'host.disabled || null',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[readOnly]': 'host.readOnly',\n '[value]': 'host.value',\n '(input)': 'host.onValueChange($event.target.value)',\n },\n})\nexport class TuiTextfieldComponent {\n private readonly autoId = tuiInjectId();\n private readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly host = inject<TuiTextfieldHost>(TUI_TEXTFIELD_HOST);\n\n constructor() {\n this.host.process(this.el);\n }\n\n protected get id(): string {\n return this.el.id || this.autoId;\n }\n\n protected get inputMode(): string {\n return this.el.inputMode || this.host.inputMode;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/legacy/directives/wrapper';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\nimport {TuiPrimitiveTextfieldDirective} from './primitive-textfield.directive';\nimport {TuiTextfieldComponent} from './textfield/textfield.component';\nimport {TuiValueDecorationComponent} from './value-decoration/value-decoration.component';\n\n/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiWrapperModule,\n TuiTooltipModule,\n TuiIcon,\n TuiAppearance,\n ],\n declarations: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n TuiValueDecorationComponent,\n ],\n exports: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiPrimitiveTextfieldModule {}\n","import {\n TUI_TEXTFIELD_DEFAULT_OPTIONS,\n TUI_TEXTFIELD_OPTIONS,\n type TuiTextfieldOptions,\n tuiTextfieldOptionsProvider,\n} from '@taiga-ui/legacy/directives';\n\n/**\n * @deprecated:\n * use {@link TuiTextfieldOptions}\n */\nexport type TuiPrimitiveTextfieldOptions = TuiTextfieldOptions;\n\n/**\n * @deprecated:\n * use {@link TUI_TEXTFIELD_DEFAULT_OPTIONS}\n */\nexport const TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS: TuiPrimitiveTextfieldOptions =\n TUI_TEXTFIELD_DEFAULT_OPTIONS;\n\n/**\n * @deprecated:\n * use {@link TUI_TEXTFIELD_OPTIONS}\n */\nexport const TUI_PRIMITIVE_TEXTFIELD_OPTIONS = TUI_TEXTFIELD_OPTIONS;\n\n/**\n * @deprecated:\n * use {@link tuiTextfieldOptionsProvider}\n */\nexport const tuiPrimitiveTextfieldOptionsProvider = tuiTextfieldOptionsProvider;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["LEGACY_OPTIONS","OPTIONS","i7.TuiValueDecorationComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2Ba,2BAA2B,CAAA;AAdxC,IAAA,WAAA,GAAA;AAkBqB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAC/B,2BAA2B,CAC9B;AAEgB,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC;AAErC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC;QAElC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7D,KAAK,CAAC,CAAC,CAAC,EACR,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,WAAW,CAAC,EACnD,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,WAAW,IAAI,CAAC,CAAC,EACnD,oBAAoB,EAAE,CACzB;AAqDJ;IAnDU,SAAS,GAAA;QACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGlC,IAAA,IAAc,cAAc,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,KAAK,OAAO;;AAGhD,IAAA,IAAc,MAAM,GAAA;AAChB,QAAA,MAAM,EAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAC,GAAG,IAAI;AAElE,QAAA,IAAI,WAAW,IAAI,WAAW,EAAE;AAC5B,YAAA,OAAO,EAAE;;QAGb,OAAO,OAAO,GAAG,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;;AAG7E,IAAA,IAAc,KAAK,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK;;AAG/B,IAAA,IAAc,MAAM,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE;;AAG/D,IAAA,IAAc,OAAO,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,GAAG,EAAE;;AAG9D,IAAA,IAAY,WAAW,GAAA;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,WAAW,IAAI,EAAE;;AAGnE,IAAA,IAAY,WAAW,GAAA;AACnB,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE;;AAG9D,IAAA,IAAY,kBAAkB,GAAA;AAC1B,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;AAG9D,IAAA,IAAY,OAAO,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ;;AAGrE,IAAA,IAAY,eAAe,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;AACvD,cAAE,CAAI,CAAA,EAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAE;AAC9B,cAAE,IAAI,CAAC,SAAS,CAAC,OAAO;;+GApEvB,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA3B,2BAA2B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,KAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACX,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5BvC,wSAiBA,EAAA,MAAA,EAAA,CAAA,upBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA,CAAA;;4FDUa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAdvC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,sBAAsB,EAAA,eAAA,EAKf,uBAAuB,CAAC,OAAO,EAC1C,IAAA,EAAA;AACF,wBAAA,gBAAgB,EAAE,gBAAgB;AAClC,wBAAA,iBAAiB,EAAE,QAAQ;AAC3B,wBAAA,kBAAkB,EAAE,aAAa;AACpC,qBAAA,EAAA,QAAA,EAAA,wSAAA,EAAA,MAAA,EAAA,CAAA,upBAAA,CAAA,EAAA;8BAIgB,GAAG,EAAA,CAAA;sBADnB,SAAS;uBAAC,KAAK,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;;;AEIzC,MAAA,uBAAuB,GAAwC;AACxE,IAAA,CAAC,EAAE,IAAI;AACP,IAAA,CAAC,EAAE,IAAI;AACP,IAAA,CAAC,EAAE,IAAI;;AAGX;;;AAGG;AAyBG,MAAO,8BACT,SAAQ,sBAAsB,CAAA;AAzBlC,IAAA,WAAA,GAAA;;AA+BqB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAACA,qBAAc,CAAC;QACtC,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE;AAKrB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAACC,uBAAO,CAAC;AACzB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,gCAAgC,CAAC;QACrD,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,uBAAuB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QACxE,IAAU,CAAA,UAAA,GAAG,KAAK;QAGrB,IAAQ,CAAA,QAAA,GAAG,IAAI;AAEtB;;;AAGG;AAEI,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW;QAG5C,IAAQ,CAAA,QAAA,GAAG,KAAK;QAGhB,IAAO,CAAA,OAAA,GAAG,KAAK;QAGf,IAAQ,CAAA,QAAA,GAAG,KAAK;QAGhB,IAAK,CAAA,KAAA,GAAG,EAAE;AAGD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU;AA2N3D;AAzNG,IAAA,IAAW,MAAM,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM;;AAGjC,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO;;AAGlC,IAAA,IAAW,MAAM,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM;;AAGjC,IAAA,IAAW,sBAAsB,GAAA;QAC7B,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACjD,YAAA,OAAO,IAAI;;AAGf,QAAA,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC,gBAAgB;QAE7C,QAAQ,aAAa,CAAC,sBAAsB;AACxC,YAAA,aAAa;;AAGrB,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;;AAGxC,IAAA,IAAW,UAAU,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK;AACjC,cAAE;AACF,cAAE,IAAI,CAAC,UAAU,CAAC,UAAU;;AAG7B,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;;AAG3B,IAAA,IAAc,YAAY,GAAA;AACtB,QAAA,QACI,IAAI,CAAC,UAAU,KAAK,OAAO;YAC3B,IAAI,CAAC,IAAI,KAAK,GAAG;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,YAAY;;AAIpC,IAAA,IAAc,IAAI,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI;;AAG/B,IAAA,IAAc,eAAe,GAAA;AACzB,QAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;;AAG3D,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM;;AAGjC,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC;;AAG1D,IAAA,IAAc,SAAS,GAAA;QACnB,OAAO,YAAY,CACf,CAAC,CAAC,IAAI,CAAC,WAAW,EAClB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,IAAI,CACZ;;AAGL,IAAA,IAAc,QAAQ,GAAA;AAClB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK;;AAGvB,IAAA,IAAc,UAAU,GAAA;AACpB,QAAA,QACI,IAAI,CAAC,UAAU,CAAC,OAAO;AACvB,YAAA,IAAI,CAAC,QAAQ;YACb,CAAC,IAAI,CAAC,gBAAgB;AACtB,YAAA,CAAC,IAAI,CAAC,QAAQ;;AAItB,IAAA,IAAc,UAAU,GAAA;AACpB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB;;AAGhE,IAAA,IAAc,gBAAgB,GAAA;AAC1B,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa;;AAG1C,IAAA,IAAc,kBAAkB,GAAA;AAC5B,QAAA,MAAM,QAAQ,GACV,IAAI,CAAC,sBAAsB,EAAE,WAAW;AACxC,YAAA,IAAI,CAAC,MAAM;AACX,YAAA,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,MAAM;AACf,QAAA,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe;AAEpE,QAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS;;AAGvC,IAAA,IAAc,cAAc,GAAA;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,kBAAkB;AAEvE,QAAA,OAAO,IAAI,CAAC,UAAU,KAAK,OAAO;AAC9B,YAAA,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ;AACtC,aAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO;cAC1B,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC;cACpC,WAAW;;AAGrB,IAAA,IAAc,iBAAiB,GAAA;QAC3B,QACI,IAAI,CAAC,mBAAmB;aACvB,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC;;AAItF,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI;;AAG/B,IAAA,IAAc,eAAe,GAAA;AAGzB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS;;AAGpC,IAAA,IAAc,QAAQ,GAAA;AAClB,QAAA,QACI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO;AAC3B,aAAC,IAAI,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;;;AAKrE,IAAA,IAAc,IAAI,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,sBAAsB,EAAE,YAAY,KAAK;AACjD,cAAE;cACA,IAAI;;AAGd,IAAA,IAAc,UAAU,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE;;AAItC,IAAA,UAAU,CAAC,OAAoB,EAAA;AACrC,QAAA,OAAO,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CACpC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAClD;;AAGK,IAAA,SAAS,CAAC,OAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;;IAGrB,KAAK,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,YAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,EAAE;;AAG1C,QAAA,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;;AAGd,IAAA,WAAW,CAAC,KAAiB,EAAA;AACnC,QAAA,MAAM,EAAC,sBAAsB,EAAC,GAAG,IAAI;QAErC,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAC,MAAM,KAAK,sBAAsB,EAAE;YACpE;;QAGJ,KAAK,CAAC,cAAc,EAAE;QACtB,sBAAsB,CAAC,KAAK,EAAE;;AAGxB,IAAA,sBAAsB,CAAC,EAAC,YAAY,EAAE,MAAM,EAAkB,EAAA;AACpE,QAAA,MAAM,eAAe,GACjB,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAK,MAAkB,EAAE,OAAO,CAAC,OAAO,CAAC;QAEhF,IAAI,eAAe,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;;;AAIjC,IAAA,YAAY,CAAC,UAAmB,EAAA;AACtC,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;;AAG3B,IAAA,uBAAuB,CAAC,KAAY,EAAA;AAC1C,QAAA,IAAI,6BAA6B,CAAC,KAAK,CAAC,EAAE;YACtC,KAAK,CAAC,wBAAwB,EAAE;;;AAIxC,IAAA,IAAY,eAAe,GAAA;AACvB,QAAA,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;;AAG7C,IAAA,IAAY,mBAAmB,GAAA;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,YAAY;;AAGrB,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;YAChC;;AAGJ,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;;AAGxB,IAAA,WAAW,CAAC,KAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;+GAlQvB,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,EAlB5B,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,yBAAA,EAAA,gCAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,4BAAA,EAAA,aAAA,EAAA,0BAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,0BAA0B,CAAC,8BAA8B,CAAC;YAC1D,6BAA6B;SAChC,EAyBgB,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,kBAAkB,6LC5EvC,+8IAyHA,EAAA,MAAA,EAAA,CAAA,u7PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;ADyIc,UAAA,CAAA;IADT;AAKA,CAAA,EAAA,8BAAA,CAAA,SAAA,EAAA,YAAA,EAAA,IAAA,CAAA;4FApMQ,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAxB1C,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,yBAAyB,EAAA,eAAA,EAGlB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA,0BAA0B,CAAgC,8BAAA,CAAA;wBAC1D,6BAA6B;qBAChC,EACK,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,mBAAmB,EAAE,UAAU;AAC/B,wBAAA,iBAAiB,EAAE,aAAa;AAChC,wBAAA,kBAAkB,EAAE,iBAAiB;AACrC,wBAAA,qBAAqB,EAAE,YAAY;AACnC,wBAAA,8BAA8B,EAAE,aAAa;AAC7C,wBAAA,4BAA4B,EAAE,WAAW;AACzC,wBAAA,wBAAwB,EAAE,cAAc;AACxC,wBAAA,WAAW,EAAE,iBAAiB;AAC9B,wBAAA,YAAY,EAAE,kBAAkB;AAChC,wBAAA,2BAA2B,EAAE,gCAAgC;AAChE,qBAAA,EAAA,QAAA,EAAA,+8IAAA,EAAA,MAAA,EAAA,CAAA,u7PAAA,CAAA,EAAA;8BAOgB,gBAAgB,EAAA,CAAA;sBADhC,SAAS;uBAAC,kBAAkB;gBAOV,OAAO,EAAA,CAAA;sBADzB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;gBASjD,QAAQ,EAAA,CAAA;sBADd;gBAQM,WAAW,EAAA,CAAA;sBADjB;gBAIM,QAAQ,EAAA,CAAA;sBADd;gBAIM,OAAO,EAAA,CAAA;sBADb;gBAIM,QAAQ,EAAA,CAAA;sBADd;gBAIM,KAAK,EAAA,CAAA;sBADX;gBAIe,WAAW,EAAA,CAAA;sBAD1B;gBAwJS,UAAU,EAAA,EAAA,EAAA,EAAA,CAAA;;AE5PxB;;;AAGG;AAMG,MAAO,8BAA+B,SAAQ,wBAA6B,CAAA;AALjF,IAAA,WAAA,GAAA;;AAMgC,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,8BAA8B,CAAC;AAS5E;AAPG,IAAA,IAAoB,QAAQ,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;;AAG7C,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;;+GARzB,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,uEAF5B,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEtD,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,8BAAA,CAAgC,CAAC;AAClE,iBAAA;;;MCcY,qBAAqB,CAAA;AAM9B,IAAA,WAAA,GAAA;QALiB,IAAM,CAAA,MAAA,GAAG,WAAW,EAAE;QACtB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAoB;AACvC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,gCAAgC,CAAC;AACrD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAmB,kBAAkB,CAAC;QAGlE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;;AAG9B,IAAA,IAAc,EAAE,GAAA;QACZ,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM;;AAGpC,IAAA,IAAc,SAAS,GAAA;QACnB,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS;;+GAf1C,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAbnB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yDAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,yCAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,6BAA6B,CAAC,0BAHhC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,4+HAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAgBH,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAnBjC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,EACP,QAAA,EAAA,yDAAyD,EACzD,QAAA,EAAA,EAAE,EAEK,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA,CAAC,6BAA6B,CAAC,EACpC,IAAA,EAAA;AACF,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,qBAAqB,EAAE,cAAc;AACrC,wBAAA,iBAAiB,EAAE,uBAAuB;AAC1C,wBAAA,YAAY,EAAE,yBAAyB;AACvC,wBAAA,YAAY,EAAE,eAAe;AAC7B,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,SAAS,EAAE,yCAAyC;AACvD,qBAAA,EAAA,MAAA,EAAA,CAAA,4+HAAA,CAAA,EAAA;;;ACZL;;;AAGG;MAwBU,2BAA2B,CAAA;+GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,iBAXhC,8BAA8B;YAC9B,8BAA8B;YAC9B,qBAAqB;AACrB,YAAA,2BAA2B,aAb3B,YAAY;YACZ,WAAW;YACX,kBAAkB;YAClB,oBAAoB;YACpB,gBAAgB;YAChB,gBAAgB;YAChB,OAAO;AACP,YAAA,aAAa,aASb,8BAA8B;YAC9B,8BAA8B;YAC9B,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAGhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,YArBhC,YAAY;YACZ,WAAW;YAGX,gBAAgB;YAChB,gBAAgB;YAChB,OAAO,CAAA,EAAA,CAAA,CAAA;;4FAeF,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAvBvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,WAAW;wBACX,kBAAkB;wBAClB,oBAAoB;wBACpB,gBAAgB;wBAChB,gBAAgB;wBAChB,OAAO;wBACP,aAAa;AAChB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,8BAA8B;wBAC9B,8BAA8B;wBAC9B,qBAAqB;wBACrB,2BAA2B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,8BAA8B;wBAC9B,8BAA8B;wBAC9B,qBAAqB;AACxB,qBAAA;AACJ,iBAAA;;;AC3BD;;;AAGG;AACI,MAAM,uCAAuC,GAChD;AAEJ;;;AAGG;AACI,MAAM,+BAA+B,GAAG;AAE/C;;;AAGG;AACI,MAAM,oCAAoC,GAAG;;AC9BpD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-primitive-textfield.mjs","sources":["../../../projects/legacy/components/primitive-textfield/value-decoration/value-decoration.component.ts","../../../projects/legacy/components/primitive-textfield/value-decoration/value-decoration.template.html","../../../projects/legacy/components/primitive-textfield/primitive-textfield.component.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield.template.html","../../../projects/legacy/components/primitive-textfield/primitive-textfield.directive.ts","../../../projects/legacy/components/primitive-textfield/textfield/textfield.component.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield.module.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield-options.ts","../../../projects/legacy/components/primitive-textfield/taiga-ui-legacy-components-primitive-textfield.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n type DoCheck,\n ElementRef,\n inject,\n ViewChild,\n} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_FONTS_READY} from '@taiga-ui/legacy/tokens';\nimport {BehaviorSubject, delay, distinctUntilChanged, filter, map, merge} from 'rxjs';\n\nimport {type TuiPrimitiveTextfield} from '../primitive-textfield-types';\n\n@Component({\n standalone: false,\n selector: 'tui-value-decoration',\n templateUrl: './value-decoration.template.html',\n styleUrls: ['./value-decoration.style.less'],\n // It follows Change Detection of PrimitiveTextfield\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n host: {\n '[class._table]': 'isContextTable',\n '[class._filler]': 'filler',\n '(animationstart)': 'ngDoCheck()',\n },\n})\nexport class TuiValueDecorationComponent implements DoCheck {\n @ViewChild('pre', {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n private readonly textfield = inject<TuiPrimitiveTextfield>(\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n );\n\n private readonly fontsReady$ = inject(TUI_FONTS_READY);\n\n private readonly prefix$ = new BehaviorSubject('');\n\n public readonly pre$ = merge(this.fontsReady$, this.prefix$).pipe(\n delay(0),\n filter(() => !!this.pre?.nativeElement.isConnected),\n map(() => this.pre?.nativeElement.offsetWidth || 0),\n distinctUntilChanged(),\n );\n\n public ngDoCheck(): void {\n this.prefix$.next(this.prefix);\n }\n\n protected get isContextTable(): boolean {\n return this.textfield.appearance === 'table';\n }\n\n protected get filler(): string {\n const {focused, placeholder, exampleText, value, textfield} = this;\n\n if (placeholder && exampleText) {\n return '';\n }\n\n return focused ? exampleText || textfield.filler.slice(value.length) : '';\n }\n\n protected get value(): string {\n return this.textfield.value;\n }\n\n protected get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : '';\n }\n\n protected get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : '';\n }\n\n private get placeholder(): string {\n return this.textfield.nativeFocusableElement?.placeholder || '';\n }\n\n private get exampleText(): string {\n return !this.value && this.focused ? this.placeholder : '';\n }\n\n private get decorationsVisible(): boolean {\n return !!this.value || (this.focused && !this.placeholder);\n }\n\n private get focused(): boolean {\n return this.textfield.computedFocused && !this.textfield.readOnly;\n }\n\n private get computedPostfix(): string {\n return this.textfield.postfix && (this.filler || this.value)\n ? ` ${this.textfield.postfix}`\n : this.textfield.postfix;\n }\n}\n","<span\n #pre\n class=\"t-prefix\"\n [textContent]=\"prefix\"\n></span>\n<span\n class=\"t-ghost\"\n [textContent]=\"value\"\n></span>\n<span\n class=\"t-filler\"\n [textContent]=\"filler\"\n></span>\n<span\n class=\"t-postfix\"\n [textContent]=\"postfix\"\n></span>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n type ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n type QueryList,\n ViewChild,\n} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiRetargetedBoundaryCrossing} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_TEXTFIELD_OPTIONS as OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiInteractive} from '@taiga-ui/legacy/classes';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_OPTIONS as LEGACY_OPTIONS,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiGetBorder} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {fromEvent, map, type Observable} from 'rxjs';\n\nimport {type TuiPrimitiveTextfield} from './primitive-textfield-types';\n\nexport const TUI_ICON_START_PADDINGS: Record<TuiSizeL | TuiSizeS, number> = {\n s: 1.25,\n m: 1.75,\n l: 2.25,\n};\n\n/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@Component({\n standalone: false,\n selector: 'tui-primitive-textfield',\n templateUrl: './primitive-textfield.template.html',\n styleUrls: ['./primitive-textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '[class._readonly]': 'readOnly',\n '[class._hidden]': 'inputHidden',\n '[class._invalid]': 'computedInvalid',\n '[class._autofilled]': 'autofilled',\n '[style.--t-border-start.rem]': 'borderStart',\n '[style.--t-border-end.rem]': 'borderEnd',\n '[class._label-outside]': 'labelOutside',\n '(focusin)': 'onFocused(true)',\n '(focusout)': 'onFocused(false)',\n '(transitionstart.capture)': 'transitionStartHandler($event)',\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiPrimitiveTextfield\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n private readonly legacyOptions = inject(LEGACY_OPTIONS);\n private readonly el = tuiInjectElement();\n\n @ContentChildren(PolymorpheusOutlet, {descendants: true})\n protected readonly content?: QueryList<unknown>;\n\n protected readonly options = inject(OPTIONS);\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n protected autofilled = false;\n\n @Input()\n public editable = true;\n\n /**\n * @deprecated:\n * use `tuiTextfieldOptionsProvider({iconCleaner: `@tui.chevron-up`})`\n */\n @Input()\n public iconCleaner = this.legacyOptions.iconCleaner;\n\n @Input()\n public readOnly = false;\n\n @Input()\n public invalid = false;\n\n @Input()\n public disabled = false;\n\n @Input()\n public value = '';\n\n @Output()\n public readonly valueChange = new EventEmitter<string>();\n\n public get prefix(): string {\n return this.controller.prefix;\n }\n\n public get postfix(): string {\n return this.controller.postfix;\n }\n\n public get filler(): string {\n return this.controller.filler;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n if (this.computedDisabled || !this.focusableElement) {\n return null;\n }\n\n const {nativeElement} = this.focusableElement;\n\n return (nativeElement.previousElementSibling ||\n nativeElement) as HTMLInputElement | null;\n }\n\n public get focused(): boolean {\n return tuiIsFocusedIn(this.el);\n }\n\n public get appearance(): string {\n return this.options.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n public onModelChange(value: string): void {\n this.updateValue(value);\n }\n\n protected get labelOutside(): boolean {\n return (\n this.appearance === 'table' ||\n this.size === 's' ||\n this.controller.labelOutside\n );\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n protected get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n protected get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n protected get borderStart(): number {\n return this.iconLeftContent ? this.iconPaddingLeft : 0;\n }\n\n protected get borderEnd(): number {\n return tuiGetBorder(\n !!this.iconContent,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n this.size,\n );\n }\n\n protected get hasValue(): boolean {\n return !!this.value;\n }\n\n protected get hasCleaner(): boolean {\n return (\n this.controller.cleaner &&\n this.hasValue &&\n !this.computedDisabled &&\n !this.readOnly\n );\n }\n\n protected get hasTooltip(): boolean {\n return !!this.hintOptions?.content && !this.computedDisabled;\n }\n\n protected get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n protected get placeholderVisible(): boolean {\n const hasDecor =\n this.nativeFocusableElement?.placeholder ||\n this.prefix ||\n this.postfix ||\n this.filler;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n\n return !this.hasValue && !showDecor;\n }\n\n protected get hasPlaceholder(): boolean {\n const placeholder = this.placeholderRaisable || this.placeholderVisible;\n\n return this.appearance === 'table' &&\n !this.nativeFocusableElement?.readOnly &&\n (this.prefix || this.postfix)\n ? placeholder && !this.value && !this.computedFocused\n : placeholder;\n }\n\n protected get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n protected get iconContent(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconLeftContent(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconStart;\n }\n\n protected get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.legacyOptions.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n // Safari expiration date autofill workaround\n protected get name(): 'ccexpiryyear' | null {\n return this.nativeFocusableElement?.autocomplete === 'cc-exp'\n ? 'ccexpiryyear'\n : null;\n }\n\n protected get computedId(): string {\n return this.nativeFocusableElement?.id || '';\n }\n\n @tuiPure\n protected getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, 'scroll').pipe(\n map(() => -1 * Math.max(element.scrollLeft, 0)),\n );\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected clear(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = '';\n }\n\n this.updateValue('');\n }\n\n protected onMouseDown(event: MouseEvent): void {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement || event.target === nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n nativeFocusableElement.focus();\n }\n\n protected transitionStartHandler({propertyName, target}: TransitionEvent): void {\n const matchedAutofill =\n propertyName.includes('box-shadow') && (target as Element)?.matches('input');\n\n if (matchedAutofill) {\n this.onAutofilled(!this.autofilled);\n }\n }\n\n protected onAutofilled(autofilled: boolean): void {\n this.updateAutofilled(autofilled);\n }\n\n protected detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n private get iconPaddingLeft(): number {\n return TUI_ICON_START_PADDINGS[this.size];\n }\n\n private get placeholderRaisable(): boolean {\n return !this.labelOutside;\n }\n\n private updateAutofilled(autofilled: boolean): void {\n if (this.autofilled === autofilled) {\n return;\n }\n\n this.autofilled = autofilled;\n }\n\n private updateValue(value: string): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","@if (content?.changes | async) {}\n@if (hintOptions?.change$ | async) {}\n<div\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiWrapper\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.--t-text-indent.px]=\"decor.pre$ | async\"\n (click.prevent.zoneless)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <ng-content select=\"input\" />\n <ng-content select=\"select\" />\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly || !editable\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n [class.t-input_template_hidden]=\"!inputHidden\"\n >\n <ng-content select=\"tuiContent\" />\n </div>\n <div class=\"t-content\">\n @if (iconLeftContent) {\n <div class=\"t-icon t-icon_left t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n <div class=\"t-wrapper\">\n @if (hasPlaceholder) {\n <label\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content />\n </label>\n }\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n aria-hidden=\"true\"\n automation-id=\"tui-primitive-textfield__value-decoration\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n />\n </div>\n </div>\n <div class=\"t-icons\">\n @if (hasCustomContent) {\n <div\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [icon]=\"src\"\n />\n </div>\n }\n @if (hasCleaner) {\n <span\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n tuiWrapper\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-icon\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [icon]=\"src.toString()\"\n />\n </span>\n }\n @if (showHint) {\n <tui-tooltip\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"computedId\"\n />\n }\n @if (iconContent) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n </div>\n</div>\n","import {Directive, inject} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\n/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@Directive({\n standalone: false,\n selector: 'tui-primitive-textfield',\n providers: [tuiAsTextfieldHost(TuiPrimitiveTextfieldDirective)],\n})\nexport class TuiPrimitiveTextfieldDirective extends AbstractTuiTextfieldHost<any> {\n protected override readonly host = inject(TuiPrimitiveTextfieldComponent);\n\n public override get readOnly(): boolean {\n return this.host.readOnly || !this.host.editable;\n }\n\n public onValueChange(value: string): void {\n this.host.onModelChange(value);\n }\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {TUI_TEXTFIELD_HOST, type TuiTextfieldHost} from '@taiga-ui/legacy/tokens';\n\n@Component({\n standalone: false,\n selector: 'input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]',\n template: '',\n styleUrls: ['./textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TEXTFIELD_CONTROLLER_PROVIDER],\n host: {\n type: 'text',\n '[attr.id]': 'id',\n '[attr.inputMode]': 'inputMode',\n '[attr.aria-invalid]': 'host.invalid',\n '[attr.disabled]': 'host.disabled || null',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[readOnly]': 'host.readOnly',\n '[value]': 'host.value',\n '(input)': 'host.onValueChange($event.target.value)',\n },\n})\nexport class TuiTextfieldComponent {\n private readonly autoId = tuiInjectId();\n private readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly host = inject<TuiTextfieldHost>(TUI_TEXTFIELD_HOST);\n\n constructor() {\n this.host.process(this.el);\n }\n\n protected get id(): string {\n return this.el.id || this.autoId;\n }\n\n protected get inputMode(): string {\n return this.el.inputMode || this.host.inputMode;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/legacy/directives/wrapper';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\nimport {TuiPrimitiveTextfieldDirective} from './primitive-textfield.directive';\nimport {TuiTextfieldComponent} from './textfield/textfield.component';\nimport {TuiValueDecorationComponent} from './value-decoration/value-decoration.component';\n\n/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiWrapperModule,\n TuiTooltipModule,\n TuiIcon,\n TuiAppearance,\n ],\n declarations: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n TuiValueDecorationComponent,\n ],\n exports: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiPrimitiveTextfieldModule {}\n","import {\n TUI_TEXTFIELD_DEFAULT_OPTIONS,\n TUI_TEXTFIELD_OPTIONS,\n type TuiTextfieldOptions,\n tuiTextfieldOptionsProvider,\n} from '@taiga-ui/legacy/directives';\n\n/**\n * @deprecated:\n * use {@link TuiTextfieldOptions}\n */\nexport type TuiPrimitiveTextfieldOptions = TuiTextfieldOptions;\n\n/**\n * @deprecated:\n * use {@link TUI_TEXTFIELD_DEFAULT_OPTIONS}\n */\nexport const TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS: TuiPrimitiveTextfieldOptions =\n TUI_TEXTFIELD_DEFAULT_OPTIONS;\n\n/**\n * @deprecated:\n * use {@link TUI_TEXTFIELD_OPTIONS}\n */\nexport const TUI_PRIMITIVE_TEXTFIELD_OPTIONS = TUI_TEXTFIELD_OPTIONS;\n\n/**\n * @deprecated:\n * use {@link tuiTextfieldOptionsProvider}\n */\nexport const tuiPrimitiveTextfieldOptionsProvider = tuiTextfieldOptionsProvider;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["LEGACY_OPTIONS","OPTIONS","i7.TuiValueDecorationComponent"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import { CommonModule } from '@angular/common';
|
|
|
11
11
|
import * as i4 from '@taiga-ui/kit/pipes/stringify-content';
|
|
12
12
|
import { TuiStringifyContentPipe } from '@taiga-ui/kit/pipes/stringify-content';
|
|
13
13
|
import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
|
|
14
|
-
import {
|
|
14
|
+
import { tuiIsFocused } from '@taiga-ui/cdk/utils/focus';
|
|
15
15
|
import * as i1 from '@taiga-ui/core/directives/dropdown';
|
|
16
16
|
import { TuiDropdownOpen, TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
|
|
17
17
|
import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
|
|
@@ -176,8 +176,7 @@ class TuiSelectComponent extends AbstractTuiNullableControl {
|
|
|
176
176
|
return this.textfield?.nativeFocusableElement ?? null;
|
|
177
177
|
}
|
|
178
178
|
get focused() {
|
|
179
|
-
return (
|
|
180
|
-
!!this.dropdown?.tuiDropdownOpen);
|
|
179
|
+
return (tuiIsFocused(this.nativeFocusableElement) || !!this.dropdown?.tuiDropdownOpen);
|
|
181
180
|
}
|
|
182
181
|
get computedValue() {
|
|
183
182
|
return this.value === null ? '' : this.stringify(this.value) || ' ';
|