@skyux/tabs 11.31.0 → 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.
- package/documentation.json +778 -770
- package/fesm2022/skyux-tabs.mjs +83 -82
- package/fesm2022/skyux-tabs.mjs.map +1 -1
- package/package.json +16 -20
- package/esm2022/index.mjs +0 -20
- package/esm2022/lib/modules/sectioned-form/sectioned-form-section.component.mjs +0 -65
- package/esm2022/lib/modules/sectioned-form/sectioned-form.component.mjs +0 -187
- package/esm2022/lib/modules/sectioned-form/sectioned-form.module.mjs +0 -33
- package/esm2022/lib/modules/sectioned-form/sectioned-form.service.mjs +0 -35
- package/esm2022/lib/modules/sectioned-form/types/sectioned-form-message-type.mjs +0 -5
- package/esm2022/lib/modules/sectioned-form/types/sectioned-form-message.mjs +0 -2
- package/esm2022/lib/modules/shared/sky-tabs-resources.module.mjs +0 -44
- package/esm2022/lib/modules/shared/tab-id.service.mjs +0 -50
- package/esm2022/lib/modules/tabs/tab-button-adapter.service.mjs +0 -16
- package/esm2022/lib/modules/tabs/tab-button-view-model.mjs +0 -2
- package/esm2022/lib/modules/tabs/tab-button.component.mjs +0 -163
- package/esm2022/lib/modules/tabs/tab-index.mjs +0 -2
- package/esm2022/lib/modules/tabs/tab-layout-type.mjs +0 -2
- package/esm2022/lib/modules/tabs/tab.component.mjs +0 -199
- package/esm2022/lib/modules/tabs/tabs.module.mjs +0 -56
- package/esm2022/lib/modules/tabs/tabset-active-tab-change-args.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset-active-tab-unregistered-args.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset-adapter.service.mjs +0 -68
- package/esm2022/lib/modules/tabs/tabset-buttons-display-mode.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset-nav-button-disabled.pipe.mjs +0 -22
- package/esm2022/lib/modules/tabs/tabset-nav-button-type.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset-nav-button.component.mjs +0 -149
- package/esm2022/lib/modules/tabs/tabset-permalink.service.mjs +0 -132
- package/esm2022/lib/modules/tabs/tabset-style.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset-tab-indexes-change.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset.component.mjs +0 -479
- package/esm2022/lib/modules/tabs/tabset.service.mjs +0 -193
- package/esm2022/lib/modules/vertical-tabset/vertical-tab.component.mjs +0 -183
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +0 -67
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group-message.mjs +0 -2
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +0 -152
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group.service.mjs +0 -17
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.component.mjs +0 -173
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.module.mjs +0 -61
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.service.mjs +0 -200
- package/esm2022/skyux-tabs.mjs +0 -5
- package/esm2022/testing/legacy/tabs/tab-fixture-tab.mjs +0 -2
- package/esm2022/testing/legacy/tabs/tabset-fixture.mjs +0 -129
- package/esm2022/testing/public-api.mjs +0 -2
- 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==
|
package/esm2022/skyux-tabs.mjs
DELETED
|
@@ -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=
|