@skyux/tabs 4.6.9

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 (152) hide show
  1. package/CHANGELOG.md +218 -0
  2. package/README.md +5 -0
  3. package/bundles/skyux-tabs-testing.umd.js +395 -0
  4. package/bundles/skyux-tabs-testing.umd.js.map +1 -0
  5. package/bundles/skyux-tabs-testing.umd.min.js +16 -0
  6. package/bundles/skyux-tabs-testing.umd.min.js.map +1 -0
  7. package/bundles/skyux-tabs.umd.js +2414 -0
  8. package/bundles/skyux-tabs.umd.js.map +1 -0
  9. package/bundles/skyux-tabs.umd.min.js +16 -0
  10. package/bundles/skyux-tabs.umd.min.js.map +1 -0
  11. package/esm2015/modules/sectioned-form/sectioned-form-section.component.js +74 -0
  12. package/esm2015/modules/sectioned-form/sectioned-form.component.js +105 -0
  13. package/esm2015/modules/sectioned-form/sectioned-form.module.js +28 -0
  14. package/esm2015/modules/sectioned-form/sectioned-form.service.js +34 -0
  15. package/esm2015/modules/shared/tabs-resources.module.js +17 -0
  16. package/esm2015/modules/tabs/tab-button.component.js +71 -0
  17. package/esm2015/modules/tabs/tab-index.js +1 -0
  18. package/esm2015/modules/tabs/tab.component.js +144 -0
  19. package/esm2015/modules/tabs/tabs.module.js +41 -0
  20. package/esm2015/modules/tabs/tabset-active-tab-unregistered-args.js +1 -0
  21. package/esm2015/modules/tabs/tabset-adapter.service.js +53 -0
  22. package/esm2015/modules/tabs/tabset-buttons-display-mode.js +1 -0
  23. package/esm2015/modules/tabs/tabset-nav-button.component.js +122 -0
  24. package/esm2015/modules/tabs/tabset-permalink.service.js +123 -0
  25. package/esm2015/modules/tabs/tabset-style.js +1 -0
  26. package/esm2015/modules/tabs/tabset-tab-indexes-change.js +1 -0
  27. package/esm2015/modules/tabs/tabset.component.js +403 -0
  28. package/esm2015/modules/tabs/tabset.service.js +109 -0
  29. package/esm2015/modules/vertical-tabset/vertical-tab-media-query.service.js +71 -0
  30. package/esm2015/modules/vertical-tabset/vertical-tab.component.js +195 -0
  31. package/esm2015/modules/vertical-tabset/vertical-tabset-adapter.service.js +50 -0
  32. package/esm2015/modules/vertical-tabset/vertical-tabset-group.component.js +113 -0
  33. package/esm2015/modules/vertical-tabset/vertical-tabset.component.js +139 -0
  34. package/esm2015/modules/vertical-tabset/vertical-tabset.module.js +43 -0
  35. package/esm2015/modules/vertical-tabset/vertical-tabset.service.js +167 -0
  36. package/esm2015/plugin-resources/tabs-resources-provider.js +16 -0
  37. package/esm2015/public_api.js +10 -0
  38. package/esm2015/skyux-tabs.js +21 -0
  39. package/esm2015/testing/public_api.js +2 -0
  40. package/esm2015/testing/skyux-tabs-testing.js +5 -0
  41. package/esm2015/testing/tabs/tab-fixture-tab.js +1 -0
  42. package/esm2015/testing/tabs/tabset-fixture.js +141 -0
  43. package/esm5/modules/sectioned-form/sectioned-form-section.component.js +84 -0
  44. package/esm5/modules/sectioned-form/sectioned-form.component.js +111 -0
  45. package/esm5/modules/sectioned-form/sectioned-form.module.js +31 -0
  46. package/esm5/modules/sectioned-form/sectioned-form.service.js +35 -0
  47. package/esm5/modules/shared/tabs-resources.module.js +20 -0
  48. package/esm5/modules/tabs/tab-button.component.js +72 -0
  49. package/esm5/modules/tabs/tab-index.js +1 -0
  50. package/esm5/modules/tabs/tab.component.js +173 -0
  51. package/esm5/modules/tabs/tabs.module.js +44 -0
  52. package/esm5/modules/tabs/tabset-active-tab-unregistered-args.js +1 -0
  53. package/esm5/modules/tabs/tabset-adapter.service.js +58 -0
  54. package/esm5/modules/tabs/tabset-buttons-display-mode.js +1 -0
  55. package/esm5/modules/tabs/tabset-nav-button.component.js +145 -0
  56. package/esm5/modules/tabs/tabset-permalink.service.js +129 -0
  57. package/esm5/modules/tabs/tabset-style.js +1 -0
  58. package/esm5/modules/tabs/tabset-tab-indexes-change.js +1 -0
  59. package/esm5/modules/tabs/tabset.component.js +434 -0
  60. package/esm5/modules/tabs/tabset.service.js +122 -0
  61. package/esm5/modules/vertical-tabset/vertical-tab-media-query.service.js +76 -0
  62. package/esm5/modules/vertical-tabset/vertical-tab.component.js +214 -0
  63. package/esm5/modules/vertical-tabset/vertical-tabset-adapter.service.js +51 -0
  64. package/esm5/modules/vertical-tabset/vertical-tabset-group.component.js +119 -0
  65. package/esm5/modules/vertical-tabset/vertical-tabset.component.js +145 -0
  66. package/esm5/modules/vertical-tabset/vertical-tabset.module.js +46 -0
  67. package/esm5/modules/vertical-tabset/vertical-tabset.service.js +176 -0
  68. package/esm5/plugin-resources/tabs-resources-provider.js +17 -0
  69. package/esm5/public_api.js +10 -0
  70. package/esm5/skyux-tabs.js +21 -0
  71. package/esm5/testing/public_api.js +2 -0
  72. package/esm5/testing/skyux-tabs-testing.js +5 -0
  73. package/esm5/testing/tabs/tab-fixture-tab.js +1 -0
  74. package/esm5/testing/tabs/tabset-fixture.js +168 -0
  75. package/fesm2015/skyux-tabs-testing.js +148 -0
  76. package/fesm2015/skyux-tabs-testing.js.map +1 -0
  77. package/fesm2015/skyux-tabs.js +1998 -0
  78. package/fesm2015/skyux-tabs.js.map +1 -0
  79. package/fesm5/skyux-tabs-testing.js +174 -0
  80. package/fesm5/skyux-tabs-testing.js.map +1 -0
  81. package/fesm5/skyux-tabs.js +2182 -0
  82. package/fesm5/skyux-tabs.js.map +1 -0
  83. package/modules/sectioned-form/sectioned-form-section.component.d.ts +39 -0
  84. package/modules/sectioned-form/sectioned-form.component.d.ts +30 -0
  85. package/modules/sectioned-form/sectioned-form.module.d.ts +2 -0
  86. package/modules/sectioned-form/sectioned-form.service.d.ts +21 -0
  87. package/modules/shared/tabs-resources.module.d.ts +2 -0
  88. package/modules/tabs/tab-button.component.d.ts +21 -0
  89. package/modules/tabs/tab-index.d.ts +1 -0
  90. package/modules/tabs/tab.component.d.ts +77 -0
  91. package/modules/tabs/tabs.module.d.ts +2 -0
  92. package/modules/tabs/tabset-active-tab-unregistered-args.d.ts +10 -0
  93. package/modules/tabs/tabset-adapter.service.d.ts +21 -0
  94. package/modules/tabs/tabset-buttons-display-mode.d.ts +1 -0
  95. package/modules/tabs/tabset-nav-button.component.d.ts +24 -0
  96. package/modules/tabs/tabset-permalink.service.d.ts +43 -0
  97. package/modules/tabs/tabset-style.d.ts +1 -0
  98. package/modules/tabs/tabset-tab-indexes-change.d.ts +7 -0
  99. package/modules/tabs/tabset.component.d.ts +142 -0
  100. package/modules/tabs/tabset.service.d.ts +51 -0
  101. package/modules/vertical-tabset/vertical-tab-media-query.service.d.ts +15 -0
  102. package/modules/vertical-tabset/vertical-tab.component.d.ts +86 -0
  103. package/modules/vertical-tabset/vertical-tabset-adapter.service.d.ts +10 -0
  104. package/modules/vertical-tabset/vertical-tabset-group.component.d.ts +33 -0
  105. package/modules/vertical-tabset/vertical-tabset.component.d.ts +45 -0
  106. package/modules/vertical-tabset/vertical-tabset.module.d.ts +2 -0
  107. package/modules/vertical-tabset/vertical-tabset.service.d.ts +41 -0
  108. package/package.json +41 -0
  109. package/plugin-resources/tabs-resources-provider.d.ts +5 -0
  110. package/public_api.d.ts +9 -0
  111. package/skyux-tabs.d.ts +20 -0
  112. package/skyux-tabs.metadata.json +1 -0
  113. package/src/assets/img/guidelines/tabs/tabs-anatomy.png +0 -0
  114. package/src/assets/img/guidelines/tabs/tabs-behavior-1.png +0 -0
  115. package/src/assets/img/guidelines/tabs/tabs-layout-1.png +0 -0
  116. package/src/assets/img/guidelines/tabs/tabs-layout-2.png +0 -0
  117. package/src/assets/img/guidelines/tabs/tabs-layout-3.png +0 -0
  118. package/src/assets/img/guidelines/tabs/tabs-layout-4.png +0 -0
  119. package/src/assets/img/guidelines/tabs/tabs-options-1.png +0 -0
  120. package/src/assets/img/guidelines/tabs/tabs-options-2.png +0 -0
  121. package/src/assets/img/guidelines/tabs/tabs-state-collapsed-closed.png +0 -0
  122. package/src/assets/img/guidelines/tabs/tabs-state-collapsed-open.png +0 -0
  123. package/src/assets/img/guidelines/tabs/tabs-state-hover.png +0 -0
  124. package/src/assets/img/guidelines/tabs/tabs-state-selected.png +0 -0
  125. package/src/assets/img/guidelines/tabs/tabs-state-unselected.png +0 -0
  126. package/src/assets/img/guidelines/tabs/tabs-usage-1.png +0 -0
  127. package/src/assets/img/guidelines/tabs/tabs-usage-2.png +0 -0
  128. package/src/assets/img/guidelines/tabs/tabs-usage-3.png +0 -0
  129. package/src/assets/img/guidelines/tabs/tabs-usage-4.png +0 -0
  130. package/src/assets/img/guidelines/tabs/tabs-usage-5.png +0 -0
  131. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-anatomy-1.png +0 -0
  132. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-anatomy-2.png +0 -0
  133. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-layout-1.png +0 -0
  134. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-hover.png +0 -0
  135. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-selected-group.png +0 -0
  136. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-selected.png +0 -0
  137. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-unselected-group.png +0 -0
  138. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-state-unselected.png +0 -0
  139. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-1.png +0 -0
  140. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-2.png +0 -0
  141. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-3.png +0 -0
  142. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-4.png +0 -0
  143. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-5.png +0 -0
  144. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-6.png +0 -0
  145. package/src/assets/img/guidelines/vertical-tabs/vertical-tabs-usage-7.png +0 -0
  146. package/src/assets/locales/resources_en_US.json +26 -0
  147. package/testing/package.json +13 -0
  148. package/testing/public_api.d.ts +2 -0
  149. package/testing/skyux-tabs-testing.d.ts +4 -0
  150. package/testing/skyux-tabs-testing.metadata.json +1 -0
  151. package/testing/tabs/tab-fixture-tab.d.ts +25 -0
  152. package/testing/tabs/tabset-fixture.d.ts +50 -0
