ngx-tethys 14.2.1 → 14.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/dialog/styles/dialog.scss +8 -4
- package/esm2020/button/button.component.mjs +7 -7
- package/esm2020/guider/guider-step-ref.mjs +2 -5
- package/esm2020/guider/guider.class.mjs +2 -2
- package/esm2020/guider/utils.mjs +4 -8
- package/esm2020/types/common.mjs +2 -8
- package/esm2020/version.mjs +2 -2
- package/fesm2015/ngx-tethys-button.mjs +5 -5
- package/fesm2015/ngx-tethys-button.mjs.map +1 -1
- package/fesm2015/ngx-tethys-guider.mjs +5 -12
- package/fesm2015/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2015/ngx-tethys-types.mjs +0 -10
- package/fesm2015/ngx-tethys-types.mjs.map +1 -1
- package/fesm2015/ngx-tethys.mjs +1 -1
- package/fesm2015/ngx-tethys.mjs.map +1 -1
- package/fesm2020/ngx-tethys-button.mjs +5 -5
- package/fesm2020/ngx-tethys-button.mjs.map +1 -1
- package/fesm2020/ngx-tethys-guider.mjs +5 -12
- package/fesm2020/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2020/ngx-tethys-types.mjs +0 -10
- package/fesm2020/ngx-tethys-types.mjs.map +1 -1
- package/fesm2020/ngx-tethys.mjs +1 -1
- package/fesm2020/ngx-tethys.mjs.map +1 -1
- package/guider/guider.class.d.ts +12 -3
- package/guider/utils.d.ts +4 -1
- package/input/styles/input-group.scss +2 -0
- package/package.json +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/table/styles/table.scss +11 -10
- package/types/common.d.ts +1 -15
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [14.2.3](https://github.com/atinc/ngx-tethys/compare/14.2.2...14.2.3) (2022-12-13)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **dialog:** add style for dialog use setting siderbar header zd/#INFR-5686 ([#2425](https://github.com/atinc/ngx-tethys/issues/2425)) ([abfa03c](https://github.com/atinc/ngx-tethys/commit/abfa03c91f221ee21fc7d57d420173f8e1cb6eb2)), closes [zd/#INFR-5686](https://github.com/atinc/ngx-tethys/issues/INFR-5686)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **cdk:** add Ids, IdOrIds types and export these from @tethys/cdk/immutable in types and remove unused types #INFR-5683 ([#2424](https://github.com/atinc/ngx-tethys/issues/2424)) ([a53dec2](https://github.com/atinc/ngx-tethys/commit/a53dec272212771f5e7f14f8d6ee4ca0e7d28f61)), closes [#INFR-5683](https://github.com/atinc/ngx-tethys/issues/INFR-5683)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## [14.2.2](https://github.com/atinc/ngx-tethys/compare/14.2.1...14.2.2) (2022-12-09)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* **git:** auto merge retry 20 sleep 1m ([#2420](https://github.com/atinc/ngx-tethys/issues/2420)) ([a399ec1](https://github.com/atinc/ngx-tethys/commit/a399ec17f122063e645dc296b075918a8f64982f))
|
|
25
|
+
* **input:** add display inline-flex for input-group-prefix and replace UpdateHostClassService with useHostRenderer for button ([7ccc291](https://github.com/atinc/ngx-tethys/commit/7ccc291b939b66bff3bc7c14067fbf60eecd0e98))
|
|
26
|
+
* **table:** adjust the style of border-radius #INFR-5673 ([#2421](https://github.com/atinc/ngx-tethys/issues/2421)) ([4189d9d](https://github.com/atinc/ngx-tethys/commit/4189d9d278a8fed3f16c5e53e0677b724ab6fa0c)), closes [#INFR-5673](https://github.com/atinc/ngx-tethys/issues/INFR-5673)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
5
30
|
## [14.2.1](https://github.com/atinc/ngx-tethys/compare/14.2.0...14.2.1) (2022-12-08)
|
|
6
31
|
|
|
7
32
|
|
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
@use "../../styles/variables";
|
|
5
5
|
@use "../../styles/modules/utils.scss";
|
|
6
6
|
|
|
7
|
+
.thy-dialog-content-sidebar-header {
|
|
8
|
+
min-height: variables.$dialog-header-height;
|
|
9
|
+
.title {
|
|
10
|
+
font-size: variables.$font-size-md;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
7
14
|
.thy-dialog-container {
|
|
8
15
|
display: flex;
|
|
9
16
|
flex-direction: column;
|
|
@@ -33,11 +40,8 @@
|
|
|
33
40
|
@extend .d-flex-column-fill;
|
|
34
41
|
overflow: hidden;
|
|
35
42
|
& > .thy-layout > .thy-layout-sidebar > .sidebar-header {
|
|
36
|
-
min-height: variables.$dialog-header-height;
|
|
37
43
|
padding: variables.$dialog-header-padding;
|
|
38
|
-
.
|
|
39
|
-
font-size: variables.$font-size-md;
|
|
40
|
-
}
|
|
44
|
+
@extend .thy-dialog-content-sidebar-header;
|
|
41
45
|
}
|
|
42
46
|
}
|
|
43
47
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import {
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { InputBoolean } from 'ngx-tethys/core';
|
|
3
4
|
import { assertIconOnly } from 'ngx-tethys/util';
|
|
4
|
-
import {
|
|
5
|
+
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/common";
|
|
7
8
|
import * as i2 from "ngx-tethys/icon";
|
|
@@ -28,8 +29,7 @@ export class ThyButtonComponent {
|
|
|
28
29
|
this._initialized = false;
|
|
29
30
|
// 圆角方形
|
|
30
31
|
this._isRadiusSquare = false;
|
|
31
|
-
this.hostRenderer =
|
|
32
|
-
this.hostRenderer.initializeElement(elementRef);
|
|
32
|
+
this.hostRenderer = useHostRenderer();
|
|
33
33
|
}
|
|
34
34
|
get nativeElement() {
|
|
35
35
|
return this.elementRef.nativeElement;
|
|
@@ -160,7 +160,7 @@ export class ThyButtonComponent {
|
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
ThyButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
163
|
-
ThyButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: { thyButton: "thyButton", thyType: "thyType", thyLoading: "thyLoading", thyLoadingText: "thyLoadingText", thySize: "thySize", thyIcon: "thyIcon", thyBlock: "thyBlock" }, host: { properties: { "class.btn-block": "this.thyBlock" }, classAttribute: "thy-btn btn" },
|
|
163
|
+
ThyButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: { thyButton: "thyButton", thyType: "thyType", thyLoading: "thyLoading", thyLoadingText: "thyLoadingText", thySize: "thySize", thyIcon: "thyIcon", thyBlock: "thyBlock" }, host: { properties: { "class.btn-block": "this.thyBlock" }, classAttribute: "thy-btn btn" }, ngImport: i0, template: "<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClass\" *ngIf=\"iconClass\"></i>\n</ng-template>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
164
164
|
__decorate([
|
|
165
165
|
InputBoolean(),
|
|
166
166
|
__metadata("design:type", Boolean),
|
|
@@ -174,7 +174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
174
174
|
type: Component,
|
|
175
175
|
args: [{ selector: 'thy-button,[thy-button],[thyButton]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
176
176
|
class: 'thy-btn btn'
|
|
177
|
-
},
|
|
177
|
+
}, template: "<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClass\" *ngIf=\"iconClass\"></i>\n</ng-template>\n<ng-content></ng-content>\n" }]
|
|
178
178
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { thyButton: [{
|
|
179
179
|
type: Input
|
|
180
180
|
}], thyType: [{
|
|
@@ -193,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
193
193
|
}, {
|
|
194
194
|
type: Input
|
|
195
195
|
}] } });
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFFakIsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDOzs7O0FBcUJ2QixNQUFNLGlCQUFpQixHQUFHO0lBQ3RCLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN4QixTQUFTLEVBQUUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDO0lBQ3BDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNsQixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDeEIsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ3RCLGlCQUFpQixFQUFFLENBQUMscUJBQXFCLENBQUM7SUFDMUMsaUJBQWlCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztJQUMxQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDbEIsV0FBVyxFQUFFLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQztJQUMxQyxnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQztJQUN2RCxrQkFBa0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxzQkFBc0IsQ0FBQztJQUN4RCxhQUFhLEVBQUUsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUM7SUFDOUMsY0FBYyxFQUFFLENBQUMsVUFBVSxFQUFFLGtC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QyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN6QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7K0dBOUtRLGtCQUFrQjttR0FBbEIsa0JBQWtCLDZVQUZoQixDQUFDLHNCQUFzQixDQUFDLDBCQzdEdkMsdU5BS0E7O0lEaUdLLFlBQVksRUFBRTs7O29EQVdkOztJQTBDQSxZQUFZLEVBQUU7O29EQUNHOzJGQTdGVCxrQkFBa0I7a0JBVjlCLFNBQVM7K0JBQ0kscUNBQXFDLGlCQUVoQyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxhQUFhO3FCQUN2QixhQUNVLENBQUMsc0JBQXNCLENBQUM7eUhBK0IvQixTQUFTO3NCQURaLEtBQUs7Z0JBTUYsT0FBTztzQkFEVixLQUFLO2dCQU9GLFVBQVU7c0JBRmIsS0FBSztnQkFlRixjQUFjO3NCQURqQixLQUFLO2dCQVdGLE9BQU87c0JBRFYsS0FBSztnQkFTRixPQUFPO3NCQURWLEtBQUs7Z0JBdUJOLFFBQVE7c0JBSFAsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBVcGRhdGVIb3N0Q2xhc3NTZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGFzc2VydEljb25Pbmx5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBUaHlCdXR0b25UeXBlID1cbiAgICB8ICdwcmltYXJ5J1xuICAgIHwgJ3NlY29uZGFyeSdcbiAgICB8ICdpbmZvJ1xuICAgIHwgJ291dGxpbmUtcHJpbWFyeSdcbiAgICB8ICdvdXRsaW5lLWRlZmF1bHQnXG4gICAgfCAnZGFuZ2VyJ1xuICAgIHwgJ2xpbmsnXG4gICAgfCAnbGluay1zZWNvbmRhcnknXG4gICAgfCAnd2FybmluZydcbiAgICB8ICdvdXRsaW5lLXdhcm5pbmcnXG4gICAgfCAnc3VjY2VzcydcbiAgICB8ICdvdXRsaW5lLXN1Y2Nlc3MnXG4gICAgfCAnb3V0bGluZS1pbmZvJ1xuICAgIHwgJ291dGxpbmUtZGFuZ2VyJ1xuICAgIHwgJ2xpbmstZGFuZ2VyLXdlYWsnXG4gICAgfCAnbGluay1kYW5nZXInXG4gICAgfCAnbGluay1zdWNjZXNzJztcblxuY29uc3QgYnRuVHlwZUNsYXNzZXNNYXAgPSB7XG4gICAgcHJpbWFyeTogWydidG4tcHJpbWFyeSddLFxuICAgIHNlY29uZGFyeTogWydidG4tcHJpbWFyeScsICdidG4tbWQnXSxcbiAgICBpbmZvOiBbJ2J0bi1pbmZvJ10sXG4gICAgd2FybmluZzogWydidG4td2FybmluZyddLFxuICAgIGRhbmdlcjogWydidG4tZGFuZ2VyJ10sXG4gICAgJ291dGxpbmUtcHJpbWFyeSc6IFsnYnRuLW91dGxpbmUtcHJpbWFyeSddLFxuICAgICdvdXRsaW5lLWRlZmF1bHQnOiBbJ2J0bi1vdXRsaW5lLWRlZmF1bHQnXSxcbiAgICBsaW5rOiBbJ2J0bi1saW5rJ10sIC8vIOmTvuaOpeaMiemSrlxuICAgICdsaW5rLWluZm8nOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLWluZm8nXSwgLy8g5bm954G16ZO+5o6l5oyJ6ZKuXG4gICAgJ2xpbmstc2Vjb25kYXJ5JzogWydidG4tbGluaycsICdidG4tbGluay1wcmltYXJ5LXdlYWsnXSwgLy8g5bm954G16ZO+5o6l5oyJ6ZKuXG4gICAgJ2xpbmstZGFuZ2VyLXdlYWsnOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLWRhbmdlci13ZWFrJ10sIC8vIOW5veeBteWNsemZqeaMiemSrlxuICAgICdsaW5rLWRhbmdlcic6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstZGFuZ2VyJ10sIC8vIOWNsemZqeaMiemSrlxuICAgICdsaW5rLXN1Y2Nlc3MnOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLXN1Y2Nlc3MnXSAvLyDmiJDlip/mjInpkq5cbn07XG5cbmNvbnN0IGljb25Pbmx5Q2xhc3MgPSAndGh5LWJ0bi1pY29uLW9ubHknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1idXR0b24sW3RoeS1idXR0b25dLFt0aHlCdXR0b25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYnRuIGJ0bidcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1VwZGF0ZUhvc3RDbGFzc1NlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX29yaWdpbmFsVGV4dDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfdHlwZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfc2l6ZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfaWNvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfbG9hZGluZzogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgX2xvYWRpbmdUZXh0OiBzdHJpbmc7XG5cbiAgICAvLyDlnIbop5LmlrnlvaJcbiAgICBfaXNSYWRpdXNTcXVhcmUgPSBmYWxzZTtcblxuICAgIGljb25DbGFzczogc3RyaW5nW107XG5cbiAgICBzdmdJY29uTmFtZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IGluamVjdChVcGRhdGVIb3N0Q2xhc3NTZXJ2aWNlKTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUJ1dHRvbih2YWx1ZTogVGh5QnV0dG9uVHlwZSkge1xuICAgICAgICB0aGlzLnNldEJ0blR5cGUodmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVR5cGUodmFsdWU6IFRoeUJ1dHRvblR5cGUpIHtcbiAgICAgICAgdGhpcy5zZXRCdG5UeXBlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dEJvb2xlYW4oKVxuICAgIHNldCB0aHlMb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdGhpcy5fbG9hZGluZyAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZyA9IHZhbHVlO1xuICAgICAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcignc3BhbicpO1xuICAgICAgICAgICAgdGhpcy5fb3JpZ2luYWxUZXh0ID0gdGV4dEVsZW1lbnQgPyB0ZXh0RWxlbWVudC5pbm5lclRleHQgOiAnJztcbiAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZ1N0YXR1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZyA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlMb2FkaW5nVGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLl9sb2FkaW5nVGV4dCAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmdUZXh0ID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodGhpcy5fbG9hZGluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZ1RleHQodGhpcy5fbG9hZGluZ1RleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHNpemU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlJY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pY29uID0gaWNvbjtcbiAgICAgICAgaWYgKHRoaXMuX2ljb24pIHtcbiAgICAgICAgICAgIGlmIChpY29uLmluY2x1ZGVzKCd3dGYnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLl9pY29uLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKGNsYXNzZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXMudW5zaGlmdCgnd3RmJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbkNsYXNzID0gY2xhc3NlcztcbiAgICAgICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb25DbGFzcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuYnRuLWJsb2NrYClcbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dEJvb2xlYW4oKVxuICAgIHRoeUJsb2NrOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBzZXRCdG5UeXBlKHZhbHVlOiBUaHlCdXR0b25UeXBlKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKCctc3F1YXJlJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90eXBlID0gdmFsdWUucmVwbGFjZSgnLXNxdWFyZScsICcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1JhZGl1c1NxdWFyZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExvYWRpbmdUZXh0KHRleHQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzcGFuRWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XG4gICAgICAgIGlmIChzcGFuRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShzcGFuRWxlbWVudCwgJ2lubmVyVGV4dCcsIHRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMb2FkaW5nU3RhdHVzKCkge1xuICAgICAgICBjb25zdCBpbm5lclRleHQgPSB0aGlzLl9sb2FkaW5nID8gdGhpcy5fbG9hZGluZ1RleHQgOiB0aGlzLl9vcmlnaW5hbFRleHQ7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICBpZiAoaW5uZXJUZXh0KSB7XG4gICAgICAgICAgICB0aGlzLnNldExvYWRpbmdUZXh0KGlubmVyVGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKSB7XG4gICAgICAgIGxldCBjbGFzc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoYnRuVHlwZUNsYXNzZXNNYXBbdGhpcy5fdHlwZV0pIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMgPSBbLi4uYnRuVHlwZUNsYXNzZXNNYXBbdGhpcy5fdHlwZV1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3R5cGUpIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goYGJ0bi0ke3RoaXMuX3R5cGV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX3NpemUpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChgYnRuLSR7dGhpcy5fc2l6ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5faXNSYWRpdXNTcXVhcmUpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgnYnRuLXNxdWFyZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9sb2FkaW5nKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goJ2xvYWRpbmcnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5pbml0aWFsaXplRWxlbWVudChlbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmIChhc3NlcnRJY29uT25seSh0aGlzLm5hdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5hZGRDbGFzcyhpY29uT25seUNsYXNzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnJlbW92ZUNsYXNzKGljb25Pbmx5Q2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud3JhcFNwYW5Gb3JUZXh0KHRoaXMubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyYXBTcGFuRm9yVGV4dChub2RlczogTm9kZUxpc3QpOiB2b2lkIHtcbiAgICAgICAgbm9kZXMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlLm5vZGVOYW1lID09PSAnI3RleHQnKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3BhbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZShub2RlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHNwYW4sICd0aHktYnRuLXdyYXAtc3BhbicpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHBhcmVudCwgc3Bhbiwgbm9kZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChzcGFuLCBub2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPHRoeS1pY29uICpuZ0lmPVwic3ZnSWNvbk5hbWU7IGVsc2UgaWNvbkZvbnRcIiBbdGh5SWNvbk5hbWVdPVwic3ZnSWNvbk5hbWVcIj48L3RoeS1pY29uPlxuPG5nLXRlbXBsYXRlICNpY29uRm9udD5cbiAgPGkgW25nQ2xhc3NdPVwiaWNvbkNsYXNzXCIgKm5nSWY9XCJpY29uQ2xhc3NcIj48L2k+XG48L25nLXRlbXBsYXRlPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEVBRXBCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBcUJsRCxNQUFNLGlCQUFpQixHQUFHO0lBQ3RCLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN4QixTQUFTLEVBQUUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDO0lBQ3BDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNsQixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDeEIsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ3RCLGlCQUFpQixFQUFFLENBQUMscUJBQXFCLENBQUM7SUFDMUMsaUJBQWlCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztJQUMxQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDbEIsV0FBVyxFQUFFLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQztJQUMxQyxnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQztJQUN2RCxrQkFBa0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxzQkFBc0IsQ0FBQztJQUN4RCxhQUFhLEVBQUUsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUM7SUFDOUMsY0FBYyxF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LE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ3pDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsrR0E1S1Esa0JBQWtCO21HQUFsQixrQkFBa0IsMFZDOUQvQix1TkFLQTs7SURnR0ssWUFBWSxFQUFFOzs7b0RBV2Q7O0lBMENBLFlBQVksRUFBRTs7b0RBQ0c7MkZBN0ZULGtCQUFrQjtrQkFUOUIsU0FBUzsrQkFDSSxxQ0FBcUMsaUJBRWhDLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLGFBQWE7cUJBQ3ZCO3lIQStCRyxTQUFTO3NCQURaLEtBQUs7Z0JBTUYsT0FBTztzQkFEVixLQUFLO2dCQU9GLFVBQVU7c0JBRmIsS0FBSztnQkFlRixjQUFjO3NCQURqQixLQUFLO2dCQVdGLE9BQU87c0JBRFYsS0FBSztnQkFTRixPQUFPO3NCQURWLEtBQUs7Z0JBdUJOLFFBQVE7c0JBSFAsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIEFmdGVyVmlld0luaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnRJY29uT25seSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuXG5leHBvcnQgdHlwZSBUaHlCdXR0b25UeXBlID1cbiAgICB8ICdwcmltYXJ5J1xuICAgIHwgJ3NlY29uZGFyeSdcbiAgICB8ICdpbmZvJ1xuICAgIHwgJ291dGxpbmUtcHJpbWFyeSdcbiAgICB8ICdvdXRsaW5lLWRlZmF1bHQnXG4gICAgfCAnZGFuZ2VyJ1xuICAgIHwgJ2xpbmsnXG4gICAgfCAnbGluay1zZWNvbmRhcnknXG4gICAgfCAnd2FybmluZydcbiAgICB8ICdvdXRsaW5lLXdhcm5pbmcnXG4gICAgfCAnc3VjY2VzcydcbiAgICB8ICdvdXRsaW5lLXN1Y2Nlc3MnXG4gICAgfCAnb3V0bGluZS1pbmZvJ1xuICAgIHwgJ291dGxpbmUtZGFuZ2VyJ1xuICAgIHwgJ2xpbmstZGFuZ2VyLXdlYWsnXG4gICAgfCAnbGluay1kYW5nZXInXG4gICAgfCAnbGluay1zdWNjZXNzJztcblxuY29uc3QgYnRuVHlwZUNsYXNzZXNNYXAgPSB7XG4gICAgcHJpbWFyeTogWydidG4tcHJpbWFyeSddLFxuICAgIHNlY29uZGFyeTogWydidG4tcHJpbWFyeScsICdidG4tbWQnXSxcbiAgICBpbmZvOiBbJ2J0bi1pbmZvJ10sXG4gICAgd2FybmluZzogWydidG4td2FybmluZyddLFxuICAgIGRhbmdlcjogWydidG4tZGFuZ2VyJ10sXG4gICAgJ291dGxpbmUtcHJpbWFyeSc6IFsnYnRuLW91dGxpbmUtcHJpbWFyeSddLFxuICAgICdvdXRsaW5lLWRlZmF1bHQnOiBbJ2J0bi1vdXRsaW5lLWRlZmF1bHQnXSxcbiAgICBsaW5rOiBbJ2J0bi1saW5rJ10sIC8vIOmTvuaOpeaMiemSrlxuICAgICdsaW5rLWluZm8nOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLWluZm8nXSwgLy8g5bm954G16ZO+5o6l5oyJ6ZKuXG4gICAgJ2xpbmstc2Vjb25kYXJ5JzogWydidG4tbGluaycsICdidG4tbGluay1wcmltYXJ5LXdlYWsnXSwgLy8g5bm954G16ZO+5o6l5oyJ6ZKuXG4gICAgJ2xpbmstZGFuZ2VyLXdlYWsnOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLWRhbmdlci13ZWFrJ10sIC8vIOW5veeBteWNsemZqeaMiemSrlxuICAgICdsaW5rLWRhbmdlcic6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstZGFuZ2VyJ10sIC8vIOWNsemZqeaMiemSrlxuICAgICdsaW5rLXN1Y2Nlc3MnOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLXN1Y2Nlc3MnXSAvLyDmiJDlip/mjInpkq5cbn07XG5cbmNvbnN0IGljb25Pbmx5Q2xhc3MgPSAndGh5LWJ0bi1pY29uLW9ubHknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1idXR0b24sW3RoeS1idXR0b25dLFt0aHlCdXR0b25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYnRuIGJ0bidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRoeUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX29yaWdpbmFsVGV4dDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfdHlwZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfc2l6ZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfaWNvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfbG9hZGluZzogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgX2xvYWRpbmdUZXh0OiBzdHJpbmc7XG5cbiAgICAvLyDlnIbop5LmlrnlvaJcbiAgICBfaXNSYWRpdXNTcXVhcmUgPSBmYWxzZTtcblxuICAgIGljb25DbGFzczogc3RyaW5nW107XG5cbiAgICBzdmdJY29uTmFtZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QnV0dG9uKHZhbHVlOiBUaHlCdXR0b25UeXBlKSB7XG4gICAgICAgIHRoaXMuc2V0QnRuVHlwZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VHlwZSh2YWx1ZTogVGh5QnV0dG9uVHlwZSkge1xuICAgICAgICB0aGlzLnNldEJ0blR5cGUodmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgc2V0IHRoeUxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCF0aGlzLl9sb2FkaW5nICYmIHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XG4gICAgICAgICAgICB0aGlzLl9vcmlnaW5hbFRleHQgPSB0ZXh0RWxlbWVudCA/IHRleHRFbGVtZW50LmlubmVyVGV4dCA6ICcnO1xuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnNldExvYWRpbmdTdGF0dXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxvYWRpbmdUZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuX2xvYWRpbmdUZXh0ICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZ1RleHQgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nVGV4dCh0aGlzLl9sb2FkaW5nVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlTaXplKHNpemU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zaXplID0gc2l6ZTtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2ljb24gPSBpY29uO1xuICAgICAgICBpZiAodGhpcy5faWNvbikge1xuICAgICAgICAgICAgaWYgKGljb24uaW5jbHVkZXMoJ3d0ZicpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xhc3NlcyA9IHRoaXMuX2ljb24uc3BsaXQoJyAnKTtcbiAgICAgICAgICAgICAgICBpZiAoY2xhc3Nlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy51bnNoaWZ0KCd3dGYnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSBjbGFzc2VzO1xuICAgICAgICAgICAgICAgIHRoaXMuc3ZnSWNvbk5hbWUgPSBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gaWNvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaWNvbkNsYXNzID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc3ZnSWNvbk5hbWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5idG4tYmxvY2tgKVxuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgdGh5QmxvY2s6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIHNldEJ0blR5cGUodmFsdWU6IFRoeUJ1dHRvblR5cGUpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJy1zcXVhcmUnKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZS5yZXBsYWNlKCctc3F1YXJlJywgJycpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2lzUmFkaXVzU3F1YXJlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdHlwZSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TG9hZGluZ1RleHQodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHNwYW5FbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4nKTtcbiAgICAgICAgaWYgKHNwYW5FbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHNwYW5FbGVtZW50LCAnaW5uZXJUZXh0JywgdGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExvYWRpbmdTdGF0dXMoKSB7XG4gICAgICAgIGNvbnN0IGlubmVyVGV4dCA9IHRoaXMuX2xvYWRpbmcgPyB0aGlzLl9sb2FkaW5nVGV4dCA6IHRoaXMuX29yaWdpbmFsVGV4dDtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIGlmIChpbm5lclRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZ1RleHQoaW5uZXJUZXh0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ2xhc3NlcygpIHtcbiAgICAgICAgbGV0IGNsYXNzTmFtZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmIChidG5UeXBlQ2xhc3Nlc01hcFt0aGlzLl90eXBlXSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcyA9IFsuLi5idG5UeXBlQ2xhc3Nlc01hcFt0aGlzLl90eXBlXV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fdHlwZSkge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChgYnRuLSR7dGhpcy5fdHlwZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fc2l6ZSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGBidG4tJHt0aGlzLl9zaXplfWApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9pc1JhZGl1c1NxdWFyZSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNoKCdidG4tc3F1YXJlJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2xvYWRpbmcpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgnbG9hZGluZycpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKGNsYXNzTmFtZXMpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAoYXNzZXJ0SWNvbk9ubHkodGhpcy5uYXRpdmVFbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIuYWRkQ2xhc3MoaWNvbk9ubHlDbGFzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5yZW1vdmVDbGFzcyhpY29uT25seUNsYXNzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndyYXBTcGFuRm9yVGV4dCh0aGlzLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3cmFwU3BhbkZvclRleHQobm9kZXM6IE5vZGVMaXN0KTogdm9pZCB7XG4gICAgICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgICAgICBpZiAobm9kZS5ub2RlTmFtZSA9PT0gJyN0ZXh0Jykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNwYW4gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUobm9kZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhzcGFuLCAndGh5LWJ0bi13cmFwLXNwYW4nKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShwYXJlbnQsIHNwYW4sIG5vZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoc3Bhbiwgbm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjx0aHktaWNvbiAqbmdJZj1cInN2Z0ljb25OYW1lOyBlbHNlIGljb25Gb250XCIgW3RoeUljb25OYW1lXT1cInN2Z0ljb25OYW1lXCI+PC90aHktaWNvbj5cbjxuZy10ZW1wbGF0ZSAjaWNvbkZvbnQ+XG4gIDxpIFtuZ0NsYXNzXT1cImljb25DbGFzc1wiICpuZ0lmPVwiaWNvbkNsYXNzXCI+PC9pPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
|
@@ -119,10 +119,7 @@ let ThyGuiderStepRef = class ThyGuiderStepRef {
|
|
|
119
119
|
const position = this.getTipPosition(step);
|
|
120
120
|
this.lastPopoverRef = this.popover.open(this.guiderRef.config.hintComponent, {
|
|
121
121
|
origin: null,
|
|
122
|
-
originPosition:
|
|
123
|
-
x: position[0],
|
|
124
|
-
y: position[1]
|
|
125
|
-
},
|
|
122
|
+
originPosition: position,
|
|
126
123
|
originActiveClass: '',
|
|
127
124
|
panelClass: this.guiderRef.config.hintClass || '',
|
|
128
125
|
backdropClosable: false,
|
|
@@ -238,4 +235,4 @@ ThyGuiderStepRef = __decorate([
|
|
|
238
235
|
Document])
|
|
239
236
|
], ThyGuiderStepRef);
|
|
240
237
|
export { ThyGuiderStepRef };
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVyLXN0ZXAtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2d1aWRlci9ndWlkZXItc3RlcC1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFtQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFN0MsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUFDOUIsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUFlekIsWUFDVyxJQUFtQixFQUNuQixTQUFpQixFQUNQLGVBQWlDLEVBQzFDLE9BQW1CLEVBQ25CLGFBQStCLEVBQy9CLE9BQWdCLEVBQ0UsUUFBa0I7UUFOckMsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ1Asb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQzFDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRTVDLElBQUksQ0FBQyxRQUFRLEdBQUcs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Z0IsR0FBRyxTQUFTLENBQUM7U0FDckM7UUFDRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7WUFDbkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFNBQVMsQ0FBQztTQUMxQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBbUI7UUFDdEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMzQzthQUFNO1lBQ0gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztDQUNKLENBQUE7QUFqUVksZ0JBQWdCO0lBc0JwQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtxREFKaUIsZ0JBQWdCO1FBQ2pDLFVBQVU7UUFDSixnQkFBZ0I7UUFDdEIsT0FBTztRQUNZLFFBQVE7R0F0QnZDLGdCQUFnQixDQWlRNUI7U0FqUVksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyQ29uZmlnLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBpc0FycmF5LCBpc051bGwsIGlzU3RyaW5nLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGh5R3VpZGVyTWFuYWdlciB9IGZyb20gJy4vZ3VpZGVyLW1hbmFnZXInO1xuaW1wb3J0IHsgVGh5R3VpZGVyUmVmIH0gZnJvbSAnLi9ndWlkZXItcmVmJztcbmltcG9ydCB7IFRoeUd1aWRlclN0ZXAgfSBmcm9tICcuL2d1aWRlci5jbGFzcyc7XG5pbXBvcnQgeyBpc1Bvc2l0aW9uRGF0YVR5cGUgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgcG9pbnRDb250YWluZXJTaXplID0gMjg7XG5leHBvcnQgY2xhc3MgVGh5R3VpZGVyU3RlcFJlZiB7XG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICAgcHJpdmF0ZSBsYXN0UG9pbnRlckNvbnRhaW5lcjogYW55O1xuXG4gICAgcHJpdmF0ZSBsYXN0VGFyZ2V0RWxlbWVudDogRWxlbWVudDtcblxuICAgIHByaXZhdGUgdGFyZ2V0RWxlbWVudE9ic2VydmVyOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIGxhc3RUaXBDb250YWluZXI6IGFueTtcblxuICAgIHByaXZhdGUgZ3VpZGVyUmVmOiBUaHlHdWlkZXJSZWY7XG5cbiAgICBwcml2YXRlIGxhc3RQb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHN0ZXA6IFRoeUd1aWRlclN0ZXAsXG4gICAgICAgIHB1YmxpYyBzdGVwSW5kZXg6IG51bWJlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsXG4gICAgICAgIHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSBndWlkZXJNYW5hZ2VyOiBUaHlHdWlkZXJNYW5hZ2VyLFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50XG4gICAgKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvdyhndWlkZXJSZWY6IFRoeUd1aWRlclJlZikge1xuICAgICAgICB0aGlzLmd1aWRlclJlZiA9IGd1aWRlclJlZjtcbiAgICAgICAgdGhpcy5jcmVhdGVQb2ludCh0aGlzLnN0ZXAsIGd1aWRlclJlZik7XG4gICAgfVxuXG4gICAgcHVibGljIGRpc3Bvc2UoKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlTGFzdFBvaW50Q29udGFpbmVyKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlVGlwKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYXJnZXRFbGVtZW50KHN0ZXA6IFRoeUd1aWRlclN0ZXApIHtcbiAgICAgICAgbGV0IHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgICAgIGlmIChzdGVwLnRhcmdldCAmJiAhaXNQb3NpdGlvbkRhdGFUeXBlKHN0ZXAudGFyZ2V0KSkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gWy4uLmNvZXJjZUFycmF5KHN0ZXAudGFyZ2V0KV07XG5cbiAgICAgICAgICAgIHdoaWxlICh0YXJnZXQubGVuZ3RoICYmIGlzVW5kZWZpbmVkT3JOdWxsKHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQuc2hpZnQoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50ID0gdGhpcy5ndWlkZXJNYW5hZ2VyLmdldEFjdGl2ZVRhcmdldChzdGVwLmtleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRhcmdldEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVQb2ludChzdGVwOiBUaHlHdWlkZXJTdGVwLCBndWlkZXJSZWY6IFRoeUd1aWRlclJlZikge1xuICAgICAgICAvLyB0YXJnZXQg5Li656m65bm25LiUIGd1aWRlck1hbmFnZXIg5Lit55qEIHRhcmdldE1hcCDkuZ/msqHmnInmraRzdGVwIOeahCBrZXnvvIzmiJbogIUgdGFyZ2V0IOebtOaOpeS4uiDlnZDmoIfmlbDnu4RcbiAgICAgICAgLy8g5YiZ5omn6KGM5pegIHRhcmdldCDnmoTmmL7npLpcbiAgICAgICAgaWYgKCF0aGlzLmlzVGlwSGFzVGFyZ2V0KHN0ZXApKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVRpcCh0aGlzLnN0ZXApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHRoaXMuZ2V0VGFyZ2V0RWxlbWVudChzdGVwKTtcblxuICAgICAgICBpZiAoKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkgJiYgaXNOdWxsKHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHRoZXJlIGlzIG5vIHRhcmdldCBjYWxsZWQgJHtjb2VyY2VBcnJheShzdGVwLnRhcmdldCkuam9pbignIG9yICcpfWApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFyZ2V0RWxlbWVudE9ic2VydmVyID0gZnJvbUV2ZW50KHRhcmdldEVsZW1lbnQsICdjbGljaycpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBndWlkZXJSZWYudGFyZ2V0Q2xpY2tlZCgpLm5leHQoc3RlcCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBwb3NpdGlvblZhbHVlID0gdGFyZ2V0RWxlbWVudD8uc3R5bGU/LnBvc2l0aW9uO1xuICAgICAgICBpZiAoIXBvc2l0aW9uVmFsdWUgfHwgcG9zaXRpb25WYWx1ZSA9PT0gJ3N0YXRpYycpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGFyZ2V0RWxlbWVudCwgJ3Bvc2l0aW9uJywgJ3JlbGF0aXZlJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTdHlsZUZvclBvaW50Q29udGFpbmVyKHN0ZXAsIHRhcmdldEVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U3R5bGVGb3JQb2ludENvbnRhaW5lcihzdGVwOiBUaHlHdWlkZXJTdGVwLCB0YXJnZXRFbGVtZW50OiBFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHBvaW50UG9zaXRpb24gPSB0aGlzLmdldFBvaW50UG9zaXRpb24oc3RlcCwgdGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHBvaW50Q29udGFpbmVyID0gdGhpcy5zZXRQb2ludFBvc2l0aW9uKHBvaW50UG9zaXRpb24pO1xuXG4gICAgICAgIHRoaXMucmVuZGVyUG9pbnQodGFyZ2V0RWxlbWVudCwgcG9pbnRDb250YWluZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9pbnRQb3NpdGlvbihzdGVwOiBUaHlHdWlkZXJTdGVwLCB0YXJnZXRFbGVtZW50OiBFbGVtZW50KTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnRDbGllbnRSZWN0ID0gdGFyZ2V0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgeyB3aWR0aDogdGFyZ2V0RWxlbWVudFdpZHRoLCBoZWlnaHQ6IHRhcmdldEVsZW1lbnRIZWlnaHQgfSA9IHRhcmdldEVsZW1lbnRDbGllbnRSZWN0O1xuICAgICAgICBjb25zdCBwb2ludE9mZnNldCA9IHN0ZXAucG9pbnRPZmZzZXQ7XG4gICAgICAgIC8vIOWPqumAmui/hyBwb2ludE9mZnNldCDmjqfliLYgcG9pbnQg55qE5L2N572u77yM6buY6K6k5ZyoIHRhcmdldCDnmoTlj7PkuIvop5LvvIxcbiAgICAgICAgLy8gb2Zmc2V0IOeahOWfuueCueS5n+S4uum7mOiupOS9jee9rlxuICAgICAgICByZXR1cm4gW3RhcmdldEVsZW1lbnRXaWR0aCArIHBvaW50T2Zmc2V0WzBdLCB0YXJnZXRFbGVtZW50SGVpZ2h0ICsgcG9pbnRPZmZzZXRbMV1dO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UG9pbnRQb3NpdGlvbihwb2ludFBvc2l0aW9uOiBbbnVtYmVyLCBudW1iZXJdKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRQb2ludENvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhjdXJyZW50UG9pbnRDb250YWluZXIsICd0aHktZ3VpZGVyLWhpZ2hsaWdodC1jb250YWluZXInKTtcbiAgICAgICAgaWYgKHRoaXMuZ3VpZGVyUmVmLmNvbmZpZy5wb2ludENsYXNzKSB7XG4gICAgICAgICAgICB0aGlzLmFkZFBvaW50Q2xhc3MoY3VycmVudFBvaW50Q29udGFpbmVyLCB0aGlzLmd1aWRlclJlZi5jb25maWcucG9pbnRDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjdXJyZW50UG9pbnRDb250YWluZXIsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGN1cnJlbnRQb2ludENvbnRhaW5lciwgJ2xlZnQnLCBwb2ludFBvc2l0aW9uWzBdICsgJ3B4Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudFBvaW50Q29udGFpbmVyLCAndG9wJywgcG9pbnRQb3NpdGlvblsxXSArICdweCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGN1cnJlbnRQb2ludENvbnRhaW5lciwgJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoLTEwMCUsLTEwMCUpJyk7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRQb2ludENvbnRhaW5lcjtcbiAgICB9XG4gICAgcHJpdmF0ZSBhZGRQb2ludENsYXNzKGVsOiBhbnksIHBvaW50Q2xhc3M6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIGlmIChpc1N0cmluZyhwb2ludENsYXNzKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbCwgcG9pbnRDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQXJyYXkocG9pbnRDbGFzcykpIHtcbiAgICAgICAgICAgIHBvaW50Q2xhc3MuZm9yRWFjaChjbGFzc0l0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWwsIGNsYXNzSXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVuZGVyUG9pbnQodGFyZ2V0RWxlbWVudDogRWxlbWVudCwgcG9pbnRDb250YWluZXI6IGFueSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRhcmdldEVsZW1lbnQsIHBvaW50Q29udGFpbmVyKTtcbiAgICAgICAgdGhpcy5sYXN0UG9pbnRlckNvbnRhaW5lciA9IHBvaW50Q29udGFpbmVyO1xuICAgICAgICB0aGlzLmxhc3RUYXJnZXRFbGVtZW50ID0gdGFyZ2V0RWxlbWVudDtcbiAgICAgICAgdGhpcy5jcmVhdGVUaXAodGhpcy5zdGVwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUxhc3RQb2ludENvbnRhaW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMubGFzdFBvaW50ZXJDb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLmxhc3RQb2ludGVyQ29udGFpbmVyKTtcbiAgICAgICAgICAgIHRoaXMubGFzdFBvaW50ZXJDb250YWluZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVRpcChzdGVwOiBUaHlHdWlkZXJTdGVwKSB7XG4gICAgICAgIGlmICh0aGlzLmlzVGlwSGFzVGFyZ2V0KHN0ZXApKSB7XG4gICAgICAgICAgICB0aGlzLnRpcFdpdGhUYXJnZXQoc3RlcCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpcFdpdGhvdXRUYXJnZXQoc3RlcCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRpcFdpdGhvdXRUYXJnZXQoc3RlcDogVGh5R3VpZGVyU3RlcCkge1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuZ2V0VGlwUG9zaXRpb24oc3RlcCk7XG4gICAgICAgIHRoaXMubGFzdFBvcG92ZXJSZWYgPSB0aGlzLnBvcG92ZXIub3Blbih0aGlzLmd1aWRlclJlZi5jb25maWcuaGludENvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luOiBudWxsLFxuICAgICAgICAgICAgb3JpZ2luUG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICB4OiBwb3NpdGlvblswXSxcbiAgICAgICAgICAgICAgICB5OiBwb3NpdGlvblsxXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9yaWdpbkFjdGl2ZUNsYXNzOiAnJyxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IHRoaXMuZ3VpZGVyUmVmLmNvbmZpZy5oaW50Q2xhc3MgfHwgJycsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG1hbnVhbENsb3N1cmU6IHRydWUsXG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICBndWlkZXJSZWY6IHRoaXMuZ3VpZGVyUmVmLFxuICAgICAgICAgICAgICAgIHN0ZXBSZWY6IHRoaXNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRpcFBvc2l0aW9uKHN0ZXA6IFRoeUd1aWRlclN0ZXApOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICAgICAgaWYgKGlzUG9zaXRpb25EYXRhVHlwZShzdGVwLnRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybiBzdGVwLnRhcmdldDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ndWlkZXJSZWYuY29uZmlnLmRlZmF1bHRQb3NpdGlvbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVRpcENvbnRhaW5lcigpIHtcbiAgICAgICAgY29uc3QgdGlwQ29udGFpbmVyID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aXBDb250YWluZXIsICd0aHktZ3VpZGVyLWNvbnRlbnQtY29udGFpbmVyJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGlwQ29udGFpbmVyLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aXBDb250YWluZXIsICd0b3AnLCAnMHB4Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGlwQ29udGFpbmVyLCAncmlnaHQnLCAnMHB4Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGlwQ29udGFpbmVyLCAnYm90dG9tJywgJzBweCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRpcENvbnRhaW5lciwgJ2xlZnQnLCAnMHB4Jyk7XG4gICAgICAgIHJldHVybiB0aXBDb250YWluZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0aXBXaXRoVGFyZ2V0KHN0ZXA6IFRoeUd1aWRlclN0ZXApIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHRoaXMuZ2V0VGFyZ2V0RWxlbWVudChzdGVwKTtcbiAgICAgICAgY29uc3QgaGludENvbnRhaW5lciA9IHRoaXMuY3JlYXRlVGlwQ29udGFpbmVyKCk7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0YXJnZXRFbGVtZW50LCBoaW50Q29udGFpbmVyKTtcbiAgICAgICAgdGhpcy5sYXN0VGlwQ29udGFpbmVyID0gaGludENvbnRhaW5lcjtcblxuICAgICAgICBjb25zdCBwb3BvdmVyQ29uZmlnID0ge1xuICAgICAgICAgICAgb3JpZ2luOiBoaW50Q29udGFpbmVyLFxuICAgICAgICAgICAgcGxhY2VtZW50OiBzdGVwLmhpbnRQbGFjZW1lbnQsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiB0aGlzLmd1aWRlclJlZi5jb25maWcuaGludENsYXNzIHx8ICcnLFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlLFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgZ3VpZGVyUmVmOiB0aGlzLmd1aWRlclJlZixcbiAgICAgICAgICAgICAgICBzdGVwUmVmOiB0aGlzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKClcbiAgICAgICAgfSBhcyBUaHlQb3BvdmVyQ29uZmlnPGFueT47XG5cbiAgICAgICAgY29uc3QgcG9pbnRQb3NpdGlvbiA9IHRoaXMuZ2V0UG9pbnRQb3NpdGlvbihzdGVwLCB0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgY29uc3QgaGludE9mZnNldCA9IHRoaXMuZ2V0VGlwT2Zmc2V0KHN0ZXAsIHBvaW50UG9zaXRpb24sIHRhcmdldEVsZW1lbnQpO1xuICAgICAgICBpZiAoaGludE9mZnNldCkge1xuICAgICAgICAgICAgcG9wb3ZlckNvbmZpZy5vZmZzZXQgPSBoaW50T2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFzdFBvcG92ZXJSZWYgPSB0aGlzLnBvcG92ZXIub3Blbih0aGlzLmd1aWRlclJlZi5jb25maWcuaGludENvbXBvbmVudCwgcG9wb3ZlckNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUaXBPZmZzZXQoc3RlcDogVGh5R3VpZGVyU3RlcCwgcG9pbnRQb3NpdGlvbjogW251bWJlciwgbnVtYmVyXSwgdGFyZ2V0RWxlbWVudDogRWxlbWVudCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGhpbnRQbGFjZW1lbnQgPSBzdGVwLmhpbnRQbGFjZW1lbnQ7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnRDbGllbnRSZWN0ID0gdGFyZ2V0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgeyB3aWR0aDogdGFyZ2V0RWxlbWVudFdpZHRoLCBoZWlnaHQ6IHRhcmdldEVsZW1lbnRIZWlnaHQgfSA9IHRhcmdldEVsZW1lbnRDbGllbnRSZWN0O1xuICAgICAgICBsZXQgaGludE9mZnNldDogbnVtYmVyID0gc3RlcC5oaW50T2Zmc2V0IHx8IDA7XG4gICAgICAgIGNvbnN0IHBvaW50WEF4aXNPZmZzZXQgPSBwb2ludFBvc2l0aW9uWzBdO1xuICAgICAgICBjb25zdCBwb2ludFlBeGlzT2Zmc2V0ID0gcG9pbnRQb3NpdGlvblsxXTtcblxuICAgICAgICBpZiAoaGludFBsYWNlbWVudC5zdGFydHNXaXRoKCd0b3AnKSkge1xuICAgICAgICAgICAgaWYgKHBvaW50WUF4aXNPZmZzZXQgPCBwb2ludENvbnRhaW5lclNpemUpIHtcbiAgICAgICAgICAgICAgICBoaW50T2Zmc2V0ID0gaGludE9mZnNldCArIE1hdGguYWJzKHBvaW50WUF4aXNPZmZzZXQpICsgcG9pbnRDb250YWluZXJTaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGhpbnRQbGFjZW1lbnQuc3RhcnRzV2l0aCgnYm90dG9tJykpIHtcbiAgICAgICAgICAgIGlmIChwb2ludFlBeGlzT2Zmc2V0ID4gdGFyZ2V0RWxlbWVudEhlaWdodCkge1xuICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQgPSBoaW50T2Zmc2V0ICsgKHBvaW50WUF4aXNPZmZzZXQgLSB0YXJnZXRFbGVtZW50SGVpZ2h0KSArIDEwOyAvLyAxMCDkuLrnqbrpmpnph49cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChoaW50UGxhY2VtZW50LnN0YXJ0c1dpdGgoJ2xlZnQnKSkge1xuICAgICAgICAgICAgaWYgKHBvaW50WEF4aXNPZmZzZXQgPCAwKSB7XG4gICAgICAgICAgICAgICAgaGludE9mZnNldCA9IGhpbnRPZmZzZXQgKyBNYXRoLmFicyhwb2ludFhBeGlzT2Zmc2V0KSArIHBvaW50Q29udGFpbmVyU2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChoaW50UGxhY2VtZW50LnN0YXJ0c1dpdGgoJ3JpZ2h0JykpIHtcbiAgICAgICAgICAgIGlmIChwb2ludFhBeGlzT2Zmc2V0ID4gdGFyZ2V0RWxlbWVudFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgaGludE9mZnNldCA9IGhpbnRPZmZzZXQgKyAocG9pbnRYQXhpc09mZnNldCAtIHRhcmdldEVsZW1lbnRXaWR0aCkgKyAxMDsgLy8gMTAg5Li656m66ZqZ6YePXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhpbnRPZmZzZXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVUaXAoKSB7XG4gICAgICAgIGlmICh0aGlzLmxhc3RQb3BvdmVyUmVmKSB7XG4gICAgICAgICAgICB0aGlzLmxhc3RQb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLmxhc3RQb3BvdmVyUmVmID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmxhc3RUaXBDb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLmxhc3RUaXBDb250YWluZXIpO1xuICAgICAgICAgICAgdGhpcy5sYXN0VGlwQ29udGFpbmVyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmxhc3RUYXJnZXRFbGVtZW50ICYmIHRoaXMudGFyZ2V0RWxlbWVudE9ic2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLnRhcmdldEVsZW1lbnRPYnNlcnZlci51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5sYXN0VGFyZ2V0RWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHRoaXMudGFyZ2V0RWxlbWVudE9ic2VydmVyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1RpcEhhc1RhcmdldChzdGVwOiBUaHlHdWlkZXJTdGVwKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChzdGVwLnRhcmdldCkge1xuICAgICAgICAgICAgcmV0dXJuICFpc1Bvc2l0aW9uRGF0YVR5cGUoc3RlcC50YXJnZXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICEhdGhpcy5ndWlkZXJNYW5hZ2VyLmdldEFjdGl2ZVRhcmdldChzdGVwLmtleSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVyLXN0ZXAtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2d1aWRlci9ndWlkZXItc3RlcC1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFtQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFN0MsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUFDOUIsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUFlekIsWUFDVyxJQUFtQixFQUNuQixTQUFpQixFQUNQLGVBQWlDLEVBQzFDLE9BQW1CLEVBQ25CLGFBQStCLEVBQy9CLE9BQWdCLEVBQ0UsUUFBa0I7UUFOckMsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ1Asb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQzFDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRTVDLElBQUksQ0FBQyxRQUFRLEdBQUcs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LEVBQUU7WUFDdEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7WUFDbkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFNBQVMsQ0FBQztTQUMxQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBbUI7UUFDdEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMzQzthQUFNO1lBQ0gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztDQUNKLENBQUE7QUE5UFksZ0JBQWdCO0lBc0JwQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtxREFKaUIsZ0JBQWdCO1FBQ2pDLFVBQVU7UUFDSixnQkFBZ0I7UUFDdEIsT0FBTztRQUNZLFFBQVE7R0F0QnZDLGdCQUFnQixDQThQNUI7U0E5UFksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyQ29uZmlnLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBpc0FycmF5LCBpc051bGwsIGlzU3RyaW5nLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGh5R3VpZGVyTWFuYWdlciB9IGZyb20gJy4vZ3VpZGVyLW1hbmFnZXInO1xuaW1wb3J0IHsgVGh5R3VpZGVyUmVmIH0gZnJvbSAnLi9ndWlkZXItcmVmJztcbmltcG9ydCB7IFRoeUd1aWRlclN0ZXAgfSBmcm9tICcuL2d1aWRlci5jbGFzcyc7XG5pbXBvcnQgeyBpc1Bvc2l0aW9uRGF0YVR5cGUgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgcG9pbnRDb250YWluZXJTaXplID0gMjg7XG5leHBvcnQgY2xhc3MgVGh5R3VpZGVyU3RlcFJlZiB7XG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICAgcHJpdmF0ZSBsYXN0UG9pbnRlckNvbnRhaW5lcjogYW55O1xuXG4gICAgcHJpdmF0ZSBsYXN0VGFyZ2V0RWxlbWVudDogRWxlbWVudDtcblxuICAgIHByaXZhdGUgdGFyZ2V0RWxlbWVudE9ic2VydmVyOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIGxhc3RUaXBDb250YWluZXI6IGFueTtcblxuICAgIHByaXZhdGUgZ3VpZGVyUmVmOiBUaHlHdWlkZXJSZWY7XG5cbiAgICBwcml2YXRlIGxhc3RQb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHN0ZXA6IFRoeUd1aWRlclN0ZXAsXG4gICAgICAgIHB1YmxpYyBzdGVwSW5kZXg6IG51bWJlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsXG4gICAgICAgIHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSBndWlkZXJNYW5hZ2VyOiBUaHlHdWlkZXJNYW5hZ2VyLFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50XG4gICAgKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvdyhndWlkZXJSZWY6IFRoeUd1aWRlclJlZikge1xuICAgICAgICB0aGlzLmd1aWRlclJlZiA9IGd1aWRlclJlZjtcbiAgICAgICAgdGhpcy5jcmVhdGVQb2ludCh0aGlzLnN0ZXAsIGd1aWRlclJlZik7XG4gICAgfVxuXG4gICAgcHVibGljIGRpc3Bvc2UoKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlTGFzdFBvaW50Q29udGFpbmVyKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlVGlwKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYXJnZXRFbGVtZW50KHN0ZXA6IFRoeUd1aWRlclN0ZXApIHtcbiAgICAgICAgbGV0IHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgICAgIGlmIChzdGVwLnRhcmdldCAmJiAhaXNQb3NpdGlvbkRhdGFUeXBlKHN0ZXAudGFyZ2V0KSkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gWy4uLmNvZXJjZUFycmF5KHN0ZXAudGFyZ2V0KV07XG5cbiAgICAgICAgICAgIHdoaWxlICh0YXJnZXQubGVuZ3RoICYmIGlzVW5kZWZpbmVkT3JOdWxsKHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQuc2hpZnQoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50ID0gdGhpcy5ndWlkZXJNYW5hZ2VyLmdldEFjdGl2ZVRhcmdldChzdGVwLmtleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRhcmdldEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVQb2ludChzdGVwOiBUaHlHdWlkZXJTdGVwLCBndWlkZXJSZWY6IFRoeUd1aWRlclJlZikge1xuICAgICAgICAvLyB0YXJnZXQg5Li656m65bm25LiUIGd1aWRlck1hbmFnZXIg5Lit55qEIHRhcmdldE1hcCDkuZ/msqHmnInmraRzdGVwIOeahCBrZXnvvIzmiJbogIUgdGFyZ2V0IOebtOaOpeS4uiDlnZDmoIfmlbDnu4RcbiAgICAgICAgLy8g5YiZ5omn6KGM5pegIHRhcmdldCDnmoTmmL7npLpcbiAgICAgICAgaWYgKCF0aGlzLmlzVGlwSGFzVGFyZ2V0KHN0ZXApKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVRpcCh0aGlzLnN0ZXApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHRoaXMuZ2V0VGFyZ2V0RWxlbWVudChzdGVwKTtcblxuICAgICAgICBpZiAoKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkgJiYgaXNOdWxsKHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHRoZXJlIGlzIG5vIHRhcmdldCBjYWxsZWQgJHtjb2VyY2VBcnJheShzdGVwLnRhcmdldCkuam9pbignIG9yICcpfWApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFyZ2V0RWxlbWVudE9ic2VydmVyID0gZnJvbUV2ZW50KHRhcmdldEVsZW1lbnQsICdjbGljaycpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBndWlkZXJSZWYudGFyZ2V0Q2xpY2tlZCgpLm5leHQoc3RlcCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBwb3NpdGlvblZhbHVlID0gdGFyZ2V0RWxlbWVudD8uc3R5bGU/LnBvc2l0aW9uO1xuICAgICAgICBpZiAoIXBvc2l0aW9uVmFsdWUgfHwgcG9zaXRpb25WYWx1ZSA9PT0gJ3N0YXRpYycpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGFyZ2V0RWxlbWVudCwgJ3Bvc2l0aW9uJywgJ3JlbGF0aXZlJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTdHlsZUZvclBvaW50Q29udGFpbmVyKHN0ZXAsIHRhcmdldEVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U3R5bGVGb3JQb2ludENvbnRhaW5lcihzdGVwOiBUaHlHdWlkZXJTdGVwLCB0YXJnZXRFbGVtZW50OiBFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHBvaW50UG9zaXRpb24gPSB0aGlzLmdldFBvaW50UG9zaXRpb24oc3RlcCwgdGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHBvaW50Q29udGFpbmVyID0gdGhpcy5zZXRQb2ludFBvc2l0aW9uKHBvaW50UG9zaXRpb24pO1xuXG4gICAgICAgIHRoaXMucmVuZGVyUG9pbnQodGFyZ2V0RWxlbWVudCwgcG9pbnRDb250YWluZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9pbnRQb3NpdGlvbihzdGVwOiBUaHlHdWlkZXJTdGVwLCB0YXJnZXRFbGVtZW50OiBFbGVtZW50KTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnRDbGllbnRSZWN0ID0gdGFyZ2V0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgeyB3aWR0aDogdGFyZ2V0RWxlbWVudFdpZHRoLCBoZWlnaHQ6IHRhcmdldEVsZW1lbnRIZWlnaHQgfSA9IHRhcmdldEVsZW1lbnRDbGllbnRSZWN0O1xuICAgICAgICBjb25zdCBwb2ludE9mZnNldCA9IHN0ZXAucG9pbnRPZmZzZXQ7XG4gICAgICAgIC8vIOWPqumAmui/hyBwb2ludE9mZnNldCDmjqfliLYgcG9pbnQg55qE5L2N572u77yM6buY6K6k5ZyoIHRhcmdldCDnmoTlj7PkuIvop5LvvIxcbiAgICAgICAgLy8gb2Zmc2V0IOeahOWfuueCueS5n+S4uum7mOiupOS9jee9rlxuICAgICAgICByZXR1cm4gW3RhcmdldEVsZW1lbnRXaWR0aCArIHBvaW50T2Zmc2V0WzBdLCB0YXJnZXRFbGVtZW50SGVpZ2h0ICsgcG9pbnRPZmZzZXRbMV1dO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UG9pbnRQb3NpdGlvbihwb2ludFBvc2l0aW9uOiBbbnVtYmVyLCBudW1iZXJdKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRQb2ludENvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhjdXJyZW50UG9pbnRDb250YWluZXIsICd0aHktZ3VpZGVyLWhpZ2hsaWdodC1jb250YWluZXInKTtcbiAgICAgICAgaWYgKHRoaXMuZ3VpZGVyUmVmLmNvbmZpZy5wb2ludENsYXNzKSB7XG4gICAgICAgICAgICB0aGlzLmFkZFBvaW50Q2xhc3MoY3VycmVudFBvaW50Q29udGFpbmVyLCB0aGlzLmd1aWRlclJlZi5jb25maWcucG9pbnRDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjdXJyZW50UG9pbnRDb250YWluZXIsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGN1cnJlbnRQb2ludENvbnRhaW5lciwgJ2xlZnQnLCBwb2ludFBvc2l0aW9uWzBdICsgJ3B4Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudFBvaW50Q29udGFpbmVyLCAndG9wJywgcG9pbnRQb3NpdGlvblsxXSArICdweCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGN1cnJlbnRQb2ludENvbnRhaW5lciwgJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoLTEwMCUsLTEwMCUpJyk7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRQb2ludENvbnRhaW5lcjtcbiAgICB9XG4gICAgcHJpdmF0ZSBhZGRQb2ludENsYXNzKGVsOiBhbnksIHBvaW50Q2xhc3M6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIGlmIChpc1N0cmluZyhwb2ludENsYXNzKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbCwgcG9pbnRDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQXJyYXkocG9pbnRDbGFzcykpIHtcbiAgICAgICAgICAgIHBvaW50Q2xhc3MuZm9yRWFjaChjbGFzc0l0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWwsIGNsYXNzSXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVuZGVyUG9pbnQodGFyZ2V0RWxlbWVudDogRWxlbWVudCwgcG9pbnRDb250YWluZXI6IGFueSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRhcmdldEVsZW1lbnQsIHBvaW50Q29udGFpbmVyKTtcbiAgICAgICAgdGhpcy5sYXN0UG9pbnRlckNvbnRhaW5lciA9IHBvaW50Q29udGFpbmVyO1xuICAgICAgICB0aGlzLmxhc3RUYXJnZXRFbGVtZW50ID0gdGFyZ2V0RWxlbWVudDtcbiAgICAgICAgdGhpcy5jcmVhdGVUaXAodGhpcy5zdGVwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUxhc3RQb2ludENvbnRhaW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMubGFzdFBvaW50ZXJDb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLmxhc3RQb2ludGVyQ29udGFpbmVyKTtcbiAgICAgICAgICAgIHRoaXMubGFzdFBvaW50ZXJDb250YWluZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVRpcChzdGVwOiBUaHlHdWlkZXJTdGVwKSB7XG4gICAgICAgIGlmICh0aGlzLmlzVGlwSGFzVGFyZ2V0KHN0ZXApKSB7XG4gICAgICAgICAgICB0aGlzLnRpcFdpdGhUYXJnZXQoc3RlcCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpcFdpdGhvdXRUYXJnZXQoc3RlcCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRpcFdpdGhvdXRUYXJnZXQoc3RlcDogVGh5R3VpZGVyU3RlcCkge1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuZ2V0VGlwUG9zaXRpb24oc3RlcCk7XG4gICAgICAgIHRoaXMubGFzdFBvcG92ZXJSZWYgPSB0aGlzLnBvcG92ZXIub3Blbih0aGlzLmd1aWRlclJlZi5jb25maWcuaGludENvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luOiBudWxsLFxuICAgICAgICAgICAgb3JpZ2luUG9zaXRpb246IHBvc2l0aW9uLFxuICAgICAgICAgICAgb3JpZ2luQWN0aXZlQ2xhc3M6ICcnLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogdGhpcy5ndWlkZXJSZWYuY29uZmlnLmhpbnRDbGFzcyB8fCAnJyxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgbWFudWFsQ2xvc3VyZTogdHJ1ZSxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGd1aWRlclJlZjogdGhpcy5ndWlkZXJSZWYsXG4gICAgICAgICAgICAgICAgc3RlcFJlZjogdGhpc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGlwUG9zaXRpb24oc3RlcDogVGh5R3VpZGVyU3RlcCk6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSB7XG4gICAgICAgIGlmIChpc1Bvc2l0aW9uRGF0YVR5cGUoc3RlcC50YXJnZXQpKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RlcC50YXJnZXQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ3VpZGVyUmVmLmNvbmZpZy5kZWZhdWx0UG9zaXRpb247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVUaXBDb250YWluZXIoKSB7XG4gICAgICAgIGNvbnN0IHRpcENvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGlwQ29udGFpbmVyLCAndGh5LWd1aWRlci1jb250ZW50LWNvbnRhaW5lcicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRpcENvbnRhaW5lciwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGlwQ29udGFpbmVyLCAndG9wJywgJzBweCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRpcENvbnRhaW5lciwgJ3JpZ2h0JywgJzBweCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRpcENvbnRhaW5lciwgJ2JvdHRvbScsICcwcHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aXBDb250YWluZXIsICdsZWZ0JywgJzBweCcpO1xuICAgICAgICByZXR1cm4gdGlwQ29udGFpbmVyO1xuICAgIH1cblxuICAgIHByaXZhdGUgdGlwV2l0aFRhcmdldChzdGVwOiBUaHlHdWlkZXJTdGVwKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSB0aGlzLmdldFRhcmdldEVsZW1lbnQoc3RlcCk7XG4gICAgICAgIGNvbnN0IGhpbnRDb250YWluZXIgPSB0aGlzLmNyZWF0ZVRpcENvbnRhaW5lcigpO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGFyZ2V0RWxlbWVudCwgaGludENvbnRhaW5lcik7XG4gICAgICAgIHRoaXMubGFzdFRpcENvbnRhaW5lciA9IGhpbnRDb250YWluZXI7XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlckNvbmZpZyA9IHtcbiAgICAgICAgICAgIG9yaWdpbjogaGludENvbnRhaW5lcixcbiAgICAgICAgICAgIHBsYWNlbWVudDogc3RlcC5oaW50UGxhY2VtZW50LFxuICAgICAgICAgICAgcGFuZWxDbGFzczogdGhpcy5ndWlkZXJSZWYuY29uZmlnLmhpbnRDbGFzcyB8fCAnJyxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgbWFudWFsQ2xvc3VyZTogdHJ1ZSxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGd1aWRlclJlZjogdGhpcy5ndWlkZXJSZWYsXG4gICAgICAgICAgICAgICAgc3RlcFJlZjogdGhpc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpXG4gICAgICAgIH0gYXMgVGh5UG9wb3ZlckNvbmZpZzxhbnk+O1xuXG4gICAgICAgIGNvbnN0IHBvaW50UG9zaXRpb24gPSB0aGlzLmdldFBvaW50UG9zaXRpb24oc3RlcCwgdGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGhpbnRPZmZzZXQgPSB0aGlzLmdldFRpcE9mZnNldChzdGVwLCBwb2ludFBvc2l0aW9uLCB0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgaWYgKGhpbnRPZmZzZXQpIHtcbiAgICAgICAgICAgIHBvcG92ZXJDb25maWcub2Zmc2V0ID0gaGludE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxhc3RQb3BvdmVyUmVmID0gdGhpcy5wb3BvdmVyLm9wZW4odGhpcy5ndWlkZXJSZWYuY29uZmlnLmhpbnRDb21wb25lbnQsIHBvcG92ZXJDb25maWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGlwT2Zmc2V0KHN0ZXA6IFRoeUd1aWRlclN0ZXAsIHBvaW50UG9zaXRpb246IFtudW1iZXIsIG51bWJlcl0sIHRhcmdldEVsZW1lbnQ6IEVsZW1lbnQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBoaW50UGxhY2VtZW50ID0gc3RlcC5oaW50UGxhY2VtZW50O1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50Q2xpZW50UmVjdCA9IHRhcmdldEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IHRhcmdldEVsZW1lbnRXaWR0aCwgaGVpZ2h0OiB0YXJnZXRFbGVtZW50SGVpZ2h0IH0gPSB0YXJnZXRFbGVtZW50Q2xpZW50UmVjdDtcbiAgICAgICAgbGV0IGhpbnRPZmZzZXQ6IG51bWJlciA9IHN0ZXAuaGludE9mZnNldCB8fCAwO1xuICAgICAgICBjb25zdCBwb2ludFhBeGlzT2Zmc2V0ID0gcG9pbnRQb3NpdGlvblswXTtcbiAgICAgICAgY29uc3QgcG9pbnRZQXhpc09mZnNldCA9IHBvaW50UG9zaXRpb25bMV07XG5cbiAgICAgICAgaWYgKGhpbnRQbGFjZW1lbnQuc3RhcnRzV2l0aCgndG9wJykpIHtcbiAgICAgICAgICAgIGlmIChwb2ludFlBeGlzT2Zmc2V0IDwgcG9pbnRDb250YWluZXJTaXplKSB7XG4gICAgICAgICAgICAgICAgaGludE9mZnNldCA9IGhpbnRPZmZzZXQgKyBNYXRoLmFicyhwb2ludFlBeGlzT2Zmc2V0KSArIHBvaW50Q29udGFpbmVyU2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChoaW50UGxhY2VtZW50LnN0YXJ0c1dpdGgoJ2JvdHRvbScpKSB7XG4gICAgICAgICAgICBpZiAocG9pbnRZQXhpc09mZnNldCA+IHRhcmdldEVsZW1lbnRIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBoaW50T2Zmc2V0ID0gaGludE9mZnNldCArIChwb2ludFlBeGlzT2Zmc2V0IC0gdGFyZ2V0RWxlbWVudEhlaWdodCkgKyAxMDsgLy8gMTAg5Li656m66ZqZ6YePXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaGludFBsYWNlbWVudC5zdGFydHNXaXRoKCdsZWZ0JykpIHtcbiAgICAgICAgICAgIGlmIChwb2ludFhBeGlzT2Zmc2V0IDwgMCkge1xuICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQgPSBoaW50T2Zmc2V0ICsgTWF0aC5hYnMocG9pbnRYQXhpc09mZnNldCkgKyBwb2ludENvbnRhaW5lclNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaGludFBsYWNlbWVudC5zdGFydHNXaXRoKCdyaWdodCcpKSB7XG4gICAgICAgICAgICBpZiAocG9pbnRYQXhpc09mZnNldCA+IHRhcmdldEVsZW1lbnRXaWR0aCkge1xuICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQgPSBoaW50T2Zmc2V0ICsgKHBvaW50WEF4aXNPZmZzZXQgLSB0YXJnZXRFbGVtZW50V2lkdGgpICsgMTA7IC8vIDEwIOS4uuepuumamemHj1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBoaW50T2Zmc2V0O1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlVGlwKCkge1xuICAgICAgICBpZiAodGhpcy5sYXN0UG9wb3ZlclJlZikge1xuICAgICAgICAgICAgdGhpcy5sYXN0UG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5sYXN0UG9wb3ZlclJlZiA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5sYXN0VGlwQ29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5sYXN0VGlwQ29udGFpbmVyKTtcbiAgICAgICAgICAgIHRoaXMubGFzdFRpcENvbnRhaW5lciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5sYXN0VGFyZ2V0RWxlbWVudCAmJiB0aGlzLnRhcmdldEVsZW1lbnRPYnNlcnZlcikge1xuICAgICAgICAgICAgdGhpcy50YXJnZXRFbGVtZW50T2JzZXJ2ZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMubGFzdFRhcmdldEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB0aGlzLnRhcmdldEVsZW1lbnRPYnNlcnZlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNUaXBIYXNUYXJnZXQoc3RlcDogVGh5R3VpZGVyU3RlcCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoc3RlcC50YXJnZXQpIHtcbiAgICAgICAgICAgIHJldHVybiAhaXNQb3NpdGlvbkRhdGFUeXBlKHN0ZXAudGFyZ2V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMuZ3VpZGVyTWFuYWdlci5nZXRBY3RpdmVUYXJnZXQoc3RlcC5rZXkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -3,8 +3,8 @@ export class ThyGuiderConfig {
|
|
|
3
3
|
export const defaultGuiderPositionConfig = {
|
|
4
4
|
hintComponent: null,
|
|
5
5
|
hintPlacement: 'rightBottom',
|
|
6
|
-
defaultPosition:
|
|
6
|
+
defaultPosition: { x: 0, y: 0 },
|
|
7
7
|
pointOffset: [0, 0],
|
|
8
8
|
hintOffset: 4
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2d1aWRlci9ndWlkZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsTUFBTSxPQUFPLGVBQWU7Q0F3QjNCO0FBRUQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDdkMsYUFBYSxFQUFFLElBQXFCO0lBQ3BDLGFBQWEsRUFBRSxhQUFhO0lBQzVCLGVBQWUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTtJQUMvQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25CLFVBQVUsRUFBRSxDQUFDO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlQbGFjZW1lbnQgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoeUd1aWRlclN0ZXA8VERhdGEgPSBhbnk+IHtcbiAgICBrZXk6IHN0cmluZztcbiAgICB0YXJnZXQ/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcbiAgICBkYXRhOiBURGF0YTtcbiAgICByb3V0ZT86IHN0cmluZztcbiAgICBoaW50UGxhY2VtZW50PzogVGh5UGxhY2VtZW50O1xuICAgIGhpbnRPZmZzZXQ/OiBudW1iZXI7XG4gICAgcG9pbnRPZmZzZXQ/OiBbbnVtYmVyLCBudW1iZXJdO1xuICAgIC8vIGNoaWxkcmVuOiBTdGVwSW5mbzxUPltdXG59XG5cbmV4cG9ydCBjbGFzcyBUaHlHdWlkZXJDb25maWcge1xuICAgIC8qKiBoaW50IENvbXBvbmVudCxkZWZhdWx0IGlzIFRoeUd1aWRlckhpbnRDb21wb25lbnQgKi9cbiAgICBoaW50Q29tcG9uZW50PzogVHlwZTx1bmtub3duPjtcblxuICAgIC8qKiBzdGVwcyBpbmZvICovXG4gICAgc3RlcHM6IFRoeUd1aWRlclN0ZXBbXTtcblxuICAgIC8qKiBoaW50IGRlZmF1bHQgcG9zaXRpb24gd2hlbiBzdGVwIGluZm8gbm90IHNldCBoaW50UGxhY2VtZW50ICovXG4gICAgaGludFBsYWNlbWVudD86IFRoeVBsYWNlbWVudDtcblxuICAgIC8qKiB1c2VmdWwgd2hlbiB3aXRob3V0IHRhcmdldCAqL1xuICAgIGRlZmF1bHRQb3NpdGlvbj86IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcblxuICAgIC8qKiBzZXR0aW5nIGRlZmF1bHQgcG9pbnQgb2Zmc2V0ICovXG4gICAgcG9pbnRPZmZzZXQ/OiBbbnVtYmVyLCBudW1iZXJdO1xuXG4gICAgLyoqIGxpa2UgcG9wb3ZlciBvZmZzZXQgKi9cbiAgICBoaW50T2Zmc2V0PzogbnVtYmVyO1xuXG4gICAgLyoqIHBvcG92ZXIgYWN0aXZlIGNsYXNzICovXG4gICAgaGludENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgICAvKiogZ3VpZGVyIHBvaW50IGNsYXNzICovXG4gICAgcG9pbnRDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdEd1aWRlclBvc2l0aW9uQ29uZmlnID0ge1xuICAgIGhpbnRDb21wb25lbnQ6IG51bGwgYXMgVHlwZTx1bmtub3duPixcbiAgICBoaW50UGxhY2VtZW50OiAncmlnaHRCb3R0b20nLFxuICAgIGRlZmF1bHRQb3NpdGlvbjogeyB4OiAwLCB5OiAwIH0sXG4gICAgcG9pbnRPZmZzZXQ6IFswLCAwXSxcbiAgICBoaW50T2Zmc2V0OiA0XG59O1xuIl19
|
package/esm2020/guider/utils.mjs
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { isArray, isNumber } from 'ngx-tethys/util';
|
|
1
|
+
import { isArray, isNumber, isObject } from 'ngx-tethys/util';
|
|
2
2
|
export function isPositionDataType(target) {
|
|
3
|
-
if (isArray(target)) {
|
|
4
|
-
if (target.
|
|
5
|
-
return false;
|
|
6
|
-
}
|
|
7
|
-
if (isNumber(target[0]) && isNumber(target[1])) {
|
|
3
|
+
if (isObject(target) && !isArray(target)) {
|
|
4
|
+
if (isNumber(target.x) && isNumber(target.y)) {
|
|
8
5
|
return true;
|
|
9
6
|
}
|
|
10
|
-
return false;
|
|
11
7
|
}
|
|
12
8
|
return false;
|
|
13
9
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3VpZGVyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxNQUFXO0lBQzFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3RDLElBQUksUUFBUSxDQUFFLE1BQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFFLE1BQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEUsT0FBTyxJQUFJLENBQUM7U0FDZjtLQUNKO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhZmVBbnkgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcbmltcG9ydCB7IGlzQXJyYXksIGlzTnVtYmVyLCBpc09iamVjdCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Bvc2l0aW9uRGF0YVR5cGUodGFyZ2V0OiBhbnkpOiB0YXJnZXQgaXMgeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHtcbiAgICBpZiAoaXNPYmplY3QodGFyZ2V0KSAmJiAhaXNBcnJheSh0YXJnZXQpKSB7XG4gICAgICAgIGlmIChpc051bWJlcigodGFyZ2V0IGFzIFNhZmVBbnkpLngpICYmIGlzTnVtYmVyKCh0YXJnZXQgYXMgU2FmZUFueSkueSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbiJdfQ==
|
package/esm2020/types/common.mjs
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
export const PR = window.PR;
|
|
4
|
-
export const mermaid = window.mermaid;
|
|
5
|
-
export const liteMarked = window.liteMarked;
|
|
6
|
-
export const $ = window.$;
|
|
7
|
-
export const katex = window.katex;
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3R5cGVzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUksTUFBYyxDQUFDLE1BQU0sQ0FBQztBQUM3QyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUksTUFBYyxDQUFDLEdBQUcsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUksTUFBYyxDQUFDLEVBQUUsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUksTUFBYyxDQUFDLE9BQU8sQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUksTUFBYyxDQUFDLFVBQVUsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUksTUFBYyxDQUFDLENBQUMsQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUksTUFBYyxDQUFDLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBTeXN0ZW0gPSAod2luZG93IGFzIGFueSkuU3lzdGVtO1xuZXhwb3J0IGNvbnN0IEVOViA9ICh3aW5kb3cgYXMgYW55KS5FTlY7XG5leHBvcnQgY29uc3QgUFIgPSAod2luZG93IGFzIGFueSkuUFI7XG5leHBvcnQgY29uc3QgbWVybWFpZCA9ICh3aW5kb3cgYXMgYW55KS5tZXJtYWlkO1xuZXhwb3J0IGNvbnN0IGxpdGVNYXJrZWQgPSAod2luZG93IGFzIGFueSkubGl0ZU1hcmtlZDtcbmV4cG9ydCBjb25zdCAkID0gKHdpbmRvdyBhcyBhbnkpLiQ7XG5leHBvcnQgY29uc3Qga2F0ZXggPSAod2luZG93IGFzIGFueSkua2F0ZXg7XG5cbmV4cG9ydCBkZWNsYXJlIG1vZHVsZSBqYXNtaW5lIHtcbiAgICBpbnRlcmZhY2UgTWF0Y2hlcnM8VD4ge1xuICAgICAgICB0b0hhdmVDc3NDbGFzcyhleHBlY3RlZDogYW55KTogYm9vbGVhbjtcbiAgICB9XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJZCB7XG4gICAgdG9TdHJpbmcoKTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBTYWZlQW55ID0gYW55O1xuIl19
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3R5cGVzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2FmZUFueSA9IGFueTtcblxuZXhwb3J0IHsgSWQsIElkcywgSWRPcklkcyB9IGZyb20gJ0B0ZXRoeXMvY2RrL2ltbXV0YWJsZSc7XG4iXX0=
|
package/esm2020/version.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Version } from '@angular/core';
|
|
2
|
-
export const VERSION = new Version('14.2.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const VERSION = new Version('14.2.3');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxNC4yLjMnKTtcbiJdfQ==
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as i2 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Component, ViewEncapsulation, Input, HostBinding, ChangeDetectionStrategy,
|
|
4
|
+
import { Component, ViewEncapsulation, Input, HostBinding, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
5
5
|
import * as i3 from 'ngx-tethys/icon';
|
|
6
6
|
import { ThyIconModule } from 'ngx-tethys/icon';
|
|
7
7
|
import * as i1 from 'ngx-tethys/core';
|
|
8
8
|
import { UpdateHostClassService, InputBoolean } from 'ngx-tethys/core';
|
|
9
9
|
import { coerceBooleanProperty, assertIconOnly } from 'ngx-tethys/util';
|
|
10
10
|
import { __decorate, __metadata } from 'tslib';
|
|
11
|
+
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
11
12
|
|
|
12
13
|
const buttonGroupSizeMap = {
|
|
13
14
|
sm: ['btn-group-sm'],
|
|
@@ -231,8 +232,7 @@ class ThyButtonComponent {
|
|
|
231
232
|
this._initialized = false;
|
|
232
233
|
// 圆角方形
|
|
233
234
|
this._isRadiusSquare = false;
|
|
234
|
-
this.hostRenderer =
|
|
235
|
-
this.hostRenderer.initializeElement(elementRef);
|
|
235
|
+
this.hostRenderer = useHostRenderer();
|
|
236
236
|
}
|
|
237
237
|
get nativeElement() {
|
|
238
238
|
return this.elementRef.nativeElement;
|
|
@@ -363,7 +363,7 @@ class ThyButtonComponent {
|
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
365
|
ThyButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
366
|
-
ThyButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: { thyButton: "thyButton", thyType: "thyType", thyLoading: "thyLoading", thyLoadingText: "thyLoadingText", thySize: "thySize", thyIcon: "thyIcon", thyBlock: "thyBlock" }, host: { properties: { "class.btn-block": "this.thyBlock" }, classAttribute: "thy-btn btn" },
|
|
366
|
+
ThyButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: { thyButton: "thyButton", thyType: "thyType", thyLoading: "thyLoading", thyLoadingText: "thyLoadingText", thySize: "thySize", thyIcon: "thyIcon", thyBlock: "thyBlock" }, host: { properties: { "class.btn-block": "this.thyBlock" }, classAttribute: "thy-btn btn" }, ngImport: i0, template: "<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClass\" *ngIf=\"iconClass\"></i>\n</ng-template>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
367
367
|
__decorate([
|
|
368
368
|
InputBoolean(),
|
|
369
369
|
__metadata("design:type", Boolean),
|
|
@@ -377,7 +377,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
377
377
|
type: Component,
|
|
378
378
|
args: [{ selector: 'thy-button,[thy-button],[thyButton]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
379
379
|
class: 'thy-btn btn'
|
|
380
|
-
},
|
|
380
|
+
}, template: "<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClass\" *ngIf=\"iconClass\"></i>\n</ng-template>\n<ng-content></ng-content>\n" }]
|
|
381
381
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { thyButton: [{
|
|
382
382
|
type: Input
|
|
383
383
|
}], thyType: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-button.mjs","sources":["../../../src/button/button-group.component.ts","../../../src/button/button-icon.component.ts","../../../src/button/button-icon.component.html","../../../src/button/button.component.ts","../../../src/button/button.component.html","../../../src/button/button.module.ts","../../../src/button/ngx-tethys-button.ts"],"sourcesContent":["import { UpdateHostClassService } from 'ngx-tethys/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nimport { Component, ElementRef, HostBinding, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\nexport type ButtonGroupSize = 'sm' | 'lg' | 'xs' | 'md';\n\nexport type ButtonGroupType = 'outline-primary' | 'outline-default';\n\nconst buttonGroupSizeMap = {\n sm: ['btn-group-sm'],\n md: ['btn-group-md'],\n lg: ['btn-group-lg'],\n xs: ['btn-group-xs']\n};\n\n@Component({\n selector: 'thy-button-group',\n template: '<ng-content></ng-content>',\n providers: [UpdateHostClassService],\n encapsulation: ViewEncapsulation.None\n})\nexport class ThyButtonGroupComponent implements OnInit {\n private initialized = false;\n\n private type: string;\n\n private size: string;\n\n @Input()\n set thySize(size: ButtonGroupSize) {\n this.size = size;\n if (this.initialized) {\n this.setClasses();\n }\n }\n\n @Input()\n set thyType(type: ButtonGroupType) {\n this.type = type;\n if (this.initialized) {\n this.setClasses();\n }\n }\n\n @Input()\n set thyClearMinWidth(value: string) {\n this.thyClearMinWidthClassName = coerceBooleanProperty(value);\n }\n\n @HostBinding('class.btn-group') _isButtonGroup = true;\n @HostBinding(`class.btn-group-clear-min-width`)\n thyClearMinWidthClassName = false;\n\n constructor(private updateHostClassService: UpdateHostClassService, private elementRef: ElementRef) {\n this.updateHostClassService.initializeElement(elementRef.nativeElement);\n }\n\n ngOnInit() {\n this.setClasses();\n this.initialized = true;\n }\n\n private setClasses() {\n let classNames: string[] = [];\n if (this.type) {\n classNames.push(`btn-group-${this.type}`);\n }\n if (buttonGroupSizeMap[this.size]) {\n classNames.push(buttonGroupSizeMap[this.size]);\n }\n this.updateHostClassService.updateClass(classNames);\n }\n}\n","import { UpdateHostClassService } from 'ngx-tethys/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\nexport type ThyButtonIconShape = '' | 'circle-dashed' | 'circle-solid' | 'circle-thick-dashed' | 'circle-thick-solid' | 'self-icon';\n\nconst sizeClassesMap = {\n lg: ['btn-icon-lg'],\n md: ['btn-icon-md'],\n sm: ['btn-icon-sm'],\n xs: ['btn-icon-xs']\n};\n\nconst shapeClassesMap = {\n 'circle-dashed': ['btn-icon-circle', 'circle-dashed'],\n 'circle-solid': ['btn-icon-circle', 'circle-solid'],\n 'circle-thick-dashed': ['btn-icon-circle', 'circle-dashed', 'border-thick'],\n 'circle-thick-solid': ['btn-icon-circle', 'circle-solid', 'border-thick'],\n 'self-icon': ['btn-icon-self-circle']\n};\n\nconst themeClassesMap: any = {\n 'danger-weak': ['btn-icon-danger-weak']\n};\n\n@Component({\n selector: 'thy-button-icon,[thy-button-icon],[thyButtonIcon]',\n templateUrl: './button-icon.component.html',\n providers: [UpdateHostClassService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThyButtonIconComponent implements OnInit {\n @Input()\n set thySize(size: string) {\n this.size = size;\n this.setClasses();\n }\n\n // 字体前缀,默认 wtf\n @Input()\n set thyIcon(icon: string) {\n this.setIconClass(icon);\n }\n\n @Input()\n set thyButtonIcon(icon: string) {\n this.setIconClass(icon);\n }\n\n @Input()\n set thyShape(value: ThyButtonIconShape) {\n this.shape = value;\n this.setClasses();\n }\n\n @Input()\n set thyLight(value: boolean) {\n this._isLighted = coerceBooleanProperty(value);\n }\n\n @Input()\n set thyActive(value: boolean) {\n this._isActive = coerceBooleanProperty(value);\n }\n\n @Input()\n set thyTheme(value: string) {\n this.theme = value;\n this.setClasses();\n }\n\n constructor(elementRef: ElementRef, private updateHostClassService: UpdateHostClassService) {\n this.updateHostClassService.initializeElement(elementRef.nativeElement);\n }\n private initialized = false;\n\n private shape: ThyButtonIconShape;\n\n private size: string;\n\n iconPrefix = 'wtf';\n\n iconClasses: string[];\n\n icon: string;\n\n theme: string;\n\n svgIconName: string;\n\n @HostBinding('class.btn') _isBtn = true;\n @HostBinding('class.btn-icon') _isBtnIcon = true;\n @HostBinding('class.btn-icon-light') _isLighted = false;\n @HostBinding('class.btn-icon-active') _isActive = false;\n\n @Input() thyColor: string;\n\n private setIconClass(icon: string) {\n if (icon) {\n if (icon.includes('wtf')) {\n const classes = icon.split(' ');\n if (classes.length === 1) {\n classes.unshift('wtf');\n }\n this.iconClasses = classes;\n this.svgIconName = null;\n } else {\n this.svgIconName = icon;\n }\n } else {\n this.iconClasses = null;\n this.svgIconName = null;\n }\n }\n\n private setClasses(first = false) {\n // 设置样式判断是否已经初始化,未初始化直接返回,除非是初次调用\n // 只有 ngOnInit 调用会传入 first = true\n if (!first && !this.initialized) {\n return;\n }\n const classes = sizeClassesMap[this.size] ? [...sizeClassesMap[this.size]] : [];\n if (this.shape && shapeClassesMap[this.shape]) {\n shapeClassesMap[this.shape].forEach((className: string) => {\n classes.push(className);\n });\n }\n if (this.theme && themeClassesMap[this.theme]) {\n themeClassesMap[this.theme].forEach((className: string) => {\n classes.push(className);\n });\n }\n this.updateHostClassService.updateClass(classes);\n }\n\n ngOnInit() {\n this.setClasses(true);\n this.initialized = true;\n }\n}\n","<thy-icon\n *ngIf=\"svgIconName; else iconFont\"\n [thyIconName]=\"svgIconName\"\n [style.color]=\"thyColor\"\n [style.borderColor]=\"thyColor\"\n></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClasses\" *ngIf=\"iconClasses\" [style.color]=\"thyColor\" [style.borderColor]=\"thyColor\"></i>\n</ng-template>\n<ng-content></ng-content>\n","import { InputBoolean, UpdateHostClassService } from 'ngx-tethys/core';\nimport { assertIconOnly } from 'ngx-tethys/util';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n AfterViewInit,\n inject\n} from '@angular/core';\n\nexport type ThyButtonType =\n | 'primary'\n | 'secondary'\n | 'info'\n | 'outline-primary'\n | 'outline-default'\n | 'danger'\n | 'link'\n | 'link-secondary'\n | 'warning'\n | 'outline-warning'\n | 'success'\n | 'outline-success'\n | 'outline-info'\n | 'outline-danger'\n | 'link-danger-weak'\n | 'link-danger'\n | 'link-success';\n\nconst btnTypeClassesMap = {\n primary: ['btn-primary'],\n secondary: ['btn-primary', 'btn-md'],\n info: ['btn-info'],\n warning: ['btn-warning'],\n danger: ['btn-danger'],\n 'outline-primary': ['btn-outline-primary'],\n 'outline-default': ['btn-outline-default'],\n link: ['btn-link'], // 链接按钮\n 'link-info': ['btn-link', 'btn-link-info'], // 幽灵链接按钮\n 'link-secondary': ['btn-link', 'btn-link-primary-weak'], // 幽灵链接按钮\n 'link-danger-weak': ['btn-link', 'btn-link-danger-weak'], // 幽灵危险按钮\n 'link-danger': ['btn-link', 'btn-link-danger'], // 危险按钮\n 'link-success': ['btn-link', 'btn-link-success'] // 成功按钮\n};\n\nconst iconOnlyClass = 'thy-btn-icon-only';\n\n@Component({\n selector: 'thy-button,[thy-button],[thyButton]',\n templateUrl: './button.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-btn btn'\n },\n providers: [UpdateHostClassService]\n})\nexport class ThyButtonComponent implements OnInit, AfterViewInit {\n private _initialized = false;\n\n private _originalText: string;\n\n private _type: string;\n\n private _size: string;\n\n private _icon: string;\n\n private _loading: boolean;\n\n private _loadingText: string;\n\n // 圆角方形\n _isRadiusSquare = false;\n\n iconClass: string[];\n\n svgIconName: string;\n\n private get nativeElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private hostRenderer = inject(UpdateHostClassService);\n\n @Input()\n set thyButton(value: ThyButtonType) {\n this.setBtnType(value);\n }\n\n @Input()\n set thyType(value: ThyButtonType) {\n this.setBtnType(value);\n }\n\n @Input()\n @InputBoolean()\n set thyLoading(value: boolean) {\n if (!this._loading && value) {\n this._loading = value;\n const textElement = this.nativeElement.querySelector('span');\n this._originalText = textElement ? textElement.innerText : '';\n this.setLoadingStatus();\n } else {\n this._loading = value;\n this.setLoadingStatus();\n }\n }\n\n @Input()\n set thyLoadingText(value: string) {\n if (this._loadingText !== value) {\n this._loadingText = value;\n if (this._loading) {\n this.setLoadingText(this._loadingText);\n }\n }\n }\n\n @Input()\n set thySize(size: string) {\n this._size = size;\n if (this._initialized) {\n this.updateClasses();\n }\n }\n\n @Input()\n set thyIcon(icon: string) {\n this._icon = icon;\n if (this._icon) {\n if (icon.includes('wtf')) {\n const classes = this._icon.split(' ');\n if (classes.length === 1) {\n classes.unshift('wtf');\n }\n this.iconClass = classes;\n this.svgIconName = null;\n } else {\n this.svgIconName = icon;\n }\n } else {\n this.iconClass = null;\n this.svgIconName = null;\n }\n }\n\n @HostBinding(`class.btn-block`)\n @Input()\n @InputBoolean()\n thyBlock: boolean;\n\n private setBtnType(value: ThyButtonType) {\n if (value) {\n if (value.includes('-square')) {\n this._type = value.replace('-square', '');\n this._isRadiusSquare = true;\n } else {\n this._type = value;\n }\n\n if (this._initialized) {\n this.updateClasses();\n }\n }\n }\n\n private setLoadingText(text: string) {\n const spanElement = this.nativeElement.querySelector('span');\n if (spanElement) {\n this.renderer.setProperty(spanElement, 'innerText', text);\n }\n }\n\n private setLoadingStatus() {\n const innerText = this._loading ? this._loadingText : this._originalText;\n this.updateClasses();\n if (innerText) {\n this.setLoadingText(innerText);\n }\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n if (btnTypeClassesMap[this._type]) {\n classNames = [...btnTypeClassesMap[this._type]];\n } else {\n if (this._type) {\n classNames.push(`btn-${this._type}`);\n }\n }\n if (this._size) {\n classNames.push(`btn-${this._size}`);\n }\n if (this._isRadiusSquare) {\n classNames.push('btn-square');\n }\n if (this._loading) {\n classNames.push('loading');\n }\n this.hostRenderer.updateClass(classNames);\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n this.hostRenderer.initializeElement(elementRef);\n }\n\n ngOnInit() {\n this.updateClasses();\n this._initialized = true;\n }\n\n ngAfterViewInit() {\n if (assertIconOnly(this.nativeElement)) {\n this.hostRenderer.addClass(iconOnlyClass);\n } else {\n this.hostRenderer.removeClass(iconOnlyClass);\n }\n this.wrapSpanForText(this.nativeElement.childNodes);\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n this.renderer.addClass(span, 'thy-btn-wrap-span');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n}\n","<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClass\" *ngIf=\"iconClass\"></i>\n</ng-template>\n<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyButtonGroupComponent } from './button-group.component';\nimport { ThyButtonIconComponent } from './button-icon.component';\nimport { ThyButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ThyButtonComponent, ThyButtonIconComponent, ThyButtonGroupComponent],\n imports: [CommonModule, ThyIconModule],\n exports: [ThyButtonComponent, ThyButtonIconComponent, ThyButtonGroupComponent]\n})\nexport class ThyButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-button.mjs","sources":["../../../src/button/button-group.component.ts","../../../src/button/button-icon.component.ts","../../../src/button/button-icon.component.html","../../../src/button/button.component.ts","../../../src/button/button.component.html","../../../src/button/button.module.ts","../../../src/button/ngx-tethys-button.ts"],"sourcesContent":["import { UpdateHostClassService } from 'ngx-tethys/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nimport { Component, ElementRef, HostBinding, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\nexport type ButtonGroupSize = 'sm' | 'lg' | 'xs' | 'md';\n\nexport type ButtonGroupType = 'outline-primary' | 'outline-default';\n\nconst buttonGroupSizeMap = {\n sm: ['btn-group-sm'],\n md: ['btn-group-md'],\n lg: ['btn-group-lg'],\n xs: ['btn-group-xs']\n};\n\n@Component({\n selector: 'thy-button-group',\n template: '<ng-content></ng-content>',\n providers: [UpdateHostClassService],\n encapsulation: ViewEncapsulation.None\n})\nexport class ThyButtonGroupComponent implements OnInit {\n private initialized = false;\n\n private type: string;\n\n private size: string;\n\n @Input()\n set thySize(size: ButtonGroupSize) {\n this.size = size;\n if (this.initialized) {\n this.setClasses();\n }\n }\n\n @Input()\n set thyType(type: ButtonGroupType) {\n this.type = type;\n if (this.initialized) {\n this.setClasses();\n }\n }\n\n @Input()\n set thyClearMinWidth(value: string) {\n this.thyClearMinWidthClassName = coerceBooleanProperty(value);\n }\n\n @HostBinding('class.btn-group') _isButtonGroup = true;\n @HostBinding(`class.btn-group-clear-min-width`)\n thyClearMinWidthClassName = false;\n\n constructor(private updateHostClassService: UpdateHostClassService, private elementRef: ElementRef) {\n this.updateHostClassService.initializeElement(elementRef.nativeElement);\n }\n\n ngOnInit() {\n this.setClasses();\n this.initialized = true;\n }\n\n private setClasses() {\n let classNames: string[] = [];\n if (this.type) {\n classNames.push(`btn-group-${this.type}`);\n }\n if (buttonGroupSizeMap[this.size]) {\n classNames.push(buttonGroupSizeMap[this.size]);\n }\n this.updateHostClassService.updateClass(classNames);\n }\n}\n","import { UpdateHostClassService } from 'ngx-tethys/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\nexport type ThyButtonIconShape = '' | 'circle-dashed' | 'circle-solid' | 'circle-thick-dashed' | 'circle-thick-solid' | 'self-icon';\n\nconst sizeClassesMap = {\n lg: ['btn-icon-lg'],\n md: ['btn-icon-md'],\n sm: ['btn-icon-sm'],\n xs: ['btn-icon-xs']\n};\n\nconst shapeClassesMap = {\n 'circle-dashed': ['btn-icon-circle', 'circle-dashed'],\n 'circle-solid': ['btn-icon-circle', 'circle-solid'],\n 'circle-thick-dashed': ['btn-icon-circle', 'circle-dashed', 'border-thick'],\n 'circle-thick-solid': ['btn-icon-circle', 'circle-solid', 'border-thick'],\n 'self-icon': ['btn-icon-self-circle']\n};\n\nconst themeClassesMap: any = {\n 'danger-weak': ['btn-icon-danger-weak']\n};\n\n@Component({\n selector: 'thy-button-icon,[thy-button-icon],[thyButtonIcon]',\n templateUrl: './button-icon.component.html',\n providers: [UpdateHostClassService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThyButtonIconComponent implements OnInit {\n @Input()\n set thySize(size: string) {\n this.size = size;\n this.setClasses();\n }\n\n // 字体前缀,默认 wtf\n @Input()\n set thyIcon(icon: string) {\n this.setIconClass(icon);\n }\n\n @Input()\n set thyButtonIcon(icon: string) {\n this.setIconClass(icon);\n }\n\n @Input()\n set thyShape(value: ThyButtonIconShape) {\n this.shape = value;\n this.setClasses();\n }\n\n @Input()\n set thyLight(value: boolean) {\n this._isLighted = coerceBooleanProperty(value);\n }\n\n @Input()\n set thyActive(value: boolean) {\n this._isActive = coerceBooleanProperty(value);\n }\n\n @Input()\n set thyTheme(value: string) {\n this.theme = value;\n this.setClasses();\n }\n\n constructor(elementRef: ElementRef, private updateHostClassService: UpdateHostClassService) {\n this.updateHostClassService.initializeElement(elementRef.nativeElement);\n }\n private initialized = false;\n\n private shape: ThyButtonIconShape;\n\n private size: string;\n\n iconPrefix = 'wtf';\n\n iconClasses: string[];\n\n icon: string;\n\n theme: string;\n\n svgIconName: string;\n\n @HostBinding('class.btn') _isBtn = true;\n @HostBinding('class.btn-icon') _isBtnIcon = true;\n @HostBinding('class.btn-icon-light') _isLighted = false;\n @HostBinding('class.btn-icon-active') _isActive = false;\n\n @Input() thyColor: string;\n\n private setIconClass(icon: string) {\n if (icon) {\n if (icon.includes('wtf')) {\n const classes = icon.split(' ');\n if (classes.length === 1) {\n classes.unshift('wtf');\n }\n this.iconClasses = classes;\n this.svgIconName = null;\n } else {\n this.svgIconName = icon;\n }\n } else {\n this.iconClasses = null;\n this.svgIconName = null;\n }\n }\n\n private setClasses(first = false) {\n // 设置样式判断是否已经初始化,未初始化直接返回,除非是初次调用\n // 只有 ngOnInit 调用会传入 first = true\n if (!first && !this.initialized) {\n return;\n }\n const classes = sizeClassesMap[this.size] ? [...sizeClassesMap[this.size]] : [];\n if (this.shape && shapeClassesMap[this.shape]) {\n shapeClassesMap[this.shape].forEach((className: string) => {\n classes.push(className);\n });\n }\n if (this.theme && themeClassesMap[this.theme]) {\n themeClassesMap[this.theme].forEach((className: string) => {\n classes.push(className);\n });\n }\n this.updateHostClassService.updateClass(classes);\n }\n\n ngOnInit() {\n this.setClasses(true);\n this.initialized = true;\n }\n}\n","<thy-icon\n *ngIf=\"svgIconName; else iconFont\"\n [thyIconName]=\"svgIconName\"\n [style.color]=\"thyColor\"\n [style.borderColor]=\"thyColor\"\n></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClasses\" *ngIf=\"iconClasses\" [style.color]=\"thyColor\" [style.borderColor]=\"thyColor\"></i>\n</ng-template>\n<ng-content></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n AfterViewInit\n} from '@angular/core';\n\nimport { InputBoolean } from 'ngx-tethys/core';\nimport { assertIconOnly } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nexport type ThyButtonType =\n | 'primary'\n | 'secondary'\n | 'info'\n | 'outline-primary'\n | 'outline-default'\n | 'danger'\n | 'link'\n | 'link-secondary'\n | 'warning'\n | 'outline-warning'\n | 'success'\n | 'outline-success'\n | 'outline-info'\n | 'outline-danger'\n | 'link-danger-weak'\n | 'link-danger'\n | 'link-success';\n\nconst btnTypeClassesMap = {\n primary: ['btn-primary'],\n secondary: ['btn-primary', 'btn-md'],\n info: ['btn-info'],\n warning: ['btn-warning'],\n danger: ['btn-danger'],\n 'outline-primary': ['btn-outline-primary'],\n 'outline-default': ['btn-outline-default'],\n link: ['btn-link'], // 链接按钮\n 'link-info': ['btn-link', 'btn-link-info'], // 幽灵链接按钮\n 'link-secondary': ['btn-link', 'btn-link-primary-weak'], // 幽灵链接按钮\n 'link-danger-weak': ['btn-link', 'btn-link-danger-weak'], // 幽灵危险按钮\n 'link-danger': ['btn-link', 'btn-link-danger'], // 危险按钮\n 'link-success': ['btn-link', 'btn-link-success'] // 成功按钮\n};\n\nconst iconOnlyClass = 'thy-btn-icon-only';\n\n@Component({\n selector: 'thy-button,[thy-button],[thyButton]',\n templateUrl: './button.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-btn btn'\n }\n})\nexport class ThyButtonComponent implements OnInit, AfterViewInit {\n private _initialized = false;\n\n private _originalText: string;\n\n private _type: string;\n\n private _size: string;\n\n private _icon: string;\n\n private _loading: boolean;\n\n private _loadingText: string;\n\n // 圆角方形\n _isRadiusSquare = false;\n\n iconClass: string[];\n\n svgIconName: string;\n\n private get nativeElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private hostRenderer = useHostRenderer();\n\n @Input()\n set thyButton(value: ThyButtonType) {\n this.setBtnType(value);\n }\n\n @Input()\n set thyType(value: ThyButtonType) {\n this.setBtnType(value);\n }\n\n @Input()\n @InputBoolean()\n set thyLoading(value: boolean) {\n if (!this._loading && value) {\n this._loading = value;\n const textElement = this.nativeElement.querySelector('span');\n this._originalText = textElement ? textElement.innerText : '';\n this.setLoadingStatus();\n } else {\n this._loading = value;\n this.setLoadingStatus();\n }\n }\n\n @Input()\n set thyLoadingText(value: string) {\n if (this._loadingText !== value) {\n this._loadingText = value;\n if (this._loading) {\n this.setLoadingText(this._loadingText);\n }\n }\n }\n\n @Input()\n set thySize(size: string) {\n this._size = size;\n if (this._initialized) {\n this.updateClasses();\n }\n }\n\n @Input()\n set thyIcon(icon: string) {\n this._icon = icon;\n if (this._icon) {\n if (icon.includes('wtf')) {\n const classes = this._icon.split(' ');\n if (classes.length === 1) {\n classes.unshift('wtf');\n }\n this.iconClass = classes;\n this.svgIconName = null;\n } else {\n this.svgIconName = icon;\n }\n } else {\n this.iconClass = null;\n this.svgIconName = null;\n }\n }\n\n @HostBinding(`class.btn-block`)\n @Input()\n @InputBoolean()\n thyBlock: boolean;\n\n private setBtnType(value: ThyButtonType) {\n if (value) {\n if (value.includes('-square')) {\n this._type = value.replace('-square', '');\n this._isRadiusSquare = true;\n } else {\n this._type = value;\n }\n\n if (this._initialized) {\n this.updateClasses();\n }\n }\n }\n\n private setLoadingText(text: string) {\n const spanElement = this.nativeElement.querySelector('span');\n if (spanElement) {\n this.renderer.setProperty(spanElement, 'innerText', text);\n }\n }\n\n private setLoadingStatus() {\n const innerText = this._loading ? this._loadingText : this._originalText;\n this.updateClasses();\n if (innerText) {\n this.setLoadingText(innerText);\n }\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n if (btnTypeClassesMap[this._type]) {\n classNames = [...btnTypeClassesMap[this._type]];\n } else {\n if (this._type) {\n classNames.push(`btn-${this._type}`);\n }\n }\n if (this._size) {\n classNames.push(`btn-${this._size}`);\n }\n if (this._isRadiusSquare) {\n classNames.push('btn-square');\n }\n if (this._loading) {\n classNames.push('loading');\n }\n this.hostRenderer.updateClass(classNames);\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\n\n ngOnInit() {\n this.updateClasses();\n this._initialized = true;\n }\n\n ngAfterViewInit() {\n if (assertIconOnly(this.nativeElement)) {\n this.hostRenderer.addClass(iconOnlyClass);\n } else {\n this.hostRenderer.removeClass(iconOnlyClass);\n }\n this.wrapSpanForText(this.nativeElement.childNodes);\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n this.renderer.addClass(span, 'thy-btn-wrap-span');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n}\n","<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClass\" *ngIf=\"iconClass\"></i>\n</ng-template>\n<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyButtonGroupComponent } from './button-group.component';\nimport { ThyButtonIconComponent } from './button-icon.component';\nimport { ThyButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ThyButtonComponent, ThyButtonIconComponent, ThyButtonGroupComponent],\n imports: [CommonModule, ThyIconModule],\n exports: [ThyButtonComponent, ThyButtonIconComponent, ThyButtonGroupComponent]\n})\nexport class ThyButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|