@leanix/components 0.4.466 → 0.4.467
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/esm2022/index.mjs +1 -5
- package/fesm2022/leanix-components.mjs +1 -134
- package/fesm2022/leanix-components.mjs.map +1 -1
- package/index.d.ts +0 -3
- package/package.json +1 -1
- package/esm2022/lib/core-ui/components/avatar/avatar.component.mjs +0 -40
- package/esm2022/lib/core-ui/components/avatar/avatar.model.mjs +0 -4
- package/esm2022/lib/core-ui/components/avatar-group/avatar-group.component.mjs +0 -67
- package/esm2022/lib/core-ui/pipes/display-avatars.pipe.mjs +0 -37
- package/lib/core-ui/components/avatar/avatar.component.d.ts +0 -18
- package/lib/core-ui/components/avatar/avatar.model.d.ts +0 -30
- package/lib/core-ui/components/avatar-group/avatar-group.component.d.ts +0 -26
- package/lib/core-ui/pipes/display-avatars.pipe.d.ts +0 -12
package/index.d.ts
CHANGED
@@ -18,8 +18,6 @@ export * from './lib/core-ui/pipes/unescape-curly-braces.pipe';
|
|
18
18
|
export * from './lib/core-ui/directives/after-view-init.directive';
|
19
19
|
export * from './lib/core-ui/directives/autoclose.directive';
|
20
20
|
export * from './lib/core-ui/directives/autofocus.directive';
|
21
|
-
export * from './lib/core-ui/components/avatar-group/avatar-group.component';
|
22
|
-
export * from './lib/core-ui/components/avatar/avatar.component';
|
23
21
|
export * from './lib/core-ui/components/badge/badge.component';
|
24
22
|
export * from './lib/core-ui/components/banner/banner.component';
|
25
23
|
export * from './lib/core-ui/components/button-group/button-group.component';
|
@@ -42,7 +40,6 @@ export * from './lib/core-ui/components/tokenizer/tokenizer.component';
|
|
42
40
|
export * from './lib/core-ui/tooltip/tooltip-position.interface';
|
43
41
|
export * from './lib/core-ui/tooltip/tooltip.component';
|
44
42
|
export * from './lib/core-ui/tooltip/tooltip.directive';
|
45
|
-
export * from './lib/core-ui/components/avatar/avatar.model';
|
46
43
|
export * from './lib/core-ui/linkify/linkify.pipe';
|
47
44
|
export * from './lib/core-ui/linkify/unlinkify.pipe';
|
48
45
|
export * from './lib/core-ui/functions/core-css.helpers';
|
package/package.json
CHANGED
@@ -1,40 +0,0 @@
|
|
1
|
-
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
2
|
-
import { Component, Inject, Input } from '@angular/core';
|
3
|
-
import { TooltipDirective } from '../../tooltip/tooltip.directive';
|
4
|
-
import { DEFAULT_IMAGE_ID, IMAGE_READER } from './avatar.model';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
export class AvatarComponent {
|
7
|
-
constructor(imageReader) {
|
8
|
-
this.imageReader = imageReader;
|
9
|
-
this.size = 'M';
|
10
|
-
this.showMailToLink = true;
|
11
|
-
this.disabled = false;
|
12
|
-
this.NAME = 'AvatarComponent';
|
13
|
-
this.imageURL = this.imageReader.getAvatar(DEFAULT_IMAGE_ID, this.size, this.user?.displayName);
|
14
|
-
}
|
15
|
-
ngOnChanges(changes) {
|
16
|
-
const { user } = changes;
|
17
|
-
if (user && user.currentValue && !user.currentValue.technicalUser) {
|
18
|
-
const { id, displayName } = this.user || {};
|
19
|
-
this.imageURL = this.imageReader.getAvatar(id ?? undefined, this.size, displayName);
|
20
|
-
}
|
21
|
-
}
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AvatarComponent, deps: [{ token: IMAGE_READER }], target: i0.ɵɵFactoryTarget.Component }); }
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: AvatarComponent, isStandalone: true, selector: "lx-avatar", inputs: { user: "user", size: "size", showMailToLink: "showMailToLink", disabled: "disabled" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"imageURL | async; else loading\">\n <ng-container *ngIf=\"!user.technicalUser; else technicalUserIcon\">\n <a\n *ngIf=\"showMailToLink && user.email; else profilePicture\"\n class=\"userLink\"\n href=\"mailto:{{ user.email }}\"\n lxTooltip=\"{{ user.displayName }}\"\n >\n <img\n [src]=\"imageURL | async\"\n class=\"avatarImage\"\n [class]=\"size\"\n [class.disabled]=\"disabled\"\n role=\"presentation\"\n alt=\"{{ user.displayName }}\"\n />\n </a>\n <ng-template #profilePicture>\n <img\n [src]=\"imageURL | async\"\n class=\"avatarImage\"\n [class]=\"size\"\n [class.disabled]=\"disabled\"\n role=\"presentation\"\n alt=\"{{ user.displayName }}\"\n />\n </ng-template>\n </ng-container>\n <ng-template #technicalUserIcon>\n <i class=\"avatarImage fas fa-robot\" lxTooltip=\"{{ user.displayName }}\" [class]=\"size\" [class.disabled]=\"disabled\"></i>\n </ng-template>\n</ng-container>\n<ng-template #loading>\n <div class=\"avatarImage userLink loading\" [ngClass]=\"size\"></div>\n</ng-template>\n", styles: [".userLink{display:inline-block;width:fit-content;height:fit-content}.avatarImage{border-radius:50%}.avatarImage.disabled{opacity:.4}.loading{background:linear-gradient(270deg,#ccc,#eee,#ccc);background-size:200% 100%;animation:loading 1.5s infinite;object-fit:cover;vertical-align:middle}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.fa-robot{background-color:#b2bccc;color:#fff;vertical-align:middle;text-align:center}.fa-robot.XS{line-height:14px;font-size:10px}.fa-robot.S{line-height:22px;font-size:13px}.fa-robot.M{line-height:30px;font-size:18px}.fa-robot.L{line-height:38px;font-size:22px}.fa-robot.XL{line-height:62px;font-size:40px}.XS{width:16px;height:16px}.S{width:24px;height:24px}.M{width:32px;height:32px}.L{width:40px;height:40px}.XL{width:64px;height:64px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[lxTooltip]", inputs: ["lxTooltip", "lxTooltipPosition", "lxTooltipDelay", "lxTooltipIsHtmlContent"] }] }); }
|
24
|
-
}
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AvatarComponent, decorators: [{
|
26
|
-
type: Component,
|
27
|
-
args: [{ selector: 'lx-avatar', standalone: true, imports: [NgIf, AsyncPipe, NgClass, TooltipDirective], template: "<ng-container *ngIf=\"imageURL | async; else loading\">\n <ng-container *ngIf=\"!user.technicalUser; else technicalUserIcon\">\n <a\n *ngIf=\"showMailToLink && user.email; else profilePicture\"\n class=\"userLink\"\n href=\"mailto:{{ user.email }}\"\n lxTooltip=\"{{ user.displayName }}\"\n >\n <img\n [src]=\"imageURL | async\"\n class=\"avatarImage\"\n [class]=\"size\"\n [class.disabled]=\"disabled\"\n role=\"presentation\"\n alt=\"{{ user.displayName }}\"\n />\n </a>\n <ng-template #profilePicture>\n <img\n [src]=\"imageURL | async\"\n class=\"avatarImage\"\n [class]=\"size\"\n [class.disabled]=\"disabled\"\n role=\"presentation\"\n alt=\"{{ user.displayName }}\"\n />\n </ng-template>\n </ng-container>\n <ng-template #technicalUserIcon>\n <i class=\"avatarImage fas fa-robot\" lxTooltip=\"{{ user.displayName }}\" [class]=\"size\" [class.disabled]=\"disabled\"></i>\n </ng-template>\n</ng-container>\n<ng-template #loading>\n <div class=\"avatarImage userLink loading\" [ngClass]=\"size\"></div>\n</ng-template>\n", styles: [".userLink{display:inline-block;width:fit-content;height:fit-content}.avatarImage{border-radius:50%}.avatarImage.disabled{opacity:.4}.loading{background:linear-gradient(270deg,#ccc,#eee,#ccc);background-size:200% 100%;animation:loading 1.5s infinite;object-fit:cover;vertical-align:middle}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.fa-robot{background-color:#b2bccc;color:#fff;vertical-align:middle;text-align:center}.fa-robot.XS{line-height:14px;font-size:10px}.fa-robot.S{line-height:22px;font-size:13px}.fa-robot.M{line-height:30px;font-size:18px}.fa-robot.L{line-height:38px;font-size:22px}.fa-robot.XL{line-height:62px;font-size:40px}.XS{width:16px;height:16px}.S{width:24px;height:24px}.M{width:32px;height:32px}.L{width:40px;height:40px}.XL{width:64px;height:64px}\n"] }]
|
28
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
29
|
-
type: Inject,
|
30
|
-
args: [IMAGE_READER]
|
31
|
-
}] }], propDecorators: { user: [{
|
32
|
-
type: Input
|
33
|
-
}], size: [{
|
34
|
-
type: Input
|
35
|
-
}], showMailToLink: [{
|
36
|
-
type: Input
|
37
|
-
}], disabled: [{
|
38
|
-
type: Input
|
39
|
-
}] } });
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBcUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFTbkcsTUFBTSxPQUFPLGVBQWU7SUFVMUIsWUFBMEMsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFSekQsU0FBSSxHQUFtQixHQUFHLENBQUM7UUFDM0IsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixTQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFLaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRXpCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDdEYsQ0FBQztJQUNILENBQUM7OEdBckJVLGVBQWUsa0JBVU4sWUFBWTtrR0FWckIsZUFBZSwwTENaNUIscXBDQW1DQSxxMkJEekJZLElBQUksd0ZBQUUsU0FBUyw4Q0FBRSxPQUFPLG9GQUFFLGdCQUFnQjs7MkZBRXpDLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsV0FBVyxjQUdULElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDOzswQkFZeEMsTUFBTTsyQkFBQyxZQUFZO3lDQVR2QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgREVGQVVMVF9JTUFHRV9JRCwgSU1BR0VfUkVBREVSLCBJbWFnZVJlYWRlciwgVXNlciwgVXNlckF2YXRhclNpemUgfSBmcm9tICcuL2F2YXRhci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LWF2YXRhcicsXG4gIHRlbXBsYXRlVXJsOiAnYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICdhdmF0YXIuY29tcG9uZW50LnNjc3MnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgQXN5bmNQaXBlLCBOZ0NsYXNzLCBUb29sdGlwRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB1c2VyITogVXNlciAmIHsgdGVjaG5pY2FsVXNlcj86IGJvb2xlYW4gfTtcbiAgQElucHV0KCkgc2l6ZTogVXNlckF2YXRhclNpemUgPSAnTSc7XG4gIEBJbnB1dCgpIHNob3dNYWlsVG9MaW5rID0gdHJ1ZTtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICByZWFkb25seSBOQU1FID0gJ0F2YXRhckNvbXBvbmVudCc7XG5cbiAgcHVibGljIGltYWdlVVJMOiBQcm9taXNlPHN0cmluZz47XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChJTUFHRV9SRUFERVIpIHByaXZhdGUgaW1hZ2VSZWFkZXI6IEltYWdlUmVhZGVyKSB7XG4gICAgdGhpcy5pbWFnZVVSTCA9IHRoaXMuaW1hZ2VSZWFkZXIuZ2V0QXZhdGFyKERFRkFVTFRfSU1BR0VfSUQsIHRoaXMuc2l6ZSwgdGhpcy51c2VyPy5kaXNwbGF5TmFtZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgeyB1c2VyIH0gPSBjaGFuZ2VzO1xuXG4gICAgaWYgKHVzZXIgJiYgdXNlci5jdXJyZW50VmFsdWUgJiYgIXVzZXIuY3VycmVudFZhbHVlLnRlY2huaWNhbFVzZXIpIHtcbiAgICAgIGNvbnN0IHsgaWQsIGRpc3BsYXlOYW1lIH0gPSB0aGlzLnVzZXIgfHwge307XG4gICAgICB0aGlzLmltYWdlVVJMID0gdGhpcy5pbWFnZVJlYWRlci5nZXRBdmF0YXIoaWQgPz8gdW5kZWZpbmVkLCB0aGlzLnNpemUsIGRpc3BsYXlOYW1lKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpbWFnZVVSTCB8IGFzeW5jOyBlbHNlIGxvYWRpbmdcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF1c2VyLnRlY2huaWNhbFVzZXI7IGVsc2UgdGVjaG5pY2FsVXNlckljb25cIj5cbiAgICA8YVxuICAgICAgKm5nSWY9XCJzaG93TWFpbFRvTGluayAmJiB1c2VyLmVtYWlsOyBlbHNlIHByb2ZpbGVQaWN0dXJlXCJcbiAgICAgIGNsYXNzPVwidXNlckxpbmtcIlxuICAgICAgaHJlZj1cIm1haWx0bzp7eyB1c2VyLmVtYWlsIH19XCJcbiAgICAgIGx4VG9vbHRpcD1cInt7IHVzZXIuZGlzcGxheU5hbWUgfX1cIlxuICAgID5cbiAgICAgIDxpbWdcbiAgICAgICAgW3NyY109XCJpbWFnZVVSTCB8IGFzeW5jXCJcbiAgICAgICAgY2xhc3M9XCJhdmF0YXJJbWFnZVwiXG4gICAgICAgIFtjbGFzc109XCJzaXplXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgIGFsdD1cInt7IHVzZXIuZGlzcGxheU5hbWUgfX1cIlxuICAgICAgLz5cbiAgICA8L2E+XG4gICAgPG5nLXRlbXBsYXRlICNwcm9maWxlUGljdHVyZT5cbiAgICAgIDxpbWdcbiAgICAgICAgW3NyY109XCJpbWFnZVVSTCB8IGFzeW5jXCJcbiAgICAgICAgY2xhc3M9XCJhdmF0YXJJbWFnZVwiXG4gICAgICAgIFtjbGFzc109XCJzaXplXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgIGFsdD1cInt7IHVzZXIuZGlzcGxheU5hbWUgfX1cIlxuICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICN0ZWNobmljYWxVc2VySWNvbj5cbiAgICA8aSBjbGFzcz1cImF2YXRhckltYWdlIGZhcyBmYS1yb2JvdFwiIGx4VG9vbHRpcD1cInt7IHVzZXIuZGlzcGxheU5hbWUgfX1cIiBbY2xhc3NdPVwic2l6ZVwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPjwvaT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICA8ZGl2IGNsYXNzPVwiYXZhdGFySW1hZ2UgdXNlckxpbmsgbG9hZGluZ1wiIFtuZ0NsYXNzXT1cInNpemVcIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
@@ -1,4 +0,0 @@
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
2
|
-
export const IMAGE_READER = new InjectionToken('IMAGE_READER');
|
3
|
-
export const DEFAULT_IMAGE_ID = '00000000-0000-4000-0000-000000000001';
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXFCL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFjLGNBQWMsQ0FBQyxDQUFDO0FBRTVFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqIFRoaXMgaXMgYSB0ZW1wb3Jhcnkgc3RvcmFnZSBmb3Igb3VyIHVzZXIgYW5kIGltYWdlIHJlbGF0ZWQgbW9kZWxzLCBiZWZvcmUgd2UgZmluZCBhIGJldHRlciBwbGFjZSBmb3IgdGhlbVxuICpcbiAqIFdlIHJlbG9jYXRlZCB0aGUgbW9kZWxzIGhlcmUgdG8gZmFjaWxpdGF0ZSBtb3ZpbmcgdGhlIGF2YXRhciBhbmQgYXZhdGFyIGdyb3VwIGNvbXBvbmVudHMgb3V0IG9mIHRoZSB1c2VyLXVpIGRpcmVjdG9yeS5cbiAqXG4gKiBUaGlzIGVuc3VyZXMgd2UgbWFpbnRhaW4gYSBzaW5nbGUgc291cmNlIG9mIHRydXRoIGFuZCBhZGhlcmUgdG8gdGhlIGN1cnJlbnQgc3RyaWN0IG5vLXNoYXJlZC1ueCBwb2xpY3ksIHNpbmNlIGFsbFxuICogbGlicmFyaWVzIGFuZCBhcHBzIGFscmVhZHkgc3VwcG9ydCBpbXBvcnRpbmcgZnJvbSBgQGxlYW5peC9jb21wb25lbnRzYCBhbHJlYWR5LlxuICovXG5cbmV4cG9ydCB0eXBlIFVzZXJBdmF0YXJTaXplID0gJ1hTJyB8ICdTJyB8ICdNJyB8ICdMJyB8ICdYTCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VSZWFkZXIge1xuICBnZXRBdmF0YXIodXNlcklkPzogc3RyaW5nLCBzaXplPzogVXNlckF2YXRhclNpemUsIGRpc3BsYXlOYW1lPzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuICBnZXRBdmF0YXJVcmwodXNlcklkPzogc3RyaW5nLCBzaXplPzogVXNlckF2YXRhclNpemUpOiBzdHJpbmc7XG4gIGdldFN0b3JhZ2VTZXJ2aWNlQXZhdGFyVXJsKHVzZXJJZD86IHN0cmluZywgc2l6ZT86IFVzZXJBdmF0YXJTaXplKTogc3RyaW5nO1xuICBnZXRUaHVtYm5haWxVcmwoaW1hZ2VJZDogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkVGh1bWJuYWlsKGltYWdlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPjtcbn1cblxuZXhwb3J0IGNvbnN0IElNQUdFX1JFQURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJbWFnZVJlYWRlcj4oJ0lNQUdFX1JFQURFUicpO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTUFHRV9JRCA9ICcwMDAwMDAwMC0wMDAwLTQwMDAtMDAwMC0wMDAwMDAwMDAwMDEnO1xuXG4vKipcbiAqIFRoaXMgVXNlciBtb2RlbCBpbmNsdWRlcyBjb21tb24gcHJvcGVydGllcyB0aGF0IHRoZSB1aSBhdmF0YXIgY29tcG9uZW50cyBjYXJlIGFib3V0IGluIG9yZGVyIHRvIHJlc3ByZXNlbnQgYSB1c2VyXG4gKiBpbiB0aGUgVUkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XG4gIGlkPzogc3RyaW5nO1xuICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGZpcnN0TmFtZT86IHN0cmluZztcbiAgbGFzdE5hbWU/OiBzdHJpbmc7XG59XG4iXX0=
|
@@ -1,67 +0,0 @@
|
|
1
|
-
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
2
|
-
import { NgClass, NgFor, NgIf } from '@angular/common';
|
3
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
4
|
-
import { DisplayAvatarsPipe } from '../../pipes/display-avatars.pipe';
|
5
|
-
import { TooltipDirective } from '../../tooltip/tooltip.directive';
|
6
|
-
import { AvatarComponent } from '../avatar/avatar.component';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
export class AvatarGroupComponent {
|
9
|
-
get userNames() {
|
10
|
-
return this.users
|
11
|
-
.map(({ displayName }) => displayName)
|
12
|
-
.sort()
|
13
|
-
.join('<br>');
|
14
|
-
}
|
15
|
-
constructor(cdr, zone) {
|
16
|
-
this.cdr = cdr;
|
17
|
-
this.zone = zone;
|
18
|
-
this.NAME = 'AvatarGroupComponent';
|
19
|
-
this.users = [];
|
20
|
-
this.size = 'M';
|
21
|
-
this.type = 'group';
|
22
|
-
this.maxLength = 0;
|
23
|
-
this.autoScale = false;
|
24
|
-
this.overlayVisible = false;
|
25
|
-
this.resizeObserver = new ResizeObserver(() => {
|
26
|
-
this.zone.runOutsideAngular(() => {
|
27
|
-
this.zone.run(() => {
|
28
|
-
this.cdr.detectChanges();
|
29
|
-
});
|
30
|
-
});
|
31
|
-
});
|
32
|
-
}
|
33
|
-
ngAfterViewInit() {
|
34
|
-
this.resizeObserver.observe(this.userGroupElement.nativeElement);
|
35
|
-
}
|
36
|
-
handleClick(event) {
|
37
|
-
event.stopPropagation();
|
38
|
-
this.overlayVisible = true;
|
39
|
-
}
|
40
|
-
ngOnDestroy() {
|
41
|
-
if (this.resizeObserver) {
|
42
|
-
this.resizeObserver.unobserve(this.userGroupElement.nativeElement);
|
43
|
-
}
|
44
|
-
}
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AvatarGroupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: AvatarGroupComponent, isStandalone: true, selector: "lx-avatar-group", inputs: { title: "title", users: "users", size: "size", type: "type", maxLength: "maxLength", autoScale: "autoScale" }, viewQueries: [{ propertyName: "userGroupElement", first: true, predicate: ["userGroup"], descendants: true }], ngImport: i0, template: "<div\n #userGroup\n (click)=\"handleClick($event)\"\n (keydown.enter)=\"handleClick($event)\"\n (keydown.space)=\"handleClick($event)\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [lxTooltip]=\"!overlayVisible ? userNames : null\"\n [lxTooltipIsHtmlContent]=\"true\"\n tabindex=\"0\"\n role=\"button\"\n aria-haspopup=\"dialog\"\n>\n <div *ngIf=\"users | displayAvatars: type : size : userGroup.offsetWidth : autoScale : maxLength as filteredUsers\" class=\"group-container\">\n <lx-avatar\n [user]=\"user\"\n [size]=\"size\"\n [showMailToLink]=\"false\"\n [ngClass]=\"[type === 'individual' ? 'individual' : 'group', size]\"\n *ngFor=\"let user of filteredUsers\"\n />\n <div\n *ngIf=\"filteredUsers.length < users.length\"\n [ngClass]=\"[type === 'individual' ? 'individual' : 'group', size]\"\n class=\"more-users-icon\"\n >\n +{{ users.length - filteredUsers.length }}\n </div>\n </div>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"overlayVisible\"\n (overlayOutsideClick)=\"overlayVisible = false\"\n>\n <div class=\"avatars-overlay\">\n <div *ngIf=\"title\" class=\"avatars-overlay-title\">{{ title }}</div>\n <div class=\"avatars-list\">\n <div *ngFor=\"let user of users\" class=\"individual\">\n <lx-avatar [user]=\"user\" [size]=\"size\" [showMailToLink]=\"true\" />\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".group-container{display:flex;align-items:center}.group-container lx-avatar{display:flex;align-items:center}.group-container .more-users-icon{color:#61779d;background-color:#fff;border:1px solid #c2c9d6;border-radius:50%;font-weight:700;-webkit-user-select:none;user-select:none}.individual{margin-right:2px!important}.avatars-overlay{max-width:360px;overflow:auto;margin-top:5px;border-radius:10px;background-color:#fff;border:1px solid #c2c9d6;box-shadow:0 6px 12px #0000002d}.avatars-overlay .avatars-list{display:flex;flex-wrap:wrap;padding:10px}.avatars-overlay .avatars-list lx-avatar{display:block;margin-bottom:5px}.avatars-overlay .avatars-overlay-title{border-bottom:1px solid #c2c9d6;padding:10px;font-weight:700}.XS{width:16px;height:16px;line-height:16px;font-size:8px}.XS.group:not(:first-child){margin-left:-8px}.S{width:24px;height:24px;line-height:24px;font-size:11.25px}.S.group:not(:first-child){margin-left:-12px}.M{width:32px;height:32px;line-height:32px;text-align:center;vertical-align:middle;font-size:15.5px}.M.group:not(:first-child){margin-left:-10px}.L{width:40px;height:40px;line-height:40px;text-align:center;vertical-align:middle;font-size:large}.L.group:not(:first-child){margin-left:-20px}.XL{width:64px;height:64px;line-height:64px;text-align:center;vertical-align:middle;font-size:large}.XL.group:not(:first-child){margin-left:-50px}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: TooltipDirective, selector: "[lxTooltip]", inputs: ["lxTooltip", "lxTooltipPosition", "lxTooltipDelay", "lxTooltipIsHtmlContent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AvatarComponent, selector: "lx-avatar", inputs: ["user", "size", "showMailToLink", "disabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "pipe", type: DisplayAvatarsPipe, name: "displayAvatars" }] }); }
|
47
|
-
}
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AvatarGroupComponent, decorators: [{
|
49
|
-
type: Component,
|
50
|
-
args: [{ selector: 'lx-avatar-group', standalone: true, imports: [CdkOverlayOrigin, TooltipDirective, NgIf, NgFor, AvatarComponent, NgClass, CdkConnectedOverlay, DisplayAvatarsPipe], template: "<div\n #userGroup\n (click)=\"handleClick($event)\"\n (keydown.enter)=\"handleClick($event)\"\n (keydown.space)=\"handleClick($event)\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [lxTooltip]=\"!overlayVisible ? userNames : null\"\n [lxTooltipIsHtmlContent]=\"true\"\n tabindex=\"0\"\n role=\"button\"\n aria-haspopup=\"dialog\"\n>\n <div *ngIf=\"users | displayAvatars: type : size : userGroup.offsetWidth : autoScale : maxLength as filteredUsers\" class=\"group-container\">\n <lx-avatar\n [user]=\"user\"\n [size]=\"size\"\n [showMailToLink]=\"false\"\n [ngClass]=\"[type === 'individual' ? 'individual' : 'group', size]\"\n *ngFor=\"let user of filteredUsers\"\n />\n <div\n *ngIf=\"filteredUsers.length < users.length\"\n [ngClass]=\"[type === 'individual' ? 'individual' : 'group', size]\"\n class=\"more-users-icon\"\n >\n +{{ users.length - filteredUsers.length }}\n </div>\n </div>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"overlayVisible\"\n (overlayOutsideClick)=\"overlayVisible = false\"\n>\n <div class=\"avatars-overlay\">\n <div *ngIf=\"title\" class=\"avatars-overlay-title\">{{ title }}</div>\n <div class=\"avatars-list\">\n <div *ngFor=\"let user of users\" class=\"individual\">\n <lx-avatar [user]=\"user\" [size]=\"size\" [showMailToLink]=\"true\" />\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".group-container{display:flex;align-items:center}.group-container lx-avatar{display:flex;align-items:center}.group-container .more-users-icon{color:#61779d;background-color:#fff;border:1px solid #c2c9d6;border-radius:50%;font-weight:700;-webkit-user-select:none;user-select:none}.individual{margin-right:2px!important}.avatars-overlay{max-width:360px;overflow:auto;margin-top:5px;border-radius:10px;background-color:#fff;border:1px solid #c2c9d6;box-shadow:0 6px 12px #0000002d}.avatars-overlay .avatars-list{display:flex;flex-wrap:wrap;padding:10px}.avatars-overlay .avatars-list lx-avatar{display:block;margin-bottom:5px}.avatars-overlay .avatars-overlay-title{border-bottom:1px solid #c2c9d6;padding:10px;font-weight:700}.XS{width:16px;height:16px;line-height:16px;font-size:8px}.XS.group:not(:first-child){margin-left:-8px}.S{width:24px;height:24px;line-height:24px;font-size:11.25px}.S.group:not(:first-child){margin-left:-12px}.M{width:32px;height:32px;line-height:32px;text-align:center;vertical-align:middle;font-size:15.5px}.M.group:not(:first-child){margin-left:-10px}.L{width:40px;height:40px;line-height:40px;text-align:center;vertical-align:middle;font-size:large}.L.group:not(:first-child){margin-left:-20px}.XL{width:64px;height:64px;line-height:64px;text-align:center;vertical-align:middle;font-size:large}.XL.group:not(:first-child){margin-left:-50px}\n"] }]
|
51
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }], propDecorators: { title: [{
|
52
|
-
type: Input
|
53
|
-
}], users: [{
|
54
|
-
type: Input
|
55
|
-
}], size: [{
|
56
|
-
type: Input
|
57
|
-
}], type: [{
|
58
|
-
type: Input
|
59
|
-
}], maxLength: [{
|
60
|
-
type: Input
|
61
|
-
}], autoScale: [{
|
62
|
-
type: Input
|
63
|
-
}], userGroupElement: [{
|
64
|
-
type: ViewChild,
|
65
|
-
args: ['userGroup']
|
66
|
-
}] } });
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9hdmF0YXItZ3JvdXAvYXZhdGFyLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9hdmF0YXItZ3JvdXAvYXZhdGFyLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBb0MsU0FBUyxFQUFjLEtBQUssRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFVN0QsTUFBTSxPQUFPLG9CQUFvQjtJQVkvQixJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsR0FBRyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDO2FBQ3JDLElBQUksRUFBRTthQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsWUFDVSxHQUFzQixFQUN0QixJQUFZO1FBRFosUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQXRCYixTQUFJLEdBQUcsc0JBQXNCLENBQUM7UUFHOUIsVUFBSyxHQUEyQyxFQUFFLENBQUM7UUFDbkQsU0FBSSxHQUFtQixHQUFHLENBQUM7UUFDM0IsU0FBSSxHQUEyQixPQUFPLENBQUM7UUFDdkMsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBVzdCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBVzlCLG1CQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQVpBLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFVRCxXQUFXLENBQUMsS0FBWTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7OEdBL0NVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGtUQ2ZqQyxzK0NBOENBLG81Q0RqQ1ksZ0JBQWdCLHVJQUFFLGdCQUFnQixnSkFBRSxJQUFJLDZGQUFFLEtBQUssbUhBQUUsZUFBZSw4R0FBRSxPQUFPLG9GQUFFLG1CQUFtQix1K0JBQUUsa0JBQWtCOzsyRkFFakgsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGlCQUFpQixjQUdmLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQzsyR0FLcEgsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFa0IsZ0JBQWdCO3NCQUF2QyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBDZGtPdmVybGF5T3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpc3BsYXlBdmF0YXJzUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2Rpc3BsYXktYXZhdGFycy5waXBlJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXIsIFVzZXJBdmF0YXJTaXplIH0gZnJvbSAnLi4vYXZhdGFyL2F2YXRhci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LWF2YXRhci1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnYXZhdGFyLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2F2YXRhci1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2RrT3ZlcmxheU9yaWdpbiwgVG9vbHRpcERpcmVjdGl2ZSwgTmdJZiwgTmdGb3IsIEF2YXRhckNvbXBvbmVudCwgTmdDbGFzcywgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgRGlzcGxheUF2YXRhcnNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IE5BTUUgPSAnQXZhdGFyR3JvdXBDb21wb25lbnQnO1xuXG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICBASW5wdXQoKSB1c2VyczogKFVzZXIgJiB7IHRlY2huaWNhbFVzZXI/OiBib29sZWFuIH0pW10gPSBbXTtcbiAgQElucHV0KCkgc2l6ZTogVXNlckF2YXRhclNpemUgPSAnTSc7XG4gIEBJbnB1dCgpIHR5cGU6ICdpbmRpdmlkdWFsJyB8ICdncm91cCcgPSAnZ3JvdXAnO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIGF1dG9TY2FsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3VzZXJHcm91cCcpIHVzZXJHcm91cEVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBnZXQgdXNlck5hbWVzKCkge1xuICAgIHJldHVybiB0aGlzLnVzZXJzXG4gICAgICAubWFwKCh7IGRpc3BsYXlOYW1lIH0pID0+IGRpc3BsYXlOYW1lKVxuICAgICAgLnNvcnQoKVxuICAgICAgLmpvaW4oJzxicj4nKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVybGF5VmlzaWJsZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnVzZXJHcm91cEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vdmVybGF5VmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXNpemVPYnNlcnZlcikge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy51c2VyR3JvdXBFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICAjdXNlckdyb3VwXG4gIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbiAgKGtleWRvd24uZW50ZXIpPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4gIChrZXlkb3duLnNwYWNlKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICBjZGtPdmVybGF5T3JpZ2luXG4gICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gIFtseFRvb2x0aXBdPVwiIW92ZXJsYXlWaXNpYmxlID8gdXNlck5hbWVzIDogbnVsbFwiXG4gIFtseFRvb2x0aXBJc0h0bWxDb250ZW50XT1cInRydWVcIlxuICB0YWJpbmRleD1cIjBcIlxuICByb2xlPVwiYnV0dG9uXCJcbiAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4+XG4gIDxkaXYgKm5nSWY9XCJ1c2VycyB8IGRpc3BsYXlBdmF0YXJzOiB0eXBlIDogc2l6ZSA6IHVzZXJHcm91cC5vZmZzZXRXaWR0aCA6IGF1dG9TY2FsZSA6IG1heExlbmd0aCBhcyBmaWx0ZXJlZFVzZXJzXCIgY2xhc3M9XCJncm91cC1jb250YWluZXJcIj5cbiAgICA8bHgtYXZhdGFyXG4gICAgICBbdXNlcl09XCJ1c2VyXCJcbiAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgW3Nob3dNYWlsVG9MaW5rXT1cImZhbHNlXCJcbiAgICAgIFtuZ0NsYXNzXT1cIlt0eXBlID09PSAnaW5kaXZpZHVhbCcgPyAnaW5kaXZpZHVhbCcgOiAnZ3JvdXAnLCBzaXplXVwiXG4gICAgICAqbmdGb3I9XCJsZXQgdXNlciBvZiBmaWx0ZXJlZFVzZXJzXCJcbiAgICAvPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiZmlsdGVyZWRVc2Vycy5sZW5ndGggPCB1c2Vycy5sZW5ndGhcIlxuICAgICAgW25nQ2xhc3NdPVwiW3R5cGUgPT09ICdpbmRpdmlkdWFsJyA/ICdpbmRpdmlkdWFsJyA6ICdncm91cCcsIHNpemVdXCJcbiAgICAgIGNsYXNzPVwibW9yZS11c2Vycy1pY29uXCJcbiAgICA+XG4gICAgICAre3sgdXNlcnMubGVuZ3RoIC0gZmlsdGVyZWRVc2Vycy5sZW5ndGggfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJvdmVybGF5VmlzaWJsZVwiXG4gIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cIm92ZXJsYXlWaXNpYmxlID0gZmFsc2VcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXZhdGFycy1vdmVybGF5XCI+XG4gICAgPGRpdiAqbmdJZj1cInRpdGxlXCIgY2xhc3M9XCJhdmF0YXJzLW92ZXJsYXktdGl0bGVcIj57eyB0aXRsZSB9fTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhdmF0YXJzLWxpc3RcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHVzZXIgb2YgdXNlcnNcIiBjbGFzcz1cImluZGl2aWR1YWxcIj5cbiAgICAgICAgPGx4LWF2YXRhciBbdXNlcl09XCJ1c2VyXCIgW3NpemVdPVwic2l6ZVwiIFtzaG93TWFpbFRvTGlua109XCJ0cnVlXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
@@ -1,37 +0,0 @@
|
|
1
|
-
import { Pipe } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class DisplayAvatarsPipe {
|
4
|
-
transform(users, type, size, userGroupWidth, autoScale, maxLength) {
|
5
|
-
if (maxLength) {
|
6
|
-
return users.slice(0, maxLength);
|
7
|
-
}
|
8
|
-
if (autoScale) {
|
9
|
-
if (type === 'group') {
|
10
|
-
const usersToShow = Math.floor((userGroupWidth - 2 * SIZES[size]) / ((SIZES[size] * 2) / 3)) + 1;
|
11
|
-
return users.slice(0, usersToShow);
|
12
|
-
}
|
13
|
-
else {
|
14
|
-
const usersToShow = Math.floor(userGroupWidth / (SIZES[size] + 2)) - 1;
|
15
|
-
return users.slice(0, usersToShow);
|
16
|
-
}
|
17
|
-
}
|
18
|
-
return users;
|
19
|
-
}
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DisplayAvatarsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
21
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: DisplayAvatarsPipe, isStandalone: true, name: "displayAvatars" }); }
|
22
|
-
}
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DisplayAvatarsPipe, decorators: [{
|
24
|
-
type: Pipe,
|
25
|
-
args: [{
|
26
|
-
name: 'displayAvatars',
|
27
|
-
standalone: true
|
28
|
-
}]
|
29
|
-
}] });
|
30
|
-
const SIZES = {
|
31
|
-
XS: 16,
|
32
|
-
S: 24,
|
33
|
-
M: 32,
|
34
|
-
L: 40,
|
35
|
-
XL: 64
|
36
|
-
};
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1hdmF0YXJzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3BpcGVzL2Rpc3BsYXktYXZhdGFycy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU9wRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFNBQVMsQ0FDUCxLQUE2QyxFQUM3QyxJQUE0QixFQUM1QixJQUFvQixFQUNwQixjQUFzQixFQUN0QixTQUFrQixFQUNsQixTQUFpQjtRQUVqQixJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUNyQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqRyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdkUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0F0QlUsa0JBQWtCOzRHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQTRCRCxNQUFNLEtBQUssR0FBWTtJQUNyQixFQUFFLEVBQUUsRUFBRTtJQUNOLENBQUMsRUFBRSxFQUFFO0lBQ0wsQ0FBQyxFQUFFLEVBQUU7SUFDTCxDQUFDLEVBQUUsRUFBRTtJQUNMLEVBQUUsRUFBRSxFQUFFO0NBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXIsIFVzZXJBdmF0YXJTaXplIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLm1vZGVsJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZGlzcGxheUF2YXRhcnMnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERpc3BsYXlBdmF0YXJzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oXG4gICAgdXNlcnM6IChVc2VyICYgeyB0ZWNobmljYWxVc2VyPzogYm9vbGVhbiB9KVtdLFxuICAgIHR5cGU6ICdpbmRpdmlkdWFsJyB8ICdncm91cCcsXG4gICAgc2l6ZTogVXNlckF2YXRhclNpemUsXG4gICAgdXNlckdyb3VwV2lkdGg6IG51bWJlcixcbiAgICBhdXRvU2NhbGU6IGJvb2xlYW4sXG4gICAgbWF4TGVuZ3RoOiBudW1iZXJcbiAgKTogKFVzZXIgJiB7IHRlY2huaWNhbFVzZXI/OiBib29sZWFuIH0pW10ge1xuICAgIGlmIChtYXhMZW5ndGgpIHtcbiAgICAgIHJldHVybiB1c2Vycy5zbGljZSgwLCBtYXhMZW5ndGgpO1xuICAgIH1cbiAgICBpZiAoYXV0b1NjYWxlKSB7XG4gICAgICBpZiAodHlwZSA9PT0gJ2dyb3VwJykge1xuICAgICAgICBjb25zdCB1c2Vyc1RvU2hvdyA9IE1hdGguZmxvb3IoKHVzZXJHcm91cFdpZHRoIC0gMiAqIFNJWkVTW3NpemVdKSAvICgoU0laRVNbc2l6ZV0gKiAyKSAvIDMpKSArIDE7XG4gICAgICAgIHJldHVybiB1c2Vycy5zbGljZSgwLCB1c2Vyc1RvU2hvdyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB1c2Vyc1RvU2hvdyA9IE1hdGguZmxvb3IodXNlckdyb3VwV2lkdGggLyAoU0laRVNbc2l6ZV0gKyAyKSkgLSAxO1xuICAgICAgICByZXR1cm4gdXNlcnMuc2xpY2UoMCwgdXNlcnNUb1Nob3cpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdXNlcnM7XG4gIH1cbn1cblxudHlwZSBTaXplTWFwID0geyBbSyBpbiBVc2VyQXZhdGFyU2l6ZV06IG51bWJlciB9O1xuXG5jb25zdCBTSVpFUzogU2l6ZU1hcCA9IHtcbiAgWFM6IDE2LFxuICBTOiAyNCxcbiAgTTogMzIsXG4gIEw6IDQwLFxuICBYTDogNjRcbn07XG4iXX0=
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import { OnChanges, SimpleChanges } from '@angular/core';
|
2
|
-
import { ImageReader, User, UserAvatarSize } from './avatar.model';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export declare class AvatarComponent implements OnChanges {
|
5
|
-
private imageReader;
|
6
|
-
user: User & {
|
7
|
-
technicalUser?: boolean;
|
8
|
-
};
|
9
|
-
size: UserAvatarSize;
|
10
|
-
showMailToLink: boolean;
|
11
|
-
disabled: boolean;
|
12
|
-
readonly NAME = "AvatarComponent";
|
13
|
-
imageURL: Promise<string>;
|
14
|
-
constructor(imageReader: ImageReader);
|
15
|
-
ngOnChanges(changes: SimpleChanges): void;
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "lx-avatar", never, { "user": { "alias": "user"; "required": false; }; "size": { "alias": "size"; "required": false; }; "showMailToLink": { "alias": "showMailToLink"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
|
18
|
-
}
|
@@ -1,30 +0,0 @@
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
2
|
-
import { Observable } from 'rxjs';
|
3
|
-
/** This is a temporary storage for our user and image related models, before we find a better place for them
|
4
|
-
*
|
5
|
-
* We relocated the models here to facilitate moving the avatar and avatar group components out of the user-ui directory.
|
6
|
-
*
|
7
|
-
* This ensures we maintain a single source of truth and adhere to the current strict no-shared-nx policy, since all
|
8
|
-
* libraries and apps already support importing from `@leanix/components` already.
|
9
|
-
*/
|
10
|
-
export type UserAvatarSize = 'XS' | 'S' | 'M' | 'L' | 'XL';
|
11
|
-
export interface ImageReader {
|
12
|
-
getAvatar(userId?: string, size?: UserAvatarSize, displayName?: string): Promise<string>;
|
13
|
-
getAvatarUrl(userId?: string, size?: UserAvatarSize): string;
|
14
|
-
getStorageServiceAvatarUrl(userId?: string, size?: UserAvatarSize): string;
|
15
|
-
getThumbnailUrl(imageId: string): string;
|
16
|
-
loadThumbnail(imageId: string): Observable<string>;
|
17
|
-
}
|
18
|
-
export declare const IMAGE_READER: InjectionToken<ImageReader>;
|
19
|
-
export declare const DEFAULT_IMAGE_ID = "00000000-0000-4000-0000-000000000001";
|
20
|
-
/**
|
21
|
-
* This User model includes common properties that the ui avatar components care about in order to respresent a user
|
22
|
-
* in the UI.
|
23
|
-
*/
|
24
|
-
export interface User {
|
25
|
-
id?: string;
|
26
|
-
displayName?: string;
|
27
|
-
email?: string;
|
28
|
-
firstName?: string;
|
29
|
-
lastName?: string;
|
30
|
-
}
|
@@ -1,26 +0,0 @@
|
|
1
|
-
import { AfterViewInit, ChangeDetectorRef, ElementRef, NgZone, OnDestroy } from '@angular/core';
|
2
|
-
import { User, UserAvatarSize } from '../avatar/avatar.model';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export declare class AvatarGroupComponent implements AfterViewInit, OnDestroy {
|
5
|
-
private cdr;
|
6
|
-
private zone;
|
7
|
-
readonly NAME = "AvatarGroupComponent";
|
8
|
-
title?: string;
|
9
|
-
users: (User & {
|
10
|
-
technicalUser?: boolean;
|
11
|
-
})[];
|
12
|
-
size: UserAvatarSize;
|
13
|
-
type: 'individual' | 'group';
|
14
|
-
maxLength: number;
|
15
|
-
autoScale: boolean;
|
16
|
-
userGroupElement: ElementRef<HTMLElement>;
|
17
|
-
get userNames(): string;
|
18
|
-
overlayVisible: boolean;
|
19
|
-
constructor(cdr: ChangeDetectorRef, zone: NgZone);
|
20
|
-
ngAfterViewInit(): void;
|
21
|
-
resizeObserver: ResizeObserver;
|
22
|
-
handleClick(event: Event): void;
|
23
|
-
ngOnDestroy(): void;
|
24
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AvatarGroupComponent, never>;
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AvatarGroupComponent, "lx-avatar-group", never, { "title": { "alias": "title"; "required": false; }; "users": { "alias": "users"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "autoScale": { "alias": "autoScale"; "required": false; }; }, {}, never, never, true, never>;
|
26
|
-
}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
2
|
-
import { User, UserAvatarSize } from '../components/avatar/avatar.model';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export declare class DisplayAvatarsPipe implements PipeTransform {
|
5
|
-
transform(users: (User & {
|
6
|
-
technicalUser?: boolean;
|
7
|
-
})[], type: 'individual' | 'group', size: UserAvatarSize, userGroupWidth: number, autoScale: boolean, maxLength: number): (User & {
|
8
|
-
technicalUser?: boolean;
|
9
|
-
})[];
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DisplayAvatarsPipe, never>;
|
11
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<DisplayAvatarsPipe, "displayAvatars", true>;
|
12
|
-
}
|