@taiga-ui/legacy 4.52.0-canary.698642f → 4.52.0-canary.69f0860

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 (235) hide show
  1. package/components/dialog/dialog.component.d.ts +20 -0
  2. package/components/dialog/dialog.directive.d.ts +7 -0
  3. package/components/dialog/dialog.factory.d.ts +16 -0
  4. package/components/dialog/dialog.interfaces.d.ts +31 -0
  5. package/components/dialog/dialog.service.d.ts +7 -0
  6. package/components/dialog/dialog.tokens.d.ts +8 -0
  7. package/components/dialog/index.d.ts +6 -0
  8. package/components/index.d.ts +2 -16
  9. package/components/input/input.module.d.ts +1 -1
  10. package/components/input-date-range/input-date-range.module.d.ts +8 -9
  11. package/components/input-date-time/input-date-time.component.d.ts +4 -3
  12. package/components/input-date-time/input-date-time.module.d.ts +1 -1
  13. package/components/input-month-range/input-month-range.module.d.ts +1 -1
  14. package/components/input-range/input-range.component.d.ts +1 -1
  15. package/components/input-tag/input-tag.module.d.ts +1 -1
  16. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
  17. package/components/multi-select/multi-select.module.d.ts +9 -10
  18. package/components/pdf-viewer/index.d.ts +4 -0
  19. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  20. package/components/pdf-viewer/pdf-viewer.directive.d.ts +7 -0
  21. package/components/pdf-viewer/pdf-viewer.options.d.ts +13 -0
  22. package/components/pdf-viewer/pdf-viewer.service.d.ts +13 -0
  23. package/components/select/select.module.d.ts +1 -1
  24. package/fesm2022/taiga-ui-legacy-classes.mjs +21 -21
  25. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +3 -3
  27. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +129 -0
  29. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  30. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +23 -27
  31. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +19 -19
  33. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +12 -12
  35. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +13 -13
  37. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +14 -14
  39. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +10 -10
  41. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +12 -12
  43. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-legacy-components-input.mjs +14 -15
  45. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +7 -7
  47. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +41 -45
  49. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +82 -0
  51. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  52. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +18 -18
  53. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +7 -7
  55. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-legacy-components-select.mjs +24 -25
  57. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-legacy-components-tag.mjs +7 -7
  59. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +12 -12
  61. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +7 -7
  63. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-legacy-components.mjs +2 -16
  65. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +3 -3
  67. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +34 -34
  69. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +4 -5
  71. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +7 -7
  73. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +7 -7
  75. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-legacy-utils.mjs +1 -7
  78. package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-legacy.mjs +0 -2
  80. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  81. package/index.d.ts +0 -2
  82. package/package.json +8 -84
  83. package/utils/icons-path-factory.d.ts +1 -1
  84. package/utils/index.d.ts +0 -1
  85. package/components/color-selector/color-edit/color-edit.component.d.ts +0 -18
  86. package/components/color-selector/color-edit/color-edit.module.d.ts +0 -21
  87. package/components/color-selector/color-picker/color-picker.component.d.ts +0 -22
  88. package/components/color-selector/color-picker/color-picker.module.d.ts +0 -14
  89. package/components/color-selector/color-selector.component.d.ts +0 -47
  90. package/components/color-selector/color-selector.module.d.ts +0 -24
  91. package/components/color-selector/color-selector.options.d.ts +0 -25
  92. package/components/color-selector/flat-picker/flat-picker.component.d.ts +0 -12
  93. package/components/color-selector/flat-picker/flat-picker.module.d.ts +0 -12
  94. package/components/color-selector/index.d.ts +0 -16
  95. package/components/color-selector/linear-multi-picker/linear-multi-picker.component.d.ts +0 -17
  96. package/components/color-selector/linear-multi-picker/linear-multi-picker.module.d.ts +0 -12
  97. package/components/color-selector/linear-picker/linear-picker.component.d.ts +0 -10
  98. package/components/color-selector/linear-picker/linear-picker.module.d.ts +0 -12
  99. package/components/color-selector/palette/palette.component.d.ts +0 -10
  100. package/components/color-selector/palette/palette.module.d.ts +0 -13
  101. package/components/color-selector/services/picker.service.d.ts +0 -15
  102. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  103. package/components/combo-box/combo-box.component.d.ts +0 -52
  104. package/components/combo-box/combo-box.directive.d.ts +0 -13
  105. package/components/combo-box/combo-box.module.d.ts +0 -20
  106. package/components/combo-box/index.d.ts +0 -4
  107. package/components/input-color/index.d.ts +0 -2
  108. package/components/input-color/input-color.component.d.ts +0 -30
  109. package/components/input-color/input-color.module.d.ts +0 -17
  110. package/components/input-copy/index.d.ts +0 -4
  111. package/components/input-copy/input-copy.component.d.ts +0 -33
  112. package/components/input-copy/input-copy.directive.d.ts +0 -11
  113. package/components/input-copy/input-copy.module.d.ts +0 -18
  114. package/components/input-copy/input-copy.options.d.ts +0 -26
  115. package/components/input-date/index.d.ts +0 -3
  116. package/components/input-date/input-date.component.d.ts +0 -62
  117. package/components/input-date/input-date.directive.d.ts +0 -19
  118. package/components/input-date/input-date.module.d.ts +0 -24
  119. package/components/input-date/native-date/native-date.component.d.ts +0 -15
  120. package/components/input-date-multi/index.d.ts +0 -2
  121. package/components/input-date-multi/input-date-multi.component.d.ts +0 -66
  122. package/components/input-date-multi/input-date-multi.module.d.ts +0 -20
  123. package/components/input-month/index.d.ts +0 -3
  124. package/components/input-month/input-month.component.d.ts +0 -44
  125. package/components/input-month/input-month.directive.d.ts +0 -19
  126. package/components/input-month/input-month.module.d.ts +0 -19
  127. package/components/input-password/index.d.ts +0 -4
  128. package/components/input-password/input-password.component.d.ts +0 -33
  129. package/components/input-password/input-password.directive.d.ts +0 -15
  130. package/components/input-password/input-password.module.d.ts +0 -19
  131. package/components/input-password/input-password.options.d.ts +0 -25
  132. package/components/input-phone/index.d.ts +0 -4
  133. package/components/input-phone/input-phone.component.d.ts +0 -49
  134. package/components/input-phone/input-phone.directive.d.ts +0 -13
  135. package/components/input-phone/input-phone.module.d.ts +0 -12
  136. package/components/input-phone/input-phone.options.d.ts +0 -13
  137. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +0 -9
  138. package/components/input-phone/utils/create-phone-mask-expression.d.ts +0 -7
  139. package/components/input-phone/utils/index.d.ts +0 -2
  140. package/components/input-phone-international/index.d.ts +0 -3
  141. package/components/input-phone-international/input-phone-international.component.d.ts +0 -43
  142. package/components/input-phone-international/input-phone-international.options.d.ts +0 -25
  143. package/components/input-phone-international/utils/extract-value-from-event.d.ts +0 -4
  144. package/components/input-time/index.d.ts +0 -4
  145. package/components/input-time/input-time.component.d.ts +0 -62
  146. package/components/input-time/input-time.directive.d.ts +0 -17
  147. package/components/input-time/input-time.module.d.ts +0 -23
  148. package/components/input-time/input-time.options.d.ts +0 -42
  149. package/components/input-time/native-time/native-time.component.d.ts +0 -12
  150. package/components/input-year/index.d.ts +0 -3
  151. package/components/input-year/input-year.component.d.ts +0 -36
  152. package/components/input-year/input-year.directive.d.ts +0 -14
  153. package/components/input-year/input-year.module.d.ts +0 -18
  154. package/components/island/index.d.ts +0 -1
  155. package/components/island/island.directive.d.ts +0 -20
  156. package/components/sheet/components/sheet/sheet.component.d.ts +0 -31
  157. package/components/sheet/components/sheet/sheet.providers.d.ts +0 -2
  158. package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +0 -11
  159. package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +0 -14
  160. package/components/sheet/components/sheets-host/sheets-host.component.d.ts +0 -15
  161. package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +0 -14
  162. package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +0 -9
  163. package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +0 -14
  164. package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +0 -17
  165. package/components/sheet/index.d.ts +0 -14
  166. package/components/sheet/sheet-options.d.ts +0 -27
  167. package/components/sheet/sheet-tokens.d.ts +0 -18
  168. package/components/sheet/sheet.d.ts +0 -21
  169. package/components/sheet/sheet.directive.d.ts +0 -17
  170. package/components/sheet/sheet.module.d.ts +0 -24
  171. package/components/sheet/sheet.service.d.ts +0 -17
  172. package/components/svg/content-processor.d.ts +0 -19
  173. package/components/svg/deprecated-icons.d.ts +0 -5
  174. package/components/svg/index.d.ts +0 -5
  175. package/components/svg/svg-options.d.ts +0 -50
  176. package/components/svg/svg.component.d.ts +0 -50
  177. package/components/svg/svg.service.d.ts +0 -21
  178. package/components/table-bar/index.d.ts +0 -4
  179. package/components/table-bar/table-bar.component.d.ts +0 -17
  180. package/components/table-bar/table-bar.directive.d.ts +0 -11
  181. package/components/table-bar/table-bar.options.d.ts +0 -31
  182. package/components/table-bar/table-bars-host.component.d.ts +0 -10
  183. package/components/table-bar/table-bars.service.d.ts +0 -11
  184. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +0 -730
  185. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +0 -1
  186. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -300
  187. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  188. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +0 -127
  189. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +0 -1
  190. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +0 -197
  191. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +0 -1
  192. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +0 -272
  193. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +0 -1
  194. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +0 -372
  195. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +0 -1
  196. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +0 -231
  197. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +0 -1
  198. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +0 -187
  199. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +0 -1
  200. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +0 -215
  201. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +0 -1
  202. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +0 -358
  203. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +0 -1
  204. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +0 -430
  205. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +0 -188
  207. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +0 -1
  208. package/fesm2022/taiga-ui-legacy-components-island.mjs +0 -68
  209. package/fesm2022/taiga-ui-legacy-components-island.mjs.map +0 -1
  210. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +0 -577
  211. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +0 -1
  212. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -387
  213. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  214. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +0 -147
  215. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +0 -1
  216. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  217. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  218. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  219. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  220. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  221. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  222. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  223. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  224. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  225. package/fesm2022/taiga-ui-legacy-services.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/utils/is-apple.d.ts +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-select.mjs","sources":["../../../projects/legacy/components/select/native-select/native-select.component.ts","../../../projects/legacy/components/select/native-select/native-select.template.html","../../../projects/legacy/components/select/native-select/native-select-group.component.ts","../../../projects/legacy/components/select/native-select/native-select-group.template.html","../../../projects/legacy/components/select/select.options.ts","../../../projects/legacy/components/select/select.component.ts","../../../projects/legacy/components/select/select.template.html","../../../projects/legacy/components/select/select.directive.ts","../../../projects/legacy/components/select/select.module.ts","../../../projects/legacy/components/select/taiga-ui-legacy-components-select.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport {type TuiSelectDirective} from '../select.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use native picker from new version of {@link https://taiga-ui.dev/components/select#native-picker-disabled-option TuiSelect} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'select[tuiSelect]:not([labels]):not([multiple])',\n templateUrl: './native-select.template.html',\n styleUrls: ['./native-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeSelectComponent),\n tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeSelectComponent],\n useFactory: ({datalist}: TuiNativeSelectComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[value]': 'host.value',\n '(change)':\n 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',\n },\n})\nexport class TuiNativeSelectComponent<T> extends AbstractTuiNativeSelect<\n TuiSelectDirective,\n T\n> {\n @Input()\n public items: readonly T[] | null = [];\n\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selected(option: T): boolean {\n return this.control.value === option;\n }\n\n protected onValueChange(index: number): void {\n this.host.onValueChange(this.items?.[index] || null);\n }\n}\n","<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n@if (control.control?.valueChanges | async) {}\n@if (emptyOption) {\n <option\n disabled\n selected\n value=\"\"\n >\n {{ placeholder }}\n </option>\n}\n@for (option of items; track option; let index = $index) {\n <option\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n}\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport {type TuiSelectDirective} from '../select.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use native picker from new version of {@link https://taiga-ui.dev/components/select#native-picker-groups TuiSelect} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'select[tuiSelect][labels]:not([multiple])',\n templateUrl: './native-select-group.template.html',\n styleUrls: ['./native-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeSelectGroupComponent),\n tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectGroupComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeSelectGroupComponent],\n useFactory: ({datalist}: TuiNativeSelectGroupComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[value]': 'host.value',\n '(change)':\n 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',\n },\n})\nexport class TuiNativeSelectGroupComponent<T> extends AbstractTuiNativeSelect<\n TuiSelectDirective,\n T\n> {\n @Input()\n public items: readonly T[][] | null = [];\n\n @Input()\n public labels: readonly string[] = [];\n\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selected(option: T): boolean {\n return this.control.value === option;\n }\n\n protected onValueChange(index: number): void {\n const flatItems = this.items?.reduce((acc, val) => acc.concat(val), []);\n\n this.host.onValueChange(flatItems?.[index] || null);\n }\n}\n","<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n@if (control.control?.valueChanges | async) {}\n@if (emptyOption) {\n <option\n disabled\n selected\n value=\"\"\n >\n {{ placeholder }}\n </option>\n}\n@for (group of items; track group; let index = $index) {\n <optgroup [label]=\"labels[index]\">\n @for (option of group; track option; let i = $index) {\n <option\n [disabled]=\"\n disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\n \"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n }\n </optgroup>\n}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiValueContentContext} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport interface TuiSelectOptions<T> {\n readonly valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n}\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport const TUI_SELECT_DEFAULT_OPTIONS: TuiSelectOptions<unknown> = {\n valueContent: '',\n};\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport const TUI_SELECT_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_SELECT_OPTIONS' : '',\n {\n factory: () => TUI_SELECT_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/select#override-option-component tuiAsOptionContent} with new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport function tuiSelectOptionsProvider<T>(\n options: Partial<TuiSelectOptions<T>>,\n): Provider {\n return tuiProvideOptions(TUI_SELECT_OPTIONS, options, TUI_SELECT_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {\n tuiAsDataListHost,\n tuiAsOptionContent,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {\n type TuiSizeL,\n type TuiSizeM,\n type TuiSizeS,\n type TuiValueContentContext,\n} from '@taiga-ui/core/types';\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiNativeSelect,\n AbstractTuiNullableControl,\n tuiAsControl,\n} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/legacy/components/select-option';\nimport {TUI_TEXTFIELD_CLEANER, TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_SELECT_OPTIONS, type TuiSelectOptions} from './select.options';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-select',\n templateUrl: './select.template.html',\n styleUrls: ['./select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiSelectComponent),\n tuiAsControl(TuiSelectComponent),\n tuiAsDataListHost(TuiSelectComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiSelectComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ContentChild(AbstractTuiNativeSelect, {static: true})\n private readonly nativeSelect?: AbstractTuiNativeSelect;\n\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly textfieldCleaner = inject(TUI_TEXTFIELD_CLEANER);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly options = inject(TUI_SELECT_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n protected readonly isMobile = inject(TUI_IS_MOBILE);\n protected open = false;\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public valueContent: TuiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public get computedValue(): string {\n return this.value === null ? '' : this.stringify(this.value) || ' ';\n }\n\n public onValueChange(value: T): void {\n this.value = value || null;\n }\n\n public handleOption(option: T): void {\n this.focusInput();\n this.value = option;\n this.open = false;\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n protected get nativeDropdownMode(): boolean {\n return !!this.nativeSelect && this.isMobile;\n }\n\n protected get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.computedValue;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected onKeyDownDelete(): void {\n if (this.textfieldCleaner.cleaner) {\n this.value = null;\n }\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"computedValue\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (valueChange)=\"onValueChange($any($event))\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (isMobile) {\n <ng-container ngProjectAs=\"select\">\n <ng-content select=\"select\" />\n </ng-container>\n }\n\n @if (value !== null) {\n <div\n automation-id=\"tui-select__value\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n","import {Directive} from '@angular/core';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiSelectComponent} from './select.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-select',\n providers: [tuiAsTextfieldHost(TuiSelectDirective)],\n})\nexport class TuiSelectDirective extends AbstractTuiTextfieldHost<\n TuiSelectComponent<unknown>\n> {\n public override get readOnly(): boolean {\n return true;\n }\n\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public get stringify(): TuiItemsHandlers<unknown>['stringify'] {\n return this.host.stringify;\n }\n\n public onValueChange(value: unknown): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListWrapper} from '@taiga-ui/kit/components/data-list-wrapper';\nimport {TuiStringifyContentPipe} from '@taiga-ui/kit/pipes/stringify-content';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectOptionModule} from '@taiga-ui/legacy/components/select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiNativeSelectComponent} from './native-select/native-select.component';\nimport {TuiNativeSelectGroupComponent} from './native-select/native-select-group.component';\nimport {TuiSelectComponent} from './select.component';\nimport {TuiSelectDirective} from './select.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiSelectOptionModule,\n TuiArrowComponent,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n TuiStringifyContentPipe,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n declarations: [\n TuiSelectComponent,\n TuiSelectDirective,\n TuiNativeSelectComponent,\n TuiNativeSelectGroupComponent,\n ],\n exports: [\n TuiSelectComponent,\n TuiSelectDirective,\n TuiTextfieldComponent,\n TuiNativeSelectComponent,\n TuiNativeSelectGroupComponent,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n})\nexport class TuiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-select.mjs","sources":["../../../projects/legacy/components/select/native-select/native-select.component.ts","../../../projects/legacy/components/select/native-select/native-select.template.html","../../../projects/legacy/components/select/native-select/native-select-group.component.ts","../../../projects/legacy/components/select/native-select/native-select-group.template.html","../../../projects/legacy/components/select/select.options.ts","../../../projects/legacy/components/select/select.component.ts","../../../projects/legacy/components/select/select.template.html","../../../projects/legacy/components/select/select.directive.ts","../../../projects/legacy/components/select/select.module.ts","../../../projects/legacy/components/select/taiga-ui-legacy-components-select.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport {type TuiSelectDirective} from '../select.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use native picker from new version of {@link https://taiga-ui.dev/components/select#native-picker-disabled-option TuiSelect} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'select[tuiSelect]:not([labels]):not([multiple])',\n templateUrl: './native-select.template.html',\n styleUrl: './native-select.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeSelectComponent),\n tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeSelectComponent],\n useFactory: ({datalist}: TuiNativeSelectComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[value]': 'host.value',\n '(change)':\n 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',\n },\n})\nexport class TuiNativeSelectComponent<T> extends AbstractTuiNativeSelect<\n TuiSelectDirective,\n T\n> {\n @Input()\n public items: readonly T[] | null = [];\n\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selected(option: T): boolean {\n return this.control.value === option;\n }\n\n protected onValueChange(index: number): void {\n this.host.onValueChange(this.items?.[index] || null);\n }\n}\n","<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n@if (control.control?.valueChanges | async) {}\n@if (emptyOption) {\n <option\n disabled\n selected\n value=\"\"\n >\n {{ placeholder }}\n </option>\n}\n@for (option of items; track option) {\n <option\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n}\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport {type TuiSelectDirective} from '../select.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use native picker from new version of {@link https://taiga-ui.dev/components/select#native-picker-groups TuiSelect} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'select[tuiSelect][labels]:not([multiple])',\n templateUrl: './native-select-group.template.html',\n styleUrl: './native-select.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeSelectGroupComponent),\n tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectGroupComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeSelectGroupComponent],\n useFactory: ({datalist}: TuiNativeSelectGroupComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[value]': 'host.value',\n '(change)':\n 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',\n },\n})\nexport class TuiNativeSelectGroupComponent<T> extends AbstractTuiNativeSelect<\n TuiSelectDirective,\n T\n> {\n @Input()\n public items: readonly T[][] | null = [];\n\n @Input()\n public labels: readonly string[] = [];\n\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selected(option: T): boolean {\n return this.control.value === option;\n }\n\n protected onValueChange(index: number): void {\n const flatItems = this.items?.reduce((acc, val) => acc.concat(val), []);\n\n this.host.onValueChange(flatItems?.[index] || null);\n }\n}\n","<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n@if (control.control?.valueChanges | async) {}\n@if (emptyOption) {\n <option\n disabled\n selected\n value=\"\"\n >\n {{ placeholder }}\n </option>\n}\n@for (group of items; track group) {\n <optgroup [label]=\"labels[$index]\">\n @for (option of group; track option; let i = $index) {\n <option\n [disabled]=\"\n disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\n \"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n }\n </optgroup>\n}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiValueContentContext} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport interface TuiSelectOptions<T> {\n readonly valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n}\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport const TUI_SELECT_DEFAULT_OPTIONS: TuiSelectOptions<unknown> = {\n valueContent: '',\n};\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport const TUI_SELECT_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_SELECT_OPTIONS' : '',\n {\n factory: () => TUI_SELECT_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/select#override-option-component tuiAsOptionContent} with new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\nexport function tuiSelectOptionsProvider<T>(\n options: Partial<TuiSelectOptions<T>>,\n): Provider {\n return tuiProvideOptions(TUI_SELECT_OPTIONS, options, TUI_SELECT_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {\n tuiAsDataListHost,\n tuiAsOptionContent,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {\n type TuiSizeL,\n type TuiSizeM,\n type TuiSizeS,\n type TuiValueContentContext,\n} from '@taiga-ui/core/types';\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiNativeSelect,\n AbstractTuiNullableControl,\n tuiAsControl,\n} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/legacy/components/select-option';\nimport {TUI_TEXTFIELD_CLEANER, TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_SELECT_OPTIONS, type TuiSelectOptions} from './select.options';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-select',\n templateUrl: './select.template.html',\n styleUrl: './select.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiSelectComponent),\n tuiAsControl(TuiSelectComponent),\n tuiAsDataListHost(TuiSelectComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiSelectComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ContentChild(AbstractTuiNativeSelect, {static: true})\n private readonly nativeSelect?: AbstractTuiNativeSelect;\n\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly textfieldCleaner = inject(TUI_TEXTFIELD_CLEANER);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly options = inject(TUI_SELECT_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n protected readonly isMobile = inject(TUI_IS_MOBILE);\n protected open = false;\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public valueContent: TuiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return (\n tuiIsFocused(this.nativeFocusableElement) || !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public get computedValue(): string {\n return this.value === null ? '' : this.stringify(this.value) || ' ';\n }\n\n public onValueChange(value: T): void {\n this.value = value || null;\n }\n\n public handleOption(option: T): void {\n this.focusInput();\n this.value = option;\n this.open = false;\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n protected get nativeDropdownMode(): boolean {\n return !!this.nativeSelect && this.isMobile;\n }\n\n protected get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.computedValue;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected onKeyDownDelete(): void {\n if (this.textfieldCleaner.cleaner) {\n this.value = null;\n }\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"computedValue\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (valueChange)=\"onValueChange($any($event))\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (isMobile) {\n <ng-container ngProjectAs=\"select\">\n <ng-content select=\"select\" />\n </ng-container>\n }\n\n @if (value !== null) {\n <div\n automation-id=\"tui-select__value\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n","import {Directive} from '@angular/core';\nimport {type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiSelectComponent} from './select.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-select',\n providers: [tuiAsTextfieldHost(TuiSelectDirective)],\n})\nexport class TuiSelectDirective extends AbstractTuiTextfieldHost<\n TuiSelectComponent<unknown>\n> {\n public override get readOnly(): boolean {\n return true;\n }\n\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public get stringify(): TuiItemsHandlers<unknown>['stringify'] {\n return this.host.stringify;\n }\n\n public onValueChange(value: unknown): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListWrapper} from '@taiga-ui/kit/components/data-list-wrapper';\nimport {TuiStringifyContentPipe} from '@taiga-ui/kit/pipes/stringify-content';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectOptionModule} from '@taiga-ui/legacy/components/select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiNativeSelectComponent} from './native-select/native-select.component';\nimport {TuiNativeSelectGroupComponent} from './native-select/native-select-group.component';\nimport {TuiSelectComponent} from './select.component';\nimport {TuiSelectDirective} from './select.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/select TuiSelect} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiSelectOptionModule,\n TuiArrowComponent,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n TuiStringifyContentPipe,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n declarations: [\n TuiSelectComponent,\n TuiSelectDirective,\n TuiNativeSelectComponent,\n TuiNativeSelectGroupComponent,\n ],\n exports: [\n TuiSelectComponent,\n TuiSelectDirective,\n TuiTextfieldComponent,\n TuiNativeSelectComponent,\n TuiNativeSelectGroupComponent,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n})\nexport class TuiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4"],"mappings":"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"}
@@ -137,10 +137,10 @@ class TuiTagComponent {
137
137
  this.stopEditing();
138
138
  this.edited.emit(value.trim());
139
139
  }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: TuiTagComponent, isStandalone: false, selector: "tui-tag, a[tuiTag], button[tuiTag]", inputs: { value: "value", editable: "editable", separator: "separator", maxLength: "maxLength", size: "size", showLoader: "showLoader", status: "status", hoverable: "hoverable", removable: "removable", disabled: "disabled", autoColor: "autoColor", leftContent: "leftContent" }, outputs: { edited: "edited" }, host: { listeners: { "keydown.delete": "remove($event)", "keydown.backspace": "remove($event)", "keydown.enter": "edit($event)" }, properties: { "attr.data-size": "size", "attr.data-status": "status", "class._editing": "editing", "class._hoverable": "hoverable", "class._autocolor": "autoColor", "class._disabled": "disabled" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"t-tag\"\n [style.backgroundColor]=\"backgroundColor\"\n (dblclick)=\"edit($event)\"\n>\n @if (leftContent) {\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"leftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n <span\n automation-id=\"tui-tag__text\"\n class=\"t-text\"\n [textContent]=\"displayText\"\n ></span>\n @if (showLoader) {\n <tui-loader\n class=\"t-content\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n />\n }\n @if (canRemove) {\n <tui-icon\n automation-id=\"tui-tag__remove\"\n class=\"t-icon\"\n [icon]=\"icons.close\"\n (click)=\"remove($event)\"\n (mousedown.stop.prevent.zoneless)=\"(0)\"\n />\n }\n</div>\n@if (editing) {\n <input\n #input\n automation-id=\"tui-tag__edit\"\n type=\"text\"\n class=\"t-edit\"\n [attr.maxLength]=\"maxLength\"\n [ngModel]=\"editedText\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (ngModelChange)=\"onInput($event)\"\n />\n}\n", styles: [":host{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:inline-block;font:var(--tui-font-text-s);line-height:1.25rem;max-inline-size:100%;cursor:default;outline:none;text-decoration:none;padding:0;border:0}:host:after{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-sizing:border-box;border-radius:inherit;pointer-events:none}:host._hoverable:hover[data-status=custom]:after,:host._hoverable:active[data-status=custom]:after{background-color:var(--tui-background-neutral-1)}:host:focus:after{border:2px solid var(--tui-border-focus)}:host[data-size=s]{font:var(--tui-font-text-xs);line-height:1.25rem;border-radius:var(--tui-radius-xs)}:host[data-size=m]{border-radius:var(--tui-radius-xs)}:host[data-size=l]{border-radius:var(--tui-radius-s)}:host[data-status=primary]{background-color:var(--tui-background-accent-1);color:var(--tui-text-primary-on-accent-1)}:host[data-status=primary]._hoverable:hover{background-color:var(--tui-background-accent-1-hover)}:host[data-status=primary]._hoverable:active{background-color:var(--tui-background-accent-1-pressed)}:host[data-status=error]{background-color:var(--tui-status-negative-pale);color:var(--tui-text-primary)}:host[data-status=error]._hoverable:hover,:host[data-status=error]._hoverable:active{background-color:var(--tui-status-negative-pale-hover)}:host-context([tuiTheme=\"dark\"]) :host[data-status=error]{background-color:var(--tui-status-negative-pale);color:var(--tui-text-primary)}:host-context([tuiTheme=\"dark\"]) :host[data-status=error]._hoverable:hover,:host-context([tuiTheme=\"dark\"]) :host[data-status=error]._hoverable:active{background-color:var(--tui-status-negative-pale-hover)}:host[data-status=success]{background-color:var(--tui-status-positive-pale);color:var(--tui-text-primary)}:host[data-status=success]._hoverable:hover,:host[data-status=success]._hoverable:active{background-color:var(--tui-status-positive-pale-hover)}:host-context([tuiTheme=\"dark\"]) :host[data-status=success]{background-color:var(--tui-status-positive-pale);color:var(--tui-text-primary)}:host-context([tuiTheme=\"dark\"]) :host[data-status=success]._hoverable:hover,:host-context([tuiTheme=\"dark\"]) :host[data-status=success]._hoverable:active{background-color:var(--tui-status-positive-pale-hover)}:host[data-status=warning]{background-color:var(--tui-status-warning-pale);color:var(--tui-text-primary)}:host[data-status=warning]._hoverable:hover,:host[data-status=warning]._hoverable:active{background-color:var(--tui-status-warning-pale-hover)}:host-context([tuiTheme=\"dark\"]) :host[data-status=warning]{background-color:var(--tui-status-warning-pale);color:var(--tui-text-primary)}:host-context([tuiTheme=\"dark\"]) :host[data-status=warning]._hoverable:hover,:host-context([tuiTheme=\"dark\"]) :host[data-status=warning]._hoverable:active{background-color:var(--tui-status-warning-pale-hover)}:host[data-status=default]{color:#fff;background-color:var(--tui-text-tertiary)}:host[data-status=default]._hoverable:hover{background-color:var(--tui-background-accent-opposite-pressed)}:host[data-status=default]._hoverable:active{background-color:var(--tui-background-accent-opposite-hover)}:host-context([tuiTheme=\"dark\"]) :host[data-status=default]{color:var(--tui-text-primary);background-color:var(--tui-background-neutral-1)}:host-context([tuiTheme=\"dark\"]) :host[data-status=default]._hoverable:hover{background-color:var(--tui-background-neutral-1-hover)}:host-context([tuiTheme=\"dark\"]) :host[data-status=default]._hoverable:active{background-color:var(--tui-background-neutral-1-pressed)}:host-context([tuiTheme=\"dark\"]) :host[data-status=default]:focus:after{border:2px solid var(--tui-background-base)}:host._editing{background:transparent!important}:host._disabled,:host :host-context(*:disabled){pointer-events:none;opacity:var(--tui-disabled-opacity)}:host._hoverable{cursor:pointer}:host._autocolor{color:#000c}.t-text{white-space:pre;overflow:hidden;text-overflow:ellipsis;padding-inline-end:.02em}.t-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:flex;inline-size:auto;align-items:center;font:inherit;border-radius:inherit}:host[data-size=s] .t-tag{block-size:1.25rem;padding:0 .375rem}:host[data-size=m] .t-tag{block-size:var(--tui-height-xs);padding:0 .5rem}:host[data-size=l] .t-tag{block-size:var(--tui-height-s);padding:0 .75rem}:host._editing .t-tag{visibility:hidden}.t-edit{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;font:inherit;color:var(--tui-text-primary);inline-size:100%;block-size:100%;box-sizing:border-box;padding:0 .5rem}.t-edit:-webkit-autofill,.t-edit:-webkit-autofill:hover,.t-edit:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}:host[data-size=s] .t-edit{padding:0 .375rem}:host[data-size=m] .t-edit{padding:0 .5rem}:host[data-size=l] .t-edit{padding:0 .75rem}.t-icon{font-size:1rem;block-size:100%;cursor:pointer;pointer-events:all;opacity:var(--tui-disabled-opacity);margin-inline-start:.25rem;margin-inline-end:-.25rem}.t-icon:hover{opacity:1}:host[data-size=s] .t-icon{margin-inline-start:0;block-size:.75rem}:host[data-size=s] .t-icon:before{font-size:.75rem}.t-content{inline-size:1rem;block-size:1rem;margin-inline-end:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "component", type: i3.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "directive", type: i4.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiTagComponent, isStandalone: false, selector: "tui-tag, a[tuiTag], button[tuiTag]", inputs: { value: "value", editable: "editable", separator: "separator", maxLength: "maxLength", size: "size", showLoader: "showLoader", status: "status", hoverable: "hoverable", removable: "removable", disabled: "disabled", autoColor: "autoColor", leftContent: "leftContent" }, outputs: { edited: "edited" }, host: { listeners: { "keydown.delete": "remove($event)", "keydown.backspace": "remove($event)", "keydown.enter": "edit($event)" }, properties: { "attr.data-size": "size", "attr.data-status": "status", "class._editing": "editing", "class._hoverable": "hoverable", "class._autocolor": "autoColor", "class._disabled": "disabled" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"t-tag\"\n [style.backgroundColor]=\"backgroundColor\"\n (dblclick)=\"edit($event)\"\n>\n @if (leftContent) {\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"leftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n <span\n automation-id=\"tui-tag__text\"\n class=\"t-text\"\n [textContent]=\"displayText\"\n ></span>\n @if (showLoader) {\n <tui-loader\n class=\"t-content\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n />\n }\n @if (canRemove) {\n <tui-icon\n automation-id=\"tui-tag__remove\"\n class=\"t-icon\"\n [icon]=\"icons.close\"\n (click)=\"remove($event)\"\n (mousedown.stop.prevent.zoneless)=\"(0)\"\n />\n }\n</div>\n@if (editing) {\n <input\n #input\n automation-id=\"tui-tag__edit\"\n type=\"text\"\n class=\"t-edit\"\n [attr.maxLength]=\"maxLength\"\n [ngModel]=\"editedText\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (ngModelChange)=\"onInput($event)\"\n />\n}\n", styles: [":host{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:inline-block;font:var(--tui-font-text-s);line-height:1.25rem;max-inline-size:100%;cursor:default;outline:none;text-decoration:none;padding:0;border:0}:host:after{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-sizing:border-box;border-radius:inherit;pointer-events:none}:host._hoverable:hover[data-status=custom]:after,:host._hoverable:active[data-status=custom]:after{background-color:var(--tui-background-neutral-1)}:host:focus:after{border:2px solid var(--tui-border-focus)}:host[data-size=s]{font:var(--tui-font-text-xs);line-height:1.25rem;border-radius:var(--tui-radius-xs)}:host[data-size=m]{border-radius:var(--tui-radius-xs)}:host[data-size=l]{border-radius:var(--tui-radius-s)}:host[data-status=primary]{background-color:var(--tui-background-accent-1);color:var(--tui-text-primary-on-accent-1)}:host[data-status=primary]._hoverable:hover{background-color:var(--tui-background-accent-1-hover)}:host[data-status=primary]._hoverable:active{background-color:var(--tui-background-accent-1-pressed)}:host[data-status=error]{background-color:var(--tui-status-negative-pale);color:var(--tui-text-primary)}:host[data-status=error]._hoverable:hover,:host[data-status=error]._hoverable:active{background-color:var(--tui-status-negative-pale-hover)}:host-context([tuiTheme=\"dark\"]) :host[data-status=error]{background-color:var(--tui-status-negative-pale);color:var(--tui-text-primary)}:host-context([tuiTheme=\"dark\"]) :host[data-status=error]._hoverable:hover,:host-context([tuiTheme=\"dark\"]) :host[data-status=error]._hoverable:active{background-color:var(--tui-status-negative-pale-hover)}:host[data-status=success]{background-color:var(--tui-status-positive-pale);color:var(--tui-text-primary)}:host[data-status=success]._hoverable:hover,:host[data-status=success]._hoverable:active{background-color:var(--tui-status-positive-pale-hover)}:host-context([tuiTheme=\"dark\"]) :host[data-status=success]{background-color:var(--tui-status-positive-pale);color:var(--tui-text-primary)}:host-context([tuiTheme=\"dark\"]) :host[data-status=success]._hoverable:hover,:host-context([tuiTheme=\"dark\"]) :host[data-status=success]._hoverable:active{background-color:var(--tui-status-positive-pale-hover)}:host[data-status=warning]{background-color:var(--tui-status-warning-pale);color:var(--tui-text-primary)}:host[data-status=warning]._hoverable:hover,:host[data-status=warning]._hoverable:active{background-color:var(--tui-status-warning-pale-hover)}:host-context([tuiTheme=\"dark\"]) :host[data-status=warning]{background-color:var(--tui-status-warning-pale);color:var(--tui-text-primary)}:host-context([tuiTheme=\"dark\"]) :host[data-status=warning]._hoverable:hover,:host-context([tuiTheme=\"dark\"]) :host[data-status=warning]._hoverable:active{background-color:var(--tui-status-warning-pale-hover)}:host[data-status=default]{color:#fff;background-color:var(--tui-text-tertiary)}:host[data-status=default]._hoverable:hover{background-color:var(--tui-background-accent-opposite-pressed)}:host[data-status=default]._hoverable:active{background-color:var(--tui-background-accent-opposite-hover)}:host-context([tuiTheme=\"dark\"]) :host[data-status=default]{color:var(--tui-text-primary);background-color:var(--tui-background-neutral-1)}:host-context([tuiTheme=\"dark\"]) :host[data-status=default]._hoverable:hover{background-color:var(--tui-background-neutral-1-hover)}:host-context([tuiTheme=\"dark\"]) :host[data-status=default]._hoverable:active{background-color:var(--tui-background-neutral-1-pressed)}:host-context([tuiTheme=\"dark\"]) :host[data-status=default]:focus:after{border:2px solid var(--tui-background-base)}:host._editing{background:transparent!important}:host._disabled,:host :host-context(*:disabled){pointer-events:none;opacity:var(--tui-disabled-opacity)}:host._hoverable{cursor:pointer}:host._autocolor{color:#000c}.t-text{white-space:pre;overflow:hidden;text-overflow:ellipsis;padding-inline-end:.02em}.t-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:flex;inline-size:auto;align-items:center;font:inherit;border-radius:inherit}:host[data-size=s] .t-tag{block-size:1.25rem;padding:0 .375rem}:host[data-size=m] .t-tag{block-size:var(--tui-height-xs);padding:0 .5rem}:host[data-size=l] .t-tag{block-size:var(--tui-height-s);padding:0 .75rem}:host._editing .t-tag{visibility:hidden}.t-edit{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;font:inherit;color:var(--tui-text-primary);inline-size:100%;block-size:100%;box-sizing:border-box;padding:0 .5rem}.t-edit:-webkit-autofill,.t-edit:-webkit-autofill:hover,.t-edit:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}:host[data-size=s] .t-edit{padding:0 .375rem}:host[data-size=m] .t-edit{padding:0 .5rem}:host[data-size=l] .t-edit{padding:0 .75rem}.t-icon{font-size:1rem;block-size:100%;cursor:pointer;pointer-events:all;opacity:var(--tui-disabled-opacity);margin-inline-start:.25rem;margin-inline-end:-.25rem}.t-icon:hover{opacity:1}:host[data-size=s] .t-icon{margin-inline-start:0;block-size:.75rem}:host[data-size=s] .t-icon:before{font-size:.75rem}.t-content{inline-size:1rem;block-size:1rem;margin-inline-end:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "component", type: i3.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "loading"] }, { kind: "directive", type: i4.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
142
142
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTagComponent, decorators: [{
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTagComponent, decorators: [{
144
144
  type: Component,
145
145
  args: [{ standalone: false, selector: 'tui-tag, a[tuiTag], button[tuiTag]', changeDetection: ChangeDetectionStrategy.OnPush, host: {
146
146
  '[attr.data-size]': 'size',
@@ -189,19 +189,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
189
189
  * https://taiga-ui.dev/components/chip
190
190
  */
191
191
  class TuiTagModule {
192
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
193
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: TuiTagModule, declarations: [TuiTagComponent], imports: [CommonModule,
192
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
193
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiTagModule, declarations: [TuiTagComponent], imports: [CommonModule,
194
194
  FormsModule,
195
195
  TuiIcon,
196
196
  TuiLoader,
197
197
  PolymorpheusOutlet,
198
198
  PolymorpheusTemplate], exports: [TuiTagComponent] }); }
199
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTagModule, imports: [CommonModule,
199
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTagModule, imports: [CommonModule,
200
200
  FormsModule,
201
201
  TuiIcon,
202
202
  TuiLoader] }); }
203
203
  }
204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTagModule, decorators: [{
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTagModule, decorators: [{
205
205
  type: NgModule,
206
206
  args: [{
207
207
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-tag.mjs","sources":["../../../projects/legacy/components/tag/tag.options.ts","../../../projects/legacy/components/tag/tag.component.ts","../../../projects/legacy/components/tag/tag.template.html","../../../projects/legacy/components/tag/tag.module.ts","../../../projects/legacy/components/tag/taiga-ui-legacy-components-tag.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\nexport interface TuiTagOptions {\n readonly autoColor: boolean;\n readonly size: TuiSizeL | TuiSizeS;\n readonly status: TuiStatus;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\nexport const TUI_TAG_DEFAULT_OPTIONS: TuiTagOptions = {\n size: 'm',\n status: 'default',\n autoColor: false,\n};\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\nexport const TUI_TAG_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_TAG_OPTIONS' : '', {\n factory: () => TUI_TAG_DEFAULT_OPTIONS,\n});\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\nexport function tuiTagOptionsProvider(options: Partial<TuiTagOptions>): Provider {\n return tuiProvideOptions(TUI_TAG_OPTIONS, options, TUI_TAG_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS, type TuiSizeXS} from '@taiga-ui/core/types';\nimport {tuiStringHashToHsl} from '@taiga-ui/core/utils/format';\nimport {tuiSizeBigger} from '@taiga-ui/core/utils/miscellaneous';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_TAG_OPTIONS} from './tag.options';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\n@Component({\n standalone: false,\n selector: 'tui-tag, a[tuiTag], button[tuiTag]',\n templateUrl: './tag.template.html',\n styleUrls: ['./tag.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-size]': 'size',\n '[attr.data-status]': 'status',\n '[class._editing]': 'editing',\n '[class._hoverable]': 'hoverable',\n '[class._autocolor]': 'autoColor',\n '[class._disabled]': 'disabled',\n '(keydown.delete)': 'remove($event)',\n '(keydown.backspace)': 'remove($event)',\n '(keydown.enter)': 'edit($event)',\n },\n})\nexport class TuiTagComponent {\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_TAG_OPTIONS);\n\n protected editing = false;\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected editedText: string | null = null;\n\n @Input()\n public value = '';\n\n @Input()\n public editable = false;\n\n @Input()\n public separator: RegExp | string = ',';\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public size: TuiSizeL | TuiSizeS = this.options.size;\n\n @Input()\n public showLoader = false;\n\n @Input()\n public status: TuiStatus = this.options.status;\n\n @Input()\n public hoverable = false;\n\n @Input()\n public removable = false;\n\n @Input()\n public disabled = false;\n\n @Input()\n public autoColor: boolean = this.options.autoColor;\n\n @Input()\n public leftContent: PolymorpheusContent;\n\n @Output()\n public readonly edited = new EventEmitter<string>();\n\n @ViewChild('input', {read: ElementRef})\n protected set input(input: ElementRef<HTMLInputElement>) {\n if (input) {\n input.nativeElement.focus();\n }\n }\n\n protected get backgroundColor(): string | null {\n return this.autoColor ? tuiStringHashToHsl(this.value) : null;\n }\n\n protected get canRemove(): boolean {\n return this.removable && !this.disabled && !this.showLoader;\n }\n\n protected get displayText(): string {\n return this.editedText ?? this.value;\n }\n\n protected get loaderSize(): TuiSizeXS {\n return tuiSizeBigger(this.size) ? 's' : 'xs';\n }\n\n protected edit(event: Event): void {\n if (!this.canEdit) {\n return;\n }\n\n event.preventDefault();\n this.editing = true;\n this.editedText = this.value;\n }\n\n protected remove(event: Event): void {\n if (!this.canRemove) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n this.edited.emit('');\n }\n\n protected onInput(value: string): void {\n const newTags = value.split(this.separator);\n\n if (newTags.length > 1) {\n this.save(String(newTags));\n\n return;\n }\n\n this.editedText = value;\n }\n\n protected onKeyDown(event: KeyboardEvent): void {\n event.stopPropagation();\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n event.preventDefault();\n this.save(this.editedText || '');\n break;\n case 'esc':\n case 'escape':\n event.preventDefault();\n this.stopEditing();\n this.el.focus();\n break;\n default:\n break;\n }\n }\n\n protected onBlur(): void {\n if (this.editedText !== null) {\n this.save(this.editedText);\n }\n }\n\n private get canEdit(): boolean {\n return this.editable && !this.disabled && !this.showLoader;\n }\n\n private stopEditing(): void {\n this.editing = false;\n this.editedText = null;\n }\n\n private save(value: string): void {\n this.stopEditing();\n this.edited.emit(value.trim());\n }\n}\n","<div\n class=\"t-tag\"\n [style.backgroundColor]=\"backgroundColor\"\n (dblclick)=\"edit($event)\"\n>\n @if (leftContent) {\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"leftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n <span\n automation-id=\"tui-tag__text\"\n class=\"t-text\"\n [textContent]=\"displayText\"\n ></span>\n @if (showLoader) {\n <tui-loader\n class=\"t-content\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n />\n }\n @if (canRemove) {\n <tui-icon\n automation-id=\"tui-tag__remove\"\n class=\"t-icon\"\n [icon]=\"icons.close\"\n (click)=\"remove($event)\"\n (mousedown.stop.prevent.zoneless)=\"(0)\"\n />\n }\n</div>\n@if (editing) {\n <input\n #input\n automation-id=\"tui-tag__edit\"\n type=\"text\"\n class=\"t-edit\"\n [attr.maxLength]=\"maxLength\"\n [ngModel]=\"editedText\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (ngModelChange)=\"onInput($event)\"\n />\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLoader} from '@taiga-ui/core/components/loader';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiTagComponent} from './tag.component';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiIcon,\n TuiLoader,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n ],\n declarations: [TuiTagComponent],\n exports: [TuiTagComponent],\n})\nexport class TuiTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-tag.mjs","sources":["../../../projects/legacy/components/tag/tag.options.ts","../../../projects/legacy/components/tag/tag.component.ts","../../../projects/legacy/components/tag/tag.template.html","../../../projects/legacy/components/tag/tag.module.ts","../../../projects/legacy/components/tag/taiga-ui-legacy-components-tag.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\nexport interface TuiTagOptions {\n readonly autoColor: boolean;\n readonly size: TuiSizeL | TuiSizeS;\n readonly status: TuiStatus;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\nexport const TUI_TAG_DEFAULT_OPTIONS: TuiTagOptions = {\n size: 'm',\n status: 'default',\n autoColor: false,\n};\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\nexport const TUI_TAG_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_TAG_OPTIONS' : '', {\n factory: () => TUI_TAG_DEFAULT_OPTIONS,\n});\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\nexport function tuiTagOptionsProvider(options: Partial<TuiTagOptions>): Provider {\n return tuiProvideOptions(TUI_TAG_OPTIONS, options, TUI_TAG_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS, type TuiSizeXS} from '@taiga-ui/core/types';\nimport {tuiStringHashToHsl} from '@taiga-ui/core/utils/format';\nimport {tuiSizeBigger} from '@taiga-ui/core/utils/miscellaneous';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_TAG_OPTIONS} from './tag.options';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\n@Component({\n standalone: false,\n selector: 'tui-tag, a[tuiTag], button[tuiTag]',\n templateUrl: './tag.template.html',\n styleUrl: './tag.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-size]': 'size',\n '[attr.data-status]': 'status',\n '[class._editing]': 'editing',\n '[class._hoverable]': 'hoverable',\n '[class._autocolor]': 'autoColor',\n '[class._disabled]': 'disabled',\n '(keydown.delete)': 'remove($event)',\n '(keydown.backspace)': 'remove($event)',\n '(keydown.enter)': 'edit($event)',\n },\n})\nexport class TuiTagComponent {\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_TAG_OPTIONS);\n\n protected editing = false;\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected editedText: string | null = null;\n\n @Input()\n public value = '';\n\n @Input()\n public editable = false;\n\n @Input()\n public separator: RegExp | string = ',';\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public size: TuiSizeL | TuiSizeS = this.options.size;\n\n @Input()\n public showLoader = false;\n\n @Input()\n public status: TuiStatus = this.options.status;\n\n @Input()\n public hoverable = false;\n\n @Input()\n public removable = false;\n\n @Input()\n public disabled = false;\n\n @Input()\n public autoColor: boolean = this.options.autoColor;\n\n @Input()\n public leftContent: PolymorpheusContent;\n\n @Output()\n public readonly edited = new EventEmitter<string>();\n\n @ViewChild('input', {read: ElementRef})\n protected set input(input: ElementRef<HTMLInputElement>) {\n if (input) {\n input.nativeElement.focus();\n }\n }\n\n protected get backgroundColor(): string | null {\n return this.autoColor ? tuiStringHashToHsl(this.value) : null;\n }\n\n protected get canRemove(): boolean {\n return this.removable && !this.disabled && !this.showLoader;\n }\n\n protected get displayText(): string {\n return this.editedText ?? this.value;\n }\n\n protected get loaderSize(): TuiSizeXS {\n return tuiSizeBigger(this.size) ? 's' : 'xs';\n }\n\n protected edit(event: Event): void {\n if (!this.canEdit) {\n return;\n }\n\n event.preventDefault();\n this.editing = true;\n this.editedText = this.value;\n }\n\n protected remove(event: Event): void {\n if (!this.canRemove) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n this.edited.emit('');\n }\n\n protected onInput(value: string): void {\n const newTags = value.split(this.separator);\n\n if (newTags.length > 1) {\n this.save(String(newTags));\n\n return;\n }\n\n this.editedText = value;\n }\n\n protected onKeyDown(event: KeyboardEvent): void {\n event.stopPropagation();\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n event.preventDefault();\n this.save(this.editedText || '');\n break;\n case 'esc':\n case 'escape':\n event.preventDefault();\n this.stopEditing();\n this.el.focus();\n break;\n default:\n break;\n }\n }\n\n protected onBlur(): void {\n if (this.editedText !== null) {\n this.save(this.editedText);\n }\n }\n\n private get canEdit(): boolean {\n return this.editable && !this.disabled && !this.showLoader;\n }\n\n private stopEditing(): void {\n this.editing = false;\n this.editedText = null;\n }\n\n private save(value: string): void {\n this.stopEditing();\n this.edited.emit(value.trim());\n }\n}\n","<div\n class=\"t-tag\"\n [style.backgroundColor]=\"backgroundColor\"\n (dblclick)=\"edit($event)\"\n>\n @if (leftContent) {\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"leftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n <span\n automation-id=\"tui-tag__text\"\n class=\"t-text\"\n [textContent]=\"displayText\"\n ></span>\n @if (showLoader) {\n <tui-loader\n class=\"t-content\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n />\n }\n @if (canRemove) {\n <tui-icon\n automation-id=\"tui-tag__remove\"\n class=\"t-icon\"\n [icon]=\"icons.close\"\n (click)=\"remove($event)\"\n (mousedown.stop.prevent.zoneless)=\"(0)\"\n />\n }\n</div>\n@if (editing) {\n <input\n #input\n automation-id=\"tui-tag__edit\"\n type=\"text\"\n class=\"t-edit\"\n [attr.maxLength]=\"maxLength\"\n [ngModel]=\"editedText\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (ngModelChange)=\"onInput($event)\"\n />\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLoader} from '@taiga-ui/core/components/loader';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiTagComponent} from './tag.component';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChip}\n * https://taiga-ui.dev/components/chip\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiIcon,\n TuiLoader,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n ],\n declarations: [TuiTagComponent],\n exports: [TuiTagComponent],\n})\nexport class TuiTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, ElementRef, Input, ContentChild, ViewChild, ChangeDetectionStrategy, Component, Directive, NgModule } from '@angular/core';
3
3
  import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
4
- import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
4
+ import { tuiIsFocused } from '@taiga-ui/cdk/utils/focus';
5
5
  import { TUI_TEXTFIELD_OPTIONS } from '@taiga-ui/core/components/textfield';
6
6
  import { TuiHintOptionsDirective } from '@taiga-ui/core/directives/hint';
7
7
  import { AbstractTuiControl, tuiAsControl, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
@@ -50,7 +50,7 @@ class TuiTextareaComponent extends AbstractTuiControl {
50
50
  return (this.textfield?.nativeElement || this.focusableElement?.nativeElement || null);
51
51
  }
52
52
  get focused() {
53
- return tuiIsNativeFocused(this.nativeFocusableElement);
53
+ return tuiIsFocused(this.nativeFocusableElement);
54
54
  }
55
55
  get computeMaxHeight() {
56
56
  return this.expandable ? this.rows * this.lineHeight : null;
@@ -140,14 +140,14 @@ class TuiTextareaComponent extends AbstractTuiControl {
140
140
  get placeholderRaisable() {
141
141
  return this.size !== 's' && !this.controller.labelOutside;
142
142
  }
143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
144
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: TuiTextareaComponent, isStandalone: false, selector: "tui-textarea", inputs: { rows: "rows", maxLength: "maxLength", expandable: "expandable" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "attr.data-size": "size", "class._ios": "isIOS", "class._expandable": "expandable", "class._has-counter": "hasCounter", "class._label-outside": "labelOutside", "class._has-tooltip": "hasTooltip", "class._has-value": "hasValue", "style.--t-border-end.rem": "borderEnd", "style.--t-border-start.rem": "borderStart" } }, providers: [
143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
144
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiTextareaComponent, isStandalone: false, selector: "tui-textarea", inputs: { rows: "rows", maxLength: "maxLength", expandable: "expandable" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "attr.data-size": "size", "class._ios": "isIOS", "class._expandable": "expandable", "class._has-counter": "hasCounter", "class._label-outside": "labelOutside", "class._has-tooltip": "hasTooltip", "class._has-value": "hasValue", "style.--t-border-end.rem": "borderEnd", "style.--t-border-start.rem": "borderStart" } }, providers: [
145
145
  tuiAsFocusableItemAccessor(TuiTextareaComponent),
146
146
  tuiAsControl(TuiTextareaComponent),
147
147
  TEXTFIELD_CONTROLLER_PROVIDER,
148
148
  ], queries: [{ propertyName: "textfield", first: true, predicate: TuiTextfieldComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (hintOptions?.change$ | async) {}\n<div\n automation-id=\"tui-text-area__wrapper\"\n tuiWrapper\n class=\"t-outline\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n>\n @if (hasCounter) {\n <div\n automation-id=\"tui-text-area__counter\"\n class=\"t-counter\"\n >\n {{ value.length }}/{{ maxLength }}\n </div>\n }\n\n <label\n class=\"t-content\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-wrapper\">\n @if (hasPlaceholder) {\n <div\n automation-id=\"tui-text-area__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n }\n <tui-scrollbar\n automation-id=\"tui-text-area__scrollbar\"\n class=\"t-box\"\n [style.maxHeight.px]=\"computeMaxHeight\"\n >\n <div class=\"t-input-wrapper\">\n <div class=\"t-relative\">\n <div\n aria-hidden=\"true\"\n class=\"t-pseudo-content\"\n >\n <span [textContent]=\"fittedContent || nativeFocusableElement?.placeholder\"></span>\n <span\n class=\"t-pseudo-content__extra\"\n [textContent]=\"extraContent\"\n ></span>\n <span class=\"t-caret\"></span>\n </div>\n <textarea\n #focusableElement\n automation-id=\"tui-text-area__native\"\n class=\"t-input\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n [(ngModel)]=\"value\"\n ></textarea>\n <ng-content select=\"textarea\" />\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n @if (iconLeftContent) {\n <div class=\"t-icon t-icon_left t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n @if (hasCustomContent) {\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n [icon]=\"src\"\n />\n }\n @if (hasCleaner) {\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onValueChange('')\"\n />\n }\n @if (hasTooltip) {\n <tui-tooltip\n automation-id=\"tui-text-area__tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n }\n @if (iconContent) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n </label>\n</div>\n", styles: [":host{position:relative;z-index:0;display:flex;flex-direction:column;min-block-size:var(--tui-textarea-height);border-radius:var(--tui-radius-m);color:var(--tui-text-primary)}:host :host-context(*:disabled){pointer-events:none}:host[data-size=s]{--tui-height: var(--tui-height-s);--tui-textarea-height: 4.5625rem;font:var(--tui-font-text-s)}:host[data-size=m]{--tui-height: var(--tui-height-m);--tui-textarea-height: 5.5rem;font:var(--tui-font-text-s)}:host[data-size=l]{--tui-height: var(--tui-height-l);--tui-textarea-height: 6.75rem;font:var(--tui-font-text-m)}:host[data-size=m]._has-counter{--tui-textarea-height: 6.625rem}:host[data-size=l]._has-counter{--tui-textarea-height: 7.875rem}@supports (-webkit-hyphens: none){:host .t-pseudo-content,:host .t-input{text-wrap:balance;white-space:break-spaces}}.t-outline{min-block-size:inherit}.t-content{display:block;margin-block-start:0;margin-block-end:0;min-block-size:inherit;box-sizing:border-box;overflow:hidden;cursor:text}:host._disabled .t-content{cursor:auto;opacity:var(--tui-disabled-opacity)}:host:not(._expandable) .t-content{position:absolute;top:0;left:0;bottom:1px;right:0;min-block-size:auto}:host._has-counter:not(._expandable) .t-content{bottom:1.6875rem}:host._label-outside._has-counter:not(._expandable) .t-content{bottom:1rem}.t-wrapper{position:relative;inline-size:100%;block-size:100%;min-block-size:inherit;box-sizing:border-box;padding:calc((var(--tui-height) - 1.25rem) / 2) 0}:host[data-size=l]._label-outside .t-wrapper{padding:calc((var(--tui-height) - 1.5rem) / 2) 0}:host[data-size=m]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height) - 2.25rem) / 2) 0}:host[data-size=l]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height) - 2.625rem) / 2) 0}:host-context(table)[data-size=m]._label-outside .t-wrapper{padding-block-end:.75rem}:host-context(table)[data-size=l]._label-outside .t-wrapper{padding-block-end:1rem}.t-input-wrapper{min-block-size:inherit;inline-size:100%;flex:1}.t-relative{position:relative;min-block-size:inherit}.t-box{display:flex;min-block-size:calc(100% - 1rem);inline-size:100%;box-sizing:content-box}:host:not(._expandable) .t-box{block-size:calc(100% - 1rem)}:host:not(._expandable)._label-outside .t-box{block-size:100%}:host._has-counter._expandable .t-box{margin-block-end:1.25rem}:host[data-size=m]:not(._label-outside) .t-box{border-block-start:1rem solid transparent}:host[data-size=l]:not(._label-outside) .t-box{border-block-start:1.25rem solid transparent}.t-pseudo-content{white-space:pre-wrap;overflow-wrap:break-word;pointer-events:none;color:transparent;overflow:hidden;border:0 solid transparent;border-inline-start-width:var(--t-border-start, 0);border-inline-end-width:var(--t-border-end, 0)}:host[data-size=s] .t-pseudo-content,:host[data-size=m] .t-pseudo-content{padding:0 .75rem}:host[data-size=l] .t-pseudo-content{padding:0 1rem}.t-pseudo-content__extra{background-color:var(--tui-status-negative-pale)}.t-input{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;box-sizing:border-box;resize:none;overflow:hidden;outline:none;border-style:solid;border-color:transparent;border-inline-start-width:var(--t-border-start, 0);border-inline-end-width:var(--t-border-end, 0)}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}.t-input:not(:last-of-type){display:none}.t-input::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused .t-input:not(:read-only)::placeholder{opacity:1}:host[data-size=s] .t-input,:host[data-size=m] .t-input{padding:0 .75rem;font:var(--tui-font-text-s)}:host[data-size=l] .t-input{padding:0 1rem;font:var(--tui-font-text-m)}@supports (-webkit-marquee-repetition: infinite) and (object-fit: fill){:host._ios .t-input{padding-inline-start:.8125rem}}.t-pseudo-content,.t-input{word-break:break-word}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;inline-size:100%;-webkit-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none;will-change:transform;transform:translateY(0);position:absolute;top:calc(var(--tui-height) / 2 - .625rem);left:0;max-inline-size:100%;border:0 solid transparent;border-inline-start-width:var(--t-border-start, 0);border-inline-end-width:var(--t-border-end, 0);box-sizing:border-box}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-text-negative)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-tertiary)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-primary)}:host[data-size=s] .t-placeholder{padding:0 .75rem}:host[data-size=m] .t-placeholder{padding:0 .75rem}:host[data-size=l] .t-placeholder{padding:0 1rem}:host._label-outside .t-placeholder{overflow:initial;block-size:auto;white-space:initial}.t-icons{position:absolute;top:0;left:0;bottom:0;right:0;display:flex;justify-content:flex-end;pointer-events:none;padding:calc((var(--tui-height) - 1.5rem) / 2) 1rem}:host[data-size=m] .t-icons{padding:calc((var(--tui-height) - 1.5rem) / 2) .625rem}.t-icons>:not(:first-child){margin-inline-start:.25rem}.t-icon{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}.t-icon_left{margin-inline-end:auto}.t-cleaner{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-cleaner:before{font-size:1rem}.t-caret{display:inline-block;block-size:1rem;inline-size:0}.t-counter{position:absolute;right:.75rem;bottom:.5rem;font:var(--tui-font-text-s);pointer-events:none;margin-block-start:auto;text-align:end;color:var(--tui-text-tertiary)}:host._readonly .t-textfield-icon ::ng-deep [tuiAppearance][data-appearance=icon]{pointer-events:none}@media (hover: hover) and (pointer: fine){:host:not(._readonly):not(._disabled):hover .t-textfield-icon ::ng-deep [tuiAppearance][data-appearance=icon]:before{color:var(--tui-text-secondary)}}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "component", type: i3.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId", "context"] }, { kind: "directive", type: i4.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i5.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i6.TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: i7.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
149
149
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTextareaComponent, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTextareaComponent, decorators: [{
151
151
  type: Component,
152
152
  args: [{ standalone: false, selector: 'tui-textarea', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
153
153
  tuiAsFocusableItemAccessor(TuiTextareaComponent),
@@ -188,10 +188,10 @@ class TuiTextareaDirective extends AbstractTuiTextfieldHost {
188
188
  onValueChange(value) {
189
189
  this.host.onValueChange(value);
190
190
  }
191
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTextareaDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
192
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiTextareaDirective, isStandalone: false, selector: "tui-textarea", providers: [tuiAsTextfieldHost(TuiTextareaDirective)], usesInheritance: true, ngImport: i0 }); }
191
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTextareaDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
192
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiTextareaDirective, isStandalone: false, selector: "tui-textarea", providers: [tuiAsTextfieldHost(TuiTextareaDirective)], usesInheritance: true, ngImport: i0 }); }
193
193
  }
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTextareaDirective, decorators: [{
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTextareaDirective, decorators: [{
195
195
  type: Directive,
196
196
  args: [{
197
197
  standalone: false,
@@ -205,8 +205,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
205
205
  * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead
206
206
  */
207
207
  class TuiTextareaModule {
208
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
209
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: TuiTextareaModule, declarations: [TuiTextareaComponent, TuiTextareaDirective], imports: [CommonModule,
208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
209
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiTextareaModule, declarations: [TuiTextareaComponent, TuiTextareaDirective], imports: [CommonModule,
210
210
  FormsModule,
211
211
  TuiScrollbar,
212
212
  TuiTooltipModule,
@@ -220,7 +220,7 @@ class TuiTextareaModule {
220
220
  TuiTextfieldComponent,
221
221
  PolymorpheusOutlet,
222
222
  PolymorpheusTemplate] }); }
223
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTextareaModule, imports: [CommonModule,
223
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTextareaModule, imports: [CommonModule,
224
224
  FormsModule,
225
225
  TuiScrollbar,
226
226
  TuiTooltipModule,
@@ -228,7 +228,7 @@ class TuiTextareaModule {
228
228
  TuiPrimitiveTextfieldModule,
229
229
  TuiIcon] }); }
230
230
  }
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiTextareaModule, decorators: [{
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTextareaModule, decorators: [{
232
232
  type: NgModule,
233
233
  args: [{
234
234
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-textarea.mjs","sources":["../../../projects/legacy/components/textarea/textarea.component.ts","../../../projects/legacy/components/textarea/textarea.template.html","../../../projects/legacy/components/textarea/textarea.directive.ts","../../../projects/legacy/components/textarea/textarea.module.ts","../../../projects/legacy/components/textarea/taiga-ui-legacy-components-textarea.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {\n TUI_ICON_START_PADDINGS,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {tuiGetBorder} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-textarea',\n templateUrl: './textarea.template.html',\n styleUrls: ['./textarea.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiTextareaComponent),\n tuiAsControl(TuiTextareaComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '[class._ios]': 'isIOS',\n '[class._expandable]': 'expandable',\n '[class._has-counter]': 'hasCounter',\n '[class._label-outside]': 'labelOutside',\n '[class._has-tooltip]': 'hasTooltip',\n '[class._has-value]': 'hasValue',\n '[style.--t-border-end.rem]': 'borderEnd',\n '[style.--t-border-start.rem]': 'borderStart',\n '(focusin)': 'onFocused(true)',\n '(focusout)': 'onFocused(false)',\n },\n})\nexport class TuiTextareaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n @ContentChild(TuiTextfieldComponent, {read: ElementRef})\n private readonly textfield?: ElementRef<HTMLTextAreaElement>;\n\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n\n protected readonly isIOS = inject(TUI_IS_IOS);\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n\n @Input()\n public rows = DEFAULT_ROWS;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public expandable = false;\n\n public get nativeFocusableElement(): HTMLTextAreaElement | null {\n if (this.computedDisabled) {\n return null;\n }\n\n return (\n this.textfield?.nativeElement || this.focusableElement?.nativeElement || null\n );\n }\n\n public get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n public get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n }\n\n protected get labelOutside(): boolean {\n return this.options.appearance() === 'table' || this.controller.labelOutside;\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n protected get borderStart(): number {\n return this.iconLeftContent ? TUI_ICON_START_PADDINGS[this.size] : 0;\n }\n\n protected get borderEnd(): number {\n return tuiGetBorder(\n !!this.iconContent,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n this.size,\n );\n }\n\n protected get hasTooltip(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.controller.options.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n protected get hasValue(): boolean {\n return this.value !== '';\n }\n\n protected get hasCounter(): boolean {\n return !!this.maxLength && this.interactive;\n }\n\n protected get appearance(): string {\n return this.options.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n protected get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n protected get hasPlaceholder(): boolean {\n return this.placeholderRaisable || (!this.hasValue && !this.hasExampleText);\n }\n\n protected get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n protected get iconLeftContent(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconStart;\n }\n\n protected get iconContent(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconCleaner(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n protected get hasExampleText(): boolean {\n return (\n !!this.textfield?.nativeElement.placeholder &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n protected get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n protected get fittedContent(): string {\n return this.value.slice(0, this.maxLength || Infinity);\n }\n\n protected get extraContent(): string {\n return this.value.slice(this.maxLength || Infinity);\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected onMouseDown(event: MouseEvent): void {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus();\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== 's' && !this.controller.labelOutside;\n }\n}\n","@if (hintOptions?.change$ | async) {}\n<div\n automation-id=\"tui-text-area__wrapper\"\n tuiWrapper\n class=\"t-outline\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n>\n @if (hasCounter) {\n <div\n automation-id=\"tui-text-area__counter\"\n class=\"t-counter\"\n >\n {{ value.length }}/{{ maxLength }}\n </div>\n }\n\n <label\n class=\"t-content\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-wrapper\">\n @if (hasPlaceholder) {\n <div\n automation-id=\"tui-text-area__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n }\n <tui-scrollbar\n automation-id=\"tui-text-area__scrollbar\"\n class=\"t-box\"\n [style.maxHeight.px]=\"computeMaxHeight\"\n >\n <div class=\"t-input-wrapper\">\n <div class=\"t-relative\">\n <div\n aria-hidden=\"true\"\n class=\"t-pseudo-content\"\n >\n <span [textContent]=\"fittedContent || nativeFocusableElement?.placeholder\"></span>\n <span\n class=\"t-pseudo-content__extra\"\n [textContent]=\"extraContent\"\n ></span>\n <span class=\"t-caret\"></span>\n </div>\n <textarea\n #focusableElement\n automation-id=\"tui-text-area__native\"\n class=\"t-input\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n [(ngModel)]=\"value\"\n ></textarea>\n <ng-content select=\"textarea\" />\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n @if (iconLeftContent) {\n <div class=\"t-icon t-icon_left t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n @if (hasCustomContent) {\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n [icon]=\"src\"\n />\n }\n @if (hasCleaner) {\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onValueChange('')\"\n />\n }\n @if (hasTooltip) {\n <tui-tooltip\n automation-id=\"tui-text-area__tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n }\n @if (iconContent) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n </label>\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 TuiTextareaComponent} from './textarea.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-textarea',\n providers: [tuiAsTextfieldHost(TuiTextareaDirective)],\n})\nexport class TuiTextareaDirective extends AbstractTuiTextfieldHost<TuiTextareaComponent> {\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextareaComponent} from './textarea.component';\nimport {TuiTextareaDirective} from './textarea.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiScrollbar,\n TuiTooltipModule,\n TuiWrapperModule,\n TuiPrimitiveTextfieldModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiIcon,\n TuiAppearance,\n ],\n declarations: [TuiTextareaComponent, TuiTextareaDirective],\n exports: [\n TuiTextareaComponent,\n TuiTextareaDirective,\n TuiTextfieldComponent,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n ],\n})\nexport class TuiTextareaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-textarea.mjs","sources":["../../../projects/legacy/components/textarea/textarea.component.ts","../../../projects/legacy/components/textarea/textarea.template.html","../../../projects/legacy/components/textarea/textarea.directive.ts","../../../projects/legacy/components/textarea/textarea.module.ts","../../../projects/legacy/components/textarea/taiga-ui-legacy-components-textarea.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {\n TUI_ICON_START_PADDINGS,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {tuiGetBorder} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-textarea',\n templateUrl: './textarea.template.html',\n styleUrl: './textarea.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiTextareaComponent),\n tuiAsControl(TuiTextareaComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '[class._ios]': 'isIOS',\n '[class._expandable]': 'expandable',\n '[class._has-counter]': 'hasCounter',\n '[class._label-outside]': 'labelOutside',\n '[class._has-tooltip]': 'hasTooltip',\n '[class._has-value]': 'hasValue',\n '[style.--t-border-end.rem]': 'borderEnd',\n '[style.--t-border-start.rem]': 'borderStart',\n '(focusin)': 'onFocused(true)',\n '(focusout)': 'onFocused(false)',\n },\n})\nexport class TuiTextareaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n @ContentChild(TuiTextfieldComponent, {read: ElementRef})\n private readonly textfield?: ElementRef<HTMLTextAreaElement>;\n\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n\n protected readonly isIOS = inject(TUI_IS_IOS);\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n\n @Input()\n public rows = DEFAULT_ROWS;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public expandable = false;\n\n public get nativeFocusableElement(): HTMLTextAreaElement | null {\n if (this.computedDisabled) {\n return null;\n }\n\n return (\n this.textfield?.nativeElement || this.focusableElement?.nativeElement || null\n );\n }\n\n public get focused(): boolean {\n return tuiIsFocused(this.nativeFocusableElement);\n }\n\n public get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n }\n\n protected get labelOutside(): boolean {\n return this.options.appearance() === 'table' || this.controller.labelOutside;\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n protected get borderStart(): number {\n return this.iconLeftContent ? TUI_ICON_START_PADDINGS[this.size] : 0;\n }\n\n protected get borderEnd(): number {\n return tuiGetBorder(\n !!this.iconContent,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n this.size,\n );\n }\n\n protected get hasTooltip(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.controller.options.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n protected get hasValue(): boolean {\n return this.value !== '';\n }\n\n protected get hasCounter(): boolean {\n return !!this.maxLength && this.interactive;\n }\n\n protected get appearance(): string {\n return this.options.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n protected get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n protected get hasPlaceholder(): boolean {\n return this.placeholderRaisable || (!this.hasValue && !this.hasExampleText);\n }\n\n protected get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n protected get iconLeftContent(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconStart;\n }\n\n protected get iconContent(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconCleaner(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n protected get hasExampleText(): boolean {\n return (\n !!this.textfield?.nativeElement.placeholder &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n protected get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n protected get fittedContent(): string {\n return this.value.slice(0, this.maxLength || Infinity);\n }\n\n protected get extraContent(): string {\n return this.value.slice(this.maxLength || Infinity);\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected onMouseDown(event: MouseEvent): void {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus();\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== 's' && !this.controller.labelOutside;\n }\n}\n","@if (hintOptions?.change$ | async) {}\n<div\n automation-id=\"tui-text-area__wrapper\"\n tuiWrapper\n class=\"t-outline\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n>\n @if (hasCounter) {\n <div\n automation-id=\"tui-text-area__counter\"\n class=\"t-counter\"\n >\n {{ value.length }}/{{ maxLength }}\n </div>\n }\n\n <label\n class=\"t-content\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-wrapper\">\n @if (hasPlaceholder) {\n <div\n automation-id=\"tui-text-area__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n }\n <tui-scrollbar\n automation-id=\"tui-text-area__scrollbar\"\n class=\"t-box\"\n [style.maxHeight.px]=\"computeMaxHeight\"\n >\n <div class=\"t-input-wrapper\">\n <div class=\"t-relative\">\n <div\n aria-hidden=\"true\"\n class=\"t-pseudo-content\"\n >\n <span [textContent]=\"fittedContent || nativeFocusableElement?.placeholder\"></span>\n <span\n class=\"t-pseudo-content__extra\"\n [textContent]=\"extraContent\"\n ></span>\n <span class=\"t-caret\"></span>\n </div>\n <textarea\n #focusableElement\n automation-id=\"tui-text-area__native\"\n class=\"t-input\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n [(ngModel)]=\"value\"\n ></textarea>\n <ng-content select=\"textarea\" />\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n @if (iconLeftContent) {\n <div class=\"t-icon t-icon_left t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n @if (hasCustomContent) {\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n [icon]=\"src\"\n />\n }\n @if (hasCleaner) {\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onValueChange('')\"\n />\n }\n @if (hasTooltip) {\n <tui-tooltip\n automation-id=\"tui-text-area__tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n }\n @if (iconContent) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n </label>\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 TuiTextareaComponent} from './textarea.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-textarea',\n providers: [tuiAsTextfieldHost(TuiTextareaDirective)],\n})\nexport class TuiTextareaDirective extends AbstractTuiTextfieldHost<TuiTextareaComponent> {\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextareaComponent} from './textarea.component';\nimport {TuiTextareaDirective} from './textarea.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiScrollbar,\n TuiTooltipModule,\n TuiWrapperModule,\n TuiPrimitiveTextfieldModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiIcon,\n TuiAppearance,\n ],\n declarations: [TuiTextareaComponent, TuiTextareaDirective],\n exports: [\n TuiTextareaComponent,\n TuiTextareaDirective,\n TuiTextfieldComponent,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n ],\n})\nexport class TuiTextareaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BO,MAAM,YAAY,GAAG;AACrB,MAAM,aAAa,GAAG;AACtB,MAAM,aAAa,GAAG;AAE7B;;;AAGG;AA0BG,MAAO,oBACT,SAAQ,kBAA0B,CAAA;AA1BtC,IAAA,WAAA,GAAA;;AAmCqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAErC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,gCAAgC,CAAC;QACrD,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,uBAAuB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QAG3E,IAAI,CAAA,IAAA,GAAG,YAAY;QAGnB,IAAS,CAAA,SAAA,GAAkB,IAAI;QAG/B,IAAU,CAAA,UAAA,GAAG,KAAK;AAgJ5B;AA9IG,IAAA,IAAW,sBAAsB,GAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,OAAO,IAAI;;AAGf,QAAA,QACI,IAAI,CAAC,SAAS,EAAE,aAAa,IAAI,IAAI,CAAC,gBAAgB,EAAE,aAAa,IAAI,IAAI;;AAIrF,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC;;AAGpD,IAAA,IAAW,gBAAgB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;;AAGxD,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;;AAGtB,IAAA,IAAc,YAAY,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY;;AAGhF,IAAA,IAAc,IAAI,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI;;AAG/B,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,eAAe,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;;AAGxE,IAAA,IAAc,SAAS,GAAA;QACnB,OAAO,YAAY,CACf,CAAC,CAAC,IAAI,CAAC,WAAW,EAClB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,IAAI,CACZ;;AAGL,IAAA,IAAc,UAAU,GAAA;AACpB,QAAA,QACI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO;AAC3B,aAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;;AAI1E,IAAA,IAAc,QAAQ,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,EAAE;;AAG5B,IAAA,IAAc,UAAU,GAAA;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW;;AAG/C,IAAA,IAAc,UAAU,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK;AACjC,cAAE;AACF,cAAE,IAAI,CAAC,UAAU,CAAC,UAAU;;AAGpC,IAAA,IAAc,UAAU,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW;;AAGvE,IAAA,IAAc,cAAc,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,mBAAmB,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;;AAG/E,IAAA,IAAc,gBAAgB,GAAA;AAC1B,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa;;AAG1C,IAAA,IAAc,eAAe,GAAA;AAGzB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS;;AAGpC,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI;;AAG/B,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW;;AAG9C,IAAA,IAAc,cAAc,GAAA;QACxB,QACI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW;AAC3C,YAAA,IAAI,CAAC,OAAO;YACZ,CAAC,IAAI,CAAC,QAAQ;AACd,YAAA,CAAC,IAAI,CAAC,QAAQ;;AAItB,IAAA,IAAc,iBAAiB,GAAA;QAC3B,QACI,IAAI,CAAC,mBAAmB;AACxB,aAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC;;AAInE,IAAA,IAAc,aAAa,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;;AAG1D,IAAA,IAAc,YAAY,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;;AAG7C,IAAA,SAAS,CAAC,OAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;;AAGrB,IAAA,WAAW,CAAC,KAAiB,EAAA;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,sBAAsB,EAAE;YAC9C;;QAGJ,KAAK,CAAC,cAAc,EAAE;AAEtB,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,YAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE;;;IAIjC,gBAAgB,GAAA;AACtB,QAAA,OAAO,EAAE;;AAGb,IAAA,IAAY,UAAU,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,GAAG,GAAG,aAAa,GAAG,aAAa;;AAGvE,IAAA,IAAY,mBAAmB,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY;;+GArKpD,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,EAnBlB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,YAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,0BAAA,EAAA,WAAA,EAAA,4BAAA,EAAA,aAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,0BAA0B,CAAC,oBAAoB,CAAC;YAChD,YAAY,CAAC,oBAAoB,CAAC;YAClC,6BAA6B;AAChC,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAsBa,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAS,UAAU,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvE1D,usIAiHA,EAAA,MAAA,EAAA,CAAA,6yOAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,SAAA,CAAA,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,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDjDa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAzBhC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,cAAc,EAAA,eAAA,EAGP,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA,0BAA0B,CAAsB,oBAAA,CAAA;AAChD,wBAAA,YAAY,CAAsB,oBAAA,CAAA;wBAClC,6BAA6B;qBAChC,EACK,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,cAAc,EAAE,OAAO;AACvB,wBAAA,qBAAqB,EAAE,YAAY;AACnC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,wBAAwB,EAAE,cAAc;AACxC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,oBAAoB,EAAE,UAAU;AAChC,wBAAA,4BAA4B,EAAE,WAAW;AACzC,wBAAA,8BAA8B,EAAE,aAAa;AAC7C,wBAAA,WAAW,EAAE,iBAAiB;AAC9B,wBAAA,YAAY,EAAE,kBAAkB;AACnC,qBAAA,EAAA,QAAA,EAAA,usIAAA,EAAA,MAAA,EAAA,CAAA,6yOAAA,CAAA,EAAA;8BAOgB,gBAAgB,EAAA,CAAA;sBADhC,SAAS;uBAAC,kBAAkB;gBAIZ,SAAS,EAAA,CAAA;sBADzB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC;gBAUhD,IAAI,EAAA,CAAA;sBADV;gBAIM,SAAS,EAAA,CAAA;sBADf;gBAIM,UAAU,EAAA,CAAA;sBADhB;;;AEhFL;;;AAGG;AAMG,MAAO,oBAAqB,SAAQ,wBAA8C,CAAA;AAC7E,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;;+GAFzB,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,4DAFlB,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,cAAc;AACxB,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,oBAAA,CAAsB,CAAC;AACxD,iBAAA;;;ACGD;;;AAGG;MAuBU,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,EATX,YAAA,EAAA,CAAA,oBAAoB,EAAE,oBAAoB,aAXrD,YAAY;YACZ,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,gBAAgB;YAChB,2BAA2B;YAC3B,kBAAkB;YAClB,oBAAoB;YACpB,OAAO;AACP,YAAA,aAAa,aAIb,oBAAoB;YACpB,oBAAoB;YACpB,qBAAqB;YACrB,kBAAkB;YAClB,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAGf,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,YApBtB,YAAY;YACZ,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,gBAAgB;YAChB,2BAA2B;YAG3B,OAAO,CAAA,EAAA,CAAA,CAAA;;4FAYF,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAtB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,WAAW;wBACX,YAAY;wBACZ,gBAAgB;wBAChB,gBAAgB;wBAChB,2BAA2B;wBAC3B,kBAAkB;wBAClB,oBAAoB;wBACpB,OAAO;wBACP,aAAa;AAChB,qBAAA;AACD,oBAAA,YAAY,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;AAC1D,oBAAA,OAAO,EAAE;wBACL,oBAAoB;wBACpB,oBAAoB;wBACpB,qBAAqB;wBACrB,kBAAkB;wBAClB,oBAAoB;AACvB,qBAAA;AACJ,iBAAA;;;AC1CD;;AAEG;;;;"}