@skyux/tabs 4.7.0 → 5.0.0-beta.2

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.
Files changed (150) hide show
  1. package/LICENSE +21 -0
  2. package/bundles/skyux-tabs-testing.umd.js +324 -221
  3. package/bundles/skyux-tabs-testing.umd.js.map +1 -1
  4. package/bundles/skyux-tabs.umd.js +648 -792
  5. package/bundles/skyux-tabs.umd.js.map +1 -1
  6. package/documentation.json +5484 -0
  7. package/esm2015/modules/sectioned-form/sectioned-form-section.component.js +29 -32
  8. package/esm2015/modules/sectioned-form/sectioned-form.component.js +52 -41
  9. package/esm2015/modules/sectioned-form/sectioned-form.module.js +30 -21
  10. package/esm2015/modules/sectioned-form/sectioned-form.service.js +9 -8
  11. package/esm2015/modules/shared/sky-tabs-resources.module.js +41 -0
  12. package/esm2015/modules/tabs/tab-button.component.js +41 -47
  13. package/esm2015/modules/tabs/tab-index.js +2 -1
  14. package/esm2015/modules/tabs/tab.component.js +31 -41
  15. package/esm2015/modules/tabs/tabs.module.js +45 -23
  16. package/esm2015/modules/tabs/tabset-active-tab-unregistered-args.js +2 -1
  17. package/esm2015/modules/tabs/tabset-adapter.service.js +9 -8
  18. package/esm2015/modules/tabs/tabset-buttons-display-mode.js +2 -1
  19. package/esm2015/modules/tabs/tabset-nav-button.component.js +21 -26
  20. package/esm2015/modules/tabs/tabset-permalink.service.js +11 -15
  21. package/esm2015/modules/tabs/tabset-style.js +2 -1
  22. package/esm2015/modules/tabs/tabset-tab-indexes-change.js +2 -1
  23. package/esm2015/modules/tabs/tabset.component.js +56 -57
  24. package/esm2015/modules/tabs/tabset.service.js +10 -8
  25. package/esm2015/modules/vertical-tabset/vertical-tab-media-query.service.js +9 -8
  26. package/esm2015/modules/vertical-tabset/vertical-tab.component.js +59 -65
  27. package/esm2015/modules/vertical-tabset/vertical-tabset-adapter.service.js +10 -15
  28. package/esm2015/modules/vertical-tabset/vertical-tabset-group.component.js +75 -54
  29. package/esm2015/modules/vertical-tabset/vertical-tabset.component.js +63 -62
  30. package/esm2015/modules/vertical-tabset/vertical-tabset.module.js +41 -30
  31. package/esm2015/modules/vertical-tabset/vertical-tabset.service.js +19 -16
  32. package/esm2015/public-api.js +23 -0
  33. package/esm2015/skyux-tabs.js +2 -18
  34. package/esm2015/testing/public-api.js +3 -0
  35. package/esm2015/testing/skyux-tabs-testing.js +2 -2
  36. package/esm2015/testing/tabs/tab-fixture-tab.js +2 -1
  37. package/esm2015/testing/tabs/tabset-fixture.js +1 -1
  38. package/fesm2015/skyux-tabs-testing.js.map +1 -1
  39. package/fesm2015/skyux-tabs.js +588 -529
  40. package/fesm2015/skyux-tabs.js.map +1 -1
  41. package/modules/sectioned-form/sectioned-form-section.component.d.ts +3 -0
  42. package/modules/sectioned-form/sectioned-form.component.d.ts +3 -0
  43. package/modules/sectioned-form/sectioned-form.module.d.ts +9 -0
  44. package/modules/sectioned-form/sectioned-form.service.d.ts +3 -0
  45. package/modules/shared/sky-tabs-resources.module.d.ts +14 -0
  46. package/modules/tabs/tab-button.component.d.ts +3 -0
  47. package/modules/tabs/tab.component.d.ts +3 -0
  48. package/modules/tabs/tabs.module.d.ts +15 -0
  49. package/modules/tabs/tabset-adapter.service.d.ts +3 -0
  50. package/modules/tabs/tabset-nav-button.component.d.ts +3 -0
  51. package/modules/tabs/tabset-permalink.service.d.ts +3 -0
  52. package/modules/tabs/tabset.component.d.ts +4 -1
  53. package/modules/tabs/tabset.service.d.ts +3 -0
  54. package/modules/vertical-tabset/vertical-tab-media-query.service.d.ts +3 -0
  55. package/modules/vertical-tabset/vertical-tab.component.d.ts +3 -0
  56. package/modules/vertical-tabset/vertical-tabset-adapter.service.d.ts +3 -1
  57. package/modules/vertical-tabset/vertical-tabset-group.component.d.ts +3 -0
  58. package/modules/vertical-tabset/vertical-tabset.component.d.ts +4 -4
  59. package/modules/vertical-tabset/vertical-tabset.module.d.ts +11 -0
  60. package/modules/vertical-tabset/vertical-tabset.service.d.ts +3 -0
  61. package/package.json +14 -29
  62. package/public-api.d.ts +16 -0
  63. package/skyux-tabs.d.ts +2 -17
  64. package/testing/package.json +2 -5
  65. package/testing/{public_api.d.ts → public-api.d.ts} +0 -0
  66. package/testing/skyux-tabs-testing.d.ts +2 -1
  67. package/CHANGELOG.md +0 -222
  68. package/bundles/skyux-tabs-testing.umd.min.js +0 -16
  69. package/bundles/skyux-tabs-testing.umd.min.js.map +0 -1
  70. package/bundles/skyux-tabs.umd.min.js +0 -16
  71. package/bundles/skyux-tabs.umd.min.js.map +0 -1
  72. package/esm2015/modules/shared/tabs-resources.module.js +0 -17
  73. package/esm2015/plugin-resources/tabs-resources-provider.js +0 -16
  74. package/esm2015/public_api.js +0 -10
  75. package/esm2015/testing/public_api.js +0 -2
  76. package/esm5/modules/sectioned-form/sectioned-form-section.component.js +0 -84
  77. package/esm5/modules/sectioned-form/sectioned-form.component.js +0 -111
  78. package/esm5/modules/sectioned-form/sectioned-form.module.js +0 -33
  79. package/esm5/modules/sectioned-form/sectioned-form.service.js +0 -35
  80. package/esm5/modules/shared/tabs-resources.module.js +0 -20
  81. package/esm5/modules/tabs/tab-button.component.js +0 -72
  82. package/esm5/modules/tabs/tab-index.js +0 -1
  83. package/esm5/modules/tabs/tab.component.js +0 -173
  84. package/esm5/modules/tabs/tabs.module.js +0 -44
  85. package/esm5/modules/tabs/tabset-active-tab-unregistered-args.js +0 -1
  86. package/esm5/modules/tabs/tabset-adapter.service.js +0 -58
  87. package/esm5/modules/tabs/tabset-buttons-display-mode.js +0 -1
  88. package/esm5/modules/tabs/tabset-nav-button.component.js +0 -145
  89. package/esm5/modules/tabs/tabset-permalink.service.js +0 -129
  90. package/esm5/modules/tabs/tabset-style.js +0 -1
  91. package/esm5/modules/tabs/tabset-tab-indexes-change.js +0 -1
  92. package/esm5/modules/tabs/tabset.component.js +0 -434
  93. package/esm5/modules/tabs/tabset.service.js +0 -122
  94. package/esm5/modules/vertical-tabset/vertical-tab-media-query.service.js +0 -76
  95. package/esm5/modules/vertical-tabset/vertical-tab.component.js +0 -214
  96. package/esm5/modules/vertical-tabset/vertical-tabset-adapter.service.js +0 -51
  97. package/esm5/modules/vertical-tabset/vertical-tabset-group.component.js +0 -119
  98. package/esm5/modules/vertical-tabset/vertical-tabset.component.js +0 -145
  99. package/esm5/modules/vertical-tabset/vertical-tabset.module.js +0 -46
  100. package/esm5/modules/vertical-tabset/vertical-tabset.service.js +0 -176
  101. package/esm5/plugin-resources/tabs-resources-provider.js +0 -17
  102. package/esm5/public_api.js +0 -10
  103. package/esm5/skyux-tabs.js +0 -21
  104. package/esm5/testing/public_api.js +0 -2
  105. package/esm5/testing/skyux-tabs-testing.js +0 -5
  106. package/esm5/testing/tabs/tab-fixture-tab.js +0 -1
  107. package/esm5/testing/tabs/tabset-fixture.js +0 -168
  108. package/fesm5/skyux-tabs-testing.js +0 -174
  109. package/fesm5/skyux-tabs-testing.js.map +0 -1
  110. package/fesm5/skyux-tabs.js +0 -2183
  111. package/fesm5/skyux-tabs.js.map +0 -1
  112. package/modules/shared/tabs-resources.module.d.ts +0 -2
  113. package/plugin-resources/tabs-resources-provider.d.ts +0 -5
  114. package/public_api.d.ts +0 -9
  115. package/skyux-tabs.metadata.json +0 -1
  116. package/src/assets/img/guidelines/tabs/tabs-anatomy.png +0 -0
  117. package/src/assets/img/guidelines/tabs/tabs-behavior-1.png +0 -0
  118. package/src/assets/img/guidelines/tabs/tabs-layout-1.png +0 -0
  119. package/src/assets/img/guidelines/tabs/tabs-layout-2.png +0 -0
  120. package/src/assets/img/guidelines/tabs/tabs-layout-3.png +0 -0
  121. package/src/assets/img/guidelines/tabs/tabs-layout-4.png +0 -0
  122. package/src/assets/img/guidelines/tabs/tabs-options-1.png +0 -0
  123. package/src/assets/img/guidelines/tabs/tabs-options-2.png +0 -0
  124. package/src/assets/img/guidelines/tabs/tabs-state-collapsed-closed.png +0 -0
  125. package/src/assets/img/guidelines/tabs/tabs-state-collapsed-open.png +0 -0
  126. package/src/assets/img/guidelines/tabs/tabs-state-hover.png +0 -0
  127. package/src/assets/img/guidelines/tabs/tabs-state-selected.png +0 -0
  128. package/src/assets/img/guidelines/tabs/tabs-state-unselected.png +0 -0
  129. package/src/assets/img/guidelines/tabs/tabs-usage-1.png +0 -0
  130. package/src/assets/img/guidelines/tabs/tabs-usage-2.png +0 -0
  131. package/src/assets/img/guidelines/tabs/tabs-usage-3.png +0 -0
  132. package/src/assets/img/guidelines/tabs/tabs-usage-4.png +0 -0
  133. package/src/assets/img/guidelines/tabs/tabs-usage-5.png +0 -0
  134. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-anatomy-1.png +0 -0
  135. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-anatomy-2.png +0 -0
  136. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-layout-1.png +0 -0
  137. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-hover.png +0 -0
  138. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-selected-group.png +0 -0
  139. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-selected.png +0 -0
  140. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-unselected-group.png +0 -0
  141. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-unselected.png +0 -0
  142. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-1.png +0 -0
  143. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-2.png +0 -0
  144. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-3.png +0 -0
  145. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-4.png +0 -0
  146. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-5.png +0 -0
  147. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-6.png +0 -0
  148. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-7.png +0 -0
  149. package/src/assets/locales/resources_en_US.json +0 -26
  150. package/testing/skyux-tabs-testing.metadata.json +0 -1
