@taiga-ui/legacy 4.52.0-canary.3915ce7 → 4.52.0-canary.40b6993

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 (270) hide show
  1. package/README.md +1 -1
  2. package/components/dialog/dialog.component.d.ts +19 -0
  3. package/components/dialog/dialog.directive.d.ts +8 -0
  4. package/components/dialog/dialog.factory.d.ts +16 -0
  5. package/components/dialog/dialog.interfaces.d.ts +30 -0
  6. package/components/dialog/dialog.service.d.ts +10 -0
  7. package/components/dialog/dialog.tokens.d.ts +6 -0
  8. package/components/dialog/index.d.ts +6 -0
  9. package/components/index.d.ts +3 -19
  10. package/components/mobile-dialog/index.d.ts +3 -0
  11. package/components/mobile-dialog/mobile-dialog.component.d.ts +10 -0
  12. package/components/mobile-dialog/mobile-dialog.options.d.ts +10 -0
  13. package/components/mobile-dialog/mobile-dialog.service.d.ts +14 -0
  14. package/components/pdf-viewer/index.d.ts +4 -0
  15. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  16. package/components/pdf-viewer/pdf-viewer.directive.d.ts +8 -0
  17. package/components/pdf-viewer/pdf-viewer.options.d.ts +11 -0
  18. package/components/pdf-viewer/pdf-viewer.service.d.ts +17 -0
  19. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +136 -0
  20. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  21. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs +62 -0
  22. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs.map +1 -0
  23. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +88 -0
  24. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  25. package/fesm2022/taiga-ui-legacy-components.mjs +3 -19
  26. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-legacy.mjs +0 -6
  28. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  29. package/index.d.ts +0 -6
  30. package/package.json +22 -137
  31. package/classes/abstract-native-select.d.ts +0 -22
  32. package/classes/abstract-textfield-host.d.ts +0 -19
  33. package/classes/control.d.ts +0 -60
  34. package/classes/controller.d.ts +0 -9
  35. package/classes/index.d.ts +0 -9
  36. package/classes/interactive.d.ts +0 -34
  37. package/classes/multiple-control.d.ts +0 -11
  38. package/classes/named-day.d.ts +0 -11
  39. package/classes/nullable-control.d.ts +0 -10
  40. package/classes/stringifiable-item.d.ts +0 -11
  41. package/components/arrow/arrow.component.d.ts +0 -17
  42. package/components/arrow/arrow.options.d.ts +0 -19
  43. package/components/arrow/arrow.providers.d.ts +0 -23
  44. package/components/arrow/index.d.ts +0 -3
  45. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  46. package/components/combo-box/combo-box.component.d.ts +0 -52
  47. package/components/combo-box/combo-box.directive.d.ts +0 -13
  48. package/components/combo-box/combo-box.module.d.ts +0 -20
  49. package/components/combo-box/index.d.ts +0 -4
  50. package/components/input/index.d.ts +0 -3
  51. package/components/input/input.component.d.ts +0 -32
  52. package/components/input/input.directive.d.ts +0 -12
  53. package/components/input/input.module.d.ts +0 -16
  54. package/components/input-date-range/index.d.ts +0 -3
  55. package/components/input-date-range/input-date-range.component.d.ts +0 -67
  56. package/components/input-date-range/input-date-range.directive.d.ts +0 -16
  57. package/components/input-date-range/input-date-range.module.d.ts +0 -22
  58. package/components/input-date-time/index.d.ts +0 -3
  59. package/components/input-date-time/input-date-time.component.d.ts +0 -87
  60. package/components/input-date-time/input-date-time.directive.d.ts +0 -17
  61. package/components/input-date-time/input-date-time.module.d.ts +0 -23
  62. package/components/input-date-time/native-date-time/native-date-time.directive.d.ts +0 -13
  63. package/components/input-month-range/index.d.ts +0 -3
  64. package/components/input-month-range/input-month-range.component.d.ts +0 -38
  65. package/components/input-month-range/input-month-range.directive.d.ts +0 -23
  66. package/components/input-month-range/input-month-range.module.d.ts +0 -18
  67. package/components/input-number/index.d.ts +0 -4
  68. package/components/input-number/input-number.component.d.ts +0 -63
  69. package/components/input-number/input-number.directive.d.ts +0 -16
  70. package/components/input-number/input-number.module.d.ts +0 -18
  71. package/components/input-number/input-number.options.d.ts +0 -29
  72. package/components/input-range/index.d.ts +0 -2
  73. package/components/input-range/input-range.component.d.ts +0 -56
  74. package/components/input-range/input-range.module.d.ts +0 -19
  75. package/components/input-slider/index.d.ts +0 -2
  76. package/components/input-slider/input-slider.component.d.ts +0 -42
  77. package/components/input-slider/input-slider.module.d.ts +0 -18
  78. package/components/input-tag/index.d.ts +0 -3
  79. package/components/input-tag/input-tag.component.d.ts +0 -103
  80. package/components/input-tag/input-tag.module.d.ts +0 -22
  81. package/components/input-tag/input-tag.options.d.ts +0 -27
  82. package/components/multi-select/hide-selected.pipe.d.ts +0 -11
  83. package/components/multi-select/index.d.ts +0 -10
  84. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +0 -23
  85. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +0 -8
  86. package/components/multi-select/multi-select.component.d.ts +0 -71
  87. package/components/multi-select/multi-select.directive.d.ts +0 -14
  88. package/components/multi-select/multi-select.module.d.ts +0 -31
  89. package/components/multi-select/multi-select.options.d.ts +0 -14
  90. package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +0 -9
  91. package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +0 -8
  92. package/components/multi-select/native-multi-select/native-multi-select.d.ts +0 -11
  93. package/components/multi-select-option/index.d.ts +0 -2
  94. package/components/multi-select-option/multi-select-option.component.d.ts +0 -9
  95. package/components/multi-select-option/multi-select-option.module.d.ts +0 -9
  96. package/components/primitive-textfield/index.d.ts +0 -7
  97. package/components/primitive-textfield/primitive-textfield-options.d.ts +0 -21
  98. package/components/primitive-textfield/primitive-textfield-types.d.ts +0 -11
  99. package/components/primitive-textfield/primitive-textfield.component.d.ts +0 -73
  100. package/components/primitive-textfield/primitive-textfield.directive.d.ts +0 -14
  101. package/components/primitive-textfield/primitive-textfield.module.d.ts +0 -21
  102. package/components/primitive-textfield/textfield/textfield.component.d.ts +0 -13
  103. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +0 -22
  104. package/components/select/index.d.ts +0 -6
  105. package/components/select/native-select/native-select-group.component.d.ts +0 -17
  106. package/components/select/native-select/native-select.component.d.ts +0 -16
  107. package/components/select/select.component.d.ts +0 -45
  108. package/components/select/select.directive.d.ts +0 -16
  109. package/components/select/select.module.d.ts +0 -24
  110. package/components/select/select.options.d.ts +0 -25
  111. package/components/select-option/index.d.ts +0 -2
  112. package/components/select-option/select-option.component.d.ts +0 -27
  113. package/components/select-option/select-option.module.d.ts +0 -10
  114. package/components/svg/content-processor.d.ts +0 -19
  115. package/components/svg/deprecated-icons.d.ts +0 -5
  116. package/components/svg/index.d.ts +0 -5
  117. package/components/svg/svg-options.d.ts +0 -50
  118. package/components/svg/svg.component.d.ts +0 -50
  119. package/components/svg/svg.service.d.ts +0 -21
  120. package/components/tag/index.d.ts +0 -3
  121. package/components/tag/tag.component.d.ts +0 -44
  122. package/components/tag/tag.module.d.ts +0 -16
  123. package/components/tag/tag.options.d.ts +0 -27
  124. package/components/textarea/index.d.ts +0 -3
  125. package/components/textarea/textarea.component.d.ts +0 -54
  126. package/components/textarea/textarea.directive.d.ts +0 -12
  127. package/components/textarea/textarea.module.d.ts +0 -21
  128. package/components/tooltip/index.d.ts +0 -2
  129. package/components/tooltip/tooltip.component.d.ts +0 -12
  130. package/components/tooltip/tooltip.module.d.ts +0 -13
  131. package/directives/index.d.ts +0 -5
  132. package/directives/legacy-dropdown-open-monitor/index.d.ts +0 -1
  133. package/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.d.ts +0 -11
  134. package/directives/textfield-controller/index.d.ts +0 -14
  135. package/directives/textfield-controller/textfield-appearance.directive.d.ts +0 -9
  136. package/directives/textfield-controller/textfield-cleaner.directive.d.ts +0 -9
  137. package/directives/textfield-controller/textfield-controller.module.d.ts +0 -17
  138. package/directives/textfield-controller/textfield-controller.provider.d.ts +0 -4
  139. package/directives/textfield-controller/textfield-custom-content.directive.d.ts +0 -10
  140. package/directives/textfield-controller/textfield-filler.directive.d.ts +0 -9
  141. package/directives/textfield-controller/textfield-icon-left.directive.d.ts +0 -12
  142. package/directives/textfield-controller/textfield-icon.directive.d.ts +0 -12
  143. package/directives/textfield-controller/textfield-label-outside.directive.d.ts +0 -9
  144. package/directives/textfield-controller/textfield-postfix.directive.d.ts +0 -9
  145. package/directives/textfield-controller/textfield-prefix.directive.d.ts +0 -9
  146. package/directives/textfield-controller/textfield-size.directive.d.ts +0 -10
  147. package/directives/textfield-controller/textfield.controller.d.ts +0 -41
  148. package/directives/textfield-controller/textfield.options.d.ts +0 -19
  149. package/directives/unfinished-validator/index.d.ts +0 -2
  150. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +0 -10
  151. package/directives/unfinished-validator/unfinished.validator.d.ts +0 -4
  152. package/directives/value-accessor/index.d.ts +0 -3
  153. package/directives/value-accessor/value-accessor.directive.d.ts +0 -5
  154. package/directives/value-accessor/value-accessor.module.d.ts +0 -7
  155. package/directives/value-accessor/value-accessor.provider.d.ts +0 -2
  156. package/directives/wrapper/README.md +0 -19
  157. package/directives/wrapper/index.d.ts +0 -2
  158. package/directives/wrapper/wrapper.directive.d.ts +0 -22
  159. package/directives/wrapper/wrapper.module.d.ts +0 -10
  160. package/fesm2022/taiga-ui-legacy-classes.mjs +0 -415
  161. package/fesm2022/taiga-ui-legacy-classes.mjs.map +0 -1
  162. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +0 -85
  163. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +0 -1
  164. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -299
  165. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  166. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +0 -356
  167. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +0 -1
  168. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +0 -465
  169. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +0 -1
  170. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +0 -221
  171. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +0 -1
  172. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +0 -390
  173. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +0 -1
  174. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +0 -261
  175. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +0 -1
  176. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +0 -199
  177. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +0 -1
  178. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +0 -524
  179. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +0 -1
  180. package/fesm2022/taiga-ui-legacy-components-input.mjs +0 -155
  181. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +0 -1
  182. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +0 -47
  183. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +0 -1
  184. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +0 -690
  185. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +0 -1
  186. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +0 -454
  187. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +0 -1
  188. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +0 -88
  189. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +0 -1
  190. package/fesm2022/taiga-ui-legacy-components-select.mjs +0 -353
  191. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +0 -1
  192. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -387
  193. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  194. package/fesm2022/taiga-ui-legacy-components-tag.mjs +0 -225
  195. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +0 -1
  196. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +0 -262
  197. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +0 -1
  198. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +0 -53
  199. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +0 -1
  200. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -50
  201. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +0 -1
  202. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +0 -401
  203. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +0 -1
  204. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +0 -50
  205. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +0 -44
  207. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +0 -1
  208. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +0 -99
  209. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +0 -1
  210. package/fesm2022/taiga-ui-legacy-directives.mjs +0 -10
  211. package/fesm2022/taiga-ui-legacy-directives.mjs.map +0 -1
  212. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  213. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  214. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  215. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  216. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  217. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  218. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  219. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  220. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  221. package/fesm2022/taiga-ui-legacy-services.mjs.map +0 -1
  222. package/fesm2022/taiga-ui-legacy-tokens.mjs +0 -384
  223. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +0 -1
  224. package/fesm2022/taiga-ui-legacy-utils.mjs +0 -268
  225. package/fesm2022/taiga-ui-legacy-utils.mjs.map +0 -1
  226. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  227. package/pipes/format-phone/index.d.ts +0 -1
  228. package/pipes/index.d.ts +0 -3
  229. package/pipes/iso-to-country-code/index.d.ts +0 -1
  230. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  231. package/pipes/to-country-code/index.d.ts +0 -1
  232. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  233. package/services/index.d.ts +0 -1
  234. package/services/static-request.service.d.ts +0 -11
  235. package/styles/mixins/mixins.less +0 -239
  236. package/styles/mixins/mixins.scss +0 -224
  237. package/styles/mixins/textfield.less +0 -324
  238. package/styles/mixins/textfield.scss +0 -308
  239. package/styles/taiga-ui-local.less +0 -3
  240. package/styles/taiga-ui-local.scss +0 -3
  241. package/tokens/countries-masks.d.ts +0 -9
  242. package/tokens/focusable-item-accessor.d.ts +0 -25
  243. package/tokens/fonts-ready.d.ts +0 -6
  244. package/tokens/icons.d.ts +0 -6
  245. package/tokens/index.d.ts +0 -14
  246. package/tokens/is-apple.d.ts +0 -6
  247. package/tokens/is-chromium.d.ts +0 -6
  248. package/tokens/is-firefox.d.ts +0 -6
  249. package/tokens/is-stackblitz.d.ts +0 -5
  250. package/tokens/month-formatter.d.ts +0 -10
  251. package/tokens/sanitizer.d.ts +0 -6
  252. package/tokens/textfield-appearance.d.ts +0 -7
  253. package/tokens/textfield-host.d.ts +0 -23
  254. package/tokens/touch-supported.d.ts +0 -5
  255. package/tokens/value-accessor.d.ts +0 -7
  256. package/utils/capitalize-first-letter.d.ts +0 -4
  257. package/utils/date-mode-maskito-adapter.d.ts +0 -6
  258. package/utils/format-phone.d.ts +0 -30
  259. package/utils/get-border.d.ts +0 -5
  260. package/utils/get-max-allowed-phone-length.d.ts +0 -24
  261. package/utils/get-safe-area-size.d.ts +0 -7
  262. package/utils/icons-path-factory.d.ts +0 -13
  263. package/utils/index.d.ts +0 -14
  264. package/utils/is-apple.d.ts +0 -5
  265. package/utils/is-presumed-html-string.d.ts +0 -4
  266. package/utils/iso-to-country-code.d.ts +0 -13
  267. package/utils/not-kz-region.d.ts +0 -20
  268. package/utils/process-icon.d.ts +0 -4
  269. package/utils/specific-dropdown-controllers.d.ts +0 -4
  270. package/utils/status.d.ts +0 -4
@@ -1,299 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, EventEmitter, TemplateRef, Output, Input, ContentChild, ViewChild, ChangeDetectionStrategy, Component, Directive, NgModule } from '@angular/core';
3
- import { TUI_STRICT_MATCHER } from '@taiga-ui/cdk/constants';
4
- import { tuiIsFocused } from '@taiga-ui/cdk/utils/focus';
5
- import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
6
- import { TUI_DATA_LIST_ACCESSOR, TuiDataListDirective, tuiAsDataListHost, tuiAsOptionContent } from '@taiga-ui/core/components/data-list';
7
- import * as i1 from '@taiga-ui/core/directives/dropdown';
8
- import { TuiDropdownOpen, TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
9
- import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
10
- import { AbstractTuiNullableControl, tuiAsControl, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
11
- import { TUI_ARROW_MODE, TuiArrowComponent } from '@taiga-ui/legacy/components/arrow';
12
- import * as i3 from '@taiga-ui/legacy/components/primitive-textfield';
13
- import { TuiPrimitiveTextfieldComponent, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
14
- import { TUI_SELECT_OPTION, TuiSelectOptionModule } from '@taiga-ui/legacy/components/select-option';
15
- import * as i4 from '@taiga-ui/legacy/directives';
16
- import { TUI_TEXTFIELD_SIZE, TuiWrapperModule, TuiTextfieldControllerModule, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
17
- import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
18
- import * as i2 from '@taiga-ui/polymorpheus';
19
- import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
20
- import { CommonModule } from '@angular/common';
21
-
22
- /**
23
- * TODO(v5): delete it
24
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
25
- */
26
- class TuiComboBoxComponent extends AbstractTuiNullableControl {
27
- constructor() {
28
- super(...arguments);
29
- this.arrowMode = inject(TUI_ARROW_MODE);
30
- this.itemsHandlers = inject(TUI_ITEMS_HANDLERS);
31
- this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
32
- this.stringify = this.itemsHandlers.stringify;
33
- this.strictMatcher = TUI_STRICT_MATCHER;
34
- this.identityMatcher = this.itemsHandlers.identityMatcher;
35
- this.strict = true;
36
- this.search = null;
37
- this.searchChange = new EventEmitter();
38
- this.open = false;
39
- }
40
- get size() {
41
- return this.textfieldSize.size;
42
- }
43
- get nativeFocusableElement() {
44
- return this.textfield?.nativeFocusableElement ?? null;
45
- }
46
- get focused() {
47
- return (tuiIsFocused(this.nativeFocusableElement) || !!this.dropdown?.tuiDropdownOpen);
48
- }
49
- get nativeValue() {
50
- return this.value === null ? this.search || '' : this.stringify(this.value);
51
- }
52
- checkOption(option) {
53
- if (!this.isStrictMatch(option)) {
54
- return;
55
- }
56
- this.value = option;
57
- this.updateSearch(null);
58
- }
59
- handleOption(item) {
60
- this.focusInput();
61
- this.close();
62
- this.updateSearch(null);
63
- this.value = item;
64
- if (this.value) {
65
- this.setNativeValue(this.stringify(item));
66
- }
67
- }
68
- onValueChange(value) {
69
- this.updateSearch(value);
70
- const match = this.accessor
71
- ?.getOptions()
72
- .find((item) => this.isStrictMatch(item));
73
- if (match !== undefined) {
74
- this.value = match;
75
- this.updateSearch(null);
76
- return;
77
- }
78
- if (this.strict || this.search === '') {
79
- this.value = null;
80
- }
81
- // Clearing sets the empty value, the dropdown should not be opened on clear.
82
- if (this.search !== '') {
83
- this.open = true;
84
- }
85
- }
86
- toggle() {
87
- if (this.interactive) {
88
- this.open = !this.open;
89
- }
90
- }
91
- get arrow() {
92
- return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;
93
- }
94
- get showValueTemplate() {
95
- return tuiIsPresent(this.value) && !this.focused;
96
- }
97
- get computedContent() {
98
- return this.valueContent || this.nativeValue;
99
- }
100
- onActiveZone(active) {
101
- this.updateFocused(active);
102
- }
103
- onFieldKeyDownEnter(event) {
104
- if (this.open) {
105
- event.preventDefault();
106
- }
107
- const options = this.accessor?.getOptions() || [];
108
- if (options.length !== 1) {
109
- return;
110
- }
111
- this.value = options[0] ?? null;
112
- this.updateSearch(null);
113
- this.close();
114
- }
115
- isStrictMatch(item) {
116
- return !!this.search && !!this.strictMatcher?.(item, this.search, this.stringify);
117
- }
118
- close() {
119
- this.open = false;
120
- }
121
- updateSearch(search) {
122
- if (this.search === search) {
123
- return;
124
- }
125
- this.search = search;
126
- this.searchChange.emit(search);
127
- }
128
- setNativeValue(value) {
129
- if (this.nativeFocusableElement) {
130
- this.nativeFocusableElement.value = value;
131
- }
132
- }
133
- focusInput(preventScroll = false) {
134
- if (this.nativeFocusableElement) {
135
- this.nativeFocusableElement.focus({ preventScroll });
136
- }
137
- }
138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiComboBoxComponent, isStandalone: false, selector: "tui-combo-box", inputs: { stringify: "stringify", strictMatcher: "strictMatcher", identityMatcher: "identityMatcher", valueContent: "valueContent", strict: "strict", search: "search" }, outputs: { searchChange: "searchChange" }, host: { properties: { "attr.data-size": "size" } }, providers: [
140
- tuiAsFocusableItemAccessor(TuiComboBoxComponent),
141
- tuiAsDataListHost(TuiComboBoxComponent),
142
- tuiAsControl(TuiComboBoxComponent),
143
- tuiAsOptionContent(TUI_SELECT_OPTION),
144
- ], queries: [{ propertyName: "accessor", first: true, predicate: TUI_DATA_LIST_ACCESSOR, descendants: true }, { propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }, { propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !!datalist\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n @if (showValueTemplate) {\n <div\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;inline-size:100%;align-items:center}.t-icon{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i3.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i3.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i4.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i4.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i4.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "directive", type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
145
- }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxComponent, decorators: [{
147
- type: Component,
148
- args: [{ standalone: false, selector: 'tui-combo-box', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
149
- tuiAsFocusableItemAccessor(TuiComboBoxComponent),
150
- tuiAsDataListHost(TuiComboBoxComponent),
151
- tuiAsControl(TuiComboBoxComponent),
152
- tuiAsOptionContent(TUI_SELECT_OPTION),
153
- ], hostDirectives: [TuiDropdownFixed], host: {
154
- '[attr.data-size]': 'size',
155
- }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !!datalist\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n @if (showValueTemplate) {\n <div\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;inline-size:100%;align-items:center}.t-icon{pointer-events:auto}\n"] }]
156
- }], propDecorators: { accessor: [{
157
- type: ContentChild,
158
- args: [TUI_DATA_LIST_ACCESSOR]
159
- }], dropdown: [{
160
- type: ViewChild,
161
- args: [TuiDropdownOpen]
162
- }], textfield: [{
163
- type: ViewChild,
164
- args: [TuiPrimitiveTextfieldComponent]
165
- }], datalist: [{
166
- type: ContentChild,
167
- args: [TuiDataListDirective, { read: TemplateRef }]
168
- }], stringify: [{
169
- type: Input
170
- }], strictMatcher: [{
171
- type: Input
172
- }], identityMatcher: [{
173
- type: Input
174
- }], valueContent: [{
175
- type: Input
176
- }], strict: [{
177
- type: Input
178
- }], search: [{
179
- type: Input
180
- }], searchChange: [{
181
- type: Output
182
- }] } });
183
-
184
- /**
185
- * TODO(v5): delete it
186
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
187
- */
188
- class TuiComboBoxDirective extends AbstractTuiTextfieldHost {
189
- get value() {
190
- return this.host.nativeValue;
191
- }
192
- onValueChange(value) {
193
- this.host.onValueChange(value);
194
- }
195
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
196
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiComboBoxDirective, isStandalone: false, selector: "tui-combo-box", providers: [tuiAsTextfieldHost(TuiComboBoxDirective)], usesInheritance: true, ngImport: i0 }); }
197
- }
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxDirective, decorators: [{
199
- type: Directive,
200
- args: [{
201
- standalone: false,
202
- selector: 'tui-combo-box',
203
- providers: [tuiAsTextfieldHost(TuiComboBoxDirective)],
204
- }]
205
- }] });
206
-
207
- /**
208
- * TODO(v5): delete it
209
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
210
- */
211
- class TuiComboBoxStrictDirective {
212
- constructor() {
213
- this.comboBox = inject((TuiComboBoxComponent));
214
- this.strict = true;
215
- }
216
- onInput() {
217
- if (!this.strict && this.comboBox.search) {
218
- this.comboBox.value = this.comboBox.search;
219
- }
220
- }
221
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxStrictDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
222
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiComboBoxStrictDirective, isStandalone: false, selector: "tui-combo-box[strict]", inputs: { strict: "strict" }, host: { listeners: { "input": "onInput()" } }, ngImport: i0 }); }
223
- }
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxStrictDirective, decorators: [{
225
- type: Directive,
226
- args: [{
227
- standalone: false,
228
- selector: 'tui-combo-box[strict]',
229
- host: {
230
- '(input)': 'onInput()',
231
- },
232
- }]
233
- }], propDecorators: { strict: [{
234
- type: Input
235
- }] } });
236
-
237
- /**
238
- * TODO(v5): delete it
239
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
240
- */
241
- class TuiComboBoxModule {
242
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
243
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxModule, declarations: [TuiComboBoxComponent,
244
- TuiComboBoxStrictDirective,
245
- TuiComboBoxDirective], imports: [CommonModule,
246
- PolymorpheusOutlet,
247
- PolymorpheusTemplate,
248
- TuiPrimitiveTextfieldModule,
249
- TuiSelectOptionModule,
250
- TuiArrowComponent,
251
- TuiWrapperModule,
252
- TuiTextfieldControllerModule,
253
- TuiLegacyDropdownOpenMonitorDirective, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection], exports: [TuiComboBoxComponent,
254
- TuiComboBoxStrictDirective,
255
- TuiComboBoxDirective,
256
- TuiTextfieldComponent, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection] }); }
257
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxModule, imports: [CommonModule,
258
- TuiPrimitiveTextfieldModule,
259
- TuiSelectOptionModule,
260
- TuiArrowComponent,
261
- TuiWrapperModule,
262
- TuiTextfieldControllerModule, i1.TuiDropdownComponent] }); }
263
- }
264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiComboBoxModule, decorators: [{
265
- type: NgModule,
266
- args: [{
267
- imports: [
268
- CommonModule,
269
- PolymorpheusOutlet,
270
- PolymorpheusTemplate,
271
- TuiPrimitiveTextfieldModule,
272
- TuiSelectOptionModule,
273
- TuiArrowComponent,
274
- TuiWrapperModule,
275
- TuiTextfieldControllerModule,
276
- TuiLegacyDropdownOpenMonitorDirective,
277
- ...TuiDropdown,
278
- ],
279
- declarations: [
280
- TuiComboBoxComponent,
281
- TuiComboBoxStrictDirective,
282
- TuiComboBoxDirective,
283
- ],
284
- exports: [
285
- TuiComboBoxComponent,
286
- TuiComboBoxStrictDirective,
287
- TuiComboBoxDirective,
288
- TuiTextfieldComponent,
289
- ...TuiDropdown,
290
- ],
291
- }]
292
- }] });
293
-
294
- /**
295
- * Generated bundle index. Do not edit.
296
- */
297
-
298
- export { TuiComboBoxComponent, TuiComboBoxDirective, TuiComboBoxModule, TuiComboBoxStrictDirective };
299
- //# sourceMappingURL=taiga-ui-legacy-components-combo-box.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-combo-box.mjs","sources":["../../../projects/legacy/components/combo-box/combo-box.component.ts","../../../projects/legacy/components/combo-box/combo-box.template.html","../../../projects/legacy/components/combo-box/combo-box.directive.ts","../../../projects/legacy/components/combo-box/combo-box-strict.directive.ts","../../../projects/legacy/components/combo-box/combo-box.module.ts","../../../projects/legacy/components/combo-box/taiga-ui-legacy-components-combo-box.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiContext, type TuiStringMatcher} from '@taiga-ui/cdk/types';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n tuiAsDataListHost,\n tuiAsOptionContent,\n type TuiDataListAccessor,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {\n type TuiSizeL,\n type TuiSizeM,\n type TuiSizeS,\n type TuiValueContentContext,\n} from '@taiga-ui/core/types';\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/legacy/components/select-option';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiComboBoxComponent),\n tuiAsDataListHost(TuiComboBoxComponent),\n tuiAsControl(TuiComboBoxComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public strictMatcher: TuiStringMatcher<T> | null = TUI_STRICT_MATCHER;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n\n @Input()\n public strict = true;\n\n @Input()\n public search: string | null = null;\n\n @Output()\n public readonly searchChange = new EventEmitter<string | null>();\n\n public open = false;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return (\n tuiIsFocused(this.nativeFocusableElement) || !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n public checkOption(option: T): void {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.value = option;\n this.updateSearch(null);\n }\n\n public handleOption(item: T): void {\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.value = item;\n\n if (this.value) {\n this.setNativeValue(this.stringify(item));\n }\n }\n\n public onValueChange(value: string): void {\n this.updateSearch(value);\n\n const match = this.accessor\n ?.getOptions()\n .find((item) => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.value = match;\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.value = null;\n }\n\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (this.search !== '') {\n this.open = true;\n }\n }\n\n public toggle(): void {\n if (this.interactive) {\n this.open = !this.open;\n }\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n protected get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n protected get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected onFieldKeyDownEnter(event: Event): void {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.value = options[0] ?? null;\n this.updateSearch(null);\n this.close();\n }\n\n private isStrictMatch(item: T): boolean {\n return !!this.search && !!this.strictMatcher?.(item, this.search, this.stringify);\n }\n\n private close(): void {\n this.open = false;\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !!datalist\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n @if (showValueTemplate) {\n <div\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiComboBoxComponent} from './combo-box.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-combo-box',\n providers: [tuiAsTextfieldHost(TuiComboBoxDirective)],\n})\nexport class TuiComboBoxDirective extends AbstractTuiTextfieldHost<\n TuiComboBoxComponent<unknown>\n> {\n public override get value(): string {\n return this.host.nativeValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, inject, Input} from '@angular/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-combo-box[strict]',\n host: {\n '(input)': 'onInput()',\n },\n})\nexport class TuiComboBoxStrictDirective<T> {\n private readonly comboBox = inject(TuiComboBoxComponent<T | string>);\n\n @Input()\n public strict = true;\n\n protected onInput(): void {\n if (!this.strict && this.comboBox.search) {\n this.comboBox.value = this.comboBox.search;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectOptionModule} from '@taiga-ui/legacy/components/select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiSelectOptionModule,\n TuiArrowComponent,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2CA;;;AAGG;AAkBG,MAAO,oBACT,SAAQ,0BAA6B,CAAA;AAlBzC,IAAA,WAAA,GAAA;;AA8BqB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AAClC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAsB,kBAAkB,CAAC;AAC/D,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAMpD,QAAA,IAAA,CAAA,SAAS,GAAqC,IAAI,CAAC,aAAa,CAAC,SAAS;QAG1E,IAAa,CAAA,aAAA,GAA+B,kBAAkB;AAG9D,QAAA,IAAA,CAAA,eAAe,GAClB,IAAI,CAAC,aAAa,CAAC,eAAe;QAM/B,IAAM,CAAA,MAAA,GAAG,IAAI;QAGb,IAAM,CAAA,MAAA,GAAkB,IAAI;AAGnB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAiB;QAEzD,IAAI,CAAA,IAAA,GAAG,KAAK;AAoItB;AAlIG,IAAA,IAAW,IAAI,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI;;AAGlC,IAAA,IAAW,sBAAsB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,sBAAsB,IAAI,IAAI;;AAGzD,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,QACI,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe;;AAIrF,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;AAGxE,IAAA,WAAW,CAAC,MAAS,EAAA;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC7B;;AAGJ,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;AACnB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;AAGpB,IAAA,YAAY,CAAC,IAAO,EAAA;QACvB,IAAI,CAAC,UAAU,EAAE;QACjB,IAAI,CAAC,KAAK,EAAE;AACZ,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AAEjB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;;;AAI1C,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAExB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC;AACf,cAAE,UAAU;AACX,aAAA,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAE7C,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACrB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAEvB;;QAGJ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;AACnC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;;;AAIrB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI;;;IAIjB,MAAM,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;;;AAI9B,IAAA,IAAc,KAAK,GAAA;QAGf,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW;;AAGnF,IAAA,IAAc,iBAAiB,GAAA;QAC3B,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;;AAGpD,IAAA,IAAc,eAAe,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW;;AAGtC,IAAA,YAAY,CAAC,MAAe,EAAA;AAClC,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;;AAGpB,IAAA,mBAAmB,CAAC,KAAY,EAAA;AACtC,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,KAAK,CAAC,cAAc,EAAE;;QAG1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE;AAEjD,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB;;QAGJ,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI;AAC/B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE;;AAGR,IAAA,aAAa,CAAC,IAAO,EAAA;QACzB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;;IAG7E,KAAK,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;;AAGb,IAAA,YAAY,CAAC,MAAqB,EAAA;AACtC,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YACxB;;AAGJ,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;;AAG1B,IAAA,cAAc,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,YAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,KAAK;;;IAIzC,UAAU,CAAC,aAAa,GAAG,KAAK,EAAA;AACpC,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,CAAC;;;+GA3KjD,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAXlB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,0BAA0B,CAAC,oBAAoB,CAAC;YAChD,iBAAiB,CAAC,oBAAoB,CAAC;YACvC,YAAY,CAAC,oBAAoB,CAAC;YAClC,kBAAkB,CAAC,iBAAiB,CAAC;SACxC,EAUa,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,sBAA6B,EAa7B,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,oBAAoB,EAAS,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAW,uEAV3C,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAGf,8BAA8B,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1E7C,8rDAsDA,EAAA,MAAA,EAAA,CAAA,yTAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qCAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDUa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAjBhC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,eAAe,EAAA,eAAA,EAGR,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA,0BAA0B,CAAsB,oBAAA,CAAA;AAChD,wBAAA,iBAAiB,CAAsB,oBAAA,CAAA;AACvC,wBAAA,YAAY,CAAsB,oBAAA,CAAA;wBAClC,kBAAkB,CAAC,iBAAiB,CAAC;qBACxC,EACe,cAAA,EAAA,CAAC,gBAAgB,CAAC,EAC5B,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC7B,qBAAA,EAAA,QAAA,EAAA,8rDAAA,EAAA,MAAA,EAAA,CAAA,yTAAA,CAAA,EAAA;8BAOgB,QAAQ,EAAA,CAAA;sBADxB,YAAY;uBAAC,sBAA6B;gBAI1B,QAAQ,EAAA,CAAA;sBADxB,SAAS;uBAAC,eAAe;gBAIT,SAAS,EAAA,CAAA;sBADzB,SAAS;uBAAC,8BAA8B;gBAQtB,QAAQ,EAAA,CAAA;sBAD1B,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,oBAAoB,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC;gBAIhD,SAAS,EAAA,CAAA;sBADf;gBAIM,aAAa,EAAA,CAAA;sBADnB;gBAIM,eAAe,EAAA,CAAA;sBADrB;gBAKM,YAAY,EAAA,CAAA;sBADlB;gBAIM,MAAM,EAAA,CAAA;sBADZ;gBAIM,MAAM,EAAA,CAAA;sBADZ;gBAIe,YAAY,EAAA,CAAA;sBAD3B;;;AEjGL;;;AAGG;AAMG,MAAO,oBAAqB,SAAQ,wBAEzC,CAAA;AACG,IAAA,IAAoB,KAAK,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW;;AAGzB,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;;+GARzB,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,6DAFlB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE5C,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,oBAAA,CAAsB,CAAC;AACxD,iBAAA;;;ACVD;;;AAGG;MAQU,0BAA0B,CAAA;AAPvC,IAAA,WAAA,GAAA;AAQqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAC,oBAAgC,EAAC;QAG7D,IAAM,CAAA,MAAA,GAAG,IAAI;AAOvB;IALa,OAAO,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;;;+GARzC,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA1B,0BAA0B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,WAAW;AACzB,qBAAA;AACJ,iBAAA;8BAKU,MAAM,EAAA,CAAA;sBADZ;;;ACEL;;;AAGG;MA2BU,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAZtB,oBAAoB;YACpB,0BAA0B;AAC1B,YAAA,oBAAoB,aAdpB,YAAY;YACZ,kBAAkB;YAClB,oBAAoB;YACpB,2BAA2B;YAC3B,qBAAqB;YACrB,iBAAiB;YACjB,gBAAgB;YAChB,4BAA4B;AAC5B,YAAA,qCAAqC,kVASrC,oBAAoB;YACpB,0BAA0B;YAC1B,oBAAoB;YACpB,qBAAqB,EAAA,EAAA,CAAA,2BAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,CAAA;AAIhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAxBtB,YAAY;YAGZ,2BAA2B;YAC3B,qBAAqB;YACrB,iBAAiB;YACjB,gBAAgB;YAChB,4BAA4B,EAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,CAAA;;4FAiBvB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBA1B7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,kBAAkB;wBAClB,oBAAoB;wBACpB,2BAA2B;wBAC3B,qBAAqB;wBACrB,iBAAiB;wBACjB,gBAAgB;wBAChB,4BAA4B;wBAC5B,qCAAqC;AACrC,wBAAA,GAAG,WAAW;AACjB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,oBAAoB;wBACpB,0BAA0B;wBAC1B,oBAAoB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,oBAAoB;wBACpB,0BAA0B;wBAC1B,oBAAoB;wBACpB,qBAAqB;AACrB,wBAAA,GAAG,WAAW;AACjB,qBAAA;AACJ,iBAAA;;;ACjDD;;AAEG;;;;"}