@skyux/tabs 5.0.4 → 5.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-tabs.umd.js +147 -181
  3. package/documentation.json +761 -481
  4. package/esm2015/index.js +23 -0
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/lib/modules/sectioned-form/sectioned-form-section.component.js +67 -0
  7. package/esm2015/lib/modules/sectioned-form/sectioned-form-section.component.js.map +1 -0
  8. package/esm2015/lib/modules/sectioned-form/sectioned-form.component.js +116 -0
  9. package/esm2015/lib/modules/sectioned-form/sectioned-form.component.js.map +1 -0
  10. package/esm2015/lib/modules/sectioned-form/sectioned-form.module.js +35 -0
  11. package/esm2015/lib/modules/sectioned-form/sectioned-form.module.js.map +1 -0
  12. package/esm2015/lib/modules/sectioned-form/sectioned-form.service.js +35 -0
  13. package/esm2015/lib/modules/sectioned-form/sectioned-form.service.js.map +1 -0
  14. package/esm2015/lib/modules/shared/sky-tabs-resources.module.js +52 -0
  15. package/esm2015/lib/modules/shared/sky-tabs-resources.module.js.map +1 -0
  16. package/esm2015/lib/modules/tabs/tab-button.component.js +76 -0
  17. package/esm2015/lib/modules/tabs/tab-button.component.js.map +1 -0
  18. package/esm2015/lib/modules/tabs/tab-index.js +2 -0
  19. package/esm2015/lib/modules/tabs/tab-index.js.map +1 -0
  20. package/esm2015/lib/modules/tabs/tab.component.js +135 -0
  21. package/esm2015/lib/modules/tabs/tab.component.js.map +1 -0
  22. package/esm2015/lib/modules/tabs/tabs.module.js +57 -0
  23. package/esm2015/lib/modules/tabs/tabs.module.js.map +1 -0
  24. package/esm2015/lib/modules/tabs/tabset-active-tab-unregistered-args.js +2 -0
  25. package/esm2015/lib/modules/tabs/tabset-active-tab-unregistered-args.js.map +1 -0
  26. package/esm2015/lib/modules/tabs/tabset-adapter.service.js +56 -0
  27. package/esm2015/lib/modules/tabs/tabset-adapter.service.js.map +1 -0
  28. package/esm2015/lib/modules/tabs/tabset-buttons-display-mode.js +2 -0
  29. package/esm2015/lib/modules/tabs/tabset-buttons-display-mode.js.map +1 -0
  30. package/esm2015/lib/modules/tabs/tabset-nav-button.component.js +119 -0
  31. package/esm2015/lib/modules/tabs/tabset-nav-button.component.js.map +1 -0
  32. package/esm2015/lib/modules/tabs/tabset-permalink.service.js +126 -0
  33. package/esm2015/lib/modules/tabs/tabset-permalink.service.js.map +1 -0
  34. package/esm2015/lib/modules/tabs/tabset-style.js +2 -0
  35. package/esm2015/lib/modules/tabs/tabset-style.js.map +1 -0
  36. package/esm2015/lib/modules/tabs/tabset-tab-indexes-change.js +2 -0
  37. package/esm2015/lib/modules/tabs/tabset-tab-indexes-change.js.map +1 -0
  38. package/esm2015/lib/modules/tabs/tabset.component.js +405 -0
  39. package/esm2015/lib/modules/tabs/tabset.component.js.map +1 -0
  40. package/esm2015/lib/modules/tabs/tabset.service.js +110 -0
  41. package/esm2015/lib/modules/tabs/tabset.service.js.map +1 -0
  42. package/esm2015/lib/modules/vertical-tabset/vertical-tab-media-query.service.js +72 -0
  43. package/esm2015/lib/modules/vertical-tabset/vertical-tab-media-query.service.js.map +1 -0
  44. package/esm2015/lib/modules/vertical-tabset/vertical-tab.component.js +203 -0
  45. package/esm2015/lib/modules/vertical-tabset/vertical-tab.component.js.map +1 -0
  46. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-adapter.service.js +48 -0
  47. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-adapter.service.js.map +1 -0
  48. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-group.component.js +89 -0
  49. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-group.component.js.map +1 -0
  50. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.component.js +157 -0
  51. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.component.js.map +1 -0
  52. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.module.js +60 -0
  53. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.module.js.map +1 -0
  54. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.service.js +170 -0
  55. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.service.js.map +1 -0
  56. package/esm2015/skyux-tabs.js +2 -2
  57. package/esm2015/skyux-tabs.js.map +1 -0
  58. package/esm2015/testing/public-api.js +1 -1
  59. package/esm2015/testing/public-api.js.map +1 -0
  60. package/esm2015/testing/skyux-tabs-testing.js +1 -1
  61. package/esm2015/testing/skyux-tabs-testing.js.map +1 -0
  62. package/esm2015/testing/tabs/tab-fixture-tab.js +1 -1
  63. package/esm2015/testing/tabs/tab-fixture-tab.js.map +1 -0
  64. package/esm2015/testing/tabs/tabset-fixture.js +1 -1
  65. package/esm2015/testing/tabs/tabset-fixture.js.map +1 -0
  66. package/fesm2015/skyux-tabs-testing.js.map +1 -1
  67. package/fesm2015/skyux-tabs.js +238 -259
  68. package/fesm2015/skyux-tabs.js.map +1 -1
  69. package/index.d.ts +16 -0
  70. package/{modules → lib/modules}/sectioned-form/sectioned-form-section.component.d.ts +0 -3
  71. package/{modules → lib/modules}/sectioned-form/sectioned-form.component.d.ts +0 -0
  72. package/{modules → lib/modules}/sectioned-form/sectioned-form.module.d.ts +0 -0
  73. package/{modules → lib/modules}/sectioned-form/sectioned-form.service.d.ts +0 -0
  74. package/{modules → lib/modules}/shared/sky-tabs-resources.module.d.ts +0 -0
  75. package/{modules → lib/modules}/tabs/tab-button.component.d.ts +2 -2
  76. package/{modules → lib/modules}/tabs/tab-index.d.ts +0 -0
  77. package/{modules → lib/modules}/tabs/tab.component.d.ts +0 -0
  78. package/{modules → lib/modules}/tabs/tabs.module.d.ts +0 -0
  79. package/{modules → lib/modules}/tabs/tabset-active-tab-unregistered-args.d.ts +0 -0
  80. package/{modules → lib/modules}/tabs/tabset-adapter.service.d.ts +0 -0
  81. package/{modules → lib/modules}/tabs/tabset-buttons-display-mode.d.ts +0 -0
  82. package/{modules → lib/modules}/tabs/tabset-nav-button.component.d.ts +0 -0
  83. package/{modules → lib/modules}/tabs/tabset-permalink.service.d.ts +0 -0
  84. package/{modules → lib/modules}/tabs/tabset-style.d.ts +0 -0
  85. package/{modules → lib/modules}/tabs/tabset-tab-indexes-change.d.ts +0 -0
  86. package/{modules → lib/modules}/tabs/tabset.component.d.ts +1 -1
  87. package/{modules → lib/modules}/tabs/tabset.service.d.ts +0 -0
  88. package/{modules → lib/modules}/vertical-tabset/vertical-tab-media-query.service.d.ts +0 -0
  89. package/{modules → lib/modules}/vertical-tabset/vertical-tab.component.d.ts +8 -13
  90. package/{modules → lib/modules}/vertical-tabset/vertical-tabset-adapter.service.d.ts +0 -0
  91. package/{modules → lib/modules}/vertical-tabset/vertical-tabset-group.component.d.ts +2 -2
  92. package/{modules → lib/modules}/vertical-tabset/vertical-tabset.component.d.ts +17 -2
  93. package/{modules → lib/modules}/vertical-tabset/vertical-tabset.module.d.ts +4 -3
  94. package/{modules → lib/modules}/vertical-tabset/vertical-tabset.service.d.ts +0 -0
  95. package/package.json +25 -11
  96. package/skyux-tabs.d.ts +1 -1
  97. package/LICENSE +0 -21
  98. package/esm2015/modules/sectioned-form/sectioned-form-section.component.js +0 -70
  99. package/esm2015/modules/sectioned-form/sectioned-form.component.js +0 -116
  100. package/esm2015/modules/sectioned-form/sectioned-form.module.js +0 -35
  101. package/esm2015/modules/sectioned-form/sectioned-form.service.js +0 -35
  102. package/esm2015/modules/shared/sky-tabs-resources.module.js +0 -52
  103. package/esm2015/modules/tabs/tab-button.component.js +0 -65
  104. package/esm2015/modules/tabs/tab-index.js +0 -2
  105. package/esm2015/modules/tabs/tab.component.js +0 -133
  106. package/esm2015/modules/tabs/tabs.module.js +0 -57
  107. package/esm2015/modules/tabs/tabset-active-tab-unregistered-args.js +0 -2
  108. package/esm2015/modules/tabs/tabset-adapter.service.js +0 -56
  109. package/esm2015/modules/tabs/tabset-buttons-display-mode.js +0 -2
  110. package/esm2015/modules/tabs/tabset-nav-button.component.js +0 -117
  111. package/esm2015/modules/tabs/tabset-permalink.service.js +0 -124
  112. package/esm2015/modules/tabs/tabset-style.js +0 -2
  113. package/esm2015/modules/tabs/tabset-tab-indexes-change.js +0 -2
  114. package/esm2015/modules/tabs/tabset.component.js +0 -405
  115. package/esm2015/modules/tabs/tabset.service.js +0 -110
  116. package/esm2015/modules/vertical-tabset/vertical-tab-media-query.service.js +0 -72
  117. package/esm2015/modules/vertical-tabset/vertical-tab.component.js +0 -192
  118. package/esm2015/modules/vertical-tabset/vertical-tabset-adapter.service.js +0 -48
  119. package/esm2015/modules/vertical-tabset/vertical-tabset-group.component.js +0 -134
  120. package/esm2015/modules/vertical-tabset/vertical-tabset.component.js +0 -149
  121. package/esm2015/modules/vertical-tabset/vertical-tabset.module.js +0 -56
  122. package/esm2015/modules/vertical-tabset/vertical-tabset.service.js +0 -170
  123. package/esm2015/public-api.js +0 -23
  124. package/public-api.d.ts +0 -16
