@taiga-ui/kit 2.92.0 → 2.93.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.min.js +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +9 -20
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
- package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
- package/components/line-clamp/line-clamp.component.d.ts +1 -2
- package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
- package/esm2015/components/avatar/avatar.component.js +1 -1
- package/esm2015/components/line-clamp/line-clamp.component.js +12 -15
- package/esm5/components/avatar/avatar.component.js +1 -1
- package/esm5/components/line-clamp/line-clamp.component.js +12 -23
- package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js +11 -14
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-avatar.js +1 -1
- package/fesm5/taiga-ui-kit-components-line-clamp.js +11 -22
- package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-line-clamp.js","sources":["ng://@taiga-ui/kit/components/line-clamp/line-clamp-options.ts","ng://@taiga-ui/kit/components/line-clamp/line-clamp.component.ts","ng://@taiga-ui/kit/components/line-clamp/line-clamp.module.ts","ng://@taiga-ui/kit/components/line-clamp/taiga-ui-kit-components-line-clamp.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiLineClampOptions {\n readonly showHint: boolean;\n}\n\nexport const TUI_LINE_CLAMP_DEFAULT_OPTIONS: TuiLineClampOptions = {\n showHint: true,\n};\n\nexport const TUI_LINE_CLAMP_OPTIONS = new InjectionToken<TuiLineClampOptions>(\n `Default parameters for line-clamp component`,\n {\n factory: () => TUI_LINE_CLAMP_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiLineClampOptionsProvider: (\n options: Partial<TuiLineClampOptions>,\n) => ValueProvider = (options: Partial<TuiLineClampOptions>) => ({\n provide: TUI_LINE_CLAMP_OPTIONS,\n useValue: {...TUI_LINE_CLAMP_DEFAULT_OPTIONS, ...options},\n});\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n ElementRef,\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-line-clamp.js","sources":["ng://@taiga-ui/kit/components/line-clamp/line-clamp-options.ts","ng://@taiga-ui/kit/components/line-clamp/line-clamp.component.ts","ng://@taiga-ui/kit/components/line-clamp/line-clamp.module.ts","ng://@taiga-ui/kit/components/line-clamp/taiga-ui-kit-components-line-clamp.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiLineClampOptions {\n readonly showHint: boolean;\n}\n\nexport const TUI_LINE_CLAMP_DEFAULT_OPTIONS: TuiLineClampOptions = {\n showHint: true,\n};\n\nexport const TUI_LINE_CLAMP_OPTIONS = new InjectionToken<TuiLineClampOptions>(\n `Default parameters for line-clamp component`,\n {\n factory: () => TUI_LINE_CLAMP_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiLineClampOptionsProvider: (\n options: Partial<TuiLineClampOptions>,\n) => ValueProvider = (options: Partial<TuiLineClampOptions>) => ({\n provide: TUI_LINE_CLAMP_OPTIONS,\n useValue: {...TUI_LINE_CLAMP_DEFAULT_OPTIONS, ...options},\n});\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n ElementRef,\n HostListener,\n Inject,\n Input,\n NgZone,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n isCurrentTarget,\n tuiDefaultProp,\n tuiPure,\n tuiPx,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {PolymorpheusContent, PolymorpheusOutletComponent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable, of, Subject} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n mapTo,\n pairwise,\n startWith,\n switchMap,\n} from 'rxjs/operators';\n\nimport {TUI_LINE_CLAMP_OPTIONS, TuiLineClampOptions} from './line-clamp-options';\n\n@Component({\n selector: 'tui-line-clamp',\n templateUrl: './line-clamp.template.html',\n styleUrls: ['./line-clamp.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLineClampComponent implements AfterViewInit, DoCheck {\n @ViewChild(PolymorpheusOutletComponent, {read: ElementRef})\n private readonly outlet?: ElementRef<HTMLElement>;\n\n private readonly linesLimit$ = new BehaviorSubject(1);\n private readonly isOverflown$ = new Subject<boolean>();\n private initialized = false;\n\n @Input()\n @tuiDefaultProp()\n set linesLimit(linesLimit: number) {\n this.linesLimit$.next(linesLimit);\n }\n\n @Input()\n @tuiDefaultProp()\n lineHeight = 24;\n\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Output()\n readonly overflownChange: Observable<boolean> = this.isOverflown$.pipe(\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ChangeDetectorRef) private readonly cd: ChangeDetectorRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TUI_LINE_CLAMP_OPTIONS) private readonly options: TuiLineClampOptions,\n ) {\n this.skipInitialTransition();\n }\n\n @tuiPure\n get lineClamp$(): Observable<number> {\n return this.linesLimit$.pipe(\n startWith(1),\n pairwise(),\n switchMap(([prev, next]) =>\n next >= prev\n ? of(next)\n : typedFromEvent(this.elementRef.nativeElement, 'transitionend').pipe(\n filter(isCurrentTarget),\n mapTo(next),\n ),\n ),\n );\n }\n\n get overflown(): boolean {\n if (!this.outlet) {\n return false;\n }\n\n const {scrollHeight, scrollWidth} = this.outlet.nativeElement;\n const {clientHeight, clientWidth} = this.elementRef.nativeElement;\n\n // 4px buffer for IE/Edge incorrectly rounding scrollHeight\n return scrollHeight - clientHeight > 4 || scrollWidth - clientWidth > 0;\n }\n\n get computedContent(): PolymorpheusContent {\n return this.options.showHint && this.overflown ? this.content : '';\n }\n\n @HostListener('transitionend')\n updateView(): void {\n this.cd.detectChanges();\n }\n\n ngAfterViewInit(): void {\n this.initialized = true;\n }\n\n ngDoCheck(): void {\n this.update();\n this.isOverflown$.next(this.overflown);\n }\n\n private skipInitialTransition(): void {\n this.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n this.renderer.addClass(this.elementRef.nativeElement, '_initialized');\n this.cd.detectChanges();\n });\n });\n }\n\n private update(): void {\n if (this.outlet) {\n this.renderer.setStyle(\n this.elementRef.nativeElement,\n 'height',\n tuiPx(this.outlet.nativeElement.scrollHeight + 4),\n );\n }\n\n if (this.initialized) {\n this.renderer.setStyle(\n this.elementRef.nativeElement,\n 'max-height',\n tuiPx(this.lineHeight * this.linesLimit$.value),\n );\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule, TuiResizeModule} from '@taiga-ui/cdk';\nimport {TuiHintModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineClampComponent} from './line-clamp.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiHintModule,\n TuiResizeModule,\n TuiLetModule,\n ],\n declarations: [TuiLineClampComponent],\n exports: [TuiLineClampComponent],\n})\nexport class TuiLineClampModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -119,7 +119,7 @@ var TuiAvatarComponent = /** @class */ (function () {
|
|
|
119
119
|
selector: 'tui-avatar',
|
|
120
120
|
template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n",
|
|
121
121
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
122
|
-
styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background,currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size='s']{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size='m']{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size='l']{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color,var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color,var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size='m'] .t-icon{transform:scale(1.6)}:host[data-size='l'] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}"]
|
|
122
|
+
styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background,currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size='s']{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size='m']{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size='l']{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color,var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color,var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size='m'] .t-icon{transform:scale(1.6)}:host[data-size='l'] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}::ng-deep .tui-avatar-stack{display:flex;width:-webkit-min-content;width:-moz-min-content;width:min-content}:host-context(.tui-avatar-stack)[data-size=xs]{margin-right:-.625rem;box-shadow:0 0 0 1px var(--tui-avatar-border,var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size='s']{margin-right:-.875rem;box-shadow:0 0 0 1px var(--tui-avatar-border,var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size='m']{margin-right:-1.25rem;box-shadow:0 0 0 2px var(--tui-avatar-border,var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size='l']{margin-right:-1.625rem;box-shadow:0 0 0 2px var(--tui-avatar-border,var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xl]{margin-right:-2.25rem;box-shadow:0 0 0 3px var(--tui-avatar-border,var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xxl]{margin-right:-3.375rem;box-shadow:0 0 0 3px var(--tui-avatar-border,var(--tui-base-01))}"]
|
|
123
123
|
}),
|
|
124
124
|
__param(0, Inject(TUI_AVATAR_OPTIONS))
|
|
125
125
|
], TuiAvatarComponent);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __assign, __read, __decorate, __param } from 'tslib';
|
|
2
|
-
import { InjectionToken, ElementRef, Inject, Renderer2, ChangeDetectorRef, NgZone, ViewChild, Input, Output,
|
|
3
|
-
import { typedFromEvent, isCurrentTarget, tuiDefaultProp, tuiPure, TuiResizeModule, TuiLetModule } from '@taiga-ui/cdk';
|
|
2
|
+
import { InjectionToken, ElementRef, Inject, Renderer2, ChangeDetectorRef, NgZone, ViewChild, Input, Output, HostListener, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
|
+
import { typedFromEvent, isCurrentTarget, tuiPx, tuiDefaultProp, tuiPure, TuiResizeModule, TuiLetModule } from '@taiga-ui/cdk';
|
|
4
4
|
import { PolymorpheusOutletComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
5
5
|
import { BehaviorSubject, Subject, of } from 'rxjs';
|
|
6
6
|
import { distinctUntilChanged, startWith, pairwise, switchMap, filter, mapTo } from 'rxjs/operators';
|
|
@@ -73,20 +73,6 @@ var TuiLineClampComponent = /** @class */ (function () {
|
|
|
73
73
|
enumerable: true,
|
|
74
74
|
configurable: true
|
|
75
75
|
});
|
|
76
|
-
Object.defineProperty(TuiLineClampComponent.prototype, "maxHeight", {
|
|
77
|
-
get: function () {
|
|
78
|
-
return this.initialized ? this.lineHeight * this.linesLimit$.value : null;
|
|
79
|
-
},
|
|
80
|
-
enumerable: true,
|
|
81
|
-
configurable: true
|
|
82
|
-
});
|
|
83
|
-
Object.defineProperty(TuiLineClampComponent.prototype, "height", {
|
|
84
|
-
get: function () {
|
|
85
|
-
return !this.outlet ? 0 : this.outlet.nativeElement.scrollHeight + 4 || null;
|
|
86
|
-
},
|
|
87
|
-
enumerable: true,
|
|
88
|
-
configurable: true
|
|
89
|
-
});
|
|
90
76
|
TuiLineClampComponent.prototype.updateView = function () {
|
|
91
77
|
this.cd.detectChanges();
|
|
92
78
|
};
|
|
@@ -94,6 +80,7 @@ var TuiLineClampComponent = /** @class */ (function () {
|
|
|
94
80
|
this.initialized = true;
|
|
95
81
|
};
|
|
96
82
|
TuiLineClampComponent.prototype.ngDoCheck = function () {
|
|
83
|
+
this.update();
|
|
97
84
|
this.isOverflown$.next(this.overflown);
|
|
98
85
|
};
|
|
99
86
|
TuiLineClampComponent.prototype.skipInitialTransition = function () {
|
|
@@ -105,6 +92,14 @@ var TuiLineClampComponent = /** @class */ (function () {
|
|
|
105
92
|
});
|
|
106
93
|
});
|
|
107
94
|
};
|
|
95
|
+
TuiLineClampComponent.prototype.update = function () {
|
|
96
|
+
if (this.outlet) {
|
|
97
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'height', tuiPx(this.outlet.nativeElement.scrollHeight + 4));
|
|
98
|
+
}
|
|
99
|
+
if (this.initialized) {
|
|
100
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'max-height', tuiPx(this.lineHeight * this.linesLimit$.value));
|
|
101
|
+
}
|
|
102
|
+
};
|
|
108
103
|
TuiLineClampComponent.ctorParameters = function () { return [
|
|
109
104
|
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
110
105
|
{ type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] },
|
|
@@ -133,12 +128,6 @@ var TuiLineClampComponent = /** @class */ (function () {
|
|
|
133
128
|
__decorate([
|
|
134
129
|
tuiPure
|
|
135
130
|
], TuiLineClampComponent.prototype, "lineClamp$", null);
|
|
136
|
-
__decorate([
|
|
137
|
-
HostBinding('style.maxHeight.px')
|
|
138
|
-
], TuiLineClampComponent.prototype, "maxHeight", null);
|
|
139
|
-
__decorate([
|
|
140
|
-
HostBinding('style.height.px')
|
|
141
|
-
], TuiLineClampComponent.prototype, "height", null);
|
|
142
131
|
__decorate([
|
|
143
132
|
HostListener('transitionend')
|
|
144
133
|
], TuiLineClampComponent.prototype, "updateView", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-line-clamp.js","sources":["ng://@taiga-ui/kit/components/line-clamp/line-clamp-options.ts","ng://@taiga-ui/kit/components/line-clamp/line-clamp.component.ts","ng://@taiga-ui/kit/components/line-clamp/line-clamp.module.ts","ng://@taiga-ui/kit/components/line-clamp/taiga-ui-kit-components-line-clamp.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiLineClampOptions {\n readonly showHint: boolean;\n}\n\nexport const TUI_LINE_CLAMP_DEFAULT_OPTIONS: TuiLineClampOptions = {\n showHint: true,\n};\n\nexport const TUI_LINE_CLAMP_OPTIONS = new InjectionToken<TuiLineClampOptions>(\n `Default parameters for line-clamp component`,\n {\n factory: () => TUI_LINE_CLAMP_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiLineClampOptionsProvider: (\n options: Partial<TuiLineClampOptions>,\n) => ValueProvider = (options: Partial<TuiLineClampOptions>) => ({\n provide: TUI_LINE_CLAMP_OPTIONS,\n useValue: {...TUI_LINE_CLAMP_DEFAULT_OPTIONS, ...options},\n});\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n ElementRef,\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-line-clamp.js","sources":["ng://@taiga-ui/kit/components/line-clamp/line-clamp-options.ts","ng://@taiga-ui/kit/components/line-clamp/line-clamp.component.ts","ng://@taiga-ui/kit/components/line-clamp/line-clamp.module.ts","ng://@taiga-ui/kit/components/line-clamp/taiga-ui-kit-components-line-clamp.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiLineClampOptions {\n readonly showHint: boolean;\n}\n\nexport const TUI_LINE_CLAMP_DEFAULT_OPTIONS: TuiLineClampOptions = {\n showHint: true,\n};\n\nexport const TUI_LINE_CLAMP_OPTIONS = new InjectionToken<TuiLineClampOptions>(\n `Default parameters for line-clamp component`,\n {\n factory: () => TUI_LINE_CLAMP_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiLineClampOptionsProvider: (\n options: Partial<TuiLineClampOptions>,\n) => ValueProvider = (options: Partial<TuiLineClampOptions>) => ({\n provide: TUI_LINE_CLAMP_OPTIONS,\n useValue: {...TUI_LINE_CLAMP_DEFAULT_OPTIONS, ...options},\n});\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n ElementRef,\n HostListener,\n Inject,\n Input,\n NgZone,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n isCurrentTarget,\n tuiDefaultProp,\n tuiPure,\n tuiPx,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {PolymorpheusContent, PolymorpheusOutletComponent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable, of, Subject} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n mapTo,\n pairwise,\n startWith,\n switchMap,\n} from 'rxjs/operators';\n\nimport {TUI_LINE_CLAMP_OPTIONS, TuiLineClampOptions} from './line-clamp-options';\n\n@Component({\n selector: 'tui-line-clamp',\n templateUrl: './line-clamp.template.html',\n styleUrls: ['./line-clamp.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLineClampComponent implements AfterViewInit, DoCheck {\n @ViewChild(PolymorpheusOutletComponent, {read: ElementRef})\n private readonly outlet?: ElementRef<HTMLElement>;\n\n private readonly linesLimit$ = new BehaviorSubject(1);\n private readonly isOverflown$ = new Subject<boolean>();\n private initialized = false;\n\n @Input()\n @tuiDefaultProp()\n set linesLimit(linesLimit: number) {\n this.linesLimit$.next(linesLimit);\n }\n\n @Input()\n @tuiDefaultProp()\n lineHeight = 24;\n\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Output()\n readonly overflownChange: Observable<boolean> = this.isOverflown$.pipe(\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ChangeDetectorRef) private readonly cd: ChangeDetectorRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TUI_LINE_CLAMP_OPTIONS) private readonly options: TuiLineClampOptions,\n ) {\n this.skipInitialTransition();\n }\n\n @tuiPure\n get lineClamp$(): Observable<number> {\n return this.linesLimit$.pipe(\n startWith(1),\n pairwise(),\n switchMap(([prev, next]) =>\n next >= prev\n ? of(next)\n : typedFromEvent(this.elementRef.nativeElement, 'transitionend').pipe(\n filter(isCurrentTarget),\n mapTo(next),\n ),\n ),\n );\n }\n\n get overflown(): boolean {\n if (!this.outlet) {\n return false;\n }\n\n const {scrollHeight, scrollWidth} = this.outlet.nativeElement;\n const {clientHeight, clientWidth} = this.elementRef.nativeElement;\n\n // 4px buffer for IE/Edge incorrectly rounding scrollHeight\n return scrollHeight - clientHeight > 4 || scrollWidth - clientWidth > 0;\n }\n\n get computedContent(): PolymorpheusContent {\n return this.options.showHint && this.overflown ? this.content : '';\n }\n\n @HostListener('transitionend')\n updateView(): void {\n this.cd.detectChanges();\n }\n\n ngAfterViewInit(): void {\n this.initialized = true;\n }\n\n ngDoCheck(): void {\n this.update();\n this.isOverflown$.next(this.overflown);\n }\n\n private skipInitialTransition(): void {\n this.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n this.renderer.addClass(this.elementRef.nativeElement, '_initialized');\n this.cd.detectChanges();\n });\n });\n }\n\n private update(): void {\n if (this.outlet) {\n this.renderer.setStyle(\n this.elementRef.nativeElement,\n 'height',\n tuiPx(this.outlet.nativeElement.scrollHeight + 4),\n );\n }\n\n if (this.initialized) {\n this.renderer.setStyle(\n this.elementRef.nativeElement,\n 'max-height',\n tuiPx(this.lineHeight * this.linesLimit$.value),\n );\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule, TuiResizeModule} from '@taiga-ui/cdk';\nimport {TuiHintModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineClampComponent} from './line-clamp.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiHintModule,\n TuiResizeModule,\n TuiLetModule,\n ],\n declarations: [TuiLineClampComponent],\n exports: [TuiLineClampComponent],\n})\nexport class TuiLineClampModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/kit",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.93.0",
|
|
4
4
|
"description": "Taiga UI Angular main components kit",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"@angular/router": ">=9.0.0",
|
|
25
25
|
"@ng-web-apis/common": ">=1.12.1 < 2",
|
|
26
26
|
"@ng-web-apis/mutation-observer": ">=1.1.0 < 2",
|
|
27
|
-
"@taiga-ui/cdk": ">=2.
|
|
28
|
-
"@taiga-ui/core": ">=2.
|
|
29
|
-
"@taiga-ui/i18n": ">=2.
|
|
27
|
+
"@taiga-ui/cdk": ">=2.93.0",
|
|
28
|
+
"@taiga-ui/core": ">=2.93.0",
|
|
29
|
+
"@taiga-ui/i18n": ">=2.93.0",
|
|
30
30
|
"@tinkoff/ng-polymorpheus": ">=3.1.12 < 4",
|
|
31
31
|
"rxjs": ">=6.0.0"
|
|
32
32
|
},
|