@@ -0,0 +1,84 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input, ViewChild, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { SkyVerticalTabComponent } from './../vertical-tabset/vertical-tab.component';
6
+ import { SkySectionedFormService } from './sectioned-form.service';
7
+ import { SkyVerticalTabsetService } from '../vertical-tabset/vertical-tabset.service';
8
+ var nextId = 0;
9
+ /**
10
+ * Creates an individual form to display as a section within the sectioned form.
11
+ */
12
+ var SkySectionedFormSectionComponent = /** @class */ (function () {
13
+ function SkySectionedFormSectionComponent(sectionedFormService, tabsetService, changeRef) {
14
+ this.sectionedFormService = sectionedFormService;
15
+ this.tabsetService = tabsetService;
16
+ this.changeRef = changeRef;
17
+ this.sectionTabId = "sky-sectioned-form-tab-" + ++nextId;
18
+ this.sectionContentId = "sky-sectioned-form-section-" + ++nextId;
19
+ this.isMobile = false;
20
+ this._ngUnsubscribe = new Subject();
21
+ }
22
+ Object.defineProperty(SkySectionedFormSectionComponent.prototype, "ariaRole", {
23
+ get: function () {
24
+ return this.isMobile ? undefined : 'tabpanel';
25
+ },
26
+ enumerable: true,
27
+ configurable: true
28
+ });
29
+ Object.defineProperty(SkySectionedFormSectionComponent.prototype, "ariaLabelledby", {
30
+ get: function () {
31
+ return this.isMobile ? undefined : this.sectionTabId;
32
+ },
33
+ enumerable: true,
34
+ configurable: true
35
+ });
36
+ SkySectionedFormSectionComponent.prototype.ngOnInit = function () {
37
+ var _this = this;
38
+ this.isMobile = this.tabsetService.isMobile();
39
+ this.changeRef.detectChanges();
40
+ this.tabsetService.switchingMobile
41
+ .subscribe(function (mobile) {
42
+ _this.isMobile = mobile;
43
+ _this.changeRef.detectChanges();
44
+ });
45
+ this.sectionedFormService.requiredChange
46
+ .pipe(takeUntil(this._ngUnsubscribe))
47
+ .subscribe(function (required) { return _this.fieldRequired = required; });
48
+ this.sectionedFormService.invalidChange
49
+ .pipe(takeUntil(this._ngUnsubscribe))
50
+ .subscribe(function (invalid) { return _this.fieldInvalid = invalid; });
51
+ };
52
+ SkySectionedFormSectionComponent.prototype.ngOnDestroy = function () {
53
+ this._ngUnsubscribe.next();
54
+ this._ngUnsubscribe.complete();
55
+ };
56
+ SkySectionedFormSectionComponent.ctorParameters = function () { return [
57
+ { type: SkySectionedFormService },
58
+ { type: SkyVerticalTabsetService },
59
+ { type: ChangeDetectorRef }
60
+ ]; };
61
+ __decorate([
62
+ Input()
63
+ ], SkySectionedFormSectionComponent.prototype, "heading", void 0);
64
+ __decorate([
65
+ Input()
66
+ ], SkySectionedFormSectionComponent.prototype, "itemCount", void 0);
67
+ __decorate([
68
+ Input()
69
+ ], SkySectionedFormSectionComponent.prototype, "active", void 0);
70
+ __decorate([
71
+ ViewChild(SkyVerticalTabComponent)
72
+ ], SkySectionedFormSectionComponent.prototype, "tab", void 0);
73
+ SkySectionedFormSectionComponent = __decorate([
74
+ Component({
75
+ selector: 'sky-sectioned-form-section',
76
+ template: "<sky-vertical-tab\n [active]=\"active\"\n [ariaControls]=\"sectionContentId\"\n [ariaInvalid]=\"fieldInvalid\"\n [ariaRequired]=\"fieldRequired\"\n [errorIndicator]=\"fieldInvalid\"\n [ngClass]=\"{\n 'sky-tab-field-required': fieldRequired\n }\"\n [showTabRightArrow]=\"true\"\n [tabHeaderCount]=\"itemCount\"\n [tabHeading]=\"heading\"\n [tabId]=\"sectionTabId\">\n <div\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.role]=\"ariaRole\"\n [id]=\"sectionContentId\"\n #tabContent>\n <ng-content></ng-content>\n </div>\n</sky-vertical-tab>\n",
77
+ providers: [SkySectionedFormService],
78
+ styles: [":host .sky-tab-field-required ::ng-deep .sky-vertical-tab-heading:after{content:\"*\";color:#ef4044;padding-left:5px}"]
79
+ })
80
+ ], SkySectionedFormSectionComponent);
81
+ return SkySectionedFormSectionComponent;
82
+ }());
83
+ export { SkySectionedFormSectionComponent };
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvdGFicy8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvc2VjdGlvbmVkLWZvcm0vc2VjdGlvbmVkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsT0FBTyxFQUNSLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDTCx1QkFBdUIsRUFDeEIsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3hCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUNMLHdCQUF3QixFQUN6QixNQUFNLDRDQUE0QyxDQUFDO0FBRXBELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmOztHQUVHO0FBT0g7SUEwQ0UsMENBQ1Usb0JBQTZDLEVBQzdDLGFBQXVDLEVBQ3ZDLFNBQTRCO1FBRjVCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0Msa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBQ3ZDLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBNUMvQixpQkFBWSxHQUFHLDRCQUEwQixFQUFFLE1BQVEsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBRyxnQ0FBOEIsRUFBRSxNQUFRLENBQUM7UUFxQzNELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBTXBDLENBQUM7SUFyQkosc0JBQVcsc0RBQVE7YUFBbkI7WUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ2hELENBQUM7OztPQUFBO0lBRUQsc0JBQVcsNERBQWM7YUFBekI7WUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2RCxDQUFDOzs7T0FBQTtJQWlCTSxtREFBUSxHQUFmO1FBQUEsaUJBaUJDO1FBaEJDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRS9CLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTthQUMvQixTQUFTLENBQUMsVUFBQyxNQUFlO1lBQ3pCLEtBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1lBQ3ZCLEtBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYzthQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsVUFBQyxRQUFpQixJQUFLLE9BQUEsS0FBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLEVBQTdCLENBQTZCLENBQUMsQ0FBQztRQUVuRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYTthQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsVUFBQyxPQUFnQixJQUFLLE9BQUEsS0FBSSxDQUFDLFlBQVksR0FBRyxPQUFPLEVBQTNCLENBQTJCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sc0RBQVcsR0FBbEI7UUFDRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQzs7Z0JBM0IrQix1QkFBdUI7Z0JBQzlCLHdCQUF3QjtnQkFDNUIsaUJBQWlCOztJQXBDdEM7UUFEQyxLQUFLLEVBQUU7cUVBQ2U7SUFPdkI7UUFEQyxLQUFLLEVBQUU7dUVBQ2lCO0lBT3pCO1FBREMsS0FBSyxFQUFFO29FQUNlO0lBY3ZCO1FBREMsU0FBUyxDQUFDLHVCQUF1QixDQUFDO2lFQUNDO0lBckN6QixnQ0FBZ0M7UUFONUMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLDRCQUE0QjtZQUN0Qyw0a0JBQXNEO1lBQ3RELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDOztTQUVyQyxDQUFDO09BQ1csZ0NBQWdDLENBdUU1QztJQUFELHVDQUFDO0NBQUEsQUF2RUQsSUF1RUM7U0F2RVksZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxuICBPbkluaXQsXG4gIE9uRGVzdHJveSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFN1YmplY3Rcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIHRha2VVbnRpbFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFNreVZlcnRpY2FsVGFiQ29tcG9uZW50XG59IGZyb20gJy4vLi4vdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgU2t5U2VjdGlvbmVkRm9ybVNlcnZpY2Vcbn0gZnJvbSAnLi9zZWN0aW9uZWQtZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFNreVZlcnRpY2FsVGFic2V0U2VydmljZVxufSBmcm9tICcuLi92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LnNlcnZpY2UnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGluZGl2aWR1YWwgZm9ybSB0byBkaXNwbGF5IGFzIGEgc2VjdGlvbiB3aXRoaW4gdGhlIHNlY3Rpb25lZCBmb3JtLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VjdGlvbmVkLWZvcm0tc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWN0aW9uZWQtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbU2t5U2VjdGlvbmVkRm9ybVNlcnZpY2VdLFxuICBzdHlsZVVybHM6IFsnLi9zZWN0aW9uZWQtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2t5U2VjdGlvbmVkRm9ybVNlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBzZWN0aW9uVGFiSWQgPSBgc2t5LXNlY3Rpb25lZC1mb3JtLXRhYi0keysrbmV4dElkfWA7XG4gIHB1YmxpYyBzZWN0aW9uQ29udGVudElkID0gYHNreS1zZWN0aW9uZWQtZm9ybS1zZWN0aW9uLSR7KytuZXh0SWR9YDtcblxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIHNlY3Rpb24gaGVhZGVyLlxuICogQHJlcXVpcmVkXG4gKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlYWRpbmc6IHN0cmluZztcblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBpdGVtcyB3aXRoaW4gdGhlIHNlY3Rpb24gYW5kIGRpc3BsYXlzIGFcbiAqIGNvdW50ZXIgYWxvbmdzaWRlIHRoZSBzZWN0aW9uIGhlYWRlci5cbiAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaXRlbUNvdW50OiBudW1iZXI7XG5cbi8qKlxuICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHNlY3Rpb24gaXMgYWN0aXZlIHdoZW4gdGhlIGZvcm0gbG9hZHMuXG4gKiBAZGVmYXVsdCBmYWxzZVxuICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY3RpdmU6IGJvb2xlYW47XG5cbiAgcHVibGljIGdldCBhcmlhUm9sZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlzTW9iaWxlID8gdW5kZWZpbmVkIDogJ3RhYnBhbmVsJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsbGVkYnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgPyB1bmRlZmluZWQgOiB0aGlzLnNlY3Rpb25UYWJJZDtcbiAgfVxuXG4gIHB1YmxpYyBmaWVsZFJlcXVpcmVkOiBib29sZWFuO1xuICBwdWJsaWMgZmllbGRJbnZhbGlkOiBib29sZWFuO1xuXG4gIEBWaWV3Q2hpbGQoU2t5VmVydGljYWxUYWJDb21wb25lbnQpXG4gIHB1YmxpYyB0YWI6IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgaXNNb2JpbGUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWN0aW9uZWRGb3JtU2VydmljZTogU2t5U2VjdGlvbmVkRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0YWJzZXRTZXJ2aWNlOiBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc01vYmlsZSA9IHRoaXMudGFic2V0U2VydmljZS5pc01vYmlsZSgpO1xuICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMudGFic2V0U2VydmljZS5zd2l0Y2hpbmdNb2JpbGVcbiAgICAgIC5zdWJzY3JpYmUoKG1vYmlsZTogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLmlzTW9iaWxlID0gbW9iaWxlO1xuICAgICAgICB0aGlzLmNoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuc2VjdGlvbmVkRm9ybVNlcnZpY2UucmVxdWlyZWRDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlcXVpcmVkOiBib29sZWFuKSA9PiB0aGlzLmZpZWxkUmVxdWlyZWQgPSByZXF1aXJlZCk7XG5cbiAgICB0aGlzLnNlY3Rpb25lZEZvcm1TZXJ2aWNlLmludmFsaWRDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGludmFsaWQ6IGJvb2xlYW4pID0+IHRoaXMuZmllbGRJbnZhbGlkID0gaW52YWxpZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,111 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, OnInit, OnDestroy, ElementRef, ViewChild, EventEmitter, Output, AfterViewChecked, ChangeDetectionStrategy, ChangeDetectorRef, Input } from '@angular/core';
3
+ import { style, trigger, transition, animate } from '@angular/animations';
4
+ import { Subject } from 'rxjs';
5
+ import { takeUntil } from 'rxjs/operators';
6
+ import { SkyVerticalTabsetService, HIDDEN_STATE, VISIBLE_STATE } from './../vertical-tabset/vertical-tabset.service';
7
+ /**
8
+ * Creates a container for the sectioned forms.
9
+ */
10
+ var SkySectionedFormComponent = /** @class */ (function () {
11
+ function SkySectionedFormComponent(tabService, changeRef) {
12
+ this.tabService = tabService;
13
+ this.changeRef = changeRef;
14
+ /**
15
+ * Indicates whether the sectioned form loads section content during initialization so that it
16
+ * displays content without moving around elements in the content container.
17
+ * @default false
18
+ */
19
+ this.maintainSectionContent = false;
20
+ /**
21
+ * Fires when the active tab changes and emits the index of the active
22
+ * section. The index is based on the section's position when the form loads.
23
+ */
24
+ this.indexChanged = new EventEmitter();
25
+ this.isMobile = false;
26
+ this._ngUnsubscribe = new Subject();
27
+ }
28
+ Object.defineProperty(SkySectionedFormComponent.prototype, "ariaRole", {
29
+ get: function () {
30
+ return this.isMobile ? undefined : 'tablist';
31
+ },
32
+ enumerable: true,
33
+ configurable: true
34
+ });
35
+ SkySectionedFormComponent.prototype.ngOnInit = function () {
36
+ var _this = this;
37
+ this.tabService.maintainTabContent = this.maintainSectionContent;
38
+ this.tabService.indexChanged
39
+ .pipe(takeUntil(this._ngUnsubscribe))
40
+ .subscribe(function (index) {
41
+ _this.indexChanged.emit(index);
42
+ _this.changeRef.markForCheck();
43
+ });
44
+ this.tabService.switchingMobile
45
+ .pipe(takeUntil(this._ngUnsubscribe))
46
+ .subscribe(function (mobile) {
47
+ _this.isMobile = mobile;
48
+ _this.changeRef.markForCheck();
49
+ });
50
+ if (this.tabService.isMobile()) {
51
+ this.isMobile = true;
52
+ this.tabService.animationContentVisibleState = VISIBLE_STATE;
53
+ this.changeRef.markForCheck();
54
+ }
55
+ };
56
+ SkySectionedFormComponent.prototype.ngAfterViewChecked = function () {
57
+ this.tabService.content = this.content;
58
+ this.tabService.updateContent();
59
+ };
60
+ SkySectionedFormComponent.prototype.ngOnDestroy = function () {
61
+ this._ngUnsubscribe.next();
62
+ this._ngUnsubscribe.complete();
63
+ };
64
+ SkySectionedFormComponent.prototype.tabsVisible = function () {
65
+ this.changeRef.markForCheck();
66
+ return this.tabService.tabsVisible();
67
+ };
68
+ SkySectionedFormComponent.prototype.showTabs = function () {
69
+ this.tabService.showTabs();
70
+ this.changeRef.markForCheck();
71
+ };
72
+ SkySectionedFormComponent.ctorParameters = function () { return [
73
+ { type: SkyVerticalTabsetService },
74
+ { type: ChangeDetectorRef }
75
+ ]; };
76
+ __decorate([
77
+ Input()
78
+ ], SkySectionedFormComponent.prototype, "maintainSectionContent", void 0);
79
+ __decorate([
80
+ Output()
81
+ ], SkySectionedFormComponent.prototype, "indexChanged", void 0);
82
+ __decorate([
83
+ ViewChild('skySectionSideContent')
84
+ ], SkySectionedFormComponent.prototype, "content", void 0);
85
+ SkySectionedFormComponent = __decorate([
86
+ Component({
87
+ selector: 'sky-sectioned-form',
88
+ template: "<div\n aria-orientation=\"vertical\"\n class=\"sky-sectioned-form\"\n [attr.role]=\"ariaRole\"\n (window:resize)=\"tabService.updateContent()\"\n>\n <div\n *ngIf=\"maintainSectionContent || tabsVisible()\"\n class=\"sky-sectioned-form-tabs\"\n [ngClass]=\"{'sky-sectioned-form-tabs-hidden': !tabsVisible()}\"\n [@tabEnter]=\"tabService.animationTabsVisibleState\"\n >\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"maintainSectionContent || tabService.contentVisible()\"\n class=\"sky-sectioned-form-content sky-padding-even-large\"\n [ngClass]=\"{'sky-sectioned-form-content-hidden': !tabService.contentVisible()}\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n #skySectionSideContent\n >\n </div>\n</div>\n\n",
89
+ providers: [SkyVerticalTabsetService],
90
+ changeDetection: ChangeDetectionStrategy.OnPush,
91
+ animations: [
92
+ trigger('tabEnter', [
93
+ transition(HIDDEN_STATE + " => " + VISIBLE_STATE, [
94
+ style({ transform: 'translate(-100%)' }),
95
+ animate('150ms ease-in')
96
+ ])
97
+ ]),
98
+ trigger('contentEnter', [
99
+ transition(HIDDEN_STATE + " => " + VISIBLE_STATE, [
100
+ style({ transform: 'translate(100%)' }),
101
+ animate('150ms ease-in')
102
+ ])
103
+ ])
104
+ ],
105
+ styles: [":host .sky-sectioned-form{display:block;max-height:none}:host .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible;border-right:1px solid #e2e3e4}:host-context(.sky-responsive-container-lg) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-xs) .sky-sectioned-form{display:block;max-height:none}:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible;border-right:1px solid #e2e3e4}@media (min-width:768px){:host .sky-sectioned-form{display:flex;max-height:100%}:host .sky-sectioned-form-content{flex-basis:70%;overflow-y:auto}:host .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}}:host-context(.sky-responsive-container-lg) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-sm) .sky-sectioned-form{display:flex;max-height:100%}:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content{flex-basis:70%;overflow-y:auto}:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}.sky-sectioned-form-content-hidden,.sky-sectioned-form-tabs-hidden{display:none}"]
106
+ })
107
+ ], SkySectionedFormComponent);
108
+ return SkySectionedFormComponent;
109
+ }());
110
+ export { SkySectionedFormComponent };
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L3RhYnMvIiwic291cmNlcyI6WyJtb2R1bGVzL3NlY3Rpb25lZC1mb3JtL3NlY3Rpb25lZC1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxFQUNWLE9BQU8sRUFDUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDTCxPQUFPLEVBQ1IsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osYUFBYSxFQUNkLE1BQU0sOENBQThDLENBQUM7QUFFdEQ7O0dBRUc7QUEwQkg7SUEyQkUsbUNBQ1MsVUFBb0MsRUFDbkMsU0FBNEI7UUFEN0IsZUFBVSxHQUFWLFVBQVUsQ0FBMEI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUEzQnRDOzs7O1dBSUc7UUFFSSwyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFFakQ7OztXQUdHO1FBRU0saUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVN2RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUlFLENBQUM7SUFaMUMsc0JBQVcsK0NBQVE7YUFBbkI7WUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxD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eUIsQ0EwRXJDO0lBQUQsZ0NBQUM7Q0FBQSxBQTFFRCxJQTBFQztTQTFFWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIElucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBzdHlsZSxcbiAgdHJpZ2dlcixcbiAgdHJhbnNpdGlvbixcbiAgYW5pbWF0ZVxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuaW1wb3J0IHtcbiAgU3ViamVjdFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgdGFrZVVudGlsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlLFxuICBISURERU5fU1RBVEUsXG4gIFZJU0lCTEVfU1RBVEVcbn0gZnJvbSAnLi8uLi92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LnNlcnZpY2UnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHRoZSBzZWN0aW9uZWQgZm9ybXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1zZWN0aW9uZWQtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWN0aW9uZWQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlY3Rpb25lZC1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreVZlcnRpY2FsVGFic2V0U2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcihcbiAgICAgICd0YWJFbnRlcicsIFtcbiAgICAgICAgdHJhbnNpdGlvbihgJHtISURERU5fU1RBVEV9ID0+ICR7VklTSUJMRV9TVEFURX1gLCBbXG4gICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZSgtMTAwJSknfSksXG4gICAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpXG4gICAgICAgIF0pXG4gICAgICBdXG4gICAgKSxcbiAgICB0cmlnZ2VyKFxuICAgICAgJ2NvbnRlbnRFbnRlcicsIFtcbiAgICAgICAgdHJhbnNpdGlvbihgJHtISURERU5fU1RBVEV9ID0+ICR7VklTSUJMRV9TVEFURX1gLCBbXG4gICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZSgxMDAlKSd9KSxcbiAgICAgICAgICBhbmltYXRlKCcxNTBtcyBlYXNlLWluJylcbiAgICAgICAgXSlcbiAgICAgIF1cbiAgICApXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2t5U2VjdGlvbmVkRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHNlY3Rpb25lZCBmb3JtIGxvYWRzIHNlY3Rpb24gY29udGVudCBkdXJpbmcgaW5pdGlhbGl6YXRpb24gc28gdGhhdCBpdFxuICAgKiBkaXNwbGF5cyBjb250ZW50IHdpdGhvdXQgbW92aW5nIGFyb3VuZCBlbGVtZW50cyBpbiB0aGUgY29udGVudCBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWFpbnRhaW5TZWN0aW9uQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4vKipcbiAqIEZpcmVzIHdoZW4gdGhlIGFjdGl2ZSB0YWIgY2hhbmdlcyBhbmQgZW1pdHMgdGhlIGluZGV4IG9mIHRoZSBhY3RpdmVcbiAqIHNlY3Rpb24uIFRoZSBpbmRleCBpcyBiYXNlZCBvbiB0aGUgc2VjdGlvbidzIHBvc2l0aW9uIHdoZW4gdGhlIGZvcm0gbG9hZHMuXG4gKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbmRleENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBnZXQgYXJpYVJvbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc01vYmlsZSA/IHVuZGVmaW5lZCA6ICd0YWJsaXN0JztcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3NreVNlY3Rpb25TaWRlQ29udGVudCcpXG4gIHB1YmxpYyBjb250ZW50OiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgaXNNb2JpbGUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRhYlNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMudGFiU2VydmljZS5tYWludGFpblRhYkNvbnRlbnQgPSB0aGlzLm1haW50YWluU2VjdGlvbkNvbnRlbnQ7XG5cbiAgICB0aGlzLnRhYlNlcnZpY2UuaW5kZXhDaGFuZ2VkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKGluZGV4ID0+IHtcbiAgICAgICAgdGhpcy5pbmRleENoYW5nZWQuZW1pdChpbmRleCk7XG4gICAgICAgIHRoaXMuY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnRhYlNlcnZpY2Uuc3dpdGNoaW5nTW9iaWxlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtb2JpbGU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgdGhpcy5pc01vYmlsZSA9IG1vYmlsZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLnRhYlNlcnZpY2UuaXNNb2JpbGUoKSkge1xuICAgICAgdGhpcy5pc01vYmlsZSA9IHRydWU7XG4gICAgICB0aGlzLnRhYlNlcnZpY2UuYW5pbWF0aW9uQ29udGVudFZpc2libGVTdGF0ZSA9IFZJU0lCTEVfU1RBVEU7XG4gICAgICB0aGlzLmNoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMudGFiU2VydmljZS5jb250ZW50ID0gdGhpcy5jb250ZW50O1xuICAgIHRoaXMudGFiU2VydmljZS51cGRhdGVDb250ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHRhYnNWaXNpYmxlKCkge1xuICAgIHRoaXMuY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHJldHVybiB0aGlzLnRhYlNlcnZpY2UudGFic1Zpc2libGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VGFicygpIHtcbiAgICB0aGlzLnRhYlNlcnZpY2Uuc2hvd1RhYnMoKTtcbiAgICB0aGlzLmNoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,31 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { SkySectionedFormComponent } from './sectioned-form.component';
5
+ import { SkySectionedFormSectionComponent } from './sectioned-form-section.component';
6
+ import { SkyVerticalTabsetModule } from '../vertical-tabset/vertical-tabset.module';
7
+ import { SkyCheckboxModule } from '@skyux/forms';
8
+ var SkySectionedFormModule = /** @class */ (function () {
9
+ function SkySectionedFormModule() {
10
+ }
11
+ SkySectionedFormModule = __decorate([
12
+ NgModule({
13
+ declarations: [
14
+ SkySectionedFormComponent,
15
+ SkySectionedFormSectionComponent
16
+ ],
17
+ imports: [
18
+ CommonModule,
19
+ SkyCheckboxModule,
20
+ SkyVerticalTabsetModule
21
+ ],
22
+ exports: [
23
+ SkySectionedFormComponent,
24
+ SkySectionedFormSectionComponent
25
+ ]
26
+ })
27
+ ], SkySectionedFormModule);
28
+ return SkySectionedFormModule;
29
+ }());
30
+ export { SkySectionedFormModule };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L3RhYnMvIiwic291cmNlcyI6WyJtb2R1bGVzL3NlY3Rpb25lZC1mb3JtL3NlY3Rpb25lZC1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBaUJqRDtJQUFBO0lBQXNDLENBQUM7SUFBMUIsc0JBQXNCO1FBZmxDLFFBQVEsQ0FBQztZQUNSLFlBQVksRUFBRTtnQkFDWix5QkFBeUI7Z0JBQ3pCLGdDQUFnQzthQUNqQztZQUNELE9BQU8sRUFBRTtnQkFDUCxZQUFZO2dCQUNaLGlCQUFpQjtnQkFDakIsdUJBQXVCO2FBQ3hCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLHlCQUF5QjtnQkFDekIsZ0NBQWdDO2FBQ2pDO1NBQ0YsQ0FBQztPQUNXLHNCQUFzQixDQUFJO0lBQUQsNkJBQUM7Q0FBQSxBQUF2QyxJQUF1QztTQUExQixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNreVNlY3Rpb25lZEZvcm1Db21wb25lbnQgfSBmcm9tICcuL3NlY3Rpb25lZC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lTZWN0aW9uZWRGb3JtU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc2VjdGlvbmVkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJzZXRNb2R1bGUgfSBmcm9tICcuLi92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0Lm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreVNlY3Rpb25lZEZvcm1Db21wb25lbnQsXG4gICAgU2t5U2VjdGlvbmVkRm9ybVNlY3Rpb25Db21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lDaGVja2JveE1vZHVsZSxcbiAgICBTa3lWZXJ0aWNhbFRhYnNldE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5U2VjdGlvbmVkRm9ybUNvbXBvbmVudCxcbiAgICBTa3lTZWN0aW9uZWRGb3JtU2VjdGlvbkNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlY3Rpb25lZEZvcm1Nb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ var SkySectionedFormService = /** @class */ (function () {
5
+ function SkySectionedFormService() {
6
+ /**
7
+ * @internal
8
+ */
9
+ this.invalidChange = new BehaviorSubject(undefined);
10
+ /**
11
+ * @internal
12
+ */
13
+ this.requiredChange = new BehaviorSubject(undefined);
14
+ }
15
+ /**
16
+ * Sets the current section's invalid state based on the `isInvalid` parameter.
17
+ * This method is used within a `sky-sectioned-form-section` element.
18
+ */
19
+ SkySectionedFormService.prototype.invalidFieldChanged = function (isInvalid) {
20
+ this.invalidChange.next(isInvalid);
21
+ };
22
+ /**
23
+ * Sets the current section's required state based on the `isRequired` parameter.
24
+ * This method is used within a `sky-sectioned-form-section` element.
25
+ */
26
+ SkySectionedFormService.prototype.requiredFieldChanged = function (isRequired) {
27
+ this.requiredChange.next(isRequired);
28
+ };
29
+ SkySectionedFormService = __decorate([
30
+ Injectable()
31
+ ], SkySectionedFormService);
32
+ return SkySectionedFormService;
33
+ }());
34
+ export { SkySectionedFormService };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC90YWJzLyIsInNvdXJjZXMiOlsibW9kdWxlcy9zZWN0aW9uZWQtZm9ybS9zZWN0aW9uZWQtZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxlQUFlLEVBQ2hCLE1BQU0sTUFBTSxDQUFDO0FBR2Q7SUFBQTtRQUNBOztXQUVHO1FBQ00sa0JBQWEsR0FBNkIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEY7O1dBRUc7UUFDTSxtQkFBYyxHQUE2QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQWlCbkYsQ0FBQztJQWZDOzs7T0FHRztJQUNJLHFEQUFtQixHQUExQixVQUEyQixTQUFrQjtRQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksc0RBQW9CLEdBQTNCLFVBQTRCLFVBQW1CO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUF4QlUsdUJBQXVCO1FBRG5DLFVBQVUsRUFBRTtPQUNBLHVCQUF1QixDQXlCbkM7SUFBRCw4QkFBQztDQUFBLEFBekJELElBeUJDO1NBekJZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdFxufSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVNlY3Rpb25lZEZvcm1TZXJ2aWNlIHtcbi8qKlxuICogQGludGVybmFsXG4gKi9cbiAgcHVibGljIGludmFsaWRDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcbi8qKlxuICogQGludGVybmFsXG4gKi9cbiAgcHVibGljIHJlcXVpcmVkQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGN1cnJlbnQgc2VjdGlvbidzIGludmFsaWQgc3RhdGUgYmFzZWQgb24gdGhlIGBpc0ludmFsaWRgIHBhcmFtZXRlci5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB3aXRoaW4gYSBgc2t5LXNlY3Rpb25lZC1mb3JtLXNlY3Rpb25gIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgaW52YWxpZEZpZWxkQ2hhbmdlZChpc0ludmFsaWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmludmFsaWRDaGFuZ2UubmV4dChpc0ludmFsaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGN1cnJlbnQgc2VjdGlvbidzIHJlcXVpcmVkIHN0YXRlIGJhc2VkIG9uIHRoZSBgaXNSZXF1aXJlZGAgcGFyYW1ldGVyLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHdpdGhpbiBhIGBza3ktc2VjdGlvbmVkLWZvcm0tc2VjdGlvbmAgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyByZXF1aXJlZEZpZWxkQ2hhbmdlZChpc1JlcXVpcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5yZXF1aXJlZENoYW5nZS5uZXh0KGlzUmVxdWlyZWQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
4
+ import { SkyTabsResourcesProvider } from '../../plugin-resources/tabs-resources-provider';
5
+ var SkyTabsResourcesModule = /** @class */ (function () {
6
+ function SkyTabsResourcesModule() {
7
+ }
8
+ SkyTabsResourcesModule = __decorate([
9
+ NgModule({
10
+ providers: [{
11
+ provide: SKY_LIB_RESOURCES_PROVIDERS,
12
+ useClass: SkyTabsResourcesProvider,
13
+ multi: true
14
+ }]
15
+ })
16
+ ], SkyTabsResourcesModule);
17
+ return SkyTabsResourcesModule;
18
+ }());
19
+ export { SkyTabsResourcesModule };
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L3RhYnMvIiwic291cmNlcyI6WyJtb2R1bGVzL3NoYXJlZC90YWJzLXJlc291cmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLDJCQUEyQixFQUM1QixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3pCLE1BQU0sZ0RBQWdELENBQUM7QUFTeEQ7SUFBQTtJQUFzQyxDQUFDO0lBQTFCLHNCQUFzQjtRQVBsQyxRQUFRLENBQUM7WUFDUixTQUFTLEVBQUUsQ0FBQztvQkFDVixPQUFPLEVBQUUsMkJBQTJCO29CQUNwQyxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxLQUFLLEVBQUUsSUFBSTtpQkFDWixDQUFDO1NBQ0gsQ0FBQztPQUNXLHNCQUFzQixDQUFJO0lBQUQsNkJBQUM7Q0FBQSxBQUF2QyxJQUF1QztTQUExQixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBOZ01vZHVsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHtcbiAgU2t5VGFic1Jlc291cmNlc1Byb3ZpZGVyXG59IGZyb20gJy4uLy4uL3BsdWdpbi1yZXNvdXJjZXMvdGFicy1yZXNvdXJjZXMtcHJvdmlkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICAgIHVzZUNsYXNzOiBTa3lUYWJzUmVzb3VyY2VzUHJvdmlkZXIsXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFic1Jlc291cmNlc01vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,72 @@
1
+ import { __decorate } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
3
+ /**
4
+ * @internal
5
+ */
6
+ var SkyTabButtonComponent = /** @class */ (function () {
7
+ function SkyTabButtonComponent() {
8
+ this.buttonClick = new EventEmitter();
9
+ this.closeClick = new EventEmitter();
10
+ }
11
+ SkyTabButtonComponent.prototype.onButtonClick = function (event) {
12
+ if (!this.disabled) {
13
+ this.buttonClick.emit();
14
+ event.preventDefault();
15
+ }
16
+ };
17
+ SkyTabButtonComponent.prototype.onButtonEnterKeyDown = function (event) {
18
+ this.onButtonClick(event);
19
+ };
20
+ SkyTabButtonComponent.prototype.onCloseClick = function (event) {
21
+ this.closeClick.emit();
22
+ // Prevent the click event from bubbling up to the anchor tag;
23
+ // otherwise it will trigger a page refresh.
24
+ event.stopPropagation();
25
+ event.preventDefault();
26
+ };
27
+ __decorate([
28
+ Input()
29
+ ], SkyTabButtonComponent.prototype, "active", void 0);
30
+ __decorate([
31
+ Input()
32
+ ], SkyTabButtonComponent.prototype, "ariaControls", void 0);
33
+ __decorate([
34
+ Input()
35
+ ], SkyTabButtonComponent.prototype, "buttonHref", void 0);
36
+ __decorate([
37
+ Input()
38
+ ], SkyTabButtonComponent.prototype, "buttonId", void 0);
39
+ __decorate([
40
+ Input()
41
+ ], SkyTabButtonComponent.prototype, "buttonText", void 0);
42
+ __decorate([
43
+ Input()
44
+ ], SkyTabButtonComponent.prototype, "buttonTextCount", void 0);
45
+ __decorate([
46
+ Input()
47
+ ], SkyTabButtonComponent.prototype, "closeable", void 0);
48
+ __decorate([
49
+ Input()
50
+ ], SkyTabButtonComponent.prototype, "disabled", void 0);
51
+ __decorate([
52
+ Input()
53
+ ], SkyTabButtonComponent.prototype, "tabStyle", void 0);
54
+ __decorate([
55
+ Output()
56
+ ], SkyTabButtonComponent.prototype, "buttonClick", void 0);
57
+ __decorate([
58
+ Output()
59
+ ], SkyTabButtonComponent.prototype, "closeClick", void 0);
60
+ SkyTabButtonComponent = __decorate([
61
+ Component({
62
+ selector: 'sky-tab-button',
63
+ 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 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 [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]=\"disabled ? '-1' : '0'\"\n (click)=\"onButtonClick($event)\"\n (keydown.enter)=\"onButtonEnterKeyDown($event)\"\n >\n <span\n class=\"sky-tab-heading\"\n >\n {{ buttonText }}\n <span *ngIf=\"buttonTextCount !== undefined\"\n class=\"sky-tab-header-count\"\n >\n {{ buttonTextCount }}\n </span>\n </span>\n </a>\n\n <button *ngIf=\"closeable\"\n class=\"sky-btn-tab-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_tab_close' | skyLibResources:buttonText\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-tab-close-disabled': disabled\n }\"\n (click)=\"onCloseClick($event)\"\n >\n <sky-icon\n icon=\"remove\"\n ></sky-icon>\n </button>\n</div>\n",
64
+ changeDetection: ChangeDetectionStrategy.OnPush,
65
+ encapsulation: ViewEncapsulation.None,
66
+ styles: [".sky-btn-tab-wrapper{display:inline-block;position:relative;margin-right:5px}.sky-btn-tab-wrapper .sky-btn-tab-close{position:absolute;top:10px;right:10px;color:#686c73}.sky-btn-tab-wrapper .sky-btn-tab-close:hover{color:#212327;transition:color 150ms}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#fff}.sky-tab-btn-closeable{padding-right:43px}.sky-theme-modern .sky-btn-tab-wrapper,:host-context(.sky-theme-modern) .sky-btn-tab-wrapper{margin-right:10px}.sky-theme-modern .sky-btn-tab-wrapper .sky-btn-tab-close,:host-context(.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,: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}.sky-theme-modern .sky-tab-btn-closeable,:host-context(.sky-theme-modern) .sky-tab-btn-closeable{padding-right:44px}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper .sky-btn-tab-close,:host-context(.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,: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}"]
67
+ })
68
+ ], SkyTabButtonComponent);
69
+ return SkyTabButtonComponent;
70
+ }());
71
+ export { SkyTabButtonComponent };
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvdGFicy8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvdGFicy90YWItYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBTXZCOztHQUVHO0FBUUg7SUFBQTtRQThCUyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFxQi9DLENBQUM7SUFuQlEsNkNBQWEsR0FBcEIsVUFBcUIsS0FBaUI7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU0sb0RBQW9CLEdBQTNCLFVBQTRCLEtBQVU7UUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sNENBQVksR0FBbkIsVUFBb0IsS0FBVTtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXZCLDhEQUE4RDtRQUM5RCw0Q0FBNEM7UUFDNUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBbEREO1FBREMsS0FBSyxFQUFFO3lEQUNlO0lBR3ZCO1FBREMsS0FBSyxFQUFFOytEQUNvQjtJQUc1QjtRQURDLEtBQUssRUFBRTs2REFDa0I7SUFHMUI7UUFEQyxLQUFLLEVBQUU7MkRBQ2dCO0lBR3hCO1FBREMsS0FBSyxFQUFFOzZEQUNrQjtJQUcxQjtRQURDLEtBQUssRUFBRTtrRUFDdUI7SUFHL0I7UUFEQyxLQUFLLEVBQUU7NERBQ2tCO0lBRzFCO1FBREMsS0FBSyxFQUFFOzJEQUNpQjtJQUd6QjtRQURDLEtBQUssRUFBRTsyREFDd0I7SUFHaEM7UUFEQyxNQUFNLEVBQUU7OERBQ3FDO0lBRzlDO1FBREMsTUFBTSxFQUFFOzZEQUNvQztJQWpDbEMscUJBQXFCO1FBUGpDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsczFDQUEwQztZQUUxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7U0FDdEMsQ0FBQztPQUNXLHFCQUFxQixDQXNEakM7SUFBRCw0QkFBQztDQUFBLEFBdERELElBc0RDO1NBdERZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreVRhYnNldFN0eWxlXG59IGZyb20gJy4vdGFic2V0LXN0eWxlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRhYi1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYi1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFiQnV0dG9uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWN0aXZlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhQ29udHJvbHM6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uSHJlZjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25JZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25UZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvblRleHRDb3VudDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjbG9zZWFibGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJTdHlsZTogU2t5VGFic2V0U3R5bGU7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBidXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsb3NlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIG9uQnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCgpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25CdXR0b25FbnRlcktleURvd24oZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25CdXR0b25DbGljayhldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZUNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlQ2xpY2suZW1pdCgpO1xuXG4gICAgLy8gUHJldmVudCB0aGUgY2xpY2sgZXZlbnQgZnJvbSBidWJibGluZyB1cCB0byB0aGUgYW5jaG9yIHRhZztcbiAgICAvLyBvdGhlcndpc2UgaXQgd2lsbCB0cmlnZ2VyIGEgcGFnZSByZWZyZXNoLlxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWluZGV4LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L3RhYnMvIiwic291cmNlcyI6WyJtb2R1bGVzL3RhYnMvdGFiLWluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTa3lUYWJJbmRleCA9IHN0cmluZyB8IG51bWJlcjtcbiJdfQ==
@@ -0,0 +1,173 @@
1
+ import { __decorate } from "tslib";
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { SkyTabsetPermalinkService } from './tabset-permalink.service';
5
+ import { SkyTabsetService } from './tabset.service';
6
+ var nextId = 0;
7
+ var SkyTabComponent = /** @class */ (function () {
8
+ function SkyTabComponent(changeDetector, permalinkService, tabsetService) {
9
+ this.changeDetector = changeDetector;
10
+ this.permalinkService = permalinkService;
11
+ this.tabsetService = tabsetService;
12
+ /**
13
+ * Fires when users click the button to close the tab.
14
+ * The close button is added to the tab when you specify a listener for this event.
15
+ */
16
+ this.close = new EventEmitter();
17
+ this.showContent = false;
18
+ this._activeChange = new BehaviorSubject(undefined);
19
+ this._stateChange = new BehaviorSubject(undefined);
20
+ this._tabIndexChange = new BehaviorSubject(undefined);
21
+ var id = nextId++;
22
+ this.tabPanelId = "sky-tab-" + id;
23
+ this.tabButtonId = this.tabPanelId + "-nav-btn";
24
+ }
25
+ Object.defineProperty(SkyTabComponent.prototype, "active", {
26
+ get: function () {
27
+ return this._active || false;
28
+ },
29
+ /**
30
+ * Indicates whether the tab is active when the tabset loads. After initialization, the `active`
31
+ * property on the tabset component should be used to set the active tab.
32
+ * @default false
33
+ */
34
+ set: function (value) {
35
+ if (value !== undefined &&
36
+ value !== this._active) {
37
+ this._active = value;
38
+ this._activeChange.next();
39
+ }
40
+ },
41
+ enumerable: true,
42
+ configurable: true
43
+ });
44
+ Object.defineProperty(SkyTabComponent.prototype, "activeChange", {
45
+ get: function () {
46
+ return this._activeChange.asObservable();
47
+ },
48
+ enumerable: true,
49
+ configurable: true
50
+ });
51
+ Object.defineProperty(SkyTabComponent.prototype, "permalinkValue", {
52
+ get: function () {
53
+ return this._permalinkValue || this.permalinkService.urlify(this.tabHeading);
54
+ },
55
+ /**
56
+ * Specifies a custom query parameter value for the tab.
57
+ * This works in conjunction with the tabset's `permalinkId` to distinguish
58
+ * the tab's unique state in the URL by generating a query parameter that is
59
+ * written as `?<queryParam>-active-tab=<sanitized-tab-heading`.
60
+ * By default, the query parameter's value is parsed automatically from the tab's heading text.
61
+ */
62
+ set: function (value) {
63
+ this._permalinkValue = this.permalinkService.urlify(value);
64
+ },
65
+ enumerable: true,
66
+ configurable: true
67
+ });
68
+ Object.defineProperty(SkyTabComponent.prototype, "tabIndex", {
69
+ get: function () {
70
+ return this._tabIndex;
71
+ },
72
+ /**
73
+ * Specifies a unique identifier for the tab.
74
+ * If not defined, the identifier is set to the position of the tab on load, starting with `0`.
75
+ */
76
+ set: function (value) {
77
+ if (value !== this._tabIndex &&
78
+ value !== undefined &&
79
+ this._tabIndex !== undefined) {
80
+ this.tabsetService.updateTabIndex(this._tabIndex, value);
81
+ this._tabIndexChange.next(value);
82
+ }
83
+ this._tabIndex = value;
84
+ },
85
+ enumerable: true,
86
+ configurable: true
87
+ });
88
+ Object.defineProperty(SkyTabComponent.prototype, "closeable", {
89
+ get: function () {
90
+ return this.close.observers.length > 0;
91
+ },
92
+ enumerable: true,
93
+ configurable: true
94
+ });
95
+ Object.defineProperty(SkyTabComponent.prototype, "stateChange", {
96
+ /**
97
+ * Alerts the tabset component when this component has changes that need to be reflected in the UI.
98
+ */
99
+ get: function () {
100
+ return this._stateChange.asObservable();
101
+ },
102
+ enumerable: true,
103
+ configurable: true
104
+ });
105
+ Object.defineProperty(SkyTabComponent.prototype, "tabIndexChange", {
106
+ get: function () {
107
+ return this._tabIndexChange.asObservable();
108
+ },
109
+ enumerable: true,
110
+ configurable: true
111
+ });
112
+ SkyTabComponent.prototype.ngOnChanges = function (changes) {
113
+ if (changes.disabled && !changes.disabled.firstChange ||
114
+ changes.tabHeading && !changes.tabHeading.firstChange ||
115
+ changes.tabHeaderCount && !changes.tabHeaderCount.firstChange ||
116
+ changes.permalinkValue && !changes.permalinkValue.firstChange) {
117
+ this._stateChange.next();
118
+ }
119
+ };
120
+ SkyTabComponent.prototype.ngOnDestroy = function () {
121
+ this._stateChange.complete();
122
+ this.tabsetService.unregisterTab(this.tabIndex);
123
+ };
124
+ SkyTabComponent.prototype.init = function () {
125
+ this._tabIndex = this.tabsetService.registerTab(this.tabIndex);
126
+ };
127
+ SkyTabComponent.prototype.activate = function () {
128
+ this._active = true;
129
+ this.showContent = true;
130
+ this.changeDetector.markForCheck();
131
+ };
132
+ SkyTabComponent.prototype.deactivate = function () {
133
+ this._active = false;
134
+ this.showContent = false;
135
+ this.changeDetector.markForCheck();
136
+ };
137
+ SkyTabComponent.ctorParameters = function () { return [
138
+ { type: ChangeDetectorRef },
139
+ { type: SkyTabsetPermalinkService },
140
+ { type: SkyTabsetService }
141
+ ]; };
142
+ __decorate([
143
+ Input()
144
+ ], SkyTabComponent.prototype, "active", null);
145
+ __decorate([
146
+ Input()
147
+ ], SkyTabComponent.prototype, "disabled", void 0);
148
+ __decorate([
149
+ Input()
150
+ ], SkyTabComponent.prototype, "permalinkValue", null);
151
+ __decorate([
152
+ Input()
153
+ ], SkyTabComponent.prototype, "tabHeaderCount", void 0);
154
+ __decorate([
155
+ Input()
156
+ ], SkyTabComponent.prototype, "tabHeading", void 0);
157
+ __decorate([
158
+ Input()
159
+ ], SkyTabComponent.prototype, "tabIndex", null);
160
+ __decorate([
161
+ Output()
162
+ ], SkyTabComponent.prototype, "close", void 0);
163
+ SkyTabComponent = __decorate([
164
+ Component({
165
+ selector: 'sky-tab',
166
+ 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",
167
+ changeDetection: ChangeDetectionStrategy.OnPush
168
+ })
169
+ ], SkyTabComponent);
170
+ return SkyTabComponent;
171
+ }());
172
+ export { SkyTabComponent };
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC90YWJzLyIsInNvdXJjZXMiOlsibW9kdWxlcy90YWJzL3RhYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLGFBQWEsRUFDZCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsZUFBZSxFQUVoQixNQUFNLE1BQU0sQ0FBQztBQU1kLE9BQU8sRUFDTCx5QkFBeUIsRUFDMUIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBT2Y7SUFnSUUseUJBQ1UsY0FBaUMsRUFDakMsZ0JBQTJDLEVBQzNDLGFBQStCO1FBRi9CLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTJCO1FBQzNDLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQTNDekM7OztXQUdHO1FBRUksVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFpQmpDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBUTVCLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQU8sU0FBUyxDQUFDLENBQUM7UUFJckQsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUlwRCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFjLFNBQVMsQ0FBQyxDQUFDO1FBT3BFLElBQU0sRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBVyxFQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBTSxJQUFJLENBQUMsVUFBVSxhQUFVLENBQUM7SUFDbEQsQ0FBQztJQWhJRCxzQkFBVyxtQ0FBTTthQVVqQjtZQUNFLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUM7UUFDL0IsQ0FBQztRQWxCRDs7OztXQUlHO2FBRUgsVUFBa0IsS0FBYztZQUM5QixJQUNFLEtBQUssS0FBSyxTQUFTO2dCQUNuQixLQUFLLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFDdEI7Z0JBQ0EsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDM0I7UUFDSCxDQUFDOzs7T0FBQTtJQU1ELHNCQUFXLHlDQUFZO2FBQXZCO1lBQ0UsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLENBQUM7OztPQUFBO0lBaUJELHNCQUFXLDJDQUFjO2FBSXpCO1lBQ0UsT0FBTyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFkRDs7Ozs7O1dBTUc7YUFFSCxVQUEwQixLQUFhO1lBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxDQUFDOzs7T0FBQTtJQTRCRCxzQkFBVyxxQ0FBUTthQWFuQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QixDQUFDO1FBcEJEOzs7V0FHRzthQUVILFVBQW9CLEtBQWtCO1lBQ3BDLElBQ0UsS0FBSyxLQUFLLElBQUksQ0FBQyxTQUFTO2dCQUN4QixLQUFLLEtBQUssU0FBUztnQkFDbkIsSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQzVCO2dCQUNBLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xDO1lBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQzs7O09BQUE7SUFhRCxzQkFBVyxzQ0FBUzthQUFwQjtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN6QyxDQUFDOzs7T0FBQTtJQUtELHNCQUFXLHdDQUFXO1FBSHRCOztXQUVHO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVywyQ0FBYzthQUF6QjtZQUNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QyxDQUFDOzs7T0FBQTtJQThCTSxxQ0FBVyxHQUFsQixVQUFtQixPQUFzQjtRQUN2QyxJQUNFLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDakQsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVztZQUNyRCxPQUFPLENBQUMsY0FBYyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXO1lBQzdELE9BQU8sQ0FBQyxjQUFjLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFDN0Q7WUFDQSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVNLHFDQUFXLEdBQWxCO1FBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLDhCQUFJLEdBQVg7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sa0NBQVEsR0FBZjtRQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVNLG9DQUFVLEdBQWpCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDOztnQkF2Q3lCLGlCQUFpQjtnQkFDZix5QkFBeUI7Z0JBQzVCLGdCQUFnQjs7SUEzSHpDO1FBREMsS0FBSyxFQUFFO2lEQVNQO0lBZUQ7UUFEQyxLQUFLLEVBQUU7cURBQ2lCO0lBVXpCO1FBREMsS0FBSyxFQUFFO3lEQUdQO0lBVUQ7UUFEQyxLQUFLLEVBQUU7MkRBQ3NCO0lBVzlCO1FBREMsS0FBSyxFQUFFO3VEQUNrQjtJQU8xQjtRQURDLEtBQUssRUFBRTttREFZUDtJQVdEO1FBREMsTUFBTSxFQUFFO2tEQUMrQjtJQTdGN0IsZUFBZTtRQUwzQixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsU0FBUztZQUNuQixrTUFBbUM7WUFDbkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07U0FDaEQsQ0FBQztPQUNXLGVBQWUsQ0EwSzNCO0lBQUQsc0JBQUM7Q0FBQSxBQTFLRCxJQTBLQztTQTFLWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZVxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgU2t5VGFiSW5kZXhcbn0gZnJvbSAnLi90YWItaW5kZXgnO1xuXG5pbXBvcnQge1xuICBTa3lUYWJzZXRQZXJtYWxpbmtTZXJ2aWNlXG59IGZyb20gJy4vdGFic2V0LXBlcm1hbGluay5zZXJ2aWNlJztcblxuaW1wb3J0IHtcbiAgU2t5VGFic2V0U2VydmljZVxufSBmcm9tICcuL3RhYnNldC5zZXJ2aWNlJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10YWInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgdGFiIGlzIGFjdGl2ZSB3aGVuIHRoZSB0YWJzZXQgbG9hZHMuIEFmdGVyIGluaXRpYWxpemF0aW9uLCB0aGUgYGFjdGl2ZWBcbiAgICogcHJvcGVydHkgb24gdGhlIHRhYnNldCBjb21wb25lbnQgc2hvdWxkIGJlIHVzZWQgdG8gc2V0IHRoZSBhY3RpdmUgdGFiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB2YWx1ZSAhPT0gdGhpcy5fYWN0aXZlXG4gICAgKSB7XG4gICAgICB0aGlzLl9hY3RpdmUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuX2FjdGl2ZUNoYW5nZS5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZSB8fCBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlQ2hhbmdlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdGFiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBjdXN0b20gcXVlcnkgcGFyYW1ldGVyIHZhbHVlIGZvciB0aGUgdGFiLlxuICAgKiBUaGlzIHdvcmtzIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHRhYnNldCdzIGBwZXJtYWxpbmtJZGAgdG8gZGlzdGluZ3Vpc2hcbiAgICogdGhlIHRhYidzIHVuaXF1ZSBzdGF0ZSBpbiB0aGUgVVJMIGJ5IGdlbmVyYXRpbmcgYSBxdWVyeSBwYXJhbWV0ZXIgdGhhdCBpc1xuICAgKiB3cml0dGVuIGFzIGA/PHF1ZXJ5UGFyYW0+LWFjdGl2ZS10YWI9PHNhbml0aXplZC10YWItaGVhZGluZ2AuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBxdWVyeSBwYXJhbWV0ZXIncyB2YWx1ZSBpcyBwYXJzZWQgYXV0b21hdGljYWxseSBmcm9tIHRoZSB0YWIncyBoZWFkaW5nIHRleHQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHBlcm1hbGlua1ZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wZXJtYWxpbmtWYWx1ZSA9IHRoaXMucGVybWFsaW5rU2VydmljZS51cmxpZnkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBwZXJtYWxpbmtWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9wZXJtYWxpbmtWYWx1ZSB8fCB0aGlzLnBlcm1hbGlua1NlcnZpY2UudXJsaWZ5KHRoaXMudGFiSGVhZGluZyk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheXMgYSBjb3VudGVyIGJlc2lkZSB0aGUgdGFiIGhlYWRlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJIZWFkZXJDb3VudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRhYiBoZWFkZXIuXG4gICAqIFdoZW4gdXNpbmcgdGFicyBhcyB0aGUgbWFpbiBuYXZpZ2F0aW9uIG9uIGEgcGFnZSxcbiAgICogdXNlIFt0aGUgQW5ndWxhciBgVGl0bGVgIHNlcnZpY2VdKGh0dHBzOi8vYW5ndWxhci5pby9kb2NzL3RzL2xhdGVzdC9jb29rYm9vay9zZXQtZG9jdW1lbnQtdGl0bGUuaHRtbClcbiAgICogYW5kIFt0aGUgU0tZIFVYIGB0aXRsZWAgY29uZmlndXJhdGlvbiBwcm9wZXJ0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9yZWZlcmVuY2UvY29uZmlndXJhdGlvbiNhcHApXG4gICAqIHRvIHJlZmxlY3QgdGhlIHRhYiBoZWFkZXIgaW4gdGhlIHBhZ2UgdGl0bGUuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYkhlYWRpbmc6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB0YWIuXG4gICAqIElmIG5vdCBkZWZpbmVkLCB0aGUgaWRlbnRpZmllciBpcyBzZXQgdG8gdGhlIHBvc2l0aW9uIG9mIHRoZSB0YWIgb24gbG9hZCwgc3RhcnRpbmcgd2l0aCBgMGAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRhYkluZGV4KHZhbHVlOiBTa3lUYWJJbmRleCkge1xuICAgIGlmIChcbiAgICAgIHZhbHVlICE9PSB0aGlzLl90YWJJbmRleCAmJlxuICAgICAgdmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5fdGFiSW5kZXggIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgdGhpcy50YWJzZXRTZXJ2aWNlLnVwZGF0ZVRhYkluZGV4KHRoaXMuX3RhYkluZGV4LCB2YWx1ZSk7XG4gICAgICB0aGlzLl90YWJJbmRleENoYW5nZS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLl90YWJJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJJbmRleCgpOiBTa3lUYWJJbmRleCB7XG4gICAgcmV0dXJuIHRoaXMuX3RhYkluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIGJ1dHRvbiB0byBjbG9zZSB0aGUgdGFiLlxuICAgKiBUaGUgY2xvc2UgYnV0dG9uIGlzIGFkZGVkIHRvIHRoZSB0YWIgd2hlbiB5b3Ugc3BlY2lmeSBhIGxpc3RlbmVyIGZvciB0aGlzIGV2ZW50LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgZ2V0IGNsb3NlYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZS5vYnNlcnZlcnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGVydHMgdGhlIHRhYnNldCBjb21wb25lbnQgd2hlbiB0aGlzIGNvbXBvbmVudCBoYXMgY2hhbmdlcyB0aGF0IG5lZWQgdG8gYmUgcmVmbGVjdGVkIGluIHRoZSBVSS5cbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhdGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJJbmRleENoYW5nZSgpOiBPYnNlcnZhYmxlPFNreVRhYkluZGV4PiB7XG4gICAgcmV0dXJuIHRoaXMuX3RhYkluZGV4Q2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHNob3dDb250ZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHRhYkJ1dHRvbklkOiBzdHJpbmc7XG5cbiAgcHVibGljIHRhYlBhbmVsSWQ6IHN0cmluZztcblxuICBwcml2YXRlIF9hY3RpdmU6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfYWN0aXZlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX3Blcm1hbGlua1ZhbHVlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfc3RhdGVDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfdGFiSW5kZXg6IFNreVRhYkluZGV4O1xuXG4gIHByaXZhdGUgX3RhYkluZGV4Q2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lUYWJJbmRleD4odW5kZWZpbmVkKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHBlcm1hbGlua1NlcnZpY2U6IFNreVRhYnNldFBlcm1hbGlua1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0YWJzZXRTZXJ2aWNlOiBTa3lUYWJzZXRTZXJ2aWNlXG4gICkge1xuICAgIGNvbnN0IGlkID0gbmV4dElkKys7XG4gICAgdGhpcy50YWJQYW5lbElkID0gYHNreS10YWItJHtpZH1gO1xuICAgIHRoaXMudGFiQnV0dG9uSWQgPSBgJHt0aGlzLnRhYlBhbmVsSWR9LW5hdi1idG5gO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLmRpc2FibGVkICYmICFjaGFuZ2VzLmRpc2FibGVkLmZpcnN0Q2hhbmdlIHx8XG4gICAgICBjaGFuZ2VzLnRhYkhlYWRpbmcgJiYgIWNoYW5nZXMudGFiSGVhZGluZy5maXJzdENoYW5nZSB8fFxuICAgICAgY2hhbmdlcy50YWJIZWFkZXJDb3VudCAmJiAhY2hhbmdlcy50YWJIZWFkZXJDb3VudC5maXJzdENoYW5nZSB8fFxuICAgICAgY2hhbmdlcy5wZXJtYWxpbmtWYWx1ZSAmJiAhY2hhbmdlcy5wZXJtYWxpbmtWYWx1ZS5maXJzdENoYW5nZVxuICAgICkge1xuICAgICAgdGhpcy5fc3RhdGVDaGFuZ2UubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMudGFic2V0U2VydmljZS51bnJlZ2lzdGVyVGFiKHRoaXMudGFiSW5kZXgpO1xuICB9XG5cbiAgcHVibGljIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdGFiSW5kZXggPSB0aGlzLnRhYnNldFNlcnZpY2UucmVnaXN0ZXJUYWIodGhpcy50YWJJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aXZlID0gdHJ1ZTtcbiAgICB0aGlzLnNob3dDb250ZW50ID0gdHJ1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aXZlID0gZmFsc2U7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IGZhbHNlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxufVxuIl19