@skyux/tabs 5.7.2 → 6.0.0-beta.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.
Files changed (106) hide show
  1. package/esm2020/index.mjs +23 -0
  2. package/esm2020/lib/modules/sectioned-form/sectioned-form-section.component.mjs +62 -0
  3. package/esm2020/lib/modules/sectioned-form/sectioned-form.component.mjs +109 -0
  4. package/esm2020/lib/modules/sectioned-form/sectioned-form.module.mjs +35 -0
  5. package/esm2020/lib/modules/sectioned-form/sectioned-form.service.mjs +35 -0
  6. package/esm2020/lib/modules/shared/sky-tabs-resources.module.mjs +52 -0
  7. package/esm2020/lib/modules/tabs/tab-button.component.mjs +70 -0
  8. package/esm2020/lib/modules/tabs/tab-index.mjs +2 -0
  9. package/esm2020/lib/modules/tabs/tab.component.mjs +131 -0
  10. package/esm2020/lib/modules/tabs/tabs.module.mjs +57 -0
  11. package/esm2020/lib/modules/tabs/tabset-active-tab-unregistered-args.mjs +2 -0
  12. package/esm2020/lib/modules/tabs/tabset-adapter.service.mjs +56 -0
  13. package/esm2020/lib/modules/tabs/tabset-buttons-display-mode.mjs +2 -0
  14. package/esm2020/lib/modules/tabs/tabset-nav-button.component.mjs +116 -0
  15. package/esm2020/lib/modules/tabs/tabset-permalink.service.mjs +126 -0
  16. package/esm2020/lib/modules/tabs/tabset-style.mjs +2 -0
  17. package/esm2020/lib/modules/tabs/tabset-tab-indexes-change.mjs +2 -0
  18. package/esm2020/lib/modules/tabs/tabset.component.mjs +396 -0
  19. package/esm2020/lib/modules/tabs/tabset.service.mjs +110 -0
  20. package/esm2020/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +72 -0
  21. package/esm2020/lib/modules/vertical-tabset/vertical-tab.component.mjs +197 -0
  22. package/esm2020/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +48 -0
  23. package/esm2020/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +83 -0
  24. package/esm2020/lib/modules/vertical-tabset/vertical-tabset.component.mjs +150 -0
  25. package/esm2020/lib/modules/vertical-tabset/vertical-tabset.module.mjs +60 -0
  26. package/esm2020/lib/modules/vertical-tabset/vertical-tabset.service.mjs +168 -0
  27. package/esm2020/skyux-tabs.mjs +5 -0
  28. package/esm2020/testing/public-api.mjs +3 -0
  29. package/esm2020/testing/skyux-tabs-testing.mjs +5 -0
  30. package/esm2020/testing/tabs/tab-fixture-tab.mjs +2 -0
  31. package/esm2020/testing/tabs/tabset-fixture.mjs +130 -0
  32. package/fesm2015/{skyux-tabs-testing.js → skyux-tabs-testing.mjs} +1 -1
  33. package/fesm2015/skyux-tabs-testing.mjs.map +1 -0
  34. package/fesm2015/{skyux-tabs.js → skyux-tabs.mjs} +184 -235
  35. package/fesm2015/skyux-tabs.mjs.map +1 -0
  36. package/{esm2015/testing/tabs/tabset-fixture.js → fesm2020/skyux-tabs-testing.mjs} +39 -43
  37. package/fesm2020/skyux-tabs-testing.mjs.map +1 -0
  38. package/fesm2020/skyux-tabs.mjs +2005 -0
  39. package/fesm2020/skyux-tabs.mjs.map +1 -0
  40. package/package.json +44 -20
  41. package/testing/package.json +5 -5
  42. package/bundles/skyux-tabs-testing.umd.js +0 -498
  43. package/bundles/skyux-tabs.umd.js +0 -2260
  44. package/esm2015/index.js +0 -23
  45. package/esm2015/index.js.map +0 -1
  46. package/esm2015/lib/modules/sectioned-form/sectioned-form-section.component.js +0 -67
  47. package/esm2015/lib/modules/sectioned-form/sectioned-form-section.component.js.map +0 -1
  48. package/esm2015/lib/modules/sectioned-form/sectioned-form.component.js +0 -116
  49. package/esm2015/lib/modules/sectioned-form/sectioned-form.component.js.map +0 -1
  50. package/esm2015/lib/modules/sectioned-form/sectioned-form.module.js +0 -35
  51. package/esm2015/lib/modules/sectioned-form/sectioned-form.module.js.map +0 -1
  52. package/esm2015/lib/modules/sectioned-form/sectioned-form.service.js +0 -35
  53. package/esm2015/lib/modules/sectioned-form/sectioned-form.service.js.map +0 -1
  54. package/esm2015/lib/modules/shared/sky-tabs-resources.module.js +0 -52
  55. package/esm2015/lib/modules/shared/sky-tabs-resources.module.js.map +0 -1
  56. package/esm2015/lib/modules/tabs/tab-button.component.js +0 -76
  57. package/esm2015/lib/modules/tabs/tab-button.component.js.map +0 -1
  58. package/esm2015/lib/modules/tabs/tab-index.js +0 -2
  59. package/esm2015/lib/modules/tabs/tab-index.js.map +0 -1
  60. package/esm2015/lib/modules/tabs/tab.component.js +0 -135
  61. package/esm2015/lib/modules/tabs/tab.component.js.map +0 -1
  62. package/esm2015/lib/modules/tabs/tabs.module.js +0 -57
  63. package/esm2015/lib/modules/tabs/tabs.module.js.map +0 -1
  64. package/esm2015/lib/modules/tabs/tabset-active-tab-unregistered-args.js +0 -2
  65. package/esm2015/lib/modules/tabs/tabset-active-tab-unregistered-args.js.map +0 -1
  66. package/esm2015/lib/modules/tabs/tabset-adapter.service.js +0 -56
  67. package/esm2015/lib/modules/tabs/tabset-adapter.service.js.map +0 -1
  68. package/esm2015/lib/modules/tabs/tabset-buttons-display-mode.js +0 -2
  69. package/esm2015/lib/modules/tabs/tabset-buttons-display-mode.js.map +0 -1
  70. package/esm2015/lib/modules/tabs/tabset-nav-button.component.js +0 -119
  71. package/esm2015/lib/modules/tabs/tabset-nav-button.component.js.map +0 -1
  72. package/esm2015/lib/modules/tabs/tabset-permalink.service.js +0 -126
  73. package/esm2015/lib/modules/tabs/tabset-permalink.service.js.map +0 -1
  74. package/esm2015/lib/modules/tabs/tabset-style.js +0 -2
  75. package/esm2015/lib/modules/tabs/tabset-style.js.map +0 -1
  76. package/esm2015/lib/modules/tabs/tabset-tab-indexes-change.js +0 -2
  77. package/esm2015/lib/modules/tabs/tabset-tab-indexes-change.js.map +0 -1
  78. package/esm2015/lib/modules/tabs/tabset.component.js +0 -407
  79. package/esm2015/lib/modules/tabs/tabset.component.js.map +0 -1
  80. package/esm2015/lib/modules/tabs/tabset.service.js +0 -110
  81. package/esm2015/lib/modules/tabs/tabset.service.js.map +0 -1
  82. package/esm2015/lib/modules/vertical-tabset/vertical-tab-media-query.service.js +0 -72
  83. package/esm2015/lib/modules/vertical-tabset/vertical-tab-media-query.service.js.map +0 -1
  84. package/esm2015/lib/modules/vertical-tabset/vertical-tab.component.js +0 -203
  85. package/esm2015/lib/modules/vertical-tabset/vertical-tab.component.js.map +0 -1
  86. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-adapter.service.js +0 -48
  87. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-adapter.service.js.map +0 -1
  88. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-group.component.js +0 -89
  89. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-group.component.js.map +0 -1
  90. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.component.js +0 -157
  91. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.component.js.map +0 -1
  92. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.module.js +0 -60
  93. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.module.js.map +0 -1
  94. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.service.js +0 -170
  95. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.service.js.map +0 -1
  96. package/esm2015/skyux-tabs.js +0 -5
  97. package/esm2015/skyux-tabs.js.map +0 -1
  98. package/esm2015/testing/public-api.js +0 -3
  99. package/esm2015/testing/public-api.js.map +0 -1
  100. package/esm2015/testing/skyux-tabs-testing.js +0 -5
  101. package/esm2015/testing/skyux-tabs-testing.js.map +0 -1
  102. package/esm2015/testing/tabs/tab-fixture-tab.js +0 -2
  103. package/esm2015/testing/tabs/tab-fixture-tab.js.map +0 -1
  104. package/esm2015/testing/tabs/tabset-fixture.js.map +0 -1
  105. package/fesm2015/skyux-tabs-testing.js.map +0 -1
  106. package/fesm2015/skyux-tabs.js.map +0 -1
