@testgorilla/tgo-ui 1.0.14 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/components/avatar/avatar.component.d.ts +48 -0
  2. package/components/avatar/avatar.component.module.d.ts +11 -0
  3. package/components/avatar/avatar.model.d.ts +7 -0
  4. package/components/icon/icon.model.d.ts +2 -2
  5. package/components/tag/tag.component.d.ts +86 -9
  6. package/components/tag/tag.component.module.d.ts +4 -1
  7. package/components/toggle/toggle.component.d.ts +38 -0
  8. package/components/toggle/toggle.component.module.d.ts +8 -0
  9. package/components/toggle/toggle.model.d.ts +1 -0
  10. package/esm2020/components/avatar/avatar.component.mjs +74 -0
  11. package/esm2020/components/avatar/avatar.component.module.mjs +21 -0
  12. package/esm2020/components/avatar/avatar.model.mjs +12 -0
  13. package/esm2020/components/icon/icon.component.mjs +2 -2
  14. package/esm2020/components/icon/icon.model.mjs +1 -1
  15. package/esm2020/components/tag/tag.component.mjs +135 -9
  16. package/esm2020/components/tag/tag.component.module.mjs +7 -4
  17. package/esm2020/components/toggle/toggle.component.mjs +78 -0
  18. package/esm2020/components/toggle/toggle.component.module.mjs +17 -0
  19. package/esm2020/components/toggle/toggle.model.mjs +2 -0
  20. package/esm2020/pipes/name-initials.pipe.mjs +23 -0
  21. package/esm2020/public-api.mjs +10 -1
  22. package/fesm2015/testgorilla-tgo-ui.mjs +351 -26
  23. package/fesm2015/testgorilla-tgo-ui.mjs.map +1 -1
  24. package/fesm2020/testgorilla-tgo-ui.mjs +350 -26
  25. package/fesm2020/testgorilla-tgo-ui.mjs.map +1 -1
  26. package/package.json +1 -1
  27. package/pipes/name-initials.pipe.d.ts +7 -0
  28. package/public-api.d.ts +6 -0
  29. package/src/assets/images/Avatar.png +0 -0
@@ -0,0 +1,48 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { AvatarSize } from './avatar.model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AvatarComponent {
5
+ /**
6
+ * Input property for specifying the size of the avatar.
7
+ * @type {AvatarSize}
8
+ * @default AvatarSize.SMALL
9
+ * @memberof AvatarComponent
10
+ */
11
+ size: AvatarSize;
12
+ /**
13
+ * Input property for specifying the URL of the image to display in the avatar.
14
+ * @type {string}
15
+ * @memberof AvatarComponent
16
+ */
17
+ imageUrl: string;
18
+ /**
19
+ * Input property for specifying the initials to display in the avatar.
20
+ * @type {string}
21
+ * @memberof AvatarComponent
22
+ */
23
+ name: string;
24
+ /**
25
+ * Input property for specifying the tooltip text for edit.
26
+ * @type {string}
27
+ * @memberof AvatarComponent
28
+ */
29
+ tooltipText: string;
30
+ /**
31
+ * Input property that makes avatar clickable.
32
+ * @type {boolean}
33
+ * @memberof AvatarComponent
34
+ */
35
+ allowClick: boolean;
36
+ /**
37
+ * Event emitted when the avatar is clicked.
38
+ * @type {void}
39
+ * @memberof AvatarComponent
40
+ */
41
+ avatarClick: EventEmitter<void>;
42
+ protected iconSize: Record<string, import("@testgorilla/tgo-ui").IconSize>;
43
+ protected avatarSize: typeof AvatarSize;
44
+ protected onAvatarClick(): void;
45
+ get clickAllowance(): string;
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "ui-avatar", never, { "size": "size"; "imageUrl": "imageUrl"; "name": "name"; "tooltipText": "tooltipText"; "allowClick": "allowClick"; }, { "avatarClick": "avatarClick"; }, never, never, false, never>;
48
+ }
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./avatar.component";
3
+ import * as i2 from "../../pipes/name-initials.pipe";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "../icon/icon.component.module";
6
+ import * as i5 from "@angular/material/tooltip";
7
+ export declare class AvatarComponentModule {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponentModule, never>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AvatarComponentModule, [typeof i1.AvatarComponent, typeof i2.NameInitialsPipe], [typeof i3.CommonModule, typeof i4.IconComponentModule, typeof i5.MatTooltipModule], [typeof i1.AvatarComponent]>;
10
+ static ɵinj: i0.ɵɵInjectorDeclaration<AvatarComponentModule>;
11
+ }
@@ -0,0 +1,7 @@
1
+ import { IconSize } from '../icon/icon.model';
2
+ export declare enum AvatarSize {
3
+ SMALL = "small",
4
+ MEDIUM = "medium",
5
+ LARGE = "large"
6
+ }
7
+ export declare const iconSize: Record<string, IconSize>;
@@ -1,4 +1,4 @@
1
- import { tgoIcons } from '../../components/icon/icon.config';
2
- export type IconSize = '16' | '24';
1
+ import { tgoIcons } from './icon.config';
2
+ export type IconSize = '16' | '24' | '80';
3
3
  export type IconName = typeof tgoIcons[number] | '';
4
4
  export type IconColor = 'teal' | 'petrol' | 'dark' | 'white' | 'black' | 'inherit';
@@ -1,20 +1,97 @@
1
- import { TagColor } from '../../components/tag/tag.model';
1
+ import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
2
+ import { IconName } from '../icon/icon.model';
2
3
  import * as i0 from "@angular/core";
