@skyux/tabs 4.6.9

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 (152) hide show
  1. package/CHANGELOG.md +218 -0
  2. package/README.md +5 -0
  3. package/bundles/skyux-tabs-testing.umd.js +395 -0
  4. package/bundles/skyux-tabs-testing.umd.js.map +1 -0
  5. package/bundles/skyux-tabs-testing.umd.min.js +16 -0
  6. package/bundles/skyux-tabs-testing.umd.min.js.map +1 -0
  7. package/bundles/skyux-tabs.umd.js +2414 -0
  8. package/bundles/skyux-tabs.umd.js.map +1 -0
  9. package/bundles/skyux-tabs.umd.min.js +16 -0
  10. package/bundles/skyux-tabs.umd.min.js.map +1 -0
  11. package/esm2015/modules/sectioned-form/sectioned-form-section.component.js +74 -0
  12. package/esm2015/modules/sectioned-form/sectioned-form.component.js +105 -0
  13. package/esm2015/modules/sectioned-form/sectioned-form.module.js +28 -0
  14. package/esm2015/modules/sectioned-form/sectioned-form.service.js +34 -0
  15. package/esm2015/modules/shared/tabs-resources.module.js +17 -0
  16. package/esm2015/modules/tabs/tab-button.component.js +71 -0
  17. package/esm2015/modules/tabs/tab-index.js +1 -0
  18. package/esm2015/modules/tabs/tab.component.js +144 -0
  19. package/esm2015/modules/tabs/tabs.module.js +41 -0
  20. package/esm2015/modules/tabs/tabset-active-tab-unregistered-args.js +1 -0
  21. package/esm2015/modules/tabs/tabset-adapter.service.js +53 -0
  22. package/esm2015/modules/tabs/tabset-buttons-display-mode.js +1 -0
  23. package/esm2015/modules/tabs/tabset-nav-button.component.js +122 -0
  24. package/esm2015/modules/tabs/tabset-permalink.service.js +123 -0
  25. package/esm2015/modules/tabs/tabset-style.js +1 -0
  26. package/esm2015/modules/tabs/tabset-tab-indexes-change.js +1 -0
  27. package/esm2015/modules/tabs/tabset.component.js +403 -0
  28. package/esm2015/modules/tabs/tabset.service.js +109 -0
  29. package/esm2015/modules/vertical-tabset/vertical-tab-media-query.service.js +71 -0
  30. package/esm2015/modules/vertical-tabset/vertical-tab.component.js +195 -0
  31. package/esm2015/modules/vertical-tabset/vertical-tabset-adapter.service.js +50 -0
  32. package/esm2015/modules/vertical-tabset/vertical-tabset-group.component.js +113 -0
  33. package/esm2015/modules/vertical-tabset/vertical-tabset.component.js +139 -0
  34. package/esm2015/modules/vertical-tabset/vertical-tabset.module.js +43 -0
  35. package/esm2015/modules/vertical-tabset/vertical-tabset.service.js +167 -0
  36. package/esm2015/plugin-resources/tabs-resources-provider.js +16 -0
  37. package/esm2015/public_api.js +10 -0
  38. package/esm2015/skyux-tabs.js +21 -0
  39. package/esm2015/testing/public_api.js +2 -0
  40. package/esm2015/testing/skyux-tabs-testing.js +5 -0
  41. package/esm2015/testing/tabs/tab-fixture-tab.js +1 -0
  42. package/esm2015/testing/tabs/tabset-fixture.js +141 -0
  43. package/esm5/modules/sectioned-form/sectioned-form-section.component.js +84 -0
  44. package/esm5/modules/sectioned-form/sectioned-form.component.js +111 -0
  45. package/esm5/modules/sectioned-form/sectioned-form.module.js +31 -0
  46. package/esm5/modules/sectioned-form/sectioned-form.service.js +35 -0
  47. package/esm5/modules/shared/tabs-resources.module.js +20 -0
  48. package/esm5/modules/tabs/tab-button.component.js +72 -0
  49. package/esm5/modules/tabs/tab-index.js +1 -0
  50. package/esm5/modules/tabs/tab.component.js +173 -0
  51. package/esm5/modules/tabs/tabs.module.js +44 -0
  52. package/esm5/modules/tabs/tabset-active-tab-unregistered-args.js +1 -0
  53. package/esm5/modules/tabs/tabset-adapter.service.js +58 -0
  54. package/esm5/modules/tabs/tabset-buttons-display-mode.js +1 -0
  55. package/esm5/modules/tabs/tabset-nav-button.component.js +145 -0
  56. package/esm5/modules/tabs/tabset-permalink.service.js +129 -0
  57. package/esm5/modules/tabs/tabset-style.js +1 -0
  58. package/esm5/modules/tabs/tabset-tab-indexes-change.js +1 -0
  59. package/esm5/modules/tabs/tabset.component.js +434 -0
  60. package/esm5/modules/tabs/tabset.service.js +122 -0
  61. package/esm5/modules/vertical-tabset/vertical-tab-media-query.service.js +76 -0
  62. package/esm5/modules/vertical-tabset/vertical-tab.component.js +214 -0
  63. package/esm5/modules/vertical-tabset/vertical-tabset-adapter.service.js +51 -0
  64. package/esm5/modules/vertical-tabset/vertical-tabset-group.component.js +119 -0
  65. package/esm5/modules/vertical-tabset/vertical-tabset.component.js +145 -0
  66. package/esm5/modules/vertical-tabset/vertical-tabset.module.js +46 -0
  67. package/esm5/modules/vertical-tabset/vertical-tabset.service.js +176 -0
  68. package/esm5/plugin-resources/tabs-resources-provider.js +17 -0
  69. package/esm5/public_api.js +10 -0
  70. package/esm5/skyux-tabs.js +21 -0
  71. package/esm5/testing/public_api.js +2 -0
  72. package/esm5/testing/skyux-tabs-testing.js +5 -0
  73. package/esm5/testing/tabs/tab-fixture-tab.js +1 -0
  74. package/esm5/testing/tabs/tabset-fixture.js +168 -0
  75. package/fesm2015/skyux-tabs-testing.js +148 -0
  76. package/fesm2015/skyux-tabs-testing.js.map +1 -0
  77. package/fesm2015/skyux-tabs.js +1998 -0
  78. package/fesm2015/skyux-tabs.js.map +1 -0
  79. package/fesm5/skyux-tabs-testing.js +174 -0
  80. package/fesm5/skyux-tabs-testing.js.map +1 -0
  81. package/fesm5/skyux-tabs.js +2182 -0
  82. package/fesm5/skyux-tabs.js.map +1 -0
  83. package/modules/sectioned-form/sectioned-form-section.component.d.ts +39 -0
  84. package/modules/sectioned-form/sectioned-form.component.d.ts +30 -0
  85. package/modules/sectioned-form/sectioned-form.module.d.ts +2 -0
  86. package/modules/sectioned-form/sectioned-form.service.d.ts +21 -0
  87. package/modules/shared/tabs-resources.module.d.ts +2 -0
  88. package/modules/tabs/tab-button.component.d.ts +21 -0
  89. package/modules/tabs/tab-index.d.ts +1 -0
  90. package/modules/tabs/tab.component.d.ts +77 -0
  91. package/modules/tabs/tabs.module.d.ts +2 -0
  92. package/modules/tabs/tabset-active-tab-unregistered-args.d.ts +10 -0
  93. package/modules/tabs/tabset-adapter.service.d.ts +21 -0
  94. package/modules/tabs/tabset-buttons-display-mode.d.ts +1 -0
  95. package/modules/tabs/tabset-nav-button.component.d.ts +24 -0
  96. package/modules/tabs/tabset-permalink.service.d.ts +43 -0
  97. package/modules/tabs/tabset-style.d.ts +1 -0
  98. package/modules/tabs/tabset-tab-indexes-change.d.ts +7 -0
  99. package/modules/tabs/tabset.component.d.ts +142 -0
  100. package/modules/tabs/tabset.service.d.ts +51 -0
  101. package/modules/vertical-tabset/vertical-tab-media-query.service.d.ts +15 -0
  102. package/modules/vertical-tabset/vertical-tab.component.d.ts +86 -0
  103. package/modules/vertical-tabset/vertical-tabset-adapter.service.d.ts +10 -0
  104. package/modules/vertical-tabset/vertical-tabset-group.component.d.ts +33 -0
  105. package/modules/vertical-tabset/vertical-tabset.component.d.ts +45 -0
  106. package/modules/vertical-tabset/vertical-tabset.module.d.ts +2 -0
  107. package/modules/vertical-tabset/vertical-tabset.service.d.ts +41 -0
  108. package/package.json +41 -0
  109. package/plugin-resources/tabs-resources-provider.d.ts +5 -0
  110. package/public_api.d.ts +9 -0
  111. package/skyux-tabs.d.ts +20 -0
  112. package/skyux-tabs.metadata.json +1 -0
  113. package/src/assets/img/guidelines/tabs/tabs-anatomy.png +0 -0
  114. package/src/assets/img/guidelines/tabs/tabs-behavior-1.png +0 -0
  115. package/src/assets/img/guidelines/tabs/tabs-layout-1.png +0 -0
  116. package/src/assets/img/guidelines/tabs/tabs-layout-2.png +0 -0
  117. package/src/assets/img/guidelines/tabs/tabs-layout-3.png +0 -0
  118. package/src/assets/img/guidelines/tabs/tabs-layout-4.png +0 -0
  119. package/src/assets/img/guidelines/tabs/tabs-options-1.png +0 -0
  120. package/src/assets/img/guidelines/tabs/tabs-options-2.png +0 -0
  121. package/src/assets/img/guidelines/tabs/tabs-state-collapsed-closed.png +0 -0
  122. package/src/assets/img/guidelines/tabs/tabs-state-collapsed-open.png +0 -0
  123. package/src/assets/img/guidelines/tabs/tabs-state-hover.png +0 -0
  124. package/src/assets/img/guidelines/tabs/tabs-state-selected.png +0 -0
  125. package/src/assets/img/guidelines/tabs/tabs-state-unselected.png +0 -0
  126. package/src/assets/img/guidelines/tabs/tabs-usage-1.png +0 -0
  127. package/src/assets/img/guidelines/tabs/tabs-usage-2.png +0 -0
  128. package/src/assets/img/guidelines/tabs/tabs-usage-3.png +0 -0
  129. package/src/assets/img/guidelines/tabs/tabs-usage-4.png +0 -0
  130. package/src/assets/img/guidelines/tabs/tabs-usage-5.png +0 -0
  131. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-anatomy-1.png +0 -0
  132. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-anatomy-2.png +0 -0
  133. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-layout-1.png +0 -0
  134. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-hover.png +0 -0
  135. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-selected-group.png +0 -0
  136. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-selected.png +0 -0
  137. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-unselected-group.png +0 -0
  138. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-unselected.png +0 -0
  139. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-1.png +0 -0
  140. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-2.png +0 -0
  141. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-3.png +0 -0
  142. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-4.png +0 -0
  143. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-5.png +0 -0
  144. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-6.png +0 -0
  145. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-7.png +0 -0
  146. package/src/assets/locales/resources_en_US.json +26 -0
  147. package/testing/package.json +13 -0
  148. package/testing/public_api.d.ts +2 -0
  149. package/testing/skyux-tabs-testing.d.ts +4 -0
  150. package/testing/skyux-tabs-testing.metadata.json +1 -0
  151. package/testing/tabs/tab-fixture-tab.d.ts +25 -0
  152. package/testing/tabs/tabset-fixture.d.ts +50 -0
@@ -0,0 +1,139 @@
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
+ let SkyVerticalTabsetComponent = class SkyVerticalTabsetComponent {
10
+ constructor(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
+ /**
30
+ * Specifies an ARIA role for the vertical tabset
31
+ * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)
32
+ * by indicating how the tabset functions and what it controls. For information about how
33
+ * an ARIA role indicates what an item represents on a web page, see the
34
+ * [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).
35
+ * @default "tablist"
36
+ */
37
+ get ariaRole() {
38
+ if (this.isMobile) {
39
+ return undefined;
40
+ }
41
+ return this._ariaRole || 'tablist';
42
+ }
43
+ set ariaRole(value) {
44
+ this._ariaRole = value;
45
+ }
46
+ ngOnInit() {
47
+ this.tabService.maintainTabContent = this.maintainTabContent;
48
+ this.tabService.indexChanged
49
+ .pipe(takeUntil(this._ngUnsubscribe))
50
+ .subscribe((index) => {
51
+ this.activeChange.emit(index);
52
+ if (this.contentWrapper) {
53
+ this.adapterService.scrollToContentTop(this.contentWrapper);
54
+ }
55
+ this.changeRef.markForCheck();
56
+ });
57
+ this.tabService.switchingMobile
58
+ .pipe(takeUntil(this._ngUnsubscribe))
59
+ .subscribe((mobile) => {
60
+ this.isMobile = mobile;
61
+ this.changeRef.markForCheck();
62
+ });
63
+ if (this.tabService.isMobile()) {
64
+ this.isMobile = true;
65
+ this.tabService.animationContentVisibleState = VISIBLE_STATE;
66
+ this.changeRef.markForCheck();
67
+ }
68
+ if (!this.showTabsText) {
69
+ this.resources.getString('skyux_vertical_tabs_show_tabs_text')
70
+ .pipe(take(1))
71
+ .subscribe(resource => {
72
+ /* sanity check */
73
+ if (!this.showTabsText) {
74
+ this.showTabsText = resource;
75
+ }
76
+ });
77
+ }
78
+ }
79
+ ngAfterViewChecked() {
80
+ this.tabService.content = this.content;
81
+ this.tabService.updateContent();
82
+ }
83
+ ngOnDestroy() {
84
+ this._ngUnsubscribe.next();
85
+ this._ngUnsubscribe.complete();
86
+ }
87
+ };
88
+ SkyVerticalTabsetComponent.ctorParameters = () => [
89
+ { type: SkyVerticalTabsetAdapterService },
90
+ { type: SkyVerticalTabsetService },
91
+ { type: SkyLibResourcesService },
92
+ { type: ChangeDetectorRef }
93
+ ];
94
+ __decorate([
95
+ Input()
96
+ ], SkyVerticalTabsetComponent.prototype, "showTabsText", void 0);
97
+ __decorate([
98
+ Input()
99
+ ], SkyVerticalTabsetComponent.prototype, "ariaRole", null);
100
+ __decorate([
101
+ Input()
102
+ ], SkyVerticalTabsetComponent.prototype, "maintainTabContent", void 0);
103
+ __decorate([
104
+ Output()
105
+ ], SkyVerticalTabsetComponent.prototype, "activeChange", void 0);
106
+ __decorate([
107
+ ViewChild('groupContainerWrapper')
108
+ ], SkyVerticalTabsetComponent.prototype, "tabGroups", void 0);
109
+ __decorate([
110
+ ViewChild('skySideContent')
111
+ ], SkyVerticalTabsetComponent.prototype, "content", void 0);
112
+ __decorate([
113
+ ViewChild('contentContainerWrapper')
114
+ ], SkyVerticalTabsetComponent.prototype, "contentWrapper", void 0);
115
+ SkyVerticalTabsetComponent = __decorate([
116
+ Component({
117
+ selector: 'sky-vertical-tabset',
118
+ 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",
119
+ providers: [SkyVerticalTabsetService],
120
+ changeDetection: ChangeDetectionStrategy.OnPush,
121
+ animations: [
122
+ trigger('tabGroupEnter', [
123
+ transition(`${HIDDEN_STATE} => ${VISIBLE_STATE}`, [
124
+ style({ transform: 'translate(-100%)' }),
125
+ animate('150ms ease-in')
126
+ ])
127
+ ]),
128
+ trigger('contentEnter', [
129
+ transition(`${HIDDEN_STATE} => ${VISIBLE_STATE}`, [
130
+ style({ transform: 'translate(100%)' }),
131
+ animate('150ms ease-in')
132
+ ])
133
+ ])
134
+ ],
135
+ 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}@media (min-width:768px){:host .sky-vertical-tabset{display:flex;height:100%}:host .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}}: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}"]
136
+ })
137
+ ], SkyVerticalTabsetComponent);
138
+ export { SkyVerticalTabsetComponent };
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC90YWJzLyIsInNvdXJjZXMiOlsibW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxFQUNWLE9BQU8sRUFDUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNMLE9BQU8sRUFDUixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFDTCxJQUFJLEVBQ0osU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLCtCQUErQixFQUNoQyxNQUFNLG1DQUFtQyxDQUFDO0FBRTNDLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLGFBQWEsRUFDZCxNQUFNLDJCQUEyQixDQUFDO0FBMkJuQyxJQUFhLDBCQUEwQixHQUF2QyxNQUFhLDBCQUEwQjtJQXVEckMsWUFDUyxjQUErQyxFQUMvQyxVQUFvQyxFQUNuQyxTQUFpQyxFQUNqQyxTQUE0QjtRQUg3QixtQkFBYyxHQUFkLGNBQWMsQ0FBaUM7UUFDL0MsZUFBVSxHQUFWLFVBQVUsQ0FBMEI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFoQ3RDOzs7O1dBSUc7UUFFSSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFM0M7OztXQUdH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O0FBR2pEO0lBREMsU0FBUyxDQUFDLHVCQUF1QixDQUFDOzZEQUNOO0FBRzdCO0lBREMsU0FBUyxDQUFDLGdCQUFnQixDQUFDOzJEQUNEO0FBRzNCO0lBREMsU0FBUyxDQUFDLHlCQUF5QixDQUFDO2tFQUNGO0FBakR4QiwwQkFBMEI7SUF6QnRDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsZ2tDQUErQztRQUUvQyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztRQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxVQUFVLEVBQUU7WUFDVixPQUFPLENBQ0wsZUFBZSxFQUFFO2dCQUNmLFVBQVUsQ0FBQyxHQUFHLFlBQVksT0FBTyxhQUFhLEVBQUUsRUFBRTtvQkFDaEQsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGtCQUFrQixFQUFDLENBQUM7b0JBQ3RDLE9BQU8sQ0FBQyxlQUFlLENBQUM7aUJBQ3pCLENBQUM7YUFDSCxDQUNGO1lBQ0QsT0FBTyxDQUNMLGNBQWMsRUFBRTtnQkFDZCxVQUFVLENBQUMsR0FBRyxZQUFZLE9BQU8sYUFBYSxFQUFFLEVBQUU7b0JBQ2hELEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxDQUFDO29CQUNyQyxPQUFPLENBQUMsZUFBZSxDQUFDO2lCQUN6QixDQUFDO2FBQ0gsQ0FDRjtTQUNGOztLQUNGLENBQUM7R0FDVywwQkFBMEIsQ0EyR3RDO1NBM0dZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIHN0eWxlLFxuICB0cmlnZ2VyLFxuICB0cmFuc2l0aW9uLFxuICBhbmltYXRlXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQge1xuICBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHtcbiAgU3ViamVjdFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgdGFrZSxcbiAgdGFrZVVudGlsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgU2t5VmVydGljYWxUYWJzZXRBZGFwdGVyU2VydmljZVxufSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC1hZGFwdGVyLnNlcnZpY2UnO1xuXG5pbXBvcnQge1xuICBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2UsXG4gIEhJRERFTl9TVEFURSxcbiAgVklTSUJMRV9TVEFURVxufSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXZlcnRpY2FsLXRhYnNldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi92ZXJ0aWNhbC10YWJzZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92ZXJ0aWNhbC10YWJzZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFxuICAgICAgJ3RhYkdyb3VwRW50ZXInLCBbXG4gICAgICAgIHRyYW5zaXRpb24oYCR7SElEREVOX1NUQVRFfSA9PiAke1ZJU0lCTEVfU1RBVEV9YCwgW1xuICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTEwMCUpJ30pLFxuICAgICAgICAgIGFuaW1hdGUoJzE1MG1zIGVhc2UtaW4nKVxuICAgICAgICBdKVxuICAgICAgXVxuICAgICksXG4gICAgdHJpZ2dlcihcbiAgICAgICdjb250ZW50RW50ZXInLCBbXG4gICAgICAgIHRyYW5zaXRpb24oYCR7SElEREVOX1NUQVRFfSA9PiAke1ZJU0lCTEVfU1RBVEV9YCwgW1xuICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMTAwJSknfSksXG4gICAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpXG4gICAgICAgIF0pXG4gICAgICBdXG4gICAgKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNreVZlcnRpY2FsVGFic2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkLCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRleHQgdG8gZGlzcGxheSBvbiB0aGUgc2hvdyB0YWJzIGJ1dHRvbiBvbiBtb2JpbGUgZGV2aWNlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93VGFic1RleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIEFSSUEgcm9sZSBmb3IgdGhlIHZlcnRpY2FsIHRhYnNldFxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpXG4gICAqIGJ5IGluZGljYXRpbmcgaG93IHRoZSB0YWJzZXQgZnVuY3Rpb25zIGFuZCB3aGF0IGl0IGNvbnRyb2xzLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93XG4gICAqIGFuIEFSSUEgcm9sZSBpbmRpY2F0ZXMgd2hhdCBhbiBpdGVtIHJlcHJlc2VudHMgb24gYSB3ZWIgcGFnZSwgc2VlIHRoZVxuICAgKiBbV0FJLUFSSUEgcm9sZXMgbW9kZWxdKGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvUEYvYXJpYS9yb2xlcykuXG4gICAqIEBkZWZhdWx0IFwidGFibGlzdFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGFyaWFSb2xlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hcmlhUm9sZSB8fCAndGFibGlzdCc7XG4gIH1cbiAgcHVibGljIHNldCBhcmlhUm9sZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYXJpYVJvbGUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgdmVydGljYWwgdGFic2V0IGxvYWRzIHRhYiBjb250ZW50IGR1cmluZyBpbml0aWFsaXphdGlvbiBzbyB0aGF0IGl0XG4gICAqIGRpc3BsYXlzIGNvbnRlbnQgd2l0aG91dCBtb3ZpbmcgYXJvdW5kIGVsZW1lbnRzIGluIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgJ2ZhbHNlJ1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1haW50YWluVGFiQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBhY3RpdmUgdGFiIGNoYW5nZXMuIEVtaXRzIHRoZSBpbmRleCBvZiB0aGUgYWN0aXZlIHRhYi4gVGhlXG4gICAqIGluZGV4IGlzIGJhc2VkIG9uIHRoZSB0YWIncyBwb3NpdGlvbiB3aGVuIGl0IGxvYWRzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhY3RpdmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAVmlld0NoaWxkKCdncm91cENvbnRhaW5lcldyYXBwZXInKVxuICBwdWJsaWMgdGFiR3JvdXBzOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3NreVNpZGVDb250ZW50JylcbiAgcHVibGljIGNvbnRlbnQ6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnY29udGVudENvbnRhaW5lcldyYXBwZXInKVxuICBwcml2YXRlIGNvbnRlbnRXcmFwcGVyOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgaXNNb2JpbGUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX2FyaWFSb2xlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFkYXB0ZXJTZXJ2aWNlOiBTa3lWZXJ0aWNhbFRhYnNldEFkYXB0ZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyB0YWJTZXJ2aWNlOiBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRhYlNlcnZpY2UubWFpbnRhaW5UYWJDb250ZW50ID0gdGhpcy5tYWludGFpblRhYkNvbnRlbnQ7XG5cbiAgICB0aGlzLnRhYlNlcnZpY2UuaW5kZXhDaGFuZ2VkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChpbmRleDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlQ2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgICAgICBpZiAodGhpcy5jb250ZW50V3JhcHBlcikge1xuICAgICAgICAgIHRoaXMuYWRhcHRlclNlcnZpY2Uuc2Nyb2xsVG9Db250ZW50VG9wKHRoaXMuY29udGVudFdyYXBwZXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnRhYlNlcnZpY2Uuc3dpdGNoaW5nTW9iaWxlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtb2JpbGU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgdGhpcy5pc01vYmlsZSA9IG1vYmlsZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLnRhYlNlcnZpY2UuaXNNb2JpbGUoKSkge1xuICAgICAgdGhpcy5pc01vYmlsZSA9IHRydWU7XG4gICAgICB0aGlzLnRhYlNlcnZpY2UuYW5pbWF0aW9uQ29udGVudFZpc2libGVTdGF0ZSA9IFZJU0lCTEVfU1RBVEU7XG4gICAgICB0aGlzLmNoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnNob3dUYWJzVGV4dCkge1xuICAgICAgdGhpcy5yZXNvdXJjZXMuZ2V0U3RyaW5nKCdza3l1eF92ZXJ0aWNhbF90YWJzX3Nob3dfdGFic190ZXh0JylcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShyZXNvdXJjZSA9PiB7XG4gICAgICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICAgICAgaWYgKCF0aGlzLnNob3dUYWJzVGV4dCkge1xuICAgICAgICAgICAgdGhpcy5zaG93VGFic1RleHQgPSByZXNvdXJjZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgdGhpcy50YWJTZXJ2aWNlLmNvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XG4gICAgdGhpcy50YWJTZXJ2aWNlLnVwZGF0ZUNvbnRlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,43 @@
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
+ let SkyVerticalTabsetModule = class SkyVerticalTabsetModule {
14
+ };
15
+ SkyVerticalTabsetModule = __decorate([
16
+ NgModule({
17
+ declarations: [
18
+ SkyVerticalTabsetComponent,
19
+ SkyVerticalTabsetGroupComponent,
20
+ SkyVerticalTabComponent
21
+ ],
22
+ imports: [
23
+ CommonModule,
24
+ BrowserAnimationsModule,
25
+ SkyChevronModule,
26
+ SkyIconModule,
27
+ SkyMediaQueryModule,
28
+ SkyStatusIndicatorModule,
29
+ SkyTabsResourcesModule,
30
+ SkyThemeModule
31
+ ],
32
+ providers: [
33
+ SkyVerticalTabsetAdapterService
34
+ ],
35
+ exports: [
36
+ SkyVerticalTabsetComponent,
37
+ SkyVerticalTabsetGroupComponent,
38
+ SkyVerticalTabComponent
39
+ ]
40
+ })
41
+ ], SkyVerticalTabsetModule);
42
+ export { SkyVerticalTabsetModule };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC90YWJzLyIsInNvdXJjZXMiOlsibW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsWUFBWSxFQUNiLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUNMLHVCQUF1QixFQUN4QixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFDTCxtQkFBbUIsRUFDcEIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixhQUFhLEVBQ2Isd0JBQXdCLEVBQ3pCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUNMLGNBQWMsRUFDZixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3ZCLE1BQU0saUNBQWlDLENBQUM7QUFFekMsT0FBTyxFQUNMLDBCQUEwQixFQUMzQixNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sRUFDTCx1QkFBdUIsRUFDeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQ0wsK0JBQStCLEVBQ2hDLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUNMLCtCQUErQixFQUNoQyxNQUFNLG1DQUFtQyxDQUFDO0FBMkIzQyxJQUFhLHVCQUF1QixHQUFwQyxNQUFhLHVCQUF1QjtDQUFJLENBQUE7QUFBM0IsdUJBQXVCO0lBekJuQyxRQUFRLENBQUM7UUFDUixZQUFZLEVBQUU7WUFDWiwwQkFBMEI7WUFDMUIsK0JBQStCO1lBQy9CLHVCQUF1QjtTQUN4QjtRQUNELE9BQU8sRUFBRTtZQUNQLFlBQVk7WUFDWix1QkFBdUI7WUFDdkIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLHNCQUFzQjtZQUN0QixjQUFjO1NBQ2Y7UUFDRCxTQUFTLEVBQUU7WUFDVCwrQkFBK0I7U0FDaEM7UUFDRCxPQUFPLEVBQUU7WUFDUCwwQkFBMEI7WUFDMUIsK0JBQStCO1lBQy9CLHVCQUF1QjtTQUN4QjtLQUNGLENBQUM7R0FDVyx1QkFBdUIsQ0FBSTtTQUEzQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBOZ01vZHVsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQ29tbW9uTW9kdWxlXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7XG4gIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlXG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIFNreU1lZGlhUXVlcnlNb2R1bGVcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lDaGV2cm9uTW9kdWxlLFxuICBTa3lJY29uTW9kdWxlLFxuICBTa3lTdGF0dXNJbmRpY2F0b3JNb2R1bGVcbn0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuXG5pbXBvcnQge1xuICBTa3lUaGVtZU1vZHVsZVxufSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQge1xuICBTa3lUYWJzUmVzb3VyY2VzTW9kdWxlXG59IGZyb20gJy4uL3NoYXJlZC90YWJzLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQge1xuICBTa3lWZXJ0aWNhbFRhYnNldENvbXBvbmVudFxufSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudFxufSBmcm9tICcuL3ZlcnRpY2FsLXRhYi5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBTa3lWZXJ0aWNhbFRhYnNldEFkYXB0ZXJTZXJ2aWNlXG59IGZyb20gJy4vdmVydGljYWwtdGFic2V0LWFkYXB0ZXIuc2VydmljZSc7XG5cbmltcG9ydCB7XG4gIFNreVZlcnRpY2FsVGFic2V0R3JvdXBDb21wb25lbnRcbn0gZnJvbSAnLi92ZXJ0aWNhbC10YWJzZXQtZ3JvdXAuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2t5VmVydGljYWxUYWJzZXRDb21wb25lbnQsXG4gICAgU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudCxcbiAgICBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxuICAgIFNreUNoZXZyb25Nb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lNZWRpYVF1ZXJ5TW9kdWxlLFxuICAgIFNreVN0YXR1c0luZGljYXRvck1vZHVsZSxcbiAgICBTa3lUYWJzUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreVZlcnRpY2FsVGFic2V0QWRhcHRlclNlcnZpY2VcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNreVZlcnRpY2FsVGFic2V0Q29tcG9uZW50LFxuICAgIFNreVZlcnRpY2FsVGFic2V0R3JvdXBDb21wb25lbnQsXG4gICAgU2t5VmVydGljYWxUYWJDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lWZXJ0aWNhbFRhYnNldE1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,167 @@
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 const VISIBLE_STATE = 'shown';
6
+ export const HIDDEN_STATE = 'void';
7
+ /**
8
+ * @internal
9
+ */
10
+ let SkyVerticalTabsetService = class SkyVerticalTabsetService {
11
+ constructor(mediaQueryService) {
12
+ this.mediaQueryService = mediaQueryService;
13
+ this.activeIndex = undefined;
14
+ this.hidingTabs = new BehaviorSubject(false);
15
+ this.indexChanged = new BehaviorSubject(undefined);
16
+ this.maintainTabContent = false;
17
+ this.showingTabs = new BehaviorSubject(false);
18
+ this.switchingMobile = new Subject();
19
+ this.tabs = [];
20
+ this.tabAdded = new Subject();
21
+ this.tabClicked = new BehaviorSubject(undefined);
22
+ this._contentAdded = false;
23
+ this._tabsVisible = false;
24
+ this._isMobile = false;
25
+ this.mediaQueryService.subscribe(breakpoint => {
26
+ const nowMobile = breakpoint === SkyMediaBreakpoints.xs;
27
+ if (nowMobile && !this._isMobile) {
28
+ // switching to mobile
29
+ this.switchingMobile.next(true);
30
+ if (!this._tabsVisible) {
31
+ this.hidingTabs.next(true);
32
+ }
33
+ }
34
+ else if (!nowMobile && this._isMobile) {
35
+ // switching to widescreen
36
+ this.switchingMobile.next(false);
37
+ if (!this._tabsVisible) {
38
+ this.showingTabs.next(true);
39
+ }
40
+ }
41
+ this._isMobile = nowMobile;
42
+ });
43
+ }
44
+ set content(value) {
45
+ this._content = value;
46
+ }
47
+ addTab(tab) {
48
+ const index = this.tabs.length;
49
+ tab.index = index;
50
+ this.tabs.push(tab);
51
+ if (tab.active) {
52
+ this.activateTab(tab);
53
+ }
54
+ this.tabAdded.next(tab);
55
+ }
56
+ destroyTab(tab) {
57
+ let tabIndex = this.tabs.indexOf(tab);
58
+ if (tabIndex === -1) {
59
+ return;
60
+ }
61
+ if (this.maintainTabContent && tab.contentRendered && this._content) {
62
+ if (this._content.nativeElement.contains(tab.tabContent.nativeElement)) {
63
+ this._content.nativeElement.removeChild(tab.tabContent.nativeElement);
64
+ }
65
+ }
66
+ this.tabs.splice(tabIndex, 1);
67
+ // update tab indices
68
+ this.tabs.forEach((tabItem, index) => tabItem.index = index);
69
+ if (tab.active) {
70
+ if (!this.maintainTabContent) {
71
+ this.destroyContent();
72
+ }
73
+ // Try selecting the next tab first, and if there's no next tab then
74
+ // try selecting the previous one.
75
+ let newActiveTab = this.tabs[tabIndex] || this.tabs[tabIndex - 1];
76
+ /*istanbul ignore else */
77
+ if (newActiveTab) {
78
+ newActiveTab.activateTab();
79
+ }
80
+ }
81
+ }
82
+ activateTab(tab) {
83
+ // unactivate active tab
84
+ let activeTab = this.tabs.find(t => t.index === this.activeIndex);
85
+ if (activeTab && activeTab.index !== tab.index) {
86
+ activeTab.active = false;
87
+ activeTab.tabDeactivated();
88
+ }
89
+ this.activeIndex = tab.index;
90
+ this.tabClicked.next(true);
91
+ this.updateTabClicked();
92
+ }
93
+ activeTab() {
94
+ return this.tabs.find(t => t.index === this.activeIndex);
95
+ }
96
+ isMobile() {
97
+ return this._isMobile;
98
+ }
99
+ updateContent() {
100
+ if (!this.maintainTabContent) {
101
+ if (!this._contentAdded && this.contentVisible()) {
102
+ // content needs to be moved
103
+ this.moveContent();
104
+ }
105
+ else if (this._contentAdded && !this.contentVisible()) {
106
+ // content hidden
107
+ this._contentAdded = false;
108
+ }
109
+ }
110
+ else {
111
+ this.tabs.forEach((tab) => {
112
+ if (!tab.contentRendered) {
113
+ this._content.nativeElement.appendChild(tab.tabContent.nativeElement);
114
+ tab.contentRendered = true;
115
+ }
116
+ });
117
+ }
118
+ }
119
+ tabsVisible() {
120
+ return !this.isMobile() || this._tabsVisible;
121
+ }
122
+ contentVisible() {
123
+ return !this.isMobile() || !this._tabsVisible;
124
+ }
125
+ showTabs() {
126
+ this._tabsVisible = true;
127
+ this._contentAdded = false;
128
+ this.animationTabsVisibleState = VISIBLE_STATE;
129
+ this.animationContentVisibleState = HIDDEN_STATE;
130
+ this.showingTabs.next(true);
131
+ }
132
+ destroyContent() {
133
+ if (this._content) {
134
+ this._content.nativeElement.innerHTML = '';
135
+ }
136
+ this.content = undefined;
137
+ }
138
+ moveContent() {
139
+ if (this._content && !this._contentAdded) {
140
+ let activeTab = this.activeTab();
141
+ let activeContent = activeTab ? activeTab.tabContent : undefined;
142
+ if (activeContent && activeContent.nativeElement) {
143
+ this._content.nativeElement.appendChild(activeContent.nativeElement);
144
+ activeTab.contentRendered = true;
145
+ this._contentAdded = true;
146
+ }
147
+ }
148
+ }
149
+ updateTabClicked() {
150
+ this._contentAdded = false;
151
+ if (this.isMobile()) {
152
+ this._tabsVisible = false;
153
+ this.animationContentVisibleState = VISIBLE_STATE;
154
+ this.animationTabsVisibleState = HIDDEN_STATE;
155
+ this.hidingTabs.next(true);
156
+ }
157
+ this.indexChanged.next(this.activeIndex);
158
+ }
159
+ };
160
+ SkyVerticalTabsetService.ctorParameters = () => [
161
+ { type: SkyMediaQueryService }
162
+ ];
163
+ SkyVerticalTabsetService = __decorate([
164
+ Injectable()
165
+ ], SkyVerticalTabsetService);
166
+ export { SkyVerticalTabsetService };
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvdGFicy8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3JCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsT0FBTyxFQUNSLE1BQU0sTUFBTSxDQUFDO0FBTWQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDO0FBRW5DOztHQUVHO0FBRUgsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBd0I7SUFvQ25DLFlBQTJCLGlCQUF1QztRQUF2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBbEMzRCxnQkFBVyxHQUFXLFNBQVMsQ0FBQztRQVVoQyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEMsaUJBQVksR0FBNEIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkUsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRXBDLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsb0JBQWUsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVsRCxTQUFJLEdBQW1DLEVBQUUsQ0FBQztRQUUxQyxhQUFRLEdBQXFDLElBQUksT0FBTyxFQUFFLENBQUM7UUFFM0QsZUFBVSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUlyRSxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUUvQixpQkFBWSxHQUFZLEtBQUssQ0FBQztR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QUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN4QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakMsSUFBSSxhQUFhLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFFakUsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLGFBQWEsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDckUsU0FBUyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBRTNCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxhQUFhLENBQUM7WUFDbEQsSUFBSSxDQUFDLHlCQUF5QixHQUFHLFlBQVksQ0FBQztZQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0YsQ0FBQTs7WUE3SitDLG9CQUFvQjs7QUFwQ3ZELHdCQUF3QjtJQURwQyxVQUFVLEVBQUU7R0FDQSx3QkFBd0IsQ0FpTXBDO1NBak1ZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreU1lZGlhQnJlYWtwb2ludHMsXG4gIFNreU1lZGlhUXVlcnlTZXJ2aWNlXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBTdWJqZWN0XG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudFxufSBmcm9tICcuL3ZlcnRpY2FsLXRhYi5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgVklTSUJMRV9TVEFURSA9ICdzaG93bic7XG5leHBvcnQgY29uc3QgSElEREVOX1NUQVRFID0gJ3ZvaWQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlIHtcblxuICBwdWJsaWMgYWN0aXZlSW5kZXg6IG51bWJlciA9IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYW5pbWF0aW9uQ29udGVudFZpc2libGVTdGF0ZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBhbmltYXRpb25UYWJzVmlzaWJsZVN0YXRlOiBzdHJpbmc7XG5cbiAgcHVibGljIHNldCBjb250ZW50KHZhbHVlOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5fY29udGVudCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGhpZGluZ1RhYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwdWJsaWMgaW5kZXhDaGFuZ2VkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICBwdWJsaWMgbWFpbnRhaW5UYWJDb250ZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHNob3dpbmdUYWJzID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHVibGljIHN3aXRjaGluZ01vYmlsZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHVibGljIHRhYnM6IEFycmF5PFNreVZlcnRpY2FsVGFiQ29tcG9uZW50PiA9IFtdO1xuXG4gIHB1YmxpYyB0YWJBZGRlZDogU3ViamVjdDxTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyB0YWJDbGlja2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfY29udGVudDogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIF9jb250ZW50QWRkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF90YWJzVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2lzTW9iaWxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlKSB7XG4gICAgdGhpcy5tZWRpYVF1ZXJ5U2VydmljZS5zdWJzY3JpYmUoYnJlYWtwb2ludCA9PiB7XG4gICAgICBjb25zdCBub3dNb2JpbGUgPSBicmVha3BvaW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzO1xuXG4gICAgICBpZiAobm93TW9iaWxlICYmICF0aGlzLl9pc01vYmlsZSkge1xuICAgICAgICAvLyBzd2l0Y2hpbmcgdG8gbW9iaWxlXG4gICAgICAgIHRoaXMuc3dpdGNoaW5nTW9iaWxlLm5leHQodHJ1ZSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLl90YWJzVmlzaWJsZSkge1xuICAgICAgICAgIHRoaXMuaGlkaW5nVGFicy5uZXh0KHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH0gZWxzZSBpZiAoIW5vd01vYmlsZSAmJiB0aGlzLl9pc01vYmlsZSkge1xuICAgICAgICAvLyBzd2l0Y2hpbmcgdG8gd2lkZXNjcmVlblxuICAgICAgICB0aGlzLnN3aXRjaGluZ01vYmlsZS5uZXh0KGZhbHNlKTtcblxuICAgICAgICBpZiAoIXRoaXMuX3RhYnNWaXNpYmxlKSB7XG4gICAgICAgICAgdGhpcy5zaG93aW5nVGFicy5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2lzTW9iaWxlID0gbm93TW9iaWxlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZFRhYih0YWI6IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50KSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYnMubGVuZ3RoO1xuICAgIHRhYi5pbmRleCA9IGluZGV4O1xuXG4gICAgdGhpcy50YWJzLnB1c2godGFiKTtcblxuICAgIGlmICh0YWIuYWN0aXZlKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlVGFiKHRhYik7XG4gICAgfVxuXG4gICAgdGhpcy50YWJBZGRlZC5uZXh0KHRhYik7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveVRhYih0YWI6IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgbGV0IHRhYkluZGV4ID0gdGhpcy50YWJzLmluZGV4T2YodGFiKTtcbiAgICBpZiAodGFiSW5kZXggPT09IC0xKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWFpbnRhaW5UYWJDb250ZW50ICYmIHRhYi5jb250ZW50UmVuZGVyZWQgJiYgdGhpcy5fY29udGVudCkge1xuICAgICAgaWYgKHRoaXMuX2NvbnRlbnQubmF0aXZlRWxlbWVudC5jb250YWlucyh0YWIudGFiQ29udGVudC5uYXRpdmVFbGVtZW50KSkge1xuICAgICAgICB0aGlzLl9jb250ZW50Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGFiLnRhYkNvbnRlbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMudGFicy5zcGxpY2UodGFiSW5kZXgsIDEpO1xuICAgIC8vIHVwZGF0ZSB0YWIgaW5kaWNlc1xuICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWJJdGVtLCBpbmRleCkgPT4gdGFiSXRlbS5pbmRleCA9IGluZGV4KTtcblxuICAgIGlmICh0YWIuYWN0aXZlKSB7XG4gICAgICBpZiAoIXRoaXMubWFpbnRhaW5UYWJDb250ZW50KSB7XG4gICAgICAgIHRoaXMuZGVzdHJveUNvbnRlbnQoKTtcbiAgICAgIH1cbiAgICAgIC8vIFRyeSBzZWxlY3RpbmcgdGhlIG5leHQgdGFiIGZpcnN0LCBhbmQgaWYgdGhlcmUncyBubyBuZXh0IHRhYiB0aGVuXG4gICAgICAvLyB0cnkgc2VsZWN0aW5nIHRoZSBwcmV2aW91cyBvbmUuXG4gICAgICBsZXQgbmV3QWN0aXZlVGFiID0gdGhpcy50YWJzW3RhYkluZGV4XSB8fCB0aGlzLnRhYnNbdGFiSW5kZXggLSAxXTtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChuZXdBY3RpdmVUYWIpIHtcbiAgICAgICAgbmV3QWN0aXZlVGFiLmFjdGl2YXRlVGFiKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFjdGl2YXRlVGFiKHRhYjogU2t5VmVydGljYWxUYWJDb21wb25lbnQpIHtcblxuICAgIC8vIHVuYWN0aXZhdGUgYWN0aXZlIHRhYlxuICAgIGxldCBhY3RpdmVUYWIgPSB0aGlzLnRhYnMuZmluZCh0ID0+IHQuaW5kZXggPT09IHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgIGlmIChhY3RpdmVUYWIgJiYgYWN0aXZlVGFiLmluZGV4ICE9PSB0YWIuaW5kZXgpIHtcbiAgICAgIGFjdGl2ZVRhYi5hY3RpdmUgPSBmYWxzZTtcbiAgICAgIGFjdGl2ZVRhYi50YWJEZWFjdGl2YXRlZCgpO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlSW5kZXggPSB0YWIuaW5kZXg7XG4gICAgdGhpcy50YWJDbGlja2VkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy51cGRhdGVUYWJDbGlja2VkKCk7XG4gIH1cblxuICBwdWJsaWMgYWN0aXZlVGFiKCk6IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy50YWJzLmZpbmQodCA9PiB0LmluZGV4ID09PSB0aGlzLmFjdGl2ZUluZGV4KTtcbiAgfVxuXG4gIHB1YmxpYyBpc01vYmlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNNb2JpbGU7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ29udGVudCgpIHtcbiAgICBpZiAoIXRoaXMubWFpbnRhaW5UYWJDb250ZW50KSB7XG4gICAgICBpZiAoIXRoaXMuX2NvbnRlbnRBZGRlZCAmJiB0aGlzLmNvbnRlbnRWaXNpYmxlKCkpIHtcbiAgICAgICAgLy8gY29udGVudCBuZWVkcyB0byBiZSBtb3ZlZFxuICAgICAgICB0aGlzLm1vdmVDb250ZW50KCk7XG5cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fY29udGVudEFkZGVkICYmICF0aGlzLmNvbnRlbnRWaXNpYmxlKCkpIHtcbiAgICAgICAgLy8gY29udGVudCBoaWRkZW5cbiAgICAgICAgdGhpcy5fY29udGVudEFkZGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgaWYgKCF0YWIuY29udGVudFJlbmRlcmVkKSB7XG4gICAgICAgICAgdGhpcy5fY29udGVudC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRhYi50YWJDb250ZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgIHRhYi5jb250ZW50UmVuZGVyZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdGFic1Zpc2libGUoKSB7XG4gICAgcmV0dXJuICF0aGlzLmlzTW9iaWxlKCkgfHwgdGhpcy5fdGFic1Zpc2libGU7XG4gIH1cblxuICBwdWJsaWMgY29udGVudFZpc2libGUoKSB7XG4gICAgcmV0dXJuICF0aGlzLmlzTW9iaWxlKCkgfHwgIXRoaXMuX3RhYnNWaXNpYmxlO1xuICB9XG5cbiAgcHVibGljIHNob3dUYWJzKCkge1xuICAgIHRoaXMuX3RhYnNWaXNpYmxlID0gdHJ1ZTtcbiAgICB0aGlzLl9jb250ZW50QWRkZWQgPSBmYWxzZTtcbiAgICB0aGlzLmFuaW1hdGlvblRhYnNWaXNpYmxlU3RhdGUgPSBWSVNJQkxFX1NUQVRFO1xuICAgIHRoaXMuYW5pbWF0aW9uQ29udGVudFZpc2libGVTdGF0ZSA9IEhJRERFTl9TVEFURTtcbiAgICB0aGlzLnNob3dpbmdUYWJzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lDb250ZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb250ZW50KSB7XG4gICAgICB0aGlzLl9jb250ZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gJyc7XG4gICAgfVxuICAgIHRoaXMuY29udGVudCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgbW92ZUNvbnRlbnQoKSB7XG4gICAgaWYgKHRoaXMuX2NvbnRlbnQgJiYgIXRoaXMuX2NvbnRlbnRBZGRlZCkge1xuICAgICAgbGV0IGFjdGl2ZVRhYiA9IHRoaXMuYWN0aXZlVGFiKCk7XG4gICAgICBsZXQgYWN0aXZlQ29udGVudCA9IGFjdGl2ZVRhYiA/IGFjdGl2ZVRhYi50YWJDb250ZW50IDogdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoYWN0aXZlQ29udGVudCAmJiBhY3RpdmVDb250ZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5fY29udGVudC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGFjdGl2ZUNvbnRlbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGFjdGl2ZVRhYi5jb250ZW50UmVuZGVyZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9jb250ZW50QWRkZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVGFiQ2xpY2tlZCgpIHtcbiAgICB0aGlzLl9jb250ZW50QWRkZWQgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLmlzTW9iaWxlKCkpIHtcbiAgICAgIHRoaXMuX3RhYnNWaXNpYmxlID0gZmFsc2U7XG4gICAgICB0aGlzLmFuaW1hdGlvbkNvbnRlbnRWaXNpYmxlU3RhdGUgPSBWSVNJQkxFX1NUQVRFO1xuICAgICAgdGhpcy5hbmltYXRpb25UYWJzVmlzaWJsZVN0YXRlID0gSElEREVOX1NUQVRFO1xuICAgICAgdGhpcy5oaWRpbmdUYWJzLm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5pbmRleENoYW5nZWQubmV4dCh0aGlzLmFjdGl2ZUluZGV4KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { getStringForLocale } from '@skyux/i18n';
4
+ let SkyTabsResourcesProvider = class SkyTabsResourcesProvider {
5
+ constructor() {
6
+ this.resources = { "EN-US": { "skyux_tab_add": "Add tab", "skyux_tab_close": "Close {0} tab", "skyux_tabs_navigator_next": "Next", "skyux_tabs_navigator_previous": "Previous", "skyux_tab_open": "Open tab", "skyux_vertical_tabs_show_tabs_text": "Tab list" } };
7
+ }
8
+ getString(localeInfo, name) {
9
+ return getStringForLocale(this.resources, localeInfo.locale, name);
10
+ }
11
+ };
12
+ SkyTabsResourcesProvider = __decorate([
13
+ Injectable()
14
+ ], SkyTabsResourcesProvider);
15
+ export { SkyTabsResourcesProvider };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1yZXNvdXJjZXMtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvdGFicy8iLCJzb3VyY2VzIjpbInBsdWdpbi1yZXNvdXJjZXMvdGFicy1yZXNvdXJjZXMtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFDTCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGtCQUFrQixFQUduQixNQUFNLGFBQWEsQ0FBQztBQUdyQixJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQUFyQztRQUNVLGNBQVMsR0FBUSxFQUFDLE9BQU8sRUFBQyxFQUFDLGVBQWUsRUFBQyxTQUFTLEVBQUMsaUJBQWlCLEVBQUMsZUFBZSxFQUFDLDJCQUEyQixFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxVQUFVLEVBQUMsZ0JBQWdCLEVBQUMsVUFBVSxFQUFDLG9DQUFvQyxFQUFDLFVBQVUsRUFBQyxFQUFDLENBQUM7SUFLN1AsQ0FBQztJQUhRLFNBQVMsQ0FBQyxVQUE0QixFQUFFLElBQVk7UUFDekQsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztDQUNGLENBQUE7QUFOWSx3QkFBd0I7SUFEcEMsVUFBVSxFQUFFO0dBQ0Esd0JBQXdCLENBTXBDO1NBTlksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge1xuICBJbmplY3RhYmxlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBnZXRTdHJpbmdGb3JMb2NhbGUsXG4gIFNreUFwcExvY2FsZUluZm8sXG4gIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVRhYnNSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHJpdmF0ZSByZXNvdXJjZXM6IGFueSA9IHtcIkVOLVVTXCI6e1wic2t5dXhfdGFiX2FkZFwiOlwiQWRkIHRhYlwiLFwic2t5dXhfdGFiX2Nsb3NlXCI6XCJDbG9zZSB7MH0gdGFiXCIsXCJza3l1eF90YWJzX25hdmlnYXRvcl9uZXh0XCI6XCJOZXh0XCIsXCJza3l1eF90YWJzX25hdmlnYXRvcl9wcmV2aW91c1wiOlwiUHJldmlvdXNcIixcInNreXV4X3RhYl9vcGVuXCI6XCJPcGVuIHRhYlwiLFwic2t5dXhfdmVydGljYWxfdGFic19zaG93X3RhYnNfdGV4dFwiOlwiVGFiIGxpc3RcIn19O1xuXG4gIHB1YmxpYyBnZXRTdHJpbmcobG9jYWxlSW5mbzogU2t5QXBwTG9jYWxlSW5mbywgbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0U3RyaW5nRm9yTG9jYWxlKHRoaXMucmVzb3VyY2VzLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export * from './modules/sectioned-form/sectioned-form.module';
2
+ export * from './modules/sectioned-form/sectioned-form.service';
3
+ export * from './modules/tabs/tabs.module';
4
+ export * from './modules/vertical-tabset/vertical-tabset.module';
5
+ // The following export is needed because our docs use it as a prescribed pattern.
6
+ // Ideally, this functionality would live in a standard `Input` or `Output`.
7
+ // https://developer.blackbaud.com/skyux/components/sectioned-form#code
8
+ // TODO: Try to remove in a major release.
9
+ export * from './modules/sectioned-form/sectioned-form.component';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC90YWJzLyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaURBQWlELENBQUM7QUFNaEUsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLGtGQUFrRjtBQUNsRiw0RUFBNEU7QUFDNUUsdUVBQXVFO0FBQ3ZFLDBDQUEwQztBQUMxQyxjQUFjLG1EQUFtRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL3NlY3Rpb25lZC1mb3JtL3NlY3Rpb25lZC1mb3JtLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZXMvc2VjdGlvbmVkLWZvcm0vc2VjdGlvbmVkLWZvcm0uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy90YWJzL3RhYi1pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZXMvdGFicy90YWJzZXQtYnV0dG9ucy1kaXNwbGF5LW1vZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL3RhYnMvdGFic2V0LXN0eWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcy90YWJzL3RhYnNldC10YWItaW5kZXhlcy1jaGFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGVzL3RhYnMvdGFicy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC5tb2R1bGUnO1xuXG4vLyBUaGUgZm9sbG93aW5nIGV4cG9ydCBpcyBuZWVkZWQgYmVjYXVzZSBvdXIgZG9jcyB1c2UgaXQgYXMgYSBwcmVzY3JpYmVkIHBhdHRlcm4uXG4vLyBJZGVhbGx5LCB0aGlzIGZ1bmN0aW9uYWxpdHkgd291bGQgbGl2ZSBpbiBhIHN0YW5kYXJkIGBJbnB1dGAgb3IgYE91dHB1dGAuXG4vLyBodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvc2VjdGlvbmVkLWZvcm0jY29kZVxuLy8gVE9ETzogVHJ5IHRvIHJlbW92ZSBpbiBhIG1ham9yIHJlbGVhc2UuXG5leHBvcnQgKiBmcm9tICcuL21vZHVsZXMvc2VjdGlvbmVkLWZvcm0vc2VjdGlvbmVkLWZvcm0uY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ export { SkySectionedFormSectionComponent as ɵd } from './modules/sectioned-form/sectioned-form-section.component';
6
+ export { SkyTabsResourcesModule as ɵj } from './modules/shared/tabs-resources.module';
7
+ export { SkyTabButtonComponent as ɵl } from './modules/tabs/tab-button.component';
8
+ export { SkyTabComponent as ɵm } from './modules/tabs/tab.component';
9
+ export { SkyTabsetAdapterService as ɵq } from './modules/tabs/tabset-adapter.service';
10
+ export { SkyTabsetNavButtonComponent as ɵr } from './modules/tabs/tabset-nav-button.component';
11
+ export { SkyTabsetPermalinkService as ɵn } from './modules/tabs/tabset-permalink.service';
12
+ export { SkyTabsetComponent as ɵp } from './modules/tabs/tabset.component';
13
+ export { SkyTabsetService as ɵo } from './modules/tabs/tabset.service';
14
+ export { SkyVerticalTabMediaQueryService as ɵf } from './modules/vertical-tabset/vertical-tab-media-query.service';
15
+ export { SkyVerticalTabComponent as ɵe } from './modules/vertical-tabset/vertical-tab.component';
16
+ export { SkyVerticalTabsetAdapterService as ɵg } from './modules/vertical-tabset/vertical-tabset-adapter.service';
17
+ export { SkyVerticalTabsetGroupComponent as ɵi } from './modules/vertical-tabset/vertical-tabset-group.component';
18
+ export { SkyVerticalTabsetComponent as ɵh } from './modules/vertical-tabset/vertical-tabset.component';
19
+ export { HIDDEN_STATE as ɵb, SkyVerticalTabsetService as ɵc, VISIBLE_STATE as ɵa } from './modules/vertical-tabset/vertical-tabset.service';
20
+ export { SkyTabsResourcesProvider as ɵk } from './plugin-resources/tabs-resources-provider';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtdGFicy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC90YWJzLyIsInNvdXJjZXMiOlsic2t5dXgtdGFicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxnQ0FBZ0MsSUFBSSxFQUFFLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNqSCxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDeEYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUMsK0JBQStCLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDakgsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQy9GLE9BQU8sRUFBQywrQkFBK0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsK0JBQStCLElBQUksRUFBRSxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDaEgsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDeEksT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge1NreVNlY3Rpb25lZEZvcm1TZWN0aW9uQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9tb2R1bGVzL3NlY3Rpb25lZC1mb3JtL3NlY3Rpb25lZC1mb3JtLXNlY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCB7U2t5VGFic1Jlc291cmNlc01vZHVsZSBhcyDJtWp9IGZyb20gJy4vbW9kdWxlcy9zaGFyZWQvdGFicy1yZXNvdXJjZXMubW9kdWxlJztcbmV4cG9ydCB7U2t5VGFiQnV0dG9uQ29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9tb2R1bGVzL3RhYnMvdGFiLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtTa3lUYWJDb21wb25lbnQgYXMgybVtfSBmcm9tICcuL21vZHVsZXMvdGFicy90YWIuY29tcG9uZW50JztcbmV4cG9ydCB7U2t5VGFic2V0QWRhcHRlclNlcnZpY2UgYXMgybVxfSBmcm9tICcuL21vZHVsZXMvdGFicy90YWJzZXQtYWRhcHRlci5zZXJ2aWNlJztcbmV4cG9ydCB7U2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50IGFzIMm1cn0gZnJvbSAnLi9tb2R1bGVzL3RhYnMvdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCB7U2t5VGFic2V0UGVybWFsaW5rU2VydmljZSBhcyDJtW59IGZyb20gJy4vbW9kdWxlcy90YWJzL3RhYnNldC1wZXJtYWxpbmsuc2VydmljZSc7XG5leHBvcnQge1NreVRhYnNldENvbXBvbmVudCBhcyDJtXB9IGZyb20gJy4vbW9kdWxlcy90YWJzL3RhYnNldC5jb21wb25lbnQnO1xuZXhwb3J0IHtTa3lUYWJzZXRTZXJ2aWNlIGFzIMm1b30gZnJvbSAnLi9tb2R1bGVzL3RhYnMvdGFic2V0LnNlcnZpY2UnO1xuZXhwb3J0IHtTa3lWZXJ0aWNhbFRhYk1lZGlhUXVlcnlTZXJ2aWNlIGFzIMm1Zn0gZnJvbSAnLi9tb2R1bGVzL3ZlcnRpY2FsLXRhYnNldC92ZXJ0aWNhbC10YWItbWVkaWEtcXVlcnkuc2VydmljZSc7XG5leHBvcnQge1NreVZlcnRpY2FsVGFiQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9tb2R1bGVzL3ZlcnRpY2FsLXRhYnNldC92ZXJ0aWNhbC10YWIuY29tcG9uZW50JztcbmV4cG9ydCB7U2t5VmVydGljYWxUYWJzZXRBZGFwdGVyU2VydmljZSBhcyDJtWd9IGZyb20gJy4vbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LWFkYXB0ZXIuc2VydmljZSc7XG5leHBvcnQge1NreVZlcnRpY2FsVGFic2V0R3JvdXBDb21wb25lbnQgYXMgybVpfSBmcm9tICcuL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0IHtTa3lWZXJ0aWNhbFRhYnNldENvbXBvbmVudCBhcyDJtWh9IGZyb20gJy4vbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LmNvbXBvbmVudCc7XG5leHBvcnQge0hJRERFTl9TVEFURSBhcyDJtWIsU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlIGFzIMm1YyxWSVNJQkxFX1NUQVRFIGFzIMm1YX0gZnJvbSAnLi9tb2R1bGVzL3ZlcnRpY2FsLXRhYnNldC92ZXJ0aWNhbC10YWJzZXQuc2VydmljZSc7XG5leHBvcnQge1NreVRhYnNSZXNvdXJjZXNQcm92aWRlciBhcyDJtWt9IGZyb20gJy4vcGx1Z2luLXJlc291cmNlcy90YWJzLXJlc291cmNlcy1wcm92aWRlcic7Il19
@@ -0,0 +1,2 @@
1
+ export * from './tabs/tabset-fixture';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC90YWJzL3Rlc3RpbmcvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RhYnMvdGFiLWZpeHR1cmUtdGFiJztcbmV4cG9ydCAqIGZyb20gJy4vdGFicy90YWJzZXQtZml4dHVyZSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtdGFicy10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L3RhYnMvdGVzdGluZy8iLCJzb3VyY2VzIjpbInNreXV4LXRhYnMtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWZpeHR1cmUtdGFiLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L3RhYnMvdGVzdGluZy8iLCJzb3VyY2VzIjpbInRhYnMvdGFiLWZpeHR1cmUtdGFiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFByb3BlcnRpZXMgb2YgYSBTS1kgVVggdGFiLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreVRhYnNldEZpeHR1cmVUYWIge1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgdGFiIGlzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGFiLlxuICAgKi9cbiAgYWN0aXZlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgdGFiIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJtYWxpbmsgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgdGFiLlxuICAgKi9cbiAgcGVybWFsaW5rVmFsdWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvdW50IGRpc3BsYXllZCBpbiB0aGUgdGFiIGhlYWRlci5cbiAgICovXG4gIHRhYkhlYWRlckNvdW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGRpc3BsYXllZCBpbiB0aGUgdGFiIGhlYWRlci5cbiAgICovXG4gIHRhYkhlYWRpbmc6IHN0cmluZztcblxufVxuIl19
@@ -0,0 +1,141 @@
1
+ import { __awaiter } from "tslib";
2
+ import { By } from '@angular/platform-browser';
3
+ import { SkyAppTestUtility } from '@skyux-sdk/testing';
4
+ /**
5
+ * Allows interaction with a SKY UX tabset component.
6
+ */
7
+ export class SkyTabsetFixture {
8
+ constructor(fixture, skyTestId) {
9
+ this.fixture = fixture;
10
+ this.debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-tabset');
11
+ }
12
+ /**
13
+ * The tabset component's ARIA label.
14
+ */
15
+ get ariaLabel() {
16
+ const tabsetEl = this.getTabsetEl();
17
+ return tabsetEl.getAttribute('aria-label') || undefined;
18
+ }
19
+ /**
20
+ * The tabset component's ARIA labelled by attribute.
21
+ */
22
+ get ariaLabelledBy() {
23
+ const tabsetEl = this.getTabsetEl();
24
+ return tabsetEl.getAttribute('aria-labelledby') || undefined;
25
+ }
26
+ /**
27
+ * The index of the currently selected tab.
28
+ */
29
+ get activeTabIndex() {
30
+ const tabLinkEls = this.getTabLinkEls();
31
+ for (let i = 0, n = tabLinkEls.length; i < n; i++) {
32
+ if (tabLinkEls.item(i).classList.contains('sky-btn-tab-selected')) {
33
+ return i;
34
+ }
35
+ }
36
+ return -1;
37
+ }
38
+ /**
39
+ * Retrieves information about the tab at the specified index.
40
+ * @param tabIndex The index of the tab.
41
+ */
42
+ getTab(tabIndex) {
43
+ const tabLinkEl = this.getTabLinkEl(tabIndex);
44
+ const active = this.activeTabIndex === tabIndex;
45
+ const disabled = tabLinkEl.classList.contains('sky-btn-tab-disabled');
46
+ const tabHeading = this.getTextContent(tabLinkEl.querySelector('.sky-tab-heading').childNodes[0]);
47
+ const tabHeaderCount = this.getTextContent(tabLinkEl.querySelector('.sky-tab-header-count'));
48
+ let permalinkValue;
49
+ if (tabLinkEl.href) {
50
+ const permalink = tabLinkEl.href.split('?')[1];
51
+ if (permalink) {
52
+ const permalinkParts = permalink.split('=');
53
+ permalinkValue = decodeURIComponent(permalinkParts[1]);
54
+ }
55
+ }
56
+ return {
57
+ active,
58
+ disabled,
59
+ permalinkValue,
60
+ tabHeaderCount,
61
+ tabHeading
62
+ };
63
+ }
64
+ /**
65
+ * Clicks the tabset's "new" button.
66
+ */
67
+ clickNewButton() {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ return this.clickButton('sky-tabset-btn-new');
70
+ });
71
+ }
72
+ /**
73
+ * Clicks the tabset's "open" button.
74
+ */
75
+ clickOpenButton() {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ return this.clickButton('sky-tabset-btn-open');
78
+ });
79
+ }
80
+ /**
81
+ * Clicks the tab button at the specified index.
82
+ * @param tabIndex The index of the tab.
83
+ */
84
+ clickTab(tabIndex) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const tabLinkEl = this.getTabLinkEl(tabIndex);
87
+ if (!tabLinkEl) {
88
+ throw new Error(`There is no tab at index ${tabIndex}.`);
89
+ }
90
+ tabLinkEl.click();
91
+ this.fixture.detectChanges();
92
+ return this.fixture.whenStable();
93
+ });
94
+ }
95
+ /**
96
+ * Click's the tab's close button at the specified index.
97
+ * @param tabIndex The index of the tab.
98
+ */
99
+ clickTabClose(tabIndex) {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ const tabWrapperEl = this.getTabsetEl().querySelectorAll(`.sky-tabset-tabs .sky-btn-tab-wrapper`)[tabIndex];
102
+ if (!tabWrapperEl) {
103
+ throw new Error(`There is no tab at index ${tabIndex}.`);
104
+ }
105
+ const closeBtnEl = tabWrapperEl.querySelector('.sky-btn-tab-close');
106
+ if (!closeBtnEl) {
107
+ throw new Error('The specified tab does not have a close button.');
108
+ }
109
+ closeBtnEl.click();
110
+ this.fixture.detectChanges();
111
+ return this.fixture.whenStable();
112
+ });
113
+ }
114
+ clickButton(buttonCls) {
115
+ return __awaiter(this, void 0, void 0, function* () {
116
+ const tabsetEl = this.getTabsetEl();
117
+ const newButtonEl = tabsetEl.querySelector(`.sky-tabset-btns .${buttonCls}`);
118
+ newButtonEl.click();
119
+ this.fixture.detectChanges();
120
+ return this.fixture.whenStable();
121
+ });
122
+ }
123
+ getTabsetEl() {
124
+ const tabsetEl = this.debugEl.query(By.css('.sky-tabset')).nativeElement;
125
+ return tabsetEl;
126
+ }
127
+ getTabLinkEls() {
128
+ return this.getTabsetEl().querySelectorAll(`.sky-tabset-tabs .sky-btn-tab`);
129
+ }
130
+ getTabLinkEl(tabIndex) {
131
+ const tabLinkEl = this.getTabLinkEls().item(tabIndex);
132
+ if (!tabLinkEl) {
133
+ throw new Error(`There is no tab at index ${tabIndex}.`);
134
+ }
135
+ return tabLinkEl;
136
+ }
137
+ getTextContent(el) {
138
+ return (el && el.textContent.trim()) || undefined;
139
+ }
140
+ }
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWZpeHR1cmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvdGFicy90ZXN0aW5nLyIsInNvdXJjZXMiOlsidGFicy90YWJzZXQtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBUUEsT0FBTyxFQUNMLEVBQUUsRUFDSCxNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFDTCxpQkFBaUIsRUFDbEIsTUFBTSxvQkFBb0IsQ0FBQztBQU01Qjs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFtQzNCLFlBQ1UsT0FBOEIsRUFDdEMsU0FBaUI7UUFEVCxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUd0QyxJQUFJLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQXRDRDs7T0FFRztJQUNILElBQVcsU0FBUztRQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXhDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakQsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFD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Rml4dHVyZVxufSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQge1xuICBEZWJ1Z0VsZW1lbnRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEJ5XG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQge1xuICBTa3lBcHBUZXN0VXRpbGl0eVxufSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG5pbXBvcnQge1xuICBTa3lUYWJzZXRGaXh0dXJlVGFiXG59IGZyb20gJy4vdGFiLWZpeHR1cmUtdGFiJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCB0YWJzZXQgY29tcG9uZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2t5VGFic2V0Rml4dHVyZSB7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWJzZXQgY29tcG9uZW50J3MgQVJJQSBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdGFic2V0RWwgPSB0aGlzLmdldFRhYnNldEVsKCk7XG4gICAgcmV0dXJuIHRhYnNldEVsLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGFic2V0IGNvbXBvbmVudCdzIEFSSUEgbGFiZWxsZWQgYnkgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldCBhcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRhYnNldEVsID0gdGhpcy5nZXRUYWJzZXRFbCgpO1xuICAgIHJldHVybiB0YWJzZXRFbC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5kZXggb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0YWIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZVRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgY29uc3QgdGFiTGlua0VscyA9IHRoaXMuZ2V0VGFiTGlua0VscygpO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSB0YWJMaW5rRWxzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgaWYgKHRhYkxpbmtFbHMuaXRlbShpKS5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1idG4tdGFiLXNlbGVjdGVkJykpIHtcbiAgICAgICAgcmV0dXJuIGk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT4sXG4gICAgc2t5VGVzdElkOiBzdHJpbmdcbiAgKSB7XG4gICAgdGhpcy5kZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoZml4dHVyZSwgc2t5VGVzdElkLCAnc2t5LXRhYnNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFiIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYi5cbiAgICovXG4gIHB1YmxpYyBnZXRUYWIodGFiSW5kZXg6IG51bWJlcik6IFNreVRhYnNldEZpeHR1cmVUYWIge1xuICAgIGNvbnN0IHRhYkxpbmtFbCA9IHRoaXMuZ2V0VGFiTGlua0VsKHRhYkluZGV4KTtcblxuICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuYWN0aXZlVGFiSW5kZXggPT09IHRhYkluZGV4O1xuICAgIGNvbnN0IGRpc2FibGVkID0gdGFiTGlua0VsLmNsYXNzTGlzdC5jb250YWlucygnc2t5LWJ0bi10YWItZGlzYWJsZWQnKTtcbiAgICBjb25zdCB0YWJIZWFkaW5nID0gdGhpcy5nZXRUZXh0Q29udGVudChcbiAgICAgIHRhYkxpbmtFbC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYi1oZWFkaW5nJykuY2hpbGROb2Rlc1swXVxuICAgICk7XG4gICAgY29uc3QgdGFiSGVhZGVyQ291bnQgPSB0aGlzLmdldFRleHRDb250ZW50KHRhYkxpbmtFbC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYi1oZWFkZXItY291bnQnKSk7XG5cbiAgICBsZXQgcGVybWFsaW5rVmFsdWU6IHN0cmluZztcblxuICAgIGlmICh0YWJMaW5rRWwuaHJlZikge1xuICAgICAgY29uc3QgcGVybWFsaW5rID0gdGFiTGlua0VsLmhyZWYuc3BsaXQoJz8nKVsxXTtcbiAgICAgIGlmIChwZXJtYWxpbmspIHtcbiAgICAgICAgY29uc3QgcGVybWFsaW5rUGFydHMgPSBwZXJtYWxpbmsuc3BsaXQoJz0nKTtcblxuICAgICAgICBwZXJtYWxpbmtWYWx1ZSA9IGRlY29kZVVSSUNvbXBvbmVudChwZXJtYWxpbmtQYXJ0c1sxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFjdGl2ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgcGVybWFsaW5rVmFsdWUsXG4gICAgICB0YWJIZWFkZXJDb3VudCxcbiAgICAgIHRhYkhlYWRpbmdcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgdGFic2V0J3MgXCJuZXdcIiBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tOZXdCdXR0b24oKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jbGlja0J1dHRvbignc2t5LXRhYnNldC1idG4tbmV3Jyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSB0YWJzZXQncyBcIm9wZW5cIiBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tPcGVuQnV0dG9uKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpY2tCdXR0b24oJ3NreS10YWJzZXQtYnRuLW9wZW4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIHRhYiBidXR0b24gYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrVGFiKHRhYkluZGV4OiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHRhYkxpbmtFbCA9IHRoaXMuZ2V0VGFiTGlua0VsKHRhYkluZGV4KTtcblxuICAgIGlmICghdGFiTGlua0VsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIG5vIHRhYiBhdCBpbmRleCAke3RhYkluZGV4fS5gKTtcbiAgICB9XG5cbiAgICB0YWJMaW5rRWwuY2xpY2soKTtcblxuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sncyB0aGUgdGFiJ3MgY2xvc2UgYnV0dG9uIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja1RhYkNsb3NlKHRhYkluZGV4OiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHRhYldyYXBwZXJFbCA9IHRoaXMuZ2V0VGFic2V0RWwoKS5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgYC5za3ktdGFic2V0LXRhYnMgLnNreS1idG4tdGFiLXdyYXBwZXJgXG4gICAgKVt0YWJJbmRleF07XG5cbiAgICBpZiAoIXRhYldyYXBwZXJFbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyB0YWIgYXQgaW5kZXggJHt0YWJJbmRleH0uYCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2xvc2VCdG5FbCA9IHRhYldyYXBwZXJFbC5xdWVyeVNlbGVjdG9yKCcuc2t5LWJ0bi10YWItY2xvc2UnKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcblxuICAgIGlmICghY2xvc2VCdG5FbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgc3BlY2lmaWVkIHRhYiBkb2VzIG5vdCBoYXZlIGEgY2xvc2UgYnV0dG9uLicpO1xuICAgIH1cblxuICAgIGNsb3NlQnRuRWwuY2xpY2soKTtcblxuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNsaWNrQnV0dG9uKGJ1dHRvbkNsczogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB0YWJzZXRFbCA9IHRoaXMuZ2V0VGFic2V0RWwoKTtcblxuICAgIGNvbnN0IG5ld0J1dHRvbkVsID1cbiAgICAgIHRhYnNldEVsLnF1ZXJ5U2VsZWN0b3IoYC5za3ktdGFic2V0LWJ0bnMgLiR7YnV0dG9uQ2xzfWApIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuXG4gICAgbmV3QnV0dG9uRWwuY2xpY2soKTtcblxuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFRhYnNldEVsKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICBjb25zdCB0YWJzZXRFbCA9IHRoaXMuZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktdGFic2V0JykpLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICByZXR1cm4gdGFic2V0RWw7XG4gIH1cblxuICBwcml2YXRlIGdldFRhYkxpbmtFbHMoKTogTm9kZUxpc3RPZjxIVE1MQW5jaG9yRWxlbWVudD4ge1xuICAgIHJldHVybiB0aGlzLmdldFRhYnNldEVsKCkucXVlcnlTZWxlY3RvckFsbChcbiAgICAgIGAuc2t5LXRhYnNldC10YWJzIC5za3ktYnRuLXRhYmBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYWJMaW5rRWwodGFiSW5kZXg6IG51bWJlcik6IEhUTUxBbmNob3JFbGVtZW50IHtcbiAgICBjb25zdCB0YWJMaW5rRWwgPSB0aGlzLmdldFRhYkxpbmtFbHMoKS5pdGVtKHRhYkluZGV4KTtcblxuICAgIGlmICghdGFiTGlua0VsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIG5vIHRhYiBhdCBpbmRleCAke3RhYkluZGV4fS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGFiTGlua0VsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUZXh0Q29udGVudChlbDogRWxlbWVudCB8IE5vZGUpOiBzdHJpbmcge1xuICAgIHJldHVybiAoZWwgJiYgZWwudGV4dENvbnRlbnQudHJpbSgpKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxufVxuIl19