@fundamental-ngx/core 0.33.4-rc.6 → 0.33.4
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/README.md +1 -3
- package/action-bar/package.json +3 -3
- package/action-sheet/package.json +3 -3
- package/alert/package.json +3 -3
- package/avatar/avatar.component.d.ts +2 -0
- package/avatar/esm2020/avatar.component.mjs +8 -5
- package/avatar/fesm2015/fundamental-ngx-core-avatar.mjs +7 -4
- package/avatar/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/avatar/fesm2020/fundamental-ngx-core-avatar.mjs +7 -4
- package/avatar/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/avatar/package.json +3 -3
- package/avatar-group/package.json +3 -3
- package/bar/package.json +3 -3
- package/breadcrumb/package.json +3 -3
- package/busy-indicator/package.json +3 -3
- package/button/package.json +3 -3
- package/calendar/package.json +3 -3
- package/card/package.json +3 -3
- package/carousel/package.json +3 -3
- package/checkbox/checkbox/checkbox.component.d.ts +30 -35
- package/checkbox/esm2020/checkbox/checkbox.component.mjs +61 -80
- package/checkbox/fesm2015/fundamental-ngx-core-checkbox.mjs +59 -77
- package/checkbox/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/checkbox/fesm2020/fundamental-ngx-core-checkbox.mjs +59 -77
- package/checkbox/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/checkbox/package.json +3 -3
- package/combobox/package.json +3 -3
- package/date-picker/package.json +3 -3
- package/datetime/package.json +3 -3
- package/datetime-picker/package.json +3 -3
- package/dialog/package.json +3 -3
- package/dynamic-page/package.json +3 -3
- package/dynamic-side-content/package.json +3 -3
- package/esm2020/avatar/avatar.component.mjs +8 -5
- package/esm2020/checkbox/checkbox/checkbox.component.mjs +61 -80
- package/esm2020/input-group/input-group.component.mjs +2 -2
- package/esm2020/list/list-item/list-item.component.mjs +6 -2
- package/esm2020/multi-input/multi-input.component.mjs +38 -11
- package/esm2020/utils/helpers/range-selector.mjs +113 -0
- package/esm2020/utils/public_api.mjs +2 -1
- package/facets/package.json +3 -3
- package/feed-input/package.json +3 -3
- package/feed-list-item/package.json +3 -3
- package/fesm2015/fundamental-ngx-core-avatar.mjs +7 -4
- package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-checkbox.mjs +59 -77
- package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-input-group.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-list.mjs +5 -1
- package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-multi-input.mjs +40 -11
- package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-utils.mjs +114 -1
- package/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-avatar.mjs +7 -4
- package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-checkbox.mjs +59 -77
- package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-input-group.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-list.mjs +5 -1
- package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-multi-input.mjs +38 -11
- package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-utils.mjs +114 -1
- package/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
- package/file-uploader/package.json +3 -3
- package/fixed-card-layout/package.json +3 -3
- package/flexible-column-layout/package.json +3 -3
- package/form/package.json +3 -3
- package/formatted-text/package.json +3 -3
- package/grid-list/package.json +3 -3
- package/icon/package.json +3 -3
- package/illustrated-message/package.json +3 -3
- package/infinite-scroll/package.json +3 -3
- package/info-label/package.json +3 -3
- package/inline-help/package.json +3 -3
- package/input-group/esm2020/input-group.component.mjs +2 -2
- package/input-group/fesm2015/fundamental-ngx-core-input-group.mjs +2 -2
- package/input-group/fesm2020/fundamental-ngx-core-input-group.mjs +2 -2
- package/input-group/package.json +3 -3
- package/layout-grid/package.json +3 -3
- package/layout-panel/package.json +3 -3
- package/link/package.json +3 -3
- package/list/esm2020/list-item/list-item.component.mjs +6 -2
- package/list/fesm2015/fundamental-ngx-core-list.mjs +5 -1
- package/list/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
- package/list/fesm2020/fundamental-ngx-core-list.mjs +5 -1
- package/list/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
- package/list/package.json +3 -3
- package/menu/package.json +3 -3
- package/message-box/package.json +3 -3
- package/message-page/package.json +2 -2
- package/message-strip/package.json +3 -3
- package/message-toast/package.json +3 -3
- package/micro-process-flow/package.json +3 -3
- package/mobile-mode/package.json +3 -3
- package/multi-input/esm2020/multi-input.component.mjs +38 -11
- package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs +40 -11
- package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs +38 -11
- package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/multi-input/multi-input.component.d.ts +8 -1
- package/multi-input/package.json +3 -3
- package/nested-list/package.json +3 -3
- package/notification/package.json +3 -3
- package/object-identifier/package.json +3 -3
- package/object-marker/package.json +3 -3
- package/object-number/package.json +3 -3
- package/object-status/package.json +3 -3
- package/package.json +7 -7
- package/pagination/package.json +3 -3
- package/panel/package.json +3 -3
- package/popover/package.json +3 -3
- package/product-switch/package.json +3 -3
- package/progress-indicator/package.json +1 -1
- package/quick-view/package.json +3 -3
- package/radio/package.json +3 -3
- package/rating-indicator/package.json +3 -3
- package/resizable-card-layout/package.json +3 -3
- package/scroll-spy/package.json +3 -3
- package/scrollbar/package.json +3 -3
- package/segmented-button/package.json +3 -3
- package/select/package.json +3 -3
- package/shared/package.json +3 -3
- package/shellbar/package.json +3 -3
- package/side-navigation/package.json +3 -3
- package/slider/package.json +3 -3
- package/split-button/package.json +3 -3
- package/splitter/package.json +3 -3
- package/status-indicator/package.json +3 -3
- package/step-input/package.json +3 -3
- package/switch/package.json +3 -3
- package/table/package.json +3 -3
- package/tabs/package.json +3 -3
- package/tests/package.json +2 -2
- package/text/package.json +3 -3
- package/tile/package.json +3 -3
- package/time/package.json +3 -3
- package/time-picker/package.json +3 -3
- package/timeline/package.json +3 -3
- package/title/package.json +3 -3
- package/token/package.json +3 -3
- package/toolbar/package.json +3 -3
- package/tree/package.json +3 -3
- package/upload-collection/package.json +3 -3
- package/utils/esm2020/helpers/range-selector.mjs +113 -0
- package/utils/esm2020/public_api.mjs +2 -1
- package/utils/fesm2015/fundamental-ngx-core-utils.mjs +114 -1
- package/utils/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
- package/utils/fesm2020/fundamental-ngx-core-utils.mjs +114 -1
- package/utils/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
- package/utils/helpers/range-selector.d.ts +84 -0
- package/utils/package.json +6 -6
- package/utils/public_api.d.ts +1 -0
- package/vertical-navigation/package.json +3 -3
- package/wizard/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
# @Fundamental-NGX/Core
|
|
2
2
|
|
|
3
3
|
[](//www.npmjs.com/package/@fundamental-ngx/core)
|
|
4
|
-
|
|
5
|
-
[](https://bundlephobia.com/result?p=%40fundamental-ngx%2Fcore)
|
|
6
|
-
[](https://travis-ci.org/SAP/fundamental-ngx)
|
|
4
|
+

|
|
7
5
|
[](https://coveralls.io/github/SAP/fundamental-ngx?branch=main)
|
|
8
6
|
[](https://ui-fundamentals.slack.com)
|
|
9
7
|
[](https://api.reuse.software/info/github.com/SAP/fundamental-ngx)
|
package/action-bar/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/action-bar",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/action-sheet",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
package/alert/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/alert",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
|
@@ -84,6 +84,8 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
|
|
|
84
84
|
elementRef(): ElementRef<any>;
|
|
85
85
|
/** @hidden Get an abbreviate from the label or return null if not fit requirements */
|
|
86
86
|
private _getAbbreviate;
|
|
87
|
+
/** @hidden Get the abbrevation string */
|
|
88
|
+
private _generateAbbreviation;
|
|
87
89
|
/** @hidden */
|
|
88
90
|
private _setImage;
|
|
89
91
|
/** @hidden */
|
|
@@ -140,6 +140,10 @@ export class AvatarComponent {
|
|
|
140
140
|
if (!label || this._image) {
|
|
141
141
|
return null;
|
|
142
142
|
}
|
|
143
|
+
return this._generateAbbreviation(label);
|
|
144
|
+
}
|
|
145
|
+
/** @hidden Get the abbrevation string */
|
|
146
|
+
_generateAbbreviation(label) {
|
|
143
147
|
const maxLettersCount = 3;
|
|
144
148
|
const firstLetters = label.split(' ').map((word) => word.charAt(0));
|
|
145
149
|
const abbreviate = firstLetters.join('');
|
|
@@ -180,10 +184,9 @@ export class AvatarComponent {
|
|
|
180
184
|
for (let i = 0; i < options.length; i++) {
|
|
181
185
|
const option = options[i];
|
|
182
186
|
if (option === ALTER_ICON_OPTIONS.CONTENT) {
|
|
183
|
-
const
|
|
184
|
-
const contentValue = contentEl.innerText.trim()[0];
|
|
187
|
+
const contentValue = this._content.nativeElement.innerText;
|
|
185
188
|
if (contentValue && contentValue !== '') {
|
|
186
|
-
this.abbreviate =
|
|
189
|
+
this.abbreviate = this._generateAbbreviation(contentValue);
|
|
187
190
|
break;
|
|
188
191
|
}
|
|
189
192
|
continue;
|
|
@@ -191,7 +194,7 @@ export class AvatarComponent {
|
|
|
191
194
|
if (option === ALTER_ICON_OPTIONS.ALT) {
|
|
192
195
|
const altValue = this.elementRef().nativeElement.getAttribute('alt');
|
|
193
196
|
if (altValue && altValue !== '') {
|
|
194
|
-
this.abbreviate =
|
|
197
|
+
this.abbreviate = this._generateAbbreviation(altValue);
|
|
195
198
|
break;
|
|
196
199
|
}
|
|
197
200
|
continue;
|
|
@@ -302,4 +305,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
302
305
|
* function is responsible for order which css classes are applied
|
|
303
306
|
*/
|
|
304
307
|
buildComponentCssClass: [] } });
|
|
305
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDBCQUEwQixFQUcxQixhQUFhLEVBQ2Isb0JBQW9CLEVBRXZCLE1BQU0sNkJBQTZCLENBQUM7OztBQUVyQyxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFdkIsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixPQUFPLEVBQUUsU0FBUztJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxjQUFjO0NBQy9CLENBQUM7QUFXRixNQUFNLE9BQU8sZUFBZTtJQXdJeEIsY0FBYztJQUNkLFlBQW9CLFdBQXVCLEVBQVUsSUFBdUI7UUFBeEQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXBJNUUsd0JBQXdCO1FBR3hCLE9BQUUsR0FBRyxhQUFhLGNBQWMsRUFBRSxFQUFFLENBQUM7UUFFckMsNkJBQTZCO1FBRzdCLGNBQVMsR0FBVyxJQUFJLENBQUM7UUFFekIscURBQXFEO1FBR3JELG1CQUFjLEdBQVcsSUFBSSxDQUFDO1FBUzlCLDZFQUE2RTtRQUNwRSxTQUFJLEdBQVMsR0FBRyxDQUFDO1FBRTFCLHNCQUFzQjtRQUNiLFVBQUssR0FBVyxJQUFJLENBQUM7UUFFOUIsb0NBQW9DO1FBQzNC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LElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07aUlBSy9DLEtBQUs7c0JBREosS0FBSztnQkFNTixFQUFFO3NCQUZELEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsU0FBUztnQkFNdEIsU0FBUztzQkFGUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFNOUIsY0FBYztzQkFGYixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFLL0IsS0FBSztzQkFEUixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQVFGLGVBQWU7c0JBRGxCLEtBQUs7Z0JBT0YsS0FBSztzQkFEUixLQUFLO2dCQVNGLFNBQVM7c0JBRFosS0FBSztnQkFTRixXQUFXO3NCQURkLEtBQUs7Z0JBVUYsT0FBTztzQkFEVixXQUFXO3VCQUFDLHdCQUF3QjtnQkFPakMsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLFdBQVc7Z0JBT3BCLE9BQU87c0JBRFYsU0FBUzt1QkFBQyxTQUFTOztRQTBDcEI7OztXQUdHO1FBQ0gsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQU5ZX0xBTkdVQUdFX0xFVFRFUlNfUkVHRVgsXG4gICAgQ29sb3JBY2NlbnQsXG4gICAgU2l6ZSxcbiAgICBhcHBseUNzc0NsYXNzLFxuICAgIGdldFJhbmRvbUNvbG9yQWNjZW50LFxuICAgIENzc0NsYXNzQnVpbGRlclxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuXG5sZXQgYXZhdGFyVW5pcXVlSWQgPSAwO1xuXG5jb25zdCBBTFRFUl9JQ09OX09QVElPTlMgPSB7XG4gICAgQ09OVEVOVDogJ2NvbnRlbnQnLFxuICAgIEFMVDogJ2FsdCcsXG4gICAgQkFDS1VQOiAnYmFja3VwJyxcbiAgICBERUZBVUxUX0lDT046ICdkZWZhdWx0LWljb24nXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBUT0RPIHRvIGJlIGRpc2N1c3NlZFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdmZC1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIENzc0NsYXNzQnVpbGRlciB7XG4gICAgLyoqIFVzZXIncyBjdXN0b20gY2xhc3NlcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xhc3M6IHN0cmluZztcblxuICAgIC8qKiBJZCBvZiB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBpZCA9IGBmZC1hdmF0YXItJHthdmF0YXJVbmlxdWVJZCsrfWA7XG5cbiAgICAvKiogQXJpYS1sYWJlbCBmb3IgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICAgIGFyaWFMYWJlbDogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBBcmlhLUxhYmVsbGVkYnkgZm9yIGVsZW1lbnQgZGVzY3JpYmluZyBBdmF0YXIuICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbGxlZGJ5JylcbiAgICBhcmlhTGFiZWxsZWRieTogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBMb2NhbGl6ZWQgdGV4dCBmb3IgbGFiZWwgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBsYWJlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuYXJpYUxhYmVsID0gdmFsdWUgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5hYmJyZXZpYXRlID0gdGhpcy5fZ2V0QWJicmV2aWF0ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBzaXplIG9mIHRoZSBBdmF0YXIuIE9wdGlvbnMgaW5jbHVkZTogKnhzKiwgKnMqLCAqbSosICpsKiBhbmQgKnhsKi4gKi9cbiAgICBASW5wdXQoKSBzaXplOiBTaXplID0gJ2wnO1xuXG4gICAgLyoqIFRoZSBnbHlwaCBuYW1lLiAqL1xuICAgIEBJbnB1dCgpIGdseXBoOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIFRoZSBnbHlwaCBuYW1lIGZvciB6b29tIGljb24uICovXG4gICAgQElucHV0KCkgem9vbUdseXBoOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIGFwcGx5IGEgY2lyY2xlIHN0eWxlIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgY2lyY2xlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdG8gYXBwbHkgYSB0cmFuc3BhcmVudCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHRyYW5zcGFyZW50ID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdG8gYXBwbHkgYmFja2dyb3VuZCBzaXplIGNvbnRhaW4gc3R5bGUgdG8gdGhlIEF2YXRhciAqL1xuICAgIEBJbnB1dCgpIGNvbnRhaW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBhcHBseSBhIHBsYWNlaG9sZGVyIGJhY2tncm91bmQgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlciA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIGFwcGx5IGEgdGlsZSBiYWNrZ3JvdW5kIHN0eWxlIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgdGlsZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIGFwcGx5IGEgYm9yZGVyIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgYm9yZGVyID0gZmFsc2U7XG5cbiAgICAvKiogQSBudW1iZXIgZnJvbSAxIHRvIDEwIHJlcHJlc2VudGluZyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGNvbG9yQWNjZW50OiBDb2xvckFjY2VudCA9IG51bGw7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdG8gYXBwbHkgcmFuZG9tIGJhY2tncm91bmQgY29sb3IgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSByYW5kb20gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogRGVwcmVjYXRlZCBhY2NvcmRpbmcgdG8gUmVuYW1lIGBiYWNrZ3JvdW5kSW1hZ2VgIHRvIGBpbWFnZWBcbiAgICAgKiAqL1xuICAgIC8qKiBCYWNrZ3JvdW5kIGltYWdlIHVybC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYWNrZ3JvdW5kSW1hZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXRJbWFnZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEJhY2tncm91bmQgaW1hZ2UgcmVzb3VyY2U6IHVybCBvciBiYXNlNjQuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaW1hZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXRJbWFnZSh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBpbWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faW1hZ2U7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgYWx0ZXJJY29uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYWx0ZXJJY29uID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBhbHRlckljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FsdGVySWNvbjtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYWNrdXBJbWFnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2JhY2t1cEltYWdlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBiYWNrdXBJbWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmFja3VwSW1hZ2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJhY2tncm91bmQtaW1hZ2UnKVxuICAgIGdldCBiZ0ltYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9iZ0ltYWdlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIGdldCByb2xlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnpvb21HbHlwaCA/ICdidXR0b24nIDogJ2ltZyc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdjb250ZW50JylcbiAgICBzZXQgY29udGVudCh2YWx1ZTogRWxlbWVudFJlZikge1xuICAgICAgICB0aGlzLl9jb250ZW50ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhYmJyZXZpYXRlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbWFnZTogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWx0ZXJJY29uOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jb250ZW50OiBFbGVtZW50UmVmID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYmFja3VwSW1hZ2U6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JnSW1hZ2U6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogSWYgYSBkZWZhdWx0IHBsYWNlaG9sZGVyIHNob3VsZCBiZSBkaXNwbGF5ZWQgKi9cbiAgICBnZXQgc2hvd0RlZmF1bHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5hYmJyZXZpYXRlICYmICF0aGlzLl9pbWFnZSAmJiAhdGhpcy5nbHlwaDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBAYXBwbHlDc3NDbGFzc1xuICAgIC8qKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIGJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgJ2ZkLWF2YXRhcicsXG4gICAgICAgICAgICB0aGlzLnNpemUgPyBgZmQtYXZhdGFyLS0ke3RoaXMuc2l6ZX1gIDogJycsXG4gICAgICAgICAgICB0aGlzLmNvbG9yQWNjZW50ICYmICF0aGlzLnJhbmRvbSA/IGBmZC1hdmF0YXItLWFjY2VudC1jb2xvci0ke3RoaXMuY29sb3JBY2NlbnR9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5yYW5kb20gPyBgZmQtYXZhdGFyLS1hY2NlbnQtY29sb3ItJHtnZXRSYW5kb21Db2xvckFjY2VudCgpfWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY2lyY2xlID8gJ2ZkLWF2YXRhci0tY2lyY2xlJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5ib3JkZXIgPyAnZmQtYXZhdGFyLS1ib3JkZXInIDogJycsXG4gICAgICAgICAgICB0aGlzLnRyYW5zcGFyZW50ID8gJ2ZkLWF2YXRhci0tdHJhbnNwYXJlbnQnIDogJycsXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW4gPyAnZmQtYXZhdGFyLS1iYWNrZ3JvdW5kLWNvbnRhaW4nIDogJycsXG4gICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID8gJ2ZkLWF2YXRhci0tcGxhY2Vob2xkZXInIDogJycsXG4gICAgICAgICAgICB0aGlzLnRpbGUgPyAnZmQtYXZhdGFyLS10aWxlJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jbGFzc1xuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZWxlbWVudFJlZigpOiBFbGVtZW50UmVmPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBHZXQgYW4gYWJicmV2aWF0ZSBmcm9tIHRoZSBsYWJlbCBvciByZXR1cm4gbnVsbCBpZiBub3QgZml0IHJlcXVpcmVtZW50cyAqL1xuICAgIHByaXZhdGUgX2dldEFiYnJldmlhdGUobGFiZWw6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoIWxhYmVsIHx8IHRoaXMuX2ltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1heExldHRlcnNDb3VudCA9IDM7XG4gICAgICAgIGNvbnN0IGZpcnN0TGV0dGVycyA9IGxhYmVsLnNwbGl0KCcgJykubWFwKCh3b3JkKSA9PiB3b3JkLmNoYXJBdCgwKSk7XG4gICAgICAgIGNvbnN0IGFiYnJldmlhdGUgPSBmaXJzdExldHRlcnMuam9pbignJyk7XG5cbiAgICAgICAgaWYgKGZpcnN0TGV0dGVycy5sZW5ndGggPiBtYXhMZXR0ZXJzQ291bnQgfHwgIWFiYnJldmlhdGUubWF0Y2goQU5ZX0xBTkdVQUdFX0xFVFRFUlNfUkVHRVgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhYmJyZXZpYXRlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0SW1hZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbWFnZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmVyaWZ5SW1hZ2VVcmwodmFsdWUsICgpOiB2b2lkID0+IHt9LCB0aGlzLl9vbkVycm9yQ2FsbGJhY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fYmdJbWFnZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ZlcmlmeUltYWdlVXJsKHNyY1ZhbHVlOiBzdHJpbmcsIG9uTG9hZENhbGxiYWNrOiAoKSA9PiB2b2lkLCBvbkVycm9yQ2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgIGltZy5vbmxvYWQgPSBvbkxvYWRDYWxsYmFjay5iaW5kKHRoaXMpO1xuICAgICAgICBpbWcub25lcnJvciA9IG9uRXJyb3JDYWxsYmFjay5iaW5kKHRoaXMpO1xuICAgICAgICBpbWcuc3JjID0gc3JjVmFsdWU7XG4gICAgICAgIHRoaXMuX2Fzc2lnbkJnSW1hZ2Uoc3JjVmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXNzaWduQmdJbWFnZShzcmNWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2JnSW1hZ2UgPSBgdXJsKCR7c3JjVmFsdWV9KWA7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9vbkVycm9yQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fYWx0ZXJJY29uKSB7XG4gICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9hbHRlckljb24uc3BsaXQoJ3wnKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNbaV07XG5cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuQ09OVEVOVCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50RWwgPSB0aGlzLl9jb250ZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRWYWx1ZSA9IGNvbnRlbnRFbC5pbm5lclRleHQudHJpbSgpWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29udGVudFZhbHVlICYmIGNvbnRlbnRWYWx1ZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IGNvbnRlbnRFbC5pbm5lclRleHQudHJpbSgpWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuQUxUKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFsdFZhbHVlID0gdGhpcy5lbGVtZW50UmVmKCkubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FsdCcpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWx0VmFsdWUgJiYgYWx0VmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSBhbHRWYWx1ZS50cmltKClbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvcHRpb24gPT09IEFMVEVSX0lDT05fT1BUSU9OUy5CQUNLVVApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2JhY2t1cEltYWdlICYmIHRoaXMuX2JhY2t1cEltYWdlICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgYmFja3VwSW1hZ2UgY2FuIGJlIGxvYWRlZCBzdWNjZXNzZnVsbHlcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIG5vdCwgc2V0IGRlZmF1bHQgdXNlciBpY29uXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl92ZXJpZnlJbWFnZVVybChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9iYWNrdXBJbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2Fzc2lnbkJnSW1hZ2UodGhpcy5fYmFja3VwSW1hZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuREVGQVVMVF9JQ09OKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG93RGVmYXVsdEljb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5nbHlwaCA9IG51bGw7XG4gICAgfVxufVxuIiwie3sgYWJicmV2aWF0ZSB9fVxuXG48aVxuICAgICpuZ0lmPVwiem9vbUdseXBoXCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICBjbGFzcz1cImZkLWF2YXRhcl9fem9vbS1pY29uXCJcbiAgICBbY2xhc3NdPVwiem9vbUdseXBoID8gJ3NhcC1pY29uLS0nICsgem9vbUdseXBoIDogJydcIlxuPlxuPC9pPlxuPGkgKm5nSWY9XCJnbHlwaFwiIGNsYXNzPVwiZmQtYXZhdGFyX19pY29uXCIgW2NsYXNzXT1cImdseXBoID8gJyBzYXAtaWNvbi0tJyArIGdseXBoIDogJydcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+IDwvaT5cbjxpICpuZ0lmPVwic2hvd0RlZmF1bHRcIiBjbGFzcz1cImZkLWF2YXRhcl9faWNvbiBzYXAtaWNvbi0tcGVyc29uLXBsYWNlaG9sZGVyXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPiA8L2k+XG48ZGl2ICNjb250ZW50IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDBCQUEwQixFQUcxQixhQUFhLEVBQ2Isb0JBQW9CLEVBRXZCLE1BQU0sNkJBQTZCLENBQUM7OztBQUVyQyxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFdkIsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixPQUFPLEVBQUUsU0FBUztJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxjQUFjO0NBQy9CLENBQUM7QUFXRixNQUFNLE9BQU8sZUFBZTtJQXdJeEIsY0FBYztJQUNkLFlBQW9CLFdBQXVCLEVBQVUsSUFBdUI7UUFBeEQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXBJNUUsd0JBQXdCO1FBR3hCLE9BQUUsR0FBRyxhQUFhLGNBQWMsRUFBRSxFQUFFLENBQUM7UUFFckMsNkJBQTZCO1FBRzdCLGNBQVMsR0FBVyxJQUFJLENBQUM7UUFFekIscURBQXFEO1FBR3JELG1CQUFjLEdBQVcsSUFBSSxDQUFDO1FBUzlCLDZFQUE2RTtRQUNwRSxTQUFJLEdBQVMsR0FBRyxDQUFDO1FBRTFCLHNCQUFzQjtRQUNiLFVBQUssR0FBVyxJQUFJLENBQUM7UUFFOUIsb0NBQW9DO1FBQzNC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QkFHTixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2lJQUsvQyxLQUFLO3NCQURKLEtBQUs7Z0JBTU4sRUFBRTtzQkFGRCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFNBQVM7Z0JBTXRCLFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTlCLGNBQWM7c0JBRmIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSy9CLEtBQUs7c0JBRFIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFRRixlQUFlO3NCQURsQixLQUFLO2dCQU9GLEtBQUs7c0JBRFIsS0FBSztnQkFTRixTQUFTO3NCQURaLEtBQUs7Z0JBU0YsV0FBVztzQkFEZCxLQUFLO2dCQVVGLE9BQU87c0JBRFYsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBT2pDLElBQUk7c0JBRFAsV0FBVzt1QkFBQyxXQUFXO2dCQU9wQixPQUFPO3NCQURWLFNBQVM7dUJBQUMsU0FBUzs7UUEwQ3BCOzs7V0FHRztRQUNILHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFOWV9MQU5HVUFHRV9MRVRURVJTX1JFR0VYLFxuICAgIENvbG9yQWNjZW50LFxuICAgIFNpemUsXG4gICAgYXBwbHlDc3NDbGFzcyxcbiAgICBnZXRSYW5kb21Db2xvckFjY2VudCxcbiAgICBDc3NDbGFzc0J1aWxkZXJcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3V0aWxzJztcblxubGV0IGF2YXRhclVuaXF1ZUlkID0gMDtcblxuY29uc3QgQUxURVJfSUNPTl9PUFRJT05TID0ge1xuICAgIENPTlRFTlQ6ICdjb250ZW50JyxcbiAgICBBTFQ6ICdhbHQnLFxuICAgIEJBQ0tVUDogJ2JhY2t1cCcsXG4gICAgREVGQVVMVF9JQ09OOiAnZGVmYXVsdC1pY29uJ1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gVE9ETyB0byBiZSBkaXNjdXNzZWRcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZmQtYXZhdGFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBDc3NDbGFzc0J1aWxkZXIge1xuICAgIC8qKiBVc2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogSWQgb2YgdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgaWQgPSBgZmQtYXZhdGFyLSR7YXZhdGFyVW5pcXVlSWQrK31gO1xuXG4gICAgLyoqIEFyaWEtbGFiZWwgZm9yIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBhcmlhTGFiZWw6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogQXJpYS1MYWJlbGxlZGJ5IGZvciBlbGVtZW50IGRlc2NyaWJpbmcgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWxsZWRieScpXG4gICAgYXJpYUxhYmVsbGVkYnk6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogTG9jYWxpemVkIHRleHQgZm9yIGxhYmVsICovXG4gICAgQElucHV0KClcbiAgICBzZXQgbGFiZWwodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmFyaWFMYWJlbCA9IHZhbHVlIHx8IG51bGw7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dldEFiYnJldmlhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgc2l6ZSBvZiB0aGUgQXZhdGFyLiBPcHRpb25zIGluY2x1ZGU6ICp4cyosICpzKiwgKm0qLCAqbCogYW5kICp4bCouICovXG4gICAgQElucHV0KCkgc2l6ZTogU2l6ZSA9ICdsJztcblxuICAgIC8qKiBUaGUgZ2x5cGggbmFtZS4gKi9cbiAgICBASW5wdXQoKSBnbHlwaDogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBUaGUgZ2x5cGggbmFtZSBmb3Igem9vbSBpY29uLiAqL1xuICAgIEBJbnB1dCgpIHpvb21HbHlwaDogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBhcHBseSBhIGNpcmNsZSBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGNpcmNsZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIGFwcGx5IGEgdHJhbnNwYXJlbnQgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSB0cmFuc3BhcmVudCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIGFwcGx5IGJhY2tncm91bmQgc2l6ZSBjb250YWluIHN0eWxlIHRvIHRoZSBBdmF0YXIgKi9cbiAgICBASW5wdXQoKSBjb250YWluID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdG8gYXBwbHkgYSBwbGFjZWhvbGRlciBiYWNrZ3JvdW5kIHN0eWxlIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBhcHBseSBhIHRpbGUgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHRpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBhcHBseSBhIGJvcmRlciB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGJvcmRlciA9IGZhbHNlO1xuXG4gICAgLyoqIEEgbnVtYmVyIGZyb20gMSB0byAxMCByZXByZXNlbnRpbmcgdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSBjb2xvckFjY2VudDogQ29sb3JBY2NlbnQgPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIGFwcGx5IHJhbmRvbSBiYWNrZ3JvdW5kIGNvbG9yIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgcmFuZG9tID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIERlcHJlY2F0ZWQgYWNjb3JkaW5nIHRvIFJlbmFtZSBgYmFja2dyb3VuZEltYWdlYCB0byBgaW1hZ2VgXG4gICAgICogKi9cbiAgICAvKiogQmFja2dyb3VuZCBpbWFnZSB1cmwuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYmFja2dyb3VuZEltYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBCYWNrZ3JvdW5kIGltYWdlIHJlc291cmNlOiB1cmwgb3IgYmFzZTY0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGltYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgaW1hZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ltYWdlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGFsdGVySWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2FsdGVySWNvbiA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYWx0ZXJJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hbHRlckljb247XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgYmFja3VwSW1hZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9iYWNrdXBJbWFnZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYmFja3VwSW1hZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhY2t1cEltYWdlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kLWltYWdlJylcbiAgICBnZXQgYmdJbWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmdJbWFnZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBnZXQgcm9sZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy56b29tR2x5cGggPyAnYnV0dG9uJyA6ICdpbWcnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnY29udGVudCcpXG4gICAgc2V0IGNvbnRlbnQodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5fY29udGVudCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYWJicmV2aWF0ZTogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW1hZ2U6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FsdGVySWNvbjogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29udGVudDogRWxlbWVudFJlZiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JhY2t1cEltYWdlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9iZ0ltYWdlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIElmIGEgZGVmYXVsdCBwbGFjZWhvbGRlciBzaG91bGQgYmUgZGlzcGxheWVkICovXG4gICAgZ2V0IHNob3dEZWZhdWx0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuYWJicmV2aWF0ZSAmJiAhdGhpcy5faW1hZ2UgJiYgIXRoaXMuZ2x5cGg7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgQGFwcGx5Q3NzQ2xhc3NcbiAgICAvKiogQ3NzQ2xhc3NCdWlsZGVyIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxuICAgICAqIGZ1bmN0aW9uIG11c3QgcmV0dXJuIHNpbmdsZSBzdHJpbmdcbiAgICAgKiBmdW5jdGlvbiBpcyByZXNwb25zaWJsZSBmb3Igb3JkZXIgd2hpY2ggY3NzIGNsYXNzZXMgYXJlIGFwcGxpZWRcbiAgICAgKi9cbiAgICBidWlsZENvbXBvbmVudENzc0NsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdmZC1hdmF0YXInLFxuICAgICAgICAgICAgdGhpcy5zaXplID8gYGZkLWF2YXRhci0tJHt0aGlzLnNpemV9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jb2xvckFjY2VudCAmJiAhdGhpcy5yYW5kb20gPyBgZmQtYXZhdGFyLS1hY2NlbnQtY29sb3ItJHt0aGlzLmNvbG9yQWNjZW50fWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMucmFuZG9tID8gYGZkLWF2YXRhci0tYWNjZW50LWNvbG9yLSR7Z2V0UmFuZG9tQ29sb3JBY2NlbnQoKX1gIDogJycsXG4gICAgICAgICAgICB0aGlzLmNpcmNsZSA/ICdmZC1hdmF0YXItLWNpcmNsZScgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuYm9yZGVyID8gJ2ZkLWF2YXRhci0tYm9yZGVyJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy50cmFuc3BhcmVudCA/ICdmZC1hdmF0YXItLXRyYW5zcGFyZW50JyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jb250YWluID8gJ2ZkLWF2YXRhci0tYmFja2dyb3VuZC1jb250YWluJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA/ICdmZC1hdmF0YXItLXBsYWNlaG9sZGVyJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy50aWxlID8gJ2ZkLWF2YXRhci0tdGlsZScgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY2xhc3NcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGVsZW1lbnRSZWYoKTogRWxlbWVudFJlZjxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWY7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gR2V0IGFuIGFiYnJldmlhdGUgZnJvbSB0aGUgbGFiZWwgb3IgcmV0dXJuIG51bGwgaWYgbm90IGZpdCByZXF1aXJlbWVudHMgKi9cbiAgICBwcml2YXRlIF9nZXRBYmJyZXZpYXRlKGxhYmVsOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKCFsYWJlbCB8fCB0aGlzLl9pbWFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fZ2VuZXJhdGVBYmJyZXZpYXRpb24obGFiZWwpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEdldCB0aGUgYWJicmV2YXRpb24gc3RyaW5nICovXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVBYmJyZXZpYXRpb24obGFiZWw6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBtYXhMZXR0ZXJzQ291bnQgPSAzO1xuICAgICAgICBjb25zdCBmaXJzdExldHRlcnMgPSBsYWJlbC5zcGxpdCgnICcpLm1hcCgod29yZCkgPT4gd29yZC5jaGFyQXQoMCkpO1xuICAgICAgICBjb25zdCBhYmJyZXZpYXRlID0gZmlyc3RMZXR0ZXJzLmpvaW4oJycpO1xuXG4gICAgICAgIGlmIChmaXJzdExldHRlcnMubGVuZ3RoID4gbWF4TGV0dGVyc0NvdW50IHx8ICFhYmJyZXZpYXRlLm1hdGNoKEFOWV9MQU5HVUFHRV9MRVRURVJTX1JFR0VYKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWJicmV2aWF0ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEltYWdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW1hZ2UgPSB2YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZlcmlmeUltYWdlVXJsKHZhbHVlLCAoKTogdm9pZCA9PiB7fSwgdGhpcy5fb25FcnJvckNhbGxiYWNrKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2JnSW1hZ2UgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92ZXJpZnlJbWFnZVVybChzcmNWYWx1ZTogc3RyaW5nLCBvbkxvYWRDYWxsYmFjazogKCkgPT4gdm9pZCwgb25FcnJvckNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xuICAgICAgICBpbWcub25sb2FkID0gb25Mb2FkQ2FsbGJhY2suYmluZCh0aGlzKTtcbiAgICAgICAgaW1nLm9uZXJyb3IgPSBvbkVycm9yQ2FsbGJhY2suYmluZCh0aGlzKTtcbiAgICAgICAgaW1nLnNyYyA9IHNyY1ZhbHVlO1xuICAgICAgICB0aGlzLl9hc3NpZ25CZ0ltYWdlKHNyY1ZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Fzc2lnbkJnSW1hZ2Uoc3JjVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9iZ0ltYWdlID0gYHVybCgke3NyY1ZhbHVlfSlgO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb25FcnJvckNhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2FsdGVySWNvbikge1xuICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fYWx0ZXJJY29uLnNwbGl0KCd8Jyk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2ldO1xuXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkNPTlRFTlQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudFZhbHVlID0gdGhpcy5fY29udGVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRlbnRWYWx1ZSAmJiBjb250ZW50VmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSB0aGlzLl9nZW5lcmF0ZUFiYnJldmlhdGlvbihjb250ZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuQUxUKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFsdFZhbHVlID0gdGhpcy5lbGVtZW50UmVmKCkubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FsdCcpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWx0VmFsdWUgJiYgYWx0VmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSB0aGlzLl9nZW5lcmF0ZUFiYnJldmlhdGlvbihhbHRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvcHRpb24gPT09IEFMVEVSX0lDT05fT1BUSU9OUy5CQUNLVVApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2JhY2t1cEltYWdlICYmIHRoaXMuX2JhY2t1cEltYWdlICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgYmFja3VwSW1hZ2UgY2FuIGJlIGxvYWRlZCBzdWNjZXNzZnVsbHlcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIG5vdCwgc2V0IGRlZmF1bHQgdXNlciBpY29uXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl92ZXJpZnlJbWFnZVVybChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9iYWNrdXBJbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2Fzc2lnbkJnSW1hZ2UodGhpcy5fYmFja3VwSW1hZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuREVGQVVMVF9JQ09OKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG93RGVmYXVsdEljb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5nbHlwaCA9IG51bGw7XG4gICAgfVxufVxuIiwie3sgYWJicmV2aWF0ZSB9fVxuXG48aVxuICAgICpuZ0lmPVwiem9vbUdseXBoXCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICBjbGFzcz1cImZkLWF2YXRhcl9fem9vbS1pY29uXCJcbiAgICBbY2xhc3NdPVwiem9vbUdseXBoID8gJ3NhcC1pY29uLS0nICsgem9vbUdseXBoIDogJydcIlxuPlxuPC9pPlxuPGkgKm5nSWY9XCJnbHlwaFwiIGNsYXNzPVwiZmQtYXZhdGFyX19pY29uXCIgW2NsYXNzXT1cImdseXBoID8gJyBzYXAtaWNvbi0tJyArIGdseXBoIDogJydcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+IDwvaT5cbjxpICpuZ0lmPVwic2hvd0RlZmF1bHRcIiBjbGFzcz1cImZkLWF2YXRhcl9faWNvbiBzYXAtaWNvbi0tcGVyc29uLXBsYWNlaG9sZGVyXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPiA8L2k+XG48ZGl2ICNjb250ZW50IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -142,6 +142,10 @@ class AvatarComponent {
|
|
|
142
142
|
if (!label || this._image) {
|
|
143
143
|
return null;
|
|
144
144
|
}
|
|
145
|
+
return this._generateAbbreviation(label);
|
|
146
|
+
}
|
|
147
|
+
/** @hidden Get the abbrevation string */
|
|
148
|
+
_generateAbbreviation(label) {
|
|
145
149
|
const maxLettersCount = 3;
|
|
146
150
|
const firstLetters = label.split(' ').map((word) => word.charAt(0));
|
|
147
151
|
const abbreviate = firstLetters.join('');
|
|
@@ -182,10 +186,9 @@ class AvatarComponent {
|
|
|
182
186
|
for (let i = 0; i < options.length; i++) {
|
|
183
187
|
const option = options[i];
|
|
184
188
|
if (option === ALTER_ICON_OPTIONS.CONTENT) {
|
|
185
|
-
const
|
|
186
|
-
const contentValue = contentEl.innerText.trim()[0];
|
|
189
|
+
const contentValue = this._content.nativeElement.innerText;
|
|
187
190
|
if (contentValue && contentValue !== '') {
|
|
188
|
-
this.abbreviate =
|
|
191
|
+
this.abbreviate = this._generateAbbreviation(contentValue);
|
|
189
192
|
break;
|
|
190
193
|
}
|
|
191
194
|
continue;
|
|
@@ -193,7 +196,7 @@ class AvatarComponent {
|
|
|
193
196
|
if (option === ALTER_ICON_OPTIONS.ALT) {
|
|
194
197
|
const altValue = this.elementRef().nativeElement.getAttribute('alt');
|
|
195
198
|
if (altValue && altValue !== '') {
|
|
196
|
-
this.abbreviate =
|
|
199
|
+
this.abbreviate = this._generateAbbreviation(altValue);
|
|
197
200
|
break;
|
|
198
201
|
}
|
|
199
202
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n Size,\n applyCssClass,\n getRandomColorAccent,\n CssClassBuilder\n} from '@fundamental-ngx/core/utils';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: string = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: string = null;\n\n /** Localized text for label */\n @Input()\n set label(value: string) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** The glyph name. */\n @Input() glyph: string = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: string = null;\n\n /** Whether or not to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether or not to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether or not to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether or not to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether or not to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether or not to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: ColorAccent = null;\n\n /** Whether or not to apply random background color to the Avatar. */\n @Input() random = false;\n\n /**\n * @deprecated\n * Deprecated according to Rename `backgroundImage` to `image`\n * */\n /** Background image url. */\n @Input()\n set backgroundImage(value: string) {\n this._setImage(value);\n }\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: string) {\n this._setImage(value);\n }\n get image(): string {\n return this._image;\n }\n\n @Input()\n set alterIcon(value: string) {\n this._alterIcon = value;\n }\n get alterIcon(): string {\n return this._alterIcon;\n }\n\n @Input()\n set backupImage(value: string) {\n this._backupImage = value;\n }\n get backupImage(): string {\n return this._backupImage;\n }\n\n /** @hidden */\n @HostBinding('style.background-image')\n get bgImage(): string {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: string = null;\n\n /** @hidden */\n private _image: string = null;\n\n /** @hidden */\n private _alterIcon: string = null;\n\n /** @hidden */\n private _content: ElementRef = null;\n\n /** @hidden */\n private _backupImage: string = null;\n\n /** @hidden */\n private _bgImage: string = null;\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, private _cdr: ChangeDetectorRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: string): string | null {\n if (!label || this._image) {\n return null;\n }\n\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: string): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this._bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: string): void {\n this._bgImage = `url(${srcValue})`;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n } else {\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentEl = this._content.nativeElement;\n const contentValue = contentEl.innerText.trim()[0];\n if (contentValue && contentValue !== '') {\n this.abbreviate = contentEl.innerText.trim()[0];\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this.elementRef().nativeElement.getAttribute('alt');\n if (altValue && altValue !== '') {\n this.abbreviate = altValue.trim()[0];\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n this._cdr.detectChanges();\n },\n () => {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n }\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n }\n}\n","{{ abbreviate }}\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n>\n</i>\n<i *ngIf=\"glyph\" class=\"fd-avatar__icon\" [class]=\"glyph ? ' sap-icon--' + glyph : ''\" role=\"presentation\"> </i>\n<i *ngIf=\"showDefault\" class=\"fd-avatar__icon sap-icon--person-placeholder\" role=\"presentation\"> </i>\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AvatarComponent],\n declarations: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n Size,\n applyCssClass,\n getRandomColorAccent,\n CssClassBuilder\n} from '@fundamental-ngx/core/utils';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: string = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: string = null;\n\n /** Localized text for label */\n @Input()\n set label(value: string) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** The glyph name. */\n @Input() glyph: string = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: string = null;\n\n /** Whether or not to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether or not to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether or not to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether or not to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether or not to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether or not to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: ColorAccent = null;\n\n /** Whether or not to apply random background color to the Avatar. */\n @Input() random = false;\n\n /**\n * @deprecated\n * Deprecated according to Rename `backgroundImage` to `image`\n * */\n /** Background image url. */\n @Input()\n set backgroundImage(value: string) {\n this._setImage(value);\n }\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: string) {\n this._setImage(value);\n }\n get image(): string {\n return this._image;\n }\n\n @Input()\n set alterIcon(value: string) {\n this._alterIcon = value;\n }\n get alterIcon(): string {\n return this._alterIcon;\n }\n\n @Input()\n set backupImage(value: string) {\n this._backupImage = value;\n }\n get backupImage(): string {\n return this._backupImage;\n }\n\n /** @hidden */\n @HostBinding('style.background-image')\n get bgImage(): string {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: string = null;\n\n /** @hidden */\n private _image: string = null;\n\n /** @hidden */\n private _alterIcon: string = null;\n\n /** @hidden */\n private _content: ElementRef = null;\n\n /** @hidden */\n private _backupImage: string = null;\n\n /** @hidden */\n private _bgImage: string = null;\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, private _cdr: ChangeDetectorRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: string): string | null {\n if (!label || this._image) {\n return null;\n }\n\n return this._generateAbbreviation(label);\n }\n\n /** @hidden Get the abbrevation string */\n private _generateAbbreviation(label: string): string | null {\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: string): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this._bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: string): void {\n this._bgImage = `url(${srcValue})`;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n } else {\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentValue = this._content.nativeElement.innerText;\n if (contentValue && contentValue !== '') {\n this.abbreviate = this._generateAbbreviation(contentValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this.elementRef().nativeElement.getAttribute('alt');\n if (altValue && altValue !== '') {\n this.abbreviate = this._generateAbbreviation(altValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n this._cdr.detectChanges();\n },\n () => {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n }\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n }\n}\n","{{ abbreviate }}\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n>\n</i>\n<i *ngIf=\"glyph\" class=\"fd-avatar__icon\" [class]=\"glyph ? ' sap-icon--' + glyph : ''\" role=\"presentation\"> </i>\n<i *ngIf=\"showDefault\" class=\"fd-avatar__icon sap-icon--person-placeholder\" role=\"presentation\"> </i>\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AvatarComponent],\n declarations: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -142,6 +142,10 @@ class AvatarComponent {
|
|
|
142
142
|
if (!label || this._image) {
|
|
143
143
|
return null;
|
|
144
144
|
}
|
|
145
|
+
return this._generateAbbreviation(label);
|
|
146
|
+
}
|
|
147
|
+
/** @hidden Get the abbrevation string */
|
|
148
|
+
_generateAbbreviation(label) {
|
|
145
149
|
const maxLettersCount = 3;
|
|
146
150
|
const firstLetters = label.split(' ').map((word) => word.charAt(0));
|
|
147
151
|
const abbreviate = firstLetters.join('');
|
|
@@ -182,10 +186,9 @@ class AvatarComponent {
|
|
|
182
186
|
for (let i = 0; i < options.length; i++) {
|
|
183
187
|
const option = options[i];
|
|
184
188
|
if (option === ALTER_ICON_OPTIONS.CONTENT) {
|
|
185
|
-
const
|
|
186
|
-
const contentValue = contentEl.innerText.trim()[0];
|
|
189
|
+
const contentValue = this._content.nativeElement.innerText;
|
|
187
190
|
if (contentValue && contentValue !== '') {
|
|
188
|
-
this.abbreviate =
|
|
191
|
+
this.abbreviate = this._generateAbbreviation(contentValue);
|
|
189
192
|
break;
|
|
190
193
|
}
|
|
191
194
|
continue;
|
|
@@ -193,7 +196,7 @@ class AvatarComponent {
|
|
|
193
196
|
if (option === ALTER_ICON_OPTIONS.ALT) {
|
|
194
197
|
const altValue = this.elementRef().nativeElement.getAttribute('alt');
|
|
195
198
|
if (altValue && altValue !== '') {
|
|
196
|
-
this.abbreviate =
|
|
199
|
+
this.abbreviate = this._generateAbbreviation(altValue);
|
|
197
200
|
break;
|
|
198
201
|
}
|
|
199
202
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n Size,\n applyCssClass,\n getRandomColorAccent,\n CssClassBuilder\n} from '@fundamental-ngx/core/utils';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: string = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: string = null;\n\n /** Localized text for label */\n @Input()\n set label(value: string) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** The glyph name. */\n @Input() glyph: string = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: string = null;\n\n /** Whether or not to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether or not to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether or not to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether or not to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether or not to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether or not to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: ColorAccent = null;\n\n /** Whether or not to apply random background color to the Avatar. */\n @Input() random = false;\n\n /**\n * @deprecated\n * Deprecated according to Rename `backgroundImage` to `image`\n * */\n /** Background image url. */\n @Input()\n set backgroundImage(value: string) {\n this._setImage(value);\n }\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: string) {\n this._setImage(value);\n }\n get image(): string {\n return this._image;\n }\n\n @Input()\n set alterIcon(value: string) {\n this._alterIcon = value;\n }\n get alterIcon(): string {\n return this._alterIcon;\n }\n\n @Input()\n set backupImage(value: string) {\n this._backupImage = value;\n }\n get backupImage(): string {\n return this._backupImage;\n }\n\n /** @hidden */\n @HostBinding('style.background-image')\n get bgImage(): string {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: string = null;\n\n /** @hidden */\n private _image: string = null;\n\n /** @hidden */\n private _alterIcon: string = null;\n\n /** @hidden */\n private _content: ElementRef = null;\n\n /** @hidden */\n private _backupImage: string = null;\n\n /** @hidden */\n private _bgImage: string = null;\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, private _cdr: ChangeDetectorRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: string): string | null {\n if (!label || this._image) {\n return null;\n }\n\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: string): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this._bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: string): void {\n this._bgImage = `url(${srcValue})`;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n } else {\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentEl = this._content.nativeElement;\n const contentValue = contentEl.innerText.trim()[0];\n if (contentValue && contentValue !== '') {\n this.abbreviate = contentEl.innerText.trim()[0];\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this.elementRef().nativeElement.getAttribute('alt');\n if (altValue && altValue !== '') {\n this.abbreviate = altValue.trim()[0];\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n this._cdr.detectChanges();\n },\n () => {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n }\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n }\n}\n","{{ abbreviate }}\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n>\n</i>\n<i *ngIf=\"glyph\" class=\"fd-avatar__icon\" [class]=\"glyph ? ' sap-icon--' + glyph : ''\" role=\"presentation\"> </i>\n<i *ngIf=\"showDefault\" class=\"fd-avatar__icon sap-icon--person-placeholder\" role=\"presentation\"> </i>\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AvatarComponent],\n declarations: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n Size,\n applyCssClass,\n getRandomColorAccent,\n CssClassBuilder\n} from '@fundamental-ngx/core/utils';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: string = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: string = null;\n\n /** Localized text for label */\n @Input()\n set label(value: string) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** The glyph name. */\n @Input() glyph: string = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: string = null;\n\n /** Whether or not to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether or not to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether or not to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether or not to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether or not to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether or not to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: ColorAccent = null;\n\n /** Whether or not to apply random background color to the Avatar. */\n @Input() random = false;\n\n /**\n * @deprecated\n * Deprecated according to Rename `backgroundImage` to `image`\n * */\n /** Background image url. */\n @Input()\n set backgroundImage(value: string) {\n this._setImage(value);\n }\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: string) {\n this._setImage(value);\n }\n get image(): string {\n return this._image;\n }\n\n @Input()\n set alterIcon(value: string) {\n this._alterIcon = value;\n }\n get alterIcon(): string {\n return this._alterIcon;\n }\n\n @Input()\n set backupImage(value: string) {\n this._backupImage = value;\n }\n get backupImage(): string {\n return this._backupImage;\n }\n\n /** @hidden */\n @HostBinding('style.background-image')\n get bgImage(): string {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: string = null;\n\n /** @hidden */\n private _image: string = null;\n\n /** @hidden */\n private _alterIcon: string = null;\n\n /** @hidden */\n private _content: ElementRef = null;\n\n /** @hidden */\n private _backupImage: string = null;\n\n /** @hidden */\n private _bgImage: string = null;\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, private _cdr: ChangeDetectorRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: string): string | null {\n if (!label || this._image) {\n return null;\n }\n\n return this._generateAbbreviation(label);\n }\n\n /** @hidden Get the abbrevation string */\n private _generateAbbreviation(label: string): string | null {\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: string): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this._bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: string): void {\n this._bgImage = `url(${srcValue})`;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n } else {\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentValue = this._content.nativeElement.innerText;\n if (contentValue && contentValue !== '') {\n this.abbreviate = this._generateAbbreviation(contentValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this.elementRef().nativeElement.getAttribute('alt');\n if (altValue && altValue !== '') {\n this.abbreviate = this._generateAbbreviation(altValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n this._cdr.detectChanges();\n },\n () => {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n }\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n }\n}\n","{{ abbreviate }}\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n>\n</i>\n<i *ngIf=\"glyph\" class=\"fd-avatar__icon\" [class]=\"glyph ? ' sap-icon--' + glyph : ''\" role=\"presentation\"> </i>\n<i *ngIf=\"showDefault\" class=\"fd-avatar__icon sap-icon--person-placeholder\" role=\"presentation\"> </i>\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AvatarComponent],\n declarations: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/avatar/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/avatar",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/avatar-group",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
package/bar/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/bar",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
package/breadcrumb/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/breadcrumb",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/busy-indicator",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
package/button/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/button",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
package/calendar/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/calendar",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
package/card/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/card",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
package/carousel/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/carousel",
|
|
3
|
-
"version": "0.33.4
|
|
3
|
+
"version": "0.33.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^13
|
|
6
|
-
"@angular/core": "^13
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|