@edm-sdui/sdui 1.0.28 → 1.0.30
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/edm-sdui-sdui-1.0.30.tgz +0 -0
- package/esm2022/lib/components/uicomponent/column/column.component.mjs +2 -2
- package/esm2022/lib/components/uicomponent/label/label.component.mjs +7 -4
- package/esm2022/lib/components/uicomponent/progress-bar/progress-bar.component.mjs +2 -2
- package/esm2022/lib/components/uicomponent/row/row.component.mjs +3 -3
- package/esm2022/lib/components/uicomponent/uicomponent.component.mjs +7 -1
- package/esm2022/lib/components/uicomponent/zstack/zstack.component.mjs +2 -2
- package/esm2022/lib/components/uiscreen/uiscreen.component.mjs +4 -2
- package/esm2022/lib/core/services/uiscreen.service.mjs +21 -10
- package/esm2022/lib/core/uicomposition/enums/uiplatform-type.mjs +2 -1
- package/esm2022/lib/core/uicomposition/models/uicomponent.mjs +1 -1
- package/esm2022/lib/core/uicomposition/models/uiview.mjs +1 -1
- package/esm2022/lib/core/uitheme/enums/uidimension.mjs +3 -1
- package/esm2022/lib/core/uitheme/enums/uiradius-level.mjs +1 -1
- package/esm2022/lib/core/uitheme/enums/uisize.mjs +3 -1
- package/esm2022/lib/core/uitheme/mapping/dimension-mapping.mjs +3 -1
- package/esm2022/lib/core/uitheme/mapping/radius-mapping.mjs +2 -2
- package/esm2022/lib/core/uitheme/mapping/size-mapping.mjs +5 -1
- package/esm2022/lib/directives/uiview.directive.mjs +19 -2
- package/fesm2022/edm-sdui-sdui.mjs +126 -67
- package/fesm2022/edm-sdui-sdui.mjs.map +1 -1
- package/lib/components/uicomponent/label/label.component.d.ts.map +1 -1
- package/lib/components/uicomponent/uicomponent.component.d.ts.map +1 -1
- package/lib/components/uiscreen/uiscreen.component.d.ts.map +1 -1
- package/lib/core/services/uiscreen.service.d.ts +1 -0
- package/lib/core/services/uiscreen.service.d.ts.map +1 -1
- package/lib/core/uicomposition/enums/uiplatform-type.d.ts +2 -1
- package/lib/core/uicomposition/enums/uiplatform-type.d.ts.map +1 -1
- package/lib/core/uicomposition/models/uicomponent.d.ts +1 -1
- package/lib/core/uicomposition/models/uicomponent.d.ts.map +1 -1
- package/lib/core/uicomposition/models/uiview.d.ts +3 -0
- package/lib/core/uicomposition/models/uiview.d.ts.map +1 -1
- package/lib/core/uitheme/enums/uidimension.d.ts +2 -0
- package/lib/core/uitheme/enums/uidimension.d.ts.map +1 -1
- package/lib/core/uitheme/enums/uisize.d.ts +3 -1
- package/lib/core/uitheme/enums/uisize.d.ts.map +1 -1
- package/lib/core/uitheme/mapping/dimension-mapping.d.ts.map +1 -1
- package/lib/core/uitheme/mapping/size-mapping.d.ts.map +1 -1
- package/lib/directives/uiview.directive.d.ts +2 -0
- package/lib/directives/uiview.directive.d.ts.map +1 -1
- package/package.json +1 -1
- package/edm-sdui-sdui-1.0.28.tgz +0 -0
|
@@ -12,6 +12,8 @@ export const sizeMappingHeight = {
|
|
|
12
12
|
[UISize.ASSET_6]: '20px',
|
|
13
13
|
[UISize.ASSET_7]: '22px',
|
|
14
14
|
[UISize.ASSET_8]: '24px',
|
|
15
|
+
[UISize.CARD_1]: '320px',
|
|
16
|
+
[UISize.CARD_2]: '380px',
|
|
15
17
|
};
|
|
16
18
|
export const sizeMappingWidth = {
|
|
17
19
|
[UISize.THUMB_1]: '100px',
|
|
@@ -26,5 +28,7 @@ export const sizeMappingWidth = {
|
|
|
26
28
|
[UISize.ASSET_6]: '20px',
|
|
27
29
|
[UISize.ASSET_7]: '22px',
|
|
28
30
|
[UISize.ASSET_8]: '24px',
|
|
31
|
+
[UISize.CARD_1]: '320px',
|
|
32
|
+
[UISize.CARD_2]: '538px',
|
|
29
33
|
};
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS1tYXBwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29yZS91aXRoZW1lL21hcHBpbmcvc2l6ZS1tYXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBMkI7SUFDdkQsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTTtJQUN4QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNO0lBQ3hCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU87SUFDekIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTztJQUV6QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNO0lBQ3hCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU07SUFDeEIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTTtJQUN4QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNO0lBQ3hCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU07SUFDeEIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTTtJQUN4QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNO0lBQ3hCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU07SUFDeEIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTztJQUN4QixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPO0NBRXpCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBMkI7SUFDdEQsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTztJQUN6QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPO0lBQ3pCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU87SUFDekIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTztJQUV6QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNO0lBQ3hCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU07SUFDeEIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTTtJQUN4QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNO0lBQ3hCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU07SUFDeEIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTTtJQUN4QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNO0lBQ3hCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU07SUFDeEIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTztJQUN4QixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSVNpemUgfSBmcm9tICcuLi9lbnVtcy91aXNpemUnO1xuXG5leHBvcnQgY29uc3Qgc2l6ZU1hcHBpbmdIZWlnaHQ6IFJlY29yZDxVSVNpemUsIHN0cmluZz4gPSB7XG4gIFtVSVNpemUuVEhVTUJfMV06ICc1NnB4JyxcbiAgW1VJU2l6ZS5USFVNQl8yXTogJzQwcHgnLFxuICBbVUlTaXplLlRIVU1CXzNdOiAnMTgwcHgnLFxuICBbVUlTaXplLlRIVU1CXzRdOiAnMzgwcHgnLFxuXG4gIFtVSVNpemUuQVNTRVRfMV06ICcyNnB4JyxcbiAgW1VJU2l6ZS5BU1NFVF8yXTogJzE2cHgnLFxuICBbVUlTaXplLkFTU0VUXzNdOiAnODBweCcsXG4gIFtVSVNpemUuQVNTRVRfNF06ICc2MHB4JyxcbiAgW1VJU2l6ZS5BU1NFVF81XTogJzE4cHgnLFxuICBbVUlTaXplLkFTU0VUXzZdOiAnMjBweCcsXG4gIFtVSVNpemUuQVNTRVRfN106ICcyMnB4JyxcbiAgW1VJU2l6ZS5BU1NFVF84XTogJzI0cHgnLFxuICBbVUlTaXplLkNBUkRfMV06ICczMjBweCcsXG4gIFtVSVNpemUuQ0FSRF8yXTogJzM4MHB4JyxcblxufTtcblxuZXhwb3J0IGNvbnN0IHNpemVNYXBwaW5nV2lkdGg6IFJlY29yZDxVSVNpemUsIHN0cmluZz4gPSB7XG4gIFtVSVNpemUuVEhVTUJfMV06ICcxMDBweCcsXG4gIFtVSVNpemUuVEhVTUJfMl06ICcxMDVweCcsXG4gIFtVSVNpemUuVEhVTUJfM106ICczMjBweCcsXG4gIFtVSVNpemUuVEhVTUJfNF06ICcyNjJweCcsXG5cbiAgW1VJU2l6ZS5BU1NFVF8xXTogJzI2cHgnLFxuICBbVUlTaXplLkFTU0VUXzJdOiAnMTZweCcsXG4gIFtVSVNpemUuQVNTRVRfM106ICc4MHB4JyxcbiAgW1VJU2l6ZS5BU1NFVF80XTogJzYwcHgnLFxuICBbVUlTaXplLkFTU0VUXzVdOiAnMThweCcsXG4gIFtVSVNpemUuQVNTRVRfNl06ICcyMHB4JyxcbiAgW1VJU2l6ZS5BU1NFVF83XTogJzIycHgnLFxuICBbVUlTaXplLkFTU0VUXzhdOiAnMjRweCcsXG4gIFtVSVNpemUuQ0FSRF8xXTogJzMyMHB4JyxcbiAgW1VJU2l6ZS5DQVJEXzJdOiAnNTM4cHgnLFxufTtcbiJdfQ==
|
|
@@ -5,11 +5,12 @@ import { padMapping } from '../core/uitheme/mapping/pad-mapping';
|
|
|
5
5
|
import { radiusMapping } from '../core/uitheme/mapping/radius-mapping';
|
|
6
6
|
import { alignmentMapping } from '../core/uitheme/mapping/alignment-mapping';
|
|
7
7
|
import { dimensionMapping } from '../core/uitheme/mapping/dimension-mapping';
|
|
8
|
-
import { shadowOffsetMapping, shadowBlurRadiusMapping } from '../core/uitheme/mapping/shadow-mapping';
|
|
8
|
+
import { shadowOffsetMapping, shadowBlurRadiusMapping, } from '../core/uitheme/mapping/shadow-mapping';
|
|
9
9
|
import { justifyMapping } from '../core/uitheme/mapping/justify-mapping';
|
|
10
10
|
import { Router } from '@angular/router';
|
|
11
11
|
import { UIScreenViewModel } from '../core/view-models/uiscreen.viewmodel';
|
|
12
12
|
import { UIActionService } from '../core/services/ui-action.service';
|
|
13
|
+
import { sizeMappingHeight, sizeMappingWidth } from '../core/uitheme/mapping/size-mapping';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
15
|
import * as i1 from "@angular/router";
|
|
15
16
|
import * as i2 from "../core/services/ui-action.service";
|
|
@@ -68,6 +69,12 @@ export class UIViewDirective {
|
|
|
68
69
|
if (uiView.justify) {
|
|
69
70
|
this.applyJustify(uiView.justify);
|
|
70
71
|
}
|
|
72
|
+
if (uiView.size) {
|
|
73
|
+
this.applySize(uiView.size);
|
|
74
|
+
}
|
|
75
|
+
if (uiView.aspectRatio !== null && uiView.aspectRatio !== undefined) {
|
|
76
|
+
this.applyAspectRatio(uiView.aspectRatio);
|
|
77
|
+
}
|
|
71
78
|
}
|
|
72
79
|
applyPadding(uiPadding) {
|
|
73
80
|
if (uiPadding.top) {
|
|
@@ -183,6 +190,16 @@ export class UIViewDirective {
|
|
|
183
190
|
this.renderer.setStyle(this.elementRef.nativeElement, 'justify-content', justifyValue);
|
|
184
191
|
}
|
|
185
192
|
}
|
|
193
|
+
applyAspectRatio(aspectRatio) {
|
|
194
|
+
}
|
|
195
|
+
applySize(size) {
|
|
196
|
+
if (size) {
|
|
197
|
+
const widthValue = sizeMappingWidth[size];
|
|
198
|
+
const heightValue = sizeMappingHeight[size];
|
|
199
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'width', widthValue);
|
|
200
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'height', heightValue);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
186
203
|
onClick(event) {
|
|
187
204
|
if (this.disableClick)
|
|
188
205
|
return;
|
|
@@ -210,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
210
227
|
type: HostListener,
|
|
211
228
|
args: ['click', ['$event']]
|
|
212
229
|
}] } });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWl2aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2R1aS9zcmMvbGliL2RpcmVjdGl2ZXMvdWl2aWV3LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFZdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7OztBQU1yRSxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUNVLFVBQXNCLEVBQ3RCLFFBQW1CLEVBQ25CLE1BQWMsRUFDZCxhQUE4QixFQUNsQixlQUFrQztRQUo5QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsV0FBTSxHQUFO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QUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQzdCLGlCQUFpQixFQUNqQixZQUFZLENBQ2IsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBR0QsT0FBTyxDQUFDLEtBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU87UUFFOUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDOytHQTVTVSxlQUFlO21HQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBVUksUUFBUTt5Q0FSRixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBbVNOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVZpZXcgfSBmcm9tICcuLi9jb3JlL3VpY29tcG9zaXRpb24vbW9kZWxzL3Vpdmlldyc7XG5pbXBvcnQgeyBVSVBhZGRpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpcGFkZGluZyc7XG5pbXBvcnQgeyBVSUJhY2tncm91bmQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYmFja2dyb3VuZCc7XG5pbXBvcnQgeyBVSUFjdGlvbiB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlhY3Rpb24nO1xuaW1wb3J0IHsgVUlBbGlnbm1lbnQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYWxpZ25tZW50JztcbmltcG9ydCB7IFVJU2hhZG93IH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNoYWRvdyc7XG5pbXBvcnQgeyBVSVJhZGl1cyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlyYWRpdXMnO1xuaW1wb3J0IHsgVUlTcGFjaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNwYWNpbmcnO1xuaW1wb3J0IHsgVUlDb2xvciB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWNvbG9yJztcbmltcG9ydCB7IFVJSnVzdGlmeSB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWp1c3RpZnknO1xuaW1wb3J0IHsgVUlEaW1lbnNpb24gfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvZW51bXMvdWlkaW1lbnNpb24nO1xuaW1wb3J0IHsgc3BhY2VNYXBwaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21hcHBpbmcvc3BhY2UtbWFwcGluZyc7XG5pbXBvcnQgeyBjb2xvck1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9jb2xvci1tYXBwaW5nJztcbmltcG9ydCB7IHBhZE1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9wYWQtbWFwcGluZyc7XG5pbXBvcnQgeyByYWRpdXNNYXBwaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21hcHBpbmcvcmFkaXVzLW1hcHBpbmcnO1xuaW1wb3J0IHsgYWxpZ25tZW50TWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2FsaWdubWVudC1tYXBwaW5nJztcbmltcG9ydCB7IGRpbWVuc2lvbk1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9kaW1lbnNpb24tbWFwcGluZyc7XG5pbXBvcnQgeyBzaGFkb3dPZmZzZXRNYXBwaW5nLCBzaGFkb3dCbHVyUmFkaXVzTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL3NoYWRvdy1tYXBwaW5nJztcbmltcG9ydCB7IGp1c3RpZnlNYXBwaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21hcHBpbmcvanVzdGlmeS1tYXBwaW5nJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBVSVNjcmVlblZpZXdNb2RlbCB9IGZyb20gJy4uL2NvcmUvdmlldy1tb2RlbHMvdWlzY3JlZW4udmlld21vZGVsJztcbmltcG9ydCB7IFVJQWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvdWktYWN0aW9uLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWRtU2R1aVZpZXddJyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFVJVmlld0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGVkbVNkdWlWaWV3PzogVUlWaWV3O1xuICBASW5wdXQoKSBkaXNhYmxlQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBVSUFjdGlvblNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzY3JlZW5WaWV3TW9kZWw6IFVJU2NyZWVuVmlld01vZGVsXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWRtU2R1aVZpZXcpIHtcbiAgICAgIHRoaXMuYXBwbHlTdHlsZXModGhpcy5lZG1TZHVpVmlldyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVN0eWxlcyh1aVZpZXc6IFVJVmlldykge1xuICAgIGlmICh1aVZpZXcuaWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2lkJyxcbiAgICAgICAgU3RyaW5nKHVpVmlldy5pZClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy5wYWRkaW5nKSB7XG4gICAgICB0aGlzLmFwcGx5UGFkZGluZyh1aVZpZXcucGFkZGluZyk7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy5iYWNrZ3JvdW5kKSB7XG4gICAgICB0aGlzLmFwcGx5QmFja2dyb3VuZCh1aVZpZXcuYmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy5hY3Rpb24pIHtcbiAgICAgIHRoaXMuYXBwbHlBY3Rpb24odWlWaWV3LmFjdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy5hbGlnbm1lbnQpIHtcbiAgICAgIHRoaXMuYXBwbHlBbGlnbm1lbnQodWlWaWV3LmFsaWdubWVudCk7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy5zaGFkb3cpIHtcbiAgICAgIHRoaXMuYXBwbHlTaGFkb3codWlWaWV3LnNoYWRvdyk7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy5yYWRpdXMpIHtcbiAgICAgIHRoaXMuYXBwbHlSYWRpdXModWlWaWV3LnJhZGl1cyk7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy5zcGFjaW5nKSB7XG4gICAgICB0aGlzLmFwcGx5U3BhY2luZyh1aVZpZXcuc3BhY2luZyk7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy5oZWlnaHQpIHtcbiAgICAgIHRoaXMuYXBwbHlIZWlnaHQodWlWaWV3LmhlaWdodCk7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy53aWR0aCkge1xuICAgICAgdGhpcy5hcHBseVdpZHRoKHVpVmlldy53aWR0aCk7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy5ib3JkZXJXaWR0aCkge1xuICAgICAgdGhpcy5hcHBseUJvcmRlcldpZHRoKHVpVmlldy5ib3JkZXJXaWR0aCk7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy5ib3JkZXJDb2xvcikge1xuICAgICAgdGhpcy5hcHBseUJvcmRlckNvbG9yKHVpVmlldy5ib3JkZXJDb2xvcik7XG4gICAgfVxuXG4gICAgaWYgKHVpVmlldy5qdXN0aWZ5KSB7XG4gICAgICB0aGlzLmFwcGx5SnVzdGlmeSh1aVZpZXcuanVzdGlmeSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVBhZGRpbmcodWlQYWRkaW5nOiBVSVBhZGRpbmcpIHtcbiAgICBpZiAodWlQYWRkaW5nLnRvcCkge1xuICAgICAgY29uc3QgcGFkVmFsdWUgPSBwYWRNYXBwaW5nW3VpUGFkZGluZy50b3BdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLXRvcCcsXG4gICAgICAgIHBhZFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodWlQYWRkaW5nLmxlZnQpIHtcbiAgICAgIGNvbnN0IHBhZFZhbHVlID0gcGFkTWFwcGluZ1t1aVBhZGRpbmcubGVmdF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3BhZGRpbmctbGVmdCcsXG4gICAgICAgIHBhZFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodWlQYWRkaW5nLnJpZ2h0KSB7XG4gICAgICBjb25zdCBwYWRWYWx1ZSA9IHBhZE1hcHBpbmdbdWlQYWRkaW5nLnJpZ2h0XTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy1yaWdodCcsXG4gICAgICAgIHBhZFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodWlQYWRkaW5nLmJvdHRvbSkge1xuICAgICAgY29uc3QgcGFkVmFsdWUgPSBwYWRNYXBwaW5nW3VpUGFkZGluZy5ib3R0b21dO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLWJvdHRvbScsXG4gICAgICAgIHBhZFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlCYWNrZ3JvdW5kKHVpQmFja2dyb3VuZDogVUlCYWNrZ3JvdW5kKSB7XG4gICAgaWYgKHVpQmFja2dyb3VuZC5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIGNvbnN0IGJhY2tncm91bmRDb2xvciA9IGNvbG9yTWFwcGluZ1t1aUJhY2tncm91bmQuYmFja2dyb3VuZENvbG9yXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYmFja2dyb3VuZC1jb2xvcicsXG4gICAgICAgIGJhY2tncm91bmRDb2xvclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IxICYmIHVpQmFja2dyb3VuZC5ncmFkaWVudENvbG9yMikge1xuICAgICAgY29uc3QgZ3JhZGllbnRDb2xvcjEgPSBjb2xvck1hcHBpbmdbdWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IxXTtcbiAgICAgIGNvbnN0IGdyYWRpZW50Q29sb3IyID0gY29sb3JNYXBwaW5nW3VpQmFja2dyb3VuZC5ncmFkaWVudENvbG9yMl07XG4gICAgICBjb25zdCBncmFkaWVudFN0eWxlcyA9IGBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICR7Z3JhZGllbnRDb2xvcjF9LCAke2dyYWRpZW50Q29sb3IyfSlgXG4gICAgICBjb25zb2xlLmxvZyhncmFkaWVudENvbG9yMSwgZ3JhZGllbnRDb2xvcjIsIGdyYWRpZW50U3R5bGVzKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYmFja2dyb3VuZCcsXG4gICAgICAgIGdyYWRpZW50U3R5bGVzXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlBY3Rpb24odWlBY3Rpb246IFVJQWN0aW9uKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZUNsaWNrKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QWxpZ25tZW50KHVpQWxpZ25tZW50OiBVSUFsaWdubWVudCkge1xuICAgIGlmICh1aUFsaWdubWVudC5hbGlnbm1lbnQpIHtcbiAgICAgIC8vIGNvbnNvbGUuZGVidWcoJ2FsaWdubWVudDonLCB1aUFsaWdubWVudC5hbGlnbm1lbnQpO1xuICAgICAgY29uc3QgYWxpZ25tZW50ID0gYWxpZ25tZW50TWFwcGluZ1t1aUFsaWdubWVudC5hbGlnbm1lbnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdhbGlnbi1pdGVtcycsXG4gICAgICAgIGFsaWdubWVudFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U2hhZG93KHVpU2hhZG93OiBVSVNoYWRvdykge1xuICAgIGlmICh1aVNoYWRvdy5jb2xvciAmJiB1aVNoYWRvdy5vZmZzZXRYICYmIHVpU2hhZG93Lm9mZnNldFkgJiYgdWlTaGFkb3cuYmx1clJhZGl1cykge1xuICAgICAgY29uc3QgY29sb3IgPSBjb2xvck1hcHBpbmdbdWlTaGFkb3cuY29sb3JdO1xuICAgICAgY29uc3Qgb2Zmc2V0WCA9IHNoYWRvd09mZnNldE1hcHBpbmdbdWlTaGFkb3cub2Zmc2V0WF07XG4gICAgICBjb25zdCBvZmZzZXRZID0gc2hhZG93T2Zmc2V0TWFwcGluZ1t1aVNoYWRvdy5vZmZzZXRZXTtcbiAgICAgIGNvbnN0IGJsdXJSYWRpdXMgPSBzaGFkb3dCbHVyUmFkaXVzTWFwcGluZ1t1aVNoYWRvdy5ibHVyUmFkaXVzXTtcbiAgICAgIGNvbnN0IG9wYWNpdHkgPSB1aVNoYWRvdy5vcGFjaXR5ICE9PSB1bmRlZmluZWQgPyB1aVNoYWRvdy5vcGFjaXR5IDogMTtcblxuICAgICAgLy8gRm9ybWF0OiBib3gtc2hhZG93OiBvZmZzZXRYIG9mZnNldFkgYmx1clJhZGl1cyBjb2xvclxuICAgICAgY29uc3Qgc2hhZG93VmFsdWUgPSBgJHtvZmZzZXRYfSAke29mZnNldFl9ICR7Ymx1clJhZGl1c30gJHtjb2xvcn1gO1xuXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JveC1zaGFkb3cnLFxuICAgICAgICBzaGFkb3dWYWx1ZVxuICAgICAgKTtcblxuICAgICAgaWYgKG9wYWNpdHkgIT09IDEpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAnb3BhY2l0eScsXG4gICAgICAgICAgb3BhY2l0eS50b1N0cmluZygpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVJhZGl1cyh1aVJhZGl1czogVUlSYWRpdXMpIHtcbiAgICBpZiAodWlSYWRpdXMudG9wTGVmdCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy50b3BMZWZ0XTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cycsXG4gICAgICAgIHJhZGl1c1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlSYWRpdXMudG9wUmlnaHQpIHtcbiAgICAgIGNvbnN0IHJhZGl1cyA9IHJhZGl1c01hcHBpbmdbdWlSYWRpdXMudG9wUmlnaHRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItdG9wLXJpZ2h0LXJhZGl1cycsXG4gICAgICAgIHJhZGl1c1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlSYWRpdXMuYm90dG9tTGVmdCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy5ib3R0b21MZWZ0XTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cycsXG4gICAgICAgIHJhZGl1c1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlSYWRpdXMuYm90dG9tUmlnaHQpIHtcbiAgICAgIGNvbnN0IHJhZGl1cyA9IHJhZGl1c01hcHBpbmdbdWlSYWRpdXMuYm90dG9tUmlnaHRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cycsXG4gICAgICAgIHJhZGl1c1xuICAgICAgKTtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTcGFjaW5nKHVpU3BhY2luZzogVUlTcGFjaW5nKSB7XG4gICAgaWYgKHVpU3BhY2luZy5zcGFjaW5nKSB7XG4gICAgICBjb25zdCBzcGFjaW5nVmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlTcGFjaW5nLnNwYWNpbmddO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdnYXAnLFxuICAgICAgICBzcGFjaW5nVmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUhlaWdodChoZWlnaHQ6IFVJRGltZW5zaW9uKSB7XG4gICAgaWYgKGhlaWdodCkge1xuICAgICAgY29uc3QgaGVpZ2h0VmFsdWUgPSBkaW1lbnNpb25NYXBwaW5nW2hlaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgIGhlaWdodFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlXaWR0aCh3aWR0aDogVUlEaW1lbnNpb24pIHtcbiAgICBpZiAod2lkdGgpIHtcbiAgICAgIGNvbnN0IHdpZHRoVmFsdWUgPSBkaW1lbnNpb25NYXBwaW5nW3dpZHRoXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnd2lkdGgnLFxuICAgICAgICB3aWR0aFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlCb3JkZXJXaWR0aChib3JkZXJXaWR0aDogbnVtYmVyKSB7XG4gICAgaWYgKGJvcmRlcldpZHRoICE9PSBudWxsICYmIGJvcmRlcldpZHRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLXdpZHRoJyxcbiAgICAgICAgYCR7Ym9yZGVyV2lkdGh9cHhgXG4gICAgICApO1xuXG4gICAgICAvLyBFbnN1cmUgYm9yZGVyIHN0eWxlIGlzIHNldCwgb3RoZXJ3aXNlIGJvcmRlci13aWR0aCB3b24ndCBiZSB2aXNpYmxlXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci1zdHlsZScsXG4gICAgICAgICdzb2xpZCdcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUJvcmRlckNvbG9yKGJvcmRlckNvbG9yOiBVSUNvbG9yKSB7XG4gICAgaWYgKGJvcmRlckNvbG9yKSB7XG4gICAgICBjb25zdCBjb2xvciA9IGNvbG9yTWFwcGluZ1tib3JkZXJDb2xvcl07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci1jb2xvcicsXG4gICAgICAgIGNvbG9yXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlKdXN0aWZ5KGp1c3RpZnk6IFVJSnVzdGlmeSkge1xuICAgIGlmIChqdXN0aWZ5KSB7XG4gICAgICBjb25zdCBqdXN0aWZ5VmFsdWUgPSBqdXN0aWZ5TWFwcGluZ1tqdXN0aWZ5XTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnanVzdGlmeS1jb250ZW50JyxcbiAgICAgICAganVzdGlmeVZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlQ2xpY2spIHJldHVybjtcblxuICAgIGlmICh0aGlzLmVkbVNkdWlWaWV3Py5hY3Rpb24pIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5hY3Rpb25TZXJ2aWNlLmV4ZWN1dGUodGhpcy5lZG1TZHVpVmlldy5hY3Rpb24pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWl2aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2R1aS9zcmMvbGliL2RpcmVjdGl2ZXMvdWl2aWV3LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFZdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsdUJBQXVCLEdBQ3hCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7O0FBTTNGLE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQ1UsVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsTUFBYyxFQUNkLGFBQThCLEVBQ2xCLGVBQWtDO1FBSjlDLGVB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O1lBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDOytHQXZVVSxlQUFlO21HQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBVUksUUFBUTt5Q0FSRixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBOFROLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVZpZXcgfSBmcm9tICcuLi9jb3JlL3VpY29tcG9zaXRpb24vbW9kZWxzL3Vpdmlldyc7XG5pbXBvcnQgeyBVSVBhZGRpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpcGFkZGluZyc7XG5pbXBvcnQgeyBVSUJhY2tncm91bmQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYmFja2dyb3VuZCc7XG5pbXBvcnQgeyBVSUFjdGlvbiB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlhY3Rpb24nO1xuaW1wb3J0IHsgVUlBbGlnbm1lbnQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYWxpZ25tZW50JztcbmltcG9ydCB7IFVJU2hhZG93IH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNoYWRvdyc7XG5pbXBvcnQgeyBVSVJhZGl1cyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlyYWRpdXMnO1xuaW1wb3J0IHsgVUlTcGFjaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNwYWNpbmcnO1xuaW1wb3J0IHsgVUlDb2xvciB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWNvbG9yJztcbmltcG9ydCB7IFVJSnVzdGlmeSB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWp1c3RpZnknO1xuaW1wb3J0IHsgVUlEaW1lbnNpb24gfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvZW51bXMvdWlkaW1lbnNpb24nO1xuaW1wb3J0IHsgc3BhY2VNYXBwaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21hcHBpbmcvc3BhY2UtbWFwcGluZyc7XG5pbXBvcnQgeyBjb2xvck1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9jb2xvci1tYXBwaW5nJztcbmltcG9ydCB7IHBhZE1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9wYWQtbWFwcGluZyc7XG5pbXBvcnQgeyByYWRpdXNNYXBwaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21hcHBpbmcvcmFkaXVzLW1hcHBpbmcnO1xuaW1wb3J0IHsgYWxpZ25tZW50TWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2FsaWdubWVudC1tYXBwaW5nJztcbmltcG9ydCB7IGRpbWVuc2lvbk1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9kaW1lbnNpb24tbWFwcGluZyc7XG5pbXBvcnQge1xuICBzaGFkb3dPZmZzZXRNYXBwaW5nLFxuICBzaGFkb3dCbHVyUmFkaXVzTWFwcGluZyxcbn0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21hcHBpbmcvc2hhZG93LW1hcHBpbmcnO1xuaW1wb3J0IHsganVzdGlmeU1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9qdXN0aWZ5LW1hcHBpbmcnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVJU2NyZWVuVmlld01vZGVsIH0gZnJvbSAnLi4vY29yZS92aWV3LW1vZGVscy91aXNjcmVlbi52aWV3bW9kZWwnO1xuaW1wb3J0IHsgVUlBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNlcy91aS1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBVSVNpemUgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvZW51bXMvdWlzaXplJztcbmltcG9ydCB7IHNpemVNYXBwaW5nSGVpZ2h0LCBzaXplTWFwcGluZ1dpZHRoIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21hcHBpbmcvc2l6ZS1tYXBwaW5nJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VkbVNkdWlWaWV3XScsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBVSVZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBlZG1TZHVpVmlldz86IFVJVmlldztcbiAgQElucHV0KCkgZGlzYWJsZUNsaWNrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYWN0aW9uU2VydmljZTogVUlBY3Rpb25TZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgc2NyZWVuVmlld01vZGVsOiBVSVNjcmVlblZpZXdNb2RlbFxuICApIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkbVNkdWlWaWV3KSB7XG4gICAgICB0aGlzLmFwcGx5U3R5bGVzKHRoaXMuZWRtU2R1aVZpZXcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTdHlsZXModWlWaWV3OiBVSVZpZXcpIHtcbiAgICBpZiAodWlWaWV3LmlkKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdpZCcsXG4gICAgICAgIFN0cmluZyh1aVZpZXcuaWQpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcucGFkZGluZykge1xuICAgICAgdGhpcy5hcHBseVBhZGRpbmcodWlWaWV3LnBhZGRpbmcpO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcuYmFja2dyb3VuZCkge1xuICAgICAgdGhpcy5hcHBseUJhY2tncm91bmQodWlWaWV3LmJhY2tncm91bmQpO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcuYWN0aW9uKSB7XG4gICAgICB0aGlzLmFwcGx5QWN0aW9uKHVpVmlldy5hY3Rpb24pO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcuYWxpZ25tZW50KSB7XG4gICAgICB0aGlzLmFwcGx5QWxpZ25tZW50KHVpVmlldy5hbGlnbm1lbnQpO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcuc2hhZG93KSB7XG4gICAgICB0aGlzLmFwcGx5U2hhZG93KHVpVmlldy5zaGFkb3cpO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcucmFkaXVzKSB7XG4gICAgICB0aGlzLmFwcGx5UmFkaXVzKHVpVmlldy5yYWRpdXMpO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcuc3BhY2luZykge1xuICAgICAgdGhpcy5hcHBseVNwYWNpbmcodWlWaWV3LnNwYWNpbmcpO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcuaGVpZ2h0KSB7XG4gICAgICB0aGlzLmFwcGx5SGVpZ2h0KHVpVmlldy5oZWlnaHQpO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcud2lkdGgpIHtcbiAgICAgIHRoaXMuYXBwbHlXaWR0aCh1aVZpZXcud2lkdGgpO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcuYm9yZGVyV2lkdGgpIHtcbiAgICAgIHRoaXMuYXBwbHlCb3JkZXJXaWR0aCh1aVZpZXcuYm9yZGVyV2lkdGgpO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcuYm9yZGVyQ29sb3IpIHtcbiAgICAgIHRoaXMuYXBwbHlCb3JkZXJDb2xvcih1aVZpZXcuYm9yZGVyQ29sb3IpO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcuanVzdGlmeSkge1xuICAgICAgdGhpcy5hcHBseUp1c3RpZnkodWlWaWV3Lmp1c3RpZnkpO1xuICAgIH1cblxuICAgIGlmICh1aVZpZXcuc2l6ZSkge1xuICAgICAgdGhpcy5hcHBseVNpemUodWlWaWV3LnNpemUpO1xuICAgIH1cbiAgICBpZiAodWlWaWV3LmFzcGVjdFJhdGlvICE9PSBudWxsICYmIHVpVmlldy5hc3BlY3RSYXRpbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmFwcGx5QXNwZWN0UmF0aW8odWlWaWV3LmFzcGVjdFJhdGlvKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5UGFkZGluZyh1aVBhZGRpbmc6IFVJUGFkZGluZykge1xuICAgIGlmICh1aVBhZGRpbmcudG9wKSB7XG4gICAgICBjb25zdCBwYWRWYWx1ZSA9IHBhZE1hcHBpbmdbdWlQYWRkaW5nLnRvcF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3BhZGRpbmctdG9wJyxcbiAgICAgICAgcGFkVmFsdWVcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh1aVBhZGRpbmcubGVmdCkge1xuICAgICAgY29uc3QgcGFkVmFsdWUgPSBwYWRNYXBwaW5nW3VpUGFkZGluZy5sZWZ0XTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy1sZWZ0JyxcbiAgICAgICAgcGFkVmFsdWVcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh1aVBhZGRpbmcucmlnaHQpIHtcbiAgICAgIGNvbnN0IHBhZFZhbHVlID0gcGFkTWFwcGluZ1t1aVBhZGRpbmcucmlnaHRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLXJpZ2h0JyxcbiAgICAgICAgcGFkVmFsdWVcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh1aVBhZGRpbmcuYm90dG9tKSB7XG4gICAgICBjb25zdCBwYWRWYWx1ZSA9IHBhZE1hcHBpbmdbdWlQYWRkaW5nLmJvdHRvbV07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3BhZGRpbmctYm90dG9tJyxcbiAgICAgICAgcGFkVmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUJhY2tncm91bmQodWlCYWNrZ3JvdW5kOiBVSUJhY2tncm91bmQpIHtcbiAgICBpZiAodWlCYWNrZ3JvdW5kLmJhY2tncm91bmRDb2xvcikge1xuICAgICAgY29uc3QgYmFja2dyb3VuZENvbG9yID0gY29sb3JNYXBwaW5nW3VpQmFja2dyb3VuZC5iYWNrZ3JvdW5kQ29sb3JdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJyxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aUJhY2tncm91bmQuZ3JhZGllbnRDb2xvcjEgJiYgdWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IyKSB7XG4gICAgICBjb25zdCBncmFkaWVudENvbG9yMSA9IGNvbG9yTWFwcGluZ1t1aUJhY2tncm91bmQuZ3JhZGllbnRDb2xvcjFdO1xuICAgICAgY29uc3QgZ3JhZGllbnRDb2xvcjIgPSBjb2xvck1hcHBpbmdbdWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IyXTtcbiAgICAgIGNvbnN0IGdyYWRpZW50U3R5bGVzID0gYGxpbmVhci1ncmFkaWVudCg0NWRlZywgJHtncmFkaWVudENvbG9yMX0sICR7Z3JhZGllbnRDb2xvcjJ9KWBcbiAgICAgIGNvbnNvbGUubG9nKGdyYWRpZW50Q29sb3IxLCBncmFkaWVudENvbG9yMiwgZ3JhZGllbnRTdHlsZXMpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdiYWNrZ3JvdW5kJyxcbiAgICAgICAgZ3JhZGllbnRTdHlsZXNcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUFjdGlvbih1aUFjdGlvbjogVUlBY3Rpb24pIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlQ2xpY2spIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlBbGlnbm1lbnQodWlBbGlnbm1lbnQ6IFVJQWxpZ25tZW50KSB7XG4gICAgaWYgKHVpQWxpZ25tZW50LmFsaWdubWVudCkge1xuICAgICAgLy8gY29uc29sZS5kZWJ1ZygnYWxpZ25tZW50OicsIHVpQWxpZ25tZW50LmFsaWdubWVudCk7XG4gICAgICBjb25zdCBhbGlnbm1lbnQgPSBhbGlnbm1lbnRNYXBwaW5nW3VpQWxpZ25tZW50LmFsaWdubWVudF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2FsaWduLWl0ZW1zJyxcbiAgICAgICAgYWxpZ25tZW50XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaGFkb3codWlTaGFkb3c6IFVJU2hhZG93KSB7XG4gICAgaWYgKHVpU2hhZG93LmNvbG9yICYmIHVpU2hhZG93Lm9mZnNldFggJiYgdWlTaGFkb3cub2Zmc2V0WSAmJiB1aVNoYWRvdy5ibHVyUmFkaXVzKSB7XG4gICAgICBjb25zdCBjb2xvciA9IGNvbG9yTWFwcGluZ1t1aVNoYWRvdy5jb2xvcl07XG4gICAgICBjb25zdCBvZmZzZXRYID0gc2hhZG93T2Zmc2V0TWFwcGluZ1t1aVNoYWRvdy5vZmZzZXRYXTtcbiAgICAgIGNvbnN0IG9mZnNldFkgPSBzaGFkb3dPZmZzZXRNYXBwaW5nW3VpU2hhZG93Lm9mZnNldFldO1xuICAgICAgY29uc3QgYmx1clJhZGl1cyA9IHNoYWRvd0JsdXJSYWRpdXNNYXBwaW5nW3VpU2hhZG93LmJsdXJSYWRpdXNdO1xuICAgICAgY29uc3Qgb3BhY2l0eSA9IHVpU2hhZG93Lm9wYWNpdHkgIT09IHVuZGVmaW5lZCA/IHVpU2hhZG93Lm9wYWNpdHkgOiAxO1xuXG4gICAgICAvLyBGb3JtYXQ6IGJveC1zaGFkb3c6IG9mZnNldFggb2Zmc2V0WSBibHVyUmFkaXVzIGNvbG9yXG4gICAgICBjb25zdCBzaGFkb3dWYWx1ZSA9IGAke29mZnNldFh9ICR7b2Zmc2V0WX0gJHtibHVyUmFkaXVzfSAke2NvbG9yfWA7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm94LXNoYWRvdycsXG4gICAgICAgIHNoYWRvd1ZhbHVlXG4gICAgICApO1xuXG4gICAgICBpZiAob3BhY2l0eSAhPT0gMSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgICBvcGFjaXR5LnRvU3RyaW5nKClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5UmFkaXVzKHVpUmFkaXVzOiBVSVJhZGl1cykge1xuICAgIGlmICh1aVJhZGl1cy50b3BMZWZ0KSB7XG4gICAgICBjb25zdCByYWRpdXMgPSByYWRpdXNNYXBwaW5nW3VpUmFkaXVzLnRvcExlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItdG9wLWxlZnQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy50b3BSaWdodCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy50b3BSaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci10b3AtcmlnaHQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy5ib3R0b21MZWZ0KSB7XG4gICAgICBjb25zdCByYWRpdXMgPSByYWRpdXNNYXBwaW5nW3VpUmFkaXVzLmJvdHRvbUxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy5ib3R0b21SaWdodCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy5ib3R0b21SaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNwYWNpbmcodWlTcGFjaW5nOiBVSVNwYWNpbmcpIHtcbiAgICBpZiAodWlTcGFjaW5nLnNwYWNpbmcpIHtcbiAgICAgIGNvbnN0IHNwYWNpbmdWYWx1ZSA9IHNwYWNlTWFwcGluZ1t1aVNwYWNpbmcuc3BhY2luZ107XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2dhcCcsXG4gICAgICAgIHNwYWNpbmdWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5SGVpZ2h0KGhlaWdodDogVUlEaW1lbnNpb24pIHtcbiAgICBpZiAoaGVpZ2h0KSB7XG4gICAgICBjb25zdCBoZWlnaHRWYWx1ZSA9IGRpbWVuc2lvbk1hcHBpbmdbaGVpZ2h0XTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgaGVpZ2h0VmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVdpZHRoKHdpZHRoOiBVSURpbWVuc2lvbikge1xuICAgIGlmICh3aWR0aCkge1xuICAgICAgY29uc3Qgd2lkdGhWYWx1ZSA9IGRpbWVuc2lvbk1hcHBpbmdbd2lkdGhdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICd3aWR0aCcsXG4gICAgICAgIHdpZHRoVmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUJvcmRlcldpZHRoKGJvcmRlcldpZHRoOiBudW1iZXIpIHtcbiAgICBpZiAoYm9yZGVyV2lkdGggIT09IG51bGwgJiYgYm9yZGVyV2lkdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItd2lkdGgnLFxuICAgICAgICBgJHtib3JkZXJXaWR0aH1weGBcbiAgICAgICk7XG5cbiAgICAgIC8vIEVuc3VyZSBib3JkZXIgc3R5bGUgaXMgc2V0LCBvdGhlcndpc2UgYm9yZGVyLXdpZHRoIHdvbid0IGJlIHZpc2libGVcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLXN0eWxlJyxcbiAgICAgICAgJ3NvbGlkJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Qm9yZGVyQ29sb3IoYm9yZGVyQ29sb3I6IFVJQ29sb3IpIHtcbiAgICBpZiAoYm9yZGVyQ29sb3IpIHtcbiAgICAgIGNvbnN0IGNvbG9yID0gY29sb3JNYXBwaW5nW2JvcmRlckNvbG9yXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLWNvbG9yJyxcbiAgICAgICAgY29sb3JcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUp1c3RpZnkoanVzdGlmeTogVUlKdXN0aWZ5KSB7XG4gICAgaWYgKGp1c3RpZnkpIHtcbiAgICAgIGNvbnN0IGp1c3RpZnlWYWx1ZSA9IGp1c3RpZnlNYXBwaW5nW2p1c3RpZnldO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdqdXN0aWZ5LWNvbnRlbnQnLFxuICAgICAgICBqdXN0aWZ5VmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUFzcGVjdFJhdGlvKGFzcGVjdFJhdGlvOiBudW1iZXIpIHtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaXplKHNpemU6IFVJU2l6ZSkge1xuICAgIGlmKHNpemUpe1xuICAgICAgY29uc3Qgd2lkdGhWYWx1ZSA9IHNpemVNYXBwaW5nV2lkdGhbc2l6ZV07XG4gICAgICBjb25zdCBoZWlnaHRWYWx1ZSA9IHNpemVNYXBwaW5nSGVpZ2h0W3NpemVdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICd3aWR0aCcsXG4gICAgICAgIHdpZHRoVmFsdWVcbiAgICAgICk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgIGhlaWdodFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlQ2xpY2spIHJldHVybjtcblxuICAgIGlmICh0aGlzLmVkbVNkdWlWaWV3Py5hY3Rpb24pIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5hY3Rpb25TZXJ2aWNlLmV4ZWN1dGUodGhpcy5lZG1TZHVpVmlldy5hY3Rpb24pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -49,6 +49,12 @@ var UIComponentType;
|
|
|
49
49
|
UIComponentType["PROGRESS_BAR"] = "PROGRESS_BAR";
|
|
50
50
|
})(UIComponentType || (UIComponentType = {}));
|
|
51
51
|
|
|
52
|
+
var UIScreenContainerType;
|
|
53
|
+
(function (UIScreenContainerType) {
|
|
54
|
+
UIScreenContainerType["CONTAINED"] = "contained";
|
|
55
|
+
UIScreenContainerType["FLUID"] = "fluid";
|
|
56
|
+
})(UIScreenContainerType || (UIScreenContainerType = {}));
|
|
57
|
+
|
|
52
58
|
const SDUI_BASE_URL = new InjectionToken('SDUI_BASE_URL');
|
|
53
59
|
const SDUI_FONT_ADJUST = new InjectionToken('SDUI_FONT_ADJUST');
|
|
54
60
|
|
|
@@ -95,10 +101,7 @@ class UIScreenService {
|
|
|
95
101
|
throw new Error(`Identificador da tela ausente no JSON recebido.`);
|
|
96
102
|
}
|
|
97
103
|
const layout = this.getLayout(identifier, content);
|
|
98
|
-
const normalizedConfig = config
|
|
99
|
-
(json.container
|
|
100
|
-
? { container: json.container }
|
|
101
|
-
: null);
|
|
104
|
+
const normalizedConfig = this.normalizeConfig(json, config);
|
|
102
105
|
return {
|
|
103
106
|
identifier: identifier,
|
|
104
107
|
content: layout,
|
|
@@ -116,6 +119,20 @@ class UIScreenService {
|
|
|
116
119
|
throw new Error(`Tipo de tela desconhecido: ${identifier}`);
|
|
117
120
|
}
|
|
118
121
|
}
|
|
122
|
+
normalizeConfig(json, config) {
|
|
123
|
+
if (config) {
|
|
124
|
+
return config;
|
|
125
|
+
}
|
|
126
|
+
const container = json.container ??
|
|
127
|
+
json.container_type ??
|
|
128
|
+
json.containerType ??
|
|
129
|
+
null;
|
|
130
|
+
const alwaysReload = json.always_reload ?? json.alwaysReload ?? null;
|
|
131
|
+
if (container === null && alwaysReload === null) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
return { container, alwaysReload };
|
|
135
|
+
}
|
|
119
136
|
mapToSingleColumnLayout(json) {
|
|
120
137
|
return {
|
|
121
138
|
nav: json.nav ? this.mapToUINavigation(json.nav) : null,
|
|
@@ -151,6 +168,7 @@ class UIScreenService {
|
|
|
151
168
|
? json.components.map((c) => this.mapToUIComponent(c))
|
|
152
169
|
: [],
|
|
153
170
|
element: json.element ? this.mapToUIElement(json.element) : null,
|
|
171
|
+
excluded_platforms: json.excluded_platforms
|
|
154
172
|
};
|
|
155
173
|
}
|
|
156
174
|
mapToUIElement(json) {
|
|
@@ -195,19 +213,17 @@ class UIScreenService {
|
|
|
195
213
|
borderWidth: json.border_width ?? null,
|
|
196
214
|
borderColor: json.border_color ? json.border_color : null,
|
|
197
215
|
justify: json.justify ? json.justify : null,
|
|
216
|
+
aspectRatio: json.aspect_ratio ?? null,
|
|
198
217
|
};
|
|
199
218
|
}
|
|
200
219
|
mapToUIScreenConfig(config) {
|
|
201
220
|
if (!config) {
|
|
202
221
|
return null;
|
|
203
222
|
}
|
|
204
|
-
const containerValue = config.
|
|
205
|
-
const containerNormalized = containerValue
|
|
206
|
-
? String(containerValue).toLowerCase()
|
|
207
|
-
: null;
|
|
223
|
+
const containerValue = config.container_type ?? UIScreenContainerType.CONTAINED;
|
|
208
224
|
return {
|
|
209
225
|
alwaysReload: config.always_reload ?? config.alwaysReload ?? null,
|
|
210
|
-
container:
|
|
226
|
+
container: containerValue,
|
|
211
227
|
};
|
|
212
228
|
}
|
|
213
229
|
mapBackground(json) {
|
|
@@ -381,6 +397,13 @@ const componentMapping = {
|
|
|
381
397
|
[UIComponentType.PROGRESS_BAR]: () => Promise.resolve().then(function () { return progressBar_component; }).then((m) => m.ProgressBarComponent),
|
|
382
398
|
};
|
|
383
399
|
|
|
400
|
+
var UIPlatformType;
|
|
401
|
+
(function (UIPlatformType) {
|
|
402
|
+
UIPlatformType["iOS"] = "iOS";
|
|
403
|
+
UIPlatformType["Android"] = "Android";
|
|
404
|
+
UIPlatformType["Web"] = "Web";
|
|
405
|
+
})(UIPlatformType || (UIPlatformType = {}));
|
|
406
|
+
|
|
384
407
|
class UIComponentComponent {
|
|
385
408
|
constructor(injector, cdr) {
|
|
386
409
|
this.injector = injector;
|
|
@@ -398,6 +421,11 @@ class UIComponentComponent {
|
|
|
398
421
|
const current = this.uiComponent;
|
|
399
422
|
if (!current)
|
|
400
423
|
return;
|
|
424
|
+
if (current.excluded_platforms && current.excluded_platforms.includes(UIPlatformType.Web)) {
|
|
425
|
+
this.componentToRender = undefined;
|
|
426
|
+
this.cdr.markForCheck();
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
401
429
|
const mappingFn = componentMapping[current.type];
|
|
402
430
|
mappingFn().then((component) => {
|
|
403
431
|
this.componentToRender = component;
|
|
@@ -1675,7 +1703,7 @@ const radiusMapping = {
|
|
|
1675
1703
|
[UIRadiusLevel.R3]: '8px',
|
|
1676
1704
|
[UIRadiusLevel.R4]: '10px',
|
|
1677
1705
|
[UIRadiusLevel.R5]: '12px',
|
|
1678
|
-
[UIRadiusLevel.R50]: '
|
|
1706
|
+
[UIRadiusLevel.R50]: '16px',
|
|
1679
1707
|
};
|
|
1680
1708
|
|
|
1681
1709
|
var UIAlignmentType;
|
|
@@ -1703,6 +1731,8 @@ var UIDimension;
|
|
|
1703
1731
|
UIDimension["P30"] = "p30";
|
|
1704
1732
|
UIDimension["P20"] = "p20";
|
|
1705
1733
|
UIDimension["P10"] = "p10";
|
|
1734
|
+
UIDimension["D310"] = "d310";
|
|
1735
|
+
UIDimension["D240"] = "d240";
|
|
1706
1736
|
UIDimension["D180"] = "d180";
|
|
1707
1737
|
UIDimension["D150"] = "d150";
|
|
1708
1738
|
UIDimension["D120"] = "d120";
|
|
@@ -1751,6 +1781,8 @@ const dimensionMapping = {
|
|
|
1751
1781
|
[UIDimension.P20]: '20%',
|
|
1752
1782
|
[UIDimension.P10]: '10%',
|
|
1753
1783
|
// Pixel values
|
|
1784
|
+
[UIDimension.D310]: '310px',
|
|
1785
|
+
[UIDimension.D240]: '240px',
|
|
1754
1786
|
[UIDimension.D180]: '180px',
|
|
1755
1787
|
[UIDimension.D150]: '150px',
|
|
1756
1788
|
[UIDimension.D120]: '120px',
|
|
@@ -1820,6 +1852,57 @@ const justifyMapping = {
|
|
|
1820
1852
|
[UIJustify.EVENLY]: 'space-evenly',
|
|
1821
1853
|
};
|
|
1822
1854
|
|
|
1855
|
+
var UISize;
|
|
1856
|
+
(function (UISize) {
|
|
1857
|
+
UISize["THUMB_1"] = "thumb_1";
|
|
1858
|
+
UISize["THUMB_2"] = "thumb_2";
|
|
1859
|
+
UISize["THUMB_3"] = "thumb_3";
|
|
1860
|
+
UISize["THUMB_4"] = "thumb_4";
|
|
1861
|
+
UISize["ASSET_1"] = "asset_1";
|
|
1862
|
+
UISize["ASSET_2"] = "asset_2";
|
|
1863
|
+
UISize["ASSET_3"] = "asset_3";
|
|
1864
|
+
UISize["ASSET_4"] = "asset_4";
|
|
1865
|
+
UISize["ASSET_5"] = "asset_5";
|
|
1866
|
+
UISize["ASSET_6"] = "asset_6";
|
|
1867
|
+
UISize["ASSET_7"] = "asset_7";
|
|
1868
|
+
UISize["ASSET_8"] = "asset_8";
|
|
1869
|
+
UISize["CARD_1"] = "card_1";
|
|
1870
|
+
UISize["CARD_2"] = "card_2";
|
|
1871
|
+
})(UISize || (UISize = {}));
|
|
1872
|
+
|
|
1873
|
+
const sizeMappingHeight = {
|
|
1874
|
+
[UISize.THUMB_1]: '56px',
|
|
1875
|
+
[UISize.THUMB_2]: '40px',
|
|
1876
|
+
[UISize.THUMB_3]: '180px',
|
|
1877
|
+
[UISize.THUMB_4]: '380px',
|
|
1878
|
+
[UISize.ASSET_1]: '26px',
|
|
1879
|
+
[UISize.ASSET_2]: '16px',
|
|
1880
|
+
[UISize.ASSET_3]: '80px',
|
|
1881
|
+
[UISize.ASSET_4]: '60px',
|
|
1882
|
+
[UISize.ASSET_5]: '18px',
|
|
1883
|
+
[UISize.ASSET_6]: '20px',
|
|
1884
|
+
[UISize.ASSET_7]: '22px',
|
|
1885
|
+
[UISize.ASSET_8]: '24px',
|
|
1886
|
+
[UISize.CARD_1]: '320px',
|
|
1887
|
+
[UISize.CARD_2]: '380px',
|
|
1888
|
+
};
|
|
1889
|
+
const sizeMappingWidth = {
|
|
1890
|
+
[UISize.THUMB_1]: '100px',
|
|
1891
|
+
[UISize.THUMB_2]: '105px',
|
|
1892
|
+
[UISize.THUMB_3]: '320px',
|
|
1893
|
+
[UISize.THUMB_4]: '262px',
|
|
1894
|
+
[UISize.ASSET_1]: '26px',
|
|
1895
|
+
[UISize.ASSET_2]: '16px',
|
|
1896
|
+
[UISize.ASSET_3]: '80px',
|
|
1897
|
+
[UISize.ASSET_4]: '60px',
|
|
1898
|
+
[UISize.ASSET_5]: '18px',
|
|
1899
|
+
[UISize.ASSET_6]: '20px',
|
|
1900
|
+
[UISize.ASSET_7]: '22px',
|
|
1901
|
+
[UISize.ASSET_8]: '24px',
|
|
1902
|
+
[UISize.CARD_1]: '320px',
|
|
1903
|
+
[UISize.CARD_2]: '538px',
|
|
1904
|
+
};
|
|
1905
|
+
|
|
1823
1906
|
class UIViewDirective {
|
|
1824
1907
|
constructor(elementRef, renderer, router, actionService, screenViewModel) {
|
|
1825
1908
|
this.elementRef = elementRef;
|
|
@@ -1874,6 +1957,12 @@ class UIViewDirective {
|
|
|
1874
1957
|
if (uiView.justify) {
|
|
1875
1958
|
this.applyJustify(uiView.justify);
|
|
1876
1959
|
}
|
|
1960
|
+
if (uiView.size) {
|
|
1961
|
+
this.applySize(uiView.size);
|
|
1962
|
+
}
|
|
1963
|
+
if (uiView.aspectRatio !== null && uiView.aspectRatio !== undefined) {
|
|
1964
|
+
this.applyAspectRatio(uiView.aspectRatio);
|
|
1965
|
+
}
|
|
1877
1966
|
}
|
|
1878
1967
|
applyPadding(uiPadding) {
|
|
1879
1968
|
if (uiPadding.top) {
|
|
@@ -1989,6 +2078,16 @@ class UIViewDirective {
|
|
|
1989
2078
|
this.renderer.setStyle(this.elementRef.nativeElement, 'justify-content', justifyValue);
|
|
1990
2079
|
}
|
|
1991
2080
|
}
|
|
2081
|
+
applyAspectRatio(aspectRatio) {
|
|
2082
|
+
}
|
|
2083
|
+
applySize(size) {
|
|
2084
|
+
if (size) {
|
|
2085
|
+
const widthValue = sizeMappingWidth[size];
|
|
2086
|
+
const heightValue = sizeMappingHeight[size];
|
|
2087
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'width', widthValue);
|
|
2088
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'height', heightValue);
|
|
2089
|
+
}
|
|
2090
|
+
}
|
|
1992
2091
|
onClick(event) {
|
|
1993
2092
|
if (this.disableClick)
|
|
1994
2093
|
return;
|
|
@@ -2115,7 +2214,9 @@ class UIScreenComponent {
|
|
|
2115
2214
|
this.UIScreenIdentifier = UIScreenIdentifier;
|
|
2116
2215
|
}
|
|
2117
2216
|
containerClass(config) {
|
|
2118
|
-
const
|
|
2217
|
+
const containerRaw = config?.container ??
|
|
2218
|
+
'contained';
|
|
2219
|
+
const container = containerRaw.toString().toLowerCase();
|
|
2119
2220
|
return container === 'contained'
|
|
2120
2221
|
? 'ui-screen--contained'
|
|
2121
2222
|
: 'ui-screen--fluid';
|
|
@@ -2135,11 +2236,11 @@ class RowComponent {
|
|
|
2135
2236
|
ngOnInit() {
|
|
2136
2237
|
}
|
|
2137
2238
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: RowComponent, deps: [{ token: 'uiComponent' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2138
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: RowComponent, isStandalone: false, selector: "edm-sdui-row", ngImport: i0, template: "<div
|
|
2239
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: RowComponent, isStandalone: false, selector: "edm-sdui-row", ngImport: i0, template: "<div\n class=\"row-1\"\n *ngIf=\"uiComponent\"\n [edmSduiView]=\"uiComponent.element\"\n [class.row-fixed]=\"\n uiComponent.element?.size\"\n>\n <edm-sdui-component\n *ngFor=\"let component of uiComponent.components\"\n [uiComponent]=\"component\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.row-1{display:flex;flex-direction:row;align-items:center}.row-fixed{flex:0 0 auto;max-width:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
2139
2240
|
}
|
|
2140
2241
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: RowComponent, decorators: [{
|
|
2141
2242
|
type: Component,
|
|
2142
|
-
args: [{ selector: 'edm-sdui-row', standalone: false, template: "<div
|
|
2243
|
+
args: [{ selector: 'edm-sdui-row', standalone: false, template: "<div\n class=\"row-1\"\n *ngIf=\"uiComponent\"\n [edmSduiView]=\"uiComponent.element\"\n [class.row-fixed]=\"\n uiComponent.element?.size\"\n>\n <edm-sdui-component\n *ngFor=\"let component of uiComponent.components\"\n [uiComponent]=\"component\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.row-1{display:flex;flex-direction:row;align-items:center}.row-fixed{flex:0 0 auto;max-width:100%;box-sizing:border-box}\n"] }]
|
|
2143
2244
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
2144
2245
|
type: Inject,
|
|
2145
2246
|
args: ['uiComponent']
|
|
@@ -2158,11 +2259,11 @@ class ColumnComponent {
|
|
|
2158
2259
|
// console.debug('column.uiComponent: ', this.uiComponent);
|
|
2159
2260
|
}
|
|
2160
2261
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ColumnComponent, deps: [{ token: 'uiComponent' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ColumnComponent, isStandalone: false, selector: "edm-sdui-column", ngImport: i0, template: "<div class=\"column\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <edm-sdui-component\n *ngFor=\"let child of uiComponent.components\"\n [uiComponent]=\"child\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.column{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
2262
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ColumnComponent, isStandalone: false, selector: "edm-sdui-column", ngImport: i0, template: "<div class=\"column\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <edm-sdui-component\n *ngFor=\"let child of uiComponent.components\"\n [uiComponent]=\"child\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.column{display:flex;flex-direction:column;overflow:clip;flex:0 0 auto}.row-fixed :host .column,:host-context(.row-fixed) .column{flex:1 1 0%;min-width:0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
2162
2263
|
}
|
|
2163
2264
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ColumnComponent, decorators: [{
|
|
2164
2265
|
type: Component,
|
|
2165
|
-
args: [{ selector: 'edm-sdui-column', standalone: false, template: "<div class=\"column\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <edm-sdui-component\n *ngFor=\"let child of uiComponent.components\"\n [uiComponent]=\"child\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.column{display:flex;flex-direction:column}\n"] }]
|
|
2266
|
+
args: [{ selector: 'edm-sdui-column', standalone: false, template: "<div class=\"column\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <edm-sdui-component\n *ngFor=\"let child of uiComponent.components\"\n [uiComponent]=\"child\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.column{display:flex;flex-direction:column;overflow:clip;flex:0 0 auto}.row-fixed :host .column,:host-context(.row-fixed) .column{flex:1 1 0%;min-width:0}\n"] }]
|
|
2166
2267
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
2167
2268
|
type: Inject,
|
|
2168
2269
|
args: ['uiComponent']
|
|
@@ -2274,13 +2375,16 @@ class LabelComponent {
|
|
|
2274
2375
|
this.renderer.setStyle(this.spanElementRef.nativeElement, 'font-size', fontSize);
|
|
2275
2376
|
this.renderer.setStyle(this.spanElementRef.nativeElement, 'line-height', lineHeight);
|
|
2276
2377
|
}
|
|
2277
|
-
const
|
|
2278
|
-
|
|
2378
|
+
const normalizedMaxLinesRaw = element.maxLines ?? 1;
|
|
2379
|
+
const normalizedMaxLines = Number(normalizedMaxLinesRaw);
|
|
2380
|
+
if (!Number.isNaN(normalizedMaxLines) && normalizedMaxLines > 0) {
|
|
2279
2381
|
this.renderer.setStyle(this.spanElementRef.nativeElement, 'display', '-webkit-box');
|
|
2280
2382
|
this.renderer.setStyle(this.spanElementRef.nativeElement, '-webkit-box-orient', 'vertical');
|
|
2281
2383
|
this.renderer.setStyle(this.spanElementRef.nativeElement, 'overflow', 'hidden');
|
|
2282
2384
|
this.renderer.setStyle(this.spanElementRef.nativeElement, 'text-overflow', 'ellipsis');
|
|
2283
|
-
this.renderer.setStyle(this.spanElementRef.nativeElement, '-
|
|
2385
|
+
this.renderer.setStyle(this.spanElementRef.nativeElement, 'white-space', 'normal');
|
|
2386
|
+
this.renderer.setStyle(this.spanElementRef.nativeElement, 'word-break', 'break-word');
|
|
2387
|
+
this.renderer.setStyle(this.spanElementRef.nativeElement, '-webkit-line-clamp', normalizedMaxLines);
|
|
2284
2388
|
}
|
|
2285
2389
|
if (element.opacity) {
|
|
2286
2390
|
const opacity = element.opacity;
|
|
@@ -2354,11 +2458,11 @@ class ZStackComponent {
|
|
|
2354
2458
|
// console.debug('zstack.uiComponent: ', this.uiComponent);
|
|
2355
2459
|
}
|
|
2356
2460
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZStackComponent, deps: [{ token: 'uiComponent' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2357
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ZStackComponent, isStandalone: false, selector: "edm-sdui-zstack", ngImport: i0, template: "<div #zstackElementRef class=\"zstack\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <ng-container *ngFor=\"let child of uiComponent.components\">\n <div class=\"zstack-child\">\n <edm-sdui-component [uiComponent]=\"child\"></edm-sdui-component>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:contents}.zstack{display:grid}.zstack-child{grid-area:1/1;display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
2461
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ZStackComponent, isStandalone: false, selector: "edm-sdui-zstack", ngImport: i0, template: "<div #zstackElementRef class=\"zstack\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <ng-container *ngFor=\"let child of uiComponent.components\">\n <div class=\"zstack-child\">\n <edm-sdui-component [uiComponent]=\"child\"></edm-sdui-component>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:contents}.zstack{display:grid;overflow:clip;flex:0 0 auto}.zstack-child{grid-area:1/1;display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
2358
2462
|
}
|
|
2359
2463
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZStackComponent, decorators: [{
|
|
2360
2464
|
type: Component,
|
|
2361
|
-
args: [{ selector: 'edm-sdui-zstack', standalone: false, template: "<div #zstackElementRef class=\"zstack\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <ng-container *ngFor=\"let child of uiComponent.components\">\n <div class=\"zstack-child\">\n <edm-sdui-component [uiComponent]=\"child\"></edm-sdui-component>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:contents}.zstack{display:grid}.zstack-child{grid-area:1/1;display:flex;align-items:center}\n"] }]
|
|
2465
|
+
args: [{ selector: 'edm-sdui-zstack', standalone: false, template: "<div #zstackElementRef class=\"zstack\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <ng-container *ngFor=\"let child of uiComponent.components\">\n <div class=\"zstack-child\">\n <edm-sdui-component [uiComponent]=\"child\"></edm-sdui-component>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:contents}.zstack{display:grid;overflow:clip;flex:0 0 auto}.zstack-child{grid-area:1/1;display:flex;align-items:center}\n"] }]
|
|
2362
2466
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
2363
2467
|
type: Inject,
|
|
2364
2468
|
args: ['uiComponent']
|
|
@@ -2439,51 +2543,6 @@ var button_component = /*#__PURE__*/Object.freeze({
|
|
|
2439
2543
|
ButtonComponent: ButtonComponent
|
|
2440
2544
|
});
|
|
2441
2545
|
|
|
2442
|
-
var UISize;
|
|
2443
|
-
(function (UISize) {
|
|
2444
|
-
UISize["THUMB_1"] = "thumb_1";
|
|
2445
|
-
UISize["THUMB_2"] = "thumb_2";
|
|
2446
|
-
UISize["THUMB_3"] = "thumb_3";
|
|
2447
|
-
UISize["THUMB_4"] = "thumb_4";
|
|
2448
|
-
UISize["ASSET_1"] = "asset_1";
|
|
2449
|
-
UISize["ASSET_2"] = "asset_2";
|
|
2450
|
-
UISize["ASSET_3"] = "asset_3";
|
|
2451
|
-
UISize["ASSET_4"] = "asset_4";
|
|
2452
|
-
UISize["ASSET_5"] = "asset_5";
|
|
2453
|
-
UISize["ASSET_6"] = "asset_6";
|
|
2454
|
-
UISize["ASSET_7"] = "asset_7";
|
|
2455
|
-
UISize["ASSET_8"] = "asset_8";
|
|
2456
|
-
})(UISize || (UISize = {}));
|
|
2457
|
-
|
|
2458
|
-
const sizeMappingHeight = {
|
|
2459
|
-
[UISize.THUMB_1]: '56px',
|
|
2460
|
-
[UISize.THUMB_2]: '40px',
|
|
2461
|
-
[UISize.THUMB_3]: '180px',
|
|
2462
|
-
[UISize.THUMB_4]: '380px',
|
|
2463
|
-
[UISize.ASSET_1]: '26px',
|
|
2464
|
-
[UISize.ASSET_2]: '16px',
|
|
2465
|
-
[UISize.ASSET_3]: '80px',
|
|
2466
|
-
[UISize.ASSET_4]: '60px',
|
|
2467
|
-
[UISize.ASSET_5]: '18px',
|
|
2468
|
-
[UISize.ASSET_6]: '20px',
|
|
2469
|
-
[UISize.ASSET_7]: '22px',
|
|
2470
|
-
[UISize.ASSET_8]: '24px',
|
|
2471
|
-
};
|
|
2472
|
-
const sizeMappingWidth = {
|
|
2473
|
-
[UISize.THUMB_1]: '100px',
|
|
2474
|
-
[UISize.THUMB_2]: '105px',
|
|
2475
|
-
[UISize.THUMB_3]: '320px',
|
|
2476
|
-
[UISize.THUMB_4]: '262px',
|
|
2477
|
-
[UISize.ASSET_1]: '26px',
|
|
2478
|
-
[UISize.ASSET_2]: '16px',
|
|
2479
|
-
[UISize.ASSET_3]: '80px',
|
|
2480
|
-
[UISize.ASSET_4]: '60px',
|
|
2481
|
-
[UISize.ASSET_5]: '18px',
|
|
2482
|
-
[UISize.ASSET_6]: '20px',
|
|
2483
|
-
[UISize.ASSET_7]: '22px',
|
|
2484
|
-
[UISize.ASSET_8]: '24px',
|
|
2485
|
-
};
|
|
2486
|
-
|
|
2487
2546
|
var UIAspectType;
|
|
2488
2547
|
(function (UIAspectType) {
|
|
2489
2548
|
UIAspectType["FILL"] = "fill";
|
|
@@ -3342,11 +3401,11 @@ class ProgressBarComponent {
|
|
|
3342
3401
|
}
|
|
3343
3402
|
}
|
|
3344
3403
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProgressBarComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3345
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ProgressBarComponent, isStandalone: false, selector: "edm-sdui-progress-bar", viewQueries: [{ propertyName: "progressFillElementRef", first: true, predicate: ["progressFillElement"], descendants: true }], ngImport: i0, template: "<div [edmSduiView]=\"uiComponent.element\" class=\"progress-bar-container\" *ngIf=\"uiComponent\">\n <div #progressFillElement class=\"progress-bar-fill\"></div>\n</div>\n", styles: [":host{display:contents}.progress-bar-container{position:relative;width:100%;height:5px;background-color:#e0e0e0;border-radius:4px;overflow:
|
|
3404
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ProgressBarComponent, isStandalone: false, selector: "edm-sdui-progress-bar", viewQueries: [{ propertyName: "progressFillElementRef", first: true, predicate: ["progressFillElement"], descendants: true }], ngImport: i0, template: "<div [edmSduiView]=\"uiComponent.element\" class=\"progress-bar-container\" *ngIf=\"uiComponent\">\n <div #progressFillElement class=\"progress-bar-fill\"></div>\n</div>\n", styles: [":host{display:contents}.progress-bar-container{position:relative;width:100%;height:5px;background-color:#e0e0e0;border-radius:4px;overflow:clip}.progress-bar-container .progress-bar-fill{height:100%;width:0;background-color:#2196f3;transition:width .3s ease}.progress-bar-container .progress-bar-label{position:absolute;top:100%;left:0;width:100%;text-align:center;font-size:12px;margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
3346
3405
|
}
|
|
3347
3406
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProgressBarComponent, decorators: [{
|
|
3348
3407
|
type: Component,
|
|
3349
|
-
args: [{ selector: 'edm-sdui-progress-bar', standalone: false, template: "<div [edmSduiView]=\"uiComponent.element\" class=\"progress-bar-container\" *ngIf=\"uiComponent\">\n <div #progressFillElement class=\"progress-bar-fill\"></div>\n</div>\n", styles: [":host{display:contents}.progress-bar-container{position:relative;width:100%;height:5px;background-color:#e0e0e0;border-radius:4px;overflow:
|
|
3408
|
+
args: [{ selector: 'edm-sdui-progress-bar', standalone: false, template: "<div [edmSduiView]=\"uiComponent.element\" class=\"progress-bar-container\" *ngIf=\"uiComponent\">\n <div #progressFillElement class=\"progress-bar-fill\"></div>\n</div>\n", styles: [":host{display:contents}.progress-bar-container{position:relative;width:100%;height:5px;background-color:#e0e0e0;border-radius:4px;overflow:clip}.progress-bar-container .progress-bar-fill{height:100%;width:0;background-color:#2196f3;transition:width .3s ease}.progress-bar-container .progress-bar-label{position:absolute;top:100%;left:0;width:100%;text-align:center;font-size:12px;margin-top:4px}\n"] }]
|
|
3350
3409
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
3351
3410
|
type: Inject,
|
|
3352
3411
|
args: ['uiComponent']
|