@skyux/tabs 15.0.0-alpha.0 → 15.0.0-alpha.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/tabs",
3
- "version": "15.0.0-alpha.0",
3
+ "version": "15.0.0-alpha.2",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -16,19 +16,19 @@
16
16
  },
17
17
  "homepage": "https://github.com/blackbaud/skyux#readme",
18
18
  "peerDependencies": {
19
- "@angular/cdk": "^22.0.1",
20
- "@angular/common": "^22.0.1",
21
- "@angular/core": "^22.0.1",
22
- "@angular/platform-browser": "^22.0.1",
23
- "@angular/router": "^22.0.1",
24
- "@skyux-sdk/testing": "15.0.0-alpha.0",
25
- "@skyux/core": "15.0.0-alpha.0",
26
- "@skyux/forms": "15.0.0-alpha.0",
27
- "@skyux/i18n": "15.0.0-alpha.0",
28
- "@skyux/icon": "15.0.0-alpha.0",
29
- "@skyux/indicators": "15.0.0-alpha.0",
30
- "@skyux/popovers": "15.0.0-alpha.0",
31
- "@skyux/theme": "15.0.0-alpha.0"
19
+ "@angular/cdk": "^22.0.4",
20
+ "@angular/common": "^22.0.6",
21
+ "@angular/core": "^22.0.6",
22
+ "@angular/platform-browser": "^22.0.6",
23
+ "@angular/router": "^22.0.6",
24
+ "@skyux-sdk/testing": "15.0.0-alpha.2",
25
+ "@skyux/core": "15.0.0-alpha.2",
26
+ "@skyux/forms": "15.0.0-alpha.2",
27
+ "@skyux/i18n": "15.0.0-alpha.2",
28
+ "@skyux/icon": "15.0.0-alpha.2",
29
+ "@skyux/indicators": "15.0.0-alpha.2",
30
+ "@skyux/popovers": "15.0.0-alpha.2",
31
+ "@skyux/theme": "15.0.0-alpha.2"
32
32
  },