@@ -1,110 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject, Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * @internal
6
- */
7
- export class SkyTabsetService {
8
- constructor() {
9
- this.currentActiveTabIndex = 0;
10
- this._activeTabIndex = new BehaviorSubject(0);
11
- this._activeTabUnregistered = new Subject();
12
- this.tabs = [];
13
- this.tabCounter = 0;
14
- }
15
- get activeTabUnregistered() {
16
- return this._activeTabUnregistered.asObservable();
17
- }
18
- get activeTabIndex() {
19
- return this._activeTabIndex.asObservable();
20
- }
21
- /**
22
- * Sets the active tab by its unique `tabIndex` property.
23
- */
24
- setActiveTabIndex(value, config = {
25
- emitChange: true,
26
- }) {
27
- if (value !== undefined &&
28
- !this.tabIndexesEqual(value, this.currentActiveTabIndex)) {
29
- this.currentActiveTabIndex = value;
30
- /* istanbul ignore else */
31
- if (config.emitChange) {
32
- this._activeTabIndex.next(value);
33
- }
34
- }
35
- }
36
- /**
37
- * Registers a tab component.
38
- */
39
- registerTab(tabIndex) {
40
- if (tabIndex === undefined) {
41
- tabIndex = this.tabCounter;
42
- this.tabCounter++;
43
- }
44
- this.tabs.push({ tabIndex });
45
- return tabIndex;
46
- }
47
- updateTabIndex(currentTabIndex, newTabIndex) {
48
- const found = this.tabs.find((tab) => this.tabIndexesEqual(tab.tabIndex, currentTabIndex));
49
- found.tabIndex = newTabIndex;
50
- }
51
- /**
52
- * Unregisters a tab component.
53
- */
54
- unregisterTab(tabIndex) {
55
- const index = this.tabs.findIndex((tab) => this.tabIndexesEqual(tab.tabIndex, tabIndex));
56
- // Notify the tabset component when an active tab is unregistered.
57
- if (this.isTabIndexActive(this.tabs[index].tabIndex)) {
58
- this._activeTabUnregistered.next({
59
- arrayIndex: index,
60
- });
61
- }
62
- this.tabs.splice(index, 1);
63
- }
64
- /**
65
- * Unregisters all tab components at once.
66
- */
67
- unregisterAll() {
68
- this.tabs = [];
69
- }
70
- /**
71
- * Compares two tab indexes and returns `true` if they are equal.
72
- */
73
- tabIndexesEqual(tabIndex1, tabIndex2) {
74
- return tabIndex1 === tabIndex2 || +tabIndex1 === +tabIndex2;
75
- }
76
- /**
77
- * Verifies if a provided tab index is registered.
78
- */
79
- isValidTabIndex(tabIndex) {
80
- return this.tabs.some((tab) => this.tabIndexesEqual(tab.tabIndex, tabIndex));
81
- }
82
- /**
83
- * Activates the first registered tab.
84
- */
85
- activateFirstTab() {
86
- const firstTabIndex = this.tabs[0] && this.tabs[0].tabIndex;
87
- if (firstTabIndex !== undefined) {
88
- this.setActiveTabIndex(firstTabIndex);
89
- return firstTabIndex;
90
- }
91
- }
92
- /**
93
- * Activates the next registered tab, or the previous one based on a provided array index.
94
- */
95
- activateNearestTab(arrayIndex) {
96
- const newActiveTab = this.tabs[arrayIndex] || this.tabs[arrayIndex - 1];
97
- if (newActiveTab) {
98
- this.currentActiveTabIndex = newActiveTab.tabIndex;
99
- }
100
- }
101
- isTabIndexActive(tabIndex) {
102
- return this.tabIndexesEqual(tabIndex, this.currentActiveTabIndex);
103
- }
104
- }
105
- SkyTabsetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
106
- SkyTabsetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsetService });
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsetService, decorators: [{
108
- type: Injectable
109
- }] });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWJzL3NyYy9tb2R1bGVzL3RhYnMvdGFic2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNNUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBVVMsMEJBQXFCLEdBQWdCLENBQUMsQ0FBQztRQUV0QyxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFjLENBQUMsQ0FBQyxDQUFDO1FBRXRELDJCQUFzQixHQUM1QixJQUFJLE9BQU8sRUFBc0MsQ0FBQztRQUU1QyxTQUFJLEdBRU4sRUFBRSxDQUFDO1FBRUQsZUFBVSxHQUFHLENBQUMsQ0FBQztLQW1IeEI7SUF0SUMsSUFBVyxxQkFBcUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQWVEOztPQUVHO0lBQ0ksaUJBQWlCLENBQ3RCLEtBQWtCLEVBQ2xCLE1BQU0sR0FBRztRQUNQLFVBQVUsRUFBRSxJQUFJO0tBQ2pCO1FBRUQsSUFDRSxLQUFLLEtBQUssU0FBUztZQUNuQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUN4RDtZQUNBLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7WUFDbkMsMEJBQTBCO1lBQzFCLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMs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SUFDcEUsQ0FBQzs7OEdBdElVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lUYWJJbmRleCB9IGZyb20gJy4vdGFiLWluZGV4JztcblxuaW1wb3J0IHsgU2t5VGFic2V0QWN0aXZlVGFiVW5yZWdpc3RlcmVkQXJncyB9IGZyb20gJy4vdGFic2V0LWFjdGl2ZS10YWItdW5yZWdpc3RlcmVkLWFyZ3MnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGFic2V0U2VydmljZSB7XG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiVW5yZWdpc3RlcmVkKCk6IE9ic2VydmFibGU8U2t5VGFic2V0QWN0aXZlVGFiVW5yZWdpc3RlcmVkQXJncz4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVUYWJVbnJlZ2lzdGVyZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZVRhYkluZGV4KCk6IE9ic2VydmFibGU8U2t5VGFiSW5kZXg+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlVGFiSW5kZXguYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgY3VycmVudEFjdGl2ZVRhYkluZGV4OiBTa3lUYWJJbmRleCA9IDA7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlVGFiSW5kZXggPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreVRhYkluZGV4PigwKTtcblxuICBwcml2YXRlIF9hY3RpdmVUYWJVbnJlZ2lzdGVyZWQgPVxuICAgIG5ldyBTdWJqZWN0PFNreVRhYnNldEFjdGl2ZVRhYlVucmVnaXN0ZXJlZEFyZ3M+KCk7XG5cbiAgcHJpdmF0ZSB0YWJzOiB7XG4gICAgdGFiSW5kZXg6IFNreVRhYkluZGV4O1xuICB9W10gPSBbXTtcblxuICBwcml2YXRlIHRhYkNvdW50ZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhY3RpdmUgdGFiIGJ5IGl0cyB1bmlxdWUgYHRhYkluZGV4YCBwcm9wZXJ0eS5cbiAgICovXG4gIHB1YmxpYyBzZXRBY3RpdmVUYWJJbmRleChcbiAgICB2YWx1ZTogU2t5VGFiSW5kZXgsXG4gICAgY29uZmlnID0ge1xuICAgICAgZW1pdENoYW5nZTogdHJ1ZSxcbiAgICB9XG4gICk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICF0aGlzLnRhYkluZGV4ZXNFcXVhbCh2YWx1ZSwgdGhpcy5jdXJyZW50QWN0aXZlVGFiSW5kZXgpXG4gICAgKSB7XG4gICAgICB0aGlzLmN1cnJlbnRBY3RpdmVUYWJJbmRleCA9IHZhbHVlO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChjb25maWcuZW1pdENoYW5nZSkge1xuICAgICAgICB0aGlzLl9hY3RpdmVUYWJJbmRleC5uZXh0KHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgdGFiIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlclRhYih0YWJJbmRleD86IFNreVRhYkluZGV4KTogU2t5VGFiSW5kZXgge1xuICAgIGlmICh0YWJJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0YWJJbmRleCA9IHRoaXMudGFiQ291bnRlcjtcbiAgICAgIHRoaXMudGFiQ291bnRlcisrO1xuICAgIH1cblxuICAgIHRoaXMudGFicy5wdXNoKHsgdGFiSW5kZXggfSk7XG5cbiAgICByZXR1cm4gdGFiSW5kZXg7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVGFiSW5kZXgoXG4gICAgY3VycmVudFRhYkluZGV4OiBTa3lUYWJJbmRleCxcbiAgICBuZXdUYWJJbmRleDogU2t5VGFiSW5kZXhcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZm91bmQgPSB0aGlzLnRhYnMuZmluZCgodGFiKSA9PlxuICAgICAgdGhpcy50YWJJbmRleGVzRXF1YWwodGFiLnRhYkluZGV4LCBjdXJyZW50VGFiSW5kZXgpXG4gICAgKTtcbiAgICBmb3VuZC50YWJJbmRleCA9IG5ld1RhYkluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIFVucmVnaXN0ZXJzIGEgdGFiIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyB1bnJlZ2lzdGVyVGFiKHRhYkluZGV4OiBTa3lUYWJJbmRleCk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy50YWJzLmZpbmRJbmRleCgodGFiKSA9PlxuICAgICAgdGhpcy50YWJJbmRleGVzRXF1YWwodGFiLnRhYkluZGV4LCB0YWJJbmRleClcbiAgICApO1xuXG4gICAgLy8gTm90aWZ5IHRoZSB0YWJzZXQgY29tcG9uZW50IHdoZW4gYW4gYWN0aXZlIHRhYiBpcyB1bnJlZ2lzdGVyZWQuXG4gICAgaWYgKHRoaXMuaXNUYWJJbmRleEFjdGl2ZSh0aGlzLnRhYnNbaW5kZXhdLnRhYkluZGV4KSkge1xuICAgICAgdGhpcy5fYWN0aXZlVGFiVW5yZWdpc3RlcmVkLm5leHQoe1xuICAgICAgICBhcnJheUluZGV4OiBpbmRleCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudGFicy5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVucmVnaXN0ZXJzIGFsbCB0YWIgY29tcG9uZW50cyBhdCBvbmNlLlxuICAgKi9cbiAgcHVibGljIHVucmVnaXN0ZXJBbGwoKTogdm9pZCB7XG4gICAgdGhpcy50YWJzID0gW107XG4gIH1cblxuICAvKipcbiAgICogQ29tcGFyZXMgdHdvIHRhYiBpbmRleGVzIGFuZCByZXR1cm5zIGB0cnVlYCBpZiB0aGV5IGFyZSBlcXVhbC5cbiAgICovXG4gIHB1YmxpYyB0YWJJbmRleGVzRXF1YWwoXG4gICAgdGFiSW5kZXgxOiBTa3lUYWJJbmRleCxcbiAgICB0YWJJbmRleDI6IFNreVRhYkluZGV4XG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0YWJJbmRleDEgPT09IHRhYkluZGV4MiB8fCArdGFiSW5kZXgxID09PSArdGFiSW5kZXgyO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIGlmIGEgcHJvdmlkZWQgdGFiIGluZGV4IGlzIHJlZ2lzdGVyZWQuXG4gICAqL1xuICBwdWJsaWMgaXNWYWxpZFRhYkluZGV4KHRhYkluZGV4OiBTa3lUYWJJbmRleCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhYnMuc29tZSgodGFiKSA9PlxuICAgICAgdGhpcy50YWJJbmRleGVzRXF1YWwodGFiLnRhYkluZGV4LCB0YWJJbmRleClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlcyB0aGUgZmlyc3QgcmVnaXN0ZXJlZCB0YWIuXG4gICAqL1xuICBwdWJsaWMgYWN0aXZhdGVGaXJzdFRhYigpOiBTa3lUYWJJbmRleCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZmlyc3RUYWJJbmRleCA9IHRoaXMudGFic1swXSAmJiB0aGlzLnRhYnNbMF0udGFiSW5kZXg7XG4gICAgaWYgKGZpcnN0VGFiSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zZXRBY3RpdmVUYWJJbmRleChmaXJzdFRhYkluZGV4KTtcbiAgICAgIHJldHVybiBmaXJzdFRhYkluZGV4O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgdGhlIG5leHQgcmVnaXN0ZXJlZCB0YWIsIG9yIHRoZSBwcmV2aW91cyBvbmUgYmFzZWQgb24gYSBwcm92aWRlZCBhcnJheSBpbmRleC5cbiAgICovXG4gIHB1YmxpYyBhY3RpdmF0ZU5lYXJlc3RUYWIoYXJyYXlJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgbmV3QWN0aXZlVGFiID0gdGhpcy50YWJzW2FycmF5SW5kZXhdIHx8IHRoaXMudGFic1thcnJheUluZGV4IC0gMV07XG4gICAgaWYgKG5ld0FjdGl2ZVRhYikge1xuICAgICAgdGhpcy5jdXJyZW50QWN0aXZlVGFiSW5kZXggPSBuZXdBY3RpdmVUYWIudGFiSW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1RhYkluZGV4QWN0aXZlKHRhYkluZGV4OiBTa3lUYWJJbmRleCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhYkluZGV4ZXNFcXVhbCh0YWJJbmRleCwgdGhpcy5jdXJyZW50QWN0aXZlVGFiSW5kZXgpO1xuICB9XG59XG4iXX0=
@@ -1,72 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { SkyMediaBreakpoints } from '@skyux/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * @internal
7
- */
8
- export class SkyVerticalTabMediaQueryService {
9
- constructor() {
10
- this.currentSubject = new BehaviorSubject(this.current);
11
- this._current = SkyMediaBreakpoints.xs;
12
- this.currentSubject.next(this._current);
13
- }
14
- get current() {
15
- return this._current;
16
- }
17
- subscribe(listener) {
18
- return this.currentSubject.subscribe({
19
- next: (breakpoints) => {
20
- listener(breakpoints);
21
- },
22
- });
23
- }
24
- setBreakpointForWidth(width) {
25
- let breakpoint;
26
- if (this.isWidthWithinBreakpiont(width, SkyMediaBreakpoints.xs)) {
27
- breakpoint = SkyMediaBreakpoints.xs;
28
- }
29
- else if (this.isWidthWithinBreakpiont(width, SkyMediaBreakpoints.sm)) {
30
- breakpoint = SkyMediaBreakpoints.sm;
31
- }
32
- else if (this.isWidthWithinBreakpiont(width, SkyMediaBreakpoints.md)) {
33
- breakpoint = SkyMediaBreakpoints.md;
34
- }
35
- else {
36
- breakpoint = SkyMediaBreakpoints.lg;
37
- }
38
- this._current = breakpoint;
39
- this.currentSubject.next(this._current);
40
- }
41
- isWidthWithinBreakpiont(width, breakpoint) {
42
- const xsBreakpointMaxPixels = 767;
43
- const smBreakpointMinPixels = 768;
44
- const smBreakpointMaxPixels = 991;
45
- const mdBreakpointMinPixels = 992;
46
- const mdBreakpointMaxPixels = 1199;
47
- const lgBreakpointMinPixels = 1200;
48
- switch (breakpoint) {
49
- case SkyMediaBreakpoints.xs: {
50
- return width <= xsBreakpointMaxPixels;
51
- }
52
- case SkyMediaBreakpoints.sm: {
53
- return width >= smBreakpointMinPixels && width <= smBreakpointMaxPixels;
54
- }
55
- case SkyMediaBreakpoints.md: {
56
- return width >= mdBreakpointMinPixels && width <= mdBreakpointMaxPixels;
57
- }
58
- default: {
59
- return width >= lgBreakpointMinPixels;
60
- }
61
- }
62
- }
63
- destroy() {
64
- this.currentSubject.complete();
65
- }
66
- }
67
- SkyVerticalTabMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyVerticalTabMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
68
- SkyVerticalTabMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyVerticalTabMediaQueryService });
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyVerticalTabMediaQueryService, decorators: [{
70
- type: Injectable
71
- }], ctorParameters: function () { return []; } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFiLW1lZGlhLXF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWJzL3NyYy9tb2R1bGVzL3ZlcnRpY2FsLXRhYnNldC92ZXJ0aWNhbC10YWItbWVkaWEtcXVlcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBeUIsTUFBTSxhQUFhLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7O0FBRXJEOztHQUVHO0FBRUgsTUFBTSxPQUFPLCtCQUErQjtJQVcxQztRQU5RLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQzFDLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztRQUVNLGFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7UUFHeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFaRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFZTSxTQUFTLENBQUMsUUFBK0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsQ0FBQyxXQUFnQyxFQUFFLEVBQUU7Z0JBQ3pDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQWE7UUFDeEMsSUFBSSxVQUErQixDQUFDO1FBRXBDLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMvRCxVQUFVLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3RFLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7U0FDckM7YUFBTSxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdEUsVUFBVSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztTQUNyQzthQUFNO1lBQ0wsVUFBVSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztTQUNyQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sdUJBQXVCLENBQzVCLEtBQWEsRUFDYixVQUErQjtRQUUvQixNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztRQUNsQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztRQUNsQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztRQUNsQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztRQUNsQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUNuQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUVuQyxRQUFRLFVBQVUsRUFBRTtZQUNsQixLQUFLLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixPQUFPLEtBQUssSUFBSSxxQkFBcUIsQ0FBQzthQUN2QztZQUNELEtBQUssbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNCLE9BQU8sS0FBSyxJQUFJLHFCQUFxQixJQUFJLEtBQUssSUFBSSxxQkFBcUIsQ0FBQzthQUN6RTtZQUNELEtBQUssbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNCLE9BQU8sS0FBSyxJQUFJLHFCQUFxQixJQUFJLEtBQUssSUFBSSxxQkFBcUIsQ0FBQzthQUN6RTtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLE9BQU8sS0FBSyxJQUFJLHFCQUFxQixDQUFDO2FBQ3ZDO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQzs7NkhBckVVLCtCQUErQjtpSUFBL0IsK0JBQStCOzRGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMsIFNreU1lZGlhUXVlcnlMaXN0ZW5lciB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2Uge1xuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKTogU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQ7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPihcbiAgICB0aGlzLmN1cnJlbnRcbiAgKTtcblxuICBwcml2YXRlIF9jdXJyZW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy54cztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmN1cnJlbnRTdWJqZWN0Lm5leHQodGhpcy5fY3VycmVudCk7XG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlKGxpc3RlbmVyOiBTa3lNZWRpYVF1ZXJ5TGlzdGVuZXIpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRTdWJqZWN0LnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoYnJlYWtwb2ludHM6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgbGlzdGVuZXIoYnJlYWtwb2ludHMpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRCcmVha3BvaW50Rm9yV2lkdGgod2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgIGxldCBicmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzO1xuXG4gICAgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcGlvbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMueHMpKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy54cztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcGlvbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMuc20pKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy5zbTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcGlvbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMubWQpKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy5tZDtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWtwb2ludCA9IFNreU1lZGlhQnJlYWtwb2ludHMubGc7XG4gICAgfVxuXG4gICAgdGhpcy5fY3VycmVudCA9IGJyZWFrcG9pbnQ7XG4gICAgdGhpcy5jdXJyZW50U3ViamVjdC5uZXh0KHRoaXMuX2N1cnJlbnQpO1xuICB9XG5cbiAgcHVibGljIGlzV2lkdGhXaXRoaW5CcmVha3Bpb250KFxuICAgIHdpZHRoOiBudW1iZXIsXG4gICAgYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50c1xuICApOiBib29sZWFuIHtcbiAgICBjb25zdCB4c0JyZWFrcG9pbnRNYXhQaXhlbHMgPSA3Njc7XG4gICAgY29uc3Qgc21CcmVha3BvaW50TWluUGl4ZWxzID0gNzY4O1xuICAgIGNvbnN0IHNtQnJlYWtwb2ludE1heFBpeGVscyA9IDk5MTtcbiAgICBjb25zdCBtZEJyZWFrcG9pbnRNaW5QaXhlbHMgPSA5OTI7XG4gICAgY29uc3QgbWRCcmVha3BvaW50TWF4UGl4ZWxzID0gMTE5OTtcbiAgICBjb25zdCBsZ0JyZWFrcG9pbnRNaW5QaXhlbHMgPSAxMjAwO1xuXG4gICAgc3dpdGNoIChicmVha3BvaW50KSB7XG4gICAgICBjYXNlIFNreU1lZGlhQnJlYWtwb2ludHMueHM6IHtcbiAgICAgICAgcmV0dXJuIHdpZHRoIDw9IHhzQnJlYWtwb2ludE1heFBpeGVscztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5zbToge1xuICAgICAgICByZXR1cm4gd2lkdGggPj0gc21CcmVha3BvaW50TWluUGl4ZWxzICYmIHdpZHRoIDw9IHNtQnJlYWtwb2ludE1heFBpeGVscztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5tZDoge1xuICAgICAgICByZXR1cm4gd2lkdGggPj0gbWRCcmVha3BvaW50TWluUGl4ZWxzICYmIHdpZHRoIDw9IG1kQnJlYWtwb2ludE1heFBpeGVscztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuIHdpZHRoID49IGxnQnJlYWtwb2ludE1pblBpeGVscztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,192 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostListener, Input, ViewChild, } from '@angular/core';
2
- import { SkyMediaQueryService } from '@skyux/core';
3
- import { Subject } from 'rxjs';
4
- import { takeUntil } from 'rxjs/operators';
5
- import { SkyVerticalTabMediaQueryService } from './vertical-tab-media-query.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./vertical-tabset-adapter.service";
8
- import * as i2 from "./vertical-tabset.service";
9
- import * as i3 from "./vertical-tab-media-query.service";
10
- import * as i4 from "@skyux/indicators";
11
- import * as i5 from "@angular/common";
12
- export class SkyVerticalTabComponent {
13
- constructor(adapterService, changeRef, tabsetService, verticalTabMediaQueryService) {
14
- this.adapterService = adapterService;
15
- this.changeRef = changeRef;
16
- this.tabsetService = tabsetService;
17
- this.verticalTabMediaQueryService = verticalTabMediaQueryService;
18
- /**
19
- * Indicates whether the tab is active when the tabset loads.
20
- */
21
- this.active = false;
22
- /**
23
- * Indicates whether to disable the tab.
24
- */
25
- this.disabled = false;
26
- /**
27
- * Indicates whether to indicate that the tab has an error.
28
- * @internal This is used for sectioned forms and is not currently a supported design for pure vertical tabs.
29
- */
30
- this.errorIndicator = false;
31
- this.isMobile = false;
32
- this._contentRendered = false;
33
- this._mobileSubscription = new Subject();
34
- this._ngUnsubscribe = new Subject();
35
- this._showTabRightArrow = false;
36
- }
37
- /**
38
- * Specifies the HTML element ID (without the leading `#`) of the element that contains
39
- * the content that the vertical tab displays, which corresponds to the `tabId`. This property
40
- * [supports accessibility rules for disclosures](https://www.w3.org/TR/wai-aria-practices-1.1/#disclosure).
41
- */
42
- get ariaControls() {
43
- return this.isMobile ? undefined : this._ariaControls;
44
- }
45
- set ariaControls(value) {
46
- this._ariaControls = value;
47
- }
48
- /**
49
- * Specifies an ARIA role for the vertical tab
50
- * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)
51
- * by indicating how the tab functions and what it controls. For information about how
52
- * an ARIA role indicates what an item represents on a web page, see the
53
- * [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).
54
- * @default "tab"
55
- */
56
- get ariaRole() {
57
- if (this.isMobile) {
58
- return undefined;
59
- }
60
- return this._ariaRole || 'tab';
61
- }
62
- set ariaRole(value) {
63
- this._ariaRole = value;
64
- }
65
- /**
66
- * Indicates whether to display a chevron-right icon in the righthand side of the tab.
67
- * @internal
68
- */
69
- get showTabRightArrow() {
70
- return this._showTabRightArrow && this.tabsetService.isMobile();
71
- }
72
- set showTabRightArrow(value) {
73
- this._showTabRightArrow = value;
74
- }
75
- set contentRendered(value) {
76
- this._contentRendered = value;
77
- /* istanbul ignore else */
78
- if (this._contentRendered) {
79
- // NOTE: Wrapped in a setTimeout here to ensure that everything has completed rendering.
80
- setTimeout(() => {
81
- this.updateBreakpointAndResponsiveClass(this.adapterService.getWidth(this.tabContent));
82
- });
83
- }
84
- }
85
- get contentRendered() {
86
- return this._contentRendered;
87
- }
88
- ngOnInit() {
89
- this.isMobile = this.tabsetService.isMobile();
90
- this.changeRef.markForCheck();
91
- this.tabsetService.switchingMobile.subscribe((mobile) => {
92
- this.isMobile = mobile;
93
- this.changeRef.markForCheck();
94
- });
95
- // Update the breakpoint and responsive class here just as a sanity check since we can not
96
- // watch for element resizing.
97
- this.tabsetService.indexChanged
98
- .pipe(takeUntil(this._ngUnsubscribe))
99
- .subscribe((index) => {
100
- if (this.index === index && this.contentRendered) {
101
- this.updateBreakpointAndResponsiveClass(this.adapterService.getWidth(this.tabContent));
102
- }
103
- });
104
- this.tabsetService.addTab(this);
105
- }
106
- ngOnDestroy() {
107
- this._mobileSubscription.unsubscribe();
108
- this._ngUnsubscribe.next();
109
- this._ngUnsubscribe.complete();
110
- this.tabsetService.destroyTab(this);
111
- }
112
- tabIndex() {
113
- if (!this.disabled) {
114
- return 0;
115
- }
116
- else {
117
- return -1;
118
- }
119
- }
120
- activateTab() {
121
- if (!this.disabled) {
122
- this.active = true;
123
- this.tabsetService.activateTab(this);
124
- this.changeRef.markForCheck();
125
- }
126
- }
127
- onWindowResize() {
128
- this.updateBreakpointAndResponsiveClass(this.adapterService.getWidth(this.tabContent));
129
- }
130
- tabDeactivated() {
131
- this.changeRef.markForCheck();
132
- }
133
- updateBreakpointAndResponsiveClass(width) {
134
- this.verticalTabMediaQueryService.setBreakpointForWidth(width);
135
- const newBreakpiont = this.verticalTabMediaQueryService.current;
136
- this.adapterService.setResponsiveClass(this.tabContent, newBreakpiont);
137
- this.changeRef.markForCheck();
138
- }
139
- }
140
- SkyVerticalTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyVerticalTabComponent, deps: [{ token: i1.SkyVerticalTabsetAdapterService }, { token: i0.ChangeDetectorRef }, { token: i2.SkyVerticalTabsetService }, { token: i3.SkyVerticalTabMediaQueryService }], target: i0.ɵɵFactoryTarget.Component });
141
- SkyVerticalTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyVerticalTabComponent, selector: "sky-vertical-tab", inputs: { active: "active", ariaControls: "ariaControls", ariaInvalid: "ariaInvalid", ariaRequired: "ariaRequired", ariaRole: "ariaRole", disabled: "disabled", errorIndicator: "errorIndicator", tabHeaderCount: "tabHeaderCount", tabHeading: "tabHeading", showTabRightArrow: "showTabRightArrow", tabId: "tabId" }, host: { listeners: { "window:resize": "onWindowResize()" } }, providers: [
142
- SkyVerticalTabMediaQueryService,
143
- {
144
- provide: SkyMediaQueryService,
145
- useExisting: SkyVerticalTabMediaQueryService,
146
- },
147
- ], viewQueries: [{ propertyName: "tabContent", first: true, predicate: ["tabContentWrapper"], descendants: true }], ngImport: i0, template: "<a\n class=\"sky-vertical-tab\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-invalid]=\"ariaInvalid\"\n [attr.aria-required]=\"ariaRequired ? ariaRequired : null\"\n [attr.aria-selected]=\"active\"\n [attr.id]=\"tabId\"\n [attr.role]=\"ariaRole\"\n [ngClass]=\"{\n 'sky-vertical-tab-active': active,\n 'sky-vertical-tab-disabled': disabled,\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled\n }\"\n [tabIndex]=\"tabIndex()\"\n (click)=\"activateTab()\"\n (keyup.enter)=\"activateTab()\"\n>\n <div class=\"sky-vertical-tab-display\">\n <div class=\"sky-vertical-tab-heading\">\n <span class=\"sky-vertical-tab-heading-value\">{{ tabHeading }}</span>\n <span\n class=\"sky-vertical-tab-count\"\n *ngIf=\"tabHeaderCount || tabHeaderCount === 0\"\n >\n ({{ tabHeaderCount }})\n </span>\n </div>\n <sky-status-indicator\n *ngIf=\"errorIndicator\"\n class=\"sky-vertical-tab-heading-error\"\n descriptionType=\"error\"\n indicatorType=\"danger\"\n ></sky-status-indicator>\n <sky-icon\n *ngIf=\"showTabRightArrow\"\n class=\"sky-vertical-tab-right-arrow\"\n icon=\"chevron-right\"\n >\n </sky-icon>\n </div>\n</a>\n\n<div #tabContentWrapper>\n <div\n class=\"sky-vertical-tab-content-pane\"\n role=\"tabpanel\"\n tabindex=\"0\"\n [ngClass]=\"{ 'sky-vertical-tab-hidden': !active }\"\n >\n <ng-content></ng-content>\n\n <div></div>\n </div>\n</div>\n", styles: [".sky-vertical-tab{cursor:pointer;padding:7px 0 7px 10px;margin:5px 0 5px 10px;display:flex;text-decoration:none}.sky-vertical-tab:not(.sky-deemphasized){color:#212327}.sky-vertical-tab:hover{background-color:#eeeeef}.sky-vertical-tab:focus-visible{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px}.sky-vertical-tab:hover .sky-vertical-tab-right-arrow{color:#979ba2}.sky-vertical-tab-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}.sky-vertical-tab-hidden{display:none}.sky-vertical-tab-display{display:flex;flex-grow:1}.sky-vertical-tab-heading-error{padding-left:5px}.sky-vertical-tab-count{margin-left:5px}.sky-vertical-tab-disabled{cursor:not-allowed;pointer-events:none}.sky-vertical-tab-right-arrow{padding:3px 10px 0 0;color:#cdcfd2}:host-context(.sky-theme-modern) .sky-vertical-tab{color:#686c73;cursor:pointer;padding:10px 0 10px 10px;margin:10px 0 20px 10px}:host-context(.sky-theme-modern) .sky-vertical-tab:not(.sky-vertical-tab-active):not(:active):hover{color:#212327;background-color:transparent;padding-left:9px;border-left:1px solid #00b4f1}:host-context(.sky-theme-modern) .sky-vertical-tab:not(:active):focus-visible{outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}:host-context(.sky-theme-modern) .sky-vertical-tab:focus:active:hover{outline:none;background:none}:host-context(.sky-theme-modern) .sky-vertical-tab:active{border-left:3px solid #00b4f1;color:#212327;padding-left:7px}:host-context(.sky-theme-modern) .sky-vertical-tab .sky-vertical-tab-heading-error{padding-left:10px;position:relative;top:-2px}:host-context(.sky-theme-modern) .sky-vertical-tab-active{background:none;color:#212327;padding-left:7px;border-left:3px solid #1870B8}.sky-theme-modern .sky-vertical-tab{color:#686c73;cursor:pointer;padding:10px 0 10px 10px;margin:10px 0 20px 10px}.sky-theme-modern .sky-vertical-tab:not(.sky-vertical-tab-active):not(:active):hover{color:#212327;background-color:transparent;padding-left:9px;border-left:1px solid #00b4f1}.sky-theme-modern .sky-vertical-tab:not(:active):focus-visible{outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}.sky-theme-modern .sky-vertical-tab:focus:active:hover{outline:none;background:none}.sky-theme-modern .sky-vertical-tab:active{border-left:3px solid #00b4f1;color:#212327;padding-left:7px}.sky-theme-modern .sky-vertical-tab .sky-vertical-tab-heading-error{padding-left:10px;position:relative;top:-2px}.sky-theme-modern .sky-vertical-tab-active{background:none;color:#212327;padding-left:7px;border-left:3px solid #1870B8}\n"], components: [{ type: i4.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription"] }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyVerticalTabComponent, decorators: [{
149
- type: Component,
150
- args: [{
151
- selector: 'sky-vertical-tab',
152
- templateUrl: './vertical-tab.component.html',
153
- styleUrls: ['./vertical-tab.component.scss'],
154
- providers: [
155
- SkyVerticalTabMediaQueryService,
156
- {
157
- provide: SkyMediaQueryService,
158
- useExisting: SkyVerticalTabMediaQueryService,
159
- },
160
- ],
161
- changeDetection: ChangeDetectionStrategy.OnPush,
162
- }]
163
- }], ctorParameters: function () { return [{ type: i1.SkyVerticalTabsetAdapterService }, { type: i0.ChangeDetectorRef }, { type: i2.SkyVerticalTabsetService }, { type: i3.SkyVerticalTabMediaQueryService }]; }, propDecorators: { active: [{
164
- type: Input
165
- }], ariaControls: [{
166
- type: Input
167
- }], ariaInvalid: [{
168
- type: Input
169
- }], ariaRequired: [{
170
- type: Input
171
- }], ariaRole: [{
172
- type: Input
173
- }], disabled: [{
174
- type: Input
175
- }], errorIndicator: [{
176
- type: Input
177
- }], tabHeaderCount: [{
178
- type: Input
179
- }], tabHeading: [{
180
- type: Input
181
- }], showTabRightArrow: [{
182
- type: Input
183
- }], tabId: [{
184
- type: Input
185
- }], tabContent: [{
186
- type: ViewChild,
187
- args: ['tabContentWrapper']
188
- }], onWindowResize: [{
189
- type: HostListener,
190
- args: ['window:resize']
191
- }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWJzL3NyYy9tb2R1bGVzL3ZlcnRpY2FsLXRhYnNldC92ZXJ0aWNhbC10YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7O0FBbUJyRixNQUFNLE9BQU8sdUJBQXVCO0lBcUlsQyxZQUNVLGNBQStDLEVBQy9DLFNBQTRCLEVBQzVCLGFBQXVDLEVBQ3ZDLDRCQUE2RDtRQUg3RCxtQkFBYyxHQUFkLGNBQWMsQ0FBaUM7UUFDL0MsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBQ3ZDLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBaUM7UUF4SXZFOztXQUVHO1FBRUksV0FBTSxHQUFZLEtBQUssQ0FBQztRQThDL0I7O1dBRUc7UUFFSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRWpDOzs7V0FHRztRQUVJLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBeUQvQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBTWpCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUVsQyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXBDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUUvQix1QkFBa0IsR0FBWSxLQUFLLENBQUM7SUFPekMsQ0FBQztJQW5JSjs7OztPQUlHO0lBQ0gsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFXLFlBQVksQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFjRDs7Ozs7OztPQU9HO0lBQ0gsSUFDVyxRQUFRO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQTRCRDs7O09BR0c7SUFDSCxJQUNXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFXLGlCQUFpQixDQUFDLEtBQWM7UUFDekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBUUQsSUFBVyxlQUFlLENBQUMsS0FBYztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRTlCLDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6Qix3RkFBd0Y7WUFDeEYsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsa0NBQWtDLENBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDOUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUE0Qk0sUUFBUTtRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTlCLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCwwRkFBMEY7UUFDMUYsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWTthQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxrQ0FBa0MsQ0FDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUM5QyxDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixPQUFPLENBQUMsQ0FBQztTQUNWO2FBQU07WUFDTCxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVyQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUdNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLGtDQUFrQyxDQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQzlDLENBQUM7SUFDSixDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxrQ0FBa0MsQ0FBQyxLQUFhO1FBQ3RELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDO1FBRWhFLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUV2RSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2hDLENBQUM7O3FIQS9NVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixpYUFUdkI7UUFDVCwrQkFBK0I7UUFDL0I7WUFDRSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFdBQVcsRUFBRSwrQkFBK0I7U0FDN0M7S0FDRiwySUNsQ0gsMitDQXVEQTs0RkRsQmEsdUJBQXVCO2tCQWJuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFdBQVcsRUFBRSwrQkFBK0I7b0JBQzVDLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUM1QyxTQUFTLEVBQUU7d0JBQ1QsK0JBQStCO3dCQUMvQjs0QkFDRSxPQUFPLEVBQUUsb0JBQW9COzRCQUM3QixXQUFXLEVBQUUsK0JBQStCO3lCQUM3QztxQkFDRjtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7Mk9BTVEsTUFBTTtzQkFEWixLQUFLO2dCQVNLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBWUMsV0FBVztzQkFEakIsS0FBSztnQkFPQyxZQUFZO3NCQURsQixLQUFLO2dCQVlLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZUMsUUFBUTtzQkFEZCxLQUFLO2dCQVFDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsY0FBYztzQkFEcEIsS0FBSztnQkFRQyxVQUFVO3NCQURoQixLQUFLO2dCQVFLLGlCQUFpQjtzQkFEM0IsS0FBSztnQkFhQyxLQUFLO3NCQURYLEtBQUs7Z0JBd0JDLFVBQVU7c0JBRGhCLFNBQVM7dUJBQUMsbUJBQW1CO2dCQXlFdkIsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lNZWRpYVF1ZXJ5U2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2UgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYi1tZWRpYS1xdWVyeS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlIH0gZnJvbSAnLi92ZXJ0aWNhbC10YWJzZXQuc2VydmljZSc7XG5cbmltcG9ydCB7IFNreVZlcnRpY2FsVGFic2V0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC1hZGFwdGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdmVydGljYWwtdGFiJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZlcnRpY2FsLXRhYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZlcnRpY2FsLXRhYi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICBTa3lWZXJ0aWNhbFRhYk1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreVZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVZlcnRpY2FsVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRhYiBpcyBhY3RpdmUgd2hlbiB0aGUgdGFic2V0IGxvYWRzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIEhUTUwgZWxlbWVudCBJRCAod2l0aG91dCB0aGUgbGVhZGluZyBgI2ApIG9mIHRoZSBlbGVtZW50IHRoYXQgY29udGFpbnNcbiAgICogdGhlIGNvbnRlbnQgdGhhdCB0aGUgdmVydGljYWwgdGFiIGRpc3BsYXlzLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgYHRhYklkYC4gVGhpcyBwcm9wZXJ0eVxuICAgKiBbc3VwcG9ydHMgYWNjZXNzaWJpbGl0eSBydWxlcyBmb3IgZGlzY2xvc3VyZXNdKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS1wcmFjdGljZXMtMS4xLyNkaXNjbG9zdXJlKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgYXJpYUNvbnRyb2xzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgPyB1bmRlZmluZWQgOiB0aGlzLl9hcmlhQ29udHJvbHM7XG4gIH1cbiAgcHVibGljIHNldCBhcmlhQ29udHJvbHModmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2FyaWFDb250cm9scyA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFJbnZhbGlkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhUmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBBUklBIHJvbGUgZm9yIHRoZSB2ZXJ0aWNhbCB0YWJcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KVxuICAgKiBieSBpbmRpY2F0aW5nIGhvdyB0aGUgdGFiIGZ1bmN0aW9ucyBhbmQgd2hhdCBpdCBjb250cm9scy4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGhvd1xuICAgKiBhbiBBUklBIHJvbGUgaW5kaWNhdGVzIHdoYXQgYW4gaXRlbSByZXByZXNlbnRzIG9uIGEgd2ViIHBhZ2UsIHNlZSB0aGVcbiAgICogW1dBSS1BUklBIHJvbGVzIG1vZGVsXShodHRwczovL3d3dy53My5vcmcvV0FJL1BGL2FyaWEvcm9sZXMpLlxuICAgKiBAZGVmYXVsdCBcInRhYlwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGFyaWFSb2xlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hcmlhUm9sZSB8fCAndGFiJztcbiAgfVxuICBwdWJsaWMgc2V0IGFyaWFSb2xlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9hcmlhUm9sZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc2FibGUgdGhlIHRhYi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBpbmRpY2F0ZSB0aGF0IHRoZSB0YWIgaGFzIGFuIGVycm9yLlxuICAgKiBAaW50ZXJuYWwgVGhpcyBpcyB1c2VkIGZvciBzZWN0aW9uZWQgZm9ybXMgYW5kIGlzIG5vdCBjdXJyZW50bHkgYSBzdXBwb3J0ZWQgZGVzaWduIGZvciBwdXJlIHZlcnRpY2FsIHRhYnMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZXJyb3JJbmRpY2F0b3I6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRGlzcGxheXMgYW4gaXRlbSBjb3VudCBhbG9uZ3NpZGUgdGhlIHRhYiBoZWFkZXIgdG8gaW5kaWNhdGUgaG93IG1hbnkgbGlzdCBpdGVtcyB0aGUgdGFiIGNvbnRhaW5zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYkhlYWRlckNvdW50OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdGFiIGhlYWRlci5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGFiSGVhZGluZzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IGEgY2hldnJvbi1yaWdodCBpY29uIGluIHRoZSByaWdodGhhbmQgc2lkZSBvZiB0aGUgdGFiLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgc2hvd1RhYlJpZ2h0QXJyb3coKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dUYWJSaWdodEFycm93ICYmIHRoaXMudGFic2V0U2VydmljZS5pc01vYmlsZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBzaG93VGFiUmlnaHRBcnJvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dUYWJSaWdodEFycm93ID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIElEIGZvciB0aGUgdGFiLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYklkOiBzdHJpbmc7XG5cbiAgcHVibGljIHNldCBjb250ZW50UmVuZGVyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jb250ZW50UmVuZGVyZWQgPSB2YWx1ZTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuX2NvbnRlbnRSZW5kZXJlZCkge1xuICAgICAgLy8gTk9URTogV3JhcHBlZCBpbiBhIHNldFRpbWVvdXQgaGVyZSB0byBlbnN1cmUgdGhhdCBldmVyeXRoaW5nIGhhcyBjb21wbGV0ZWQgcmVuZGVyaW5nLlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyhcbiAgICAgICAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLmdldFdpZHRoKHRoaXMudGFiQ29udGVudClcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGVudFJlbmRlcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50UmVuZGVyZWQ7XG4gIH1cblxuICBwdWJsaWMgaW5kZXg6IG51bWJlcjtcblxuICBAVmlld0NoaWxkKCd0YWJDb250ZW50V3JhcHBlcicpXG4gIHB1YmxpYyB0YWJDb250ZW50OiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgaXNNb2JpbGUgPSBmYWxzZTtcblxuICBwcml2YXRlIF9hcmlhQ29udHJvbHM6IHN0cmluZztcblxuICBwcml2YXRlIF9hcmlhUm9sZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2NvbnRlbnRSZW5kZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX21vYmlsZVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfc2hvd1RhYlJpZ2h0QXJyb3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFkYXB0ZXJTZXJ2aWNlOiBTa3lWZXJ0aWNhbFRhYnNldEFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRhYnNldFNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZSxcbiAgICBwcml2YXRlIHZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2U6IFNreVZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTW9iaWxlID0gdGhpcy50YWJzZXRTZXJ2aWNlLmlzTW9iaWxlKCk7XG4gICAgdGhpcy5jaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG5cbiAgICB0aGlzLnRhYnNldFNlcnZpY2Uuc3dpdGNoaW5nTW9iaWxlLnN1YnNjcmliZSgobW9iaWxlOiBib29sZWFuKSA9PiB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gbW9iaWxlO1xuICAgICAgdGhpcy5jaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgdGhlIGJyZWFrcG9pbnQgYW5kIHJlc3BvbnNpdmUgY2xhc3MgaGVyZSBqdXN0IGFzIGEgc2FuaXR5IGNoZWNrIHNpbmNlIHdlIGNhbiBub3RcbiAgICAvLyB3YXRjaCBmb3IgZWxlbWVudCByZXNpemluZy5cbiAgICB0aGlzLnRhYnNldFNlcnZpY2UuaW5kZXhDaGFuZ2VkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChpbmRleCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pbmRleCA9PT0gaW5kZXggJiYgdGhpcy5jb250ZW50UmVuZGVyZWQpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3MoXG4gICAgICAgICAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLmdldFdpZHRoKHRoaXMudGFiQ29udGVudClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMudGFic2V0U2VydmljZS5hZGRUYWIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbW9iaWxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMudGFic2V0U2VydmljZS5kZXN0cm95VGFiKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIHRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmF0ZVRhYigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgICAgIHRoaXMudGFic2V0U2VydmljZS5hY3RpdmF0ZVRhYih0aGlzKTtcblxuICAgICAgdGhpcy5jaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIHB1YmxpYyBvbldpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3MoXG4gICAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLmdldFdpZHRoKHRoaXMudGFiQ29udGVudClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRhYkRlYWN0aXZhdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVCcmVha3BvaW50QW5kUmVzcG9uc2l2ZUNsYXNzKHdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2Uuc2V0QnJlYWtwb2ludEZvcldpZHRoKHdpZHRoKTtcblxuICAgIGNvbnN0IG5ld0JyZWFrcGlvbnQgPSB0aGlzLnZlcnRpY2FsVGFiTWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudDtcblxuICAgIHRoaXMuYWRhcHRlclNlcnZpY2Uuc2V0UmVzcG9uc2l2ZUNsYXNzKHRoaXMudGFiQ29udGVudCwgbmV3QnJlYWtwaW9udCk7XG5cbiAgICB0aGlzLmNoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPGFcbiAgY2xhc3M9XCJza3ktdmVydGljYWwtdGFiXCJcbiAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHNcIlxuICBbYXR0ci5hcmlhLWludmFsaWRdPVwiYXJpYUludmFsaWRcIlxuICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImFyaWFSZXF1aXJlZCA/IGFyaWFSZXF1aXJlZCA6IG51bGxcIlxuICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImFjdGl2ZVwiXG4gIFthdHRyLmlkXT1cInRhYklkXCJcbiAgW2F0dHIucm9sZV09XCJhcmlhUm9sZVwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LXZlcnRpY2FsLXRhYi1hY3RpdmUnOiBhY3RpdmUsXG4gICAgJ3NreS12ZXJ0aWNhbC10YWItZGlzYWJsZWQnOiBkaXNhYmxlZCxcbiAgICAnc2t5LWZvbnQtZGVlbXBoYXNpemVkJzogZGlzYWJsZWQsXG4gICAgJ3NreS1kZWVtcGhhc2l6ZWQnOiBkaXNhYmxlZFxuICB9XCJcbiAgW3RhYkluZGV4XT1cInRhYkluZGV4KClcIlxuICAoY2xpY2spPVwiYWN0aXZhdGVUYWIoKVwiXG4gIChrZXl1cC5lbnRlcik9XCJhY3RpdmF0ZVRhYigpXCJcbj5cbiAgPGRpdiBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWItZGlzcGxheVwiPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktdmVydGljYWwtdGFiLWhlYWRpbmdcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2t5LXZlcnRpY2FsLXRhYi1oZWFkaW5nLXZhbHVlXCI+e3sgdGFiSGVhZGluZyB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwic2t5LXZlcnRpY2FsLXRhYi1jb3VudFwiXG4gICAgICAgICpuZ0lmPVwidGFiSGVhZGVyQ291bnQgfHwgdGFiSGVhZGVyQ291bnQgPT09IDBcIlxuICAgICAgPlxuICAgICAgICAoe3sgdGFiSGVhZGVyQ291bnQgfX0pXG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPHNreS1zdGF0dXMtaW5kaWNhdG9yXG4gICAgICAqbmdJZj1cImVycm9ySW5kaWNhdG9yXCJcbiAgICAgIGNsYXNzPVwic2t5LXZlcnRpY2FsLXRhYi1oZWFkaW5nLWVycm9yXCJcbiAgICAgIGRlc2NyaXB0aW9uVHlwZT1cImVycm9yXCJcbiAgICAgIGluZGljYXRvclR5cGU9XCJkYW5nZXJcIlxuICAgID48L3NreS1zdGF0dXMtaW5kaWNhdG9yPlxuICAgIDxza3ktaWNvblxuICAgICAgKm5nSWY9XCJzaG93VGFiUmlnaHRBcnJvd1wiXG4gICAgICBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWItcmlnaHQtYXJyb3dcIlxuICAgICAgaWNvbj1cImNoZXZyb24tcmlnaHRcIlxuICAgID5cbiAgICA8L3NreS1pY29uPlxuICA8L2Rpdj5cbjwvYT5cblxuPGRpdiAjdGFiQ29udGVudFdyYXBwZXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS12ZXJ0aWNhbC10YWItY29udGVudC1wYW5lXCJcbiAgICByb2xlPVwidGFicGFuZWxcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgW25nQ2xhc3NdPVwieyAnc2t5LXZlcnRpY2FsLXRhYi1oaWRkZW4nOiAhYWN0aXZlIH1cIlxuICA+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdj48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { Injectable, } from '@angular/core';
2
- import { SkyMediaBreakpoints } from '@skyux/core';
3
- import * as i0 from "@angular/core";
4
- export class SkyVerticalTabsetAdapterService {
5
- constructor(rendererFactory) {
6
- this.rendererFactory = rendererFactory;
7
- this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
8
- }
9
- getWidth(elementRef) {
10
- return elementRef.nativeElement.clientWidth;
11
- }
12
- scrollToContentTop(element) {
13
- element.nativeElement.scrollTop = 0;
14
- }
15
- setResponsiveClass(element, breakpoint) {
16
- const nativeEl = element.nativeElement;
17
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-xs');
18
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-sm');
19
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-md');
20
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-lg');
21
- let newClass;
22
- switch (breakpoint) {
23
- case SkyMediaBreakpoints.xs: {
24
- newClass = 'sky-responsive-container-xs';
25
- break;
26
- }
27
- case SkyMediaBreakpoints.sm: {
28
- newClass = 'sky-responsive-container-sm';
29
- break;
30
- }
31
- case SkyMediaBreakpoints.md: {
32
- newClass = 'sky-responsive-container-md';
33
- break;
34
- }
35
- default: {
36
- newClass = 'sky-responsive-container-lg';
37
- break;
38
- }
39
- }
40
- this.renderer.addClass(nativeEl, newClass);
41
- }
42
- }
43
- SkyVerticalTabsetAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyVerticalTabsetAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
44
- SkyVerticalTabsetAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyVerticalTabsetAdapterService });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyVerticalTabsetAdapterService, decorators: [{
46
- type: Injectable
47
- }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsR0FHWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR2xELE1BQU0sT0FBTywrQkFBK0I7SUFHMUMsWUFBb0IsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQ25ELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTSxRQUFRLENBQUMsVUFBc0I7UUFDcEMsT0FBTyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUM5QyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsT0FBbUI7UUFDM0MsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxrQkFBa0IsQ0FDdkIsT0FBbUIsRUFDbkIsVUFBK0I7UUFFL0IsTUFBTSxRQUFRLEdBQWdCLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFFcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFFbkUsSUFBSSxRQUFnQixDQUFDO1FBRXJCLFFBQVEsVUFBVSxFQUFFO1lBQ2xCLEtBQUssbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNCLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQztnQkFDekMsTUFBTTthQUNQO1lBQ0QsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDM0IsUUFBUSxHQUFHLDZCQUE2QixDQUFDO2dCQUN6QyxNQUFNO2FBQ1A7WUFDRCxLQUFLLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixRQUFRLEdBQUcsNkJBQTZCLENBQUM7Z0JBQ3pDLE1BQU07YUFDUDtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQztnQkFDekMsTUFBTTthQUNQO1NBQ0Y7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7NkhBaERVLCtCQUErQjtpSUFBL0IsK0JBQStCOzRGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbGVtZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lNZWRpYUJyZWFrcG9pbnRzIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VmVydGljYWxUYWJzZXRBZGFwdGVyU2VydmljZSB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5Mikge1xuICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0V2lkdGgoZWxlbWVudFJlZjogRWxlbWVudFJlZik6IG51bWJlciB7XG4gICAgcmV0dXJuIGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxUb0NvbnRlbnRUb3AoZWxlbWVudDogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuICB9XG5cbiAgcHVibGljIHNldFJlc3BvbnNpdmVDbGFzcyhcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIGJyZWFrcG9pbnQ6IFNreU1lZGlhQnJlYWtwb2ludHNcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgbmF0aXZlRWw6IEhUTUxFbGVtZW50ID0gZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci14cycpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MobmF0aXZlRWwsICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItc20nKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsLCAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLW1kJyk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1sZycpO1xuXG4gICAgbGV0IG5ld0NsYXNzOiBzdHJpbmc7XG5cbiAgICBzd2l0Y2ggKGJyZWFrcG9pbnQpIHtcbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy54czoge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXIteHMnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5zbToge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItc20nO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5tZDoge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItbWQnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgbmV3Q2xhc3MgPSAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLWxnJztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhuYXRpdmVFbCwgbmV3Q2xhc3MpO1xuICB9XG59XG4iXX0=