@taiga-ui/legacy 4.42.0 → 4.43.0-canary.7059f3e

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 (166) hide show
  1. package/components/arrow/arrow.options.d.ts +2 -1
  2. package/components/arrow/arrow.providers.d.ts +2 -1
  3. package/components/color-selector/color-selector.options.d.ts +3 -2
  4. package/components/input-copy/input-copy.options.d.ts +2 -1
  5. package/components/input-date/input-date.component.d.ts +4 -0
  6. package/components/input-date/input-date.directive.d.ts +4 -0
  7. package/components/input-date/input-date.module.d.ts +4 -0
  8. package/components/input-date/native-date/native-date.component.d.ts +4 -0
  9. package/components/input-date-range/input-date-range.component.d.ts +4 -0
  10. package/components/input-date-range/input-date-range.directive.d.ts +4 -0
  11. package/components/input-date-range/input-date-range.module.d.ts +4 -0
  12. package/components/input-number/input-number.component.d.ts +2 -1
  13. package/components/input-number/input-number.options.d.ts +2 -1
  14. package/components/input-password/input-password.options.d.ts +2 -1
  15. package/components/input-phone/input-phone.options.d.ts +2 -1
  16. package/components/input-phone-international/input-phone-international.options.d.ts +2 -1
  17. package/components/input-tag/input-tag.component.d.ts +4 -0
  18. package/components/input-tag/input-tag.module.d.ts +4 -0
  19. package/components/input-tag/input-tag.options.d.ts +14 -1
  20. package/components/input-time/input-time.component.d.ts +4 -0
  21. package/components/input-time/input-time.directive.d.ts +4 -0
  22. package/components/input-time/input-time.module.d.ts +4 -0
  23. package/components/input-time/input-time.options.d.ts +24 -1
  24. package/components/multi-select/multi-select.options.d.ts +2 -1
  25. package/components/select/select.options.d.ts +2 -1
  26. package/components/sheet/sheet-options.d.ts +2 -1
  27. package/components/sheet/sheet-tokens.d.ts +4 -3
  28. package/components/svg/svg-options.d.ts +3 -2
  29. package/components/table-bar/table-bar.options.d.ts +3 -2
  30. package/components/tag/tag.options.d.ts +2 -1
  31. package/components/textarea/textarea.component.d.ts +4 -0
  32. package/components/textarea/textarea.directive.d.ts +4 -0
  33. package/components/textarea/textarea.module.d.ts +4 -0
  34. package/directives/textfield-controller/textfield-appearance.directive.d.ts +2 -1
  35. package/directives/textfield-controller/textfield-cleaner.directive.d.ts +2 -1
  36. package/directives/textfield-controller/textfield-controller.provider.d.ts +2 -1
  37. package/directives/textfield-controller/textfield-custom-content.directive.d.ts +2 -1
  38. package/directives/textfield-controller/textfield-filler.directive.d.ts +2 -1
  39. package/directives/textfield-controller/textfield-icon-left.directive.d.ts +2 -1
  40. package/directives/textfield-controller/textfield-icon.directive.d.ts +2 -1
  41. package/directives/textfield-controller/textfield-label-outside.directive.d.ts +2 -1
  42. package/directives/textfield-controller/textfield-postfix.directive.d.ts +2 -1
  43. package/directives/textfield-controller/textfield-prefix.directive.d.ts +2 -1
  44. package/directives/textfield-controller/textfield-size.directive.d.ts +2 -1
  45. package/directives/textfield-controller/textfield.options.d.ts +2 -1
  46. package/esm2022/components/arrow/arrow.options.mjs +6 -3
  47. package/esm2022/components/arrow/arrow.providers.mjs +6 -3
  48. package/esm2022/components/color-selector/color-selector.options.mjs +9 -7
  49. package/esm2022/components/input-copy/input-copy.options.mjs +6 -3
  50. package/esm2022/components/input-date/input-date.component.mjs +5 -1
  51. package/esm2022/components/input-date/input-date.directive.mjs +5 -1
  52. package/esm2022/components/input-date/input-date.module.mjs +5 -1
  53. package/esm2022/components/input-date/native-date/native-date.component.mjs +5 -1
  54. package/esm2022/components/input-date-range/input-date-range.component.mjs +5 -1
  55. package/esm2022/components/input-date-range/input-date-range.directive.mjs +5 -1
  56. package/esm2022/components/input-date-range/input-date-range.module.mjs +5 -1
  57. package/esm2022/components/input-number/input-number.component.mjs +4 -4
  58. package/esm2022/components/input-number/input-number.options.mjs +6 -3
  59. package/esm2022/components/input-password/input-password.options.mjs +6 -3
  60. package/esm2022/components/input-phone/input-phone.options.mjs +6 -3
  61. package/esm2022/components/input-phone-international/input-phone-international.options.mjs +6 -3
  62. package/esm2022/components/input-tag/input-tag.component.mjs +5 -1
  63. package/esm2022/components/input-tag/input-tag.module.mjs +5 -1
  64. package/esm2022/components/input-tag/input-tag.options.mjs +14 -3
  65. package/esm2022/components/input-time/input-time.component.mjs +5 -1
  66. package/esm2022/components/input-time/input-time.directive.mjs +5 -1
  67. package/esm2022/components/input-time/input-time.module.mjs +5 -1
  68. package/esm2022/components/input-time/input-time.options.mjs +20 -4
  69. package/esm2022/components/input-year/input-year.component.mjs +1 -1
  70. package/esm2022/components/multi-select/multi-select.options.mjs +6 -3
  71. package/esm2022/components/multi-select-option/multi-select-option.component.mjs +2 -2
  72. package/esm2022/components/select/select.options.mjs +6 -3
  73. package/esm2022/components/sheet/sheet-options.mjs +6 -4
  74. package/esm2022/components/sheet/sheet-tokens.mjs +5 -5
  75. package/esm2022/components/svg/svg-options.mjs +13 -11
  76. package/esm2022/components/table-bar/table-bar.options.mjs +9 -4
  77. package/esm2022/components/tag/tag.options.mjs +6 -3
  78. package/esm2022/components/textarea/textarea.component.mjs +5 -1
  79. package/esm2022/components/textarea/textarea.directive.mjs +5 -1
  80. package/esm2022/components/textarea/textarea.module.mjs +5 -1
  81. package/esm2022/directives/textfield-controller/textfield-appearance.directive.mjs +6 -4
  82. package/esm2022/directives/textfield-controller/textfield-cleaner.directive.mjs +6 -4
  83. package/esm2022/directives/textfield-controller/textfield-controller.provider.mjs +3 -4
  84. package/esm2022/directives/textfield-controller/textfield-custom-content.directive.mjs +6 -4
  85. package/esm2022/directives/textfield-controller/textfield-filler.directive.mjs +6 -4
  86. package/esm2022/directives/textfield-controller/textfield-icon-left.directive.mjs +6 -4
  87. package/esm2022/directives/textfield-controller/textfield-icon.directive.mjs +6 -4
  88. package/esm2022/directives/textfield-controller/textfield-label-outside.directive.mjs +6 -4
  89. package/esm2022/directives/textfield-controller/textfield-postfix.directive.mjs +6 -4
  90. package/esm2022/directives/textfield-controller/textfield-prefix.directive.mjs +6 -4
  91. package/esm2022/directives/textfield-controller/textfield-size.directive.mjs +6 -4
  92. package/esm2022/directives/textfield-controller/textfield.options.mjs +6 -3
  93. package/esm2022/tokens/countries-masks.mjs +250 -248
  94. package/esm2022/tokens/focusable-item-accessor.mjs +4 -3
  95. package/esm2022/tokens/fonts-ready.mjs +5 -4
  96. package/esm2022/tokens/icons.mjs +5 -3
  97. package/esm2022/tokens/is-apple.mjs +5 -4
  98. package/esm2022/tokens/is-chromium.mjs +5 -4
  99. package/esm2022/tokens/is-firefox.mjs +6 -5
  100. package/esm2022/tokens/is-stackblitz.mjs +5 -4
  101. package/esm2022/tokens/month-formatter.mjs +3 -3
  102. package/esm2022/tokens/sanitizer.mjs +3 -3
  103. package/esm2022/tokens/textfield-appearance.mjs +5 -3
  104. package/esm2022/tokens/textfield-host.mjs +4 -3
  105. package/esm2022/tokens/touch-supported.mjs +5 -4
  106. package/esm2022/tokens/value-accessor.mjs +3 -3
  107. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +8 -4
  108. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +8 -7
  110. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +5 -3
  112. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +12 -0
  114. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +16 -0
  116. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +6 -4
  118. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +5 -3
  120. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +5 -3
  122. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +5 -3
  124. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +21 -3
  126. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +31 -4
  128. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +1 -1
  130. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +2 -2
  132. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +5 -3
  134. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-legacy-components-select.mjs +5 -3
  136. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  137. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +9 -7
  138. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-legacy-components-svg.mjs +12 -10
  140. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +8 -4
  142. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-legacy-components-tag.mjs +5 -3
  144. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +12 -0
  146. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +36 -14
  148. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-legacy-tokens.mjs +280 -262
  150. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -1
  151. package/package.json +7 -7
  152. package/tokens/countries-masks.d.ts +2 -1
  153. package/tokens/focusable-item-accessor.d.ts +2 -1
  154. package/tokens/fonts-ready.d.ts +2 -1
  155. package/tokens/icons.d.ts +2 -1
  156. package/tokens/is-apple.d.ts +2 -1
  157. package/tokens/is-chromium.d.ts +2 -1
  158. package/tokens/is-firefox.d.ts +2 -1
  159. package/tokens/is-stackblitz.d.ts +2 -1
  160. package/tokens/month-formatter.d.ts +2 -1
  161. package/tokens/sanitizer.d.ts +2 -1
  162. package/tokens/textfield-appearance.d.ts +2 -1
  163. package/tokens/textfield-host.d.ts +2 -1
  164. package/tokens/touch-supported.d.ts +2 -1
  165. package/tokens/value-accessor.d.ts +2 -1
  166. package/utils/icons-path-factory.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-table-bar.mjs","sources":["../../../projects/legacy/components/table-bar/table-bar.component.ts","../../../projects/legacy/components/table-bar/table-bar.template.html","../../../projects/legacy/components/table-bar/table-bar.options.ts","../../../projects/legacy/components/table-bar/table-bars.service.ts","../../../projects/legacy/components/table-bar/table-bar.directive.ts","../../../projects/legacy/components/table-bar/table-bars-host.component.ts","../../../projects/legacy/components/table-bar/taiga-ui-legacy-components-table-bar.ts"],"sourcesContent":["import {AsyncPipe, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport type {TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiParentAnimation, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {\n TUI_ANIMATIONS_SPEED,\n TUI_CLOSE_WORD,\n TUI_COMMON_ICONS,\n} from '@taiga-ui/core/tokens';\nimport {tuiToAnimationOptions} from '@taiga-ui/core/utils/miscellaneous';\nimport {\n injectContext,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n} from '@taiga-ui/polymorpheus';\n\nimport type {TuiTableBarOptions} from './table-bar.options';\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\n@Component({\n standalone: true,\n selector: 'tui-table-bar',\n imports: [AsyncPipe, NgIf, PolymorpheusOutlet, PolymorpheusTemplate, TuiButton],\n templateUrl: './table-bar.template.html',\n styleUrls: ['./table-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiParentAnimation],\n host: {\n '[@tuiSlideInTop]': 'animation',\n '[attr.data-appearance]': 'context.mode',\n },\n})\nexport class TuiTableBarComponent {\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly closeWord$ = inject(TUI_CLOSE_WORD);\n protected readonly context = injectContext<TuiPopover<TuiTableBarOptions, void>>();\n\n protected readonly animation = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED));\n\n protected getTheme(appearance: string): string | null {\n return appearance === 'onDark' ? 'dark' : null;\n }\n\n protected close(): void {\n this.context.$implicit.complete();\n }\n}\n","<div\n automation-id=\"tui-table-bar__bar\"\n class=\"t-container\"\n [attr.tuiTheme]=\"getTheme(context.mode || 'onDark')\"\n [class.t-container_adaptive]=\"context.adaptive\"\n>\n <div class=\"t-inner\">\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n\n <button\n *ngIf=\"context.hasCloseButton\"\n appearance=\"icon\"\n automation-id=\"tui-table-bar__close-button\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close-button\"\n [iconStart]=\"icons.close\"\n (click)=\"close()\"\n >\n {{ closeWord$ | async }}\n </button>\n </div>\n</div>\n","import type {Provider} from '@angular/core';\nimport type {TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\nexport interface TuiTableBarOptions {\n readonly adaptive?: boolean;\n readonly hasCloseButton?: boolean;\n readonly mode?: 'onDark' | 'onLight';\n}\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\nexport const TUI_TABLE_BARS = tuiCreateToken(\n new BehaviorSubject<ReadonlyArray<TuiPopover<any, any>>>([]),\n);\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\nexport const TUI_TABLE_BAR_DEFAULT_OPTIONS: TuiTableBarOptions = {\n adaptive: true,\n hasCloseButton: true,\n mode: 'onDark',\n};\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\nexport const TUI_TABLE_BAR_OPTIONS = tuiCreateToken(TUI_TABLE_BAR_DEFAULT_OPTIONS);\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\nexport function tuiTableBarOptionsProvider(\n options: Partial<TuiTableBarOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_TABLE_BAR_OPTIONS,\n options,\n TUI_TABLE_BAR_DEFAULT_OPTIONS,\n );\n}\n","import {inject, Injectable} from '@angular/core';\nimport {TuiPopoverService} from '@taiga-ui/cdk/services';\n\nimport {TuiTableBarComponent} from './table-bar.component';\nimport type {TuiTableBarOptions} from './table-bar.options';\nimport {TUI_TABLE_BAR_OPTIONS, TUI_TABLE_BARS} from './table-bar.options';\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiTableBarsService(\n TUI_TABLE_BARS,\n TuiTableBarComponent,\n inject(TUI_TABLE_BAR_OPTIONS),\n ),\n})\nexport class TuiTableBarsService extends TuiPopoverService<TuiTableBarOptions> {}\n","import {Directive} from '@angular/core';\nimport {TuiPopoverDirective} from '@taiga-ui/cdk/directives/popover';\nimport {tuiAsPopover} from '@taiga-ui/cdk/services';\n\nimport type {TuiTableBarOptions} from './table-bar.options';\nimport {TuiTableBarsService} from './table-bars.service';\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiTableBar]',\n inputs: ['open: tuiTableBar', 'options: tuiTableBarOptions'],\n outputs: ['openChange: tuiTableBarChange'],\n providers: [tuiAsPopover(TuiTableBarsService)],\n})\nexport class TuiTableBarDirective extends TuiPopoverDirective<TuiTableBarOptions> {}\n","import {AsyncPipe, NgForOf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {tuiParentAnimation} from '@taiga-ui/core/animations';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TUI_TABLE_BARS} from './table-bar.options';\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\n@Component({\n standalone: true,\n selector: 'tui-table-bars-host',\n imports: [AsyncPipe, NgForOf, PolymorpheusOutlet, PolymorpheusTemplate],\n template: `\n <div\n *ngFor=\"let item of bars$ | async\"\n class=\"t-wrapper\"\n @tuiParentAnimation\n >\n <ng-container *polymorpheusOutlet=\"item.component; context: item\" />\n </div>\n `,\n styleUrls: ['./table-bars-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiParentAnimation],\n})\nexport class TuiTableBarsHostComponent {\n protected bars$ = inject(TUI_TABLE_BARS);\n}\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-table-bar.mjs","sources":["../../../projects/legacy/components/table-bar/table-bar.component.ts","../../../projects/legacy/components/table-bar/table-bar.template.html","../../../projects/legacy/components/table-bar/table-bar.options.ts","../../../projects/legacy/components/table-bar/table-bars.service.ts","../../../projects/legacy/components/table-bar/table-bar.directive.ts","../../../projects/legacy/components/table-bar/table-bars-host.component.ts","../../../projects/legacy/components/table-bar/taiga-ui-legacy-components-table-bar.ts"],"sourcesContent":["import {AsyncPipe, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport type {TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiParentAnimation, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {\n TUI_ANIMATIONS_SPEED,\n TUI_CLOSE_WORD,\n TUI_COMMON_ICONS,\n} from '@taiga-ui/core/tokens';\nimport {tuiToAnimationOptions} from '@taiga-ui/core/utils/miscellaneous';\nimport {\n injectContext,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n} from '@taiga-ui/polymorpheus';\n\nimport type {TuiTableBarOptions} from './table-bar.options';\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\n@Component({\n standalone: true,\n selector: 'tui-table-bar',\n imports: [AsyncPipe, NgIf, PolymorpheusOutlet, PolymorpheusTemplate, TuiButton],\n templateUrl: './table-bar.template.html',\n styleUrls: ['./table-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiParentAnimation],\n host: {\n '[@tuiSlideInTop]': 'animation',\n '[attr.data-appearance]': 'context.mode',\n },\n})\nexport class TuiTableBarComponent {\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly closeWord$ = inject(TUI_CLOSE_WORD);\n protected readonly context = injectContext<TuiPopover<TuiTableBarOptions, void>>();\n\n protected readonly animation = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED));\n\n protected getTheme(appearance: string): string | null {\n return appearance === 'onDark' ? 'dark' : null;\n }\n\n protected close(): void {\n this.context.$implicit.complete();\n }\n}\n","<div\n automation-id=\"tui-table-bar__bar\"\n class=\"t-container\"\n [attr.tuiTheme]=\"getTheme(context.mode || 'onDark')\"\n [class.t-container_adaptive]=\"context.adaptive\"\n>\n <div class=\"t-inner\">\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n\n <button\n *ngIf=\"context.hasCloseButton\"\n appearance=\"icon\"\n automation-id=\"tui-table-bar__close-button\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close-button\"\n [iconStart]=\"icons.close\"\n (click)=\"close()\"\n >\n {{ closeWord$ | async }}\n </button>\n </div>\n</div>\n","import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport type {TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\nexport interface TuiTableBarOptions {\n readonly adaptive?: boolean;\n readonly hasCloseButton?: boolean;\n readonly mode?: 'onDark' | 'onLight';\n}\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\nexport const TUI_TABLE_BARS = new InjectionToken(ngDevMode ? 'TUI_TABLE_BARS' : '', {\n factory: () => new BehaviorSubject<ReadonlyArray<TuiPopover<any, any>>>([]),\n});\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\nexport const TUI_TABLE_BAR_DEFAULT_OPTIONS: TuiTableBarOptions = {\n adaptive: true,\n hasCloseButton: true,\n mode: 'onDark',\n};\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\nexport const TUI_TABLE_BAR_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_TABLE_BAR_OPTIONS' : '',\n {\n factory: () => TUI_TABLE_BAR_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\nexport function tuiTableBarOptionsProvider(\n options: Partial<TuiTableBarOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_TABLE_BAR_OPTIONS,\n options,\n TUI_TABLE_BAR_DEFAULT_OPTIONS,\n );\n}\n","import {inject, Injectable} from '@angular/core';\nimport {TuiPopoverService} from '@taiga-ui/cdk/services';\n\nimport {TuiTableBarComponent} from './table-bar.component';\nimport type {TuiTableBarOptions} from './table-bar.options';\nimport {TUI_TABLE_BAR_OPTIONS, TUI_TABLE_BARS} from './table-bar.options';\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiTableBarsService(\n TUI_TABLE_BARS,\n TuiTableBarComponent,\n inject(TUI_TABLE_BAR_OPTIONS),\n ),\n})\nexport class TuiTableBarsService extends TuiPopoverService<TuiTableBarOptions> {}\n","import {Directive} from '@angular/core';\nimport {TuiPopoverDirective} from '@taiga-ui/cdk/directives/popover';\nimport {tuiAsPopover} from '@taiga-ui/cdk/services';\n\nimport type {TuiTableBarOptions} from './table-bar.options';\nimport {TuiTableBarsService} from './table-bars.service';\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiTableBar]',\n inputs: ['open: tuiTableBar', 'options: tuiTableBarOptions'],\n outputs: ['openChange: tuiTableBarChange'],\n providers: [tuiAsPopover(TuiTableBarsService)],\n})\nexport class TuiTableBarDirective extends TuiPopoverDirective<TuiTableBarOptions> {}\n","import {AsyncPipe, NgForOf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {tuiParentAnimation} from '@taiga-ui/core/animations';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TUI_TABLE_BARS} from './table-bar.options';\n\n/**\n * @deprecated drop in v5.0 use {@link TuiActionBar}\n * https://taiga-ui.dev/components/actions-bar\n */\n@Component({\n standalone: true,\n selector: 'tui-table-bars-host',\n imports: [AsyncPipe, NgForOf, PolymorpheusOutlet, PolymorpheusTemplate],\n template: `\n <div\n *ngFor=\"let item of bars$ | async\"\n class=\"t-wrapper\"\n @tuiParentAnimation\n >\n <ng-container *polymorpheusOutlet=\"item.component; context: item\" />\n </div>\n `,\n styleUrls: ['./table-bars-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiParentAnimation],\n})\nexport class TuiTableBarsHostComponent {\n protected bars$ = inject(TUI_TABLE_BARS);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAmBA;;;AAGG;AACH,MAaa,oBAAoB,CAAA;AAbjC,IAAA,WAAA,GAAA;AAcuB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;QACpC,IAAO,CAAA,OAAA,GAAG,aAAa,EAAwC,CAAC;QAEhE,IAAS,CAAA,SAAA,GAAG,qBAAqB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAStF,KAAA;AAPa,IAAA,QAAQ,CAAC,UAAkB,EAAA;QACjC,OAAO,UAAU,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;KAClD;IAES,KAAK,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KACrC;+GAbQ,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,ECpCjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,g2BA4BA,EDFc,MAAA,EAAA,CAAA,skCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,8CAAE,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAwB,SAAS,EAIlE,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAMtC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,eAAe,EAAA,OAAA,EAChB,CAAC,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAAA,eAAA,EAG9D,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,CAAC,aAAa,EAAE,kBAAkB,CAAC,EACzC,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,wBAAwB,EAAE,cAAc;AAC3C,qBAAA,EAAA,QAAA,EAAA,g2BAAA,EAAA,MAAA,EAAA,CAAA,skCAAA,CAAA,EAAA,CAAA;;;AElBL;;;AAGG;AACU,MAAA,cAAc,GAAG,IAAI,cAAc,CAAC,SAAS,GAAG,gBAAgB,GAAG,EAAE,EAAE;IAChF,OAAO,EAAE,MAAM,IAAI,eAAe,CAAsC,EAAE,CAAC;AAC9E,CAAA,EAAE;AAEH;;;AAGG;AACU,MAAA,6BAA6B,GAAuB;AAC7D,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,IAAI,EAAE,QAAQ;EAChB;AAEF;;;AAGG;AACU,MAAA,qBAAqB,GAAG,IAAI,cAAc,CACnD,SAAS,GAAG,uBAAuB,GAAG,EAAE,EACxC;AACI,IAAA,OAAO,EAAE,MAAM,6BAA6B;AAC/C,CAAA,EACH;AAEF;;;AAGG;AACG,SAAU,0BAA0B,CACtC,OAAoC,EAAA;IAEpC,OAAO,iBAAiB,CACpB,qBAAqB,EACrB,OAAO,EACP,6BAA6B,CAChC,CAAC;AACN;;AClDA;;;AAGG;AACH,MASa,mBAAoB,SAAQ,iBAAqC,CAAA;+GAAjE,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cARhB,MAAM,EAAA,UAAA,EACN,MACR,IAAI,mBAAmB,CACnB,cAAc,EACd,oBAAoB,EACpB,MAAM,CAAC,qBAAqB,CAAC,CAChC,EAAA,CAAA,CAAA,EAAA;;4FAEI,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAT/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AAClB,oBAAA,UAAU,EAAE,MACR,IACI,mBAAA,CAAA,cAAc,EACd,oBAAoB,EACpB,MAAM,CAAC,qBAAqB,CAAC,CAChC;AACR,iBAAA,CAAA;;;ACZD;;;AAGG;AACH,MAOa,oBAAqB,SAAQ,mBAAuC,CAAA;+GAApE,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,4MAFlB,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAErC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,MAAM,EAAE,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;oBAC5D,OAAO,EAAE,CAAC,+BAA+B,CAAC;AAC1C,oBAAA,SAAS,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;AACjD,iBAAA,CAAA;;;ACVD;;;AAGG;AACH,MAiBa,yBAAyB,CAAA;AAjBtC,IAAA,WAAA,GAAA;AAkBc,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAC5C,KAAA;+GAFY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAbxB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;KAQT,EATS,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,8CAAE,OAAO,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAYpC,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,kBAAkB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAEvB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAjBrC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,qBAAqB,EACtB,OAAA,EAAA,CAAC,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,EAC7D,QAAA,EAAA,CAAA;;;;;;;;AAQT,IAAA,CAAA,EAAA,eAAA,EAEgB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,CAAC,kBAAkB,CAAC,EAAA,MAAA,EAAA,CAAA,sEAAA,CAAA,EAAA,CAAA;;;AC1BpC;;AAEG;;;;"}
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, Input, Output, ViewChild, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, Input, Output, ViewChild, NgModule } from '@angular/core';
3
3
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
4
4
  import { TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
5
5
  import { tuiStringHashToHsl } from '@taiga-ui/core/utils/format';
6
6
  import { tuiSizeBigger } from '@taiga-ui/core/utils/miscellaneous';
7
- import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
7
+ import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
8
8
  import * as i1 from '@angular/common';
9
9
  import { CommonModule } from '@angular/common';
10
10
  import * as i2 from '@angular/forms';
@@ -29,7 +29,9 @@ const TUI_TAG_DEFAULT_OPTIONS = {
29
29
  * @deprecated: drop in v5.0 use {@link TuiChip}
30
30
  * https://taiga-ui.dev/components/chip
31
31
  */
32
- const TUI_TAG_OPTIONS = tuiCreateToken(TUI_TAG_DEFAULT_OPTIONS);
32
+ const TUI_TAG_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_TAG_OPTIONS' : '', {
33
+ factory: () => TUI_TAG_DEFAULT_OPTIONS,
34
+ });
33
35
  /**
34
36
  * @deprecated: drop in v5.0 use {@link TuiChip}
35
37
  * https://taiga-ui.dev/components/chip
@@ -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 type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, 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 = tuiCreateToken(TUI_TAG_DEFAULT_OPTIONS);\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, TuiSizeS, 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 <div\n *ngIf=\"leftContent\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <span\n automation-id=\"tui-tag__text\"\n class=\"t-text\"\n [textContent]=\"displayText\"\n ></span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-content\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n />\n <tui-icon\n *ngIf=\"canRemove\"\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</div>\n<input\n *ngIf=\"editing\"\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","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":";;;;;;;;;;;;;;;;;;AAeA;;;AAGG;AACU,MAAA,uBAAuB,GAAkB;AAClD,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,SAAS,EAAE,KAAK;EAClB;AAEF;;;AAGG;MACU,eAAe,GAAG,cAAc,CAAC,uBAAuB,EAAE;AAEvE;;;AAGG;AACG,SAAU,qBAAqB,CAAC,OAA+B,EAAA;IACjE,OAAO,iBAAiB,CAAC,eAAe,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;AAChF;;ACjBA;;;AAGG;AACH,MAkBa,eAAe,CAAA;AAlB5B,IAAA,WAAA,GAAA;QAmBqB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAEzC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEP,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC1C,IAAU,CAAA,UAAA,GAAkB,IAAI,CAAC;QAGpC,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;QAGX,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAGjB,IAAS,CAAA,SAAA,GAAoB,GAAG,CAAC;QAGjC,IAAS,CAAA,SAAA,GAAkB,IAAI,CAAC;AAGhC,QAAA,IAAA,CAAA,IAAI,GAAwB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAG9C,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAGnB,QAAA,IAAA,CAAA,MAAM,GAAc,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAGxC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAGlB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAGlB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAGjB,QAAA,IAAA,CAAA,SAAS,GAAY,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAMnC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AA+FvD,KAAA;IA7FG,IACc,KAAK,CAAC,KAAmC,EAAA;AACnD,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC/B,SAAA;KACJ;AAED,IAAA,IAAc,eAAe,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;KACjE;AAED,IAAA,IAAc,SAAS,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;KAC/D;AAED,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC;KACxC;AAED,IAAA,IAAc,UAAU,GAAA;AACpB,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;KAChD;AAES,IAAA,IAAI,CAAC,KAAY,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO;AACV,SAAA;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;KAChC;AAES,IAAA,MAAM,CAAC,KAAY,EAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,OAAO;AACV,SAAA;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACxB;AAES,IAAA,OAAO,CAAC,KAAa,EAAA;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAE5C,QAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAE3B,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KAC3B;AAES,IAAA,SAAS,CAAC,KAAoB,EAAA;QACpC,KAAK,CAAC,eAAe,EAAE,CAAC;AAExB,QAAA,QAAQ,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE;AAC3B,YAAA,KAAK,OAAO;gBACR,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;gBACjC,MAAM;AACV,YAAA,KAAK,KAAK,CAAC;AACX,YAAA,KAAK,QAAQ;gBACT,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,gBAAA,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM;AACV,YAAA;gBACI,MAAM;AACb,SAAA;KACJ;IAES,MAAM,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9B,SAAA;KACJ;AAED,IAAA,IAAY,OAAO,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;KAC9D;IAEO,WAAW,GAAA;AACf,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;AAEO,IAAA,IAAI,CAAC,KAAa,EAAA;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;KAClC;+GA5IQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAf,eAAe,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAgDG,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1FzC,kqCA8CA,EAAA,MAAA,EAAA,CAAA,wqLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,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,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,SAAA,EAAA,aAAA,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,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDJa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAlB3B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,oCAAoC,EAAA,eAAA,EAG7B,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,oBAAoB,EAAE,QAAQ;AAC9B,wBAAA,kBAAkB,EAAE,SAAS;AAC7B,wBAAA,oBAAoB,EAAE,WAAW;AACjC,wBAAA,oBAAoB,EAAE,WAAW;AACjC,wBAAA,mBAAmB,EAAE,UAAU;AAC/B,wBAAA,kBAAkB,EAAE,gBAAgB;AACpC,wBAAA,qBAAqB,EAAE,gBAAgB;AACvC,wBAAA,iBAAiB,EAAE,cAAc;AACpC,qBAAA,EAAA,QAAA,EAAA,kqCAAA,EAAA,MAAA,EAAA,CAAA,wqLAAA,CAAA,EAAA,CAAA;8BAYM,KAAK,EAAA,CAAA;sBADX,KAAK;gBAIC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,IAAI,EAAA,CAAA;sBADV,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAIC,MAAM,EAAA,CAAA;sBADZ,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAIU,MAAM,EAAA,CAAA;sBADrB,MAAM;gBAIO,KAAK,EAAA,CAAA;sBADlB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAA;;;AEjF1C;;;AAGG;AACH,MAYa,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAZ,YAAY,EAAA,YAAA,EAAA,CAHN,eAAe,CAAA,EAAA,OAAA,EAAA,CAP1B,YAAY;YACZ,WAAW;YACX,OAAO;YACP,SAAS;YACT,kBAAkB;AAClB,YAAA,oBAAoB,aAGd,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAEhB,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,YAAY,YAVjB,YAAY;YACZ,WAAW;YACX,OAAO;YACP,SAAS,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAOJ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAZxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,WAAW;wBACX,OAAO;wBACP,SAAS;wBACT,kBAAkB;wBAClB,oBAAoB;AACvB,qBAAA;oBACD,YAAY,EAAE,CAAC,eAAe,CAAC;oBAC/B,OAAO,EAAE,CAAC,eAAe,CAAC;AAC7B,iBAAA,CAAA;;;ACxBD;;AAEG;;;;"}
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 type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, 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, TuiSizeS, 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 <div\n *ngIf=\"leftContent\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <span\n automation-id=\"tui-tag__text\"\n class=\"t-text\"\n [textContent]=\"displayText\"\n ></span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-content\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n />\n <tui-icon\n *ngIf=\"canRemove\"\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</div>\n<input\n *ngIf=\"editing\"\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","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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"}
@@ -28,6 +28,10 @@ import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
28
28
  const DEFAULT_ROWS = 20;
29
29
  const LINE_HEIGHT_M = 20;
30
30
  const LINE_HEIGHT_L = 24;
31
+ /**
32
+ * TODO(v5): delete it
33
+ * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead
34
+ */
31
35
  class TuiTextareaComponent extends AbstractTuiControl {
32
36
  constructor() {
33
37
  super(...arguments);
@@ -176,6 +180,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
176
180
  type: Input
177
181
  }] } });
