@skyux/tabs 8.7.2 → 9.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/documentation.json +100 -100
  2. package/esm2022/lib/modules/sectioned-form/sectioned-form-section.component.mjs +65 -0
  3. package/esm2022/lib/modules/sectioned-form/sectioned-form.component.mjs +187 -0
  4. package/{esm2020 → esm2022}/lib/modules/sectioned-form/sectioned-form.module.mjs +11 -11
  5. package/{esm2020 → esm2022}/lib/modules/sectioned-form/sectioned-form.service.mjs +4 -4
  6. package/esm2022/lib/modules/shared/sky-tabs-resources.module.mjs +61 -0
  7. package/esm2022/lib/modules/shared/tab-id.service.mjs +50 -0
  8. package/{esm2020 → esm2022}/lib/modules/tabs/tab-button-adapter.service.mjs +4 -4
  9. package/esm2022/lib/modules/tabs/tab-button.component.mjs +162 -0
  10. package/esm2022/lib/modules/tabs/tab.component.mjs +197 -0
  11. package/{esm2020 → esm2022}/lib/modules/tabs/tabs.module.mjs +21 -21
  12. package/esm2022/lib/modules/tabs/tabset-adapter.service.mjs +68 -0
  13. package/{esm2020 → esm2022}/lib/modules/tabs/tabset-nav-button-disabled.pipe.mjs +4 -4
  14. package/esm2022/lib/modules/tabs/tabset-nav-button.component.mjs +149 -0
  15. package/esm2022/lib/modules/tabs/tabset-permalink.service.mjs +128 -0
  16. package/esm2022/lib/modules/tabs/tabset.component.mjs +466 -0
  17. package/esm2022/lib/modules/tabs/tabset.service.mjs +198 -0
  18. package/esm2022/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +68 -0
  19. package/esm2022/lib/modules/vertical-tabset/vertical-tab.component.mjs +217 -0
  20. package/esm2022/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +48 -0
  21. package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +108 -0
  22. package/esm2022/lib/modules/vertical-tabset/vertical-tabset.component.mjs +158 -0
  23. package/{esm2020 → esm2022}/lib/modules/vertical-tabset/vertical-tabset.module.mjs +21 -21
  24. package/esm2022/lib/modules/vertical-tabset/vertical-tabset.service.mjs +169 -0
  25. package/esm2022/testing/tabs/tabset-fixture.mjs +129 -0
  26. package/fesm2022/skyux-tabs-testing.mjs +136 -0
  27. package/{fesm2020 → fesm2022}/skyux-tabs-testing.mjs.map +1 -1
  28. package/fesm2022/skyux-tabs.mjs +2586 -0
  29. package/{fesm2020 → fesm2022}/skyux-tabs.mjs.map +1 -1
  30. package/lib/modules/sectioned-form/sectioned-form-section.component.d.ts +1 -1
  31. package/lib/modules/sectioned-form/sectioned-form.component.d.ts +1 -1
  32. package/lib/modules/tabs/tab-button.component.d.ts +1 -1
  33. package/lib/modules/tabs/tab.component.d.ts +1 -1
  34. package/lib/modules/tabs/tabset-nav-button.component.d.ts +1 -1
  35. package/lib/modules/tabs/tabset.component.d.ts +1 -1
  36. package/lib/modules/vertical-tabset/vertical-tab.component.d.ts +1 -1
  37. package/lib/modules/vertical-tabset/vertical-tabset-group.component.d.ts +1 -1
  38. package/lib/modules/vertical-tabset/vertical-tabset.component.d.ts +1 -1
  39. package/package.json +21 -29
  40. package/esm2020/lib/modules/sectioned-form/sectioned-form-section.component.mjs +0 -67
  41. package/esm2020/lib/modules/sectioned-form/sectioned-form.component.mjs +0 -187
  42. package/esm2020/lib/modules/shared/sky-tabs-resources.module.mjs +0 -61
  43. package/esm2020/lib/modules/shared/tab-id.service.mjs +0 -53
  44. package/esm2020/lib/modules/tabs/tab-button.component.mjs +0 -162
  45. package/esm2020/lib/modules/tabs/tab.component.mjs +0 -198
  46. package/esm2020/lib/modules/tabs/tabset-adapter.service.mjs +0 -68
  47. package/esm2020/lib/modules/tabs/tabset-nav-button.component.mjs +0 -149
  48. package/esm2020/lib/modules/tabs/tabset-permalink.service.mjs +0 -128
  49. package/esm2020/lib/modules/tabs/tabset.component.mjs +0 -429
  50. package/esm2020/lib/modules/tabs/tabset.service.mjs +0 -196
  51. package/esm2020/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +0 -71
  52. package/esm2020/lib/modules/vertical-tabset/vertical-tab.component.mjs +0 -216
  53. package/esm2020/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +0 -51
  54. package/esm2020/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +0 -110
  55. package/esm2020/lib/modules/vertical-tabset/vertical-tabset.component.mjs +0 -159
  56. package/esm2020/lib/modules/vertical-tabset/vertical-tabset.service.mjs +0 -167
  57. package/esm2020/testing/tabs/tabset-fixture.mjs +0 -128
  58. package/fesm2015/skyux-tabs-testing.mjs +0 -147
  59. package/fesm2015/skyux-tabs-testing.mjs.map +0 -1
  60. package/fesm2015/skyux-tabs.mjs +0 -2560
  61. package/fesm2015/skyux-tabs.mjs.map +0 -1
  62. package/fesm2020/skyux-tabs-testing.mjs +0 -135
  63. package/fesm2020/skyux-tabs.mjs +0 -2544
  64. /package/{esm2020 → esm2022}/index.mjs +0 -0
  65. /package/{esm2020 → esm2022}/lib/modules/sectioned-form/types/sectioned-form-message-type.mjs +0 -0
  66. /package/{esm2020 → esm2022}/lib/modules/sectioned-form/types/sectioned-form-message.mjs +0 -0
  67. /package/{esm2020 → esm2022}/lib/modules/tabs/tab-button-view-model.mjs +0 -0
  68. /package/{esm2020 → esm2022}/lib/modules/tabs/tab-index.mjs +0 -0
  69. /package/{esm2020 → esm2022}/lib/modules/tabs/tab-layout-type.mjs +0 -0
  70. /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-active-tab-unregistered-args.mjs +0 -0
  71. /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-buttons-display-mode.mjs +0 -0
  72. /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-nav-button-type.mjs +0 -0
  73. /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-style.mjs +0 -0
  74. /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-tab-indexes-change.mjs +0 -0
  75. /package/{esm2020 → esm2022}/skyux-tabs.mjs +0 -0
  76. /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
  77. /package/{esm2020 → esm2022}/testing/skyux-tabs-testing.mjs +0 -0
  78. /package/{esm2020 → esm2022}/testing/tabs/tab-fixture-tab.mjs +0 -0
