@skyux/tabs 8.6.0 → 9.0.0-alpha.0
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 +92 -54
- package/esm2022/index.mjs +26 -0
- package/esm2022/lib/modules/sectioned-form/sectioned-form-section.component.mjs +65 -0
- package/esm2022/lib/modules/sectioned-form/sectioned-form.component.mjs +187 -0
- package/{esm2020 → esm2022}/lib/modules/sectioned-form/sectioned-form.module.mjs +11 -11
- package/{esm2020 → esm2022}/lib/modules/sectioned-form/sectioned-form.service.mjs +4 -4
- package/esm2022/lib/modules/shared/sky-tabs-resources.module.mjs +61 -0
- package/esm2022/lib/modules/shared/tab-id.service.mjs +50 -0
- package/{esm2020 → esm2022}/lib/modules/tabs/tab-button-adapter.service.mjs +4 -4
- package/esm2022/lib/modules/tabs/tab-button.component.mjs +162 -0
- package/{esm2020 → esm2022}/lib/modules/tabs/tab-layout-type.mjs +1 -1
- package/esm2022/lib/modules/tabs/tab.component.mjs +197 -0
- package/{esm2020 → esm2022}/lib/modules/tabs/tabs.module.mjs +21 -21
- package/esm2022/lib/modules/tabs/tabset-adapter.service.mjs +68 -0
- package/{esm2020 → esm2022}/lib/modules/tabs/tabset-nav-button-disabled.pipe.mjs +4 -4
- package/esm2022/lib/modules/tabs/tabset-nav-button.component.mjs +149 -0
- package/esm2022/lib/modules/tabs/tabset-permalink.service.mjs +128 -0
- package/esm2022/lib/modules/tabs/tabset.component.mjs +466 -0
- package/esm2022/lib/modules/tabs/tabset.service.mjs +198 -0
- package/esm2022/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +68 -0
- package/esm2022/lib/modules/vertical-tabset/vertical-tab.component.mjs +217 -0
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +48 -0
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +108 -0
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.component.mjs +158 -0
- package/{esm2020 → esm2022}/lib/modules/vertical-tabset/vertical-tabset.module.mjs +21 -21
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.service.mjs +169 -0
- package/esm2022/testing/tabs/tabset-fixture.mjs +129 -0
- package/fesm2022/skyux-tabs-testing.mjs +136 -0
- package/{fesm2020 → fesm2022}/skyux-tabs-testing.mjs.map +1 -1
- package/fesm2022/skyux-tabs.mjs +2586 -0
- package/{fesm2020 → fesm2022}/skyux-tabs.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/modules/sectioned-form/sectioned-form-section.component.d.ts +1 -1
- package/lib/modules/sectioned-form/sectioned-form.component.d.ts +1 -1
- package/lib/modules/tabs/tab-button.component.d.ts +1 -1
- package/lib/modules/tabs/tab-layout-type.d.ts +1 -1
- package/lib/modules/tabs/tab.component.d.ts +1 -1
- package/lib/modules/tabs/tabset-nav-button.component.d.ts +1 -1
- package/lib/modules/tabs/tabset.component.d.ts +1 -1
- package/lib/modules/vertical-tabset/vertical-tab.component.d.ts +1 -1
- package/lib/modules/vertical-tabset/vertical-tabset-group.component.d.ts +1 -1
- package/lib/modules/vertical-tabset/vertical-tabset.component.d.ts +1 -1
- package/package.json +21 -29
- package/esm2020/index.mjs +0 -25
- package/esm2020/lib/modules/sectioned-form/sectioned-form-section.component.mjs +0 -67
- package/esm2020/lib/modules/sectioned-form/sectioned-form.component.mjs +0 -187
- package/esm2020/lib/modules/shared/sky-tabs-resources.module.mjs +0 -61
- package/esm2020/lib/modules/shared/tab-id.service.mjs +0 -53
- package/esm2020/lib/modules/tabs/tab-button.component.mjs +0 -162
- package/esm2020/lib/modules/tabs/tab.component.mjs +0 -198
- package/esm2020/lib/modules/tabs/tabset-adapter.service.mjs +0 -68
- package/esm2020/lib/modules/tabs/tabset-nav-button.component.mjs +0 -149
- package/esm2020/lib/modules/tabs/tabset-permalink.service.mjs +0 -128
- package/esm2020/lib/modules/tabs/tabset.component.mjs +0 -429
- package/esm2020/lib/modules/tabs/tabset.service.mjs +0 -196
- package/esm2020/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +0 -71
- package/esm2020/lib/modules/vertical-tabset/vertical-tab.component.mjs +0 -216
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +0 -51
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +0 -110
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset.component.mjs +0 -159
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset.service.mjs +0 -167
- package/esm2020/testing/tabs/tabset-fixture.mjs +0 -128
- package/fesm2015/skyux-tabs-testing.mjs +0 -147
- package/fesm2015/skyux-tabs-testing.mjs.map +0 -1
- package/fesm2015/skyux-tabs.mjs +0 -2560
- package/fesm2015/skyux-tabs.mjs.map +0 -1
- package/fesm2020/skyux-tabs-testing.mjs +0 -135
- package/fesm2020/skyux-tabs.mjs +0 -2544
- /package/{esm2020 → esm2022}/lib/modules/sectioned-form/types/sectioned-form-message-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/sectioned-form/types/sectioned-form-message.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/tabs/tab-button-view-model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/tabs/tab-index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-active-tab-unregistered-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-buttons-display-mode.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-nav-button-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-style.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-tab-indexes-change.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-tabs.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/skyux-tabs-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/tabs/tab-fixture-tab.mjs +0 -0
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
var _SkyTabsetAdapterService_instances, _SkyTabsetAdapterService_currentOverflow, _SkyTabsetAdapterService_tabsetRef, _SkyTabsetAdapterService_tabsOffsetLeft, _SkyTabsetAdapterService_overflowChange, _SkyTabsetAdapterService_getTabsOffsetLeft;
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { BehaviorSubject } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* @internal
|
|
8
|
-
*/
|
|
9
|
-
export class SkyTabsetAdapterService {
|
|
10
|
-
get overflowChange() {
|
|
11
|
-
return __classPrivateFieldGet(this, _SkyTabsetAdapterService_overflowChange, "f");
|
|
12
|
-
}
|
|
13
|
-
constructor() {
|
|
14
|
-
_SkyTabsetAdapterService_instances.add(this);
|
|
15
|
-
_SkyTabsetAdapterService_currentOverflow.set(this, false);
|
|
16
|
-
_SkyTabsetAdapterService_tabsetRef.set(this, void 0);
|
|
17
|
-
_SkyTabsetAdapterService_tabsOffsetLeft.set(this, void 0);
|
|
18
|
-
_SkyTabsetAdapterService_overflowChange.set(this, void 0);
|
|
19
|
-
__classPrivateFieldSet(this, _SkyTabsetAdapterService_overflowChange, new BehaviorSubject(false), "f");
|
|
20
|
-
}
|
|
21
|
-
ngOnDestroy() {
|
|
22
|
-
__classPrivateFieldGet(this, _SkyTabsetAdapterService_overflowChange, "f").complete();
|
|
23
|
-
}
|
|
24
|
-
registerTabset(tabsetRef) {
|
|
25
|
-
__classPrivateFieldSet(this, _SkyTabsetAdapterService_tabsetRef, tabsetRef, "f");
|
|
26
|
-
__classPrivateFieldSet(this, _SkyTabsetAdapterService_tabsOffsetLeft, __classPrivateFieldGet(this, _SkyTabsetAdapterService_instances, "m", _SkyTabsetAdapterService_getTabsOffsetLeft).call(this, tabsetRef.nativeElement), "f");
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Detects if the tab buttons are wider than the tabset container.
|
|
30
|
-
*/
|
|
31
|
-
detectOverflow() {
|
|
32
|
-
const nativeElement = __classPrivateFieldGet(this, _SkyTabsetAdapterService_tabsetRef, "f")?.nativeElement;
|
|
33
|
-
const tabsetRect = nativeElement
|
|
34
|
-
.querySelector('.sky-tabset')
|
|
35
|
-
.getBoundingClientRect();
|
|
36
|
-
const tabButtonsRect = nativeElement
|
|
37
|
-
.querySelector('.sky-tabset-tabs')
|
|
38
|
-
.getBoundingClientRect();
|
|
39
|
-
const tabExtraButtonsRect = nativeElement
|
|
40
|
-
.querySelector('.sky-tabset-btns')
|
|
41
|
-
.getBoundingClientRect();
|
|
42
|
-
const tabButtonsWidth = tabButtonsRect.width + tabExtraButtonsRect.width + __classPrivateFieldGet(this, _SkyTabsetAdapterService_tabsOffsetLeft, "f");
|
|
43
|
-
const newOverflow = tabButtonsWidth > tabsetRect.width;
|
|
44
|
-
if (__classPrivateFieldGet(this, _SkyTabsetAdapterService_currentOverflow, "f") !== newOverflow) {
|
|
45
|
-
__classPrivateFieldSet(this, _SkyTabsetAdapterService_currentOverflow, newOverflow, "f");
|
|
46
|
-
__classPrivateFieldGet(this, _SkyTabsetAdapterService_overflowChange, "f").next(__classPrivateFieldGet(this, _SkyTabsetAdapterService_currentOverflow, "f"));
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
_SkyTabsetAdapterService_currentOverflow = new WeakMap(), _SkyTabsetAdapterService_tabsetRef = new WeakMap(), _SkyTabsetAdapterService_tabsOffsetLeft = new WeakMap(), _SkyTabsetAdapterService_overflowChange = new WeakMap(), _SkyTabsetAdapterService_instances = new WeakSet(), _SkyTabsetAdapterService_getTabsOffsetLeft = function _SkyTabsetAdapterService_getTabsOffsetLeft(tabsetEl) {
|
|
51
|
-
const tabsetRect = tabsetEl.getBoundingClientRect();
|
|
52
|
-
// The dropdown element is the first "tab" and always exists in the DOM, even when hidden.
|
|
53
|
-
const firstTabRect = tabsetEl
|
|
54
|
-
.querySelector('.sky-tabset-dropdown')
|
|
55
|
-
?.getBoundingClientRect();
|
|
56
|
-
// Safety check
|
|
57
|
-
/* istanbul ignore next */
|
|
58
|
-
if (!firstTabRect) {
|
|
59
|
-
return 0;
|
|
60
|
-
}
|
|
61
|
-
return firstTabRect.left - tabsetRect.left;
|
|
62
|
-
};
|
|
63
|
-
SkyTabsetAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabsetAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
64
|
-
SkyTabsetAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabsetAdapterService });
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabsetAdapterService, decorators: [{
|
|
66
|
-
type: Injectable
|
|
67
|
-
}], ctorParameters: function () { return []; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYnNldC1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBRW5EOztHQUVHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxJQUFXLGNBQWM7UUFDdkIsT0FBTyx1QkFBQSxJQUFJLCtDQUFnQixDQUFDO0lBQzlCLENBQUM7SUFVRDs7UUFSQSxtREFBbUIsS0FBSyxFQUFDO1FBRXpCLHFEQUFtQztRQUVuQywwREFBb0M7UUFFcEMsMERBQTBDO1FBR3hDLHVCQUFBLElBQUksMkNBQW1CLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxNQUFBLENBQUM7SUFDN0QsQ0FBQztJQUVNLFdBQVc7UUFDaEIsdUJBQUEsSUFBSSwrQ0FBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFNBQXFCO1FBQ3pDLHVCQUFBLElBQUksc0NBQWMsU0FBUyxNQUFBLENBQUM7UUFDNUIsdUJBQUEsSUFBSSwyQ0FBbUIsdUJBQUEsSUFBSSxzRkFBbUIsTUFBdkIsSUFBSSxFQUFvQixTQUFTLENBQUMsYUFBYSxDQUFDLE1BQUEsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ25CLE1BQU0sYUFBYSxHQUFHLHVCQUFBLElBQUksMENBQVcsRUFBRSxhQUFhLENBQUM7UUFFckQsTUFBTSxVQUFVLEdBQUcsYUFBYTthQUM3QixhQUFhLENBQUMsYUFBYSxDQUFDO2FBQzVCLHFCQUFxQixFQUFFLENBQUM7UUFFM0IsTUFBTSxjQUFjLEdBQUcsYUFBYTthQUNqQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7YUFDakMscUJBQXFCLEVBQUUsQ0FBQztRQUUzQixNQUFNLG1CQUFtQixHQUFHLGFBQWE7YUFDdEMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO2FBQ2pDLHFCQUFxQixFQUFFLENBQUM7UUFFM0IsTUFBTSxlQUFlLEdBQ25CLGNBQWMsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxHQUFHLHVCQUFBLElBQUksK0NBQWdCLENBQUM7UUFFMUUsTUFBTSxXQUFXLEdBQUcsZUFBZSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDdkQsSUFBSSx1QkFBQSxJQUFJLGdEQUFpQixLQUFLLFdBQVcsRUFBRTtZQUN6Qyx1QkFBQSxJQUFJLDRDQUFvQixXQUFXLE1BQUEsQ0FBQztZQUNwQyx1QkFBQSxJQUFJLCtDQUFnQixDQUFDLElBQUksQ0FBQyx1QkFBQSxJQUFJLGdEQUFpQixDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDOztxWEFLa0IsUUFBcUI7SUFDdEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFcEQsMEZBQTBGO0lBQzFGLE1BQU0sWUFBWSxHQUFHLFFBQVE7U0FDMUIsYUFBYSxDQUFDLHNCQUFzQixDQUFDO1FBQ3RDLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztJQUU1QixlQUFlO0lBQ2YsMEJBQTBCO0lBQzFCLElBQUksQ0FBQyxZQUFZLEVBQUU7UUFDakIsT0FBTyxDQUFDLENBQUM7S0FDVjtJQUVELE9BQU8sWUFBWSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO0FBQzdDLENBQUM7b0hBeEVVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lUYWJzZXRBZGFwdGVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBnZXQgb3ZlcmZsb3dDaGFuZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI292ZXJmbG93Q2hhbmdlO1xuICB9XG5cbiAgI2N1cnJlbnRPdmVyZmxvdyA9IGZhbHNlO1xuXG4gICN0YWJzZXRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI3RhYnNPZmZzZXRMZWZ0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgI292ZXJmbG93Q2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jb3ZlcmZsb3dDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNvdmVyZmxvd0NoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyVGFic2V0KHRhYnNldFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIHRoaXMuI3RhYnNldFJlZiA9IHRhYnNldFJlZjtcbiAgICB0aGlzLiN0YWJzT2Zmc2V0TGVmdCA9IHRoaXMuI2dldFRhYnNPZmZzZXRMZWZ0KHRhYnNldFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlY3RzIGlmIHRoZSB0YWIgYnV0dG9ucyBhcmUgd2lkZXIgdGhhbiB0aGUgdGFic2V0IGNvbnRhaW5lci5cbiAgICovXG4gIHB1YmxpYyBkZXRlY3RPdmVyZmxvdygpOiB2b2lkIHtcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gdGhpcy4jdGFic2V0UmVmPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgdGFic2V0UmVjdCA9IG5hdGl2ZUVsZW1lbnRcbiAgICAgIC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYnNldCcpXG4gICAgICAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCB0YWJCdXR0b25zUmVjdCA9IG5hdGl2ZUVsZW1lbnRcbiAgICAgIC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYnNldC10YWJzJylcbiAgICAgIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHRhYkV4dHJhQnV0dG9uc1JlY3QgPSBuYXRpdmVFbGVtZW50XG4gICAgICAucXVlcnlTZWxlY3RvcignLnNreS10YWJzZXQtYnRucycpXG4gICAgICAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCB0YWJCdXR0b25zV2lkdGggPVxuICAgICAgdGFiQnV0dG9uc1JlY3Qud2lkdGggKyB0YWJFeHRyYUJ1dHRvbnNSZWN0LndpZHRoICsgdGhpcy4jdGFic09mZnNldExlZnQ7XG5cbiAgICBjb25zdCBuZXdPdmVyZmxvdyA9IHRhYkJ1dHRvbnNXaWR0aCA+IHRhYnNldFJlY3Qud2lkdGg7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRPdmVyZmxvdyAhPT0gbmV3T3ZlcmZsb3cpIHtcbiAgICAgIHRoaXMuI2N1cnJlbnRPdmVyZmxvdyA9IG5ld092ZXJmbG93O1xuICAgICAgdGhpcy4jb3ZlcmZsb3dDaGFuZ2UubmV4dCh0aGlzLiNjdXJyZW50T3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgcGl4ZWxzIHRvIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCB0YWIuXG4gICAqL1xuICAjZ2V0VGFic09mZnNldExlZnQodGFic2V0RWw6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICBjb25zdCB0YWJzZXRSZWN0ID0gdGFic2V0RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAvLyBUaGUgZHJvcGRvd24gZWxlbWVudCBpcyB0aGUgZmlyc3QgXCJ0YWJcIiBhbmQgYWx3YXlzIGV4aXN0cyBpbiB0aGUgRE9NLCBldmVuIHdoZW4gaGlkZGVuLlxuICAgIGNvbnN0IGZpcnN0VGFiUmVjdCA9IHRhYnNldEVsXG4gICAgICAucXVlcnlTZWxlY3RvcignLnNreS10YWJzZXQtZHJvcGRvd24nKVxuICAgICAgPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIC8vIFNhZmV0eSBjaGVja1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKCFmaXJzdFRhYlJlY3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiBmaXJzdFRhYlJlY3QubGVmdCAtIHRhYnNldFJlY3QubGVmdDtcbiAgfVxufVxuIl19
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
var _SkyTabsetNavButtonComponent_instances, _SkyTabsetNavButtonComponent__buttonType, _SkyTabsetNavButtonComponent__disabled, _SkyTabsetNavButtonComponent__tabset, _SkyTabsetNavButtonComponent_activeIndexNumber, _SkyTabsetNavButtonComponent_activeSkyTabIndex, _SkyTabsetNavButtonComponent_currentTabsetSub, _SkyTabsetNavButtonComponent_logger, _SkyTabsetNavButtonComponent_tabCount, _SkyTabsetNavButtonComponent_ngUnsubscribe, _SkyTabsetNavButtonComponent_updateButtonVisibility, _SkyTabsetNavButtonComponent_updateButtonProperties, _SkyTabsetNavButtonComponent_updateTabToSelect;
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Component, Input } from '@angular/core';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@skyux/core";
|
|
8
|
-
import * as i2 from "@angular/common";
|
|
9
|
-
import * as i3 from "@skyux/i18n";
|
|
10
|
-
import * as i4 from "./tabset-nav-button-disabled.pipe";
|
|
11
|
-
const buttonTypeNext = 'next';
|
|
12
|
-
const buttonTypePrevious = 'previous';
|
|
13
|
-
const buttonTypeFinish = 'finish';
|
|
14
|
-
export class SkyTabsetNavButtonComponent {
|
|
15
|
-
/**
|
|
16
|
-
* The tabset wizard component to associate with the nav button.
|
|
17
|
-
* @required
|
|
18
|
-
*/
|
|
19
|
-
get tabset() {
|
|
20
|
-
return __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f");
|
|
21
|
-
}
|
|
22
|
-
set tabset(value) {
|
|
23
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__tabset, value, "f");
|
|
24
|
-
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, "f")) {
|
|
25
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, "f").unsubscribe();
|
|
26
|
-
}
|
|
27
|
-
if (value) {
|
|
28
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, value.activeChange
|
|
29
|
-
.pipe(distinctUntilChanged(), takeUntil(__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f")))
|
|
30
|
-
.subscribe((index) => {
|
|
31
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_activeSkyTabIndex, index, "f");
|
|
32
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_tabCount, __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f")?.tabs?.length, "f");
|
|
33
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateTabToSelect).call(this);
|
|
34
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonVisibility).call(this);
|
|
35
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonProperties).call(this);
|
|
36
|
-
}), "f");
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_logger, "f").error('The SkyTabsetNavButtonComponent requires a reference to the SkyTabsetComponent it controls.');
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* The type of nav button to include.
|
|
44
|
-
* @required
|
|
45
|
-
*/
|
|
46
|
-
get buttonType() {
|
|
47
|
-
return __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f");
|
|
48
|
-
}
|
|
49
|
-
set buttonType(value) {
|
|
50
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__buttonType, value, "f");
|
|
51
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateTabToSelect).call(this);
|
|
52
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonProperties).call(this);
|
|
53
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonVisibility).call(this);
|
|
54
|
-
if (value === buttonTypeFinish) {
|
|
55
|
-
this.type = 'submit';
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
this.type = 'button';
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Whether to disable the nav button.
|
|
63
|
-
* Defaults to the disabled state of the next tab for `next`, the existence of a previous tab for `previous`,
|
|
64
|
-
* and false for `finish`.
|
|
65
|
-
*/
|
|
66
|
-
set disabled(value) {
|
|
67
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__disabled, value, "f");
|
|
68
|
-
}
|
|
69
|
-
get disabled() {
|
|
70
|
-
return __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__disabled, "f");
|
|
71
|
-
}
|
|
72
|
-
constructor(logger) {
|
|
73
|
-
_SkyTabsetNavButtonComponent_instances.add(this);
|
|
74
|
-
this.isVisible = false;
|
|
75
|
-
this.type = 'submit';
|
|
76
|
-
_SkyTabsetNavButtonComponent__buttonType.set(this, void 0);
|
|
77
|
-
_SkyTabsetNavButtonComponent__disabled.set(this, void 0);
|
|
78
|
-
_SkyTabsetNavButtonComponent__tabset.set(this, void 0);
|
|
79
|
-
_SkyTabsetNavButtonComponent_activeIndexNumber.set(this, void 0);
|
|
80
|
-
_SkyTabsetNavButtonComponent_activeSkyTabIndex.set(this, void 0);
|
|
81
|
-
_SkyTabsetNavButtonComponent_currentTabsetSub.set(this, void 0);
|
|
82
|
-
_SkyTabsetNavButtonComponent_logger.set(this, void 0);
|
|
83
|
-
_SkyTabsetNavButtonComponent_tabCount.set(this, void 0);
|
|
84
|
-
_SkyTabsetNavButtonComponent_ngUnsubscribe.set(this, new Subject());
|
|
85
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_logger, logger, "f");
|
|
86
|
-
}
|
|
87
|
-
ngOnDestroy() {
|
|
88
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f").next();
|
|
89
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f").complete();
|
|
90
|
-
}
|
|
91
|
-
buttonClick() {
|
|
92
|
-
/* istanbul ignore else */
|
|
93
|
-
if (this.tabToSelect && !this.tabToSelect.disabled && this.tabset) {
|
|
94
|
-
this.tabset.active = this.tabToSelect.tabIndex;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
_SkyTabsetNavButtonComponent__buttonType = new WeakMap(), _SkyTabsetNavButtonComponent__disabled = new WeakMap(), _SkyTabsetNavButtonComponent__tabset = new WeakMap(), _SkyTabsetNavButtonComponent_activeIndexNumber = new WeakMap(), _SkyTabsetNavButtonComponent_activeSkyTabIndex = new WeakMap(), _SkyTabsetNavButtonComponent_currentTabsetSub = new WeakMap(), _SkyTabsetNavButtonComponent_logger = new WeakMap(), _SkyTabsetNavButtonComponent_tabCount = new WeakMap(), _SkyTabsetNavButtonComponent_ngUnsubscribe = new WeakMap(), _SkyTabsetNavButtonComponent_instances = new WeakSet(), _SkyTabsetNavButtonComponent_updateButtonVisibility = function _SkyTabsetNavButtonComponent_updateButtonVisibility() {
|
|
99
|
-
const isLastStep = !!__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabCount, "f") && __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") === __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabCount, "f") - 1;
|
|
100
|
-
if (this.buttonType === buttonTypeFinish) {
|
|
101
|
-
this.isVisible = isLastStep;
|
|
102
|
-
}
|
|
103
|
-
else if (this.buttonType === buttonTypeNext) {
|
|
104
|
-
this.isVisible = !isLastStep;
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
this.isVisible = true;
|
|
108
|
-
}
|
|
109
|
-
}, _SkyTabsetNavButtonComponent_updateButtonProperties = function _SkyTabsetNavButtonComponent_updateButtonProperties() {
|
|
110
|
-
if (this.buttonType === buttonTypeNext ||
|
|
111
|
-
this.buttonType === buttonTypeFinish) {
|
|
112
|
-
this.buttonClassName = 'sky-btn-primary';
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
this.buttonClassName = 'sky-btn-default';
|
|
116
|
-
}
|
|
117
|
-
this.ariaControls = this.tabToSelect?.tabPanelId;
|
|
118
|
-
}, _SkyTabsetNavButtonComponent_updateTabToSelect = function _SkyTabsetNavButtonComponent_updateTabToSelect() {
|
|
119
|
-
if (this.tabset?.tabs) {
|
|
120
|
-
const tabs = this.tabset.tabs.toArray();
|
|
121
|
-
this.tabToSelect = undefined;
|
|
122
|
-
// tab index can be a number or a string, but we need the actual number index
|
|
123
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, tabs.findIndex((tab) => tab.tabIndex === __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeSkyTabIndex, "f")), "f");
|
|
124
|
-
/* istanbul ignore else */
|
|
125
|
-
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") !== undefined) {
|
|
126
|
-
if (this.buttonType === buttonTypeNext) {
|
|
127
|
-
this.tabToSelect = tabs[__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") + 1];
|
|
128
|
-
}
|
|
129
|
-
else if (this.buttonType === buttonTypePrevious) {
|
|
130
|
-
this.tabToSelect = tabs[__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") - 1];
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
SkyTabsetNavButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabsetNavButtonComponent, deps: [{ token: i1.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
136
|
-
SkyTabsetNavButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyTabsetNavButtonComponent, selector: "sky-tabset-nav-button", inputs: { tabset: "tabset", buttonType: "buttonType", buttonText: "buttonText", disabled: "disabled" }, ngImport: i0, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n [attr.aria-controls]=\"ariaControls\"\n [disabled]=\"\n disabled\n | skyTabsetNavButtonDisabled\n : buttonType\n : !!tabToSelect\n : tabToSelect?.disabled\n \"\n [ngClass]=\"buttonClassName\"\n [type]=\"type\"\n (click)=\"buttonType === 'finish' ? null : buttonClick()\"\n>\n {{ buttonText || ('skyux_tabs_navigator_' + buttonType | skyLibResources) }}\n</button>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i4.SkyTabsetNavButtonDisabledPipe, name: "skyTabsetNavButtonDisabled" }] });
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabsetNavButtonComponent, decorators: [{
|
|
138
|
-
type: Component,
|
|
139
|
-
args: [{ selector: 'sky-tabset-nav-button', template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n [attr.aria-controls]=\"ariaControls\"\n [disabled]=\"\n disabled\n | skyTabsetNavButtonDisabled\n : buttonType\n : !!tabToSelect\n : tabToSelect?.disabled\n \"\n [ngClass]=\"buttonClassName\"\n [type]=\"type\"\n (click)=\"buttonType === 'finish' ? null : buttonClick()\"\n>\n {{ buttonText || ('skyux_tabs_navigator_' + buttonType | skyLibResources) }}\n</button>\n" }]
|
|
140
|
-
}], ctorParameters: function () { return [{ type: i1.SkyLogService }]; }, propDecorators: { tabset: [{
|
|
141
|
-
type: Input
|
|
142
|
-
}], buttonType: [{
|
|
143
|
-
type: Input
|
|
144
|
-
}], buttonText: [{
|
|
145
|
-
type: Input
|
|
146
|
-
}], disabled: [{
|
|
147
|
-
type: Input
|
|
148
|
-
}] } });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUc1RCxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQU9qRSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUM7QUFDOUIsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUM7QUFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7QUFNbEMsTUFBTSxPQUFPLDJCQUEyQjtJQUN0Qzs7O09BR0c7SUFDSCxJQUNXLE1BQU07UUFDZixPQUFPLHVCQUFBLElBQUksNENBQVMsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxNQUFNLENBQUMsS0FBcUM7UUFDckQsdUJBQUEsSUFBSSx3Q0FBWSxLQUFLLE1BQUEsQ0FBQztRQUV0QixJQUFJLHVCQUFBLElBQUkscURBQWtCLEVBQUU7WUFDMUIsdUJBQUEsSUFBSSxxREFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QztRQUVELElBQUksS0FBSyxFQUFFO1lBQ1QsdUJBQUEsSUFBSSxpREFBcUIsS0FBSyxDQUFDLFlBQVk7aUJBQ3hDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFNBQVMsQ0FBQyx1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d0hBM0pVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHFLQ25CeEMsOGRBaUJBOzJGREVhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx1QkFBdUI7b0dBU3RCLE1BQU07c0JBRGhCLEtBQUs7Z0JBa0NLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBdUJDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBU0ssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUYWJJbmRleCB9IGZyb20gJy4vdGFiLWluZGV4JztcbmltcG9ydCB7IFNreVRhYkNvbXBvbmVudCB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lUYWJzZXROYXZCdXR0b25UeXBlIH0gZnJvbSAnLi90YWJzZXQtbmF2LWJ1dHRvbi10eXBlJztcbmltcG9ydCB7IFNreVRhYnNldENvbXBvbmVudCB9IGZyb20gJy4vdGFic2V0LmNvbXBvbmVudCc7XG5cbmNvbnN0IGJ1dHRvblR5cGVOZXh0ID0gJ25leHQnO1xuY29uc3QgYnV0dG9uVHlwZVByZXZpb3VzID0gJ3ByZXZpb3VzJztcbmNvbnN0IGJ1dHRvblR5cGVGaW5pc2ggPSAnZmluaXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRhYnNldC1uYXYtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYnNldC1uYXYtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSB0YWJzZXQgd2l6YXJkIGNvbXBvbmVudCB0byBhc3NvY2lhdGUgd2l0aCB0aGUgbmF2IGJ1dHRvbi5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHRhYnNldCgpOiBTa3lUYWJzZXRDb21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdGFic2V0O1xuICB9XG5cbiAgcHVibGljIHNldCB0YWJzZXQodmFsdWU6IFNreVRhYnNldENvbXBvbmVudCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190YWJzZXQgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLiNjdXJyZW50VGFic2V0U3ViKSB7XG4gICAgICB0aGlzLiNjdXJyZW50VGFic2V0U3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNjdXJyZW50VGFic2V0U3ViID0gdmFsdWUuYWN0aXZlQ2hhbmdlXG4gICAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoaW5kZXg6IFNreVRhYkluZGV4KSA9PiB7XG4gICAgICAgICAgdGhpcy4jYWN0aXZlU2t5VGFiSW5kZXggPSBpbmRleDtcbiAgICAgICAgICB0aGlzLiN0YWJDb3VudCA9IHRoaXMuI190YWJzZXQ/LnRhYnM/Lmxlbmd0aDtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVUYWJUb1NlbGVjdCgpO1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUJ1dHRvblZpc2liaWxpdHkoKTtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVCdXR0b25Qcm9wZXJ0aWVzKCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNsb2dnZXIuZXJyb3IoXG4gICAgICAgICdUaGUgU2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50IHJlcXVpcmVzIGEgcmVmZXJlbmNlIHRvIHRoZSBTa3lUYWJzZXRDb21wb25lbnQgaXQgY29udHJvbHMuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgbmF2IGJ1dHRvbiB0byBpbmNsdWRlLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgYnV0dG9uVHlwZSgpOiBTa3lUYWJzZXROYXZCdXR0b25UeXBlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2J1dHRvblR5cGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGJ1dHRvblR5cGUodmFsdWU6IFNreVRhYnNldE5hdkJ1dHRvblR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYnV0dG9uVHlwZSA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZVRhYlRvU2VsZWN0KCk7XG4gICAgdGhpcy4jdXBkYXRlQnV0dG9uUHJvcGVydGllcygpO1xuICAgIHRoaXMuI3VwZGF0ZUJ1dHRvblZpc2liaWxpdHkoKTtcblxuICAgIGlmICh2YWx1ZSA9PT0gYnV0dG9uVHlwZUZpbmlzaCkge1xuICAgICAgdGhpcy50eXBlID0gJ3N1Ym1pdCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHlwZSA9ICdidXR0b24nO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgdG8gZGlzcGxheSBvbiB0aGUgbmF2IGJ1dHRvbi4gVGhlIGZvbGxvd2luZyBhcmUgdGhlIGRlZmF1bHRzIGZvciBlYWNoIGBidXR0b25UeXBlYDpcbiAgICogYG5leHRgID0gXCJOZXh0XCIsIGBwcmV2aW91c2AgPSBcIlByZXZpb3VzXCIsIGBmaW5pc2hgID0gXCJGaW5pc2hcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvblRleHQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgbmF2IGJ1dHRvbi5cbiAgICogRGVmYXVsdHMgdG8gdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBuZXh0IHRhYiBmb3IgYG5leHRgLCB0aGUgZXhpc3RlbmNlIG9mIGEgcHJldmlvdXMgdGFiIGZvciBgcHJldmlvdXNgLFxuICAgKiBhbmQgZmFsc2UgZm9yIGBmaW5pc2hgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIGJ1dHRvbkNsYXNzTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgaXNWaXNpYmxlID0gZmFsc2U7XG4gIHB1YmxpYyB0eXBlOiAnc3VibWl0JyB8ICdidXR0b24nID0gJ3N1Ym1pdCc7XG4gIHB1YmxpYyBhcmlhQ29udHJvbHM6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgdGFiVG9TZWxlY3Q6IFNreVRhYkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICAjX2J1dHRvblR5cGU6IFNreVRhYnNldE5hdkJ1dHRvblR5cGUgfCB1bmRlZmluZWQ7XG4gICNfZGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICNfdGFic2V0OiBTa3lUYWJzZXRDb21wb25lbnQgfCB1bmRlZmluZWQ7XG4gICNhY3RpdmVJbmRleE51bWJlcjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAjYWN0aXZlU2t5VGFiSW5kZXg6IFNreVRhYkluZGV4IHwgdW5kZWZpbmVkO1xuICAjY3VycmVudFRhYnNldFN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjbG9nZ2VyOiBTa3lMb2dTZXJ2aWNlO1xuICAjdGFiQ291bnQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKGxvZ2dlcjogU2t5TG9nU2VydmljZSkge1xuICAgIHRoaXMuI2xvZ2dlciA9IGxvZ2dlcjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgYnV0dG9uQ2xpY2soKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy50YWJUb1NlbGVjdCAmJiAhdGhpcy50YWJUb1NlbGVjdC5kaXNhYmxlZCAmJiB0aGlzLnRhYnNldCkge1xuICAgICAgdGhpcy50YWJzZXQuYWN0aXZlID0gdGhpcy50YWJUb1NlbGVjdC50YWJJbmRleDtcbiAgICB9XG4gIH1cblxuICAjdXBkYXRlQnV0dG9uVmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICBjb25zdCBpc0xhc3RTdGVwID1cbiAgICAgICEhdGhpcy4jdGFiQ291bnQgJiYgdGhpcy4jYWN0aXZlSW5kZXhOdW1iZXIgPT09IHRoaXMuI3RhYkNvdW50IC0gMTtcblxuICAgIGlmICh0aGlzLmJ1dHRvblR5cGUgPT09IGJ1dHRvblR5cGVGaW5pc2gpIHtcbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gaXNMYXN0U3RlcDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYnV0dG9uVHlwZSA9PT0gYnV0dG9uVHlwZU5leHQpIHtcbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gIWlzTGFzdFN0ZXA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAjdXBkYXRlQnV0dG9uUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmJ1dHRvblR5cGUgPT09IGJ1dHRvblR5cGVOZXh0IHx8XG4gICAgICB0aGlzLmJ1dHRvblR5cGUgPT09IGJ1dHRvblR5cGVGaW5pc2hcbiAgICApIHtcbiAgICAgIHRoaXMuYnV0dG9uQ2xhc3NOYW1lID0gJ3NreS1idG4tcHJpbWFyeSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnV0dG9uQ2xhc3NOYW1lID0gJ3NreS1idG4tZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgdGhpcy5hcmlhQ29udHJvbHMgPSB0aGlzLnRhYlRvU2VsZWN0Py50YWJQYW5lbElkO1xuICB9XG5cbiAgI3VwZGF0ZVRhYlRvU2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRhYnNldD8udGFicykge1xuICAgICAgY29uc3QgdGFicyA9IHRoaXMudGFic2V0LnRhYnMudG9BcnJheSgpO1xuICAgICAgdGhpcy50YWJUb1NlbGVjdCA9IHVuZGVmaW5lZDtcblxuICAgICAgLy8gdGFiIGluZGV4IGNhbiBiZSBhIG51bWJlciBvciBhIHN0cmluZywgYnV0IHdlIG5lZWQgdGhlIGFjdHVhbCBudW1iZXIgaW5kZXhcbiAgICAgIHRoaXMuI2FjdGl2ZUluZGV4TnVtYmVyID0gdGFicy5maW5kSW5kZXgoXG4gICAgICAgICh0YWIpID0+IHRhYi50YWJJbmRleCA9PT0gdGhpcy4jYWN0aXZlU2t5VGFiSW5kZXhcbiAgICAgICk7XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGhpcy4jYWN0aXZlSW5kZXhOdW1iZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAodGhpcy5idXR0b25UeXBlID09PSBidXR0b25UeXBlTmV4dCkge1xuICAgICAgICAgIHRoaXMudGFiVG9TZWxlY3QgPSB0YWJzW3RoaXMuI2FjdGl2ZUluZGV4TnVtYmVyICsgMV07XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5idXR0b25UeXBlID09PSBidXR0b25UeXBlUHJldmlvdXMpIHtcbiAgICAgICAgICB0aGlzLnRhYlRvU2VsZWN0ID0gdGFic1t0aGlzLiNhY3RpdmVJbmRleE51bWJlciAtIDFdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uXG4gICpuZ0lmPVwiaXNWaXNpYmxlXCJcbiAgY2xhc3M9XCJza3ktYnRuIHNreS1tYXJnaW4taW5saW5lLXNtXCJcbiAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHNcIlxuICBbZGlzYWJsZWRdPVwiXG4gICAgZGlzYWJsZWRcbiAgICAgIHwgc2t5VGFic2V0TmF2QnV0dG9uRGlzYWJsZWRcbiAgICAgICAgOiBidXR0b25UeXBlXG4gICAgICAgIDogISF0YWJUb1NlbGVjdFxuICAgICAgICA6IHRhYlRvU2VsZWN0Py5kaXNhYmxlZFxuICBcIlxuICBbbmdDbGFzc109XCJidXR0b25DbGFzc05hbWVcIlxuICBbdHlwZV09XCJ0eXBlXCJcbiAgKGNsaWNrKT1cImJ1dHRvblR5cGUgPT09ICdmaW5pc2gnID8gbnVsbCA6IGJ1dHRvbkNsaWNrKClcIlxuPlxuICB7eyBidXR0b25UZXh0IHx8ICgnc2t5dXhfdGFic19uYXZpZ2F0b3JfJyArIGJ1dHRvblR5cGUgfCBza3lMaWJSZXNvdXJjZXMpIH19XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
var _SkyTabsetPermalinkService_instances, _SkyTabsetPermalinkService_popStateChange, _SkyTabsetPermalinkService_subscription, _SkyTabsetPermalinkService_activatedRoute, _SkyTabsetPermalinkService_location, _SkyTabsetPermalinkService_router, _SkyTabsetPermalinkService_getParams;
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/router";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
/**
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
export class SkyTabsetPermalinkService {
|
|
12
|
-
get popStateChange() {
|
|
13
|
-
return __classPrivateFieldGet(this, _SkyTabsetPermalinkService_popStateChange, "f");
|
|
14
|
-
}
|
|
15
|
-
constructor(activatedRoute, location, router) {
|
|
16
|
-
_SkyTabsetPermalinkService_instances.add(this);
|
|
17
|
-
_SkyTabsetPermalinkService_popStateChange.set(this, void 0);
|
|
18
|
-
_SkyTabsetPermalinkService_subscription.set(this, void 0);
|
|
19
|
-
_SkyTabsetPermalinkService_activatedRoute.set(this, void 0);
|
|
20
|
-
_SkyTabsetPermalinkService_location.set(this, void 0);
|
|
21
|
-
_SkyTabsetPermalinkService_router.set(this, void 0);
|
|
22
|
-
__classPrivateFieldSet(this, _SkyTabsetPermalinkService_activatedRoute, activatedRoute, "f");
|
|
23
|
-
__classPrivateFieldSet(this, _SkyTabsetPermalinkService_location, location, "f");
|
|
24
|
-
__classPrivateFieldSet(this, _SkyTabsetPermalinkService_router, router, "f");
|
|
25
|
-
__classPrivateFieldSet(this, _SkyTabsetPermalinkService_popStateChange, new Subject(), "f");
|
|
26
|
-
}
|
|
27
|
-
ngOnDestroy() {
|
|
28
|
-
if (__classPrivateFieldGet(this, _SkyTabsetPermalinkService_subscription, "f")) {
|
|
29
|
-
__classPrivateFieldGet(this, _SkyTabsetPermalinkService_subscription, "f").unsubscribe();
|
|
30
|
-
}
|
|
31
|
-
__classPrivateFieldGet(this, _SkyTabsetPermalinkService_popStateChange, "f").complete();
|
|
32
|
-
}
|
|
33
|
-
init() {
|
|
34
|
-
__classPrivateFieldSet(this, _SkyTabsetPermalinkService_subscription, __classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").subscribe(() => {
|
|
35
|
-
__classPrivateFieldGet(this, _SkyTabsetPermalinkService_popStateChange, "f").next();
|
|
36
|
-
}), "f");
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Returns the value of a URL query param.
|
|
40
|
-
*/
|
|
41
|
-
getParam(name) {
|
|
42
|
-
return __classPrivateFieldGet(this, _SkyTabsetPermalinkService_instances, "m", _SkyTabsetPermalinkService_getParams).call(this)[name];
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Sets the value of a URL query param.
|
|
46
|
-
*/
|
|
47
|
-
setParam(name, value) {
|
|
48
|
-
const params = __classPrivateFieldGet(this, _SkyTabsetPermalinkService_instances, "m", _SkyTabsetPermalinkService_getParams).call(this);
|
|
49
|
-
if (value === null) {
|
|
50
|
-
delete params[name];
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
params[name] = value;
|
|
54
|
-
}
|
|
55
|
-
// Update the URL without triggering a navigation state change.
|
|
56
|
-
// See: https://stackoverflow.com/a/46486677
|
|
57
|
-
const url = __classPrivateFieldGet(this, _SkyTabsetPermalinkService_router, "f")
|
|
58
|
-
.createUrlTree([], {
|
|
59
|
-
relativeTo: __classPrivateFieldGet(this, _SkyTabsetPermalinkService_activatedRoute, "f"),
|
|
60
|
-
queryParams: params,
|
|
61
|
-
queryParamsHandling: 'merge',
|
|
62
|
-
})
|
|
63
|
-
.toString();
|
|
64
|
-
// Abort redirect if the current URL is equal to the new URL.
|
|
65
|
-
if (__classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").isCurrentPathEqualTo(url)) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
__classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").go(url);
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Removes the provided query param from the URL.
|
|
72
|
-
*/
|
|
73
|
-
clearParam(name) {
|
|
74
|
-
this.setParam(name, null);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Returns a relative URL that includes the provided query parameter. The value is intended to be
|
|
78
|
-
* used by an HTML anchor element.
|
|
79
|
-
*/
|
|
80
|
-
getParamHref(name, value) {
|
|
81
|
-
if (!name) {
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
const params = __classPrivateFieldGet(this, _SkyTabsetPermalinkService_instances, "m", _SkyTabsetPermalinkService_getParams).call(this);
|
|
85
|
-
params[name] = value;
|
|
86
|
-
const baseUrl = __classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").path().split('?')[0];
|
|
87
|
-
const paramString = Object.keys(params)
|
|
88
|
-
.map((k) => `${k}=${params[k]}`)
|
|
89
|
-
.join('&');
|
|
90
|
-
return __classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").prepareExternalUrl(`${baseUrl}?${paramString}`);
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Converts the provided string into a value that can be safely used in a URL.
|
|
94
|
-
*/
|
|
95
|
-
urlify(value) {
|
|
96
|
-
if (!value) {
|
|
97
|
-
return '';
|
|
98
|
-
}
|
|
99
|
-
const sanitized = value
|
|
100
|
-
.toLowerCase()
|
|
101
|
-
// Remove special characters.
|
|
102
|
-
.replace(/[_~`@!#$%^&*()[\]{};:'/\\<>,.?=+|"]/g, '')
|
|
103
|
-
// Replace space characters with a dash.
|
|
104
|
-
.replace(/\s/g, '-')
|
|
105
|
-
// Remove any double-dashes.
|
|
106
|
-
.replace(/--/g, '-');
|
|
107
|
-
return sanitized;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
_SkyTabsetPermalinkService_popStateChange = new WeakMap(), _SkyTabsetPermalinkService_subscription = new WeakMap(), _SkyTabsetPermalinkService_activatedRoute = new WeakMap(), _SkyTabsetPermalinkService_location = new WeakMap(), _SkyTabsetPermalinkService_router = new WeakMap(), _SkyTabsetPermalinkService_instances = new WeakSet(), _SkyTabsetPermalinkService_getParams = function _SkyTabsetPermalinkService_getParams() {
|
|
111
|
-
const params = {};
|
|
112
|
-
const path = __classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").path();
|
|
113
|
-
if (path.indexOf('?') === -1) {
|
|
114
|
-
return params;
|
|
115
|
-
}
|
|
116
|
-
const existingParamPairs = path.split('?')[1].split('&');
|
|
117
|
-
existingParamPairs.forEach((pair) => {
|
|
118
|
-
const fragments = pair.split('=');
|
|
119
|
-
params[fragments[0]] = decodeURIComponent(fragments[1]);
|
|
120
|
-
});
|
|
121
|
-
return params;
|
|
122
|
-
};
|
|
123
|
-
SkyTabsetPermalinkService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabsetPermalinkService, deps: [{ token: i1.ActivatedRoute }, { token: i2.Location }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
124
|
-
SkyTabsetPermalinkService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabsetPermalinkService });
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabsetPermalinkService, decorators: [{
|
|
126
|
-
type: Injectable
|
|
127
|
-
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.Location }, { type: i1.Router }]; } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LXBlcm1hbGluay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LXBlcm1hbGluay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUd0RCxPQUFPLEVBQWMsT0FBTyxFQUFvQixNQUFNLE1BQU0sQ0FBQzs7OztBQVM3RDs7R0FFRztBQUVILE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sdUJBQUEsSUFBSSxpREFBZ0IsQ0FBQztJQUM5QixDQUFDO0lBVUQsWUFDRSxjQUE4QixFQUM5QixRQUFrQixFQUNsQixNQUFjOztRQVhoQiw0REFBK0I7UUFFL0IsMERBQTRDO1FBRTVDLDREQUFnQztRQUNoQyxzREFBb0I7UUFDcEIsb0RBQWdCO1FBT2QsdUJBQUEsSUFBSSw2Q0FBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsdUJBQUEsSUFBSSx1Q0FBYSxRQUFRLE1BQUEsQ0FBQztRQUMxQix1QkFBQSxJQUFJLHFDQUFXLE1BQU0sTUFBQSxDQUFDO1FBRXRCLHVCQUFBLElBQUksNkNBQW1CLElBQUksT0FBTyxFQUFRLE1BQUEsQ0FBQztJQUM3QyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLHVCQUFBLElBQUksK0NBQWMsRUFBRTtZQUN0Qix1QkFBQSxJQUFJLCtDQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbEM7UUFDRCx1QkFBQSxJQUFJLGlEQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxJQUFJO1FBQ1QsdUJBQUEsSUFBSSwyQ0FBaUIsdUJBQUEsSUFBSSwyQ0FBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakQsdUJBQUEsSUFBSSxpREFB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QUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDNUIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUVELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekQsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO3NIQS9JVSx5QkFBeUI7MEhBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uTGlrZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5pbnRlcmZhY2UgUGVybWFsaW5rUGFyYW1zIHtcbiAgW186IHN0cmluZ106IHN0cmluZztcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVRhYnNldFBlcm1hbGlua1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgZ2V0IHBvcFN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNwb3BTdGF0ZUNoYW5nZTtcbiAgfVxuXG4gICNwb3BTdGF0ZUNoYW5nZTogU3ViamVjdDx2b2lkPjtcblxuICAjc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb25MaWtlIHwgdW5kZWZpbmVkO1xuXG4gICNhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGU7XG4gICNsb2NhdGlvbjogTG9jYXRpb247XG4gICNyb3V0ZXI6IFJvdXRlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgbG9jYXRpb246IExvY2F0aW9uLFxuICAgIHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMuI2FjdGl2YXRlZFJvdXRlID0gYWN0aXZhdGVkUm91dGU7XG4gICAgdGhpcy4jbG9jYXRpb24gPSBsb2NhdGlvbjtcbiAgICB0aGlzLiNyb3V0ZXIgPSByb3V0ZXI7XG5cbiAgICB0aGlzLiNwb3BTdGF0ZUNoYW5nZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuI3BvcFN0YXRlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24gPSB0aGlzLiNsb2NhdGlvbi5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy4jcG9wU3RhdGVDaGFuZ2UubmV4dCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIGEgVVJMIHF1ZXJ5IHBhcmFtLlxuICAgKi9cbiAgcHVibGljIGdldFBhcmFtKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2dldFBhcmFtcygpW25hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIGEgVVJMIHF1ZXJ5IHBhcmFtLlxuICAgKi9cbiAgcHVibGljIHNldFBhcmFtKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLiNnZXRQYXJhbXMoKTtcblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgZGVsZXRlIHBhcmFtc1tuYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyYW1zW25hbWVdID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIHRoZSBVUkwgd2l0aG91dCB0cmlnZ2VyaW5nIGEgbmF2aWdhdGlvbiBzdGF0ZSBjaGFuZ2UuXG4gICAgLy8gU2VlOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDY0ODY2NzdcbiAgICBjb25zdCB1cmwgPSB0aGlzLiNyb3V0ZXJcbiAgICAgIC5jcmVhdGVVcmxUcmVlKFtdLCB7XG4gICAgICAgIHJlbGF0aXZlVG86IHRoaXMuI2FjdGl2YXRlZFJvdXRlLFxuICAgICAgICBxdWVyeVBhcmFtczogcGFyYW1zLFxuICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgICAgfSlcbiAgICAgIC50b1N0cmluZygpO1xuXG4gICAgLy8gQWJvcnQgcmVkaXJlY3QgaWYgdGhlIGN1cnJlbnQgVVJMIGlzIGVxdWFsIHRvIHRoZSBuZXcgVVJMLlxuICAgIGlmICh0aGlzLiNsb2NhdGlvbi5pc0N1cnJlbnRQYXRoRXF1YWxUbyh1cmwpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy4jbG9jYXRpb24uZ28odXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbSBmcm9tIHRoZSBVUkwuXG4gICAqL1xuICBwdWJsaWMgY2xlYXJQYXJhbShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNldFBhcmFtKG5hbWUsIG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSByZWxhdGl2ZSBVUkwgdGhhdCBpbmNsdWRlcyB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVyLiBUaGUgdmFsdWUgaXMgaW50ZW5kZWQgdG8gYmVcbiAgICogdXNlZCBieSBhbiBIVE1MIGFuY2hvciBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGdldFBhcmFtSHJlZihuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsIHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuI2dldFBhcmFtcygpO1xuICAgIHBhcmFtc1tuYW1lXSA9IHZhbHVlO1xuXG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuI2xvY2F0aW9uLnBhdGgoKS5zcGxpdCgnPycpWzBdO1xuICAgIGNvbnN0IHBhcmFtU3RyaW5nID0gT2JqZWN0LmtleXMocGFyYW1zKVxuICAgICAgLm1hcCgoaykgPT4gYCR7a309JHtwYXJhbXNba119YClcbiAgICAgIC5qb2luKCcmJyk7XG5cbiAgICByZXR1cm4gdGhpcy4jbG9jYXRpb24ucHJlcGFyZUV4dGVybmFsVXJsKGAke2Jhc2VVcmx9PyR7cGFyYW1TdHJpbmd9YCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHByb3ZpZGVkIHN0cmluZyBpbnRvIGEgdmFsdWUgdGhhdCBjYW4gYmUgc2FmZWx5IHVzZWQgaW4gYSBVUkwuXG4gICAqL1xuICBwdWJsaWMgdXJsaWZ5KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBzYW5pdGl6ZWQgPSB2YWx1ZVxuICAgICAgLnRvTG93ZXJDYXNlKClcblxuICAgICAgLy8gUmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVycy5cbiAgICAgIC5yZXBsYWNlKC9bX35gQCEjJCVeJiooKVtcXF17fTs6Jy9cXFxcPD4sLj89K3xcIl0vZywgJycpXG5cbiAgICAgIC8vIFJlcGxhY2Ugc3BhY2UgY2hhcmFjdGVycyB3aXRoIGEgZGFzaC5cbiAgICAgIC5yZXBsYWNlKC9cXHMvZywgJy0nKVxuXG4gICAgICAvLyBSZW1vdmUgYW55IGRvdWJsZS1kYXNoZXMuXG4gICAgICAucmVwbGFjZSgvLS0vZywgJy0nKTtcblxuICAgIHJldHVybiBzYW5pdGl6ZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgcXVlcnkgcGFyYW1zIHRoYXQgZXhpc3QgaW4gdGhlIGN1cnJlbnQgVVJMLlxuICAgKi9cbiAgI2dldFBhcmFtcygpOiBQZXJtYWxpbmtQYXJhbXMge1xuICAgIGNvbnN0IHBhcmFtczogUGVybWFsaW5rUGFyYW1zID0ge307XG5cbiAgICBjb25zdCBwYXRoID0gdGhpcy4jbG9jYXRpb24ucGF0aCgpO1xuICAgIGlmIChwYXRoLmluZGV4T2YoJz8nKSA9PT0gLTEpIHtcbiAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuXG4gICAgY29uc3QgZXhpc3RpbmdQYXJhbVBhaXJzID0gcGF0aC5zcGxpdCgnPycpWzFdLnNwbGl0KCcmJyk7XG4gICAgZXhpc3RpbmdQYXJhbVBhaXJzLmZvckVhY2goKHBhaXIpID0+IHtcbiAgICAgIGNvbnN0IGZyYWdtZW50cyA9IHBhaXIuc3BsaXQoJz0nKTtcbiAgICAgIHBhcmFtc1tmcmFnbWVudHNbMF1dID0gZGVjb2RlVVJJQ29tcG9uZW50KGZyYWdtZW50c1sxXSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG59XG4iXX0=
|