@taiga-ui/legacy 4.52.0-canary.3915ce7 → 4.52.0-canary.39c57da

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 (122) hide show
  1. package/classes/abstract-textfield-host.d.ts +1 -1
  2. package/components/dialog/dialog.component.d.ts +19 -0
  3. package/components/dialog/dialog.directive.d.ts +8 -0
  4. package/components/dialog/dialog.factory.d.ts +16 -0
  5. package/components/dialog/dialog.interfaces.d.ts +30 -0
  6. package/components/dialog/dialog.service.d.ts +10 -0
  7. package/components/dialog/dialog.tokens.d.ts +8 -0
  8. package/components/dialog/index.d.ts +6 -0
  9. package/components/index.d.ts +3 -2
  10. package/components/input/input.module.d.ts +4 -4
  11. package/components/input-date-range/input-date-range.component.d.ts +1 -2
  12. package/components/input-date-range/input-date-range.module.d.ts +8 -9
  13. package/components/input-date-time/input-date-time.component.d.ts +5 -5
  14. package/components/input-date-time/input-date-time.module.d.ts +6 -6
  15. package/components/input-month-range/input-month-range.module.d.ts +3 -3
  16. package/components/input-number/input-number.component.d.ts +1 -2
  17. package/components/input-number/input-number.module.d.ts +5 -5
  18. package/components/input-range/input-range.component.d.ts +1 -1
  19. package/components/input-range/input-range.module.d.ts +4 -4
  20. package/components/input-tag/input-tag.module.d.ts +8 -8
  21. package/components/mobile-dialog/index.d.ts +3 -0
  22. package/components/mobile-dialog/mobile-dialog.component.d.ts +10 -0
  23. package/components/mobile-dialog/mobile-dialog.options.d.ts +12 -0
  24. package/components/mobile-dialog/mobile-dialog.service.d.ts +14 -0
  25. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
  26. package/components/multi-select/multi-select.module.d.ts +11 -12
  27. package/components/pdf-viewer/index.d.ts +4 -0
  28. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  29. package/components/pdf-viewer/pdf-viewer.directive.d.ts +8 -0
  30. package/components/pdf-viewer/pdf-viewer.options.d.ts +13 -0
  31. package/components/pdf-viewer/pdf-viewer.service.d.ts +17 -0
  32. package/components/primitive-textfield/primitive-textfield.module.d.ts +5 -5
  33. package/components/select/select.module.d.ts +8 -8
  34. package/components/select-option/select-option.module.d.ts +3 -3
  35. package/components/tag/tag.module.d.ts +4 -4
  36. package/components/textarea/textarea.module.d.ts +7 -7
  37. package/fesm2022/taiga-ui-legacy-classes.mjs +1 -3
  38. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +141 -0
  41. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  42. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +33 -43
  43. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +30 -36
  45. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +10 -10
  47. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +23 -30
  49. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +12 -12
  51. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +23 -23
  54. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-legacy-components-input.mjs +7 -6
  56. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs +67 -0
  58. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs.map +1 -0
  59. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +29 -33
  61. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +93 -0
  63. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  64. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +16 -16
  65. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +6 -6
  67. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-legacy-components-select.mjs +25 -25
  69. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-legacy-components-tag.mjs +10 -10
  71. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +23 -23
  73. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-legacy-components.mjs +3 -2
  75. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -1
  77. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +1 -3
  79. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-legacy-utils.mjs +1 -7
  81. package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-legacy.mjs +0 -2
  83. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  84. package/index.d.ts +0 -2
  85. package/package.json +16 -29
  86. package/utils/icons-path-factory.d.ts +1 -1
  87. package/utils/index.d.ts +0 -1
  88. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  89. package/components/combo-box/combo-box.component.d.ts +0 -52
  90. package/components/combo-box/combo-box.directive.d.ts +0 -13
  91. package/components/combo-box/combo-box.module.d.ts +0 -20
  92. package/components/combo-box/index.d.ts +0 -4
  93. package/components/svg/content-processor.d.ts +0 -19
  94. package/components/svg/deprecated-icons.d.ts +0 -5
  95. package/components/svg/index.d.ts +0 -5
  96. package/components/svg/svg-options.d.ts +0 -50
  97. package/components/svg/svg.component.d.ts +0 -50
  98. package/components/svg/svg.service.d.ts +0 -21
  99. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -299
  100. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  101. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -387
  102. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  103. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  104. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  105. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  106. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  107. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  108. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  109. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  110. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  111. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  112. package/fesm2022/taiga-ui-legacy-services.mjs.map +0 -1
  113. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  114. package/pipes/format-phone/index.d.ts +0 -1
  115. package/pipes/index.d.ts +0 -3
  116. package/pipes/iso-to-country-code/index.d.ts +0 -1
  117. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  118. package/pipes/to-country-code/index.d.ts +0 -1
  119. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  120. package/services/index.d.ts +0 -1
  121. package/services/static-request.service.d.ts +0 -11
  122. package/utils/is-apple.d.ts +0 -5
@@ -1,5 +0,0 @@
1
- /**
2
- * @deprecated: drop in v5.0 use {@link TuiIcon}
3
- * https://taiga-ui.dev/components/icon
4
- */
5
- export declare const TUI_DEPRECATED_ICONS: Record<string, string>;
@@ -1,5 +0,0 @@
1
- export * from './content-processor';
2
- export * from './deprecated-icons';
3
- export * from './svg.component';
4
- export * from './svg.service';
5
- export * from './svg-options';
@@ -1,50 +0,0 @@
1
- import { type FactoryProvider, InjectionToken, type Provider } from '@angular/core';
2
- import { type TuiHandler, type TuiSafeHtml, type TuiStringHandler } from '@taiga-ui/cdk/types';
3
- /**
4
- * @deprecated: drop in v5.0 use {@link TuiIcon}
5
- * https://taiga-ui.dev/components/icon
6
- */
7
- export declare const TUI_DEFAULT_ICONS_PLACE = "assets/taiga-ui/icons";
8
- /**
9
- * @deprecated: drop in v5.0 use {@link TuiIcon}
10
- * https://taiga-ui.dev/components/icon
11
- */
12
- export interface TuiSvgOptions {
13
- readonly contentProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;
14
- readonly deprecated: TuiStringHandler<string>;
15
- readonly iconsPlace: string;
16
- readonly path: (name: string, baseHref?: string) => string;
17
- readonly srcProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;
18
- }
19
- /**
20
- * @deprecated: drop in v5.0 use {@link TuiIcon}
21
- * https://taiga-ui.dev/components/icon
22
- */
23
- export type TuiSvgInterceptorHandler = ((src: TuiSafeHtml, options: TuiSvgOptions) => TuiSafeHtml) | ((src: TuiSafeHtml) => TuiSafeHtml);
24
- /**
25
- * @deprecated: drop in v5.0 use {@link TuiIcon}
26
- * https://taiga-ui.dev/components/icon
27
- */
28
- export declare const TUI_SVG_DEFAULT_OPTIONS: TuiSvgOptions;
29
- /**
30
- * @deprecated: drop in v5.0 use {@link TuiIcon}
31
- * https://taiga-ui.dev/components/icon
32
- */
33
- export declare const TUI_SVG_OPTIONS: InjectionToken<TuiSvgOptions>;
34
- /**
35
- * @deprecated: drop in v5.0 use {@link TuiIcon}
36
- * https://taiga-ui.dev/components/icon
37
- */
38
- export declare const TUI_SVG_SRC_INTERCEPTORS: InjectionToken<TuiSvgInterceptorHandler>;
39
- /**
40
- * @deprecated: drop in v5.0 use {@link TuiIcon}
41
- * https://taiga-ui.dev/components/icon
42
- */
43
- export declare function tuiSvgSrcInterceptors(interceptor: TuiSvgInterceptorHandler): Provider;
44
- /**
45
- * @deprecated: drop in v5.0 use {@link TuiIcon}
46
- * https://taiga-ui.dev/components/icon
47
- */
48
- export declare const tuiSvgOptionsProvider: (options: Partial<Omit<TuiSvgOptions, 'path'>> & {
49
- path?: TuiSvgOptions['path'] | string;
50
- }) => FactoryProvider;
@@ -1,50 +0,0 @@
1
- import { type SafeHtml } from '@angular/platform-browser';
2
- import { type TuiSafeHtml } from '@taiga-ui/cdk/types';
3
- import { type Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * @deprecated: drop in v5.0 use {@link TuiIcon}
7
- * https://taiga-ui.dev/components/icon
8
- */
9
- export interface TuiIconError {
10
- readonly icon: string;
11
- readonly message: string;
12
- }
13
- /**
14
- * @deprecated: drop in v5.0 use {@link TuiIcon}
15
- * https://taiga-ui.dev/components/icon
16
- */
17
- export declare class TuiSvgComponent {
18
- private icon;
19
- private readonly doc;
20
- private readonly win;
21
- private readonly options;
22
- private readonly tuiSanitizer;
23
- private readonly svgService;
24
- private readonly staticRequestService;
25
- private readonly sanitizer;
26
- private readonly el;
27
- private readonly baseHref;
28
- private readonly src$;
29
- private readonly srcInterceptors;
30
- protected readonly innerHTML$: Observable<SafeHtml>;
31
- set src(src: TuiSafeHtml | null | undefined);
32
- get src(): TuiSafeHtml;
33
- get use(): string;
34
- get isInnerHTML(): boolean;
35
- protected onError(message?: string): void;
36
- private get isShadowDOM();
37
- private get isUse();
38
- private get isExternal();
39
- private get isUrl();
40
- private get isSrc();
41
- private get isName();
42
- private get isCrossDomain();
43
- private resolveName;
44
- private getSafeHtml;
45
- private process;
46
- private sanitize;
47
- private getExternalIcon;
48
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiSvgComponent, never>;
49
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiSvgComponent, "tui-svg", never, { "src": { "alias": "src"; "required": false; }; }, {}, never, never, true, never>;
50
- }
@@ -1,21 +0,0 @@
1
- import { type SafeHtml } from '@angular/platform-browser';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * @deprecated: drop in v5.0 use {@link TuiIcon}
6
- * Service for reusing SVGs without inlining each instance
7
- */
8
- export declare class TuiSvgService {
9
- private readonly tuiSanitizer;
10
- private readonly sanitizer;
11
- private originals;
12
- readonly items$: BehaviorSubject<Map<string, SafeHtml>>;
13
- constructor();
14
- define(icons: Record<string, string>): void;
15
- getOriginal(name: string): string | null;
16
- private defineIcon;
17
- private parseSrc;
18
- private sanitize;
19
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiSvgService, never>;
20
- static ɵprov: i0.ɵɵInjectableDeclaration<TuiSvgService>;
21
- }
@@ -1,299 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, EventEmitter, TemplateRef, Output, Input, ContentChild, ViewChild, ChangeDetectionStrategy, Component, Directive, NgModule } from '@angular/core';
3
- import { TUI_STRICT_MATCHER } from '@taiga-ui/cdk/constants';
4
- import { tuiIsFocused } from '@taiga-ui/cdk/utils/focus';
5
- import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
6
- import { TUI_DATA_LIST_ACCESSOR, TuiDataListDirective, tuiAsDataListHost, tuiAsOptionContent } from '@taiga-ui/core/components/data-list';
7
- import * as i1 from '@taiga-ui/core/directives/dropdown';
8
- import { TuiDropdownOpen, TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
9
- import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
10
- import { AbstractTuiNullableControl, tuiAsControl, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
11
- import { TUI_ARROW_MODE, TuiArrowComponent } from '@taiga-ui/legacy/components/arrow';
12
- import * as i3 from '@taiga-ui/legacy/components/primitive-textfield';
13
- import { TuiPrimitiveTextfieldComponent, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
14
- import { TUI_SELECT_OPTION, TuiSelectOptionModule } from '@taiga-ui/legacy/components/select-option';
15
- import * as i4 from '@taiga-ui/legacy/directives';
16
- import { TUI_TEXTFIELD_SIZE, TuiWrapperModule, TuiTextfieldControllerModule, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
17
- import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
18
- import * as i2 from '@taiga-ui/polymorpheus';
19
- import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
20
- import { CommonModule } from '@angular/common';
21
-
22
- /**
23
- * TODO(v5): delete it
24
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
25
- */
26
- class TuiComboBoxComponent extends AbstractTuiNullableControl {
27
- constructor() {
28
- super(...arguments);
29
- this.arrowMode = inject(TUI_ARROW_MODE);
30
- this.itemsHandlers = inject(TUI_ITEMS_HANDLERS);
31
- this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
32
- this.stringify = this.itemsHandlers.stringify;
33
- this.strictMatcher = TUI_STRICT_MATCHER;
34
- this.identityMatcher = this.itemsHandlers.identityMatcher;
35
- this.strict = true;
36
- this.search = null;
37
- this.searchChange = new EventEmitter();
38
- this.open = false;
39
- }
40
- get size() {
41
- return this.textfieldSize.size;
42
- }
43
- get nativeFocusableElement() {
44
- return this.textfield?.nativeFocusableElement ?? null;
45
- }
46
- get focused() {
47
- return (tuiIsFocused(this.nativeFocusableElement) || !!this.dropdown?.tuiDropdownOpen);
48
- }
49
- get nativeValue() {
50
- return this.value === null ? this.search || '' : this.stringify(this.value);
51
- }
52
- checkOption(option) {
53
- if (!this.isStrictMatch(option)) {
54
- return;
55
- }
56
- this.value = option;
57
- this.updateSearch(null);
58
- }
59
- handleOption(item) {
60
- this.focusInput();
61
- this.close();
62
- this.updateSearch(null);
63
- this.value = item;
64
- if (this.value) {
65
- this.setNativeValue(this.stringify(item));
66
- }
67
- }
68
- onValueChange(value) {
69
- this.updateSearch(value);
70
- const match = this.accessor
71
- ?.getOptions()
72
- .find((item) => this.isStrictMatch(item));
73
- if (match !== undefined) {
74
- this.value = match;
75
- this.updateSearch(null);
76
- return;
77
- }
78
- if (this.strict || this.search === '') {
79
- this.value = null;
80
- }
81
- // Clearing sets the empty value, the dropdown should not be opened on clear.
82
- if (this.search !== '') {
83
- this.open = true;
84
- }
85
- }
86
- toggle() {
87
- if (this.interactive) {
88
- this.open = !this.open;
89
- }
90
- }
91
- get arrow() {
92
- return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;
93
- }
94
- get showValueTemplate() {
95
- return tuiIsPresent(this.value) && !this.focused;
96
- }
97
- get computedContent() {
98
- return this.valueContent || this.nativeValue;
99
- }
100
- onActiveZone(active) {
101
- this.updateFocused(active);
102
- }
103
- onFieldKeyDownEnter(event) {
104
- if (this.open) {
105
- event.preventDefault();
106
- }
107
- const options = this.accessor?.getOptions() || [];
108
- if (options.length !== 1) {
109
- return;
110
- }
111
- this.value = options[0] ?? null;
112
- this.updateSearch(null);
113
- this.close();
114
- }
115
- isStrictMatch(item) {
116
- return !!this.search && !!this.strictMatcher?.(item, this.search, this.stringify);
117
- }
118
- close() {
119
- this.open = false;
120
- }
121
- updateSearch(search) {
122
- if (this.search === search) {
123
- return;
124
- }
125
- this.search = search;
126
- this.searchChange.emit(search);
127
- }
128
- setNativeValue(value) {
129
- if (this.nativeFocusableElement) {
130
- this.nativeFocusableElement.value = value;
131
- }
132
- }
133
- focusInput(preventScroll = false) {
134
- if (this.nativeFocusableElement) {
135
- this.nativeFocusableElement.focus({ preventScroll });
136
- }
137
- }
138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiComboBoxComponent, isStandalone: false, selector: "tui-combo-box", inputs: { stringify: "stringify", strictMatcher: "strictMatcher", identityMatcher: "identityMatcher", valueContent: "valueContent", strict: "strict", search: "search" }, outputs: { searchChange: "searchChange" }, host: { properties: { "attr.data-size": "size" } }, providers: [
140
- tuiAsFocusableItemAccessor(TuiComboBoxComponent),
141
- tuiAsDataListHost(TuiComboBoxComponent),
142
- tuiAsControl(TuiComboBoxComponent),
143
- tuiAsOptionContent(TUI_SELECT_OPTION),
144
- ], queries: [{ propertyName: "accessor", first: true, predicate: TUI_DATA_LIST_ACCESSOR, descendants: true }, { propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }, { propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !!datalist\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n @if (showValueTemplate) {\n <div\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;inline-size:100%;align-items:center}.t-icon{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i3.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i3.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i4.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i4.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i4.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "directive", type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
145
- }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxComponent, decorators: [{
147
- type: Component,
148
- args: [{ standalone: false, selector: 'tui-combo-box', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
149
- tuiAsFocusableItemAccessor(TuiComboBoxComponent),
150
- tuiAsDataListHost(TuiComboBoxComponent),
151
- tuiAsControl(TuiComboBoxComponent),
152
- tuiAsOptionContent(TUI_SELECT_OPTION),
153
- ], hostDirectives: [TuiDropdownFixed], host: {
154
- '[attr.data-size]': 'size',
155
- }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !!datalist\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n @if (showValueTemplate) {\n <div\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;inline-size:100%;align-items:center}.t-icon{pointer-events:auto}\n"] }]
156
- }], propDecorators: { accessor: [{
157
- type: ContentChild,
158
- args: [TUI_DATA_LIST_ACCESSOR]
159
- }], dropdown: [{
160
- type: ViewChild,
161
- args: [TuiDropdownOpen]
162
- }], textfield: [{
163
- type: ViewChild,
164
- args: [TuiPrimitiveTextfieldComponent]
165
- }], datalist: [{
166
- type: ContentChild,
167
- args: [TuiDataListDirective, { read: TemplateRef }]
168
- }], stringify: [{
169
- type: Input
170
- }], strictMatcher: [{
171
- type: Input
172
- }], identityMatcher: [{
173
- type: Input
174
- }], valueContent: [{
175
- type: Input
176
- }], strict: [{
177
- type: Input
178
- }], search: [{
179
- type: Input
180
- }], searchChange: [{
181
- type: Output
182
- }] } });
183
-
184
- /**
185
- * TODO(v5): delete it
186
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
187
- */
188
- class TuiComboBoxDirective extends AbstractTuiTextfieldHost {
189
- get value() {
190
- return this.host.nativeValue;
191
- }
192
- onValueChange(value) {
193
- this.host.onValueChange(value);
194
- }
195
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
196
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiComboBoxDirective, isStandalone: false, selector: "tui-combo-box", providers: [tuiAsTextfieldHost(TuiComboBoxDirective)], usesInheritance: true, ngImport: i0 }); }
197
- }
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxDirective, decorators: [{
199
- type: Directive,
200
- args: [{
201
- standalone: false,
202
- selector: 'tui-combo-box',
203
- providers: [tuiAsTextfieldHost(TuiComboBoxDirective)],
204
- }]
205
- }] });
206
-
207
- /**
208
- * TODO(v5): delete it
209
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
210
- */
211
- class TuiComboBoxStrictDirective {
212
- constructor() {
213
- this.comboBox = inject((TuiComboBoxComponent));
214
- this.strict = true;
215
- }
216
- onInput() {
217
- if (!this.strict && this.comboBox.search) {
218
- this.comboBox.value = this.comboBox.search;
219
- }
220
- }
221
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxStrictDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
222
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiComboBoxStrictDirective, isStandalone: false, selector: "tui-combo-box[strict]", inputs: { strict: "strict" }, host: { listeners: { "input": "onInput()" } }, ngImport: i0 }); }
223
- }
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxStrictDirective, decorators: [{
225
- type: Directive,
226
- args: [{
227
- standalone: false,
228
- selector: 'tui-combo-box[strict]',
229
- host: {
230
- '(input)': 'onInput()',
231
- },
232
- }]
233
- }], propDecorators: { strict: [{
234
- type: Input
235
- }] } });
236
-
237
- /**
238
- * TODO(v5): delete it
239
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
240
- */
241
- class TuiComboBoxModule {
242
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
243
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxModule, declarations: [TuiComboBoxComponent,
244
- TuiComboBoxStrictDirective,
245
- TuiComboBoxDirective], imports: [CommonModule,
246
- PolymorpheusOutlet,
247
- PolymorpheusTemplate,
248
- TuiPrimitiveTextfieldModule,
249
- TuiSelectOptionModule,
250
- TuiArrowComponent,
251
- TuiWrapperModule,
252
- TuiTextfieldControllerModule,
253
- TuiLegacyDropdownOpenMonitorDirective, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection], exports: [TuiComboBoxComponent,
254
- TuiComboBoxStrictDirective,
255
- TuiComboBoxDirective,
256
- TuiTextfieldComponent, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection] }); }
257
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxModule, imports: [CommonModule,
258
- TuiPrimitiveTextfieldModule,
259
- TuiSelectOptionModule,
260
- TuiArrowComponent,
261
- TuiWrapperModule,
262
- TuiTextfieldControllerModule, i1.TuiDropdownComponent] }); }
263
- }
264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxModule, decorators: [{
265
- type: NgModule,
266
- args: [{
267
- imports: [
268
- CommonModule,
269
- PolymorpheusOutlet,
270
- PolymorpheusTemplate,
271
- TuiPrimitiveTextfieldModule,
272
- TuiSelectOptionModule,
273
- TuiArrowComponent,
274
- TuiWrapperModule,
275
- TuiTextfieldControllerModule,
276
- TuiLegacyDropdownOpenMonitorDirective,
277
- ...TuiDropdown,
278
- ],
279
- declarations: [
280
- TuiComboBoxComponent,
281
- TuiComboBoxStrictDirective,
282
- TuiComboBoxDirective,
283
- ],
284
- exports: [
285
- TuiComboBoxComponent,
286
- TuiComboBoxStrictDirective,
287
- TuiComboBoxDirective,
288
- TuiTextfieldComponent,
289
- ...TuiDropdown,
290
- ],
291
- }]
292
- }] });
293
-
294
- /**
295
- * Generated bundle index. Do not edit.
296
- */
297
-
298
- export { TuiComboBoxComponent, TuiComboBoxDirective, TuiComboBoxModule, TuiComboBoxStrictDirective };
299
- //# sourceMappingURL=taiga-ui-legacy-components-combo-box.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-combo-box.mjs","sources":["../../../projects/legacy/components/combo-box/combo-box.component.ts","../../../projects/legacy/components/combo-box/combo-box.template.html","../../../projects/legacy/components/combo-box/combo-box.directive.ts","../../../projects/legacy/components/combo-box/combo-box-strict.directive.ts","../../../projects/legacy/components/combo-box/combo-box.module.ts","../../../projects/legacy/components/combo-box/taiga-ui-legacy-components-combo-box.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiContext, type TuiStringMatcher} from '@taiga-ui/cdk/types';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n tuiAsDataListHost,\n tuiAsOptionContent,\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 {\n type TuiSizeL,\n type TuiSizeM,\n type TuiSizeS,\n type TuiValueContentContext,\n} from '@taiga-ui/core/types';\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/legacy/components/select-option';\nimport {TUI_TEXTFIELD_SIZE} 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\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiComboBoxComponent),\n tuiAsDataListHost(TuiComboBoxComponent),\n tuiAsControl(TuiComboBoxComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public strictMatcher: TuiStringMatcher<T> | null = TUI_STRICT_MATCHER;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n\n @Input()\n public strict = true;\n\n @Input()\n public search: string | null = null;\n\n @Output()\n public readonly searchChange = new EventEmitter<string | null>();\n\n public open = false;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return (\n tuiIsFocused(this.nativeFocusableElement) || !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n public checkOption(option: T): void {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.value = option;\n this.updateSearch(null);\n }\n\n public handleOption(item: T): void {\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.value = item;\n\n if (this.value) {\n this.setNativeValue(this.stringify(item));\n }\n }\n\n public onValueChange(value: string): void {\n this.updateSearch(value);\n\n const match = this.accessor\n ?.getOptions()\n .find((item) => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.value = match;\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.value = null;\n }\n\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (this.search !== '') {\n this.open = true;\n }\n }\n\n public toggle(): void {\n if (this.interactive) {\n this.open = !this.open;\n }\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n protected get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n protected get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected onFieldKeyDownEnter(event: Event): void {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.value = options[0] ?? null;\n this.updateSearch(null);\n this.close();\n }\n\n private isStrictMatch(item: T): boolean {\n return !!this.search && !!this.strictMatcher?.(item, this.search, this.stringify);\n }\n\n private close(): void {\n this.open = false;\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 private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !!datalist\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n @if (showValueTemplate) {\n <div\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiComboBoxComponent} from './combo-box.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-combo-box',\n providers: [tuiAsTextfieldHost(TuiComboBoxDirective)],\n})\nexport class TuiComboBoxDirective extends AbstractTuiTextfieldHost<\n TuiComboBoxComponent<unknown>\n> {\n public override get value(): string {\n return this.host.nativeValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, inject, Input} from '@angular/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-combo-box[strict]',\n host: {\n '(input)': 'onInput()',\n },\n})\nexport class TuiComboBoxStrictDirective<T> {\n private readonly comboBox = inject(TuiComboBoxComponent<T | string>);\n\n @Input()\n public strict = true;\n\n protected onInput(): void {\n if (!this.strict && this.comboBox.search) {\n this.comboBox.value = this.comboBox.search;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectOptionModule} from '@taiga-ui/legacy/components/select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiSelectOptionModule,\n TuiArrowComponent,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}