@skyux/tabs 7.0.0-beta.1 → 7.0.0-beta.10
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 +970 -830
- package/esm2020/lib/modules/sectioned-form/sectioned-form-section.component.mjs +20 -14
- package/esm2020/lib/modules/sectioned-form/sectioned-form.component.mjs +25 -19
- package/esm2020/lib/modules/sectioned-form/sectioned-form.service.mjs +1 -1
- package/esm2020/lib/modules/shared/sky-tabs-resources.module.mjs +9 -1
- package/esm2020/lib/modules/tabs/tab-button-view-model.mjs +1 -1
- package/esm2020/lib/modules/tabs/tab-button.component.mjs +48 -10
- package/esm2020/lib/modules/tabs/tab.component.mjs +73 -33
- package/esm2020/lib/modules/tabs/tabs.module.mjs +5 -2
- package/esm2020/lib/modules/tabs/tabset-adapter.service.mjs +34 -22
- package/esm2020/lib/modules/tabs/tabset-nav-button-disabled.pipe.mjs +22 -0
- package/esm2020/lib/modules/tabs/tabset-nav-button.component.mjs +32 -42
- package/esm2020/lib/modules/tabs/tabset-permalink.service.mjs +41 -35
- package/esm2020/lib/modules/tabs/tabset-tab-indexes-change.mjs +1 -1
- package/esm2020/lib/modules/tabs/tabset.component.mjs +219 -226
- package/esm2020/lib/modules/tabs/tabset.service.mjs +67 -51
- package/esm2020/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +11 -12
- package/esm2020/lib/modules/vertical-tabset/vertical-tab.component.mjs +67 -54
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +11 -8
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +28 -34
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset.component.mjs +23 -20
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset.service.mjs +55 -56
- package/esm2020/testing/tabs/tab-fixture-tab.mjs +1 -1
- package/esm2020/testing/tabs/tabset-fixture.mjs +44 -47
- package/fesm2015/skyux-tabs-testing.mjs +47 -49
- package/fesm2015/skyux-tabs-testing.mjs.map +1 -1
- package/fesm2015/skyux-tabs.mjs +764 -624
- package/fesm2015/skyux-tabs.mjs.map +1 -1
- package/fesm2020/skyux-tabs-testing.mjs +43 -46
- package/fesm2020/skyux-tabs-testing.mjs.map +1 -1
- package/fesm2020/skyux-tabs.mjs +867 -731
- package/fesm2020/skyux-tabs.mjs.map +1 -1
- package/lib/modules/sectioned-form/sectioned-form-section.component.d.ts +7 -10
- package/lib/modules/sectioned-form/sectioned-form.component.d.ts +4 -6
- package/lib/modules/sectioned-form/sectioned-form.service.d.ts +4 -4
- package/lib/modules/tabs/tab-button-view-model.d.ts +7 -5
- package/lib/modules/tabs/tab-button.component.d.ts +17 -11
- package/lib/modules/tabs/tab.component.d.ts +13 -18
- package/lib/modules/tabs/tabs.module.d.ts +9 -8
- package/lib/modules/tabs/tabset-adapter.service.d.ts +5 -10
- package/lib/modules/tabs/tabset-nav-button-disabled.pipe.d.ts +8 -0
- package/lib/modules/tabs/tabset-nav-button.component.d.ts +8 -5
- package/lib/modules/tabs/tabset-permalink.service.d.ts +3 -11
- package/lib/modules/tabs/tabset-tab-indexes-change.d.ts +2 -2
- package/lib/modules/tabs/tabset.component.d.ts +9 -56
- package/lib/modules/tabs/tabset.service.d.ts +8 -12
- package/lib/modules/vertical-tabset/vertical-tab-media-query.service.d.ts +2 -3
- package/lib/modules/vertical-tabset/vertical-tab.component.d.ts +13 -22
- package/lib/modules/vertical-tabset/vertical-tabset-adapter.service.d.ts +1 -2
- package/lib/modules/vertical-tabset/vertical-tabset-group.component.d.ts +7 -11
- package/lib/modules/vertical-tabset/vertical-tabset.component.d.ts +10 -13
- package/lib/modules/vertical-tabset/vertical-tabset.service.d.ts +10 -17
- package/package.json +9 -9
- package/testing/tabs/tab-fixture-tab.d.ts +3 -3
- package/testing/tabs/tabset-fixture.d.ts +3 -9
package/fesm2020/skyux-tabs.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i4 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { NgModule, Injectable, Component, ChangeDetectionStrategy, Input, ViewChild, HostListener, ContentChildren, EventEmitter, Output, ViewEncapsulation } from '@angular/core';
|
|
4
|
+
import { NgModule, Injectable, Component, ChangeDetectionStrategy, Input, ViewChild, HostListener, ContentChildren, EventEmitter, Output, ViewEncapsulation, Pipe } from '@angular/core';
|
|
5
5
|
import { SkyCheckboxModule } from '@skyux/forms';
|
|
6
6
|
import * as i7 from '@skyux/theme';
|
|
7
7
|
import { SkyThemeModule } from '@skyux/theme';
|
|
@@ -11,7 +11,8 @@ import * as i5 from '@skyux/indicators';
|
|
|
11
11
|
import { SkyIconModule, SkyExpansionIndicatorModule, SkyStatusIndicatorModule } from '@skyux/indicators';
|
|
12
12
|
import * as i3 from '@skyux/i18n';
|
|
13
13
|
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
|
|
14
|
-
import {
|
|
14
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
|
15
|
+
import { ReplaySubject, BehaviorSubject, Subject, combineLatest, race } from 'rxjs';
|
|
15
16
|
import { takeUntil, take, distinctUntilChanged } from 'rxjs/operators';
|
|
16
17
|
import { skyAnimationSlide } from '@skyux/animations';
|
|
17
18
|
import { trigger, transition, style, animate } from '@angular/animations';
|
|
@@ -19,7 +20,6 @@ import * as i1$1 from '@angular/router';
|
|
|
19
20
|
import { RouterModule } from '@angular/router';
|
|
20
21
|
import * as i5$1 from '@skyux/popovers';
|
|
21
22
|
import { SkyDropdownModule } from '@skyux/popovers';
|
|
22
|
-
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* NOTICE: DO NOT MODIFY THIS FILE!
|
|
@@ -35,7 +35,15 @@ const RESOURCES = {
|
|
|
35
35
|
skyux_tabs_navigator_next: { message: 'Next' },
|
|
36
36
|
skyux_tabs_navigator_previous: { message: 'Previous' },
|
|
37
37
|
skyux_tab_open: { message: 'Open tab' },
|
|
38
|
+
skyux_tabs_sr_tab_order: { message: 'Tab {0} of {1}: {2}' },
|
|
38
39
|
skyux_vertical_tabs_show_tabs_text: { message: 'Tab list' },
|
|
40
|
+
skyux_wizard_sr_step_current: { message: 'Step {0} of {1}, current: {2}' },
|
|
41
|
+
skyux_wizard_sr_step_completed: {
|
|
42
|
+
message: 'Step {0} of {1}, completed: {2}',
|
|
43
|
+
},
|
|
44
|
+
skyux_wizard_sr_step_unavailable: {
|
|
45
|
+
message: 'Step {0} of {1}, unavailable: {2}',
|
|
46
|
+
},
|
|
39
47
|
},
|
|
40
48
|
};
|
|
41
49
|
class SkyTabsResourcesProvider {
|
|
@@ -71,20 +79,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
71
79
|
}]
|
|
72
80
|
}] });
|
|
73
81
|
|
|
82
|
+
var _SkyVerticalTabMediaQueryService_currentSubject;
|
|
74
83
|
/**
|
|
75
84
|
* @internal
|
|
76
85
|
*/
|
|
77
86
|
class SkyVerticalTabMediaQueryService {
|
|
78
87
|
constructor() {
|
|
79
|
-
this
|
|
80
|
-
this
|
|
81
|
-
this.currentSubject.next(this._current);
|
|
82
|
-
}
|
|
83
|
-
get current() {
|
|
84
|
-
return this._current;
|
|
88
|
+
_SkyVerticalTabMediaQueryService_currentSubject.set(this, void 0);
|
|
89
|
+
__classPrivateFieldSet(this, _SkyVerticalTabMediaQueryService_currentSubject, new ReplaySubject(1), "f");
|
|
85
90
|
}
|
|
86
91
|
subscribe(listener) {
|
|
87
|
-
return this.
|
|
92
|
+
return __classPrivateFieldGet(this, _SkyVerticalTabMediaQueryService_currentSubject, "f").subscribe({
|
|
88
93
|
next: (breakpoints) => {
|
|
89
94
|
listener(breakpoints);
|
|
90
95
|
},
|
|
@@ -104,8 +109,8 @@ class SkyVerticalTabMediaQueryService {
|
|
|
104
109
|
else {
|
|
105
110
|
breakpoint = SkyMediaBreakpoints.lg;
|
|
106
111
|
}
|
|
107
|
-
this.
|
|
108
|
-
this.
|
|
112
|
+
this.current = breakpoint;
|
|
113
|
+
__classPrivateFieldGet(this, _SkyVerticalTabMediaQueryService_currentSubject, "f").next(this.current);
|
|
109
114
|
}
|
|
110
115
|
isWidthWithinBreakpiont(width, breakpoint) {
|
|
111
116
|
const xsBreakpointMaxPixels = 767;
|
|
@@ -130,19 +135,21 @@ class SkyVerticalTabMediaQueryService {
|
|
|
130
135
|
}
|
|
131
136
|
}
|
|
132
137
|
destroy() {
|
|
133
|
-
this.
|
|
138
|
+
__classPrivateFieldGet(this, _SkyVerticalTabMediaQueryService_currentSubject, "f").complete();
|
|
134
139
|
}
|
|
135
140
|
}
|
|
141
|
+
_SkyVerticalTabMediaQueryService_currentSubject = new WeakMap();
|
|
136
142
|
SkyVerticalTabMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
137
143
|
SkyVerticalTabMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabMediaQueryService });
|
|
138
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabMediaQueryService, decorators: [{
|
|
139
145
|
type: Injectable
|
|
140
146
|
}], ctorParameters: function () { return []; } });
|
|
141
147
|
|
|
148
|
+
var _SkyVerticalTabsetAdapterService_renderer;
|
|
142
149
|
class SkyVerticalTabsetAdapterService {
|
|
143
150
|
constructor(rendererFactory) {
|
|
144
|
-
this
|
|
145
|
-
this
|
|
151
|
+
_SkyVerticalTabsetAdapterService_renderer.set(this, void 0);
|
|
152
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
|
|
146
153
|
}
|
|
147
154
|
getWidth(elementRef) {
|
|
148
155
|
return elementRef.nativeElement.clientWidth;
|
|
@@ -152,10 +159,10 @@ class SkyVerticalTabsetAdapterService {
|
|
|
152
159
|
}
|
|
153
160
|
setResponsiveClass(element, breakpoint) {
|
|
154
161
|
const nativeEl = element.nativeElement;
|
|
155
|
-
this.
|
|
156
|
-
this.
|
|
157
|
-
this.
|
|
158
|
-
this.
|
|
162
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-xs');
|
|
163
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-sm');
|
|
164
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-md');
|
|
165
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-lg');
|
|
159
166
|
let newClass;
|
|
160
167
|
switch (breakpoint) {
|
|
161
168
|
case SkyMediaBreakpoints.xs: {
|
|
@@ -175,15 +182,17 @@ class SkyVerticalTabsetAdapterService {
|
|
|
175
182
|
break;
|
|
176
183
|
}
|
|
177
184
|
}
|
|
178
|
-
this.
|
|
185
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetAdapterService_renderer, "f").addClass(nativeEl, newClass);
|
|
179
186
|
}
|
|
180
187
|
}
|
|
188
|
+
_SkyVerticalTabsetAdapterService_renderer = new WeakMap();
|
|
181
189
|
SkyVerticalTabsetAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
182
190
|
SkyVerticalTabsetAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetAdapterService });
|
|
183
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetAdapterService, decorators: [{
|
|
184
192
|
type: Injectable
|
|
185
193
|
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
|
|
186
194
|
|
|
195
|
+
var _SkyVerticalTabsetService_instances, _SkyVerticalTabsetService_contentAdded, _SkyVerticalTabsetService_tabsVisible, _SkyVerticalTabsetService_isMobile, _SkyVerticalTabsetService_mediaQueryService, _SkyVerticalTabsetService_destroyContent, _SkyVerticalTabsetService_moveContent, _SkyVerticalTabsetService_updateTabClicked;
|
|
187
196
|
const VISIBLE_STATE = 'shown';
|
|
188
197
|
const HIDDEN_STATE = 'void';
|
|
189
198
|
/**
|
|
@@ -191,41 +200,40 @@ const HIDDEN_STATE = 'void';
|
|
|
191
200
|
*/
|
|
192
201
|
class SkyVerticalTabsetService {
|
|
193
202
|
constructor(mediaQueryService) {
|
|
194
|
-
this
|
|
203
|
+
_SkyVerticalTabsetService_instances.add(this);
|
|
195
204
|
this.activeIndex = undefined;
|
|
196
205
|
this.hidingTabs = new BehaviorSubject(false);
|
|
197
|
-
this.indexChanged = new
|
|
206
|
+
this.indexChanged = new ReplaySubject(1);
|
|
198
207
|
this.maintainTabContent = false;
|
|
199
208
|
this.showingTabs = new BehaviorSubject(false);
|
|
200
209
|
this.switchingMobile = new Subject();
|
|
201
210
|
this.tabs = [];
|
|
202
211
|
this.tabAdded = new Subject();
|
|
203
|
-
this.tabClicked = new
|
|
204
|
-
this
|
|
205
|
-
this
|
|
206
|
-
this
|
|
207
|
-
|
|
212
|
+
this.tabClicked = new ReplaySubject(1);
|
|
213
|
+
_SkyVerticalTabsetService_contentAdded.set(this, false);
|
|
214
|
+
_SkyVerticalTabsetService_tabsVisible.set(this, false);
|
|
215
|
+
_SkyVerticalTabsetService_isMobile.set(this, false);
|
|
216
|
+
_SkyVerticalTabsetService_mediaQueryService.set(this, void 0);
|
|
217
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetService_mediaQueryService, mediaQueryService, "f");
|
|
218
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetService_mediaQueryService, "f").subscribe((breakpoint) => {
|
|
208
219
|
const nowMobile = breakpoint === SkyMediaBreakpoints.xs;
|
|
209
|
-
if (nowMobile && !this
|
|
220
|
+
if (nowMobile && !__classPrivateFieldGet(this, _SkyVerticalTabsetService_isMobile, "f")) {
|
|
210
221
|
// switching to mobile
|
|
211
222
|
this.switchingMobile.next(true);
|
|
212
|
-
if (!this
|
|
223
|
+
if (!__classPrivateFieldGet(this, _SkyVerticalTabsetService_tabsVisible, "f")) {
|
|
213
224
|
this.hidingTabs.next(true);
|
|
214
225
|
}
|
|
215
226
|
}
|
|
216
|
-
else if (!nowMobile && this
|
|
227
|
+
else if (!nowMobile && __classPrivateFieldGet(this, _SkyVerticalTabsetService_isMobile, "f")) {
|
|
217
228
|
// switching to widescreen
|
|
218
229
|
this.switchingMobile.next(false);
|
|
219
|
-
if (!this
|
|
230
|
+
if (!__classPrivateFieldGet(this, _SkyVerticalTabsetService_tabsVisible, "f")) {
|
|
220
231
|
this.showingTabs.next(true);
|
|
221
232
|
}
|
|
222
233
|
}
|
|
223
|
-
this
|
|
234
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetService_isMobile, nowMobile, "f");
|
|
224
235
|
});
|
|
225
236
|
}
|
|
226
|
-
set content(value) {
|
|
227
|
-
this._content = value;
|
|
228
|
-
}
|
|
229
237
|
addTab(tab) {
|
|
230
238
|
const index = this.tabs.length;
|
|
231
239
|
tab.index = index;
|
|
@@ -243,15 +251,15 @@ class SkyVerticalTabsetService {
|
|
|
243
251
|
if (this.maintainTabContent &&
|
|
244
252
|
tab.contentRendered &&
|
|
245
253
|
/* istanbul ignore next */
|
|
246
|
-
this.
|
|
247
|
-
this.
|
|
254
|
+
this.content?.nativeElement.contains(tab.tabContent?.nativeElement)) {
|
|
255
|
+
this.content?.nativeElement.removeChild(tab.tabContent?.nativeElement);
|
|
248
256
|
}
|
|
249
257
|
this.tabs.splice(tabIndex, 1);
|
|
250
258
|
// update tab indices
|
|
251
259
|
this.tabs.forEach((tabItem, index) => (tabItem.index = index));
|
|
252
260
|
if (tab.active) {
|
|
253
261
|
if (!this.maintainTabContent) {
|
|
254
|
-
this.
|
|
262
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetService_instances, "m", _SkyVerticalTabsetService_destroyContent).call(this);
|
|
255
263
|
}
|
|
256
264
|
// Try selecting the next tab first, and if there's no next tab then
|
|
257
265
|
// try selecting the previous one.
|
|
@@ -271,89 +279,85 @@ class SkyVerticalTabsetService {
|
|
|
271
279
|
}
|
|
272
280
|
this.activeIndex = tab.index;
|
|
273
281
|
this.tabClicked.next(true);
|
|
274
|
-
this.
|
|
282
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetService_instances, "m", _SkyVerticalTabsetService_updateTabClicked).call(this);
|
|
275
283
|
}
|
|
276
284
|
activeTab() {
|
|
277
285
|
return this.tabs.find((t) => t.index === this.activeIndex);
|
|
278
286
|
}
|
|
279
287
|
isMobile() {
|
|
280
|
-
return this
|
|
288
|
+
return __classPrivateFieldGet(this, _SkyVerticalTabsetService_isMobile, "f");
|
|
281
289
|
}
|
|
282
290
|
updateContent() {
|
|
283
291
|
if (!this.maintainTabContent) {
|
|
284
|
-
if (!this
|
|
292
|
+
if (!__classPrivateFieldGet(this, _SkyVerticalTabsetService_contentAdded, "f") && this.contentVisible()) {
|
|
285
293
|
// content needs to be moved
|
|
286
|
-
this.
|
|
294
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetService_instances, "m", _SkyVerticalTabsetService_moveContent).call(this);
|
|
287
295
|
}
|
|
288
|
-
else if (this
|
|
296
|
+
else if (__classPrivateFieldGet(this, _SkyVerticalTabsetService_contentAdded, "f") && !this.contentVisible()) {
|
|
289
297
|
// content hidden
|
|
290
|
-
this
|
|
298
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetService_contentAdded, false, "f");
|
|
291
299
|
}
|
|
292
300
|
}
|
|
293
301
|
else {
|
|
294
302
|
this.tabs.forEach((tab) => {
|
|
295
303
|
if (!tab.contentRendered) {
|
|
296
|
-
this.
|
|
304
|
+
this.content?.nativeElement.appendChild(tab.tabContent?.nativeElement);
|
|
297
305
|
tab.contentRendered = true;
|
|
298
306
|
}
|
|
299
307
|
});
|
|
300
308
|
}
|
|
301
309
|
}
|
|
302
310
|
tabsVisible() {
|
|
303
|
-
return !this.isMobile() || this
|
|
311
|
+
return !this.isMobile() || __classPrivateFieldGet(this, _SkyVerticalTabsetService_tabsVisible, "f");
|
|
304
312
|
}
|
|
305
313
|
contentVisible() {
|
|
306
|
-
return !this.isMobile() || !this
|
|
314
|
+
return !this.isMobile() || !__classPrivateFieldGet(this, _SkyVerticalTabsetService_tabsVisible, "f");
|
|
307
315
|
}
|
|
308
316
|
showTabs() {
|
|
309
|
-
this
|
|
310
|
-
this
|
|
317
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetService_tabsVisible, true, "f");
|
|
318
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetService_contentAdded, false, "f");
|
|
311
319
|
this.animationTabsVisibleState = VISIBLE_STATE;
|
|
312
320
|
this.animationContentVisibleState = HIDDEN_STATE;
|
|
313
321
|
this.showingTabs.next(true);
|
|
314
322
|
}
|
|
315
|
-
destroyContent() {
|
|
316
|
-
if (this._content) {
|
|
317
|
-
this._content.nativeElement.innerHTML = '';
|
|
318
|
-
}
|
|
319
|
-
this.content = undefined;
|
|
320
|
-
}
|
|
321
|
-
moveContent() {
|
|
322
|
-
/* istanbul ignore else */
|
|
323
|
-
if (this._content && !this._contentAdded) {
|
|
324
|
-
const activeTab = this.activeTab();
|
|
325
|
-
const activeContent = activeTab ? activeTab.tabContent : undefined;
|
|
326
|
-
if (activeContent && activeContent.nativeElement) {
|
|
327
|
-
this._content.nativeElement.appendChild(activeContent.nativeElement);
|
|
328
|
-
activeTab.contentRendered = true;
|
|
329
|
-
this._contentAdded = true;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
updateTabClicked() {
|
|
334
|
-
this._contentAdded = false;
|
|
335
|
-
if (this.isMobile()) {
|
|
336
|
-
this._tabsVisible = false;
|
|
337
|
-
this.animationContentVisibleState = VISIBLE_STATE;
|
|
338
|
-
this.animationTabsVisibleState = HIDDEN_STATE;
|
|
339
|
-
this.hidingTabs.next(true);
|
|
340
|
-
}
|
|
341
|
-
this.indexChanged.next(this.activeIndex);
|
|
342
|
-
}
|
|
343
323
|
}
|
|
324
|
+
_SkyVerticalTabsetService_contentAdded = new WeakMap(), _SkyVerticalTabsetService_tabsVisible = new WeakMap(), _SkyVerticalTabsetService_isMobile = new WeakMap(), _SkyVerticalTabsetService_mediaQueryService = new WeakMap(), _SkyVerticalTabsetService_instances = new WeakSet(), _SkyVerticalTabsetService_destroyContent = function _SkyVerticalTabsetService_destroyContent() {
|
|
325
|
+
if (this.content) {
|
|
326
|
+
this.content.nativeElement.innerHTML = '';
|
|
327
|
+
}
|
|
328
|
+
this.content = undefined;
|
|
329
|
+
}, _SkyVerticalTabsetService_moveContent = function _SkyVerticalTabsetService_moveContent() {
|
|
330
|
+
/* istanbul ignore else */
|
|
331
|
+
if (this.content && !__classPrivateFieldGet(this, _SkyVerticalTabsetService_contentAdded, "f")) {
|
|
332
|
+
const activeTab = this.activeTab();
|
|
333
|
+
const activeContent = activeTab ? activeTab.tabContent : undefined;
|
|
334
|
+
if (activeContent && activeTab && activeContent.nativeElement) {
|
|
335
|
+
this.content.nativeElement.appendChild(activeContent.nativeElement);
|
|
336
|
+
activeTab.contentRendered = true;
|
|
337
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetService_contentAdded, true, "f");
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}, _SkyVerticalTabsetService_updateTabClicked = function _SkyVerticalTabsetService_updateTabClicked() {
|
|
341
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetService_contentAdded, false, "f");
|
|
342
|
+
if (this.isMobile()) {
|
|
343
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetService_tabsVisible, false, "f");
|
|
344
|
+
this.animationContentVisibleState = VISIBLE_STATE;
|
|
345
|
+
this.animationTabsVisibleState = HIDDEN_STATE;
|
|
346
|
+
this.hidingTabs.next(true);
|
|
347
|
+
}
|
|
348
|
+
this.indexChanged.next(this.activeIndex);
|
|
349
|
+
};
|
|
344
350
|
SkyVerticalTabsetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetService, deps: [{ token: i1.SkyMediaQueryService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
345
351
|
SkyVerticalTabsetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetService });
|
|
346
352
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetService, decorators: [{
|
|
347
353
|
type: Injectable
|
|
348
354
|
}], ctorParameters: function () { return [{ type: i1.SkyMediaQueryService }]; } });
|
|
349
355
|
|
|
356
|
+
var _SkyVerticalTabComponent_instances, _SkyVerticalTabComponent__ariaRole, _SkyVerticalTabComponent__contentRendered, _SkyVerticalTabComponent_tabIdOrDefault, _SkyVerticalTabComponent_defaultTabId, _SkyVerticalTabComponent_mobileSubscription, _SkyVerticalTabComponent_ngUnsubscribe, _SkyVerticalTabComponent_adapterService, _SkyVerticalTabComponent_changeRef, _SkyVerticalTabComponent_tabsetService, _SkyVerticalTabComponent_verticalTabMediaQueryService, _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass;
|
|
350
357
|
let nextId$2 = 0;
|
|
351
358
|
class SkyVerticalTabComponent {
|
|
352
359
|
constructor(adapterService, changeRef, tabsetService, verticalTabMediaQueryService) {
|
|
353
|
-
this
|
|
354
|
-
this.changeRef = changeRef;
|
|
355
|
-
this.tabsetService = tabsetService;
|
|
356
|
-
this.verticalTabMediaQueryService = verticalTabMediaQueryService;
|
|
360
|
+
_SkyVerticalTabComponent_instances.add(this);
|
|
357
361
|
/**
|
|
358
362
|
* Indicates whether the tab is active when the tabset loads.
|
|
359
363
|
*/
|
|
@@ -367,16 +371,22 @@ class SkyVerticalTabComponent {
|
|
|
367
371
|
* @internal This is used for sectioned forms and is not currently a supported design for pure vertical tabs.
|
|
368
372
|
*/
|
|
369
373
|
this.errorIndicator = false;
|
|
370
|
-
/**
|
|
371
|
-
* Specifies an ID for the tab.
|
|
372
|
-
* @deprecated Now that the vertical tabs provide aria labels automatically, this input is no longer necessary.
|
|
373
|
-
*/
|
|
374
|
-
this.tabId = `sky-vertical-tab-${++nextId$2}`;
|
|
375
374
|
this.isMobile = false;
|
|
376
|
-
this
|
|
377
|
-
this
|
|
378
|
-
this
|
|
379
|
-
this
|
|
375
|
+
_SkyVerticalTabComponent__ariaRole.set(this, 'tab');
|
|
376
|
+
_SkyVerticalTabComponent__contentRendered.set(this, false);
|
|
377
|
+
_SkyVerticalTabComponent_tabIdOrDefault.set(this, void 0);
|
|
378
|
+
_SkyVerticalTabComponent_defaultTabId.set(this, void 0);
|
|
379
|
+
_SkyVerticalTabComponent_mobileSubscription.set(this, new Subject());
|
|
380
|
+
_SkyVerticalTabComponent_ngUnsubscribe.set(this, new Subject());
|
|
381
|
+
_SkyVerticalTabComponent_adapterService.set(this, void 0);
|
|
382
|
+
_SkyVerticalTabComponent_changeRef.set(this, void 0);
|
|
383
|
+
_SkyVerticalTabComponent_tabsetService.set(this, void 0);
|
|
384
|
+
_SkyVerticalTabComponent_verticalTabMediaQueryService.set(this, void 0);
|
|
385
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_adapterService, adapterService, "f");
|
|
386
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_changeRef, changeRef, "f");
|
|
387
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_tabsetService, tabsetService, "f");
|
|
388
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_verticalTabMediaQueryService, verticalTabMediaQueryService, "f");
|
|
389
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_tabIdOrDefault, __classPrivateFieldSet(this, _SkyVerticalTabComponent_defaultTabId, `sky-vertical-tab-${++nextId$2}`, "f"), "f");
|
|
380
390
|
}
|
|
381
391
|
/**
|
|
382
392
|
* Specifies an ARIA role for the vertical tab
|
|
@@ -389,60 +399,61 @@ class SkyVerticalTabComponent {
|
|
|
389
399
|
* In the next major version, this property will be automatically set to `tab`.
|
|
390
400
|
*/
|
|
391
401
|
get ariaRole() {
|
|
392
|
-
|
|
393
|
-
return undefined;
|
|
394
|
-
}
|
|
395
|
-
return this._ariaRole || 'tab';
|
|
402
|
+
return __classPrivateFieldGet(this, _SkyVerticalTabComponent__ariaRole, "f");
|
|
396
403
|
}
|
|
397
404
|
set ariaRole(value) {
|
|
398
|
-
this
|
|
405
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent__ariaRole, value ?? 'tab', "f");
|
|
399
406
|
}
|
|
400
407
|
/**
|
|
401
|
-
*
|
|
402
|
-
* @
|
|
408
|
+
* Specifies an ID for the tab.
|
|
409
|
+
* @deprecated Now that the vertical tabs provide aria labels automatically, this input is no longer necessary.
|
|
403
410
|
*/
|
|
404
|
-
|
|
405
|
-
|
|
411
|
+
set tabId(value) {
|
|
412
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent_tabIdOrDefault, value || __classPrivateFieldGet(this, _SkyVerticalTabComponent_defaultTabId, "f"), "f");
|
|
406
413
|
}
|
|
407
|
-
|
|
408
|
-
this
|
|
414
|
+
get tabId() {
|
|
415
|
+
return __classPrivateFieldGet(this, _SkyVerticalTabComponent_tabIdOrDefault, "f");
|
|
409
416
|
}
|
|
410
417
|
set contentRendered(value) {
|
|
411
|
-
this
|
|
418
|
+
__classPrivateFieldSet(this, _SkyVerticalTabComponent__contentRendered, value, "f");
|
|
412
419
|
/* istanbul ignore else */
|
|
413
|
-
if (this
|
|
420
|
+
if (__classPrivateFieldGet(this, _SkyVerticalTabComponent__contentRendered, "f")) {
|
|
414
421
|
// NOTE: Wrapped in a setTimeout here to ensure that everything has completed rendering.
|
|
415
422
|
setTimeout(() => {
|
|
416
|
-
|
|
423
|
+
if (this.tabContent) {
|
|
424
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_instances, "m", _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass).call(this);
|
|
425
|
+
}
|
|
417
426
|
});
|
|
418
427
|
}
|
|
419
428
|
}
|
|
420
429
|
get contentRendered() {
|
|
421
|
-
return this
|
|
430
|
+
return __classPrivateFieldGet(this, _SkyVerticalTabComponent__contentRendered, "f");
|
|
422
431
|
}
|
|
423
432
|
ngOnInit() {
|
|
424
|
-
this.isMobile = this.
|
|
425
|
-
this.
|
|
426
|
-
this.
|
|
433
|
+
this.isMobile = __classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").isMobile();
|
|
434
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_changeRef, "f").markForCheck();
|
|
435
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").switchingMobile.subscribe((mobile) => {
|
|
427
436
|
this.isMobile = mobile;
|
|
428
|
-
this.
|
|
437
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_changeRef, "f").markForCheck();
|
|
429
438
|
});
|
|
430
439
|
// Update the breakpoint and responsive class here just as a sanity check since we can not
|
|
431
440
|
// watch for element resizing.
|
|
432
|
-
this.
|
|
433
|
-
.pipe(takeUntil(this
|
|
441
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").indexChanged
|
|
442
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyVerticalTabComponent_ngUnsubscribe, "f")))
|
|
434
443
|
.subscribe((index) => {
|
|
435
444
|
if (this.index === index && this.contentRendered) {
|
|
436
|
-
|
|
445
|
+
if (this.tabContent) {
|
|
446
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_instances, "m", _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass).call(this);
|
|
447
|
+
}
|
|
437
448
|
}
|
|
438
449
|
});
|
|
439
|
-
this.
|
|
450
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").addTab(this);
|
|
440
451
|
}
|
|
441
452
|
ngOnDestroy() {
|
|
442
|
-
this.
|
|
443
|
-
this.
|
|
444
|
-
this.
|
|
445
|
-
this.
|
|
453
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_mobileSubscription, "f").unsubscribe();
|
|
454
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_ngUnsubscribe, "f").next();
|
|
455
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_ngUnsubscribe, "f").complete();
|
|
456
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").destroyTab(this);
|
|
446
457
|
}
|
|
447
458
|
tabIndex() {
|
|
448
459
|
if (!this.disabled) {
|
|
@@ -455,8 +466,8 @@ class SkyVerticalTabComponent {
|
|
|
455
466
|
activateTab() {
|
|
456
467
|
if (!this.disabled) {
|
|
457
468
|
this.active = true;
|
|
458
|
-
this.
|
|
459
|
-
this.
|
|
469
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_tabsetService, "f").activateTab(this);
|
|
470
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_changeRef, "f").markForCheck();
|
|
460
471
|
}
|
|
461
472
|
}
|
|
462
473
|
onTabButtonKeyUp(event) {
|
|
@@ -475,18 +486,25 @@ class SkyVerticalTabComponent {
|
|
|
475
486
|
}
|
|
476
487
|
}
|
|
477
488
|
onWindowResize() {
|
|
478
|
-
|
|
489
|
+
if (this.tabContent) {
|
|
490
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_instances, "m", _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass).call(this);
|
|
491
|
+
}
|
|
479
492
|
}
|
|
480
493
|
tabDeactivated() {
|
|
481
|
-
this.
|
|
482
|
-
}
|
|
483
|
-
updateBreakpointAndResponsiveClass(width) {
|
|
484
|
-
this.verticalTabMediaQueryService.setBreakpointForWidth(width);
|
|
485
|
-
const newBreakpiont = this.verticalTabMediaQueryService.current;
|
|
486
|
-
this.adapterService.setResponsiveClass(this.tabContent, newBreakpiont);
|
|
487
|
-
this.changeRef.markForCheck();
|
|
494
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_changeRef, "f").markForCheck();
|
|
488
495
|
}
|
|
489
496
|
}
|
|
497
|
+
_SkyVerticalTabComponent__ariaRole = new WeakMap(), _SkyVerticalTabComponent__contentRendered = new WeakMap(), _SkyVerticalTabComponent_tabIdOrDefault = new WeakMap(), _SkyVerticalTabComponent_defaultTabId = new WeakMap(), _SkyVerticalTabComponent_mobileSubscription = new WeakMap(), _SkyVerticalTabComponent_ngUnsubscribe = new WeakMap(), _SkyVerticalTabComponent_adapterService = new WeakMap(), _SkyVerticalTabComponent_changeRef = new WeakMap(), _SkyVerticalTabComponent_tabsetService = new WeakMap(), _SkyVerticalTabComponent_verticalTabMediaQueryService = new WeakMap(), _SkyVerticalTabComponent_instances = new WeakSet(), _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass = function _SkyVerticalTabComponent_updateBreakpointAndResponsiveClass() {
|
|
498
|
+
if (this.tabContent) {
|
|
499
|
+
const width = __classPrivateFieldGet(this, _SkyVerticalTabComponent_adapterService, "f").getWidth(this.tabContent);
|
|
500
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_verticalTabMediaQueryService, "f").setBreakpointForWidth(width);
|
|
501
|
+
const newBreakpoint = __classPrivateFieldGet(this, _SkyVerticalTabComponent_verticalTabMediaQueryService, "f").current;
|
|
502
|
+
if (newBreakpoint) {
|
|
503
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_adapterService, "f").setResponsiveClass(this.tabContent, newBreakpoint);
|
|
504
|
+
}
|
|
505
|
+
__classPrivateFieldGet(this, _SkyVerticalTabComponent_changeRef, "f").markForCheck();
|
|
506
|
+
}
|
|
507
|
+
};
|
|
490
508
|
SkyVerticalTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabComponent, deps: [{ token: SkyVerticalTabsetAdapterService }, { token: i0.ChangeDetectorRef }, { token: SkyVerticalTabsetService }, { token: SkyVerticalTabMediaQueryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
491
509
|
SkyVerticalTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyVerticalTabComponent, selector: "sky-vertical-tab", inputs: { active: "active", ariaControls: "ariaControls", ariaRole: "ariaRole", disabled: "disabled", errorIndicator: "errorIndicator", tabHeaderCount: "tabHeaderCount", tabHeading: "tabHeading", showTabRightArrow: "showTabRightArrow", tabId: "tabId" }, host: { listeners: { "window:resize": "onWindowResize()" } }, providers: [
|
|
492
510
|
SkyVerticalTabMediaQueryService,
|
|
@@ -494,7 +512,7 @@ SkyVerticalTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
494
512
|
provide: SkyMediaQueryService,
|
|
495
513
|
useExisting: SkyVerticalTabMediaQueryService,
|
|
496
514
|
},
|
|
497
|
-
], viewQueries: [{ propertyName: "tabContent", first: true, predicate: ["tabContentWrapper"], descendants: true }], ngImport: i0, template: "<a\n class=\"sky-vertical-tab\"\n [attr.aria-controls]=\"isMobile ? null : ariaControls || tabContentPane.id\"\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)=\"onTabButtonKeyUp($event)\"\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 skyId\n [attr.aria-labelledby]=\"tabId\"\n [ngClass]=\"{ 'sky-vertical-tab-hidden': !active }\"\n #tabContentPane\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"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i5.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
515
|
+
], viewQueries: [{ propertyName: "tabContent", first: true, predicate: ["tabContentWrapper"], descendants: true }], ngImport: i0, template: "<a\n class=\"sky-vertical-tab\"\n [attr.aria-controls]=\"isMobile ? null : ariaControls || tabContentPane.id\"\n [attr.aria-selected]=\"active\"\n [attr.id]=\"tabId\"\n [attr.role]=\"isMobile ? undefined : 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)=\"onTabButtonKeyUp($event)\"\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=\"isMobile && 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 skyId\n [attr.aria-labelledby]=\"tabId\"\n [ngClass]=\"{ 'sky-vertical-tab-hidden': !active }\"\n #tabContentPane\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"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i5.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
498
516
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabComponent, decorators: [{
|
|
499
517
|
type: Component,
|
|
500
518
|
args: [{ selector: 'sky-vertical-tab', providers: [
|
|
@@ -503,7 +521,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
503
521
|
provide: SkyMediaQueryService,
|
|
504
522
|
useExisting: SkyVerticalTabMediaQueryService,
|
|
505
523
|
},
|
|
506
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"sky-vertical-tab\"\n [attr.aria-controls]=\"isMobile ? null : ariaControls || tabContentPane.id\"\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)=\"onTabButtonKeyUp($event)\"\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 skyId\n [attr.aria-labelledby]=\"tabId\"\n [ngClass]=\"{ 'sky-vertical-tab-hidden': !active }\"\n #tabContentPane\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"] }]
|
|
524
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"sky-vertical-tab\"\n [attr.aria-controls]=\"isMobile ? null : ariaControls || tabContentPane.id\"\n [attr.aria-selected]=\"active\"\n [attr.id]=\"tabId\"\n [attr.role]=\"isMobile ? undefined : 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)=\"onTabButtonKeyUp($event)\"\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=\"isMobile && 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 skyId\n [attr.aria-labelledby]=\"tabId\"\n [ngClass]=\"{ 'sky-vertical-tab-hidden': !active }\"\n #tabContentPane\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"] }]
|
|
507
525
|
}], ctorParameters: function () { return [{ type: SkyVerticalTabsetAdapterService }, { type: i0.ChangeDetectorRef }, { type: SkyVerticalTabsetService }, { type: SkyVerticalTabMediaQueryService }]; }, propDecorators: { active: [{
|
|
508
526
|
type: Input
|
|
509
527
|
}], ariaControls: [{
|
|
@@ -530,67 +548,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
530
548
|
args: ['window:resize']
|
|
531
549
|
}] } });
|
|
532
550
|
|
|
551
|
+
var _SkyVerticalTabsetGroupComponent_ngUnsubscribe, _SkyVerticalTabsetGroupComponent_openBeforeTabsHidden, _SkyVerticalTabsetGroupComponent_tabService, _SkyVerticalTabsetGroupComponent_changeRef;
|
|
533
552
|
class SkyVerticalTabsetGroupComponent {
|
|
534
553
|
constructor(tabService, changeRef) {
|
|
535
|
-
this
|
|
536
|
-
this
|
|
537
|
-
this
|
|
538
|
-
this
|
|
539
|
-
this._open = false;
|
|
554
|
+
_SkyVerticalTabsetGroupComponent_ngUnsubscribe.set(this, new Subject());
|
|
555
|
+
_SkyVerticalTabsetGroupComponent_openBeforeTabsHidden.set(this, false);
|
|
556
|
+
_SkyVerticalTabsetGroupComponent_tabService.set(this, void 0);
|
|
557
|
+
_SkyVerticalTabsetGroupComponent_changeRef.set(this, void 0);
|
|
540
558
|
this.tabClicked = () => {
|
|
541
|
-
this.
|
|
559
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_changeRef, "f").markForCheck();
|
|
542
560
|
};
|
|
543
561
|
this.tabsHidden = () => {
|
|
544
562
|
// this fixes an animation bug with ngIf when the parent component goes from visible to hidden
|
|
545
|
-
this
|
|
563
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetGroupComponent_openBeforeTabsHidden, this.open, "f");
|
|
546
564
|
this.open = false;
|
|
547
|
-
this.
|
|
565
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_changeRef, "f").markForCheck();
|
|
548
566
|
};
|
|
549
567
|
this.tabsShown = () => {
|
|
550
|
-
this.open = this
|
|
551
|
-
this.
|
|
568
|
+
this.open = __classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_openBeforeTabsHidden, "f");
|
|
569
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_changeRef, "f").markForCheck();
|
|
552
570
|
};
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
* Indicates whether the collapsible group is expanded.
|
|
556
|
-
* @default false
|
|
557
|
-
*/
|
|
558
|
-
set open(value) {
|
|
559
|
-
this._open = value;
|
|
560
|
-
}
|
|
561
|
-
get open() {
|
|
562
|
-
return !this.disabled && this._open;
|
|
571
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetGroupComponent_tabService, tabService, "f");
|
|
572
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetGroupComponent_changeRef, changeRef, "f");
|
|
563
573
|
}
|
|
564
574
|
ngOnInit() {
|
|
565
|
-
this.
|
|
566
|
-
.pipe(takeUntil(this
|
|
575
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_tabService, "f").hidingTabs
|
|
576
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_ngUnsubscribe, "f")))
|
|
567
577
|
.subscribe(this.tabsHidden);
|
|
568
|
-
this.
|
|
569
|
-
.pipe(takeUntil(this
|
|
578
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_tabService, "f").showingTabs
|
|
579
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_ngUnsubscribe, "f")))
|
|
570
580
|
.subscribe(this.tabsShown);
|
|
571
|
-
this.
|
|
572
|
-
.pipe(takeUntil(this
|
|
581
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_tabService, "f").tabClicked
|
|
582
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_ngUnsubscribe, "f")))
|
|
573
583
|
.subscribe(this.tabClicked);
|
|
574
584
|
}
|
|
575
585
|
ngOnDestroy() {
|
|
576
|
-
this.
|
|
577
|
-
this.
|
|
586
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_ngUnsubscribe, "f").next();
|
|
587
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_ngUnsubscribe, "f").complete();
|
|
578
588
|
}
|
|
579
589
|
toggleMenuOpen() {
|
|
580
590
|
if (!this.disabled) {
|
|
581
591
|
this.open = !this.open;
|
|
582
592
|
}
|
|
583
|
-
this.
|
|
593
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetGroupComponent_changeRef, "f").markForCheck();
|
|
584
594
|
}
|
|
585
595
|
subMenuOpen() {
|
|
586
|
-
return this.tabs && this.tabs.find((t) => t.active) !== undefined;
|
|
596
|
+
return !!this.tabs && this.tabs.find((t) => !!t.active) !== undefined;
|
|
587
597
|
}
|
|
588
598
|
}
|
|
599
|
+
_SkyVerticalTabsetGroupComponent_ngUnsubscribe = new WeakMap(), _SkyVerticalTabsetGroupComponent_openBeforeTabsHidden = new WeakMap(), _SkyVerticalTabsetGroupComponent_tabService = new WeakMap(), _SkyVerticalTabsetGroupComponent_changeRef = new WeakMap();
|
|
589
600
|
SkyVerticalTabsetGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetGroupComponent, deps: [{ token: SkyVerticalTabsetService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
590
|
-
SkyVerticalTabsetGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyVerticalTabsetGroupComponent, selector: "sky-vertical-tabset-group", inputs: { disabled: "disabled", groupHeading: "groupHeading", open: "open" }, queries: [{ propertyName: "tabs", predicate: SkyVerticalTabComponent }], ngImport: i0, template: "<div class=\"sky-vertical-tabset-group\">\n <!-- [ngClass] includes font classes for both modern and default styles -->\n <div\n class=\"sky-vertical-tabset-group-header\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-sub-open sky-font-emphasized sky-emphasized':\n subMenuOpen(),\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled,\n 'sky-vertical-tabset-disabled': disabled\n }\"\n [tabIndex]=\"-1\"\n >\n <button\n class=\"sky-padding-even-default\"\n type=\"button\"\n skyId\n [attr.aria-controls]=\"groupContent.id\"\n [attr.aria-expanded]=\"open\"\n (click)=\"toggleMenuOpen()\"\n #groupHeadingButton\n >\n {{ groupHeading }}\n <sky-expansion-indicator\n class=\"sky-vertical-tabset-group-expansion-indicator\"\n [direction]=\"open ? 'up' : 'down'\"\n >\n </sky-expansion-indicator>\n </button>\n </div>\n <div\n class=\"sky-vertical-tabset-group-content\"\n
|
|
601
|
+
SkyVerticalTabsetGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyVerticalTabsetGroupComponent, selector: "sky-vertical-tabset-group", inputs: { disabled: "disabled", groupHeading: "groupHeading", open: "open" }, queries: [{ propertyName: "tabs", predicate: SkyVerticalTabComponent }], ngImport: i0, template: "<div class=\"sky-vertical-tabset-group\">\n <!-- [ngClass] includes font classes for both modern and default styles -->\n <div\n class=\"sky-vertical-tabset-group-header\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-sub-open sky-font-emphasized sky-emphasized':\n subMenuOpen(),\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled,\n 'sky-vertical-tabset-disabled': disabled\n }\"\n [tabIndex]=\"-1\"\n >\n <button\n class=\"sky-padding-even-default\"\n type=\"button\"\n skyId\n [attr.aria-controls]=\"groupContent.id\"\n [attr.aria-expanded]=\"!disabled && open\"\n (click)=\"toggleMenuOpen()\"\n #groupHeadingButton\n >\n {{ groupHeading }}\n <sky-expansion-indicator\n class=\"sky-vertical-tabset-group-expansion-indicator\"\n [direction]=\"!disabled && open ? 'up' : 'down'\"\n >\n </sky-expansion-indicator>\n </button>\n </div>\n <div\n class=\"sky-vertical-tabset-group-content\"\n skyId\n [attr.labelledby]=\"groupHeadingButton.id\"\n [@skyAnimationSlide]=\"!disabled && open ? 'down' : 'up'\"\n #groupContent\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sky-vertical-tabset-group{border-bottom:1px solid #e2e3e4;margin:5px 0 5px 5px}.sky-vertical-tabset-group-header button{cursor:pointer;display:flex;justify-content:space-between;border:none;width:100%;text-align:left;background:none}.sky-vertical-tabset-group-content{overflow:hidden;border-top:1px solid #e2e3e4}:host ::ng-deep .sky-vertical-tabset-group-expansion-indicator>button{font-size:14px!important}.sky-vertical-tabset-disabled{cursor:not-allowed;pointer-events:none}:host-context(.sky-theme-modern) .sky-vertical-tabset-group{border:none;margin:10px 0}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-content{border:none;padding-left:25px}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-header{position:relative}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}.sky-theme-modern .sky-vertical-tabset-group{border:none;margin:10px 0}.sky-theme-modern .sky-vertical-tabset-group-content{border:none;padding-left:25px}.sky-theme-modern .sky-vertical-tabset-group-header{position:relative}.sky-theme-modern .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i5.λ15, selector: "sky-expansion-indicator", inputs: ["direction"] }], animations: [skyAnimationSlide], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
591
602
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetGroupComponent, decorators: [{
|
|
592
603
|
type: Component,
|
|
593
|
-
args: [{ selector: 'sky-vertical-tabset-group', changeDetection: ChangeDetectionStrategy.OnPush, animations: [skyAnimationSlide], template: "<div class=\"sky-vertical-tabset-group\">\n <!-- [ngClass] includes font classes for both modern and default styles -->\n <div\n class=\"sky-vertical-tabset-group-header\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-sub-open sky-font-emphasized sky-emphasized':\n subMenuOpen(),\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled,\n 'sky-vertical-tabset-disabled': disabled\n }\"\n [tabIndex]=\"-1\"\n >\n <button\n class=\"sky-padding-even-default\"\n type=\"button\"\n skyId\n [attr.aria-controls]=\"groupContent.id\"\n [attr.aria-expanded]=\"open\"\n (click)=\"toggleMenuOpen()\"\n #groupHeadingButton\n >\n {{ groupHeading }}\n <sky-expansion-indicator\n class=\"sky-vertical-tabset-group-expansion-indicator\"\n [direction]=\"open ? 'up' : 'down'\"\n >\n </sky-expansion-indicator>\n </button>\n </div>\n <div\n class=\"sky-vertical-tabset-group-content\"\n
|
|
604
|
+
args: [{ selector: 'sky-vertical-tabset-group', changeDetection: ChangeDetectionStrategy.OnPush, animations: [skyAnimationSlide], template: "<div class=\"sky-vertical-tabset-group\">\n <!-- [ngClass] includes font classes for both modern and default styles -->\n <div\n class=\"sky-vertical-tabset-group-header\"\n [ngClass]=\"{\n 'sky-vertical-tabset-group-header-sub-open sky-font-emphasized sky-emphasized':\n subMenuOpen(),\n 'sky-font-deemphasized': disabled,\n 'sky-deemphasized': disabled,\n 'sky-vertical-tabset-disabled': disabled\n }\"\n [tabIndex]=\"-1\"\n >\n <button\n class=\"sky-padding-even-default\"\n type=\"button\"\n skyId\n [attr.aria-controls]=\"groupContent.id\"\n [attr.aria-expanded]=\"!disabled && open\"\n (click)=\"toggleMenuOpen()\"\n #groupHeadingButton\n >\n {{ groupHeading }}\n <sky-expansion-indicator\n class=\"sky-vertical-tabset-group-expansion-indicator\"\n [direction]=\"!disabled && open ? 'up' : 'down'\"\n >\n </sky-expansion-indicator>\n </button>\n </div>\n <div\n class=\"sky-vertical-tabset-group-content\"\n skyId\n [attr.labelledby]=\"groupHeadingButton.id\"\n [@skyAnimationSlide]=\"!disabled && open ? 'down' : 'up'\"\n #groupContent\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sky-vertical-tabset-group{border-bottom:1px solid #e2e3e4;margin:5px 0 5px 5px}.sky-vertical-tabset-group-header button{cursor:pointer;display:flex;justify-content:space-between;border:none;width:100%;text-align:left;background:none}.sky-vertical-tabset-group-content{overflow:hidden;border-top:1px solid #e2e3e4}:host ::ng-deep .sky-vertical-tabset-group-expansion-indicator>button{font-size:14px!important}.sky-vertical-tabset-disabled{cursor:not-allowed;pointer-events:none}:host-context(.sky-theme-modern) .sky-vertical-tabset-group{border:none;margin:10px 0}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-content{border:none;padding-left:25px}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-header{position:relative}:host-context(.sky-theme-modern) .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}.sky-theme-modern .sky-vertical-tabset-group{border:none;margin:10px 0}.sky-theme-modern .sky-vertical-tabset-group-content{border:none;padding-left:25px}.sky-theme-modern .sky-vertical-tabset-group-header{position:relative}.sky-theme-modern .sky-vertical-tabset-group-expansion-indicator{position:absolute;top:6px;right:5px}\n"] }]
|
|
594
605
|
}], ctorParameters: function () { return [{ type: SkyVerticalTabsetService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
|
|
595
606
|
type: Input
|
|
596
607
|
}], groupHeading: [{
|
|
@@ -602,12 +613,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
602
613
|
args: [SkyVerticalTabComponent]
|
|
603
614
|
}] } });
|
|
604
615
|
|
|
616
|
+
var _SkyVerticalTabsetComponent_ngUnsubscribe, _SkyVerticalTabsetComponent__ariaRole, _SkyVerticalTabsetComponent_resources, _SkyVerticalTabsetComponent_changeRef;
|
|
605
617
|
class SkyVerticalTabsetComponent {
|
|
606
618
|
constructor(adapterService, tabService, resources, changeRef) {
|
|
607
619
|
this.adapterService = adapterService;
|
|
608
620
|
this.tabService = tabService;
|
|
609
|
-
this.resources = resources;
|
|
610
|
-
this.changeRef = changeRef;
|
|
611
621
|
/**
|
|
612
622
|
* Indicates whether the vertical tabset loads tab content during initialization so that it
|
|
613
623
|
* displays content without moving around elements in the content container.
|
|
@@ -620,7 +630,12 @@ class SkyVerticalTabsetComponent {
|
|
|
620
630
|
*/
|
|
621
631
|
this.activeChange = new EventEmitter();
|
|
622
632
|
this.isMobile = false;
|
|
623
|
-
this
|
|
633
|
+
_SkyVerticalTabsetComponent_ngUnsubscribe.set(this, new Subject());
|
|
634
|
+
_SkyVerticalTabsetComponent__ariaRole.set(this, 'tablist');
|
|
635
|
+
_SkyVerticalTabsetComponent_resources.set(this, void 0);
|
|
636
|
+
_SkyVerticalTabsetComponent_changeRef.set(this, void 0);
|
|
637
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetComponent_resources, resources, "f");
|
|
638
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetComponent_changeRef, changeRef, "f");
|
|
624
639
|
}
|
|
625
640
|
/**
|
|
626
641
|
* Specifies an ARIA role for the vertical tabset
|
|
@@ -633,38 +648,35 @@ class SkyVerticalTabsetComponent {
|
|
|
633
648
|
* In the next major version, this property will be automatically set to `tablist`.
|
|
634
649
|
*/
|
|
635
650
|
get ariaRole() {
|
|
636
|
-
|
|
637
|
-
return undefined;
|
|
638
|
-
}
|
|
639
|
-
return this._ariaRole || 'tablist';
|
|
651
|
+
return __classPrivateFieldGet(this, _SkyVerticalTabsetComponent__ariaRole, "f");
|
|
640
652
|
}
|
|
641
653
|
set ariaRole(value) {
|
|
642
|
-
this
|
|
654
|
+
__classPrivateFieldSet(this, _SkyVerticalTabsetComponent__ariaRole, value ?? 'tablist', "f");
|
|
643
655
|
}
|
|
644
656
|
ngOnInit() {
|
|
645
657
|
this.tabService.maintainTabContent = this.maintainTabContent;
|
|
646
658
|
this.tabService.indexChanged
|
|
647
|
-
.pipe(takeUntil(this
|
|
659
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyVerticalTabsetComponent_ngUnsubscribe, "f")))
|
|
648
660
|
.subscribe((index) => {
|
|
649
661
|
this.activeChange.emit(index);
|
|
650
662
|
if (this.contentWrapper) {
|
|
651
663
|
this.adapterService.scrollToContentTop(this.contentWrapper);
|
|
652
664
|
}
|
|
653
|
-
this.
|
|
665
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetComponent_changeRef, "f").markForCheck();
|
|
654
666
|
});
|
|
655
667
|
this.tabService.switchingMobile
|
|
656
|
-
.pipe(takeUntil(this
|
|
668
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyVerticalTabsetComponent_ngUnsubscribe, "f")))
|
|
657
669
|
.subscribe((mobile) => {
|
|
658
670
|
this.isMobile = mobile;
|
|
659
|
-
this.
|
|
671
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetComponent_changeRef, "f").markForCheck();
|
|
660
672
|
});
|
|
661
673
|
if (this.tabService.isMobile()) {
|
|
662
674
|
this.isMobile = true;
|
|
663
675
|
this.tabService.animationContentVisibleState = VISIBLE_STATE;
|
|
664
|
-
this.
|
|
676
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetComponent_changeRef, "f").markForCheck();
|
|
665
677
|
}
|
|
666
678
|
if (!this.showTabsText) {
|
|
667
|
-
this
|
|
679
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetComponent_resources, "f")
|
|
668
680
|
.getString('skyux_vertical_tabs_show_tabs_text')
|
|
669
681
|
.pipe(take(1))
|
|
670
682
|
.subscribe((resource) => {
|
|
@@ -681,12 +693,13 @@ class SkyVerticalTabsetComponent {
|
|
|
681
693
|
this.tabService.updateContent();
|
|
682
694
|
}
|
|
683
695
|
ngOnDestroy() {
|
|
684
|
-
this.
|
|
685
|
-
this.
|
|
696
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetComponent_ngUnsubscribe, "f").next();
|
|
697
|
+
__classPrivateFieldGet(this, _SkyVerticalTabsetComponent_ngUnsubscribe, "f").complete();
|
|
686
698
|
}
|
|
687
699
|
}
|
|
700
|
+
_SkyVerticalTabsetComponent_ngUnsubscribe = new WeakMap(), _SkyVerticalTabsetComponent__ariaRole = new WeakMap(), _SkyVerticalTabsetComponent_resources = new WeakMap(), _SkyVerticalTabsetComponent_changeRef = new WeakMap();
|
|
688
701
|
SkyVerticalTabsetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyVerticalTabsetComponent, deps: [{ token: SkyVerticalTabsetAdapterService }, { token: SkyVerticalTabsetService }, { token: i3.SkyLibResourcesService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
689
|
-
SkyVerticalTabsetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyVerticalTabsetComponent, selector: "sky-vertical-tabset", inputs: { showTabsText: "showTabsText", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaRole: "ariaRole", maintainTabContent: "maintainTabContent" }, outputs: { activeChange: "activeChange" }, providers: [SkyVerticalTabsetService], viewQueries: [{ propertyName: "tabGroups", first: true, predicate: ["groupContainerWrapper"], descendants: true }, { propertyName: "content", first: true, predicate: ["skySideContent"], descendants: true }, { propertyName: "contentWrapper", first: true, predicate: ["contentContainerWrapper"], descendants: true }], ngImport: i0, template: "<div class=\"sky-vertical-tabset\" (window:resize)=\"tabService.updateContent()\">\n <div\n *ngIf=\"maintainTabContent || tabService.tabsVisible()\"\n aria-orientation=\"vertical\"\n class=\"sky-vertical-tabset-group-container\"\n [ngClass]=\"{ 'sky-vertical-tabset-hidden': !tabService.tabsVisible() }\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n [@tabGroupEnter]=\"tabService.animationTabsVisibleState\"\n #groupContainerWrapper\n >\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"maintainTabContent || tabService.contentVisible()\"\n class=\"sky-vertical-tabset-content\"\n [ngClass]=\"{\n 'sky-vertical-tabset-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #contentContainerWrapper\n >\n <div #skySideContent></div>\n <button\n *ngIf=\"!tabService.tabsVisible()\"\n (click)=\"tabService.showTabs()\"\n class=\"sky-btn sky-btn-primary sky-vertical-tabset-show-tabs-btn\"\n >\n <sky-icon icon=\"chevron-left\"></sky-icon>\n {{ showTabsText }}\n </button>\n </div>\n</div>\n", styles: [":host .sky-vertical-tabset{display:block;height:auto}:host .sky-vertical-tabset-group-container{border-right:none}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:block;height:auto}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:none}@media (min-width: 768px){:host .sky-vertical-tabset{display:flex;height:100%}:host .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:flex;height:100%}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}.sky-vertical-tabset-hidden{display:none}.sky-vertical-tabset-content{margin:10px 0 0 10px;flex-basis:75%;overflow-y:auto}.sky-vertical-tabset-content-hidden{display:none}.sky-vertical-tabset-show-tabs-btn{margin-top:10px}.sky-vertical-tabset-group-container{flex-basis:25%;overflow-y:auto}:host-context(.sky-theme-modern) .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}.sky-theme-modern .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){.sky-theme-modern :host .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], animations: [
|
|
702
|
+
SkyVerticalTabsetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyVerticalTabsetComponent, selector: "sky-vertical-tabset", inputs: { showTabsText: "showTabsText", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaRole: "ariaRole", maintainTabContent: "maintainTabContent" }, outputs: { activeChange: "activeChange" }, providers: [SkyVerticalTabsetService], viewQueries: [{ propertyName: "tabGroups", first: true, predicate: ["groupContainerWrapper"], descendants: true }, { propertyName: "content", first: true, predicate: ["skySideContent"], descendants: true }, { propertyName: "contentWrapper", first: true, predicate: ["contentContainerWrapper"], descendants: true }], ngImport: i0, template: "<div class=\"sky-vertical-tabset\" (window:resize)=\"tabService.updateContent()\">\n <div\n *ngIf=\"maintainTabContent || tabService.tabsVisible()\"\n aria-orientation=\"vertical\"\n class=\"sky-vertical-tabset-group-container\"\n [ngClass]=\"{ 'sky-vertical-tabset-hidden': !tabService.tabsVisible() }\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"isMobile ? undefined : ariaRole\"\n [@tabGroupEnter]=\"tabService.animationTabsVisibleState\"\n #groupContainerWrapper\n >\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"maintainTabContent || tabService.contentVisible()\"\n class=\"sky-vertical-tabset-content\"\n [ngClass]=\"{\n 'sky-vertical-tabset-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #contentContainerWrapper\n >\n <div #skySideContent></div>\n <button\n *ngIf=\"!tabService.tabsVisible()\"\n (click)=\"tabService.showTabs()\"\n class=\"sky-btn sky-btn-primary sky-vertical-tabset-show-tabs-btn\"\n >\n <sky-icon icon=\"chevron-left\"></sky-icon>\n {{ showTabsText }}\n </button>\n </div>\n</div>\n", styles: [":host .sky-vertical-tabset{display:block;height:auto}:host .sky-vertical-tabset-group-container{border-right:none}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:block;height:auto}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:none}@media (min-width: 768px){:host .sky-vertical-tabset{display:flex;height:100%}:host .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:flex;height:100%}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}.sky-vertical-tabset-hidden{display:none}.sky-vertical-tabset-content{margin:10px 0 0 10px;flex-basis:75%;overflow-y:auto}.sky-vertical-tabset-content-hidden{display:none}.sky-vertical-tabset-show-tabs-btn{margin-top:10px}.sky-vertical-tabset-group-container{flex-basis:25%;overflow-y:auto}:host-context(sky-modal-content)>.sky-vertical-tabset{margin:-15px}:host-context(.sky-theme-modern) .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}.sky-theme-modern .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){.sky-theme-modern :host .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], animations: [
|
|
690
703
|
trigger('tabGroupEnter', [
|
|
691
704
|
transition(`${HIDDEN_STATE} => ${VISIBLE_STATE}`, [
|
|
692
705
|
style({ transform: 'translate(-100%)' }),
|
|
@@ -715,7 +728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
715
728
|
animate('150ms ease-in'),
|
|
716
729
|
]),
|
|
717
730
|
]),
|
|
718
|
-
], template: "<div class=\"sky-vertical-tabset\" (window:resize)=\"tabService.updateContent()\">\n <div\n *ngIf=\"maintainTabContent || tabService.tabsVisible()\"\n aria-orientation=\"vertical\"\n class=\"sky-vertical-tabset-group-container\"\n [ngClass]=\"{ 'sky-vertical-tabset-hidden': !tabService.tabsVisible() }\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n [@tabGroupEnter]=\"tabService.animationTabsVisibleState\"\n #groupContainerWrapper\n >\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"maintainTabContent || tabService.contentVisible()\"\n class=\"sky-vertical-tabset-content\"\n [ngClass]=\"{\n 'sky-vertical-tabset-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #contentContainerWrapper\n >\n <div #skySideContent></div>\n <button\n *ngIf=\"!tabService.tabsVisible()\"\n (click)=\"tabService.showTabs()\"\n class=\"sky-btn sky-btn-primary sky-vertical-tabset-show-tabs-btn\"\n >\n <sky-icon icon=\"chevron-left\"></sky-icon>\n {{ showTabsText }}\n </button>\n </div>\n</div>\n", styles: [":host .sky-vertical-tabset{display:block;height:auto}:host .sky-vertical-tabset-group-container{border-right:none}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:block;height:auto}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:none}@media (min-width: 768px){:host .sky-vertical-tabset{display:flex;height:100%}:host .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:flex;height:100%}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}.sky-vertical-tabset-hidden{display:none}.sky-vertical-tabset-content{margin:10px 0 0 10px;flex-basis:75%;overflow-y:auto}.sky-vertical-tabset-content-hidden{display:none}.sky-vertical-tabset-show-tabs-btn{margin-top:10px}.sky-vertical-tabset-group-container{flex-basis:25%;overflow-y:auto}:host-context(.sky-theme-modern) .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}.sky-theme-modern .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){.sky-theme-modern :host .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}\n"] }]
|
|
731
|
+
], template: "<div class=\"sky-vertical-tabset\" (window:resize)=\"tabService.updateContent()\">\n <div\n *ngIf=\"maintainTabContent || tabService.tabsVisible()\"\n aria-orientation=\"vertical\"\n class=\"sky-vertical-tabset-group-container\"\n [ngClass]=\"{ 'sky-vertical-tabset-hidden': !tabService.tabsVisible() }\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"isMobile ? undefined : ariaRole\"\n [@tabGroupEnter]=\"tabService.animationTabsVisibleState\"\n #groupContainerWrapper\n >\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"maintainTabContent || tabService.contentVisible()\"\n class=\"sky-vertical-tabset-content\"\n [ngClass]=\"{\n 'sky-vertical-tabset-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #contentContainerWrapper\n >\n <div #skySideContent></div>\n <button\n *ngIf=\"!tabService.tabsVisible()\"\n (click)=\"tabService.showTabs()\"\n class=\"sky-btn sky-btn-primary sky-vertical-tabset-show-tabs-btn\"\n >\n <sky-icon icon=\"chevron-left\"></sky-icon>\n {{ showTabsText }}\n </button>\n </div>\n</div>\n", styles: [":host .sky-vertical-tabset{display:block;height:auto}:host .sky-vertical-tabset-group-container{border-right:none}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:block;height:auto}:host-context(.sky-responsive-container-xs) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:none}@media (min-width: 768px){:host .sky-vertical-tabset{display:flex;height:100%}:host .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset,:host-context(.sky-responsive-container-md) .sky-vertical-tabset,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset{display:flex;height:100%}:host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #cdcfd2}.sky-vertical-tabset-hidden{display:none}.sky-vertical-tabset-content{margin:10px 0 0 10px;flex-basis:75%;overflow-y:auto}.sky-vertical-tabset-content-hidden{display:none}.sky-vertical-tabset-show-tabs-btn{margin-top:10px}.sky-vertical-tabset-group-container{flex-basis:25%;overflow-y:auto}:host-context(sky-modal-content)>.sky-vertical-tabset{margin:-15px}:host-context(.sky-theme-modern) .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}.sky-theme-modern .sky-vertical-tabset-content{margin:15px}@media (min-width: 768px){.sky-theme-modern :host .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-content,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-content{margin:20px 30px}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-vertical-tabset-group-container,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-vertical-tabset-group-container{border-right:1px solid #d2d2d2}\n"] }]
|
|
719
732
|
}], ctorParameters: function () { return [{ type: SkyVerticalTabsetAdapterService }, { type: SkyVerticalTabsetService }, { type: i3.SkyLibResourcesService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { showTabsText: [{
|
|
720
733
|
type: Input
|
|
721
734
|
}], ariaLabel: [{
|
|
@@ -818,15 +831,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
818
831
|
type: Injectable
|
|
819
832
|
}] });
|
|
820
833
|
|
|
834
|
+
var _SkySectionedFormSectionComponent_ngUnsubscribe, _SkySectionedFormSectionComponent_sectionedFormService, _SkySectionedFormSectionComponent_tabsetService, _SkySectionedFormSectionComponent_changeRef;
|
|
821
835
|
let nextId$1 = 0;
|
|
822
836
|
/**
|
|
823
837
|
* Creates an individual form to display as a section within the sectioned form.
|
|
824
838
|
*/
|
|
825
839
|
class SkySectionedFormSectionComponent {
|
|
826
840
|
constructor(sectionedFormService, tabsetService, changeRef) {
|
|
827
|
-
this.sectionedFormService = sectionedFormService;
|
|
828
|
-
this.tabsetService = tabsetService;
|
|
829
|
-
this.changeRef = changeRef;
|
|
830
841
|
this.sectionTabId = `sky-sectioned-form-tab-${++nextId$1}`;
|
|
831
842
|
this.sectionContentId = `sky-sectioned-form-section-${++nextId$1}`;
|
|
832
843
|
/**
|
|
@@ -834,25 +845,32 @@ class SkySectionedFormSectionComponent {
|
|
|
834
845
|
* @default false
|
|
835
846
|
*/
|
|
836
847
|
this.active = false;
|
|
837
|
-
this
|
|
848
|
+
_SkySectionedFormSectionComponent_ngUnsubscribe.set(this, new Subject());
|
|
849
|
+
_SkySectionedFormSectionComponent_sectionedFormService.set(this, void 0);
|
|
850
|
+
_SkySectionedFormSectionComponent_tabsetService.set(this, void 0);
|
|
851
|
+
_SkySectionedFormSectionComponent_changeRef.set(this, void 0);
|
|
852
|
+
__classPrivateFieldSet(this, _SkySectionedFormSectionComponent_sectionedFormService, sectionedFormService, "f");
|
|
853
|
+
__classPrivateFieldSet(this, _SkySectionedFormSectionComponent_tabsetService, tabsetService, "f");
|
|
854
|
+
__classPrivateFieldSet(this, _SkySectionedFormSectionComponent_changeRef, changeRef, "f");
|
|
838
855
|
}
|
|
839
856
|
ngOnInit() {
|
|
840
|
-
this.
|
|
841
|
-
this.
|
|
842
|
-
this.
|
|
857
|
+
__classPrivateFieldGet(this, _SkySectionedFormSectionComponent_changeRef, "f").detectChanges();
|
|
858
|
+
__classPrivateFieldGet(this, _SkySectionedFormSectionComponent_tabsetService, "f").switchingMobile.subscribe((mobile) => {
|
|
859
|
+
__classPrivateFieldGet(this, _SkySectionedFormSectionComponent_changeRef, "f").detectChanges();
|
|
843
860
|
});
|
|
844
|
-
this.
|
|
845
|
-
.pipe(takeUntil(this
|
|
861
|
+
__classPrivateFieldGet(this, _SkySectionedFormSectionComponent_sectionedFormService, "f").requiredChange
|
|
862
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkySectionedFormSectionComponent_ngUnsubscribe, "f")))
|
|
846
863
|
.subscribe((required) => (this.fieldRequired = required));
|
|
847
|
-
this.
|
|
848
|
-
.pipe(takeUntil(this
|
|
864
|
+
__classPrivateFieldGet(this, _SkySectionedFormSectionComponent_sectionedFormService, "f").invalidChange
|
|
865
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkySectionedFormSectionComponent_ngUnsubscribe, "f")))
|
|
849
866
|
.subscribe((invalid) => (this.fieldInvalid = invalid));
|
|
850
867
|
}
|
|
851
868
|
ngOnDestroy() {
|
|
852
|
-
this.
|
|
853
|
-
this.
|
|
869
|
+
__classPrivateFieldGet(this, _SkySectionedFormSectionComponent_ngUnsubscribe, "f").next();
|
|
870
|
+
__classPrivateFieldGet(this, _SkySectionedFormSectionComponent_ngUnsubscribe, "f").complete();
|
|
854
871
|
}
|
|
855
872
|
}
|
|
873
|
+
_SkySectionedFormSectionComponent_ngUnsubscribe = new WeakMap(), _SkySectionedFormSectionComponent_sectionedFormService = new WeakMap(), _SkySectionedFormSectionComponent_tabsetService = new WeakMap(), _SkySectionedFormSectionComponent_changeRef = new WeakMap();
|
|
856
874
|
SkySectionedFormSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkySectionedFormSectionComponent, deps: [{ token: SkySectionedFormService }, { token: SkyVerticalTabsetService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
857
875
|
SkySectionedFormSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkySectionedFormSectionComponent, selector: "sky-sectioned-form-section", inputs: { heading: "heading", itemCount: "itemCount", active: "active" }, providers: [SkySectionedFormService], viewQueries: [{ propertyName: "tab", first: true, predicate: SkyVerticalTabComponent, descendants: true }], ngImport: i0, template: "<sky-vertical-tab\n [active]=\"active\"\n [errorIndicator]=\"fieldInvalid\"\n [ngClass]=\"{\n 'sky-tab-field-required': fieldRequired\n }\"\n [showTabRightArrow]=\"true\"\n [tabHeaderCount]=\"itemCount\"\n [tabHeading]=\"heading\"\n [tabId]=\"sectionTabId\"\n>\n <ng-content></ng-content>\n</sky-vertical-tab>\n", styles: [":host .sky-tab-field-required ::ng-deep .sky-vertical-tab-heading:after{content:\"*\";color:#ef4044;padding-left:5px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SkyVerticalTabComponent, selector: "sky-vertical-tab", inputs: ["active", "ariaControls", "ariaRole", "disabled", "errorIndicator", "tabHeaderCount", "tabHeading", "showTabRightArrow", "tabId"] }] });
|
|
858
876
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkySectionedFormSectionComponent, decorators: [{
|
|
@@ -869,13 +887,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
869
887
|
args: [SkyVerticalTabComponent]
|
|
870
888
|
}] } });
|
|
871
889
|
|
|
890
|
+
var _SkySectionedFormComponent_ngUnsubscribe, _SkySectionedFormComponent_changeRef;
|
|
872
891
|
/**
|
|
873
892
|
* Creates a container for the sectioned forms.
|
|
874
893
|
*/
|
|
875
894
|
class SkySectionedFormComponent {
|
|
876
895
|
constructor(tabService, changeRef) {
|
|
877
896
|
this.tabService = tabService;
|
|
878
|
-
this.changeRef = changeRef;
|
|
879
897
|
/**
|
|
880
898
|
* Indicates whether the sectioned form loads section content during initialization so that it
|
|
881
899
|
* displays content without moving around elements in the content container.
|
|
@@ -887,30 +905,34 @@ class SkySectionedFormComponent {
|
|
|
887
905
|
* section. The index is based on the section's position when the form loads.
|
|
888
906
|
*/
|
|
889
907
|
this.indexChanged = new EventEmitter();
|
|
890
|
-
this.
|
|
891
|
-
this
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
return this.isMobile ? undefined : 'tablist';
|
|
908
|
+
this.ariaRole = 'tablist';
|
|
909
|
+
_SkySectionedFormComponent_ngUnsubscribe.set(this, new Subject());
|
|
910
|
+
_SkySectionedFormComponent_changeRef.set(this, void 0);
|
|
911
|
+
__classPrivateFieldSet(this, _SkySectionedFormComponent_changeRef, changeRef, "f");
|
|
895
912
|
}
|
|
896
913
|
ngOnInit() {
|
|
897
914
|
this.tabService.maintainTabContent = this.maintainSectionContent;
|
|
898
915
|
this.tabService.indexChanged
|
|
899
|
-
.pipe(takeUntil(this
|
|
916
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkySectionedFormComponent_ngUnsubscribe, "f")))
|
|
900
917
|
.subscribe((index) => {
|
|
901
918
|
this.indexChanged.emit(index);
|
|
902
|
-
this.
|
|
919
|
+
__classPrivateFieldGet(this, _SkySectionedFormComponent_changeRef, "f").markForCheck();
|
|
903
920
|
});
|
|
904
921
|
this.tabService.switchingMobile
|
|
905
|
-
.pipe(takeUntil(this
|
|
922
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkySectionedFormComponent_ngUnsubscribe, "f")))
|
|
906
923
|
.subscribe((mobile) => {
|
|
907
|
-
|
|
908
|
-
|
|
924
|
+
if (!mobile) {
|
|
925
|
+
this.ariaRole = 'tablist';
|
|
926
|
+
}
|
|
927
|
+
else {
|
|
928
|
+
this.ariaRole = undefined;
|
|
929
|
+
}
|
|
930
|
+
__classPrivateFieldGet(this, _SkySectionedFormComponent_changeRef, "f").markForCheck();
|
|
909
931
|
});
|
|
910
932
|
if (this.tabService.isMobile()) {
|
|
911
|
-
this.
|
|
933
|
+
this.ariaRole = undefined;
|
|
912
934
|
this.tabService.animationContentVisibleState = VISIBLE_STATE;
|
|
913
|
-
this.
|
|
935
|
+
__classPrivateFieldGet(this, _SkySectionedFormComponent_changeRef, "f").markForCheck();
|
|
914
936
|
}
|
|
915
937
|
}
|
|
916
938
|
ngAfterViewChecked() {
|
|
@@ -918,18 +940,19 @@ class SkySectionedFormComponent {
|
|
|
918
940
|
this.tabService.updateContent();
|
|
919
941
|
}
|
|
920
942
|
ngOnDestroy() {
|
|
921
|
-
this.
|
|
922
|
-
this.
|
|
943
|
+
__classPrivateFieldGet(this, _SkySectionedFormComponent_ngUnsubscribe, "f").next();
|
|
944
|
+
__classPrivateFieldGet(this, _SkySectionedFormComponent_ngUnsubscribe, "f").complete();
|
|
923
945
|
}
|
|
924
946
|
tabsVisible() {
|
|
925
|
-
this.
|
|
947
|
+
__classPrivateFieldGet(this, _SkySectionedFormComponent_changeRef, "f").markForCheck();
|
|
926
948
|
return this.tabService.tabsVisible();
|
|
927
949
|
}
|
|
928
950
|
showTabs() {
|
|
929
951
|
this.tabService.showTabs();
|
|
930
|
-
this.
|
|
952
|
+
__classPrivateFieldGet(this, _SkySectionedFormComponent_changeRef, "f").markForCheck();
|
|
931
953
|
}
|
|
932
954
|
}
|
|
955
|
+
_SkySectionedFormComponent_ngUnsubscribe = new WeakMap(), _SkySectionedFormComponent_changeRef = new WeakMap();
|
|
933
956
|
SkySectionedFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkySectionedFormComponent, deps: [{ token: SkyVerticalTabsetService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
934
957
|
SkySectionedFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkySectionedFormComponent, selector: "sky-sectioned-form", inputs: { maintainSectionContent: "maintainSectionContent" }, outputs: { indexChanged: "indexChanged" }, providers: [SkyVerticalTabsetService], viewQueries: [{ propertyName: "content", first: true, predicate: ["skySectionSideContent"], descendants: true }], ngImport: i0, template: "<div\n aria-orientation=\"vertical\"\n class=\"sky-sectioned-form\"\n [attr.role]=\"ariaRole\"\n (window:resize)=\"tabService.updateContent()\"\n>\n <div\n *ngIf=\"maintainSectionContent || tabsVisible()\"\n class=\"sky-sectioned-form-tabs\"\n [ngClass]=\"{ 'sky-sectioned-form-tabs-hidden': !tabsVisible() }\"\n [@tabEnter]=\"tabService.animationTabsVisibleState\"\n >\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"maintainSectionContent || tabService.contentVisible()\"\n class=\"sky-sectioned-form-content\"\n [ngClass]=\"{\n 'sky-sectioned-form-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #skySectionSideContent\n ></div>\n</div>\n", styles: [":host .sky-sectioned-form{display:block;max-height:none}:host .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible;border-right:1px solid #e2e3e4}:host-context(.sky-responsive-container-xs) .sky-sectioned-form,:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:block;max-height:none}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible;border-right:1px solid #e2e3e4}@media (min-width: 768px){:host .sky-sectioned-form{display:flex;max-height:100%}:host .sky-sectioned-form-content{flex-basis:70%;padding:15px;overflow-y:auto}:host .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}}:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:flex;max-height:100%}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:70%;padding:15px;overflow-y:auto}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}.sky-sectioned-form-tabs-hidden,.sky-sectioned-form-content-hidden{display:none}:host-context(.sky-theme-modern) .sky-sectioned-form-content{padding:15px}:host-context(.sky-theme-modern) .sky-sectioned-form-tabs{border-right:1px solid #d2d2d2}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-sectioned-form-content{margin:20px 30px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{margin:20px 30px}.sky-theme-modern .sky-sectioned-form-content{padding:15px}.sky-theme-modern .sky-sectioned-form-tabs{border-right:1px solid #d2d2d2}@media (min-width: 768px){.sky-theme-modern :host .sky-sectioned-form-content{margin:20px 30px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-sectioned-form-content,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{margin:20px 30px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
935
958
|
trigger('tabEnter', [
|
|
@@ -1009,27 +1032,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
1009
1032
|
type: Injectable
|
|
1010
1033
|
}] });
|
|
1011
1034
|
|
|
1035
|
+
var _SkyTabsetService_instances, _SkyTabsetService_activeTabIndex, _SkyTabsetService_focusedTabBtnIndex, _SkyTabsetService_activeTabUnregistered, _SkyTabsetService_tabs, _SkyTabsetService_tabCounter, _SkyTabsetService_isTabIndexActive, _SkyTabsetService_getNextTabArrayIndex, _SkyTabsetService_getPrevTabArrayIndex;
|
|
1012
1036
|
/**
|
|
1013
1037
|
* @internal
|
|
1014
1038
|
*/
|
|
1015
1039
|
class SkyTabsetService {
|
|
1016
1040
|
constructor() {
|
|
1041
|
+
_SkyTabsetService_instances.add(this);
|
|
1017
1042
|
this.currentActiveTabIndex = 0;
|
|
1018
1043
|
this.currentFocusedTabBtnIndex = 0;
|
|
1019
|
-
this
|
|
1020
|
-
this
|
|
1021
|
-
this
|
|
1022
|
-
this
|
|
1023
|
-
this
|
|
1044
|
+
_SkyTabsetService_activeTabIndex.set(this, void 0);
|
|
1045
|
+
_SkyTabsetService_focusedTabBtnIndex.set(this, void 0);
|
|
1046
|
+
_SkyTabsetService_activeTabUnregistered.set(this, void 0);
|
|
1047
|
+
_SkyTabsetService_tabs.set(this, []);
|
|
1048
|
+
_SkyTabsetService_tabCounter.set(this, 0);
|
|
1049
|
+
__classPrivateFieldSet(this, _SkyTabsetService_activeTabIndex, new BehaviorSubject(0), "f");
|
|
1050
|
+
__classPrivateFieldSet(this, _SkyTabsetService_activeTabUnregistered, new Subject(), "f");
|
|
1051
|
+
__classPrivateFieldSet(this, _SkyTabsetService_focusedTabBtnIndex, new Subject(), "f");
|
|
1024
1052
|
}
|
|
1025
1053
|
get activeTabUnregistered() {
|
|
1026
|
-
return this
|
|
1054
|
+
return __classPrivateFieldGet(this, _SkyTabsetService_activeTabUnregistered, "f");
|
|
1027
1055
|
}
|
|
1028
1056
|
get activeTabIndex() {
|
|
1029
|
-
return this
|
|
1057
|
+
return __classPrivateFieldGet(this, _SkyTabsetService_activeTabIndex, "f");
|
|
1030
1058
|
}
|
|
1031
1059
|
get focusedTabBtnIndex() {
|
|
1032
|
-
return this
|
|
1060
|
+
return __classPrivateFieldGet(this, _SkyTabsetService_focusedTabBtnIndex, "f");
|
|
1061
|
+
}
|
|
1062
|
+
ngOnDestroy() {
|
|
1063
|
+
__classPrivateFieldGet(this, _SkyTabsetService_activeTabIndex, "f").complete();
|
|
1064
|
+
__classPrivateFieldGet(this, _SkyTabsetService_activeTabUnregistered, "f").complete();
|
|
1065
|
+
__classPrivateFieldGet(this, _SkyTabsetService_focusedTabBtnIndex, "f").complete();
|
|
1033
1066
|
}
|
|
1034
1067
|
/**
|
|
1035
1068
|
* Sets the active tab by its unique `tabIndex` property.
|
|
@@ -1042,26 +1075,26 @@ class SkyTabsetService {
|
|
|
1042
1075
|
this.currentActiveTabIndex = value;
|
|
1043
1076
|
/* istanbul ignore else */
|
|
1044
1077
|
if (config.emitChange) {
|
|
1045
|
-
this.
|
|
1078
|
+
__classPrivateFieldGet(this, _SkyTabsetService_activeTabIndex, "f").next(value);
|
|
1046
1079
|
}
|
|
1047
1080
|
this.setFocusedTabBtnIndex(value);
|
|
1048
1081
|
}
|
|
1049
1082
|
}
|
|
1050
1083
|
focusNextTabBtn(tabButtons) {
|
|
1051
|
-
const currentTabArrayIndex = this.
|
|
1052
|
-
for (let i = this.
|
|
1084
|
+
const currentTabArrayIndex = __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f").findIndex((tab) => this.tabIndexesEqual(tab.tabIndex, this.currentFocusedTabBtnIndex));
|
|
1085
|
+
for (let i = __classPrivateFieldGet(this, _SkyTabsetService_instances, "m", _SkyTabsetService_getNextTabArrayIndex).call(this, currentTabArrayIndex); i !== currentTabArrayIndex; i = __classPrivateFieldGet(this, _SkyTabsetService_instances, "m", _SkyTabsetService_getNextTabArrayIndex).call(this, i)) {
|
|
1053
1086
|
const tabBtn = tabButtons[i];
|
|
1054
|
-
if (!tabBtn.disabled) {
|
|
1087
|
+
if (!tabBtn.disabled && tabBtn.tabIndex !== undefined) {
|
|
1055
1088
|
this.setFocusedTabBtnIndex(tabBtn.tabIndex);
|
|
1056
1089
|
return;
|
|
1057
1090
|
}
|
|
1058
1091
|
}
|
|
1059
1092
|
}
|
|
1060
1093
|
focusPrevTabBtn(tabButtons) {
|
|
1061
|
-
const currentTabArrayIndex = this.
|
|
1062
|
-
for (let i = this.
|
|
1094
|
+
const currentTabArrayIndex = __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f").findIndex((tab) => this.tabIndexesEqual(tab.tabIndex, this.currentFocusedTabBtnIndex));
|
|
1095
|
+
for (let i = __classPrivateFieldGet(this, _SkyTabsetService_instances, "m", _SkyTabsetService_getPrevTabArrayIndex).call(this, currentTabArrayIndex); i !== currentTabArrayIndex; i = __classPrivateFieldGet(this, _SkyTabsetService_instances, "m", _SkyTabsetService_getPrevTabArrayIndex).call(this, i)) {
|
|
1063
1096
|
const tabBtn = tabButtons[i];
|
|
1064
|
-
if (!tabBtn.disabled) {
|
|
1097
|
+
if (!tabBtn.disabled && tabBtn.tabIndex !== undefined) {
|
|
1065
1098
|
this.setFocusedTabBtnIndex(tabBtn.tabIndex);
|
|
1066
1099
|
return;
|
|
1067
1100
|
}
|
|
@@ -1070,7 +1103,7 @@ class SkyTabsetService {
|
|
|
1070
1103
|
focusFirstOrNearestTabBtn(tabButtons) {
|
|
1071
1104
|
for (let i = 0; i < tabButtons.length; i++) {
|
|
1072
1105
|
const tabBtn = tabButtons[i];
|
|
1073
|
-
if (!tabBtn.disabled) {
|
|
1106
|
+
if (!tabBtn.disabled && tabBtn.tabIndex !== undefined) {
|
|
1074
1107
|
this.setFocusedTabBtnIndex(tabBtn.tabIndex);
|
|
1075
1108
|
return;
|
|
1076
1109
|
}
|
|
@@ -1079,7 +1112,7 @@ class SkyTabsetService {
|
|
|
1079
1112
|
focusLastOrNearestTabBtn(tabButtons) {
|
|
1080
1113
|
for (let i = tabButtons.length - 1; i >= 0; i--) {
|
|
1081
1114
|
const tabBtn = tabButtons[i];
|
|
1082
|
-
if (!tabBtn.disabled) {
|
|
1115
|
+
if (!tabBtn.disabled && tabBtn.tabIndex !== undefined) {
|
|
1083
1116
|
this.setFocusedTabBtnIndex(tabBtn.tabIndex);
|
|
1084
1117
|
return;
|
|
1085
1118
|
}
|
|
@@ -1087,108 +1120,115 @@ class SkyTabsetService {
|
|
|
1087
1120
|
}
|
|
1088
1121
|
setFocusedTabBtnIndex(tabIndex) {
|
|
1089
1122
|
this.currentFocusedTabBtnIndex = tabIndex;
|
|
1090
|
-
this.
|
|
1123
|
+
__classPrivateFieldGet(this, _SkyTabsetService_focusedTabBtnIndex, "f").next(tabIndex);
|
|
1091
1124
|
}
|
|
1092
1125
|
/**
|
|
1093
1126
|
* Registers a tab component.
|
|
1094
1127
|
*/
|
|
1095
1128
|
registerTab(tabIndex) {
|
|
1129
|
+
var _a;
|
|
1096
1130
|
if (tabIndex === undefined) {
|
|
1097
|
-
tabIndex = this
|
|
1098
|
-
this
|
|
1131
|
+
tabIndex = __classPrivateFieldGet(this, _SkyTabsetService_tabCounter, "f");
|
|
1132
|
+
__classPrivateFieldSet(this, _SkyTabsetService_tabCounter, (_a = __classPrivateFieldGet(this, _SkyTabsetService_tabCounter, "f"), _a++, _a), "f");
|
|
1099
1133
|
}
|
|
1100
|
-
this.
|
|
1134
|
+
__classPrivateFieldGet(this, _SkyTabsetService_tabs, "f").push({ tabIndex });
|
|
1101
1135
|
return tabIndex;
|
|
1102
1136
|
}
|
|
1103
1137
|
updateTabIndex(currentTabIndex, newTabIndex) {
|
|
1104
|
-
const found = this.
|
|
1105
|
-
found
|
|
1138
|
+
const found = __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f").find((tab) => this.tabIndexesEqual(tab.tabIndex, currentTabIndex));
|
|
1139
|
+
if (found) {
|
|
1140
|
+
found.tabIndex = newTabIndex;
|
|
1141
|
+
}
|
|
1106
1142
|
}
|
|
1107
1143
|
/**
|
|
1108
1144
|
* Unregisters a tab component.
|
|
1109
1145
|
*/
|
|
1110
1146
|
unregisterTab(tabIndex) {
|
|
1111
|
-
const index = this.
|
|
1147
|
+
const index = __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f").findIndex((tab) => this.tabIndexesEqual(tab.tabIndex, tabIndex));
|
|
1112
1148
|
// Notify the tabset component when an active tab is unregistered.
|
|
1113
|
-
if (this.
|
|
1114
|
-
this.
|
|
1149
|
+
if (__classPrivateFieldGet(this, _SkyTabsetService_instances, "m", _SkyTabsetService_isTabIndexActive).call(this, __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f")[index]?.tabIndex)) {
|
|
1150
|
+
__classPrivateFieldGet(this, _SkyTabsetService_activeTabUnregistered, "f").next({
|
|
1115
1151
|
arrayIndex: index,
|
|
1116
1152
|
});
|
|
1117
1153
|
}
|
|
1118
|
-
this.
|
|
1154
|
+
__classPrivateFieldGet(this, _SkyTabsetService_tabs, "f").splice(index, 1);
|
|
1119
1155
|
}
|
|
1120
1156
|
/**
|
|
1121
1157
|
* Unregisters all tab components at once.
|
|
1122
1158
|
*/
|
|
1123
1159
|
unregisterAll() {
|
|
1124
|
-
this
|
|
1160
|
+
__classPrivateFieldSet(this, _SkyTabsetService_tabs, [], "f");
|
|
1125
1161
|
}
|
|
1126
1162
|
/**
|
|
1127
1163
|
* Compares two tab indexes and returns `true` if they are equal.
|
|
1128
1164
|
*/
|
|
1129
1165
|
tabIndexesEqual(tabIndex1, tabIndex2) {
|
|
1130
|
-
return tabIndex1 === tabIndex2 ||
|
|
1166
|
+
return (tabIndex1 === tabIndex2 ||
|
|
1167
|
+
(tabIndex1 !== undefined &&
|
|
1168
|
+
tabIndex2 !== undefined &&
|
|
1169
|
+
+tabIndex1 === +tabIndex2));
|
|
1131
1170
|
}
|
|
1132
1171
|
/**
|
|
1133
1172
|
* Verifies if a provided tab index is registered.
|
|
1134
1173
|
*/
|
|
1135
1174
|
isValidTabIndex(tabIndex) {
|
|
1136
|
-
return this.
|
|
1175
|
+
return __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f").some((tab) => this.tabIndexesEqual(tab.tabIndex, tabIndex));
|
|
1137
1176
|
}
|
|
1138
1177
|
/**
|
|
1139
1178
|
* Activates the first registered tab.
|
|
1140
1179
|
*/
|
|
1141
1180
|
activateFirstTab() {
|
|
1142
|
-
const firstTabIndex = this
|
|
1181
|
+
const firstTabIndex = __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f")[0] && __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f")[0].tabIndex;
|
|
1143
1182
|
if (firstTabIndex !== undefined) {
|
|
1144
1183
|
this.setActiveTabIndex(firstTabIndex);
|
|
1145
1184
|
return firstTabIndex;
|
|
1146
1185
|
}
|
|
1186
|
+
return undefined;
|
|
1147
1187
|
}
|
|
1148
1188
|
/**
|
|
1149
1189
|
* Activates the next registered tab, or the previous one based on a provided array index.
|
|
1150
1190
|
*/
|
|
1151
1191
|
activateNearestTab(arrayIndex) {
|
|
1152
|
-
const newActiveTab = this
|
|
1192
|
+
const newActiveTab = __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f")[arrayIndex] || __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f")[arrayIndex - 1];
|
|
1153
1193
|
if (newActiveTab) {
|
|
1154
1194
|
this.currentActiveTabIndex = newActiveTab.tabIndex;
|
|
1155
1195
|
}
|
|
1156
1196
|
}
|
|
1157
|
-
isTabIndexActive(tabIndex) {
|
|
1158
|
-
return this.tabIndexesEqual(tabIndex, this.currentActiveTabIndex);
|
|
1159
|
-
}
|
|
1160
|
-
getNextTabArrayIndex(currentIndex) {
|
|
1161
|
-
let nextIndex = currentIndex + 1;
|
|
1162
|
-
if (nextIndex === this.tabs.length) {
|
|
1163
|
-
nextIndex = 0;
|
|
1164
|
-
}
|
|
1165
|
-
return nextIndex;
|
|
1166
|
-
}
|
|
1167
|
-
getPrevTabArrayIndex(currentIndex) {
|
|
1168
|
-
let prevIndex = currentIndex - 1;
|
|
1169
|
-
if (prevIndex < 0) {
|
|
1170
|
-
prevIndex = this.tabs.length - 1;
|
|
1171
|
-
}
|
|
1172
|
-
return prevIndex;
|
|
1173
|
-
}
|
|
1174
1197
|
}
|
|
1198
|
+
_SkyTabsetService_activeTabIndex = new WeakMap(), _SkyTabsetService_focusedTabBtnIndex = new WeakMap(), _SkyTabsetService_activeTabUnregistered = new WeakMap(), _SkyTabsetService_tabs = new WeakMap(), _SkyTabsetService_tabCounter = new WeakMap(), _SkyTabsetService_instances = new WeakSet(), _SkyTabsetService_isTabIndexActive = function _SkyTabsetService_isTabIndexActive(tabIndex) {
|
|
1199
|
+
return this.tabIndexesEqual(tabIndex, this.currentActiveTabIndex);
|
|
1200
|
+
}, _SkyTabsetService_getNextTabArrayIndex = function _SkyTabsetService_getNextTabArrayIndex(currentIndex) {
|
|
1201
|
+
let nextIndex = currentIndex + 1;
|
|
1202
|
+
if (nextIndex === __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f").length) {
|
|
1203
|
+
nextIndex = 0;
|
|
1204
|
+
}
|
|
1205
|
+
return nextIndex;
|
|
1206
|
+
}, _SkyTabsetService_getPrevTabArrayIndex = function _SkyTabsetService_getPrevTabArrayIndex(currentIndex) {
|
|
1207
|
+
let prevIndex = currentIndex - 1;
|
|
1208
|
+
if (prevIndex < 0) {
|
|
1209
|
+
prevIndex = __classPrivateFieldGet(this, _SkyTabsetService_tabs, "f").length - 1;
|
|
1210
|
+
}
|
|
1211
|
+
return prevIndex;
|
|
1212
|
+
};
|
|
1175
1213
|
SkyTabsetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1176
1214
|
SkyTabsetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetService });
|
|
1177
1215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetService, decorators: [{
|
|
1178
1216
|
type: Injectable
|
|
1179
|
-
}] });
|
|
1217
|
+
}], ctorParameters: function () { return []; } });
|
|
1180
1218
|
|
|
1181
|
-
var _SkyTabButtonComponent__tabStyle, _SkyTabButtonComponent_adapterService, _SkyTabButtonComponent_changeDetectorRef, _SkyTabButtonComponent_elementRef, _SkyTabButtonComponent_tabsetService, _SkyTabButtonComponent_ngUnsubscribe;
|
|
1182
|
-
const
|
|
1219
|
+
var _SkyTabButtonComponent_instances, _SkyTabButtonComponent__isActive, _SkyTabButtonComponent__isDisabled, _SkyTabButtonComponent__tabStyle, _SkyTabButtonComponent_adapterService, _SkyTabButtonComponent_changeDetectorRef, _SkyTabButtonComponent_elementRef, _SkyTabButtonComponent_tabsetService, _SkyTabButtonComponent_ngUnsubscribe, _SkyTabButtonComponent_updateWizardStepState;
|
|
1220
|
+
const DEFAULT_DISABLED = false;
|
|
1183
1221
|
/**
|
|
1184
1222
|
* @internal
|
|
1185
1223
|
*/
|
|
1186
1224
|
class SkyTabButtonComponent {
|
|
1187
1225
|
constructor(elementRef, adapterService, changeDetectorRef, tabsetService) {
|
|
1226
|
+
_SkyTabButtonComponent_instances.add(this);
|
|
1188
1227
|
this.buttonClick = new EventEmitter();
|
|
1189
1228
|
this.closeClick = new EventEmitter();
|
|
1190
|
-
this.elementRole = DEFAULT_ELEMENT_ROLE$1;
|
|
1191
1229
|
this.closeBtnTabIndex = '-1';
|
|
1230
|
+
_SkyTabButtonComponent__isActive.set(this, false);
|
|
1231
|
+
_SkyTabButtonComponent__isDisabled.set(this, DEFAULT_DISABLED);
|
|
1192
1232
|
_SkyTabButtonComponent__tabStyle.set(this, void 0);
|
|
1193
1233
|
_SkyTabButtonComponent_adapterService.set(this, void 0);
|
|
1194
1234
|
_SkyTabButtonComponent_changeDetectorRef.set(this, void 0);
|
|
@@ -1200,18 +1240,32 @@ class SkyTabButtonComponent {
|
|
|
1200
1240
|
__classPrivateFieldSet(this, _SkyTabButtonComponent_elementRef, elementRef, "f");
|
|
1201
1241
|
__classPrivateFieldSet(this, _SkyTabButtonComponent_tabsetService, tabsetService, "f");
|
|
1202
1242
|
}
|
|
1243
|
+
get active() {
|
|
1244
|
+
return __classPrivateFieldGet(this, _SkyTabButtonComponent__isActive, "f");
|
|
1245
|
+
}
|
|
1246
|
+
set active(value) {
|
|
1247
|
+
__classPrivateFieldSet(this, _SkyTabButtonComponent__isActive, value, "f");
|
|
1248
|
+
__classPrivateFieldGet(this, _SkyTabButtonComponent_instances, "m", _SkyTabButtonComponent_updateWizardStepState).call(this);
|
|
1249
|
+
}
|
|
1250
|
+
get disabled() {
|
|
1251
|
+
return __classPrivateFieldGet(this, _SkyTabButtonComponent__isDisabled, "f");
|
|
1252
|
+
}
|
|
1253
|
+
set disabled(value) {
|
|
1254
|
+
__classPrivateFieldSet(this, _SkyTabButtonComponent__isDisabled, value ?? DEFAULT_DISABLED, "f");
|
|
1255
|
+
__classPrivateFieldGet(this, _SkyTabButtonComponent_instances, "m", _SkyTabButtonComponent_updateWizardStepState).call(this);
|
|
1256
|
+
}
|
|
1203
1257
|
get tabStyle() {
|
|
1204
1258
|
return __classPrivateFieldGet(this, _SkyTabButtonComponent__tabStyle, "f");
|
|
1205
1259
|
}
|
|
1206
1260
|
set tabStyle(style) {
|
|
1207
1261
|
__classPrivateFieldSet(this, _SkyTabButtonComponent__tabStyle, style, "f");
|
|
1208
|
-
this
|
|
1262
|
+
__classPrivateFieldGet(this, _SkyTabButtonComponent_instances, "m", _SkyTabButtonComponent_updateWizardStepState).call(this);
|
|
1209
1263
|
}
|
|
1210
1264
|
ngAfterViewInit() {
|
|
1211
1265
|
__classPrivateFieldGet(this, _SkyTabButtonComponent_tabsetService, "f").focusedTabBtnIndex
|
|
1212
1266
|
.pipe(distinctUntilChanged(), takeUntil(__classPrivateFieldGet(this, _SkyTabButtonComponent_ngUnsubscribe, "f")))
|
|
1213
1267
|
.subscribe((focusedIndex) => {
|
|
1214
|
-
if (focusedIndex === this.tabIndex) {
|
|
1268
|
+
if (this.tabIndex !== undefined && focusedIndex === this.tabIndex) {
|
|
1215
1269
|
this.closeBtnTabIndex = '0';
|
|
1216
1270
|
this.focusBtn();
|
|
1217
1271
|
}
|
|
@@ -1256,15 +1310,33 @@ class SkyTabButtonComponent {
|
|
|
1256
1310
|
__classPrivateFieldGet(this, _SkyTabButtonComponent_adapterService, "f").focusButtonLink(__classPrivateFieldGet(this, _SkyTabButtonComponent_elementRef, "f"));
|
|
1257
1311
|
}
|
|
1258
1312
|
onFocus() {
|
|
1259
|
-
|
|
1313
|
+
if (this.tabIndex !== undefined) {
|
|
1314
|
+
__classPrivateFieldGet(this, _SkyTabButtonComponent_tabsetService, "f").setFocusedTabBtnIndex(this.tabIndex);
|
|
1315
|
+
}
|
|
1260
1316
|
}
|
|
1261
1317
|
}
|
|
1262
|
-
_SkyTabButtonComponent__tabStyle = new WeakMap(), _SkyTabButtonComponent_adapterService = new WeakMap(), _SkyTabButtonComponent_changeDetectorRef = new WeakMap(), _SkyTabButtonComponent_elementRef = new WeakMap(), _SkyTabButtonComponent_tabsetService = new WeakMap(), _SkyTabButtonComponent_ngUnsubscribe = new WeakMap()
|
|
1318
|
+
_SkyTabButtonComponent__isActive = new WeakMap(), _SkyTabButtonComponent__isDisabled = new WeakMap(), _SkyTabButtonComponent__tabStyle = new WeakMap(), _SkyTabButtonComponent_adapterService = new WeakMap(), _SkyTabButtonComponent_changeDetectorRef = new WeakMap(), _SkyTabButtonComponent_elementRef = new WeakMap(), _SkyTabButtonComponent_tabsetService = new WeakMap(), _SkyTabButtonComponent_ngUnsubscribe = new WeakMap(), _SkyTabButtonComponent_instances = new WeakSet(), _SkyTabButtonComponent_updateWizardStepState = function _SkyTabButtonComponent_updateWizardStepState() {
|
|
1319
|
+
if (this.tabStyle === 'tabs') {
|
|
1320
|
+
this.wizardStepState = undefined;
|
|
1321
|
+
}
|
|
1322
|
+
else {
|
|
1323
|
+
if (this.active) {
|
|
1324
|
+
this.wizardStepState = 'current';
|
|
1325
|
+
}
|
|
1326
|
+
else if (!this.disabled) {
|
|
1327
|
+
this.wizardStepState = 'completed';
|
|
1328
|
+
}
|
|
1329
|
+
else {
|
|
1330
|
+
this.wizardStepState = 'unavailable';
|
|
1331
|
+
}
|
|
1332
|
+
}
|
|
1333
|
+
__classPrivateFieldGet(this, _SkyTabButtonComponent_changeDetectorRef, "f").markForCheck();
|
|
1334
|
+
};
|
|
1263
1335
|
SkyTabButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabButtonComponent, deps: [{ token: i0.ElementRef }, { token: SkyTabButtonAdapterService }, { token: i0.ChangeDetectorRef }, { token: SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1264
|
-
SkyTabButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTabButtonComponent, selector: "sky-tab-button", inputs: { active: "active", ariaControls: "ariaControls", buttonHref: "buttonHref", buttonId: "buttonId", buttonText: "buttonText", buttonTextCount: "buttonTextCount", closeable: "closeable", disabled: "disabled", tabIndex: "tabIndex", tabStyle: "tabStyle" }, outputs: { buttonClick: "buttonClick", closeClick: "closeClick" }, providers: [SkyTabButtonAdapterService], ngImport: i0, template: "<div\n class=\"sky-btn-tab-wrapper\"\n [ngClass]=\"{\n 'sky-btn-tab-wrapper-selected': active,\n 'sky-btn-tab-wrapper-disabled': disabled\n }\"\n>\n <a\n #tabButtonEl\n class=\"sky-btn-tab\"\n
|
|
1336
|
+
SkyTabButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTabButtonComponent, selector: "sky-tab-button", inputs: { active: "active", ariaControls: "ariaControls", buttonHref: "buttonHref", buttonId: "buttonId", buttonText: "buttonText", buttonTextCount: "buttonTextCount", closeable: "closeable", disabled: "disabled", tabIndex: "tabIndex", tabNumber: "tabNumber", totalTabsCount: "totalTabsCount", tabStyle: "tabStyle" }, outputs: { buttonClick: "buttonClick", closeClick: "closeClick" }, providers: [SkyTabButtonAdapterService], ngImport: i0, template: "<div\n class=\"sky-btn-tab-wrapper\"\n [ngClass]=\"{\n 'sky-btn-tab-wrapper-selected': active,\n 'sky-btn-tab-wrapper-disabled': disabled\n }\"\n>\n <a\n #tabButtonEl\n class=\"sky-btn-tab\"\n role=\"tab\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-selected]=\"active\"\n [attr.href]=\"buttonHref\"\n [attr.aria-label]=\"\n (tabStyle === 'wizard'\n ? 'skyux_wizard_sr_step_' + wizardStepState\n : 'skyux_tabs_sr_tab_order'\n ) | skyLibResources: tabNumber:totalTabsCount:buttonText\n \"\n [id]=\"buttonId\"\n [ngClass]=\"{\n 'sky-btn-tab-wizard': tabStyle === 'wizard',\n 'sky-btn-tab-selected': active,\n 'sky-btn-tab-disabled': disabled,\n 'sky-tab-btn-closeable': closeable\n }\"\n [tabindex]=\"active ? '0' : '-1'\"\n (click)=\"onButtonClick($event)\"\n (keydown)=\"onTabButtonKeyDown($event)\"\n (focus)=\"onFocus()\"\n >\n <span class=\"sky-tab-heading\" [attr.aria-hidden]=\"true\">\n {{ buttonText }}\n <span *ngIf=\"buttonTextCount !== undefined\" class=\"sky-tab-header-count\">\n {{ buttonTextCount }}\n </span>\n </span>\n </a>\n\n <button\n *ngIf=\"closeable\"\n class=\"sky-btn-tab-close\"\n [tabindex]=\"closeBtnTabIndex\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_tab_close' | skyLibResources: buttonText\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-tab-close-disabled': disabled\n }\"\n (click)=\"onCloseClick($event)\"\n >\n <sky-icon icon=\"remove\"></sky-icon>\n </button>\n</div>\n", styles: [".sky-btn-tab-wrapper{display:inline-block;position:relative;margin-right:5px}.sky-btn-tab-wrapper .sky-btn-tab-close{position:absolute;top:10px;right:10px;color:#686c73}.sky-btn-tab-wrapper .sky-btn-tab-close:hover{color:#212327;transition:color .15s}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#fff}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-disabled{cursor:not-allowed}.sky-tab-btn-closeable{padding-right:43px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper{margin-right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}:host-context(.sky-theme-modern) .sky-tab-btn-closeable{padding-right:44px}.sky-theme-modern .sky-btn-tab-wrapper{margin-right:10px}.sky-theme-modern .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}.sky-theme-modern .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}.sky-theme-modern .sky-tab-btn-closeable{padding-right:44px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1265
1337
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabButtonComponent, decorators: [{
|
|
1266
1338
|
type: Component,
|
|
1267
|
-
args: [{ selector: 'sky-tab-button', providers: [SkyTabButtonAdapterService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-btn-tab-wrapper\"\n [ngClass]=\"{\n 'sky-btn-tab-wrapper-selected': active,\n 'sky-btn-tab-wrapper-disabled': disabled\n }\"\n>\n <a\n #tabButtonEl\n class=\"sky-btn-tab\"\n
|
|
1339
|
+
args: [{ selector: 'sky-tab-button', providers: [SkyTabButtonAdapterService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-btn-tab-wrapper\"\n [ngClass]=\"{\n 'sky-btn-tab-wrapper-selected': active,\n 'sky-btn-tab-wrapper-disabled': disabled\n }\"\n>\n <a\n #tabButtonEl\n class=\"sky-btn-tab\"\n role=\"tab\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-selected]=\"active\"\n [attr.href]=\"buttonHref\"\n [attr.aria-label]=\"\n (tabStyle === 'wizard'\n ? 'skyux_wizard_sr_step_' + wizardStepState\n : 'skyux_tabs_sr_tab_order'\n ) | skyLibResources: tabNumber:totalTabsCount:buttonText\n \"\n [id]=\"buttonId\"\n [ngClass]=\"{\n 'sky-btn-tab-wizard': tabStyle === 'wizard',\n 'sky-btn-tab-selected': active,\n 'sky-btn-tab-disabled': disabled,\n 'sky-tab-btn-closeable': closeable\n }\"\n [tabindex]=\"active ? '0' : '-1'\"\n (click)=\"onButtonClick($event)\"\n (keydown)=\"onTabButtonKeyDown($event)\"\n (focus)=\"onFocus()\"\n >\n <span class=\"sky-tab-heading\" [attr.aria-hidden]=\"true\">\n {{ buttonText }}\n <span *ngIf=\"buttonTextCount !== undefined\" class=\"sky-tab-header-count\">\n {{ buttonTextCount }}\n </span>\n </span>\n </a>\n\n <button\n *ngIf=\"closeable\"\n class=\"sky-btn-tab-close\"\n [tabindex]=\"closeBtnTabIndex\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_tab_close' | skyLibResources: buttonText\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-tab-close-disabled': disabled\n }\"\n (click)=\"onCloseClick($event)\"\n >\n <sky-icon icon=\"remove\"></sky-icon>\n </button>\n</div>\n", styles: [".sky-btn-tab-wrapper{display:inline-block;position:relative;margin-right:5px}.sky-btn-tab-wrapper .sky-btn-tab-close{position:absolute;top:10px;right:10px;color:#686c73}.sky-btn-tab-wrapper .sky-btn-tab-close:hover{color:#212327;transition:color .15s}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#fff}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-disabled{cursor:not-allowed}.sky-tab-btn-closeable{padding-right:43px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper{margin-right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}:host-context(.sky-theme-modern) .sky-tab-btn-closeable{padding-right:44px}.sky-theme-modern .sky-btn-tab-wrapper{margin-right:10px}.sky-theme-modern .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}.sky-theme-modern .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}.sky-theme-modern .sky-tab-btn-closeable{padding-right:44px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}\n"] }]
|
|
1268
1340
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: SkyTabButtonAdapterService }, { type: i0.ChangeDetectorRef }, { type: SkyTabsetService }]; }, propDecorators: { active: [{
|
|
1269
1341
|
type: Input
|
|
1270
1342
|
}], ariaControls: [{
|
|
@@ -1283,6 +1355,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
1283
1355
|
type: Input
|
|
1284
1356
|
}], tabIndex: [{
|
|
1285
1357
|
type: Input
|
|
1358
|
+
}], tabNumber: [{
|
|
1359
|
+
type: Input
|
|
1360
|
+
}], totalTabsCount: [{
|
|
1361
|
+
type: Input
|
|
1286
1362
|
}], tabStyle: [{
|
|
1287
1363
|
type: Input
|
|
1288
1364
|
}], buttonClick: [{
|
|
@@ -1291,40 +1367,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
1291
1367
|
type: Output
|
|
1292
1368
|
}] } });
|
|
1293
1369
|
|
|
1370
|
+
var _SkyTabsetPermalinkService_instances, _SkyTabsetPermalinkService_popStateChange, _SkyTabsetPermalinkService_subscription, _SkyTabsetPermalinkService_activatedRoute, _SkyTabsetPermalinkService_location, _SkyTabsetPermalinkService_router, _SkyTabsetPermalinkService_getParams;
|
|
1294
1371
|
/**
|
|
1295
1372
|
* @internal
|
|
1296
1373
|
*/
|
|
1297
1374
|
class SkyTabsetPermalinkService {
|
|
1298
1375
|
constructor(activatedRoute, location, router) {
|
|
1299
|
-
this
|
|
1300
|
-
this
|
|
1301
|
-
this
|
|
1302
|
-
this
|
|
1376
|
+
_SkyTabsetPermalinkService_instances.add(this);
|
|
1377
|
+
_SkyTabsetPermalinkService_popStateChange.set(this, void 0);
|
|
1378
|
+
_SkyTabsetPermalinkService_subscription.set(this, void 0);
|
|
1379
|
+
_SkyTabsetPermalinkService_activatedRoute.set(this, void 0);
|
|
1380
|
+
_SkyTabsetPermalinkService_location.set(this, void 0);
|
|
1381
|
+
_SkyTabsetPermalinkService_router.set(this, void 0);
|
|
1382
|
+
__classPrivateFieldSet(this, _SkyTabsetPermalinkService_activatedRoute, activatedRoute, "f");
|
|
1383
|
+
__classPrivateFieldSet(this, _SkyTabsetPermalinkService_location, location, "f");
|
|
1384
|
+
__classPrivateFieldSet(this, _SkyTabsetPermalinkService_router, router, "f");
|
|
1385
|
+
__classPrivateFieldSet(this, _SkyTabsetPermalinkService_popStateChange, new Subject(), "f");
|
|
1303
1386
|
}
|
|
1304
1387
|
get popStateChange() {
|
|
1305
|
-
return this
|
|
1388
|
+
return __classPrivateFieldGet(this, _SkyTabsetPermalinkService_popStateChange, "f");
|
|
1306
1389
|
}
|
|
1307
1390
|
ngOnDestroy() {
|
|
1308
|
-
if (this
|
|
1309
|
-
this.
|
|
1391
|
+
if (__classPrivateFieldGet(this, _SkyTabsetPermalinkService_subscription, "f")) {
|
|
1392
|
+
__classPrivateFieldGet(this, _SkyTabsetPermalinkService_subscription, "f").unsubscribe();
|
|
1310
1393
|
}
|
|
1394
|
+
__classPrivateFieldGet(this, _SkyTabsetPermalinkService_popStateChange, "f").complete();
|
|
1311
1395
|
}
|
|
1312
1396
|
init() {
|
|
1313
|
-
this
|
|
1314
|
-
this.
|
|
1315
|
-
});
|
|
1397
|
+
__classPrivateFieldSet(this, _SkyTabsetPermalinkService_subscription, __classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").subscribe(() => {
|
|
1398
|
+
__classPrivateFieldGet(this, _SkyTabsetPermalinkService_popStateChange, "f").next();
|
|
1399
|
+
}), "f");
|
|
1316
1400
|
}
|
|
1317
1401
|
/**
|
|
1318
1402
|
* Returns the value of a URL query param.
|
|
1319
1403
|
*/
|
|
1320
1404
|
getParam(name) {
|
|
1321
|
-
return this.
|
|
1405
|
+
return __classPrivateFieldGet(this, _SkyTabsetPermalinkService_instances, "m", _SkyTabsetPermalinkService_getParams).call(this)[name];
|
|
1322
1406
|
}
|
|
1323
1407
|
/**
|
|
1324
1408
|
* Sets the value of a URL query param.
|
|
1325
1409
|
*/
|
|
1326
1410
|
setParam(name, value) {
|
|
1327
|
-
const params = this.
|
|
1411
|
+
const params = __classPrivateFieldGet(this, _SkyTabsetPermalinkService_instances, "m", _SkyTabsetPermalinkService_getParams).call(this);
|
|
1328
1412
|
if (value === null) {
|
|
1329
1413
|
delete params[name];
|
|
1330
1414
|
}
|
|
@@ -1333,18 +1417,18 @@ class SkyTabsetPermalinkService {
|
|
|
1333
1417
|
}
|
|
1334
1418
|
// Update the URL without triggering a navigation state change.
|
|
1335
1419
|
// See: https://stackoverflow.com/a/46486677
|
|
1336
|
-
const url = this
|
|
1420
|
+
const url = __classPrivateFieldGet(this, _SkyTabsetPermalinkService_router, "f")
|
|
1337
1421
|
.createUrlTree([], {
|
|
1338
|
-
relativeTo: this
|
|
1422
|
+
relativeTo: __classPrivateFieldGet(this, _SkyTabsetPermalinkService_activatedRoute, "f"),
|
|
1339
1423
|
queryParams: params,
|
|
1340
1424
|
queryParamsHandling: 'merge',
|
|
1341
1425
|
})
|
|
1342
1426
|
.toString();
|
|
1343
1427
|
// Abort redirect if the current URL is equal to the new URL.
|
|
1344
|
-
if (this.
|
|
1428
|
+
if (__classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").isCurrentPathEqualTo(url)) {
|
|
1345
1429
|
return;
|
|
1346
1430
|
}
|
|
1347
|
-
this.
|
|
1431
|
+
__classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").go(url);
|
|
1348
1432
|
}
|
|
1349
1433
|
/**
|
|
1350
1434
|
* Removes the provided query param from the URL.
|
|
@@ -1360,13 +1444,13 @@ class SkyTabsetPermalinkService {
|
|
|
1360
1444
|
if (!name) {
|
|
1361
1445
|
return null;
|
|
1362
1446
|
}
|
|
1363
|
-
const params = this.
|
|
1447
|
+
const params = __classPrivateFieldGet(this, _SkyTabsetPermalinkService_instances, "m", _SkyTabsetPermalinkService_getParams).call(this);
|
|
1364
1448
|
params[name] = value;
|
|
1365
|
-
const baseUrl = this.
|
|
1449
|
+
const baseUrl = __classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").path().split('?')[0];
|
|
1366
1450
|
const paramString = Object.keys(params)
|
|
1367
1451
|
.map((k) => `${k}=${params[k]}`)
|
|
1368
1452
|
.join('&');
|
|
1369
|
-
return this.
|
|
1453
|
+
return __classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").prepareExternalUrl(`${baseUrl}?${paramString}`);
|
|
1370
1454
|
}
|
|
1371
1455
|
/**
|
|
1372
1456
|
* Converts the provided string into a value that can be safely used in a URL.
|
|
@@ -1385,48 +1469,59 @@ class SkyTabsetPermalinkService {
|
|
|
1385
1469
|
.replace(/--/g, '-');
|
|
1386
1470
|
return sanitized;
|
|
1387
1471
|
}
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
const path = this.location.path();
|
|
1394
|
-
if (path.indexOf('?') === -1) {
|
|
1395
|
-
return params;
|
|
1396
|
-
}
|
|
1397
|
-
const existingParamPairs = path.split('?')[1].split('&');
|
|
1398
|
-
existingParamPairs.forEach((pair) => {
|
|
1399
|
-
const fragments = pair.split('=');
|
|
1400
|
-
params[fragments[0]] = decodeURIComponent(fragments[1]);
|
|
1401
|
-
});
|
|
1472
|
+
}
|
|
1473
|
+
_SkyTabsetPermalinkService_popStateChange = new WeakMap(), _SkyTabsetPermalinkService_subscription = new WeakMap(), _SkyTabsetPermalinkService_activatedRoute = new WeakMap(), _SkyTabsetPermalinkService_location = new WeakMap(), _SkyTabsetPermalinkService_router = new WeakMap(), _SkyTabsetPermalinkService_instances = new WeakSet(), _SkyTabsetPermalinkService_getParams = function _SkyTabsetPermalinkService_getParams() {
|
|
1474
|
+
const params = {};
|
|
1475
|
+
const path = __classPrivateFieldGet(this, _SkyTabsetPermalinkService_location, "f").path();
|
|
1476
|
+
if (path.indexOf('?') === -1) {
|
|
1402
1477
|
return params;
|
|
1403
1478
|
}
|
|
1404
|
-
|
|
1479
|
+
const existingParamPairs = path.split('?')[1].split('&');
|
|
1480
|
+
existingParamPairs.forEach((pair) => {
|
|
1481
|
+
const fragments = pair.split('=');
|
|
1482
|
+
params[fragments[0]] = decodeURIComponent(fragments[1]);
|
|
1483
|
+
});
|
|
1484
|
+
return params;
|
|
1485
|
+
};
|
|
1405
1486
|
SkyTabsetPermalinkService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetPermalinkService, deps: [{ token: i1$1.ActivatedRoute }, { token: i4.Location }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1406
1487
|
SkyTabsetPermalinkService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetPermalinkService });
|
|
1407
1488
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetPermalinkService, decorators: [{
|
|
1408
1489
|
type: Injectable
|
|
1409
1490
|
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i4.Location }, { type: i1$1.Router }]; } });
|
|
1410
1491
|
|
|
1492
|
+
var _SkyTabComponent_instances, _SkyTabComponent__active, _SkyTabComponent_activeChange, _SkyTabComponent__permalinkValue, _SkyTabComponent_stateChange, _SkyTabComponent__tabHeading, _SkyTabComponent__tabIndex, _SkyTabComponent_tabIndexChange, _SkyTabComponent_changeDetector, _SkyTabComponent_permalinkService, _SkyTabComponent_tabsetService, _SkyTabComponent_setPermalinkValueOrDefault;
|
|
1411
1493
|
let nextId = 0;
|
|
1412
1494
|
class SkyTabComponent {
|
|
1413
1495
|
constructor(changeDetector, permalinkService, tabsetService) {
|
|
1414
|
-
this
|
|
1415
|
-
this.permalinkService = permalinkService;
|
|
1416
|
-
this.tabsetService = tabsetService;
|
|
1496
|
+
_SkyTabComponent_instances.add(this);
|
|
1417
1497
|
/**
|
|
1418
1498
|
* Fires when users click the button to close the tab.
|
|
1419
1499
|
* The close button is added to the tab when you specify a listener for this event.
|
|
1420
1500
|
* This event only applies when the tabset's `tabStyle` is `"tabs"`.
|
|
1421
1501
|
*/
|
|
1422
1502
|
this.close = new EventEmitter(); // eslint-disable-line @angular-eslint/no-output-native
|
|
1503
|
+
this.permalinkValueOrDefault = '';
|
|
1423
1504
|
this.showContent = false;
|
|
1424
|
-
this
|
|
1425
|
-
this
|
|
1426
|
-
this
|
|
1505
|
+
_SkyTabComponent__active.set(this, false);
|
|
1506
|
+
_SkyTabComponent_activeChange.set(this, void 0);
|
|
1507
|
+
_SkyTabComponent__permalinkValue.set(this, void 0);
|
|
1508
|
+
_SkyTabComponent_stateChange.set(this, void 0);
|
|
1509
|
+
_SkyTabComponent__tabHeading.set(this, void 0);
|
|
1510
|
+
_SkyTabComponent__tabIndex.set(this, void 0);
|
|
1511
|
+
_SkyTabComponent_tabIndexChange.set(this, void 0);
|
|
1512
|
+
_SkyTabComponent_changeDetector.set(this, void 0);
|
|
1513
|
+
_SkyTabComponent_permalinkService.set(this, void 0);
|
|
1514
|
+
_SkyTabComponent_tabsetService.set(this, void 0);
|
|
1515
|
+
__classPrivateFieldSet(this, _SkyTabComponent_changeDetector, changeDetector, "f");
|
|
1516
|
+
__classPrivateFieldSet(this, _SkyTabComponent_permalinkService, permalinkService, "f");
|
|
1517
|
+
__classPrivateFieldSet(this, _SkyTabComponent_tabsetService, tabsetService, "f");
|
|
1427
1518
|
const id = nextId++;
|
|
1428
1519
|
this.tabPanelId = `sky-tab-${id}`;
|
|
1429
1520
|
this.tabButtonId = `${this.tabPanelId}-nav-btn`;
|
|
1521
|
+
__classPrivateFieldSet(this, _SkyTabComponent_activeChange, new BehaviorSubject(undefined), "f");
|
|
1522
|
+
__classPrivateFieldSet(this, _SkyTabComponent_stateChange, new BehaviorSubject(undefined), "f");
|
|
1523
|
+
__classPrivateFieldSet(this, _SkyTabComponent_tabIndexChange, new BehaviorSubject(undefined), "f");
|
|
1524
|
+
__classPrivateFieldGet(this, _SkyTabComponent_instances, "m", _SkyTabComponent_setPermalinkValueOrDefault).call(this);
|
|
1430
1525
|
}
|
|
1431
1526
|
/**
|
|
1432
1527
|
* Indicates whether the tab is active when the tabset loads. After initialization, the `active`
|
|
@@ -1434,16 +1529,16 @@ class SkyTabComponent {
|
|
|
1434
1529
|
* @default false
|
|
1435
1530
|
*/
|
|
1436
1531
|
set active(value) {
|
|
1437
|
-
if (value !== undefined && value !== this
|
|
1438
|
-
this
|
|
1439
|
-
this.
|
|
1532
|
+
if (value !== undefined && !!value !== __classPrivateFieldGet(this, _SkyTabComponent__active, "f")) {
|
|
1533
|
+
__classPrivateFieldSet(this, _SkyTabComponent__active, value, "f");
|
|
1534
|
+
__classPrivateFieldGet(this, _SkyTabComponent_activeChange, "f").next();
|
|
1440
1535
|
}
|
|
1441
1536
|
}
|
|
1442
1537
|
get active() {
|
|
1443
|
-
return this
|
|
1538
|
+
return __classPrivateFieldGet(this, _SkyTabComponent__active, "f");
|
|
1444
1539
|
}
|
|
1445
1540
|
get activeChange() {
|
|
1446
|
-
return this
|
|
1541
|
+
return __classPrivateFieldGet(this, _SkyTabComponent_activeChange, "f");
|
|
1447
1542
|
}
|
|
1448
1543
|
/**
|
|
1449
1544
|
* Specifies a custom query parameter value for the tab.
|
|
@@ -1454,65 +1549,90 @@ class SkyTabComponent {
|
|
|
1454
1549
|
* This input only applies when the tabset's `tabStyle` is `"tabs"`.
|
|
1455
1550
|
*/
|
|
1456
1551
|
set permalinkValue(value) {
|
|
1457
|
-
this
|
|
1552
|
+
__classPrivateFieldSet(this, _SkyTabComponent__permalinkValue, value, "f");
|
|
1553
|
+
__classPrivateFieldGet(this, _SkyTabComponent_instances, "m", _SkyTabComponent_setPermalinkValueOrDefault).call(this);
|
|
1458
1554
|
}
|
|
1459
1555
|
get permalinkValue() {
|
|
1460
|
-
return (this
|
|
1556
|
+
return __classPrivateFieldGet(this, _SkyTabComponent__permalinkValue, "f");
|
|
1557
|
+
}
|
|
1558
|
+
/**
|
|
1559
|
+
* Specifies the tab header.
|
|
1560
|
+
* When using tabs as the main navigation on a page,
|
|
1561
|
+
* use [the Angular `Title` service](https://angular.io/docs/ts/latest/cookbook/set-document-title.html)
|
|
1562
|
+
* and [the SKY UX `title` configuration property](https://developer.blackbaud.com/skyux/learn/reference/configuration#app)
|
|
1563
|
+
* to reflect the tab header in the page title.
|
|
1564
|
+
* @required
|
|
1565
|
+
*/
|
|
1566
|
+
set tabHeading(value) {
|
|
1567
|
+
__classPrivateFieldSet(this, _SkyTabComponent__tabHeading, value, "f");
|
|
1568
|
+
__classPrivateFieldGet(this, _SkyTabComponent_instances, "m", _SkyTabComponent_setPermalinkValueOrDefault).call(this);
|
|
1569
|
+
}
|
|
1570
|
+
get tabHeading() {
|
|
1571
|
+
return __classPrivateFieldGet(this, _SkyTabComponent__tabHeading, "f");
|
|
1461
1572
|
}
|
|
1462
1573
|
/**
|
|
1463
1574
|
* Specifies a unique identifier for the tab.
|
|
1464
1575
|
* If not defined, the identifier is set to the position of the tab on load, starting with `0`.
|
|
1465
1576
|
*/
|
|
1466
1577
|
set tabIndex(value) {
|
|
1467
|
-
if (value !== this
|
|
1578
|
+
if (value !== __classPrivateFieldGet(this, _SkyTabComponent__tabIndex, "f") &&
|
|
1468
1579
|
value !== undefined &&
|
|
1469
|
-
this
|
|
1470
|
-
this.
|
|
1471
|
-
this.
|
|
1580
|
+
__classPrivateFieldGet(this, _SkyTabComponent__tabIndex, "f") !== undefined) {
|
|
1581
|
+
__classPrivateFieldGet(this, _SkyTabComponent_tabsetService, "f").updateTabIndex(__classPrivateFieldGet(this, _SkyTabComponent__tabIndex, "f"), value);
|
|
1582
|
+
__classPrivateFieldGet(this, _SkyTabComponent_tabIndexChange, "f").next(value);
|
|
1472
1583
|
}
|
|
1473
|
-
this
|
|
1584
|
+
__classPrivateFieldSet(this, _SkyTabComponent__tabIndex, value, "f");
|
|
1474
1585
|
}
|
|
1475
1586
|
get tabIndex() {
|
|
1476
|
-
return this
|
|
1477
|
-
}
|
|
1478
|
-
get closeable() {
|
|
1479
|
-
return this.close.observers.length > 0;
|
|
1587
|
+
return __classPrivateFieldGet(this, _SkyTabComponent__tabIndex, "f");
|
|
1480
1588
|
}
|
|
1481
1589
|
/**
|
|
1482
1590
|
* Alerts the tabset component when this component has changes that need to be reflected in the UI.
|
|
1483
1591
|
*/
|
|
1484
1592
|
get stateChange() {
|
|
1485
|
-
return this
|
|
1593
|
+
return __classPrivateFieldGet(this, _SkyTabComponent_stateChange, "f");
|
|
1486
1594
|
}
|
|
1487
1595
|
get tabIndexChange() {
|
|
1488
|
-
return this
|
|
1596
|
+
return __classPrivateFieldGet(this, _SkyTabComponent_tabIndexChange, "f");
|
|
1489
1597
|
}
|
|
1490
1598
|
ngOnChanges(changes) {
|
|
1491
1599
|
if ((changes.disabled && !changes.disabled.firstChange) ||
|
|
1492
1600
|
(changes.tabHeading && !changes.tabHeading.firstChange) ||
|
|
1493
1601
|
(changes.tabHeaderCount && !changes.tabHeaderCount.firstChange) ||
|
|
1494
1602
|
(changes.permalinkValue && !changes.permalinkValue.firstChange)) {
|
|
1495
|
-
this.
|
|
1603
|
+
__classPrivateFieldGet(this, _SkyTabComponent_stateChange, "f").next();
|
|
1496
1604
|
}
|
|
1497
1605
|
}
|
|
1498
1606
|
ngOnDestroy() {
|
|
1499
|
-
this.
|
|
1500
|
-
this.
|
|
1607
|
+
__classPrivateFieldGet(this, _SkyTabComponent_activeChange, "f").complete();
|
|
1608
|
+
__classPrivateFieldGet(this, _SkyTabComponent_stateChange, "f").complete();
|
|
1609
|
+
__classPrivateFieldGet(this, _SkyTabComponent_tabIndexChange, "f").complete();
|
|
1610
|
+
if (this.tabIndex !== undefined) {
|
|
1611
|
+
__classPrivateFieldGet(this, _SkyTabComponent_tabsetService, "f").unregisterTab(this.tabIndex);
|
|
1612
|
+
}
|
|
1501
1613
|
}
|
|
1502
1614
|
init() {
|
|
1503
|
-
this
|
|
1615
|
+
__classPrivateFieldSet(this, _SkyTabComponent__tabIndex, __classPrivateFieldGet(this, _SkyTabComponent_tabsetService, "f").registerTab(this.tabIndex), "f");
|
|
1504
1616
|
}
|
|
1505
1617
|
activate() {
|
|
1506
|
-
this
|
|
1618
|
+
__classPrivateFieldSet(this, _SkyTabComponent__active, true, "f");
|
|
1507
1619
|
this.showContent = true;
|
|
1508
|
-
this.
|
|
1620
|
+
__classPrivateFieldGet(this, _SkyTabComponent_changeDetector, "f").markForCheck();
|
|
1509
1621
|
}
|
|
1510
1622
|
deactivate() {
|
|
1511
|
-
this
|
|
1623
|
+
__classPrivateFieldSet(this, _SkyTabComponent__active, false, "f");
|
|
1512
1624
|
this.showContent = false;
|
|
1513
|
-
this.
|
|
1625
|
+
__classPrivateFieldGet(this, _SkyTabComponent_changeDetector, "f").markForCheck();
|
|
1626
|
+
}
|
|
1627
|
+
isCloseable() {
|
|
1628
|
+
return this.close.observers.length > 0;
|
|
1514
1629
|
}
|
|
1515
1630
|
}
|
|
1631
|
+
_SkyTabComponent__active = new WeakMap(), _SkyTabComponent_activeChange = new WeakMap(), _SkyTabComponent__permalinkValue = new WeakMap(), _SkyTabComponent_stateChange = new WeakMap(), _SkyTabComponent__tabHeading = new WeakMap(), _SkyTabComponent__tabIndex = new WeakMap(), _SkyTabComponent_tabIndexChange = new WeakMap(), _SkyTabComponent_changeDetector = new WeakMap(), _SkyTabComponent_permalinkService = new WeakMap(), _SkyTabComponent_tabsetService = new WeakMap(), _SkyTabComponent_instances = new WeakSet(), _SkyTabComponent_setPermalinkValueOrDefault = function _SkyTabComponent_setPermalinkValueOrDefault() {
|
|
1632
|
+
this.permalinkValueOrDefault =
|
|
1633
|
+
__classPrivateFieldGet(this, _SkyTabComponent_permalinkService, "f").urlify(this.permalinkValue) ||
|
|
1634
|
+
__classPrivateFieldGet(this, _SkyTabComponent_permalinkService, "f").urlify(this.tabHeading);
|
|
1635
|
+
};
|
|
1516
1636
|
SkyTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SkyTabsetPermalinkService }, { token: SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1517
1637
|
SkyTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTabComponent, selector: "sky-tab", inputs: { active: "active", disabled: "disabled", permalinkValue: "permalinkValue", tabHeaderCount: "tabHeaderCount", tabHeading: "tabHeading", tabIndex: "tabIndex" }, outputs: { close: "close" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"sky-tab\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabButtonId\"\n [hidden]=\"!showContent\"\n [id]=\"tabPanelId\"\n>\n <ng-content></ng-content>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1518
1638
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabComponent, decorators: [{
|
|
@@ -1534,25 +1654,194 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
1534
1654
|
type: Output
|
|
1535
1655
|
}] } });
|
|
1536
1656
|
|
|
1657
|
+
class SkyTabsetNavButtonDisabledPipe {
|
|
1658
|
+
transform(disabled, buttonType, tabToSelectExists, tabToSelectIsDisabled) {
|
|
1659
|
+
if (disabled !== undefined) {
|
|
1660
|
+
return disabled;
|
|
1661
|
+
}
|
|
1662
|
+
else if (buttonType === 'finish') {
|
|
1663
|
+
return false;
|
|
1664
|
+
}
|
|
1665
|
+
return !tabToSelectExists || !!tabToSelectIsDisabled;
|
|
1666
|
+
}
|
|
1667
|
+
}
|
|
1668
|
+
SkyTabsetNavButtonDisabledPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetNavButtonDisabledPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
1669
|
+
SkyTabsetNavButtonDisabledPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetNavButtonDisabledPipe, name: "skyTabsetNavButtonDisabled" });
|
|
1670
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetNavButtonDisabledPipe, decorators: [{
|
|
1671
|
+
type: Pipe,
|
|
1672
|
+
args: [{
|
|
1673
|
+
name: 'skyTabsetNavButtonDisabled',
|
|
1674
|
+
}]
|
|
1675
|
+
}] });
|
|
1676
|
+
|
|
1677
|
+
var _SkyTabsetNavButtonComponent_instances, _SkyTabsetNavButtonComponent__buttonType, _SkyTabsetNavButtonComponent__disabled, _SkyTabsetNavButtonComponent__tabset, _SkyTabsetNavButtonComponent_activeIndexNumber, _SkyTabsetNavButtonComponent_activeSkyTabIndex, _SkyTabsetNavButtonComponent_currentTabsetSub, _SkyTabsetNavButtonComponent_logger, _SkyTabsetNavButtonComponent_tabCount, _SkyTabsetNavButtonComponent_ngUnsubscribe, _SkyTabsetNavButtonComponent_updateButtonVisibility, _SkyTabsetNavButtonComponent_updateButtonProperties, _SkyTabsetNavButtonComponent_updateTabToSelect;
|
|
1678
|
+
const buttonTypeNext = 'next';
|
|
1679
|
+
const buttonTypePrevious = 'previous';
|
|
1680
|
+
const buttonTypeFinish = 'finish';
|
|
1681
|
+
class SkyTabsetNavButtonComponent {
|
|
1682
|
+
constructor(logger) {
|
|
1683
|
+
_SkyTabsetNavButtonComponent_instances.add(this);
|
|
1684
|
+
this.isVisible = false;
|
|
1685
|
+
this.type = 'submit';
|
|
1686
|
+
_SkyTabsetNavButtonComponent__buttonType.set(this, void 0);
|
|
1687
|
+
_SkyTabsetNavButtonComponent__disabled.set(this, void 0);
|
|
1688
|
+
_SkyTabsetNavButtonComponent__tabset.set(this, void 0);
|
|
1689
|
+
_SkyTabsetNavButtonComponent_activeIndexNumber.set(this, void 0);
|
|
1690
|
+
_SkyTabsetNavButtonComponent_activeSkyTabIndex.set(this, void 0);
|
|
1691
|
+
_SkyTabsetNavButtonComponent_currentTabsetSub.set(this, void 0);
|
|
1692
|
+
_SkyTabsetNavButtonComponent_logger.set(this, void 0);
|
|
1693
|
+
_SkyTabsetNavButtonComponent_tabCount.set(this, void 0);
|
|
1694
|
+
_SkyTabsetNavButtonComponent_ngUnsubscribe.set(this, new Subject());
|
|
1695
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_logger, logger, "f");
|
|
1696
|
+
}
|
|
1697
|
+
/**
|
|
1698
|
+
* Specifies the tabset wizard component to associate with the nav button.
|
|
1699
|
+
* @required
|
|
1700
|
+
*/
|
|
1701
|
+
get tabset() {
|
|
1702
|
+
return __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f");
|
|
1703
|
+
}
|
|
1704
|
+
set tabset(value) {
|
|
1705
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__tabset, value, "f");
|
|
1706
|
+
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, "f")) {
|
|
1707
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, "f").unsubscribe();
|
|
1708
|
+
}
|
|
1709
|
+
if (value) {
|
|
1710
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, value.activeChange
|
|
1711
|
+
.pipe(distinctUntilChanged(), takeUntil(__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f")))
|
|
1712
|
+
.subscribe((index) => {
|
|
1713
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_activeSkyTabIndex, index, "f");
|
|
1714
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_tabCount, __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f")?.tabs?.length, "f");
|
|
1715
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateTabToSelect).call(this);
|
|
1716
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonVisibility).call(this);
|
|
1717
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonProperties).call(this);
|
|
1718
|
+
}), "f");
|
|
1719
|
+
}
|
|
1720
|
+
else {
|
|
1721
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_logger, "f").error('The SkyTabsetNavButtonComponent requires a reference to the SkyTabsetComponent it controls.');
|
|
1722
|
+
}
|
|
1723
|
+
}
|
|
1724
|
+
/**
|
|
1725
|
+
* Specifies the type of nav button to include.
|
|
1726
|
+
* @required
|
|
1727
|
+
*/
|
|
1728
|
+
get buttonType() {
|
|
1729
|
+
return __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f");
|
|
1730
|
+
}
|
|
1731
|
+
set buttonType(value) {
|
|
1732
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__buttonType, value, "f");
|
|
1733
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateTabToSelect).call(this);
|
|
1734
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonProperties).call(this);
|
|
1735
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonVisibility).call(this);
|
|
1736
|
+
if (value === buttonTypeFinish) {
|
|
1737
|
+
this.type = 'submit';
|
|
1738
|
+
}
|
|
1739
|
+
else {
|
|
1740
|
+
this.type = 'button';
|
|
1741
|
+
}
|
|
1742
|
+
}
|
|
1743
|
+
/**
|
|
1744
|
+
* Indicates whether to disable the nav button.
|
|
1745
|
+
* Defaults to the disabled state of the next tab for `next`, the existence of a previous tab for `previous`,
|
|
1746
|
+
* and false for `finish`.
|
|
1747
|
+
*/
|
|
1748
|
+
set disabled(value) {
|
|
1749
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__disabled, value, "f");
|
|
1750
|
+
}
|
|
1751
|
+
get disabled() {
|
|
1752
|
+
return __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__disabled, "f");
|
|
1753
|
+
}
|
|
1754
|
+
ngOnDestroy() {
|
|
1755
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f").next();
|
|
1756
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f").complete();
|
|
1757
|
+
}
|
|
1758
|
+
buttonClick() {
|
|
1759
|
+
/* istanbul ignore else */
|
|
1760
|
+
if (this.tabToSelect && !this.tabToSelect.disabled && this.tabset) {
|
|
1761
|
+
this.tabset.active = this.tabToSelect.tabIndex;
|
|
1762
|
+
}
|
|
1763
|
+
}
|
|
1764
|
+
}
|
|
1765
|
+
_SkyTabsetNavButtonComponent__buttonType = new WeakMap(), _SkyTabsetNavButtonComponent__disabled = new WeakMap(), _SkyTabsetNavButtonComponent__tabset = new WeakMap(), _SkyTabsetNavButtonComponent_activeIndexNumber = new WeakMap(), _SkyTabsetNavButtonComponent_activeSkyTabIndex = new WeakMap(), _SkyTabsetNavButtonComponent_currentTabsetSub = new WeakMap(), _SkyTabsetNavButtonComponent_logger = new WeakMap(), _SkyTabsetNavButtonComponent_tabCount = new WeakMap(), _SkyTabsetNavButtonComponent_ngUnsubscribe = new WeakMap(), _SkyTabsetNavButtonComponent_instances = new WeakSet(), _SkyTabsetNavButtonComponent_updateButtonVisibility = function _SkyTabsetNavButtonComponent_updateButtonVisibility() {
|
|
1766
|
+
const isLastStep = !!__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabCount, "f") && __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") === __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabCount, "f") - 1;
|
|
1767
|
+
if (this.buttonType === buttonTypeFinish) {
|
|
1768
|
+
this.isVisible = isLastStep;
|
|
1769
|
+
}
|
|
1770
|
+
else if (this.buttonType === buttonTypeNext) {
|
|
1771
|
+
this.isVisible = !isLastStep;
|
|
1772
|
+
}
|
|
1773
|
+
else {
|
|
1774
|
+
this.isVisible = true;
|
|
1775
|
+
}
|
|
1776
|
+
}, _SkyTabsetNavButtonComponent_updateButtonProperties = function _SkyTabsetNavButtonComponent_updateButtonProperties() {
|
|
1777
|
+
if (this.buttonType === buttonTypeNext ||
|
|
1778
|
+
this.buttonType === buttonTypeFinish) {
|
|
1779
|
+
this.buttonClassName = 'sky-btn-primary';
|
|
1780
|
+
}
|
|
1781
|
+
else {
|
|
1782
|
+
this.buttonClassName = 'sky-btn-default';
|
|
1783
|
+
}
|
|
1784
|
+
this.ariaControls = this.tabToSelect?.tabPanelId;
|
|
1785
|
+
}, _SkyTabsetNavButtonComponent_updateTabToSelect = function _SkyTabsetNavButtonComponent_updateTabToSelect() {
|
|
1786
|
+
if (this.tabset?.tabs) {
|
|
1787
|
+
const tabs = this.tabset.tabs.toArray();
|
|
1788
|
+
this.tabToSelect = undefined;
|
|
1789
|
+
// tab index can be a number or a string, but we need the actual number index
|
|
1790
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, tabs.findIndex((tab) => tab.tabIndex === __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeSkyTabIndex, "f")), "f");
|
|
1791
|
+
/* istanbul ignore else */
|
|
1792
|
+
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") !== undefined) {
|
|
1793
|
+
if (this.buttonType === buttonTypeNext) {
|
|
1794
|
+
this.tabToSelect = tabs[__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") + 1];
|
|
1795
|
+
}
|
|
1796
|
+
else if (this.buttonType === buttonTypePrevious) {
|
|
1797
|
+
this.tabToSelect = tabs[__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") - 1];
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1801
|
+
};
|
|
1802
|
+
SkyTabsetNavButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetNavButtonComponent, deps: [{ token: i1.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1803
|
+
SkyTabsetNavButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTabsetNavButtonComponent, selector: "sky-tabset-nav-button", inputs: { tabset: "tabset", buttonType: "buttonType", buttonText: "buttonText", disabled: "disabled" }, ngImport: i0, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n [attr.aria-controls]=\"ariaControls\"\n [disabled]=\"\n disabled\n | skyTabsetNavButtonDisabled\n : buttonType\n : !!tabToSelect\n : tabToSelect?.disabled\n \"\n [ngClass]=\"buttonClassName\"\n [type]=\"type\"\n (click)=\"buttonType === 'finish' ? null : buttonClick()\"\n>\n {{ buttonText || ('skyux_tabs_navigator_' + buttonType | skyLibResources) }}\n</button>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: SkyTabsetNavButtonDisabledPipe, name: "skyTabsetNavButtonDisabled" }] });
|
|
1804
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetNavButtonComponent, decorators: [{
|
|
1805
|
+
type: Component,
|
|
1806
|
+
args: [{ selector: 'sky-tabset-nav-button', template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n [attr.aria-controls]=\"ariaControls\"\n [disabled]=\"\n disabled\n | skyTabsetNavButtonDisabled\n : buttonType\n : !!tabToSelect\n : tabToSelect?.disabled\n \"\n [ngClass]=\"buttonClassName\"\n [type]=\"type\"\n (click)=\"buttonType === 'finish' ? null : buttonClick()\"\n>\n {{ buttonText || ('skyux_tabs_navigator_' + buttonType | skyLibResources) }}\n</button>\n" }]
|
|
1807
|
+
}], ctorParameters: function () { return [{ type: i1.SkyLogService }]; }, propDecorators: { tabset: [{
|
|
1808
|
+
type: Input
|
|
1809
|
+
}], buttonType: [{
|
|
1810
|
+
type: Input
|
|
1811
|
+
}], buttonText: [{
|
|
1812
|
+
type: Input
|
|
1813
|
+
}], disabled: [{
|
|
1814
|
+
type: Input
|
|
1815
|
+
}] } });
|
|
1816
|
+
|
|
1817
|
+
var _SkyTabsetAdapterService_instances, _SkyTabsetAdapterService_currentOverflow, _SkyTabsetAdapterService_tabsetRef, _SkyTabsetAdapterService_tabsOffsetLeft, _SkyTabsetAdapterService_overflowChange, _SkyTabsetAdapterService_getTabsOffsetLeft;
|
|
1537
1818
|
/**
|
|
1538
1819
|
* @internal
|
|
1539
1820
|
*/
|
|
1540
1821
|
class SkyTabsetAdapterService {
|
|
1541
1822
|
constructor() {
|
|
1542
|
-
|
|
1823
|
+
_SkyTabsetAdapterService_instances.add(this);
|
|
1824
|
+
_SkyTabsetAdapterService_currentOverflow.set(this, false);
|
|
1825
|
+
_SkyTabsetAdapterService_tabsetRef.set(this, void 0);
|
|
1826
|
+
_SkyTabsetAdapterService_tabsOffsetLeft.set(this, void 0);
|
|
1827
|
+
_SkyTabsetAdapterService_overflowChange.set(this, void 0);
|
|
1828
|
+
__classPrivateFieldSet(this, _SkyTabsetAdapterService_overflowChange, new BehaviorSubject(false), "f");
|
|
1543
1829
|
}
|
|
1544
1830
|
get overflowChange() {
|
|
1545
|
-
return this
|
|
1831
|
+
return __classPrivateFieldGet(this, _SkyTabsetAdapterService_overflowChange, "f");
|
|
1832
|
+
}
|
|
1833
|
+
ngOnDestroy() {
|
|
1834
|
+
__classPrivateFieldGet(this, _SkyTabsetAdapterService_overflowChange, "f").complete();
|
|
1546
1835
|
}
|
|
1547
1836
|
registerTabset(tabsetRef) {
|
|
1548
|
-
this
|
|
1549
|
-
this
|
|
1837
|
+
__classPrivateFieldSet(this, _SkyTabsetAdapterService_tabsetRef, tabsetRef, "f");
|
|
1838
|
+
__classPrivateFieldSet(this, _SkyTabsetAdapterService_tabsOffsetLeft, __classPrivateFieldGet(this, _SkyTabsetAdapterService_instances, "m", _SkyTabsetAdapterService_getTabsOffsetLeft).call(this, tabsetRef.nativeElement), "f");
|
|
1550
1839
|
}
|
|
1551
1840
|
/**
|
|
1552
1841
|
* Detects if the tab buttons are wider than the tabset container.
|
|
1553
1842
|
*/
|
|
1554
1843
|
detectOverflow() {
|
|
1555
|
-
const nativeElement = this
|
|
1844
|
+
const nativeElement = __classPrivateFieldGet(this, _SkyTabsetAdapterService_tabsetRef, "f")?.nativeElement;
|
|
1556
1845
|
const tabsetRect = nativeElement
|
|
1557
1846
|
.querySelector('.sky-tabset')
|
|
1558
1847
|
.getBoundingClientRect();
|
|
@@ -1562,40 +1851,37 @@ class SkyTabsetAdapterService {
|
|
|
1562
1851
|
const tabExtraButtonsRect = nativeElement
|
|
1563
1852
|
.querySelector('.sky-tabset-btns')
|
|
1564
1853
|
.getBoundingClientRect();
|
|
1565
|
-
const tabButtonsWidth = tabButtonsRect.width + tabExtraButtonsRect.width + this
|
|
1854
|
+
const tabButtonsWidth = tabButtonsRect.width + tabExtraButtonsRect.width + __classPrivateFieldGet(this, _SkyTabsetAdapterService_tabsOffsetLeft, "f");
|
|
1566
1855
|
const newOverflow = tabButtonsWidth > tabsetRect.width;
|
|
1567
|
-
if (this
|
|
1568
|
-
this
|
|
1569
|
-
this.
|
|
1856
|
+
if (__classPrivateFieldGet(this, _SkyTabsetAdapterService_currentOverflow, "f") !== newOverflow) {
|
|
1857
|
+
__classPrivateFieldSet(this, _SkyTabsetAdapterService_currentOverflow, newOverflow, "f");
|
|
1858
|
+
__classPrivateFieldGet(this, _SkyTabsetAdapterService_overflowChange, "f").next(__classPrivateFieldGet(this, _SkyTabsetAdapterService_currentOverflow, "f"));
|
|
1570
1859
|
}
|
|
1571
1860
|
}
|
|
1572
|
-
/**
|
|
1573
|
-
* Returns the number of pixels to the left of the first tab.
|
|
1574
|
-
*/
|
|
1575
|
-
getTabsOffsetLeft(tabsetEl) {
|
|
1576
|
-
const tabsetRect = tabsetEl.getBoundingClientRect();
|
|
1577
|
-
// The dropdown element is the first "tab" and always exists in the DOM, even when hidden.
|
|
1578
|
-
const firstTabRect = tabsetEl
|
|
1579
|
-
.querySelector('.sky-tabset-dropdown')
|
|
1580
|
-
.getBoundingClientRect();
|
|
1581
|
-
return firstTabRect.left - tabsetRect.left;
|
|
1582
|
-
}
|
|
1583
1861
|
}
|
|
1862
|
+
_SkyTabsetAdapterService_currentOverflow = new WeakMap(), _SkyTabsetAdapterService_tabsetRef = new WeakMap(), _SkyTabsetAdapterService_tabsOffsetLeft = new WeakMap(), _SkyTabsetAdapterService_overflowChange = new WeakMap(), _SkyTabsetAdapterService_instances = new WeakSet(), _SkyTabsetAdapterService_getTabsOffsetLeft = function _SkyTabsetAdapterService_getTabsOffsetLeft(tabsetEl) {
|
|
1863
|
+
const tabsetRect = tabsetEl.getBoundingClientRect();
|
|
1864
|
+
// The dropdown element is the first "tab" and always exists in the DOM, even when hidden.
|
|
1865
|
+
const firstTabRect = tabsetEl
|
|
1866
|
+
.querySelector('.sky-tabset-dropdown')
|
|
1867
|
+
?.getBoundingClientRect();
|
|
1868
|
+
// Safety check
|
|
1869
|
+
/* istanbul ignore next */
|
|
1870
|
+
if (!firstTabRect) {
|
|
1871
|
+
return 0;
|
|
1872
|
+
}
|
|
1873
|
+
return firstTabRect.left - tabsetRect.left;
|
|
1874
|
+
};
|
|
1584
1875
|
SkyTabsetAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1585
1876
|
SkyTabsetAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetAdapterService });
|
|
1586
1877
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetAdapterService, decorators: [{
|
|
1587
1878
|
type: Injectable
|
|
1588
|
-
}] });
|
|
1879
|
+
}], ctorParameters: function () { return []; } });
|
|
1589
1880
|
|
|
1590
|
-
var
|
|
1591
|
-
const DEFAULT_ELEMENT_ROLE = 'tablist';
|
|
1881
|
+
var _SkyTabsetComponent_instances, _SkyTabsetComponent_ngUnsubscribe, _SkyTabsetComponent_tabComponentsChangeUnsubscribe, _SkyTabsetComponent_tabComponentsStateChangeUnsubscribe, _SkyTabsetComponent__active, _SkyTabsetComponent__permalinkId, _SkyTabsetComponent__tabs, _SkyTabsetComponent__tabDisplayMode, _SkyTabsetComponent__tabStyle, _SkyTabsetComponent_changeDetector, _SkyTabsetComponent_elementRef, _SkyTabsetComponent_adapterService, _SkyTabsetComponent_permalinkService, _SkyTabsetComponent_tabsetService, _SkyTabsetComponent_getInitialTabIndex, _SkyTabsetComponent_listenActiveIndexChange, _SkyTabsetComponent_listenTabComponentsStateChange, _SkyTabsetComponent_initTabComponents, _SkyTabsetComponent_resetTabComponents, _SkyTabsetComponent_emitTabIndexChange, _SkyTabsetComponent_unsubscribeTabComponentsStateChange, _SkyTabsetComponent_listenTabButtonsOverflowChange, _SkyTabsetComponent_listenLocationPopStateChange, _SkyTabsetComponent_setActiveTabIndexByPermalinkId, _SkyTabsetComponent_getActiveTabIndexByPermalinkId, _SkyTabsetComponent_getActiveTabComponent, _SkyTabsetComponent_createTabButtons, _SkyTabsetComponent_updateTabButtons, _SkyTabsetComponent_updateTabsetComponent;
|
|
1592
1882
|
class SkyTabsetComponent {
|
|
1593
1883
|
constructor(changeDetector, elementRef, adapterService, permalinkService, tabsetService) {
|
|
1594
|
-
this
|
|
1595
|
-
this.elementRef = elementRef;
|
|
1596
|
-
this.adapterService = adapterService;
|
|
1597
|
-
this.permalinkService = permalinkService;
|
|
1598
|
-
this.tabsetService = tabsetService;
|
|
1884
|
+
_SkyTabsetComponent_instances.add(this);
|
|
1599
1885
|
/**
|
|
1600
1886
|
* Fires when the active tab changes. This event emits the index of the active tab.
|
|
1601
1887
|
*/
|
|
@@ -1617,42 +1903,57 @@ class SkyTabsetComponent {
|
|
|
1617
1903
|
* This event only applies when `tabStyle` is `"tabs"`.
|
|
1618
1904
|
*/
|
|
1619
1905
|
this.tabIndexesChange = new EventEmitter();
|
|
1906
|
+
this.dropdownTriggerButtonText = '';
|
|
1620
1907
|
this.tabButtons = [];
|
|
1621
|
-
this
|
|
1622
|
-
this
|
|
1623
|
-
this
|
|
1624
|
-
|
|
1908
|
+
_SkyTabsetComponent_ngUnsubscribe.set(this, new Subject());
|
|
1909
|
+
_SkyTabsetComponent_tabComponentsChangeUnsubscribe.set(this, new Subject());
|
|
1910
|
+
_SkyTabsetComponent_tabComponentsStateChangeUnsubscribe.set(this, new Subject());
|
|
1911
|
+
_SkyTabsetComponent__active.set(this, void 0);
|
|
1912
|
+
_SkyTabsetComponent__permalinkId.set(this, '');
|
|
1913
|
+
_SkyTabsetComponent__tabs.set(this, void 0);
|
|
1914
|
+
_SkyTabsetComponent__tabDisplayMode.set(this, 'tabs');
|
|
1915
|
+
_SkyTabsetComponent__tabStyle.set(this, 'tabs');
|
|
1916
|
+
_SkyTabsetComponent_changeDetector.set(this, void 0);
|
|
1917
|
+
_SkyTabsetComponent_elementRef.set(this, void 0);
|
|
1918
|
+
_SkyTabsetComponent_adapterService.set(this, void 0);
|
|
1919
|
+
_SkyTabsetComponent_permalinkService.set(this, void 0);
|
|
1920
|
+
_SkyTabsetComponent_tabsetService.set(this, void 0);
|
|
1921
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent_changeDetector, changeDetector, "f");
|
|
1922
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent_elementRef, elementRef, "f");
|
|
1923
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent_adapterService, adapterService, "f");
|
|
1924
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent_permalinkService, permalinkService, "f");
|
|
1925
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent_tabsetService, tabsetService, "f");
|
|
1625
1926
|
}
|
|
1626
1927
|
/**
|
|
1627
1928
|
* Activates a tab by its `tabIndex` property.
|
|
1628
1929
|
*/
|
|
1629
1930
|
set active(value) {
|
|
1630
1931
|
if (value === undefined ||
|
|
1631
|
-
this.
|
|
1932
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").tabIndexesEqual(value, __classPrivateFieldGet(this, _SkyTabsetComponent__active, "f"))) {
|
|
1632
1933
|
return;
|
|
1633
1934
|
}
|
|
1634
|
-
this
|
|
1935
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent__active, value, "f");
|
|
1635
1936
|
if (this.tabs) {
|
|
1636
|
-
this.
|
|
1937
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").setActiveTabIndex(value);
|
|
1637
1938
|
}
|
|
1638
1939
|
else {
|
|
1639
1940
|
// On init, wait for children tabs to render before broadcasting the active tab index.
|
|
1640
1941
|
setTimeout(() => {
|
|
1641
|
-
if (this.
|
|
1942
|
+
if (__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").isValidTabIndex(value)) {
|
|
1642
1943
|
// On init, yield to the permalink ID, if it exists.
|
|
1643
|
-
if (this.
|
|
1644
|
-
this.
|
|
1944
|
+
if (__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_getActiveTabIndexByPermalinkId).call(this) === undefined) {
|
|
1945
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").setActiveTabIndex(value);
|
|
1645
1946
|
}
|
|
1646
1947
|
}
|
|
1647
1948
|
else {
|
|
1648
1949
|
// Activate the first tab if the new tab index is invalid.
|
|
1649
|
-
this
|
|
1950
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent__active, __classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").activateFirstTab(), "f");
|
|
1650
1951
|
}
|
|
1651
1952
|
});
|
|
1652
1953
|
}
|
|
1653
1954
|
}
|
|
1654
1955
|
get active() {
|
|
1655
|
-
return this
|
|
1956
|
+
return __classPrivateFieldGet(this, _SkyTabsetComponent__active, "f");
|
|
1656
1957
|
}
|
|
1657
1958
|
/**
|
|
1658
1959
|
* Distinguishes a tabset's unique state in the URL by generating a query parameter
|
|
@@ -1663,78 +1964,86 @@ class SkyTabsetComponent {
|
|
|
1663
1964
|
*/
|
|
1664
1965
|
set permalinkId(value) {
|
|
1665
1966
|
if (!value) {
|
|
1666
|
-
|
|
1967
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent__permalinkId, '', "f");
|
|
1968
|
+
}
|
|
1969
|
+
else {
|
|
1970
|
+
const sanitized = __classPrivateFieldGet(this, _SkyTabsetComponent_permalinkService, "f").urlify(value);
|
|
1971
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent__permalinkId, `${sanitized}-active-tab`, "f");
|
|
1667
1972
|
}
|
|
1668
|
-
const sanitized = this.permalinkService.urlify(value);
|
|
1669
|
-
this._permalinkId = `${sanitized}-active-tab`;
|
|
1670
1973
|
}
|
|
1671
1974
|
get permalinkId() {
|
|
1672
|
-
return this
|
|
1975
|
+
return __classPrivateFieldGet(this, _SkyTabsetComponent__permalinkId, "f");
|
|
1673
1976
|
}
|
|
1674
1977
|
/**
|
|
1675
1978
|
* Specifies the behavior for a series of tabs.
|
|
1676
1979
|
* @default "tabs"
|
|
1677
1980
|
*/
|
|
1678
1981
|
set tabStyle(value) {
|
|
1679
|
-
this
|
|
1680
|
-
this.elementRole = value === 'tabs' ? DEFAULT_ELEMENT_ROLE : undefined;
|
|
1982
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent__tabStyle, value || 'tabs', "f");
|
|
1681
1983
|
}
|
|
1682
1984
|
get tabStyle() {
|
|
1683
|
-
return this
|
|
1985
|
+
return __classPrivateFieldGet(this, _SkyTabsetComponent__tabStyle, "f");
|
|
1684
1986
|
}
|
|
1685
1987
|
set tabDisplayMode(value) {
|
|
1686
|
-
this
|
|
1687
|
-
this.
|
|
1988
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent__tabDisplayMode, value, "f");
|
|
1989
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_changeDetector, "f").markForCheck();
|
|
1688
1990
|
}
|
|
1689
1991
|
get tabDisplayMode() {
|
|
1690
|
-
return this
|
|
1992
|
+
return __classPrivateFieldGet(this, _SkyTabsetComponent__tabDisplayMode, "f");
|
|
1691
1993
|
}
|
|
1692
|
-
|
|
1693
|
-
|
|
1994
|
+
set tabs(value) {
|
|
1995
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent__tabs, value, "f");
|
|
1996
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabComponentsChangeUnsubscribe, "f").next();
|
|
1997
|
+
value?.changes
|
|
1998
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyTabsetComponent_tabComponentsChangeUnsubscribe, "f")))
|
|
1999
|
+
.subscribe(() => {
|
|
2000
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_resetTabComponents).call(this);
|
|
2001
|
+
});
|
|
1694
2002
|
}
|
|
1695
|
-
|
|
1696
|
-
|
|
2003
|
+
get tabs() {
|
|
2004
|
+
return __classPrivateFieldGet(this, _SkyTabsetComponent__tabs, "f");
|
|
1697
2005
|
}
|
|
1698
2006
|
ngAfterViewInit() {
|
|
1699
|
-
this.
|
|
1700
|
-
this.
|
|
1701
|
-
|
|
1702
|
-
this.
|
|
1703
|
-
this.
|
|
1704
|
-
this.listenLocationPopStateChange();
|
|
2007
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_initTabComponents).call(this);
|
|
2008
|
+
const initialTabIndex = __classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_getInitialTabIndex).call(this);
|
|
2009
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").setActiveTabIndex(initialTabIndex);
|
|
2010
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_listenTabButtonsOverflowChange).call(this);
|
|
2011
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_listenLocationPopStateChange).call(this);
|
|
1705
2012
|
// If the currently active tab is getting unregistered, activate the next one.
|
|
1706
|
-
this.
|
|
1707
|
-
.pipe(takeUntil(this
|
|
2013
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").activeTabUnregistered
|
|
2014
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyTabsetComponent_ngUnsubscribe, "f")))
|
|
1708
2015
|
.subscribe((tab) => {
|
|
1709
2016
|
// Wait for the new tabs to render before activating.
|
|
1710
2017
|
setTimeout(() => {
|
|
1711
|
-
this.
|
|
2018
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").activateNearestTab(tab.arrayIndex);
|
|
1712
2019
|
});
|
|
1713
2020
|
});
|
|
1714
2021
|
// Let the tabset render the initial active index before listening for changes.
|
|
1715
2022
|
setTimeout(() => {
|
|
1716
|
-
this.
|
|
1717
|
-
this.
|
|
1718
|
-
this.
|
|
2023
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_listenTabComponentsStateChange).call(this);
|
|
2024
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_listenActiveIndexChange).call(this);
|
|
2025
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_permalinkService, "f").init();
|
|
1719
2026
|
});
|
|
1720
2027
|
}
|
|
1721
2028
|
ngOnDestroy() {
|
|
1722
|
-
this.
|
|
1723
|
-
this.
|
|
1724
|
-
this.
|
|
2029
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_ngUnsubscribe, "f").next();
|
|
2030
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_ngUnsubscribe, "f").complete();
|
|
2031
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabComponentsChangeUnsubscribe, "f").next();
|
|
2032
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabComponentsChangeUnsubscribe, "f").complete();
|
|
2033
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_unsubscribeTabComponentsStateChange).call(this);
|
|
1725
2034
|
if (this.permalinkId) {
|
|
1726
|
-
this.
|
|
2035
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_permalinkService, "f").clearParam(this.permalinkId);
|
|
1727
2036
|
}
|
|
1728
2037
|
}
|
|
1729
2038
|
onWindowResize() {
|
|
1730
|
-
this.
|
|
2039
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_adapterService, "f").detectOverflow();
|
|
1731
2040
|
}
|
|
1732
2041
|
onTabCloseClick(tabButton) {
|
|
1733
|
-
const tabComponent = this.tabs
|
|
1734
|
-
tabComponent
|
|
2042
|
+
const tabComponent = this.tabs?.find((tab) => __classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").tabIndexesEqual(tab.tabIndex, tabButton.tabIndex));
|
|
2043
|
+
tabComponent?.close.emit();
|
|
1735
2044
|
}
|
|
1736
2045
|
onTabButtonClick(tabButton) {
|
|
1737
|
-
this.
|
|
2046
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").setActiveTabIndex(tabButton.tabIndex);
|
|
1738
2047
|
}
|
|
1739
2048
|
onNewTabClick() {
|
|
1740
2049
|
this.newTab.emit();
|
|
@@ -1743,225 +2052,200 @@ class SkyTabsetComponent {
|
|
|
1743
2052
|
this.openTab.emit();
|
|
1744
2053
|
}
|
|
1745
2054
|
onRightKeyDown() {
|
|
1746
|
-
this.
|
|
2055
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").focusNextTabBtn(this.tabButtons);
|
|
1747
2056
|
}
|
|
1748
2057
|
onLeftKeyDown() {
|
|
1749
|
-
this.
|
|
2058
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").focusPrevTabBtn(this.tabButtons);
|
|
1750
2059
|
}
|
|
1751
2060
|
onHomeKeyDown() {
|
|
1752
|
-
this.
|
|
2061
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").focusFirstOrNearestTabBtn(this.tabButtons);
|
|
1753
2062
|
}
|
|
1754
2063
|
onEndKeyDown() {
|
|
1755
|
-
this.
|
|
2064
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").focusLastOrNearestTabBtn(this.tabButtons);
|
|
1756
2065
|
}
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
*/
|
|
1763
|
-
getInitialTabIndex() {
|
|
1764
|
-
let activeIndex = this.getActiveTabIndexByPermalinkId();
|
|
2066
|
+
}
|
|
2067
|
+
_SkyTabsetComponent_ngUnsubscribe = new WeakMap(), _SkyTabsetComponent_tabComponentsChangeUnsubscribe = new WeakMap(), _SkyTabsetComponent_tabComponentsStateChangeUnsubscribe = new WeakMap(), _SkyTabsetComponent__active = new WeakMap(), _SkyTabsetComponent__permalinkId = new WeakMap(), _SkyTabsetComponent__tabs = new WeakMap(), _SkyTabsetComponent__tabDisplayMode = new WeakMap(), _SkyTabsetComponent__tabStyle = new WeakMap(), _SkyTabsetComponent_changeDetector = new WeakMap(), _SkyTabsetComponent_elementRef = new WeakMap(), _SkyTabsetComponent_adapterService = new WeakMap(), _SkyTabsetComponent_permalinkService = new WeakMap(), _SkyTabsetComponent_tabsetService = new WeakMap(), _SkyTabsetComponent_instances = new WeakSet(), _SkyTabsetComponent_getInitialTabIndex = function _SkyTabsetComponent_getInitialTabIndex() {
|
|
2068
|
+
let activeIndex = __classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_getActiveTabIndexByPermalinkId).call(this);
|
|
2069
|
+
if (activeIndex === undefined) {
|
|
2070
|
+
activeIndex = __classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_getActiveTabComponent).call(this)?.tabIndex;
|
|
1765
2071
|
if (activeIndex === undefined) {
|
|
1766
|
-
activeIndex = this.
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
this.
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
});
|
|
1779
|
-
}
|
|
1780
|
-
listenTabComponentsStructuralChange() {
|
|
1781
|
-
this.tabs.changes.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {
|
|
1782
|
-
this.resetTabComponents();
|
|
1783
|
-
});
|
|
1784
|
-
}
|
|
1785
|
-
listenTabComponentsStateChange() {
|
|
2072
|
+
activeIndex = this.active;
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
return activeIndex;
|
|
2076
|
+
}, _SkyTabsetComponent_listenActiveIndexChange = function _SkyTabsetComponent_listenActiveIndexChange() {
|
|
2077
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").activeTabIndex
|
|
2078
|
+
.pipe(distinctUntilChanged(), takeUntil(__classPrivateFieldGet(this, _SkyTabsetComponent_ngUnsubscribe, "f")))
|
|
2079
|
+
.subscribe((activeIndex) => {
|
|
2080
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_updateTabsetComponent).call(this, activeIndex);
|
|
2081
|
+
});
|
|
2082
|
+
}, _SkyTabsetComponent_listenTabComponentsStateChange = function _SkyTabsetComponent_listenTabComponentsStateChange() {
|
|
2083
|
+
if (this.tabs) {
|
|
1786
2084
|
combineLatest(this.tabs.map((tab) => tab.activeChange))
|
|
1787
|
-
.pipe(takeUntil(race(this
|
|
2085
|
+
.pipe(takeUntil(race(__classPrivateFieldGet(this, _SkyTabsetComponent_tabComponentsStateChangeUnsubscribe, "f"), __classPrivateFieldGet(this, _SkyTabsetComponent_ngUnsubscribe, "f"))))
|
|
1788
2086
|
.subscribe(() => {
|
|
1789
2087
|
// Wait for the tab components to render changes before finding the active one.
|
|
1790
2088
|
setTimeout(() => {
|
|
1791
|
-
const tabIndex = this.
|
|
1792
|
-
this.
|
|
2089
|
+
const tabIndex = __classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_getActiveTabComponent).call(this)?.tabIndex;
|
|
2090
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").setActiveTabIndex(tabIndex);
|
|
1793
2091
|
});
|
|
1794
2092
|
});
|
|
1795
2093
|
combineLatest(this.tabs.map((tab) => tab.tabIndexChange))
|
|
1796
|
-
.pipe(takeUntil(race(this
|
|
2094
|
+
.pipe(takeUntil(race(__classPrivateFieldGet(this, _SkyTabsetComponent_tabComponentsStateChangeUnsubscribe, "f"), __classPrivateFieldGet(this, _SkyTabsetComponent_ngUnsubscribe, "f"))))
|
|
1797
2095
|
.subscribe(() => {
|
|
1798
2096
|
// Don't emit the first change.
|
|
1799
2097
|
if (this.lastActiveTabIndex !== undefined) {
|
|
1800
2098
|
// Wait for the tab components to render changes before updating the view.
|
|
1801
2099
|
setTimeout(() => {
|
|
1802
|
-
this.
|
|
1803
|
-
this.
|
|
2100
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_updateTabsetComponent).call(this, __classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").currentActiveTabIndex, true);
|
|
2101
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_emitTabIndexChange).call(this);
|
|
1804
2102
|
});
|
|
1805
2103
|
}
|
|
1806
2104
|
});
|
|
1807
2105
|
combineLatest(this.tabs.map((tab) => tab.stateChange))
|
|
1808
|
-
.pipe(takeUntil(race(this
|
|
2106
|
+
.pipe(takeUntil(race(__classPrivateFieldGet(this, _SkyTabsetComponent_tabComponentsStateChangeUnsubscribe, "f"), __classPrivateFieldGet(this, _SkyTabsetComponent_ngUnsubscribe, "f"))))
|
|
1809
2107
|
.subscribe(() => {
|
|
1810
2108
|
// Wait for the tab components to render changes before finding the active one.
|
|
1811
2109
|
setTimeout(() => {
|
|
1812
|
-
this.
|
|
2110
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_updateTabsetComponent).call(this, __classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").currentActiveTabIndex, true);
|
|
1813
2111
|
});
|
|
1814
2112
|
});
|
|
1815
2113
|
}
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
return;
|
|
1826
|
-
}
|
|
1827
|
-
this.initTabComponents();
|
|
1828
|
-
const activeIndex = this.getActiveTabComponent()?.tabIndex;
|
|
1829
|
-
this.tabsetService.setActiveTabIndex(activeIndex, {
|
|
1830
|
-
emitChange: false,
|
|
1831
|
-
});
|
|
1832
|
-
this.listenTabComponentsStateChange();
|
|
1833
|
-
}
|
|
1834
|
-
emitTabIndexChange() {
|
|
1835
|
-
this.tabIndexesChange.emit({
|
|
1836
|
-
tabs: this.tabs.map((tab) => ({
|
|
1837
|
-
tabHeading: tab.tabHeading,
|
|
1838
|
-
tabIndex: tab.tabIndex,
|
|
1839
|
-
})),
|
|
1840
|
-
});
|
|
1841
|
-
}
|
|
1842
|
-
unsubscribeTabComponentsStateChange() {
|
|
1843
|
-
this.tabComponentsStateChangeUnsubscribe.next();
|
|
1844
|
-
this.tabComponentsStateChangeUnsubscribe.complete();
|
|
1845
|
-
this.tabComponentsStateChangeUnsubscribe = new Subject();
|
|
1846
|
-
}
|
|
1847
|
-
listenTabButtonsOverflowChange() {
|
|
1848
|
-
this.adapterService.registerTabset(this.elementRef);
|
|
1849
|
-
this.adapterService.overflowChange
|
|
1850
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
1851
|
-
.subscribe((isOverflowing) => {
|
|
1852
|
-
this.tabDisplayMode = isOverflowing ? 'dropdown' : 'tabs';
|
|
1853
|
-
this.changeDetector.markForCheck();
|
|
1854
|
-
});
|
|
1855
|
-
}
|
|
1856
|
-
/**
|
|
1857
|
-
* Listen for back/forward history button presses to detect query param changes in the URL.
|
|
1858
|
-
*/
|
|
1859
|
-
listenLocationPopStateChange() {
|
|
1860
|
-
this.permalinkService.popStateChange
|
|
1861
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
1862
|
-
.subscribe(() => {
|
|
1863
|
-
this.setActiveTabIndexByPermalinkId();
|
|
1864
|
-
});
|
|
1865
|
-
}
|
|
1866
|
-
setActiveTabIndexByPermalinkId() {
|
|
1867
|
-
const activeIndex = this.getActiveTabIndexByPermalinkId();
|
|
1868
|
-
this.tabsetService.setActiveTabIndex(activeIndex);
|
|
1869
|
-
}
|
|
1870
|
-
getActiveTabIndexByPermalinkId() {
|
|
1871
|
-
if (this.permalinkId) {
|
|
1872
|
-
const paramValue = this.permalinkService.getParam(this.permalinkId);
|
|
1873
|
-
if (paramValue) {
|
|
1874
|
-
return this.tabs.find((tab) => tab.permalinkValue === paramValue)
|
|
1875
|
-
?.tabIndex;
|
|
1876
|
-
}
|
|
1877
|
-
}
|
|
2114
|
+
}, _SkyTabsetComponent_initTabComponents = function _SkyTabsetComponent_initTabComponents() {
|
|
2115
|
+
this.tabs?.forEach((tab) => tab.init());
|
|
2116
|
+
}, _SkyTabsetComponent_resetTabComponents = function _SkyTabsetComponent_resetTabComponents() {
|
|
2117
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_unsubscribeTabComponentsStateChange).call(this);
|
|
2118
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").unregisterAll();
|
|
2119
|
+
// If there are no tab components, do a hard reset of the view.
|
|
2120
|
+
if (this.tabs?.length === 0) {
|
|
2121
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_updateTabsetComponent).call(this, 0, true);
|
|
2122
|
+
return;
|
|
1878
2123
|
}
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
ariaControls: tab.tabPanelId,
|
|
1890
|
-
disabled: tab.disabled,
|
|
1891
|
-
buttonHref: tab.disabled
|
|
1892
|
-
? null
|
|
1893
|
-
: this.permalinkService.getParamHref(this.permalinkId, tab.permalinkValue),
|
|
1894
|
-
buttonId: tab.tabButtonId,
|
|
1895
|
-
buttonTextCount: tab.tabHeaderCount,
|
|
1896
|
-
buttonText: tab.tabHeading,
|
|
2124
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_initTabComponents).call(this);
|
|
2125
|
+
const activeIndex = __classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_getActiveTabComponent).call(this)?.tabIndex;
|
|
2126
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").setActiveTabIndex(activeIndex, {
|
|
2127
|
+
emitChange: false,
|
|
2128
|
+
});
|
|
2129
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_listenTabComponentsStateChange).call(this);
|
|
2130
|
+
}, _SkyTabsetComponent_emitTabIndexChange = function _SkyTabsetComponent_emitTabIndexChange() {
|
|
2131
|
+
this.tabIndexesChange.emit({
|
|
2132
|
+
tabs: this.tabs?.map((tab) => ({
|
|
2133
|
+
tabHeading: tab.tabHeading,
|
|
1897
2134
|
tabIndex: tab.tabIndex,
|
|
1898
|
-
}))
|
|
2135
|
+
})),
|
|
2136
|
+
});
|
|
2137
|
+
}, _SkyTabsetComponent_unsubscribeTabComponentsStateChange = function _SkyTabsetComponent_unsubscribeTabComponentsStateChange() {
|
|
2138
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabComponentsStateChangeUnsubscribe, "f").next();
|
|
2139
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabComponentsStateChangeUnsubscribe, "f").complete();
|
|
2140
|
+
__classPrivateFieldSet(this, _SkyTabsetComponent_tabComponentsStateChangeUnsubscribe, new Subject(), "f");
|
|
2141
|
+
}, _SkyTabsetComponent_listenTabButtonsOverflowChange = function _SkyTabsetComponent_listenTabButtonsOverflowChange() {
|
|
2142
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_adapterService, "f").registerTabset(__classPrivateFieldGet(this, _SkyTabsetComponent_elementRef, "f"));
|
|
2143
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_adapterService, "f").overflowChange
|
|
2144
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyTabsetComponent_ngUnsubscribe, "f")))
|
|
2145
|
+
.subscribe((isOverflowing) => {
|
|
2146
|
+
this.tabDisplayMode = isOverflowing ? 'dropdown' : 'tabs';
|
|
2147
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_changeDetector, "f").markForCheck();
|
|
2148
|
+
});
|
|
2149
|
+
}, _SkyTabsetComponent_listenLocationPopStateChange = function _SkyTabsetComponent_listenLocationPopStateChange() {
|
|
2150
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_permalinkService, "f").popStateChange
|
|
2151
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyTabsetComponent_ngUnsubscribe, "f")))
|
|
2152
|
+
.subscribe(() => {
|
|
2153
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_setActiveTabIndexByPermalinkId).call(this);
|
|
2154
|
+
});
|
|
2155
|
+
}, _SkyTabsetComponent_setActiveTabIndexByPermalinkId = function _SkyTabsetComponent_setActiveTabIndexByPermalinkId() {
|
|
2156
|
+
const activeIndex = __classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_getActiveTabIndexByPermalinkId).call(this);
|
|
2157
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").setActiveTabIndex(activeIndex);
|
|
2158
|
+
}, _SkyTabsetComponent_getActiveTabIndexByPermalinkId = function _SkyTabsetComponent_getActiveTabIndexByPermalinkId() {
|
|
2159
|
+
if (this.permalinkId) {
|
|
2160
|
+
const paramValue = __classPrivateFieldGet(this, _SkyTabsetComponent_permalinkService, "f").getParam(this.permalinkId);
|
|
2161
|
+
if (paramValue) {
|
|
2162
|
+
return this.tabs?.find((tab) => tab.permalinkValueOrDefault === paramValue)?.tabIndex;
|
|
2163
|
+
}
|
|
2164
|
+
return undefined;
|
|
2165
|
+
}
|
|
2166
|
+
return undefined;
|
|
2167
|
+
}, _SkyTabsetComponent_getActiveTabComponent = function _SkyTabsetComponent_getActiveTabComponent() {
|
|
2168
|
+
return this.tabs
|
|
2169
|
+
?.toArray()
|
|
2170
|
+
.reverse()
|
|
2171
|
+
.find((tab) => tab.active === true);
|
|
2172
|
+
}, _SkyTabsetComponent_createTabButtons = function _SkyTabsetComponent_createTabButtons(activeIndex) {
|
|
2173
|
+
// Safety check
|
|
2174
|
+
/* istanbul ignore next */
|
|
2175
|
+
if (!this.tabs) {
|
|
2176
|
+
return [];
|
|
2177
|
+
}
|
|
2178
|
+
return this.tabs.map((tab, index) => ({
|
|
2179
|
+
active: __classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").tabIndexesEqual(tab.tabIndex, activeIndex),
|
|
2180
|
+
closeable: tab.isCloseable(),
|
|
2181
|
+
ariaControls: tab.tabPanelId,
|
|
2182
|
+
disabled: tab.disabled,
|
|
2183
|
+
buttonHref: tab.disabled
|
|
2184
|
+
? null
|
|
2185
|
+
: __classPrivateFieldGet(this, _SkyTabsetComponent_permalinkService, "f").getParamHref(this.permalinkId, tab.permalinkValueOrDefault),
|
|
2186
|
+
buttonId: tab.tabButtonId,
|
|
2187
|
+
buttonTextCount: tab.tabHeaderCount,
|
|
2188
|
+
buttonText: tab.tabHeading,
|
|
2189
|
+
tabIndex: tab.tabIndex,
|
|
2190
|
+
tabNumber: index + 1,
|
|
2191
|
+
totalTabsCount: this.tabs.length,
|
|
2192
|
+
}));
|
|
2193
|
+
}, _SkyTabsetComponent_updateTabButtons = function _SkyTabsetComponent_updateTabButtons(activeIndex) {
|
|
2194
|
+
this.tabButtons.forEach((button) => {
|
|
2195
|
+
button.active = __classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").tabIndexesEqual(button.tabIndex, activeIndex);
|
|
2196
|
+
});
|
|
2197
|
+
}, _SkyTabsetComponent_updateTabsetComponent = function _SkyTabsetComponent_updateTabsetComponent(activeIndex, regenerateTabButtons = false) {
|
|
2198
|
+
// Activate/deactivate tab components.
|
|
2199
|
+
this.tabs?.forEach((tab) => {
|
|
2200
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").tabIndexesEqual(tab.tabIndex, activeIndex)
|
|
2201
|
+
? tab.activate()
|
|
2202
|
+
: tab.deactivate();
|
|
2203
|
+
});
|
|
2204
|
+
// Update the tab button models.
|
|
2205
|
+
if (regenerateTabButtons || !this.tabButtons.length) {
|
|
2206
|
+
this.tabButtons = __classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_createTabButtons).call(this, activeIndex);
|
|
1899
2207
|
}
|
|
1900
|
-
|
|
1901
|
-
this.
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
* buttons must reflect those changes.
|
|
1913
|
-
*/
|
|
1914
|
-
updateTabsetComponent(activeIndex, regenerateTabButtons = false) {
|
|
1915
|
-
// Activate/deactivate tab components.
|
|
1916
|
-
this.tabs.forEach((tab) => {
|
|
1917
|
-
this.tabsetService.tabIndexesEqual(tab.tabIndex, activeIndex)
|
|
1918
|
-
? tab.activate()
|
|
1919
|
-
: tab.deactivate();
|
|
1920
|
-
});
|
|
1921
|
-
// Update the tab button models.
|
|
1922
|
-
if (regenerateTabButtons || !this.tabButtons.length) {
|
|
1923
|
-
this.tabButtons = this.createTabButtons(activeIndex);
|
|
1924
|
-
}
|
|
1925
|
-
else {
|
|
1926
|
-
this.updateTabButtons(activeIndex);
|
|
1927
|
-
}
|
|
1928
|
-
// Update the dropdown trigger button text.
|
|
1929
|
-
this.dropdownTriggerButtonText = this.tabButtons.find((b) => {
|
|
1930
|
-
return this.tabsetService.tabIndexesEqual(b.tabIndex, activeIndex);
|
|
1931
|
-
})?.buttonText;
|
|
1932
|
-
// Set the query params based on active tab.
|
|
1933
|
-
if (this.permalinkId) {
|
|
1934
|
-
const activeTabComponent = this.tabs.find((tab) => {
|
|
1935
|
-
return this.tabsetService.tabIndexesEqual(tab.tabIndex, activeIndex);
|
|
1936
|
-
});
|
|
1937
|
-
this.permalinkService.setParam(this.permalinkId, activeTabComponent.permalinkValue);
|
|
1938
|
-
}
|
|
1939
|
-
// Wait for tab button view models to render before gauging dimensions.
|
|
1940
|
-
setTimeout(() => {
|
|
1941
|
-
this.adapterService.detectOverflow();
|
|
2208
|
+
else {
|
|
2209
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_instances, "m", _SkyTabsetComponent_updateTabButtons).call(this, activeIndex);
|
|
2210
|
+
}
|
|
2211
|
+
// Update the dropdown trigger button text.
|
|
2212
|
+
this.dropdownTriggerButtonText =
|
|
2213
|
+
this.tabButtons.find((b) => {
|
|
2214
|
+
return __classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").tabIndexesEqual(b.tabIndex, activeIndex);
|
|
2215
|
+
})?.buttonText ?? '';
|
|
2216
|
+
// Set the query params based on active tab.
|
|
2217
|
+
if (this.permalinkId) {
|
|
2218
|
+
const activeTabComponent = this.tabs?.find((tab) => {
|
|
2219
|
+
return __classPrivateFieldGet(this, _SkyTabsetComponent_tabsetService, "f").tabIndexesEqual(tab.tabIndex, activeIndex);
|
|
1942
2220
|
});
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
if (this.lastActiveTabIndex !== activeIndex) {
|
|
1946
|
-
this.lastActiveTabIndex = activeIndex;
|
|
1947
|
-
this.activeChange.emit(activeIndex);
|
|
2221
|
+
if (activeTabComponent) {
|
|
2222
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_permalinkService, "f").setParam(this.permalinkId, activeTabComponent.permalinkValueOrDefault);
|
|
1948
2223
|
}
|
|
1949
2224
|
}
|
|
1950
|
-
|
|
1951
|
-
|
|
2225
|
+
// Wait for tab button view models to render before gauging dimensions.
|
|
2226
|
+
setTimeout(() => {
|
|
2227
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_adapterService, "f").detectOverflow();
|
|
2228
|
+
});
|
|
2229
|
+
__classPrivateFieldGet(this, _SkyTabsetComponent_changeDetector, "f").markForCheck();
|
|
2230
|
+
// Emit the new active index value to consumers.
|
|
2231
|
+
if (this.lastActiveTabIndex !== activeIndex) {
|
|
2232
|
+
this.lastActiveTabIndex = activeIndex;
|
|
2233
|
+
this.activeChange.emit(activeIndex);
|
|
2234
|
+
}
|
|
2235
|
+
};
|
|
1952
2236
|
SkyTabsetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: SkyTabsetAdapterService }, { token: SkyTabsetPermalinkService }, { token: SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1953
2237
|
SkyTabsetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTabsetComponent, selector: "sky-tabset", inputs: { active: "active", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", permalinkId: "permalinkId", tabStyle: "tabStyle" }, outputs: { activeChange: "activeChange", newTab: "newTab", openTab: "openTab", tabIndexesChange: "tabIndexesChange" }, providers: [
|
|
1954
2238
|
SkyTabsetAdapterService,
|
|
1955
2239
|
SkyTabsetPermalinkService,
|
|
1956
2240
|
SkyTabsetService,
|
|
1957
|
-
], queries: [{ propertyName: "tabs", predicate: SkyTabComponent }], ngImport: i0, template: "<div\n class=\"sky-tabset\"\n
|
|
2241
|
+
], queries: [{ propertyName: "tabs", predicate: SkyTabComponent }], ngImport: i0, template: "<div\n class=\"sky-tabset\"\n role=\"tablist\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [ngClass]=\"\n 'sky-tabset-mode-' + tabDisplayMode + ' sky-tabset-style-' + tabStyle\n \"\n (window:resize)=\"onWindowResize()\"\n (keydown.arrowright)=\"onRightKeyDown()\"\n (keydown.arrowleft)=\"onLeftKeyDown()\"\n (keydown.home)=\"onHomeKeyDown()\"\n (keydown.end)=\"onEndKeyDown()\"\n>\n <span class=\"sky-tabset-dropdown\">\n <sky-dropdown *ngIf=\"tabDisplayMode === 'dropdown'\" buttonType=\"tab\">\n <sky-dropdown-button>\n {{ dropdownTriggerButtonText }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item\n *ngFor=\"let tabButton of tabButtons\"\n class=\"sky-tab-dropdown-menu-item\"\n >\n <div\n class=\"sky-tab-dropdown-item\"\n [ngClass]=\"{\n 'sky-tab-dropdown-item-selected': tabButton.active\n }\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tabButtonTemplate;\n context: {\n $implicit: tabButton\n }\n \"\n ></ng-container>\n </div>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </span>\n <span class=\"sky-tabset-tabs\">\n <ng-container *ngFor=\"let tabButton of tabButtons\">\n <ng-container\n *ngTemplateOutlet=\"\n tabButtonTemplate;\n context: {\n $implicit: tabButton\n }\n \"\n ></ng-container>\n </ng-container>\n </span>\n <span class=\"sky-tabset-btns\">\n <button\n *ngIf=\"newTab.observers.length > 0\"\n class=\"sky-btn sky-btn-icon sky-tabset-btn-new sky-margin-inline-compact\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_tab_add' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onNewTabClick()\"\n >\n <sky-icon icon=\"plus-circle\" size=\"lg\"> </sky-icon>\n </button>\n <button\n *ngIf=\"openTab.observers.length > 0\"\n class=\"sky-btn sky-btn-icon sky-tabset-btn-open sky-margin-inline-compact\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_tab_open' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onOpenTabClick()\"\n >\n <sky-icon icon=\"folder-open-o\" size=\"lg\"> </sky-icon>\n </button>\n </span>\n</div>\n<ng-content></ng-content>\n\n<ng-template let-tabButton #tabButtonTemplate>\n <sky-tab-button\n [active]=\"tabButton.active\"\n [ariaControls]=\"tabButton.ariaControls\"\n [buttonHref]=\"tabButton.buttonHref\"\n [buttonId]=\"tabButton.buttonId\"\n [buttonText]=\"tabButton.buttonText\"\n [buttonTextCount]=\"tabButton.buttonTextCount\"\n [closeable]=\"tabButton.closeable\"\n [disabled]=\"tabButton.disabled\"\n [tabIndex]=\"tabButton.tabIndex\"\n [tabStyle]=\"tabStyle\"\n [tabNumber]=\"tabButton.tabNumber\"\n [totalTabsCount]=\"tabButton.totalTabsCount\"\n (buttonClick)=\"onTabButtonClick(tabButton)\"\n (closeClick)=\"onTabCloseClick(tabButton)\"\n ></sky-tab-button>\n</ng-template>\n", styles: [".sky-tabset{align-items:center;border-bottom:2px solid #0974a1;display:flex;list-style-type:none;margin:0;overflow:hidden;padding:0 0 0 15px;white-space:nowrap}.sky-tabset.sky-tabset-style-wizard{border-bottom:none;margin-bottom:10px;padding-left:0}.sky-tabset-btns{order:1;padding-left:10px}.sky-tabset-dropdown{order:0;max-width:100%}.sky-tabset-mode-dropdown{line-height:0}.sky-tabset-mode-dropdown .sky-tabset-tabs{visibility:hidden;order:2}.sky-tab-dropdown-menu-item sky-tab-button{display:flex;min-width:300px}.sky-tab-dropdown-menu-item .sky-dropdown-item{margin:0}.sky-tab-dropdown-menu-item .sky-btn-tab-wrapper{width:100%;margin-right:0}.sky-tab-dropdown-menu-item .sky-btn-tab{margin:0;border-radius:0;width:100%;display:flex}.sky-tab-dropdown-menu-item .sky-btn-tab>.sky-tab-heading{flex:1 1 auto}.sky-tab-dropdown-menu-item .sky-btn-tab>.sky-btn-tab-close{flex:0 1 auto}.sky-tabset-tabs{order:0;white-space:nowrap}.sky-tabset-btn-new,.sky-tabset-btn-open{color:#0974a1}.sky-theme-modern .sky-modal-content .sky-tabset{margin:-10px -30px 30px;padding-left:30px;padding-right:30px}.sky-theme-modern .sky-tabset{border-bottom:1px solid #d2d2d2;overflow:visible}.sky-theme-modern .sky-tab-dropdown-menu-item .sky-btn-tab-wrapper{margin-right:0}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5$1.λ2, selector: "sky-dropdown-button" }, { kind: "component", type: i5$1.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "dismissOnBlur", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { kind: "component", type: i5$1.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }, { kind: "component", type: i5$1.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "component", type: SkyTabButtonComponent, selector: "sky-tab-button", inputs: ["active", "ariaControls", "buttonHref", "buttonId", "buttonText", "buttonTextCount", "closeable", "disabled", "tabIndex", "tabNumber", "totalTabsCount", "tabStyle"], outputs: ["buttonClick", "closeClick"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1958
2242
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetComponent, decorators: [{
|
|
1959
2243
|
type: Component,
|
|
1960
2244
|
args: [{ selector: 'sky-tabset', providers: [
|
|
1961
2245
|
SkyTabsetAdapterService,
|
|
1962
2246
|
SkyTabsetPermalinkService,
|
|
1963
2247
|
SkyTabsetService,
|
|
1964
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-tabset\"\n
|
|
2248
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-tabset\"\n role=\"tablist\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [ngClass]=\"\n 'sky-tabset-mode-' + tabDisplayMode + ' sky-tabset-style-' + tabStyle\n \"\n (window:resize)=\"onWindowResize()\"\n (keydown.arrowright)=\"onRightKeyDown()\"\n (keydown.arrowleft)=\"onLeftKeyDown()\"\n (keydown.home)=\"onHomeKeyDown()\"\n (keydown.end)=\"onEndKeyDown()\"\n>\n <span class=\"sky-tabset-dropdown\">\n <sky-dropdown *ngIf=\"tabDisplayMode === 'dropdown'\" buttonType=\"tab\">\n <sky-dropdown-button>\n {{ dropdownTriggerButtonText }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item\n *ngFor=\"let tabButton of tabButtons\"\n class=\"sky-tab-dropdown-menu-item\"\n >\n <div\n class=\"sky-tab-dropdown-item\"\n [ngClass]=\"{\n 'sky-tab-dropdown-item-selected': tabButton.active\n }\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tabButtonTemplate;\n context: {\n $implicit: tabButton\n }\n \"\n ></ng-container>\n </div>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </span>\n <span class=\"sky-tabset-tabs\">\n <ng-container *ngFor=\"let tabButton of tabButtons\">\n <ng-container\n *ngTemplateOutlet=\"\n tabButtonTemplate;\n context: {\n $implicit: tabButton\n }\n \"\n ></ng-container>\n </ng-container>\n </span>\n <span class=\"sky-tabset-btns\">\n <button\n *ngIf=\"newTab.observers.length > 0\"\n class=\"sky-btn sky-btn-icon sky-tabset-btn-new sky-margin-inline-compact\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_tab_add' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onNewTabClick()\"\n >\n <sky-icon icon=\"plus-circle\" size=\"lg\"> </sky-icon>\n </button>\n <button\n *ngIf=\"openTab.observers.length > 0\"\n class=\"sky-btn sky-btn-icon sky-tabset-btn-open sky-margin-inline-compact\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_tab_open' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onOpenTabClick()\"\n >\n <sky-icon icon=\"folder-open-o\" size=\"lg\"> </sky-icon>\n </button>\n </span>\n</div>\n<ng-content></ng-content>\n\n<ng-template let-tabButton #tabButtonTemplate>\n <sky-tab-button\n [active]=\"tabButton.active\"\n [ariaControls]=\"tabButton.ariaControls\"\n [buttonHref]=\"tabButton.buttonHref\"\n [buttonId]=\"tabButton.buttonId\"\n [buttonText]=\"tabButton.buttonText\"\n [buttonTextCount]=\"tabButton.buttonTextCount\"\n [closeable]=\"tabButton.closeable\"\n [disabled]=\"tabButton.disabled\"\n [tabIndex]=\"tabButton.tabIndex\"\n [tabStyle]=\"tabStyle\"\n [tabNumber]=\"tabButton.tabNumber\"\n [totalTabsCount]=\"tabButton.totalTabsCount\"\n (buttonClick)=\"onTabButtonClick(tabButton)\"\n (closeClick)=\"onTabCloseClick(tabButton)\"\n ></sky-tab-button>\n</ng-template>\n", styles: [".sky-tabset{align-items:center;border-bottom:2px solid #0974a1;display:flex;list-style-type:none;margin:0;overflow:hidden;padding:0 0 0 15px;white-space:nowrap}.sky-tabset.sky-tabset-style-wizard{border-bottom:none;margin-bottom:10px;padding-left:0}.sky-tabset-btns{order:1;padding-left:10px}.sky-tabset-dropdown{order:0;max-width:100%}.sky-tabset-mode-dropdown{line-height:0}.sky-tabset-mode-dropdown .sky-tabset-tabs{visibility:hidden;order:2}.sky-tab-dropdown-menu-item sky-tab-button{display:flex;min-width:300px}.sky-tab-dropdown-menu-item .sky-dropdown-item{margin:0}.sky-tab-dropdown-menu-item .sky-btn-tab-wrapper{width:100%;margin-right:0}.sky-tab-dropdown-menu-item .sky-btn-tab{margin:0;border-radius:0;width:100%;display:flex}.sky-tab-dropdown-menu-item .sky-btn-tab>.sky-tab-heading{flex:1 1 auto}.sky-tab-dropdown-menu-item .sky-btn-tab>.sky-btn-tab-close{flex:0 1 auto}.sky-tabset-tabs{order:0;white-space:nowrap}.sky-tabset-btn-new,.sky-tabset-btn-open{color:#0974a1}.sky-theme-modern .sky-modal-content .sky-tabset{margin:-10px -30px 30px;padding-left:30px;padding-right:30px}.sky-theme-modern .sky-tabset{border-bottom:1px solid #d2d2d2;overflow:visible}.sky-theme-modern .sky-tab-dropdown-menu-item .sky-btn-tab-wrapper{margin-right:0}\n"] }]
|
|
1965
2249
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: SkyTabsetAdapterService }, { type: SkyTabsetPermalinkService }, { type: SkyTabsetService }]; }, propDecorators: { active: [{
|
|
1966
2250
|
type: Input
|
|
1967
2251
|
}], ariaLabel: [{
|
|
@@ -1985,163 +2269,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
1985
2269
|
args: [SkyTabComponent]
|
|
1986
2270
|
}] } });
|
|
1987
2271
|
|
|
1988
|
-
var _SkyTabsetNavButtonComponent_instances, _SkyTabsetNavButtonComponent__buttonType, _SkyTabsetNavButtonComponent__disabled, _SkyTabsetNavButtonComponent__tabset, _SkyTabsetNavButtonComponent_activeIndexNumber, _SkyTabsetNavButtonComponent_activeSkyTabIndex, _SkyTabsetNavButtonComponent_currentTabsetSub, _SkyTabsetNavButtonComponent_logger, _SkyTabsetNavButtonComponent_tabCount, _SkyTabsetNavButtonComponent_tabToSelect, _SkyTabsetNavButtonComponent_ngUnsubscribe, _SkyTabsetNavButtonComponent_updateButtonVisibility, _SkyTabsetNavButtonComponent_updateButtonProperties, _SkyTabsetNavButtonComponent_updateTabToSelect;
|
|
1989
|
-
const buttonTypeNext = 'next';
|
|
1990
|
-
const buttonTypePrevious = 'previous';
|
|
1991
|
-
const buttonTypeFinish = 'finish';
|
|
1992
|
-
class SkyTabsetNavButtonComponent {
|
|
1993
|
-
constructor(logger) {
|
|
1994
|
-
_SkyTabsetNavButtonComponent_instances.add(this);
|
|
1995
|
-
this.isVisible = false;
|
|
1996
|
-
_SkyTabsetNavButtonComponent__buttonType.set(this, void 0);
|
|
1997
|
-
_SkyTabsetNavButtonComponent__disabled.set(this, void 0);
|
|
1998
|
-
_SkyTabsetNavButtonComponent__tabset.set(this, void 0);
|
|
1999
|
-
_SkyTabsetNavButtonComponent_activeIndexNumber.set(this, void 0);
|
|
2000
|
-
_SkyTabsetNavButtonComponent_activeSkyTabIndex.set(this, void 0);
|
|
2001
|
-
_SkyTabsetNavButtonComponent_currentTabsetSub.set(this, void 0);
|
|
2002
|
-
_SkyTabsetNavButtonComponent_logger.set(this, void 0);
|
|
2003
|
-
_SkyTabsetNavButtonComponent_tabCount.set(this, void 0);
|
|
2004
|
-
_SkyTabsetNavButtonComponent_tabToSelect.set(this, void 0);
|
|
2005
|
-
_SkyTabsetNavButtonComponent_ngUnsubscribe.set(this, new Subject());
|
|
2006
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_logger, logger, "f");
|
|
2007
|
-
}
|
|
2008
|
-
/**
|
|
2009
|
-
* Specifies the tabset wizard component to associate with the nav button.
|
|
2010
|
-
* @required
|
|
2011
|
-
*/
|
|
2012
|
-
set tabset(value) {
|
|
2013
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__tabset, value, "f");
|
|
2014
|
-
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, "f")) {
|
|
2015
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, "f").unsubscribe();
|
|
2016
|
-
}
|
|
2017
|
-
if (value) {
|
|
2018
|
-
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeFinish) {
|
|
2019
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").hasFinishButton = true;
|
|
2020
|
-
}
|
|
2021
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").activeChange
|
|
2022
|
-
.pipe(distinctUntilChanged(), takeUntil(__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f")))
|
|
2023
|
-
.subscribe((index) => {
|
|
2024
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_activeSkyTabIndex, index, "f");
|
|
2025
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_tabCount, __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").tabs.length, "f");
|
|
2026
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateTabToSelect).call(this);
|
|
2027
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonVisibility).call(this);
|
|
2028
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonProperties).call(this);
|
|
2029
|
-
}), "f");
|
|
2030
|
-
}
|
|
2031
|
-
else {
|
|
2032
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_logger, "f").error('The SkyTabsetNavButtonComponent requires a reference to the SkyTabsetComponent it controls.');
|
|
2033
|
-
}
|
|
2034
|
-
}
|
|
2035
|
-
/**
|
|
2036
|
-
* Specifies the type of nav button to include.
|
|
2037
|
-
* @required
|
|
2038
|
-
*/
|
|
2039
|
-
get buttonType() {
|
|
2040
|
-
return __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f");
|
|
2041
|
-
}
|
|
2042
|
-
set buttonType(value) {
|
|
2043
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__buttonType, value, "f");
|
|
2044
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateTabToSelect).call(this);
|
|
2045
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonProperties).call(this);
|
|
2046
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonVisibility).call(this);
|
|
2047
|
-
if (value === buttonTypeFinish) {
|
|
2048
|
-
this.type = 'submit';
|
|
2049
|
-
}
|
|
2050
|
-
else {
|
|
2051
|
-
this.type = 'button';
|
|
2052
|
-
}
|
|
2053
|
-
}
|
|
2054
|
-
/**
|
|
2055
|
-
* Indicates whether to disable the nav button.
|
|
2056
|
-
* Defaults to the disabled state of the next tab for `next`, the existence of a previous tab for `previous`,
|
|
2057
|
-
* and false for `finish`.
|
|
2058
|
-
*/
|
|
2059
|
-
set disabled(value) {
|
|
2060
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__disabled, value, "f");
|
|
2061
|
-
}
|
|
2062
|
-
get disabled() {
|
|
2063
|
-
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__disabled, "f") !== undefined) {
|
|
2064
|
-
return __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__disabled, "f");
|
|
2065
|
-
}
|
|
2066
|
-
else if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeFinish) {
|
|
2067
|
-
return false;
|
|
2068
|
-
}
|
|
2069
|
-
return !__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f") || __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f").disabled;
|
|
2070
|
-
}
|
|
2071
|
-
ngOnDestroy() {
|
|
2072
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f").next();
|
|
2073
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f").complete();
|
|
2074
|
-
}
|
|
2075
|
-
buttonClick() {
|
|
2076
|
-
/* istanbul ignore else */
|
|
2077
|
-
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f") && !__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f").disabled) {
|
|
2078
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").active = __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f").tabIndex;
|
|
2079
|
-
}
|
|
2080
|
-
}
|
|
2081
|
-
}
|
|
2082
|
-
_SkyTabsetNavButtonComponent__buttonType = new WeakMap(), _SkyTabsetNavButtonComponent__disabled = new WeakMap(), _SkyTabsetNavButtonComponent__tabset = new WeakMap(), _SkyTabsetNavButtonComponent_activeIndexNumber = new WeakMap(), _SkyTabsetNavButtonComponent_activeSkyTabIndex = new WeakMap(), _SkyTabsetNavButtonComponent_currentTabsetSub = new WeakMap(), _SkyTabsetNavButtonComponent_logger = new WeakMap(), _SkyTabsetNavButtonComponent_tabCount = new WeakMap(), _SkyTabsetNavButtonComponent_tabToSelect = new WeakMap(), _SkyTabsetNavButtonComponent_ngUnsubscribe = new WeakMap(), _SkyTabsetNavButtonComponent_instances = new WeakSet(), _SkyTabsetNavButtonComponent_updateButtonVisibility = function _SkyTabsetNavButtonComponent_updateButtonVisibility() {
|
|
2083
|
-
const isLastStep = __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") === __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabCount, "f") - 1;
|
|
2084
|
-
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeFinish) {
|
|
2085
|
-
this.isVisible = isLastStep;
|
|
2086
|
-
return;
|
|
2087
|
-
}
|
|
2088
|
-
// Hide the next button on the last step only if a finish button exists.
|
|
2089
|
-
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeNext &&
|
|
2090
|
-
isLastStep &&
|
|
2091
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").hasFinishButton) {
|
|
2092
|
-
this.isVisible = false;
|
|
2093
|
-
return;
|
|
2094
|
-
}
|
|
2095
|
-
this.isVisible = true;
|
|
2096
|
-
}, _SkyTabsetNavButtonComponent_updateButtonProperties = function _SkyTabsetNavButtonComponent_updateButtonProperties() {
|
|
2097
|
-
if ((__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeNext ||
|
|
2098
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeFinish) &&
|
|
2099
|
-
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f")?.hasFinishButton) {
|
|
2100
|
-
this.buttonClassName = 'sky-btn-primary';
|
|
2101
|
-
}
|
|
2102
|
-
else {
|
|
2103
|
-
this.buttonClassName = 'sky-btn-default';
|
|
2104
|
-
}
|
|
2105
|
-
this.ariaControls = __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f")?.tabPanelId;
|
|
2106
|
-
}, _SkyTabsetNavButtonComponent_updateTabToSelect = function _SkyTabsetNavButtonComponent_updateTabToSelect() {
|
|
2107
|
-
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f")?.tabs) {
|
|
2108
|
-
const tabs = __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").tabs.toArray();
|
|
2109
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_tabToSelect, undefined, "f");
|
|
2110
|
-
// tab index can be a number or a string, but we need the actual number index
|
|
2111
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, tabs.findIndex((tab) => tab.tabIndex === __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeSkyTabIndex, "f")), "f");
|
|
2112
|
-
/* istanbul ignore else */
|
|
2113
|
-
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") !== undefined) {
|
|
2114
|
-
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeNext) {
|
|
2115
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_tabToSelect, tabs[__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") + 1], "f");
|
|
2116
|
-
}
|
|
2117
|
-
else if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypePrevious) {
|
|
2118
|
-
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_tabToSelect, tabs[__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") - 1], "f");
|
|
2119
|
-
}
|
|
2120
|
-
}
|
|
2121
|
-
}
|
|
2122
|
-
};
|
|
2123
|
-
SkyTabsetNavButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetNavButtonComponent, deps: [{ token: i1.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2124
|
-
SkyTabsetNavButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTabsetNavButtonComponent, selector: "sky-tabset-nav-button", inputs: { tabset: "tabset", buttonType: "buttonType", buttonText: "buttonText", disabled: "disabled" }, ngImport: i0, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n [attr.aria-controls]=\"ariaControls\"\n [disabled]=\"disabled\"\n [ngClass]=\"buttonClassName\"\n [type]=\"type\"\n (click)=\"buttonType === 'finish' ? null : buttonClick()\"\n>\n {{ buttonText || ('skyux_tabs_navigator_' + buttonType | skyLibResources) }}\n</button>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }] });
|
|
2125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetNavButtonComponent, decorators: [{
|
|
2126
|
-
type: Component,
|
|
2127
|
-
args: [{ selector: 'sky-tabset-nav-button', template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n [attr.aria-controls]=\"ariaControls\"\n [disabled]=\"disabled\"\n [ngClass]=\"buttonClassName\"\n [type]=\"type\"\n (click)=\"buttonType === 'finish' ? null : buttonClick()\"\n>\n {{ buttonText || ('skyux_tabs_navigator_' + buttonType | skyLibResources) }}\n</button>\n" }]
|
|
2128
|
-
}], ctorParameters: function () { return [{ type: i1.SkyLogService }]; }, propDecorators: { tabset: [{
|
|
2129
|
-
type: Input
|
|
2130
|
-
}], buttonType: [{
|
|
2131
|
-
type: Input
|
|
2132
|
-
}], buttonText: [{
|
|
2133
|
-
type: Input
|
|
2134
|
-
}], disabled: [{
|
|
2135
|
-
type: Input
|
|
2136
|
-
}] } });
|
|
2137
|
-
|
|
2138
2272
|
class SkyTabsModule {
|
|
2139
2273
|
}
|
|
2140
2274
|
SkyTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2141
2275
|
SkyTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsModule, declarations: [SkyTabButtonComponent,
|
|
2142
2276
|
SkyTabComponent,
|
|
2143
2277
|
SkyTabsetComponent,
|
|
2144
|
-
SkyTabsetNavButtonComponent
|
|
2278
|
+
SkyTabsetNavButtonComponent,
|
|
2279
|
+
SkyTabsetNavButtonDisabledPipe], imports: [CommonModule,
|
|
2145
2280
|
RouterModule,
|
|
2146
2281
|
SkyDropdownModule,
|
|
2147
2282
|
SkyI18nModule,
|
|
@@ -2163,6 +2298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
2163
2298
|
SkyTabComponent,
|
|
2164
2299
|
SkyTabsetComponent,
|
|
2165
2300
|
SkyTabsetNavButtonComponent,
|
|
2301
|
+
SkyTabsetNavButtonDisabledPipe,
|
|
2166
2302
|
],
|
|
2167
2303
|
imports: [
|
|
2168
2304
|
CommonModule,
|