@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,415 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, Output, Input, Directive, inject, DestroyRef, ChangeDetectorRef, TemplateRef, ViewChild } from '@angular/core';
3
- import { tuiInjectId } from '@taiga-ui/cdk/services';
4
- import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
5
- import { TuiDataListDirective } from '@taiga-ui/core/components/data-list';
6
- import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
7
- import { TUI_TEXTFIELD_HOST } from '@taiga-ui/legacy/tokens';
8
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
9
- import { NgControl, NgModel } from '@angular/forms';
10
- import { TuiValueTransformer, TuiControl } from '@taiga-ui/cdk/classes';
11
- import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
12
- import { tuiIsPresent, tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
13
- import { Subject, delay, startWith, map, filter, distinctUntilChanged, switchMap, merge, EMPTY } from 'rxjs';
14
-
15
- const TUI = 'tui_interactive_';
16
- /**
17
- * @deprecated: drop in v5.0
18
- */
19
- class AbstractTuiInteractive {
20
- constructor() {
21
- this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;
22
- this.focusVisible = false;
23
- this.pseudoHover = null;
24
- this.pseudoActive = null;
25
- this.pseudoFocus = null;
26
- /**
27
- * Determines if component is focusable with keyboard.
28
- */
29
- this.focusable = true;
30
- this.nativeId = '';
31
- /**
32
- * Emits 'true' on focus and 'false' on blur.
33
- */
34
- this.focusedChange = new EventEmitter();
35
- this.focusVisibleChange = new EventEmitter();
36
- }
37
- static { this.autoId = 0; }
38
- get computedDisabled() {
39
- return this.disabled;
40
- }
41
- get computedFocused() {
42
- return !this.computedDisabled && (this.pseudoFocus ?? this.focused);
43
- }
44
- get computedFocusVisible() {
45
- return !this.computedDisabled && (this.pseudoFocus ?? this.focusVisible);
46
- }
47
- get computedFocusable() {
48
- return !this.computedDisabled && (this.focusable || this.focused);
49
- }
50
- // TODO: 3.0 Consider removing since native input is exposed
51
- get id() {
52
- return this.nativeId || this.autoIdString;
53
- }
54
- updateFocused(focused) {
55
- this.focusedChange.emit(focused);
56
- }
57
- updateFocusVisible(focusVisible) {
58
- if (this.focusVisible === focusVisible) {
59
- return;
60
- }
61
- this.focusVisible = focusVisible;
62
- this.focusVisibleChange.emit(focusVisible);
63
- }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiInteractive, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
65
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: AbstractTuiInteractive, isStandalone: false, inputs: { pseudoHover: "pseudoHover", pseudoActive: "pseudoActive", pseudoFocus: "pseudoFocus", focusable: "focusable", nativeId: "nativeId" }, outputs: { focusedChange: "focusedChange", focusVisibleChange: "focusVisibleChange" }, host: { properties: { "attr.data-focused": "pseudoFocus", "class._disabled": "computedDisabled", "class._focused": "computedFocused", "class._focus-visible": "computedFocusVisible" } }, ngImport: i0 }); }
66
- }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiInteractive, decorators: [{
68
- type: Directive,
69
- args: [{
70
- standalone: false,
71
- host: {
72
- '[attr.data-focused]': 'pseudoFocus',
73
- '[class._disabled]': 'computedDisabled',
74
- '[class._focused]': 'computedFocused',
75
- '[class._focus-visible]': 'computedFocusVisible',
76
- },
77
- }]
78
- }], propDecorators: { pseudoHover: [{
79
- type: Input
80
- }], pseudoActive: [{
81
- type: Input
82
- }], pseudoFocus: [{
83
- type: Input
84
- }], focusable: [{
85
- type: Input
86
- }], nativeId: [{
87
- type: Input
88
- }], focusedChange: [{
89
- type: Output
90
- }], focusVisibleChange: [{
91
- type: Output
92
- }] } });
93
-
94
- /// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
95
- /**
96
- * @deprecated: drop in v5.0
97
- * Basic ControlValueAccessor class to build form components upon
98
- */
99
- class AbstractTuiControl extends AbstractTuiInteractive {
100
- constructor() {
101
- super();
102
- this.ngControl = inject(NgControl, { optional: true });
103
- this.refresh$ = new Subject();
104
- this.onTouched = EMPTY_FUNCTION;
105
- this.onChange = EMPTY_FUNCTION;
106
- this.fallbackValue = this.getFallbackValue();
107
- this.destroyRef = inject(DestroyRef);
108
- this.cdr = inject(ChangeDetectorRef);
109
- this.valueTransformer = inject(TuiValueTransformer, { optional: true });
110
- this.readOnly = false;
111
- this.pseudoInvalid = null;
112
- // Workaround for legacy control to notify of internal change in case updateOn: 'blur' is used
113
- this.update$ = new Subject();
114
- if (ngDevMode && this.ngControl === null) {
115
- console.assert(false, `NgControl not injected in ${this.constructor.name}!\n`, 'Use [(ngModel)] or [formControl] or formControlName for correct work.');
116
- }
117
- if (this.ngControl) {
118
- this.ngControl.valueAccessor = this;
119
- }
120
- }
121
- get computedInvalid() {
122
- return (this.interactive &&
123
- (this.pseudoInvalid !== null
124
- ? this.pseudoInvalid
125
- : this.touched && this.invalid));
126
- }
127
- get value() {
128
- return this.previousInternalValue ?? this.fallbackValue;
129
- }
130
- set value(value) {
131
- this.updateValue(value);
132
- this.update$.next();
133
- }
134
- get safeCurrentValue() {
135
- return this.rawValue ?? this.fallbackValue;
136
- }
137
- get invalid() {
138
- return this.safeNgControlData(({ invalid }) => invalid, false);
139
- }
140
- get valid() {
141
- return this.safeNgControlData(({ valid }) => valid, false);
142
- }
143
- get touched() {
144
- return this.safeNgControlData(({ touched }) => touched, false);
145
- }
146
- get disabled() {
147
- return this.safeNgControlData(({ disabled }) => disabled, false);
148
- }
149
- get interactive() {
150
- return !this.readOnly && !this.computedDisabled;
151
- }
152
- get control() {
153
- return this.safeNgControlData(({ control }) => control, null);
154
- }
155
- get computedName() {
156
- return this.controlName?.toString() ?? null;
157
- }
158
- get controlName() {
159
- return this.ngControl?.name?.toString() ?? null;
160
- }
161
- ngOnInit() {
162
- this.refresh$
163
- .pipe(delay(0), startWith(null), map(() => this.ngControl?.control), filter(tuiIsPresent), distinctUntilChanged(), switchMap((control) => merge(control.valueChanges, control.statusChanges, control.events || EMPTY)), takeUntilDestroyed(this.destroyRef))
164
- .subscribe(() => {
165
- this.refreshLocalValue(this.safeCurrentValue);
166
- });
167
- }
168
- checkControlUpdate() {
169
- this.cdr.markForCheck();
170
- }
171
- registerOnChange(onChange) {
172
- this.onChange = (componentValue) => {
173
- onChange(this.toControlValue(componentValue));
174
- };
175
- this.refresh$.next();
176
- }
177
- registerOnTouched(onTouched) {
178
- this.onTouched = onTouched;
179
- }
180
- setDisabledState() {
181
- this.checkControlUpdate();
182
- }
183
- writeValue(value) {
184
- const controlValue = this.ngControl instanceof NgModel && this.previousInternalValue === undefined
185
- ? this.ngControl.model
186
- : value;
187
- this.refreshLocalValue(this.fromControlValue(controlValue));
188
- }
189
- updateFocused(focused) {
190
- if (!focused) {
191
- this.controlMarkAsTouched();
192
- }
193
- super.updateFocused(focused);
194
- }
195
- /**
196
- * @deprecated use `value` setter
197
- */
198
- updateValue(value) {
199
- if (this.disabled || this.valueIdenticalComparator(this.value, value)) {
200
- return;
201
- }
202
- this.previousInternalValue = value;
203
- this.controlSetValue(value);
204
- }
205
- valueIdenticalComparator(oldValue, newValue) {
206
- return oldValue === newValue;
207
- }
208
- get rawValue() {
209
- const { ngControl } = this;
210
- if (ngControl === null) {
211
- return undefined;
212
- }
213
- const controlValue = ngControl instanceof NgModel && this.previousInternalValue === undefined
214
- ? ngControl.viewModel
215
- : ngControl.value;
216
- return this.fromControlValue(controlValue);
217
- }
218
- safeNgControlData(extractor, defaultFieldValue) {
219
- return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;
220
- }
221
- controlMarkAsTouched() {
222
- this.onTouched();
223
- this.checkControlUpdate();
224
- }
225
- controlSetValue(value) {
226
- this.onChange(value);
227
- this.checkControlUpdate();
228
- }
229
- refreshLocalValue(value) {
230
- this.previousInternalValue = value;
231
- this.checkControlUpdate();
232
- }
233
- fromControlValue(controlValue) {
234
- return this.valueTransformer
235
- ? this.valueTransformer.fromControlValue(controlValue)
236
- : controlValue;
237
- }
238
- toControlValue(componentValue) {
239
- return this.valueTransformer
240
- ? this.valueTransformer.toControlValue(componentValue)
241
- : componentValue;
242
- }
243
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
244
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: AbstractTuiControl, isStandalone: false, inputs: { readOnly: "readOnly", pseudoInvalid: "pseudoInvalid" }, host: { properties: { "class._readonly": "readOnly", "class._invalid": "computedInvalid" } }, usesInheritance: true, ngImport: i0 }); }
245
- }
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiControl, decorators: [{
247
- type: Directive,
248
- args: [{
249
- standalone: false,
250
- host: {
251
- '[class._readonly]': 'readOnly',
252
- '[class._invalid]': 'computedInvalid',
253
- },
254
- }]
255
- }], ctorParameters: () => [], propDecorators: { readOnly: [{
256
- type: Input
257
- }], pseudoInvalid: [{
258
- type: Input
259
- }] } });
260
- function tuiAsControl(control) {
261
- return [tuiProvide(AbstractTuiControl, control), tuiProvide(TuiControl, control)];
262
- }
263
-
264
- /**
265
- * @deprecated: drop in v5.0
266
- */
267
- class AbstractTuiNativeSelect {
268
- constructor() {
269
- this.datalist = null;
270
- this.autoId = tuiInjectId();
271
- this.el = tuiInjectElement();
272
- this.host = inject(TUI_TEXTFIELD_HOST);
273
- this.control = inject(AbstractTuiControl);
274
- this.itemsHandlers = inject(TUI_ITEMS_HANDLERS);
275
- this.disabledItemHandler = null;
276
- this.placeholder = '';
277
- }
278
- get id() {
279
- return this.el.id || this.autoId;
280
- }
281
- get emptyOption() {
282
- return !!this.placeholder && !this.control.value;
283
- }
284
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiNativeSelect, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
285
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: AbstractTuiNativeSelect, isStandalone: false, inputs: { disabledItemHandler: "disabledItemHandler", placeholder: "placeholder" }, host: { properties: { "id": "id" } }, viewQueries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0 }); }
286
- }
287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiNativeSelect, decorators: [{
288
- type: Directive,
289
- args: [{
290
- standalone: false,
291
- host: {
292
- '[id]': 'id',
293
- },
294
- }]
295
- }], propDecorators: { datalist: [{
296
- type: ViewChild,
297
- args: [TuiDataListDirective, { read: TemplateRef, static: true }]
298
- }], disabledItemHandler: [{
299
- type: Input
300
- }], placeholder: [{
301
- type: Input
302
- }] } });
303
-
304
- /**
305
- * @deprecated: drop in v5.0
306
- */
307
- class AbstractTuiTextfieldHost {
308
- constructor() {
309
- this.host = inject(AbstractTuiControl, { optional: true });
310
- }
311
- get readOnly() {
312
- return this.host.readOnly;
313
- }
314
- get disabled() {
315
- return this.host.computedDisabled;
316
- }
317
- get invalid() {
318
- return this.host.computedInvalid;
319
- }
320
- get focusable() {
321
- return this.host.computedFocusable;
322
- }
323
- get inputMode() {
324
- return 'text';
325
- }
326
- get value() {
327
- return this.host.value?.toString() || '';
328
- }
329
- process(_input) { }
330
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiTextfieldHost, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
331
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: AbstractTuiTextfieldHost, isStandalone: true, ngImport: i0 }); }
332
- }
333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiTextfieldHost, decorators: [{
334
- type: Directive
335
- }] });
336
-
337
- class AbstractTuiController {
338
- constructor() {
339
- this.change$ = new Subject();
340
- }
341
- ngOnChanges() {
342
- this.change$.next();
343
- }
344
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiController, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
345
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: AbstractTuiController, isStandalone: true, usesOnChanges: true, ngImport: i0 }); }
346
- }
347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiController, decorators: [{
348
- type: Directive
349
- }] });
350
-
351
- /**
352
- * @deprecated: drop in v5.0
353
- */
354
- class AbstractTuiMultipleControl extends AbstractTuiControl {
355
- clear() {
356
- this.value = [];
357
- }
358
- getFallbackValue() {
359
- return [];
360
- }
361
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiMultipleControl, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
362
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: AbstractTuiMultipleControl, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
363
- }
364
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiMultipleControl, decorators: [{
365
- type: Directive
366
- }] });
367
-
368
- /**
369
- * @deprecated: drop in v5.0
370
- */
371
- class TuiNamedDay {
372
- constructor(day, name, displayDay = day) {
373
- this.day = day;
374
- this.name = name;
375
- this.displayDay = displayDay;
376
- }
377
- toString() {
378
- return this.name;
379
- }
380
- }
381
-
382
- /**
383
- * @deprecated: drop in v5.0
384
- */
385
- class AbstractTuiNullableControl extends AbstractTuiControl {
386
- getFallbackValue() {
387
- return null;
388
- }
389
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiNullableControl, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
390
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: AbstractTuiNullableControl, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
391
- }
392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AbstractTuiNullableControl, decorators: [{
393
- type: Directive
394
- }] });
395
-
396
- /**
397
- * @deprecated: drop in v5.0
398
- * Wrapper around an item to add `toString()` method
399
- */
400
- class TuiStringifiableItem {
401
- constructor(item, stringify) {
402
- this.item = item;
403
- this.stringify = stringify;
404
- }
405
- toString() {
406
- return this.stringify(this.item);
407
- }
408
- }
409
-
410
- /**
411
- * Generated bundle index. Do not edit.
412
- */
413
-
414
- export { AbstractTuiControl, AbstractTuiController, AbstractTuiInteractive, AbstractTuiMultipleControl, AbstractTuiNativeSelect, AbstractTuiNullableControl, AbstractTuiTextfieldHost, TuiNamedDay, TuiStringifiableItem, tuiAsControl };
415
- //# sourceMappingURL=taiga-ui-legacy-classes.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-legacy-classes.mjs","sources":["../../../projects/legacy/classes/interactive.ts","../../../projects/legacy/classes/control.ts","../../../projects/legacy/classes/abstract-native-select.ts","../../../projects/legacy/classes/abstract-textfield-host.ts","../../../projects/legacy/classes/controller.ts","../../../projects/legacy/classes/multiple-control.ts","../../../projects/legacy/classes/named-day.ts","../../../projects/legacy/classes/nullable-control.ts","../../../projects/legacy/classes/stringifiable-item.ts","../../../projects/legacy/classes/taiga-ui-legacy-classes.ts"],"sourcesContent":["import {Directive, EventEmitter, Input, Output} from '@angular/core';\n\nconst TUI = 'tui_interactive_';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive({\n standalone: false,\n host: {\n '[attr.data-focused]': 'pseudoFocus',\n '[class._disabled]': 'computedDisabled',\n '[class._focused]': 'computedFocused',\n '[class._focus-visible]': 'computedFocusVisible',\n },\n})\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n public abstract disabled: boolean;\n\n public abstract focused: boolean;\n\n private readonly autoIdString: string = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n\n protected focusVisible = false;\n\n @Input()\n public pseudoHover: boolean | null = null;\n\n @Input()\n public pseudoActive: boolean | null = null;\n\n @Input()\n public pseudoFocus: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n public focusable = true;\n\n @Input()\n public nativeId = '';\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n public readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n public readonly focusVisibleChange = new EventEmitter<boolean>();\n\n public get computedDisabled(): boolean {\n return this.disabled;\n }\n\n public get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focused);\n }\n\n public get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focusVisible);\n }\n\n public get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n public get id(): string {\n return this.nativeId || this.autoIdString;\n }\n\n protected updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean): void {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {\n ChangeDetectorRef,\n DestroyRef,\n Directive,\n inject,\n Input,\n type OnInit,\n type Provider,\n type Type,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n type AbstractControl,\n type ControlValueAccessor,\n NgControl,\n NgModel,\n} from '@angular/forms';\nimport {TuiControl, TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiIsPresent, tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n delay,\n distinctUntilChanged,\n EMPTY,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * @deprecated: drop in v5.0\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive({\n standalone: false,\n host: {\n '[class._readonly]': 'readOnly',\n '[class._invalid]': 'computedInvalid',\n },\n})\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnInit, ControlValueAccessor\n{\n private readonly ngControl = inject(NgControl, {optional: true});\n private previousInternalValue?: T | null;\n private readonly refresh$ = new Subject<void>();\n\n protected onTouched = EMPTY_FUNCTION;\n protected onChange = EMPTY_FUNCTION;\n protected readonly fallbackValue = this.getFallbackValue();\n protected destroyRef = inject(DestroyRef);\n protected readonly cdr = inject(ChangeDetectorRef);\n protected readonly valueTransformer = inject<TuiValueTransformer<T>>(\n TuiValueTransformer,\n {optional: true},\n );\n\n @Input()\n public readOnly = false;\n\n @Input()\n public pseudoInvalid: boolean | null = null;\n\n // Workaround for legacy control to notify of internal change in case updateOn: 'blur' is used\n public readonly update$ = new Subject<void>();\n\n constructor() {\n super();\n\n if (ngDevMode && this.ngControl === null) {\n console.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n }\n\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n public get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n public get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n public set value(value: T) {\n this.updateValue(value);\n this.update$.next();\n }\n\n public get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n public get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n public get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n public get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n public get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n public get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n public get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n public get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n public get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n public ngOnInit(): void {\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.ngControl?.control),\n filter(tuiIsPresent),\n distinctUntilChanged(),\n switchMap((control) =>\n merge(\n control.valueChanges,\n control.statusChanges,\n (control as any).events || EMPTY,\n ),\n ),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this.refreshLocalValue(this.safeCurrentValue);\n });\n }\n\n public checkControlUpdate(): void {\n this.cdr.markForCheck();\n }\n\n public registerOnChange(onChange: (value: unknown) => void): void {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n\n this.refresh$.next();\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n public setDisabledState(): void {\n this.checkControlUpdate();\n }\n\n public writeValue(value: T | null): void {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected override updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n /**\n * @deprecated use `value` setter\n */\n protected updateValue(value: T): void {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched(): void {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T): void {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null): void {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n\nexport function tuiAsControl<T>(control: Type<AbstractTuiControl<T>>): Provider[] {\n return [tuiProvide(AbstractTuiControl, control), tuiProvide(TuiControl, control)];\n}\n","import {Directive, inject, Input, TemplateRef, ViewChild} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiDataListDirective} from '@taiga-ui/core/components/data-list';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/kit/tokens';\nimport {TUI_TEXTFIELD_HOST, type TuiTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive({\n standalone: false,\n host: {\n '[id]': 'id',\n },\n})\nexport abstract class AbstractTuiNativeSelect<H = TuiTextfieldHost, T = string> {\n @ViewChild(TuiDataListDirective, {read: TemplateRef, static: true})\n protected readonly datalist: TemplateRef<any> | null = null;\n\n protected readonly autoId = tuiInjectId();\n protected readonly el = tuiInjectElement<HTMLSelectElement>();\n protected readonly host = inject<H>(TUI_TEXTFIELD_HOST);\n protected readonly control = inject(AbstractTuiControl);\n protected readonly itemsHandlers = inject(TUI_ITEMS_HANDLERS);\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<T> | null = null;\n\n @Input()\n public placeholder = '';\n\n protected get id(): string {\n return this.el.id || this.autoId;\n }\n\n protected get emptyOption(): boolean {\n return !!this.placeholder && !this.control.value;\n }\n}\n","import {Directive, inject} from '@angular/core';\nimport {type TuiTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive()\nexport abstract class AbstractTuiTextfieldHost<T extends AbstractTuiControl<any>>\n implements TuiTextfieldHost\n{\n protected readonly host: T = inject<any>(AbstractTuiControl, {optional: true});\n\n public abstract onValueChange(value: string): void;\n\n public get readOnly(): boolean {\n return this.host.readOnly;\n }\n\n public get disabled(): boolean {\n return this.host.computedDisabled;\n }\n\n public get invalid(): boolean {\n return this.host.computedInvalid;\n }\n\n public get focusable(): boolean {\n return this.host.computedFocusable;\n }\n\n public get inputMode(): TuiTextfieldHost['inputMode'] {\n return 'text';\n }\n\n public get value(): string {\n return this.host.value?.toString() || '';\n }\n\n public process(_input: HTMLInputElement): void {}\n}\n","import {Directive, type OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive()\nexport abstract class AbstractTuiController implements OnChanges {\n public readonly change$ = new Subject<void>();\n\n public ngOnChanges(): void {\n this.change$.next();\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n readonly T[]\n> {\n protected clear(): void {\n this.value = [];\n }\n\n protected getFallbackValue(): readonly T[] {\n return [];\n }\n}\n","import {type TuiDay} from '@taiga-ui/cdk/date-time';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport class TuiNamedDay {\n constructor(\n public readonly day: TuiDay,\n private readonly name: string,\n public readonly displayDay: TuiDay = day,\n ) {}\n\n protected toString(): string {\n return this.name;\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {type TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated: drop in v5.0\n * Wrapper around an item to add `toString()` method\n */\nexport class TuiStringifiableItem<T> {\n constructor(\n public readonly item: T,\n public readonly stringify: TuiStringHandler<T>,\n ) {}\n\n protected toString(): string {\n return this.stringify(this.item);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,85 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { TuiIcon } from '@taiga-ui/core/components/icon';
5
- import { TuiDropdownOpen } from '@taiga-ui/core/directives/dropdown';
6
- import { tuiSizeBigger } from '@taiga-ui/core/utils/miscellaneous';
7
- import { AbstractTuiControl } from '@taiga-ui/legacy/classes';
8
- import { TUI_TEXTFIELD_SIZE } from '@taiga-ui/legacy/directives';
9
- import { PolymorpheusOutlet, PolymorpheusComponent } from '@taiga-ui/polymorpheus';
10
- import { of } from 'rxjs';
11
- import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
12
-
13
- /**
14
- * @deprecated: drop in v5.0 use {@link TuiChevron}
15
- */
16
- const TUI_ARROW_DEFAULT_OPTIONS = {
17
- iconSmall: '@tui.chevron-down',
18
- iconLarge: '@tui.chevron-down',
19
- };
20
- /**
21
- * @deprecated: drop in v5.0
22
- * Default parameters for arrow component
23
- */
24
- const TUI_ARROW_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_ARROW_OPTIONS' : '', {
25
- factory: () => TUI_ARROW_DEFAULT_OPTIONS,
26
- });
27
- function tuiArrowOptionsProvider(options) {
28
- return tuiProvideOptions(TUI_ARROW_OPTIONS, options, TUI_ARROW_DEFAULT_OPTIONS);
29
- }
30
-
31
- /**
32
- * @deprecated: drop in v5.0 use {@link TuiChevron}
33
- */
34
- class TuiArrowComponent {
35
- constructor() {
36
- this.control = inject(AbstractTuiControl, { optional: true });
37
- this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
38
- this.options = inject(TUI_ARROW_OPTIONS);
39
- this.dropdownOpen = toSignal(inject(TuiDropdownOpen, { optional: true })?.tuiDropdownOpenChange || of(false));
40
- this.rotated = computed(() => this.dropdownOpen() || this.control.pseudoOpen?.());
41
- }
42
- get small() {
43
- return !tuiSizeBigger(this.textfieldSize.size);
44
- }
45
- get arrowIcon() {
46
- return !this.small ? this.options.iconLarge : this.options.iconSmall;
47
- }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiArrowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiArrowComponent, isStandalone: true, selector: "tui-arrow", host: { properties: { "class._rotated": "rotated()", "class._small": "small" } }, ngImport: i0, template: "<tui-icon\n *polymorpheusOutlet=\"arrowIcon as src\"\n [icon]=\"src\"\n/>\n", styles: [":host{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;cursor:pointer;pointer-events:none}:host._rotated{transform:rotate(180deg)}tui-icon:before{font-size:1rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiArrowComponent, decorators: [{
52
- type: Component,
53
- args: [{ selector: 'tui-arrow', imports: [PolymorpheusOutlet, TuiIcon], changeDetection: ChangeDetectionStrategy.OnPush, host: {
54
- '[class._rotated]': 'rotated()',
55
- '[class._small]': 'small',
56
- }, template: "<tui-icon\n *polymorpheusOutlet=\"arrowIcon as src\"\n [icon]=\"src\"\n/>\n", styles: [":host{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;cursor:pointer;pointer-events:none}:host._rotated{transform:rotate(180deg)}tui-icon:before{font-size:1rem}\n"] }]
57
- }] });
58
- const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);
59
-
60
- /**
61
- * @deprecated: drop in v5.0 use {@link TuiChevron}
62
- */
63
- const TUI_ARROW_DEFAULT_MODE = {
64
- interactive: TUI_ARROW,
65
- disabled: TUI_ARROW,
66
- };
67
- /**
68
- * @deprecated: drop in v5.0 use {@link TuiChevron}
69
- */
70
- const TUI_ARROW_MODE = new InjectionToken(ngDevMode ? 'TUI_ARROW_MODE' : '', {
71
- factory: () => TUI_ARROW_DEFAULT_MODE,
72
- });
73
- /**
74
- * @deprecated: drop in v5.0 use {@link TuiChevron}
75
- */
76
- function tuiArrowModeProvider(options) {
77
- return tuiProvideOptions(TUI_ARROW_MODE, options, TUI_ARROW_DEFAULT_MODE);
78
- }
79
-
80
- /**
81
- * Generated bundle index. Do not edit.
82
- */
83
-
84
- export { TUI_ARROW, TUI_ARROW_DEFAULT_MODE, TUI_ARROW_DEFAULT_OPTIONS, TUI_ARROW_MODE, TUI_ARROW_OPTIONS, TuiArrowComponent, tuiArrowModeProvider, tuiArrowOptionsProvider };
85
- //# sourceMappingURL=taiga-ui-legacy-components-arrow.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-arrow.mjs","sources":["../../../projects/legacy/components/arrow/arrow.options.ts","../../../projects/legacy/components/arrow/arrow.component.ts","../../../projects/legacy/components/arrow/arrow.template.html","../../../projects/legacy/components/arrow/arrow.providers.ts","../../../projects/legacy/components/arrow/taiga-ui-legacy-components-arrow.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport interface TuiArrowOptions {\n readonly iconLarge: PolymorpheusContent;\n readonly iconSmall: PolymorpheusContent;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_DEFAULT_OPTIONS: TuiArrowOptions = {\n iconSmall: '@tui.chevron-down',\n iconLarge: '@tui.chevron-down',\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for arrow component\n */\nexport const TUI_ARROW_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_ARROW_OPTIONS' : '',\n {\n factory: () => TUI_ARROW_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiArrowOptionsProvider(options: Partial<TuiArrowOptions>): Provider {\n return tuiProvideOptions(TUI_ARROW_OPTIONS, options, TUI_ARROW_DEFAULT_OPTIONS);\n}\n","import {ChangeDetectionStrategy, Component, computed, inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {tuiSizeBigger} from '@taiga-ui/core/utils/miscellaneous';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n PolymorpheusComponent,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\nimport {of} from 'rxjs';\n\nimport {TUI_ARROW_OPTIONS} from './arrow.options';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\n@Component({\n selector: 'tui-arrow',\n imports: [PolymorpheusOutlet, TuiIcon],\n templateUrl: './arrow.template.html',\n styleUrls: ['./arrow.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._rotated]': 'rotated()',\n '[class._small]': 'small',\n },\n})\nexport class TuiArrowComponent {\n private readonly control: any = inject(AbstractTuiControl, {optional: true});\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly options = inject(TUI_ARROW_OPTIONS);\n protected readonly dropdownOpen = toSignal(\n inject(TuiDropdownOpen, {optional: true})?.tuiDropdownOpenChange || of(false),\n );\n\n protected readonly rotated = computed(\n () => this.dropdownOpen() || this.control.pseudoOpen?.(),\n );\n\n protected get small(): boolean {\n return !tuiSizeBigger(this.textfieldSize.size);\n }\n\n protected get arrowIcon(): PolymorpheusContent {\n return !this.small ? this.options.iconLarge : this.options.iconSmall;\n }\n}\n\nexport const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);\n","<tui-icon\n *polymorpheusOutlet=\"arrowIcon as src\"\n [icon]=\"src\"\n/>\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeM, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_ARROW} from './arrow.component';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport interface TuiArrowMode {\n readonly disabled: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>>;\n readonly interactive: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>>;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_DEFAULT_MODE: TuiArrowMode = {\n interactive: TUI_ARROW,\n disabled: TUI_ARROW,\n};\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_MODE = new InjectionToken(ngDevMode ? 'TUI_ARROW_MODE' : '', {\n factory: () => TUI_ARROW_DEFAULT_MODE,\n});\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport function tuiArrowModeProvider(options: Partial<TuiArrowMode>): Provider {\n return tuiProvideOptions(TUI_ARROW_MODE, options, TUI_ARROW_DEFAULT_MODE);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}