178
182
 
183
+ /**
184
+ * TODO(v5): delete it
185
+ * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead
186
+ */
179
187
  class TuiTextareaDirective extends AbstractTuiTextfieldHost {
180
188
  onValueChange(value) {
181
189
  this.host.onValueChange(value);
@@ -192,6 +200,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
192
200
  }]
193
201
  }] });
194
202
 
203
+ /**
204
+ * TODO(v5): delete it
205
+ * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead
206
+ */
195
207
  class TuiTextareaModule {
196
208
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
197
209
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaModule, declarations: [TuiTextareaComponent, TuiTextareaDirective], imports: [CommonModule,
@@ -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, 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 type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} 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@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","<ng-container *ngIf=\"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 <div\n *ngIf=\"hasCounter\"\n automation-id=\"tui-text-area__counter\"\n class=\"t-counter\"\n >\n {{ value.length }}/{{ maxLength }}\n </div>\n\n <label\n class=\"t-content\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-text-area__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\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 <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <ng-container *ngIf=\"hasCustomContent\">\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n [icon]=\"src\"\n />\n </ng-container>\n <ng-container *ngIf=\"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 </ng-container>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-text-area__tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\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@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@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 {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, 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 type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} 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","<ng-container *ngIf=\"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 <div\n *ngIf=\"hasCounter\"\n automation-id=\"tui-text-area__counter\"\n class=\"t-counter\"\n >\n {{ value.length }}/{{ maxLength }}\n </div>\n\n <label\n class=\"t-content\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-text-area__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\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 <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <ng-container *ngIf=\"hasCustomContent\">\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n [icon]=\"src\"\n />\n </ng-container>\n <ng-container *ngIf=\"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 </ng-container>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-text-area__tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\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,6 +1,6 @@
1
- import { tuiCreateToken, tuiProvideOptions, tuiCreateTokenFromFactory, tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
2
1
  import * as i0 from '@angular/core';
3
- import { Directive, Input, NgModule, ChangeDetectorRef } from '@angular/core';
2
+ import { InjectionToken, Directive, Input, NgModule, ChangeDetectorRef } from '@angular/core';
3
+ import { tuiProvideOptions, tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
4
4
  import { AbstractTuiController } from '@taiga-ui/legacy/classes';
5
5
  import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
6
6
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@@ -69,12 +69,16 @@ const TUI_TEXTFIELD_DEFAULT_OPTIONS = {
69
69
  * @deprecated: drop in v5.0
70
70
  * Default parameters for textfield
71
71
  */
72
- const TUI_TEXTFIELD_OPTIONS = tuiCreateToken(TUI_TEXTFIELD_DEFAULT_OPTIONS);
72
+ const TUI_TEXTFIELD_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_OPTIONS' : '', {
73
+ factory: () => TUI_TEXTFIELD_DEFAULT_OPTIONS,
74
+ });
73
75
  function tuiTextfieldOptionsProvider(options) {
74
76
  return tuiProvideOptions(TUI_TEXTFIELD_OPTIONS, options, TUI_TEXTFIELD_DEFAULT_OPTIONS);
75
77
  }
76
78
 
77
- const TUI_TEXTFIELD_APPEARANCE_DIRECTIVE = tuiCreateTokenFromFactory(() => new TuiTextfieldAppearanceDirective());
79
+ const TUI_TEXTFIELD_APPEARANCE_DIRECTIVE = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_APPEARANCE_DIRECTIVE' : '', {
80
+ factory: () => new TuiTextfieldAppearanceDirective(),
81
+ });
78
82
  class TuiTextfieldAppearanceDirective extends AbstractTuiController {
79
83
  constructor() {
80
84
  super(...arguments);
@@ -101,7 +105,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
101
105
  args: ['tuiTextfieldAppearance']
102
106
  }] } });
103
107
 
104
- const TUI_TEXTFIELD_CLEANER = tuiCreateTokenFromFactory(() => new TuiTextfieldCleanerDirective());
108
+ const TUI_TEXTFIELD_CLEANER = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_CLEANER' : '', {
109
+ factory: () => new TuiTextfieldCleanerDirective(),
110
+ });
105
111
  class TuiTextfieldCleanerDirective extends AbstractTuiController {
106
112
  constructor() {
107
113
  super(...arguments);
@@ -122,7 +128,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
122
128
  args: ['tuiTextfieldCleaner']
123
129
  }] } });
124
130
 
125
- const TUI_TEXTFIELD_CUSTOM_CONTENT = tuiCreateTokenFromFactory(() => new TuiTextfieldCustomContentDirective());
131
+ const TUI_TEXTFIELD_CUSTOM_CONTENT = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_CUSTOM_CONTENT' : '', {
132
+ factory: () => new TuiTextfieldCustomContentDirective(),
133
+ });
126
134
  class TuiTextfieldCustomContentDirective extends AbstractTuiController {
127
135
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldCustomContentDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
128
136
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextfieldCustomContentDirective, selector: "[tuiTextfieldCustomContent]", inputs: { customContent: ["tuiTextfieldCustomContent", "customContent"] }, providers: [
@@ -143,7 +151,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
143
151
  args: ['tuiTextfieldCustomContent']
144
152
  }] } });