@@ -0,0 +1,131 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { SkyTabsetPermalinkService } from './tabset-permalink.service';
4
+ import { SkyTabsetService } from './tabset.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./tabset-permalink.service";
7
+ import * as i2 from "./tabset.service";
8
+ let nextId = 0;
9
+ export class SkyTabComponent {
10
+ constructor(changeDetector, permalinkService, tabsetService) {
11
+ this.changeDetector = changeDetector;
12
+ this.permalinkService = permalinkService;
13
+ this.tabsetService = tabsetService;
14
+ /**
15
+ * Fires when users click the button to close the tab.
16
+ * The close button is added to the tab when you specify a listener for this event.
17
+ */
18
+ this.close = new EventEmitter(); // eslint-disable-line @angular-eslint/no-output-native
19
+ this.showContent = false;
20
+ this._activeChange = new BehaviorSubject(undefined);
21
+ this._stateChange = new BehaviorSubject(undefined);
22
+ this._tabIndexChange = new BehaviorSubject(undefined);
23
+ const id = nextId++;
24
+ this.tabPanelId = `sky-tab-${id}`;
25
+ this.tabButtonId = `${this.tabPanelId}-nav-btn`;
26
+ }
27
+ /**
28
+ * Indicates whether the tab is active when the tabset loads. After initialization, the `active`
29
+ * property on the tabset component should be used to set the active tab.
30
+ * @default false
31
+ */
32
+ set active(value) {
33
+ if (value !== undefined && value !== this._active) {
34
+ this._active = value;
35
+ this._activeChange.next();
36
+ }
37
+ }
38
+ get active() {
39
+ return this._active || false;
40
+ }
41
+ get activeChange() {
42
+ return this._activeChange.asObservable();
43
+ }
44
+ /**
45
+ * Specifies a custom query parameter value for the tab.
46
+ * This works in conjunction with the tabset's `permalinkId` to distinguish
47
+ * the tab's unique state in the URL by generating a query parameter that is
48
+ * written as `?<queryParam>-active-tab=<sanitized-tab-heading`.
49
+ * By default, the query parameter's value is parsed automatically from the tab's heading text.
50
+ */
51
+ set permalinkValue(value) {
52
+ this._permalinkValue = this.permalinkService.urlify(value);
53
+ }
54
+ get permalinkValue() {
55
+ return (this._permalinkValue || this.permalinkService.urlify(this.tabHeading));
56
+ }
57
+ /**
58
+ * Specifies a unique identifier for the tab.
59
+ * If not defined, the identifier is set to the position of the tab on load, starting with `0`.
60
+ */
61
+ set tabIndex(value) {
62
+ if (value !== this._tabIndex &&
63
+ value !== undefined &&
64
+ this._tabIndex !== undefined) {
65
+ this.tabsetService.updateTabIndex(this._tabIndex, value);
66
+ this._tabIndexChange.next(value);
67
+ }
68
+ this._tabIndex = value;
69
+ }
70
+ get tabIndex() {
71
+ return this._tabIndex;
72
+ }
73
+ get closeable() {
74
+ return this.close.observers.length > 0;
75
+ }
76
+ /**
77
+ * Alerts the tabset component when this component has changes that need to be reflected in the UI.
78
+ */
79
+ get stateChange() {
80
+ return this._stateChange.asObservable();
81
+ }
82
+ get tabIndexChange() {
83
+ return this._tabIndexChange.asObservable();
84
+ }
85
+ ngOnChanges(changes) {
86
+ if ((changes.disabled && !changes.disabled.firstChange) ||
87
+ (changes.tabHeading && !changes.tabHeading.firstChange) ||
88
+ (changes.tabHeaderCount && !changes.tabHeaderCount.firstChange) ||
89
+ (changes.permalinkValue && !changes.permalinkValue.firstChange)) {
90
+ this._stateChange.next();
91
+ }
92
+ }
93
+ ngOnDestroy() {
94
+ this._stateChange.complete();
95
+ this.tabsetService.unregisterTab(this.tabIndex);
96
+ }
97
+ init() {
98
+ this._tabIndex = this.tabsetService.registerTab(this.tabIndex);
99
+ }
100
+ activate() {
101
+ this._active = true;
102
+ this.showContent = true;
103
+ this.changeDetector.markForCheck();
104
+ }
105
+ deactivate() {
106
+ this._active = false;
107
+ this.showContent = false;
108
+ this.changeDetector.markForCheck();
109
+ }
110
+ }
111
+ SkyTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyTabsetPermalinkService }, { token: i2.SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component });
112
+ SkyTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyTabComponent, selector: "sky-tab", inputs: { active: "active", disabled: "disabled", permalinkValue: "permalinkValue", tabHeaderCount: "tabHeaderCount", tabHeading: "tabHeading", tabIndex: "tabIndex" }, outputs: { close: "close" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"sky-tab\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabButtonId\"\n [hidden]=\"!showContent\"\n [id]=\"tabPanelId\"\n>\n <ng-content></ng-content>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabComponent, decorators: [{
114
+ type: Component,
115
+ 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" }]
116
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyTabsetPermalinkService }, { type: i2.SkyTabsetService }]; }, propDecorators: { active: [{
117
+ type: Input
118
+ }], disabled: [{
119
+ type: Input
120
+ }], permalinkValue: [{
121
+ type: Input
122
+ }], tabHeaderCount: [{
123
+ type: Input
124
+ }], tabHeading: [{
125
+ type: Input
126
+ }], tabIndex: [{
127
+ type: Input
128
+ }], close: [{
129
+ type: Output
130
+ }] } });
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFFcEQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBT2YsTUFBTSxPQUFPLGVBQWU7SUE4SDFCLFlBQ1UsY0FBaUMsRUFDakMsZ0JBQTJDLEVBQzNDLGFBQStCO1FBRi9CLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTJCO1FBQzNDLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQTNDekM7OztXQUdHO1FBRUksVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUMsQ0FBQyx1REFBdUQ7UUFpQnpGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBUW5CLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQU8sU0FBUyxDQUFDLENBQUM7UUFJckQsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUlwRCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFjLFNBQVMsQ0FBQyxD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QztJQUNsRCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQzs7NEdBdEtVLGVBQWU7Z0dBQWYsZUFBZSx5UUN6QjVCLHdMQVNBOzJGRGdCYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFNBQVMsbUJBRUYsdUJBQXVCLENBQUMsTUFBTTsrS0FTcEMsTUFBTTtzQkFEaEIsS0FBSztnQkFxQkMsUUFBUTtzQkFEZCxLQUFLO2dCQVdLLGNBQWM7c0JBRHhCLEtBQUs7Z0JBZUMsY0FBYztzQkFEcEIsS0FBSztnQkFZQyxVQUFVO3NCQURoQixLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBdUJDLEtBQUs7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreVRhYkluZGV4IH0gZnJvbSAnLi90YWItaW5kZXgnO1xuaW1wb3J0IHsgU2t5VGFic2V0UGVybWFsaW5rU2VydmljZSB9IGZyb20gJy4vdGFic2V0LXBlcm1hbGluay5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVRhYnNldFNlcnZpY2UgfSBmcm9tICcuL3RhYnNldC5zZXJ2aWNlJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10YWInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSB0YWIgaXMgYWN0aXZlIHdoZW4gdGhlIHRhYnNldCBsb2Fkcy4gQWZ0ZXIgaW5pdGlhbGl6YXRpb24sIHRoZSBgYWN0aXZlYFxuICAgKiBwcm9wZXJ0eSBvbiB0aGUgdGFic2V0IGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZCB0byBzZXQgdGhlIGFjdGl2ZSB0YWIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSB0aGlzLl9hY3RpdmUpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5fYWN0aXZlQ2hhbmdlLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlIHx8IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVDaGFuZ2UoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUNoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSB0YWIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGN1c3RvbSBxdWVyeSBwYXJhbWV0ZXIgdmFsdWUgZm9yIHRoZSB0YWIuXG4gICAqIFRoaXMgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgdGFic2V0J3MgYHBlcm1hbGlua0lkYCB0byBkaXN0aW5ndWlzaFxuICAgKiB0aGUgdGFiJ3MgdW5pcXVlIHN0YXRlIGluIHRoZSBVUkwgYnkgZ2VuZXJhdGluZyBhIHF1ZXJ5IHBhcmFtZXRlciB0aGF0IGlzXG4gICAqIHdyaXR0ZW4gYXMgYD88cXVlcnlQYXJhbT4tYWN0aXZlLXRhYj08c2FuaXRpemVkLXRhYi1oZWFkaW5nYC5cbiAgICogQnkgZGVmYXVsdCwgdGhlIHF1ZXJ5IHBhcmFtZXRlcidzIHZhbHVlIGlzIHBhcnNlZCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIHRhYidzIGhlYWRpbmcgdGV4dC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGVybWFsaW5rVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3Blcm1hbGlua1ZhbHVlID0gdGhpcy5wZXJtYWxpbmtTZXJ2aWNlLnVybGlmeSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcm1hbGlua1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX3Blcm1hbGlua1ZhbHVlIHx8IHRoaXMucGVybWFsaW5rU2VydmljZS51cmxpZnkodGhpcy50YWJIZWFkaW5nKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheXMgYSBjb3VudGVyIGJlc2lkZSB0aGUgdGFiIGhlYWRlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJIZWFkZXJDb3VudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRhYiBoZWFkZXIuXG4gICAqIFdoZW4gdXNpbmcgdGFicyBhcyB0aGUgbWFpbiBuYXZpZ2F0aW9uIG9uIGEgcGFnZSxcbiAgICogdXNlIFt0aGUgQW5ndWxhciBgVGl0bGVgIHNlcnZpY2VdKGh0dHBzOi8vYW5ndWxhci5pby9kb2NzL3RzL2xhdGVzdC9jb29rYm9vay9zZXQtZG9jdW1lbnQtdGl0bGUuaHRtbClcbiAgICogYW5kIFt0aGUgU0tZIFVYIGB0aXRsZWAgY29uZmlndXJhdGlvbiBwcm9wZXJ0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9yZWZlcmVuY2UvY29uZmlndXJhdGlvbiNhcHApXG4gICAqIHRvIHJlZmxlY3QgdGhlIHRhYiBoZWFkZXIgaW4gdGhlIHBhZ2UgdGl0bGUuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYkhlYWRpbmc6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB0YWIuXG4gICAqIElmIG5vdCBkZWZpbmVkLCB0aGUgaWRlbnRpZmllciBpcyBzZXQgdG8gdGhlIHBvc2l0aW9uIG9mIHRoZSB0YWIgb24gbG9hZCwgc3RhcnRpbmcgd2l0aCBgMGAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRhYkluZGV4KHZhbHVlOiBTa3lUYWJJbmRleCkge1xuICAgIGlmIChcbiAgICAgIHZhbHVlICE9PSB0aGlzLl90YWJJbmRleCAmJlxuICAgICAgdmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5fdGFiSW5kZXggIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgdGhpcy50YWJzZXRTZXJ2aWNlLnVwZGF0ZVRhYkluZGV4KHRoaXMuX3RhYkluZGV4LCB2YWx1ZSk7XG4gICAgICB0aGlzLl90YWJJbmRleENoYW5nZS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLl90YWJJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJJbmRleCgpOiBTa3lUYWJJbmRleCB7XG4gICAgcmV0dXJuIHRoaXMuX3RhYkluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIGJ1dHRvbiB0byBjbG9zZSB0aGUgdGFiLlxuICAgKiBUaGUgY2xvc2UgYnV0dG9uIGlzIGFkZGVkIHRvIHRoZSB0YWIgd2hlbiB5b3Ugc3BlY2lmeSBhIGxpc3RlbmVyIGZvciB0aGlzIGV2ZW50LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuXG4gIHB1YmxpYyBnZXQgY2xvc2VhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsb3NlLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsZXJ0cyB0aGUgdGFic2V0IGNvbXBvbmVudCB3aGVuIHRoaXMgY29tcG9uZW50IGhhcyBjaGFuZ2VzIHRoYXQgbmVlZCB0byBiZSByZWZsZWN0ZWQgaW4gdGhlIFVJLlxuICAgKi9cbiAgcHVibGljIGdldCBzdGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRhYkluZGV4Q2hhbmdlKCk6IE9ic2VydmFibGU8U2t5VGFiSW5kZXg+IHtcbiAgICByZXR1cm4gdGhpcy5fdGFiSW5kZXhDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0NvbnRlbnQgPSBmYWxzZTtcblxuICBwdWJsaWMgdGFiQnV0dG9uSWQ6IHN0cmluZztcblxuICBwdWJsaWMgdGFiUGFuZWxJZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2FjdGl2ZTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9hY3RpdmVDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfcGVybWFsaW5rVmFsdWU6IHN0cmluZztcblxuICBwcml2YXRlIF9zdGF0ZUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIF90YWJJbmRleDogU2t5VGFiSW5kZXg7XG5cbiAgcHJpdmF0ZSBfdGFiSW5kZXhDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreVRhYkluZGV4Pih1bmRlZmluZWQpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcGVybWFsaW5rU2VydmljZTogU2t5VGFic2V0UGVybWFsaW5rU2VydmljZSxcbiAgICBwcml2YXRlIHRhYnNldFNlcnZpY2U6IFNreVRhYnNldFNlcnZpY2VcbiAgKSB7XG4gICAgY29uc3QgaWQgPSBuZXh0SWQrKztcbiAgICB0aGlzLnRhYlBhbmVsSWQgPSBgc2t5LXRhYi0ke2lkfWA7XG4gICAgdGhpcy50YWJCdXR0b25JZCA9IGAke3RoaXMudGFiUGFuZWxJZH0tbmF2LWJ0bmA7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIChjaGFuZ2VzLmRpc2FibGVkICYmICFjaGFuZ2VzLmRpc2FibGVkLmZpcnN0Q2hhbmdlKSB8fFxuICAgICAgKGNoYW5nZXMudGFiSGVhZGluZyAmJiAhY2hhbmdlcy50YWJIZWFkaW5nLmZpcnN0Q2hhbmdlKSB8fFxuICAgICAgKGNoYW5nZXMudGFiSGVhZGVyQ291bnQgJiYgIWNoYW5nZXMudGFiSGVhZGVyQ291bnQuZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAoY2hhbmdlcy5wZXJtYWxpbmtWYWx1ZSAmJiAhY2hhbmdlcy5wZXJtYWxpbmtWYWx1ZS5maXJzdENoYW5nZSlcbiAgICApIHtcbiAgICAgIHRoaXMuX3N0YXRlQ2hhbmdlLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLnRhYnNldFNlcnZpY2UudW5yZWdpc3RlclRhYih0aGlzLnRhYkluZGV4KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3RhYkluZGV4ID0gdGhpcy50YWJzZXRTZXJ2aWNlLnJlZ2lzdGVyVGFiKHRoaXMudGFiSW5kZXgpO1xuICB9XG5cbiAgcHVibGljIGFjdGl2YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IHRydWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWFjdGl2YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0NvbnRlbnQgPSBmYWxzZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LXRhYlwiXG4gIHJvbGU9XCJ0YWJwYW5lbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJ0YWJCdXR0b25JZFwiXG4gIFtoaWRkZW5dPVwiIXNob3dDb250ZW50XCJcbiAgW2lkXT1cInRhYlBhbmVsSWRcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,57 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { RouterModule } from '@angular/router';
4
+ import { SkyI18nModule } from '@skyux/i18n';
5
+ import { SkyIconModule } from '@skyux/indicators';
6
+ import { SkyDropdownModule } from '@skyux/popovers';
7
+ import { SkyThemeModule } from '@skyux/theme';
8
+ import { SkyTabsResourcesModule } from '../shared/sky-tabs-resources.module';
9
+ import { SkyTabButtonComponent } from './tab-button.component';
10
+ import { SkyTabComponent } from './tab.component';
11
+ import { SkyTabsetNavButtonComponent } from './tabset-nav-button.component';
12
+ import { SkyTabsetComponent } from './tabset.component';
13
+ import * as i0 from "@angular/core";
14
+ export class SkyTabsModule {
15
+ }
16
+ SkyTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ SkyTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsModule, declarations: [SkyTabButtonComponent,
18
+ SkyTabComponent,
19
+ SkyTabsetComponent,
20
+ SkyTabsetNavButtonComponent], imports: [CommonModule,
21
+ RouterModule,
22
+ SkyDropdownModule,
23
+ SkyI18nModule,
24
+ SkyIconModule,
25
+ SkyTabsResourcesModule,
26
+ SkyThemeModule], exports: [SkyTabComponent, SkyTabsetComponent, SkyTabsetNavButtonComponent] });
27
+ SkyTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsModule, imports: [[
28
+ CommonModule,
29
+ RouterModule,
30
+ SkyDropdownModule,
31
+ SkyI18nModule,
32
+ SkyIconModule,
33
+ SkyTabsResourcesModule,
34
+ SkyThemeModule,
35
+ ]] });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsModule, decorators: [{
37
+ type: NgModule,
38
+ args: [{
39
+ declarations: [
40
+ SkyTabButtonComponent,
41
+ SkyTabComponent,
42
+ SkyTabsetComponent,
43
+ SkyTabsetNavButtonComponent,
44
+ ],
45
+ imports: [
46
+ CommonModule,
47
+ RouterModule,
48
+ SkyDropdownModule,
49
+ SkyI18nModule,
50
+ SkyIconModule,
51
+ SkyTabsResourcesModule,
52
+ SkyThemeModule,
53
+ ],
54
+ exports: [SkyTabComponent, SkyTabsetComponent, SkyTabsetNavButtonComponent],
55
+ }]
56
+ }] });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBb0J4RCxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLGlCQWhCdEIscUJBQXFCO1FBQ3JCLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsMkJBQTJCLGFBRzNCLFlBQVk7UUFDWixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixhQUFhO1FBQ2Isc0JBQXNCO1FBQ3RCLGNBQWMsYUFFTixlQUFlLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCOzJHQUUvRCxhQUFhLFlBWGY7WUFDUCxZQUFZO1lBQ1osWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2IsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixjQUFjO1NBQ2Y7MkZBR1UsYUFBYTtrQkFsQnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixDQUFDO2lCQUM1RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNreUkxOG5Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuaW1wb3J0IHsgU2t5RHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvcG9wb3ZlcnMnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lUYWJzUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS10YWJzLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lUYWJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3RhYi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRhYkNvbXBvbmVudCB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lUYWJzZXROYXZCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3RhYnNldC1uYXYtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lUYWJzZXRDb21wb25lbnQgfSBmcm9tICcuL3RhYnNldC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lUYWJCdXR0b25Db21wb25lbnQsXG4gICAgU2t5VGFiQ29tcG9uZW50LFxuICAgIFNreVRhYnNldENvbXBvbmVudCxcbiAgICBTa3lUYWJzZXROYXZCdXR0b25Db21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFNreURyb3Bkb3duTW9kdWxlLFxuICAgIFNreUkxOG5Nb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lUYWJzUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2t5VGFiQ29tcG9uZW50LCBTa3lUYWJzZXRDb21wb25lbnQsIFNreVRhYnNldE5hdkJ1dHRvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYnNNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWFjdGl2ZS10YWItdW5yZWdpc3RlcmVkLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWJzZXQtYWN0aXZlLXRhYi11bnJlZ2lzdGVyZWQtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgYXJndW1lbnRzIGZvciB0aGUgdGFic2V0IHNlcnZpY2UncyBgYWN0aXZlVGFiVW5yZWdpc3RlcmVkYCBldmVudC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreVRhYnNldEFjdGl2ZVRhYlVucmVnaXN0ZXJlZEFyZ3Mge1xuICAvKipcbiAgICogVGhlIGFycmF5IGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLCB3aGVuIGl0IGhhcyBiZWVuIHVucmVnaXN0ZXJlZC5cbiAgICovXG4gIGFycmF5SW5kZXg6IG51bWJlcjtcbn1cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * @internal
6
+ */
7
+ export class SkyTabsetAdapterService {
8
+ constructor() {
9
+ this._overflowChange = new BehaviorSubject(false);
10
+ }
11
+ get overflowChange() {
12
+ return this._overflowChange.asObservable();
13
+ }
14
+ registerTabset(tabsetRef) {
15
+ this.tabsetRef = tabsetRef;
16
+ this.tabsOffsetLeft = this.getTabsOffsetLeft(tabsetRef.nativeElement);
17
+ }
18
+ /**
19
+ * Detects if the tab buttons are wider than the tabset container.
20
+ */
21
+ detectOverflow() {
22
+ const nativeElement = this.tabsetRef.nativeElement;
23
+ const tabsetRect = nativeElement
24
+ .querySelector('.sky-tabset')
25
+ .getBoundingClientRect();
26
+ const tabButtonsRect = nativeElement
27
+ .querySelector('.sky-tabset-tabs')
28
+ .getBoundingClientRect();
29
+ const tabExtraButtonsRect = nativeElement
30
+ .querySelector('.sky-tabset-btns')
31
+ .getBoundingClientRect();
32
+ const tabButtonsWidth = tabButtonsRect.width + tabExtraButtonsRect.width + this.tabsOffsetLeft;
33
+ const newOverflow = tabButtonsWidth > tabsetRect.width;
34
+ if (this.currentOverflow !== newOverflow) {
35
+ this.currentOverflow = newOverflow;
36
+ this._overflowChange.next(this.currentOverflow);
37
+ }
38
+ }
39
+ /**
40
+ * Returns the number of pixels to the left of the first tab.
41
+ */
42
+ getTabsOffsetLeft(tabsetEl) {
43
+ const tabsetRect = tabsetEl.getBoundingClientRect();
44
+ // The dropdown element is the first "tab" and always exists in the DOM, even when hidden.
45
+ const firstTabRect = tabsetEl
46
+ .querySelector('.sky-tabset-dropdown')
47
+ .getBoundingClientRect();
48
+ return firstTabRect.left - tabsetRect.left;
49
+ }
50
+ }
51
+ SkyTabsetAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsetAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
52
+ SkyTabsetAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsetAdapterService });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsetAdapterService, decorators: [{
54
+ type: Injectable
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYnNldC1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQUVuRDs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFZVSxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0tBZ0QvRDtJQTFEQyxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFVTSxjQUFjLENBQUMsU0FBcUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFFbkQsTUFBTSxVQUFVLEdBQUcsYUFBYTthQUM3QixhQUFhLENBQUMsYUFBYSxDQUFDO2FBQzVCLHFCQUFxQixFQUFFLENBQUM7UUFFM0IsTUFBTSxjQUFjLEdBQUcsYUFBYTthQUNqQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7YUFDakMscUJBQXFCLEVBQUUsQ0FBQztRQUUzQixNQUFNLG1CQUFtQixHQUFHLGFBQWE7YUFDdEMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO2FBQ2pDLHFCQUFxQixFQUFFLENBQUM7UUFFM0IsTUFBTSxlQUFlLEdBQ25CLGNBQWMsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFekUsTUFBTSxXQUFXLEdBQUcsZUFBZSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLFdBQVcsRUFBRTtZQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxpQkFBaUIsQ0FBQyxRQUFxQjtRQUM3QyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUVwRCwwRkFBMEY7UUFDMUYsTUFBTSxZQUFZLEdBQUcsUUFBUTthQUMxQixhQUFhLENBQUMsc0JBQXNCLENBQUM7YUFDckMscUJBQXFCLEVBQUUsQ0FBQztRQUUzQixPQUFPLFlBQVksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDOztvSEExRFUsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lUYWJzZXRBZGFwdGVyU2VydmljZSB7XG4gIHB1YmxpYyBnZXQgb3ZlcmZsb3dDaGFuZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX292ZXJmbG93Q2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50T3ZlcmZsb3c6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSB0YWJzZXRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSB0YWJzT2Zmc2V0TGVmdDogbnVtYmVyO1xuXG4gIHByaXZhdGUgX292ZXJmbG93Q2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIHJlZ2lzdGVyVGFic2V0KHRhYnNldFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIHRoaXMudGFic2V0UmVmID0gdGFic2V0UmVmO1xuICAgIHRoaXMudGFic09mZnNldExlZnQgPSB0aGlzLmdldFRhYnNPZmZzZXRMZWZ0KHRhYnNldFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlY3RzIGlmIHRoZSB0YWIgYnV0dG9ucyBhcmUgd2lkZXIgdGhhbiB0aGUgdGFic2V0IGNvbnRhaW5lci5cbiAgICovXG4gIHB1YmxpYyBkZXRlY3RPdmVyZmxvdygpOiB2b2lkIHtcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gdGhpcy50YWJzZXRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIGNvbnN0IHRhYnNldFJlY3QgPSBuYXRpdmVFbGVtZW50XG4gICAgICAucXVlcnlTZWxlY3RvcignLnNreS10YWJzZXQnKVxuICAgICAgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3QgdGFiQnV0dG9uc1JlY3QgPSBuYXRpdmVFbGVtZW50XG4gICAgICAucXVlcnlTZWxlY3RvcignLnNreS10YWJzZXQtdGFicycpXG4gICAgICAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCB0YWJFeHRyYUJ1dHRvbnNSZWN0ID0gbmF0aXZlRWxlbWVudFxuICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5za3ktdGFic2V0LWJ0bnMnKVxuICAgICAgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3QgdGFiQnV0dG9uc1dpZHRoID1cbiAgICAgIHRhYkJ1dHRvbnNSZWN0LndpZHRoICsgdGFiRXh0cmFCdXR0b25zUmVjdC53aWR0aCArIHRoaXMudGFic09mZnNldExlZnQ7XG5cbiAgICBjb25zdCBuZXdPdmVyZmxvdyA9IHRhYkJ1dHRvbnNXaWR0aCA+IHRhYnNldFJlY3Qud2lkdGg7XG4gICAgaWYgKHRoaXMuY3VycmVudE92ZXJmbG93ICE9PSBuZXdPdmVyZmxvdykge1xuICAgICAgdGhpcy5jdXJyZW50T3ZlcmZsb3cgPSBuZXdPdmVyZmxvdztcbiAgICAgIHRoaXMuX292ZXJmbG93Q2hhbmdlLm5leHQodGhpcy5jdXJyZW50T3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgcGl4ZWxzIHRvIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCB0YWIuXG4gICAqL1xuICBwcml2YXRlIGdldFRhYnNPZmZzZXRMZWZ0KHRhYnNldEVsOiBIVE1MRWxlbWVudCk6IG51bWJlciB7XG4gICAgY29uc3QgdGFic2V0UmVjdCA9IHRhYnNldEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgLy8gVGhlIGRyb3Bkb3duIGVsZW1lbnQgaXMgdGhlIGZpcnN0IFwidGFiXCIgYW5kIGFsd2F5cyBleGlzdHMgaW4gdGhlIERPTSwgZXZlbiB3aGVuIGhpZGRlbi5cbiAgICBjb25zdCBmaXJzdFRhYlJlY3QgPSB0YWJzZXRFbFxuICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5za3ktdGFic2V0LWRyb3Bkb3duJylcbiAgICAgIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIHJldHVybiBmaXJzdFRhYlJlY3QubGVmdCAtIHRhYnNldFJlY3QubGVmdDtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWJ1dHRvbnMtZGlzcGxheS1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LWJ1dHRvbnMtZGlzcGxheS1tb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTa3lUYWJzZXRCdXR0b25zRGlzcGxheU1vZGUgPSAnZHJvcGRvd24nIHwgJ3RhYnMnO1xuIl19
@@ -0,0 +1,116 @@
1
+ import { ChangeDetectorRef, Component, Input, } from '@angular/core';
2
+ import { SkyLibResourcesService } from '@skyux/i18n';
3
+ import { forkJoin } from 'rxjs';
4
+ import { take } from 'rxjs/operators';
5
+ import { SkyTabsetComponent } from './tabset.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@skyux/i18n";
8
+ const buttonTypeNext = 'next';
9
+ const buttonTypePrevious = 'previous';
10
+ /**
11
+ * @internal
12
+ */
13
+ export class SkyTabsetNavButtonComponent {
14
+ constructor(resourceService, changeDetector) {
15
+ this.resourceService = resourceService;
16
+ this.changeDetector = changeDetector;
17
+ }
18
+ set buttonText(value) {
19
+ this._buttonText = value;
20
+ }
21
+ get buttonText() {
22
+ if (this._buttonText) {
23
+ return this._buttonText;
24
+ }
25
+ switch (this.buttonType) {
26
+ case buttonTypePrevious:
27
+ return this.previousButtonText;
28
+ case buttonTypeNext:
29
+ return this.nextButtonText;
30
+ /* istanbul ignore next */
31
+ default:
32
+ return '';
33
+ }
34
+ }
35
+ get disabled() {
36
+ let tabToSelect;
37
+ switch (this.buttonType) {
38
+ case buttonTypePrevious:
39
+ tabToSelect = this.previousTab;
40
+ break;
41
+ case buttonTypeNext:
42
+ tabToSelect = this.nextTab;
43
+ break;
44
+ /* istanbul ignore next */
45
+ default:
46
+ break;
47
+ }
48
+ return !tabToSelect || tabToSelect.disabled;
49
+ }
50
+ get selectedTab() {
51
+ let selectedTab;
52
+ if (this.tabset && this.tabset.tabs) {
53
+ selectedTab = this.tabset.tabs.find((tab) => tab.tabIndex === this.tabset.lastActiveTabIndex);
54
+ }
55
+ return selectedTab;
56
+ }
57
+ get nextTab() {
58
+ const selectedTab = this.selectedTab;
59
+ if (selectedTab) {
60
+ const tabs = this.tabset.tabs.toArray();
61
+ return tabs[tabs.indexOf(selectedTab) + 1];
62
+ }
63
+ return undefined;
64
+ }
65
+ get previousTab() {
66
+ const selectedTab = this.selectedTab;
67
+ if (selectedTab) {
68
+ const tabs = this.tabset.tabs.toArray();
69
+ return tabs[tabs.indexOf(selectedTab) - 1];
70
+ }
71
+ return undefined;
72
+ }
73
+ ngAfterViewInit() {
74
+ forkJoin([
75
+ this.resourceService.getString('skyux_tabs_navigator_previous'),
76
+ this.resourceService.getString('skyux_tabs_navigator_next'),
77
+ ])
78
+ .pipe(take(1))
79
+ .subscribe((resources) => {
80
+ this.previousButtonText = resources[0];
81
+ this.nextButtonText = resources[1];
82
+ this.changeDetector.detectChanges();
83
+ });
84
+ }
85
+ buttonClick() {
86
+ let tabToSelect;
87
+ switch (this.buttonType) {
88
+ case buttonTypePrevious:
89
+ tabToSelect = this.previousTab;
90
+ break;
91
+ case buttonTypeNext:
92
+ tabToSelect = this.nextTab;
93
+ break;
94
+ /* istanbul ignore next */
95
+ default:
96
+ break;
97
+ }
98
+ /* istanbul ignore else */
99
+ if (tabToSelect && !tabToSelect.disabled) {
100
+ this.tabset.active = tabToSelect.tabIndex;
101
+ }
102
+ }
103
+ }
104
+ SkyTabsetNavButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsetNavButtonComponent, deps: [{ token: i1.SkyLibResourcesService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
105
+ SkyTabsetNavButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyTabsetNavButtonComponent, selector: "sky-tabset-nav-button", inputs: { tabset: "tabset", buttonType: "buttonType", buttonText: "buttonText" }, ngImport: i0, template: "<button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick()\"\n>\n {{ buttonText }}\n</button>\n" });
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsetNavButtonComponent, decorators: [{
107
+ type: Component,
108
+ args: [{ selector: 'sky-tabset-nav-button', template: "<button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick()\"\n>\n {{ buttonText }}\n</button>\n" }]
109
+ }], ctorParameters: function () { return [{ type: i1.SkyLibResourcesService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tabset: [{
110
+ type: Input
111
+ }], buttonType: [{
112
+ type: Input
113
+ }], buttonText: [{
114
+ type: Input
115
+ }] } });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXhELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztBQUU5QixNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQztBQUV0Qzs7R0FFRztBQUtILE1BQU0sT0FBTywyQkFBMkI7SUFvRnRDLFlBQ1UsZUFBdUMsRUFDdkMsY0FBaUM7UUFEakMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtJQUN4QyxDQUFDO0lBaEZKLElBQ1csVUFBVSxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3pCO1FBRUQsUUFB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Q0FBQztnQkFDM0IsTUFBTTtZQUNSLDBCQUEwQjtZQUMxQjtnQkFDRSxNQUFNO1NBQ1Q7UUFFRCwwQkFBMEI7UUFDMUIsSUFBSSxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUM7U0FDM0M7SUFDSCxDQUFDOzt3SEF6SFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsK0lDekJ4Qyw2SkFRQTsyRkRpQmEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLHVCQUF1Qjs2SUFLMUIsTUFBTTtzQkFEWixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUssVUFBVTtzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUYWJDb21wb25lbnQgfSBmcm9tICcuL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VGFic2V0Q29tcG9uZW50IH0gZnJvbSAnLi90YWJzZXQuY29tcG9uZW50JztcblxuY29uc3QgYnV0dG9uVHlwZU5leHQgPSAnbmV4dCc7XG5cbmNvbnN0IGJ1dHRvblR5cGVQcmV2aW91cyA9ICdwcmV2aW91cyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10YWJzZXQtbmF2LWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJzZXQtbmF2LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYnNldE5hdkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGFic2V0OiBTa3lUYWJzZXRDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvblR5cGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGJ1dHRvblRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2J1dHRvblRleHQgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnV0dG9uVGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLl9idXR0b25UZXh0KSB7XG4gICAgICByZXR1cm4gdGhpcy5fYnV0dG9uVGV4dDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMuYnV0dG9uVHlwZSkge1xuICAgICAgY2FzZSBidXR0b25UeXBlUHJldmlvdXM6XG4gICAgICAgIHJldHVybiB0aGlzLnByZXZpb3VzQnV0dG9uVGV4dDtcbiAgICAgIGNhc2UgYnV0dG9uVHlwZU5leHQ6XG4gICAgICAgIHJldHVybiB0aGlzLm5leHRCdXR0b25UZXh0O1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGxldCB0YWJUb1NlbGVjdDogU2t5VGFiQ29tcG9uZW50O1xuXG4gICAgc3dpdGNoICh0aGlzLmJ1dHRvblR5cGUpIHtcbiAgICAgIGNhc2UgYnV0dG9uVHlwZVByZXZpb3VzOlxuICAgICAgICB0YWJUb1NlbGVjdCA9IHRoaXMucHJldmlvdXNUYWI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBidXR0b25UeXBlTmV4dDpcbiAgICAgICAgdGFiVG9TZWxlY3QgPSB0aGlzLm5leHRUYWI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiAhdGFiVG9TZWxlY3QgfHwgdGFiVG9TZWxlY3QuZGlzYWJsZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBzZWxlY3RlZFRhYigpOiBTa3lUYWJDb21wb25lbnQge1xuICAgIGxldCBzZWxlY3RlZFRhYjogU2t5VGFiQ29tcG9uZW50O1xuXG4gICAgaWYgKHRoaXMudGFic2V0ICYmIHRoaXMudGFic2V0LnRhYnMpIHtcbiAgICAgIHNlbGVjdGVkVGFiID0gdGhpcy50YWJzZXQudGFicy5maW5kKFxuICAgICAgICAodGFiKSA9PiB0YWIudGFiSW5kZXggPT09IHRoaXMudGFic2V0Lmxhc3RBY3RpdmVUYWJJbmRleFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VsZWN0ZWRUYWI7XG4gIH1cblxuICBwcml2YXRlIGdldCBuZXh0VGFiKCk6IFNreVRhYkNvbXBvbmVudCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUYWIgPSB0aGlzLnNlbGVjdGVkVGFiO1xuXG4gICAgaWYgKHNlbGVjdGVkVGFiKSB7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy50YWJzZXQudGFicy50b0FycmF5KCk7XG4gICAgICByZXR1cm4gdGFic1t0YWJzLmluZGV4T2Yoc2VsZWN0ZWRUYWIpICsgMV07XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHByZXZpb3VzVGFiKCk6IFNreVRhYkNvbXBvbmVudCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUYWIgPSB0aGlzLnNlbGVjdGVkVGFiO1xuXG4gICAgaWYgKHNlbGVjdGVkVGFiKSB7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy50YWJzZXQudGFicy50b0FycmF5KCk7XG4gICAgICByZXR1cm4gdGFic1t0YWJzLmluZGV4T2Yoc2VsZWN0ZWRUYWIpIC0gMV07XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgX2J1dHRvblRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSBwcmV2aW91c0J1dHRvblRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSBuZXh0QnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzb3VyY2VTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGZvcmtKb2luKFtcbiAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfdGFic19uYXZpZ2F0b3JfcHJldmlvdXMnKSxcbiAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfdGFic19uYXZpZ2F0b3JfbmV4dCcpLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgocmVzb3VyY2VzKSA9PiB7XG4gICAgICAgIHRoaXMucHJldmlvdXNCdXR0b25UZXh0ID0gcmVzb3VyY2VzWzBdO1xuICAgICAgICB0aGlzLm5leHRCdXR0b25UZXh0ID0gcmVzb3VyY2VzWzFdO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGJ1dHRvbkNsaWNrKCkge1xuICAgIGxldCB0YWJUb1NlbGVjdDogU2t5VGFiQ29tcG9uZW50O1xuXG4gICAgc3dpdGNoICh0aGlzLmJ1dHRvblR5cGUpIHtcbiAgICAgIGNhc2UgYnV0dG9uVHlwZVByZXZpb3VzOlxuICAgICAgICB0YWJUb1NlbGVjdCA9IHRoaXMucHJldmlvdXNUYWI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBidXR0b25UeXBlTmV4dDpcbiAgICAgICAgdGFiVG9TZWxlY3QgPSB0aGlzLm5leHRUYWI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRhYlRvU2VsZWN0ICYmICF0YWJUb1NlbGVjdC5kaXNhYmxlZCkge1xuICAgICAgdGhpcy50YWJzZXQuYWN0aXZlID0gdGFiVG9TZWxlY3QudGFiSW5kZXg7XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHRcIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKClcIlxuPlxuICB7eyBidXR0b25UZXh0IH19XG48L2J1dHRvbj5cbiJdfQ==
@@ -0,0 +1,126 @@
1
+ import { Location } from '@angular/common';
2
+ import { Injectable } from '@angular/core';
3
+ import { ActivatedRoute, Router } from '@angular/router';
4
+ import { Subject } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ import * as i2 from "@angular/common";
8
+ /**
9
+ * @internal
10
+ */
11
+ export class SkyTabsetPermalinkService {
12
+ constructor(activatedRoute, location, router) {
13
+ this.activatedRoute = activatedRoute;
14
+ this.location = location;
15
+ this.router = router;
16
+ this._popStateChange = new Subject();
17
+ }
18
+ get popStateChange() {
19
+ return this._popStateChange.asObservable();
20
+ }
21
+ ngOnDestroy() {
22
+ if (this.subscription) {
23
+ this.subscription.unsubscribe();
24
+ }
25
+ }
26
+ init() {
27
+ this.subscription = this.location.subscribe(() => {
28
+ this._popStateChange.next();
29
+ });
30
+ }
31
+ /**
32
+ * Returns the value of a URL query param.
33
+ */
34
+ getParam(name) {
35
+ return this.getParams()[name];
36
+ }
37
+ /**
38
+ * Sets the value of a URL query param.
39
+ */
40
+ setParam(name, value) {
41
+ const params = this.getParams();
42
+ if (value === null) {
43
+ delete params[name];
44
+ }
45
+ else {
46
+ params[name] = value;
47
+ }
48
+ // Update the URL without triggering a navigation state change.
49
+ // See: https://stackoverflow.com/a/46486677
50
+ const url = this.router
51
+ .createUrlTree([], {
52
+ relativeTo: this.activatedRoute,
53
+ queryParams: params,
54
+ queryParamsHandling: 'merge',
55
+ })
56
+ .toString();
57
+ // Abort redirect if the current URL is equal to the new URL.
58
+ if (this.location.isCurrentPathEqualTo(url)) {
59
+ return;
60
+ }
61
+ this.location.go(url);
62
+ }
63
+ /**
64
+ * Removes the provided query param from the URL.
65
+ */
66
+ clearParam(name) {
67
+ /*tslint:disable-next-line:no-null-keyword*/
68
+ this.setParam(name, null);
69
+ }
70
+ /**
71
+ * Returns a relative URL that includes the provided query parameter. The value is inteded to be
72
+ * used by an HTML anchor element.
73
+ */
74
+ getParamHref(name, value) {
75
+ if (!name) {
76
+ /*tslint:disable-next-line:no-null-keyword*/
77
+ return null;
78
+ }
79
+ const params = this.getParams();
80
+ params[name] = value;
81
+ const baseUrl = this.location.path().split('?')[0];
82
+ const paramString = Object.keys(params)
83
+ .map((k) => `${k}=${params[k]}`)
84
+ .join('&');
85
+ return this.location.prepareExternalUrl(`${baseUrl}?${paramString}`);
86
+ }
87
+ /**
88
+ * Converts the provided string into a value that can be safely used in a URL.
89
+ */
90
+ urlify(value) {
91
+ if (!value) {
92
+ return '';
93
+ }
94
+ const sanitized = value
95
+ .toLowerCase()
96
+ // Remove special characters.
97
+ .replace(/[_~`@!#$%^&*()[\]{};:'/\\<>,.?=+|"]/g, '')
98
+ // Replace space characters with a dash.
99
+ .replace(/\s/g, '-')
100
+ // Remove any double-dashes.
101
+ .replace(/--/g, '-');
102
+ return sanitized;
103
+ }
104
+ /**
105
+ * Returns all query params that exist in the current URL.
106
+ */
107
+ getParams() {
108
+ const params = {};
109
+ const path = this.location.path();
110
+ if (path.indexOf('?') === -1) {
111
+ return params;
112
+ }
113
+ const existingParamPairs = path.split('?')[1].split('&');
114
+ existingParamPairs.forEach((pair) => {
115
+ const fragments = pair.split('=');
116
+ params[fragments[0]] = decodeURIComponent(fragments[1]);
117
+ });
118
+ return params;
119
+ }
120
+ }
121
+ SkyTabsetPermalinkService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsetPermalinkService, deps: [{ token: i1.ActivatedRoute }, { token: i2.Location }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
122
+ SkyTabsetPermalinkService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsetPermalinkService });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTabsetPermalinkService, decorators: [{
124
+ type: Injectable
125
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.Location }, { type: i1.Router }]; } });
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LXBlcm1hbGluay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LXBlcm1hbGluay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFjLE9BQU8sRUFBb0IsTUFBTSxNQUFNLENBQUM7Ozs7QUFTN0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBU3BDLFlBQ1UsY0FBOEIsRUFDOUIsUUFBa0IsRUFDbEIsTUFBYztRQUZkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFQaEIsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBUTNDLENBQUM7SUFaSixJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFZTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVE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QUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pELGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7c0hBdElVLHlCQUF5QjswSEFBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb25MaWtlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmludGVyZmFjZSBQZXJtYWxpbmtQYXJhbXMge1xuICBbXzogc3RyaW5nXTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGFic2V0UGVybWFsaW5rU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBnZXQgcG9wU3RhdGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3BvcFN0YXRlQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcG9wU3RhdGVDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb25MaWtlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmxvY2F0aW9uLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9wb3BTdGF0ZUNoYW5nZS5uZXh0KCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgYSBVUkwgcXVlcnkgcGFyYW0uXG4gICAqL1xuICBwdWJsaWMgZ2V0UGFyYW0obmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRQYXJhbXMoKVtuYW1lXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiBhIFVSTCBxdWVyeSBwYXJhbS5cbiAgICovXG4gIHB1YmxpYyBzZXRQYXJhbShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5nZXRQYXJhbXMoKTtcblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgZGVsZXRlIHBhcmFtc1tuYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyYW1zW25hbWVdID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIHRoZSBVUkwgd2l0aG91dCB0cmlnZ2VyaW5nIGEgbmF2aWdhdGlvbiBzdGF0ZSBjaGFuZ2UuXG4gICAgLy8gU2VlOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDY0ODY2NzdcbiAgICBjb25zdCB1cmwgPSB0aGlzLnJvdXRlclxuICAgICAgLmNyZWF0ZVVybFRyZWUoW10sIHtcbiAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcXVlcnlQYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgIH0pXG4gICAgICAudG9TdHJpbmcoKTtcblxuICAgIC8vIEFib3J0IHJlZGlyZWN0IGlmIHRoZSBjdXJyZW50IFVSTCBpcyBlcXVhbCB0byB0aGUgbmV3IFVSTC5cbiAgICBpZiAodGhpcy5sb2NhdGlvbi5pc0N1cnJlbnRQYXRoRXF1YWxUbyh1cmwpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5sb2NhdGlvbi5nbyh1cmwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtIGZyb20gdGhlIFVSTC5cbiAgICovXG4gIHB1YmxpYyBjbGVhclBhcmFtKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIC8qdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW51bGwta2V5d29yZCovXG4gICAgdGhpcy5zZXRQYXJhbShuYW1lLCBudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcmVsYXRpdmUgVVJMIHRoYXQgaW5jbHVkZXMgdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlci4gVGhlIHZhbHVlIGlzIGludGVkZWQgdG8gYmVcbiAgICogdXNlZCBieSBhbiBIVE1MIGFuY2hvciBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGdldFBhcmFtSHJlZihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgIC8qdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW51bGwta2V5d29yZCovXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldFBhcmFtcygpO1xuICAgIHBhcmFtc1tuYW1lXSA9IHZhbHVlO1xuXG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMubG9jYXRpb24ucGF0aCgpLnNwbGl0KCc/JylbMF07XG4gICAgY29uc3QgcGFyYW1TdHJpbmcgPSBPYmplY3Qua2V5cyhwYXJhbXMpXG4gICAgICAubWFwKChrKSA9PiBgJHtrfT0ke3BhcmFtc1trXX1gKVxuICAgICAgLmpvaW4oJyYnKTtcblxuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uLnByZXBhcmVFeHRlcm5hbFVybChgJHtiYXNlVXJsfT8ke3BhcmFtU3RyaW5nfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBwcm92aWRlZCBzdHJpbmcgaW50byBhIHZhbHVlIHRoYXQgY2FuIGJlIHNhZmVseSB1c2VkIGluIGEgVVJMLlxuICAgKi9cbiAgcHVibGljIHVybGlmeSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3Qgc2FuaXRpemVkID0gdmFsdWVcbiAgICAgIC50b0xvd2VyQ2FzZSgpXG5cbiAgICAgIC8vIFJlbW92ZSBzcGVjaWFsIGNoYXJhY3RlcnMuXG4gICAgICAucmVwbGFjZSgvW19+YEAhIyQlXiYqKClbXFxde307OicvXFxcXDw+LC4/PSt8XCJdL2csICcnKVxuXG4gICAgICAvLyBSZXBsYWNlIHNwYWNlIGNoYXJhY3RlcnMgd2l0aCBhIGRhc2guXG4gICAgICAucmVwbGFjZSgvXFxzL2csICctJylcblxuICAgICAgLy8gUmVtb3ZlIGFueSBkb3VibGUtZGFzaGVzLlxuICAgICAgLnJlcGxhY2UoLy0tL2csICctJyk7XG5cbiAgICByZXR1cm4gc2FuaXRpemVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIHF1ZXJ5IHBhcmFtcyB0aGF0IGV4aXN0IGluIHRoZSBjdXJyZW50IFVSTC5cbiAgICovXG4gIHByaXZhdGUgZ2V0UGFyYW1zKCk6IFBlcm1hbGlua1BhcmFtcyB7XG4gICAgY29uc3QgcGFyYW1zOiBQZXJtYWxpbmtQYXJhbXMgPSB7fTtcblxuICAgIGNvbnN0IHBhdGggPSB0aGlzLmxvY2F0aW9uLnBhdGgoKTtcbiAgICBpZiAocGF0aC5pbmRleE9mKCc/JykgPT09IC0xKSB7XG4gICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cblxuICAgIGNvbnN0IGV4aXN0aW5nUGFyYW1QYWlycyA9IHBhdGguc3BsaXQoJz8nKVsxXS5zcGxpdCgnJicpO1xuICAgIGV4aXN0aW5nUGFyYW1QYWlycy5mb3JFYWNoKChwYWlyKSA9PiB7XG4gICAgICBjb25zdCBmcmFnbWVudHMgPSBwYWlyLnNwbGl0KCc9Jyk7XG4gICAgICBwYXJhbXNbZnJhZ21lbnRzWzBdXSA9IGRlY29kZVVSSUNvbXBvbmVudChmcmFnbWVudHNbMV0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LXN0eWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LXN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTa3lUYWJzZXRTdHlsZSA9ICd0YWJzJyB8ICd3aXphcmQnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LXRhYi1pbmRleGVzLWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYnNldC10YWItaW5kZXhlcy1jaGFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreVRhYkluZGV4IH0gZnJvbSAnLi90YWItaW5kZXgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreVRhYnNldFRhYkluZGV4ZXNDaGFuZ2Uge1xuICB0YWJzPzoge1xuICAgIHRhYkhlYWRpbmc6IHN0cmluZztcblxuICAgIHRhYkluZGV4OiBTa3lUYWJJbmRleDtcbiAgfVtdO1xufVxuIl19