@@ -1,119 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Input, OnDestroy, OnInit, QueryList } from '@angular/core';
3
- import { animate, style, transition, trigger } from '@angular/animations';
4
- import { Subject } from 'rxjs';
5
- import { takeUntil } from 'rxjs/operators';
6
- import { SkyVerticalTabComponent } from './vertical-tab.component';
7
- import { SkyVerticalTabsetService } from './vertical-tabset.service';
8
- var SkyVerticalTabsetGroupComponent = /** @class */ (function () {
9
- function SkyVerticalTabsetGroupComponent(tabService, changeRef) {
10
- var _this = this;
11
- this.tabService = tabService;
12
- this.changeRef = changeRef;
13
- this.ngUnsubscribe = new Subject();
14
- this.openBeforeTabsHidden = false;
15
- this._open = false;
16
- this.tabClicked = function () {
17
- _this.changeRef.markForCheck();
18
- };
19
- this.tabsHidden = function () {
20
- // this fixes an animation bug with ngIf when the parent component goes from visible to hidden
21
- _this.openBeforeTabsHidden = _this.open;
22
- _this.open = false;
23
- _this.changeRef.markForCheck();
24
- };
25
- this.tabsShown = function () {
26
- _this.open = _this.openBeforeTabsHidden;
27
- _this.changeRef.markForCheck();
28
- };
29
- }
30
- Object.defineProperty(SkyVerticalTabsetGroupComponent.prototype, "open", {
31
- get: function () {
32
- return !this.disabled && this._open;
33
- },
34
- /**
35
- * Indicates whether the collapsible group is expanded.
36
- * @default "false"
37
- */
38
- set: function (value) {
39
- this._open = value;
40
- },
41
- enumerable: true,
42
- configurable: true
43
- });
44
- SkyVerticalTabsetGroupComponent.prototype.ngOnInit = function () {
45
- this.tabService.hidingTabs
46
- .pipe(takeUntil(this.ngUnsubscribe))
47
- .subscribe(this.tabsHidden);
48
- this.tabService.showingTabs
49
- .pipe(takeUntil(this.ngUnsubscribe))
50
- .subscribe(this.tabsShown);
51
- this.tabService.tabClicked
52
- .pipe(takeUntil(this.ngUnsubscribe))
53
- .subscribe(this.tabClicked);
54
- };
55
- SkyVerticalTabsetGroupComponent.prototype.ngOnDestroy = function () {
56
- this.ngUnsubscribe.next();
57
- this.ngUnsubscribe.complete();
58
- };
59
- SkyVerticalTabsetGroupComponent.prototype.toggleMenuOpen = function () {
60
- if (!this.disabled) {
61
- this.open = !this.open;
62
- }
63
- this.changeRef.markForCheck();
64
- };
65
- SkyVerticalTabsetGroupComponent.prototype.subMenuOpen = function () {
66
- return this.tabs && (this.tabs.find(function (t) { return t.active; }) !== undefined);
67
- };
68
- SkyVerticalTabsetGroupComponent.ctorParameters = function () { return [
69
- { type: SkyVerticalTabsetService },
70
- { type: ChangeDetectorRef }
71
- ]; };
72
- __decorate([
73
- Input()
74
- ], SkyVerticalTabsetGroupComponent.prototype, "disabled", void 0);
75
- __decorate([
76
- Input()
77
- ], SkyVerticalTabsetGroupComponent.prototype, "groupHeading", void 0);
78
- __decorate([
79
- Input()
80
- ], SkyVerticalTabsetGroupComponent.prototype, "open", null);
81
- __decorate([
82
- ContentChildren(SkyVerticalTabComponent)
83
- ], SkyVerticalTabsetGroupComponent.prototype, "tabs", void 0);
84
- SkyVerticalTabsetGroupComponent = __decorate([
85
- Component({
86
- selector: 'sky-vertical-tabset-group',
87
- 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 sky-padding-even-default\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-sub-open sky-font-emphasized sky-emphasized': subMenuOpen(),\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled,\n 'sky-vertical-tabset-disabled': disabled\n }\"\n (click)=\"toggleMenuOpen()\"\n (keyup.enter)=\"toggleMenuOpen()\"\n [tabIndex]=\"-1\"\n >\n {{ groupHeading }}\n <sky-chevron *skyThemeIf=\"'default'\"\n class=\"sky-vertical-tabset-group-header-chevron\"\n [direction]=\"open ? 'up' : 'down'\"\n [disabled]=\"disabled\"\n (directionChange)=\"toggleMenuOpen()\"\n (keyup.enter)=\"$event.stopPropagation()\"\n >\n </sky-chevron>\n <ng-container *skyThemeIf=\"'modern'\">\n <button *ngIf=\"!open\"\n class=\"sky-btn sky-btn-icon-borderless sky-vertical-tabset-group-header-chevron\"\n type=\"button\"\n >\n <sky-icon\n icon=\"chevron-up\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button *ngIf=\"open\"\n class=\"sky-btn sky-btn-icon-borderless sky-vertical-tabset-group-header-chevron\"\n type=\"button\"\n >\n <sky-icon\n icon=\"chevron-down\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </ng-container>\n </div>\n <div\n class=\"sky-vertical-tabset-group-content\"\n *ngIf=\"open\"\n [@tabSlide]\n >\n <ng-content></ng-content>\n </div>\n</div>\n",
88
- changeDetection: ChangeDetectionStrategy.OnPush,
89
- animations: [
90
- trigger('tabSlide', [
91
- transition(':enter', [
92
- style({
93
- height: '0',
94
- visibility: 'hidden'
95
- }),
96
- animate('150ms ease-in', style({
97
- height: '*',
98
- visibility: 'visible'
99
- }))
100
- ]),
101
- transition(':leave', [
102
- style({
103
- height: '*',
104
- visibility: 'visible'
105
- }),
106
- animate('150ms ease-in', style({
107
- height: '0',
108
- visibility: 'hidden'
109
- }))
110
- ])
111
- ])
112
- ],
113
- styles: [".sky-vertical-tabset-group{border-bottom:1px solid #e2e3e4;margin:5px 0 5px 5px}.sky-vertical-tabset-group-header{cursor:pointer;display:flex;justify-content:space-between}.sky-vertical-tabset-group-header:focus-visible{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px}.sky-vertical-tabset-group-content{overflow:hidden;border-top:1px solid #e2e3e4}:host ::ng-deep .sky-vertical-tabset-group-header-chevron>button{font-size:14px!important}.sky-vertical-tabset-disabled{cursor:not-allowed;pointer-events:none}.sky-theme-modern .sky-vertical-tabset-group,:host-context(.sky-theme-modern) .sky-vertical-tabset-group{border:none;margin:10px 0}.sky-theme-modern .sky-vertical-tabset-group-content,:host-context(.sky-theme-modern) .sky-vertical-tabset-group-content{border:none;padding-left:25px}.sky-theme-modern .sky-vertical-tabset-group-header,:host-context(.sky-theme-modern) .sky-vertical-tabset-group-header{position:relative}.sky-theme-modern .sky-vertical-tabset-group-header-chevron,:host-context(.sky-theme-modern) .sky-vertical-tabset-group-header-chevron{position:absolute;top:6px;right:5px}"]
114
- })
115
- ], SkyVerticalTabsetGroupComponent);
116
- return SkyVerticalTabsetGroupComponent;
117
- }());
118
- export { SkyVerticalTabsetGroupComponent };
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC90YWJzLyIsInNvdXJjZXMiOlsibW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDTCxPQUFPLEVBQ1IsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLHVCQUF1QixFQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFDTCx3QkFBd0IsRUFDekIsTUFBTSwyQkFBMkIsQ0FBQztBQWlDbkM7SUFxQ0UseUNBQ1UsVUFBb0MsRUFDcEMsU0FBNEI7UUFGdEMsaUJBR0k7UUFGTSxlQUFVLEdBQVYsVUFBVSxDQUEwQjtRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQVI5QixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFOUIseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBRXRDLFVBQUssR0FBWSxLQUFLLENBQUM7UUFzQ3hCLGVBQVUsR0FBRztZQUNsQixLQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hDLENBQUMsQ0FBQTtRQUVNLGVBQVUsR0FBRztZQUNsQiw4RkFBOEY7WUFDOUYsS0FBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEMs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O3lCQUN0QixDQUFDO3dCQUNGLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDOzRCQUM3QixNQUFNLEVBQUUsR0FBRzs0QkFDWCxVQUFVLEVBQUUsUUFBUTt5QkFDckIsQ0FBQyxDQUFDO3FCQUNKLENBQUM7aUJBQ0gsQ0FBQzthQUNIOztTQUNKLENBQUM7T0FDVywrQkFBK0IsQ0F3RjNDO0lBQUQsc0NBQUM7Q0FBQSxBQXhGRCxJQXdGQztTQXhGWSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIFN1YmplY3Rcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIHRha2VVbnRpbFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFNreVZlcnRpY2FsVGFiQ29tcG9uZW50XG59IGZyb20gJy4vdmVydGljYWwtdGFiLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7XG4gIFNreVZlcnRpY2FsVGFic2V0U2VydmljZVxufSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXZlcnRpY2FsLXRhYnNldC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi92ZXJ0aWNhbC10YWJzZXQtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92ZXJ0aWNhbC10YWJzZXQtZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFxuICAgICAgJ3RhYlNsaWRlJywgW1xuICAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgaGVpZ2h0OiAnMCcsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiAnaGlkZGVuJ1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGFuaW1hdGUoJzE1MG1zIGVhc2UtaW4nLCBzdHlsZSh7XG4gICAgICAgICAgICBoZWlnaHQ6ICcqJyxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6ICd2aXNpYmxlJ1xuICAgICAgICAgIH0pKVxuICAgICAgICBdKSxcbiAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIGhlaWdodDogJyonLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnXG4gICAgICAgICAgfSksXG4gICAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicsIHN0eWxlKHtcbiAgICAgICAgICAgIGhlaWdodDogJzAnLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbidcbiAgICAgICAgICB9KSlcbiAgICAgICAgXSlcbiAgICAgIF0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lWZXJ0aWNhbFRhYnNldEdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSBhYmlsaXR5IHRvIGV4cGFuZCBhbmQgY29sbGFwc2UgdGhlIGdyb3VwLlxuICAgKiBAZGVmYXVsdCBcImZhbHNlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBoZWFkZXIgZm9yIHRoZSBjb2xsYXBzaWJsZSBncm91cCBvZiB0YWJzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdyb3VwSGVhZGluZzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29sbGFwc2libGUgZ3JvdXAgaXMgZXhwYW5kZWQuXG4gICAqIEBkZWZhdWx0IFwiZmFsc2VcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBvcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fb3BlbiA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLl9vcGVuO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudClcbiAgcHJpdmF0ZSB0YWJzOiBRdWVyeUxpc3Q8U2t5VmVydGljYWxUYWJDb21wb25lbnQ+O1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBvcGVuQmVmb3JlVGFic0hpZGRlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX29wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRhYlNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYlNlcnZpY2UuaGlkaW5nVGFic1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKHRoaXMudGFic0hpZGRlbik7XG5cbiAgICB0aGlzLnRhYlNlcnZpY2Uuc2hvd2luZ1RhYnNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnRhYnNTaG93bik7XG5cbiAgICB0aGlzLnRhYlNlcnZpY2UudGFiQ2xpY2tlZFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKHRoaXMudGFiQ2xpY2tlZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVNZW51T3BlbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgc3ViTWVudU9wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGFicyAmJiAodGhpcy50YWJzLmZpbmQodCA9PiB0LmFjdGl2ZSkgIT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgdGFiQ2xpY2tlZCA9ICgpID0+IHtcbiAgICB0aGlzLmNoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyB0YWJzSGlkZGVuID0gKCkgPT4ge1xuICAgIC8vIHRoaXMgZml4ZXMgYW4gYW5pbWF0aW9uIGJ1ZyB3aXRoIG5nSWYgd2hlbiB0aGUgcGFyZW50IGNvbXBvbmVudCBnb2VzIGZyb20gdmlzaWJsZSB0byBoaWRkZW5cbiAgICB0aGlzLm9wZW5CZWZvcmVUYWJzSGlkZGVuID0gdGhpcy5vcGVuO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHRhYnNTaG93biA9ICgpID0+IHtcbiAgICB0aGlzLm9wZW4gPSB0aGlzLm9wZW5CZWZvcmVUYWJzSGlkZGVuO1xuICAgIHRoaXMuY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
@@ -1,145 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ElementRef, ViewChild, Input, OnInit, ChangeDetectionStrategy, Output, EventEmitter, AfterViewChecked, ChangeDetectorRef, OnDestroy } from '@angular/core';
3
- import { style, trigger, transition, animate } from '@angular/animations';
4
- import { SkyLibResourcesService } from '@skyux/i18n';
5
- import { Subject } from 'rxjs';
6
- import { take, takeUntil } from 'rxjs/operators';
7
- import { SkyVerticalTabsetAdapterService } from './vertical-tabset-adapter.service';
8
- import { SkyVerticalTabsetService, HIDDEN_STATE, VISIBLE_STATE } from './vertical-tabset.service';
9
- var SkyVerticalTabsetComponent = /** @class */ (function () {
10
- function SkyVerticalTabsetComponent(adapterService, tabService, resources, changeRef) {
11
- this.adapterService = adapterService;
12
- this.tabService = tabService;
13
- this.resources = resources;
14
- this.changeRef = changeRef;
15
- /**
16
- * Indicates whether the vertical tabset loads tab content during initialization so that it
17
- * displays content without moving around elements in the content container.
18
- * @default 'false'
19
- */
20
- this.maintainTabContent = false;
21
- /**
22
- * Fires when the active tab changes. Emits the index of the active tab. The
23
- * index is based on the tab's position when it loads.
24
- */
25
- this.activeChange = new EventEmitter();
26
- this.isMobile = false;
27
- this._ngUnsubscribe = new Subject();
28
- }
29
- Object.defineProperty(SkyVerticalTabsetComponent.prototype, "ariaRole", {
30
- /**
31
- * Specifies an ARIA role for the vertical tabset
32
- * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)
33
- * by indicating how the tabset functions and what it controls. For information about how
34
- * an ARIA role indicates what an item represents on a web page, see the
35
- * [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).
36
- * @default "tablist"
37
- */
38
- get: function () {
39
- if (this.isMobile) {
40
- return undefined;
41
- }
42
- return this._ariaRole || 'tablist';
43
- },
44
- set: function (value) {
45
- this._ariaRole = value;
46
- },
47
- enumerable: true,
48
- configurable: true
49
- });
50
- SkyVerticalTabsetComponent.prototype.ngOnInit = function () {
51
- var _this = this;
52
- this.tabService.maintainTabContent = this.maintainTabContent;
53
- this.tabService.indexChanged
54
- .pipe(takeUntil(this._ngUnsubscribe))
55
- .subscribe(function (index) {
56
- _this.activeChange.emit(index);
57
- if (_this.contentWrapper) {
58
- _this.adapterService.scrollToContentTop(_this.contentWrapper);
59
- }
60
- _this.changeRef.markForCheck();
61
- });
62
- this.tabService.switchingMobile
63
- .pipe(takeUntil(this._ngUnsubscribe))
64
- .subscribe(function (mobile) {
65
- _this.isMobile = mobile;
66
- _this.changeRef.markForCheck();
67
- });
68
- if (this.tabService.isMobile()) {
69
- this.isMobile = true;
70
- this.tabService.animationContentVisibleState = VISIBLE_STATE;
71
- this.changeRef.markForCheck();
72
- }
73
- if (!this.showTabsText) {
74
- this.resources.getString('skyux_vertical_tabs_show_tabs_text')
75
- .pipe(take(1))
76
- .subscribe(function (resource) {
77
- /* sanity check */
78
- if (!_this.showTabsText) {
79
- _this.showTabsText = resource;
80
- }
81
- });
82
- }
83
- };
84
- SkyVerticalTabsetComponent.prototype.ngAfterViewChecked = function () {
85
- this.tabService.content = this.content;
86
- this.tabService.updateContent();
87
- };
88
- SkyVerticalTabsetComponent.prototype.ngOnDestroy = function () {
89
- this._ngUnsubscribe.next();
90
- this._ngUnsubscribe.complete();
91
- };
92
- SkyVerticalTabsetComponent.ctorParameters = function () { return [
93
- { type: SkyVerticalTabsetAdapterService },
94
- { type: SkyVerticalTabsetService },
95
- { type: SkyLibResourcesService },
96
- { type: ChangeDetectorRef }
97
- ]; };
98
- __decorate([
99
- Input()
100
- ], SkyVerticalTabsetComponent.prototype, "showTabsText", void 0);
101
- __decorate([
102
- Input()
103
- ], SkyVerticalTabsetComponent.prototype, "ariaRole", null);
104
- __decorate([
105
- Input()
106
- ], SkyVerticalTabsetComponent.prototype, "maintainTabContent", void 0);
107
- __decorate([
108
- Output()
109
- ], SkyVerticalTabsetComponent.prototype, "activeChange", void 0);
110
- __decorate([
111
- ViewChild('groupContainerWrapper')
112
- ], SkyVerticalTabsetComponent.prototype, "tabGroups", void 0);
113
- __decorate([
114
- ViewChild('skySideContent')
115
- ], SkyVerticalTabsetComponent.prototype, "content", void 0);
116
- __decorate([
117
- ViewChild('contentContainerWrapper')
118
- ], SkyVerticalTabsetComponent.prototype, "contentWrapper", void 0);
119
- SkyVerticalTabsetComponent = __decorate([
120
- Component({
121
- selector: 'sky-vertical-tabset',
122
- template: " <div class=\"sky-vertical-tabset\" (window:resize)=\"tabService.updateContent()\">\n <div\n *ngIf=\"maintainTabContent || tabService.tabsVisible()\"\n #groupContainerWrapper\n class=\"sky-vertical-tabset-group-container\"\n [ngClass]=\"{'sky-vertical-tabset-hidden': !tabService.tabsVisible()}\"\n [attr.role]=\"ariaRole\"\n [@tabGroupEnter]=\"tabService.animationTabsVisibleState\"\n >\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"maintainTabContent || tabService.contentVisible()\"\n class=\"sky-vertical-tabset-content\"\n [ngClass]=\"{'sky-vertical-tabset-content-hidden': !tabService.contentVisible()}\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #contentContainerWrapper\n >\n <div #skySideContent></div>\n <button\n *ngIf=\"!tabService.tabsVisible()\"\n (click)=\"tabService.showTabs()\"\n class=\"sky-btn sky-btn-primary sky-vertical-tabset-show-tabs-btn\"\n >\n <sky-icon icon=\"chevron-left\"></sky-icon>\n {{ showTabsText }}\n </button>\n </div>\n</div>\n",
123
- providers: [SkyVerticalTabsetService],
124
- changeDetection: ChangeDetectionStrategy.OnPush,
125
- animations: [
126
- trigger('tabGroupEnter', [
127
- transition(HIDDEN_STATE + " => " + VISIBLE_STATE, [
128
- style({ transform: 'translate(-100%)' }),
129
- animate('150ms ease-in')
130
- ])
131
- ]),
132
- trigger('contentEnter', [
133
- transition(HIDDEN_STATE + " => " + VISIBLE_STATE, [
134
- style({ transform: 'translate(100%)' }),
135
- animate('150ms ease-in')
136
- ])
137
- ])
138
- ],
139
- styles: [":host .sky-vertical-tabset{display:block;height:auto}:host .sky-vertical-tabset-group-container{border-right:none}:host-context(.sky-responsive-container-lg) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-xs) .sky-vertical-tabset{display:block;height:auto}:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-xs) .sky-vertical-tabset-group-container{border-right:none}:host-context(.sky-responsive-container-lg) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset{display:flex;height:100%}:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}.sky-vertical-tabset-hidden{display:none}.sky-vertical-tabset-content{margin:10px 0 0 10px;flex-basis:75%;overflow-y:auto}.sky-vertical-tabset-content-hidden{display:none}.sky-vertical-tabset-show-tabs-btn{margin-top:10px}.sky-vertical-tabset-group-container{flex-basis:25%;overflow-y:auto}:host-context(sky-modal-content>) .sky-vertical-tabset{margin:-15px}.sky-theme-modern .sky-vertical-tabset-content,:host-context(.sky-theme-modern) .sky-vertical-tabset-content{margin:15px}@media (min-width:768px){:host .sky-vertical-tabset{display:flex;height:100%}:host .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}.sky-theme-modern :host .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}"]
140
- })
141
- ], SkyVerticalTabsetComponent);
142
- return SkyVerticalTabsetComponent;
143
- }());
144
- export { SkyVerticalTabsetComponent };
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC90YWJzLyIsInNvdXJjZXMiOlsibW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxFQUNWLE9BQU8sRUFDUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNMLE9BQU8sRUFDUixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFDTCxJQUFJLEVBQ0osU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLCtCQUErQixFQUNoQyxNQUFNLG1DQUFtQyxDQUFDO0FBRTNDLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLGFBQWEsRUFDZCxNQUFNLDJCQUEyQixDQUFDO0FBMkJuQztJQXVERSxvQ0FDUyxjQUErQyxFQUMvQyxVQUFvQyxFQUNuQyxTQUFpQyxFQUNqQyxTQUE0QjtRQUg3QixtQkFBYyxHQUFkLGNBQWMsQ0FBaUM7UUFDL0MsZUFBVSxHQUFWLFVBQVUsQ0FBMEI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFoQ3RDOzs7O1dBSUc7UUFFSSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFM0M7OztXQUdHO1FBRUksaUJBQVksR0FBRyxJQUFJLFlBQVksRUFB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QXVCLENBQUM7aUVBQ047SUFHN0I7UUFEQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7K0RBQ0Q7SUFHM0I7UUFEQyxTQUFTLENBQUMseUJBQXlCLENBQUM7c0VBQ0Y7SUFqRHhCLDBCQUEwQjtRQXpCdEMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLHFCQUFxQjtZQUMvQixna0NBQStDO1lBRS9DLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLFVBQVUsRUFBRTtnQkFDVixPQUFPLENBQ0wsZUFBZSxFQUFFO29CQUNmLFVBQVUsQ0FBSSxZQUFZLFlBQU8sYUFBZSxFQUFFO3dCQUNoRCxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQzt3QkFDdEMsT0FBTyxDQUFDLGVBQWUsQ0FBQztxQkFDekIsQ0FBQztpQkFDSCxDQUNGO2dCQUNELE9BQU8sQ0FDTCxjQUFjLEVBQUU7b0JBQ2QsVUFBVSxDQUFJLFlBQVksWUFBTyxhQUFlLEVBQUU7d0JBQ2hELEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxDQUFDO3dCQUNyQyxPQUFPLENBQUMsZUFBZSxDQUFDO3FCQUN6QixDQUFDO2lCQUNILENBQ0Y7YUFDRjs7U0FDRixDQUFDO09BQ1csMEJBQTBCLENBMkd0QztJQUFELGlDQUFDO0NBQUEsQUEzR0QsSUEyR0M7U0EzR1ksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgc3R5bGUsXG4gIHRyaWdnZXIsXG4gIHRyYW5zaXRpb24sXG4gIGFuaW1hdGVcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIFNreUxpYlJlc291cmNlc1NlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQge1xuICBTdWJqZWN0XG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICB0YWtlLFxuICB0YWtlVW50aWxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBTa3lWZXJ0aWNhbFRhYnNldEFkYXB0ZXJTZXJ2aWNlXG59IGZyb20gJy4vdmVydGljYWwtdGFic2V0LWFkYXB0ZXIuc2VydmljZSc7XG5cbmltcG9ydCB7XG4gIFNreVZlcnRpY2FsVGFic2V0U2VydmljZSxcbiAgSElEREVOX1NUQVRFLFxuICBWSVNJQkxFX1NUQVRFXG59IGZyb20gJy4vdmVydGljYWwtdGFic2V0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdmVydGljYWwtdGFic2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZlcnRpY2FsLXRhYnNldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZlcnRpY2FsLXRhYnNldC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2VdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoXG4gICAgICAndGFiR3JvdXBFbnRlcicsIFtcbiAgICAgICAgdHJhbnNpdGlvbihgJHtISURERU5fU1RBVEV9ID0+ICR7VklTSUJMRV9TVEFURX1gLCBbXG4gICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZSgtMTAwJSknfSksXG4gICAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpXG4gICAgICAgIF0pXG4gICAgICBdXG4gICAgKSxcbiAgICB0cmlnZ2VyKFxuICAgICAgJ2NvbnRlbnRFbnRlcicsIFtcbiAgICAgICAgdHJhbnNpdGlvbihgJHtISURERU5fU1RBVEV9ID0+ICR7VklTSUJMRV9TVEFURX1gLCBbXG4gICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZSgxMDAlKSd9KSxcbiAgICAgICAgICBhbmltYXRlKCcxNTBtcyBlYXNlLWluJylcbiAgICAgICAgXSlcbiAgICAgIF1cbiAgICApXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2t5VmVydGljYWxUYWJzZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdGV4dCB0byBkaXNwbGF5IG9uIHRoZSBzaG93IHRhYnMgYnV0dG9uIG9uIG1vYmlsZSBkZXZpY2VzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dUYWJzVGV4dDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gQVJJQSByb2xlIGZvciB0aGUgdmVydGljYWwgdGFic2V0XG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSlcbiAgICogYnkgaW5kaWNhdGluZyBob3cgdGhlIHRhYnNldCBmdW5jdGlvbnMgYW5kIHdoYXQgaXQgY29udHJvbHMuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBob3dcbiAgICogYW4gQVJJQSByb2xlIGluZGljYXRlcyB3aGF0IGFuIGl0ZW0gcmVwcmVzZW50cyBvbiBhIHdlYiBwYWdlLCBzZWUgdGhlXG4gICAqIFtXQUktQVJJQSByb2xlcyBtb2RlbF0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9QRi9hcmlhL3JvbGVzKS5cbiAgICogQGRlZmF1bHQgXCJ0YWJsaXN0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgYXJpYVJvbGUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2FyaWFSb2xlIHx8ICd0YWJsaXN0JztcbiAgfVxuICBwdWJsaWMgc2V0IGFyaWFSb2xlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9hcmlhUm9sZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSB2ZXJ0aWNhbCB0YWJzZXQgbG9hZHMgdGFiIGNvbnRlbnQgZHVyaW5nIGluaXRpYWxpemF0aW9uIHNvIHRoYXQgaXRcbiAgICogZGlzcGxheXMgY29udGVudCB3aXRob3V0IG1vdmluZyBhcm91bmQgZWxlbWVudHMgaW4gdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCAnZmFsc2UnXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWFpbnRhaW5UYWJDb250ZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGFjdGl2ZSB0YWIgY2hhbmdlcy4gRW1pdHMgdGhlIGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLiBUaGVcbiAgICogaW5kZXggaXMgYmFzZWQgb24gdGhlIHRhYidzIHBvc2l0aW9uIHdoZW4gaXQgbG9hZHMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFjdGl2ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2dyb3VwQ29udGFpbmVyV3JhcHBlcicpXG4gIHB1YmxpYyB0YWJHcm91cHM6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnc2t5U2lkZUNvbnRlbnQnKVxuICBwdWJsaWMgY29udGVudDogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdjb250ZW50Q29udGFpbmVyV3JhcHBlcicpXG4gIHByaXZhdGUgY29udGVudFdyYXBwZXI6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBpc01vYmlsZSA9IGZhbHNlO1xuICBwcml2YXRlIF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBfYXJpYVJvbGU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYWRhcHRlclNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0QWRhcHRlclNlcnZpY2UsXG4gICAgcHVibGljIHRhYlNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZSxcbiAgICBwcml2YXRlIHJlc291cmNlczogU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMudGFiU2VydmljZS5tYWludGFpblRhYkNvbnRlbnQgPSB0aGlzLm1haW50YWluVGFiQ29udGVudDtcblxuICAgIHRoaXMudGFiU2VydmljZS5pbmRleENoYW5nZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGluZGV4OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5hY3RpdmVDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRXcmFwcGVyKSB7XG4gICAgICAgICAgdGhpcy5hZGFwdGVyU2VydmljZS5zY3JvbGxUb0NvbnRlbnRUb3AodGhpcy5jb250ZW50V3JhcHBlcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMudGFiU2VydmljZS5zd2l0Y2hpbmdNb2JpbGVcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG1vYmlsZTogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLmlzTW9iaWxlID0gbW9iaWxlO1xuICAgICAgICB0aGlzLmNoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMudGFiU2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gdHJ1ZTtcbiAgICAgIHRoaXMudGFiU2VydmljZS5hbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlID0gVklTSUJMRV9TVEFURTtcbiAgICAgIHRoaXMuY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc2hvd1RhYnNUZXh0KSB7XG4gICAgICB0aGlzLnJlc291cmNlcy5nZXRTdHJpbmcoJ3NreXV4X3ZlcnRpY2FsX3RhYnNfc2hvd190YWJzX3RleHQnKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKHJlc291cmNlID0+IHtcbiAgICAgICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgICAgICBpZiAoIXRoaXMuc2hvd1RhYnNUZXh0KSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUYWJzVGV4dCA9IHJlc291cmNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICB0aGlzLnRhYlNlcnZpY2UuY29udGVudCA9IHRoaXMuY29udGVudDtcbiAgICB0aGlzLnRhYlNlcnZpY2UudXBkYXRlQ29udGVudCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -1,46 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
5
- import { SkyMediaQueryModule } from '@skyux/core';
6
- import { SkyChevronModule, SkyIconModule, SkyStatusIndicatorModule } from '@skyux/indicators';
7
- import { SkyThemeModule } from '@skyux/theme';
8
- import { SkyTabsResourcesModule } from '../shared/tabs-resources.module';
9
- import { SkyVerticalTabsetComponent } from './vertical-tabset.component';
10
- import { SkyVerticalTabComponent } from './vertical-tab.component';
11
- import { SkyVerticalTabsetAdapterService } from './vertical-tabset-adapter.service';
12
- import { SkyVerticalTabsetGroupComponent } from './vertical-tabset-group.component';
13
- var SkyVerticalTabsetModule = /** @class */ (function () {
14
- function SkyVerticalTabsetModule() {
15
- }
16
- SkyVerticalTabsetModule = __decorate([
17
- NgModule({
18
- declarations: [
19
- SkyVerticalTabsetComponent,
20
- SkyVerticalTabsetGroupComponent,
21
- SkyVerticalTabComponent
22
- ],
23
- imports: [
24
- CommonModule,
25
- BrowserAnimationsModule,
26
- SkyChevronModule,
27
- SkyIconModule,
28
- SkyMediaQueryModule,
29
- SkyStatusIndicatorModule,
30
- SkyTabsResourcesModule,
31
- SkyThemeModule
32
- ],
33
- providers: [
34
- SkyVerticalTabsetAdapterService
35
- ],
36
- exports: [
37
- SkyVerticalTabsetComponent,
38
- SkyVerticalTabsetGroupComponent,
39
- SkyVerticalTabComponent
40
- ]
41
- })
42
- ], SkyVerticalTabsetModule);
43
- return SkyVerticalTabsetModule;
44
- }());
45
- export { SkyVerticalTabsetModule };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC90YWJzLyIsInNvdXJjZXMiOlsibW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsWUFBWSxFQUNiLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUNMLHVCQUF1QixFQUN4QixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFDTCxtQkFBbUIsRUFDcEIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixhQUFhLEVBQ2Isd0JBQXdCLEVBQ3pCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUNMLGNBQWMsRUFDZixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3ZCLE1BQU0saUNBQWlDLENBQUM7QUFFekMsT0FBTyxFQUNMLDBCQUEwQixFQUMzQixNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sRUFDTCx1QkFBdUIsRUFDeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQ0wsK0JBQStCLEVBQ2hDLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUNMLCtCQUErQixFQUNoQyxNQUFNLG1DQUFtQyxDQUFDO0FBMkIzQztJQUFBO0lBQXVDLENBQUM7SUFBM0IsdUJBQXVCO1FBekJuQyxRQUFRLENBQUM7WUFDUixZQUFZLEVBQUU7Z0JBQ1osMEJBQTBCO2dCQUMxQiwrQkFBK0I7Z0JBQy9CLHVCQUF1QjthQUN4QjtZQUNELE9BQU8sRUFBRTtnQkFDUCxZQUFZO2dCQUNaLHVCQUF1QjtnQkFDdkIsZ0JBQWdCO2dCQUNoQixhQUFhO2dCQUNiLG1CQUFtQjtnQkFDbkIsd0JBQXdCO2dCQUN4QixzQkFBc0I7Z0JBQ3RCLGNBQWM7YUFDZjtZQUNELFNBQVMsRUFBRTtnQkFDVCwrQkFBK0I7YUFDaEM7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsMEJBQTBCO2dCQUMxQiwrQkFBK0I7Z0JBQy9CLHVCQUF1QjthQUN4QjtTQUNGLENBQUM7T0FDVyx1QkFBdUIsQ0FBSTtJQUFELDhCQUFDO0NBQUEsQUFBeEMsSUFBd0M7U0FBM0IsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmdNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIENvbW1vbk1vZHVsZVxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1xuICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZVxufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQge1xuICBTa3lNZWRpYVF1ZXJ5TW9kdWxlXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5Q2hldnJvbk1vZHVsZSxcbiAgU2t5SWNvbk1vZHVsZSxcbiAgU2t5U3RhdHVzSW5kaWNhdG9yTW9kdWxlXG59IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcblxuaW1wb3J0IHtcbiAgU2t5VGhlbWVNb2R1bGVcbn0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgU2t5VGFic1Jlc291cmNlc01vZHVsZVxufSBmcm9tICcuLi9zaGFyZWQvdGFicy1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHtcbiAgU2t5VmVydGljYWxUYWJzZXRDb21wb25lbnRcbn0gZnJvbSAnLi92ZXJ0aWNhbC10YWJzZXQuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgU2t5VmVydGljYWxUYWJDb21wb25lbnRcbn0gZnJvbSAnLi92ZXJ0aWNhbC10YWIuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgU2t5VmVydGljYWxUYWJzZXRBZGFwdGVyU2VydmljZVxufSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC1hZGFwdGVyLnNlcnZpY2UnO1xuXG5pbXBvcnQge1xuICBTa3lWZXJ0aWNhbFRhYnNldEdyb3VwQ29tcG9uZW50XG59IGZyb20gJy4vdmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreVZlcnRpY2FsVGFic2V0Q29tcG9uZW50LFxuICAgIFNreVZlcnRpY2FsVGFic2V0R3JvdXBDb21wb25lbnQsXG4gICAgU2t5VmVydGljYWxUYWJDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICBTa3lDaGV2cm9uTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5TWVkaWFRdWVyeU1vZHVsZSxcbiAgICBTa3lTdGF0dXNJbmRpY2F0b3JNb2R1bGUsXG4gICAgU2t5VGFic1Jlc291cmNlc01vZHVsZSxcbiAgICBTa3lUaGVtZU1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBTa3lWZXJ0aWNhbFRhYnNldEFkYXB0ZXJTZXJ2aWNlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lWZXJ0aWNhbFRhYnNldENvbXBvbmVudCxcbiAgICBTa3lWZXJ0aWNhbFRhYnNldEdyb3VwQ29tcG9uZW50LFxuICAgIFNreVZlcnRpY2FsVGFiQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2t5VmVydGljYWxUYWJzZXRNb2R1bGUgeyB9XG4iXX0=
@@ -1,176 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { SkyMediaBreakpoints, SkyMediaQueryService } from '@skyux/core';
4
- import { BehaviorSubject, Subject } from 'rxjs';
5
- export var VISIBLE_STATE = 'shown';
6
- export var HIDDEN_STATE = 'void';
7
- /**
8
- * @internal
9
- */
10
- var SkyVerticalTabsetService = /** @class */ (function () {
11
- function SkyVerticalTabsetService(mediaQueryService) {
12
- var _this = this;
13
- this.mediaQueryService = mediaQueryService;
14
- this.activeIndex = undefined;
15
- this.hidingTabs = new BehaviorSubject(false);
16
- this.indexChanged = new BehaviorSubject(undefined);
17
- this.maintainTabContent = false;
18
- this.showingTabs = new BehaviorSubject(false);
19
- this.switchingMobile = new Subject();
20
- this.tabs = [];
21
- this.tabAdded = new Subject();
22
- this.tabClicked = new BehaviorSubject(undefined);
23
- this._contentAdded = false;
24
- this._tabsVisible = false;
25
- this._isMobile = false;
26
- this.mediaQueryService.subscribe(function (breakpoint) {
27
- var nowMobile = breakpoint === SkyMediaBreakpoints.xs;
28
- if (nowMobile && !_this._isMobile) {
29
- // switching to mobile
30
- _this.switchingMobile.next(true);
31
- if (!_this._tabsVisible) {
32
- _this.hidingTabs.next(true);
33
- }
34
- }
35
- else if (!nowMobile && _this._isMobile) {
36
- // switching to widescreen
37
- _this.switchingMobile.next(false);
38
- if (!_this._tabsVisible) {
39
- _this.showingTabs.next(true);
40
- }
41
- }
42
- _this._isMobile = nowMobile;
43
- });
44
- }
45
- Object.defineProperty(SkyVerticalTabsetService.prototype, "content", {
46
- set: function (value) {
47
- this._content = value;
48
- },
49
- enumerable: true,
50
- configurable: true
51
- });
52
- SkyVerticalTabsetService.prototype.addTab = function (tab) {
53
- var index = this.tabs.length;
54
- tab.index = index;
55
- this.tabs.push(tab);
56
- if (tab.active) {
57
- this.activateTab(tab);
58
- }
59
- this.tabAdded.next(tab);
60
- };
61
- SkyVerticalTabsetService.prototype.destroyTab = function (tab) {
62
- var tabIndex = this.tabs.indexOf(tab);
63
- if (tabIndex === -1) {
64
- return;
65
- }
66
- if (this.maintainTabContent && tab.contentRendered && this._content) {
67
- if (this._content.nativeElement.contains(tab.tabContent.nativeElement)) {
68
- this._content.nativeElement.removeChild(tab.tabContent.nativeElement);
69
- }
70
- }
71
- this.tabs.splice(tabIndex, 1);
72
- // update tab indices
73
- this.tabs.forEach(function (tabItem, index) { return tabItem.index = index; });
74
- if (tab.active) {
75
- if (!this.maintainTabContent) {
76
- this.destroyContent();
77
- }
78
- // Try selecting the next tab first, and if there's no next tab then
79
- // try selecting the previous one.
80
- var newActiveTab = this.tabs[tabIndex] || this.tabs[tabIndex - 1];
81
- /*istanbul ignore else */
82
- if (newActiveTab) {
83
- newActiveTab.activateTab();
84
- }
85
- }
86
- };
87
- SkyVerticalTabsetService.prototype.activateTab = function (tab) {
88
- var _this = this;
89
- // unactivate active tab
90
- var activeTab = this.tabs.find(function (t) { return t.index === _this.activeIndex; });
91
- if (activeTab && activeTab.index !== tab.index) {
92
- activeTab.active = false;
93
- activeTab.tabDeactivated();
94
- }
95
- this.activeIndex = tab.index;
96
- this.tabClicked.next(true);
97
- this.updateTabClicked();
98
- };
99
- SkyVerticalTabsetService.prototype.activeTab = function () {
100
- var _this = this;
101
- return this.tabs.find(function (t) { return t.index === _this.activeIndex; });
102
- };
103
- SkyVerticalTabsetService.prototype.isMobile = function () {
104
- return this._isMobile;
105
- };
106
- SkyVerticalTabsetService.prototype.updateContent = function () {
107
- var _this = this;
108
- if (!this.maintainTabContent) {
109
- if (!this._contentAdded && this.contentVisible()) {
110
- // content needs to be moved
111
- this.moveContent();
112
- }
113
- else if (this._contentAdded && !this.contentVisible()) {
114
- // content hidden
115
- this._contentAdded = false;
116
- }
117
- }
118
- else {
119
- this.tabs.forEach(function (tab) {
120
- if (!tab.contentRendered) {
121
- _this._content.nativeElement.appendChild(tab.tabContent.nativeElement);
122
- tab.contentRendered = true;
123
- }
124
- });
125
- }
126
- };
127
- SkyVerticalTabsetService.prototype.tabsVisible = function () {
128
- return !this.isMobile() || this._tabsVisible;
129
- };
130
- SkyVerticalTabsetService.prototype.contentVisible = function () {
131
- return !this.isMobile() || !this._tabsVisible;
132
- };
133
- SkyVerticalTabsetService.prototype.showTabs = function () {
134
- this._tabsVisible = true;
135
- this._contentAdded = false;
136
- this.animationTabsVisibleState = VISIBLE_STATE;
137
- this.animationContentVisibleState = HIDDEN_STATE;
138
- this.showingTabs.next(true);
139
- };
140
- SkyVerticalTabsetService.prototype.destroyContent = function () {
141
- if (this._content) {
142
- this._content.nativeElement.innerHTML = '';
143
- }
144
- this.content = undefined;
145
- };
146
- SkyVerticalTabsetService.prototype.moveContent = function () {
147
- if (this._content && !this._contentAdded) {
148
- var activeTab = this.activeTab();
149
- var activeContent = activeTab ? activeTab.tabContent : undefined;
150
- if (activeContent && activeContent.nativeElement) {
151
- this._content.nativeElement.appendChild(activeContent.nativeElement);
152
- activeTab.contentRendered = true;
153
- this._contentAdded = true;
154
- }
155
- }
156
- };
157
- SkyVerticalTabsetService.prototype.updateTabClicked = function () {
158
- this._contentAdded = false;
159
- if (this.isMobile()) {
160
- this._tabsVisible = false;
161
- this.animationContentVisibleState = VISIBLE_STATE;
162
- this.animationTabsVisibleState = HIDDEN_STATE;
163
- this.hidingTabs.next(true);
164
- }
165
- this.indexChanged.next(this.activeIndex);
166
- };
167
- SkyVerticalTabsetService.ctorParameters = function () { return [
168
- { type: SkyMediaQueryService }
169
- ]; };
170
- SkyVerticalTabsetService = __decorate([
171
- Injectable()
172
- ], SkyVerticalTabsetService);
173
- return SkyVerticalTabsetService;
174
- }());
175
- export { SkyVerticalTabsetService };
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvdGFicy8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3JCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsT0FBTyxFQUNSLE1BQU0sTUFBTSxDQUFDO0FBTWQsTUFBTSxDQUFDLElBQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQztBQUNyQyxNQUFNLENBQUMsSUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDO0FBRW5DOztHQUVHO0FBRUg7SUFvQ0Usa0NBQTJCLGlCQUF1QztRQUFsRSxpQkF1QkM7UUF2QjBCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFsQzNELGdCQUFXLEdBQVcsU0FBUyxDQUFDO1FBVWhDLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QyxpQkFBWSxHQUE0QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2RSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFcEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QyxvQkFBZSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWxELFNBQUksR0FBbUMsRUFBRSxDQUFDO1FBRTFDLGFBQVEsR0FBcUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUUzRCxlQUFVLEdBQTZCLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBSXJFLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRS9CLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGNBQVMsR0FBWSxL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TUQsSUFpTUM7U0FqTVksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0YWJsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIFN1YmplY3Rcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFNreVZlcnRpY2FsVGFiQ29tcG9uZW50XG59IGZyb20gJy4vdmVydGljYWwtdGFiLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBWSVNJQkxFX1NUQVRFID0gJ3Nob3duJztcbmV4cG9ydCBjb25zdCBISURERU5fU1RBVEUgPSAndm9pZCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2Uge1xuXG4gIHB1YmxpYyBhY3RpdmVJbmRleDogbnVtYmVyID0gdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlOiBzdHJpbmc7XG5cbiAgcHVibGljIGFuaW1hdGlvblRhYnNWaXNpYmxlU3RhdGU6IHN0cmluZztcblxuICBwdWJsaWMgc2V0IGNvbnRlbnQodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl9jb250ZW50ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgaGlkaW5nVGFicyA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHB1YmxpYyBpbmRleENoYW5nZWQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xuXG4gIHB1YmxpYyBtYWludGFpblRhYkNvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgc2hvd2luZ1RhYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwdWJsaWMgc3dpdGNoaW5nTW9iaWxlOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcblxuICBwdWJsaWMgdGFiczogQXJyYXk8U2t5VmVydGljYWxUYWJDb21wb25lbnQ+ID0gW107XG5cbiAgcHVibGljIHRhYkFkZGVkOiBTdWJqZWN0PFNreVZlcnRpY2FsVGFiQ29tcG9uZW50PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHVibGljIHRhYkNsaWNrZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICBwcml2YXRlIF9jb250ZW50OiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgX2NvbnRlbnRBZGRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3RhYnNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfaXNNb2JpbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBtZWRpYVF1ZXJ5U2VydmljZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UpIHtcbiAgICB0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlLnN1YnNjcmliZShicmVha3BvaW50ID0+IHtcbiAgICAgIGNvbnN0IG5vd01vYmlsZSA9IGJyZWFrcG9pbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHM7XG5cbiAgICAgIGlmIChub3dNb2JpbGUgJiYgIXRoaXMuX2lzTW9iaWxlKSB7XG4gICAgICAgIC8vIHN3aXRjaGluZyB0byBtb2JpbGVcbiAgICAgICAgdGhpcy5zd2l0Y2hpbmdNb2JpbGUubmV4dCh0cnVlKTtcblxuICAgICAgICBpZiAoIXRoaXMuX3RhYnNWaXNpYmxlKSB7XG4gICAgICAgICAgdGhpcy5oaWRpbmdUYWJzLm5leHQodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfSBlbHNlIGlmICghbm93TW9iaWxlICYmIHRoaXMuX2lzTW9iaWxlKSB7XG4gICAgICAgIC8vIHN3aXRjaGluZyB0byB3aWRlc2NyZWVuXG4gICAgICAgIHRoaXMuc3dpdGNoaW5nTW9iaWxlLm5leHQoZmFsc2UpO1xuXG4gICAgICAgIGlmICghdGhpcy5fdGFic1Zpc2libGUpIHtcbiAgICAgICAgICB0aGlzLnNob3dpbmdUYWJzLm5leHQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5faXNNb2JpbGUgPSBub3dNb2JpbGU7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVGFiKHRhYjogU2t5VmVydGljYWxUYWJDb21wb25lbnQpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudGFicy5sZW5ndGg7XG4gICAgdGFiLmluZGV4ID0gaW5kZXg7XG5cbiAgICB0aGlzLnRhYnMucHVzaCh0YWIpO1xuXG4gICAgaWYgKHRhYi5hY3RpdmUpIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVUYWIodGFiKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhYkFkZGVkLm5leHQodGFiKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95VGFiKHRhYjogU2t5VmVydGljYWxUYWJDb21wb25lbnQpOiB2b2lkIHtcbiAgICBsZXQgdGFiSW5kZXggPSB0aGlzLnRhYnMuaW5kZXhPZih0YWIpO1xuICAgIGlmICh0YWJJbmRleCA9PT0gLTEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tYWludGFpblRhYkNvbnRlbnQgJiYgdGFiLmNvbnRlbnRSZW5kZXJlZCAmJiB0aGlzLl9jb250ZW50KSB7XG4gICAgICBpZiAodGhpcy5fY29udGVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhYi50YWJDb250ZW50Lm5hdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0YWIudGFiQ29udGVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy50YWJzLnNwbGljZSh0YWJJbmRleCwgMSk7XG4gICAgLy8gdXBkYXRlIHRhYiBpbmRpY2VzXG4gICAgdGhpcy50YWJzLmZvckVhY2goKHRhYkl0ZW0sIGluZGV4KSA9PiB0YWJJdGVtLmluZGV4ID0gaW5kZXgpO1xuXG4gICAgaWYgKHRhYi5hY3RpdmUpIHtcbiAgICAgIGlmICghdGhpcy5tYWludGFpblRhYkNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95Q29udGVudCgpO1xuICAgICAgfVxuICAgICAgLy8gVHJ5IHNlbGVjdGluZyB0aGUgbmV4dCB0YWIgZmlyc3QsIGFuZCBpZiB0aGVyZSdzIG5vIG5leHQgdGFiIHRoZW5cbiAgICAgIC8vIHRyeSBzZWxlY3RpbmcgdGhlIHByZXZpb3VzIG9uZS5cbiAgICAgIGxldCBuZXdBY3RpdmVUYWIgPSB0aGlzLnRhYnNbdGFiSW5kZXhdIHx8IHRoaXMudGFic1t0YWJJbmRleCAtIDFdO1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKG5ld0FjdGl2ZVRhYikge1xuICAgICAgICBuZXdBY3RpdmVUYWIuYWN0aXZhdGVUYWIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGVUYWIodGFiOiBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCkge1xuXG4gICAgLy8gdW5hY3RpdmF0ZSBhY3RpdmUgdGFiXG4gICAgbGV0IGFjdGl2ZVRhYiA9IHRoaXMudGFicy5maW5kKHQgPT4gdC5pbmRleCA9PT0gdGhpcy5hY3RpdmVJbmRleCk7XG4gICAgaWYgKGFjdGl2ZVRhYiAmJiBhY3RpdmVUYWIuaW5kZXggIT09IHRhYi5pbmRleCkge1xuICAgICAgYWN0aXZlVGFiLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgYWN0aXZlVGFiLnRhYkRlYWN0aXZhdGVkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IHRhYi5pbmRleDtcbiAgICB0aGlzLnRhYkNsaWNrZWQubmV4dCh0cnVlKTtcbiAgICB0aGlzLnVwZGF0ZVRhYkNsaWNrZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmVUYWIoKTogU2t5VmVydGljYWxUYWJDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnRhYnMuZmluZCh0ID0+IHQuaW5kZXggPT09IHRoaXMuYWN0aXZlSW5kZXgpO1xuICB9XG5cbiAgcHVibGljIGlzTW9iaWxlKCkge1xuICAgIHJldHVybiB0aGlzLl9pc01vYmlsZTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDb250ZW50KCkge1xuICAgIGlmICghdGhpcy5tYWludGFpblRhYkNvbnRlbnQpIHtcbiAgICAgIGlmICghdGhpcy5fY29udGVudEFkZGVkICYmIHRoaXMuY29udGVudFZpc2libGUoKSkge1xuICAgICAgICAvLyBjb250ZW50IG5lZWRzIHRvIGJlIG1vdmVkXG4gICAgICAgIHRoaXMubW92ZUNvbnRlbnQoKTtcblxuICAgICAgfSBlbHNlIGlmICh0aGlzLl9jb250ZW50QWRkZWQgJiYgIXRoaXMuY29udGVudFZpc2libGUoKSkge1xuICAgICAgICAvLyBjb250ZW50IGhpZGRlblxuICAgICAgICB0aGlzLl9jb250ZW50QWRkZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICBpZiAoIXRhYi5jb250ZW50UmVuZGVyZWQpIHtcbiAgICAgICAgICB0aGlzLl9jb250ZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGFiLnRhYkNvbnRlbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgdGFiLmNvbnRlbnRSZW5kZXJlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0YWJzVmlzaWJsZSgpIHtcbiAgICByZXR1cm4gIXRoaXMuaXNNb2JpbGUoKSB8fCB0aGlzLl90YWJzVmlzaWJsZTtcbiAgfVxuXG4gIHB1YmxpYyBjb250ZW50VmlzaWJsZSgpIHtcbiAgICByZXR1cm4gIXRoaXMuaXNNb2JpbGUoKSB8fCAhdGhpcy5fdGFic1Zpc2libGU7XG4gIH1cblxuICBwdWJsaWMgc2hvd1RhYnMoKSB7XG4gICAgdGhpcy5fdGFic1Zpc2libGUgPSB0cnVlO1xuICAgIHRoaXMuX2NvbnRlbnRBZGRlZCA9IGZhbHNlO1xuICAgIHRoaXMuYW5pbWF0aW9uVGFic1Zpc2libGVTdGF0ZSA9IFZJU0lCTEVfU1RBVEU7XG4gICAgdGhpcy5hbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlID0gSElEREVOX1NUQVRFO1xuICAgIHRoaXMuc2hvd2luZ1RhYnMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveUNvbnRlbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbnRlbnQpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSAnJztcbiAgICB9XG4gICAgdGhpcy5jb250ZW50ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlQ29udGVudCgpIHtcbiAgICBpZiAodGhpcy5fY29udGVudCAmJiAhdGhpcy5fY29udGVudEFkZGVkKSB7XG4gICAgICBsZXQgYWN0aXZlVGFiID0gdGhpcy5hY3RpdmVUYWIoKTtcbiAgICAgIGxldCBhY3RpdmVDb250ZW50ID0gYWN0aXZlVGFiID8gYWN0aXZlVGFiLnRhYkNvbnRlbnQgOiB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChhY3RpdmVDb250ZW50ICYmIGFjdGl2ZUNvbnRlbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICB0aGlzLl9jb250ZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aXZlQ29udGVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgYWN0aXZlVGFiLmNvbnRlbnRSZW5kZXJlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2NvbnRlbnRBZGRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUYWJDbGlja2VkKCkge1xuICAgIHRoaXMuX2NvbnRlbnRBZGRlZCA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuaXNNb2JpbGUoKSkge1xuICAgICAgdGhpcy5fdGFic1Zpc2libGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuYW5pbWF0aW9uQ29udGVudFZpc2libGVTdGF0ZSA9IFZJU0lCTEVfU1RBVEU7XG4gICAgICB0aGlzLmFuaW1hdGlvblRhYnNWaXNpYmxlU3RhdGUgPSBISURERU5fU1RBVEU7XG4gICAgICB0aGlzLmhpZGluZ1RhYnMubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICB0aGlzLmluZGV4Q2hhbmdlZC5uZXh0KHRoaXMuYWN0aXZlSW5kZXgpO1xuICB9XG59XG4iXX0=