145
153
 
146
- const TUI_TEXTFIELD_FILLER = tuiCreateTokenFromFactory(() => new TuiTextfieldFillerDirective());
154
+ const TUI_TEXTFIELD_FILLER = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_FILLER' : '', {
155
+ factory: () => new TuiTextfieldFillerDirective(),
156
+ });
147
157
  class TuiTextfieldFillerDirective extends AbstractTuiController {
148
158
  constructor() {
149
159
  super(...arguments);
@@ -164,7 +174,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
164
174
  args: ['tuiTextfieldFiller']
165
175
  }] } });
166
176
 
167
- const TUI_TEXTFIELD_ICON = tuiCreateTokenFromFactory(() => new TuiTextfieldIconDirective());
177
+ const TUI_TEXTFIELD_ICON = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_ICON' : '', {
178
+ factory: () => new TuiTextfieldIconDirective(),
179
+ });
168
180
  class TuiTextfieldIconDirective extends AbstractTuiController {
169
181
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldIconDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
170
182
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: { icon: ["tuiTextfieldIcon", "icon"] }, providers: [tuiProvide(TUI_TEXTFIELD_ICON, TuiTextfieldIconDirective)], usesInheritance: true, ngImport: i0 }); }
@@ -181,7 +193,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
181
193
  args: ['tuiTextfieldIcon']
