@skyux/tabs 11.30.1 → 12.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/documentation.json +778 -770
  2. package/fesm2022/skyux-tabs.mjs +83 -82
  3. package/fesm2022/skyux-tabs.mjs.map +1 -1
  4. package/package.json +16 -20
  5. package/esm2022/index.mjs +0 -20
  6. package/esm2022/lib/modules/sectioned-form/sectioned-form-section.component.mjs +0 -65
  7. package/esm2022/lib/modules/sectioned-form/sectioned-form.component.mjs +0 -187
  8. package/esm2022/lib/modules/sectioned-form/sectioned-form.module.mjs +0 -33
  9. package/esm2022/lib/modules/sectioned-form/sectioned-form.service.mjs +0 -35
  10. package/esm2022/lib/modules/sectioned-form/types/sectioned-form-message-type.mjs +0 -5
  11. package/esm2022/lib/modules/sectioned-form/types/sectioned-form-message.mjs +0 -2
  12. package/esm2022/lib/modules/shared/sky-tabs-resources.module.mjs +0 -44
  13. package/esm2022/lib/modules/shared/tab-id.service.mjs +0 -50
  14. package/esm2022/lib/modules/tabs/tab-button-adapter.service.mjs +0 -16
  15. package/esm2022/lib/modules/tabs/tab-button-view-model.mjs +0 -2
  16. package/esm2022/lib/modules/tabs/tab-button.component.mjs +0 -163
  17. package/esm2022/lib/modules/tabs/tab-index.mjs +0 -2
  18. package/esm2022/lib/modules/tabs/tab-layout-type.mjs +0 -2
  19. package/esm2022/lib/modules/tabs/tab.component.mjs +0 -199
  20. package/esm2022/lib/modules/tabs/tabs.module.mjs +0 -56
  21. package/esm2022/lib/modules/tabs/tabset-active-tab-change-args.mjs +0 -2
  22. package/esm2022/lib/modules/tabs/tabset-active-tab-unregistered-args.mjs +0 -2
  23. package/esm2022/lib/modules/tabs/tabset-adapter.service.mjs +0 -68
  24. package/esm2022/lib/modules/tabs/tabset-buttons-display-mode.mjs +0 -2
  25. package/esm2022/lib/modules/tabs/tabset-nav-button-disabled.pipe.mjs +0 -22
  26. package/esm2022/lib/modules/tabs/tabset-nav-button-type.mjs +0 -2
  27. package/esm2022/lib/modules/tabs/tabset-nav-button.component.mjs +0 -149
  28. package/esm2022/lib/modules/tabs/tabset-permalink.service.mjs +0 -132
  29. package/esm2022/lib/modules/tabs/tabset-style.mjs +0 -2
  30. package/esm2022/lib/modules/tabs/tabset-tab-indexes-change.mjs +0 -2
  31. package/esm2022/lib/modules/tabs/tabset.component.mjs +0 -479
  32. package/esm2022/lib/modules/tabs/tabset.service.mjs +0 -193
  33. package/esm2022/lib/modules/vertical-tabset/vertical-tab.component.mjs +0 -183
  34. package/esm2022/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +0 -67
  35. package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group-message.mjs +0 -2
  36. package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +0 -152
  37. package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group.service.mjs +0 -17
  38. package/esm2022/lib/modules/vertical-tabset/vertical-tabset.component.mjs +0 -173
  39. package/esm2022/lib/modules/vertical-tabset/vertical-tabset.module.mjs +0 -61
  40. package/esm2022/lib/modules/vertical-tabset/vertical-tabset.service.mjs +0 -200
  41. package/esm2022/skyux-tabs.mjs +0 -5
  42. package/esm2022/testing/legacy/tabs/tab-fixture-tab.mjs +0 -2
  43. package/esm2022/testing/legacy/tabs/tabset-fixture.mjs +0 -129
  44. package/esm2022/testing/public-api.mjs +0 -2
  45. package/esm2022/testing/skyux-tabs-testing.mjs +0 -5
