@taiga-ui/kit 3.12.1 → 3.14.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.
- package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +11 -5
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js +2 -0
- package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +2 -0
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +4 -0
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +79 -51
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +9 -2
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.js +2 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-items-with-more.umd.js +578 -0
- package/bundles/taiga-ui-kit-components-items-with-more.umd.js.map +1 -0
- package/bundles/taiga-ui-kit-components-push.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +15 -4
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +27 -9
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tiles.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components.umd.js +10 -4
- package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-project-class.umd.js +1 -6
- package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js +404 -0
- package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js.map +1 -0
- package/bundles/taiga-ui-kit-pipes.umd.js +10 -4
- package/bundles/taiga-ui-kit-pipes.umd.js.map +1 -1
- package/components/data-list-wrapper/data-list-wrapper.component.d.ts +2 -2
- package/components/index.d.ts +1 -0
- package/components/input-count/input-count.component.d.ts +2 -0
- package/components/input-number/input-number.component.d.ts +2 -0
- package/components/input-slider/input-slider.component.d.ts +11 -6
- package/components/input-slider/input-slider.module.d.ts +2 -1
- package/components/input-tag/input-tag.component.d.ts +1 -0
- package/components/input-time/input-time.component.d.ts +1 -0
- package/components/items-with-more/index.d.ts +5 -0
- package/components/items-with-more/items-with-more.component.d.ts +14 -0
- package/components/items-with-more/items-with-more.directive.d.ts +8 -0
- package/components/items-with-more/items-with-more.module.d.ts +12 -0
- package/components/items-with-more/items-with-more.service.d.ts +17 -0
- package/components/items-with-more/more.directive.d.ts +7 -0
- package/components/items-with-more/package.json +10 -0
- package/components/items-with-more/taiga-ui-kit-components-items-with-more.d.ts +5 -0
- package/components/tag/tag.component.d.ts +5 -2
- package/components/text-area/text-area.component.d.ts +4 -1
- package/components/text-area/text-area.module.d.ts +2 -1
- package/components/tiles/tile-handle.directive.d.ts +1 -1
- package/esm2015/components/avatar/avatar.component.js +1 -1
- package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +13 -7
- package/esm2015/components/files/file/file.component.js +1 -1
- package/esm2015/components/index.js +2 -1
- package/esm2015/components/input-count/input-count.component.js +3 -1
- package/esm2015/components/input-date/input-date.component.js +2 -2
- package/esm2015/components/input-date-range/input-date-range.component.js +2 -2
- package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
- package/esm2015/components/input-number/input-number.component.js +3 -1
- package/esm2015/components/input-phone-international/input-phone-international.component.js +5 -1
- package/esm2015/components/input-slider/input-slider.component.js +36 -19
- package/esm2015/components/input-slider/input-slider.module.js +6 -2
- package/esm2015/components/input-tag/input-tag.component.js +6 -3
- package/esm2015/components/input-time/input-time.component.js +3 -2
- package/esm2015/components/items-with-more/index.js +6 -0
- package/esm2015/components/items-with-more/items-with-more.component.js +70 -0
- package/esm2015/components/items-with-more/items-with-more.directive.js +30 -0
- package/esm2015/components/items-with-more/items-with-more.module.js +36 -0
- package/esm2015/components/items-with-more/items-with-more.service.js +66 -0
- package/esm2015/components/items-with-more/more.directive.js +16 -0
- package/esm2015/components/items-with-more/taiga-ui-kit-components-items-with-more.js +5 -0
- package/esm2015/components/push/push.component.js +1 -1
- package/esm2015/components/tag/tag.component.js +13 -6
- package/esm2015/components/text-area/text-area.component.js +13 -6
- package/esm2015/components/text-area/text-area.module.js +6 -2
- package/esm2015/components/tiles/tile-handle.directive.js +5 -3
- package/esm2015/directives/project-class/project-class.directive.js +2 -7
- package/esm2015/pipes/index.js +2 -1
- package/esm2015/pipes/sort-countries/index.js +3 -0
- package/esm2015/pipes/sort-countries/sort-countries.module.js +16 -0
- package/esm2015/pipes/sort-countries/sort-countries.pipe.js +25 -0
- package/esm2015/pipes/sort-countries/taiga-ui-kit-pipes-sort-countries.js +5 -0
- package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
- package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +12 -6
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js +2 -0
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +2 -0
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +4 -0
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +39 -19
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +5 -2
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js +2 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-items-with-more.js +203 -0
- package/fesm2015/taiga-ui-kit-components-items-with-more.js.map +1 -0
- package/fesm2015/taiga-ui-kit-components-push.js +1 -1
- package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +12 -5
- package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +17 -6
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tiles.js +4 -2
- package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components.js +1 -0
- package/fesm2015/taiga-ui-kit-components.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-project-class.js +1 -6
- package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-sort-countries.js +45 -0
- package/fesm2015/taiga-ui-kit-pipes-sort-countries.js.map +1 -0
- package/fesm2015/taiga-ui-kit-pipes.js +1 -0
- package/fesm2015/taiga-ui-kit-pipes.js.map +1 -1
- package/package.json +4 -4
- package/pipes/index.d.ts +1 -0
- package/pipes/sort-countries/index.d.ts +2 -0
- package/pipes/sort-countries/package.json +10 -0
- package/pipes/sort-countries/sort-countries.module.d.ts +7 -0
- package/pipes/sort-countries/sort-countries.pipe.d.ts +11 -0
- package/pipes/sort-countries/taiga-ui-kit-pipes-sort-countries.d.ts +5 -0
|
@@ -9,7 +9,9 @@ import * as i1 from '@taiga-ui/core';
|
|
|
9
9
|
import { tuiGetBorder, TUI_TEXTFIELD_APPEARANCE, TUI_MODE, TUI_TEXTFIELD_WATCHED_CONTROLLER, TuiHintOptionsDirective, TEXTFIELD_CONTROLLER_PROVIDER, MODE_PROVIDER, TuiTextfieldComponent, AbstractTuiTextfieldHost, tuiAsTextfieldHost, TuiScrollbarModule, TuiTooltipModule, TuiWrapperModule, TuiSvgModule, TuiPrimitiveTextfieldModule } from '@taiga-ui/core';
|
|
10
10
|
import * as i2 from '@angular/common';
|
|
11
11
|
import { CommonModule } from '@angular/common';
|
|
12
|
-
import * as i5 from '
|
|
12
|
+
import * as i5 from '@tinkoff/ng-polymorpheus';
|
|
13
|
+
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
14
|
+
import * as i6 from 'rxjs';
|
|
13
15
|
|
|
14
16
|
const DEFAULT_ROWS = 20;
|
|
15
17
|
const LINE_HEIGHT_M = 20;
|
|
@@ -59,7 +61,10 @@ class TuiTextAreaComponent extends AbstractTuiControl {
|
|
|
59
61
|
return !!this.maxLength && this.interactive;
|
|
60
62
|
}
|
|
61
63
|
get hasPlaceholder() {
|
|
62
|
-
return
|
|
64
|
+
return this.placeholderRaisable || (!this.hasValue && !this.hasExampleText);
|
|
65
|
+
}
|
|
66
|
+
get iconCleaner() {
|
|
67
|
+
return this.controller.options.iconCleaner;
|
|
63
68
|
}
|
|
64
69
|
get hasExampleText() {
|
|
65
70
|
var _a;
|
|
@@ -72,7 +77,7 @@ class TuiTextAreaComponent extends AbstractTuiControl {
|
|
|
72
77
|
return this.expandable ? this.rows * this.lineHeight : null;
|
|
73
78
|
}
|
|
74
79
|
get placeholderRaised() {
|
|
75
|
-
return (
|
|
80
|
+
return (this.placeholderRaisable &&
|
|
76
81
|
((this.computedFocused && !this.readOnly) || this.hasValue));
|
|
77
82
|
}
|
|
78
83
|
get fittedContent() {
|
|
@@ -102,6 +107,9 @@ class TuiTextAreaComponent extends AbstractTuiControl {
|
|
|
102
107
|
get lineHeight() {
|
|
103
108
|
return this.controller.size === `m` ? LINE_HEIGHT_M : LINE_HEIGHT_L;
|
|
104
109
|
}
|
|
110
|
+
get placeholderRaisable() {
|
|
111
|
+
return this.size !== `s` && !this.controller.labelOutside;
|
|
112
|
+
}
|
|
105
113
|
}
|
|
106
114
|
TuiTextAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextAreaComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_TEXTFIELD_APPEARANCE }, { token: TUI_IS_IOS }, { token: TUI_MODE }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }, { token: TuiHintOptionsDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
107
115
|
TuiTextAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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-end.rem": "this.border", "class._has-tooltip": "this.hasTooltip", "class._has-value": "this.hasValue", "class._has-counter": "this.hasCounter" } }, providers: [
|
|
@@ -109,7 +117,7 @@ TuiTextAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
109
117
|
tuiAsControl(TuiTextAreaComponent),
|
|
110
118
|
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
111
119
|
MODE_PROVIDER,
|
|
112
|
-
], 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 \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 [ngModel]=\"value\"\n [readOnly]=\"readOnly\"\n (ngModelChange)=\"onValueChange($event)\"\n ></textarea>\n <ng-content select=\"textarea\"></ng-content>\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n <tui-svg\n *ngIf=\"hasCleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-cleaner\"\n (click.stop)=\"onValueChange('')\"\n ></tui-svg>\n <tui-tooltip\n *ngIf=\"hintOptions && hintOptions.content && !computedDisabled\"\n automation-id=\"tui-text-area__tooltip\"\n class=\"t-tooltip\"\n [describeId]=\"id\"\n [direction]=\"hintOptions.direction\"\n [appearance]=\"hintOptions.appearance\"\n [content]=\"hintOptions.content\"\n [showDelay]=\"hintOptions.showDelay\"\n [hideDelay]=\"hintOptions.hideDelay\"\n ></tui-tooltip>\n </div>\n </label>\n</div>\n", styles: [":host{position:relative;z-index:0;display:flex;font:var(--tui-font-text-m);flex-direction:column;min-height:var(--tui-textarea-height, 6.75rem);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-size=m]{--tui-textarea-height: 5.5rem}: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;padding-bottom:.4375rem;box-sizing:border-box}:host[data-size=m]._label-outside .t-wrapper{padding-top:.75rem}:host[data-size=l]._label-outside .t-wrapper{padding-top:1rem}:host[data-size=m]:not(._label-outside) .t-wrapper{padding-top:1.375rem}:host[data-size=l]:not(._label-outside) .t-wrapper{padding-top:1.625rem}: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:100%;width:100%}:host:not(._expandable) .t-box{height:100%}:host._has-counter._expandable .t-box{margin-bottom:1.25rem}.t-pseudo-content{white-space:pre-wrap;word-wrap:break-word;pointer-events:none;color:transparent;overflow:hidden;border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0)}: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-width:0 var(--border-end, 0) 0 var(--border-start, 0);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::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}.t-input::placeholder{color:var(--tui-text-03);opacity:0}:host[data-mode=onDark] .t-input::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}:host._focused .t-input:not(:read-only)::-ms-input-placeholder{opacity:1}:host._focused .t-input:not(:-moz-read-only)::placeholder{opacity:1}:host._focused .t-input:not(:read-only)::placeholder{opacity:1}: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;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);position:absolute;left:0;max-width:100%;padding:0 1rem;border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);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);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[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .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-size:.9375rem}: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)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size=l][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size=m][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size=l][data-mode=onDark]._focused._label-outside .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=m] .t-placeholder{top:.75rem;padding:0 .75rem}:host[data-size=l] .t-placeholder{top:1rem}:host._label-outside .t-placeholder{overflow:visible;overflow:initial;height:auto;white-space:normal;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:1rem .75rem}:host[data-size=m] .t-icons{padding:.75rem}.t-cleaner{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform;pointer-events:auto}.t-cleaner:hover{color:var(--tui-text-02)}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}:host[data-mode=onDark] .t-cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-cleaner:hover{color:var(--tui-text-01-night)}.t-tooltip{pointer-events:auto}.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"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
120
|
+
], 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 \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 [ngModel]=\"value\"\n [readOnly]=\"readOnly\"\n (ngModelChange)=\"onValueChange($event)\"\n ></textarea>\n <ng-content select=\"textarea\"></ng-content>\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n <ng-container *ngIf=\"hasCleaner\">\n <tui-svg\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n class=\"t-cleaner\"\n [src]=\"src\"\n (click.stop)=\"onValueChange('')\"\n ></tui-svg>\n </ng-container>\n <tui-tooltip\n *ngIf=\"hintOptions && hintOptions.content && !computedDisabled\"\n automation-id=\"tui-text-area__tooltip\"\n class=\"t-tooltip\"\n [describeId]=\"id\"\n [direction]=\"hintOptions.direction\"\n [appearance]=\"hintOptions.appearance\"\n [content]=\"hintOptions.content\"\n [showDelay]=\"hintOptions.showDelay\"\n [hideDelay]=\"hintOptions.hideDelay\"\n ></tui-tooltip>\n </div>\n </label>\n</div>\n", styles: [":host{position:relative;z-index:0;display:flex;font:var(--tui-font-text-m);flex-direction:column;min-height:var(--tui-textarea-height, 6.75rem);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-textarea-height: 4.5625rem;font:var(--tui-font-text-s)}:host[data-size=m]{--tui-textarea-height: 5.5rem;font:var(--tui-font-text-s)}: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;padding-bottom:.4375rem;box-sizing:border-box}:host[data-size=s] .t-wrapper{padding-top:.375rem}:host[data-size=m]._label-outside .t-wrapper{padding-top:.75rem}:host[data-size=l]._label-outside .t-wrapper{padding-top:1rem}:host[data-size=m]:not(._label-outside) .t-wrapper{padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-wrapper{padding-top:1.625rem}: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:100%;width:100%}:host:not(._expandable) .t-box{height:100%}:host._has-counter._expandable .t-box{margin-bottom:1.25rem}.t-pseudo-content{white-space:pre-wrap;word-wrap:break-word;pointer-events:none;color:transparent;overflow:hidden;border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0)}: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-width:0 var(--border-end, 0) 0 var(--border-start, 0);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::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}.t-input::placeholder{color:var(--tui-text-03);opacity:0}:host[data-mode=onDark] .t-input::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}:host._focused .t-input:not(:read-only)::-ms-input-placeholder{opacity:1}:host._focused .t-input:not(:-moz-read-only)::placeholder{opacity:1}:host._focused .t-input:not(:read-only)::placeholder{opacity:1}: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;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);position:absolute;left:0;max-width:100%;padding:0 1rem;border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);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);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[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .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-size:.9375rem}: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)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size=l][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size=m][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size=l][data-mode=onDark]._focused._label-outside .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{top:.375rem;padding:0 .75rem}:host[data-size=m] .t-placeholder{top:.75rem;padding:0 .75rem}:host[data-size=l] .t-placeholder{top:1rem}:host._label-outside .t-placeholder{overflow:visible;overflow:initial;height:auto;white-space:normal;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:1rem .75rem}:host[data-size=m] .t-icons{padding:.75rem}.t-cleaner{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform;pointer-events:auto}.t-cleaner:hover{color:var(--tui-text-02)}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}:host[data-mode=onDark] .t-cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-cleaner:hover{color:var(--tui-text-01-night)}.t-tooltip{pointer-events:auto}.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 });
|
|
113
121
|
__decorate([
|
|
114
122
|
tuiDefaultProp()
|
|
115
123
|
], TuiTextAreaComponent.prototype, "rows", void 0);
|
|
@@ -153,7 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
153
161
|
}] }, { type: undefined, decorators: [{
|
|
154
162
|
type: Inject,
|
|
155
163
|
args: [TUI_IS_IOS]
|
|
156
|
-
}] }, { type:
|
|
164
|
+
}] }, { type: i6.Observable, decorators: [{
|
|
157
165
|
type: Inject,
|
|
158
166
|
args: [TUI_MODE]
|
|
159
167
|
}] }, { type: i1.TuiTextfieldController, decorators: [{
|
|
@@ -230,7 +238,8 @@ TuiTextAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
|
|
|
230
238
|
TuiTooltipModule,
|
|
231
239
|
TuiWrapperModule,
|
|
232
240
|
TuiSvgModule,
|
|
233
|
-
TuiPrimitiveTextfieldModule
|
|
241
|
+
TuiPrimitiveTextfieldModule,
|
|
242
|
+
PolymorpheusModule], exports: [TuiTextAreaComponent, TuiTextAreaDirective, TuiTextfieldComponent] });
|
|
234
243
|
TuiTextAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextAreaModule, imports: [[
|
|
235
244
|
CommonModule,
|
|
236
245
|
FormsModule,
|
|
@@ -240,6 +249,7 @@ TuiTextAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
|
|
|
240
249
|
TuiWrapperModule,
|
|
241
250
|
TuiSvgModule,
|
|
242
251
|
TuiPrimitiveTextfieldModule,
|
|
252
|
+
PolymorpheusModule,
|
|
243
253
|
]] });
|
|
244
254
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextAreaModule, decorators: [{
|
|
245
255
|
type: NgModule,
|
|
@@ -253,6 +263,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
253
263
|
TuiWrapperModule,
|
|
254
264
|
TuiSvgModule,
|
|
255
265
|
TuiPrimitiveTextfieldModule,
|
|
266
|
+
PolymorpheusModule,
|
|
256
267
|
],
|
|
257
268
|
declarations: [TuiTextAreaComponent, TuiTextAreaDirective],
|
|
258
269
|
exports: [TuiTextAreaComponent, TuiTextAreaDirective, TuiTextfieldComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-text-area.js","sources":["../../../projects/kit/components/text-area/text-area.component.ts","../../../projects/kit/components/text-area/text-area.template.html","../../../projects/kit/components/text-area/text-area.directive.ts","../../../projects/kit/components/text-area/text-area.module.ts","../../../projects/kit/components/text-area/taiga-ui-kit-components-text-area.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TUI_IS_IOS,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_MODE,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n tuiGetBorder,\n TuiHintOptionsDirective,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldComponent,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n@Component({\n selector: `tui-text-area`,\n templateUrl: `./text-area.template.html`,\n styleUrls: [`./text-area.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiTextAreaComponent),\n tuiAsControl(TuiTextAreaComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': `mode$`,\n '[class._ios]': `isIOS`,\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 @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @tuiDefaultProp()\n maxLength: number | null = null;\n\n @Input()\n @HostBinding(`class._expandable`)\n @tuiDefaultProp()\n expandable = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Optional()\n @Inject(TuiHintOptionsDirective)\n readonly hintOptions: TuiHintOptionsDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostBinding(`class._label-outside`)\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n 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 get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding(`attr.data-size`)\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding(`style.--border-end.rem`)\n get border(): number {\n return tuiGetBorder(false, this.hasCleaner, this.hasTooltip);\n }\n\n get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n @HostBinding(`class._has-tooltip`)\n get hasTooltip(): boolean {\n return !!this.hintOptions?.content && !this.computedDisabled;\n }\n\n @HostBinding(`class._has-value`)\n get hasValue(): boolean {\n return this.value !== ``;\n }\n\n @HostBinding(`class._has-counter`)\n get hasCounter(): boolean {\n return !!this.maxLength && this.interactive;\n }\n\n get hasPlaceholder(): boolean {\n return !this.controller.labelOutside || (!this.hasValue && !this.hasExampleText);\n }\n\n get hasExampleText(): boolean {\n return (\n !!this.textfield?.nativeElement.placeholder &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n get placeholderRaised(): boolean {\n return (\n !this.controller.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n get fittedContent(): string {\n return this.value.slice(0, this.maxLength || Infinity);\n }\n\n get extraContent(): string {\n return this.value.slice(this.maxLength || Infinity);\n }\n\n @HostListener(`focusin`, [`true`])\n @HostListener(`focusout`, [`false`])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onValueChange(value: string): void {\n this.updateValue(value);\n }\n\n 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","<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 \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 [ngModel]=\"value\"\n [readOnly]=\"readOnly\"\n (ngModelChange)=\"onValueChange($event)\"\n ></textarea>\n <ng-content select=\"textarea\"></ng-content>\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n <tui-svg\n *ngIf=\"hasCleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-cleaner\"\n (click.stop)=\"onValueChange('')\"\n ></tui-svg>\n <tui-tooltip\n *ngIf=\"hintOptions && hintOptions.content && !computedDisabled\"\n automation-id=\"tui-text-area__tooltip\"\n class=\"t-tooltip\"\n [describeId]=\"id\"\n [direction]=\"hintOptions.direction\"\n [appearance]=\"hintOptions.appearance\"\n [content]=\"hintOptions.content\"\n [showDelay]=\"hintOptions.showDelay\"\n [hideDelay]=\"hintOptions.hideDelay\"\n ></tui-tooltip>\n </div>\n </label>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiTextAreaComponent} from './text-area.component';\n\n@Directive({\n selector: `tui-text-area`,\n providers: [tuiAsTextfieldHost(TuiTextAreaDirective)],\n})\nexport class TuiTextAreaDirective extends AbstractTuiTextfieldHost<TuiTextAreaComponent> {\n 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 {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTooltipModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\n\nimport {TuiTextAreaComponent} from './text-area.component';\nimport {TuiTextAreaDirective} from './text-area.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiScrollbarModule,\n TuiTooltipModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiPrimitiveTextfieldModule,\n ],\n declarations: [TuiTextAreaComponent, TuiTextAreaDirective],\n exports: [TuiTextAreaComponent, TuiTextAreaDirective, TuiTextfieldComponent],\n})\nexport class TuiTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAwCO,MAAM,YAAY,GAAG,GAAG;AACxB,MAAM,aAAa,GAAG,GAAG;AACzB,MAAM,aAAa,GAAG,GAAG;AAkB1B,MAAO,oBACT,SAAQ,kBAA0B,CAAA;AAsBlC,IAAA,WAAA,CAII,OAAyB,EACE,iBAAoC,EACpB,UAAkB,EAChC,KAAc,EAChB,KAAuC,EAEzD,UAAkC,EAGlC,WAA2C,EAAA;AAEpD,QAAA,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QATS,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QAChC,IAAK,CAAA,KAAA,GAAL,KAAK,CAAS;QAChB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAkC;QAEzD,IAAU,CAAA,UAAA,GAAV,UAAU,CAAwB;QAGlC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAgC;QAxBxD,IAAI,CAAA,IAAA,GAAG,YAAY,CAAC;QAIpB,IAAS,CAAA,SAAA,GAAkB,IAAI,CAAC;QAKhC,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;KAkBlB;AAED,IAAA,IACI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;KACvC;AAED,IAAA,IAAI,sBAAsB,GAAA;;QACtB,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,QACI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,0CAAE,aAAa,MAAI,MAAA,IAAI,CAAC,gBAAgB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,CAAA,IAAI,IAAI,EAC/E;KACL;AAED,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KAC1D;AAED,IAAA,IACI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;KAC/B;AAED,IAAA,IACI,MAAM,GAAA;AACN,QAAA,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAChE;AAED,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC;KACvE;AAED,IAAA,IACI,UAAU,GAAA;;AACV,QAAA,OAAO,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;KAChE;AAED,IAAA,IACI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;KAC5B;AAED,IAAA,IACI,UAAU,GAAA;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC;KAC/C;AAED,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACpF;AAED,IAAA,IAAI,cAAc,GAAA;;AACd,QAAA,QACI,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,CAAC,WAAW,CAAA;AAC3C,YAAA,IAAI,CAAC,OAAO;YACZ,CAAC,IAAI,CAAC,QAAQ;AACd,YAAA,CAAC,IAAI,CAAC,QAAQ,EAChB;KACL;AAED,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC/D;AAED,IAAA,IAAI,iBAAiB,GAAA;AACjB,QAAA,QACI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY;AAC7B,aAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,EAC7D;KACL;AAED,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC;KAC1D;AAED,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC;KACvD;AAID,IAAA,SAAS,CAAC,OAAgB,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;AAED,IAAA,aAAa,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC3B;AAED,IAAA,WAAW,CAAC,KAAiB,EAAA;AACzB,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,sBAAsB,EAAE;YAC9C,OAAO;AACV,SAAA;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,YAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;AACvC,SAAA;KACJ;IAES,gBAAgB,GAAA;AACtB,QAAA,OAAO,EAAE,CAAC;KACb;AAED,IAAA,IAAY,UAAU,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAA,CAAA,CAAG,GAAG,aAAa,GAAG,aAAa,CAAC;KACvE;;AArJQ,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EA0BjB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,SAAS,EAET,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,iBAAiB,EACjB,EAAA,EAAA,KAAA,EAAA,wBAAwB,EACxB,EAAA,EAAA,KAAA,EAAA,UAAU,EACV,EAAA,EAAA,KAAA,EAAA,QAAQ,EACR,EAAA,EAAA,KAAA,EAAA,gCAAgC,aAGhC,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAnC1B,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAXlB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;QACP,0BAA0B,CAAC,oBAAoB,CAAC;QAChD,YAAY,CAAC,oBAAoB,CAAC;QAClC,6BAA6B;QAC7B,aAAa;AAChB,KAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAaa,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAS,UAAU,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnE1D,m0GAwFA,EAAA,MAAA,EAAA,CAAA,2tOAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,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,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,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,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADhBI,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACG,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIpB,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACe,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKhC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACE,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FArBV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAhBhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAe,aAAA,CAAA;AACzB,oBAAA,WAAW,EAAE,CAA2B,yBAAA,CAAA;oBACxC,SAAS,EAAE,CAAC,CAAA,sBAAA,CAAwB,CAAC;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACP,wBAAA,0BAA0B,CAAsB,oBAAA,CAAA;AAChD,wBAAA,YAAY,CAAsB,oBAAA,CAAA;wBAClC,6BAA6B;wBAC7B,aAAa;AAChB,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,oBAAoB,EAAE,CAAO,KAAA,CAAA;AAC7B,wBAAA,cAAc,EAAE,CAAO,KAAA,CAAA;AAC1B,qBAAA;AACJ,iBAAA,CAAA;;0BAyBQ,QAAQ;;0BACR,IAAI;;0BACJ,MAAM;2BAAC,SAAS,CAAA;;0BAEhB,MAAM;2BAAC,iBAAiB,CAAA;;0BACxB,MAAM;2BAAC,wBAAwB,CAAA;;0BAC/B,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,QAAQ,CAAA;;0BACf,MAAM;2BAAC,gCAAgC,CAAA;;0BAEvC,QAAQ;;0BACR,MAAM;2BAAC,uBAAuB,CAAA;4CA9BlB,gBAAgB,EAAA,CAAA;sBADhC,SAAS;uBAAC,CAAkB,gBAAA,CAAA,CAAA;gBAIZ,SAAS,EAAA,CAAA;sBADzB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAA;gBAKvD,IAAI,EAAA,CAAA;sBAFH,KAAK;gBAMN,SAAS,EAAA,CAAA;sBAFR,KAAK;gBAON,UAAU,EAAA,CAAA;sBAHT,KAAK;;sBACL,WAAW;uBAAC,CAAmB,iBAAA,CAAA,CAAA;gBAuB5B,YAAY,EAAA,CAAA;sBADf,WAAW;uBAAC,CAAsB,oBAAA,CAAA,CAAA;gBAoB/B,IAAI,EAAA,CAAA;sBADP,WAAW;uBAAC,CAAgB,cAAA,CAAA,CAAA;gBAMzB,MAAM,EAAA,CAAA;sBADT,WAAW;uBAAC,CAAwB,sBAAA,CAAA,CAAA;gBAUjC,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,CAAoB,kBAAA,CAAA,CAAA;gBAM7B,QAAQ,EAAA,CAAA;sBADX,WAAW;uBAAC,CAAkB,gBAAA,CAAA,CAAA;gBAM3B,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,CAAoB,kBAAA,CAAA,CAAA;gBAuCjC,SAAS,EAAA,CAAA;sBAFR,YAAY;uBAAC,CAAS,OAAA,CAAA,EAAE,CAAC,CAAA,IAAA,CAAM,CAAC,CAAA;;sBAChC,YAAY;uBAAC,CAAU,QAAA,CAAA,EAAE,CAAC,CAAA,KAAA,CAAO,CAAC,CAAA;;;AE7KjC,MAAO,oBAAqB,SAAQ,wBAA8C,CAAA;AACpF,IAAA,aAAa,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAClC;;kHAHQ,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,wCAFlB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAE5C,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAe,aAAA,CAAA;AACzB,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,oBAAA,CAAsB,CAAC;AACxD,iBAAA,CAAA;;;MCsBY,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAHX,YAAA,EAAA,CAAA,oBAAoB,EAAE,oBAAoB,aATrD,YAAY;QACZ,WAAW;QACX,kBAAkB;QAClB,kBAAkB;QAClB,gBAAgB;QAChB,gBAAgB;QAChB,YAAY;AACZ,QAAA,2BAA2B,CAGrB,EAAA,OAAA,EAAA,CAAA,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAElE,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAbjB,OAAA,EAAA,CAAA;YACL,YAAY;YACZ,WAAW;YACX,kBAAkB;YAClB,kBAAkB;YAClB,gBAAgB;YAChB,gBAAgB;YAChB,YAAY;YACZ,2BAA2B;AAC9B,SAAA,CAAA,EAAA,CAAA,CAAA;4FAIQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAd7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,WAAW;wBACX,kBAAkB;wBAClB,kBAAkB;wBAClB,gBAAgB;wBAChB,gBAAgB;wBAChB,YAAY;wBACZ,2BAA2B;AAC9B,qBAAA;AACD,oBAAA,YAAY,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;AAC1D,oBAAA,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC;AAC/E,iBAAA,CAAA;;;AC7BD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-text-area.js","sources":["../../../projects/kit/components/text-area/text-area.component.ts","../../../projects/kit/components/text-area/text-area.template.html","../../../projects/kit/components/text-area/text-area.directive.ts","../../../projects/kit/components/text-area/text-area.module.ts","../../../projects/kit/components/text-area/taiga-ui-kit-components-text-area.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TUI_IS_IOS,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_MODE,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n tuiGetBorder,\n TuiHintOptionsDirective,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldComponent,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n@Component({\n selector: `tui-text-area`,\n templateUrl: `./text-area.template.html`,\n styleUrls: [`./text-area.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiTextAreaComponent),\n tuiAsControl(TuiTextAreaComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': `mode$`,\n '[class._ios]': `isIOS`,\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 @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @tuiDefaultProp()\n maxLength: number | null = null;\n\n @Input()\n @HostBinding(`class._expandable`)\n @tuiDefaultProp()\n expandable = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Optional()\n @Inject(TuiHintOptionsDirective)\n readonly hintOptions: TuiHintOptionsDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostBinding(`class._label-outside`)\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n 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 get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding(`attr.data-size`)\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding(`style.--border-end.rem`)\n get border(): number {\n return tuiGetBorder(false, this.hasCleaner, this.hasTooltip);\n }\n\n get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n @HostBinding(`class._has-tooltip`)\n get hasTooltip(): boolean {\n return !!this.hintOptions?.content && !this.computedDisabled;\n }\n\n @HostBinding(`class._has-value`)\n get hasValue(): boolean {\n return this.value !== ``;\n }\n\n @HostBinding(`class._has-counter`)\n get hasCounter(): boolean {\n return !!this.maxLength && this.interactive;\n }\n\n get hasPlaceholder(): boolean {\n return this.placeholderRaisable || (!this.hasValue && !this.hasExampleText);\n }\n\n get iconCleaner(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n get hasExampleText(): boolean {\n return (\n !!this.textfield?.nativeElement.placeholder &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n get fittedContent(): string {\n return this.value.slice(0, this.maxLength || Infinity);\n }\n\n get extraContent(): string {\n return this.value.slice(this.maxLength || Infinity);\n }\n\n @HostListener(`focusin`, [`true`])\n @HostListener(`focusout`, [`false`])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onValueChange(value: string): void {\n this.updateValue(value);\n }\n\n 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\"></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 \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 [ngModel]=\"value\"\n [readOnly]=\"readOnly\"\n (ngModelChange)=\"onValueChange($event)\"\n ></textarea>\n <ng-content select=\"textarea\"></ng-content>\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n <ng-container *ngIf=\"hasCleaner\">\n <tui-svg\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n class=\"t-cleaner\"\n [src]=\"src\"\n (click.stop)=\"onValueChange('')\"\n ></tui-svg>\n </ng-container>\n <tui-tooltip\n *ngIf=\"hintOptions && hintOptions.content && !computedDisabled\"\n automation-id=\"tui-text-area__tooltip\"\n class=\"t-tooltip\"\n [describeId]=\"id\"\n [direction]=\"hintOptions.direction\"\n [appearance]=\"hintOptions.appearance\"\n [content]=\"hintOptions.content\"\n [showDelay]=\"hintOptions.showDelay\"\n [hideDelay]=\"hintOptions.hideDelay\"\n ></tui-tooltip>\n </div>\n </label>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiTextAreaComponent} from './text-area.component';\n\n@Directive({\n selector: `tui-text-area`,\n providers: [tuiAsTextfieldHost(TuiTextAreaDirective)],\n})\nexport class TuiTextAreaDirective extends AbstractTuiTextfieldHost<TuiTextAreaComponent> {\n 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 {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTooltipModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTextAreaComponent} from './text-area.component';\nimport {TuiTextAreaDirective} from './text-area.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiScrollbarModule,\n TuiTooltipModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiPrimitiveTextfieldModule,\n PolymorpheusModule,\n ],\n declarations: [TuiTextAreaComponent, TuiTextAreaDirective],\n exports: [TuiTextAreaComponent, TuiTextAreaDirective, TuiTextfieldComponent],\n})\nexport class TuiTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { __decorate } from 'tslib';
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { ElementRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Input, Output, HostBinding, HostListener, NgZone, Directive, NgModule } from '@angular/core';
|
|
4
4
|
import { MutationObserverService, MUTATION_OBSERVER_INIT } from '@ng-web-apis/mutation-observer';
|
|
5
|
-
import { TuiDestroyService, TuiResizeService, tuiDefaultProp, tuiArrayShallowEquals, tuiZonefull, tuiIsElement } from '@taiga-ui/cdk';
|
|
5
|
+
import { TuiDestroyService, TuiResizeService, tuiDefaultProp, tuiArrayShallowEquals, tuiZonefull, tuiGetActualTarget, tuiIsElement } from '@taiga-ui/cdk';
|
|
6
6
|
import * as i3 from 'rxjs';
|
|
7
7
|
import { Subject, timer, BehaviorSubject, combineLatest } from 'rxjs';
|
|
8
8
|
import { debounce, filter, map, distinctUntilChanged, startWith, debounceTime } from 'rxjs/operators';
|
|
@@ -198,7 +198,9 @@ class TuiTileHandleDirective {
|
|
|
198
198
|
this.x = NaN;
|
|
199
199
|
this.y = NaN;
|
|
200
200
|
}
|
|
201
|
-
onStart(
|
|
201
|
+
onStart(event) {
|
|
202
|
+
const target = tuiGetActualTarget(event);
|
|
203
|
+
const { x, y, pointerId } = event;
|
|
202
204
|
if (tuiIsElement(target)) {
|
|
203
205
|
target.releasePointerCapture(pointerId);
|
|
204
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-tiles.js","sources":["../../../projects/kit/components/tiles/tiles.component.ts","../../../projects/kit/components/tiles/tile.component.ts","../../../projects/kit/components/tiles/tile.template.html","../../../projects/kit/components/tiles/tile-handle.directive.ts","../../../projects/kit/components/tiles/tiles.module.ts","../../../projects/kit/components/tiles/taiga-ui-kit-components-tiles.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiDefaultProp, TuiDestroyService, TuiResizeService} from '@taiga-ui/cdk';\nimport {BehaviorSubject, Subject, timer} from 'rxjs';\nimport {debounce, filter, map} from 'rxjs/operators';\n\n@Component({\n selector: `tui-tiles`,\n template: `\n <ng-content></ng-content>\n `,\n styleUrls: [`tiles.style.less`],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiResizeService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: {childList: true},\n },\n ],\n})\nexport class TuiTilesComponent {\n private readonly element$ = new Subject<Element | undefined>();\n\n @Input()\n @tuiDefaultProp()\n debounce = 0;\n\n @Input()\n @tuiDefaultProp()\n set order(map: Map<number, number>) {\n this.order$.next(map);\n }\n\n get order(): Map<number, number> {\n return this.order$.value;\n }\n\n @Output()\n readonly orderChange = this.element$.pipe(\n debounce(() => timer(this.debounce)),\n filter(this.filter.bind(this)),\n map(element => this.reorder(element)),\n );\n\n @HostBinding(`class._dragged`)\n element: Element | null = null;\n\n readonly order$ = new BehaviorSubject(new Map<number, number>());\n\n constructor(@Inject(ElementRef) private readonly elementRef: ElementRef<Element>) {}\n\n @HostListener(`pointerleave.silent`)\n rearrange(element?: Element): void {\n this.element$.next(element);\n }\n\n private filter(element?: Element): element is Element {\n return !!this.element && !!element && this.element !== element;\n }\n\n private reorder(element: Element): Map<number, number> {\n const elements = Array.from(this.elementRef.nativeElement.children);\n const currentIndex = elements.indexOf(this.element || element);\n const newIndex = elements.indexOf(element);\n const order = this.order.size\n ? new Map(this.order)\n : new Map(elements.map((_, index) => [index, index]));\n const dragged = order.get(currentIndex) ?? currentIndex;\n const placement = order.get(newIndex) ?? newIndex;\n\n order.set(currentIndex, placement);\n order.set(newIndex, dragged);\n\n this.order$.next(order);\n\n return order;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n} from '@angular/core';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {\n tuiArrayShallowEquals,\n tuiDefaultProp,\n TuiResizeService,\n tuiZonefull,\n} from '@taiga-ui/cdk';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {debounceTime, distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTilesComponent} from './tiles.component';\n\n@Component({\n selector: `tui-tile`,\n templateUrl: `tile.template.html`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTileComponent {\n @Input()\n @tuiDefaultProp()\n width = 1;\n\n @Input()\n @tuiDefaultProp()\n height = 1;\n\n @HostBinding(`class._dragged`)\n dragged = false;\n\n readonly offset$ = new BehaviorSubject<[number, number]>([0, 0]);\n\n readonly position$ = combineLatest([\n this.offset$.pipe(distinctUntilChanged(tuiArrayShallowEquals)),\n this.resize$.pipe(startWith(null)),\n this.mutation$.pipe(startWith(null)),\n this.tiles.order$.pipe(debounceTime(0)),\n ]).pipe(\n map(([[left, top]]) => ({\n top: top || this.element.offsetTop,\n left: left || this.element.offsetLeft,\n width: this.element.clientWidth,\n height: this.element.clientHeight,\n })),\n tuiZonefull(this.ngZone),\n );\n\n constructor(\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiTilesComponent) private readonly tiles: TuiTilesComponent,\n @Inject(TuiResizeService) private readonly resize$: Observable<unknown>,\n @Inject(MutationObserverService) private readonly mutation$: Observable<unknown>,\n ) {}\n\n @HostBinding(`style.gridColumn`)\n get column(): string {\n return `span var(--tui-width, ${this.width})`;\n }\n\n @HostBinding(`style.gridRow`)\n get row(): string {\n return `span var(--tui-height, ${this.height})`;\n }\n\n get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n @HostListener(`pointerenter`)\n onEnter(): void {\n this.tiles.rearrange(this.element);\n }\n\n onDrag(dragged: boolean): void {\n this.dragged = this.dragged || dragged;\n this.tiles.element = dragged ? this.element : null;\n }\n\n onTransitionEnd(): void {\n this.dragged = false;\n }\n}\n","<div\n *ngIf=\"position$ | async as position\"\n class=\"t-wrapper\"\n [style.top.px]=\"position.top\"\n [style.left.px]=\"position.left\"\n [style.width.px]=\"position.width\"\n [style.height.px]=\"position.height\"\n (transitionend.self)=\"onTransitionEnd()\"\n>\n <ng-content></ng-content>\n</div>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {tuiIsElement} from '@taiga-ui/cdk';\n\nimport {TuiTileComponent} from './tile.component';\n\n@Directive({\n selector: `[tuiTileHandle]`,\n host: {\n '[style.touchAction]': `\"none\"`,\n },\n})\nexport class TuiTileHandleDirective {\n private x = NaN;\n private y = NaN;\n\n constructor(@Inject(TuiTileComponent) private readonly tile: TuiTileComponent) {}\n\n @HostListener(`pointerdown.silent.prevent`, [`$event`])\n onStart({x, y, pointerId, target}: PointerEvent): void {\n if (tuiIsElement(target)) {\n target.releasePointerCapture(pointerId);\n }\n\n this.onPointer(x, y);\n }\n\n @HostListener(`document:pointerup.silent`)\n onPointer(x = NaN, y = NaN): void {\n this.x = x - this.tile.element.offsetLeft;\n this.y = y - this.tile.element.offsetTop;\n this.tile.onDrag(!Number.isNaN(x));\n this.tile.offset$.next([0, 0]);\n }\n\n @HostListener(`document:pointermove.silent`, [`$event.x`, `$event.y`])\n onMove(x: number, y: number): void {\n if (!Number.isNaN(this.x)) {\n this.tile.offset$.next([x - this.x, y - this.y]);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiTileComponent} from './tile.component';\nimport {TuiTileHandleDirective} from './tile-handle.directive';\nimport {TuiTilesComponent} from './tiles.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiTilesComponent, TuiTileComponent, TuiTileHandleDirective],\n exports: [TuiTilesComponent, TuiTileComponent, TuiTileHandleDirective],\n})\nexport class TuiTilesModule {}\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-kit-components-tiles.js","sources":["../../../projects/kit/components/tiles/tiles.component.ts","../../../projects/kit/components/tiles/tile.component.ts","../../../projects/kit/components/tiles/tile.template.html","../../../projects/kit/components/tiles/tile-handle.directive.ts","../../../projects/kit/components/tiles/tiles.module.ts","../../../projects/kit/components/tiles/taiga-ui-kit-components-tiles.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiDefaultProp, TuiDestroyService, TuiResizeService} from '@taiga-ui/cdk';\nimport {BehaviorSubject, Subject, timer} from 'rxjs';\nimport {debounce, filter, map} from 'rxjs/operators';\n\n@Component({\n selector: `tui-tiles`,\n template: `\n <ng-content></ng-content>\n `,\n styleUrls: [`tiles.style.less`],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiResizeService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: {childList: true},\n },\n ],\n})\nexport class TuiTilesComponent {\n private readonly element$ = new Subject<Element | undefined>();\n\n @Input()\n @tuiDefaultProp()\n debounce = 0;\n\n @Input()\n @tuiDefaultProp()\n set order(map: Map<number, number>) {\n this.order$.next(map);\n }\n\n get order(): Map<number, number> {\n return this.order$.value;\n }\n\n @Output()\n readonly orderChange = this.element$.pipe(\n debounce(() => timer(this.debounce)),\n filter(this.filter.bind(this)),\n map(element => this.reorder(element)),\n );\n\n @HostBinding(`class._dragged`)\n element: Element | null = null;\n\n readonly order$ = new BehaviorSubject(new Map<number, number>());\n\n constructor(@Inject(ElementRef) private readonly elementRef: ElementRef<Element>) {}\n\n @HostListener(`pointerleave.silent`)\n rearrange(element?: Element): void {\n this.element$.next(element);\n }\n\n private filter(element?: Element): element is Element {\n return !!this.element && !!element && this.element !== element;\n }\n\n private reorder(element: Element): Map<number, number> {\n const elements = Array.from(this.elementRef.nativeElement.children);\n const currentIndex = elements.indexOf(this.element || element);\n const newIndex = elements.indexOf(element);\n const order = this.order.size\n ? new Map(this.order)\n : new Map(elements.map((_, index) => [index, index]));\n const dragged = order.get(currentIndex) ?? currentIndex;\n const placement = order.get(newIndex) ?? newIndex;\n\n order.set(currentIndex, placement);\n order.set(newIndex, dragged);\n\n this.order$.next(order);\n\n return order;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n} from '@angular/core';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {\n tuiArrayShallowEquals,\n tuiDefaultProp,\n TuiResizeService,\n tuiZonefull,\n} from '@taiga-ui/cdk';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {debounceTime, distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTilesComponent} from './tiles.component';\n\n@Component({\n selector: `tui-tile`,\n templateUrl: `tile.template.html`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTileComponent {\n @Input()\n @tuiDefaultProp()\n width = 1;\n\n @Input()\n @tuiDefaultProp()\n height = 1;\n\n @HostBinding(`class._dragged`)\n dragged = false;\n\n readonly offset$ = new BehaviorSubject<[number, number]>([0, 0]);\n\n readonly position$ = combineLatest([\n this.offset$.pipe(distinctUntilChanged(tuiArrayShallowEquals)),\n this.resize$.pipe(startWith(null)),\n this.mutation$.pipe(startWith(null)),\n this.tiles.order$.pipe(debounceTime(0)),\n ]).pipe(\n map(([[left, top]]) => ({\n top: top || this.element.offsetTop,\n left: left || this.element.offsetLeft,\n width: this.element.clientWidth,\n height: this.element.clientHeight,\n })),\n tuiZonefull(this.ngZone),\n );\n\n constructor(\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiTilesComponent) private readonly tiles: TuiTilesComponent,\n @Inject(TuiResizeService) private readonly resize$: Observable<unknown>,\n @Inject(MutationObserverService) private readonly mutation$: Observable<unknown>,\n ) {}\n\n @HostBinding(`style.gridColumn`)\n get column(): string {\n return `span var(--tui-width, ${this.width})`;\n }\n\n @HostBinding(`style.gridRow`)\n get row(): string {\n return `span var(--tui-height, ${this.height})`;\n }\n\n get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n @HostListener(`pointerenter`)\n onEnter(): void {\n this.tiles.rearrange(this.element);\n }\n\n onDrag(dragged: boolean): void {\n this.dragged = this.dragged || dragged;\n this.tiles.element = dragged ? this.element : null;\n }\n\n onTransitionEnd(): void {\n this.dragged = false;\n }\n}\n","<div\n *ngIf=\"position$ | async as position\"\n class=\"t-wrapper\"\n [style.top.px]=\"position.top\"\n [style.left.px]=\"position.left\"\n [style.width.px]=\"position.width\"\n [style.height.px]=\"position.height\"\n (transitionend.self)=\"onTransitionEnd()\"\n>\n <ng-content></ng-content>\n</div>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {tuiGetActualTarget, tuiIsElement} from '@taiga-ui/cdk';\n\nimport {TuiTileComponent} from './tile.component';\n\n@Directive({\n selector: `[tuiTileHandle]`,\n host: {\n '[style.touchAction]': `\"none\"`,\n },\n})\nexport class TuiTileHandleDirective {\n private x = NaN;\n private y = NaN;\n\n constructor(@Inject(TuiTileComponent) private readonly tile: TuiTileComponent) {}\n\n @HostListener(`pointerdown.silent.prevent`, [`$event`])\n onStart(event: PointerEvent): void {\n const target = tuiGetActualTarget(event);\n const {x, y, pointerId} = event;\n\n if (tuiIsElement(target)) {\n target.releasePointerCapture(pointerId);\n }\n\n this.onPointer(x, y);\n }\n\n @HostListener(`document:pointerup.silent`)\n onPointer(x = NaN, y = NaN): void {\n this.x = x - this.tile.element.offsetLeft;\n this.y = y - this.tile.element.offsetTop;\n this.tile.onDrag(!Number.isNaN(x));\n this.tile.offset$.next([0, 0]);\n }\n\n @HostListener(`document:pointermove.silent`, [`$event.x`, `$event.y`])\n onMove(x: number, y: number): void {\n if (!Number.isNaN(this.x)) {\n this.tile.offset$.next([x - this.x, y - this.y]);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiTileComponent} from './tile.component';\nimport {TuiTileHandleDirective} from './tile-handle.directive';\nimport {TuiTilesComponent} from './tiles.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiTilesComponent, TuiTileComponent, TuiTileHandleDirective],\n exports: [TuiTilesComponent, TuiTileComponent, TuiTileHandleDirective],\n})\nexport class TuiTilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ export * from '@taiga-ui/kit/components/input-tag';
|
|
|
35
35
|
export * from '@taiga-ui/kit/components/input-time';
|
|
36
36
|
export * from '@taiga-ui/kit/components/input-year';
|
|
37
37
|
export * from '@taiga-ui/kit/components/island';
|
|
38
|
+
export * from '@taiga-ui/kit/components/items-with-more';
|
|
38
39
|
export * from '@taiga-ui/kit/components/line-clamp';
|
|
39
40
|
export * from '@taiga-ui/kit/components/marker-icon';
|
|
40
41
|
export * from '@taiga-ui/kit/components/multi-select';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components.js","sources":["../../../projects/kit/components/taiga-ui-kit-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components.js","sources":["../../../projects/kit/components/taiga-ui-kit-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEG"}
|
|
@@ -14,12 +14,7 @@ class TuiProjectClassDirective {
|
|
|
14
14
|
ngAfterViewChecked() {
|
|
15
15
|
this.classNames.forEach(className => {
|
|
16
16
|
const hostElement = this.elementRef.nativeElement;
|
|
17
|
-
|
|
18
|
-
hostElement.classList.add(className);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
hostElement.classList.remove(className);
|
|
22
|
-
}
|
|
17
|
+
hostElement.classList.toggle(className, !!hostElement.querySelector(`.${className}`));
|
|
23
18
|
});
|
|
24
19
|
}
|
|
25
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-directives-project-class.js","sources":["../../../projects/kit/directives/project-class/project-class.directive.ts","../../../projects/kit/directives/project-class/project-class.module.ts","../../../projects/kit/directives/project-class/taiga-ui-kit-directives-project-class.ts"],"sourcesContent":["import {AfterViewChecked, Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n/**\n * A directive for projecting classes from nested children to host\n */\n@Directive({\n selector: `[tuiProjectClass]`,\n})\nexport class TuiProjectClassDirective implements AfterViewChecked {\n @Input(`tuiProjectClass`)\n @tuiDefaultProp()\n classNames: readonly string[] = [];\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngAfterViewChecked(): void {\n this.classNames.forEach(className => {\n const hostElement = this.elementRef.nativeElement;\n\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-directives-project-class.js","sources":["../../../projects/kit/directives/project-class/project-class.directive.ts","../../../projects/kit/directives/project-class/project-class.module.ts","../../../projects/kit/directives/project-class/taiga-ui-kit-directives-project-class.ts"],"sourcesContent":["import {AfterViewChecked, Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n/**\n * A directive for projecting classes from nested children to host\n */\n@Directive({\n selector: `[tuiProjectClass]`,\n})\nexport class TuiProjectClassDirective implements AfterViewChecked {\n @Input(`tuiProjectClass`)\n @tuiDefaultProp()\n classNames: readonly string[] = [];\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngAfterViewChecked(): void {\n this.classNames.forEach(className => {\n const hostElement = this.elementRef.nativeElement;\n\n hostElement.classList.toggle(\n className,\n !!hostElement.querySelector(`.${className}`),\n );\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiProjectClassDirective} from './project-class.directive';\n\n@NgModule({\n declarations: [TuiProjectClassDirective],\n exports: [TuiProjectClassDirective],\n})\nexport class TuiProjectClassModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAGA;;AAEG;MAIU,wBAAwB,CAAA;AAKjC,IAAA,WAAA,CACyC,UAAmC,EAAA;QAAnC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAH5E,IAAU,CAAA,UAAA,GAAsB,EAAE,CAAC;KAI/B;IAEJ,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,IAAG;AAChC,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AAElD,YAAA,WAAW,CAAC,SAAS,CAAC,MAAM,CACxB,SAAS,EACT,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA,CAAA,EAAI,SAAS,CAAE,CAAA,CAAC,CAC/C,CAAC;AACN,SAAC,CAAC,CAAC;KACN;;AAlBQ,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAMrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GANb,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAGjC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAH1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAmB,iBAAA,CAAA;AAChC,iBAAA,CAAA;;0BAOQ,MAAM;2BAAC,UAAU,CAAA;4CAHtB,UAAU,EAAA,CAAA;sBAFT,KAAK;uBAAC,CAAiB,eAAA,CAAA,CAAA;;;MCFf,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oHAArB,qBAAqB,EAAA,YAAA,EAAA,CAHf,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAC7B,wBAAwB,CAAA,EAAA,CAAA,CAAA;oHAEzB,qBAAqB,EAAA,CAAA,CAAA;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACtC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe, Inject, NgModule } from '@angular/core';
|
|
3
|
+
import { TUI_COUNTRIES } from '@taiga-ui/kit/tokens';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
|
+
import * as i1 from 'rxjs';
|
|
6
|
+
|
|
7
|
+
class TuiSortCountriesPipe {
|
|
8
|
+
constructor(countriesNames$) {
|
|
9
|
+
this.countriesNames$ = countriesNames$;
|
|
10
|
+
}
|
|
11
|
+
transform(countries) {
|
|
12
|
+
return this.countriesNames$.pipe(map(names => [...countries].sort((a, b) => names[a].localeCompare(names[b]))));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
TuiSortCountriesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipe, deps: [{ token: TUI_COUNTRIES }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
16
|
+
TuiSortCountriesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipe, name: "tuiSortCountries" });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipe, decorators: [{
|
|
18
|
+
type: Pipe,
|
|
19
|
+
args: [{
|
|
20
|
+
name: `tuiSortCountries`,
|
|
21
|
+
}]
|
|
22
|
+
}], ctorParameters: function () { return [{ type: i1.Observable, decorators: [{
|
|
23
|
+
type: Inject,
|
|
24
|
+
args: [TUI_COUNTRIES]
|
|
25
|
+
}] }]; } });
|
|
26
|
+
|
|
27
|
+
class TuiSortCountriesPipeModule {
|
|
28
|
+
}
|
|
29
|
+
TuiSortCountriesPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
30
|
+
TuiSortCountriesPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipeModule, declarations: [TuiSortCountriesPipe], exports: [TuiSortCountriesPipe] });
|
|
31
|
+
TuiSortCountriesPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipeModule });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipeModule, decorators: [{
|
|
33
|
+
type: NgModule,
|
|
34
|
+
args: [{
|
|
35
|
+
declarations: [TuiSortCountriesPipe],
|
|
36
|
+
exports: [TuiSortCountriesPipe],
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Generated bundle index. Do not edit.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
export { TuiSortCountriesPipe, TuiSortCountriesPipeModule };
|
|
45
|
+
//# sourceMappingURL=taiga-ui-kit-pipes-sort-countries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-pipes-sort-countries.js","sources":["../../../projects/kit/pipes/sort-countries/sort-countries.pipe.ts","../../../projects/kit/pipes/sort-countries/sort-countries.module.ts","../../../projects/kit/pipes/sort-countries/taiga-ui-kit-pipes-sort-countries.ts"],"sourcesContent":["import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiCountryIsoCode} from '@taiga-ui/i18n';\nimport {TUI_COUNTRIES} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Pipe({\n name: `tuiSortCountries`,\n})\nexport class TuiSortCountriesPipe implements PipeTransform {\n constructor(\n @Inject(TUI_COUNTRIES)\n private readonly countriesNames$: Observable<Record<TuiCountryIsoCode, string>>,\n ) {}\n\n transform(countries: readonly TuiCountryIsoCode[]): Observable<TuiCountryIsoCode[]> {\n return this.countriesNames$.pipe(\n map(names => [...countries].sort((a, b) => names[a].localeCompare(names[b]))),\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiSortCountriesPipe} from './sort-countries.pipe';\n\n@NgModule({\n declarations: [TuiSortCountriesPipe],\n exports: [TuiSortCountriesPipe],\n})\nexport class TuiSortCountriesPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MASa,oBAAoB,CAAA;AAC7B,IAAA,WAAA,CAEqB,eAA8D,EAAA;QAA9D,IAAe,CAAA,eAAA,GAAf,eAAe,CAA+C;KAC/E;AAEJ,IAAA,SAAS,CAAC,SAAuC,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAC5B,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC;KACL;;AAVQ,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAEjB,aAAa,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;gHAFhB,oBAAoB,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,CAAkB,gBAAA,CAAA;AAC3B,iBAAA,CAAA;;0BAGQ,MAAM;2BAAC,aAAa,CAAA;;;MCHhB,0BAA0B,CAAA;;wHAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yHAA1B,0BAA0B,EAAA,YAAA,EAAA,CAHpB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACzB,oBAAoB,CAAA,EAAA,CAAA,CAAA;yHAErB,0BAA0B,EAAA,CAAA,CAAA;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAClC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from '@taiga-ui/kit/pipes/field-error';
|
|
2
2
|
export * from '@taiga-ui/kit/pipes/filter-by-input';
|
|
3
|
+
export * from '@taiga-ui/kit/pipes/sort-countries';
|
|
3
4
|
export * from '@taiga-ui/kit/pipes/stringify';
|
|
4
5
|
export * from '@taiga-ui/kit/pipes/stringify-content';
|
|
5
6
|
export * from '@taiga-ui/kit/pipes/to-year';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-pipes.js","sources":["../../../projects/kit/pipes/taiga-ui-kit-pipes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-pipes.js","sources":["../../../projects/kit/pipes/taiga-ui-kit-pipes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;AAEG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/kit",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.14.0",
|
|
4
4
|
"description": "Taiga UI Angular main components kit",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"@angular/router": ">=12.0.0",
|
|
25
25
|
"@ng-web-apis/common": ">=2.0.0",
|
|
26
26
|
"@ng-web-apis/mutation-observer": ">=2.0.0",
|
|
27
|
-
"@taiga-ui/cdk": ">=3.
|
|
28
|
-
"@taiga-ui/core": ">=3.
|
|
29
|
-
"@taiga-ui/i18n": ">=3.
|
|
27
|
+
"@taiga-ui/cdk": ">=3.14.0",
|
|
28
|
+
"@taiga-ui/core": ">=3.14.0",
|
|
29
|
+
"@taiga-ui/i18n": ">=3.14.0",
|
|
30
30
|
"@tinkoff/ng-polymorpheus": ">=4.0.0",
|
|
31
31
|
"rxjs": ">=6.0.0"
|
|
32
32
|
},
|
package/pipes/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from '@taiga-ui/kit/pipes/field-error';
|
|
2
2
|
export * from '@taiga-ui/kit/pipes/filter-by-input';
|
|
3
|
+
export * from '@taiga-ui/kit/pipes/sort-countries';
|
|
3
4
|
export * from '@taiga-ui/kit/pipes/stringify';
|
|
4
5
|
export * from '@taiga-ui/kit/pipes/stringify-content';
|
|
5
6
|
export * from '@taiga-ui/kit/pipes/to-year';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"main": "../../bundles/taiga-ui-kit-pipes-sort-countries.umd.js",
|
|
3
|
+
"module": "../../fesm2015/taiga-ui-kit-pipes-sort-countries.js",
|
|
4
|
+
"es2015": "../../fesm2015/taiga-ui-kit-pipes-sort-countries.js",
|
|
5
|
+
"esm2015": "../../esm2015/pipes/sort-countries/taiga-ui-kit-pipes-sort-countries.js",
|
|
6
|
+
"fesm2015": "../../fesm2015/taiga-ui-kit-pipes-sort-countries.js",
|
|
7
|
+
"typings": "taiga-ui-kit-pipes-sort-countries.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"name": "@taiga-ui/kit/pipes/sort-countries"
|
|
10
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./sort-countries.pipe";
|
|
3
|
+
export declare class TuiSortCountriesPipeModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSortCountriesPipeModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiSortCountriesPipeModule, [typeof i1.TuiSortCountriesPipe], never, [typeof i1.TuiSortCountriesPipe]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TuiSortCountriesPipeModule>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { TuiCountryIsoCode } from '@taiga-ui/i18n';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class TuiSortCountriesPipe implements PipeTransform {
|
|
6
|
+
private readonly countriesNames$;
|
|
7
|
+
constructor(countriesNames$: Observable<Record<TuiCountryIsoCode, string>>);
|
|
8
|
+
transform(countries: readonly TuiCountryIsoCode[]): Observable<TuiCountryIsoCode[]>;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSortCountriesPipe, never>;
|
|
10
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<TuiSortCountriesPipe, "tuiSortCountries">;
|
|
11
|
+
}
|