@skyux/tabs 7.0.0-beta.0 → 7.0.0-beta.10
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/documentation.json +1118 -836
- package/esm2020/lib/modules/sectioned-form/sectioned-form-section.component.mjs +20 -14
- package/esm2020/lib/modules/sectioned-form/sectioned-form.component.mjs +25 -19
- package/esm2020/lib/modules/sectioned-form/sectioned-form.service.mjs +1 -1
- package/esm2020/lib/modules/shared/sky-tabs-resources.module.mjs +9 -1
- package/esm2020/lib/modules/tabs/tab-button-adapter.service.mjs +16 -0
- package/esm2020/lib/modules/tabs/tab-button-view-model.mjs +2 -0
- package/esm2020/lib/modules/tabs/tab-button.component.mjs +103 -10
- package/esm2020/lib/modules/tabs/tab.component.mjs +73 -33
- package/esm2020/lib/modules/tabs/tabs.module.mjs +5 -2
- package/esm2020/lib/modules/tabs/tabset-adapter.service.mjs +34 -22
- package/esm2020/lib/modules/tabs/tabset-nav-button-disabled.pipe.mjs +22 -0
- package/esm2020/lib/modules/tabs/tabset-nav-button.component.mjs +32 -42
- package/esm2020/lib/modules/tabs/tabset-permalink.service.mjs +41 -35
- package/esm2020/lib/modules/tabs/tabset-tab-indexes-change.mjs +1 -1
- package/esm2020/lib/modules/tabs/tabset.component.mjs +227 -219
- package/esm2020/lib/modules/tabs/tabset.service.mjs +104 -26
- package/esm2020/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +11 -12
- package/esm2020/lib/modules/vertical-tabset/vertical-tab.component.mjs +67 -54
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +11 -8
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +28 -34
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset.component.mjs +23 -20
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset.service.mjs +55 -56
- package/esm2020/testing/tabs/tab-fixture-tab.mjs +1 -1
- package/esm2020/testing/tabs/tabset-fixture.mjs +44 -47
- package/fesm2015/skyux-tabs-testing.mjs +47 -49
- package/fesm2015/skyux-tabs-testing.mjs.map +1 -1
- package/fesm2015/skyux-tabs.mjs +947 -668
- package/fesm2015/skyux-tabs.mjs.map +1 -1
- package/fesm2020/skyux-tabs-testing.mjs +43 -46
- package/fesm2020/skyux-tabs-testing.mjs.map +1 -1
- package/fesm2020/skyux-tabs.mjs +1075 -800
- package/fesm2020/skyux-tabs.mjs.map +1 -1
- package/lib/modules/sectioned-form/sectioned-form-section.component.d.ts +7 -10
- package/lib/modules/sectioned-form/sectioned-form.component.d.ts +4 -6
- package/lib/modules/sectioned-form/sectioned-form.service.d.ts +4 -4
- package/lib/modules/tabs/tab-button-adapter.service.d.ts +10 -0
- package/lib/modules/tabs/tab-button-view-model.d.ts +17 -0
- package/lib/modules/tabs/tab-button.component.d.ts +30 -11
- package/lib/modules/tabs/tab.component.d.ts +13 -18
- package/lib/modules/tabs/tabs.module.d.ts +9 -8
- package/lib/modules/tabs/tabset-adapter.service.d.ts +5 -10
- package/lib/modules/tabs/tabset-nav-button-disabled.pipe.d.ts +8 -0
- package/lib/modules/tabs/tabset-nav-button.component.d.ts +8 -5
- package/lib/modules/tabs/tabset-permalink.service.d.ts +3 -11
- package/lib/modules/tabs/tabset-tab-indexes-change.d.ts +2 -2
- package/lib/modules/tabs/tabset.component.d.ts +14 -70
- package/lib/modules/tabs/tabset.service.d.ts +16 -9
- package/lib/modules/vertical-tabset/vertical-tab-media-query.service.d.ts +2 -3
- package/lib/modules/vertical-tabset/vertical-tab.component.d.ts +13 -22
- package/lib/modules/vertical-tabset/vertical-tabset-adapter.service.d.ts +1 -2
- package/lib/modules/vertical-tabset/vertical-tabset-group.component.d.ts +7 -11
- package/lib/modules/vertical-tabset/vertical-tabset.component.d.ts +10 -13
- package/lib/modules/vertical-tabset/vertical-tabset.service.d.ts +10 -17
- package/package.json +9 -9
- package/testing/tabs/tab-fixture-tab.d.ts +3 -3
- package/testing/tabs/tabset-fixture.d.ts +3 -9
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
var _SkyVerticalTabComponent_instances, _SkyVerticalTabComponent__ariaRole, _SkyVerticalTabComponent__contentRendered, _SkyVerticalTabComponent_tabIdOrDefault, _SkyVerticalTabComponent_defaultTabId, _SkyVerticalTabComponent_mobileSubscription, _SkyVerticalTabComponent_ngUnsubscribe, _SkyVerticalTabComponent_adapterService, _SkyVerticalTabComponent_changeRef, _SkyVerticalTabComponent_tabsetService, _SkyVerticalTabComponent_verticalTabMediaQueryService, _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, Input, ViewChild, } from '@angular/core';
|
|
2
4
|
import { SkyMediaQueryService } from '@skyux/core';
|
|
3
5
|
import { Subject } from 'rxjs';
|
|
4
6
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -15,10 +17,7 @@ import * as i6 from "@skyux/core";
|
|
|
15
17
|
let nextId = 0;
|
|
16
18
|
export class SkyVerticalTabComponent {
|
|
17
19
|
constructor(adapterService, changeRef, tabsetService, verticalTabMediaQueryService) {
|
|
18
|
-
this
|
|
19
|
-
this.changeRef = changeRef;
|
|
20
|
-
this.tabsetService = tabsetService;
|
|
21
|
-
this.verticalTabMediaQueryService = verticalTabMediaQueryService;
|
|
20
|
+
_SkyVerticalTabComponent_instances.add(this);
|
|
22
21
|
/**
|
|
23
22
|
* Indicates whether the tab is active when the tabset loads.
|
|
24
23
|
*/
|
|
@@ -32,16 +31,22 @@ export class SkyVerticalTabComponent {
|
|
|
32
31
|
* @internal This is used for sectioned forms and is not currently a supported design for pure vertical tabs.
|
|
33
32
|
*/
|
|
34
33
|
this.errorIndicator = false;
|
|
35
|
-
/**
|
|
36
|
-
* Specifies an ID for the tab.
|
|
37
|
-
* @deprecated Now that the vertical tabs provide aria labels automatically, this input is no longer necessary.
|
|
38
|
-
*/
|
|
39
|
-
this.tabId = `sky-vertical-tab-${++nextId}`;
|
|
40
34
|
this.isMobile = false;
|
|
41
|
-
this
|
|
42
|
-
this
|
|
43
|
-
this
|
|
44
|
-
this
|
|
35
|
+
_SkyVerticalTabComponent__ariaRole.set(this, 'tab');
|
|
36
|
+
_SkyVerticalTabComponent__contentRendered.set(this, false);
|
|
37
|
+
_SkyVerticalTabComponent_tabIdOrDefault.set(this, void 0);
|
|
38
|
+
_SkyVerticalTabComponent_defaultTabId.set(this, void 0);
|
|
39
|
+
_SkyVerticalTabComponent_mobileSubscription.set(this, new Subject());
|
|
40
|
+
_SkyVerticalTabComponent_ngUnsubscribe.set(this, new Subject());
|
|
41
|
+
_SkyVerticalTabComponent_adapterService.set(this, void 0);
|
|
42
|
+
_SkyVerticalTabComponent_changeRef.set(this, void 0);
|
|
43
|
+
_SkyVerticalTabComponent_tabsetService.set(this, void 0);
|
|
44
|
+
_SkyVerticalTabComponent_verticalTabMediaQueryService.set(this, void 0);
|
|
45
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_adapterService, adapterService, "f");
|
|
46
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_changeRef, changeRef, "f");
|
|
47
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_tabsetService, tabsetService, "f");
|
|
48
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_verticalTabMediaQueryService, verticalTabMediaQueryService, "f");
|
|
49
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_tabIdOrDefault, __classPrivateFieldSet(this, _SkyVerticalTabComponent_defaultTabId, `sky-vertical-tab-${++nextId}`, "f"), "f");
|
|
45
50
|
}
|
|
46
51
|
/**
|
|
47
52
|
* Specifies an ARIA role for the vertical tab
|
|
@@ -54,60 +59,61 @@ export class SkyVerticalTabComponent {
|
|
|
54
59
|
* In the next major version, this property will be automatically set to `tab`.
|
|
55
60
|
*/
|
|
56
61
|
get ariaRole() {
|
|
57
|
-
|
|
58
|
-
return undefined;
|
|
59
|
-
}
|
|
60
|
-
return this._ariaRole || 'tab';
|
|
62
|
+
return __classPrivateFieldGet(this, _SkyVerticalTabComponent__ariaRole, "f");
|
|
61
63
|
}
|
|
62
64
|
set ariaRole(value) {
|
|
63
|
-
this
|
|
65
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent__ariaRole, value ?? 'tab', "f");
|
|
64
66
|
}
|
|
65
67
|
/**
|
|
66
|
-
*
|
|
67
|
-
* @
|
|
68
|
+
* Specifies an ID for the tab.
|
|
69
|
+
* @deprecated Now that the vertical tabs provide aria labels automatically, this input is no longer necessary.
|
|
68
70
|
*/
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
set tabId(value) {
|
|
72
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_tabIdOrDefault, value || __classPrivateFieldGet(this, _SkyVerticalTabComponent_defaultTabId, "f"), "f");
|
|
71
73
|
}
|
|
72
|
-
|
|
73
|
-
this
|
|
74
|
+
get tabId() {
|
|
75
|
+
return __classPrivateFieldGet(this, _SkyVerticalTabComponent_tabIdOrDefault, "f");
|
|
74
76
|
}
|
|
75
77
|
set contentRendered(value) {
|
|
76
|
-
this
|
|
78
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent__contentRendered, value, "f");
|
|
77
79
|
/* istanbul ignore else */
|
|
78
|
-
if (this
|
|
80
|
+
if (__classPrivateFieldGet(this, _SkyVerticalTabComponent__contentRendered, "f")) {
|
|
79
81
|
// NOTE: Wrapped in a setTimeout here to ensure that everything has completed rendering.
|
|
80
82
|
setTimeout(() => {
|
|
81
|
-
|
|
83
|
+
if (this.tabContent) {
|
|
84
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_instances, "m", _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass).call(this);
|
|
85
|
+
}
|
|
82
86
|
});
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
89
|
get contentRendered() {
|
|
86
|
-
return this
|
|
90
|
+
return __classPrivateFieldGet(this, _SkyVerticalTabComponent__contentRendered, "f");
|
|
87
91
|
}
|
|
88
92
|
ngOnInit() {
|
|
89
|
-
this.isMobile = this.
|
|
90
|
-
this.
|
|
91
|
-
this.
|
|
93
|
+
this.isMobile = __classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").isMobile();
|
|
94
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_changeRef, "f").markForCheck();
|
|
95
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").switchingMobile.subscribe((mobile) => {
|
|
92
96
|
this.isMobile = mobile;
|
|
93
|
-
this.
|
|
97
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_changeRef, "f").markForCheck();
|
|
94
98
|
});
|
|
95
99
|
// Update the breakpoint and responsive class here just as a sanity check since we can not
|
|
96
100
|
// watch for element resizing.
|
|
97
|
-
this.
|
|
98
|
-
.pipe(takeUntil(this
|
|
101
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").indexChanged
|
|
102
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyVerticalTabComponent_ngUnsubscribe, "f")))
|
|
99
103
|
.subscribe((index) => {
|
|
100
104
|
if (this.index === index && this.contentRendered) {
|
|
101
|
-
|
|
105
|
+
if (this.tabContent) {
|
|
106
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_instances, "m", _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass).call(this);
|
|
107
|
+
}
|
|
102
108
|
}
|
|
103
109
|
});
|
|
104
|
-
this.
|
|
110
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").addTab(this);
|
|
105
111
|
}
|
|
106
112
|
ngOnDestroy() {
|
|
107
|
-
this.
|
|
108
|
-
this.
|
|
109
|
-
this.
|
|
110
|
-
this.
|
|
113
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_mobileSubscription, "f").unsubscribe();
|
|
114
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_ngUnsubscribe, "f").next();
|
|
115
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_ngUnsubscribe, "f").complete();
|
|
116
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").destroyTab(this);
|
|
111
117
|
}
|
|
112
118
|
tabIndex() {
|
|
113
119
|
if (!this.disabled) {
|
|
@@ -120,8 +126,8 @@ export class SkyVerticalTabComponent {
|
|
|
120
126
|
activateTab() {
|
|
121
127
|
if (!this.disabled) {
|
|
122
128
|
this.active = true;
|
|
123
|
-
this.
|
|
124
|
-
this.
|
|
129
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").activateTab(this);
|
|
130
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_changeRef, "f").markForCheck();
|
|
125
131
|
}
|
|
126
132
|
}
|
|
127
133
|
onTabButtonKeyUp(event) {
|
|
@@ -140,18 +146,25 @@ export class SkyVerticalTabComponent {
|
|
|
140
146
|
}
|
|
141
147
|
}
|
|
142
148
|
onWindowResize() {
|
|
143
|
-
|
|
149
|
+
if (this.tabContent) {
|
|
150
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_instances, "m", _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass).call(this);
|
|
151
|
+
}
|
|
144
152
|
}
|
|
145
153
|
tabDeactivated() {
|
|
146
|
-
this.
|
|
147
|
-
}
|
|
148
|
-
updateBreakpointAndResponsiveClass(width) {
|
|
149
|
-
this.verticalTabMediaQueryService.setBreakpointForWidth(width);
|
|
150
|
-
const newBreakpiont = this.verticalTabMediaQueryService.current;
|
|
151
|
-
this.adapterService.setResponsiveClass(this.tabContent, newBreakpiont);
|
|
152
|
-
this.changeRef.markForCheck();
|
|
154
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_changeRef, "f").markForCheck();
|
|
153
155
|
}
|
|
154
156
|
}
|
|
157
|
+
_SkyVerticalTabComponent__ariaRole = new WeakMap(), _SkyVerticalTabComponent__contentRendered = new WeakMap(), _SkyVerticalTabComponent_tabIdOrDefault = new WeakMap(), _SkyVerticalTabComponent_defaultTabId = new WeakMap(), _SkyVerticalTabComponent_mobileSubscription = new WeakMap(), _SkyVerticalTabComponent_ngUnsubscribe = new WeakMap(), _SkyVerticalTabComponent_adapterService = new WeakMap(), _SkyVerticalTabComponent_changeRef = new WeakMap(), _SkyVerticalTabComponent_tabsetService = new WeakMap(), _SkyVerticalTabComponent_verticalTabMediaQueryService = new WeakMap(), _SkyVerticalTabComponent_instances = new WeakSet(), _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass = function _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass() {
|
|
158
|
+
if (this.tabContent) {
|
|
159
|
+
const width = __classPrivateFieldGet(this, _SkyVerticalTabComponent_adapterService, "f").getWidth(this.tabContent);
|
|
160
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_verticalTabMediaQueryService, "f").setBreakpointForWidth(width);
|
|
161
|
+
const newBreakpoint = __classPrivateFieldGet(this, _SkyVerticalTabComponent_verticalTabMediaQueryService, "f").current;
|
|
162
|
+
if (newBreakpoint) {
|
|
163
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_adapterService, "f").setResponsiveClass(this.tabContent, newBreakpoint);
|
|
164
|
+
}
|
|
165
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_changeRef, "f").markForCheck();
|
|
166
|
+
}
|
|
167
|
+
};
|
|
155
168
|
SkyVerticalTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabComponent, deps: [{ token: i1.SkyVerticalTabsetAdapterService }, { token: i0.ChangeDetectorRef }, { token: i2.SkyVerticalTabsetService }, { token: i3.SkyVerticalTabMediaQueryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
156
169
|
SkyVerticalTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyVerticalTabComponent, selector: "sky-vertical-tab", inputs: { active: "active", ariaControls: "ariaControls", ariaRole: "ariaRole", disabled: "disabled", errorIndicator: "errorIndicator", tabHeaderCount: "tabHeaderCount", tabHeading: "tabHeading", showTabRightArrow: "showTabRightArrow", tabId: "tabId" }, host: { listeners: { "window:resize": "onWindowResize()" } }, providers: [
|
|
157
170
|
SkyVerticalTabMediaQueryService,
|
|
@@ -159,7 +172,7 @@ SkyVerticalTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
159
172
|
provide: SkyMediaQueryService,
|
|
160
173
|
useExisting: SkyVerticalTabMediaQueryService,
|
|
161
174
|
},
|
|
162
|
-
], viewQueries: [{ propertyName: "tabContent", first: true, predicate: ["tabContentWrapper"], descendants: true }], ngImport: i0, template: "<a\n class=\"sky-vertical-tab\"\n [attr.aria-controls]=\"isMobile ? null : ariaControls || tabContentPane.id\"\n [attr.aria-selected]=\"active\"\n [attr.id]=\"tabId\"\n [attr.role]=\"ariaRole\"\n [ngClass]=\"{\n 'sky-vertical-tab-active': active,\n 'sky-vertical-tab-disabled': disabled,\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled\n }\"\n [tabIndex]=\"tabIndex()\"\n (click)=\"activateTab()\"\n (keyup)=\"onTabButtonKeyUp($event)\"\n>\n <div class=\"sky-vertical-tab-display\">\n <div class=\"sky-vertical-tab-heading\">\n <span class=\"sky-vertical-tab-heading-value\">{{ tabHeading }}</span>\n <span\n class=\"sky-vertical-tab-count\"\n *ngIf=\"tabHeaderCount || tabHeaderCount === 0\"\n >\n ({{ tabHeaderCount }})\n </span>\n </div>\n <sky-status-indicator\n *ngIf=\"errorIndicator\"\n class=\"sky-vertical-tab-heading-error\"\n descriptionType=\"error\"\n indicatorType=\"danger\"\n ></sky-status-indicator>\n <sky-icon\n *ngIf=\"showTabRightArrow\"\n class=\"sky-vertical-tab-right-arrow\"\n icon=\"chevron-right\"\n >\n </sky-icon>\n </div>\n</a>\n\n<div #tabContentWrapper>\n <div\n class=\"sky-vertical-tab-content-pane\"\n role=\"tabpanel\"\n tabindex=\"0\"\n skyId\n [attr.aria-labelledby]=\"tabId\"\n [ngClass]=\"{ 'sky-vertical-tab-hidden': !active }\"\n #tabContentPane\n >\n <ng-content></ng-content>\n\n <div></div>\n </div>\n</div>\n", styles: [".sky-vertical-tab{cursor:pointer;padding:7px 0 7px 10px;margin:5px 0 5px 10px;display:flex;text-decoration:none}.sky-vertical-tab:not(.sky-deemphasized){color:#212327}.sky-vertical-tab:hover{background-color:#eeeeef}.sky-vertical-tab:focus-visible{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px}.sky-vertical-tab:hover .sky-vertical-tab-right-arrow{color:#979ba2}.sky-vertical-tab-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}.sky-vertical-tab-hidden{display:none}.sky-vertical-tab-display{display:flex;flex-grow:1}.sky-vertical-tab-heading-error{padding-left:5px}.sky-vertical-tab-count{margin-left:5px}.sky-vertical-tab-disabled{cursor:not-allowed;pointer-events:none}.sky-vertical-tab-right-arrow{padding:3px 10px 0 0;color:#cdcfd2}:host-context(.sky-theme-modern) .sky-vertical-tab{color:#686c73;cursor:pointer;padding:10px 0 10px 10px;margin:10px 0 20px 10px}:host-context(.sky-theme-modern) .sky-vertical-tab:not(.sky-vertical-tab-active):not(:active):hover{color:#212327;background-color:transparent;padding-left:9px;border-left:1px solid #00b4f1}:host-context(.sky-theme-modern) .sky-vertical-tab:not(:active):focus-visible{outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}:host-context(.sky-theme-modern) .sky-vertical-tab:focus:active:hover{outline:none;background:none}:host-context(.sky-theme-modern) .sky-vertical-tab:active{border-left:3px solid #00b4f1;color:#212327;padding-left:7px}:host-context(.sky-theme-modern) .sky-vertical-tab .sky-vertical-tab-heading-error{padding-left:10px;position:relative;top:-2px}:host-context(.sky-theme-modern) .sky-vertical-tab-active{background:none;color:#212327;padding-left:7px;border-left:3px solid #1870B8}.sky-theme-modern .sky-vertical-tab{color:#686c73;cursor:pointer;padding:10px 0 10px 10px;margin:10px 0 20px 10px}.sky-theme-modern .sky-vertical-tab:not(.sky-vertical-tab-active):not(:active):hover{color:#212327;background-color:transparent;padding-left:9px;border-left:1px solid #00b4f1}.sky-theme-modern .sky-vertical-tab:not(:active):focus-visible{outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}.sky-theme-modern .sky-vertical-tab:focus:active:hover{outline:none;background:none}.sky-theme-modern .sky-vertical-tab:active{border-left:3px solid #00b4f1;color:#212327;padding-left:7px}.sky-theme-modern .sky-vertical-tab .sky-vertical-tab-heading-error{padding-left:10px;position:relative;top:-2px}.sky-theme-modern .sky-vertical-tab-active{background:none;color:#212327;padding-left:7px;border-left:3px solid #1870B8}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i6.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i5.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
175
|
+
], viewQueries: [{ propertyName: "tabContent", first: true, predicate: ["tabContentWrapper"], descendants: true }], ngImport: i0, template: "<a\n class=\"sky-vertical-tab\"\n [attr.aria-controls]=\"isMobile ? null : ariaControls || tabContentPane.id\"\n [attr.aria-selected]=\"active\"\n [attr.id]=\"tabId\"\n [attr.role]=\"isMobile ? undefined : ariaRole\"\n [ngClass]=\"{\n 'sky-vertical-tab-active': active,\n 'sky-vertical-tab-disabled': disabled,\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled\n }\"\n [tabIndex]=\"tabIndex()\"\n (click)=\"activateTab()\"\n (keyup)=\"onTabButtonKeyUp($event)\"\n>\n <div class=\"sky-vertical-tab-display\">\n <div class=\"sky-vertical-tab-heading\">\n <span class=\"sky-vertical-tab-heading-value\">{{ tabHeading }}</span>\n <span\n class=\"sky-vertical-tab-count\"\n *ngIf=\"tabHeaderCount || tabHeaderCount === 0\"\n >\n ({{ tabHeaderCount }})\n </span>\n </div>\n <sky-status-indicator\n *ngIf=\"errorIndicator\"\n class=\"sky-vertical-tab-heading-error\"\n descriptionType=\"error\"\n indicatorType=\"danger\"\n ></sky-status-indicator>\n <sky-icon\n *ngIf=\"isMobile && showTabRightArrow\"\n class=\"sky-vertical-tab-right-arrow\"\n icon=\"chevron-right\"\n >\n </sky-icon>\n </div>\n</a>\n\n<div #tabContentWrapper>\n <div\n class=\"sky-vertical-tab-content-pane\"\n role=\"tabpanel\"\n tabindex=\"0\"\n skyId\n [attr.aria-labelledby]=\"tabId\"\n [ngClass]=\"{ 'sky-vertical-tab-hidden': !active }\"\n #tabContentPane\n >\n <ng-content></ng-content>\n\n <div></div>\n </div>\n</div>\n", styles: [".sky-vertical-tab{cursor:pointer;padding:7px 0 7px 10px;margin:5px 0 5px 10px;display:flex;text-decoration:none}.sky-vertical-tab:not(.sky-deemphasized){color:#212327}.sky-vertical-tab:hover{background-color:#eeeeef}.sky-vertical-tab:focus-visible{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px}.sky-vertical-tab:hover .sky-vertical-tab-right-arrow{color:#979ba2}.sky-vertical-tab-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}.sky-vertical-tab-hidden{display:none}.sky-vertical-tab-display{display:flex;flex-grow:1}.sky-vertical-tab-heading-error{padding-left:5px}.sky-vertical-tab-count{margin-left:5px}.sky-vertical-tab-disabled{cursor:not-allowed;pointer-events:none}.sky-vertical-tab-right-arrow{padding:3px 10px 0 0;color:#cdcfd2}:host-context(.sky-theme-modern) .sky-vertical-tab{color:#686c73;cursor:pointer;padding:10px 0 10px 10px;margin:10px 0 20px 10px}:host-context(.sky-theme-modern) .sky-vertical-tab:not(.sky-vertical-tab-active):not(:active):hover{color:#212327;background-color:transparent;padding-left:9px;border-left:1px solid #00b4f1}:host-context(.sky-theme-modern) .sky-vertical-tab:not(:active):focus-visible{outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}:host-context(.sky-theme-modern) .sky-vertical-tab:focus:active:hover{outline:none;background:none}:host-context(.sky-theme-modern) .sky-vertical-tab:active{border-left:3px solid #00b4f1;color:#212327;padding-left:7px}:host-context(.sky-theme-modern) .sky-vertical-tab .sky-vertical-tab-heading-error{padding-left:10px;position:relative;top:-2px}:host-context(.sky-theme-modern) .sky-vertical-tab-active{background:none;color:#212327;padding-left:7px;border-left:3px solid #1870B8}.sky-theme-modern .sky-vertical-tab{color:#686c73;cursor:pointer;padding:10px 0 10px 10px;margin:10px 0 20px 10px}.sky-theme-modern .sky-vertical-tab:not(.sky-vertical-tab-active):not(:active):hover{color:#212327;background-color:transparent;padding-left:9px;border-left:1px solid #00b4f1}.sky-theme-modern .sky-vertical-tab:not(:active):focus-visible{outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}.sky-theme-modern .sky-vertical-tab:focus:active:hover{outline:none;background:none}.sky-theme-modern .sky-vertical-tab:active{border-left:3px solid #00b4f1;color:#212327;padding-left:7px}.sky-theme-modern .sky-vertical-tab .sky-vertical-tab-heading-error{padding-left:10px;position:relative;top:-2px}.sky-theme-modern .sky-vertical-tab-active{background:none;color:#212327;padding-left:7px;border-left:3px solid #1870B8}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i6.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i5.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
163
176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabComponent, decorators: [{
|
|
164
177
|
type: Component,
|
|
165
178
|
args: [{ selector: 'sky-vertical-tab', providers: [
|
|
@@ -168,7 +181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
168
181
|
provide: SkyMediaQueryService,
|
|
169
182
|
useExisting: SkyVerticalTabMediaQueryService,
|
|
170
183
|
},
|
|
171
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"sky-vertical-tab\"\n [attr.aria-controls]=\"isMobile ? null : ariaControls || tabContentPane.id\"\n [attr.aria-selected]=\"active\"\n [attr.id]=\"tabId\"\n [attr.role]=\"ariaRole\"\n [ngClass]=\"{\n 'sky-vertical-tab-active': active,\n 'sky-vertical-tab-disabled': disabled,\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled\n }\"\n [tabIndex]=\"tabIndex()\"\n (click)=\"activateTab()\"\n (keyup)=\"onTabButtonKeyUp($event)\"\n>\n <div class=\"sky-vertical-tab-display\">\n <div class=\"sky-vertical-tab-heading\">\n <span class=\"sky-vertical-tab-heading-value\">{{ tabHeading }}</span>\n <span\n class=\"sky-vertical-tab-count\"\n *ngIf=\"tabHeaderCount || tabHeaderCount === 0\"\n >\n ({{ tabHeaderCount }})\n </span>\n </div>\n <sky-status-indicator\n *ngIf=\"errorIndicator\"\n class=\"sky-vertical-tab-heading-error\"\n descriptionType=\"error\"\n indicatorType=\"danger\"\n ></sky-status-indicator>\n <sky-icon\n *ngIf=\"showTabRightArrow\"\n class=\"sky-vertical-tab-right-arrow\"\n icon=\"chevron-right\"\n >\n </sky-icon>\n </div>\n</a>\n\n<div #tabContentWrapper>\n <div\n class=\"sky-vertical-tab-content-pane\"\n role=\"tabpanel\"\n tabindex=\"0\"\n skyId\n [attr.aria-labelledby]=\"tabId\"\n [ngClass]=\"{ 'sky-vertical-tab-hidden': !active }\"\n #tabContentPane\n >\n <ng-content></ng-content>\n\n <div></div>\n </div>\n</div>\n", styles: [".sky-vertical-tab{cursor:pointer;padding:7px 0 7px 10px;margin:5px 0 5px 10px;display:flex;text-decoration:none}.sky-vertical-tab:not(.sky-deemphasized){color:#212327}.sky-vertical-tab:hover{background-color:#eeeeef}.sky-vertical-tab:focus-visible{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px}.sky-vertical-tab:hover .sky-vertical-tab-right-arrow{color:#979ba2}.sky-vertical-tab-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}.sky-vertical-tab-hidden{display:none}.sky-vertical-tab-display{display:flex;flex-grow:1}.sky-vertical-tab-heading-error{padding-left:5px}.sky-vertical-tab-count{margin-left:5px}.sky-vertical-tab-disabled{cursor:not-allowed;pointer-events:none}.sky-vertical-tab-right-arrow{padding:3px 10px 0 0;color:#cdcfd2}:host-context(.sky-theme-modern) .sky-vertical-tab{color:#686c73;cursor:pointer;padding:10px 0 10px 10px;margin:10px 0 20px 10px}:host-context(.sky-theme-modern) .sky-vertical-tab:not(.sky-vertical-tab-active):not(:active):hover{color:#212327;background-color:transparent;padding-left:9px;border-left:1px solid #00b4f1}:host-context(.sky-theme-modern) .sky-vertical-tab:not(:active):focus-visible{outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}:host-context(.sky-theme-modern) .sky-vertical-tab:focus:active:hover{outline:none;background:none}:host-context(.sky-theme-modern) .sky-vertical-tab:active{border-left:3px solid #00b4f1;color:#212327;padding-left:7px}:host-context(.sky-theme-modern) .sky-vertical-tab .sky-vertical-tab-heading-error{padding-left:10px;position:relative;top:-2px}:host-context(.sky-theme-modern) .sky-vertical-tab-active{background:none;color:#212327;padding-left:7px;border-left:3px solid #1870B8}.sky-theme-modern .sky-vertical-tab{color:#686c73;cursor:pointer;padding:10px 0 10px 10px;margin:10px 0 20px 10px}.sky-theme-modern .sky-vertical-tab:not(.sky-vertical-tab-active):not(:active):hover{color:#212327;background-color:transparent;padding-left:9px;border-left:1px solid #00b4f1}.sky-theme-modern .sky-vertical-tab:not(:active):focus-visible{outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}.sky-theme-modern .sky-vertical-tab:focus:active:hover{outline:none;background:none}.sky-theme-modern .sky-vertical-tab:active{border-left:3px solid #00b4f1;color:#212327;padding-left:7px}.sky-theme-modern .sky-vertical-tab .sky-vertical-tab-heading-error{padding-left:10px;position:relative;top:-2px}.sky-theme-modern .sky-vertical-tab-active{background:none;color:#212327;padding-left:7px;border-left:3px solid #1870B8}\n"] }]
|
|
184
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"sky-vertical-tab\"\n [attr.aria-controls]=\"isMobile ? null : ariaControls || tabContentPane.id\"\n [attr.aria-selected]=\"active\"\n [attr.id]=\"tabId\"\n [attr.role]=\"isMobile ? undefined : ariaRole\"\n [ngClass]=\"{\n 'sky-vertical-tab-active': active,\n 'sky-vertical-tab-disabled': disabled,\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled\n }\"\n [tabIndex]=\"tabIndex()\"\n (click)=\"activateTab()\"\n (keyup)=\"onTabButtonKeyUp($event)\"\n>\n <div class=\"sky-vertical-tab-display\">\n <div class=\"sky-vertical-tab-heading\">\n <span class=\"sky-vertical-tab-heading-value\">{{ tabHeading }}</span>\n <span\n class=\"sky-vertical-tab-count\"\n *ngIf=\"tabHeaderCount || tabHeaderCount === 0\"\n >\n ({{ tabHeaderCount }})\n </span>\n </div>\n <sky-status-indicator\n *ngIf=\"errorIndicator\"\n class=\"sky-vertical-tab-heading-error\"\n descriptionType=\"error\"\n indicatorType=\"danger\"\n ></sky-status-indicator>\n <sky-icon\n *ngIf=\"isMobile && showTabRightArrow\"\n class=\"sky-vertical-tab-right-arrow\"\n icon=\"chevron-right\"\n >\n </sky-icon>\n </div>\n</a>\n\n<div #tabContentWrapper>\n <div\n class=\"sky-vertical-tab-content-pane\"\n role=\"tabpanel\"\n tabindex=\"0\"\n skyId\n [attr.aria-labelledby]=\"tabId\"\n [ngClass]=\"{ 'sky-vertical-tab-hidden': !active }\"\n #tabContentPane\n >\n <ng-content></ng-content>\n\n <div></div>\n </div>\n</div>\n", styles: [".sky-vertical-tab{cursor:pointer;padding:7px 0 7px 10px;margin:5px 0 5px 10px;display:flex;text-decoration:none}.sky-vertical-tab:not(.sky-deemphasized){color:#212327}.sky-vertical-tab:hover{background-color:#eeeeef}.sky-vertical-tab:focus-visible{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px}.sky-vertical-tab:hover .sky-vertical-tab-right-arrow{color:#979ba2}.sky-vertical-tab-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}.sky-vertical-tab-hidden{display:none}.sky-vertical-tab-display{display:flex;flex-grow:1}.sky-vertical-tab-heading-error{padding-left:5px}.sky-vertical-tab-count{margin-left:5px}.sky-vertical-tab-disabled{cursor:not-allowed;pointer-events:none}.sky-vertical-tab-right-arrow{padding:3px 10px 0 0;color:#cdcfd2}:host-context(.sky-theme-modern) .sky-vertical-tab{color:#686c73;cursor:pointer;padding:10px 0 10px 10px;margin:10px 0 20px 10px}:host-context(.sky-theme-modern) .sky-vertical-tab:not(.sky-vertical-tab-active):not(:active):hover{color:#212327;background-color:transparent;padding-left:9px;border-left:1px solid #00b4f1}:host-context(.sky-theme-modern) .sky-vertical-tab:not(:active):focus-visible{outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}:host-context(.sky-theme-modern) .sky-vertical-tab:focus:active:hover{outline:none;background:none}:host-context(.sky-theme-modern) .sky-vertical-tab:active{border-left:3px solid #00b4f1;color:#212327;padding-left:7px}:host-context(.sky-theme-modern) .sky-vertical-tab .sky-vertical-tab-heading-error{padding-left:10px;position:relative;top:-2px}:host-context(.sky-theme-modern) .sky-vertical-tab-active{background:none;color:#212327;padding-left:7px;border-left:3px solid #1870B8}.sky-theme-modern .sky-vertical-tab{color:#686c73;cursor:pointer;padding:10px 0 10px 10px;margin:10px 0 20px 10px}.sky-theme-modern .sky-vertical-tab:not(.sky-vertical-tab-active):not(:active):hover{color:#212327;background-color:transparent;padding-left:9px;border-left:1px solid #00b4f1}.sky-theme-modern .sky-vertical-tab:not(:active):focus-visible{outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}.sky-theme-modern .sky-vertical-tab:focus:active:hover{outline:none;background:none}.sky-theme-modern .sky-vertical-tab:active{border-left:3px solid #00b4f1;color:#212327;padding-left:7px}.sky-theme-modern .sky-vertical-tab .sky-vertical-tab-heading-error{padding-left:10px;position:relative;top:-2px}.sky-theme-modern .sky-vertical-tab-active{background:none;color:#212327;padding-left:7px;border-left:3px solid #1870B8}\n"] }]
|
|
172
185
|
}], ctorParameters: function () { return [{ type: i1.SkyVerticalTabsetAdapterService }, { type: i0.ChangeDetectorRef }, { type: i2.SkyVerticalTabsetService }, { type: i3.SkyVerticalTabMediaQueryService }]; }, propDecorators: { active: [{
|
|
173
186
|
type: Input
|
|
174
187
|
}], ariaControls: [{
|
|
@@ -194,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
194
207
|
type: HostListener,
|
|
195
208
|
args: ['window:resize']
|
|
196
209
|
}] } });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFiLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQUVyRSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFlZixNQUFNLE9BQU8sdUJBQXVCO0lBc0hsQyxZQUNVLGNBQStDLEVBQy9DLFNBQTRCLEVBQzVCLGFBQXVDLEVBQ3ZDLDRCQUE2RDtRQUg3RCxtQkFBYyxHQUFkLGNBQWMsQ0FBaUM7UUFDL0MsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBQ3ZDLGlDQUE0QixHQUE1Qiw0QkFB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LENBQUMsS0FBYTtRQUN0RCxJQUFJLENBQUMsNEJBQTRCLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQztRQUVoRSxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFdkUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoQyxDQUFDOztvSEFoTlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsdVdBVHZCO1FBQ1QsK0JBQStCO1FBQy9CO1lBQ0UsT0FBTyxFQUFFLG9CQUFvQjtZQUM3QixXQUFXLEVBQUUsK0JBQStCO1NBQzdDO0tBQ0YsMklDaENILHUvQ0F3REE7MkZEckJhLHVCQUF1QjtrQkFibkMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakI7d0JBQ1QsK0JBQStCO3dCQUMvQjs0QkFDRSxPQUFPLEVBQUUsb0JBQW9COzRCQUM3QixXQUFXLEVBQUUsK0JBQStCO3lCQUM3QztxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTsyT0FPeEMsTUFBTTtzQkFEWixLQUFLO2dCQVVDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBY0ssUUFBUTtzQkFEbEIsS0FBSztnQkFlQyxRQUFRO3NCQURkLEtBQUs7Z0JBUUMsY0FBYztzQkFEcEIsS0FBSztnQkFPQyxjQUFjO3NCQURwQixLQUFLO2dCQVFDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBUUssaUJBQWlCO3NCQUQzQixLQUFLO2dCQWNDLEtBQUs7c0JBRFgsS0FBSztnQkEwQkMsVUFBVTtzQkFEaEIsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBcUZ2QixjQUFjO3NCQURwQixZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNZWRpYVF1ZXJ5U2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYk1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi92ZXJ0aWNhbC10YWItbWVkaWEtcXVlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYnNldEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi92ZXJ0aWNhbC10YWJzZXQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVZlcnRpY2FsVGFic2V0U2VydmljZSB9IGZyb20gJy4vdmVydGljYWwtdGFic2V0LnNlcnZpY2UnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXZlcnRpY2FsLXRhYicsXG4gIHRlbXBsYXRlVXJsOiAnLi92ZXJ0aWNhbC10YWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92ZXJ0aWNhbC10YWIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5VmVydGljYWxUYWJNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBTa3lWZXJ0aWNhbFRhYk1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSB0YWIgaXMgYWN0aXZlIHdoZW4gdGhlIHRhYnNldCBsb2Fkcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY3RpdmUgPSBmYWxzZTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBIVE1MIGVsZW1lbnQgSUQgKHdpdGhvdXQgdGhlIGxlYWRpbmcgYCNgKSBvZiB0aGUgZWxlbWVudCB0aGF0IGNvbnRhaW5zXG4gICAqIHRoZSBjb250ZW50IHRoYXQgdGhlIHZlcnRpY2FsIHRhYiBkaXNwbGF5cywgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIGB0YWJJZGAuIFRoaXMgcHJvcGVydHlcbiAgICogW3N1cHBvcnRzIGFjY2Vzc2liaWxpdHkgcnVsZXMgZm9yIGRpc2Nsb3N1cmVzXShodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEtcHJhY3RpY2VzLTEuMS8jZGlzY2xvc3VyZSkuXG4gICAqIEBkZXByZWNhdGVkIE5vdyB0aGF0IHRoZSB2ZXJ0aWNhbCB0YWJzIHByb3ZpZGUgYXJpYSBsYWJlbHMgYXV0b21hdGljYWxseSwgdGhpcyBpbnB1dCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFDb250cm9sczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gQVJJQSByb2xlIGZvciB0aGUgdmVydGljYWwgdGFiXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSlcbiAgICogYnkgaW5kaWNhdGluZyBob3cgdGhlIHRhYiBmdW5jdGlvbnMgYW5kIHdoYXQgaXQgY29udHJvbHMuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBob3dcbiAgICogYW4gQVJJQSByb2xlIGluZGljYXRlcyB3aGF0IGFuIGl0ZW0gcmVwcmVzZW50cyBvbiBhIHdlYiBwYWdlLCBzZWUgdGhlXG4gICAqIFtXQUktQVJJQSByb2xlcyBtb2RlbF0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9QRi9hcmlhL3JvbGVzKS5cbiAgICogQGRlZmF1bHQgXCJ0YWJcIlxuICAgKiBAZGVwcmVjYXRlZCBBbnkgb3RoZXIgdmFsdWUgdGhhbiBgdGFiYCBjb3VsZCBsZWFkIHRvIGEgcG9vciB1c2VyIGV4cGVyaWVuY2UgZm9yIHVzZXJzIHdpdGggYXNzaXN0aXZlIHRlY2hub2xvZ3kuXG4gICAqIEluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24sIHRoaXMgcHJvcGVydHkgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byBgdGFiYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgYXJpYVJvbGUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2FyaWFSb2xlIHx8ICd0YWInO1xuICB9XG4gIHB1YmxpYyBzZXQgYXJpYVJvbGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2FyaWFSb2xlID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdGFiLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGluZGljYXRlIHRoYXQgdGhlIHRhYiBoYXMgYW4gZXJyb3IuXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIHVzZWQgZm9yIHNlY3Rpb25lZCBmb3JtcyBhbmQgaXMgbm90IGN1cnJlbnRseSBhIHN1cHBvcnRlZCBkZXNpZ24gZm9yIHB1cmUgdmVydGljYWwgdGFicy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlcnJvckluZGljYXRvciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBhbiBpdGVtIGNvdW50IGFsb25nc2lkZSB0aGUgdGFiIGhlYWRlciB0byBpbmRpY2F0ZSBob3cgbWFueSBsaXN0IGl0ZW1zIHRoZSB0YWIgY29udGFpbnMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGFiSGVhZGVyQ291bnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0YWIgaGVhZGVyLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJIZWFkaW5nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgYSBjaGV2cm9uLXJpZ2h0IGljb24gaW4gdGhlIHJpZ2h0aGFuZCBzaWRlIG9mIHRoZSB0YWIuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBzaG93VGFiUmlnaHRBcnJvdygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd1RhYlJpZ2h0QXJyb3cgJiYgdGhpcy50YWJzZXRTZXJ2aWNlLmlzTW9iaWxlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNob3dUYWJSaWdodEFycm93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd1RhYlJpZ2h0QXJyb3cgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gSUQgZm9yIHRoZSB0YWIuXG4gICAqIEBkZXByZWNhdGVkIE5vdyB0aGF0IHRoZSB2ZXJ0aWNhbCB0YWJzIHByb3ZpZGUgYXJpYSBsYWJlbHMgYXV0b21hdGljYWxseSwgdGhpcyBpbnB1dCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYklkID0gYHNreS12ZXJ0aWNhbC10YWItJHsrK25leHRJZH1gO1xuXG4gIHB1YmxpYyBzZXQgY29udGVudFJlbmRlcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY29udGVudFJlbmRlcmVkID0gdmFsdWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLl9jb250ZW50UmVuZGVyZWQpIHtcbiAgICAgIC8vIE5PVEU6IFdyYXBwZWQgaW4gYSBzZXRUaW1lb3V0IGhlcmUgdG8gZW5zdXJlIHRoYXQgZXZlcnl0aGluZyBoYXMgY29tcGxldGVkIHJlbmRlcmluZy5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3MoXG4gICAgICAgICAgdGhpcy5hZGFwdGVyU2VydmljZS5nZXRXaWR0aCh0aGlzLnRhYkNvbnRlbnQpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRlbnRSZW5kZXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudFJlbmRlcmVkO1xuICB9XG5cbiAgcHVibGljIGluZGV4OiBudW1iZXI7XG5cbiAgcHVibGljIGlzTW9iaWxlID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndGFiQ29udGVudFdyYXBwZXInKVxuICBwdWJsaWMgdGFiQ29udGVudDogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIF9hcmlhUm9sZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2NvbnRlbnRSZW5kZXJlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX21vYmlsZVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfc2hvd1RhYlJpZ2h0QXJyb3cgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFkYXB0ZXJTZXJ2aWNlOiBTa3lWZXJ0aWNhbFRhYnNldEFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRhYnNldFNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZSxcbiAgICBwcml2YXRlIHZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2U6IFNreVZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTW9iaWxlID0gdGhpcy50YWJzZXRTZXJ2aWNlLmlzTW9iaWxlKCk7XG4gICAgdGhpcy5jaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG5cbiAgICB0aGlzLnRhYnNldFNlcnZpY2Uuc3dpdGNoaW5nTW9iaWxlLnN1YnNjcmliZSgobW9iaWxlOiBib29sZWFuKSA9PiB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gbW9iaWxlO1xuICAgICAgdGhpcy5jaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgdGhlIGJyZWFrcG9pbnQgYW5kIHJlc3BvbnNpdmUgY2xhc3MgaGVyZSBqdXN0IGFzIGEgc2FuaXR5IGNoZWNrIHNpbmNlIHdlIGNhbiBub3RcbiAgICAvLyB3YXRjaCBmb3IgZWxlbWVudCByZXNpemluZy5cbiAgICB0aGlzLnRhYnNldFNlcnZpY2UuaW5kZXhDaGFuZ2VkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChpbmRleCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pbmRleCA9PT0gaW5kZXggJiYgdGhpcy5jb250ZW50UmVuZGVyZWQpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3MoXG4gICAgICAgICAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLmdldFdpZHRoKHRoaXMudGFiQ29udGVudClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMudGFic2V0U2VydmljZS5hZGRUYWIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbW9iaWxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMudGFic2V0U2VydmljZS5kZXN0cm95VGFiKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIHRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmF0ZVRhYigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgICAgIHRoaXMudGFic2V0U2VydmljZS5hY3RpdmF0ZVRhYih0aGlzKTtcblxuICAgICAgdGhpcy5jaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uVGFiQnV0dG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGV2ZW50LmtleSkge1xuICAgICAgc3dpdGNoIChldmVudC5rZXkudG9VcHBlckNhc2UoKSkge1xuICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgY2FzZSAnRU5URVInOlxuICAgICAgICAgIHRoaXMuYWN0aXZhdGVUYWIoKTtcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgcHVibGljIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyhcbiAgICAgIHRoaXMuYWRhcHRlclNlcnZpY2UuZ2V0V2lkdGgodGhpcy50YWJDb250ZW50KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdGFiRGVhY3RpdmF0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3Mod2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudmVydGljYWxUYWJNZWRpYVF1ZXJ5U2VydmljZS5zZXRCcmVha3BvaW50Rm9yV2lkdGgod2lkdGgpO1xuXG4gICAgY29uc3QgbmV3QnJlYWtwaW9udCA9IHRoaXMudmVydGljYWxUYWJNZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50O1xuXG4gICAgdGhpcy5hZGFwdGVyU2VydmljZS5zZXRSZXNwb25zaXZlQ2xhc3ModGhpcy50YWJDb250ZW50LCBuZXdCcmVha3Bpb250KTtcblxuICAgIHRoaXMuY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8YVxuICBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWJcIlxuICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlzTW9iaWxlID8gbnVsbCA6IGFyaWFDb250cm9scyB8fCB0YWJDb250ZW50UGFuZS5pZFwiXG4gIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYWN0aXZlXCJcbiAgW2F0dHIuaWRdPVwidGFiSWRcIlxuICBbYXR0ci5yb2xlXT1cImFyaWFSb2xlXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktdmVydGljYWwtdGFiLWFjdGl2ZSc6IGFjdGl2ZSxcbiAgICAnc2t5LXZlcnRpY2FsLXRhYi1kaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICdza3ktZm9udC1kZWVtcGhhc2l6ZWQnOiBkaXNhYmxlZCxcbiAgICAnc2t5LWRlZW1waGFzaXplZCc6IGRpc2FibGVkXG4gIH1cIlxuICBbdGFiSW5kZXhdPVwidGFiSW5kZXgoKVwiXG4gIChjbGljayk9XCJhY3RpdmF0ZVRhYigpXCJcbiAgKGtleXVwKT1cIm9uVGFiQnV0dG9uS2V5VXAoJGV2ZW50KVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJza3ktdmVydGljYWwtdGFiLWRpc3BsYXlcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXZlcnRpY2FsLXRhYi1oZWFkaW5nXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWItaGVhZGluZy12YWx1ZVwiPnt7IHRhYkhlYWRpbmcgfX08L3NwYW4+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWItY291bnRcIlxuICAgICAgICAqbmdJZj1cInRhYkhlYWRlckNvdW50IHx8IHRhYkhlYWRlckNvdW50ID09PSAwXCJcbiAgICAgID5cbiAgICAgICAgKHt7IHRhYkhlYWRlckNvdW50IH19KVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxza3ktc3RhdHVzLWluZGljYXRvclxuICAgICAgKm5nSWY9XCJlcnJvckluZGljYXRvclwiXG4gICAgICBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWItaGVhZGluZy1lcnJvclwiXG4gICAgICBkZXNjcmlwdGlvblR5cGU9XCJlcnJvclwiXG4gICAgICBpbmRpY2F0b3JUeXBlPVwiZGFuZ2VyXCJcbiAgICA+PC9za3ktc3RhdHVzLWluZGljYXRvcj5cbiAgICA8c2t5LWljb25cbiAgICAgICpuZ0lmPVwic2hvd1RhYlJpZ2h0QXJyb3dcIlxuICAgICAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFiLXJpZ2h0LWFycm93XCJcbiAgICAgIGljb249XCJjaGV2cm9uLXJpZ2h0XCJcbiAgICA+XG4gICAgPC9za3ktaWNvbj5cbiAgPC9kaXY+XG48L2E+XG5cbjxkaXYgI3RhYkNvbnRlbnRXcmFwcGVyPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFiLWNvbnRlbnQtcGFuZVwiXG4gICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIHNreUlkXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYklkXCJcbiAgICBbbmdDbGFzc109XCJ7ICdza3ktdmVydGljYWwtdGFiLWhpZGRlbic6ICFhY3RpdmUgfVwiXG4gICAgI3RhYkNvbnRlbnRQYW5lXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICA8ZGl2PjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFiLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFFckUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBZWYsTUFBTSxPQUFPLHVCQUF1QjtJQTBIbEMsWUFDRSxjQUErQyxFQUMvQyxTQUE0QixFQUM1QixhQUF1QyxFQUN2Qyw0QkFBNkQ7O1FBN0gvRDs7V0FFRztRQUVJLFdBQU0sR0FBd0IsS0FBSyxDQUFDO1FBNkIzQzs7V0FFRztRQUVJLGFBQVEsR0FBd0IsS0FBSyxDQUFDO1FBRTdDOzs7V0FHRztRQUVJLG1CQUFjLEdBQXdCLEtBQUss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S0FBSztzQkFEZixLQUFLO2dCQWdDQyxVQUFVO3NCQURoQixTQUFTO3VCQUFDLG1CQUFtQjtnQkFrR3ZCLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreU1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2UgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYi1tZWRpYS1xdWVyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVZlcnRpY2FsVGFic2V0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlIH0gZnJvbSAnLi92ZXJ0aWNhbC10YWJzZXQuc2VydmljZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdmVydGljYWwtdGFiJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZlcnRpY2FsLXRhYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZlcnRpY2FsLXRhYi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICBTa3lWZXJ0aWNhbFRhYk1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreVZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVZlcnRpY2FsVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRhYiBpcyBhY3RpdmUgd2hlbiB0aGUgdGFic2V0IGxvYWRzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFjdGl2ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIEhUTUwgZWxlbWVudCBJRCAod2l0aG91dCB0aGUgbGVhZGluZyBgI2ApIG9mIHRoZSBlbGVtZW50IHRoYXQgY29udGFpbnNcbiAgICogdGhlIGNvbnRlbnQgdGhhdCB0aGUgdmVydGljYWwgdGFiIGRpc3BsYXlzLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgYHRhYklkYC4gVGhpcyBwcm9wZXJ0eVxuICAgKiBbc3VwcG9ydHMgYWNjZXNzaWJpbGl0eSBydWxlcyBmb3IgZGlzY2xvc3VyZXNdKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS1wcmFjdGljZXMtMS4xLyNkaXNjbG9zdXJlKS5cbiAgICogQGRlcHJlY2F0ZWQgTm93IHRoYXQgdGhlIHZlcnRpY2FsIHRhYnMgcHJvdmlkZSBhcmlhIGxhYmVscyBhdXRvbWF0aWNhbGx5LCB0aGlzIGlucHV0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUNvbnRyb2xzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBBUklBIHJvbGUgZm9yIHRoZSB2ZXJ0aWNhbCB0YWJcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KVxuICAgKiBieSBpbmRpY2F0aW5nIGhvdyB0aGUgdGFiIGZ1bmN0aW9ucyBhbmQgd2hhdCBpdCBjb250cm9scy4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGhvd1xuICAgKiBhbiBBUklBIHJvbGUgaW5kaWNhdGVzIHdoYXQgYW4gaXRlbSByZXByZXNlbnRzIG9uIGEgd2ViIHBhZ2UsIHNlZSB0aGVcbiAgICogW1dBSS1BUklBIHJvbGVzIG1vZGVsXShodHRwczovL3d3dy53My5vcmcvV0FJL1BGL2FyaWEvcm9sZXMpLlxuICAgKiBAZGVmYXVsdCBcInRhYlwiXG4gICAqIEBkZXByZWNhdGVkIEFueSBvdGhlciB2YWx1ZSB0aGFuIGB0YWJgIGNvdWxkIGxlYWQgdG8gYSBwb29yIHVzZXIgZXhwZXJpZW5jZSBmb3IgdXNlcnMgd2l0aCBhc3Npc3RpdmUgdGVjaG5vbG9neS5cbiAgICogSW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiwgdGhpcyBwcm9wZXJ0eSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIGB0YWJgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBhcmlhUm9sZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfYXJpYVJvbGU7XG4gIH1cbiAgcHVibGljIHNldCBhcmlhUm9sZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FyaWFSb2xlID0gdmFsdWUgPz8gJ3RhYic7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdGFiLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGluZGljYXRlIHRoYXQgdGhlIHRhYiBoYXMgYW4gZXJyb3IuXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIHVzZWQgZm9yIHNlY3Rpb25lZCBmb3JtcyBhbmQgaXMgbm90IGN1cnJlbnRseSBhIHN1cHBvcnRlZCBkZXNpZ24gZm9yIHB1cmUgdmVydGljYWwgdGFicy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlcnJvckluZGljYXRvcjogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBhbiBpdGVtIGNvdW50IGFsb25nc2lkZSB0aGUgdGFiIGhlYWRlciB0byBpbmRpY2F0ZSBob3cgbWFueSBsaXN0IGl0ZW1zIHRoZSB0YWIgY29udGFpbnMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGFiSGVhZGVyQ291bnQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0YWIgaGVhZGVyLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJIZWFkaW5nOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgYSBjaGV2cm9uLXJpZ2h0IGljb24gaW4gdGhlIHJpZ2h0aGFuZCBzaWRlIG9mIHRoZSB0YWIuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dUYWJSaWdodEFycm93OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gSUQgZm9yIHRoZSB0YWIuXG4gICAqIEBkZXByZWNhdGVkIE5vdyB0aGF0IHRoZSB2ZXJ0aWNhbCB0YWJzIHByb3ZpZGUgYXJpYSBsYWJlbHMgYXV0b21hdGljYWxseSwgdGhpcyBpbnB1dCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0YWJJZCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jdGFiSWRPckRlZmF1bHQgPSB2YWx1ZSB8fCB0aGlzLiNkZWZhdWx0VGFiSWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRhYklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI3RhYklkT3JEZWZhdWx0O1xuICB9XG5cbiAgcHVibGljIHNldCBjb250ZW50UmVuZGVyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNfY29udGVudFJlbmRlcmVkID0gdmFsdWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNfY29udGVudFJlbmRlcmVkKSB7XG4gICAgICAvLyBOT1RFOiBXcmFwcGVkIGluIGEgc2V0VGltZW91dCBoZXJlIHRvIGVuc3VyZSB0aGF0IGV2ZXJ5dGhpbmcgaGFzIGNvbXBsZXRlZCByZW5kZXJpbmcuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudGFiQ29udGVudCkge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3MoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBjb250ZW50UmVuZGVyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19jb250ZW50UmVuZGVyZWQ7XG4gIH1cblxuICBwdWJsaWMgaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNNb2JpbGUgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCd0YWJDb250ZW50V3JhcHBlcicpXG4gIHB1YmxpYyB0YWJDb250ZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNfYXJpYVJvbGUgPSAndGFiJztcblxuICAjX2NvbnRlbnRSZW5kZXJlZCA9IGZhbHNlO1xuXG4gICN0YWJJZE9yRGVmYXVsdDogc3RyaW5nO1xuXG4gICNkZWZhdWx0VGFiSWQ6IHN0cmluZztcblxuICAjbW9iaWxlU3Vic2NyaXB0aW9uID0gbmV3IFN1YmplY3QoKTtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI2FkYXB0ZXJTZXJ2aWNlOiBTa3lWZXJ0aWNhbFRhYnNldEFkYXB0ZXJTZXJ2aWNlO1xuICAjY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI3RhYnNldFNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZTtcbiAgI3ZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2U6IFNreVZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYWRhcHRlclNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0QWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICB0YWJzZXRTZXJ2aWNlOiBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2UsXG4gICAgdmVydGljYWxUYWJNZWRpYVF1ZXJ5U2VydmljZTogU2t5VmVydGljYWxUYWJNZWRpYVF1ZXJ5U2VydmljZVxuICApIHtcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZSA9IGFkYXB0ZXJTZXJ2aWNlO1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcbiAgICB0aGlzLiN0YWJzZXRTZXJ2aWNlID0gdGFic2V0U2VydmljZTtcbiAgICB0aGlzLiN2ZXJ0aWNhbFRhYk1lZGlhUXVlcnlTZXJ2aWNlID0gdmVydGljYWxUYWJNZWRpYVF1ZXJ5U2VydmljZTtcbiAgICB0aGlzLiN0YWJJZE9yRGVmYXVsdCA9IHRoaXMuI2RlZmF1bHRUYWJJZCA9IGBza3ktdmVydGljYWwtdGFiLSR7KytuZXh0SWR9YDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTW9iaWxlID0gdGhpcy4jdGFic2V0U2VydmljZS5pc01vYmlsZSgpO1xuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcblxuICAgIHRoaXMuI3RhYnNldFNlcnZpY2Uuc3dpdGNoaW5nTW9iaWxlLnN1YnNjcmliZSgobW9iaWxlOiBib29sZWFuKSA9PiB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gbW9iaWxlO1xuICAgICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBicmVha3BvaW50IGFuZCByZXNwb25zaXZlIGNsYXNzIGhlcmUganVzdCBhcyBhIHNhbml0eSBjaGVjayBzaW5jZSB3ZSBjYW4gbm90XG4gICAgLy8gd2F0Y2ggZm9yIGVsZW1lbnQgcmVzaXppbmcuXG4gICAgdGhpcy4jdGFic2V0U2VydmljZS5pbmRleENoYW5nZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGluZGV4KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmluZGV4ID09PSBpbmRleCAmJiB0aGlzLmNvbnRlbnRSZW5kZXJlZCkge1xuICAgICAgICAgIGlmICh0aGlzLnRhYkNvbnRlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuI3VwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3MoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jdGFic2V0U2VydmljZS5hZGRUYWIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbW9iaWxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3RhYnNldFNlcnZpY2UuZGVzdHJveVRhYih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyB0YWJJbmRleCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGVUYWIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICB0aGlzLiN0YWJzZXRTZXJ2aWNlLmFjdGl2YXRlVGFiKHRoaXMpO1xuXG4gICAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uVGFiQnV0dG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGV2ZW50LmtleSkge1xuICAgICAgc3dpdGNoIChldmVudC5rZXkudG9VcHBlckNhc2UoKSkge1xuICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgY2FzZSAnRU5URVInOlxuICAgICAgICAgIHRoaXMuYWN0aXZhdGVUYWIoKTtcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgcHVibGljIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRhYkNvbnRlbnQpIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3MoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdGFiRGVhY3RpdmF0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI3VwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFiQ29udGVudCkge1xuICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLiNhZGFwdGVyU2VydmljZS5nZXRXaWR0aCh0aGlzLnRhYkNvbnRlbnQpO1xuICAgICAgdGhpcy4jdmVydGljYWxUYWJNZWRpYVF1ZXJ5U2VydmljZS5zZXRCcmVha3BvaW50Rm9yV2lkdGgod2lkdGgpO1xuXG4gICAgICBjb25zdCBuZXdCcmVha3BvaW50ID0gdGhpcy4jdmVydGljYWxUYWJNZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50O1xuXG4gICAgICBpZiAobmV3QnJlYWtwb2ludCkge1xuICAgICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5zZXRSZXNwb25zaXZlQ2xhc3ModGhpcy50YWJDb250ZW50LCBuZXdCcmVha3BvaW50KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxufVxuIiwiPGFcbiAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFiXCJcbiAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpc01vYmlsZSA/IG51bGwgOiBhcmlhQ29udHJvbHMgfHwgdGFiQ29udGVudFBhbmUuaWRcIlxuICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImFjdGl2ZVwiXG4gIFthdHRyLmlkXT1cInRhYklkXCJcbiAgW2F0dHIucm9sZV09XCJpc01vYmlsZSA/IHVuZGVmaW5lZCA6IGFyaWFSb2xlXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktdmVydGljYWwtdGFiLWFjdGl2ZSc6IGFjdGl2ZSxcbiAgICAnc2t5LXZlcnRpY2FsLXRhYi1kaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICdza3ktZm9udC1kZWVtcGhhc2l6ZWQnOiBkaXNhYmxlZCxcbiAgICAnc2t5LWRlZW1waGFzaXplZCc6IGRpc2FibGVkXG4gIH1cIlxuICBbdGFiSW5kZXhdPVwidGFiSW5kZXgoKVwiXG4gIChjbGljayk9XCJhY3RpdmF0ZVRhYigpXCJcbiAgKGtleXVwKT1cIm9uVGFiQnV0dG9uS2V5VXAoJGV2ZW50KVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJza3ktdmVydGljYWwtdGFiLWRpc3BsYXlcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXZlcnRpY2FsLXRhYi1oZWFkaW5nXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWItaGVhZGluZy12YWx1ZVwiPnt7IHRhYkhlYWRpbmcgfX08L3NwYW4+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWItY291bnRcIlxuICAgICAgICAqbmdJZj1cInRhYkhlYWRlckNvdW50IHx8IHRhYkhlYWRlckNvdW50ID09PSAwXCJcbiAgICAgID5cbiAgICAgICAgKHt7IHRhYkhlYWRlckNvdW50IH19KVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxza3ktc3RhdHVzLWluZGljYXRvclxuICAgICAgKm5nSWY9XCJlcnJvckluZGljYXRvclwiXG4gICAgICBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWItaGVhZGluZy1lcnJvclwiXG4gICAgICBkZXNjcmlwdGlvblR5cGU9XCJlcnJvclwiXG4gICAgICBpbmRpY2F0b3JUeXBlPVwiZGFuZ2VyXCJcbiAgICA+PC9za3ktc3RhdHVzLWluZGljYXRvcj5cbiAgICA8c2t5LWljb25cbiAgICAgICpuZ0lmPVwiaXNNb2JpbGUgJiYgc2hvd1RhYlJpZ2h0QXJyb3dcIlxuICAgICAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFiLXJpZ2h0LWFycm93XCJcbiAgICAgIGljb249XCJjaGV2cm9uLXJpZ2h0XCJcbiAgICA+XG4gICAgPC9za3ktaWNvbj5cbiAgPC9kaXY+XG48L2E+XG5cbjxkaXYgI3RhYkNvbnRlbnRXcmFwcGVyPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFiLWNvbnRlbnQtcGFuZVwiXG4gICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIHNreUlkXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYklkXCJcbiAgICBbbmdDbGFzc109XCJ7ICdza3ktdmVydGljYWwtdGFiLWhpZGRlbic6ICFhY3RpdmUgfVwiXG4gICAgI3RhYkNvbnRlbnRQYW5lXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICA8ZGl2PjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
var _SkyVerticalTabsetAdapterService_renderer;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { Injectable, RendererFactory2, } from '@angular/core';
|
|
2
4
|
import { SkyMediaBreakpoints } from '@skyux/core';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
export class SkyVerticalTabsetAdapterService {
|
|
5
7
|
constructor(rendererFactory) {
|
|
6
|
-
this
|
|
7
|
-
this
|
|
8
|
+
_SkyVerticalTabsetAdapterService_renderer.set(this, void 0);
|
|
9
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
|
|
8
10
|
}
|
|
9
11
|
getWidth(elementRef) {
|
|
10
12
|
return elementRef.nativeElement.clientWidth;
|
|
@@ -14,10 +16,10 @@ export class SkyVerticalTabsetAdapterService {
|
|
|
14
16
|
}
|
|
15
17
|
setResponsiveClass(element, breakpoint) {
|
|
16
18
|
const nativeEl = element.nativeElement;
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
19
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-xs');
|
|
20
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-sm');
|
|
21
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-md');
|
|
22
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-lg');
|
|
21
23
|
let newClass;
|
|
22
24
|
switch (breakpoint) {
|
|
23
25
|
case SkyMediaBreakpoints.xs: {
|
|
@@ -37,12 +39,13 @@ export class SkyVerticalTabsetAdapterService {
|
|
|
37
39
|
break;
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
|
-
this.
|
|
42
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetAdapterService_renderer, "f").addClass(nativeEl, newClass);
|
|
41
43
|
}
|
|
42
44
|
}
|
|
45
|
+
_SkyVerticalTabsetAdapterService_renderer = new WeakMap();
|
|
43
46
|
SkyVerticalTabsetAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
47
|
SkyVerticalTabsetAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetAdapterService });
|
|
45
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetAdapterService, decorators: [{
|
|
46
49
|
type: Injectable
|
|
47
50
|
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxVQUFVLEVBRVYsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFHbEQsTUFBTSxPQUFPLCtCQUErQjtJQUcxQyxZQUFZLGVBQWlDO1FBRjdDLDREQUFxQjtRQUduQix1QkFBQSxJQUFJLDZDQUFhLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFBLENBQUM7SUFDbkUsQ0FBQztJQUVNLFFBQVEsQ0FBQyxVQUFzQjtRQUNwQyxPQUFPLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQzlDLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxPQUFtQjtRQUMzQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLGtCQUFrQixDQUN2QixPQUFtQixFQUNuQixVQUErQjtRQUUvQixNQUFNLFFBQVEsR0FBZ0IsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUVwRCx1QkFBQSxJQUFJLGlEQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3BFLHVCQUFBLElBQUksaURBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDcEUsdUJBQUEsSUFBSSxpREFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUNwRSx1QkFBQSxJQUFJLGlEQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBRXBFLElBQUksUUFBZ0IsQ0FBQztRQUVyQixRQUFRLFVBQVUsRUFBRTtZQUNsQixLQUFLLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixRQUFRLEdBQUcsNkJBQTZCLENBQUM7Z0JBQ3pDLE1BQU07YUFDUDtZQUNELEtBQUssbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNCLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQztnQkFDekMsTUFBTTthQUNQO1lBQ0QsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDM0IsUUFBUSxHQUFHLDZCQUE2QixDQUFDO2dCQUN6QyxNQUFNO2FBQ1A7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxRQUFRLEdBQUcsNkJBQTZCLENBQUM7Z0JBQ3pDLE1BQU07YUFDUDtTQUNGO1FBRUQsdUJBQUEsSUFBSSxpREFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7OzRIQWhEVSwrQkFBK0I7Z0lBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgUmVuZGVyZXIyLFxuICBSZW5kZXJlckZhY3RvcnkyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lWZXJ0aWNhbFRhYnNldEFkYXB0ZXJTZXJ2aWNlIHtcbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgY29uc3RydWN0b3IocmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyKSB7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRXaWR0aChlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFRvQ29udGVudFRvcChlbGVtZW50OiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgZWxlbWVudC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IDA7XG4gIH1cblxuICBwdWJsaWMgc2V0UmVzcG9uc2l2ZUNsYXNzKFxuICAgIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50c1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBuYXRpdmVFbDogSFRNTEVsZW1lbnQgPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci14cycpO1xuICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsLCAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLXNtJyk7XG4gICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQ2xhc3MobmF0aXZlRWwsICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItbWQnKTtcbiAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1sZycpO1xuXG4gICAgbGV0IG5ld0NsYXNzOiBzdHJpbmc7XG5cbiAgICBzd2l0Y2ggKGJyZWFrcG9pbnQpIHtcbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy54czoge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXIteHMnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5zbToge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItc20nO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5tZDoge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItbWQnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgbmV3Q2xhc3MgPSAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLWxnJztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy4jcmVuZGVyZXIuYWRkQ2xhc3MobmF0aXZlRWwsIG5ld0NsYXNzKTtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
var _SkyVerticalTabsetGroupComponent_ngUnsubscribe, _SkyVerticalTabsetGroupComponent_openBeforeTabsHidden, _SkyVerticalTabsetGroupComponent_tabService, _SkyVerticalTabsetGroupComponent_changeRef;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Input, } from '@angular/core';
|
|
2
4
|
import { skyAnimationSlide } from '@skyux/animations';
|
|
3
5
|
import { Subject } from 'rxjs';
|
|
4
6
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -11,65 +13,57 @@ import * as i3 from "@skyux/core";
|
|
|
11
13
|
import * as i4 from "@skyux/indicators";
|
|
12
14
|
export class SkyVerticalTabsetGroupComponent {
|
|
13
15
|
constructor(tabService, changeRef) {
|
|
14
|
-
this
|
|
15
|
-
this
|
|
16
|
-
this
|
|
17
|
-
this
|
|
18
|
-
this._open = false;
|
|
16
|
+
_SkyVerticalTabsetGroupComponent_ngUnsubscribe.set(this, new Subject());
|
|
17
|
+
_SkyVerticalTabsetGroupComponent_openBeforeTabsHidden.set(this, false);
|
|
18
|
+
_SkyVerticalTabsetGroupComponent_tabService.set(this, void 0);
|
|
19
|
+
_SkyVerticalTabsetGroupComponent_changeRef.set(this, void 0);
|
|
19
20
|
this.tabClicked = () => {
|
|
20
|
-
this.
|
|
21
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_changeRef, "f").markForCheck();
|
|
21
22
|
};
|
|
22
23
|
this.tabsHidden = () => {
|
|
23
24
|
// this fixes an animation bug with ngIf when the parent component goes from visible to hidden
|
|
24
|
-
this
|
|
25
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetGroupComponent_openBeforeTabsHidden, this.open, "f");
|
|
25
26
|
this.open = false;
|
|
26
|
-
this.
|
|
27
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_changeRef, "f").markForCheck();
|
|
27
28
|
};
|
|
28
29
|
this.tabsShown = () => {
|
|
29
|
-
this.open = this
|
|
30
|
-
this.
|
|
30
|
+
this.open = __classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_openBeforeTabsHidden, "f");
|
|
31
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_changeRef, "f").markForCheck();
|
|
31
32
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
* Indicates whether the collapsible group is expanded.
|
|
35
|
-
* @default false
|
|
36
|
-
*/
|
|
37
|
-
set open(value) {
|
|
38
|
-
this._open = value;
|
|
39
|
-
}
|
|
40
|
-
get open() {
|
|
41
|
-
return !this.disabled && this._open;
|
|
33
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetGroupComponent_tabService, tabService, "f");
|
|
34
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetGroupComponent_changeRef, changeRef, "f");
|
|
42
35
|
}
|
|
43
36
|
ngOnInit() {
|
|
44
|
-
this.
|
|
45
|
-
.pipe(takeUntil(this
|
|
37
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_tabService, "f").hidingTabs
|
|
38
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_ngUnsubscribe, "f")))
|
|
46
39
|
.subscribe(this.tabsHidden);
|
|
47
|
-
this.
|
|
48
|
-
.pipe(takeUntil(this
|
|
40
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_tabService, "f").showingTabs
|
|
41
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_ngUnsubscribe, "f")))
|
|
49
42
|
.subscribe(this.tabsShown);
|
|
50
|
-
this.
|
|
51
|
-
.pipe(takeUntil(this
|
|
43
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_tabService, "f").tabClicked
|
|
44
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_ngUnsubscribe, "f")))
|
|
52
45
|
.subscribe(this.tabClicked);
|
|
53
46
|
}
|
|
54
47
|
ngOnDestroy() {
|
|
55
|
-
this.
|
|
56
|
-
this.
|
|
48
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_ngUnsubscribe, "f").next();
|
|
49
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_ngUnsubscribe, "f").complete();
|
|
57
50
|
}
|
|
58
51
|
toggleMenuOpen() {
|
|
59
52
|
if (!this.disabled) {
|
|
60
53
|
this.open = !this.open;
|
|
61
54
|
}
|
|
62
|
-
this.
|
|
55
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_changeRef, "f").markForCheck();
|
|
63
56
|
}
|
|
64
57
|
subMenuOpen() {
|
|
65
|
-
return this.tabs && this.tabs.find((t) => t.active) !== undefined;
|
|
58
|
+
return !!this.tabs && this.tabs.find((t) => !!t.active) !== undefined;
|
|
66
59
|
}
|
|
67
60
|
}
|
|
61
|
+
_SkyVerticalTabsetGroupComponent_ngUnsubscribe = new WeakMap(), _SkyVerticalTabsetGroupComponent_openBeforeTabsHidden = new WeakMap(), _SkyVerticalTabsetGroupComponent_tabService = new WeakMap(), _SkyVerticalTabsetGroupComponent_changeRef = new WeakMap();
|
|
68
62
|
SkyVerticalTabsetGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetGroupComponent, deps: [{ token: i1.SkyVerticalTabsetService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
-
SkyVerticalTabsetGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyVerticalTabsetGroupComponent, selector: "sky-vertical-tabset-group", inputs: { disabled: "disabled", groupHeading: "groupHeading", open: "open" }, queries: [{ propertyName: "tabs", predicate: SkyVerticalTabComponent }], ngImport: i0, template: "<div class=\"sky-vertical-tabset-group\">\n <!-- [ngClass] includes font classes for both modern and default styles -->\n <div\n class=\"sky-vertical-tabset-group-header\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-sub-open sky-font-emphasized sky-emphasized':\n subMenuOpen(),\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled,\n 'sky-vertical-tabset-disabled': disabled\n }\"\n [tabIndex]=\"-1\"\n >\n <button\n class=\"sky-padding-even-default\"\n type=\"button\"\n skyId\n [attr.aria-controls]=\"groupContent.id\"\n [attr.aria-expanded]=\"open\"\n (click)=\"toggleMenuOpen()\"\n #groupHeadingButton\n >\n {{ groupHeading }}\n <sky-expansion-indicator\n class=\"sky-vertical-tabset-group-expansion-indicator\"\n [direction]=\"open ? 'up' : 'down'\"\n >\n </sky-expansion-indicator>\n </button>\n </div>\n <div\n class=\"sky-vertical-tabset-group-content\"\n
|
|
63
|
+
SkyVerticalTabsetGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyVerticalTabsetGroupComponent, selector: "sky-vertical-tabset-group", inputs: { disabled: "disabled", groupHeading: "groupHeading", open: "open" }, queries: [{ propertyName: "tabs", predicate: SkyVerticalTabComponent }], ngImport: i0, template: "<div class=\"sky-vertical-tabset-group\">\n <!-- [ngClass] includes font classes for both modern and default styles -->\n <div\n class=\"sky-vertical-tabset-group-header\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-sub-open sky-font-emphasized sky-emphasized':\n subMenuOpen(),\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled,\n 'sky-vertical-tabset-disabled': disabled\n }\"\n [tabIndex]=\"-1\"\n >\n <button\n class=\"sky-padding-even-default\"\n type=\"button\"\n skyId\n [attr.aria-controls]=\"groupContent.id\"\n [attr.aria-expanded]=\"!disabled && open\"\n (click)=\"toggleMenuOpen()\"\n #groupHeadingButton\n >\n {{ groupHeading }}\n <sky-expansion-indicator\n class=\"sky-vertical-tabset-group-expansion-indicator\"\n [direction]=\"!disabled && open ? 'up' : 'down'\"\n >\n </sky-expansion-indicator>\n </button>\n </div>\n <div\n class=\"sky-vertical-tabset-group-content\"\n skyId\n [attr.labelledby]=\"groupHeadingButton.id\"\n [@skyAnimationSlide]=\"!disabled && open ? 'down' : 'up'\"\n #groupContent\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sky-vertical-tabset-group{border-bottom:1px solid #e2e3e4;margin:5px 0 5px 5px}.sky-vertical-tabset-group-header button{cursor:pointer;display:flex;justify-content:space-between;border:none;width:100%;text-align:left;background:none}.sky-vertical-tabset-group-content{overflow:hidden;border-top:1px solid #e2e3e4}:host ::ng-deep .sky-vertical-tabset-group-expansion-indicator>button{font-size:14px!important}.sky-vertical-tabset-disabled{cursor:not-allowed;pointer-events:none}:host-context(.sky-theme-modern) .sky-vertical-tabset-group{border:none;margin:10px 0}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-content{border:none;padding-left:25px}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-header{position:relative}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}.sky-theme-modern .sky-vertical-tabset-group{border:none;margin:10px 0}.sky-theme-modern .sky-vertical-tabset-group-content{border:none;padding-left:25px}.sky-theme-modern .sky-vertical-tabset-group-header{position:relative}.sky-theme-modern .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i4.λ15, selector: "sky-expansion-indicator", inputs: ["direction"] }], animations: [skyAnimationSlide], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
70
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetGroupComponent, decorators: [{
|
|
71
65
|
type: Component,
|
|
72
|
-
args: [{ selector: 'sky-vertical-tabset-group', changeDetection: ChangeDetectionStrategy.OnPush, animations: [skyAnimationSlide], template: "<div class=\"sky-vertical-tabset-group\">\n <!-- [ngClass] includes font classes for both modern and default styles -->\n <div\n class=\"sky-vertical-tabset-group-header\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-sub-open sky-font-emphasized sky-emphasized':\n subMenuOpen(),\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled,\n 'sky-vertical-tabset-disabled': disabled\n }\"\n [tabIndex]=\"-1\"\n >\n <button\n class=\"sky-padding-even-default\"\n type=\"button\"\n skyId\n [attr.aria-controls]=\"groupContent.id\"\n [attr.aria-expanded]=\"open\"\n (click)=\"toggleMenuOpen()\"\n #groupHeadingButton\n >\n {{ groupHeading }}\n <sky-expansion-indicator\n class=\"sky-vertical-tabset-group-expansion-indicator\"\n [direction]=\"open ? 'up' : 'down'\"\n >\n </sky-expansion-indicator>\n </button>\n </div>\n <div\n class=\"sky-vertical-tabset-group-content\"\n
|
|
66
|
+
args: [{ selector: 'sky-vertical-tabset-group', changeDetection: ChangeDetectionStrategy.OnPush, animations: [skyAnimationSlide], template: "<div class=\"sky-vertical-tabset-group\">\n <!-- [ngClass] includes font classes for both modern and default styles -->\n <div\n class=\"sky-vertical-tabset-group-header\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-sub-open sky-font-emphasized sky-emphasized':\n subMenuOpen(),\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled,\n 'sky-vertical-tabset-disabled': disabled\n }\"\n [tabIndex]=\"-1\"\n >\n <button\n class=\"sky-padding-even-default\"\n type=\"button\"\n skyId\n [attr.aria-controls]=\"groupContent.id\"\n [attr.aria-expanded]=\"!disabled && open\"\n (click)=\"toggleMenuOpen()\"\n #groupHeadingButton\n >\n {{ groupHeading }}\n <sky-expansion-indicator\n class=\"sky-vertical-tabset-group-expansion-indicator\"\n [direction]=\"!disabled && open ? 'up' : 'down'\"\n >\n </sky-expansion-indicator>\n </button>\n </div>\n <div\n class=\"sky-vertical-tabset-group-content\"\n skyId\n [attr.labelledby]=\"groupHeadingButton.id\"\n [@skyAnimationSlide]=\"!disabled && open ? 'down' : 'up'\"\n #groupContent\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sky-vertical-tabset-group{border-bottom:1px solid #e2e3e4;margin:5px 0 5px 5px}.sky-vertical-tabset-group-header button{cursor:pointer;display:flex;justify-content:space-between;border:none;width:100%;text-align:left;background:none}.sky-vertical-tabset-group-content{overflow:hidden;border-top:1px solid #e2e3e4}:host ::ng-deep .sky-vertical-tabset-group-expansion-indicator>button{font-size:14px!important}.sky-vertical-tabset-disabled{cursor:not-allowed;pointer-events:none}:host-context(.sky-theme-modern) .sky-vertical-tabset-group{border:none;margin:10px 0}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-content{border:none;padding-left:25px}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-header{position:relative}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}.sky-theme-modern .sky-vertical-tabset-group{border:none;margin:10px 0}.sky-theme-modern .sky-vertical-tabset-group-content{border:none;padding-left:25px}.sky-theme-modern .sky-vertical-tabset-group-header{position:relative}.sky-theme-modern .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}\n"] }]
|
|
73
67
|
}], ctorParameters: function () { return [{ type: i1.SkyVerticalTabsetService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
|
|
74
68
|
type: Input
|
|
75
69
|
}], groupHeading: [{
|
|
@@ -80,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
80
74
|
type: ContentChildren,
|
|
81
75
|
args: [SkyVerticalTabComponent]
|
|
82
76
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7OztBQVNyRSxNQUFNLE9BQU8sK0JBQStCO0lBK0IxQyxZQUNFLFVBQW9DLEVBQ3BDLFNBQTRCO1FBVDlCLHlEQUFpQixJQUFJLE9BQU8sRUFBUSxFQUFDO1FBRXJDLGdFQUE2QyxLQUFLLEVBQUM7UUFFbkQsOERBQXNDO1FBQ3RDLDZEQUE4QjtRQXlDdkIsZUFBVSxHQUFHLEdBQUcsRUFBRTtZQUN2Qix1QkFBQSxJQUFJLGtEQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDO1FBRUssZUFBVSxHQUFHLEdBQUcsRUFBRTtZQUN2Qiw4RkFBOEY7WUFDOUYsdUJBQUEsSUFBSSx5REFBeUIsSUFBSSxDQUFDLElBQUksTUFBQSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLHVCQUFBLElBQUksa0RBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUM7UUFFSyxjQUFTLEdBQUcsR0FBRyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsdUJBQUEsSUFBSSw2REFBc0IsQ0FBQztZQUN2Qyx1QkFBQSxJQUFJLGtEQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDO1FBakRBLHVCQUFBLElBQUksK0NBQWUsVUFBVSxNQUFBLENBQUM7UUFDOUIsdUJBQUEsSUFBSSw4Q0FBYyxTQUFTLE1BQUEsQ0FBQztJQUM5QixDQUFDO0lBRU0sUUFBUTtRQUNiLHVCQUFBLElBQUksbURBQVksQ0FBQyxVQUFVO2FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxzREFBZSxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5Qix1QkFBQSxJQUFJLG1EQUFZLENBQUMsV0FBVzthQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUksc0RBQWUsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0IsdUJBQUEsSUFBSSxtREFBWSxDQUFDLFVBQVU7YUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLHNEQUFlLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLHVCQUFBLElBQUksc0RBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQix1QkFBQSxJQUFJLHNEQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDeEI7UUFFRCx1QkFBQSxJQUFJLGtEQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxTQUFTLENBQUM7SUFDeEUsQ0FBQzs7OzRIQXBFVSwrQkFBK0I7Z0hBQS9CLCtCQUErQixvS0FxQnpCLHVCQUF1Qiw2QkM5QzFDLHF0Q0F3Q0EsKzlDRGpCYyxDQUFDLGlCQUFpQixDQUFDOzJGQUVwQiwrQkFBK0I7a0JBUDNDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsaUJBQWlCLENBQUM7K0lBUXhCLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxZQUFZO3NCQURsQixLQUFLO2dCQVFDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxJQUFJO3NCQURWLGVBQWU7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2t5QW5pbWF0aW9uU2xpZGUgfSBmcm9tICdAc2t5dXgvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJDb21wb25lbnQgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlIH0gZnJvbSAnLi92ZXJ0aWNhbC10YWJzZXQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS12ZXJ0aWNhbC10YWJzZXQtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbc2t5QW5pbWF0aW9uU2xpZGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lWZXJ0aWNhbFRhYnNldEdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgYWJpbGl0eSB0byBleHBhbmQgYW5kIGNvbGxhcHNlIHRoZSBncm91cC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBoZWFkZXIgZm9yIHRoZSBjb2xsYXBzaWJsZSBncm91cCBvZiB0YWJzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdyb3VwSGVhZGluZzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29sbGFwc2libGUgZ3JvdXAgaXMgZXhwYW5kZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3BlbjogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBAQ29udGVudENoaWxkcmVuKFNreVZlcnRpY2FsVGFiQ29tcG9uZW50KVxuICBwdWJsaWMgdGFiczogUXVlcnlMaXN0PFNreVZlcnRpY2FsVGFiQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI29wZW5CZWZvcmVUYWJzSGlkZGVuOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgI3RhYlNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZTtcbiAgI2NoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGFiU2VydmljZTogU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlLFxuICAgIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy4jdGFiU2VydmljZSA9IHRhYlNlcnZpY2U7XG4gICAgdGhpcy4jY2hhbmdlUmVmID0gY2hhbmdlUmVmO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3RhYlNlcnZpY2UuaGlkaW5nVGFic1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnRhYnNIaWRkZW4pO1xuXG4gICAgdGhpcy4jdGFiU2VydmljZS5zaG93aW5nVGFic1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnRhYnNTaG93bik7XG5cbiAgICB0aGlzLiN0YWJTZXJ2aWNlLnRhYkNsaWNrZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUodGhpcy50YWJDbGlja2VkKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlTWVudU9wZW4oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJNZW51T3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnRhYnMgJiYgdGhpcy50YWJzLmZpbmQoKHQpID0+ICEhdC5hY3RpdmUpICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgdGFiQ2xpY2tlZCA9ICgpID0+IHtcbiAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gIH07XG5cbiAgcHVibGljIHRhYnNIaWRkZW4gPSAoKSA9PiB7XG4gICAgLy8gdGhpcyBmaXhlcyBhbiBhbmltYXRpb24gYnVnIHdpdGggbmdJZiB3aGVuIHRoZSBwYXJlbnQgY29tcG9uZW50IGdvZXMgZnJvbSB2aXNpYmxlIHRvIGhpZGRlblxuICAgIHRoaXMuI29wZW5CZWZvcmVUYWJzSGlkZGVuID0gdGhpcy5vcGVuO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBwdWJsaWMgdGFic1Nob3duID0gKCkgPT4ge1xuICAgIHRoaXMub3BlbiA9IHRoaXMuI29wZW5CZWZvcmVUYWJzSGlkZGVuO1xuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktdmVydGljYWwtdGFic2V0LWdyb3VwXCI+XG4gIDwhLS0gW25nQ2xhc3NdIGluY2x1ZGVzIGZvbnQgY2xhc3NlcyBmb3IgYm90aCBtb2Rlcm4gYW5kIGRlZmF1bHQgc3R5bGVzIC0tPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFic2V0LWdyb3VwLWhlYWRlclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS12ZXJ0aWNhbC10YWJzZXQtZ3JvdXAtaGVhZGVyLXN1Yi1vcGVuIHNreS1mb250LWVtcGhhc2l6ZWQgc2t5LWVtcGhhc2l6ZWQnOlxuICAgICAgICBzdWJNZW51T3BlbigpLFxuICAgICAgJ3NreS1mb250LWRlZW1waGFzaXplZCc6IGRpc2FibGVkLFxuICAgICAgJ3NreS1kZWVtcGhhc2l6ZWQnOiBkaXNhYmxlZCxcbiAgICAgICdza3ktdmVydGljYWwtdGFic2V0LWRpc2FibGVkJzogZGlzYWJsZWRcbiAgICB9XCJcbiAgICBbdGFiSW5kZXhdPVwiLTFcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktcGFkZGluZy1ldmVuLWRlZmF1bHRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBza3lJZFxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJncm91cENvbnRlbnQuaWRcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhZGlzYWJsZWQgJiYgb3BlblwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlTWVudU9wZW4oKVwiXG4gICAgICAjZ3JvdXBIZWFkaW5nQnV0dG9uXG4gICAgPlxuICAgICAge3sgZ3JvdXBIZWFkaW5nIH19XG4gICAgICA8c2t5LWV4cGFuc2lvbi1pbmRpY2F0b3JcbiAgICAgICAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFic2V0LWdyb3VwLWV4cGFuc2lvbi1pbmRpY2F0b3JcIlxuICAgICAgICBbZGlyZWN0aW9uXT1cIiFkaXNhYmxlZCAmJiBvcGVuID8gJ3VwJyA6ICdkb3duJ1wiXG4gICAgICA+XG4gICAgICA8L3NreS1leHBhbnNpb24taW5kaWNhdG9yPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LXZlcnRpY2FsLXRhYnNldC1ncm91cC1jb250ZW50XCJcbiAgICBza3lJZFxuICAgIFthdHRyLmxhYmVsbGVkYnldPVwiZ3JvdXBIZWFkaW5nQnV0dG9uLmlkXCJcbiAgICBbQHNreUFuaW1hdGlvblNsaWRlXT1cIiFkaXNhYmxlZCAmJiBvcGVuID8gJ2Rvd24nIDogJ3VwJ1wiXG4gICAgI2dyb3VwQ29udGVudFxuICA+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|