3
- export declare class TagComponent {
4
+ export declare class TagComponent implements AfterViewInit {
4
5
  /**
5
- * Tag's text
6
+ * Tag's label
6
7
  *
7
8
  * @memberof TagComponent
8
9
  */
9
- text: string;
10
+ set label(value: string);
10
11
  /**
11
- * Color
12
+ * Icon
12
13
  *
13
- * @type {TagColor}
14
+ * @type {string}
14
15
  * @memberof TagComponent
15
16
  */
16
- color: TagColor;
17
- constructor();
17
+ icon: IconName;
18
+ /**
19
+ * Whether to allow the tag to be closed.
20
+ *
21
+ * @type {boolean}
22
+ * @default false
23
+ * @memberof TagComponent
24
+ */
25
+ allowClose: boolean;
26
+ /**
27
+ * Whether the tag is in read-only mode.
28
+ *
29
+ * @type {boolean}
30
+ * @default false
31
+ * @memberof TagComponent
32
+ */
33
+ readOnly: boolean;
34
+ /**
35
+ * Whether the tag is selected.
36
+ *
37
+ * @type {boolean}
38
+ * @default false
39
+ * @memberof TagComponent
40
+ */
41
+ isSelected: boolean;
42
+ /**
43
+ * Display icon when is selected
44
+ *
45
+ * @type {boolean}
46
+ * @default false
47
+ * @memberof TagComponent
48
+ */
49
+ showIconWhenSelected: boolean;
50
+ /**
51
+ * Specifies whether the element is disabled.
52
+ *
53
+ * @type {boolean}
54
+ * @default false
55
+ * @memberof TagComponent
56
+ */
57
+ isDisabled: boolean;
58
+ /**
59
+ * Event triggered when the tag should be closed.
60
+ *
61
+ * @event
62
+ * @memberof TagComponent
63
+ */
64
+ close: EventEmitter<void>;
65
+ /**
66
+ * Event triggered when a press action occurs.
67
+ *
68
+ * @event
69
+ * @memberof TagComponent
70
+ */
71
+ press: EventEmitter<boolean>;
72
+ /**
73
+ * Subject that needs to be triggered when Label input changes, to check if it's truncated
74
+ * @private
75
+ * @type {void}
76
+ * @memberof TagComponent
77
+ */
78
+ private checkLabelEllipsis$;
79
+ /**
80
+ * Observable that indicates if the Label is truncated
81
+ * debounceTime is used to wait for view to be initialized after receiving a new Label input
82
+ * @protected
83
+ * @type {boolean}
84
+ * @memberof TagComponent
85
+ */
86
+ protected isEllipseActiveObs$: import("rxjs").Observable<boolean>;
87
+ protected labelText: string;
88
+ labelElement: ElementRef<HTMLElement>;
89
+ ngAfterViewInit(): void;
90
+ onPress(): void;
91
+ onClose(): void;
92
+ private isLabelEllipseActive;
93
+ get tabIndex(): number;
94
+ get filled(): boolean;
18
95
  static ɵfac: i0.ɵɵFactoryDeclaration<TagComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<TagComponent, "ui-tag", never, { "text": "text"; "color": "color"; }, {}, never, never, false, never>;
96
+ static ɵcmp: i0.ɵɵComponentDeclaration<TagComponent, "ui-tag", never, { "label": "label"; "icon": "icon"; "allowClose": "allowClose"; "readOnly": "readOnly"; "isSelected": "isSelected"; "showIconWhenSelected": "showIconWhenSelected"; "isDisabled": "isDisabled"; }, { "close": "close"; "press": "press"; }, never, never, false, never>;
20
97
  }
@@ -1,8 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./tag.component";
3
3
  import * as i2 from "@angular/common";
4
+ import * as i3 from "../icon/icon.component.module";
5
+ import * as i4 from "../tooltip/tooltip.component.module";
6
+ import * as i5 from "@angular/material/tooltip";
4
7
  export declare class TagComponentModule {
5
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TagComponentModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<TagComponentModule, [typeof i1.TagComponent], [typeof i2.CommonModule], [typeof i1.TagComponent]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TagComponentModule, [typeof i1.TagComponent], [typeof i2.CommonModule, typeof i3.IconComponentModule, typeof i4.TooltipComponentModule, typeof i5.MatTooltipModule], [typeof i1.TagComponent]>;
7
10
  static ɵinj: i0.ɵɵInjectorDeclaration<TagComponentModule>;
8
11
  }
@@ -0,0 +1,38 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { RegisterFn } from './toggle.model';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ToggleComponent implements ControlValueAccessor {
6
+ /**
7
+ * The `selected` property determines the current state of the toggle switch.
8
+ *
9
+ * @type {boolean}
10
+ * @default false
11
+ * @memberof ToggleComponent
12
+ */
13
+ selected: boolean;
14
+ /**
15
+ * The `disabled` property determines whether the toggle switch is disabled.
16
+ *
17
+ * @type {boolean}
18
+ * @default false
19
+ * @memberof ToggleComponent
20
+ */
21
+ disabled: boolean;
22
+ /**
23
+ * The `toggle` event is triggered when the state of the toggle switch changes. It returns the new state.
24
+ *
25
+ * @type {event}
26
+ * @memberof ToggleComponent
27
+ */
28
+ toggle: EventEmitter<boolean>;
29
+ onToggle(): void;
30
+ writeValue(state: boolean): void;
31
+ registerOnChange(fn: RegisterFn): void;
32
+ registerOnTouched(fn: RegisterFn): void;
33
+ setDisabledState(isDisabled: boolean): void;
34
+ private onChange;
35
+ private onTouched;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToggleComponent, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToggleComponent, "ui-toggle", never, { "selected": "selected"; "disabled": "disabled"; }, { "toggle": "toggle"; }, never, never, false, never>;
38
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./toggle.component";
3
+ import * as i2 from "@angular/common";
4
+ export declare class ToggleComponentModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToggleComponentModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ToggleComponentModule, [typeof i1.ToggleComponent], [typeof i2.CommonModule], never>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<ToggleComponentModule>;
8
+ }
@@ -0,0 +1 @@
1
+ export type RegisterFn = () => void;
@@ -0,0 +1,74 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { AvatarSize, iconSize } from './avatar.model';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../icon/icon.component";
6
+ import * as i3 from "../../pipes/name-initials.pipe";
7
+ export class AvatarComponent {
8
+ constructor() {
9
+ /**
10
+ * Input property for specifying the size of the avatar.
11
+ * @type {AvatarSize}
12
+ * @default AvatarSize.SMALL
13
+ * @memberof AvatarComponent
14
+ */
15
+ this.size = AvatarSize.SMALL;
16
+ /**
17
+ * Input property for specifying the URL of the image to display in the avatar.
18
+ * @type {string}
19
+ * @memberof AvatarComponent
20
+ */
21
+ this.imageUrl = '';
22
+ /**
23
+ * Input property for specifying the initials to display in the avatar.
24
+ * @type {string}
25
+ * @memberof AvatarComponent
26
+ */
27
+ this.name = '';
28
+ /**
29
+ * Input property for specifying the tooltip text for edit.
30
+ * @type {string}
31
+ * @memberof AvatarComponent
32
+ */
33
+ this.tooltipText = '';
34
+ /**
35
+ * Input property that makes avatar clickable.
36
+ * @type {boolean}
37
+ * @memberof AvatarComponent
38
+ */
39
+ this.allowClick = false;
40
+ /**
41
+ * Event emitted when the avatar is clicked.
42
+ * @type {void}
43
+ * @memberof AvatarComponent
44
+ */
45
+ this.avatarClick = new EventEmitter();
46
+ this.iconSize = iconSize;
47
+ this.avatarSize = AvatarSize;
48
+ }
49
+ onAvatarClick() {
50
+ this.avatarClick.emit();
51
+ }
52
+ get clickAllowance() {
53
+ return this.allowClick ? 'clickable' : 'non-clickable';
54
+ }
55
+ }
56
+ AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
+ AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AvatarComponent, selector: "ui-avatar", inputs: { size: "size", imageUrl: "imageUrl", name: "name", tooltipText: "tooltipText", allowClick: "allowClick" }, outputs: { avatarClick: "avatarClick" }, ngImport: i0, template: "<div\n class=\"avatar-container\"\n [attr.type]=\"!imageUrl && !name ? 'icon' : 'initials'\"\n [ngClass]=\"[size, clickAllowance]\"\n (click)=\"onAvatarClick()\"\n>\n <span *ngIf=\"name && !imageUrl\">\n {{ name | nameInitials }}\n </span>\n <img *ngIf=\"imageUrl\" [attr.src]=\"imageUrl\" [alt]=\"'profile-image'\">\n <ui-icon color=\"dark\" [size]=\"iconSize[size]\" *ngIf=\"!imageUrl && !name\" [name]=\"'User-profile'\"></ui-icon>\n</div>\n\n", styles: [":host .clickable{cursor:pointer}:host .non-clickable{pointer-events:none}:host .avatar-container{font-family:Open Sans,sans-serif;font-weight:400;display:flex;justify-content:center;align-items:center;border-radius:100%;background:#CBD6CB;position:relative;-webkit-user-select:none;user-select:none}:host .avatar-container[type=icon]{background:#E0E0E0}:host .avatar-container img{width:100%;height:100%;object-fit:cover;border-radius:100%}:host .avatar-container.small{width:24px;height:24px;font-size:10px}:host .avatar-container.medium{width:48px;height:48px;font-size:20px}:host .avatar-container.large{width:120px;height:120px;font-size:50px;letter-spacing:-2}:host .avatar-container .edit-avatar{display:flex;justify-content:center;align-items:center;position:absolute;right:0;bottom:0;background:#F6F6F6;width:32px;height:32px;border-radius:100%;cursor:pointer;-webkit-backdrop-filter:drop-shadow(0px 8px 24px 4px #000000,8%);backdrop-filter:drop-shadow(0px 8px 24px 4px #000000,8%)}:host .avatar-container .edit-avatar:hover{background:#EDEDED}:host .avatar-container .edit-avatar:active{background:#E0E0E0}:host .avatar-container .edit-avatar:focus{outline:1px dashed #888888;outline-offset:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color"] }, { kind: "pipe", type: i3.NameInitialsPipe, name: "nameInitials" }] });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AvatarComponent, decorators: [{
59
+ type: Component,
60
+ args: [{ selector: 'ui-avatar', template: "<div\n class=\"avatar-container\"\n [attr.type]=\"!imageUrl && !name ? 'icon' : 'initials'\"\n [ngClass]=\"[size, clickAllowance]\"\n (click)=\"onAvatarClick()\"\n>\n <span *ngIf=\"name && !imageUrl\">\n {{ name | nameInitials }}\n </span>\n <img *ngIf=\"imageUrl\" [attr.src]=\"imageUrl\" [alt]=\"'profile-image'\">\n <ui-icon color=\"dark\" [size]=\"iconSize[size]\" *ngIf=\"!imageUrl && !name\" [name]=\"'User-profile'\"></ui-icon>\n</div>\n\n", styles: [":host .clickable{cursor:pointer}:host .non-clickable{pointer-events:none}:host .avatar-container{font-family:Open Sans,sans-serif;font-weight:400;display:flex;justify-content:center;align-items:center;border-radius:100%;background:#CBD6CB;position:relative;-webkit-user-select:none;user-select:none}:host .avatar-container[type=icon]{background:#E0E0E0}:host .avatar-container img{width:100%;height:100%;object-fit:cover;border-radius:100%}:host .avatar-container.small{width:24px;height:24px;font-size:10px}:host .avatar-container.medium{width:48px;height:48px;font-size:20px}:host .avatar-container.large{width:120px;height:120px;font-size:50px;letter-spacing:-2}:host .avatar-container .edit-avatar{display:flex;justify-content:center;align-items:center;position:absolute;right:0;bottom:0;background:#F6F6F6;width:32px;height:32px;border-radius:100%;cursor:pointer;-webkit-backdrop-filter:drop-shadow(0px 8px 24px 4px #000000,8%);backdrop-filter:drop-shadow(0px 8px 24px 4px #000000,8%)}:host .avatar-container .edit-avatar:hover{background:#EDEDED}:host .avatar-container .edit-avatar:active{background:#E0E0E0}:host .avatar-container .edit-avatar:focus{outline:1px dashed #888888;outline-offset:4px}\n"] }]
61
+ }], propDecorators: { size: [{
62
+ type: Input
63
+ }], imageUrl: [{
64
+ type: Input
65
+ }], name: [{
66
+ type: Input
67
+ }], tooltipText: [{
68
+ type: Input
69
+ }], allowClick: [{
70
+ type: Input
71
+ }], avatarClick: [{
72
+ type: Output
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBT3RELE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBTUU7Ozs7O1dBS0c7UUFDTSxTQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNqQzs7OztXQUlHO1FBQ00sYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUV2Qjs7OztXQUlHO1FBQ00sU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVuQjs7OztXQUlHO1FBQ00sZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFMUI7Ozs7V0FJRztRQUNNLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFNUI7Ozs7V0FJRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV2QyxhQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLGVBQVUsR0FBRyxVQUFVLENBQUM7S0FTbkM7SUFQVyxhQUFhO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO0lBQ3pELENBQUM7OzRHQXBEVSxlQUFlO2dHQUFmLGVBQWUsOE1DUjVCLDJjQWFBOzJGRExhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsV0FBVzs4QkFXWixJQUFJO3NCQUFaLEtBQUs7Z0JBTUcsUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9JLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXZhdGFyU2l6ZSwgaWNvblNpemUgfSBmcm9tICcuL2F2YXRhci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWF2YXRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIElucHV0IHByb3BlcnR5IGZvciBzcGVjaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBhdmF0YXIuXG4gICAqIEB0eXBlIHtBdmF0YXJTaXplfVxuICAgKiBAZGVmYXVsdCBBdmF0YXJTaXplLlNNQUxMXG4gICAqIEBtZW1iZXJvZiBBdmF0YXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNpemUgPSBBdmF0YXJTaXplLlNNQUxMO1xuICAvKipcbiAgICogSW5wdXQgcHJvcGVydHkgZm9yIHNwZWNpZnlpbmcgdGhlIFVSTCBvZiB0aGUgaW1hZ2UgdG8gZGlzcGxheSBpbiB0aGUgYXZhdGFyLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQXZhdGFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpbWFnZVVybCA9ICcnO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBwcm9wZXJ0eSBmb3Igc3BlY2lmeWluZyB0aGUgaW5pdGlhbHMgdG8gZGlzcGxheSBpbiB0aGUgYXZhdGFyLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQXZhdGFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBuYW1lID0gJyc7XG5cbiAgLyoqXG4gICAqIElucHV0IHByb3BlcnR5IGZvciBzcGVjaWZ5aW5nIHRoZSB0b29sdGlwIHRleHQgZm9yIGVkaXQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBBdmF0YXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHRvb2x0aXBUZXh0ID0gJyc7XG5cbiAgLyoqXG4gICAqIElucHV0IHByb3BlcnR5IHRoYXQgbWFrZXMgYXZhdGFyIGNsaWNrYWJsZS5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBBdmF0YXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFsbG93Q2xpY2sgPSBmYWxzZTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhdmF0YXIgaXMgY2xpY2tlZC5cbiAgICogQHR5cGUge3ZvaWR9XG4gICAqIEBtZW1iZXJvZiBBdmF0YXJDb21wb25lbnRcbiAgICovXG4gIEBPdXRwdXQoKSBhdmF0YXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcm90ZWN0ZWQgaWNvblNpemUgPSBpY29uU2l6ZTtcbiAgcHJvdGVjdGVkIGF2YXRhclNpemUgPSBBdmF0YXJTaXplO1xuXG4gIHByb3RlY3RlZCBvbkF2YXRhckNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYXZhdGFyQ2xpY2suZW1pdCgpO1xuICB9XG5cbiAgZ2V0IGNsaWNrQWxsb3dhbmNlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dDbGljayA/ICdjbGlja2FibGUnIDogJ25vbi1jbGlja2FibGUnO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYXZhdGFyLWNvbnRhaW5lclwiXG4gIFthdHRyLnR5cGVdPVwiIWltYWdlVXJsICYmICFuYW1lID8gJ2ljb24nIDogJ2luaXRpYWxzJ1wiXG4gIFtuZ0NsYXNzXT1cIltzaXplLCBjbGlja0FsbG93YW5jZV1cIlxuICAoY2xpY2spPVwib25BdmF0YXJDbGljaygpXCJcbj5cbiAgPHNwYW4gKm5nSWY9XCJuYW1lICYmICFpbWFnZVVybFwiPlxuICAgIHt7IG5hbWUgfCBuYW1lSW5pdGlhbHMgfX1cbiAgPC9zcGFuPlxuICA8aW1nICpuZ0lmPVwiaW1hZ2VVcmxcIiBbYXR0ci5zcmNdPVwiaW1hZ2VVcmxcIiBbYWx0XT1cIidwcm9maWxlLWltYWdlJ1wiPlxuICA8dWktaWNvbiBjb2xvcj1cImRhcmtcIiBbc2l6ZV09XCJpY29uU2l6ZVtzaXplXVwiICpuZ0lmPVwiIWltYWdlVXJsICYmICFuYW1lXCIgW25hbWVdPVwiJ1VzZXItcHJvZmlsZSdcIj48L3VpLWljb24+XG48L2Rpdj5cblxuIl19
@@ -0,0 +1,21 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AvatarComponent } from './avatar.component';
4
+ import { NameInitialsPipe } from '../../pipes/name-initials.pipe';
5
+ import { IconComponentModule } from '../icon/icon.component.module';
6
+ import { MatTooltipModule } from '@angular/material/tooltip';
7
+ import * as i0 from "@angular/core";
8
+ export class AvatarComponentModule {
9
+ }
10
+ AvatarComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AvatarComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ AvatarComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: AvatarComponentModule, declarations: [AvatarComponent, NameInitialsPipe], imports: [CommonModule, IconComponentModule, MatTooltipModule], exports: [AvatarComponent] });
12
+ AvatarComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AvatarComponentModule, imports: [CommonModule, IconComponentModule, MatTooltipModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AvatarComponentModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [AvatarComponent, NameInitialsPipe],
17
+ imports: [CommonModule, IconComponentModule, MatTooltipModule],
18
+ exports: [AvatarComponent],
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQU83RCxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsaUJBSmpCLGVBQWUsRUFBRSxnQkFBZ0IsYUFDdEMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixhQUNuRCxlQUFlO21IQUVkLHFCQUFxQixZQUh0QixZQUFZLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCOzJGQUdsRCxxQkFBcUI7a0JBTGpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLGdCQUFnQixDQUFDO29CQUNqRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUM7b0JBQzlELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYW1lSW5pdGlhbHNQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvbmFtZS1pbml0aWFscy5waXBlJztcbmltcG9ydCB7IEljb25Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0F2YXRhckNvbXBvbmVudCwgTmFtZUluaXRpYWxzUGlwZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Db21wb25lbnRNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGVdLFxuICBleHBvcnRzOiBbQXZhdGFyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,12 @@
1
+ export var AvatarSize;
2
+ (function (AvatarSize) {
3
+ AvatarSize["SMALL"] = "small";
4
+ AvatarSize["MEDIUM"] = "medium";
5
+ AvatarSize["LARGE"] = "large";
6
+ })(AvatarSize || (AvatarSize = {}));
7
+ export const iconSize = {
8
+ small: '16',
9
+ medium: '24',
10
+ large: '80',
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLDZCQUFlLENBQUE7SUFDZiwrQkFBaUIsQ0FBQTtJQUNqQiw2QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQjtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBNkI7SUFDaEQsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25TaXplIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZGVsJztcblxuZXhwb3J0IGVudW0gQXZhdGFyU2l6ZSB7XG4gIFNNQUxMID0gJ3NtYWxsJyxcbiAgTUVESVVNID0gJ21lZGl1bScsXG4gIExBUkdFID0gJ2xhcmdlJyxcbn1cblxuZXhwb3J0IGNvbnN0IGljb25TaXplOiBSZWNvcmQ8c3RyaW5nLCBJY29uU2l6ZT4gPSB7XG4gIHNtYWxsOiAnMTYnLFxuICBtZWRpdW06ICcyNCcsXG4gIGxhcmdlOiAnODAnLFxufTtcbiJdfQ==
@@ -53,10 +53,10 @@ export class IconComponent {
53
53
  }
54
54
  }
55
55
  IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconComponent, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
56
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IconComponent, selector: "ui-icon", inputs: { size: "size", cssClass: "cssClass", name: "name", color: "color" }, usesOnChanges: true, ngImport: i0, template: "<mat-icon [svgIcon]=\"name\" [attr.class]=\"customCssClass\"></mat-icon>\n", styles: ["mat-icon{display:flex}mat-icon.size-16 svg{width:16px;height:16px}mat-icon.size-24 svg{width:24px;height:24px}mat-icon.dark svg{color:#888}mat-icon.white svg{color:#fff}mat-icon.teal svg{color:#46a997}mat-icon.petrol svg{color:#276678}mat-icon.black svg{color:#000}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
56
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IconComponent, selector: "ui-icon", inputs: { size: "size", cssClass: "cssClass", name: "name", color: "color" }, usesOnChanges: true, ngImport: i0, template: "<mat-icon [svgIcon]=\"name\" [attr.class]=\"customCssClass\"></mat-icon>\n", styles: ["mat-icon{display:flex}mat-icon.size-16 svg{width:16px;height:16px}mat-icon.size-24 svg{width:24px;height:24px}mat-icon.size-80 svg{width:80px;height:80px}mat-icon.dark svg{color:#888}mat-icon.white svg{color:#fff}mat-icon.teal svg{color:#46a997}mat-icon.petrol svg{color:#276678}mat-icon.black svg{color:#000}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconComponent, decorators: [{
58
58
  type: Component,
59
- args: [{ selector: 'ui-icon', encapsulation: ViewEncapsulation.None, template: "<mat-icon [svgIcon]=\"name\" [attr.class]=\"customCssClass\"></mat-icon>\n", styles: ["mat-icon{display:flex}mat-icon.size-16 svg{width:16px;height:16px}mat-icon.size-24 svg{width:24px;height:24px}mat-icon.dark svg{color:#888}mat-icon.white svg{color:#fff}mat-icon.teal svg{color:#46a997}mat-icon.petrol svg{color:#276678}mat-icon.black svg{color:#000}\n"] }]
59
+ args: [{ selector: 'ui-icon', encapsulation: ViewEncapsulation.None, template: "<mat-icon [svgIcon]=\"name\" [attr.class]=\"customCssClass\"></mat-icon>\n", styles: ["mat-icon{display:flex}mat-icon.size-16 svg{width:16px;height:16px}mat-icon.size-24 svg{width:24px;height:24px}mat-icon.size-80 svg{width:80px;height:80px}mat-icon.dark svg{color:#888}mat-icon.white svg{color:#fff}mat-icon.teal svg{color:#46a997}mat-icon.petrol svg{color:#276678}mat-icon.black svg{color:#000}\n"] }]
60
60
  }], ctorParameters: function () { return [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }]; }, propDecorators: { size: [{
61
61
  type: Input
62
62
  }], cssClass: [{
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ljb24vaWNvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGdvSWNvbnMgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ljb24vaWNvbi5jb25maWcnO1xuXG5leHBvcnQgdHlwZSBJY29uU2l6ZSA9ICcxNicgfCAnMjQnO1xuZXhwb3J0IHR5cGUgSWNvbk5hbWUgPSB0eXBlb2YgdGdvSWNvbnNbbnVtYmVyXSB8ICcnO1xuZXhwb3J0IHR5cGUgSWNvbkNvbG9yID0gJ3RlYWwnIHwgJ3BldHJvbCcgfCAnZGFyaycgfCAnd2hpdGUnIHwgJ2JsYWNrJyB8ICdpbmhlcml0JztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ljb24vaWNvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGdvSWNvbnMgfSBmcm9tICcuL2ljb24uY29uZmlnJztcblxuZXhwb3J0IHR5cGUgSWNvblNpemUgPSAnMTYnIHwgJzI0JyB8ICc4MCc7XG5leHBvcnQgdHlwZSBJY29uTmFtZSA9IHR5cGVvZiB0Z29JY29uc1tudW1iZXJdIHwgJyc7XG5leHBvcnQgdHlwZSBJY29uQ29sb3IgPSAndGVhbCcgfCAncGV0cm9sJyB8ICdkYXJrJyB8ICd3aGl0ZScgfCAnYmxhY2snIHwgJ2luaGVyaXQnO1xuIl19
@@ -1,24 +1,150 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { debounceTime, map, ReplaySubject } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../icon/icon.component";
6
+ import * as i3 from "@angular/material/tooltip";
3
7
  export class TagComponent {
4
8
  constructor() {
5
9
  /**
6
- * Color
10
+ * Icon
7
11
  *
8
- * @type {TagColor}
12
+ * @type {string}
9
13
  * @memberof TagComponent
10
14
  */
11
- this.color = 'teal';
15
+ this.icon = '';
16
+ /**
17
+ * Whether to allow the tag to be closed.
18
+ *
19
+ * @type {boolean}
20
+ * @default false
21
+ * @memberof TagComponent
22
+ */
23
+ this.allowClose = false;
24
+ /**
25
+ * Whether the tag is in read-only mode.
26
+ *
27
+ * @type {boolean}
28
+ * @default false
29
+ * @memberof TagComponent
30
+ */
31
+ this.readOnly = false;
32
+ /**
33
+ * Whether the tag is selected.
34
+ *
35
+ * @type {boolean}
36
+ * @default false
37
+ * @memberof TagComponent
38
+ */
39
+ this.isSelected = false;
40
+ /**
41
+ * Display icon when is selected
42
+ *
43
+ * @type {boolean}
44
+ * @default false
45
+ * @memberof TagComponent
46
+ */
47
+ this.showIconWhenSelected = false;
48
+ /**
49
+ * Specifies whether the element is disabled.
50
+ *
51
+ * @type {boolean}
52
+ * @default false
53
+ * @memberof TagComponent
54
+ */
55
+ this.isDisabled = false;
56
+ /**
57
+ * Event triggered when the tag should be closed.
58
+ *
59
+ * @event
60
+ * @memberof TagComponent
61
+ */
62
+ this.close = new EventEmitter();
63
+ /**
64
+ * Event triggered when a press action occurs.
65
+ *
66
+ * @event
67
+ * @memberof TagComponent
68
+ */
69
+ this.press = new EventEmitter();
70
+ /**
71
+ * Subject that needs to be triggered when Label input changes, to check if it's truncated
72
+ * @private
73
+ * @type {void}
74
+ * @memberof TagComponent
75
+ */
76
+ this.checkLabelEllipsis$ = new ReplaySubject(1);
77
+ /**
78
+ * Observable that indicates if the Label is truncated
79
+ * debounceTime is used to wait for view to be initialized after receiving a new Label input
80
+ * @protected
81
+ * @type {boolean}
82
+ * @memberof TagComponent
83
+ */
84
+ this.isEllipseActiveObs$ = this.checkLabelEllipsis$.pipe(debounceTime(100), map(() => {
85
+ const el = this.labelElement.nativeElement;
86
+ return el.offsetWidth < el.scrollWidth;
87
+ }));
88
+ this.labelText = '';
89
+ }
90
+ /**
91
+ * Tag's label
92
+ *
93
+ * @memberof TagComponent
94
+ */
95
+ set label(value) {
96
+ this.labelText = value;
97
+ if (this.labelElement) {
98
+ this.isLabelEllipseActive();
99
+ }
100
+ }
101
+ ngAfterViewInit() {
102
+ this.isLabelEllipseActive();
103
+ }
104
+ onPress() {
105
+ if (!this.readOnly && !this.allowClose) {
106
+ this.isSelected = this.showIconWhenSelected ? !this.isSelected : false;
107
+ this.press.emit(this.isSelected);
108
+ }
109
+ }
110
+ onClose() {
111
+ this.close.emit();
112
+ }
113
+ isLabelEllipseActive() {
114
+ this.checkLabelEllipsis$.next();
115
+ }
116
+ get tabIndex() {
117
+ return this.isDisabled || this.readOnly ? -1 : 0;
118
+ }
119
+ get filled() {
120
+ return this.readOnly || this.allowClose || this.isSelected;
12
121
  }
13
122
  }
14
123
  TagComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- TagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TagComponent, selector: "ui-tag", inputs: { text: "text", color: "color" }, ngImport: i0, template: "<span [class]=\"color\">{{ text }}</span>\n", styles: [":host span{display:inline-flex;color:#fff;font-size:12px;line-height:16px;padding:3px 8px;border-radius:4px;text-transform:uppercase;margin-right:8px}:host span.teal{background-color:#46a997}:host span.petrol{background-color:#276678}:host span.grey{background-color:#e0e0e0;color:#000}:host span.red{background-color:#cb7b7a}:host span.gold{background-color:#cca45f}\n"] });
124
+ TagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TagComponent, selector: "ui-tag", inputs: { label: "label", icon: "icon", allowClose: "allowClose", readOnly: "readOnly", isSelected: "isSelected", showIconWhenSelected: "showIconWhenSelected", isDisabled: "isDisabled" }, outputs: { close: "close", press: "press" }, viewQueries: [{ propertyName: "labelElement", first: true, predicate: ["labelElement"], descendants: true }], ngImport: i0, template: "<div class=\"tag-wrapper\" [matTooltip]=\"(isEllipseActiveObs$ | async) ? labelText : ''\">\n <div\n [tabindex]=\"tabIndex\"\n class=\"tag-container\"\n [attr.data-testid]=\"'tag--container'\"\n [ngClass]=\"{\n filled: filled,\n readonly: readOnly,\n disabled: isDisabled,\n outlined: !isSelected,\n }\"\n (click)=\"onPress()\"\n >\n <ui-icon *ngIf=\"icon\" class=\"icon\" [name]=\"icon\"></ui-icon>\n <ui-icon *ngIf=\"isSelected && showIconWhenSelected\" class=\"icon\" [name]=\"'Check'\"></ui-icon>\n <span class=\"tag-label\" #labelElement>{{ labelText }}</span>\n <ui-icon [tabindex]=\"tabIndex\" *ngIf=\"allowClose\" class=\"delete-icon\" (click)=\"onClose()\" [name]=\"'Close'\"></ui-icon>\n </div>\n</div>\n", styles: [":host .tag-wrapper{max-width:264px}:host .tag-container{height:32px;max-width:264px;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0 8px;width:-moz-fit-content;width:fit-content;cursor:pointer;margin:4px}:host .tag-container.outlined{border:1px solid #6894A0}:host .tag-container:focus{outline:1px dashed #888888;outline-offset:4px;background:#F6F6F6;border:1px solid #6894A0}:host .tag-container:focus.filled{background-color:#e9f0f1;border:1px solid #276678}:host .tag-container.filled{background:#E9F0F1;border:1px solid #E9F0F1}:host .tag-container.filled:hover{background-color:#e9f0f1;border:1px solid #276678}:host .tag-container.filled:active{background:#A9C2C9;border:1px solid #1B4754}:host .tag-container:hover{background:#F6F6F6;border:1px solid #6894A0}:host .tag-container:active{background:#E9F0F1}:host .tag-container.readonly{pointer-events:none}:host .tag-container.disabled{opacity:.5;border:1px solid #276678;background:#E9F0F1;pointer-events:none}:host .tag-container .tag-label{-webkit-user-select:none;user-select:none;font-size:14px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .tag-container .icon{height:16px;width:16px;min-width:16px;margin-right:8px}:host .tag-container .delete-icon{display:flex;align-items:center;justify-content:center;margin-left:8px;text-align:center;border:1px solid transparent}:host .tag-container .delete-icon:focus{border:1px dashed #1B4754;border-radius:4px}:host .tag-container .delete-icon:focus-visible{outline:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
16
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TagComponent, decorators: [{
17
126
  type: Component,
18
- args: [{ selector: 'ui-tag', template: "<span [class]=\"color\">{{ text }}</span>\n", styles: [":host span{display:inline-flex;color:#fff;font-size:12px;line-height:16px;padding:3px 8px;border-radius:4px;text-transform:uppercase;margin-right:8px}:host span.teal{background-color:#46a997}:host span.petrol{background-color:#276678}:host span.grey{background-color:#e0e0e0;color:#000}:host span.red{background-color:#cb7b7a}:host span.gold{background-color:#cca45f}\n"] }]
19
- }], ctorParameters: function () { return []; }, propDecorators: { text: [{
127
+ args: [{ selector: 'ui-tag', template: "<div class=\"tag-wrapper\" [matTooltip]=\"(isEllipseActiveObs$ | async) ? labelText : ''\">\n <div\n [tabindex]=\"tabIndex\"\n class=\"tag-container\"\n [attr.data-testid]=\"'tag--container'\"\n [ngClass]=\"{\n filled: filled,\n readonly: readOnly,\n disabled: isDisabled,\n outlined: !isSelected,\n }\"\n (click)=\"onPress()\"\n >\n <ui-icon *ngIf=\"icon\" class=\"icon\" [name]=\"icon\"></ui-icon>\n <ui-icon *ngIf=\"isSelected && showIconWhenSelected\" class=\"icon\" [name]=\"'Check'\"></ui-icon>\n <span class=\"tag-label\" #labelElement>{{ labelText }}</span>\n <ui-icon [tabindex]=\"tabIndex\" *ngIf=\"allowClose\" class=\"delete-icon\" (click)=\"onClose()\" [name]=\"'Close'\"></ui-icon>\n </div>\n</div>\n", styles: [":host .tag-wrapper{max-width:264px}:host .tag-container{height:32px;max-width:264px;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0 8px;width:-moz-fit-content;width:fit-content;cursor:pointer;margin:4px}:host .tag-container.outlined{border:1px solid #6894A0}:host .tag-container:focus{outline:1px dashed #888888;outline-offset:4px;background:#F6F6F6;border:1px solid #6894A0}:host .tag-container:focus.filled{background-color:#e9f0f1;border:1px solid #276678}:host .tag-container.filled{background:#E9F0F1;border:1px solid #E9F0F1}:host .tag-container.filled:hover{background-color:#e9f0f1;border:1px solid #276678}:host .tag-container.filled:active{background:#A9C2C9;border:1px solid #1B4754}:host .tag-container:hover{background:#F6F6F6;border:1px solid #6894A0}:host .tag-container:active{background:#E9F0F1}:host .tag-container.readonly{pointer-events:none}:host .tag-container.disabled{opacity:.5;border:1px solid #276678;background:#E9F0F1;pointer-events:none}:host .tag-container .tag-label{-webkit-user-select:none;user-select:none;font-size:14px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .tag-container .icon{height:16px;width:16px;min-width:16px;margin-right:8px}:host .tag-container .delete-icon{display:flex;align-items:center;justify-content:center;margin-left:8px;text-align:center;border:1px solid transparent}:host .tag-container .delete-icon:focus{border:1px dashed #1B4754;border-radius:4px}:host .tag-container .delete-icon:focus-visible{outline:none}\n"] }]
128
+ }], propDecorators: { label: [{
129
+ type: Input
130
+ }], icon: [{
131
+ type: Input
132
+ }], allowClose: [{
133
+ type: Input
134
+ }], readOnly: [{
135
+ type: Input
136
+ }], isSelected: [{
137
+ type: Input
138
+ }], showIconWhenSelected: [{
20
139
  type: Input
21
- }], color: [{
140
+ }], isDisabled: [{
22
141
  type: Input
142
+ }], close: [{
143
+ type: Output
144
+ }], press: [{
145
+ type: Output
146
+ }], labelElement: [{
147
+ type: ViewChild,
148
+ args: ['labelElement']
23
149
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RhZy90YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFnL3RhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTakQsTUFBTSxPQUFPLFlBQVk7SUFpQnZCO1FBUkE7Ozs7O1dBS0c7UUFDTSxVQUFLLEdBQWEsTUFBTSxDQUFDO0lBRWxCLENBQUM7O3lHQWpCTixZQUFZOzZGQUFaLFlBQVksd0ZDVHpCLDZDQUNBOzJGRFFhLFlBQVk7a0JBTnhCLFNBQVM7K0JBQ0UsUUFBUTswRUFZVCxJQUFJO3NCQUFaLEtBQUs7Z0JBUUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFnQ29sb3IgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RhZy90YWcubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS10YWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFnLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBUYWdDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBUYWcncyB0ZXh0XG4gICAqXG4gICAqIEBtZW1iZXJvZiBUYWdDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ29sb3JcbiAgICpcbiAgICogQHR5cGUge1RhZ0NvbG9yfVxuICAgKiBAbWVtYmVyb2YgVGFnQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBjb2xvcjogVGFnQ29sb3IgPSAndGVhbCc7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxufVxuIiwiPHNwYW4gW2NsYXNzXT1cImNvbG9yXCI+e3sgdGV4dCB9fTwvc3Bhbj5cbiJdfQ==
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RhZy90YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFnL3RhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQVF4RCxNQUFNLE9BQU8sWUFBWTtJQUx6QjtRQWtCRTs7Ozs7V0FLRztRQUNNLFNBQUksR0FBYSxFQUFFLENBQUM7UUFFN0I7Ozs7OztXQU1HO1FBQ00sZUFBVSxHQUFHLEtBQUssQ0FBQztRQUU1Qjs7Ozs7O1dBTUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRTFCOzs7Ozs7V0FNRztRQUNNLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFNUI7Ozs7OztXQU1HO1FBQ00seUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBRXRDOzs7Ozs7V0FNRztRQUNNLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFNUI7Ozs7O1dBS0c7UUFDTyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUzQzs7Ozs7V0FLRztRQUNPLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTlDOzs7OztXQUtHO1FBQ0ssd0JBQW1CLEdBQUcsSUFBSSxhQUFhLENBQU8sQ0FBQyxDQUFDLENBQUM7UUFFekQ7Ozs7OztXQU1HO1FBQ08sd0JBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDM0QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7WUFDM0MsT0FBTyxFQUFFLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNRLGNBQVMsR0FBRyxFQUFFLENBQUM7S0E4QjFCO0lBcklDOzs7O09BSUc7SUFDSCxJQUFhLEtBQUssQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFpR0QsZUFBZTtRQUNiLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUN2RSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzdELENBQUM7O3lHQXJJVSxZQUFZOzZGQUFaLFlBQVkscVlDVHpCLGl3QkFtQkE7MkZEVmEsWUFBWTtrQkFMeEIsU0FBUzsrQkFDRSxRQUFROzhCQVVMLEtBQUs7c0JBQWpCLEtBQUs7Z0JBYUcsSUFBSTtzQkFBWixLQUFLO2dCQVNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSztnQkFTRyxVQUFVO3NCQUFsQixLQUFLO2dCQVNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFTRyxVQUFVO3NCQUFsQixLQUFLO2dCQVFJLEtBQUs7c0JBQWQsTUFBTTtnQkFRRyxLQUFLO3NCQUFkLE1BQU07Z0JBMEJvQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS10YWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFnLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAvKipcbiAgICogVGFnJ3MgbGFiZWxcbiAgICpcbiAgICogQG1lbWJlcm9mIFRhZ0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2V0IGxhYmVsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmxhYmVsVGV4dCA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmxhYmVsRWxlbWVudCkge1xuICAgICAgdGhpcy5pc0xhYmVsRWxsaXBzZUFjdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJY29uXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBUYWdDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb246IEljb25OYW1lID0gJyc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWxsb3cgdGhlIHRhZyB0byBiZSBjbG9zZWQuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAbWVtYmVyb2YgVGFnQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhbGxvd0Nsb3NlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRhZyBpcyBpbiByZWFkLW9ubHkgbW9kZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBtZW1iZXJvZiBUYWdDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRhZyBpcyBzZWxlY3RlZC5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBtZW1iZXJvZiBUYWdDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGlzU2VsZWN0ZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGlzcGxheSBpY29uIHdoZW4gaXMgc2VsZWN0ZWRcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBtZW1iZXJvZiBUYWdDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNob3dJY29uV2hlblNlbGVjdGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBlbGVtZW50IGlzIGRpc2FibGVkLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQG1lbWJlcm9mIFRhZ0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFdmVudCB0cmlnZ2VyZWQgd2hlbiB0aGUgdGFnIHNob3VsZCBiZSBjbG9zZWQuXG4gICAqXG4gICAqIEBldmVudFxuICAgKiBAbWVtYmVyb2YgVGFnQ29tcG9uZW50XG4gICAqL1xuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IHRyaWdnZXJlZCB3aGVuIGEgcHJlc3MgYWN0aW9uIG9jY3Vycy5cbiAgICpcbiAgICogQGV2ZW50XG4gICAqIEBtZW1iZXJvZiBUYWdDb21wb25lbnRcbiAgICovXG4gIEBPdXRwdXQoKSBwcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogU3ViamVjdCB0aGF0IG5lZWRzIHRvIGJlIHRyaWdnZXJlZCB3aGVuIExhYmVsIGlucHV0IGNoYW5nZXMsIHRvIGNoZWNrIGlmIGl0J3MgdHJ1bmNhdGVkXG4gICAqIEBwcml2YXRlXG4gICAqIEB0eXBlIHt2b2lkfVxuICAgKiBAbWVtYmVyb2YgVGFnQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIGNoZWNrTGFiZWxFbGxpcHNpcyQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IGluZGljYXRlcyBpZiB0aGUgTGFiZWwgaXMgdHJ1bmNhdGVkXG4gICAqIGRlYm91bmNlVGltZSBpcyB1c2VkIHRvIHdhaXQgZm9yIHZpZXcgdG8gYmUgaW5pdGlhbGl6ZWQgYWZ0ZXIgcmVjZWl2aW5nIGEgbmV3IExhYmVsIGlucHV0XG4gICAqIEBwcm90ZWN0ZWRcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBUYWdDb21wb25lbnRcbiAgICovXG4gIHByb3RlY3RlZCBpc0VsbGlwc2VBY3RpdmVPYnMkID0gdGhpcy5jaGVja0xhYmVsRWxsaXBzaXMkLnBpcGUoXG4gICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgbWFwKCgpID0+IHtcbiAgICAgIGNvbnN0IGVsID0gdGhpcy5sYWJlbEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgIHJldHVybiBlbC5vZmZzZXRXaWR0aCA8IGVsLnNjcm9sbFdpZHRoO1xuICAgIH0pXG4gICk7XG4gIHByb3RlY3RlZCBsYWJlbFRleHQgPSAnJztcblxuICBAVmlld0NoaWxkKCdsYWJlbEVsZW1lbnQnKSBsYWJlbEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTGFiZWxFbGxpcHNlQWN0aXZlKCk7XG4gIH1cblxuICBvblByZXNzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yZWFkT25seSAmJiAhdGhpcy5hbGxvd0Nsb3NlKSB7XG4gICAgICB0aGlzLmlzU2VsZWN0ZWQgPSB0aGlzLnNob3dJY29uV2hlblNlbGVjdGVkID8gIXRoaXMuaXNTZWxlY3RlZCA6IGZhbHNlO1xuICAgICAgdGhpcy5wcmVzcy5lbWl0KHRoaXMuaXNTZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNMYWJlbEVsbGlwc2VBY3RpdmUoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja0xhYmVsRWxsaXBzaXMkLm5leHQoKTtcbiAgfVxuXG4gIGdldCB0YWJJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzRGlzYWJsZWQgfHwgdGhpcy5yZWFkT25seSA/IC0xIDogMDtcbiAgfVxuXG4gIGdldCBmaWxsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVhZE9ubHkgfHwgdGhpcy5hbGxvd0Nsb3NlIHx8IHRoaXMuaXNTZWxlY3RlZDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRhZy13cmFwcGVyXCIgW21hdFRvb2x0aXBdPVwiKGlzRWxsaXBzZUFjdGl2ZU9icyQgfCBhc3luYykgPyBsYWJlbFRleHQgOiAnJ1wiPlxuICA8ZGl2XG4gICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgICBjbGFzcz1cInRhZy1jb250YWluZXJcIlxuICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cIid0YWctLWNvbnRhaW5lcidcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgIGZpbGxlZDogZmlsbGVkLFxuICAgICAgcmVhZG9ubHk6IHJlYWRPbmx5LFxuICAgICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICBvdXRsaW5lZDogIWlzU2VsZWN0ZWQsXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cIm9uUHJlc3MoKVwiXG4gID5cbiAgICA8dWktaWNvbiAqbmdJZj1cImljb25cIiBjbGFzcz1cImljb25cIiBbbmFtZV09XCJpY29uXCI+PC91aS1pY29uPlxuICAgIDx1aS1pY29uICpuZ0lmPVwiaXNTZWxlY3RlZCAmJiBzaG93SWNvbldoZW5TZWxlY3RlZFwiIGNsYXNzPVwiaWNvblwiIFtuYW1lXT1cIidDaGVjaydcIj48L3VpLWljb24+XG4gICAgPHNwYW4gY2xhc3M9XCJ0YWctbGFiZWxcIiAjbGFiZWxFbGVtZW50Pnt7IGxhYmVsVGV4dCB9fTwvc3Bhbj5cbiAgICA8dWktaWNvbiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiAqbmdJZj1cImFsbG93Q2xvc2VcIiBjbGFzcz1cImRlbGV0ZS1pY29uXCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiIFtuYW1lXT1cIidDbG9zZSdcIj48L3VpLWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,19 +1,22 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { TagComponent } from './tag.component';
4
+ import { IconComponentModule } from '../icon/icon.component.module';
5
+ import { TooltipComponentModule } from '../tooltip/tooltip.component.module';
6
+ import { MatTooltipModule } from '@angular/material/tooltip';
4
7
  import * as i0 from "@angular/core";
5
8
  export class TagComponentModule {
6
9
  }
7
10
  TagComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TagComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- TagComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TagComponentModule, declarations: [TagComponent], imports: [CommonModule], exports: [TagComponent] });
9
- TagComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TagComponentModule, imports: [CommonModule] });
11
+ TagComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TagComponentModule, declarations: [TagComponent], imports: [CommonModule, IconComponentModule, TooltipComponentModule, MatTooltipModule], exports: [TagComponent] });
12
+ TagComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TagComponentModule, imports: [CommonModule, IconComponentModule, TooltipComponentModule, MatTooltipModule] });
10
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TagComponentModule, decorators: [{
11
14
  type: NgModule,
12
15
  args: [{
13
16
  declarations: [TagComponent],
14
- imports: [CommonModule],
17
+ imports: [CommonModule, IconComponentModule, TooltipComponentModule, MatTooltipModule],
15
18
  exports: [TagComponent],
16
19
  providers: [],
17
20
  }]
18
21
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90YWcvdGFnLmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVEvQyxNQUFNLE9BQU8sa0JBQWtCOzsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBTGQsWUFBWSxhQUNqQixZQUFZLGFBQ1osWUFBWTtnSEFHWCxrQkFBa0IsWUFKbkIsWUFBWTsyRkFJWCxrQkFBa0I7a0JBTjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhZ0NvbXBvbmVudCB9IGZyb20gJy4vdGFnLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RhZ0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbVGFnQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFnQ29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90YWcvdGFnLmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQVE3RCxNQUFNLE9BQU8sa0JBQWtCOzsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBTGQsWUFBWSxhQUNqQixZQUFZLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLGFBQzNFLFlBQVk7Z0hBR1gsa0JBQWtCLFlBSm5CLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0I7MkZBSTFFLGtCQUFrQjtrQkFOOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDdEYsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFnQ29tcG9uZW50IH0gZnJvbSAnLi90YWcuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUYWdDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50TW9kdWxlLCBUb29sdGlwQ29tcG9uZW50TW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlXSxcbiAgZXhwb3J0czogW1RhZ0NvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRhZ0NvbXBvbmVudE1vZHVsZSB7fVxuIl19