@skyux/tabs 5.0.3 → 5.5.0-alpha.0

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 (128) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-tabs-testing.umd.js +1 -1
  3. package/bundles/skyux-tabs.umd.js +267 -299
  4. package/documentation.json +829 -544
  5. package/esm2015/index.js +23 -0
  6. package/esm2015/index.js.map +1 -0
  7. package/esm2015/lib/modules/sectioned-form/sectioned-form-section.component.js +67 -0
  8. package/esm2015/lib/modules/sectioned-form/sectioned-form-section.component.js.map +1 -0
  9. package/esm2015/lib/modules/sectioned-form/sectioned-form.component.js +116 -0
  10. package/esm2015/lib/modules/sectioned-form/sectioned-form.component.js.map +1 -0
  11. package/esm2015/lib/modules/sectioned-form/sectioned-form.module.js +35 -0
  12. package/esm2015/lib/modules/sectioned-form/sectioned-form.module.js.map +1 -0
  13. package/esm2015/lib/modules/sectioned-form/sectioned-form.service.js +35 -0
  14. package/esm2015/lib/modules/sectioned-form/sectioned-form.service.js.map +1 -0
  15. package/esm2015/lib/modules/shared/sky-tabs-resources.module.js +52 -0
  16. package/esm2015/lib/modules/shared/sky-tabs-resources.module.js.map +1 -0
  17. package/esm2015/lib/modules/tabs/tab-button.component.js +76 -0
  18. package/esm2015/lib/modules/tabs/tab-button.component.js.map +1 -0
  19. package/esm2015/lib/modules/tabs/tab-index.js +2 -0
  20. package/esm2015/lib/modules/tabs/tab-index.js.map +1 -0
  21. package/esm2015/lib/modules/tabs/tab.component.js +135 -0
  22. package/esm2015/lib/modules/tabs/tab.component.js.map +1 -0
  23. package/esm2015/lib/modules/tabs/tabs.module.js +57 -0
  24. package/esm2015/lib/modules/tabs/tabs.module.js.map +1 -0
  25. package/esm2015/lib/modules/tabs/tabset-active-tab-unregistered-args.js +2 -0
  26. package/esm2015/lib/modules/tabs/tabset-active-tab-unregistered-args.js.map +1 -0
  27. package/esm2015/lib/modules/tabs/tabset-adapter.service.js +56 -0
  28. package/esm2015/lib/modules/tabs/tabset-adapter.service.js.map +1 -0
  29. package/esm2015/lib/modules/tabs/tabset-buttons-display-mode.js +2 -0
  30. package/esm2015/lib/modules/tabs/tabset-buttons-display-mode.js.map +1 -0
  31. package/esm2015/lib/modules/tabs/tabset-nav-button.component.js +119 -0
  32. package/esm2015/lib/modules/tabs/tabset-nav-button.component.js.map +1 -0
  33. package/esm2015/lib/modules/tabs/tabset-permalink.service.js +126 -0
  34. package/esm2015/lib/modules/tabs/tabset-permalink.service.js.map +1 -0
  35. package/esm2015/lib/modules/tabs/tabset-style.js +2 -0
  36. package/esm2015/lib/modules/tabs/tabset-style.js.map +1 -0
  37. package/esm2015/lib/modules/tabs/tabset-tab-indexes-change.js +2 -0
  38. package/esm2015/lib/modules/tabs/tabset-tab-indexes-change.js.map +1 -0
  39. package/esm2015/lib/modules/tabs/tabset.component.js +405 -0
  40. package/esm2015/lib/modules/tabs/tabset.component.js.map +1 -0
  41. package/esm2015/lib/modules/tabs/tabset.service.js +110 -0
  42. package/esm2015/lib/modules/tabs/tabset.service.js.map +1 -0
  43. package/esm2015/lib/modules/vertical-tabset/vertical-tab-media-query.service.js +72 -0
  44. package/esm2015/lib/modules/vertical-tabset/vertical-tab-media-query.service.js.map +1 -0
  45. package/esm2015/lib/modules/vertical-tabset/vertical-tab.component.js +203 -0
  46. package/esm2015/lib/modules/vertical-tabset/vertical-tab.component.js.map +1 -0
  47. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-adapter.service.js +48 -0
  48. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-adapter.service.js.map +1 -0
  49. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-group.component.js +89 -0
  50. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-group.component.js.map +1 -0
  51. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.component.js +157 -0
  52. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.component.js.map +1 -0
  53. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.module.js +60 -0
  54. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.module.js.map +1 -0
  55. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.service.js +170 -0
  56. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.service.js.map +1 -0
  57. package/esm2015/skyux-tabs.js +2 -2
  58. package/esm2015/skyux-tabs.js.map +1 -0
  59. package/esm2015/testing/public-api.js +1 -1
  60. package/esm2015/testing/public-api.js.map +1 -0
  61. package/esm2015/testing/skyux-tabs-testing.js +1 -1
  62. package/esm2015/testing/skyux-tabs-testing.js.map +1 -0
  63. package/esm2015/testing/tabs/tab-fixture-tab.js +1 -1
  64. package/esm2015/testing/tabs/tab-fixture-tab.js.map +1 -0
  65. package/esm2015/testing/tabs/tabset-fixture.js +2 -2
  66. package/esm2015/testing/tabs/tabset-fixture.js.map +1 -0
  67. package/fesm2015/skyux-tabs-testing.js +1 -1
  68. package/fesm2015/skyux-tabs-testing.js.map +1 -1
  69. package/fesm2015/skyux-tabs.js +382 -401
  70. package/fesm2015/skyux-tabs.js.map +1 -1
  71. package/index.d.ts +16 -0
  72. package/{modules → lib/modules}/sectioned-form/sectioned-form-section.component.d.ts +0 -3
  73. package/{modules → lib/modules}/sectioned-form/sectioned-form.component.d.ts +0 -0
  74. package/{modules → lib/modules}/sectioned-form/sectioned-form.module.d.ts +0 -0
  75. package/{modules → lib/modules}/sectioned-form/sectioned-form.service.d.ts +0 -0
  76. package/{modules → lib/modules}/shared/sky-tabs-resources.module.d.ts +0 -0
  77. package/{modules → lib/modules}/tabs/tab-button.component.d.ts +2 -2
  78. package/{modules → lib/modules}/tabs/tab-index.d.ts +0 -0
  79. package/{modules → lib/modules}/tabs/tab.component.d.ts +0 -0
  80. package/{modules → lib/modules}/tabs/tabs.module.d.ts +0 -0
  81. package/{modules → lib/modules}/tabs/tabset-active-tab-unregistered-args.d.ts +0 -0
  82. package/{modules → lib/modules}/tabs/tabset-adapter.service.d.ts +0 -0
  83. package/{modules → lib/modules}/tabs/tabset-buttons-display-mode.d.ts +0 -0
  84. package/{modules → lib/modules}/tabs/tabset-nav-button.component.d.ts +0 -0
  85. package/{modules → lib/modules}/tabs/tabset-permalink.service.d.ts +0 -0
  86. package/{modules → lib/modules}/tabs/tabset-style.d.ts +0 -0
  87. package/{modules → lib/modules}/tabs/tabset-tab-indexes-change.d.ts +0 -0
  88. package/{modules → lib/modules}/tabs/tabset.component.d.ts +1 -1
  89. package/{modules → lib/modules}/tabs/tabset.service.d.ts +0 -0
  90. package/{modules → lib/modules}/vertical-tabset/vertical-tab-media-query.service.d.ts +0 -0
  91. package/{modules → lib/modules}/vertical-tabset/vertical-tab.component.d.ts +8 -13
  92. package/{modules → lib/modules}/vertical-tabset/vertical-tabset-adapter.service.d.ts +0 -0
  93. package/{modules → lib/modules}/vertical-tabset/vertical-tabset-group.component.d.ts +2 -2
  94. package/{modules → lib/modules}/vertical-tabset/vertical-tabset.component.d.ts +17 -2
  95. package/{modules → lib/modules}/vertical-tabset/vertical-tabset.module.d.ts +4 -3
  96. package/{modules → lib/modules}/vertical-tabset/vertical-tabset.service.d.ts +0 -0
  97. package/package.json +11 -11
  98. package/skyux-tabs.d.ts +1 -1
  99. package/LICENSE +0 -21
  100. package/bundles/skyux-tabs-testing.umd.js.map +0 -1
  101. package/bundles/skyux-tabs.umd.js.map +0 -1
  102. package/esm2015/modules/sectioned-form/sectioned-form-section.component.js +0 -71
  103. package/esm2015/modules/sectioned-form/sectioned-form.component.js +0 -116
  104. package/esm2015/modules/sectioned-form/sectioned-form.module.js +0 -43
  105. package/esm2015/modules/sectioned-form/sectioned-form.service.js +0 -35
  106. package/esm2015/modules/shared/sky-tabs-resources.module.js +0 -41
  107. package/esm2015/modules/tabs/tab-button.component.js +0 -65
  108. package/esm2015/modules/tabs/tab-index.js +0 -2
  109. package/esm2015/modules/tabs/tab.component.js +0 -134
  110. package/esm2015/modules/tabs/tabs.module.js +0 -63
  111. package/esm2015/modules/tabs/tabset-active-tab-unregistered-args.js +0 -2
  112. package/esm2015/modules/tabs/tabset-adapter.service.js +0 -54
  113. package/esm2015/modules/tabs/tabset-buttons-display-mode.js +0 -2
  114. package/esm2015/modules/tabs/tabset-nav-button.component.js +0 -117
  115. package/esm2015/modules/tabs/tabset-permalink.service.js +0 -119
  116. package/esm2015/modules/tabs/tabset-style.js +0 -2
  117. package/esm2015/modules/tabs/tabset-tab-indexes-change.js +0 -2
  118. package/esm2015/modules/tabs/tabset.component.js +0 -402
  119. package/esm2015/modules/tabs/tabset.service.js +0 -111
  120. package/esm2015/modules/vertical-tabset/vertical-tab-media-query.service.js +0 -72
  121. package/esm2015/modules/vertical-tabset/vertical-tab.component.js +0 -187
  122. package/esm2015/modules/vertical-tabset/vertical-tabset-adapter.service.js +0 -48
  123. package/esm2015/modules/vertical-tabset/vertical-tabset-group.component.js +0 -134
  124. package/esm2015/modules/vertical-tabset/vertical-tabset.component.js +0 -152
  125. package/esm2015/modules/vertical-tabset/vertical-tabset.module.js +0 -60
  126. package/esm2015/modules/vertical-tabset/vertical-tabset.service.js +0 -170
  127. package/esm2015/public-api.js +0 -23
  128. package/public-api.d.ts +0 -16
@@ -1,35 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class SkySectionedFormService {
5
- constructor() {
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
- invalidFieldChanged(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
- requiredFieldChanged(isRequired) {
27
- this.requiredChange.next(isRequired);
28
- }
29
- }
30
- SkySectionedFormService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkySectionedFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
- SkySectionedFormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkySectionedFormService });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkySectionedFormService, decorators: [{
33
- type: Injectable
34
- }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvc2VjdGlvbmVkLWZvcm0vc2VjdGlvbmVkLWZvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxlQUFlLEVBQ2hCLE1BQU0sTUFBTSxDQUFDOztBQUdkLE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFQTs7V0FFRztRQUNNLGtCQUFhLEdBQTZCLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xGOztXQUVHO1FBQ00sbUJBQWMsR0FBNkIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7S0FpQmxGO0lBZkM7OztPQUdHO0lBQ0ksbUJBQW1CLENBQUMsU0FBa0I7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG9CQUFvQixDQUFDLFVBQW1CO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O3FIQXhCVSx1QkFBdUI7eUhBQXZCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0XG59IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5U2VjdGlvbmVkRm9ybVNlcnZpY2Uge1xuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuICBwdWJsaWMgaW52YWxpZENoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuICBwdWJsaWMgcmVxdWlyZWRDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCBzZWN0aW9uJ3MgaW52YWxpZCBzdGF0ZSBiYXNlZCBvbiB0aGUgYGlzSW52YWxpZGAgcGFyYW1ldGVyLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHdpdGhpbiBhIGBza3ktc2VjdGlvbmVkLWZvcm0tc2VjdGlvbmAgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBpbnZhbGlkRmllbGRDaGFuZ2VkKGlzSW52YWxpZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaW52YWxpZENoYW5nZS5uZXh0KGlzSW52YWxpZCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCBzZWN0aW9uJ3MgcmVxdWlyZWQgc3RhdGUgYmFzZWQgb24gdGhlIGBpc1JlcXVpcmVkYCBwYXJhbWV0ZXIuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgd2l0aGluIGEgYHNreS1zZWN0aW9uZWQtZm9ybS1zZWN0aW9uYCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIHJlcXVpcmVkRmllbGRDaGFuZ2VkKGlzUmVxdWlyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnJlcXVpcmVkQ2hhbmdlLm5leHQoaXNSZXF1aXJlZCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,41 +0,0 @@
1
- /**
2
- * NOTICE: DO NOT MODIFY THIS FILE!
3
- * The contents of this file were automatically generated by
4
- * the 'ng generate @skyux/i18n:lib-resources-module modules/shared/sky-tabs' schematic.
5
- * To update this file, simply rerun the command.
6
- */
7
- import { NgModule } from '@angular/core';
8
- import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
9
- import * as i0 from "@angular/core";
10
- const RESOURCES = {
11
- 'EN-US': { "skyux_tab_add": { "message": "Add tab" }, "skyux_tab_close": { "message": "Close {0} tab" }, "skyux_tabs_navigator_next": { "message": "Next" }, "skyux_tabs_navigator_previous": { "message": "Previous" }, "skyux_tab_open": { "message": "Open tab" }, "skyux_vertical_tabs_show_tabs_text": { "message": "Tab list" } },
12
- };
13
- export class SkyTabsResourcesProvider {
14
- getString(localeInfo, name) {
15
- return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
16
- }
17
- }
18
- /**
19
- * Import into any component library module that needs to use resource strings.
20
- */
21
- export class SkyTabsResourcesModule {
22
- }
23
- SkyTabsResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabsResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
- SkyTabsResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabsResourcesModule, exports: [SkyI18nModule] });
25
- SkyTabsResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabsResourcesModule, providers: [{
26
- provide: SKY_LIB_RESOURCES_PROVIDERS,
27
- useClass: SkyTabsResourcesProvider,
28
- multi: true
29
- }], imports: [SkyI18nModule] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabsResourcesModule, decorators: [{
31
- type: NgModule,
32
- args: [{
33
- exports: [SkyI18nModule],
34
- providers: [{
35
- provide: SKY_LIB_RESOURCES_PROVIDERS,
36
- useClass: SkyTabsResourcesProvider,
37
- multi: true
38
- }]
39
- }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvc2hhcmVkL3NreS10YWJzLXJlc291cmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxxQkFBcUIsRUFFckIsYUFBYSxFQUdiLDJCQUEyQixFQUM1QixNQUFNLGFBQWEsQ0FBQzs7QUFFckIsTUFBTSxTQUFTLEdBQTBDO0lBQ3ZELE9BQU8sRUFBRSxFQUFDLGVBQWUsRUFBQyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsRUFBQyxpQkFBaUIsRUFBQyxFQUFDLFNBQVMsRUFBQyxlQUFlLEVBQUMsRUFBQywyQkFBMkIsRUFBQyxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsRUFBQywrQkFBK0IsRUFBQyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsRUFBQyxnQkFBZ0IsRUFBQyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsRUFBQyxvQ0FBb0MsRUFBQyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsRUFBQztDQUN6UyxDQUFDO0FBRUYsTUFBTSxPQUFPLHdCQUF3QjtJQUM1QixTQUFTLENBQUMsVUFBNEIsRUFBRSxJQUFZO1FBQ3pELE9BQU8scUJBQXFCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFTSCxNQUFNLE9BQU8sc0JBQXNCOztvSEFBdEIsc0JBQXNCO3FIQUF0QixzQkFBc0IsWUFQdkIsYUFBYTtxSEFPWixzQkFBc0IsYUFOdEIsQ0FBQztZQUNWLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsWUFMUSxhQUFhOzRGQU9aLHNCQUFzQjtrQkFSbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxDQUFDOzRCQUNWLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7NEJBQ2xDLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7aUJBQ0giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbW9kdWxlcy9zaGFyZWQvc2t5LXRhYnMnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxuICBTa3lBcHBMb2NhbGVJbmZvLFxuICBTa3lJMThuTW9kdWxlLFxuICBTa3lMaWJSZXNvdXJjZXMsXG4gIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyLFxuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlNcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IHsgW2xvY2FsZTogc3RyaW5nXTogU2t5TGliUmVzb3VyY2VzIH0gPSB7XG4gICdFTi1VUyc6IHtcInNreXV4X3RhYl9hZGRcIjp7XCJtZXNzYWdlXCI6XCJBZGQgdGFiXCJ9LFwic2t5dXhfdGFiX2Nsb3NlXCI6e1wibWVzc2FnZVwiOlwiQ2xvc2UgezB9IHRhYlwifSxcInNreXV4X3RhYnNfbmF2aWdhdG9yX25leHRcIjp7XCJtZXNzYWdlXCI6XCJOZXh0XCJ9LFwic2t5dXhfdGFic19uYXZpZ2F0b3JfcHJldmlvdXNcIjp7XCJtZXNzYWdlXCI6XCJQcmV2aW91c1wifSxcInNreXV4X3RhYl9vcGVuXCI6e1wibWVzc2FnZVwiOlwiT3BlbiB0YWJcIn0sXCJza3l1eF92ZXJ0aWNhbF90YWJzX3Nob3dfdGFic190ZXh0XCI6e1wibWVzc2FnZVwiOlwiVGFiIGxpc3RcIn19LFxufTtcblxuZXhwb3J0IGNsYXNzIFNreVRhYnNSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRMaWJTdHJpbmdGb3JMb2NhbGUoUkVTT1VSQ0VTLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgICB1c2VDbGFzczogU2t5VGFic1Jlc291cmNlc1Byb3ZpZGVyLFxuICAgIG11bHRpOiB0cnVlXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYnNSZXNvdXJjZXNNb2R1bGUgeyB9XG4iXX0=
@@ -1,65 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@skyux/indicators";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@skyux/i18n";
6
- /**
7
- * @internal
8
- */
9
- export class SkyTabButtonComponent {
10
- constructor() {
11
- this.buttonClick = new EventEmitter();
12
- this.closeClick = new EventEmitter();
13
- }
14
- onButtonClick(event) {
15
- if (!this.disabled) {
16
- this.buttonClick.emit();
17
- event.preventDefault();
18
- }
19
- }
20
- onButtonEnterKeyDown(event) {
21
- this.onButtonClick(event);
22
- }
23
- onCloseClick(event) {
24
- this.closeClick.emit();
25
- // Prevent the click event from bubbling up to the anchor tag;
26
- // otherwise it will trigger a page refresh.
27
- event.stopPropagation();
28
- event.preventDefault();
29
- }
30
- }
31
- SkyTabButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- SkyTabButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyTabButtonComponent, selector: "sky-tab-button", inputs: { active: "active", ariaControls: "ariaControls", buttonHref: "buttonHref", buttonId: "buttonId", buttonText: "buttonText", buttonTextCount: "buttonTextCount", closeable: "closeable", disabled: "disabled", tabStyle: "tabStyle" }, outputs: { buttonClick: "buttonClick", closeClick: "closeClick" }, ngImport: i0, template: "<div\n class=\"sky-btn-tab-wrapper\"\n [ngClass]=\"{\n 'sky-btn-tab-wrapper-selected': active,\n 'sky-btn-tab-wrapper-disabled': disabled\n }\"\n>\n <a\n 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", styles: [".sky-btn-tab-wrapper{display:inline-block;position:relative;margin-right:5px}.sky-btn-tab-wrapper .sky-btn-tab-close{position:absolute;top:10px;right:10px;color:#686c73}.sky-btn-tab-wrapper .sky-btn-tab-close:hover{color:#212327;transition:color .15s}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#fff}.sky-tab-btn-closeable{padding-right:43px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper{margin-right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}:host-context(.sky-theme-modern) .sky-tab-btn-closeable{padding-right:44px}.sky-theme-modern .sky-btn-tab-wrapper{margin-right:10px}.sky-theme-modern .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}.sky-theme-modern .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}.sky-theme-modern .sky-tab-btn-closeable{padding-right:44px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}\n"], components: [{ type: i1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabButtonComponent, decorators: [{
34
- type: Component,
35
- args: [{
36
- selector: 'sky-tab-button',
37
- templateUrl: './tab-button.component.html',
38
- styleUrls: ['./tab-button.component.scss'],
39
- changeDetection: ChangeDetectionStrategy.OnPush,
40
- encapsulation: ViewEncapsulation.None
41
- }]
42
- }], propDecorators: { active: [{
43
- type: Input
44
- }], ariaControls: [{
45
- type: Input
46
- }], buttonHref: [{
47
- type: Input
48
- }], buttonId: [{
49
- type: Input
50
- }], buttonText: [{
51
- type: Input
52
- }], buttonTextCount: [{
53
- type: Input
54
- }], closeable: [{
55
- type: Input
56
- }], disabled: [{
57
- type: Input
58
- }], tabStyle: [{
59
- type: Input
60
- }], buttonClick: [{
61
- type: Output
62
- }], closeClick: [{
63
- type: Output
64
- }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWJzL3NyYy9tb2R1bGVzL3RhYnMvdGFiLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWJzL3NyYy9tb2R1bGVzL3RhYnMvdGFiLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBTXZCOztHQUVHO0FBUUgsTUFBTSxPQUFPLHFCQUFxQjtJQVBsQztRQXFDUyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FxQjlDO0lBbkJRLGFBQWEsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxLQUFVO1FBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFdkIsOERBQThEO1FBQzlELDRDQUE0QztRQUM1QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7O21IQXJEVSxxQkFBcUI7dUdBQXJCLHFCQUFxQix1V0N2QmxDLDQwQ0FvREE7NEZEN0JhLHFCQUFxQjtrQkFQakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsNkJBQTZCO29CQUMxQyxTQUFTLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDMUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs4QkFJUSxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5VGFic2V0U3R5bGVcbn0gZnJvbSAnLi90YWJzZXQtc3R5bGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGFiLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTa3lUYWJCdXR0b25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY3RpdmU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFDb250cm9sczogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25IcmVmOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvbklkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvblRleHQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uVGV4dENvdW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNsb3NlYWJsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRhYlN0eWxlOiBTa3lUYWJzZXRTdHlsZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xvc2VDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgb25CdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5idXR0b25DbGljay5lbWl0KCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkJ1dHRvbkVudGVyS2V5RG93bihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkJ1dHRvbkNsaWNrKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VDbGljay5lbWl0KCk7XG5cbiAgICAvLyBQcmV2ZW50IHRoZSBjbGljayBldmVudCBmcm9tIGJ1YmJsaW5nIHVwIHRvIHRoZSBhbmNob3IgdGFnO1xuICAgIC8vIG90aGVyd2lzZSBpdCB3aWxsIHRyaWdnZXIgYSBwYWdlIHJlZnJlc2guXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1idG4tdGFiLXdyYXBwZXJcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NreS1idG4tdGFiLXdyYXBwZXItc2VsZWN0ZWQnOiBhY3RpdmUsXG4gICAgJ3NreS1idG4tdGFiLXdyYXBwZXItZGlzYWJsZWQnOiBkaXNhYmxlZFxuICB9XCJcbj5cbiAgPGFcbiAgICBjbGFzcz1cInNreS1idG4tdGFiXCJcbiAgICByb2xlPVwidGFiXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFyaWFDb250cm9sc1wiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJhY3RpdmVcIlxuICAgIFthdHRyLmhyZWZdPVwiYnV0dG9uSHJlZlwiXG4gICAgW2lkXT1cImJ1dHRvbklkXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LWJ0bi10YWItd2l6YXJkJzogdGFiU3R5bGUgPT09ICd3aXphcmQnLFxuICAgICAgJ3NreS1idG4tdGFiLXNlbGVjdGVkJzogYWN0aXZlLFxuICAgICAgJ3NreS1idG4tdGFiLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgICAnc2t5LXRhYi1idG4tY2xvc2VhYmxlJzogY2xvc2VhYmxlXG4gICAgfVwiXG4gICAgW3RhYmluZGV4XT1cImRpc2FibGVkID8gJy0xJyA6ICcwJ1wiXG4gICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgKGtleWRvd24uZW50ZXIpPVwib25CdXR0b25FbnRlcktleURvd24oJGV2ZW50KVwiXG4gID5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJza3ktdGFiLWhlYWRpbmdcIlxuICAgID5cbiAgICAgIHt7IGJ1dHRvblRleHQgfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwiYnV0dG9uVGV4dENvdW50ICE9PSB1bmRlZmluZWRcIlxuICAgICAgICBjbGFzcz1cInNreS10YWItaGVhZGVyLWNvdW50XCJcbiAgICAgID5cbiAgICAgICAge3sgYnV0dG9uVGV4dENvdW50IH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8L2E+XG5cbiAgPGJ1dHRvbiAqbmdJZj1cImNsb3NlYWJsZVwiXG4gICAgY2xhc3M9XCJza3ktYnRuLXRhYi1jbG9zZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfdGFiX2Nsb3NlJyB8IHNreUxpYlJlc291cmNlczpidXR0b25UZXh0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktYnRuLXRhYi1jbG9zZS1kaXNhYmxlZCc6IGRpc2FibGVkXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cIm9uQ2xvc2VDbGljaygkZXZlbnQpXCJcbiAgICA+XG4gICAgPHNreS1pY29uXG4gICAgICBpY29uPVwicmVtb3ZlXCJcbiAgICA+PC9za3ktaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWluZGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFicy9zcmMvbW9kdWxlcy90YWJzL3RhYi1pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2t5VGFiSW5kZXggPSBzdHJpbmcgfCBudW1iZXI7XG4iXX0=
@@ -1,134 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./tabset-permalink.service";
5
- import * as i2 from "./tabset.service";
6
- let nextId = 0;
7
- export class SkyTabComponent {
8
- constructor(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
- const id = nextId++;
22
- this.tabPanelId = `sky-tab-${id}`;
23
- this.tabButtonId = `${this.tabPanelId}-nav-btn`;
24
- }
25
- /**
26
- * Indicates whether the tab is active when the tabset loads. After initialization, the `active`
27
- * property on the tabset component should be used to set the active tab.
28
- * @default false
29
- */
30
- set active(value) {
31
- if (value !== undefined &&
32
- value !== this._active) {
33
- this._active = value;
34
- this._activeChange.next();
35
- }
36
- }
37
- get active() {
38
- return this._active || false;
39
- }
40
- get activeChange() {
41
- return this._activeChange.asObservable();
42
- }
43
- /**
44
- * Specifies a custom query parameter value for the tab.
45
- * This works in conjunction with the tabset's `permalinkId` to distinguish
46
- * the tab's unique state in the URL by generating a query parameter that is
47
- * written as `?<queryParam>-active-tab=<sanitized-tab-heading`.
48
- * By default, the query parameter's value is parsed automatically from the tab's heading text.
49
- */
50
- set permalinkValue(value) {
51
- this._permalinkValue = this.permalinkService.urlify(value);
52
- }
53
- get permalinkValue() {
54
- return this._permalinkValue || this.permalinkService.urlify(this.tabHeading);
55
- }
56
- /**
57
- * Specifies a unique identifier for the tab.
58
- * If not defined, the identifier is set to the position of the tab on load, starting with `0`.
59
- */
60
- set tabIndex(value) {
61
- if (value !== this._tabIndex &&
62
- value !== undefined &&
63
- this._tabIndex !== undefined) {
64
- this.tabsetService.updateTabIndex(this._tabIndex, value);
65
- this._tabIndexChange.next(value);
66
- }
67
- this._tabIndex = value;
68
- }
69
- get tabIndex() {
70
- return this._tabIndex;
71
- }
72
- get closeable() {
73
- return this.close.observers.length > 0;
74
- }
75
- /**
76
- * Alerts the tabset component when this component has changes that need to be reflected in the UI.
77
- */
78
- get stateChange() {
79
- return this._stateChange.asObservable();
80
- }
81
- get tabIndexChange() {
82
- return this._tabIndexChange.asObservable();
83
- }
84
- ngOnChanges(changes) {
85
- if (changes.disabled && !changes.disabled.firstChange ||
86
- changes.tabHeading && !changes.tabHeading.firstChange ||
87
- changes.tabHeaderCount && !changes.tabHeaderCount.firstChange ||
88
- changes.permalinkValue && !changes.permalinkValue.firstChange) {
89
- this._stateChange.next();
90
- }
91
- }
92
- ngOnDestroy() {
93
- this._stateChange.complete();
94
- this.tabsetService.unregisterTab(this.tabIndex);
95
- }
96
- init() {
97
- this._tabIndex = this.tabsetService.registerTab(this.tabIndex);
98
- }
99
- activate() {
100
- this._active = true;
101
- this.showContent = true;
102
- this.changeDetector.markForCheck();
103
- }
104
- deactivate() {
105
- this._active = false;
106
- this.showContent = false;
107
- this.changeDetector.markForCheck();
108
- }
109
- }
110
- SkyTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyTabsetPermalinkService }, { token: i2.SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component });
111
- SkyTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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 });
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabComponent, decorators: [{
113
- type: Component,
114
- args: [{
115
- selector: 'sky-tab',
116
- templateUrl: './tab.component.html',
117
- changeDetection: ChangeDetectionStrategy.OnPush
118
- }]
119
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyTabsetPermalinkService }, { type: i2.SkyTabsetService }]; }, propDecorators: { active: [{
120
- type: Input
121
- }], disabled: [{
122
- type: Input
123
- }], permalinkValue: [{
124
- type: Input
125
- }], tabHeaderCount: [{
126
- type: Input
127
- }], tabHeading: [{
128
- type: Input
129
- }], tabIndex: [{
130
- type: Input
131
- }], close: [{
132
- type: Output
133
- }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvdGFicy90YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFicy9zcmMvbW9kdWxlcy90YWJzL3RhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsZUFBZSxFQUVoQixNQUFNLE1BQU0sQ0FBQzs7OztBQWNkLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQU9mLE1BQU0sT0FBTyxlQUFlO0lBZ0kxQixZQUNVLGNBQWlDLEVBQ2pDLGdCQUEyQyxFQUMzQyxhQUErQjtRQUYvQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEyQjtRQUMzQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUEzQ3pDOzs7V0FHRztRQUVJLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBaUJqQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQVE1QixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBSXJELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQU8sU0FBUyxDQUFDLENBQUM7UUFJcEQsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBYyxTQUFTLENBQUMsQ0FBQztRQU9wRSxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLFVBQVUsQ0FBQztJQUNsRCxDQUFDO0lB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SSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQzs7NkdBeEtVLGVBQWU7aUdBQWYsZUFBZSx5UUNwQzVCLHdMQVNBOzRGRDJCYSxlQUFlO2tCQUwzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxTQUFTO29CQUNuQixXQUFXLEVBQUUsc0JBQXNCO29CQUNuQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7K0tBU1ksTUFBTTtzQkFEaEIsS0FBSztnQkF3QkMsUUFBUTtzQkFEZCxLQUFLO2dCQVdLLGNBQWM7c0JBRHhCLEtBQUs7Z0JBYUMsY0FBYztzQkFEcEIsS0FBSztnQkFZQyxVQUFVO3NCQURoQixLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBdUJDLEtBQUs7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGVcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFNreVRhYkluZGV4XG59IGZyb20gJy4vdGFiLWluZGV4JztcblxuaW1wb3J0IHtcbiAgU2t5VGFic2V0UGVybWFsaW5rU2VydmljZVxufSBmcm9tICcuL3RhYnNldC1wZXJtYWxpbmsuc2VydmljZSc7XG5cbmltcG9ydCB7XG4gIFNreVRhYnNldFNlcnZpY2Vcbn0gZnJvbSAnLi90YWJzZXQuc2VydmljZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGFiJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRhYiBpcyBhY3RpdmUgd2hlbiB0aGUgdGFic2V0IGxvYWRzLiBBZnRlciBpbml0aWFsaXphdGlvbiwgdGhlIGBhY3RpdmVgXG4gICAqIHByb3BlcnR5IG9uIHRoZSB0YWJzZXQgY29tcG9uZW50IHNob3VsZCBiZSB1c2VkIHRvIHNldCB0aGUgYWN0aXZlIHRhYi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKFxuICAgICAgdmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdmFsdWUgIT09IHRoaXMuX2FjdGl2ZVxuICAgICkge1xuICAgICAgdGhpcy5fYWN0aXZlID0gdmFsdWU7XG4gICAgICB0aGlzLl9hY3RpdmVDaGFuZ2UubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmUgfHwgZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc2FibGUgdGhlIHRhYi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgY3VzdG9tIHF1ZXJ5IHBhcmFtZXRlciB2YWx1ZSBmb3IgdGhlIHRhYi5cbiAgICogVGhpcyB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSB0YWJzZXQncyBgcGVybWFsaW5rSWRgIHRvIGRpc3Rpbmd1aXNoXG4gICAqIHRoZSB0YWIncyB1bmlxdWUgc3RhdGUgaW4gdGhlIFVSTCBieSBnZW5lcmF0aW5nIGEgcXVlcnkgcGFyYW1ldGVyIHRoYXQgaXNcbiAgICogd3JpdHRlbiBhcyBgPzxxdWVyeVBhcmFtPi1hY3RpdmUtdGFiPTxzYW5pdGl6ZWQtdGFiLWhlYWRpbmdgLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgcXVlcnkgcGFyYW1ldGVyJ3MgdmFsdWUgaXMgcGFyc2VkIGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgdGFiJ3MgaGVhZGluZyB0ZXh0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwZXJtYWxpbmtWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGVybWFsaW5rVmFsdWUgPSB0aGlzLnBlcm1hbGlua1NlcnZpY2UudXJsaWZ5KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVybWFsaW5rVmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcGVybWFsaW5rVmFsdWUgfHwgdGhpcy5wZXJtYWxpbmtTZXJ2aWNlLnVybGlmeSh0aGlzLnRhYkhlYWRpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGEgY291bnRlciBiZXNpZGUgdGhlIHRhYiBoZWFkZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGFiSGVhZGVyQ291bnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0YWIgaGVhZGVyLlxuICAgKiBXaGVuIHVzaW5nIHRhYnMgYXMgdGhlIG1haW4gbmF2aWdhdGlvbiBvbiBhIHBhZ2UsXG4gICAqIHVzZSBbdGhlIEFuZ3VsYXIgYFRpdGxlYCBzZXJ2aWNlXShodHRwczovL2FuZ3VsYXIuaW8vZG9jcy90cy9sYXRlc3QvY29va2Jvb2svc2V0LWRvY3VtZW50LXRpdGxlLmh0bWwpXG4gICAqIGFuZCBbdGhlIFNLWSBVWCBgdGl0bGVgIGNvbmZpZ3VyYXRpb24gcHJvcGVydHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vcmVmZXJlbmNlL2NvbmZpZ3VyYXRpb24jYXBwKVxuICAgKiB0byByZWZsZWN0IHRoZSB0YWIgaGVhZGVyIGluIHRoZSBwYWdlIHRpdGxlLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJIZWFkaW5nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdGFiLlxuICAgKiBJZiBub3QgZGVmaW5lZCwgdGhlIGlkZW50aWZpZXIgaXMgc2V0IHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUgdGFiIG9uIGxvYWQsIHN0YXJ0aW5nIHdpdGggYDBgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0YWJJbmRleCh2YWx1ZTogU2t5VGFiSW5kZXgpIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSAhPT0gdGhpcy5fdGFiSW5kZXggJiZcbiAgICAgIHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuX3RhYkluZGV4ICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHRoaXMudGFic2V0U2VydmljZS51cGRhdGVUYWJJbmRleCh0aGlzLl90YWJJbmRleCwgdmFsdWUpO1xuICAgICAgdGhpcy5fdGFiSW5kZXhDaGFuZ2UubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5fdGFiSW5kZXggPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFiSW5kZXgoKTogU2t5VGFiSW5kZXgge1xuICAgIHJldHVybiB0aGlzLl90YWJJbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIGNsaWNrIHRoZSBidXR0b24gdG8gY2xvc2UgdGhlIHRhYi5cbiAgICogVGhlIGNsb3NlIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgdGFiIHdoZW4geW91IHNwZWNpZnkgYSBsaXN0ZW5lciBmb3IgdGhpcyBldmVudC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIGdldCBjbG9zZWFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2xvc2Uub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gIH1cblxuICAvKipcbiAgICogQWxlcnRzIHRoZSB0YWJzZXQgY29tcG9uZW50IHdoZW4gdGhpcyBjb21wb25lbnQgaGFzIGNoYW5nZXMgdGhhdCBuZWVkIHRvIGJlIHJlZmxlY3RlZCBpbiB0aGUgVUkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZUNoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFiSW5kZXhDaGFuZ2UoKTogT2JzZXJ2YWJsZTxTa3lUYWJJbmRleD4ge1xuICAgIHJldHVybiB0aGlzLl90YWJJbmRleENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93Q29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyB0YWJCdXR0b25JZDogc3RyaW5nO1xuXG4gIHB1YmxpYyB0YWJQYW5lbElkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2FjdGl2ZUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIF9wZXJtYWxpbmtWYWx1ZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3N0YXRlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX3RhYkluZGV4OiBTa3lUYWJJbmRleDtcblxuICBwcml2YXRlIF90YWJJbmRleENoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2t5VGFiSW5kZXg+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBwZXJtYWxpbmtTZXJ2aWNlOiBTa3lUYWJzZXRQZXJtYWxpbmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGFic2V0U2VydmljZTogU2t5VGFic2V0U2VydmljZVxuICApIHtcbiAgICBjb25zdCBpZCA9IG5leHRJZCsrO1xuICAgIHRoaXMudGFiUGFuZWxJZCA9IGBza3ktdGFiLSR7aWR9YDtcbiAgICB0aGlzLnRhYkJ1dHRvbklkID0gYCR7dGhpcy50YWJQYW5lbElkfS1uYXYtYnRuYDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlcy5kaXNhYmxlZCAmJiAhY2hhbmdlcy5kaXNhYmxlZC5maXJzdENoYW5nZSB8fFxuICAgICAgY2hhbmdlcy50YWJIZWFkaW5nICYmICFjaGFuZ2VzLnRhYkhlYWRpbmcuZmlyc3RDaGFuZ2UgfHxcbiAgICAgIGNoYW5nZXMudGFiSGVhZGVyQ291bnQgJiYgIWNoYW5nZXMudGFiSGVhZGVyQ291bnQuZmlyc3RDaGFuZ2UgfHxcbiAgICAgIGNoYW5nZXMucGVybWFsaW5rVmFsdWUgJiYgIWNoYW5nZXMucGVybWFsaW5rVmFsdWUuZmlyc3RDaGFuZ2VcbiAgICApIHtcbiAgICAgIHRoaXMuX3N0YXRlQ2hhbmdlLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLnRhYnNldFNlcnZpY2UudW5yZWdpc3RlclRhYih0aGlzLnRhYkluZGV4KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3RhYkluZGV4ID0gdGhpcy50YWJzZXRTZXJ2aWNlLnJlZ2lzdGVyVGFiKHRoaXMudGFiSW5kZXgpO1xuICB9XG5cbiAgcHVibGljIGFjdGl2YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IHRydWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWFjdGl2YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0NvbnRlbnQgPSBmYWxzZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdGFiXCJcbiAgcm9sZT1cInRhYnBhbmVsXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYkJ1dHRvbklkXCJcbiAgW2hpZGRlbl09XCIhc2hvd0NvbnRlbnRcIlxuICBbaWRdPVwidGFiUGFuZWxJZFwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -1,63 +0,0 @@
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: "12.2.13", ngImport: i0, type: SkyTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
- SkyTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", 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,
27
- SkyTabsetComponent,
28
- SkyTabsetNavButtonComponent] });
29
- SkyTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabsModule, imports: [[
30
- CommonModule,
31
- RouterModule,
32
- SkyDropdownModule,
33
- SkyI18nModule,
34
- SkyIconModule,
35
- SkyTabsResourcesModule,
36
- SkyThemeModule
37
- ]] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabsModule, decorators: [{
39
- type: NgModule,
40
- args: [{
41
- declarations: [
42
- SkyTabButtonComponent,
43
- SkyTabComponent,
44
- SkyTabsetComponent,
45
- SkyTabsetNavButtonComponent
46
- ],
47
- imports: [
48
- CommonModule,
49
- RouterModule,
50
- SkyDropdownModule,
51
- SkyI18nModule,
52
- SkyIconModule,
53
- SkyTabsResourcesModule,
54
- SkyThemeModule
55
- ],
56
- exports: [
57
- SkyTabComponent,
58
- SkyTabsetComponent,
59
- SkyTabsetNavButtonComponent
60
- ]
61
- }]
62
- }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWJzL3NyYy9tb2R1bGVzL3RhYnMvdGFicy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDYixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFDTCxRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLFlBQVksRUFDYixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFDTCxhQUFhLEVBQ2QsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNMLGFBQWEsRUFDZCxNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFDTixpQkFBaUIsRUFDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQ0wsY0FBYyxFQUNmLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3QyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3RCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUNMLGVBQWUsRUFDaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQ0wsMkJBQTJCLEVBQzVCLE1BQU0sK0JBQStCLENBQUM7QUFFdkMsT0FBTyxFQUNMLGtCQUFrQixFQUNuQixNQUFNLG9CQUFvQixDQUFDOztBQXdCNUIsTUFBTSxPQUFPLGFBQWE7OzJHQUFiLGFBQWE7NEdBQWIsYUFBYSxpQkFwQnRCLHFCQUFxQjtRQUNyQixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLDJCQUEyQixhQUczQixZQUFZO1FBQ1osWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsYUFBYTtRQUNiLHNCQUFzQjtRQUN0QixjQUFjLGFBR2QsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQiwyQkFBMkI7NEdBR2xCLGFBQWEsWUFmZjtZQUNQLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixhQUFhO1lBQ2Isc0JBQXNCO1lBQ3RCLGNBQWM7U0FDZjs0RkFPVSxhQUFhO2tCQXRCekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLHNCQUFzQjt3QkFDdEIsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21tb25Nb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgTmdNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFJvdXRlck1vZHVsZVxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1xuICBTa3lJMThuTW9kdWxlXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHtcbiAgU2t5SWNvbk1vZHVsZVxufSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5cbmltcG9ydCB7XG4gU2t5RHJvcGRvd25Nb2R1bGVcbn0gZnJvbSAnQHNreXV4L3BvcG92ZXJzJztcblxuaW1wb3J0IHtcbiAgU2t5VGhlbWVNb2R1bGVcbn0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgU2t5VGFic1Jlc291cmNlc01vZHVsZVxufSBmcm9tICcuLi9zaGFyZWQvc2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7XG4gIFNreVRhYkJ1dHRvbkNvbXBvbmVudFxufSBmcm9tICcuL3RhYi1idXR0b24uY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgU2t5VGFiQ29tcG9uZW50XG59IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7XG4gIFNreVRhYnNldE5hdkJ1dHRvbkNvbXBvbmVudFxufSBmcm9tICcuL3RhYnNldC1uYXYtYnV0dG9uLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7XG4gIFNreVRhYnNldENvbXBvbmVudFxufSBmcm9tICcuL3RhYnNldC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lUYWJCdXR0b25Db21wb25lbnQsXG4gICAgU2t5VGFiQ29tcG9uZW50LFxuICAgIFNreVRhYnNldENvbXBvbmVudCxcbiAgICBTa3lUYWJzZXROYXZCdXR0b25Db21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgU2t5RHJvcGRvd25Nb2R1bGUsXG4gICAgU2t5STE4bk1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreVRhYnNSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNreVRhYkNvbXBvbmVudCxcbiAgICBTa3lUYWJzZXRDb21wb25lbnQsXG4gICAgU2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFic01vZHVsZSB7IH1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWFjdGl2ZS10YWItdW5yZWdpc3RlcmVkLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWJzL3NyYy9tb2R1bGVzL3RhYnMvdGFic2V0LWFjdGl2ZS10YWItdW5yZWdpc3RlcmVkLWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIGFyZ3VtZW50cyBmb3IgdGhlIHRhYnNldCBzZXJ2aWNlJ3MgYGFjdGl2ZVRhYlVucmVnaXN0ZXJlZGAgZXZlbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lUYWJzZXRBY3RpdmVUYWJVbnJlZ2lzdGVyZWRBcmdzIHtcblxuICAvKipcbiAgICogVGhlIGFycmF5IGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLCB3aGVuIGl0IGhhcyBiZWVuIHVucmVnaXN0ZXJlZC5cbiAgICovXG4gIGFycmF5SW5kZXg6IG51bWJlcjtcblxufVxuIl19
@@ -1,54 +0,0 @@
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.querySelector('.sky-tabset-dropdown').getBoundingClientRect();
46
- return firstTabRect.left - tabsetRect.left;
47
- }
48
- }
49
- SkyTabsetAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabsetAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
50
- SkyTabsetAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabsetAdapterService });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabsetAdapterService, decorators: [{
52
- type: Injectable
53
- }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvdGFicy90YWJzZXQtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGVBQWUsRUFFaEIsTUFBTSxNQUFNLENBQUM7O0FBRWQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBYVUsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztLQTZDL0Q7SUF2REMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBVU0sY0FBYyxDQUFDLFNBQXFCO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ25CLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO1FBRW5ELE1BQU0sVUFBVSxHQUFHLGFBQWE7YUFDN0IsYUFBYSxDQUFDLGFBQWEsQ0FBQzthQUM1QixxQkFBcUIsRUFBRSxDQUFDO1FBRTNCLE1BQU0sY0FBYyxHQUFHLGFBQWE7YUFDakMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO2FBQ2pDLHFCQUFxQixFQUFFLENBQUM7UUFFM0IsTUFBTSxtQkFBbUIsR0FBRyxhQUFhO2FBQ3RDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQzthQUNqQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTNCLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFL0YsTUFBTSxXQUFXLEdBQUcsQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxXQUFXLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7WUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssaUJBQWlCLENBQUMsUUFBcUI7UUFDN0MsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFcEQsMEZBQTBGO1FBQzFGLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTVGLE9BQU8sWUFBWSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQzdDLENBQUM7O3FIQXhEVSx1QkFBdUI7eUhBQXZCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0YWJsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBPYnNlcnZhYmxlXG59IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGFic2V0QWRhcHRlclNlcnZpY2Uge1xuXG4gIHB1YmxpYyBnZXQgb3ZlcmZsb3dDaGFuZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX292ZXJmbG93Q2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50T3ZlcmZsb3c6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSB0YWJzZXRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSB0YWJzT2Zmc2V0TGVmdDogbnVtYmVyO1xuXG4gIHByaXZhdGUgX292ZXJmbG93Q2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIHJlZ2lzdGVyVGFic2V0KHRhYnNldFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIHRoaXMudGFic2V0UmVmID0gdGFic2V0UmVmO1xuICAgIHRoaXMudGFic09mZnNldExlZnQgPSB0aGlzLmdldFRhYnNPZmZzZXRMZWZ0KHRhYnNldFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlY3RzIGlmIHRoZSB0YWIgYnV0dG9ucyBhcmUgd2lkZXIgdGhhbiB0aGUgdGFic2V0IGNvbnRhaW5lci5cbiAgICovXG4gIHB1YmxpYyBkZXRlY3RPdmVyZmxvdygpOiB2b2lkIHtcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gdGhpcy50YWJzZXRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIGNvbnN0IHRhYnNldFJlY3QgPSBuYXRpdmVFbGVtZW50XG4gICAgICAucXVlcnlTZWxlY3RvcignLnNreS10YWJzZXQnKVxuICAgICAgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3QgdGFiQnV0dG9uc1JlY3QgPSBuYXRpdmVFbGVtZW50XG4gICAgICAucXVlcnlTZWxlY3RvcignLnNreS10YWJzZXQtdGFicycpXG4gICAgICAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCB0YWJFeHRyYUJ1dHRvbnNSZWN0ID0gbmF0aXZlRWxlbWVudFxuICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5za3ktdGFic2V0LWJ0bnMnKVxuICAgICAgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3QgdGFiQnV0dG9uc1dpZHRoID0gdGFiQnV0dG9uc1JlY3Qud2lkdGggKyB0YWJFeHRyYUJ1dHRvbnNSZWN0LndpZHRoICsgdGhpcy50YWJzT2Zmc2V0TGVmdDtcblxuICAgIGNvbnN0IG5ld092ZXJmbG93ID0gKHRhYkJ1dHRvbnNXaWR0aCA+IHRhYnNldFJlY3Qud2lkdGgpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRPdmVyZmxvdyAhPT0gbmV3T3ZlcmZsb3cpIHtcbiAgICAgIHRoaXMuY3VycmVudE92ZXJmbG93ID0gbmV3T3ZlcmZsb3c7XG4gICAgICB0aGlzLl9vdmVyZmxvd0NoYW5nZS5uZXh0KHRoaXMuY3VycmVudE92ZXJmbG93KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHBpeGVscyB0byB0aGUgbGVmdCBvZiB0aGUgZmlyc3QgdGFiLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRUYWJzT2Zmc2V0TGVmdCh0YWJzZXRFbDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgIGNvbnN0IHRhYnNldFJlY3QgPSB0YWJzZXRFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIC8vIFRoZSBkcm9wZG93biBlbGVtZW50IGlzIHRoZSBmaXJzdCBcInRhYlwiIGFuZCBhbHdheXMgZXhpc3RzIGluIHRoZSBET00sIGV2ZW4gd2hlbiBoaWRkZW4uXG4gICAgY29uc3QgZmlyc3RUYWJSZWN0ID0gdGFic2V0RWwucXVlcnlTZWxlY3RvcignLnNreS10YWJzZXQtZHJvcGRvd24nKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIHJldHVybiBmaXJzdFRhYlJlY3QubGVmdCAtIHRhYnNldFJlY3QubGVmdDtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWJ1dHRvbnMtZGlzcGxheS1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFicy9zcmMvbW9kdWxlcy90YWJzL3RhYnNldC1idXR0b25zLWRpc3BsYXktbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2t5VGFic2V0QnV0dG9uc0Rpc3BsYXlNb2RlID0gJ2Ryb3Bkb3duJyB8ICd0YWJzJztcbiJdfQ==
@@ -1,117 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { forkJoin } from 'rxjs';
3
- import { take } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@skyux/i18n";
6
- const buttonTypeNext = 'next';
7
- const buttonTypePrevious = 'previous';
8
- /**
9
- * @internal
10
- */
11
- export class SkyTabsetNavButtonComponent {
12
- constructor(resourceService, changeDetector) {
13
- this.resourceService = resourceService;
14
- this.changeDetector = changeDetector;
15
- }
16
- set buttonText(value) {
17
- this._buttonText = value;
18
- }
19
- get buttonText() {
20
- if (this._buttonText) {
21
- return this._buttonText;
22
- }
23
- switch (this.buttonType) {
24
- case buttonTypePrevious:
25
- return this.previousButtonText;
26
- case buttonTypeNext:
27
- return this.nextButtonText;
28
- /* istanbul ignore next */
29
- default:
30
- return '';
31
- }
32
- }
33
- get disabled() {
34
- let tabToSelect;
35
- switch (this.buttonType) {
36
- case buttonTypePrevious:
37
- tabToSelect = this.previousTab;
38
- break;
39
- case buttonTypeNext:
40
- tabToSelect = this.nextTab;
41
- break;
42
- /* istanbul ignore next */
43
- default:
44
- break;
45
- }
46
- return !tabToSelect || tabToSelect.disabled;
47
- }
48
- get selectedTab() {
49
- let selectedTab;
50
- if (this.tabset && this.tabset.tabs) {
51
- selectedTab = this.tabset.tabs.find((tab) => tab.tabIndex === this.tabset.lastActiveTabIndex);
52
- }
53
- return selectedTab;
54
- }
55
- get nextTab() {
56
- let selectedTab = this.selectedTab;
57
- if (selectedTab) {
58
- let tabs = this.tabset.tabs.toArray();
59
- return tabs[tabs.indexOf(selectedTab) + 1];
60
- }
61
- return undefined;
62
- }
63
- get previousTab() {
64
- let selectedTab = this.selectedTab;
65
- if (selectedTab) {
66
- let tabs = this.tabset.tabs.toArray();
67
- return tabs[tabs.indexOf(selectedTab) - 1];
68
- }
69
- return undefined;
70
- }
71
- ngAfterViewInit() {
72
- forkJoin([
73
- this.resourceService.getString('skyux_tabs_navigator_previous'),
74
- this.resourceService.getString('skyux_tabs_navigator_next')
75
- ])
76
- .pipe(take(1))
77
- .subscribe(resources => {
78
- this.previousButtonText = resources[0];
79
- this.nextButtonText = resources[1];
80
- this.changeDetector.detectChanges();
81
- });
82
- }
83
- buttonClick() {
84
- let tabToSelect;
85
- switch (this.buttonType) {
86
- case buttonTypePrevious:
87
- tabToSelect = this.previousTab;
88
- break;
89
- case buttonTypeNext:
90
- tabToSelect = this.nextTab;
91
- break;
92
- /* istanbul ignore next */
93
- default:
94
- break;
95
- }
96
- /* istanbul ignore else */
97
- if (tabToSelect && !tabToSelect.disabled) {
98
- this.tabset.active = tabToSelect.tabIndex;
99
- }
100
- }
101
- }
102
- SkyTabsetNavButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabsetNavButtonComponent, deps: [{ token: i1.SkyLibResourcesService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
103
- SkyTabsetNavButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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" });
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTabsetNavButtonComponent, decorators: [{
105
- type: Component,
106
- args: [{
107
- selector: 'sky-tabset-nav-button',
108
- templateUrl: './tabset-nav-button.component.html'
109
- }]
110
- }], ctorParameters: function () { return [{ type: i1.SkyLibResourcesService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tabset: [{
111
- type: Input
112
- }], buttonType: [{
113
- type: Input
114
- }], buttonText: [{
115
- type: Input
116
- }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFicy9zcmMvbW9kdWxlcy90YWJzL3RhYnNldC1uYXYtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvdGFicy90YWJzZXQtbmF2LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQ0wsUUFBUSxFQUNULE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLElBQUksRUFDTCxNQUFNLGdCQUFnQixDQUFDOzs7QUFVeEIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO0FBRTlCLE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDO0FBRXRDOztHQUVHO0FBS0gsTUFBTSxPQUFPLDJCQUEyQjtJQW1GdEMsWUFBb0IsZUFBdUMsRUFBVSxjQUFpQztRQUFsRixvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7SUFBSSxDQUFDO0lBM0UzRyxJQUNXLFVBQVUsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN6QjtRQUVELFFBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN2QixLQUFLLGtCQUFrQjtnQkFDckIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDakMsS0FBSyxjQUFjO2dCQUNqQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDN0IsMEJBQTBCO1lBQzFCO2dC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LENBQUMsUUFBUSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQzs7eUhBckhVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLCtJQ3RDeEMsNkpBUUE7NEZEOEJhLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsb0NBQW9DO2lCQUNsRDs2SUFJUSxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJSyxVQUFVO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUxpYlJlc291cmNlc1NlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQge1xuICBmb3JrSm9pblxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgdGFrZVxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFNreVRhYnNldENvbXBvbmVudFxufSBmcm9tICcuL3RhYnNldC5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBTa3lUYWJDb21wb25lbnRcbn0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcblxuY29uc3QgYnV0dG9uVHlwZU5leHQgPSAnbmV4dCc7XG5cbmNvbnN0IGJ1dHRvblR5cGVQcmV2aW91cyA9ICdwcmV2aW91cyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10YWJzZXQtbmF2LWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJzZXQtbmF2LWJ1dHRvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRhYnNldDogU2t5VGFic2V0Q29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25UeXBlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBidXR0b25UZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9idXR0b25UZXh0ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJ1dHRvblRleHQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fYnV0dG9uVGV4dCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2J1dHRvblRleHQ7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0aGlzLmJ1dHRvblR5cGUpIHtcbiAgICAgIGNhc2UgYnV0dG9uVHlwZVByZXZpb3VzOlxuICAgICAgICByZXR1cm4gdGhpcy5wcmV2aW91c0J1dHRvblRleHQ7XG4gICAgICBjYXNlIGJ1dHRvblR5cGVOZXh0OlxuICAgICAgICByZXR1cm4gdGhpcy5uZXh0QnV0dG9uVGV4dDtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBsZXQgdGFiVG9TZWxlY3Q6IFNreVRhYkNvbXBvbmVudDtcblxuICAgIHN3aXRjaCAodGhpcy5idXR0b25UeXBlKSB7XG4gICAgICBjYXNlIGJ1dHRvblR5cGVQcmV2aW91czpcbiAgICAgICAgdGFiVG9TZWxlY3QgPSB0aGlzLnByZXZpb3VzVGFiO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgYnV0dG9uVHlwZU5leHQ6XG4gICAgICAgIHRhYlRvU2VsZWN0ID0gdGhpcy5uZXh0VGFiO1xuICAgICAgICBicmVhaztcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gIXRhYlRvU2VsZWN0IHx8IHRhYlRvU2VsZWN0LmRpc2FibGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgc2VsZWN0ZWRUYWIoKTogU2t5VGFiQ29tcG9uZW50IHtcbiAgICBsZXQgc2VsZWN0ZWRUYWI6IFNreVRhYkNvbXBvbmVudDtcblxuICAgIGlmICh0aGlzLnRhYnNldCAmJiB0aGlzLnRhYnNldC50YWJzKSB7XG4gICAgICBzZWxlY3RlZFRhYiA9IHRoaXMudGFic2V0LnRhYnMuZmluZCgodGFiKSA9PiB0YWIudGFiSW5kZXggPT09IHRoaXMudGFic2V0Lmxhc3RBY3RpdmVUYWJJbmRleCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGVkVGFiO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbmV4dFRhYigpOiBTa3lUYWJDb21wb25lbnQge1xuICAgIGxldCBzZWxlY3RlZFRhYiA9IHRoaXMuc2VsZWN0ZWRUYWI7XG5cbiAgICBpZiAoc2VsZWN0ZWRUYWIpIHtcbiAgICAgIGxldCB0YWJzID0gdGhpcy50YWJzZXQudGFicy50b0FycmF5KCk7XG4gICAgICByZXR1cm4gdGFic1t0YWJzLmluZGV4T2Yoc2VsZWN0ZWRUYWIpICsgMV07XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHByZXZpb3VzVGFiKCk6IFNreVRhYkNvbXBvbmVudCB7XG4gICAgbGV0IHNlbGVjdGVkVGFiID0gdGhpcy5zZWxlY3RlZFRhYjtcblxuICAgIGlmIChzZWxlY3RlZFRhYikge1xuICAgICAgbGV0IHRhYnMgPSB0aGlzLnRhYnNldC50YWJzLnRvQXJyYXkoKTtcbiAgICAgIHJldHVybiB0YWJzW3RhYnMuaW5kZXhPZihzZWxlY3RlZFRhYikgLSAxXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnV0dG9uVGV4dDogc3RyaW5nO1xuICBwcml2YXRlIHByZXZpb3VzQnV0dG9uVGV4dDogc3RyaW5nO1xuICBwcml2YXRlIG5leHRCdXR0b25UZXh0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNvdXJjZVNlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGZvcmtKb2luKFtcbiAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfdGFic19uYXZpZ2F0b3JfcHJldmlvdXMnKSxcbiAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfdGFic19uYXZpZ2F0b3JfbmV4dCcpXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKHJlc291cmNlcyA9PiB7XG4gICAgICAgIHRoaXMucHJldmlvdXNCdXR0b25UZXh0ID0gcmVzb3VyY2VzWzBdO1xuICAgICAgICB0aGlzLm5leHRCdXR0b25UZXh0ID0gcmVzb3VyY2VzWzFdO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGJ1dHRvbkNsaWNrKCkge1xuICAgIGxldCB0YWJUb1NlbGVjdDogU2t5VGFiQ29tcG9uZW50O1xuXG4gICAgc3dpdGNoICh0aGlzLmJ1dHRvblR5cGUpIHtcbiAgICAgIGNhc2UgYnV0dG9uVHlwZVByZXZpb3VzOlxuICAgICAgICB0YWJUb1NlbGVjdCA9IHRoaXMucHJldmlvdXNUYWI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBidXR0b25UeXBlTmV4dDpcbiAgICAgICAgdGFiVG9TZWxlY3QgPSB0aGlzLm5leHRUYWI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRhYlRvU2VsZWN0ICYmICF0YWJUb1NlbGVjdC5kaXNhYmxlZCkge1xuICAgICAgdGhpcy50YWJzZXQuYWN0aXZlID0gdGFiVG9TZWxlY3QudGFiSW5kZXg7XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHRcIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKClcIlxuPlxuICB7eyBidXR0b25UZXh0IH19XG48L2J1dHRvbj5cbiJdfQ==