@@ -1,200 +0,0 @@
1
- import { Injectable, inject } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { SkyMediaQueryService } from '@skyux/core';
4
- import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
5
- import { SkyVerticalTabsetAdapterService } from './vertical-tabset-adapter.service';
6
- import * as i0 from "@angular/core";
7
- export const VISIBLE_STATE = 'shown';
8
- export const HIDDEN_STATE = 'void';
9
- /**
10
- * @internal
11
- */
12
- export class SkyVerticalTabsetService {
13
- #groups;
14
- #contentAdded;
15
- #tabsVisible;
16
- #isMobile;
17
- #adapterSvc;
18
- constructor() {
19
- this.activeIndex = undefined;
20
- this.hidingTabs = new BehaviorSubject(false);
21
- this.indexChanged = new ReplaySubject(1);
22
- this.maintainTabContent = false;
23
- this.showingTabs = new BehaviorSubject(false);
24
- this.switchingMobile = new Subject();
25
- this.tabs = [];
26
- this.tabAdded = new Subject();
27
- this.tabClicked = new ReplaySubject(1);
28
- this.#groups = [];
29
- this.#contentAdded = false;
30
- this.#tabsVisible = false;
31
- this.#isMobile = false;
32
- this.#adapterSvc = inject(SkyVerticalTabsetAdapterService);
33
- inject(SkyMediaQueryService)
34
- .breakpointChange.pipe(takeUntilDestroyed())
35
- .subscribe((breakpoint) => {
36
- const nowMobile = breakpoint === 'xs';
37
- if (nowMobile && !this.#isMobile) {
38
- // switching to mobile
39
- this.switchingMobile.next(true);
40
- if (!this.#tabsVisible) {
41
- this.hidingTabs.next(true);
42
- }
43
- }
44
- else if (!nowMobile && this.#isMobile) {
45
- // switching to widescreen
46
- this.switchingMobile.next(false);
47
- if (!this.#tabsVisible) {
48
- this.showingTabs.next(true);
49
- }
50
- }
51
- this.#isMobile = nowMobile;
52
- });
53
- }
54
- addTab(tab) {
55
- const index = this.tabs.length;
56
- tab.index = index;
57
- this.tabs.push(tab);
58
- if (tab.active) {
59
- this.activateTab(tab);
60
- }
61
- this.tabAdded.next(tab);
62
- }
63
- destroyTab(tab) {
64
- const tabIndex = this.tabs.indexOf(tab);
65
- if (tabIndex === -1) {
66
- return;
67
- }
68
- if (this.maintainTabContent &&
69
- tab.contentRendered &&
70
- /* istanbul ignore next */
71
- this.content?.nativeElement.contains(tab.tabContent?.nativeElement)) {
72
- this.content?.nativeElement.removeChild(tab.tabContent?.nativeElement);
73
- }
74
- this.tabs.splice(tabIndex, 1);
75
- // update tab indices
76
- this.tabs.forEach((tabItem, index) => (tabItem.index = index));
77
- if (tab.active) {
78
- if (!this.maintainTabContent) {
79
- this.#destroyContent();
80
- }
81
- // Try selecting the next tab first, and if there's no next tab then
82
- // try selecting the previous one.
83
- const newActiveTab = this.tabs[tabIndex] || this.tabs[tabIndex - 1];
84
- /*istanbul ignore else */
85
- if (newActiveTab) {
86
- newActiveTab.activateTab();
87
- }
88
- }
89
- }
90
- addGroup(group) {
91
- this.#groups.push(group);
92
- }
93
- destroyGroup(group) {
94
- const groupIndex = this.#groups.indexOf(group);
95
- if (groupIndex >= 0) {
96
- this.#groups.splice(groupIndex, 1);
97
- }
98
- }
99
- activateTab(tab) {
100
- // deactivate active tab
101
- const activeTab = this.tabs.find((t) => t.index === this.activeIndex);
102
- if (activeTab && activeTab.index !== tab.index) {
103
- activeTab.active = false;
104
- activeTab.tabDeactivated();
105
- }
106
- this.activeIndex = tab.index;
107
- this.tabClicked.next(true);
108
- this.#updateTabClicked();
109
- }
110
- activeTab() {
111
- return this.tabs.find((t) => t.index === this.activeIndex);
112
- }
113
- isMobile() {
114
- return this.#isMobile;
115
- }
116
- updateContent() {
117
- if (!this.maintainTabContent) {
118
- if (!this.#contentAdded && this.contentVisible()) {
119
- // content needs to be moved
120
- this.#moveContent();
121
- }
122
- else if (this.#contentAdded && !this.contentVisible()) {
123
- // content hidden
124
- this.#contentAdded = false;
125
- }
126
- }
127
- else {
128
- this.tabs.forEach((tab) => {
129
- if (!tab.contentRendered) {
130
- this.content?.nativeElement.appendChild(tab.tabContent?.nativeElement);
131
- tab.contentRendered = true;
132
- }
133
- });
134
- }
135
- }
136
- tabsVisible() {
137
- return !this.isMobile() || this.#tabsVisible;
138
- }
139
- contentVisible() {
140
- return !this.isMobile() || !this.#tabsVisible;
141
- }
142
- showTabs() {
143
- this.#tabsVisible = true;
144
- this.#contentAdded = false;
145
- this.animationTabsVisibleState = VISIBLE_STATE;
146
- this.animationContentVisibleState = HIDDEN_STATE;
147
- this.showingTabs.next(true);
148
- }
149
- focusActiveTab(tabGroups) {
150
- let focused = false;
151
- const activeTab = this.tabs.find((tab) => tab.active);
152
- if (activeTab) {
153
- const parentGroup = this.#findParentGroup(activeTab);
154
- const buttonToFocus = parentGroup && !parentGroup.open
155
- ? parentGroup.groupHeadingButton
156
- : activeTab.tabButton;
157
- focused = this.#adapterSvc.focusButton(buttonToFocus);
158
- }
159
- if (!focused) {
160
- this.#adapterSvc.focusFirstButton(tabGroups);
161
- }
162
- }
163
- #findParentGroup(tab) {
164
- return this.#groups.find((group) => group.tabs?.some((groupTab) => tab === groupTab));
165
- }
166
- #destroyContent() {
167
- if (this.content) {
168
- this.content.nativeElement.innerHTML = '';
169
- }
170
- this.content = undefined;
171
- }
172
- #moveContent() {
173
- /* istanbul ignore else */
174
- if (this.content && !this.#contentAdded) {
175
- const activeTab = this.activeTab();
176
- const activeContent = activeTab ? activeTab.tabContent : undefined;
177
- if (activeContent && activeTab && activeContent.nativeElement) {
178
- this.content.nativeElement.appendChild(activeContent.nativeElement);
179
- activeTab.contentRendered = true;
180
- this.#contentAdded = true;
181
- }
182
- }
183
- }
184
- #updateTabClicked() {
185
- this.#contentAdded = false;
186
- if (this.isMobile()) {
187
- this.#tabsVisible = false;
188
- this.animationContentVisibleState = VISIBLE_STATE;
189
- this.animationTabsVisibleState = HIDDEN_STATE;
190
- this.hidingTabs.next(true);
191
- }
192
- this.indexChanged.next(this.activeIndex);
193
- }
194
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyVerticalTabsetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
195
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyVerticalTabsetService }); }
196
- }
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyVerticalTabsetService, decorators: [{
198
- type: Injectable
199
- }], ctorParameters: () => [] });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBR3BGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQztBQUVuQzs7R0FFRztBQUVILE1BQU0sT0FBTyx3QkFBd0I7SUF5Qm5DLE9BQU8sQ0FBeUM7SUFFaEQsYUFBYSxDQUFTO0lBRXRCLFlBQVksQ0FBUztJQUVyQixTQUFTLENBQVM7SUFFbEIsV0FBVyxDQUEyQztJQUV0RDtRQWxDTyxnQkFBVyxHQUF1QixTQUFTLENBQUM7UUFRNUMsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLGlCQUFZLEdBQUcsSUFBSSxhQUFhLENBQXFCLENBQUMsQ0FBQyxDQUFDO1FBRXhELHVCQUFrQixHQUF3QixLQUFLLENBQUM7UUFFaEQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFekMsU0FB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Q0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBRTNCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLDRCQUE0QixHQUFHLGFBQWEsQ0FBQztZQUNsRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsWUFBWSxDQUFDO1lBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0E5T1Usd0JBQXdCO21IQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFNreU1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJDb21wb25lbnQgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJzZXRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vdmVydGljYWwtdGFic2V0LWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYnNldEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi92ZXJ0aWNhbC10YWJzZXQtZ3JvdXAuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFZJU0lCTEVfU1RBVEUgPSAnc2hvd24nO1xuZXhwb3J0IGNvbnN0IEhJRERFTl9TVEFURSA9ICd2b2lkJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVZlcnRpY2FsVGFic2V0U2VydmljZSB7XG4gIHB1YmxpYyBhY3RpdmVJbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFuaW1hdGlvblRhYnNWaXNpYmxlU3RhdGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgY29udGVudDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaGlkaW5nVGFicyA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHB1YmxpYyBpbmRleENoYW5nZWQgPSBuZXcgUmVwbGF5U3ViamVjdDxudW1iZXIgfCB1bmRlZmluZWQ+KDEpO1xuXG4gIHB1YmxpYyBtYWludGFpblRhYkNvbnRlbnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgc2hvd2luZ1RhYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwdWJsaWMgc3dpdGNoaW5nTW9iaWxlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgdGFiczogU2t5VmVydGljYWxUYWJDb21wb25lbnRbXSA9IFtdO1xuXG4gIHB1YmxpYyB0YWJBZGRlZCA9IG5ldyBTdWJqZWN0PFNreVZlcnRpY2FsVGFiQ29tcG9uZW50PigpO1xuXG4gIHB1YmxpYyB0YWJDbGlja2VkID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG5cbiAgI2dyb3VwczogU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudFtdID0gW107XG5cbiAgI2NvbnRlbnRBZGRlZCA9IGZhbHNlO1xuXG4gICN0YWJzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICNpc01vYmlsZSA9IGZhbHNlO1xuXG4gICNhZGFwdGVyU3ZjID0gaW5qZWN0KFNreVZlcnRpY2FsVGFic2V0QWRhcHRlclNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGluamVjdChTa3lNZWRpYVF1ZXJ5U2VydmljZSlcbiAgICAgIC5icmVha3BvaW50Q2hhbmdlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKChicmVha3BvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5vd01vYmlsZSA9IGJyZWFrcG9pbnQgPT09ICd4cyc7XG5cbiAgICAgICAgaWYgKG5vd01vYmlsZSAmJiAhdGhpcy4jaXNNb2JpbGUpIHtcbiAgICAgICAgICAvLyBzd2l0Y2hpbmcgdG8gbW9iaWxlXG4gICAgICAgICAgdGhpcy5zd2l0Y2hpbmdNb2JpbGUubmV4dCh0cnVlKTtcblxuICAgICAgICAgIGlmICghdGhpcy4jdGFic1Zpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkaW5nVGFicy5uZXh0KHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICghbm93TW9iaWxlICYmIHRoaXMuI2lzTW9iaWxlKSB7XG4gICAgICAgICAgLy8gc3dpdGNoaW5nIHRvIHdpZGVzY3JlZW5cbiAgICAgICAgICB0aGlzLnN3aXRjaGluZ01vYmlsZS5uZXh0KGZhbHNlKTtcblxuICAgICAgICAgIGlmICghdGhpcy4jdGFic1Zpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd2luZ1RhYnMubmV4dCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLiNpc01vYmlsZSA9IG5vd01vYmlsZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZFRhYih0YWI6IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYnMubGVuZ3RoO1xuICAgIHRhYi5pbmRleCA9IGluZGV4O1xuXG4gICAgdGhpcy50YWJzLnB1c2godGFiKTtcblxuICAgIGlmICh0YWIuYWN0aXZlKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlVGFiKHRhYik7XG4gICAgfVxuXG4gICAgdGhpcy50YWJBZGRlZC5uZXh0KHRhYik7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveVRhYih0YWI6IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFiSW5kZXggPSB0aGlzLnRhYnMuaW5kZXhPZih0YWIpO1xuICAgIGlmICh0YWJJbmRleCA9PT0gLTEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLm1haW50YWluVGFiQ29udGVudCAmJlxuICAgICAgdGFiLmNvbnRlbnRSZW5kZXJlZCAmJlxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudC5jb250YWlucyh0YWIudGFiQ29udGVudD8ubmF0aXZlRWxlbWVudClcbiAgICApIHtcbiAgICAgIHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0YWIudGFiQ29udGVudD8ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgdGhpcy50YWJzLnNwbGljZSh0YWJJbmRleCwgMSk7XG4gICAgLy8gdXBkYXRlIHRhYiBpbmRpY2VzXG4gICAgdGhpcy50YWJzLmZvckVhY2goKHRhYkl0ZW0sIGluZGV4KSA9PiAodGFiSXRlbS5pbmRleCA9IGluZGV4KSk7XG5cbiAgICBpZiAodGFiLmFjdGl2ZSkge1xuICAgICAgaWYgKCF0aGlzLm1haW50YWluVGFiQ29udGVudCkge1xuICAgICAgICB0aGlzLiNkZXN0cm95Q29udGVudCgpO1xuICAgICAgfVxuICAgICAgLy8gVHJ5IHNlbGVjdGluZyB0aGUgbmV4dCB0YWIgZmlyc3QsIGFuZCBpZiB0aGVyZSdzIG5vIG5leHQgdGFiIHRoZW5cbiAgICAgIC8vIHRyeSBzZWxlY3RpbmcgdGhlIHByZXZpb3VzIG9uZS5cbiAgICAgIGNvbnN0IG5ld0FjdGl2ZVRhYiA9IHRoaXMudGFic1t0YWJJbmRleF0gfHwgdGhpcy50YWJzW3RhYkluZGV4IC0gMV07XG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAobmV3QWN0aXZlVGFiKSB7XG4gICAgICAgIG5ld0FjdGl2ZVRhYi5hY3RpdmF0ZVRhYigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRHcm91cChncm91cDogU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuI2dyb3Vwcy5wdXNoKGdyb3VwKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95R3JvdXAoZ3JvdXA6IFNreVZlcnRpY2FsVGFic2V0R3JvdXBDb21wb25lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBncm91cEluZGV4ID0gdGhpcy4jZ3JvdXBzLmluZGV4T2YoZ3JvdXApO1xuXG4gICAgaWYgKGdyb3VwSW5kZXggPj0gMCkge1xuICAgICAgdGhpcy4jZ3JvdXBzLnNwbGljZShncm91cEluZGV4LCAxKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGVUYWIodGFiOiBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgIC8vIGRlYWN0aXZhdGUgYWN0aXZlIHRhYlxuICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRoaXMudGFicy5maW5kKCh0KSA9PiB0LmluZGV4ID09PSB0aGlzLmFjdGl2ZUluZGV4KTtcbiAgICBpZiAoYWN0aXZlVGFiICYmIGFjdGl2ZVRhYi5pbmRleCAhPT0gdGFiLmluZGV4KSB7XG4gICAgICBhY3RpdmVUYWIuYWN0aXZlID0gZmFsc2U7XG4gICAgICBhY3RpdmVUYWIudGFiRGVhY3RpdmF0ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdGFiLmluZGV4O1xuICAgIHRoaXMudGFiQ2xpY2tlZC5uZXh0KHRydWUpO1xuICAgIHRoaXMuI3VwZGF0ZVRhYkNsaWNrZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmVUYWIoKTogU2t5VmVydGljYWxUYWJDb21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnRhYnMuZmluZCgodCkgPT4gdC5pbmRleCA9PT0gdGhpcy5hY3RpdmVJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2lzTW9iaWxlO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1haW50YWluVGFiQ29udGVudCkge1xuICAgICAgaWYgKCF0aGlzLiNjb250ZW50QWRkZWQgJiYgdGhpcy5jb250ZW50VmlzaWJsZSgpKSB7XG4gICAgICAgIC8vIGNvbnRlbnQgbmVlZHMgdG8gYmUgbW92ZWRcbiAgICAgICAgdGhpcy4jbW92ZUNvbnRlbnQoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy4jY29udGVudEFkZGVkICYmICF0aGlzLmNvbnRlbnRWaXNpYmxlKCkpIHtcbiAgICAgICAgLy8gY29udGVudCBoaWRkZW5cbiAgICAgICAgdGhpcy4jY29udGVudEFkZGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgaWYgKCF0YWIuY29udGVudFJlbmRlcmVkKSB7XG4gICAgICAgICAgdGhpcy5jb250ZW50Py5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKFxuICAgICAgICAgICAgdGFiLnRhYkNvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0YWIuY29udGVudFJlbmRlcmVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRhYnNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc01vYmlsZSgpIHx8IHRoaXMuI3RhYnNWaXNpYmxlO1xuICB9XG5cbiAgcHVibGljIGNvbnRlbnRWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc01vYmlsZSgpIHx8ICF0aGlzLiN0YWJzVmlzaWJsZTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VGFicygpOiB2b2lkIHtcbiAgICB0aGlzLiN0YWJzVmlzaWJsZSA9IHRydWU7XG4gICAgdGhpcy4jY29udGVudEFkZGVkID0gZmFsc2U7XG4gICAgdGhpcy5hbmltYXRpb25UYWJzVmlzaWJsZVN0YXRlID0gVklTSUJMRV9TVEFURTtcbiAgICB0aGlzLmFuaW1hdGlvbkNvbnRlbnRWaXNpYmxlU3RhdGUgPSBISURERU5fU1RBVEU7XG4gICAgdGhpcy5zaG93aW5nVGFicy5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzQWN0aXZlVGFiKHRhYkdyb3VwczogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGxldCBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICBjb25zdCBhY3RpdmVUYWIgPSB0aGlzLnRhYnMuZmluZCgodGFiKSA9PiB0YWIuYWN0aXZlKTtcblxuICAgIGlmIChhY3RpdmVUYWIpIHtcbiAgICAgIGNvbnN0IHBhcmVudEdyb3VwID0gdGhpcy4jZmluZFBhcmVudEdyb3VwKGFjdGl2ZVRhYik7XG5cbiAgICAgIGNvbnN0IGJ1dHRvblRvRm9jdXMgPVxuICAgICAgICBwYXJlbnRHcm91cCAmJiAhcGFyZW50R3JvdXAub3BlblxuICAgICAgICAgID8gcGFyZW50R3JvdXAuZ3JvdXBIZWFkaW5nQnV0dG9uXG4gICAgICAgICAgOiBhY3RpdmVUYWIudGFiQnV0dG9uO1xuXG4gICAgICBmb2N1c2VkID0gdGhpcy4jYWRhcHRlclN2Yy5mb2N1c0J1dHRvbihidXR0b25Ub0ZvY3VzKTtcbiAgICB9XG5cbiAgICBpZiAoIWZvY3VzZWQpIHtcbiAgICAgIHRoaXMuI2FkYXB0ZXJTdmMuZm9jdXNGaXJzdEJ1dHRvbih0YWJHcm91cHMpO1xuICAgIH1cbiAgfVxuXG4gICNmaW5kUGFyZW50R3JvdXAoXG4gICAgdGFiOiBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCxcbiAgKTogU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI2dyb3Vwcy5maW5kKChncm91cCkgPT5cbiAgICAgIGdyb3VwLnRhYnM/LnNvbWUoKGdyb3VwVGFiKSA9PiB0YWIgPT09IGdyb3VwVGFiKSxcbiAgICApO1xuICB9XG5cbiAgI2Rlc3Ryb3lDb250ZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbnRlbnQpIHtcbiAgICAgIHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLmNvbnRlbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICAjbW92ZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5jb250ZW50ICYmICF0aGlzLiNjb250ZW50QWRkZWQpIHtcbiAgICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRoaXMuYWN0aXZlVGFiKCk7XG4gICAgICBjb25zdCBhY3RpdmVDb250ZW50ID0gYWN0aXZlVGFiID8gYWN0aXZlVGFiLnRhYkNvbnRlbnQgOiB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChhY3RpdmVDb250ZW50ICYmIGFjdGl2ZVRhYiAmJiBhY3RpdmVDb250ZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aXZlQ29udGVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgYWN0aXZlVGFiLmNvbnRlbnRSZW5kZXJlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuI2NvbnRlbnRBZGRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZVRhYkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy4jY29udGVudEFkZGVkID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLiN0YWJzVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5hbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlID0gVklTSUJMRV9TVEFURTtcbiAgICAgIHRoaXMuYW5pbWF0aW9uVGFic1Zpc2libGVTdGF0ZSA9IEhJRERFTl9TVEFURTtcbiAgICAgIHRoaXMuaGlkaW5nVGFicy5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHRoaXMuaW5kZXhDaGFuZ2VkLm5leHQodGhpcy5hY3RpdmVJbmRleCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtdGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9za3l1eC10YWJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWZpeHR1cmUtdGFiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvdGVzdGluZy9zcmMvbGVnYWN5L3RhYnMvdGFiLWZpeHR1cmUtdGFiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFByb3BlcnRpZXMgb2YgYSBTS1kgVVggdGFiLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5VGFic2V0Rml4dHVyZVRhYiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0YWIgaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBhY3RpdmU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRhYiBpcyBkaXNhYmxlZC5cbiAgICovXG4gIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVybWFsaW5rIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHRhYi5cbiAgICovXG4gIHBlcm1hbGlua1ZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjb3VudCBkaXNwbGF5ZWQgaW4gdGhlIHRhYiBoZWFkZXIuXG4gICAqL1xuICB0YWJIZWFkZXJDb3VudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCBkaXNwbGF5ZWQgaW4gdGhlIHRhYiBoZWFkZXIuXG4gICAqL1xuICB0YWJIZWFkaW5nOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG4iXX0=
@@ -1,129 +0,0 @@
1
- import { By } from '@angular/platform-browser';
2
- import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
- /**
4
- * Allows interaction with a SKY UX tabset component.
5
- * @internal
6
- */
7
- export class SkyTabsetFixture {
8
- /**
9
- * The tabset component's ARIA label.
10
- */
11
- get ariaLabel() {
12
- const tabsetEl = this.#getTabsetEl();
13
- return tabsetEl.getAttribute('aria-label') || undefined;
14
- }
15
- /**
16
- * The tabset component's ARIA labelled by attribute.
17
- */
18
- get ariaLabelledBy() {
19
- const tabsetEl = this.#getTabsetEl();
20
- return tabsetEl.getAttribute('aria-labelledby') || undefined;
21
- }
22
- /**
23
- * The index of the currently selected tab.
24
- */
25
- get activeTabIndex() {
26
- const tabLinkEls = this.#getTabLinkEls();
27
- for (let i = 0, n = tabLinkEls.length; i < n; i++) {
28
- if (tabLinkEls.item(i).classList.contains('sky-btn-tab-selected')) {
29
- return i;
30
- }
31
- }
32
- /* safety check */
33
- /* istanbul ignore next */
34
- return -1;
35
- }
36
- #debugEl;
37
- #fixture;
38
- constructor(fixture, skyTestId) {
39
- this.#fixture = fixture;
40
- this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-tabset');
41
- }
42
- /**
43
- * Retrieves information about the tab at the specified index.
44
- * @param tabIndex The index of the tab.
45
- */
46
- getTab(tabIndex) {
47
- const tabLinkEl = this.#getTabLinkEl(tabIndex);
48
- const active = this.activeTabIndex === tabIndex;
49
- const disabled = tabLinkEl.classList.contains('sky-btn-tab-disabled');
50
- const tabHeading = this.#getTextContent(tabLinkEl.querySelector('.sky-tab-heading span')?.childNodes[0]);
51
- const tabHeaderCount = this.#getTextContent(tabLinkEl.querySelector('.sky-tab-header-count'));
52
- let permalinkValue;
53
- if (tabLinkEl.href) {
54
- const permalink = tabLinkEl.href.split('?')[1];
55
- if (permalink) {
56
- const permalinkParts = permalink.split('=');
57
- permalinkValue = decodeURIComponent(permalinkParts[1]);
58
- }
59
- }
60
- return {
61
- active,
62
- disabled,
63
- permalinkValue,
64
- tabHeaderCount,
65
- tabHeading,
66
- };
67
- }
68
- /**
69
- * Clicks the tabset's "new" button.
70
- */
71
- async clickNewButton() {
72
- await this.#clickButton('sky-tabset-btn-new');
73
- }
74
- /**
75
- * Clicks the tabset's "open" button.
76
- */
77
- async clickOpenButton() {
78
- await this.#clickButton('sky-tabset-btn-open');
79
- }
80
- /**
81
- * Clicks the tab button at the specified index.
82
- * @param tabIndex The index of the tab.
83
- */
84
- async clickTab(tabIndex) {
85
- const tabLinkEl = this.#getTabLinkEl(tabIndex);
86
- tabLinkEl.click();
87
- this.#fixture.detectChanges();
88
- await this.#fixture.whenStable();
89
- }
90
- /**
91
- * Click's the tab's close button at the specified index.
92
- * @param tabIndex The index of the tab.
93
- */
94
- async clickTabClose(tabIndex) {
95
- const tabWrapperEl = this.#getTabsetEl().querySelectorAll(`.sky-tabset-tabs .sky-btn-tab-wrapper`)[tabIndex];
96
- const closeBtnEl = tabWrapperEl.querySelector('.sky-btn-tab-close');
97
- if (!closeBtnEl) {
98
- throw new Error('The specified tab does not have a close button.');
99
- }
100
- closeBtnEl.click();
101
- this.#fixture.detectChanges();
102
- await this.#fixture.whenStable();
103
- }
104
- async #clickButton(buttonCls) {
105
- const tabsetEl = this.#getTabsetEl();
106
- const newButtonEl = tabsetEl.querySelector(`.sky-tabset-btns .${buttonCls}`);
107
- newButtonEl.click();
108
- this.#fixture.detectChanges();
109
- await this.#fixture.whenStable();
110
- }
111
- #getTabsetEl() {
112
- const tabsetEl = this.#debugEl.query(By.css('.sky-tabset')).nativeElement;
113
- return tabsetEl;
114
- }
115
- #getTabLinkEls() {
116
- return this.#getTabsetEl().querySelectorAll(`.sky-tabset-tabs .sky-btn-tab`);
117
- }
118
- #getTabLinkEl(tabIndex) {
119
- const tabLinkEl = this.#getTabLinkEls().item(tabIndex);
120
- if (!tabLinkEl) {
121
- throw new Error(`There is no tab at index ${tabIndex}.`);
122
- }
123
- return tabLinkEl;
124
- }
125
- #getTextContent(el) {
126
- return (el && el.textContent?.trim()) || undefined;
127
- }
128
- }
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy90ZXN0aW5nL3NyYy9sZWdhY3kvdGFicy90YWJzZXQtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJdkQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7T0FFRztJQUNILElBQVcsU0FBUztRQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckMsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXpDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNsRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xFLE9BQU8sQ0FBQyxDQUFDO1lBQ1gsQ0FBQztRQUNILENBQUM7UUFFRCxrQkFB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eyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5VGFic2V0Rml4dHVyZVRhYiB9IGZyb20gJy4vdGFiLWZpeHR1cmUtdGFiJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCB0YWJzZXQgY29tcG9uZW50LlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lUYWJzZXRGaXh0dXJlIHtcbiAgLyoqXG4gICAqIFRoZSB0YWJzZXQgY29tcG9uZW50J3MgQVJJQSBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdGFic2V0RWwgPSB0aGlzLiNnZXRUYWJzZXRFbCgpO1xuICAgIHJldHVybiB0YWJzZXRFbC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRhYnNldCBjb21wb25lbnQncyBBUklBIGxhYmVsbGVkIGJ5IGF0dHJpYnV0ZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsbGVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0YWJzZXRFbCA9IHRoaXMuI2dldFRhYnNldEVsKCk7XG4gICAgcmV0dXJuIHRhYnNldEVsLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JykgfHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbmRleCBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRhYi5cbiAgICovXG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0YWJMaW5rRWxzID0gdGhpcy4jZ2V0VGFiTGlua0VscygpO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSB0YWJMaW5rRWxzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgaWYgKHRhYkxpbmtFbHMuaXRlbShpKS5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1idG4tdGFiLXNlbGVjdGVkJykpIHtcbiAgICAgICAgcmV0dXJuIGk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogc2FmZXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuICAjZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTx1bmtub3duPjtcblxuICBjb25zdHJ1Y3RvcihmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+LCBza3lUZXN0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuI2ZpeHR1cmUgPSBmaXh0dXJlO1xuICAgIHRoaXMuI2RlYnVnRWwgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXREZWJ1Z0VsZW1lbnRCeVRlc3RJZChcbiAgICAgIGZpeHR1cmUsXG4gICAgICBza3lUZXN0SWQsXG4gICAgICAnc2t5LXRhYnNldCcsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRhYiBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIuXG4gICAqL1xuICBwdWJsaWMgZ2V0VGFiKHRhYkluZGV4OiBudW1iZXIpOiBTa3lUYWJzZXRGaXh0dXJlVGFiIHtcbiAgICBjb25zdCB0YWJMaW5rRWwgPSB0aGlzLiNnZXRUYWJMaW5rRWwodGFiSW5kZXgpO1xuXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5hY3RpdmVUYWJJbmRleCA9PT0gdGFiSW5kZXg7XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0YWJMaW5rRWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktYnRuLXRhYi1kaXNhYmxlZCcpO1xuICAgIGNvbnN0IHRhYkhlYWRpbmcgPSB0aGlzLiNnZXRUZXh0Q29udGVudChcbiAgICAgIHRhYkxpbmtFbC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYi1oZWFkaW5nIHNwYW4nKT8uY2hpbGROb2Rlc1swXSxcbiAgICApO1xuICAgIGNvbnN0IHRhYkhlYWRlckNvdW50ID0gdGhpcy4jZ2V0VGV4dENvbnRlbnQoXG4gICAgICB0YWJMaW5rRWwucXVlcnlTZWxlY3RvcignLnNreS10YWItaGVhZGVyLWNvdW50JyksXG4gICAgKTtcblxuICAgIGxldCBwZXJtYWxpbmtWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKHRhYkxpbmtFbC5ocmVmKSB7XG4gICAgICBjb25zdCBwZXJtYWxpbmsgPSB0YWJMaW5rRWwuaHJlZi5zcGxpdCgnPycpWzFdO1xuICAgICAgaWYgKHBlcm1hbGluaykge1xuICAgICAgICBjb25zdCBwZXJtYWxpbmtQYXJ0cyA9IHBlcm1hbGluay5zcGxpdCgnPScpO1xuXG4gICAgICAgIHBlcm1hbGlua1ZhbHVlID0gZGVjb2RlVVJJQ29tcG9uZW50KHBlcm1hbGlua1BhcnRzWzFdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWN0aXZlLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBwZXJtYWxpbmtWYWx1ZSxcbiAgICAgIHRhYkhlYWRlckNvdW50LFxuICAgICAgdGFiSGVhZGluZyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgdGFic2V0J3MgXCJuZXdcIiBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tOZXdCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy4jY2xpY2tCdXR0b24oJ3NreS10YWJzZXQtYnRuLW5ldycpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgdGFic2V0J3MgXCJvcGVuXCIgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrT3BlbkJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLiNjbGlja0J1dHRvbignc2t5LXRhYnNldC1idG4tb3BlbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgdGFiIGJ1dHRvbiBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tUYWIodGFiSW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHRhYkxpbmtFbCA9IHRoaXMuI2dldFRhYkxpbmtFbCh0YWJJbmRleCk7XG5cbiAgICB0YWJMaW5rRWwuY2xpY2soKTtcblxuICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIGF3YWl0IHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrJ3MgdGhlIHRhYidzIGNsb3NlIGJ1dHRvbiBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tUYWJDbG9zZSh0YWJJbmRleDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdGFiV3JhcHBlckVsID0gdGhpcy4jZ2V0VGFic2V0RWwoKS5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgYC5za3ktdGFic2V0LXRhYnMgLnNreS1idG4tdGFiLXdyYXBwZXJgLFxuICAgIClbdGFiSW5kZXhdO1xuXG4gICAgY29uc3QgY2xvc2VCdG5FbCA9IHRhYldyYXBwZXJFbC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5za3ktYnRuLXRhYi1jbG9zZScsXG4gICAgKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcblxuICAgIGlmICghY2xvc2VCdG5FbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgc3BlY2lmaWVkIHRhYiBkb2VzIG5vdCBoYXZlIGEgY2xvc2UgYnV0dG9uLicpO1xuICAgIH1cblxuICAgIGNsb3NlQnRuRWwuY2xpY2soKTtcblxuICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIGF3YWl0IHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgYXN5bmMgI2NsaWNrQnV0dG9uKGJ1dHRvbkNsczogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdGFic2V0RWwgPSB0aGlzLiNnZXRUYWJzZXRFbCgpO1xuXG4gICAgY29uc3QgbmV3QnV0dG9uRWwgPSB0YWJzZXRFbC5xdWVyeVNlbGVjdG9yKFxuICAgICAgYC5za3ktdGFic2V0LWJ0bnMgLiR7YnV0dG9uQ2xzfWAsXG4gICAgKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcblxuICAgIG5ld0J1dHRvbkVsLmNsaWNrKCk7XG5cbiAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICBhd2FpdCB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gICNnZXRUYWJzZXRFbCgpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgY29uc3QgdGFic2V0RWwgPSB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS10YWJzZXQnKSkubmF0aXZlRWxlbWVudDtcblxuICAgIHJldHVybiB0YWJzZXRFbDtcbiAgfVxuXG4gICNnZXRUYWJMaW5rRWxzKCk6IE5vZGVMaXN0T2Y8SFRNTEFuY2hvckVsZW1lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy4jZ2V0VGFic2V0RWwoKS5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgYC5za3ktdGFic2V0LXRhYnMgLnNreS1idG4tdGFiYCxcbiAgICApO1xuICB9XG5cbiAgI2dldFRhYkxpbmtFbCh0YWJJbmRleDogbnVtYmVyKTogSFRNTEFuY2hvckVsZW1lbnQge1xuICAgIGNvbnN0IHRhYkxpbmtFbCA9IHRoaXMuI2dldFRhYkxpbmtFbHMoKS5pdGVtKHRhYkluZGV4KTtcblxuICAgIGlmICghdGFiTGlua0VsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIG5vIHRhYiBhdCBpbmRleCAke3RhYkluZGV4fS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGFiTGlua0VsO1xuICB9XG5cbiAgI2dldFRleHRDb250ZW50KGVsOiBFbGVtZW50IHwgTm9kZSB8IHVuZGVmaW5lZCB8IG51bGwpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoZWwgJiYgZWwudGV4dENvbnRlbnQ/LnRyaW0oKSkgfHwgdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export { SkyTabsetFixture } from './legacy/tabs/tabset-fixture';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3Rlc3Rpbmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lUYWJzZXRGaXh0dXJlVGFiIH0gZnJvbSAnLi9sZWdhY3kvdGFicy90YWItZml4dHVyZS10YWInO1xuZXhwb3J0IHsgU2t5VGFic2V0Rml4dHVyZSB9IGZyb20gJy4vbGVnYWN5L3RhYnMvdGFic2V0LWZpeHR1cmUnO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtdGFicy10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvdGVzdGluZy9zcmMvc2t5dXgtdGFicy10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=