33
33
  "dependencies": {
34
34
  "tslib": "^2.8.1"
@@ -276,6 +276,13 @@ declare class SkySectionedFormHarness extends SkyComponentHarness {
276
276
  */
277
277
  getActiveSection(): Promise<SkySectionedFormSectionHarness | undefined>;
278
278
  getActiveSectionContent(): Promise<SkySectionedFormSectionContentHarness | undefined>;
279
+ /**
280
+ * Gets the tab width as a CSS `flex-basis` value (for example, `200px`),
281
+ * or `null` when no width is set. The width is only applied in the desktop
282
+ * layout, so this returns `null` in the mobile layout and when the tabs
283
+ * pane is not rendered at all.
284
+ */
285
+ getTabWidth(): Promise<string | null>;
279
286
  /**
280
287
  * Gets a specific section based on the filter criteria.
281
288
  * @param filters The filter criteria.
@@ -1,51 +1,15 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ElementRef, OnInit, OnDestroy, ChangeDetectorRef, QueryList, AfterViewChecked, EventEmitter, AfterViewInit, OnChanges, SimpleChanges, PipeTransform } from '@angular/core';
3
- import * as i6 from '@skyux/core';
4
- import { SkyLogService } from '@skyux/core';
5
- import { Observable, Subject, BehaviorSubject, ReplaySubject } from 'rxjs';
2
+ import { OnInit, OnDestroy, ElementRef, QueryList, AfterViewChecked, EventEmitter, AfterViewInit, OnChanges, SimpleChanges, PipeTransform } from '@angular/core';
3
+ import { Subject, BehaviorSubject, ReplaySubject, Observable } from 'rxjs';
6
4
  import * as i4 from '@angular/common';
7
5
  import * as i4$1 from '@skyux/forms';
8
6
  import * as i9 from '@skyux/theme';
9
- import * as i1 from '@skyux/i18n';
10
- import { SkyLibResourcesService } from '@skyux/i18n';
11
7
  import * as i5 from '@skyux/icon';
8
+ import * as i6 from '@skyux/core';
12
9
  import * as i7 from '@skyux/indicators';
10
+ import * as i1 from '@skyux/i18n';
13
11
  import * as i8 from '@skyux/popovers';
14
12
 
15
- /**
16
- * Tracks the element IDs for all tabs within a tablist.
17
- * @internal
18
- */
19
- declare class SkyTabIdService {
20
- #private;
21
- get ids(): Observable<string[]>;
22
- constructor();
23
- /**
24
- * Associates a tab's ID with its parent tablist.
25
- * @param {string} id A unique ID for the tab's registration.
26
- * @param {string} elementId The ID applied to the tab's element.
27
- */
28
- register(id: string, elementId: string): void;
29
- /**
30
- * Disassociates a tab's ID with its parent tablist.
31
- * @param {string} id The ID used to register the tab.
32
- */
33
- unregister(id: string): void;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<SkyTabIdService, never>;
35
- static ɵprov: i0.ɵɵInjectableDeclaration<SkyTabIdService>;
36
- }
37
-
38
- declare class SkyVerticalTabsetAdapterService {
39
- #private;
40
- scrollToContentTop(element: ElementRef): void;
41
- focusButton(elRef: ElementRef<HTMLElement> | undefined): boolean;
42
- focusFirstButton(tabGroups: ElementRef<HTMLElement> | undefined): void;
43
- focusNextButton(tabGroups: ElementRef | undefined): void;
44
- focusPreviousButton(tabGroups: ElementRef | undefined): void;
45
- static ɵfac: i0.ɵɵFactoryDeclaration<SkyVerticalTabsetAdapterService, never>;
46
- static ɵprov: i0.ɵɵInjectableDeclaration<SkyVerticalTabsetAdapterService>;
47
- }
48
-
49
13
  interface SkyVerticalTabsetGroupMessage {
50
14
  messageType: 'focus';
51
15
  }
@@ -128,7 +92,7 @@ declare class SkyVerticalTabComponent implements OnInit, OnDestroy {
128
92
  tabButton: ElementRef | undefined;
129
93
  tabContent: ElementRef | undefined;
130
94
  groupService: SkyVerticalTabsetGroupService | null;
131
- constructor(adapterService: SkyVerticalTabsetAdapterService, changeRef: ChangeDetectorRef, tabsetService: SkyVerticalTabsetService, tabIdSvc?: SkyTabIdService);
95
+ constructor();
132
96
  ngOnInit(): void;
133
97
  ngOnDestroy(): void;
134
98
  activateTab(): void;
@@ -136,7 +100,7 @@ declare class SkyVerticalTabComponent implements OnInit, OnDestroy {
136
100
  tabButtonActivate(event: Event): void;
137
101
  tabButtonArrowLeft(event: Event): void;
138
102
  tabDeactivated(): void;
139
- static ɵfac: i0.ɵɵFactoryDeclaration<SkyVerticalTabComponent, [null, null, null, { optional: true; }]>;
103
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyVerticalTabComponent, never>;
140
104
  static ɵcmp: i0.ɵɵComponentDeclaration<SkyVerticalTabComponent, "sky-vertical-tab", never, { "active": { "alias": "active"; "required": false; }; "ariaControls": { "alias": "ariaControls"; "required": false; }; "ariaRole": { "alias": "ariaRole"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "errorIndicator": { "alias": "errorIndicator"; "required": false; }; "requiredIndicator": { "alias": "requiredIndicator"; "required": false; }; "tabHeaderCount": { "alias": "tabHeaderCount"; "required": false; }; "tabHeading": { "alias": "tabHeading"; "required": false; }; "showTabRightArrow": { "alias": "showTabRightArrow"; "required": false; }; "tabId": { "alias": "tabId"; "required": false; }; }, {}, never, ["*"], false, never>;
141
105
  }
142
106
 
@@ -162,7 +126,7 @@ declare class SkyVerticalTabsetGroupComponent implements OnInit, OnDestroy {
162
126
  groupHeadingButton: ElementRef | undefined;
163
127
  slideDirection: 'down' | 'up';
164
128
  protected groupId: string;
165
- constructor(tabService: SkyVerticalTabsetService, changeRef: ChangeDetectorRef);
129
+ constructor();
166
130
  ngOnInit(): void;
167
131
  ngOnDestroy(): void;
168
132
  toggleMenuOpen(): void;
@@ -218,13 +182,19 @@ interface SkySectionedFormMessage {
218
182
  */
219
183
  declare class SkySectionedFormComponent implements OnInit, OnDestroy, AfterViewChecked {
220
184
  #private;
221
- tabService: SkyVerticalTabsetService;
222
185
  /**
223
186
  * Whether the sectioned form loads section content during initialization so that it
224
187
  * displays content without moving around elements in the content container.
225
188
  * @default false
226
189
  */
227
190
  maintainSectionContent: boolean | undefined;
191
+ /**
192
+ * The width of the tabs pane as a CSS width value (such as `200px`, `15rem`,
193
+ * or `20%`). Set to `"auto"` to size based on tab label content. Maximum
194
+ * width is 30%.
195
+ * @default "30%"
196
+ */
197
+ readonly tabWidth: i0.InputSignalWithTransform<string, string | undefined>;
228
198
  set messageStream(value: Subject<SkySectionedFormMessage> | undefined);
229
199
  get messageStream(): Subject<SkySectionedFormMessage>;
230
200
  /**
@@ -240,7 +210,9 @@ declare class SkySectionedFormComponent implements OnInit, OnDestroy, AfterViewC
240
210
  ariaRole: string | undefined;
241
211
  content: ElementRef | undefined;
242
212
  protected animationEnabled: i0.WritableSignal<boolean>;
243
- constructor(tabService: SkyVerticalTabsetService, changeRef: ChangeDetectorRef, tabIdSvc: SkyTabIdService, logger: SkyLogService);
213
+ protected readonly isMobile: i0.WritableSignal<boolean>;
214
+ readonly tabService: SkyVerticalTabsetService;
215
+ constructor();
244
216
  ngOnInit(): void;
245
217
  ngAfterViewChecked(): void;
246
218
  ngOnDestroy(): void;
@@ -252,31 +224,10 @@ declare class SkySectionedFormComponent implements OnInit, OnDestroy, AfterViewC
252
224
  * @deprecated Use the `messageStream` input and push a `ShowTabs` message to the message stream instead.
253
225
  */
254
226
  showTabs(): void;
227
+ protected readonly tabsFlexBasis: i0.Signal<string | undefined>;
228
+ protected readonly tabsMaxWidth: i0.Signal<string | undefined>;
255
229
  static ɵfac: i0.ɵɵFactoryDeclaration<SkySectionedFormComponent, never>;
256
- static ɵcmp: i0.ɵɵComponentDeclaration<SkySectionedFormComponent, "sky-sectioned-form", never, { "maintainSectionContent": { "alias": "maintainSectionContent"; "required": false; }; "messageStream": { "alias": "messageStream"; "required": false; }; }, { "indexChanged": "indexChanged"; "tabsVisibleChanged": "tabsVisibleChanged"; }, never, ["*"], false, never>;
257
- }
258
-
259
- declare class SkySectionedFormService {
260
- /**
261
- * @internal
262
- */
263
- invalidChange: BehaviorSubject<boolean | undefined>;
264
- /**
265
- * @internal
266
- */
267
- requiredChange: BehaviorSubject<boolean | undefined>;
268
- /**
269
- * Sets the current section's invalid state based on the `isInvalid` parameter.
270
- * This method is used within a `sky-sectioned-form-section` element.
271
- */
272
- invalidFieldChanged(isInvalid: boolean | undefined): void;
273
- /**
274
- * Sets the current section's required state based on the `isRequired` parameter.
275
- * This method is used within a `sky-sectioned-form-section` element.
276
- */
277
- requiredFieldChanged(isRequired: boolean | undefined): void;
278
- static ɵfac: i0.ɵɵFactoryDeclaration<SkySectionedFormService, never>;
279
- static ɵprov: i0.ɵɵInjectableDeclaration<SkySectionedFormService>;
230
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkySectionedFormComponent, "sky-sectioned-form", never, { "maintainSectionContent": { "alias": "maintainSectionContent"; "required": false; }; "tabWidth": { "alias": "tabWidth"; "required": false; "isSignal": true; }; "messageStream": { "alias": "messageStream"; "required": false; }; }, { "indexChanged": "indexChanged"; "tabsVisibleChanged": "tabsVisibleChanged"; }, never, ["*"], false, never>;
280
231
  }
281
232
 
282
233
  /**
@@ -303,18 +254,48 @@ declare class SkySectionedFormSectionComponent implements OnInit, OnDestroy {
303
254
  fieldRequired: boolean | undefined;
304
255
  fieldInvalid: boolean | undefined;
305
256
  tab: SkyVerticalTabComponent | undefined;
306
- constructor(sectionedFormService: SkySectionedFormService, tabsetService: SkyVerticalTabsetService, changeRef: ChangeDetectorRef);
307
257
  ngOnInit(): void;
308
258
  ngOnDestroy(): void;
309
259
  static ɵfac: i0.ɵɵFactoryDeclaration<SkySectionedFormSectionComponent, never>;
310
260
  static ɵcmp: i0.ɵɵComponentDeclaration<SkySectionedFormSectionComponent, "sky-sectioned-form-section", never, { "heading": { "alias": "heading"; "required": false; }; "itemCount": { "alias": "itemCount"; "required": false; }; "active": { "alias": "active"; "required": false; }; }, {}, never, ["*"], false, never>;
311
261
  }
312
262
 
263
+ /**
264
+ * Tracks the element IDs for all tabs within a tablist.
265
+ * @internal
266
+ */
267
+ declare class SkyTabIdService {
268
+ #private;
269
+ get ids(): Observable<string[]>;
270
+ constructor();
271
+ /**
272
+ * Associates a tab's ID with its parent tablist.
273
+ * @param {string} id A unique ID for the tab's registration.
274
+ * @param {string} elementId The ID applied to the tab's element.
275
+ */
276
+ register(id: string, elementId: string): void;
277
+ /**
278
+ * Disassociates a tab's ID with its parent tablist.
279
+ * @param {string} id The ID used to register the tab.
280
+ */
281
+ unregister(id: string): void;
282
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyTabIdService, never>;
283
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyTabIdService>;
284
+ }
285
+
286
+ declare class SkyVerticalTabsetAdapterService {
287
+ #private;
288
+ scrollToContentTop(element: ElementRef): void;
289
+ focusButton(elRef: ElementRef<HTMLElement> | undefined): boolean;
290
+ focusFirstButton(tabGroups: ElementRef<HTMLElement> | undefined): void;
291
+ focusNextButton(tabGroups: ElementRef | undefined): void;
292
+ focusPreviousButton(tabGroups: ElementRef | undefined): void;
293
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyVerticalTabsetAdapterService, never>;
294
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyVerticalTabsetAdapterService>;
295
+ }
296
+
313
297
  declare class SkyVerticalTabsetComponent implements OnInit, AfterViewChecked, OnDestroy {
314
298
  #private;
315
- adapterService: SkyVerticalTabsetAdapterService;
316
- tabService: SkyVerticalTabsetService;
317
- tabIdSvc: SkyTabIdService;
318
299
  /**
319
300
  * The text to display on the show tabs button on mobile devices.
320
301
  */
@@ -363,7 +344,9 @@ declare class SkyVerticalTabsetComponent implements OnInit, AfterViewChecked, On
363
344
  ariaOwns: string | undefined;
364
345
  isMobile: boolean;
365
346
  protected tablistHasFocus: boolean;
366
- constructor(adapterService: SkyVerticalTabsetAdapterService, tabService: SkyVerticalTabsetService, resources: SkyLibResourcesService, changeRef: ChangeDetectorRef, tabIdSvc: SkyTabIdService);
347
+ readonly adapterService: SkyVerticalTabsetAdapterService;
348
+ readonly tabService: SkyVerticalTabsetService;
349
+ readonly tabIdSvc: SkyTabIdService;
367
350
  ngOnInit(): void;
368
351
  ngAfterViewChecked(): void;
369
352
  ngOnDestroy(): void;
@@ -397,112 +380,35 @@ declare class SkySectionedFormModule {
397
380
  static ɵinj: i0.ɵɵInjectorDeclaration<SkySectionedFormModule>;
398
381
  }
399
382
 
400
- type SkyTabIndex = string | number;
401
-
402
- type SkyTabLayoutType = 'none' | 'blocks' | 'fit' | 'list';
403
-
404
- /**
405
- * @internal
406
- */
407
- declare class SkyTabButtonAdapterService {
408
- focusButtonLink(buttonEl: ElementRef): void;
409
- static ɵfac: i0.ɵɵFactoryDeclaration<SkyTabButtonAdapterService, never>;
410
- static ɵprov: i0.ɵɵInjectableDeclaration<SkyTabButtonAdapterService>;
411
- }
412
-
413
- type SkyTabsetStyle = 'tabs' | 'wizard';
414
-
415
- /**
416
- * @internal
417
- */
418
- interface TabButtonViewModel {
419
- active: boolean;
420
- ariaControls: string;
421
- buttonHref: string | null;
422
- buttonId: string;
423
- buttonText: string | undefined;
424
- buttonTextCount: string | undefined;
425
- closeable: boolean;
426
- disabled: boolean | undefined;
427
- tabIndex: SkyTabIndex | undefined;
428
- tabNumber: number;
429
- totalTabsCount: number;
430
- }
431
-
432
- interface SkyTabsetActiveTabChangeArgs {
433
- tabIndex: SkyTabIndex | undefined;
434
- initial?: boolean;
435
- }
436
-
437
- /**
438
- * The arguments for the tabset service's `activeTabUnregistered` event.
439
- * @internal
440
- */
441
- interface SkyTabsetActiveTabUnregisteredArgs {
442
- /**
443
- * The array index of the active tab, when it has been unregistered.
444
- */
445
- arrayIndex: number;
446
- }
447
-
448
- /**
449
- * @internal
450
- */
451
- declare class SkyTabsetService implements OnDestroy {
452
- #private;
453
- readonly activeTabUnregistered: Observable<SkyTabsetActiveTabUnregisteredArgs>;
454
- readonly activeTabChange: Observable<SkyTabsetActiveTabChangeArgs>;
455
- readonly focusedTabBtnIndex: Observable<SkyTabIndex>;
456
- readonly activeTabLayout: Observable<SkyTabLayoutType>;
457
- currentActiveTabIndex: SkyTabIndex | undefined;
458
- currentFocusedTabBtnIndex: SkyTabIndex;
459
- constructor();
460
- ngOnDestroy(): void;
461
- /**
462
- * Sets the active tab by its unique `tabIndex` property.
463
- */
464
- setActiveTabIndex(value: SkyTabsetActiveTabChangeArgs, config?: {
465
- emitChange: boolean;
466
- }): void;
467
- focusNextTabBtn(tabButtons: TabButtonViewModel[]): void;
468
- focusPrevTabBtn(tabButtons: TabButtonViewModel[]): void;
469
- focusFirstOrNearestTabBtn(tabButtons: TabButtonViewModel[]): void;
470
- focusLastOrNearestTabBtn(tabButtons: TabButtonViewModel[]): void;
471
- setFocusedTabBtnIndex(tabIndex: SkyTabIndex): void;
472
- /**
473
- * Registers a tab component.
474
- */
475
- registerTab(tabIndex?: SkyTabIndex): SkyTabIndex;
476
- updateTabIndex(currentTabIndex: SkyTabIndex, newTabIndex: SkyTabIndex): void;
477
- updateActiveTabLayout(layout: SkyTabLayoutType): void;
478
- /**
479
- * Unregisters a tab component.
480
- */
481
- unregisterTab(tabIndex: SkyTabIndex): void;
482
- /**
483
- * Unregisters all tab components at once.
484
- */
485
- unregisterAll(): void;
383
+ declare class SkySectionedFormService {
486
384
  /**
487
- * Compares two tab indexes and returns `true` if they are equal.
385
+ * @internal
488
386
  */
489
- tabIndexesEqual(tabIndex1: SkyTabIndex | undefined, tabIndex2: SkyTabIndex | undefined): boolean;
387
+ invalidChange: BehaviorSubject<boolean | undefined>;
490
388
  /**
491
- * Verifies if a provided tab index is registered.
389
+ * @internal
492
390
  */
493
- isValidTabIndex(tabIndex: SkyTabIndex): boolean;
391
+ requiredChange: BehaviorSubject<boolean | undefined>;
494
392
  /**
495
- * Activates the first registered tab.
393
+ * Sets the current section's invalid state based on the `isInvalid` parameter.
394
+ * This method is used within a `sky-sectioned-form-section` element.
496
395
  */
497
- activateFirstTab(): SkyTabIndex | undefined;
396
+ invalidFieldChanged(isInvalid: boolean | undefined): void;
498
397
  /**
499
- * Activates the next registered tab, or the previous one based on a provided array index.
398
+ * Sets the current section's required state based on the `isRequired` parameter.
399
+ * This method is used within a `sky-sectioned-form-section` element.
500
400
  */
501
- activateNearestTab(arrayIndex: number): void;
502
- static ɵfac: i0.ɵɵFactoryDeclaration<SkyTabsetService, never>;
503
- static ɵprov: i0.ɵɵInjectableDeclaration<SkyTabsetService>;
401
+ requiredFieldChanged(isRequired: boolean | undefined): void;
402
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkySectionedFormService, never>;
403
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkySectionedFormService>;
504
404
  }
505
405
 
406
+ type SkyTabIndex = string | number;
407
+
408
+ type SkyTabLayoutType = 'none' | 'blocks' | 'fit' | 'list';
409
+
410
+ type SkyTabsetStyle = 'tabs' | 'wizard';
411
+
506
412
  type SkyWizardStepState = 'completed' | 'current' | 'unavailable';
507
413
  /**
508
414
  * @internal
@@ -526,7 +432,6 @@ declare class SkyTabButtonComponent implements AfterViewInit, OnDestroy {
526
432
  set tabStyle(style: SkyTabsetStyle | undefined);
527
433
  buttonClick: EventEmitter<void>;
528
434
  closeClick: EventEmitter<void>;
529
- constructor(elementRef: ElementRef, adapterService: SkyTabButtonAdapterService, changeDetectorRef: ChangeDetectorRef, tabsetService: SkyTabsetService);
530
435
  closeBtnTabIndex: string;
531
436
  wizardStepState: SkyWizardStepState | undefined;
532
437
  ngAfterViewInit(): void;
@@ -540,39 +445,6 @@ declare class SkyTabButtonComponent implements AfterViewInit, OnDestroy {
540
445
  static ɵcmp: i0.ɵɵComponentDeclaration<SkyTabButtonComponent, "sky-tab-button", never, { "active": { "alias": "active"; "required": false; }; "ariaControls": { "alias": "ariaControls"; "required": false; }; "buttonHref": { "alias": "buttonHref"; "required": false; }; "buttonId": { "alias": "buttonId"; "required": false; }; "buttonText": { "alias": "buttonText"; "required": false; }; "buttonTextCount": { "alias": "buttonTextCount"; "required": false; }; "closeable": { "alias": "closeable"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "tabNumber": { "alias": "tabNumber"; "required": false; }; "totalTabsCount": { "alias": "totalTabsCount"; "required": false; }; "tabStyle": { "alias": "tabStyle"; "required": false; }; }, { "buttonClick": "buttonClick"; "closeClick": "closeClick"; }, never, never, false, never>;
541
446
  }
542
447
 
543
- /**
544
- * @internal
545
- */
546
- declare class SkyTabsetPermalinkService implements OnDestroy {
547
- #private;
548
- get popStateChange(): Observable<void>;
549
- ngOnDestroy(): void;
550
- init(): void;
551
- /**
552
- * Returns the value of a URL query param.
553
- */
554
- getParam(name: string): string;
555
- /**
556
- * Sets the value of a URL query param.
557
- */
558
- setParam(name: string, value: string | null, initial?: boolean): void;
559
- /**
560
- * Removes the provided query param from the URL.
561
- */
562
- clearParam(name: string): void;
563
- /**
564
- * Returns a relative URL that includes the provided query parameter. The value is intended to be
565
- * used by an HTML anchor element.
566
- */
567
- getParamHref(name: string | undefined, value: string): string | null;
568
- /**
569
- * Converts the provided string into a value that can be safely used in a URL.
570
- */
571
- urlify(value: string | undefined): string;
572
- static ɵfac: i0.ɵɵFactoryDeclaration<SkyTabsetPermalinkService, never>;
573
- static ɵprov: i0.ɵɵInjectableDeclaration<SkyTabsetPermalinkService>;
574
- }
575
-
576
448
  declare class SkyTabComponent implements OnChanges, OnDestroy {
577
449
  #private;
578
450
  /**
@@ -645,7 +517,7 @@ declare class SkyTabComponent implements OnChanges, OnDestroy {
645
517
  showContent: boolean;
646
518
  tabButtonId: string;
647
519
  tabPanelId: string;
648
- constructor(changeDetector: ChangeDetectorRef, permalinkService: SkyTabsetPermalinkService, tabsetService: SkyTabsetService);
520
+ constructor();
649
521
  ngOnChanges(changes: SimpleChanges): void;
650
522
  ngOnDestroy(): void;
651
523
  init(): void;
@@ -659,18 +531,18 @@ declare class SkyTabComponent implements OnChanges, OnDestroy {
659
531
  /**
660
532
  * @internal
661
533
  */
662
- declare class SkyTabsetAdapterService implements OnDestroy {
663
- #private;
664
- get overflowChange(): Observable<boolean>;
665
- constructor();
666
- ngOnDestroy(): void;
667
- registerTabset(tabsetRef: ElementRef): void;
668
- /**
669
- * Detects if the tab buttons are wider than the tabset container.
670
- */
671
- detectOverflow(): void;
672
- static ɵfac: i0.ɵɵFactoryDeclaration<SkyTabsetAdapterService, never>;
673
- static ɵprov: i0.ɵɵInjectableDeclaration<SkyTabsetAdapterService>;
534
+ interface TabButtonViewModel {
535
+ active: boolean;
536
+ ariaControls: string;
537
+ buttonHref: string | null;
538
+ buttonId: string;
539
+ buttonText: string | undefined;
540
+ buttonTextCount: string | undefined;
541
+ closeable: boolean;
542
+ disabled: boolean | undefined;
543
+ tabIndex: SkyTabIndex | undefined;
544
+ tabNumber: number;
545
+ totalTabsCount: number;
674
546
  }
675
547
 
676
548
  type SkyTabsetButtonsDisplayMode = 'dropdown' | 'tabs';
@@ -753,7 +625,6 @@ declare class SkyTabsetComponent implements AfterViewInit, OnDestroy {
753
625
  */
754
626
  lastActiveTabIndex: SkyTabIndex | undefined;
755
627
  tabButtons: TabButtonViewModel[];
756
- constructor(changeDetector: ChangeDetectorRef, elementRef: ElementRef, adapterService: SkyTabsetAdapterService, permalinkService: SkyTabsetPermalinkService, tabsetService: SkyTabsetService);
757
628
  ngAfterViewInit(): void;
758
629
  ngOnDestroy(): void;
759
630
  onWindowResize(): void;
@@ -809,7 +680,6 @@ declare class SkyTabsetNavButtonComponent implements OnDestroy {
809
680
  type: 'submit' | 'button';
810
681
  ariaControls: string | undefined;
811
682
  protected tabToSelect: SkyTabComponent | undefined;
812
- constructor(logger: SkyLogService);
813
683
  ngOnDestroy(): void;
814
684
  buttonClick(): void;
815
685
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyTabsetNavButtonComponent, never>;