@taiga-ui/legacy 4.52.0-canary.24b31eb → 4.52.0-canary.2d877cf

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 (256) hide show
  1. package/README.md +1 -1
  2. package/components/dialog/dialog.component.d.ts +5 -6
  3. package/components/dialog/dialog.directive.d.ts +4 -3
  4. package/components/dialog/dialog.interfaces.d.ts +3 -4
  5. package/components/dialog/dialog.service.d.ts +5 -2
  6. package/components/dialog/dialog.tokens.d.ts +1 -3
  7. package/components/index.d.ts +2 -18
  8. package/components/mobile-dialog/index.d.ts +3 -0
  9. package/components/mobile-dialog/mobile-dialog.component.d.ts +10 -0
  10. package/components/mobile-dialog/mobile-dialog.options.d.ts +10 -0
  11. package/components/mobile-dialog/mobile-dialog.service.d.ts +14 -0
  12. package/components/pdf-viewer/index.d.ts +4 -0
  13. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  14. package/components/pdf-viewer/pdf-viewer.directive.d.ts +8 -0
  15. package/components/pdf-viewer/pdf-viewer.options.d.ts +11 -0
  16. package/components/pdf-viewer/pdf-viewer.service.d.ts +17 -0
  17. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +37 -31
  18. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs +62 -0
  20. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs.map +1 -0
  21. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +88 -0
  22. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  23. package/fesm2022/taiga-ui-legacy-components.mjs +2 -18
  24. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-legacy.mjs +0 -5
  26. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  27. package/index.d.ts +0 -5
  28. package/package.json +19 -130
  29. package/classes/abstract-native-select.d.ts +0 -22
  30. package/classes/abstract-textfield-host.d.ts +0 -19
  31. package/classes/control.d.ts +0 -60
  32. package/classes/controller.d.ts +0 -9
  33. package/classes/index.d.ts +0 -9
  34. package/classes/interactive.d.ts +0 -34
  35. package/classes/multiple-control.d.ts +0 -11
  36. package/classes/named-day.d.ts +0 -11
  37. package/classes/nullable-control.d.ts +0 -10
  38. package/classes/stringifiable-item.d.ts +0 -11
  39. package/components/arrow/arrow.component.d.ts +0 -17
  40. package/components/arrow/arrow.options.d.ts +0 -19
  41. package/components/arrow/arrow.providers.d.ts +0 -23
  42. package/components/arrow/index.d.ts +0 -3
  43. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  44. package/components/combo-box/combo-box.component.d.ts +0 -52
  45. package/components/combo-box/combo-box.directive.d.ts +0 -13
  46. package/components/combo-box/combo-box.module.d.ts +0 -20
  47. package/components/combo-box/index.d.ts +0 -4
  48. package/components/input/index.d.ts +0 -3
  49. package/components/input/input.component.d.ts +0 -32
  50. package/components/input/input.directive.d.ts +0 -12
  51. package/components/input/input.module.d.ts +0 -16
  52. package/components/input-date-range/index.d.ts +0 -3
  53. package/components/input-date-range/input-date-range.component.d.ts +0 -67
  54. package/components/input-date-range/input-date-range.directive.d.ts +0 -16
  55. package/components/input-date-range/input-date-range.module.d.ts +0 -22
  56. package/components/input-date-time/index.d.ts +0 -3
  57. package/components/input-date-time/input-date-time.component.d.ts +0 -87
  58. package/components/input-date-time/input-date-time.directive.d.ts +0 -17
  59. package/components/input-date-time/input-date-time.module.d.ts +0 -23
  60. package/components/input-date-time/native-date-time/native-date-time.directive.d.ts +0 -13
  61. package/components/input-month-range/index.d.ts +0 -3
  62. package/components/input-month-range/input-month-range.component.d.ts +0 -38
  63. package/components/input-month-range/input-month-range.directive.d.ts +0 -23
  64. package/components/input-month-range/input-month-range.module.d.ts +0 -18
  65. package/components/input-number/index.d.ts +0 -4
  66. package/components/input-number/input-number.component.d.ts +0 -63
  67. package/components/input-number/input-number.directive.d.ts +0 -16
  68. package/components/input-number/input-number.module.d.ts +0 -18
  69. package/components/input-number/input-number.options.d.ts +0 -29
  70. package/components/input-range/index.d.ts +0 -2
  71. package/components/input-range/input-range.component.d.ts +0 -56
  72. package/components/input-range/input-range.module.d.ts +0 -19
  73. package/components/input-slider/index.d.ts +0 -2
  74. package/components/input-slider/input-slider.component.d.ts +0 -42
  75. package/components/input-slider/input-slider.module.d.ts +0 -18
  76. package/components/input-tag/index.d.ts +0 -3
  77. package/components/input-tag/input-tag.component.d.ts +0 -103
  78. package/components/input-tag/input-tag.module.d.ts +0 -22
  79. package/components/input-tag/input-tag.options.d.ts +0 -27
  80. package/components/multi-select/hide-selected.pipe.d.ts +0 -11
  81. package/components/multi-select/index.d.ts +0 -10
  82. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +0 -23
  83. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +0 -8
  84. package/components/multi-select/multi-select.component.d.ts +0 -71
  85. package/components/multi-select/multi-select.directive.d.ts +0 -14
  86. package/components/multi-select/multi-select.module.d.ts +0 -31
  87. package/components/multi-select/multi-select.options.d.ts +0 -14
  88. package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +0 -9
  89. package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +0 -8
  90. package/components/multi-select/native-multi-select/native-multi-select.d.ts +0 -11
  91. package/components/multi-select-option/index.d.ts +0 -2
  92. package/components/multi-select-option/multi-select-option.component.d.ts +0 -9
  93. package/components/multi-select-option/multi-select-option.module.d.ts +0 -9
  94. package/components/primitive-textfield/index.d.ts +0 -7
  95. package/components/primitive-textfield/primitive-textfield-options.d.ts +0 -21
  96. package/components/primitive-textfield/primitive-textfield-types.d.ts +0 -11
  97. package/components/primitive-textfield/primitive-textfield.component.d.ts +0 -73
  98. package/components/primitive-textfield/primitive-textfield.directive.d.ts +0 -14
  99. package/components/primitive-textfield/primitive-textfield.module.d.ts +0 -21
  100. package/components/primitive-textfield/textfield/textfield.component.d.ts +0 -13
  101. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +0 -22
  102. package/components/select/index.d.ts +0 -6
  103. package/components/select/native-select/native-select-group.component.d.ts +0 -17
  104. package/components/select/native-select/native-select.component.d.ts +0 -16
  105. package/components/select/select.component.d.ts +0 -45
  106. package/components/select/select.directive.d.ts +0 -16
  107. package/components/select/select.module.d.ts +0 -24
  108. package/components/select/select.options.d.ts +0 -25
  109. package/components/select-option/index.d.ts +0 -2
  110. package/components/select-option/select-option.component.d.ts +0 -27
  111. package/components/select-option/select-option.module.d.ts +0 -10
  112. package/components/tag/index.d.ts +0 -3
  113. package/components/tag/tag.component.d.ts +0 -44
  114. package/components/tag/tag.module.d.ts +0 -16
  115. package/components/tag/tag.options.d.ts +0 -27
  116. package/components/textarea/index.d.ts +0 -3
  117. package/components/textarea/textarea.component.d.ts +0 -54
  118. package/components/textarea/textarea.directive.d.ts +0 -12
  119. package/components/textarea/textarea.module.d.ts +0 -21
  120. package/components/tooltip/index.d.ts +0 -2
  121. package/components/tooltip/tooltip.component.d.ts +0 -12
  122. package/components/tooltip/tooltip.module.d.ts +0 -13
  123. package/directives/index.d.ts +0 -5
  124. package/directives/legacy-dropdown-open-monitor/index.d.ts +0 -1
  125. package/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.d.ts +0 -11
  126. package/directives/textfield-controller/index.d.ts +0 -14
  127. package/directives/textfield-controller/textfield-appearance.directive.d.ts +0 -9
  128. package/directives/textfield-controller/textfield-cleaner.directive.d.ts +0 -9
  129. package/directives/textfield-controller/textfield-controller.module.d.ts +0 -17
  130. package/directives/textfield-controller/textfield-controller.provider.d.ts +0 -4
  131. package/directives/textfield-controller/textfield-custom-content.directive.d.ts +0 -10
  132. package/directives/textfield-controller/textfield-filler.directive.d.ts +0 -9
  133. package/directives/textfield-controller/textfield-icon-left.directive.d.ts +0 -12
  134. package/directives/textfield-controller/textfield-icon.directive.d.ts +0 -12
  135. package/directives/textfield-controller/textfield-label-outside.directive.d.ts +0 -9
  136. package/directives/textfield-controller/textfield-postfix.directive.d.ts +0 -9
  137. package/directives/textfield-controller/textfield-prefix.directive.d.ts +0 -9
  138. package/directives/textfield-controller/textfield-size.directive.d.ts +0 -10
  139. package/directives/textfield-controller/textfield.controller.d.ts +0 -41
  140. package/directives/textfield-controller/textfield.options.d.ts +0 -19
  141. package/directives/unfinished-validator/index.d.ts +0 -2
  142. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +0 -10
  143. package/directives/unfinished-validator/unfinished.validator.d.ts +0 -4
  144. package/directives/value-accessor/index.d.ts +0 -3
  145. package/directives/value-accessor/value-accessor.directive.d.ts +0 -5
  146. package/directives/value-accessor/value-accessor.module.d.ts +0 -7
  147. package/directives/value-accessor/value-accessor.provider.d.ts +0 -2
  148. package/directives/wrapper/README.md +0 -19
  149. package/directives/wrapper/index.d.ts +0 -2
  150. package/directives/wrapper/wrapper.directive.d.ts +0 -22
  151. package/directives/wrapper/wrapper.module.d.ts +0 -10
  152. package/fesm2022/taiga-ui-legacy-classes.mjs +0 -415
  153. package/fesm2022/taiga-ui-legacy-classes.mjs.map +0 -1
  154. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +0 -85
  155. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +0 -1
  156. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -299
  157. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  158. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +0 -356
  159. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +0 -1
  160. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +0 -465
  161. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +0 -1
  162. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +0 -221
  163. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +0 -1
  164. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +0 -390
  165. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +0 -1
  166. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +0 -261
  167. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +0 -1
  168. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +0 -199
  169. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +0 -1
  170. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +0 -524
  171. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +0 -1
  172. package/fesm2022/taiga-ui-legacy-components-input.mjs +0 -155
  173. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +0 -1
  174. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +0 -47
  175. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +0 -1
  176. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +0 -690
  177. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +0 -1
  178. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +0 -454
  179. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +0 -1
  180. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +0 -88
  181. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +0 -1
  182. package/fesm2022/taiga-ui-legacy-components-select.mjs +0 -353
  183. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +0 -1
  184. package/fesm2022/taiga-ui-legacy-components-tag.mjs +0 -225
  185. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +0 -1
  186. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +0 -262
  187. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +0 -1
  188. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +0 -53
  189. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +0 -1
  190. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -50
  191. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +0 -1
  192. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +0 -401
  193. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +0 -1
  194. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +0 -50
  195. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +0 -1
  196. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +0 -44
  197. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +0 -1
  198. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +0 -99
  199. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +0 -1
  200. package/fesm2022/taiga-ui-legacy-directives.mjs +0 -10
  201. package/fesm2022/taiga-ui-legacy-directives.mjs.map +0 -1
  202. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  203. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  204. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  205. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  207. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  208. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  209. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  210. package/fesm2022/taiga-ui-legacy-tokens.mjs +0 -384
  211. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +0 -1
  212. package/fesm2022/taiga-ui-legacy-utils.mjs +0 -268
  213. package/fesm2022/taiga-ui-legacy-utils.mjs.map +0 -1
  214. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  215. package/pipes/format-phone/index.d.ts +0 -1
  216. package/pipes/index.d.ts +0 -3
  217. package/pipes/iso-to-country-code/index.d.ts +0 -1
  218. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  219. package/pipes/to-country-code/index.d.ts +0 -1
  220. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  221. package/styles/mixins/mixins.less +0 -239
  222. package/styles/mixins/mixins.scss +0 -224
  223. package/styles/mixins/textfield.less +0 -324
  224. package/styles/mixins/textfield.scss +0 -308
  225. package/styles/taiga-ui-local.less +0 -3
  226. package/styles/taiga-ui-local.scss +0 -3
  227. package/tokens/countries-masks.d.ts +0 -9
  228. package/tokens/focusable-item-accessor.d.ts +0 -25
  229. package/tokens/fonts-ready.d.ts +0 -6
  230. package/tokens/icons.d.ts +0 -6
  231. package/tokens/index.d.ts +0 -14
  232. package/tokens/is-apple.d.ts +0 -6
  233. package/tokens/is-chromium.d.ts +0 -6
  234. package/tokens/is-firefox.d.ts +0 -6
  235. package/tokens/is-stackblitz.d.ts +0 -5
  236. package/tokens/month-formatter.d.ts +0 -10
  237. package/tokens/sanitizer.d.ts +0 -6
  238. package/tokens/textfield-appearance.d.ts +0 -7
  239. package/tokens/textfield-host.d.ts +0 -23
  240. package/tokens/touch-supported.d.ts +0 -5
  241. package/tokens/value-accessor.d.ts +0 -7
  242. package/utils/capitalize-first-letter.d.ts +0 -4
  243. package/utils/date-mode-maskito-adapter.d.ts +0 -6
  244. package/utils/format-phone.d.ts +0 -30
  245. package/utils/get-border.d.ts +0 -5
  246. package/utils/get-max-allowed-phone-length.d.ts +0 -24
  247. package/utils/get-safe-area-size.d.ts +0 -7
  248. package/utils/icons-path-factory.d.ts +0 -13
  249. package/utils/index.d.ts +0 -14
  250. package/utils/is-apple.d.ts +0 -5
  251. package/utils/is-presumed-html-string.d.ts +0 -4
  252. package/utils/iso-to-country-code.d.ts +0 -13
  253. package/utils/not-kz-region.d.ts +0 -20
  254. package/utils/process-icon.d.ts +0 -4
  255. package/utils/specific-dropdown-controllers.d.ts +0 -4
  256. package/utils/status.d.ts +0 -4
@@ -1,88 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
- import { NgControl } from '@angular/forms';
4
- import { TUI_DEFAULT_IDENTITY_MATCHER } from '@taiga-ui/cdk/constants';
5
- import { tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
6
- import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
7
- import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
8
- import { TUI_DATA_LIST_HOST, TuiOption, TuiDataListComponent } from '@taiga-ui/core/components/data-list';
9
- import { TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
10
- import { AbstractTuiControl } from '@taiga-ui/legacy/classes';
11
- import { injectContext, PolymorpheusComponent } from '@taiga-ui/polymorpheus';
12
- import { Subject, merge, EMPTY, startWith, map, distinctUntilChanged } from 'rxjs';
13
- import * as i1 from '@angular/common';
14
- import { CommonModule } from '@angular/common';
15
- import * as i2 from '@taiga-ui/core/components/scrollbar';
16
- import { TuiScrollIntoView } from '@taiga-ui/core/components/scrollbar';
17
- import * as i3 from '@taiga-ui/core/components/icon';
18
- import { TuiIcon } from '@taiga-ui/core/components/icon';
19
-
20
- class TuiSelectOptionComponent {
21
- constructor() {
22
- this.host = inject(TUI_DATA_LIST_HOST);
23
- this.el = tuiInjectElement();
24
- this.changeDetection$ = new Subject();
25
- this.abstractControl = inject((AbstractTuiControl), { optional: true });
26
- this.control = inject(NgControl);
27
- this.option = inject((TuiOption));
28
- this.dataList = inject((TuiDataListComponent), { optional: true });
29
- this.icons = inject(TUI_COMMON_ICONS);
30
- this.context = injectContext();
31
- this.selected$ = merge(this.abstractControl?.update$ || EMPTY, this.changeDetection$, this.control.valueChanges || EMPTY, tuiTypedFromEvent(this.el, 'animationstart')).pipe(startWith(null), map(() => this.selected), distinctUntilChanged());
32
- }
33
- ngOnInit() {
34
- /**
35
- * This would cause changes inside already checked parent component (during the same change detection cycle),
36
- * and it might cause ExpressionChanged error due to potential HostBinding
37
- * (for example, inside {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/ng_control_status.ts#L99 NgControlStatus}).
38
- * Microtask keeps it in the same frame but allows change detection to run.
39
- */
40
- void Promise.resolve().then(() => {
41
- if (tuiIsPresent(this.option.value) && !this.option.disabled) {
42
- this.host.checkOption?.(this.option.value);
43
- }
44
- });
45
- }
46
- ngDoCheck() {
47
- this.changeDetection$.next();
48
- }
49
- get value() {
50
- return this.abstractControl?.value ?? this.control.value;
51
- }
52
- get matcher() {
53
- return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;
54
- }
55
- get selected() {
56
- return (tuiIsPresent(this.option.value) &&
57
- tuiIsPresent(this.value) &&
58
- this.matcher(this.value, this.option.value));
59
- }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiSelectOptionComponent, isStandalone: false, selector: "tui-select-option", ngImport: i0, template: "<ng-container [ngTemplateOutlet]=\"context.$implicit\" />\n@if (selected$ | async) {\n <tui-icon\n automation-id=\"tui-select-option__checkmark\"\n class=\"t-checkmark\"\n [icon]=\"icons.check\"\n [tuiScrollIntoView]=\"true\"\n />\n} @else {\n <span class=\"t-dummy\"></span>\n}\n", styles: ["@keyframes retrigger{0%{left:1px}to{left:2px}}:host{display:flex;flex:1;align-items:center;max-inline-size:100%;animation:retrigger 1s}.t-checkmark{margin-inline-start:auto;inline-size:1.75rem;border-width:.25rem;border-inline-start-width:.5rem}.t-checkmark:after{font-size:1rem}:host-context(tui-data-list[data-size=\"s\"]) .t-checkmark{margin-inline-end:-.375rem}:host-context(tui-data-list[data-size=\"m\"]) .t-checkmark{margin-inline-end:-.125rem}.t-dummy{inline-size:1.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.TuiScrollIntoView, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }, { kind: "component", type: i3.TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectOptionComponent, decorators: [{
64
- type: Component,
65
- args: [{ standalone: false, selector: 'tui-select-option', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngTemplateOutlet]=\"context.$implicit\" />\n@if (selected$ | async) {\n <tui-icon\n automation-id=\"tui-select-option__checkmark\"\n class=\"t-checkmark\"\n [icon]=\"icons.check\"\n [tuiScrollIntoView]=\"true\"\n />\n} @else {\n <span class=\"t-dummy\"></span>\n}\n", styles: ["@keyframes retrigger{0%{left:1px}to{left:2px}}:host{display:flex;flex:1;align-items:center;max-inline-size:100%;animation:retrigger 1s}.t-checkmark{margin-inline-start:auto;inline-size:1.75rem;border-width:.25rem;border-inline-start-width:.5rem}.t-checkmark:after{font-size:1rem}:host-context(tui-data-list[data-size=\"s\"]) .t-checkmark{margin-inline-end:-.375rem}:host-context(tui-data-list[data-size=\"m\"]) .t-checkmark{margin-inline-end:-.125rem}.t-dummy{inline-size:1.75rem}\n"] }]
66
- }] });
67
- const TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);
68
-
69
- class TuiSelectOptionModule {
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
71
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectOptionModule, declarations: [TuiSelectOptionComponent], imports: [CommonModule, TuiScrollIntoView, TuiIcon], exports: [TuiSelectOptionComponent] }); }
72
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectOptionModule, imports: [CommonModule, TuiIcon] }); }
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectOptionModule, decorators: [{
75
- type: NgModule,
76
- args: [{
77
- imports: [CommonModule, TuiScrollIntoView, TuiIcon],
78
- declarations: [TuiSelectOptionComponent],
79
- exports: [TuiSelectOptionComponent],
80
- }]
81
- }] });
82
-
83
- /**
84
- * Generated bundle index. Do not edit.
85
- */
86
-
87
- export { TUI_SELECT_OPTION, TuiSelectOptionComponent, TuiSelectOptionModule };
88
- //# sourceMappingURL=taiga-ui-legacy-components-select-option.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-select-option.mjs","sources":["../../../projects/legacy/components/select-option/select-option.component.ts","../../../projects/legacy/components/select-option/select-option.template.html","../../../projects/legacy/components/select-option/select-option.module.ts","../../../projects/legacy/components/select-option/taiga-ui-legacy-components-select-option.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n type DoCheck,\n inject,\n type OnInit,\n type TemplateRef,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TUI_DEFAULT_IDENTITY_MATCHER} from '@taiga-ui/cdk/constants';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {type TuiContext, type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_HOST,\n TuiDataListComponent,\n type TuiDataListHost,\n TuiOption,\n} from '@taiga-ui/core/components/data-list';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {injectContext, PolymorpheusComponent} from '@taiga-ui/polymorpheus';\nimport {distinctUntilChanged, EMPTY, map, merge, startWith, Subject} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'tui-select-option',\n templateUrl: './select-option.template.html',\n styleUrls: ['./select-option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSelectOptionComponent<T> implements OnInit, DoCheck {\n private readonly host = inject<TuiDataListHost<T>>(TUI_DATA_LIST_HOST);\n private readonly el = tuiInjectElement();\n private readonly changeDetection$ = new Subject<void>();\n protected readonly abstractControl = inject(AbstractTuiControl<T>, {optional: true});\n protected readonly control = inject(NgControl);\n protected readonly option = inject(TuiOption<T>);\n protected readonly dataList = inject(TuiDataListComponent<T>, {optional: true});\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly context =\n injectContext<TuiContext<TemplateRef<Record<string, unknown>>>>();\n\n protected readonly selected$ = merge<unknown[]>(\n this.abstractControl?.update$ || EMPTY,\n this.changeDetection$,\n this.control.valueChanges || EMPTY,\n tuiTypedFromEvent(this.el, 'animationstart'),\n ).pipe(\n startWith(null),\n map(() => this.selected),\n distinctUntilChanged(),\n );\n\n public ngOnInit(): void {\n /**\n * This would cause changes inside already checked parent component (during the same change detection cycle),\n * and it might cause ExpressionChanged error due to potential HostBinding\n * (for example, inside {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/ng_control_status.ts#L99 NgControlStatus}).\n * Microtask keeps it in the same frame but allows change detection to run.\n */\n void Promise.resolve().then(() => {\n if (tuiIsPresent(this.option.value) && !this.option.disabled) {\n this.host.checkOption?.(this.option.value);\n }\n });\n }\n\n public ngDoCheck(): void {\n this.changeDetection$.next();\n }\n\n protected get value(): T | null {\n return this.abstractControl?.value ?? this.control.value;\n }\n\n protected get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n protected get selected(): boolean {\n return (\n tuiIsPresent(this.option.value) &&\n tuiIsPresent(this.value) &&\n this.matcher(this.value, this.option.value)\n );\n }\n}\n\nexport const TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);\n","<ng-container [ngTemplateOutlet]=\"context.$implicit\" />\n@if (selected$ | async) {\n <tui-icon\n automation-id=\"tui-select-option__checkmark\"\n class=\"t-checkmark\"\n [icon]=\"icons.check\"\n [tuiScrollIntoView]=\"true\"\n />\n} @else {\n <span class=\"t-dummy\"></span>\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiScrollIntoView} from '@taiga-ui/core/components/scrollbar';\n\nimport {TuiSelectOptionComponent} from './select-option.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollIntoView, TuiIcon],\n declarations: [TuiSelectOptionComponent],\n exports: [TuiSelectOptionComponent],\n})\nexport class TuiSelectOptionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,353 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { TemplateRef, Input, ChangeDetectionStrategy, Component, InjectionToken, inject, ContentChild, ViewChild, Directive, NgModule } from '@angular/core';
3
- import { tuiProvide, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
4
- import * as i2 from '@taiga-ui/core/components/data-list';
5
- import { tuiAsDataList, TuiDataListDirective, tuiAsDataListHost, tuiAsOptionContent, TuiDataList } from '@taiga-ui/core/components/data-list';
6
- import { AbstractTuiNativeSelect, AbstractTuiNullableControl, tuiAsControl, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
7
- import * as i3 from '@taiga-ui/kit/components/data-list-wrapper';
8
- import { TuiDataListWrapper } from '@taiga-ui/kit/components/data-list-wrapper';
9
- import * as i3$1 from '@angular/common';
10
- import { CommonModule } from '@angular/common';
11
- import * as i4 from '@taiga-ui/kit/pipes/stringify-content';
12
- import { TuiStringifyContentPipe } from '@taiga-ui/kit/pipes/stringify-content';
13
- import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
14
- import { tuiIsFocused } from '@taiga-ui/cdk/utils/focus';
15
- import * as i1 from '@taiga-ui/core/directives/dropdown';
16
- import { TuiDropdownOpen, TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
17
- import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
18
- import { TUI_ARROW_MODE, TuiArrowComponent } from '@taiga-ui/legacy/components/arrow';
19
- import * as i3$2 from '@taiga-ui/legacy/components/primitive-textfield';
20
- import { TuiPrimitiveTextfieldComponent, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
21
- import { TUI_SELECT_OPTION, TuiSelectOptionModule } from '@taiga-ui/legacy/components/select-option';
22
- import * as i4$1 from '@taiga-ui/legacy/directives';
23
- import { TUI_TEXTFIELD_CLEANER, TUI_TEXTFIELD_SIZE, TuiWrapperModule, TuiTextfieldControllerModule, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
24
- import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
25
- import * as i2$1 from '@taiga-ui/polymorpheus';
26
- import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
27
-
28
- /**
29
- * TODO(v5): delete it
30
- * @deprecated use native picker from new version of {@link https://taiga-ui.dev/components/select#native-picker-disabled-option TuiSelect} (from @taiga-ui/kit) instead
31
- */
32
- class TuiNativeSelectComponent extends AbstractTuiNativeSelect {
33
- constructor() {
34
- super(...arguments);
35
- this.items = [];
36
- }
37
- get stringify() {
38
- return this.host.stringify;
39
- }
40
- selected(option) {
41
- return this.control.value === option;
42
- }
43
- onValueChange(index) {
44
- this.host.onValueChange(this.items?.[index] || null);
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNativeSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiNativeSelectComponent, isStandalone: false, selector: "select[tuiSelect]:not([labels]):not([multiple])", inputs: { items: "items" }, host: { listeners: { "change": "onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))" }, properties: { "attr.aria-invalid": "host.invalid", "disabled": "host.disabled || control.readOnly", "tabIndex": "host.focusable ? 0 : -1", "value": "host.value" } }, providers: [
48
- tuiAsDataList(TuiNativeSelectComponent),
49
- tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectComponent),
50
- {
51
- provide: TemplateRef,
52
- deps: [TuiNativeSelectComponent],
53
- useFactory: ({ datalist }) => datalist,
54
- },
55
- ], usesInheritance: true, ngImport: i0, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n@if (control.control?.valueChanges | async) {}\n@if (emptyOption) {\n <option\n disabled\n selected\n value=\"\"\n >\n {{ placeholder }}\n </option>\n}\n@for (option of items; track option; let index = $index) {\n <option\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n}\n", styles: [":host{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0}\n"], dependencies: [{ kind: "directive", type: i2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i3.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels]), tui-data-list-wrapper:not([labels])[new]", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TuiStringifyContentPipe, name: "tuiStringifyContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNativeSelectComponent, decorators: [{
58
- type: Component,
59
- args: [{ standalone: false, selector: 'select[tuiSelect]:not([labels]):not([multiple])', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
60
- tuiAsDataList(TuiNativeSelectComponent),
61
- tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectComponent),
62
- {
63
- provide: TemplateRef,
64
- deps: [TuiNativeSelectComponent],
65
- useFactory: ({ datalist }) => datalist,
66
- },
67
- ], host: {
68
- '[attr.aria-invalid]': 'host.invalid',
69
- '[disabled]': 'host.disabled || control.readOnly',
70
- '[tabIndex]': 'host.focusable ? 0 : -1',
71
- '[value]': 'host.value',
72
- '(change)': 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',
73
- }, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n@if (control.control?.valueChanges | async) {}\n@if (emptyOption) {\n <option\n disabled\n selected\n value=\"\"\n >\n {{ placeholder }}\n </option>\n}\n@for (option of items; track option; let index = $index) {\n <option\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n}\n", styles: [":host{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0}\n"] }]
74
- }], propDecorators: { items: [{
75
- type: Input
76
- }] } });
77
-
78
- /**
79
- * TODO(v5): delete it
80
- * @deprecated use native picker from new version of {@link https://taiga-ui.dev/components/select#native-picker-groups TuiSelect} (from @taiga-ui/kit) instead
81
- */
82
- class TuiNativeSelectGroupComponent extends AbstractTuiNativeSelect {
83
- constructor() {
84
- super(...arguments);
85
- this.items = [];
86
- this.labels = [];
87
- }
88
- get stringify() {
89
- return this.host.stringify;
90
- }
91
- selected(option) {
92
- return this.control.value === option;
93
- }
94
- onValueChange(index) {
95
- const flatItems = this.items?.reduce((acc, val) => acc.concat(val), []);
96
- this.host.onValueChange(flatItems?.[index] || null);
97
- }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNativeSelectGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
99
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiNativeSelectGroupComponent, isStandalone: false, selector: "select[tuiSelect][labels]:not([multiple])", inputs: { items: "items", labels: "labels" }, host: { listeners: { "change": "onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))" }, properties: { "attr.aria-invalid": "host.invalid", "disabled": "host.disabled || control.readOnly", "tabIndex": "host.focusable ? 0 : -1", "value": "host.value" } }, providers: [
100
- tuiAsDataList(TuiNativeSelectGroupComponent),
101
- tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectGroupComponent),
102
- {
103
- provide: TemplateRef,
104
- deps: [TuiNativeSelectGroupComponent],
105
- useFactory: ({ datalist }) => datalist,
106
- },
107
- ], usesInheritance: true, ngImport: i0, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n@if (control.control?.valueChanges | async) {}\n@if (emptyOption) {\n <option\n disabled\n selected\n value=\"\"\n >\n {{ placeholder }}\n </option>\n}\n@for (group of items; track group; let index = $index) {\n <optgroup [label]=\"labels[index]\">\n @for (option of group; track option; let i = $index) {\n <option\n [disabled]=\"\n disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\n \"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n }\n </optgroup>\n}\n", styles: [":host{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0}\n"], dependencies: [{ kind: "directive", type: i2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i3.TuiDataListGroupWrapperComponent, selector: "tui-data-list-wrapper[labels]", inputs: ["labels"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TuiStringifyContentPipe, name: "tuiStringifyContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
108
- }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNativeSelectGroupComponent, decorators: [{
110
- type: Component,
111
- args: [{ standalone: false, selector: 'select[tuiSelect][labels]:not([multiple])', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
112
- tuiAsDataList(TuiNativeSelectGroupComponent),
113
- tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectGroupComponent),
114
- {
115
- provide: TemplateRef,
116
- deps: [TuiNativeSelectGroupComponent],
117
- useFactory: ({ datalist }) => datalist,
118
- },
119
- ], host: {
120
- '[attr.aria-invalid]': 'host.invalid',
121
- '[disabled]': 'host.disabled || control.readOnly',
122
- '[tabIndex]': 'host.focusable ? 0 : -1',
123
- '[value]': 'host.value',
124
- '(change)': 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',
125
- }, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n@if (control.control?.valueChanges | async) {}\n@if (emptyOption) {\n <option\n disabled\n selected\n value=\"\"\n >\n {{ placeholder }}\n </option>\n}\n@for (group of items; track group; let index = $index) {\n <optgroup [label]=\"labels[index]\">\n @for (option of group; track option; let i = $index) {\n <option\n [disabled]=\"\n disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\n \"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n }\n </optgroup>\n}\n", styles: [":host{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0}\n"] }]
126
- }], propDecorators: { items: [{
127
- type: Input
128
- }], labels: [{
129
- type: Input
130
- }] } });
131
-
132
- /**
133
- * TODO(v5): delete it
134
- * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead
135
- */
136
- const TUI_SELECT_DEFAULT_OPTIONS = {
137
- valueContent: '',
138
- };
139
- /**
140
- * TODO(v5): delete it
141
- * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead
142
- */
143
- const TUI_SELECT_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_SELECT_OPTIONS' : '', {
144
- factory: () => TUI_SELECT_DEFAULT_OPTIONS,
145
- });
146
- /**
147
- * TODO(v5): delete it
148
- * @deprecated use {@link https://taiga-ui.dev/components/select#override-option-component tuiAsOptionContent} with new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead
149
- */
150
- function tuiSelectOptionsProvider(options) {
151
- return tuiProvideOptions(TUI_SELECT_OPTIONS, options, TUI_SELECT_DEFAULT_OPTIONS);
152
- }
153
-
154
- /**
155
- * TODO(v5): delete it
156
- * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead
157
- */
158
- class TuiSelectComponent extends AbstractTuiNullableControl {
159
- constructor() {
160
- super(...arguments);
161
- this.itemsHandlers = inject(TUI_ITEMS_HANDLERS);
162
- this.textfieldCleaner = inject(TUI_TEXTFIELD_CLEANER);
163
- this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
164
- this.arrowMode = inject(TUI_ARROW_MODE);
165
- this.options = inject(TUI_SELECT_OPTIONS);
166
- this.isMobile = inject(TUI_IS_MOBILE);
167
- this.open = false;
168
- this.stringify = this.itemsHandlers.stringify;
169
- this.identityMatcher = this.itemsHandlers.identityMatcher;
170
- this.valueContent = this.options.valueContent;
171
- }
172
- get size() {
173
- return this.textfieldSize.size;
174
- }
175
- get nativeFocusableElement() {
176
- return this.textfield?.nativeFocusableElement ?? null;
177
- }
178
- get focused() {
179
- return (tuiIsFocused(this.nativeFocusableElement) || !!this.dropdown?.tuiDropdownOpen);
180
- }
181
- get computedValue() {
182
- return this.value === null ? '' : this.stringify(this.value) || ' ';
183
- }
184
- onValueChange(value) {
185
- this.value = value || null;
186
- }
187
- handleOption(option) {
188
- this.focusInput();
189
- this.value = option;
190
- this.open = false;
191
- }
192
- get arrow() {
193
- return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;
194
- }
195
- get nativeDropdownMode() {
196
- return !!this.nativeSelect && this.isMobile;
197
- }
198
- get computedContent() {
199
- return this.valueContent || this.computedValue;
200
- }
201
- onActiveZone(active) {
202
- this.updateFocused(active);
203
- }
204
- onKeyDownDelete() {
205
- if (this.textfieldCleaner.cleaner) {
206
- this.value = null;
207
- }
208
- }
209
- focusInput(preventScroll = false) {
210
- if (this.nativeFocusableElement) {
211
- this.nativeFocusableElement.focus({ preventScroll });
212
- }
213
- }
214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
215
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiSelectComponent, isStandalone: false, selector: "tui-select", inputs: { stringify: "stringify", identityMatcher: "identityMatcher", valueContent: "valueContent" }, host: { properties: { "attr.data-size": "size" } }, providers: [
216
- tuiAsFocusableItemAccessor(TuiSelectComponent),
217
- tuiAsControl(TuiSelectComponent),
218
- tuiAsDataListHost(TuiSelectComponent),
219
- tuiAsOptionContent(TUI_SELECT_OPTION),
220
- ], queries: [{ propertyName: "nativeSelect", first: true, predicate: AbstractTuiNativeSelect, descendants: true, static: true }, { propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"computedValue\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (valueChange)=\"onValueChange($any($event))\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (isMobile) {\n <ng-container ngProjectAs=\"select\">\n <ng-content select=\"select\" />\n </ng-container>\n }\n\n @if (value !== null) {\n <div\n automation-id=\"tui-select__value\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\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:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}: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-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i2$1.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i3$2.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i3$2.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i4$1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i4$1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i4$1.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 }); }
221
- }
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectComponent, decorators: [{
223
- type: Component,
224
- args: [{ standalone: false, selector: 'tui-select', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
225
- tuiAsFocusableItemAccessor(TuiSelectComponent),
226
- tuiAsControl(TuiSelectComponent),
227
- tuiAsDataListHost(TuiSelectComponent),
228
- tuiAsOptionContent(TUI_SELECT_OPTION),
229
- ], hostDirectives: [TuiDropdownFixed], host: {
230
- '[attr.data-size]': 'size',
231
- }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"computedValue\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (valueChange)=\"onValueChange($any($event))\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (isMobile) {\n <ng-container ngProjectAs=\"select\">\n <ng-content select=\"select\" />\n </ng-container>\n }\n\n @if (value !== null) {\n <div\n automation-id=\"tui-select__value\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\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:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}: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-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
232
- }], propDecorators: { textfield: [{
233
- type: ViewChild,
234
- args: [TuiPrimitiveTextfieldComponent]
235
- }], dropdown: [{
236
- type: ViewChild,
237
- args: [TuiDropdownOpen]
238
- }], nativeSelect: [{
239
- type: ContentChild,
240
- args: [AbstractTuiNativeSelect, { static: true }]
241
- }], datalist: [{
242
- type: ContentChild,
243
- args: [TuiDataListDirective, { read: TemplateRef }]
244
- }], stringify: [{
245
- type: Input
246
- }], identityMatcher: [{
247
- type: Input
248
- }], valueContent: [{
249
- type: Input
250
- }] } });
251
-
252
- /**
253
- * TODO(v5): delete it
254
- * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead
255
- */
256
- class TuiSelectDirective extends AbstractTuiTextfieldHost {
257
- get readOnly() {
258
- return true;
259
- }
260
- get value() {
261
- return this.host.computedValue;
262
- }
263
- get stringify() {
264
- return this.host.stringify;
265
- }
266
- onValueChange(value) {
267
- this.host.onValueChange(value);
268
- }
269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
270
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiSelectDirective, isStandalone: false, selector: "tui-select", providers: [tuiAsTextfieldHost(TuiSelectDirective)], usesInheritance: true, ngImport: i0 }); }
271
- }
272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectDirective, decorators: [{
273
- type: Directive,
274
- args: [{
275
- standalone: false,
276
- selector: 'tui-select',
277
- providers: [tuiAsTextfieldHost(TuiSelectDirective)],
278
- }]
279
- }] });
280
-
281
- /**
282
- * TODO(v5): delete it
283
- * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead
284
- */
285
- class TuiSelectModule {
286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
287
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectModule, declarations: [TuiSelectComponent,
288
- TuiSelectDirective,
289
- TuiNativeSelectComponent,
290
- TuiNativeSelectGroupComponent], imports: [CommonModule,
291
- PolymorpheusOutlet,
292
- PolymorpheusTemplate,
293
- TuiPrimitiveTextfieldModule,
294
- TuiSelectOptionModule,
295
- TuiArrowComponent,
296
- TuiWrapperModule,
297
- TuiTextfieldControllerModule,
298
- TuiStringifyContentPipe,
299
- 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, i2.TuiDataListComponent, i2.TuiDataListDirective, i2.TuiOption, i2.TuiOptionNew, i2.TuiOptionWithValue, i2.TuiOptGroup, i3.TuiDataListWrapperComponent, i3.TuiDataListGroupWrapperComponent, i2.TuiDataListDirective], exports: [TuiSelectComponent,
300
- TuiSelectDirective,
301
- TuiTextfieldComponent,
302
- TuiNativeSelectComponent,
303
- TuiNativeSelectGroupComponent, 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, i2.TuiDataListComponent, i2.TuiDataListDirective, i2.TuiOption, i2.TuiOptionNew, i2.TuiOptionWithValue, i2.TuiOptGroup, i3.TuiDataListWrapperComponent, i3.TuiDataListGroupWrapperComponent, i2.TuiDataListDirective] }); }
304
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectModule, imports: [CommonModule,
305
- TuiPrimitiveTextfieldModule,
306
- TuiSelectOptionModule,
307
- TuiArrowComponent,
308
- TuiWrapperModule,
309
- TuiTextfieldControllerModule, i1.TuiDropdownComponent, i2.TuiDataListComponent, i2.TuiOption, i3.TuiDataListWrapperComponent, i3.TuiDataListGroupWrapperComponent] }); }
310
- }
311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSelectModule, decorators: [{
312
- type: NgModule,
313
- args: [{
314
- imports: [
315
- CommonModule,
316
- PolymorpheusOutlet,
317
- PolymorpheusTemplate,
318
- TuiPrimitiveTextfieldModule,
319
- TuiSelectOptionModule,
320
- TuiArrowComponent,
321
- TuiWrapperModule,
322
- TuiTextfieldControllerModule,
323
- TuiStringifyContentPipe,
324
- TuiLegacyDropdownOpenMonitorDirective,
325
- ...TuiDropdown,
326
- ...TuiDataList,
327
- ...TuiDataListWrapper,
328
- ],
329
- declarations: [
330
- TuiSelectComponent,
331
- TuiSelectDirective,
332
- TuiNativeSelectComponent,
333
- TuiNativeSelectGroupComponent,
334
- ],
335
- exports: [
336
- TuiSelectComponent,
337
- TuiSelectDirective,
338
- TuiTextfieldComponent,
339
- TuiNativeSelectComponent,
340
- TuiNativeSelectGroupComponent,
341
- ...TuiDropdown,
342
- ...TuiDataList,
343
- ...TuiDataListWrapper,
344
- ],
345
- }]
346
- }] });
347
-
348
- /**
349
- * Generated bundle index. Do not edit.
350
- */
351
-
352
- export { TUI_SELECT_DEFAULT_OPTIONS, TUI_SELECT_OPTIONS, TuiNativeSelectComponent, TuiNativeSelectGroupComponent, TuiSelectComponent, TuiSelectDirective, TuiSelectModule, tuiSelectOptionsProvider };
353
- //# sourceMappingURL=taiga-ui-legacy-components-select.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-select.mjs","sources":["../../../projects/legacy/components/select/native-select/native-select.component.ts","../../../projects/legacy/components/select/native-select/native-select.template.html","../../../projects/legacy/components/select/native-select/native-select-group.component.ts","../../../projects/legacy/components/select/native-select/native-select-group.template.html","../../../projects/legacy/components/select/select.options.ts","../../../projects/legacy/components/select/select.component.ts","../../../projects/legacy/components/select/select.template.html","../../../projects/legacy/components/select/select.directive.ts","../../../projects/legacy/components/select/select.module.ts","../../../projects/legacy/components/select/taiga-ui-legacy-components-select.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport {type TuiSelectDirective} from '../select.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use native picker from new version of {@link https://taiga-ui.dev/components/select#native-picker-disabled-option TuiSelect} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'select[tuiSelect]:not([labels]):not([multiple])',\n templateUrl: './native-select.template.html',\n styleUrls: ['./native-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeSelectComponent),\n tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeSelectComponent],\n useFactory: ({datalist}: TuiNativeSelectComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[value]': 'host.value',\n '(change)':\n 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',\n },\n})\nexport class TuiNativeSelectComponent<T> extends AbstractTuiNativeSelect<\n TuiSelectDirective,\n T\n> {\n @Input()\n public items: readonly T[] | null = [];\n\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selected(option: T): boolean {\n return this.control.value === option;\n }\n\n protected onValueChange(index: number): void {\n this.host.onValueChange(this.items?.[index] || null);\n }\n}\n","<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n@if (control.control?.valueChanges | async) {}\n@if (emptyOption) {\n <option\n disabled\n selected\n value=\"\"\n >\n {{ placeholder }}\n </option>\n}\n@for (option of items; track option; let index = $index) {\n <option\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n}\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport {type TuiSelectDirective} from '../select.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use native picker from new version of {@link https://taiga-ui.dev/components/select#native-picker-groups TuiSelect} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'select[tuiSelect][labels]:not([multiple])',\n templateUrl: './native-select-group.template.html',\n styleUrls: ['./native-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeSelectGroupComponent),\n tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectGroupComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeSelectGroupComponent],\n useFactory: ({datalist}: TuiNativeSelectGroupComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[value]': 'host.value',\n '(change)':\n 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',\n },\n})\nexport class TuiNativeSelectGroupComponent<T> extends AbstractTuiNativeSelect<\n TuiSelectDirective,\n T\n> {\n @Input()\n public items: readonly T[][] | null = [];\n\n @Input()\n public labels: readonly string[] = [];\n\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selected(option: T): boolean {\n return this.control.value === option;\n }\n\n protected onValueChange(index: number): void {\n const flatItems = this.items?.reduce((acc, val) => acc.concat(val), []);\n\n this.host.onValueChange(flatItems?.[index] || null);\n }\n}\n","<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n@if (control.control?.valueChanges | async) {}\n@if (emptyOption) {\n <option\n disabled\n selected\n value=\"\"\n >\n {{ placeholder }}\n </option>\n}\n@for (group of items; track group; let index = $index) {\n <optgroup [label]=\"labels[index]\">\n @for (option of group; track option; let i = $index) {\n <option\n [disabled]=\"\n disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\n \"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n }\n </optgroup>\n}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiValueContentContext} from '@taiga-ui/core/types';\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/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport interface TuiSelectOptions<T> {\n readonly valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n}\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport const TUI_SELECT_DEFAULT_OPTIONS: TuiSelectOptions<unknown> = {\n valueContent: '',\n};\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport const TUI_SELECT_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_SELECT_OPTIONS' : '',\n {\n factory: () => TUI_SELECT_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/select#override-option-component tuiAsOptionContent} with new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport function tuiSelectOptionsProvider<T>(\n options: Partial<TuiSelectOptions<T>>,\n): Provider {\n return tuiProvideOptions(TUI_SELECT_OPTIONS, options, TUI_SELECT_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {\n tuiAsDataListHost,\n tuiAsOptionContent,\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 {\n AbstractTuiNativeSelect,\n AbstractTuiNullableControl,\n tuiAsControl,\n} 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_CLEANER, 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\nimport {TUI_SELECT_OPTIONS, type TuiSelectOptions} from './select.options';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-select',\n templateUrl: './select.template.html',\n styleUrls: ['./select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiSelectComponent),\n tuiAsControl(TuiSelectComponent),\n tuiAsDataListHost(TuiSelectComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiSelectComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ContentChild(AbstractTuiNativeSelect, {static: true})\n private readonly nativeSelect?: AbstractTuiNativeSelect;\n\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly textfieldCleaner = inject(TUI_TEXTFIELD_CLEANER);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly options = inject(TUI_SELECT_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n protected readonly isMobile = inject(TUI_IS_MOBILE);\n protected open = false;\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public valueContent: TuiSelectOptions<T>['valueContent'] = this.options.valueContent;\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 computedValue(): string {\n return this.value === null ? '' : this.stringify(this.value) || ' ';\n }\n\n public onValueChange(value: T): void {\n this.value = value || null;\n }\n\n public handleOption(option: T): void {\n this.focusInput();\n this.value = option;\n this.open = false;\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 nativeDropdownMode(): boolean {\n return !!this.nativeSelect && this.isMobile;\n }\n\n protected get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.computedValue;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected onKeyDownDelete(): void {\n if (this.textfieldCleaner.cleaner) {\n this.value = null;\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 && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"computedValue\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (valueChange)=\"onValueChange($any($event))\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (isMobile) {\n <ng-container ngProjectAs=\"select\">\n <ng-content select=\"select\" />\n </ng-container>\n }\n\n @if (value !== null) {\n <div\n automation-id=\"tui-select__value\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\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 {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiSelectComponent} from './select.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-select',\n providers: [tuiAsTextfieldHost(TuiSelectDirective)],\n})\nexport class TuiSelectDirective extends AbstractTuiTextfieldHost<\n TuiSelectComponent<unknown>\n> {\n public override get readOnly(): boolean {\n return true;\n }\n\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public get stringify(): TuiItemsHandlers<unknown>['stringify'] {\n return this.host.stringify;\n }\n\n public onValueChange(value: unknown): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListWrapper} from '@taiga-ui/kit/components/data-list-wrapper';\nimport {TuiStringifyContentPipe} from '@taiga-ui/kit/pipes/stringify-content';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {\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 {TuiNativeSelectComponent} from './native-select/native-select.component';\nimport {TuiNativeSelectGroupComponent} from './native-select/native-select-group.component';\nimport {TuiSelectComponent} from './select.component';\nimport {TuiSelectDirective} from './select.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (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 TuiStringifyContentPipe,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n declarations: [\n TuiSelectComponent,\n TuiSelectDirective,\n TuiNativeSelectComponent,\n TuiNativeSelectGroupComponent,\n ],\n exports: [\n TuiSelectComponent,\n TuiSelectDirective,\n TuiTextfieldComponent,\n TuiNativeSelectComponent,\n TuiNativeSelectGroupComponent,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n})\nexport class TuiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4"],"mappings":"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"}