182
194
  }] } });
183
195
 
184
- const TUI_TEXTFIELD_ICON_LEFT = tuiCreateTokenFromFactory(() => new TuiTextfieldIconLeftDirective());
196
+ const TUI_TEXTFIELD_ICON_LEFT = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_ICON_LEFT' : '', {
197
+ factory: () => new TuiTextfieldIconLeftDirective(),
198
+ });
185
199
  class TuiTextfieldIconLeftDirective extends AbstractTuiController {
186
200
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldIconLeftDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
187
201
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextfieldIconLeftDirective, selector: "[tuiTextfieldIconLeft]", inputs: { iconStart: ["tuiTextfieldIconLeft", "iconStart"] }, providers: [tuiProvide(TUI_TEXTFIELD_ICON_LEFT, TuiTextfieldIconLeftDirective)], usesInheritance: true, ngImport: i0 }); }
@@ -198,7 +212,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
198
212
  args: ['tuiTextfieldIconLeft']
199
213
  }] } });
200
214
 
201
- const TUI_TEXTFIELD_LABEL_OUTSIDE = tuiCreateTokenFromFactory(() => new TuiTextfieldLabelOutsideDirective());
215
+ const TUI_TEXTFIELD_LABEL_OUTSIDE = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_LABEL_OUTSIDE' : '', {
216
+ factory: () => new TuiTextfieldLabelOutsideDirective(),
217
+ });
202
218
  class TuiTextfieldLabelOutsideDirective extends AbstractTuiController {
203
219
  constructor() {
204
220
  super(...arguments);
@@ -223,7 +239,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
223
239
  args: ['tuiTextfieldLabelOutside']
224
240
  }] } });
225
241
 
226
- const TUI_TEXTFIELD_POSTFIX = tuiCreateTokenFromFactory(() => new TuiTextfieldPostfixDirective());
242
+ const TUI_TEXTFIELD_POSTFIX = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_POSTFIX' : '', {
243
+ factory: () => new TuiTextfieldPostfixDirective(),
244
+ });
227
245
  class TuiTextfieldPostfixDirective extends AbstractTuiController {
228
246
  constructor() {
229
247
  super(...arguments);
@@ -244,7 +262,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
244
262
  args: ['tuiTextfieldPostfix']
245
263
  }] } });
246
264
 
247
- const TUI_TEXTFIELD_PREFIX = tuiCreateTokenFromFactory(() => new TuiTextfieldPrefixDirective());
265
+ const TUI_TEXTFIELD_PREFIX = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_PREFIX' : '', {
266
+ factory: () => new TuiTextfieldPrefixDirective(),
267
+ });
248
268
  class TuiTextfieldPrefixDirective extends AbstractTuiController {
249
269
  constructor() {
250
270
  super(...arguments);
@@ -265,7 +285,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
265
285
  args: ['tuiTextfieldPrefix']
266
286
  }] } });
267
287
 
268
- const TUI_TEXTFIELD_SIZE = tuiCreateTokenFromFactory(() => new TuiTextfieldSizeDirective());
288
+ const TUI_TEXTFIELD_SIZE = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_SIZE' : '', {
289
+ factory: () => new TuiTextfieldSizeDirective(),
290
+ });
269
291
  class TuiTextfieldSizeDirective extends AbstractTuiController {
270
292
  constructor() {
271
293
  super(...arguments);
@@ -344,7 +366,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
344
366
  }]
345
367
  }] });
346
368
 
347
- const TUI_TEXTFIELD_WATCHED_CONTROLLER = tuiCreateToken();
369
+ const TUI_TEXTFIELD_WATCHED_CONTROLLER = new InjectionToken(ngDevMode ? 'TUI_TEXTFIELD_WATCHED_CONTROLLER' : '');
348
370
  const TEXTFIELD_CONTROLLER_PROVIDER = [
349
371
  {
350
372
  provide: TUI_TEXTFIELD_WATCHED_CONTROLLER,