@@ -1,53 +0,0 @@
1
- var _SkyTabIdService_instances, _SkyTabIdService_ids, _SkyTabIdService_ids$, _SkyTabIdService_idsObs, _SkyTabIdService_emitIds;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Injectable } from '@angular/core';
4
- import { BehaviorSubject } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Tracks the element IDs for all tabs within a tablist.
8
- * @internal
9
- */
10
- export class SkyTabIdService {
11
- get ids() {
12
- return __classPrivateFieldGet(this, _SkyTabIdService_idsObs, "f");
13
- }
14
- constructor() {
15
- _SkyTabIdService_instances.add(this);
16
- _SkyTabIdService_ids.set(this, void 0);
17
- _SkyTabIdService_ids$.set(this, void 0);
18
- _SkyTabIdService_idsObs.set(this, void 0);
19
- __classPrivateFieldSet(this, _SkyTabIdService_ids, new Map(), "f");
20
- __classPrivateFieldSet(this, _SkyTabIdService_ids$, new BehaviorSubject([]), "f");
21
- __classPrivateFieldSet(this, _SkyTabIdService_idsObs, __classPrivateFieldGet(this, _SkyTabIdService_ids$, "f").asObservable(), "f");
22
- }
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, elementId) {
29
- if (!__classPrivateFieldGet(this, _SkyTabIdService_ids, "f").has(id) || __classPrivateFieldGet(this, _SkyTabIdService_ids, "f").get(id) !== elementId) {
30
- __classPrivateFieldGet(this, _SkyTabIdService_ids, "f").set(id, elementId);
31
- __classPrivateFieldGet(this, _SkyTabIdService_instances, "m", _SkyTabIdService_emitIds).call(this);
32
- }
33
- }
34
- /**
35
- * Disassociates a tab's ID with its parent tablist.
36
- * @param {string} id The ID used to register the tab.
37
- */
38
- unregister(id) {
39
- if (__classPrivateFieldGet(this, _SkyTabIdService_ids, "f").has(id)) {
40
- __classPrivateFieldGet(this, _SkyTabIdService_ids, "f").delete(id);
41
- __classPrivateFieldGet(this, _SkyTabIdService_instances, "m", _SkyTabIdService_emitIds).call(this);
42
- }
43
- }
44
- }
45
- _SkyTabIdService_ids = new WeakMap(), _SkyTabIdService_ids$ = new WeakMap(), _SkyTabIdService_idsObs = new WeakMap(), _SkyTabIdService_instances = new WeakSet(), _SkyTabIdService_emitIds = function _SkyTabIdService_emitIds() {
46
- __classPrivateFieldGet(this, _SkyTabIdService_ids$, "f").next(Array.from(__classPrivateFieldGet(this, _SkyTabIdService_ids, "f").values()));
47
- };
48
- SkyTabIdService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
49
- SkyTabIdService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabIdService });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabIdService, decorators: [{
51
- type: Injectable
52
- }], ctorParameters: function () { return []; } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWlkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3RhYi1pZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQUVuRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUMxQixJQUFXLEdBQUc7UUFDWixPQUFPLHVCQUFBLElBQUksK0JBQVEsQ0FBQztJQUN0QixDQUFDO0lBTUQ7O1FBSkEsdUNBQTBCO1FBQzFCLHdDQUFpQztRQUNqQywwQ0FBOEI7UUFHNUIsdUJBQUEsSUFBSSx3QkFBUSxJQUFJLEdBQUcsRUFBRSxNQUFBLENBQUM7UUFDdEIsdUJBQUEsSUFBSSx5QkFBUyxJQUFJLGVBQWUsQ0FBVyxFQUFFLENBQUMsTUFBQSxDQUFDO1FBQy9DLHVCQUFBLElBQUksMkJBQVcsdUJBQUEsSUFBSSw2QkFBTSxDQUFDLFlBQVksRUFBRSxNQUFBLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsRUFBVSxFQUFFLFNBQWlCO1FBQzNDLElBQUksQ0FBQyx1QkFBQSxJQUFJLDRCQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLHVCQUFBLElBQUksNEJBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3pELHVCQUFBLElBQUksNEJBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzdCLHVCQUFBLElBQUksNERBQVMsTUFBYixJQUFJLENBQVcsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsRUFBVTtRQUMxQixJQUFJLHVCQUFBLElBQUksNEJBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDckIsdUJBQUEsSUFBSSw0QkFBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQix1QkFBQSxJQUFJLDREQUFTLE1BQWIsSUFBSSxDQUFXLENBQUM7U0FDakI7SUFDSCxDQUFDOzs7SUFHQyx1QkFBQSxJQUFJLDZCQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSw0QkFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDOzRHQXhDVSxlQUFlO2dIQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVHJhY2tzIHRoZSBlbGVtZW50IElEcyBmb3IgYWxsIHRhYnMgd2l0aGluIGEgdGFibGlzdC5cbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGFiSWRTZXJ2aWNlIHtcbiAgcHVibGljIGdldCBpZHMoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLiNpZHNPYnM7XG4gIH1cblxuICAjaWRzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICAjaWRzJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPjtcbiAgI2lkc09iczogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jaWRzID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuI2lkcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG4gICAgdGhpcy4jaWRzT2JzID0gdGhpcy4jaWRzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGVzIGEgdGFiJ3MgSUQgd2l0aCBpdHMgcGFyZW50IHRhYmxpc3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCBBIHVuaXF1ZSBJRCBmb3IgdGhlIHRhYidzIHJlZ2lzdHJhdGlvbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGVsZW1lbnRJZCBUaGUgSUQgYXBwbGllZCB0byB0aGUgdGFiJ3MgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlcihpZDogc3RyaW5nLCBlbGVtZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jaWRzLmhhcyhpZCkgfHwgdGhpcy4jaWRzLmdldChpZCkgIT09IGVsZW1lbnRJZCkge1xuICAgICAgdGhpcy4jaWRzLnNldChpZCwgZWxlbWVudElkKTtcbiAgICAgIHRoaXMuI2VtaXRJZHMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGlzYXNzb2NpYXRlcyBhIHRhYidzIElEIHdpdGggaXRzIHBhcmVudCB0YWJsaXN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgVGhlIElEIHVzZWQgdG8gcmVnaXN0ZXIgdGhlIHRhYi5cbiAgICovXG4gIHB1YmxpYyB1bnJlZ2lzdGVyKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jaWRzLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMuI2lkcy5kZWxldGUoaWQpO1xuICAgICAgdGhpcy4jZW1pdElkcygpO1xuICAgIH1cbiAgfVxuXG4gICNlbWl0SWRzKCk6IHZvaWQge1xuICAgIHRoaXMuI2lkcyQubmV4dChBcnJheS5mcm9tKHRoaXMuI2lkcy52YWx1ZXMoKSkpO1xuICB9XG59XG4iXX0=
@@ -1,162 +0,0 @@
1
- var _SkyTabButtonComponent_instances, _SkyTabButtonComponent__isActive, _SkyTabButtonComponent__isDisabled, _SkyTabButtonComponent__tabStyle, _SkyTabButtonComponent_adapterService, _SkyTabButtonComponent_changeDetectorRef, _SkyTabButtonComponent_elementRef, _SkyTabButtonComponent_tabsetService, _SkyTabButtonComponent_ngUnsubscribe, _SkyTabButtonComponent_updateWizardStepState;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
4
- import { Subject } from 'rxjs';
5
- import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
6
- import { SkyTabButtonAdapterService } from './tab-button-adapter.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./tab-button-adapter.service";
9
- import * as i2 from "./tabset.service";
10
- import * as i3 from "@angular/common";
11
- import * as i4 from "@skyux/indicators";
12
- import * as i5 from "@skyux/i18n";
13
- const DEFAULT_DISABLED = false;
14
- /**
15
- * @internal
16
- */
17
- export class SkyTabButtonComponent {
18
- get active() {
19
- return __classPrivateFieldGet(this, _SkyTabButtonComponent__isActive, "f");
20
- }
21
- set active(value) {
22
- __classPrivateFieldSet(this, _SkyTabButtonComponent__isActive, value, "f");
23
- __classPrivateFieldGet(this, _SkyTabButtonComponent_instances, "m", _SkyTabButtonComponent_updateWizardStepState).call(this);
24
- }
25
- get disabled() {
26
- return __classPrivateFieldGet(this, _SkyTabButtonComponent__isDisabled, "f");
27
- }
28
- set disabled(value) {
29
- __classPrivateFieldSet(this, _SkyTabButtonComponent__isDisabled, value ?? DEFAULT_DISABLED, "f");
30
- __classPrivateFieldGet(this, _SkyTabButtonComponent_instances, "m", _SkyTabButtonComponent_updateWizardStepState).call(this);
31
- }
32
- get tabStyle() {
33
- return __classPrivateFieldGet(this, _SkyTabButtonComponent__tabStyle, "f");
34
- }
35
- set tabStyle(style) {
36
- __classPrivateFieldSet(this, _SkyTabButtonComponent__tabStyle, style, "f");
37
- __classPrivateFieldGet(this, _SkyTabButtonComponent_instances, "m", _SkyTabButtonComponent_updateWizardStepState).call(this);
38
- }
39
- constructor(elementRef, adapterService, changeDetectorRef, tabsetService) {
40
- _SkyTabButtonComponent_instances.add(this);
41
- this.buttonClick = new EventEmitter();
42
- this.closeClick = new EventEmitter();
43
- this.closeBtnTabIndex = '-1';
44
- _SkyTabButtonComponent__isActive.set(this, false);
45
- _SkyTabButtonComponent__isDisabled.set(this, DEFAULT_DISABLED);
46
- _SkyTabButtonComponent__tabStyle.set(this, void 0);
47
- _SkyTabButtonComponent_adapterService.set(this, void 0);
48
- _SkyTabButtonComponent_changeDetectorRef.set(this, void 0);
49
- _SkyTabButtonComponent_elementRef.set(this, void 0);
50
- _SkyTabButtonComponent_tabsetService.set(this, void 0);
51
- _SkyTabButtonComponent_ngUnsubscribe.set(this, new Subject());
52
- __classPrivateFieldSet(this, _SkyTabButtonComponent_adapterService, adapterService, "f");
53
- __classPrivateFieldSet(this, _SkyTabButtonComponent_changeDetectorRef, changeDetectorRef, "f");
54
- __classPrivateFieldSet(this, _SkyTabButtonComponent_elementRef, elementRef, "f");
55
- __classPrivateFieldSet(this, _SkyTabButtonComponent_tabsetService, tabsetService, "f");
56
- }
57
- ngAfterViewInit() {
58
- __classPrivateFieldGet(this, _SkyTabButtonComponent_tabsetService, "f").focusedTabBtnIndex
59
- .pipe(distinctUntilChanged(), takeUntil(__classPrivateFieldGet(this, _SkyTabButtonComponent_ngUnsubscribe, "f")))
60
- .subscribe((focusedIndex) => {
61
- if (this.tabIndex !== undefined && focusedIndex === this.tabIndex) {
62
- this.closeBtnTabIndex = '0';
63
- this.focusBtn();
64
- }
65
- else {
66
- this.closeBtnTabIndex = '-1';
67
- }
68
- __classPrivateFieldGet(this, _SkyTabButtonComponent_changeDetectorRef, "f").markForCheck();
69
- });
70
- }
71
- ngOnDestroy() {
72
- __classPrivateFieldGet(this, _SkyTabButtonComponent_ngUnsubscribe, "f").next();
73
- __classPrivateFieldGet(this, _SkyTabButtonComponent_ngUnsubscribe, "f").complete();
74
- }
75
- onButtonClick(event) {
76
- if (!this.disabled) {
77
- this.buttonClick.emit();
78
- event.preventDefault();
79
- }
80
- }
81
- onTabButtonKeyDown(event) {
82
- /*istanbul ignore else */
83
- if (event.key) {
84
- switch (event.key.toUpperCase()) {
85
- case ' ':
86
- case 'ENTER':
87
- this.onButtonClick(event);
88
- break;
89
- /* istanbul ignore next */
90
- default:
91
- break;
92
- }
93
- }
94
- }
95
- onCloseClick(event) {
96
- this.closeClick.emit();
97
- // Prevent the click event from bubbling up to the anchor tag;
98
- // otherwise it will trigger a page refresh.
99
- event.stopPropagation();
100
- event.preventDefault();
101
- }
102
- focusBtn() {
103
- __classPrivateFieldGet(this, _SkyTabButtonComponent_adapterService, "f").focusButtonLink(__classPrivateFieldGet(this, _SkyTabButtonComponent_elementRef, "f"));
104
- }
105
- onFocus() {
106
- if (this.tabIndex !== undefined) {
107
- __classPrivateFieldGet(this, _SkyTabButtonComponent_tabsetService, "f").setFocusedTabBtnIndex(this.tabIndex);
108
- }
109
- }
110
- }
111
- _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() {
112
- if (this.tabStyle === 'tabs') {
113
- this.wizardStepState = undefined;
114
- }
115
- else {
116
- if (this.active) {
117
- this.wizardStepState = 'current';
118
- }
119
- else if (!this.disabled) {
120
- this.wizardStepState = 'completed';
121
- }
122
- else {
123
- this.wizardStepState = 'unavailable';
124
- }
125
- }
126
- __classPrivateFieldGet(this, _SkyTabButtonComponent_changeDetectorRef, "f").markForCheck();
127
- };
128
- SkyTabButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.SkyTabButtonAdapterService }, { token: i0.ChangeDetectorRef }, { token: i2.SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component });
129
- SkyTabButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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 *ngIf=\"closeable\"\n class=\"sky-btn-tab-close\"\n [tabindex]=\"closeBtnTabIndex\"\n [attr.aria-label]=\"'skyux_tab_close' | skyLibResources : buttonText\"\n [ngClass]=\"{\n 'sky-btn-tab-close-disabled': disabled\n }\"\n (click)=\"onCloseClick($event)\"\n (keydown.enter)=\"onCloseClick($event)\"\n >\n <sky-icon icon=\"remove\"></sky-icon>\n </span>\n </span>\n </a>\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;padding:1px 6px}.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: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabButtonComponent, decorators: [{
131
- type: Component,
132
- 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 *ngIf=\"closeable\"\n class=\"sky-btn-tab-close\"\n [tabindex]=\"closeBtnTabIndex\"\n [attr.aria-label]=\"'skyux_tab_close' | skyLibResources : buttonText\"\n [ngClass]=\"{\n 'sky-btn-tab-close-disabled': disabled\n }\"\n (click)=\"onCloseClick($event)\"\n (keydown.enter)=\"onCloseClick($event)\"\n >\n <sky-icon icon=\"remove\"></sky-icon>\n </span>\n </span>\n </a>\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;padding:1px 6px}.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"] }]
133
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyTabButtonAdapterService }, { type: i0.ChangeDetectorRef }, { type: i2.SkyTabsetService }]; }, propDecorators: { active: [{
134
- type: Input
135
- }], ariaControls: [{
136
- type: Input
137
- }], buttonHref: [{
138
- type: Input
139
- }], buttonId: [{
140
- type: Input
141
- }], buttonText: [{
142
- type: Input
143
- }], buttonTextCount: [{
144
- type: Input
145
- }], closeable: [{
146
- type: Input
147
- }], disabled: [{
148
- type: Input
149
- }], tabIndex: [{
150
- type: Input
151
- }], tabNumber: [{
152
- type: Input
153
- }], totalTabsCount: [{
154
- type: Input
155
- }], tabStyle: [{
156
- type: Input
157
- }], buttonClick: [{
158
- type: Output
159
- }], closeClick: [{
160
- type: Output
161
- }] } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7QUFLMUUsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7QUFJL0I7O0dBRUc7QUFTSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLElBQ1csTUFBTTtRQUNmLE9BQU8sdUJBQUEsSUFBSSx3Q0FBVyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFXLE1BQU0sQ0FBQyxLQUEwQjtRQUMxQyx1QkFBQSxJQUFJLG9DQUFjLEtBQUssTUFBQSxDQUFDO1FBQ3hCLHVCQUFBLElBQUksc0ZBQXVCLE1BQTNCLElBQUksQ0FBeUIsQ0FBQztJQUNoQyxDQUFDO0lBb0JELElBQ1csUUFBUTtRQUNqQixPQUFPLHVCQUFBLElBQUksMENBQWEsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxRQUFRLENBQUMsS0FBMEI7UUFDNUMsdUJBQUEsSUFBSSxzQ0FBZ0IsS0FBSyxJQUFJLGdCQUFn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O2dCQUlLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBV0MsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBV0MsV0FBVztzQkFEakIsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRhYkJ1dHRvbkFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90YWItYnV0dG9uLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lUYWJJbmRleCB9IGZyb20gJy4vdGFiLWluZGV4JztcbmltcG9ydCB7IFNreVRhYnNldFN0eWxlIH0gZnJvbSAnLi90YWJzZXQtc3R5bGUnO1xuaW1wb3J0IHsgU2t5VGFic2V0U2VydmljZSB9IGZyb20gJy4vdGFic2V0LnNlcnZpY2UnO1xuXG5jb25zdCBERUZBVUxUX0RJU0FCTEVEID0gZmFsc2U7XG5cbnR5cGUgU2t5V2l6YXJkU3RlcFN0YXRlID0gJ2NvbXBsZXRlZCcgfCAnY3VycmVudCcgfCAndW5hdmFpbGFibGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGFiLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lUYWJCdXR0b25BZGFwdGVyU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUYWJCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzQWN0aXZlO1xuICB9XG4gIHB1YmxpYyBzZXQgYWN0aXZlKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2lzQWN0aXZlID0gdmFsdWU7XG4gICAgdGhpcy4jdXBkYXRlV2l6YXJkU3RlcFN0YXRlKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUNvbnRyb2xzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvbkhyZWY6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25UZXh0Q291bnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2xvc2VhYmxlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19pc0Rpc2FibGVkID0gdmFsdWUgPz8gREVGQVVMVF9ESVNBQkxFRDtcbiAgICB0aGlzLiN1cGRhdGVXaXphcmRTdGVwU3RhdGUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJJbmRleDogU2t5VGFiSW5kZXggfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRhYk51bWJlcjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0b3RhbFRhYnNDb3VudDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdGFiU3R5bGUoKTogU2t5VGFic2V0U3R5bGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdGFiU3R5bGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHRhYlN0eWxlKHN0eWxlOiBTa3lUYWJzZXRTdHlsZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190YWJTdHlsZSA9IHN0eWxlO1xuICAgIHRoaXMuI3VwZGF0ZVdpemFyZFN0ZXBTdGF0ZSgpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBidXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsb3NlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBhZGFwdGVyU2VydmljZTogU2t5VGFiQnV0dG9uQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHRhYnNldFNlcnZpY2U6IFNreVRhYnNldFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UgPSBhZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZiA9IGNoYW5nZURldGVjdG9yUmVmO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICAgIHRoaXMuI3RhYnNldFNlcnZpY2UgPSB0YWJzZXRTZXJ2aWNlO1xuICB9XG5cbiAgcHVibGljIGNsb3NlQnRuVGFiSW5kZXggPSAnLTEnO1xuICBwdWJsaWMgd2l6YXJkU3RlcFN0YXRlOiBTa3lXaXphcmRTdGVwU3RhdGUgfCB1bmRlZmluZWQ7XG4gICNfaXNBY3RpdmU6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcbiAgI19pc0Rpc2FibGVkID0gREVGQVVMVF9ESVNBQkxFRDtcbiAgI190YWJTdHlsZTogU2t5VGFic2V0U3R5bGUgfCB1bmRlZmluZWQ7XG4gICNhZGFwdGVyU2VydmljZTogU2t5VGFiQnV0dG9uQWRhcHRlclNlcnZpY2U7XG4gICNjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAjdGFic2V0U2VydmljZTogU2t5VGFic2V0U2VydmljZTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jdGFic2V0U2VydmljZS5mb2N1c2VkVGFiQnRuSW5kZXhcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZvY3VzZWRJbmRleCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50YWJJbmRleCAhPT0gdW5kZWZpbmVkICYmIGZvY3VzZWRJbmRleCA9PT0gdGhpcy50YWJJbmRleCkge1xuICAgICAgICAgIHRoaXMuY2xvc2VCdG5UYWJJbmRleCA9ICcwJztcbiAgICAgICAgICB0aGlzLmZvY3VzQnRuKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jbG9zZUJ0blRhYkluZGV4ID0gJy0xJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJ1dHRvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCgpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25UYWJCdXR0b25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChldmVudC5rZXkpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnQua2V5LnRvVXBwZXJDYXNlKCkpIHtcbiAgICAgICAgY2FzZSAnICc6XG4gICAgICAgIGNhc2UgJ0VOVEVSJzpcbiAgICAgICAgICB0aGlzLm9uQnV0dG9uQ2xpY2soZXZlbnQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VDbGljay5lbWl0KCk7XG5cbiAgICAvLyBQcmV2ZW50IHRoZSBjbGljayBldmVudCBmcm9tIGJ1YmJsaW5nIHVwIHRvIHRoZSBhbmNob3IgdGFnO1xuICAgIC8vIG90aGVyd2lzZSBpdCB3aWxsIHRyaWdnZXIgYSBwYWdlIHJlZnJlc2guXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0J0bigpOiB2b2lkIHtcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5mb2N1c0J1dHRvbkxpbmsodGhpcy4jZWxlbWVudFJlZik7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50YWJJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLiN0YWJzZXRTZXJ2aWNlLnNldEZvY3VzZWRUYWJCdG5JbmRleCh0aGlzLnRhYkluZGV4KTtcbiAgICB9XG4gIH1cblxuICAjdXBkYXRlV2l6YXJkU3RlcFN0YXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRhYlN0eWxlID09PSAndGFicycpIHtcbiAgICAgIHRoaXMud2l6YXJkU3RlcFN0YXRlID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgICAgdGhpcy53aXphcmRTdGVwU3RhdGUgPSAnY3VycmVudCc7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMud2l6YXJkU3RlcFN0YXRlID0gJ2NvbXBsZXRlZCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLndpemFyZFN0ZXBTdGF0ZSA9ICd1bmF2YWlsYWJsZSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktYnRuLXRhYi13cmFwcGVyXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktYnRuLXRhYi13cmFwcGVyLXNlbGVjdGVkJzogYWN0aXZlLFxuICAgICdza3ktYnRuLXRhYi13cmFwcGVyLWRpc2FibGVkJzogZGlzYWJsZWRcbiAgfVwiXG4+XG4gIDxhXG4gICAgI3RhYkJ1dHRvbkVsXG4gICAgY2xhc3M9XCJza3ktYnRuLXRhYlwiXG4gICAgcm9sZT1cInRhYlwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHNcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYWN0aXZlXCJcbiAgICBbYXR0ci5ocmVmXT1cImJ1dHRvbkhyZWZcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAodGFiU3R5bGUgPT09ICd3aXphcmQnXG4gICAgICAgID8gJ3NreXV4X3dpemFyZF9zcl9zdGVwXycgKyB3aXphcmRTdGVwU3RhdGVcbiAgICAgICAgOiAnc2t5dXhfdGFic19zcl90YWJfb3JkZXInXG4gICAgICApIHwgc2t5TGliUmVzb3VyY2VzIDogdGFiTnVtYmVyIDogdG90YWxUYWJzQ291bnQgOiBidXR0b25UZXh0XG4gICAgXCJcbiAgICBbaWRdPVwiYnV0dG9uSWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktYnRuLXRhYi13aXphcmQnOiB0YWJTdHlsZSA9PT0gJ3dpemFyZCcsXG4gICAgICAnc2t5LWJ0bi10YWItc2VsZWN0ZWQnOiBhY3RpdmUsXG4gICAgICAnc2t5LWJ0bi10YWItZGlzYWJsZWQnOiBkaXNhYmxlZCxcbiAgICAgICdza3ktdGFiLWJ0bi1jbG9zZWFibGUnOiBjbG9zZWFibGVcbiAgICB9XCJcbiAgICBbdGFiaW5kZXhdPVwiYWN0aXZlID8gJzAnIDogJy0xJ1wiXG4gICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgKGtleWRvd24pPVwib25UYWJCdXR0b25LZXlEb3duKCRldmVudClcIlxuICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICA+XG4gICAgPHNwYW4gY2xhc3M9XCJza3ktdGFiLWhlYWRpbmdcIiBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCI+XG4gICAgICB7eyBidXR0b25UZXh0IH19XG4gICAgICA8c3BhbiAqbmdJZj1cImJ1dHRvblRleHRDb3VudCAhPT0gdW5kZWZpbmVkXCIgY2xhc3M9XCJza3ktdGFiLWhlYWRlci1jb3VudFwiPlxuICAgICAgICB7eyBidXR0b25UZXh0Q291bnQgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwiY2xvc2VhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuLXRhYi1jbG9zZVwiXG4gICAgICAgIFt0YWJpbmRleF09XCJjbG9zZUJ0blRhYkluZGV4XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfdGFiX2Nsb3NlJyB8IHNreUxpYlJlc291cmNlcyA6IGJ1dHRvblRleHRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1idG4tdGFiLWNsb3NlLWRpc2FibGVkJzogZGlzYWJsZWRcbiAgICAgICAgfVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2xvc2VDbGljaygkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJyZW1vdmVcIj48L3NreS1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9hPlxuPC9kaXY+XG4iXX0=
@@ -1,198 +0,0 @@
1
- var _SkyTabComponent_instances, _SkyTabComponent__active, _SkyTabComponent_activeChange, _SkyTabComponent__permalinkValue, _SkyTabComponent_stateChange, _SkyTabComponent__tabHeading, _SkyTabComponent__tabIndex, _SkyTabComponent__layout, _SkyTabComponent_tabIndexChange, _SkyTabComponent_changeDetector, _SkyTabComponent_permalinkService, _SkyTabComponent_tabsetService, _SkyTabComponent_setPermalinkValueOrDefault;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
4
- import { BehaviorSubject } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./tabset-permalink.service";
7
- import * as i2 from "./tabset.service";
8
- const LAYOUT_CLASS_PREFIX = 'sky-layout-host-';
9
- const LAYOUT_DEFAULT = 'none';
10
- let nextId = 0;
11
- export class SkyTabComponent {
12
- /**
13
- * Whether the tab is active when the tabset loads. After initialization, the `active`
14
- * property on the tabset component should be used to set the active tab.
15
- * @default false
16
- */
17
- set active(value) {
18
- if (value !== undefined && !!value !== __classPrivateFieldGet(this, _SkyTabComponent__active, "f")) {
19
- __classPrivateFieldSet(this, _SkyTabComponent__active, value, "f");
20
- __classPrivateFieldGet(this, _SkyTabComponent_activeChange, "f").next();
21
- }
22
- }
23
- get active() {
24
- return __classPrivateFieldGet(this, _SkyTabComponent__active, "f");
25
- }
26
- get activeChange() {
27
- return __classPrivateFieldGet(this, _SkyTabComponent_activeChange, "f");
28
- }
29
- /**
30
- * The custom query parameter value for the tab.
31
- * This works in conjunction with the tabset's `permalinkId` to distinguish
32
- * the tab's unique state in the URL by generating a query parameter that is
33
- * written as `?<queryParam>-active-tab=<sanitized-tab-heading`.
34
- * By default, the query parameter's value is parsed automatically from the tab's heading text.
35
- * This input only applies when the tabset's `tabStyle` is `"tabs"`.
36
- */
37
- set permalinkValue(value) {
38
- __classPrivateFieldSet(this, _SkyTabComponent__permalinkValue, value, "f");
39
- __classPrivateFieldGet(this, _SkyTabComponent_instances, "m", _SkyTabComponent_setPermalinkValueOrDefault).call(this);
40
- }
41
- get permalinkValue() {
42
- return __classPrivateFieldGet(this, _SkyTabComponent__permalinkValue, "f");
43
- }
44
- /**
45
- * The tab header.
46
- * When using tabs as the main navigation on a page,
47
- * use [the Angular `Title` service](https://angular.io/docs/ts/latest/cookbook/set-document-title.html)
48
- * and [the SKY UX `title` configuration property](https://developer.blackbaud.com/skyux/learn/reference/configuration#app)
49
- * to reflect the tab header in the page title.
50
- * @required
51
- */
52
- set tabHeading(value) {
53
- __classPrivateFieldSet(this, _SkyTabComponent__tabHeading, value, "f");
54
- __classPrivateFieldGet(this, _SkyTabComponent_instances, "m", _SkyTabComponent_setPermalinkValueOrDefault).call(this);
55
- }
56
- get tabHeading() {
57
- return __classPrivateFieldGet(this, _SkyTabComponent__tabHeading, "f");
58
- }
59
- /**
60
- * The unique identifier for the tab.
61
- * If not defined, the identifier is set to the position of the tab on load, starting with `0`.
62
- */
63
- set tabIndex(value) {
64
- if (value !== __classPrivateFieldGet(this, _SkyTabComponent__tabIndex, "f") &&
65
- value !== undefined &&
66
- __classPrivateFieldGet(this, _SkyTabComponent__tabIndex, "f") !== undefined) {
67
- __classPrivateFieldGet(this, _SkyTabComponent_tabsetService, "f").updateTabIndex(__classPrivateFieldGet(this, _SkyTabComponent__tabIndex, "f"), value);
68
- __classPrivateFieldGet(this, _SkyTabComponent_tabIndexChange, "f").next(value);
69
- }
70
- __classPrivateFieldSet(this, _SkyTabComponent__tabIndex, value, "f");
71
- }
72
- get tabIndex() {
73
- return __classPrivateFieldGet(this, _SkyTabComponent__tabIndex, "f");
74
- }
75
- /**
76
- * The page layout that corresponds with the top-level component type
77
- * used on the page. For laying out custom content, use `auto` to allow
78
- * the page contents to expand beyond the bottom of the browser window
79
- * or `fit` to constrain the page contents to the available viewport.
80
- * @default "auto"
81
- */
82
- set layout(value) {
83
- const layout = value || LAYOUT_DEFAULT;
84
- __classPrivateFieldSet(this, _SkyTabComponent__layout, layout, "f");
85
- this.cssClass = `${LAYOUT_CLASS_PREFIX}${layout}`;
86
- if (this.active) {
87
- __classPrivateFieldGet(this, _SkyTabComponent_tabsetService, "f").updateActiveTabLayout(layout);
88
- }
89
- }
90
- get layout() {
91
- return __classPrivateFieldGet(this, _SkyTabComponent__layout, "f");
92
- }
93
- /**
94
- * Alerts the tabset component when this component has changes that need to be reflected in the UI.
95
- */
96
- get stateChange() {
97
- return __classPrivateFieldGet(this, _SkyTabComponent_stateChange, "f");
98
- }
99
- get tabIndexChange() {
100
- return __classPrivateFieldGet(this, _SkyTabComponent_tabIndexChange, "f");
101
- }
102
- constructor(changeDetector, permalinkService, tabsetService) {
103
- _SkyTabComponent_instances.add(this);
104
- this.cssClass = `${LAYOUT_CLASS_PREFIX}${LAYOUT_DEFAULT}`;
105
- /**
106
- * Fires when users click the button to close the tab.
107
- * The close button is added to the tab when you specify a listener for this event.
108
- * This event only applies when the tabset's `tabStyle` is `"tabs"`.
109
- */
110
- this.close = new EventEmitter(); // eslint-disable-line @angular-eslint/no-output-native
111
- this.permalinkValueOrDefault = '';
112
- this.showContent = false;
113
- _SkyTabComponent__active.set(this, false);
114
- _SkyTabComponent_activeChange.set(this, void 0);
115
- _SkyTabComponent__permalinkValue.set(this, void 0);
116
- _SkyTabComponent_stateChange.set(this, void 0);
117
- _SkyTabComponent__tabHeading.set(this, void 0);
118
- _SkyTabComponent__tabIndex.set(this, void 0);
119
- _SkyTabComponent__layout.set(this, LAYOUT_DEFAULT);
120
- _SkyTabComponent_tabIndexChange.set(this, void 0);
121
- _SkyTabComponent_changeDetector.set(this, void 0);
122
- _SkyTabComponent_permalinkService.set(this, void 0);
123
- _SkyTabComponent_tabsetService.set(this, void 0);
124
- __classPrivateFieldSet(this, _SkyTabComponent_changeDetector, changeDetector, "f");
125
- __classPrivateFieldSet(this, _SkyTabComponent_permalinkService, permalinkService, "f");
126
- __classPrivateFieldSet(this, _SkyTabComponent_tabsetService, tabsetService, "f");
127
- const id = nextId++;
128
- this.tabPanelId = `sky-tab-${id}`;
129
- this.tabButtonId = `${this.tabPanelId}-nav-btn`;
130
- __classPrivateFieldSet(this, _SkyTabComponent_activeChange, new BehaviorSubject(undefined), "f");
131
- __classPrivateFieldSet(this, _SkyTabComponent_stateChange, new BehaviorSubject(undefined), "f");
132
- __classPrivateFieldSet(this, _SkyTabComponent_tabIndexChange, new BehaviorSubject(undefined), "f");
133
- __classPrivateFieldGet(this, _SkyTabComponent_instances, "m", _SkyTabComponent_setPermalinkValueOrDefault).call(this);
134
- }
135
- ngOnChanges(changes) {
136
- if ((changes['disabled'] && !changes['disabled'].firstChange) ||
137
- (changes['tabHeading'] && !changes['tabHeading'].firstChange) ||
138
- (changes['tabHeaderCount'] && !changes['tabHeaderCount'].firstChange) ||
139
- (changes['permalinkValue'] && !changes['permalinkValue'].firstChange)) {
140
- __classPrivateFieldGet(this, _SkyTabComponent_stateChange, "f").next();
141
- }
142
- }
143
- ngOnDestroy() {
144
- __classPrivateFieldGet(this, _SkyTabComponent_activeChange, "f").complete();
145
- __classPrivateFieldGet(this, _SkyTabComponent_stateChange, "f").complete();
146
- __classPrivateFieldGet(this, _SkyTabComponent_tabIndexChange, "f").complete();
147
- if (this.tabIndex !== undefined) {
148
- __classPrivateFieldGet(this, _SkyTabComponent_tabsetService, "f").unregisterTab(this.tabIndex);
149
- }
150
- }
151
- init() {
152
- __classPrivateFieldSet(this, _SkyTabComponent__tabIndex, __classPrivateFieldGet(this, _SkyTabComponent_tabsetService, "f").registerTab(this.tabIndex), "f");
153
- }
154
- activate() {
155
- __classPrivateFieldSet(this, _SkyTabComponent__active, true, "f");
156
- this.showContent = true;
157
- __classPrivateFieldGet(this, _SkyTabComponent_changeDetector, "f").markForCheck();
158
- }
159
- deactivate() {
160
- __classPrivateFieldSet(this, _SkyTabComponent__active, false, "f");
161
- this.showContent = false;
162
- __classPrivateFieldGet(this, _SkyTabComponent_changeDetector, "f").markForCheck();
163
- }
164
- isCloseable() {
165
- return this.close.observers.length > 0;
166
- }
167
- }
168
- _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__layout = 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() {
169
- this.permalinkValueOrDefault =
170
- __classPrivateFieldGet(this, _SkyTabComponent_permalinkService, "f").urlify(this.permalinkValue) ||
171
- __classPrivateFieldGet(this, _SkyTabComponent_permalinkService, "f").urlify(this.tabHeading);
172
- };
173
- SkyTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyTabsetPermalinkService }, { token: i2.SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component });
174
- SkyTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyTabComponent, selector: "sky-tab", inputs: { active: "active", disabled: "disabled", permalinkValue: "permalinkValue", tabHeaderCount: "tabHeaderCount", tabHeading: "tabHeading", tabIndex: "tabIndex", layout: "layout" }, outputs: { close: "close" }, host: { properties: { "class": "this.cssClass" } }, 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", styles: [":host.sky-layout-host-fit{display:flex;flex-grow:1;position:static}:host.sky-layout-host-fit .sky-tab{flex-grow:1;position:relative}.sky-tab{flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);padding:var(--sky-layout-host-content-spacing, 0);position:var(--sky-layout-host-content-position, static)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabComponent, decorators: [{
176
- type: Component,
177
- args: [{ selector: 'sky-tab', changeDetection: ChangeDetectionStrategy.OnPush, 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", styles: [":host.sky-layout-host-fit{display:flex;flex-grow:1;position:static}:host.sky-layout-host-fit .sky-tab{flex-grow:1;position:relative}.sky-tab{flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);padding:var(--sky-layout-host-content-spacing, 0);position:var(--sky-layout-host-content-position, static)}\n"] }]
178
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyTabsetPermalinkService }, { type: i2.SkyTabsetService }]; }, propDecorators: { active: [{
179
- type: Input
180
- }], disabled: [{
181
- type: Input
182
- }], permalinkValue: [{
183
- type: Input
184
- }], tabHeaderCount: [{
185
- type: Input
186
- }], tabHeading: [{
187
- type: Input
188
- }], tabIndex: [{
189
- type: Input
190
- }], layout: [{
191
- type: Input
192
- }], cssClass: [{
193
- type: HostBinding,
194
- args: ['class']
195
- }], close: [{
196
- type: Output
197
- }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7OztBQU9uRCxNQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO0FBQy9DLE1BQU0sY0FBYyxHQUFxQixNQUFNLENBQUM7QUFFaEQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBUWYsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7T0FJRztJQUNILElBQ1csTUFBTSxDQUFDLEtBQTBCO1FBQzFDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLHVCQUFBLElBQUksZ0NBQVMsRUFBRTtZQUNwRCx1QkFBQSxJQUFJLDRCQUFZLEtBQUssTUFBQSxDQUFDO1lBQ3RCLHVCQUFBLElBQUkscUNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLHVCQUFBLElBQUksZ0NBQVMsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sdUJBQUEsSUFBSSxxQ0FBYyxDQUFDO0lBQzVCLENBQUM7SUFTRDs7Ozs7OztPQU9HO0lBQ0gsSUFDVyxjQUFjLENBQUMsS0FBeUI7UUFDakQsdUJBQUEs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UTtzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBU2IsS0FBSztzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreVRhYkluZGV4IH0gZnJvbSAnLi90YWItaW5kZXgnO1xuaW1wb3J0IHsgU2t5VGFiTGF5b3V0VHlwZSB9IGZyb20gJy4vdGFiLWxheW91dC10eXBlJztcbmltcG9ydCB7IFNreVRhYnNldFBlcm1hbGlua1NlcnZpY2UgfSBmcm9tICcuL3RhYnNldC1wZXJtYWxpbmsuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lUYWJzZXRTZXJ2aWNlIH0gZnJvbSAnLi90YWJzZXQuc2VydmljZSc7XG5cbmNvbnN0IExBWU9VVF9DTEFTU19QUkVGSVggPSAnc2t5LWxheW91dC1ob3N0LSc7XG5jb25zdCBMQVlPVVRfREVGQVVMVDogU2t5VGFiTGF5b3V0VHlwZSA9ICdub25lJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10YWInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUYWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0YWIgaXMgYWN0aXZlIHdoZW4gdGhlIHRhYnNldCBsb2Fkcy4gQWZ0ZXIgaW5pdGlhbGl6YXRpb24sIHRoZSBgYWN0aXZlYFxuICAgKiBwcm9wZXJ0eSBvbiB0aGUgdGFic2V0IGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZCB0byBzZXQgdGhlIGFjdGl2ZSB0YWIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFjdGl2ZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmICEhdmFsdWUgIT09IHRoaXMuI19hY3RpdmUpIHtcbiAgICAgIHRoaXMuI19hY3RpdmUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI2FjdGl2ZUNoYW5nZS5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19hY3RpdmU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jYWN0aXZlQ2hhbmdlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdGFiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tIHF1ZXJ5IHBhcmFtZXRlciB2YWx1ZSBmb3IgdGhlIHRhYi5cbiAgICogVGhpcyB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSB0YWJzZXQncyBgcGVybWFsaW5rSWRgIHRvIGRpc3Rpbmd1aXNoXG4gICAqIHRoZSB0YWIncyB1bmlxdWUgc3RhdGUgaW4gdGhlIFVSTCBieSBnZW5lcmF0aW5nIGEgcXVlcnkgcGFyYW1ldGVyIHRoYXQgaXNcbiAgICogd3JpdHRlbiBhcyBgPzxxdWVyeVBhcmFtPi1hY3RpdmUtdGFiPTxzYW5pdGl6ZWQtdGFiLWhlYWRpbmdgLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgcXVlcnkgcGFyYW1ldGVyJ3MgdmFsdWUgaXMgcGFyc2VkIGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgdGFiJ3MgaGVhZGluZyB0ZXh0LlxuICAgKiBUaGlzIGlucHV0IG9ubHkgYXBwbGllcyB3aGVuIHRoZSB0YWJzZXQncyBgdGFiU3R5bGVgIGlzIGBcInRhYnNcImAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHBlcm1hbGlua1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfcGVybWFsaW5rVmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLiNzZXRQZXJtYWxpbmtWYWx1ZU9yRGVmYXVsdCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBwZXJtYWxpbmtWYWx1ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfcGVybWFsaW5rVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheXMgYSBjb3VudGVyIGJlc2lkZSB0aGUgdGFiIGhlYWRlci5cbiAgICogVGhpcyBpbnB1dCBvbmx5IGFwcGxpZXMgd2hlbiB0aGUgdGFic2V0J3MgYHRhYlN0eWxlYCBpcyBgXCJ0YWJzXCJgLlxuICAgKiBAZGVwcmVjYXRlZCBTS1kgVVggbm8gbG9uZ2VyIHJlY29tbWVuZHMgYWRkaW5nIGNvdW50cyB0byB0YWJzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYkhlYWRlckNvdW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWIgaGVhZGVyLlxuICAgKiBXaGVuIHVzaW5nIHRhYnMgYXMgdGhlIG1haW4gbmF2aWdhdGlvbiBvbiBhIHBhZ2UsXG4gICAqIHVzZSBbdGhlIEFuZ3VsYXIgYFRpdGxlYCBzZXJ2aWNlXShodHRwczovL2FuZ3VsYXIuaW8vZG9jcy90cy9sYXRlc3QvY29va2Jvb2svc2V0LWRvY3VtZW50LXRpdGxlLmh0bWwpXG4gICAqIGFuZCBbdGhlIFNLWSBVWCBgdGl0bGVgIGNvbmZpZ3VyYXRpb24gcHJvcGVydHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vcmVmZXJlbmNlL2NvbmZpZ3VyYXRpb24jYXBwKVxuICAgKiB0byByZWZsZWN0IHRoZSB0YWIgaGVhZGVyIGluIHRoZSBwYWdlIHRpdGxlLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGFiSGVhZGluZyh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3RhYkhlYWRpbmcgPSB2YWx1ZTtcblxuICAgIHRoaXMuI3NldFBlcm1hbGlua1ZhbHVlT3JEZWZhdWx0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRhYkhlYWRpbmcoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3RhYkhlYWRpbmc7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdGFiLlxuICAgKiBJZiBub3QgZGVmaW5lZCwgdGhlIGlkZW50aWZpZXIgaXMgc2V0IHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUgdGFiIG9uIGxvYWQsIHN0YXJ0aW5nIHdpdGggYDBgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0YWJJbmRleCh2YWx1ZTogU2t5VGFiSW5kZXggfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSAhPT0gdGhpcy4jX3RhYkluZGV4ICYmXG4gICAgICB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLiNfdGFiSW5kZXggIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgdGhpcy4jdGFic2V0U2VydmljZS51cGRhdGVUYWJJbmRleCh0aGlzLiNfdGFiSW5kZXgsIHZhbHVlKTtcbiAgICAgIHRoaXMuI3RhYkluZGV4Q2hhbmdlLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuI190YWJJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJJbmRleCgpOiBTa3lUYWJJbmRleCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI190YWJJbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcGFnZSBsYXlvdXQgdGhhdCBjb3JyZXNwb25kcyB3aXRoIHRoZSB0b3AtbGV2ZWwgY29tcG9uZW50IHR5cGVcbiAgICogdXNlZCBvbiB0aGUgcGFnZS4gRm9yIGxheWluZyBvdXQgY3VzdG9tIGNvbnRlbnQsIHVzZSBgYXV0b2AgdG8gYWxsb3dcbiAgICogdGhlIHBhZ2UgY29udGVudHMgdG8gZXhwYW5kIGJleW9uZCB0aGUgYm90dG9tIG9mIHRoZSBicm93c2VyIHdpbmRvd1xuICAgKiBvciBgZml0YCB0byBjb25zdHJhaW4gdGhlIHBhZ2UgY29udGVudHMgdG8gdGhlIGF2YWlsYWJsZSB2aWV3cG9ydC5cbiAgICogQGRlZmF1bHQgXCJhdXRvXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbGF5b3V0KHZhbHVlOiBTa3lUYWJMYXlvdXRUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbGF5b3V0ID0gdmFsdWUgfHwgTEFZT1VUX0RFRkFVTFQ7XG5cbiAgICB0aGlzLiNfbGF5b3V0ID0gbGF5b3V0O1xuICAgIHRoaXMuY3NzQ2xhc3MgPSBgJHtMQVlPVVRfQ0xBU1NfUFJFRklYfSR7bGF5b3V0fWA7XG5cbiAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgIHRoaXMuI3RhYnNldFNlcnZpY2UudXBkYXRlQWN0aXZlVGFiTGF5b3V0KGxheW91dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBsYXlvdXQoKTogU2t5VGFiTGF5b3V0VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuI19sYXlvdXQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIGNzc0NsYXNzID0gYCR7TEFZT1VUX0NMQVNTX1BSRUZJWH0ke0xBWU9VVF9ERUZBVUxUfWA7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIGJ1dHRvbiB0byBjbG9zZSB0aGUgdGFiLlxuICAgKiBUaGUgY2xvc2UgYnV0dG9uIGlzIGFkZGVkIHRvIHRoZSB0YWIgd2hlbiB5b3Ugc3BlY2lmeSBhIGxpc3RlbmVyIGZvciB0aGlzIGV2ZW50LlxuICAgKiBUaGlzIGV2ZW50IG9ubHkgYXBwbGllcyB3aGVuIHRoZSB0YWJzZXQncyBgdGFiU3R5bGVgIGlzIGBcInRhYnNcImAuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG5cbiAgLyoqXG4gICAqIEFsZXJ0cyB0aGUgdGFic2V0IGNvbXBvbmVudCB3aGVuIHRoaXMgY29tcG9uZW50IGhhcyBjaGFuZ2VzIHRoYXQgbmVlZCB0byBiZSByZWZsZWN0ZWQgaW4gdGhlIFVJLlxuICAgKi9cbiAgcHVibGljIGdldCBzdGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jc3RhdGVDaGFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRhYkluZGV4Q2hhbmdlKCk6IE9ic2VydmFibGU8U2t5VGFiSW5kZXggfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jdGFiSW5kZXhDaGFuZ2U7XG4gIH1cblxuICBwdWJsaWMgcGVybWFsaW5rVmFsdWVPckRlZmF1bHQgPSAnJztcblxuICBwdWJsaWMgc2hvd0NvbnRlbnQgPSBmYWxzZTtcblxuICBwdWJsaWMgdGFiQnV0dG9uSWQ6IHN0cmluZztcblxuICBwdWJsaWMgdGFiUGFuZWxJZDogc3RyaW5nO1xuXG4gICNfYWN0aXZlID0gZmFsc2U7XG5cbiAgI2FjdGl2ZUNoYW5nZTogQmVoYXZpb3JTdWJqZWN0PHZvaWQgfCB1bmRlZmluZWQ+O1xuXG4gICNfcGVybWFsaW5rVmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjc3RhdGVDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDx2b2lkPjtcblxuICAjX3RhYkhlYWRpbmc6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjX3RhYkluZGV4OiBTa3lUYWJJbmRleCB8IHVuZGVmaW5lZDtcblxuICAjX2xheW91dDogU2t5VGFiTGF5b3V0VHlwZSA9IExBWU9VVF9ERUZBVUxUO1xuXG4gICN0YWJJbmRleENoYW5nZTogQmVoYXZpb3JTdWJqZWN0PFNreVRhYkluZGV4IHwgdW5kZWZpbmVkPjtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjcGVybWFsaW5rU2VydmljZTogU2t5VGFic2V0UGVybWFsaW5rU2VydmljZTtcbiAgI3RhYnNldFNlcnZpY2U6IFNreVRhYnNldFNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHBlcm1hbGlua1NlcnZpY2U6IFNreVRhYnNldFBlcm1hbGlua1NlcnZpY2UsXG4gICAgdGFic2V0U2VydmljZTogU2t5VGFic2V0U2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI3Blcm1hbGlua1NlcnZpY2UgPSBwZXJtYWxpbmtTZXJ2aWNlO1xuICAgIHRoaXMuI3RhYnNldFNlcnZpY2UgPSB0YWJzZXRTZXJ2aWNlO1xuICAgIGNvbnN0IGlkID0gbmV4dElkKys7XG4gICAgdGhpcy50YWJQYW5lbElkID0gYHNreS10YWItJHtpZH1gO1xuICAgIHRoaXMudGFiQnV0dG9uSWQgPSBgJHt0aGlzLnRhYlBhbmVsSWR9LW5hdi1idG5gO1xuXG4gICAgdGhpcy4jYWN0aXZlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIHRoaXMuI3N0YXRlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuICAgIHRoaXMuI3RhYkluZGV4Q2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lUYWJJbmRleCB8IHVuZGVmaW5lZD4oXG4gICAgICB1bmRlZmluZWRcbiAgICApO1xuXG4gICAgdGhpcy4jc2V0UGVybWFsaW5rVmFsdWVPckRlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKGNoYW5nZXNbJ2Rpc2FibGVkJ10gJiYgIWNoYW5nZXNbJ2Rpc2FibGVkJ10uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAoY2hhbmdlc1sndGFiSGVhZGluZyddICYmICFjaGFuZ2VzWyd0YWJIZWFkaW5nJ10uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAoY2hhbmdlc1sndGFiSGVhZGVyQ291bnQnXSAmJiAhY2hhbmdlc1sndGFiSGVhZGVyQ291bnQnXS5maXJzdENoYW5nZSkgfHxcbiAgICAgIChjaGFuZ2VzWydwZXJtYWxpbmtWYWx1ZSddICYmICFjaGFuZ2VzWydwZXJtYWxpbmtWYWx1ZSddLmZpcnN0Q2hhbmdlKVxuICAgICkge1xuICAgICAgdGhpcy4jc3RhdGVDaGFuZ2UubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNhY3RpdmVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNzdGF0ZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3RhYkluZGV4Q2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgaWYgKHRoaXMudGFiSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jdGFic2V0U2VydmljZS51bnJlZ2lzdGVyVGFiKHRoaXMudGFiSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI190YWJJbmRleCA9IHRoaXMuI3RhYnNldFNlcnZpY2UucmVnaXN0ZXJUYWIodGhpcy50YWJJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy4jX2FjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IHRydWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNfYWN0aXZlID0gZmFsc2U7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IGZhbHNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGlzQ2xvc2VhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsb3NlLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgI3NldFBlcm1hbGlua1ZhbHVlT3JEZWZhdWx0KCk6IHZvaWQge1xuICAgIHRoaXMucGVybWFsaW5rVmFsdWVPckRlZmF1bHQgPVxuICAgICAgdGhpcy4jcGVybWFsaW5rU2VydmljZS51cmxpZnkodGhpcy5wZXJtYWxpbmtWYWx1ZSkgfHxcbiAgICAgIHRoaXMuI3Blcm1hbGlua1NlcnZpY2UudXJsaWZ5KHRoaXMudGFiSGVhZGluZyk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdGFiXCJcbiAgcm9sZT1cInRhYnBhbmVsXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYkJ1dHRvbklkXCJcbiAgW2hpZGRlbl09XCIhc2hvd0NvbnRlbnRcIlxuICBbaWRdPVwidGFiUGFuZWxJZFwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -1,68 +0,0 @@
1
- var _SkyTabsetAdapterService_instances, _SkyTabsetAdapterService_currentOverflow, _SkyTabsetAdapterService_tabsetRef, _SkyTabsetAdapterService_tabsOffsetLeft, _SkyTabsetAdapterService_overflowChange, _SkyTabsetAdapterService_getTabsOffsetLeft;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Injectable } from '@angular/core';
4
- import { BehaviorSubject } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * @internal
8
- */
9
- export class SkyTabsetAdapterService {
10
- get overflowChange() {
11
- return __classPrivateFieldGet(this, _SkyTabsetAdapterService_overflowChange, "f");
12
- }
13
- constructor() {
14
- _SkyTabsetAdapterService_instances.add(this);
15
- _SkyTabsetAdapterService_currentOverflow.set(this, false);
16
- _SkyTabsetAdapterService_tabsetRef.set(this, void 0);
17
- _SkyTabsetAdapterService_tabsOffsetLeft.set(this, void 0);
18
- _SkyTabsetAdapterService_overflowChange.set(this, void 0);
19
- __classPrivateFieldSet(this, _SkyTabsetAdapterService_overflowChange, new BehaviorSubject(false), "f");
20
- }
21
- ngOnDestroy() {
22
- __classPrivateFieldGet(this, _SkyTabsetAdapterService_overflowChange, "f").complete();
23
- }
24
- registerTabset(tabsetRef) {
25
- __classPrivateFieldSet(this, _SkyTabsetAdapterService_tabsetRef, tabsetRef, "f");
26
- __classPrivateFieldSet(this, _SkyTabsetAdapterService_tabsOffsetLeft, __classPrivateFieldGet(this, _SkyTabsetAdapterService_instances, "m", _SkyTabsetAdapterService_getTabsOffsetLeft).call(this, tabsetRef.nativeElement), "f");
27
- }
28
- /**
29
- * Detects if the tab buttons are wider than the tabset container.
30
- */
31
- detectOverflow() {
32
- const nativeElement = __classPrivateFieldGet(this, _SkyTabsetAdapterService_tabsetRef, "f")?.nativeElement;
33
- const tabsetRect = nativeElement
34
- .querySelector('.sky-tabset')
35
- .getBoundingClientRect();
36
- const tabButtonsRect = nativeElement
37
- .querySelector('.sky-tabset-tabs')
38
- .getBoundingClientRect();
39
- const tabExtraButtonsRect = nativeElement
40
- .querySelector('.sky-tabset-btns')
41
- .getBoundingClientRect();
42
- const tabButtonsWidth = tabButtonsRect.width + tabExtraButtonsRect.width + __classPrivateFieldGet(this, _SkyTabsetAdapterService_tabsOffsetLeft, "f");
43
- const newOverflow = tabButtonsWidth > tabsetRect.width;
44
- if (__classPrivateFieldGet(this, _SkyTabsetAdapterService_currentOverflow, "f") !== newOverflow) {
45
- __classPrivateFieldSet(this, _SkyTabsetAdapterService_currentOverflow, newOverflow, "f");
46
- __classPrivateFieldGet(this, _SkyTabsetAdapterService_overflowChange, "f").next(__classPrivateFieldGet(this, _SkyTabsetAdapterService_currentOverflow, "f"));
47
- }
48
- }
49
- }
50
- _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) {
51
- const tabsetRect = tabsetEl.getBoundingClientRect();
52
- // The dropdown element is the first "tab" and always exists in the DOM, even when hidden.
53
- const firstTabRect = tabsetEl
54
- .querySelector('.sky-tabset-dropdown')
55
- ?.getBoundingClientRect();
56
- // Safety check
57
- /* istanbul ignore next */
58
- if (!firstTabRect) {
59
- return 0;
60
- }
61
- return firstTabRect.left - tabsetRect.left;
62
- };
63
- SkyTabsetAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabsetAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
64
- SkyTabsetAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabsetAdapterService });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTabsetAdapterService, decorators: [{
66
- type: Injectable
67
- }], ctorParameters: function () { return []; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYnNldC1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBRW5EOztHQUVHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxJQUFXLGNBQWM7UUFDdkIsT0FBTyx1QkFBQSxJQUFJLCtDQUFnQixDQUFDO0lBQzlCLENBQUM7SUFVRDs7UUFSQSxtREFBbUIsS0FBSyxFQUFDO1FBRXpCLHFEQUFtQztRQUVuQywwREFBb0M7UUFFcEMsMERBQTBDO1FBR3hDLHVCQUFBLElBQUksMkNBQW1CLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxNQUFBLENBQUM7SUFDN0QsQ0FBQztJQUVNLFdBQVc7UUFDaEIsdUJBQUEsSUFBSSwrQ0FBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFNBQXFCO1FBQ3pDLHVCQUFBLElBQUksc0NBQWMsU0FBUyxNQUFBLENBQUM7UUFDNUIsdUJBQUEsSUFBSSwyQ0FBbUIsdUJBQUEsSUFBSSxzRkFBbUIsTUFBdkIsSUFBSSxFQUFvQixTQUFTLENBQUMsYUFBYSxDQUFDLE1BQUEsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ25CLE1BQU0sYUFBYSxHQUFHLHVCQUFBLElBQUksMENBQVcsRUFBRSxhQUFhLENBQUM7UUFFckQsTUFBTSxVQUFVLEdBQUcsYUFBYTthQUM3QixhQUFhLENBQUMsYUFBYSxDQUFDO2FBQzVCLHFCQUFxQixFQUFFLENBQUM7UUFFM0IsTUFBTSxjQUFjLEdBQUcsYUFBYTthQUNqQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7YUFDakMscUJBQXFCLEVBQUUsQ0FBQztRQUUzQixNQUFNLG1CQUFtQixHQUFHLGFBQWE7YUFDdEMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO2FBQ2pDLHFCQUFxQixFQUFFLENBQUM7UUFFM0IsTUFBTSxlQUFlLEdBQ25CLGNBQWMsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxHQUFHLHVCQUFBLElBQUksK0NBQWdCLENBQUM7UUFFMUUsTUFBTSxXQUFXLEdBQUcsZUFBZSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDdkQsSUFBSSx1QkFBQSxJQUFJLGdEQUFpQixLQUFLLFdBQVcsRUFBRTtZQUN6Qyx1QkFBQSxJQUFJLDRDQUFvQixXQUFXLE1BQUEsQ0FBQztZQUNwQyx1QkFBQSxJQUFJLCtDQUFnQixDQUFDLElBQUksQ0FBQyx1QkFBQSxJQUFJLGdEQUFpQixDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDOztxWEFLa0IsUUFBcUI7SUFDdEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFcEQsMEZBQTBGO0lBQzFGLE1BQU0sWUFBWSxHQUFHLFFBQVE7U0FDMUIsYUFBYSxDQUFDLHNCQUFzQixDQUFDO1FBQ3RDLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztJQUU1QixlQUFlO0lBQ2YsMEJBQTBCO0lBQzFCLElBQUksQ0FBQyxZQUFZLEVBQUU7UUFDakIsT0FBTyxDQUFDLENBQUM7S0FDVjtJQUVELE9BQU8sWUFBWSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO0FBQzdDLENBQUM7b0hBeEVVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lUYWJzZXRBZGFwdGVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBnZXQgb3ZlcmZsb3dDaGFuZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI292ZXJmbG93Q2hhbmdlO1xuICB9XG5cbiAgI2N1cnJlbnRPdmVyZmxvdyA9IGZhbHNlO1xuXG4gICN0YWJzZXRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI3RhYnNPZmZzZXRMZWZ0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgI292ZXJmbG93Q2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jb3ZlcmZsb3dDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNvdmVyZmxvd0NoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyVGFic2V0KHRhYnNldFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIHRoaXMuI3RhYnNldFJlZiA9IHRhYnNldFJlZjtcbiAgICB0aGlzLiN0YWJzT2Zmc2V0TGVmdCA9IHRoaXMuI2dldFRhYnNPZmZzZXRMZWZ0KHRhYnNldFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlY3RzIGlmIHRoZSB0YWIgYnV0dG9ucyBhcmUgd2lkZXIgdGhhbiB0aGUgdGFic2V0IGNvbnRhaW5lci5cbiAgICovXG4gIHB1YmxpYyBkZXRlY3RPdmVyZmxvdygpOiB2b2lkIHtcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gdGhpcy4jdGFic2V0UmVmPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgdGFic2V0UmVjdCA9IG5hdGl2ZUVsZW1lbnRcbiAgICAgIC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYnNldCcpXG4gICAgICAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCB0YWJCdXR0b25zUmVjdCA9IG5hdGl2ZUVsZW1lbnRcbiAgICAgIC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYnNldC10YWJzJylcbiAgICAgIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHRhYkV4dHJhQnV0dG9uc1JlY3QgPSBuYXRpdmVFbGVtZW50XG4gICAgICAucXVlcnlTZWxlY3RvcignLnNreS10YWJzZXQtYnRucycpXG4gICAgICAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCB0YWJCdXR0b25zV2lkdGggPVxuICAgICAgdGFiQnV0dG9uc1JlY3Qud2lkdGggKyB0YWJFeHRyYUJ1dHRvbnNSZWN0LndpZHRoICsgdGhpcy4jdGFic09mZnNldExlZnQ7XG5cbiAgICBjb25zdCBuZXdPdmVyZmxvdyA9IHRhYkJ1dHRvbnNXaWR0aCA+IHRhYnNldFJlY3Qud2lkdGg7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRPdmVyZmxvdyAhPT0gbmV3T3ZlcmZsb3cpIHtcbiAgICAgIHRoaXMuI2N1cnJlbnRPdmVyZmxvdyA9IG5ld092ZXJmbG93O1xuICAgICAgdGhpcy4jb3ZlcmZsb3dDaGFuZ2UubmV4dCh0aGlzLiNjdXJyZW50T3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgcGl4ZWxzIHRvIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCB0YWIuXG4gICAqL1xuICAjZ2V0VGFic09mZnNldExlZnQodGFic2V0RWw6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICBjb25zdCB0YWJzZXRSZWN0ID0gdGFic2V0RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAvLyBUaGUgZHJvcGRvd24gZWxlbWVudCBpcyB0aGUgZmlyc3QgXCJ0YWJcIiBhbmQgYWx3YXlzIGV4aXN0cyBpbiB0aGUgRE9NLCBldmVuIHdoZW4gaGlkZGVuLlxuICAgIGNvbnN0IGZpcnN0VGFiUmVjdCA9IHRhYnNldEVsXG4gICAgICAucXVlcnlTZWxlY3RvcignLnNreS10YWJzZXQtZHJvcGRvd24nKVxuICAgICAgPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIC8vIFNhZmV0eSBjaGVja1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKCFmaXJzdFRhYlJlY3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiBmaXJzdFRhYlJlY3QubGVmdCAtIHRhYnNldFJlY3QubGVmdDtcbiAgfVxufVxuIl19