@taiga-ui/kit 3.38.0 → 3.39.0

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 (114) hide show
  1. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +23 -7
  2. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +17 -1
  4. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-count.umd.js +22 -4
  6. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +20 -4
  8. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +42 -8
  10. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-date.umd.js +22 -6
  12. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  14. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-month.umd.js +33 -3
  16. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-number.umd.js +24 -8
  18. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-range.umd.js +20 -4
  20. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  22. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-year.umd.js +17 -1
  24. package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
  25. package/bundles/{taiga-ui-kit-components-text-area.umd.js → taiga-ui-kit-components-textarea.umd.js} +82 -65
  26. package/bundles/taiga-ui-kit-components-textarea.umd.js.map +1 -0
  27. package/bundles/taiga-ui-kit-components.umd.js +6 -6
  28. package/bundles/taiga-ui-kit-utils-files.umd.js +6 -6
  29. package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-utils-math.umd.js +2 -2
  31. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  32. package/components/calendar-month/calendar-month.component.d.ts +4 -2
  33. package/components/calendar-range/calendar-range.component.d.ts +4 -2
  34. package/components/index.d.ts +1 -1
  35. package/components/input-count/input-count.component.d.ts +4 -2
  36. package/components/input-date/input-date.component.d.ts +4 -2
  37. package/components/input-date-range/input-date-range.component.d.ts +4 -2
  38. package/components/input-date-time/input-date-time.component.d.ts +6 -3
  39. package/components/input-month/input-month.component.d.ts +6 -2
  40. package/components/input-number/input-number.component.d.ts +4 -2
  41. package/components/input-range/input-range.component.d.ts +4 -2
  42. package/components/input-year/input-year.component.d.ts +4 -2
  43. package/components/textarea/deprecated.d.ts +15 -0
  44. package/components/textarea/index.d.ts +4 -0
  45. package/components/textarea/package.json +10 -0
  46. package/components/{text-area/taiga-ui-kit-components-text-area.d.ts → textarea/taiga-ui-kit-components-textarea.d.ts} +1 -1
  47. package/components/{text-area/text-area.component.d.ts → textarea/textarea.component.d.ts} +3 -3
  48. package/components/textarea/textarea.directive.d.ts +8 -0
  49. package/components/{text-area/text-area.module.d.ts → textarea/textarea.module.d.ts} +6 -6
  50. package/esm2015/components/calendar-month/calendar-month.component.js +13 -5
  51. package/esm2015/components/calendar-range/calendar-range.component.js +10 -2
  52. package/esm2015/components/index.js +2 -2
  53. package/esm2015/components/input-count/input-count.component.js +15 -5
  54. package/esm2015/components/input-date/input-date.component.js +12 -4
  55. package/esm2015/components/input-date/input-date.directive.js +3 -3
  56. package/esm2015/components/input-date-range/input-date-range.component.js +14 -6
  57. package/esm2015/components/input-date-time/input-date-time.component.js +35 -9
  58. package/esm2015/components/input-files/input-files.options.js +2 -2
  59. package/esm2015/components/input-month/input-month.component.js +18 -4
  60. package/esm2015/components/input-number/input-number.component.js +17 -9
  61. package/esm2015/components/input-range/input-range.component.js +13 -5
  62. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  63. package/esm2015/components/input-year/input-year.component.js +10 -2
  64. package/esm2015/components/textarea/deprecated.js +16 -0
  65. package/esm2015/components/textarea/index.js +5 -0
  66. package/esm2015/components/textarea/taiga-ui-kit-components-textarea.js +5 -0
  67. package/esm2015/components/textarea/textarea.component.js +217 -0
  68. package/esm2015/components/textarea/textarea.directive.js +19 -0
  69. package/esm2015/components/textarea/textarea.module.js +51 -0
  70. package/esm2015/utils/files/format-size.js +7 -7
  71. package/esm2015/utils/math/key-steps.js +3 -3
  72. package/fesm2015/taiga-ui-kit-components-calendar-month.js +12 -4
  73. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  74. package/fesm2015/taiga-ui-kit-components-calendar-range.js +9 -1
  75. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  76. package/fesm2015/taiga-ui-kit-components-input-count.js +14 -4
  77. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  78. package/fesm2015/taiga-ui-kit-components-input-date-range.js +13 -5
  79. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  80. package/fesm2015/taiga-ui-kit-components-input-date-time.js +34 -8
  81. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  82. package/fesm2015/taiga-ui-kit-components-input-date.js +13 -5
  83. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  84. package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
  85. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  86. package/fesm2015/taiga-ui-kit-components-input-month.js +17 -3
  87. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  88. package/fesm2015/taiga-ui-kit-components-input-number.js +16 -8
  89. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  90. package/fesm2015/taiga-ui-kit-components-input-range.js +12 -4
  91. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  92. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  93. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  94. package/fesm2015/taiga-ui-kit-components-input-year.js +9 -1
  95. package/fesm2015/taiga-ui-kit-components-input-year.js.map +1 -1
  96. package/fesm2015/taiga-ui-kit-components-textarea.js +297 -0
  97. package/fesm2015/taiga-ui-kit-components-textarea.js.map +1 -0
  98. package/fesm2015/taiga-ui-kit-components.js +1 -1
  99. package/fesm2015/taiga-ui-kit-utils-files.js +6 -6
  100. package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
  101. package/fesm2015/taiga-ui-kit-utils-math.js +2 -2
  102. package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
  103. package/package.json +4 -4
  104. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +0 -1
  105. package/components/text-area/index.d.ts +0 -3
  106. package/components/text-area/package.json +0 -10
  107. package/components/text-area/text-area.directive.d.ts +0 -8
  108. package/esm2015/components/text-area/index.js +0 -4
  109. package/esm2015/components/text-area/taiga-ui-kit-components-text-area.js +0 -5
  110. package/esm2015/components/text-area/text-area.component.js +0 -217
  111. package/esm2015/components/text-area/text-area.directive.js +0 -18
  112. package/esm2015/components/text-area/text-area.module.js +0 -51
  113. package/fesm2015/taiga-ui-kit-components-text-area.js +0 -283
  114. package/fesm2015/taiga-ui-kit-components-text-area.js.map +0 -1
@@ -1,3 +0,0 @@
1
- export * from './text-area.component';
2
- export * from './text-area.directive';
3
- export * from './text-area.module';
@@ -1,10 +0,0 @@
1
- {
2
- "main": "../../bundles/taiga-ui-kit-components-text-area.umd.js",
3
- "module": "../../fesm2015/taiga-ui-kit-components-text-area.js",
4
- "es2015": "../../fesm2015/taiga-ui-kit-components-text-area.js",
5
- "esm2015": "../../esm2015/components/text-area/taiga-ui-kit-components-text-area.js",
6
- "fesm2015": "../../fesm2015/taiga-ui-kit-components-text-area.js",
7
- "typings": "taiga-ui-kit-components-text-area.d.ts",
8
- "sideEffects": false,
9
- "name": "@taiga-ui/kit/components/text-area"
10
- }
@@ -1,8 +0,0 @@
1
- import { AbstractTuiTextfieldHost } from '@taiga-ui/core';
2
- import { TuiTextAreaComponent } from './text-area.component';
3
- import * as i0 from "@angular/core";
4
- export declare class TuiTextAreaDirective extends AbstractTuiTextfieldHost<TuiTextAreaComponent> {
5
- onValueChange(value: string): void;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextAreaDirective, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextAreaDirective, "tui-text-area", never, {}, {}, never>;
8
- }
@@ -1,4 +0,0 @@
1
- export * from './text-area.component';
2
- export * from './text-area.directive';
3
- export * from './text-area.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90ZXh0LWFyZWEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RleHQtYXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LWFyZWEuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC1hcmVhLm1vZHVsZSc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtdGV4dC1hcmVhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGV4dC1hcmVhL3RhaWdhLXVpLWtpdC1jb21wb25lbnRzLXRleHQtYXJlYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,217 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, HostBinding, HostListener, Inject, Input, Optional, Self, ViewChild, } from '@angular/core';
2
- import { NgControl } from '@angular/forms';
3
- import { AbstractTuiControl, TUI_IS_IOS, tuiAsControl, tuiAsFocusableItemAccessor, tuiIsNativeFocused, } from '@taiga-ui/cdk';
4
- import { MODE_PROVIDER, TEXTFIELD_CONTROLLER_PROVIDER, TUI_ICON_PADDINGS, TUI_MODE, TUI_TEXTFIELD_WATCHED_CONTROLLER, tuiGetBorder, TuiHintOptionsDirective, TuiTextfieldComponent, } from '@taiga-ui/core';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@taiga-ui/core";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "@angular/forms";
9
- import * as i4 from "@taiga-ui/cdk";
10
- import * as i5 from "@tinkoff/ng-polymorpheus";
11
- import * as i6 from "rxjs";
12
- export const DEFAULT_ROWS = 20;
13
- export const LINE_HEIGHT_M = 20;
14
- export const LINE_HEIGHT_L = 24;
15
- export class TuiTextAreaComponent extends AbstractTuiControl {
16
- constructor(control, cdr, isIOS, mode$, controller, hintOptions) {
17
- super(control, cdr);
18
- this.isIOS = isIOS;
19
- this.mode$ = mode$;
20
- this.controller = controller;
21
- this.hintOptions = hintOptions;
22
- this.rows = DEFAULT_ROWS;
23
- this.maxLength = null;
24
- this.expandable = false;
25
- }
26
- get labelOutside() {
27
- return this.controller.labelOutside;
28
- }
29
- get nativeFocusableElement() {
30
- var _a, _b;
31
- if (this.computedDisabled) {
32
- return null;
33
- }
34
- return (((_a = this.textfield) === null || _a === void 0 ? void 0 : _a.nativeElement) || ((_b = this.focusableElement) === null || _b === void 0 ? void 0 : _b.nativeElement) || null);
35
- }
36
- get focused() {
37
- return tuiIsNativeFocused(this.nativeFocusableElement);
38
- }
39
- get appearance() {
40
- return this.controller.appearance;
41
- }
42
- get size() {
43
- return this.controller.size;
44
- }
45
- get borderStart() {
46
- return this.iconLeftContent ? TUI_ICON_PADDINGS[this.size] : 0;
47
- }
48
- get borderEnd() {
49
- return tuiGetBorder(!!this.iconContent, this.hasCleaner, this.hasTooltip, this.hasCustomContent, this.size);
50
- }
51
- get hasCleaner() {
52
- return this.controller.cleaner && this.hasValue && this.interactive;
53
- }
54
- get hasTooltip() {
55
- var _a;
56
- return (!!((_a = this.hintOptions) === null || _a === void 0 ? void 0 : _a.content) &&
57
- (this.controller.options.hintOnDisabled || !this.computedDisabled));
58
- }
59
- get hasValue() {
60
- return this.value !== '';
61
- }
62
- get hasCounter() {
63
- return !!this.maxLength && this.interactive;
64
- }
65
- get hasPlaceholder() {
66
- return this.placeholderRaisable || (!this.hasValue && !this.hasExampleText);
67
- }
68
- get hasCustomContent() {
69
- return !!this.controller.customContent;
70
- }
71
- get iconLeftContent() {
72
- return this.controller.iconLeft;
73
- }
74
- get iconContent() {
75
- return this.controller.icon;
76
- }
77
- get iconCleaner() {
78
- return this.controller.options.iconCleaner;
79
- }
80
- get hasExampleText() {
81
- var _a;
82
- return (!!((_a = this.textfield) === null || _a === void 0 ? void 0 : _a.nativeElement.placeholder) &&
83
- this.focused &&
84
- !this.hasValue &&
85
- !this.readOnly);
86
- }
87
- get computeMaxHeight() {
88
- return this.expandable ? this.rows * this.lineHeight : null;
89
- }
90
- get placeholderRaised() {
91
- return (this.placeholderRaisable &&
92
- ((this.computedFocused && !this.readOnly) || this.hasValue));
93
- }
94
- get fittedContent() {
95
- return this.value.slice(0, this.maxLength || Infinity);
96
- }
97
- get extraContent() {
98
- return this.value.slice(this.maxLength || Infinity);
99
- }
100
- onFocused(focused) {
101
- this.updateFocused(focused);
102
- }
103
- onValueChange(value) {
104
- this.value = value;
105
- }
106
- onMouseDown(event) {
107
- if (event.target === this.nativeFocusableElement) {
108
- return;
109
- }
110
- event.preventDefault();
111
- if (this.nativeFocusableElement) {
112
- this.nativeFocusableElement.focus();
113
- }
114
- }
115
- getFallbackValue() {
116
- return '';
117
- }
118
- get lineHeight() {
119
- return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;
120
- }
121
- get placeholderRaisable() {
122
- return this.size !== 's' && !this.controller.labelOutside;
123
- }
124
- }
125
- TuiTextAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextAreaComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_IS_IOS }, { token: TUI_MODE }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }, { token: TuiHintOptionsDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
126
- TuiTextAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTextAreaComponent, selector: "tui-text-area", inputs: { rows: "rows", maxLength: "maxLength", expandable: "expandable" }, host: { listeners: { "$.data-mode.attr": "mode$", "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "class._ios": "isIOS", "class._expandable": "this.expandable", "class._label-outside": "this.labelOutside", "attr.data-size": "this.size", "style.--border-start.rem": "this.borderStart", "style.--border-end.rem": "this.borderEnd", "class._has-tooltip": "this.hasTooltip", "class._has-value": "this.hasValue", "class._has-counter": "this.hasCounter" } }, providers: [
127
- tuiAsFocusableItemAccessor(TuiTextAreaComponent),
128
- tuiAsControl(TuiTextAreaComponent),
129
- TEXTFIELD_CONTROLLER_PROVIDER,
130
- MODE_PROVIDER,
131
- ], 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: "<ng-container *ngIf=\"hintOptions?.change$ | async\"></ng-container>\n<div\n tuiWrapper\n automation-id=\"tui-text-area__wrapper\"\n class=\"t-outline\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [invalid]=\"computedInvalid\"\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></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 &nbsp;\n </div>\n <textarea\n #focusableElement\n automation-id=\"tui-text-area__native\"\n class=\"t-input\"\n [id]=\"id\"\n [tuiFocusable]=\"computedFocusable\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [(ngModel)]=\"value\"\n ></textarea>\n <ng-content select=\"textarea\"></ng-content>\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-svg\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <ng-container *ngIf=\"hasCustomContent\">\n <tui-svg\n *polymorpheusOutlet=\"controller.customContent as src\"\n [src]=\"src\"\n ></tui-svg>\n </ng-container>\n <ng-container *ngIf=\"hasCleaner\">\n <tui-svg\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n class=\"t-cleaner\"\n [src]=\"src\"\n (click.stop)=\"onValueChange('')\"\n ></tui-svg>\n </ng-container>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-text-area__tooltip\"\n [describeId]=\"id\"\n [content]=\"hintOptions?.content\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n </div>\n </label>\n</div>\n", styles: [":host{position:relative;z-index:0;display:flex;flex-direction:column;min-height:var(--tui-textarea-height);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}: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}.t-outline{min-height:inherit}.t-content{display:block;margin-top:0;margin-bottom:0;min-height: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-height:auto}:host._has-counter:not(._expandable) .t-content{bottom:1.6875rem}.t-wrapper{position:relative;width:100%;height:100%;min-height: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-bottom:.75rem}:host-context(table)[data-size=l]._label-outside .t-wrapper{padding-bottom:1rem}.t-input-wrapper{min-height:inherit;width:100%;flex:1}.t-relative{position:relative;min-height:inherit}.t-box{display:flex;min-height:calc(100% - 1rem);width:100%}:host:not(._expandable) .t-box{height:calc(100% - 1rem)}:host._has-counter._expandable .t-box{margin-bottom:1.25rem}:host[data-size=m]:not(._label-outside) .t-box{border-top:1rem solid transparent}:host[data-size=l]:not(._label-outside) .t-box{border-top:1.25rem solid transparent}.t-pseudo-content{white-space:pre-wrap;word-wrap:break-word;pointer-events:none;color:transparent;overflow:hidden;border:solid transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--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-error-bg-night)}.t-input{padding:0;margin:0;border:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;box-sizing:border-box;resize:none;overflow:hidden;outline:none;border:solid transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0)}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-input:not(:last-of-type){display:none}.t-input::placeholder{color:var(--tui-text-03);opacity:0}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}:host._focused .t-input:not(:-moz-read-only)::placeholder{opacity:1}: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}:host[data-size=l] .t-input{padding:0 1rem}:host[data-mode=onDark]._disabled .t-input{color:var(--tui-text-03-night)}@supports (-webkit-marquee-repetition: infinite) and (object-fit: fill){:host._ios .t-input{padding-left:.8125rem}}.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;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);position:absolute;top:calc(var(--tui-height) / 2 - .625rem);left:0;max-width:100%;border:solid transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);box-sizing:border-box}.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-error-fill)}:host._invalid:not(._focused) [tuiWrapper][data-mode=onDark] .t-placeholder_raised,:host._invalid:not(._focused):hover [tuiWrapper][data-mode=onDark] .t-placeholder_raised{color:var(--tui-error-fill-night)}: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-03)}: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-01)}[tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m]._focused:not(._label-outside) [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=l]._focused:not(._label-outside) [tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-01-night)}:host._focused [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=m]._focused._label-outside [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=l]._focused._label-outside [tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}: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;height: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){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.t-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}.t-icon_left{-webkit-margin-end:auto;margin-inline-end:auto}.t-cleaner{position:relative;display:flex;width:1.5rem;height: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-counter{position:absolute;right:.75rem;bottom:.5rem;font:var(--tui-font-text-s);pointer-events:none;margin-top:auto;text-align:right;color:var(--tui-text-03)}:host[data-mode=onDark] .t-counter{color:var(--tui-text-03-night)}\n"], components: [{ type: i1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextAreaComponent, decorators: [{
133
- type: Component,
134
- args: [{
135
- selector: 'tui-text-area',
136
- templateUrl: './text-area.template.html',
137
- styleUrls: ['./text-area.style.less'],
138
- changeDetection: ChangeDetectionStrategy.OnPush,
139
- providers: [
140
- tuiAsFocusableItemAccessor(TuiTextAreaComponent),
141
- tuiAsControl(TuiTextAreaComponent),
142
- TEXTFIELD_CONTROLLER_PROVIDER,
143
- MODE_PROVIDER,
144
- ],
145
- host: {
146
- '($.data-mode.attr)': 'mode$',
147
- '[class._ios]': 'isIOS',
148
- },
149
- }]
150
- }], ctorParameters: function () { return [{ type: i3.NgControl, decorators: [{
151
- type: Optional
152
- }, {
153
- type: Self
154
- }, {
155
- type: Inject,
156
- args: [NgControl]
157
- }] }, { type: i0.ChangeDetectorRef, decorators: [{
158
- type: Inject,
159
- args: [ChangeDetectorRef]
160
- }] }, { type: undefined, decorators: [{
161
- type: Inject,
162
- args: [TUI_IS_IOS]
163
- }] }, { type: i6.Observable, decorators: [{
164
- type: Inject,
165
- args: [TUI_MODE]
166
- }] }, { type: i1.TuiTextfieldController, decorators: [{
167
- type: Inject,
168
- args: [TUI_TEXTFIELD_WATCHED_CONTROLLER]
169
- }] }, { type: i1.TuiHintOptionsDirective, decorators: [{
170
- type: Optional
171
- }, {
172
- type: Inject,
173
- args: [TuiHintOptionsDirective]
174
- }] }]; }, propDecorators: { focusableElement: [{
175
- type: ViewChild,
176
- args: ['focusableElement']
177
- }], textfield: [{
178
- type: ContentChild,
179
- args: [TuiTextfieldComponent, { read: ElementRef }]
180
- }], rows: [{
181
- type: Input
182
- }], maxLength: [{
183
- type: Input
184
- }], expandable: [{
185
- type: Input
186
- }, {
187
- type: HostBinding,
188
- args: ['class._expandable']
189
- }], labelOutside: [{
190
- type: HostBinding,
191
- args: ['class._label-outside']
192
- }], size: [{
193
- type: HostBinding,
194
- args: ['attr.data-size']
195
- }], borderStart: [{
196
- type: HostBinding,
197
- args: ['style.--border-start.rem']
198
- }], borderEnd: [{
199
- type: HostBinding,
200
- args: ['style.--border-end.rem']
201
- }], hasTooltip: [{
202
- type: HostBinding,
203
- args: ['class._has-tooltip']
204
- }], hasValue: [{
205
- type: HostBinding,
206
- args: ['class._has-value']
207
- }], hasCounter: [{
208
- type: HostBinding,
209
- args: ['class._has-counter']
210
- }], onFocused: [{
211
- type: HostListener,
212
- args: ['focusin', ['true']]
213
- }, {
214
- type: HostListener,
215
- args: ['focusout', ['false']]
216
- }] } });
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGV4dC1hcmVhL3RleHQtYXJlYS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsWUFBWSxFQUNaLDBCQUEwQixFQUcxQixrQkFBa0IsR0FDckIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFDYiw2QkFBNkIsRUFDN0IsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixnQ0FBZ0MsRUFFaEMsWUFBWSxFQUNaLHVCQUF1QixFQUd2QixxQkFBcUIsR0FFeEIsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFJeEIsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFrQmhDLE1BQU0sT0FBTyxvQkFDVCxTQUFRLGtCQUEwQjtJQW1CbEMsWUFJSSxPQUF5QixFQUNFLEdBQXNCLEVBQ3BCLEtBQWMsRUFDaEIsS0FBdUMsRUFFekQsVUFBa0MsRUFHbEMsV0FB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RGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIFRVSV9JU19JT1MsXG4gICAgdHVpQXNDb250cm9sLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1PREVfUFJPVklERVIsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX0lDT05fUEFERElOR1MsXG4gICAgVFVJX01PREUsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICB0dWlHZXRCb3JkZXIsXG4gICAgVHVpSGludE9wdGlvbnNEaXJlY3RpdmUsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1JPV1MgPSAyMDtcbmV4cG9ydCBjb25zdCBMSU5FX0hFSUdIVF9NID0gMjA7XG5leHBvcnQgY29uc3QgTElORV9IRUlHSFRfTCA9IDI0O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS10ZXh0LWFyZWEnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWFyZWEudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dC1hcmVhLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpVGV4dEFyZWFDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpVGV4dEFyZWFDb21wb25lbnQpLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6ICdtb2RlJCcsXG4gICAgICAgICdbY2xhc3MuX2lvc10nOiAnaXNJT1MnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRleHRBcmVhQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8c3RyaW5nPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZCgnZm9jdXNhYmxlRWxlbWVudCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpVGV4dGZpZWxkQ29tcG9uZW50LCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ/OiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICByb3dzID0gREVGQVVMVF9ST1dTO1xuXG4gICAgQElucHV0KClcbiAgICBtYXhMZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9leHBhbmRhYmxlJylcbiAgICBleHBhbmRhYmxlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSByZWFkb25seSBpc0lPUzogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBjb250cm9sbGVyOiBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlKVxuICAgICAgICByZWFkb25seSBoaW50T3B0aW9uczogVHVpSGludE9wdGlvbnNEaXJlY3RpdmUgfCBudWxsLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjZHIpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2xhYmVsLW91dHNpZGUnKVxuICAgIGdldCBsYWJlbE91dHNpZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIubGFiZWxPdXRzaWRlO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcHV0ZWREaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQ/Lm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5mb2N1c2FibGVFbGVtZW50Py5uYXRpdmVFbGVtZW50IHx8IG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBhcHBlYXJhbmNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuYXBwZWFyYW5jZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS1ib3JkZXItc3RhcnQucmVtJylcbiAgICBnZXQgYm9yZGVyU3RhcnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbkxlZnRDb250ZW50ID8gVFVJX0lDT05fUEFERElOR1NbdGhpcy5zaXplXSA6IDA7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWJvcmRlci1lbmQucmVtJylcbiAgICBnZXQgYm9yZGVyRW5kKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0dWlHZXRCb3JkZXIoXG4gICAgICAgICAgICAhIXRoaXMuaWNvbkNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLmhhc0NsZWFuZXIsXG4gICAgICAgICAgICB0aGlzLmhhc1Rvb2x0aXAsXG4gICAgICAgICAgICB0aGlzLmhhc0N1c3RvbUNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLnNpemUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuY2xlYW5lciAmJiB0aGlzLmhhc1ZhbHVlICYmIHRoaXMuaW50ZXJhY3RpdmU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faGFzLXRvb2x0aXAnKVxuICAgIGdldCBoYXNUb29sdGlwKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLmhpbnRPcHRpb25zPy5jb250ZW50ICYmXG4gICAgICAgICAgICAodGhpcy5jb250cm9sbGVyLm9wdGlvbnMuaGludE9uRGlzYWJsZWQgfHwgIXRoaXMuY29tcHV0ZWREaXNhYmxlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9oYXMtdmFsdWUnKVxuICAgIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgIT09ICcnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hhcy1jb3VudGVyJylcbiAgICBnZXQgaGFzQ291bnRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5tYXhMZW5ndGggJiYgdGhpcy5pbnRlcmFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYWNlaG9sZGVyUmFpc2FibGUgfHwgKCF0aGlzLmhhc1ZhbHVlICYmICF0aGlzLmhhc0V4YW1wbGVUZXh0KTtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ3VzdG9tQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb250cm9sbGVyLmN1c3RvbUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGljb25MZWZ0Q29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZVM+XG4gICAgPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuaWNvbkxlZnQ7XG4gICAgfVxuXG4gICAgZ2V0IGljb25Db250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplTCB8IFR1aVNpemVTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmljb247XG4gICAgfVxuXG4gICAgZ2V0IGljb25DbGVhbmVyKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplTCB8IFR1aVNpemVTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLm9wdGlvbnMuaWNvbkNsZWFuZXI7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0V4YW1wbGVUZXh0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLnRleHRmaWVsZD8ubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciAmJlxuICAgICAgICAgICAgdGhpcy5mb2N1c2VkICYmXG4gICAgICAgICAgICAhdGhpcy5oYXNWYWx1ZSAmJlxuICAgICAgICAgICAgIXRoaXMucmVhZE9ubHlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZU1heEhlaWdodCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwYW5kYWJsZSA/IHRoaXMucm93cyAqIHRoaXMubGluZUhlaWdodCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlclJhaXNhYmxlICYmXG4gICAgICAgICAgICAoKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc1ZhbHVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBmaXR0ZWRDb250ZW50KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnNsaWNlKDAsIHRoaXMubWF4TGVuZ3RoIHx8IEluZmluaXR5KTtcbiAgICB9XG5cbiAgICBnZXQgZXh0cmFDb250ZW50KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnNsaWNlKHRoaXMubWF4TGVuZ3RoIHx8IEluZmluaXR5KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c2luJywgWyd0cnVlJ10pXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnLCBbJ2ZhbHNlJ10pXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGxpbmVIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplID09PSAnbScgPyBMSU5FX0hFSUdIVF9NIDogTElORV9IRUlHSFRfTDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwbGFjZWhvbGRlclJhaXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplICE9PSAncycgJiYgIXRoaXMuY29udHJvbGxlci5sYWJlbE91dHNpZGU7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpbnRPcHRpb25zPy5jaGFuZ2UkIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgICB0dWlXcmFwcGVyXG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS10ZXh0LWFyZWFfX3dyYXBwZXJcIlxuICAgIGNsYXNzPVwidC1vdXRsaW5lXCJcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtmb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgIFtob3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJoYXNDb3VudGVyXCJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS10ZXh0LWFyZWFfX2NvdW50ZXJcIlxuICAgICAgICBjbGFzcz1cInQtY291bnRlclwiXG4gICAgPlxuICAgICAgICB7eyB2YWx1ZS5sZW5ndGggfX0ve3sgbWF4TGVuZ3RoIH19XG4gICAgPC9kaXY+XG5cbiAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktdGV4dC1hcmVhX19wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1wbGFjZWhvbGRlcl9yYWlzZWRdPVwicGxhY2Vob2xkZXJSYWlzZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHR1aS1zY3JvbGxiYXJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXRleHQtYXJlYV9fc2Nyb2xsYmFyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYm94XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubWF4SGVpZ2h0LnB4XT1cImNvbXB1dGVNYXhIZWlnaHRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LWlucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInQtcmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1wc2V1ZG8tY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImZpdHRlZENvbnRlbnQgfHwgbmF0aXZlRm9jdXNhYmxlRWxlbWVudD8ucGxhY2Vob2xkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXBzZXVkby1jb250ZW50X19leHRyYVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJleHRyYUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS10ZXh0LWFyZWFfX25hdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlGb2N1c2FibGVdPVwiY29tcHV0ZWRGb2N1c2FibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0ZXh0YXJlYVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3R1aS1zY3JvbGxiYXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC1pY29uc1wiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaWNvbkxlZnRDb250ZW50XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvbiB0LWljb25fbGVmdCB0LXRleHRmaWVsZC1pY29uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbkxlZnRDb250ZW50IGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNDdXN0b21Db250ZW50XCI+XG4gICAgICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRyb2xsZXIuY3VzdG9tQ29udGVudCBhcyBzcmNcIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0NsZWFuZXJcIj5cbiAgICAgICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbkNsZWFuZXIgYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICAgICAgICAgIHR1aVdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtY2xlYW5lclwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrLnN0b3ApPVwib25WYWx1ZUNoYW5nZSgnJylcIlxuICAgICAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDx0dWktdG9vbHRpcFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzVG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS10ZXh0LWFyZWFfX3Rvb2x0aXBcIlxuICAgICAgICAgICAgICAgIFtkZXNjcmliZUlkXT1cImlkXCJcbiAgICAgICAgICAgICAgICBbY29udGVudF09XCJoaW50T3B0aW9ucz8uY29udGVudFwiXG4gICAgICAgICAgICA+PC90dWktdG9vbHRpcD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImljb25Db250ZW50XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvbiB0LXRleHRmaWVsZC1pY29uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbkNvbnRlbnQgYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICAgICAgICAgIHR1aVdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuPC9kaXY+XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { AbstractTuiTextfieldHost, tuiAsTextfieldHost } from '@taiga-ui/core';
3
- import * as i0 from "@angular/core";
4
- export class TuiTextAreaDirective extends AbstractTuiTextfieldHost {
5
- onValueChange(value) {
6
- this.host.onValueChange(value);
7
- }
8
- }
9
- TuiTextAreaDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextAreaDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
10
- TuiTextAreaDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiTextAreaDirective, selector: "tui-text-area", providers: [tuiAsTextfieldHost(TuiTextAreaDirective)], usesInheritance: true, ngImport: i0 });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextAreaDirective, decorators: [{
12
- type: Directive,
13
- args: [{
14
- selector: 'tui-text-area',
15
- providers: [tuiAsTextfieldHost(TuiTextAreaDirective)],
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLHdCQUF3QixFQUFFLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBUTVFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx3QkFBOEM7SUFDcEYsYUFBYSxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7a0hBSFEsb0JBQW9CO3NHQUFwQixvQkFBb0Isd0NBRmxCLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsQ0FBQzs0RkFFNUMsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixTQUFTLEVBQUUsQ0FBQyxrQkFBa0Isc0JBQXNCLENBQUM7aUJBQ3hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aVRleHRmaWVsZEhvc3QsIHR1aUFzVGV4dGZpZWxkSG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5pbXBvcnQge1R1aVRleHRBcmVhQ29tcG9uZW50fSBmcm9tICcuL3RleHQtYXJlYS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3R1aS10ZXh0LWFyZWEnLFxuICAgIHByb3ZpZGVyczogW3R1aUFzVGV4dGZpZWxkSG9zdChUdWlUZXh0QXJlYURpcmVjdGl2ZSldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUZXh0QXJlYURpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0VHVpVGV4dGZpZWxkSG9zdDxUdWlUZXh0QXJlYUNvbXBvbmVudD4ge1xuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3Qub25WYWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgfVxufVxuIl19
@@ -1,51 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { TuiFocusableModule } from '@taiga-ui/cdk';
5
- import { TuiPrimitiveTextfieldModule, TuiScrollbarModule, TuiSvgModule, TuiTextfieldComponent, TuiTooltipModule, TuiWrapperModule, } from '@taiga-ui/core';
6
- import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
7
- import { TuiTextAreaComponent } from './text-area.component';
8
- import { TuiTextAreaDirective } from './text-area.directive';
9
- import * as i0 from "@angular/core";
10
- export class TuiTextAreaModule {
11
- }
12
- TuiTextAreaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- TuiTextAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextAreaModule, declarations: [TuiTextAreaComponent, TuiTextAreaDirective], imports: [CommonModule,
14
- FormsModule,
15
- TuiFocusableModule,
16
- TuiScrollbarModule,
17
- TuiTooltipModule,
18
- TuiWrapperModule,
19
- TuiSvgModule,
20
- TuiPrimitiveTextfieldModule,
21
- PolymorpheusModule], exports: [TuiTextAreaComponent, TuiTextAreaDirective, TuiTextfieldComponent] });
22
- TuiTextAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextAreaModule, imports: [[
23
- CommonModule,
24
- FormsModule,
25
- TuiFocusableModule,
26
- TuiScrollbarModule,
27
- TuiTooltipModule,
28
- TuiWrapperModule,
29
- TuiSvgModule,
30
- TuiPrimitiveTextfieldModule,
31
- PolymorpheusModule,
32
- ]] });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextAreaModule, decorators: [{
34
- type: NgModule,
35
- args: [{
36
- imports: [
37
- CommonModule,
38
- FormsModule,
39
- TuiFocusableModule,
40
- TuiScrollbarModule,
41
- TuiTooltipModule,
42
- TuiWrapperModule,
43
- TuiSvgModule,
44
- TuiPrimitiveTextfieldModule,
45
- PolymorpheusModule,
46
- ],
47
- declarations: [TuiTextAreaComponent, TuiTextAreaDirective],
48
- exports: [TuiTextAreaComponent, TuiTextAreaDirective, TuiTextfieldComponent],
49
- }]
50
- }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNILDJCQUEyQixFQUMzQixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBaUIzRCxNQUFNLE9BQU8saUJBQWlCOzsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBSFgsb0JBQW9CLEVBQUUsb0JBQW9CLGFBVnJELFlBQVk7UUFDWixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWiwyQkFBMkI7UUFDM0Isa0JBQWtCLGFBR1osb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCO2dIQUVsRSxpQkFBaUIsWUFkakI7WUFDTCxZQUFZO1lBQ1osV0FBVztZQUNYLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osMkJBQTJCO1lBQzNCLGtCQUFrQjtTQUNyQjs0RkFJUSxpQkFBaUI7a0JBZjdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osMkJBQTJCO3dCQUMzQixrQkFBa0I7cUJBQ3JCO29CQUNELFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDO29CQUMxRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQztpQkFDL0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUdWlGb2N1c2FibGVNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRNb2R1bGUsXG4gICAgVHVpU2Nyb2xsYmFyTW9kdWxlLFxuICAgIFR1aVN2Z01vZHVsZSxcbiAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVG9vbHRpcE1vZHVsZSxcbiAgICBUdWlXcmFwcGVyTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlUZXh0QXJlYUNvbXBvbmVudH0gZnJvbSAnLi90ZXh0LWFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7VHVpVGV4dEFyZWFEaXJlY3RpdmV9IGZyb20gJy4vdGV4dC1hcmVhLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBUdWlGb2N1c2FibGVNb2R1bGUsXG4gICAgICAgIFR1aVNjcm9sbGJhck1vZHVsZSxcbiAgICAgICAgVHVpVG9vbHRpcE1vZHVsZSxcbiAgICAgICAgVHVpV3JhcHBlck1vZHVsZSxcbiAgICAgICAgVHVpU3ZnTW9kdWxlLFxuICAgICAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRNb2R1bGUsXG4gICAgICAgIFBvbHltb3JwaGV1c01vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aVRleHRBcmVhQ29tcG9uZW50LCBUdWlUZXh0QXJlYURpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1R1aVRleHRBcmVhQ29tcG9uZW50LCBUdWlUZXh0QXJlYURpcmVjdGl2ZSwgVHVpVGV4dGZpZWxkQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGV4dEFyZWFNb2R1bGUge31cbiJdfQ==