ngx-tethys 14.2.21 → 14.2.22
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/CHANGELOG.md +11 -0
- package/avatar/avatar-list/avatar-list.component.d.ts +75 -0
- package/avatar/avatar.component.d.ts +57 -1
- package/avatar/avatar.module.d.ts +5 -4
- package/avatar/index.d.ts +1 -0
- package/avatar/styles/avatar-list.scss +36 -0
- package/avatar/styles/avatar.scss +2 -0
- package/avatar/styles/mixin.scss +10 -0
- package/esm2020/avatar/avatar-list/avatar-list.component.mjs +175 -0
- package/esm2020/avatar/avatar.component.mjs +47 -3
- package/esm2020/avatar/avatar.module.mjs +5 -4
- package/esm2020/avatar/index.mjs +2 -1
- package/esm2020/comment/comment.component.mjs +1 -1
- package/esm2020/list/list-item-meta.component.mjs +1 -1
- package/esm2020/popover/header/popover-header.component.mjs +9 -5
- package/esm2020/version.mjs +2 -2
- package/fesm2015/ngx-tethys-avatar.mjs +221 -7
- package/fesm2015/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2015/ngx-tethys-comment.mjs +1 -1
- package/fesm2015/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2015/ngx-tethys-list.mjs +1 -1
- package/fesm2015/ngx-tethys-list.mjs.map +1 -1
- package/fesm2015/ngx-tethys-popover.mjs +8 -4
- package/fesm2015/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2015/ngx-tethys.mjs +1 -1
- package/fesm2015/ngx-tethys.mjs.map +1 -1
- package/fesm2020/ngx-tethys-avatar.mjs +221 -7
- package/fesm2020/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2020/ngx-tethys-comment.mjs +1 -1
- package/fesm2020/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2020/ngx-tethys-list.mjs +1 -1
- package/fesm2020/ngx-tethys-list.mjs.map +1 -1
- package/fesm2020/ngx-tethys-popover.mjs +8 -4
- package/fesm2020/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2020/ngx-tethys.mjs +1 -1
- package/fesm2020/ngx-tethys.mjs.map +1 -1
- package/package.json +1 -1
- package/popover/header/popover-header.component.d.ts +6 -2
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/styles/variables.scss +1 -0
|
@@ -8,7 +8,7 @@ import * as i2 from "@angular/common";
|
|
|
8
8
|
import * as i3 from "ngx-tethys/icon";
|
|
9
9
|
import * as i4 from "./avatar.pipe";
|
|
10
10
|
const sizeArray = [16, 22, 24, 28, 32, 36, 44, 48, 68, 110, 160];
|
|
11
|
-
const DEFAULT_SIZE = 36;
|
|
11
|
+
export const DEFAULT_SIZE = 36;
|
|
12
12
|
export const thyAvatarSizeMap = {
|
|
13
13
|
xxs: 22,
|
|
14
14
|
xs: 24,
|
|
@@ -16,22 +16,48 @@ export const thyAvatarSizeMap = {
|
|
|
16
16
|
md: 36,
|
|
17
17
|
lg: 48
|
|
18
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* 头像组件
|
|
21
|
+
*/
|
|
19
22
|
export class ThyAvatarComponent {
|
|
20
23
|
constructor(thyAvatarService) {
|
|
21
24
|
this.thyAvatarService = thyAvatarService;
|
|
22
25
|
this._showRemove = false;
|
|
23
26
|
this._isAvatar = true;
|
|
27
|
+
/**
|
|
28
|
+
* * 已废弃,请使用 thyRemove
|
|
29
|
+
* @deprecated
|
|
30
|
+
*/
|
|
24
31
|
this.thyOnRemove = new EventEmitter();
|
|
32
|
+
/**
|
|
33
|
+
* 移除按钮的事件, 当 thyRemovable 为 true 时起作用
|
|
34
|
+
*/
|
|
35
|
+
this.thyRemove = new EventEmitter();
|
|
36
|
+
/**
|
|
37
|
+
* 头像 img 加载 error 时触发
|
|
38
|
+
*/
|
|
25
39
|
this.thyError = new EventEmitter();
|
|
26
40
|
this.hostRenderer = useHostRenderer();
|
|
27
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* 头像路径地址, 默认为全路径,如果不是全路径,可以通过自定义服务 ThyAvatarService,重写 srcTransform 方法实现转换
|
|
44
|
+
*
|
|
45
|
+
*/
|
|
28
46
|
set thySrc(value) {
|
|
29
47
|
this._setAvatarSrc(value);
|
|
30
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* 人员名称(可设置自定义名称,需通过自定义服务 ThyAvatarService,重写 nameTransform 方法去实现转换)
|
|
51
|
+
*/
|
|
31
52
|
set thyName(value) {
|
|
32
53
|
// this._name = value;
|
|
33
54
|
this._setAvatarName(value);
|
|
34
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* 头像大小
|
|
58
|
+
* @type 16 | 22 | 24 | 28 | 32 | 36 | 44 | 48 | 68 | 110 | 160 | xxs(22px) | xs(24px) | sm(32px) | md(36px) | lg(48px)
|
|
59
|
+
* @default md
|
|
60
|
+
*/
|
|
35
61
|
set thySize(value) {
|
|
36
62
|
if (thyAvatarSizeMap[value]) {
|
|
37
63
|
this._setAvatarSize(thyAvatarSizeMap[value]);
|
|
@@ -40,9 +66,21 @@ export class ThyAvatarComponent {
|
|
|
40
66
|
this._setAvatarSize(value * 1);
|
|
41
67
|
}
|
|
42
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* 已废弃,请使用 thyRemovable
|
|
71
|
+
* @deprecated
|
|
72
|
+
* @default false
|
|
73
|
+
*/
|
|
43
74
|
set thyShowRemove(value) {
|
|
44
75
|
this._showRemove = coerceBooleanProperty(value);
|
|
45
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* 是否展示移除按钮
|
|
79
|
+
* @default false
|
|
80
|
+
*/
|
|
81
|
+
set thyRemovable(value) {
|
|
82
|
+
this._showRemove = coerceBooleanProperty(value);
|
|
83
|
+
}
|
|
46
84
|
_setAvatarSize(size) {
|
|
47
85
|
if (sizeArray.indexOf(size) > -1) {
|
|
48
86
|
this._size = size;
|
|
@@ -50,6 +88,7 @@ export class ThyAvatarComponent {
|
|
|
50
88
|
else {
|
|
51
89
|
this._size = this.findClosestSize(sizeArray, size);
|
|
52
90
|
}
|
|
91
|
+
this.hostRenderer.updateClass([`thy-avatar-${this._size}`]);
|
|
53
92
|
}
|
|
54
93
|
findClosestSize(sizes, value) {
|
|
55
94
|
let left = 0, right = sizes.length - 1, middle, result;
|
|
@@ -98,6 +137,7 @@ export class ThyAvatarComponent {
|
|
|
98
137
|
}
|
|
99
138
|
remove($event) {
|
|
100
139
|
this.thyOnRemove.emit($event);
|
|
140
|
+
this.thyRemove.emit($event);
|
|
101
141
|
}
|
|
102
142
|
avatarImgError($event) {
|
|
103
143
|
this._setAvatarSrc(null);
|
|
@@ -105,7 +145,7 @@ export class ThyAvatarComponent {
|
|
|
105
145
|
}
|
|
106
146
|
}
|
|
107
147
|
ThyAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyAvatarComponent, deps: [{ token: i1.ThyAvatarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
108
|
-
ThyAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyAvatarComponent, selector: "thy-avatar", inputs: { thyShowName: "thyShowName", thySrc: "thySrc", thyName: "thyName", thySize: "thySize", thyShowRemove: "thyShowRemove", thyImgClass: "thyImgClass", thyDisabled: "thyDisabled", thyLoading: "thyLoading", thyFetchPriority: "thyFetchPriority" }, outputs: { thyOnRemove: "thyOnRemove", thyError: "thyError" }, host: { properties: { "class.thy-avatar": "this._isAvatar" } }, ngImport: i0, template: "<img\n *ngIf=\"_src; else noSrc\"\n [src]=\"_src | thyAvatarSrc: _size\"\n class=\"avatar-avatar\"\n [ngClass]=\"thyImgClass\"\n alt=\"{{ avatarName || '' }}\"\n [attr.loading]=\"thyLoading\"\n [attr.fetchpriority]=\"thyFetchPriority\"\n (error)=\"avatarImgError($event)\"\n/>\n\n<ng-template #noSrc>\n <span class=\"avatar-default\" [ngStyle]=\"avatarName | avatarBgColor\">\n <div>{{ avatarName | avatarShortName }}</div>\n </span>\n</ng-template>\n\n<ng-template [ngIf]=\"thyShowName\">\n <div *ngIf=\"avatarNameSafeHtml; else noAvatarNameSafeHtml\" class=\"avatar-name\" [innerHtml]=\"avatarNameSafeHtml\"></div>\n <ng-template #noAvatarNameSafeHtml>\n <div class=\"avatar-name\">{{ avatarName }}</div>\n </ng-template>\n</ng-template>\n\n<a *ngIf=\"_showRemove\" (click)=\"remove($event)\" href=\"javascript:;\" class=\"remove-link avatar-remove\">\n <thy-icon class=\"remove-link-icon\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n</a>\n<div *ngIf=\"thyDisabled\" class=\"thy-avatar-disabled\">\n <thy-icon class=\"thy-avatar-disabled-icon\" thyIconName=\"ban\"></thy-icon>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "pipe", type: i4.AvatarShortNamePipe, name: "avatarShortName" }, { kind: "pipe", type: i4.AvatarBgColorPipe, name: "avatarBgColor" }, { kind: "pipe", type: i4.AvatarSrcPipe, name: "thyAvatarSrc" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
148
|
+
ThyAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyAvatarComponent, selector: "thy-avatar", inputs: { thyShowName: "thyShowName", thySrc: "thySrc", thyName: "thyName", thySize: "thySize", thyShowRemove: "thyShowRemove", thyRemovable: "thyRemovable", thyImgClass: "thyImgClass", thyDisabled: "thyDisabled", thyLoading: "thyLoading", thyFetchPriority: "thyFetchPriority" }, outputs: { thyOnRemove: "thyOnRemove", thyRemove: "thyRemove", thyError: "thyError" }, host: { properties: { "class.thy-avatar": "this._isAvatar" } }, ngImport: i0, template: "<img\n *ngIf=\"_src; else noSrc\"\n [src]=\"_src | thyAvatarSrc: _size\"\n class=\"avatar-avatar\"\n [ngClass]=\"thyImgClass\"\n alt=\"{{ avatarName || '' }}\"\n [attr.loading]=\"thyLoading\"\n [attr.fetchpriority]=\"thyFetchPriority\"\n (error)=\"avatarImgError($event)\"\n/>\n\n<ng-template #noSrc>\n <span class=\"avatar-default\" [ngStyle]=\"avatarName | avatarBgColor\">\n <div>{{ avatarName | avatarShortName }}</div>\n </span>\n</ng-template>\n\n<ng-template [ngIf]=\"thyShowName\">\n <div *ngIf=\"avatarNameSafeHtml; else noAvatarNameSafeHtml\" class=\"avatar-name\" [innerHtml]=\"avatarNameSafeHtml\"></div>\n <ng-template #noAvatarNameSafeHtml>\n <div class=\"avatar-name\">{{ avatarName }}</div>\n </ng-template>\n</ng-template>\n\n<a *ngIf=\"_showRemove\" (click)=\"remove($event)\" href=\"javascript:;\" class=\"remove-link avatar-remove\">\n <thy-icon class=\"remove-link-icon\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n</a>\n<div *ngIf=\"thyDisabled\" class=\"thy-avatar-disabled\">\n <thy-icon class=\"thy-avatar-disabled-icon\" thyIconName=\"ban\"></thy-icon>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "pipe", type: i4.AvatarShortNamePipe, name: "avatarShortName" }, { kind: "pipe", type: i4.AvatarBgColorPipe, name: "avatarBgColor" }, { kind: "pipe", type: i4.AvatarSrcPipe, name: "thyAvatarSrc" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
109
149
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyAvatarComponent, decorators: [{
|
|
110
150
|
type: Component,
|
|
111
151
|
args: [{ selector: 'thy-avatar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<img\n *ngIf=\"_src; else noSrc\"\n [src]=\"_src | thyAvatarSrc: _size\"\n class=\"avatar-avatar\"\n [ngClass]=\"thyImgClass\"\n alt=\"{{ avatarName || '' }}\"\n [attr.loading]=\"thyLoading\"\n [attr.fetchpriority]=\"thyFetchPriority\"\n (error)=\"avatarImgError($event)\"\n/>\n\n<ng-template #noSrc>\n <span class=\"avatar-default\" [ngStyle]=\"avatarName | avatarBgColor\">\n <div>{{ avatarName | avatarShortName }}</div>\n </span>\n</ng-template>\n\n<ng-template [ngIf]=\"thyShowName\">\n <div *ngIf=\"avatarNameSafeHtml; else noAvatarNameSafeHtml\" class=\"avatar-name\" [innerHtml]=\"avatarNameSafeHtml\"></div>\n <ng-template #noAvatarNameSafeHtml>\n <div class=\"avatar-name\">{{ avatarName }}</div>\n </ng-template>\n</ng-template>\n\n<a *ngIf=\"_showRemove\" (click)=\"remove($event)\" href=\"javascript:;\" class=\"remove-link avatar-remove\">\n <thy-icon class=\"remove-link-icon\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n</a>\n<div *ngIf=\"thyDisabled\" class=\"thy-avatar-disabled\">\n <thy-icon class=\"thy-avatar-disabled-icon\" thyIconName=\"ban\"></thy-icon>\n</div>\n" }]
|
|
@@ -114,6 +154,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
114
154
|
args: ['class.thy-avatar']
|
|
115
155
|
}], thyOnRemove: [{
|
|
116
156
|
type: Output
|
|
157
|
+
}], thyRemove: [{
|
|
158
|
+
type: Output
|
|
117
159
|
}], thyError: [{
|
|
118
160
|
type: Output
|
|
119
161
|
}], thyShowName: [{
|
|
@@ -126,6 +168,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
126
168
|
type: Input
|
|
127
169
|
}], thyShowRemove: [{
|
|
128
170
|
type: Input
|
|
171
|
+
}], thyRemovable: [{
|
|
172
|
+
type: Input
|
|
129
173
|
}], thyImgClass: [{
|
|
130
174
|
type: Input
|
|
131
175
|
}], thyDisabled: [{
|
|
@@ -135,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
135
179
|
}], thyFetchPriority: [{
|
|
136
180
|
type: Input
|
|
137
181
|
}] } });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQUVwRCxNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUVqRSxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFFeEIsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDNUIsR0FBRyxFQUFFLEVBQUU7SUFDUCxFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtDQUNULENBQUM7QUFhRixNQUFNLE9BQU8sa0JBQWtCO0lBdUczQixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQW5HdEQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNYSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXhDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUs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QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBpc1N0cmluZyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgVGh5QXZhdGFyU2VydmljZSB9IGZyb20gJy4vYXZhdGFyLnNlcnZpY2UnO1xuXG5jb25zdCBzaXplQXJyYXkgPSBbMTYsIDIyLCAyNCwgMjgsIDMyLCAzNiwgNDQsIDQ4LCA2OCwgMTEwLCAxNjBdO1xuXG5jb25zdCBERUZBVUxUX1NJWkUgPSAzNjtcblxuZXhwb3J0IGNvbnN0IHRoeUF2YXRhclNpemVNYXAgPSB7XG4gICAgeHhzOiAyMixcbiAgICB4czogMjQsXG4gICAgc206IDMyLFxuICAgIG1kOiAzNixcbiAgICBsZzogNDhcbn07XG5cbi8qKiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250ZW50Lmh0bWwjYXR0ci1pbWctbG9hZGluZyAqL1xuZXhwb3J0IHR5cGUgVGh5QXZhdGFyTG9hZGluZyA9ICdlYWdlcicgfCAnbGF6eSc7XG5cbi8qKiBodHRwczovL3dpY2cuZ2l0aHViLmlvL3ByaW9yaXR5LWhpbnRzLyNpZGwtaW5kZXggKi9cbmV4cG9ydCB0eXBlIFRoeUF2YXRhckZldGNoUHJpb3JpdHkgPSAnaGlnaCcgfCAnbG93JyB8ICdhdXRvJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktYXZhdGFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaHlBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIF9zcmM6IHN0cmluZztcbiAgICBfbmFtZTogc3RyaW5nO1xuICAgIF9zaXplOiBudW1iZXI7XG4gICAgX3Nob3dSZW1vdmUgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBhdmF0YXJTcmM6IHN0cmluZztcbiAgICBwdWJsaWMgYXZhdGFyTmFtZT86IHN0cmluZztcbiAgICBwdWJsaWMgYXZhdGFyTmFtZVNhZmVIdG1sPzogU2FmZUh0bWw7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1hdmF0YXInKSBfaXNBdmF0YXIgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHRoeU9uUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIHRoeUVycm9yOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIEBJbnB1dCgpIHRoeVNob3dOYW1lOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U3JjKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0QXZhdGFyU3JjKHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlOYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgLy8gdGhpcy5fbmFtZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9zZXRBdmF0YXJOYW1lKHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlTaXplKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoeUF2YXRhclNpemVNYXBbdmFsdWVdKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRBdmF0YXJTaXplKHRoeUF2YXRhclNpemVNYXBbdmFsdWVdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldEF2YXRhclNpemUoKHZhbHVlIGFzIG51bWJlcikgKiAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNob3dSZW1vdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd1JlbW92ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgdGh5SW1nQ2xhc3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHRoeURpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgdGh5TG9hZGluZz86IFRoeUF2YXRhckxvYWRpbmc7XG5cbiAgICBASW5wdXQoKSB0aHlGZXRjaFByaW9yaXR5PzogVGh5QXZhdGFyRmV0Y2hQcmlvcml0eTtcblxuICAgIHByaXZhdGUgX3NldEF2YXRhclNpemUoc2l6ZTogbnVtYmVyKSB7XG4gICAgICAgIGlmIChzaXplQXJyYXkuaW5kZXhPZihzaXplKSA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLl9zaXplID0gc2l6ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NpemUgPSB0aGlzLmZpbmRDbG9zZXN0U2l6ZShzaXplQXJyYXksIHNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kQ2xvc2VzdFNpemUoc2l6ZXM6IG51bWJlcltdLCB2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGxlZnQgPSAwLFxuICAgICAgICAgICAgcmlnaHQgPSBzaXplcy5sZW5ndGggLSAxLFxuICAgICAgICAgICAgbWlkZGxlOiBudW1iZXIsXG4gICAgICAgICAgICByZXN1bHQ6IG51bWJlcjtcblxuICAgICAgICB3aGlsZSAobGVmdCA8PSByaWdodCkge1xuICAgICAgICAgICAgbWlkZGxlID0gTWF0aC5mbG9vcigobGVmdCArIHJpZ2h0KSAvIDIpO1xuICAgICAgICAgICAgaWYgKHJpZ2h0IC0gbGVmdCA8PSAxKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gc2l6ZXNbcmlnaHRdO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0ID0gc2l6ZXNbbWlkZGxlXTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgPiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWlkZGxlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZWZ0ID0gbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZSAtIHNpemVzW2xlZnRdIDwgc2l6ZXNbcmlnaHRdIC0gdmFsdWUgPyBzaXplc1tsZWZ0XSA6IHNpemVzW3JpZ2h0XTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRBdmF0YXJTcmMoc3JjOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHNyYyAmJiB0aGlzLnRoeUF2YXRhclNlcnZpY2UuaWdub3JlQXZhdGFyU3JjUGF0aHMuaW5kZXhPZihzcmMpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5fc3JjID0gc3JjO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc3JjID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEF2YXRhck5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBuYW1lID0gdGhpcy50aHlBdmF0YXJTZXJ2aWNlLm5hbWVUcmFuc2Zvcm0odmFsdWUpO1xuICAgICAgICBpZiAoaXNTdHJpbmcobmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuYXZhdGFyTmFtZSA9IG5hbWUgYXMgc3RyaW5nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hdmF0YXJOYW1lID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmF2YXRhck5hbWVTYWZlSHRtbCA9IG5hbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0aHlBdmF0YXJTZXJ2aWNlOiBUaHlBdmF0YXJTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5fc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0QXZhdGFyU2l6ZShERUZBVUxUX1NJWkUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKFtgdGh5LWF2YXRhci0ke3RoaXMuX3NpemV9YF0pO1xuICAgIH1cblxuICAgIHJlbW92ZSgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5T25SZW1vdmUuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIGF2YXRhckltZ0Vycm9yKCRldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5fc2V0QXZhdGFyU3JjKG51bGwpO1xuICAgICAgICB0aGlzLnRoeUVycm9yLmVtaXQoJGV2ZW50KTtcbiAgICB9XG59XG4iLCI8aW1nXG4gICpuZ0lmPVwiX3NyYzsgZWxzZSBub1NyY1wiXG4gIFtzcmNdPVwiX3NyYyB8IHRoeUF2YXRhclNyYzogX3NpemVcIlxuICBjbGFzcz1cImF2YXRhci1hdmF0YXJcIlxuICBbbmdDbGFzc109XCJ0aHlJbWdDbGFzc1wiXG4gIGFsdD1cInt7IGF2YXRhck5hbWUgfHwgJycgfX1cIlxuICBbYXR0ci5sb2FkaW5nXT1cInRoeUxvYWRpbmdcIlxuICBbYXR0ci5mZXRjaHByaW9yaXR5XT1cInRoeUZldGNoUHJpb3JpdHlcIlxuICAoZXJyb3IpPVwiYXZhdGFySW1nRXJyb3IoJGV2ZW50KVwiXG4vPlxuXG48bmctdGVtcGxhdGUgI25vU3JjPlxuICA8c3BhbiBjbGFzcz1cImF2YXRhci1kZWZhdWx0XCIgW25nU3R5bGVdPVwiYXZhdGFyTmFtZSB8IGF2YXRhckJnQ29sb3JcIj5cbiAgICA8ZGl2Pnt7IGF2YXRhck5hbWUgfCBhdmF0YXJTaG9ydE5hbWUgfX08L2Rpdj5cbiAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInRoeVNob3dOYW1lXCI+XG4gIDxkaXYgKm5nSWY9XCJhdmF0YXJOYW1lU2FmZUh0bWw7IGVsc2Ugbm9BdmF0YXJOYW1lU2FmZUh0bWxcIiBjbGFzcz1cImF2YXRhci1uYW1lXCIgW2lubmVySHRtbF09XCJhdmF0YXJOYW1lU2FmZUh0bWxcIj48L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNub0F2YXRhck5hbWVTYWZlSHRtbD5cbiAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLW5hbWVcIj57eyBhdmF0YXJOYW1lIH19PC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48YSAqbmdJZj1cIl9zaG93UmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZSgkZXZlbnQpXCIgaHJlZj1cImphdmFzY3JpcHQ6O1wiIGNsYXNzPVwicmVtb3ZlLWxpbmsgYXZhdGFyLXJlbW92ZVwiPlxuICA8dGh5LWljb24gY2xhc3M9XCJyZW1vdmUtbGluay1pY29uXCIgdGh5SWNvbk5hbWU9XCJjbG9zZS1jaXJjbGUtYm9sZC1maWxsXCI+PC90aHktaWNvbj5cbjwvYT5cbjxkaXYgKm5nSWY9XCJ0aHlEaXNhYmxlZFwiIGNsYXNzPVwidGh5LWF2YXRhci1kaXNhYmxlZFwiPlxuICA8dGh5LWljb24gY2xhc3M9XCJ0aHktYXZhdGFyLWRpc2FibGVkLWljb25cIiB0aHlJY29uTmFtZT1cImJhblwiPjwvdGh5LWljb24+XG48L2Rpdj5cbiJdfQ==
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQUVwRCxNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLEdBQUcsRUFBRSxFQUFFO0lBQ1AsRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7Q0FDVCxDQUFDO0FBUUY7O0dBRUc7QUFNSCxNQUFNLE9BQU8sa0JBQWtCO0lBaUszQixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTdKdEQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNYSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWxEOzs7V0FH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a0I7bUdBQWxCLGtCQUFrQixpZUNoQy9CLGdtQ0E4QkE7MkZERWEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLFlBQVksbUJBRUwsdUJBQXVCLENBQUMsTUFBTTt1R0FZZCxTQUFTO3NCQUF6QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFNckIsV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxTQUFTO3NCQUFsQixNQUFNO2dCQUtHLFFBQVE7c0JBQWpCLE1BQU07Z0JBTUUsV0FBVztzQkFBbkIsS0FBSztnQkFPRixNQUFNO3NCQURULEtBQUs7Z0JBU0YsT0FBTztzQkFEVixLQUFLO2dCQVlGLE9BQU87c0JBRFYsS0FBSztnQkFlRixhQUFhO3NCQURoQixLQUFLO2dCQVVGLFlBQVk7c0JBRGYsS0FBSztnQkFRRyxXQUFXO3NCQUFuQixLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5pbXBvcnQgeyBUaHlBdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi9hdmF0YXIuc2VydmljZSc7XG5cbmNvbnN0IHNpemVBcnJheSA9IFsxNiwgMjIsIDI0LCAyOCwgMzIsIDM2LCA0NCwgNDgsIDY4LCAxMTAsIDE2MF07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NJWkUgPSAzNjtcblxuZXhwb3J0IGNvbnN0IHRoeUF2YXRhclNpemVNYXAgPSB7XG4gICAgeHhzOiAyMixcbiAgICB4czogMjQsXG4gICAgc206IDMyLFxuICAgIG1kOiAzNixcbiAgICBsZzogNDhcbn07XG5cbi8qKiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250ZW50Lmh0bWwjYXR0ci1pbWctbG9hZGluZyAqL1xuZXhwb3J0IHR5cGUgVGh5QXZhdGFyTG9hZGluZyA9ICdlYWdlcicgfCAnbGF6eSc7XG5cbi8qKiBodHRwczovL3dpY2cuZ2l0aHViLmlvL3ByaW9yaXR5LWhpbnRzLyNpZGwtaW5kZXggKi9cbmV4cG9ydCB0eXBlIFRoeUF2YXRhckZldGNoUHJpb3JpdHkgPSAnaGlnaCcgfCAnbG93JyB8ICdhdXRvJztcblxuLyoqXG4gKiDlpLTlg4/nu4Tku7ZcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktYXZhdGFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaHlBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIF9zcmM6IHN0cmluZztcbiAgICBfbmFtZTogc3RyaW5nO1xuICAgIF9zaXplOiBudW1iZXI7XG4gICAgX3Nob3dSZW1vdmUgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBhdmF0YXJTcmM6IHN0cmluZztcbiAgICBwdWJsaWMgYXZhdGFyTmFtZT86IHN0cmluZztcbiAgICBwdWJsaWMgYXZhdGFyTmFtZVNhZmVIdG1sPzogU2FmZUh0bWw7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1hdmF0YXInKSBfaXNBdmF0YXIgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogKiDlt7Llup/lvIPvvIzor7fkvb/nlKggdGh5UmVtb3ZlXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25SZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiAg56e76Zmk5oyJ6ZKu55qE5LqL5Lu2LCDlvZMgdGh5UmVtb3ZhYmxlIOS4uiB0cnVlIOaXtui1t+S9nOeUqFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlSZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiAg5aS05YOPIGltZyDliqDovb0gZXJyb3Ig5pe26Kem5Y+RXG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeUVycm9yOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWxleekuuS6uuWRmOWQjeensFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U2hvd05hbWU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDlpLTlg4/ot6/lvoTlnLDlnYAsIOm7mOiupOS4uuWFqOi3r+W+hO+8jOWmguaenOS4jeaYr+WFqOi3r+W+hO+8jOWPr+S7pemAmui/h+iHquWumuS5ieacjeWKoSBUaHlBdmF0YXJTZXJ2aWNl77yM6YeN5YaZIHNyY1RyYW5zZm9ybSDmlrnms5Xlrp7njrDovazmjaJcbiAgICAgKlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNyYyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NldEF2YXRhclNyYyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Lq65ZGY5ZCN56ew77yI5Y+v6K6+572u6Ieq5a6a5LmJ5ZCN56ew77yM6ZyA6YCa6L+H6Ieq5a6a5LmJ5pyN5YqhIFRoeUF2YXRhclNlcnZpY2XvvIzph43lhpkgbmFtZVRyYW5zZm9ybSDmlrnms5Xljrvlrp7njrDovazmjaLvvIlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlOYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgLy8gdGhpcy5fbmFtZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9zZXRBdmF0YXJOYW1lKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlpLTlg4/lpKflsI9cbiAgICAgKiBAdHlwZSAxNiB8IDIyIHwgMjQgfCAyOCB8IDMyIHwgMzYgfCA0NCB8IDQ4IHwgNjggfCAxMTAgfCAxNjAgfCB4eHMoMjJweCkgfCB4cygyNHB4KSB8IHNtKDMycHgpIHwgbWQoMzZweCkgfCBsZyg0OHB4KVxuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZSh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aHlBdmF0YXJTaXplTWFwW3ZhbHVlXSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0QXZhdGFyU2l6ZSh0aHlBdmF0YXJTaXplTWFwW3ZhbHVlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRBdmF0YXJTaXplKCh2YWx1ZSBhcyBudW1iZXIpICogMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKggdGh5UmVtb3ZhYmxlXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNob3dSZW1vdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd1JlbW92ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5bGV56S656e76Zmk5oyJ6ZKuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlSZW1vdmFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd1JlbW92ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Zu+54mH6Ieq5a6a5LmJ57G7XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5SW1nQ2xhc3M6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOemgeeUqFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDlm77niYfliqDovb3nrZbnlaVcbiAgICAgKiBAdHlwZSBlYWdlcijnq4vljbPliqDovb0pIHwgbGF6eSjlu7bov5/liqDovb0pXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TG9hZGluZz86IFRoeUF2YXRhckxvYWRpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlm77niYfliqDovb3kvJjlhYjnuqdcbiAgICAgKiBAdHlwZSBhdXRvKOm7mOiupCkgfCBoaWdoKOmrmCkgfCBsb3co5L2OKVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUZldGNoUHJpb3JpdHk/OiBUaHlBdmF0YXJGZXRjaFByaW9yaXR5O1xuXG4gICAgcHJpdmF0ZSBfc2V0QXZhdGFyU2l6ZShzaXplOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHNpemVBcnJheS5pbmRleE9mKHNpemUpID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpemUgPSBzaXplO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2l6ZSA9IHRoaXMuZmluZENsb3Nlc3RTaXplKHNpemVBcnJheSwgc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3MoW2B0aHktYXZhdGFyLSR7dGhpcy5fc2l6ZX1gXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kQ2xvc2VzdFNpemUoc2l6ZXM6IG51bWJlcltdLCB2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGxlZnQgPSAwLFxuICAgICAgICAgICAgcmlnaHQgPSBzaXplcy5sZW5ndGggLSAxLFxuICAgICAgICAgICAgbWlkZGxlOiBudW1iZXIsXG4gICAgICAgICAgICByZXN1bHQ6IG51bWJlcjtcblxuICAgICAgICB3aGlsZSAobGVmdCA8PSByaWdodCkge1xuICAgICAgICAgICAgbWlkZGxlID0gTWF0aC5mbG9vcigobGVmdCArIHJpZ2h0KSAvIDIpO1xuICAgICAgICAgICAgaWYgKHJpZ2h0IC0gbGVmdCA8PSAxKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gc2l6ZXNbcmlnaHRdO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0ID0gc2l6ZXNbbWlkZGxlXTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgPiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWlkZGxlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZWZ0ID0gbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZSAtIHNpemVzW2xlZnRdIDwgc2l6ZXNbcmlnaHRdIC0gdmFsdWUgPyBzaXplc1tsZWZ0XSA6IHNpemVzW3JpZ2h0XTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRBdmF0YXJTcmMoc3JjOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHNyYyAmJiB0aGlzLnRoeUF2YXRhclNlcnZpY2UuaWdub3JlQXZhdGFyU3JjUGF0aHMuaW5kZXhPZihzcmMpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5fc3JjID0gc3JjO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc3JjID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEF2YXRhck5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBuYW1lID0gdGhpcy50aHlBdmF0YXJTZXJ2aWNlLm5hbWVUcmFuc2Zvcm0odmFsdWUpO1xuICAgICAgICBpZiAoaXNTdHJpbmcobmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuYXZhdGFyTmFtZSA9IG5hbWUgYXMgc3RyaW5nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hdmF0YXJOYW1lID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmF2YXRhck5hbWVTYWZlSHRtbCA9IG5hbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0aHlBdmF0YXJTZXJ2aWNlOiBUaHlBdmF0YXJTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5fc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0QXZhdGFyU2l6ZShERUZBVUxUX1NJWkUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKFtgdGh5LWF2YXRhci0ke3RoaXMuX3NpemV9YF0pO1xuICAgIH1cblxuICAgIHJlbW92ZSgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5T25SZW1vdmUuZW1pdCgkZXZlbnQpO1xuICAgICAgICB0aGlzLnRoeVJlbW92ZS5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgYXZhdGFySW1nRXJyb3IoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLl9zZXRBdmF0YXJTcmMobnVsbCk7XG4gICAgICAgIHRoaXMudGh5RXJyb3IuZW1pdCgkZXZlbnQpO1xuICAgIH1cbn1cbiIsIjxpbWdcbiAgKm5nSWY9XCJfc3JjOyBlbHNlIG5vU3JjXCJcbiAgW3NyY109XCJfc3JjIHwgdGh5QXZhdGFyU3JjOiBfc2l6ZVwiXG4gIGNsYXNzPVwiYXZhdGFyLWF2YXRhclwiXG4gIFtuZ0NsYXNzXT1cInRoeUltZ0NsYXNzXCJcbiAgYWx0PVwie3sgYXZhdGFyTmFtZSB8fCAnJyB9fVwiXG4gIFthdHRyLmxvYWRpbmddPVwidGh5TG9hZGluZ1wiXG4gIFthdHRyLmZldGNocHJpb3JpdHldPVwidGh5RmV0Y2hQcmlvcml0eVwiXG4gIChlcnJvcik9XCJhdmF0YXJJbWdFcnJvcigkZXZlbnQpXCJcbi8+XG5cbjxuZy10ZW1wbGF0ZSAjbm9TcmM+XG4gIDxzcGFuIGNsYXNzPVwiYXZhdGFyLWRlZmF1bHRcIiBbbmdTdHlsZV09XCJhdmF0YXJOYW1lIHwgYXZhdGFyQmdDb2xvclwiPlxuICAgIDxkaXY+e3sgYXZhdGFyTmFtZSB8IGF2YXRhclNob3J0TmFtZSB9fTwvZGl2PlxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgW25nSWZdPVwidGh5U2hvd05hbWVcIj5cbiAgPGRpdiAqbmdJZj1cImF2YXRhck5hbWVTYWZlSHRtbDsgZWxzZSBub0F2YXRhck5hbWVTYWZlSHRtbFwiIGNsYXNzPVwiYXZhdGFyLW5hbWVcIiBbaW5uZXJIdG1sXT1cImF2YXRhck5hbWVTYWZlSHRtbFwiPjwvZGl2PlxuICA8bmctdGVtcGxhdGUgI25vQXZhdGFyTmFtZVNhZmVIdG1sPlxuICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItbmFtZVwiPnt7IGF2YXRhck5hbWUgfX08L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxhICpuZ0lmPVwiX3Nob3dSZW1vdmVcIiAoY2xpY2spPVwicmVtb3ZlKCRldmVudClcIiBocmVmPVwiamF2YXNjcmlwdDo7XCIgY2xhc3M9XCJyZW1vdmUtbGluayBhdmF0YXItcmVtb3ZlXCI+XG4gIDx0aHktaWNvbiBjbGFzcz1cInJlbW92ZS1saW5rLWljb25cIiB0aHlJY29uTmFtZT1cImNsb3NlLWNpcmNsZS1ib2xkLWZpbGxcIj48L3RoeS1pY29uPlxuPC9hPlxuPGRpdiAqbmdJZj1cInRoeURpc2FibGVkXCIgY2xhc3M9XCJ0aHktYXZhdGFyLWRpc2FibGVkXCI+XG4gIDx0aHktaWNvbiBjbGFzcz1cInRoeS1hdmF0YXItZGlzYWJsZWQtaWNvblwiIHRoeUljb25OYW1lPVwiYmFuXCI+PC90aHktaWNvbj5cbjwvZGl2PlxuIl19
|
|
@@ -4,12 +4,13 @@ import { ThyAvatarComponent } from './avatar.component';
|
|
|
4
4
|
import { AvatarPipes } from './avatar.pipe';
|
|
5
5
|
import { ThyAvatarService, ThyDefaultAvatarService } from './avatar.service';
|
|
6
6
|
import { ThyIconModule } from 'ngx-tethys/icon';
|
|
7
|
+
import { ThyAvatarListComponent } from './avatar-list/avatar-list.component';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "./avatar.pipe";
|
|
9
10
|
export class ThyAvatarModule {
|
|
10
11
|
}
|
|
11
12
|
ThyAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
-
ThyAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ThyAvatarModule, declarations: [ThyAvatarComponent, i1.AvatarShortNamePipe, i1.AvatarBgColorPipe, i1.AvatarSrcPipe], imports: [CommonModule, ThyIconModule], exports: [ThyAvatarComponent, i1.AvatarShortNamePipe, i1.AvatarBgColorPipe, i1.AvatarSrcPipe] });
|
|
13
|
+
ThyAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ThyAvatarModule, declarations: [ThyAvatarComponent, ThyAvatarListComponent, i1.AvatarShortNamePipe, i1.AvatarBgColorPipe, i1.AvatarSrcPipe], imports: [CommonModule, ThyIconModule], exports: [ThyAvatarComponent, ThyAvatarListComponent, i1.AvatarShortNamePipe, i1.AvatarBgColorPipe, i1.AvatarSrcPipe] });
|
|
13
14
|
ThyAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyAvatarModule, providers: [
|
|
14
15
|
{
|
|
15
16
|
provide: ThyAvatarService,
|
|
@@ -19,7 +20,7 @@ ThyAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
|
|
|
19
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyAvatarModule, decorators: [{
|
|
20
21
|
type: NgModule,
|
|
21
22
|
args: [{
|
|
22
|
-
declarations: [ThyAvatarComponent, AvatarPipes],
|
|
23
|
+
declarations: [ThyAvatarComponent, ThyAvatarListComponent, AvatarPipes],
|
|
23
24
|
imports: [CommonModule, ThyIconModule],
|
|
24
25
|
providers: [
|
|
25
26
|
{
|
|
@@ -27,7 +28,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
27
28
|
useClass: ThyDefaultAvatarService
|
|
28
29
|
}
|
|
29
30
|
],
|
|
30
|
-
exports: [ThyAvatarComponent, AvatarPipes]
|
|
31
|
+
exports: [ThyAvatarComponent, ThyAvatarListComponent, AvatarPipes]
|
|
31
32
|
}]
|
|
32
33
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdmF0YXIvYXZhdGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBYTdFLE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBVlQsa0JBQWtCLEVBQUUsc0JBQXNCLDZFQUMvQyxZQUFZLEVBQUUsYUFBYSxhQU8zQixrQkFBa0IsRUFBRSxzQkFBc0I7NkdBRTNDLGVBQWUsYUFSYjtRQUNQO1lBQ0ksT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUUsdUJBQXVCO1NBQ3BDO0tBQ0osWUFOUyxZQUFZLEVBQUUsYUFBYTsyRkFTNUIsZUFBZTtrQkFYM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUM7b0JBQ3ZFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7b0JBQ3RDLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsZ0JBQWdCOzRCQUN6QixRQUFRLEVBQUUsdUJBQXVCO3lCQUNwQztxQkFDSjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUM7aUJBQ3JFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXZhdGFyUGlwZXMgfSBmcm9tICcuL2F2YXRhci5waXBlJztcbmltcG9ydCB7IFRoeUF2YXRhclNlcnZpY2UsIFRoeURlZmF1bHRBdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi9hdmF0YXIuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlJY29uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeUF2YXRhckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2F2YXRhci1saXN0L2F2YXRhci1saXN0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbVGh5QXZhdGFyQ29tcG9uZW50LCBUaHlBdmF0YXJMaXN0Q29tcG9uZW50LCBBdmF0YXJQaXBlc10sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGh5SWNvbk1vZHVsZV0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRoeUF2YXRhclNlcnZpY2UsXG4gICAgICAgICAgICB1c2VDbGFzczogVGh5RGVmYXVsdEF2YXRhclNlcnZpY2VcbiAgICAgICAgfVxuICAgIF0sXG4gICAgZXhwb3J0czogW1RoeUF2YXRhckNvbXBvbmVudCwgVGh5QXZhdGFyTGlzdENvbXBvbmVudCwgQXZhdGFyUGlwZXNdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUF2YXRhck1vZHVsZSB7fVxuIl19
|
package/esm2020/avatar/index.mjs
CHANGED
|
@@ -2,4 +2,5 @@ export * from './avatar.module';
|
|
|
2
2
|
export * from './avatar.service';
|
|
3
3
|
export * from './avatar.pipe';
|
|
4
4
|
export * from './avatar.component';
|
|
5
|
-
|
|
5
|
+
export * from './avatar-list/avatar-list.component';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXZhdGFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F2YXRhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdmF0YXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2F2YXRhci5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2F2YXRhci1saXN0L2F2YXRhci1saXN0LmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -10,7 +10,7 @@ export class ThyCommentComponent {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
ThyCommentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyCommentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
-
ThyCommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyCommentComponent, selector: "thy-comment", inputs: { thyAuthor: "thyAuthor", thyDatetime: "thyDatetime", thyAvatar: "thyAvatar" }, host: { classAttribute: "thy-comment" }, ngImport: i0, template: "<div class=\"thy-comment-inner\">\n <ng-container *ngIf=\"isTemplateRef(this.thyAvatar); else defaultAvatar\">\n <ng-template [ngTemplateOutlet]=\"thyAvatar\"></ng-template>\n </ng-container>\n\n <div class=\"thy-comment-body\">\n <div class=\"thy-comment-body-author\">\n <span class=\"thy-comment-body-author-name\">\n <ng-container *thyStringOrTemplateOutlet=\"thyAuthor\"></ng-container>\n </span>\n <span class=\"thy-comment-body-author-time\">\n <ng-container *thyStringOrTemplateOutlet=\"thyDatetime\"></ng-container>\n </span>\n </div>\n <ng-content select=\"[thyCommentContent]\"></ng-content>\n </div>\n <ng-content select=\"[thyCommentActions]\"></ng-content>\n</div>\n<div class=\"thy-comment-nested\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultAvatar>\n <ng-container *ngIf=\"thyAuthor || thyAvatar\">\n <div class=\"thy-comment-avatar\">\n <thy-avatar [thyName]=\"!isTemplateRef(thyAuthor) && thyAuthor\" thySize=\"28\" [thySrc]=\"thyAvatar || ''\"></thy-avatar>\n </div>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ThyStringOrTemplateOutletDirective, selector: "[thyStringOrTemplateOutlet]", inputs: ["thyStringOrTemplateOutletContext", "thyStringOrTemplateOutlet"], exportAs: ["thyStringOrTemplateOutlet"] }, { kind: "component", type: i3.ThyAvatarComponent, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13
|
+
ThyCommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyCommentComponent, selector: "thy-comment", inputs: { thyAuthor: "thyAuthor", thyDatetime: "thyDatetime", thyAvatar: "thyAvatar" }, host: { classAttribute: "thy-comment" }, ngImport: i0, template: "<div class=\"thy-comment-inner\">\n <ng-container *ngIf=\"isTemplateRef(this.thyAvatar); else defaultAvatar\">\n <ng-template [ngTemplateOutlet]=\"thyAvatar\"></ng-template>\n </ng-container>\n\n <div class=\"thy-comment-body\">\n <div class=\"thy-comment-body-author\">\n <span class=\"thy-comment-body-author-name\">\n <ng-container *thyStringOrTemplateOutlet=\"thyAuthor\"></ng-container>\n </span>\n <span class=\"thy-comment-body-author-time\">\n <ng-container *thyStringOrTemplateOutlet=\"thyDatetime\"></ng-container>\n </span>\n </div>\n <ng-content select=\"[thyCommentContent]\"></ng-content>\n </div>\n <ng-content select=\"[thyCommentActions]\"></ng-content>\n</div>\n<div class=\"thy-comment-nested\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultAvatar>\n <ng-container *ngIf=\"thyAuthor || thyAvatar\">\n <div class=\"thy-comment-avatar\">\n <thy-avatar [thyName]=\"!isTemplateRef(thyAuthor) && thyAuthor\" thySize=\"28\" [thySrc]=\"thyAvatar || ''\"></thy-avatar>\n </div>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ThyStringOrTemplateOutletDirective, selector: "[thyStringOrTemplateOutlet]", inputs: ["thyStringOrTemplateOutletContext", "thyStringOrTemplateOutlet"], exportAs: ["thyStringOrTemplateOutlet"] }, { kind: "component", type: i3.ThyAvatarComponent, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyCommentComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
16
|
args: [{ selector: 'thy-comment', host: {
|
|
@@ -8,7 +8,7 @@ export class ThyListItemMetaComponent {
|
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
ThyListItemMetaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyListItemMetaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
-
ThyListItemMetaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyListItemMetaComponent, selector: "thy-list-item-meta,[thy-list-item-meta]", inputs: { thyAvatar: "thyAvatar", thyTitle: "thyTitle", thyDescription: "thyDescription" }, host: { properties: { "class": "this.className" } }, queries: [{ propertyName: "avatarTemplateRef", first: true, predicate: ["metaAvatar"], descendants: true }, { propertyName: "titleTemplateRef", first: true, predicate: ["metaTitle"], descendants: true }, { propertyName: "descriptionTemplateRef", first: true, predicate: ["metaDescription"], descendants: true }], ngImport: i0, template: "<div class=\"thy-list-item-meta-avatar\">\n <ng-container *ngIf=\"thyAvatar; else avatarTemplateRef\">\n <thy-avatar [thySrc]=\"thyAvatar\"></thy-avatar>\n </ng-container>\n</div>\n<div class=\"thy-list-item-meta-content\">\n <div class=\"thy-list-item-meta-title\">\n <ng-container *ngIf=\"thyTitle; else titleTemplateRef\">{{ thyTitle }}</ng-container>\n </div>\n <div class=\"thy-list-item-meta-description\">\n <ng-container *ngIf=\"thyDescription; else descriptionTemplateRef\">{{ thyDescription }}</ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ThyAvatarComponent, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11
|
+
ThyListItemMetaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyListItemMetaComponent, selector: "thy-list-item-meta,[thy-list-item-meta]", inputs: { thyAvatar: "thyAvatar", thyTitle: "thyTitle", thyDescription: "thyDescription" }, host: { properties: { "class": "this.className" } }, queries: [{ propertyName: "avatarTemplateRef", first: true, predicate: ["metaAvatar"], descendants: true }, { propertyName: "titleTemplateRef", first: true, predicate: ["metaTitle"], descendants: true }, { propertyName: "descriptionTemplateRef", first: true, predicate: ["metaDescription"], descendants: true }], ngImport: i0, template: "<div class=\"thy-list-item-meta-avatar\">\n <ng-container *ngIf=\"thyAvatar; else avatarTemplateRef\">\n <thy-avatar [thySrc]=\"thyAvatar\"></thy-avatar>\n </ng-container>\n</div>\n<div class=\"thy-list-item-meta-content\">\n <div class=\"thy-list-item-meta-title\">\n <ng-container *ngIf=\"thyTitle; else titleTemplateRef\">{{ thyTitle }}</ng-container>\n </div>\n <div class=\"thy-list-item-meta-description\">\n <ng-container *ngIf=\"thyDescription; else descriptionTemplateRef\">{{ thyDescription }}</ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ThyAvatarComponent, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyListItemMetaComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{ selector: 'thy-list-item-meta,[thy-list-item-meta]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"thy-list-item-meta-avatar\">\n <ng-container *ngIf=\"thyAvatar; else avatarTemplateRef\">\n <thy-avatar [thySrc]=\"thyAvatar\"></thy-avatar>\n </ng-container>\n</div>\n<div class=\"thy-list-item-meta-content\">\n <div class=\"thy-list-item-meta-title\">\n <ng-container *ngIf=\"thyTitle; else titleTemplateRef\">{{ thyTitle }}</ng-container>\n </div>\n <div class=\"thy-list-item-meta-description\">\n <ng-container *ngIf=\"thyDescription; else descriptionTemplateRef\">{{ thyDescription }}</ng-container>\n </div>\n</div>\n" }]
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
|
|
2
2
|
import { ThyTranslate } from 'ngx-tethys/core';
|
|
3
3
|
import { ThyPopover } from '../popover.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "ngx-tethys/core";
|
|
6
6
|
import * as i2 from "../popover.service";
|
|
7
|
-
import * as i3 from "
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "ngx-tethys/icon";
|
|
8
9
|
/**
|
|
9
10
|
* 悬浮层头部组件
|
|
10
11
|
* @name thy-popover-header
|
|
@@ -32,17 +33,20 @@ export class ThyPopoverHeaderComponent {
|
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
ThyPopoverHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyPopoverHeaderComponent, deps: [{ token: i1.ThyTranslate }, { token: i2.ThyPopover }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
ThyPopoverHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyPopoverHeaderComponent, selector: "thy-popover-header", inputs: { thyTitle: "thyTitle", thyTitleTranslationKey: "thyTitleTranslationKey" }, outputs: { thyClosed: "thyClosed" }, host: { classAttribute: "thy-popover-header" }, exportAs: ["thyPopoverHeader"], ngImport: i0, template: "<h5 class=\"thy-popover-title\">{{ thyTitle }}</h5>\n<button type=\"button\" class=\"close\" (click)=\"close($event)\">\n
|
|
36
|
+
ThyPopoverHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyPopoverHeaderComponent, selector: "thy-popover-header", inputs: { thyTitle: "thyTitle", thyTitleTranslationKey: "thyTitleTranslationKey" }, outputs: { thyClosed: "thyClosed" }, host: { classAttribute: "thy-popover-header" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["popoverHeader"], descendants: true }], exportAs: ["thyPopoverHeader"], ngImport: i0, template: "<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h5 class=\"thy-popover-title\">{{ thyTitle }}</h5>\n <button type=\"button\" class=\"close\" (click)=\"close($event)\">\n <thy-icon thyIconName=\"close-bold\"></thy-icon>\n </button>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
36
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyPopoverHeaderComponent, decorators: [{
|
|
37
38
|
type: Component,
|
|
38
39
|
args: [{ selector: 'thy-popover-header', exportAs: 'thyPopoverHeader', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
39
40
|
class: 'thy-popover-header'
|
|
40
|
-
}, template: "<h5 class=\"thy-popover-title\">{{ thyTitle }}</h5>\n<button type=\"button\" class=\"close\" (click)=\"close($event)\">\n
|
|
41
|
+
}, template: "<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h5 class=\"thy-popover-title\">{{ thyTitle }}</h5>\n <button type=\"button\" class=\"close\" (click)=\"close($event)\">\n <thy-icon thyIconName=\"close-bold\"></thy-icon>\n </button>\n</ng-template>\n" }]
|
|
41
42
|
}], ctorParameters: function () { return [{ type: i1.ThyTranslate }, { type: i2.ThyPopover }]; }, propDecorators: { thyTitle: [{
|
|
42
43
|
type: Input
|
|
43
44
|
}], thyTitleTranslationKey: [{
|
|
44
45
|
type: Input
|
|
46
|
+
}], headerTemplate: [{
|
|
47
|
+
type: ContentChild,
|
|
48
|
+
args: ['popoverHeader']
|
|
45
49
|
}], thyClosed: [{
|
|
46
50
|
type: Output
|
|
47
51
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvaGVhZGVyL3BvcG92ZXItaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9wb3BvdmVyL2hlYWRlci9wb3BvdmVyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBRWhEOzs7R0FHRztBQVVILE1BQU0sT0FBTyx5QkFBeUI7SUF3QmxDLFlBQW9CLFNBQXVCLEVBQVUsVUFBc0I7UUFBdkQsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFMM0U7O1dBRUc7UUFDTyxjQUFTLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7SUFFUyxDQUFDO0lBbEIvRSxJQUNJLHNCQUFzQixDQUFDLEdBQVc7UUFDbEMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0M7SUFDTCxDQUFDO0lBZUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsS0FBWTtRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7c0hBaENRLHlCQUF5QjswR0FBekIseUJBQXlCLGdYQ2pCdEMsNlhBU0E7MkZEUWEseUJBQXlCO2tCQVRyQyxTQUFTOytCQUNJLG9CQUFvQixZQUVwQixrQkFBa0IsbUJBQ1gsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsb0JBQW9CO3FCQUM5Qjs0SEFNUSxRQUFRO3NCQUFoQixLQUFLO2dCQUdGLHNCQUFzQjtzQkFEekIsS0FBSztnQkFXQyxjQUFjO3NCQURwQixZQUFZO3VCQUFDLGVBQWU7Z0JBTW5CLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVRyYW5zbGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnLi4vcG9wb3Zlci5zZXJ2aWNlJztcblxuLyoqXG4gKiDmgqzmta7lsYLlpLTpg6jnu4Tku7ZcbiAqIEBuYW1lIHRoeS1wb3BvdmVyLWhlYWRlclxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1wb3BvdmVyLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBleHBvcnRBczogJ3RoeVBvcG92ZXJIZWFkZXInLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktcG9wb3Zlci1oZWFkZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaHlQb3BvdmVySGVhZGVyQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDlpLTpg6jmoIfpophcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUaXRsZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGl0bGVUcmFuc2xhdGlvbktleShrZXk6IHN0cmluZykge1xuICAgICAgICBpZiAoa2V5ICYmICF0aGlzLnRoeVRpdGxlKSB7XG4gICAgICAgICAgICB0aGlzLnRoeVRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChrZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5aS06YOo5qih54mIXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncG9wb3ZlckhlYWRlcicpXG4gICAgcHVibGljIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeUNsb3NlZDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVGh5VHJhbnNsYXRlLCBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIpIHt9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBjbG9zZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy50aHlDbG9zZWQuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMudGh5UG9wb3Zlci5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0SGVhZGVyXCI+XG4gIDx0ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiPjwvdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlcj5cbiAgPGg1IGNsYXNzPVwidGh5LXBvcG92ZXItdGl0bGVcIj57eyB0aHlUaXRsZSB9fTwvaDU+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoJGV2ZW50KVwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNsb3NlLWJvbGRcIj48L3RoeS1pY29uPlxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
package/esm2020/version.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Version } from '@angular/core';
|
|
2
|
-
export const VERSION = new Version('14.2.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const VERSION = new Version('14.2.22');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxNC4yLjIyJyk7XG4iXX0=
|