@taiga-ui/legacy 4.52.0-canary.2c75afa → 4.52.0-canary.2fa3dd5

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.
Files changed (37) hide show
  1. package/README.md +1 -1
  2. package/components/arrow/arrow.options.d.ts +1 -3
  3. package/components/arrow/arrow.providers.d.ts +1 -6
  4. package/components/dialog/dialog.tokens.d.ts +1 -3
  5. package/components/input-number/input-number.options.d.ts +1 -7
  6. package/components/input-tag/input-tag.options.d.ts +1 -7
  7. package/components/mobile-dialog/mobile-dialog.options.d.ts +1 -3
  8. package/components/multi-select/multi-select.options.d.ts +1 -3
  9. package/components/pdf-viewer/pdf-viewer.options.d.ts +1 -3
  10. package/components/primitive-textfield/primitive-textfield-options.d.ts +2 -2
  11. package/components/select/select.options.d.ts +1 -7
  12. package/components/tag/tag.options.d.ts +1 -7
  13. package/directives/textfield-controller/textfield.options.d.ts +1 -3
  14. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +4 -17
  15. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  16. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +3 -8
  17. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -1
  18. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +3 -11
  19. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +4 -12
  21. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs +3 -8
  23. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +4 -8
  25. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +3 -8
  27. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-legacy-components-select.mjs +4 -12
  29. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-legacy-components-tag.mjs +3 -12
  31. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +2 -2
  33. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +3 -7
  35. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  36. package/package.json +1 -1
  37. package/utils/icons-path-factory.d.ts +1 -1
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, EventEmitter, signal, ElementRef, TemplateRef, Input, Output, ViewChild, ContentChild, ViewChildren, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
2
+ import { inject, EventEmitter, signal, ElementRef, TemplateRef, Input, Output, ViewChild, ContentChild, ViewChildren, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { EMPTY_QUERY, TUI_TRUE_HANDLER, TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
5
5
  import { tuiInjectElement, tuiRetargetedBoundaryCrossing, tuiGetActualTarget, tuiIsElement, tuiGetClipboardDataText } from '@taiga-ui/cdk/utils/dom';
6
6
  import { tuiIsFocusedIn } from '@taiga-ui/cdk/utils/focus';
7
- import { tuiProvideOptions, tuiIsString, tuiArrayRemove } from '@taiga-ui/cdk/utils/miscellaneous';
7
+ import { tuiIsString, tuiArrayRemove } from '@taiga-ui/cdk/utils/miscellaneous';
8
8
  import { TuiDataListDirective, tuiAsDataListHost } from '@taiga-ui/core/components/data-list';
9
9
  import * as i7 from '@taiga-ui/core/components/scrollbar';
10
10
  import { TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
@@ -20,6 +20,7 @@ import { tuiAsFocusableItemAccessor } from '@taiga-ui/legacy/tokens';
20
20
  import * as i3 from '@taiga-ui/polymorpheus';
21
21
  import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
22
22
  import { timer } from 'rxjs';
23
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
23
24
  import * as i2 from '@angular/forms';
24
25
  import { FormsModule } from '@angular/forms';
25
26
  import * as i4 from '@taiga-ui/core/directives/appearance';
@@ -49,16 +50,7 @@ const TUI_INPUT_TAG_DEFAULT_OPTIONS = {
49
50
  * @deprecated: drop in v5.0
50
51
  * Default parameters for InputTag component
51
52
  */
52
- const TUI_INPUT_TAG_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_TAG_OPTIONS' : '', {
53
- factory: () => TUI_INPUT_TAG_DEFAULT_OPTIONS,
54
- });
55
- /**
56
- * TODO(v5): delete it
57
- * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead
58
- */
59
- function tuiInputTagOptionsProvider(options) {
60
- return tuiProvideOptions(TUI_INPUT_TAG_OPTIONS, options, TUI_INPUT_TAG_DEFAULT_OPTIONS);
61
- }
53
+ const [TUI_INPUT_TAG_OPTIONS, tuiInputTagOptionsProvider] = tuiCreateOptions(TUI_INPUT_TAG_DEFAULT_OPTIONS);
62
54
 
63
55
  const TAG_SIZE_REM = {
64
56
  s: 1.25,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-input-tag.mjs","sources":["../../../projects/legacy/components/input-tag/input-tag.options.ts","../../../projects/legacy/components/input-tag/input-tag.component.ts","../../../projects/legacy/components/input-tag/input-tag.template.html","../../../projects/legacy/components/input-tag/input-tag.module.ts","../../../projects/legacy/components/input-tag/taiga-ui-legacy-components-input-tag.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport interface TuiInputTagOptions {\n readonly autoColor: boolean;\n readonly separator: RegExp | string;\n readonly tagStatus: TuiStatus;\n readonly uniqueTags: boolean;\n}\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport const TUI_INPUT_TAG_DEFAULT_OPTIONS: TuiInputTagOptions = {\n autoColor: false,\n separator: ',',\n tagStatus: 'default',\n uniqueTags: true,\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for InputTag component\n */\nexport const TUI_INPUT_TAG_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_TAG_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_TAG_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport function tuiInputTagOptionsProvider(\n options: Partial<TuiInputTagOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_TAG_OPTIONS,\n options,\n TUI_INPUT_TAG_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n type QueryList,\n signal,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY, TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiBooleanHandler, type TuiContext} from '@taiga-ui/cdk/types';\nimport {\n tuiGetActualTarget,\n tuiGetClipboardDataText,\n tuiInjectElement,\n tuiIsElement,\n tuiRetargetedBoundaryCrossing,\n} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiArrayRemove, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsDataListHost,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl,\n type TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\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 TuiStatus} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {timer} from 'rxjs';\n\nimport {TUI_INPUT_TAG_OPTIONS} from './input-tag.options';\n\nconst TAG_SIZE_REM = {\n s: 1.25,\n m: 1.5,\n l: 2,\n};\nconst LINE_HEIGHT_REM = {\n s: 1,\n m: 1.25,\n l: 1.25,\n};\nconst TAG_VERTICAL_SPACE_REM = 0.125;\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-tag',\n templateUrl: './input-tag.template.html',\n styleUrl: './input-tag.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputTagComponent),\n tuiAsControl(TuiInputTagComponent),\n tuiAsDataListHost(TuiInputTagComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '[class._icon-start]': 'iconStart',\n '[class._expandable]': 'expandable',\n '[class._label-outside]': 'labelOutside',\n '(focusin.capture.zoneless)': 'onFocusInOut()',\n '(focusout.capture.zoneless)': 'onFocusInOut()',\n },\n})\nexport class TuiInputTagComponent\n extends AbstractTuiMultipleControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @ViewChild('tagsContainer')\n private readonly tagsContainer?: ElementRef<HTMLElement>;\n\n @ViewChildren('tag', {read: ElementRef})\n private readonly tags: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @ViewChild('cleaner', {read: ElementRef})\n private readonly cleanerSvg?: ElementRef<HTMLElement>;\n\n @ViewChild(TuiScrollbar, {read: ElementRef})\n private readonly scrollBar?: ElementRef<HTMLElement>;\n\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_INPUT_TAG_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist?: TemplateRef<TuiContext<TuiActiveZone>>;\n\n @ContentChild(PolymorpheusOutlet)\n protected readonly valueContent?: unknown;\n\n @ViewChild('errorIcon')\n protected readonly errorIconTemplate?: TemplateRef<Record<string, unknown>>;\n\n protected readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected status: TuiStatus = this.options.tagStatus;\n protected open = false;\n\n @Input()\n public separator: RegExp | string = this.options.separator;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public editable = true;\n\n @Input()\n public tagValidator:\n | TuiBooleanHandler<string>\n | TuiBooleanHandler<TuiStringifiableItem<unknown> | string> = TUI_TRUE_HANDLER;\n\n @Input()\n public rows = Infinity;\n\n @Input()\n public inputHidden = false;\n\n @Input()\n public uniqueTags = this.options.uniqueTags;\n\n @Input()\n public autoColor = this.options.autoColor;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public placeholder = '';\n\n @Input()\n public removable = true;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiStringifiableItem<any> | string> =\n TUI_FALSE_HANDLER;\n\n @Output()\n public readonly searchChange = new EventEmitter<string>();\n\n public pseudoOpen = signal(false);\n\n @Input('pseudoFocused')\n public set pseudoFocusedSetter(value: boolean | null) {\n if (!value && !this.focused) {\n this.scrollTo(0);\n }\n\n this.pseudoFocus = value;\n }\n\n /**\n * @deprecated hack\n */\n @Input('pseudoOpen')\n public set setPseudoOpen(value: boolean) {\n this.pseudoOpen.set(value);\n }\n\n public get labelOutside(): boolean {\n const {size, labelOutside} = this.controller;\n\n return this.appearance === 'table' || size === 's' || labelOutside;\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n public get hasValue(): boolean {\n return !!this.value.length || this.hasNativeValue;\n }\n\n public get hasExampleText(): boolean {\n return (\n !!this.nativeFocusableElement?.placeholder &&\n this.computedFocused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n public get hasPlaceholder(): boolean {\n return (\n !this.labelOutside ||\n (!this.hasValue && (!this.hasExampleText || this.inputHidden))\n );\n }\n\n public get focused(): boolean {\n return tuiIsFocusedIn(this.el) || !!this.dropdown?.tuiDropdownOpen;\n }\n\n public get tagsEmpty(): boolean {\n return (\n ((!this.focused || this.inputHidden) &&\n !this.value.length &&\n !this.search?.trim()?.length &&\n !this.placeholder) ||\n !!this.valueContent\n );\n }\n\n public onTagEdited(value: string, index: number): void {\n this.focusInput(value === '');\n this.value = this.filterValue(\n this.value\n .map((tag, tagIndex) =>\n tagIndex !== index\n ? tag\n : value\n .split(this.separator)\n .map((tag) => tag.trim())\n .filter(Boolean),\n )\n .reduce<string[]>(\n (result, item: string[] | string) => result.concat(item),\n [],\n ),\n );\n }\n\n public handleOption(item: string): void {\n this.focusInput();\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(item));\n this.open = false;\n this.scrollTo();\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n protected get iconStart(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.iconStart;\n }\n\n protected get appearance(): string {\n return this.textfieldOptions.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n protected get expandable(): boolean {\n return this.rows > 1;\n }\n\n protected get icon(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconCleaner(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n protected get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n protected get hasNativeValue(): boolean {\n return !!this.search;\n }\n\n protected get placeholderRaised(): boolean {\n return (\n !this.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n protected get hasRightIcons(): boolean {\n return (\n this.hasCleaner ||\n !!this.icon ||\n (!!this.hintOptions?.content && !this.computedDisabled)\n );\n }\n\n protected get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.controller.options.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n protected get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n protected get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n protected onFocusInOut(): void {\n this.cdr.detectChanges();\n }\n\n protected detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n protected getLeftContent(tag: string): PolymorpheusContent {\n return !this.tagValidator(tag) && this.errorIconTemplate\n ? this.errorIconTemplate\n : '';\n }\n\n protected onCleanerClick(): void {\n this.updateSearch('');\n this.clear();\n this.focusInput();\n }\n\n protected onActiveZone(active: boolean): void {\n this.open = false;\n this.addTag();\n this.updateFocused(active);\n\n if (!active && !this.computedFocused) {\n this.scrollTo(0);\n }\n }\n\n protected onMouseDown(event: MouseEvent): void {\n const actualTarget = tuiGetActualTarget(event);\n\n if (\n !this.focusableElement ||\n actualTarget === this.focusableElement.nativeElement ||\n !tuiIsElement(event.target) ||\n this.cleanerSvg?.nativeElement.contains(event.target) ||\n (this.tagsContainer &&\n actualTarget !== this.tagsContainer.nativeElement &&\n this.tagsContainer.nativeElement.contains(actualTarget))\n ) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n protected onFieldKeyDownBackspace(event: Event): void {\n if (!this.labelOutside && !this.hasNativeValue && this.value.length) {\n this.deleteLastEnabledItem();\n } else {\n this.onFieldKeyDownArrowLeft(event);\n }\n }\n\n protected onFieldKeyDownArrowLeft(event: Event): void {\n if (!this.labelOutside || this.hasNativeValue || !this.value.length) {\n return;\n }\n\n event.preventDefault();\n this.tags.last.nativeElement.focus();\n }\n\n protected onFieldKeyDownEnter(): void {\n this.addTag();\n this.scrollTo();\n }\n\n protected onTagKeyDownArrowLeft(currentIndex: number): void {\n if (currentIndex > 0) {\n this.onScrollKeyDown(currentIndex, -1);\n }\n }\n\n protected onTagKeyDownArrowRight(currentIndex: number): void {\n if (currentIndex === this.value.length - 1) {\n this.focusInput();\n } else {\n this.onScrollKeyDown(currentIndex, 1);\n }\n }\n\n protected onInput(value: string): void {\n const array = value.split(this.separator);\n const tags = array\n .map((item) => this.clippedValue(item.trim()))\n .filter((item) => item.length > 0);\n const validated = tags.filter((tag) => !this.disabledItemHandler(tag));\n const invalid = tags.filter((tag) => this.disabledItemHandler(tag));\n\n if (array.length > 1) {\n const search = invalid.length\n ? invalid.join(tuiIsString(this.separator) ? this.separator : ',')\n : '';\n\n this.updateSearch(this.clippedValue(search));\n\n this.value = this.filterValue([...this.value, ...validated]);\n } else {\n this.updateSearch(this.clippedValue(value));\n }\n\n this.open = this.hasNativeValue;\n }\n\n protected onPaste(event: Event): void {\n const pasted = tuiGetClipboardDataText(event as ClipboardEvent);\n\n this.onInput(pasted || '');\n }\n\n protected onDrop({dataTransfer}: DragEvent): void {\n if (dataTransfer) {\n this.onInput(dataTransfer.getData('text') || '');\n }\n }\n\n protected trackByFn(_: number, tag: string): string {\n // Actually tag has TuiStringifiableItem type not string\n return tag;\n }\n\n private get lineHeight(): number {\n return this.labelOutside\n ? TAG_SIZE_REM[this.controller.size] + 2 * TAG_VERTICAL_SPACE_REM\n : LINE_HEIGHT_REM[this.controller.size];\n }\n\n private scrollTo(scrollLeft = this.scrollBar?.nativeElement.scrollWidth): void {\n // Allow change detection to run and add new tag to DOM\n timer(0)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n if (this.scrollBar) {\n this.scrollBar.nativeElement.scrollLeft = scrollLeft || 0;\n }\n });\n }\n\n private filterValue(value: string[]): string[] {\n const seen = new Set();\n\n return value\n .reverse()\n .filter(\n (item) => !this.uniqueTags || (item && !seen.has(item) && seen.add(item)),\n )\n .reverse();\n }\n\n private onScrollKeyDown(currentIndex: number, flag: number): void {\n const tag = this.tags.find((_item, index) => index === currentIndex + flag);\n\n if (!tag || !this.scrollBar) {\n return;\n }\n\n tag.nativeElement.focus();\n\n if (\n flag * this.scrollBar.nativeElement.clientWidth -\n flag * tag.nativeElement.offsetLeft -\n tag.nativeElement.clientWidth <\n 0\n ) {\n this.scrollBar.nativeElement.scrollLeft +=\n flag * tag.nativeElement.clientWidth;\n }\n }\n\n private updateSearch(value: string): void {\n if (this.focusableElement) {\n this.focusableElement.nativeElement.value = value;\n }\n\n this.search = value;\n this.searchChange.emit(value);\n }\n\n private addTag(): void {\n const inputValue = this.search?.trim() ?? '';\n\n if (!inputValue || this.disabledItemHandler(inputValue)) {\n return;\n }\n\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(inputValue));\n }\n\n private deleteLastEnabledItem(): void {\n for (let index = this.value.length - 1; index >= 0; index--) {\n if (!this.disabledItemHandler(this.value[index] ?? '')) {\n this.value = tuiArrayRemove(this.value, index);\n\n break;\n }\n }\n }\n\n private focusInput(preventScroll = false): void {\n this.nativeFocusableElement?.focus({preventScroll});\n }\n\n private clippedValue(value: string): string {\n return value.slice(0, this.maxLength || value.length);\n }\n}\n","@if (hintOptions?.change$ | async) {}\n<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (click.prevent.zoneless)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n @if (iconStart) {\n <div class=\"t-icon t-icon_left t-textfield-icon t-icon-wrapper\">\n <tui-icon\n *polymorpheusOutlet=\"iconStart as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n @if (hasPlaceholder) {\n <div\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n }\n </div>\n <tui-scrollbar\n class=\"t-scrollbar\"\n [hidden]=\"!expandable\"\n [style.maxHeight.rem]=\"computeMaxHeight\"\n >\n <div\n class=\"t-tags\"\n [class.t-tags_empty]=\"tagsEmpty\"\n >\n @if (labelOutside) {\n @for (item of value; track trackByFn($index, item)) {\n <tui-tag\n #tag\n automation-id=\"tui-input-tag__tag\"\n tabIndex=\"-1\"\n class=\"t-tag\"\n [autoColor]=\"autoColor\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [leftContent]=\"getLeftContent(item)\"\n [maxLength]=\"maxLength\"\n [removable]=\"!readOnly && removable\"\n [separator]=\"separator\"\n [size]=\"controller.size\"\n [status]=\"status\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, $index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft($index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight($index)\"\n />\n }\n } @else {\n @for (item of value; track item) {\n <span\n class=\"t-text\"\n [class.t-text_comma]=\"computedFocused && !inputHidden\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [textContent]=\"item\"\n ></span>\n }\n }\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n automation-id=\"tui-input-tag__native\"\n type=\"text\"\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [class.t-native_hidden]=\"inputHidden\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"search\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly || inputHidden\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (drop.prevent)=\"onDrop($any($event))\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n (ngModelChange)=\"onInput($event)\"\n (paste.prevent)=\"onPaste($event)\"\n />\n </div>\n </div>\n <div class=\"t-value-content\">\n <ng-content select=\"tuiContent\" />\n </div>\n </tui-scrollbar>\n </div>\n <ng-content select=\"select\" />\n @if (hasRightIcons) {\n <div class=\"t-icons t-icon-wrapper\">\n @if (hasCleaner) {\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onCleanerClick()\"\n />\n }\n @if (showHint) {\n <tui-tooltip\n automation-id=\"tui-input-tag__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n }\n @if (icon) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n }\n </div>\n <ng-template #errorIcon>\n <tui-icon\n class=\"t-error-icon\"\n [icon]=\"icons.error\"\n />\n </ng-template>\n </div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiScrollService} from '@taiga-ui/cdk/services';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiTagModule} from '@taiga-ui/legacy/components/tag';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputTagComponent} from './input-tag.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiAppearance,\n TuiHovered,\n TuiIcon,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiScrollbar,\n TuiTagModule,\n TuiTooltipModule,\n TuiWrapperModule,\n ...TuiDropdown,\n ],\n declarations: [TuiInputTagComponent],\n providers: [TuiScrollService],\n exports: [TuiInputTagComponent, ...TuiDropdown],\n})\nexport class TuiInputTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-input-tag.mjs","sources":["../../../projects/legacy/components/input-tag/input-tag.options.ts","../../../projects/legacy/components/input-tag/input-tag.component.ts","../../../projects/legacy/components/input-tag/input-tag.template.html","../../../projects/legacy/components/input-tag/input-tag.module.ts","../../../projects/legacy/components/input-tag/taiga-ui-legacy-components-input-tag.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport interface TuiInputTagOptions {\n readonly autoColor: boolean;\n readonly separator: RegExp | string;\n readonly tagStatus: TuiStatus;\n readonly uniqueTags: boolean;\n}\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport const TUI_INPUT_TAG_DEFAULT_OPTIONS: TuiInputTagOptions = {\n autoColor: false,\n separator: ',',\n tagStatus: 'default',\n uniqueTags: true,\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for InputTag component\n */\nexport const [TUI_INPUT_TAG_OPTIONS, tuiInputTagOptionsProvider] = tuiCreateOptions(\n TUI_INPUT_TAG_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n type QueryList,\n signal,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY, TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiBooleanHandler, type TuiContext} from '@taiga-ui/cdk/types';\nimport {\n tuiGetActualTarget,\n tuiGetClipboardDataText,\n tuiInjectElement,\n tuiIsElement,\n tuiRetargetedBoundaryCrossing,\n} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiArrayRemove, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsDataListHost,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl,\n type TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\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 TuiStatus} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {timer} from 'rxjs';\n\nimport {TUI_INPUT_TAG_OPTIONS} from './input-tag.options';\n\nconst TAG_SIZE_REM = {\n s: 1.25,\n m: 1.5,\n l: 2,\n};\nconst LINE_HEIGHT_REM = {\n s: 1,\n m: 1.25,\n l: 1.25,\n};\nconst TAG_VERTICAL_SPACE_REM = 0.125;\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-tag',\n templateUrl: './input-tag.template.html',\n styleUrl: './input-tag.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputTagComponent),\n tuiAsControl(TuiInputTagComponent),\n tuiAsDataListHost(TuiInputTagComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '[class._icon-start]': 'iconStart',\n '[class._expandable]': 'expandable',\n '[class._label-outside]': 'labelOutside',\n '(focusin.capture.zoneless)': 'onFocusInOut()',\n '(focusout.capture.zoneless)': 'onFocusInOut()',\n },\n})\nexport class TuiInputTagComponent\n extends AbstractTuiMultipleControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @ViewChild('tagsContainer')\n private readonly tagsContainer?: ElementRef<HTMLElement>;\n\n @ViewChildren('tag', {read: ElementRef})\n private readonly tags: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @ViewChild('cleaner', {read: ElementRef})\n private readonly cleanerSvg?: ElementRef<HTMLElement>;\n\n @ViewChild(TuiScrollbar, {read: ElementRef})\n private readonly scrollBar?: ElementRef<HTMLElement>;\n\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_INPUT_TAG_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist?: TemplateRef<TuiContext<TuiActiveZone>>;\n\n @ContentChild(PolymorpheusOutlet)\n protected readonly valueContent?: unknown;\n\n @ViewChild('errorIcon')\n protected readonly errorIconTemplate?: TemplateRef<Record<string, unknown>>;\n\n protected readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected status: TuiStatus = this.options.tagStatus;\n protected open = false;\n\n @Input()\n public separator: RegExp | string = this.options.separator;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public editable = true;\n\n @Input()\n public tagValidator:\n | TuiBooleanHandler<string>\n | TuiBooleanHandler<TuiStringifiableItem<unknown> | string> = TUI_TRUE_HANDLER;\n\n @Input()\n public rows = Infinity;\n\n @Input()\n public inputHidden = false;\n\n @Input()\n public uniqueTags = this.options.uniqueTags;\n\n @Input()\n public autoColor = this.options.autoColor;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public placeholder = '';\n\n @Input()\n public removable = true;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiStringifiableItem<any> | string> =\n TUI_FALSE_HANDLER;\n\n @Output()\n public readonly searchChange = new EventEmitter<string>();\n\n public pseudoOpen = signal(false);\n\n @Input('pseudoFocused')\n public set pseudoFocusedSetter(value: boolean | null) {\n if (!value && !this.focused) {\n this.scrollTo(0);\n }\n\n this.pseudoFocus = value;\n }\n\n /**\n * @deprecated hack\n */\n @Input('pseudoOpen')\n public set setPseudoOpen(value: boolean) {\n this.pseudoOpen.set(value);\n }\n\n public get labelOutside(): boolean {\n const {size, labelOutside} = this.controller;\n\n return this.appearance === 'table' || size === 's' || labelOutside;\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n public get hasValue(): boolean {\n return !!this.value.length || this.hasNativeValue;\n }\n\n public get hasExampleText(): boolean {\n return (\n !!this.nativeFocusableElement?.placeholder &&\n this.computedFocused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n public get hasPlaceholder(): boolean {\n return (\n !this.labelOutside ||\n (!this.hasValue && (!this.hasExampleText || this.inputHidden))\n );\n }\n\n public get focused(): boolean {\n return tuiIsFocusedIn(this.el) || !!this.dropdown?.tuiDropdownOpen;\n }\n\n public get tagsEmpty(): boolean {\n return (\n ((!this.focused || this.inputHidden) &&\n !this.value.length &&\n !this.search?.trim()?.length &&\n !this.placeholder) ||\n !!this.valueContent\n );\n }\n\n public onTagEdited(value: string, index: number): void {\n this.focusInput(value === '');\n this.value = this.filterValue(\n this.value\n .map((tag, tagIndex) =>\n tagIndex !== index\n ? tag\n : value\n .split(this.separator)\n .map((tag) => tag.trim())\n .filter(Boolean),\n )\n .reduce<string[]>(\n (result, item: string[] | string) => result.concat(item),\n [],\n ),\n );\n }\n\n public handleOption(item: string): void {\n this.focusInput();\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(item));\n this.open = false;\n this.scrollTo();\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n protected get iconStart(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.iconStart;\n }\n\n protected get appearance(): string {\n return this.textfieldOptions.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n protected get expandable(): boolean {\n return this.rows > 1;\n }\n\n protected get icon(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconCleaner(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n protected get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n protected get hasNativeValue(): boolean {\n return !!this.search;\n }\n\n protected get placeholderRaised(): boolean {\n return (\n !this.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n protected get hasRightIcons(): boolean {\n return (\n this.hasCleaner ||\n !!this.icon ||\n (!!this.hintOptions?.content && !this.computedDisabled)\n );\n }\n\n protected get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.controller.options.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n protected get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n protected get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n protected onFocusInOut(): void {\n this.cdr.detectChanges();\n }\n\n protected detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n protected getLeftContent(tag: string): PolymorpheusContent {\n return !this.tagValidator(tag) && this.errorIconTemplate\n ? this.errorIconTemplate\n : '';\n }\n\n protected onCleanerClick(): void {\n this.updateSearch('');\n this.clear();\n this.focusInput();\n }\n\n protected onActiveZone(active: boolean): void {\n this.open = false;\n this.addTag();\n this.updateFocused(active);\n\n if (!active && !this.computedFocused) {\n this.scrollTo(0);\n }\n }\n\n protected onMouseDown(event: MouseEvent): void {\n const actualTarget = tuiGetActualTarget(event);\n\n if (\n !this.focusableElement ||\n actualTarget === this.focusableElement.nativeElement ||\n !tuiIsElement(event.target) ||\n this.cleanerSvg?.nativeElement.contains(event.target) ||\n (this.tagsContainer &&\n actualTarget !== this.tagsContainer.nativeElement &&\n this.tagsContainer.nativeElement.contains(actualTarget))\n ) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n protected onFieldKeyDownBackspace(event: Event): void {\n if (!this.labelOutside && !this.hasNativeValue && this.value.length) {\n this.deleteLastEnabledItem();\n } else {\n this.onFieldKeyDownArrowLeft(event);\n }\n }\n\n protected onFieldKeyDownArrowLeft(event: Event): void {\n if (!this.labelOutside || this.hasNativeValue || !this.value.length) {\n return;\n }\n\n event.preventDefault();\n this.tags.last.nativeElement.focus();\n }\n\n protected onFieldKeyDownEnter(): void {\n this.addTag();\n this.scrollTo();\n }\n\n protected onTagKeyDownArrowLeft(currentIndex: number): void {\n if (currentIndex > 0) {\n this.onScrollKeyDown(currentIndex, -1);\n }\n }\n\n protected onTagKeyDownArrowRight(currentIndex: number): void {\n if (currentIndex === this.value.length - 1) {\n this.focusInput();\n } else {\n this.onScrollKeyDown(currentIndex, 1);\n }\n }\n\n protected onInput(value: string): void {\n const array = value.split(this.separator);\n const tags = array\n .map((item) => this.clippedValue(item.trim()))\n .filter((item) => item.length > 0);\n const validated = tags.filter((tag) => !this.disabledItemHandler(tag));\n const invalid = tags.filter((tag) => this.disabledItemHandler(tag));\n\n if (array.length > 1) {\n const search = invalid.length\n ? invalid.join(tuiIsString(this.separator) ? this.separator : ',')\n : '';\n\n this.updateSearch(this.clippedValue(search));\n\n this.value = this.filterValue([...this.value, ...validated]);\n } else {\n this.updateSearch(this.clippedValue(value));\n }\n\n this.open = this.hasNativeValue;\n }\n\n protected onPaste(event: Event): void {\n const pasted = tuiGetClipboardDataText(event as ClipboardEvent);\n\n this.onInput(pasted || '');\n }\n\n protected onDrop({dataTransfer}: DragEvent): void {\n if (dataTransfer) {\n this.onInput(dataTransfer.getData('text') || '');\n }\n }\n\n protected trackByFn(_: number, tag: string): string {\n // Actually tag has TuiStringifiableItem type not string\n return tag;\n }\n\n private get lineHeight(): number {\n return this.labelOutside\n ? TAG_SIZE_REM[this.controller.size] + 2 * TAG_VERTICAL_SPACE_REM\n : LINE_HEIGHT_REM[this.controller.size];\n }\n\n private scrollTo(scrollLeft = this.scrollBar?.nativeElement.scrollWidth): void {\n // Allow change detection to run and add new tag to DOM\n timer(0)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n if (this.scrollBar) {\n this.scrollBar.nativeElement.scrollLeft = scrollLeft || 0;\n }\n });\n }\n\n private filterValue(value: string[]): string[] {\n const seen = new Set();\n\n return value\n .reverse()\n .filter(\n (item) => !this.uniqueTags || (item && !seen.has(item) && seen.add(item)),\n )\n .reverse();\n }\n\n private onScrollKeyDown(currentIndex: number, flag: number): void {\n const tag = this.tags.find((_item, index) => index === currentIndex + flag);\n\n if (!tag || !this.scrollBar) {\n return;\n }\n\n tag.nativeElement.focus();\n\n if (\n flag * this.scrollBar.nativeElement.clientWidth -\n flag * tag.nativeElement.offsetLeft -\n tag.nativeElement.clientWidth <\n 0\n ) {\n this.scrollBar.nativeElement.scrollLeft +=\n flag * tag.nativeElement.clientWidth;\n }\n }\n\n private updateSearch(value: string): void {\n if (this.focusableElement) {\n this.focusableElement.nativeElement.value = value;\n }\n\n this.search = value;\n this.searchChange.emit(value);\n }\n\n private addTag(): void {\n const inputValue = this.search?.trim() ?? '';\n\n if (!inputValue || this.disabledItemHandler(inputValue)) {\n return;\n }\n\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(inputValue));\n }\n\n private deleteLastEnabledItem(): void {\n for (let index = this.value.length - 1; index >= 0; index--) {\n if (!this.disabledItemHandler(this.value[index] ?? '')) {\n this.value = tuiArrayRemove(this.value, index);\n\n break;\n }\n }\n }\n\n private focusInput(preventScroll = false): void {\n this.nativeFocusableElement?.focus({preventScroll});\n }\n\n private clippedValue(value: string): string {\n return value.slice(0, this.maxLength || value.length);\n }\n}\n","@if (hintOptions?.change$ | async) {}\n<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (click.prevent.zoneless)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n @if (iconStart) {\n <div class=\"t-icon t-icon_left t-textfield-icon t-icon-wrapper\">\n <tui-icon\n *polymorpheusOutlet=\"iconStart as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n @if (hasPlaceholder) {\n <div\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n }\n </div>\n <tui-scrollbar\n class=\"t-scrollbar\"\n [hidden]=\"!expandable\"\n [style.maxHeight.rem]=\"computeMaxHeight\"\n >\n <div\n class=\"t-tags\"\n [class.t-tags_empty]=\"tagsEmpty\"\n >\n @if (labelOutside) {\n @for (item of value; track trackByFn($index, item)) {\n <tui-tag\n #tag\n automation-id=\"tui-input-tag__tag\"\n tabIndex=\"-1\"\n class=\"t-tag\"\n [autoColor]=\"autoColor\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [leftContent]=\"getLeftContent(item)\"\n [maxLength]=\"maxLength\"\n [removable]=\"!readOnly && removable\"\n [separator]=\"separator\"\n [size]=\"controller.size\"\n [status]=\"status\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, $index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft($index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight($index)\"\n />\n }\n } @else {\n @for (item of value; track item) {\n <span\n class=\"t-text\"\n [class.t-text_comma]=\"computedFocused && !inputHidden\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [textContent]=\"item\"\n ></span>\n }\n }\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n automation-id=\"tui-input-tag__native\"\n type=\"text\"\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [class.t-native_hidden]=\"inputHidden\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"search\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly || inputHidden\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (drop.prevent)=\"onDrop($any($event))\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n (ngModelChange)=\"onInput($event)\"\n (paste.prevent)=\"onPaste($event)\"\n />\n </div>\n </div>\n <div class=\"t-value-content\">\n <ng-content select=\"tuiContent\" />\n </div>\n </tui-scrollbar>\n </div>\n <ng-content select=\"select\" />\n @if (hasRightIcons) {\n <div class=\"t-icons t-icon-wrapper\">\n @if (hasCleaner) {\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onCleanerClick()\"\n />\n }\n @if (showHint) {\n <tui-tooltip\n automation-id=\"tui-input-tag__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n }\n @if (icon) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n }\n </div>\n <ng-template #errorIcon>\n <tui-icon\n class=\"t-error-icon\"\n [icon]=\"icons.error\"\n />\n </ng-template>\n </div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiScrollService} from '@taiga-ui/cdk/services';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiTagModule} from '@taiga-ui/legacy/components/tag';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputTagComponent} from './input-tag.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiAppearance,\n TuiHovered,\n TuiIcon,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiScrollbar,\n TuiTagModule,\n TuiTooltipModule,\n TuiWrapperModule,\n ...TuiDropdown,\n ],\n declarations: [TuiInputTagComponent],\n providers: [TuiScrollService],\n exports: [TuiInputTagComponent, ...TuiDropdown],\n})\nexport class TuiInputTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ChangeDetectionStrategy, Component, InjectionToken, Injectable } from '@angular/core';
2
+ import { inject, ChangeDetectionStrategy, Component, Injectable } from '@angular/core';
3
3
  import { TuiRipple } from '@taiga-ui/addon-mobile/directives';
4
4
  import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
5
5
  import { TuiButton } from '@taiga-ui/core/components/button';
6
6
  import { injectContext, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
7
- import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
7
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
8
8
  import { TuiModalService } from '@taiga-ui/core/components/modal';
9
9
 
10
10
  class TuiMobileDialog {
@@ -33,12 +33,7 @@ const TUI_MOBILE_DIALOG_DEFAULT_OPTIONS = {
33
33
  /**
34
34
  * Default parameters for mobile dialog component
35
35
  */
36
- const TUI_MOBILE_DIALOG_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_MOBILE_DIALOG_OPTIONS' : '', {
37
- factory: () => TUI_MOBILE_DIALOG_DEFAULT_OPTIONS,
38
- });
39
- function tuiMobileDialogOptionsProvider(options) {
40
- return tuiProvideOptions(TUI_MOBILE_DIALOG_OPTIONS, options, TUI_MOBILE_DIALOG_DEFAULT_OPTIONS);
41
- }
36
+ const [TUI_MOBILE_DIALOG_OPTIONS, tuiMobileDialogOptionsProvider] = tuiCreateOptions(TUI_MOBILE_DIALOG_DEFAULT_OPTIONS);
42
37
 
43
38
  class TuiMobileDialogService extends TuiModalService {
44
39
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-mobile-dialog.mjs","sources":["../../../projects/legacy/components/mobile-dialog/mobile-dialog.component.ts","../../../projects/legacy/components/mobile-dialog/mobile-dialog.template.html","../../../projects/legacy/components/mobile-dialog/mobile-dialog.options.ts","../../../projects/legacy/components/mobile-dialog/mobile-dialog.service.ts","../../../projects/legacy/components/mobile-dialog/taiga-ui-legacy-components-mobile-dialog.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiRipple} from '@taiga-ui/addon-mobile/directives';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {type TuiMobileDialogOptions} from './mobile-dialog.options';\n\n@Component({\n selector: 'tui-mobile-dialog',\n imports: [PolymorpheusOutlet, TuiButton, TuiRipple],\n templateUrl: './mobile-dialog.template.html',\n styleUrl: './mobile-dialog.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiMobileDialog<I> {\n protected readonly isIOS = inject(TUI_IS_IOS);\n protected readonly context =\n injectContext<TuiPortalContext<TuiMobileDialogOptions<I>, number>>();\n\n protected onAction(index: number): void {\n this.context.completeWith(index);\n }\n}\n","@if (!!context.label) {\n <h2\n automation-id=\"tui-mobile-dialog__label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n {{ context.label }}\n </h2>\n}\n<div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n</div>\n@for (action of context.actions; track action) {\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n tuiRipple\n type=\"button\"\n class=\"t-button\"\n [class.t-button_column]=\"$count > 2\"\n (click)=\"onAction($index)\"\n >\n {{ action }}\n </button>\n}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiMobileDialogOptions<I = undefined> {\n readonly actions: readonly string[];\n readonly data: I;\n readonly label: string;\n}\n\nexport const TUI_MOBILE_DIALOG_DEFAULT_OPTIONS: TuiMobileDialogOptions = {\n label: '',\n actions: ['OK'],\n data: undefined,\n};\n\n/**\n * Default parameters for mobile dialog component\n */\nexport const TUI_MOBILE_DIALOG_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_MOBILE_DIALOG_OPTIONS' : '',\n {\n factory: () => TUI_MOBILE_DIALOG_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiMobileDialogOptionsProvider(\n options: Partial<TuiMobileDialogOptions<unknown>>,\n): Provider {\n return tuiProvideOptions(\n TUI_MOBILE_DIALOG_OPTIONS,\n options,\n TUI_MOBILE_DIALOG_DEFAULT_OPTIONS,\n );\n}\n","import {inject, Injectable} from '@angular/core';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {TuiModalService} from '@taiga-ui/core/components/modal';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {type Observable} from 'rxjs';\n\nimport {TuiMobileDialog} from './mobile-dialog.component';\nimport {\n TUI_MOBILE_DIALOG_OPTIONS,\n type TuiMobileDialogOptions,\n} from './mobile-dialog.options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiMobileDialogService extends TuiModalService<\n TuiMobileDialogOptions<any>,\n number\n> {\n protected readonly options = inject(TUI_MOBILE_DIALOG_OPTIONS);\n protected readonly content = TuiMobileDialog;\n\n public override open(\n content: PolymorpheusContent<\n TuiPortalContext<TuiMobileDialogOptions<any>, number>\n >,\n options: Partial<TuiMobileDialogOptions<any>> = {},\n ): Observable<number> {\n return super.open(content, options);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-mobile-dialog.mjs","sources":["../../../projects/legacy/components/mobile-dialog/mobile-dialog.component.ts","../../../projects/legacy/components/mobile-dialog/mobile-dialog.template.html","../../../projects/legacy/components/mobile-dialog/mobile-dialog.options.ts","../../../projects/legacy/components/mobile-dialog/mobile-dialog.service.ts","../../../projects/legacy/components/mobile-dialog/taiga-ui-legacy-components-mobile-dialog.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiRipple} from '@taiga-ui/addon-mobile/directives';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {type TuiMobileDialogOptions} from './mobile-dialog.options';\n\n@Component({\n selector: 'tui-mobile-dialog',\n imports: [PolymorpheusOutlet, TuiButton, TuiRipple],\n templateUrl: './mobile-dialog.template.html',\n styleUrl: './mobile-dialog.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiMobileDialog<I> {\n protected readonly isIOS = inject(TUI_IS_IOS);\n protected readonly context =\n injectContext<TuiPortalContext<TuiMobileDialogOptions<I>, number>>();\n\n protected onAction(index: number): void {\n this.context.completeWith(index);\n }\n}\n","@if (!!context.label) {\n <h2\n automation-id=\"tui-mobile-dialog__label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n {{ context.label }}\n </h2>\n}\n<div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n</div>\n@for (action of context.actions; track action) {\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n tuiRipple\n type=\"button\"\n class=\"t-button\"\n [class.t-button_column]=\"$count > 2\"\n (click)=\"onAction($index)\"\n >\n {{ action }}\n </button>\n}\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiMobileDialogOptions<I = undefined> {\n readonly actions: readonly string[];\n readonly data: I;\n readonly label: string;\n}\n\nexport const TUI_MOBILE_DIALOG_DEFAULT_OPTIONS: TuiMobileDialogOptions = {\n label: '',\n actions: ['OK'],\n data: undefined,\n};\n\n/**\n * Default parameters for mobile dialog component\n */\nexport const [TUI_MOBILE_DIALOG_OPTIONS, tuiMobileDialogOptionsProvider] =\n tuiCreateOptions(TUI_MOBILE_DIALOG_DEFAULT_OPTIONS);\n","import {inject, Injectable} from '@angular/core';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {TuiModalService} from '@taiga-ui/core/components/modal';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {type Observable} from 'rxjs';\n\nimport {TuiMobileDialog} from './mobile-dialog.component';\nimport {\n TUI_MOBILE_DIALOG_OPTIONS,\n type TuiMobileDialogOptions,\n} from './mobile-dialog.options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiMobileDialogService extends TuiModalService<\n TuiMobileDialogOptions<any>,\n number\n> {\n protected readonly options = inject(TUI_MOBILE_DIALOG_OPTIONS);\n protected readonly content = TuiMobileDialog;\n\n public override open(\n content: PolymorpheusContent<\n TuiPortalContext<TuiMobileDialogOptions<any>, number>\n >,\n options: Partial<TuiMobileDialogOptions<any>> = {},\n ): Observable<number> {\n return super.open(content, options);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MAmBa,eAAe,CAAA;AAV5B,IAAA,WAAA,GAAA;AAWuB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1B,IAAO,CAAA,OAAA,GACtB,aAAa,EAAuD;AAK3E;AAHa,IAAA,QAAQ,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;;+GAN3B,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,8HCnB5B,srBA4BA,EAAA,MAAA,EAAA,CAAA,2gCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjBc,kBAAkB,EAAE,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,SAAS,oIAAE,SAAS,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAQzC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACpB,OAAA,EAAA,CAAC,kBAAkB,EAAE,SAAS,EAAE,SAAS,CAAC,EAGlC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,cAAc,EAAE,OAAO;AAC1B,qBAAA,EAAA,QAAA,EAAA,srBAAA,EAAA,MAAA,EAAA,CAAA,2gCAAA,CAAA,EAAA;;;AETQ,MAAA,iCAAiC,GAA2B;AACrE,IAAA,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,CAAC,IAAI,CAAC;AACf,IAAA,IAAI,EAAE,SAAS;;AAGnB;;AAEG;AACI,MAAM,CAAC,yBAAyB,EAAE,8BAA8B,CAAC,GACpE,gBAAgB,CAAC,iCAAiC;;ACHhD,MAAO,sBAAuB,SAAQ,eAG3C,CAAA;AAND,IAAA,WAAA,GAAA;;AAOuB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,yBAAyB,CAAC;QAC3C,IAAO,CAAA,OAAA,GAAG,eAAe;AAU/C;AARmB,IAAA,IAAI,CAChB,OAEC,EACD,OAAA,GAAgD,EAAE,EAAA;QAElD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;;+GAb9B,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAET,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;ACdD;;AAEG;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, Directive, inject, EventEmitter, TemplateRef, Output, Input, ContentChild, ViewChild, ChangeDetectionStrategy, Component, Pipe, ContentChildren, NgModule } from '@angular/core';
4
- import { tuiProvideOptions, tuiIsString, tuiArrayToggle, tuiPure, tuiIsPresent, tuiGetOriginalArrayFromQueryList, tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
3
+ import { Directive, inject, EventEmitter, TemplateRef, Output, Input, ContentChild, ViewChild, ChangeDetectionStrategy, Component, Pipe, ContentChildren, NgModule } from '@angular/core';
4
+ import { tuiIsString, tuiArrayToggle, tuiPure, tuiIsPresent, tuiGetOriginalArrayFromQueryList, tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
5
5
  import { tuiIsFlat } from '@taiga-ui/kit/utils';
6
6
  import { TUI_TRUE_HANDLER, EMPTY_ARRAY, EMPTY_QUERY, TUI_DEFAULT_IDENTITY_MATCHER, EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
7
7
  import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
@@ -19,6 +19,7 @@ import { TUI_INPUT_TAG_OPTIONS, TuiInputTagComponent, TuiInputTagModule } from '
19
19
  import * as i6 from '@taiga-ui/legacy/directives';
20
20
  import { TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER, TuiLegacyDropdownOpenMonitorDirective, TuiTextfieldControllerModule, TuiWrapperModule } from '@taiga-ui/legacy/directives';
21
21
  import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
22
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
22
23
  import * as i2 from '@angular/common';
23
24
  import { CommonModule } from '@angular/common';
24
25
  import * as i1 from '@angular/forms';
@@ -45,12 +46,7 @@ const TUI_MULTI_SELECT_DEFAULT_OPTIONS = {
45
46
  * @deprecated: drop in v5.0
46
47
  * Default parameters for MultiSelect component
47
48
  */
48
- const TUI_MULTI_SELECT_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_MULTI_SELECT_OPTIONS' : '', {
49
- factory: () => TUI_MULTI_SELECT_DEFAULT_OPTIONS,
50
- });
51
- function tuiMultiSelectOptionsProvider(options) {
52
- return tuiProvideOptions(TUI_MULTI_SELECT_OPTIONS, options, TUI_MULTI_SELECT_DEFAULT_OPTIONS);
53
- }
49
+ const [TUI_MULTI_SELECT_OPTIONS, tuiMultiSelectOptionsProvider] = tuiCreateOptions(TUI_MULTI_SELECT_DEFAULT_OPTIONS);
54
50
 
55
51
  class AbstractTuiNativeMultiSelect extends AbstractTuiNativeSelect {
56
52
  constructor() {