@skyux/tabs 5.0.4 → 5.5.0-beta.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 (124) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-tabs.umd.js +147 -181
  3. package/documentation.json +761 -481
  4. package/esm2015/index.js +23 -0
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/lib/modules/sectioned-form/sectioned-form-section.component.js +67 -0
  7. package/esm2015/lib/modules/sectioned-form/sectioned-form-section.component.js.map +1 -0
  8. package/esm2015/lib/modules/sectioned-form/sectioned-form.component.js +116 -0
  9. package/esm2015/lib/modules/sectioned-form/sectioned-form.component.js.map +1 -0
  10. package/esm2015/lib/modules/sectioned-form/sectioned-form.module.js +35 -0
  11. package/esm2015/lib/modules/sectioned-form/sectioned-form.module.js.map +1 -0
  12. package/esm2015/lib/modules/sectioned-form/sectioned-form.service.js +35 -0
  13. package/esm2015/lib/modules/sectioned-form/sectioned-form.service.js.map +1 -0
  14. package/esm2015/lib/modules/shared/sky-tabs-resources.module.js +52 -0
  15. package/esm2015/lib/modules/shared/sky-tabs-resources.module.js.map +1 -0
  16. package/esm2015/lib/modules/tabs/tab-button.component.js +76 -0
  17. package/esm2015/lib/modules/tabs/tab-button.component.js.map +1 -0
  18. package/esm2015/lib/modules/tabs/tab-index.js +2 -0
  19. package/esm2015/lib/modules/tabs/tab-index.js.map +1 -0
  20. package/esm2015/lib/modules/tabs/tab.component.js +135 -0
  21. package/esm2015/lib/modules/tabs/tab.component.js.map +1 -0
  22. package/esm2015/lib/modules/tabs/tabs.module.js +57 -0
  23. package/esm2015/lib/modules/tabs/tabs.module.js.map +1 -0
  24. package/esm2015/lib/modules/tabs/tabset-active-tab-unregistered-args.js +2 -0
  25. package/esm2015/lib/modules/tabs/tabset-active-tab-unregistered-args.js.map +1 -0
  26. package/esm2015/lib/modules/tabs/tabset-adapter.service.js +56 -0
  27. package/esm2015/lib/modules/tabs/tabset-adapter.service.js.map +1 -0
  28. package/esm2015/lib/modules/tabs/tabset-buttons-display-mode.js +2 -0
  29. package/esm2015/lib/modules/tabs/tabset-buttons-display-mode.js.map +1 -0
  30. package/esm2015/lib/modules/tabs/tabset-nav-button.component.js +119 -0
  31. package/esm2015/lib/modules/tabs/tabset-nav-button.component.js.map +1 -0
  32. package/esm2015/lib/modules/tabs/tabset-permalink.service.js +126 -0
  33. package/esm2015/lib/modules/tabs/tabset-permalink.service.js.map +1 -0
  34. package/esm2015/lib/modules/tabs/tabset-style.js +2 -0
  35. package/esm2015/lib/modules/tabs/tabset-style.js.map +1 -0
  36. package/esm2015/lib/modules/tabs/tabset-tab-indexes-change.js +2 -0
  37. package/esm2015/lib/modules/tabs/tabset-tab-indexes-change.js.map +1 -0
  38. package/esm2015/lib/modules/tabs/tabset.component.js +405 -0
  39. package/esm2015/lib/modules/tabs/tabset.component.js.map +1 -0
  40. package/esm2015/lib/modules/tabs/tabset.service.js +110 -0
  41. package/esm2015/lib/modules/tabs/tabset.service.js.map +1 -0
  42. package/esm2015/lib/modules/vertical-tabset/vertical-tab-media-query.service.js +72 -0
  43. package/esm2015/lib/modules/vertical-tabset/vertical-tab-media-query.service.js.map +1 -0
  44. package/esm2015/lib/modules/vertical-tabset/vertical-tab.component.js +203 -0
  45. package/esm2015/lib/modules/vertical-tabset/vertical-tab.component.js.map +1 -0
  46. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-adapter.service.js +48 -0
  47. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-adapter.service.js.map +1 -0
  48. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-group.component.js +89 -0
  49. package/esm2015/lib/modules/vertical-tabset/vertical-tabset-group.component.js.map +1 -0
  50. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.component.js +157 -0
  51. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.component.js.map +1 -0
  52. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.module.js +60 -0
  53. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.module.js.map +1 -0
  54. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.service.js +170 -0
  55. package/esm2015/lib/modules/vertical-tabset/vertical-tabset.service.js.map +1 -0
  56. package/esm2015/skyux-tabs.js +2 -2
  57. package/esm2015/skyux-tabs.js.map +1 -0
  58. package/esm2015/testing/public-api.js +1 -1
  59. package/esm2015/testing/public-api.js.map +1 -0
  60. package/esm2015/testing/skyux-tabs-testing.js +1 -1
  61. package/esm2015/testing/skyux-tabs-testing.js.map +1 -0
  62. package/esm2015/testing/tabs/tab-fixture-tab.js +1 -1
  63. package/esm2015/testing/tabs/tab-fixture-tab.js.map +1 -0
  64. package/esm2015/testing/tabs/tabset-fixture.js +1 -1
  65. package/esm2015/testing/tabs/tabset-fixture.js.map +1 -0
  66. package/fesm2015/skyux-tabs-testing.js.map +1 -1
  67. package/fesm2015/skyux-tabs.js +238 -259
  68. package/fesm2015/skyux-tabs.js.map +1 -1
  69. package/index.d.ts +16 -0
  70. package/{modules → lib/modules}/sectioned-form/sectioned-form-section.component.d.ts +0 -3
  71. package/{modules → lib/modules}/sectioned-form/sectioned-form.component.d.ts +0 -0
  72. package/{modules → lib/modules}/sectioned-form/sectioned-form.module.d.ts +0 -0
  73. package/{modules → lib/modules}/sectioned-form/sectioned-form.service.d.ts +0 -0
  74. package/{modules → lib/modules}/shared/sky-tabs-resources.module.d.ts +0 -0
  75. package/{modules → lib/modules}/tabs/tab-button.component.d.ts +2 -2
  76. package/{modules → lib/modules}/tabs/tab-index.d.ts +0 -0
  77. package/{modules → lib/modules}/tabs/tab.component.d.ts +0 -0
  78. package/{modules → lib/modules}/tabs/tabs.module.d.ts +0 -0
  79. package/{modules → lib/modules}/tabs/tabset-active-tab-unregistered-args.d.ts +0 -0
  80. package/{modules → lib/modules}/tabs/tabset-adapter.service.d.ts +0 -0
  81. package/{modules → lib/modules}/tabs/tabset-buttons-display-mode.d.ts +0 -0
  82. package/{modules → lib/modules}/tabs/tabset-nav-button.component.d.ts +0 -0
  83. package/{modules → lib/modules}/tabs/tabset-permalink.service.d.ts +0 -0
  84. package/{modules → lib/modules}/tabs/tabset-style.d.ts +0 -0
  85. package/{modules → lib/modules}/tabs/tabset-tab-indexes-change.d.ts +0 -0
  86. package/{modules → lib/modules}/tabs/tabset.component.d.ts +1 -1
  87. package/{modules → lib/modules}/tabs/tabset.service.d.ts +0 -0
  88. package/{modules → lib/modules}/vertical-tabset/vertical-tab-media-query.service.d.ts +0 -0
  89. package/{modules → lib/modules}/vertical-tabset/vertical-tab.component.d.ts +8 -13
  90. package/{modules → lib/modules}/vertical-tabset/vertical-tabset-adapter.service.d.ts +0 -0
  91. package/{modules → lib/modules}/vertical-tabset/vertical-tabset-group.component.d.ts +2 -2
  92. package/{modules → lib/modules}/vertical-tabset/vertical-tabset.component.d.ts +17 -2
  93. package/{modules → lib/modules}/vertical-tabset/vertical-tabset.module.d.ts +4 -3
  94. package/{modules → lib/modules}/vertical-tabset/vertical-tabset.service.d.ts +0 -0
  95. package/package.json +25 -11
  96. package/skyux-tabs.d.ts +1 -1
  97. package/LICENSE +0 -21
  98. package/esm2015/modules/sectioned-form/sectioned-form-section.component.js +0 -70
  99. package/esm2015/modules/sectioned-form/sectioned-form.component.js +0 -116
  100. package/esm2015/modules/sectioned-form/sectioned-form.module.js +0 -35
  101. package/esm2015/modules/sectioned-form/sectioned-form.service.js +0 -35
  102. package/esm2015/modules/shared/sky-tabs-resources.module.js +0 -52
  103. package/esm2015/modules/tabs/tab-button.component.js +0 -65
  104. package/esm2015/modules/tabs/tab-index.js +0 -2
  105. package/esm2015/modules/tabs/tab.component.js +0 -133
  106. package/esm2015/modules/tabs/tabs.module.js +0 -57
  107. package/esm2015/modules/tabs/tabset-active-tab-unregistered-args.js +0 -2
  108. package/esm2015/modules/tabs/tabset-adapter.service.js +0 -56
  109. package/esm2015/modules/tabs/tabset-buttons-display-mode.js +0 -2
  110. package/esm2015/modules/tabs/tabset-nav-button.component.js +0 -117
  111. package/esm2015/modules/tabs/tabset-permalink.service.js +0 -124
  112. package/esm2015/modules/tabs/tabset-style.js +0 -2
  113. package/esm2015/modules/tabs/tabset-tab-indexes-change.js +0 -2
  114. package/esm2015/modules/tabs/tabset.component.js +0 -405
  115. package/esm2015/modules/tabs/tabset.service.js +0 -110
  116. package/esm2015/modules/vertical-tabset/vertical-tab-media-query.service.js +0 -72
  117. package/esm2015/modules/vertical-tabset/vertical-tab.component.js +0 -192
  118. package/esm2015/modules/vertical-tabset/vertical-tabset-adapter.service.js +0 -48
  119. package/esm2015/modules/vertical-tabset/vertical-tabset-group.component.js +0 -134
  120. package/esm2015/modules/vertical-tabset/vertical-tabset.component.js +0 -149
  121. package/esm2015/modules/vertical-tabset/vertical-tabset.module.js +0 -56
  122. package/esm2015/modules/vertical-tabset/vertical-tabset.service.js +0 -170
  123. package/esm2015/public-api.js +0 -23
  124. 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.15", ngImport: i0, type: SkySectionedFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
- SkySectionedFormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkySectionedFormService });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkySectionedFormService, decorators: [{
33
- type: Injectable
34
- }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvc2VjdGlvbmVkLWZvcm0vc2VjdGlvbmVkLWZvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3ZDLE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFRTs7V0FFRztRQUNJLGtCQUFhLEdBQTZCLElBQUksZUFBZSxDQUNsRSxTQUFTLENBQ1YsQ0FBQztRQUNGOztXQUVHO1FBQ0ksbUJBQWMsR0FBNkIsSUFBSSxlQUFlLENBQ25FLFNBQVMsQ0FDVixDQUFDO0tBaUJIO0lBZkM7OztPQUdHO0lBQ0ksbUJBQW1CLENBQUMsU0FBa0I7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG9CQUFvQixDQUFDLFVBQW1CO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O3FIQTVCVSx1QkFBdUI7eUhBQXZCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVNlY3Rpb25lZEZvcm1TZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGludmFsaWRDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgdW5kZWZpbmVkXG4gICk7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyByZXF1aXJlZENoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICB1bmRlZmluZWRcbiAgKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCBzZWN0aW9uJ3MgaW52YWxpZCBzdGF0ZSBiYXNlZCBvbiB0aGUgYGlzSW52YWxpZGAgcGFyYW1ldGVyLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHdpdGhpbiBhIGBza3ktc2VjdGlvbmVkLWZvcm0tc2VjdGlvbmAgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBpbnZhbGlkRmllbGRDaGFuZ2VkKGlzSW52YWxpZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaW52YWxpZENoYW5nZS5uZXh0KGlzSW52YWxpZCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCBzZWN0aW9uJ3MgcmVxdWlyZWQgc3RhdGUgYmFzZWQgb24gdGhlIGBpc1JlcXVpcmVkYCBwYXJhbWV0ZXIuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgd2l0aGluIGEgYHNreS1zZWN0aW9uZWQtZm9ybS1zZWN0aW9uYCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIHJlcXVpcmVkRmllbGRDaGFuZ2VkKGlzUmVxdWlyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnJlcXVpcmVkQ2hhbmdlLm5leHQoaXNSZXF1aXJlZCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,52 +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': {
12
- skyux_tab_add: { message: 'Add tab' },
13
- skyux_tab_close: { message: 'Close {0} tab' },
14
- skyux_tabs_navigator_next: { message: 'Next' },
15
- skyux_tabs_navigator_previous: { message: 'Previous' },
16
- skyux_tab_open: { message: 'Open tab' },
17
- skyux_vertical_tabs_show_tabs_text: { message: 'Tab list' },
18
- },
19
- };
20
- export class SkyTabsResourcesProvider {
21
- getString(localeInfo, name) {
22
- return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
23
- }
24
- }
25
- /**
26
- * Import into any component library module that needs to use resource strings.
27
- */
28
- export class SkyTabsResourcesModule {
29
- }
30
- SkyTabsResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
- SkyTabsResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsResourcesModule, exports: [SkyI18nModule] });
32
- SkyTabsResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsResourcesModule, providers: [
33
- {
34
- provide: SKY_LIB_RESOURCES_PROVIDERS,
35
- useClass: SkyTabsResourcesProvider,
36
- multi: true,
37
- },
38
- ], imports: [SkyI18nModule] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsResourcesModule, decorators: [{
40
- type: NgModule,
41
- args: [{
42
- exports: [SkyI18nModule],
43
- providers: [
44
- {
45
- provide: SKY_LIB_RESOURCES_PROVIDERS,
46
- useClass: SkyTabsResourcesProvider,
47
- multi: true,
48
- },
49
- ],
50
- }]
51
- }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvc2hhcmVkL3NreS10YWJzLXJlc291cmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxxQkFBcUIsRUFFckIsYUFBYSxFQUdiLDJCQUEyQixHQUM1QixNQUFNLGFBQWEsQ0FBQzs7QUFFckIsTUFBTSxTQUFTLEdBQTBDO0lBQ3ZELE9BQU8sRUFBRTtRQUNQLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUU7UUFDckMsZUFBZSxFQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRTtRQUM3Qyx5QkFBeUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDOUMsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQ3RELGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDdkMsa0NBQWtDLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO0tBQzVEO0NBQ0YsQ0FBQztBQUVGLE1BQU0sT0FBTyx3QkFBd0I7SUFDNUIsU0FBUyxDQUFDLFVBQTRCLEVBQUUsSUFBWTtRQUN6RCxPQUFPLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBV0gsTUFBTSxPQUFPLHNCQUFzQjs7b0hBQXRCLHNCQUFzQjtxSEFBdEIsc0JBQXNCLFlBVHZCLGFBQWE7cUhBU1osc0JBQXNCLGFBUnRCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLFlBUFMsYUFBYTs0RkFTWixzQkFBc0I7a0JBVmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLHdCQUF3Qjs0QkFDbEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbW9kdWxlcy9zaGFyZWQvc2t5LXRhYnMnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxuICBTa3lBcHBMb2NhbGVJbmZvLFxuICBTa3lJMThuTW9kdWxlLFxuICBTa3lMaWJSZXNvdXJjZXMsXG4gIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyLFxuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuY29uc3QgUkVTT1VSQ0VTOiB7IFtsb2NhbGU6IHN0cmluZ106IFNreUxpYlJlc291cmNlcyB9ID0ge1xuICAnRU4tVVMnOiB7XG4gICAgc2t5dXhfdGFiX2FkZDogeyBtZXNzYWdlOiAnQWRkIHRhYicgfSxcbiAgICBza3l1eF90YWJfY2xvc2U6IHsgbWVzc2FnZTogJ0Nsb3NlIHswfSB0YWInIH0sXG4gICAgc2t5dXhfdGFic19uYXZpZ2F0b3JfbmV4dDogeyBtZXNzYWdlOiAnTmV4dCcgfSxcbiAgICBza3l1eF90YWJzX25hdmlnYXRvcl9wcmV2aW91czogeyBtZXNzYWdlOiAnUHJldmlvdXMnIH0sXG4gICAgc2t5dXhfdGFiX29wZW46IHsgbWVzc2FnZTogJ09wZW4gdGFiJyB9LFxuICAgIHNreXV4X3ZlcnRpY2FsX3RhYnNfc2hvd190YWJzX3RleHQ6IHsgbWVzc2FnZTogJ1RhYiBsaXN0JyB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNsYXNzIFNreVRhYnNSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRMaWJTdHJpbmdGb3JMb2NhbGUoUkVTT1VSQ0VTLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IFNreVRhYnNSZXNvdXJjZXNQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYnNSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==
@@ -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.15", ngImport: i0, type: SkyTabButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- SkyTabButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", 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 class=\"sky-tab-heading\">\n {{ buttonText }}\n <span *ngIf=\"buttonTextCount !== undefined\" class=\"sky-tab-header-count\">\n {{ buttonTextCount }}\n </span>\n </span>\n </a>\n\n <button\n *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 icon=\"remove\"></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.15", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWJzL3NyYy9tb2R1bGVzL3RhYnMvdGFiLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWJzL3NyYy9tb2R1bGVzL3RhYnMvdGFiLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBSXZCOztHQUVHO0FBUUgsTUFBTSxPQUFPLHFCQUFxQjtJQVBsQztRQW9DUyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FxQjlDO0lBbkJRLGFBQWEsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxLQUFVO1FBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFdkIsOERBQThEO1FBQzlELDRDQUE0QztRQUM1QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7O21IQXBEVSxxQkFBcUI7dUdBQXJCLHFCQUFxQix1V0NyQmxDLHF5Q0ErQ0E7NEZEMUJhLHFCQUFxQjtrQkFQakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsNkJBQTZCO29CQUMxQyxTQUFTLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDMUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs4QkFHUSxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVRhYnNldFN0eWxlIH0gZnJvbSAnLi90YWJzZXQtc3R5bGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGFiLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFiQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIGFjdGl2ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUNvbnRyb2xzOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvbkhyZWY6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uSWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25UZXh0Q291bnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2xvc2VhYmxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGFiU3R5bGU6IFNreVRhYnNldFN0eWxlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbG9zZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBvbkJ1dHRvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmJ1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQnV0dG9uRW50ZXJLZXlEb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQnV0dG9uQ2xpY2soZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2VDbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUNsaWNrLmVtaXQoKTtcblxuICAgIC8vIFByZXZlbnQgdGhlIGNsaWNrIGV2ZW50IGZyb20gYnViYmxpbmcgdXAgdG8gdGhlIGFuY2hvciB0YWc7XG4gICAgLy8gb3RoZXJ3aXNlIGl0IHdpbGwgdHJpZ2dlciBhIHBhZ2UgcmVmcmVzaC5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LWJ0bi10YWItd3JhcHBlclwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWJ0bi10YWItd3JhcHBlci1zZWxlY3RlZCc6IGFjdGl2ZSxcbiAgICAnc2t5LWJ0bi10YWItd3JhcHBlci1kaXNhYmxlZCc6IGRpc2FibGVkXG4gIH1cIlxuPlxuICA8YVxuICAgIGNsYXNzPVwic2t5LWJ0bi10YWJcIlxuICAgIHJvbGU9XCJ0YWJcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImFjdGl2ZVwiXG4gICAgW2F0dHIuaHJlZl09XCJidXR0b25IcmVmXCJcbiAgICBbaWRdPVwiYnV0dG9uSWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktYnRuLXRhYi13aXphcmQnOiB0YWJTdHlsZSA9PT0gJ3dpemFyZCcsXG4gICAgICAnc2t5LWJ0bi10YWItc2VsZWN0ZWQnOiBhY3RpdmUsXG4gICAgICAnc2t5LWJ0bi10YWItZGlzYWJsZWQnOiBkaXNhYmxlZCxcbiAgICAgICdza3ktdGFiLWJ0bi1jbG9zZWFibGUnOiBjbG9zZWFibGVcbiAgICB9XCJcbiAgICBbdGFiaW5kZXhdPVwiZGlzYWJsZWQgPyAnLTEnIDogJzAnXCJcbiAgICAoY2xpY2spPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkJ1dHRvbkVudGVyS2V5RG93bigkZXZlbnQpXCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwic2t5LXRhYi1oZWFkaW5nXCI+XG4gICAgICB7eyBidXR0b25UZXh0IH19XG4gICAgICA8c3BhbiAqbmdJZj1cImJ1dHRvblRleHRDb3VudCAhPT0gdW5kZWZpbmVkXCIgY2xhc3M9XCJza3ktdGFiLWhlYWRlci1jb3VudFwiPlxuICAgICAgICB7eyBidXR0b25UZXh0Q291bnQgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gIDwvYT5cblxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJjbG9zZWFibGVcIlxuICAgIGNsYXNzPVwic2t5LWJ0bi10YWItY2xvc2VcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3RhYl9jbG9zZScgfCBza3lMaWJSZXNvdXJjZXM6IGJ1dHRvblRleHRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1idG4tdGFiLWNsb3NlLWRpc2FibGVkJzogZGlzYWJsZWRcbiAgICB9XCJcbiAgICAoY2xpY2spPVwib25DbG9zZUNsaWNrKCRldmVudClcIlxuICA+XG4gICAgPHNreS1pY29uIGljb249XCJyZW1vdmVcIj48L3NreS1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWluZGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFicy9zcmMvbW9kdWxlcy90YWJzL3RhYi1pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2t5VGFiSW5kZXggPSBzdHJpbmcgfCBudW1iZXI7XG4iXX0=
@@ -1,133 +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(); // eslint-disable-line @angular-eslint/no-output-native
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 && value !== this._active) {
32
- this._active = value;
33
- this._activeChange.next();
34
- }
35
- }
36
- get active() {
37
- return this._active || false;
38
- }
39
- get activeChange() {
40
- return this._activeChange.asObservable();
41
- }
42
- /**
43
- * Specifies a custom query parameter value for the tab.
44
- * This works in conjunction with the tabset's `permalinkId` to distinguish
45
- * the tab's unique state in the URL by generating a query parameter that is
46
- * written as `?<queryParam>-active-tab=<sanitized-tab-heading`.
47
- * By default, the query parameter's value is parsed automatically from the tab's heading text.
48
- */
49
- set permalinkValue(value) {
50
- this._permalinkValue = this.permalinkService.urlify(value);
51
- }
52
- get permalinkValue() {
53
- return (this._permalinkValue || this.permalinkService.urlify(this.tabHeading));
54
- }
55
- /**
56
- * Specifies a unique identifier for the tab.
57
- * If not defined, the identifier is set to the position of the tab on load, starting with `0`.
58
- */
59
- set tabIndex(value) {
60
- if (value !== this._tabIndex &&
61
- value !== undefined &&
62
- this._tabIndex !== undefined) {
63
- this.tabsetService.updateTabIndex(this._tabIndex, value);
64
- this._tabIndexChange.next(value);
65
- }
66
- this._tabIndex = value;
67
- }
68
- get tabIndex() {
69
- return this._tabIndex;
70
- }
71
- get closeable() {
72
- return this.close.observers.length > 0;
73
- }
74
- /**
75
- * Alerts the tabset component when this component has changes that need to be reflected in the UI.
76
- */
77
- get stateChange() {
78
- return this._stateChange.asObservable();
79
- }
80
- get tabIndexChange() {
81
- return this._tabIndexChange.asObservable();
82
- }
83
- ngOnChanges(changes) {
84
- if ((changes.disabled && !changes.disabled.firstChange) ||
85
- (changes.tabHeading && !changes.tabHeading.firstChange) ||
86
- (changes.tabHeaderCount && !changes.tabHeaderCount.firstChange) ||
87
- (changes.permalinkValue && !changes.permalinkValue.firstChange)) {
88
- this._stateChange.next();
89
- }
90
- }
91
- ngOnDestroy() {
92
- this._stateChange.complete();
93
- this.tabsetService.unregisterTab(this.tabIndex);
94
- }
95
- init() {
96
- this._tabIndex = this.tabsetService.registerTab(this.tabIndex);
97
- }
98
- activate() {
99
- this._active = true;
100
- this.showContent = true;
101
- this.changeDetector.markForCheck();
102
- }
103
- deactivate() {
104
- this._active = false;
105
- this.showContent = false;
106
- this.changeDetector.markForCheck();
107
- }
108
- }
109
- SkyTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyTabsetPermalinkService }, { token: i2.SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component });
110
- SkyTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", 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 });
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabComponent, decorators: [{
112
- type: Component,
113
- args: [{
114
- selector: 'sky-tab',
115
- templateUrl: './tab.component.html',
116
- changeDetection: ChangeDetectionStrategy.OnPush,
117
- }]
118
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyTabsetPermalinkService }, { type: i2.SkyTabsetService }]; }, propDecorators: { active: [{
119
- type: Input
120
- }], disabled: [{
121
- type: Input
122
- }], permalinkValue: [{
123
- type: Input
124
- }], tabHeaderCount: [{
125
- type: Input
126
- }], tabHeading: [{
127
- type: Input
128
- }], tabIndex: [{
129
- type: Input
130
- }], close: [{
131
- type: Output
132
- }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvdGFicy90YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFicy9zcmMvbW9kdWxlcy90YWJzL3RhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7O0FBUW5ELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQU9mLE1BQU0sT0FBTyxlQUFlO0lBOEgxQixZQUNVLGNBQWlDLEVBQ2pDLGdCQUEyQyxFQUMzQyxhQUErQjtRQUYvQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEyQjtRQUMzQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUEzQ3pDOzs7V0FHRztRQUVJLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDLENBQUMsdURBQXVEO1FBaUJ6RixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQVE1QixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBSXJELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQU8sU0FBUyxDQUFDLENBQUM7UUFJcEQsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBYyxTQUFTLENBQUMsQ0FBQztRQU9wRSxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLFVBQVUsQ0FBQztJ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LEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7OzZHQXRLVSxlQUFlO2lHQUFmLGVBQWUseVFDM0I1Qix3TEFTQTs0RkRrQmEsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsV0FBVyxFQUFFLHNCQUFzQjtvQkFDbkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOytLQVFZLE1BQU07c0JBRGhCLEtBQUs7Z0JBcUJDLFFBQVE7c0JBRGQsS0FBSztnQkFXSyxjQUFjO3NCQUR4QixLQUFLO2dCQWVDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBWUMsVUFBVTtzQkFEaEIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQXVCQyxLQUFLO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lUYWJJbmRleCB9IGZyb20gJy4vdGFiLWluZGV4JztcblxuaW1wb3J0IHsgU2t5VGFic2V0UGVybWFsaW5rU2VydmljZSB9IGZyb20gJy4vdGFic2V0LXBlcm1hbGluay5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU2t5VGFic2V0U2VydmljZSB9IGZyb20gJy4vdGFic2V0LnNlcnZpY2UnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRhYicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRhYiBpcyBhY3RpdmUgd2hlbiB0aGUgdGFic2V0IGxvYWRzLiBBZnRlciBpbml0aWFsaXphdGlvbiwgdGhlIGBhY3RpdmVgXG4gICAqIHByb3BlcnR5IG9uIHRoZSB0YWJzZXQgY29tcG9uZW50IHNob3VsZCBiZSB1c2VkIHRvIHNldCB0aGUgYWN0aXZlIHRhYi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IHRoaXMuX2FjdGl2ZSkge1xuICAgICAgdGhpcy5fYWN0aXZlID0gdmFsdWU7XG4gICAgICB0aGlzLl9hY3RpdmVDaGFuZ2UubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmUgfHwgZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc2FibGUgdGhlIHRhYi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgY3VzdG9tIHF1ZXJ5IHBhcmFtZXRlciB2YWx1ZSBmb3IgdGhlIHRhYi5cbiAgICogVGhpcyB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSB0YWJzZXQncyBgcGVybWFsaW5rSWRgIHRvIGRpc3Rpbmd1aXNoXG4gICAqIHRoZSB0YWIncyB1bmlxdWUgc3RhdGUgaW4gdGhlIFVSTCBieSBnZW5lcmF0aW5nIGEgcXVlcnkgcGFyYW1ldGVyIHRoYXQgaXNcbiAgICogd3JpdHRlbiBhcyBgPzxxdWVyeVBhcmFtPi1hY3RpdmUtdGFiPTxzYW5pdGl6ZWQtdGFiLWhlYWRpbmdgLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgcXVlcnkgcGFyYW1ldGVyJ3MgdmFsdWUgaXMgcGFyc2VkIGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgdGFiJ3MgaGVhZGluZyB0ZXh0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwZXJtYWxpbmtWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGVybWFsaW5rVmFsdWUgPSB0aGlzLnBlcm1hbGlua1NlcnZpY2UudXJsaWZ5KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVybWFsaW5rVmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fcGVybWFsaW5rVmFsdWUgfHwgdGhpcy5wZXJtYWxpbmtTZXJ2aWNlLnVybGlmeSh0aGlzLnRhYkhlYWRpbmcpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBhIGNvdW50ZXIgYmVzaWRlIHRoZSB0YWIgaGVhZGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYkhlYWRlckNvdW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdGFiIGhlYWRlci5cbiAgICogV2hlbiB1c2luZyB0YWJzIGFzIHRoZSBtYWluIG5hdmlnYXRpb24gb24gYSBwYWdlLFxuICAgKiB1c2UgW3RoZSBBbmd1bGFyIGBUaXRsZWAgc2VydmljZV0oaHR0cHM6Ly9hbmd1bGFyLmlvL2RvY3MvdHMvbGF0ZXN0L2Nvb2tib29rL3NldC1kb2N1bWVudC10aXRsZS5odG1sKVxuICAgKiBhbmQgW3RoZSBTS1kgVVggYHRpdGxlYCBjb25maWd1cmF0aW9uIHByb3BlcnR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL3JlZmVyZW5jZS9jb25maWd1cmF0aW9uI2FwcClcbiAgICogdG8gcmVmbGVjdCB0aGUgdGFiIGhlYWRlciBpbiB0aGUgcGFnZSB0aXRsZS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGFiSGVhZGluZzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHRhYi5cbiAgICogSWYgbm90IGRlZmluZWQsIHRoZSBpZGVudGlmaWVyIGlzIHNldCB0byB0aGUgcG9zaXRpb24gb2YgdGhlIHRhYiBvbiBsb2FkLCBzdGFydGluZyB3aXRoIGAwYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGFiSW5kZXgodmFsdWU6IFNreVRhYkluZGV4KSB7XG4gICAgaWYgKFxuICAgICAgdmFsdWUgIT09IHRoaXMuX3RhYkluZGV4ICYmXG4gICAgICB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLl90YWJJbmRleCAhPT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICB0aGlzLnRhYnNldFNlcnZpY2UudXBkYXRlVGFiSW5kZXgodGhpcy5fdGFiSW5kZXgsIHZhbHVlKTtcbiAgICAgIHRoaXMuX3RhYkluZGV4Q2hhbmdlLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuX3RhYkluZGV4ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRhYkluZGV4KCk6IFNreVRhYkluZGV4IHtcbiAgICByZXR1cm4gdGhpcy5fdGFiSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBjbGljayB0aGUgYnV0dG9uIHRvIGNsb3NlIHRoZSB0YWIuXG4gICAqIFRoZSBjbG9zZSBidXR0b24gaXMgYWRkZWQgdG8gdGhlIHRhYiB3aGVuIHlvdSBzcGVjaWZ5IGEgbGlzdGVuZXIgZm9yIHRoaXMgZXZlbnQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG5cbiAgcHVibGljIGdldCBjbG9zZWFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2xvc2Uub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gIH1cblxuICAvKipcbiAgICogQWxlcnRzIHRoZSB0YWJzZXQgY29tcG9uZW50IHdoZW4gdGhpcyBjb21wb25lbnQgaGFzIGNoYW5nZXMgdGhhdCBuZWVkIHRvIGJlIHJlZmxlY3RlZCBpbiB0aGUgVUkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZUNoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFiSW5kZXhDaGFuZ2UoKTogT2JzZXJ2YWJsZTxTa3lUYWJJbmRleD4ge1xuICAgIHJldHVybiB0aGlzLl90YWJJbmRleENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93Q29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyB0YWJCdXR0b25JZDogc3RyaW5nO1xuXG4gIHB1YmxpYyB0YWJQYW5lbElkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2FjdGl2ZUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIF9wZXJtYWxpbmtWYWx1ZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3N0YXRlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX3RhYkluZGV4OiBTa3lUYWJJbmRleDtcblxuICBwcml2YXRlIF90YWJJbmRleENoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2t5VGFiSW5kZXg+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBwZXJtYWxpbmtTZXJ2aWNlOiBTa3lUYWJzZXRQZXJtYWxpbmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGFic2V0U2VydmljZTogU2t5VGFic2V0U2VydmljZVxuICApIHtcbiAgICBjb25zdCBpZCA9IG5leHRJZCsrO1xuICAgIHRoaXMudGFiUGFuZWxJZCA9IGBza3ktdGFiLSR7aWR9YDtcbiAgICB0aGlzLnRhYkJ1dHRvbklkID0gYCR7dGhpcy50YWJQYW5lbElkfS1uYXYtYnRuYDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKGNoYW5nZXMuZGlzYWJsZWQgJiYgIWNoYW5nZXMuZGlzYWJsZWQuZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAoY2hhbmdlcy50YWJIZWFkaW5nICYmICFjaGFuZ2VzLnRhYkhlYWRpbmcuZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAoY2hhbmdlcy50YWJIZWFkZXJDb3VudCAmJiAhY2hhbmdlcy50YWJIZWFkZXJDb3VudC5maXJzdENoYW5nZSkgfHxcbiAgICAgIChjaGFuZ2VzLnBlcm1hbGlua1ZhbHVlICYmICFjaGFuZ2VzLnBlcm1hbGlua1ZhbHVlLmZpcnN0Q2hhbmdlKVxuICAgICkge1xuICAgICAgdGhpcy5fc3RhdGVDaGFuZ2UubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMudGFic2V0U2VydmljZS51bnJlZ2lzdGVyVGFiKHRoaXMudGFiSW5kZXgpO1xuICB9XG5cbiAgcHVibGljIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdGFiSW5kZXggPSB0aGlzLnRhYnNldFNlcnZpY2UucmVnaXN0ZXJUYWIodGhpcy50YWJJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aXZlID0gdHJ1ZTtcbiAgICB0aGlzLnNob3dDb250ZW50ID0gdHJ1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aXZlID0gZmFsc2U7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IGZhbHNlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdGFiXCJcbiAgcm9sZT1cInRhYnBhbmVsXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYkJ1dHRvbklkXCJcbiAgW2hpZGRlbl09XCIhc2hvd0NvbnRlbnRcIlxuICBbaWRdPVwidGFiUGFuZWxJZFwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -1,57 +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.15", ngImport: i0, type: SkyTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
- SkyTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsModule, declarations: [SkyTabButtonComponent,
18
- SkyTabComponent,
19
- SkyTabsetComponent,
20
- SkyTabsetNavButtonComponent], imports: [CommonModule,
21
- RouterModule,
22
- SkyDropdownModule,
23
- SkyI18nModule,
24
- SkyIconModule,
25
- SkyTabsResourcesModule,
26
- SkyThemeModule], exports: [SkyTabComponent, SkyTabsetComponent, SkyTabsetNavButtonComponent] });
27
- SkyTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsModule, imports: [[
28
- CommonModule,
29
- RouterModule,
30
- SkyDropdownModule,
31
- SkyI18nModule,
32
- SkyIconModule,
33
- SkyTabsResourcesModule,
34
- SkyThemeModule,
35
- ]] });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsModule, decorators: [{
37
- type: NgModule,
38
- args: [{
39
- declarations: [
40
- SkyTabButtonComponent,
41
- SkyTabComponent,
42
- SkyTabsetComponent,
43
- SkyTabsetNavButtonComponent,
44
- ],
45
- imports: [
46
- CommonModule,
47
- RouterModule,
48
- SkyDropdownModule,
49
- SkyI18nModule,
50
- SkyIconModule,
51
- SkyTabsResourcesModule,
52
- SkyThemeModule,
53
- ],
54
- exports: [SkyTabComponent, SkyTabsetComponent, SkyTabsetNavButtonComponent],
55
- }]
56
- }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWJzL3NyYy9tb2R1bGVzL3RhYnMvdGFicy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQW9CeEQsTUFBTSxPQUFPLGFBQWE7OzJHQUFiLGFBQWE7NEdBQWIsYUFBYSxpQkFoQnRCLHFCQUFxQjtRQUNyQixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLDJCQUEyQixhQUczQixZQUFZO1FBQ1osWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsYUFBYTtRQUNiLHNCQUFzQjtRQUN0QixjQUFjLGFBRU4sZUFBZSxFQUFFLGtCQUFrQixFQUFFLDJCQUEyQjs0R0FFL0QsYUFBYSxZQVhmO1lBQ1AsWUFBWTtZQUNaLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGFBQWE7WUFDYixzQkFBc0I7WUFDdEIsY0FBYztTQUNmOzRGQUdVLGFBQWE7a0JBbEJ6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2Isc0JBQXNCO3dCQUN0QixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSwyQkFBMkIsQ0FBQztpQkFDNUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBTa3lJMThuTW9kdWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9wb3BvdmVycyc7XG5cbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5VGFic1Jlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktdGFicy1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5VGFiQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi90YWItYnV0dG9uLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreVRhYkNvbXBvbmVudCB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreVRhYnNldE5hdkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50JztcblxuaW1wb3J0IHsgU2t5VGFic2V0Q29tcG9uZW50IH0gZnJvbSAnLi90YWJzZXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2t5VGFiQnV0dG9uQ29tcG9uZW50LFxuICAgIFNreVRhYkNvbXBvbmVudCxcbiAgICBTa3lUYWJzZXRDb21wb25lbnQsXG4gICAgU2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBTa3lEcm9wZG93bk1vZHVsZSxcbiAgICBTa3lJMThuTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5VGFic1Jlc291cmNlc01vZHVsZSxcbiAgICBTa3lUaGVtZU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1NreVRhYkNvbXBvbmVudCwgU2t5VGFic2V0Q29tcG9uZW50LCBTa3lUYWJzZXROYXZCdXR0b25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUYWJzTW9kdWxlIHt9XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWFjdGl2ZS10YWItdW5yZWdpc3RlcmVkLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWJzL3NyYy9tb2R1bGVzL3RhYnMvdGFic2V0LWFjdGl2ZS10YWItdW5yZWdpc3RlcmVkLWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIGFyZ3VtZW50cyBmb3IgdGhlIHRhYnNldCBzZXJ2aWNlJ3MgYGFjdGl2ZVRhYlVucmVnaXN0ZXJlZGAgZXZlbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lUYWJzZXRBY3RpdmVUYWJVbnJlZ2lzdGVyZWRBcmdzIHtcbiAgLyoqXG4gICAqIFRoZSBhcnJheSBpbmRleCBvZiB0aGUgYWN0aXZlIHRhYiwgd2hlbiBpdCBoYXMgYmVlbiB1bnJlZ2lzdGVyZWQuXG4gICAqL1xuICBhcnJheUluZGV4OiBudW1iZXI7XG59XG4iXX0=
@@ -1,56 +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
46
- .querySelector('.sky-tabset-dropdown')
47
- .getBoundingClientRect();
48
- return firstTabRect.left - tabsetRect.left;
49
- }
50
- }
51
- SkyTabsetAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsetAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
52
- SkyTabsetAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsetAdapterService });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTabsetAdapterService, decorators: [{
54
- type: Injectable
55
- }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvdGFicy90YWJzZXQtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFFbkQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBWVUsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztLQWdEL0Q7SUExREMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBVU0sY0FBYyxDQUFDLFNBQXFCO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ25CLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO1FBRW5ELE1BQU0sVUFBVSxHQUFHLGFBQWE7YUFDN0IsYUFBYSxDQUFDLGFBQWEsQ0FBQzthQUM1QixxQkFBcUIsRUFBRSxDQUFDO1FBRTNCLE1BQU0sY0FBYyxHQUFHLGFBQWE7YUFDakMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO2FBQ2pDLHFCQUFxQixFQUFFLENBQUM7UUFFM0IsTUFBTSxtQkFBbUIsR0FBRyxhQUFhO2FBQ3RDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQzthQUNqQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTNCLE1BQU0sZUFBZSxHQUNuQixjQUFjLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXpFLE1BQU0sV0FBVyxHQUFHLGVBQWUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxXQUFXLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7WUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssaUJBQWlCLENBQUMsUUFBcUI7UUFDN0MsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFcEQsMEZBQTBGO1FBQzFGLE1BQU0sWUFBWSxHQUFHLFFBQVE7YUFDMUIsYUFBYSxDQUFDLHNCQUFzQixDQUFDO2FBQ3JDLHFCQUFxQixFQUFFLENBQUM7UUFFM0IsT0FBTyxZQUFZLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDN0MsQ0FBQzs7cUhBMURVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGFic2V0QWRhcHRlclNlcnZpY2Uge1xuICBwdWJsaWMgZ2V0IG92ZXJmbG93Q2hhbmdlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9vdmVyZmxvd0NoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudE92ZXJmbG93OiBib29sZWFuO1xuXG4gIHByaXZhdGUgdGFic2V0UmVmOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgdGFic09mZnNldExlZnQ6IG51bWJlcjtcblxuICBwcml2YXRlIF9vdmVyZmxvd0NoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHB1YmxpYyByZWdpc3RlclRhYnNldCh0YWJzZXRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICB0aGlzLnRhYnNldFJlZiA9IHRhYnNldFJlZjtcbiAgICB0aGlzLnRhYnNPZmZzZXRMZWZ0ID0gdGhpcy5nZXRUYWJzT2Zmc2V0TGVmdCh0YWJzZXRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZWN0cyBpZiB0aGUgdGFiIGJ1dHRvbnMgYXJlIHdpZGVyIHRoYW4gdGhlIHRhYnNldCBjb250YWluZXIuXG4gICAqL1xuICBwdWJsaWMgZGV0ZWN0T3ZlcmZsb3coKTogdm9pZCB7XG4gICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMudGFic2V0UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdCB0YWJzZXRSZWN0ID0gbmF0aXZlRWxlbWVudFxuICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5za3ktdGFic2V0JylcbiAgICAgIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHRhYkJ1dHRvbnNSZWN0ID0gbmF0aXZlRWxlbWVudFxuICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5za3ktdGFic2V0LXRhYnMnKVxuICAgICAgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3QgdGFiRXh0cmFCdXR0b25zUmVjdCA9IG5hdGl2ZUVsZW1lbnRcbiAgICAgIC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYnNldC1idG5zJylcbiAgICAgIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHRhYkJ1dHRvbnNXaWR0aCA9XG4gICAgICB0YWJCdXR0b25zUmVjdC53aWR0aCArIHRhYkV4dHJhQnV0dG9uc1JlY3Qud2lkdGggKyB0aGlzLnRhYnNPZmZzZXRMZWZ0O1xuXG4gICAgY29uc3QgbmV3T3ZlcmZsb3cgPSB0YWJCdXR0b25zV2lkdGggPiB0YWJzZXRSZWN0LndpZHRoO1xuICAgIGlmICh0aGlzLmN1cnJlbnRPdmVyZmxvdyAhPT0gbmV3T3ZlcmZsb3cpIHtcbiAgICAgIHRoaXMuY3VycmVudE92ZXJmbG93ID0gbmV3T3ZlcmZsb3c7XG4gICAgICB0aGlzLl9vdmVyZmxvd0NoYW5nZS5uZXh0KHRoaXMuY3VycmVudE92ZXJmbG93KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHBpeGVscyB0byB0aGUgbGVmdCBvZiB0aGUgZmlyc3QgdGFiLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRUYWJzT2Zmc2V0TGVmdCh0YWJzZXRFbDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgIGNvbnN0IHRhYnNldFJlY3QgPSB0YWJzZXRFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIC8vIFRoZSBkcm9wZG93biBlbGVtZW50IGlzIHRoZSBmaXJzdCBcInRhYlwiIGFuZCBhbHdheXMgZXhpc3RzIGluIHRoZSBET00sIGV2ZW4gd2hlbiBoaWRkZW4uXG4gICAgY29uc3QgZmlyc3RUYWJSZWN0ID0gdGFic2V0RWxcbiAgICAgIC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYnNldC1kcm9wZG93bicpXG4gICAgICAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICByZXR1cm4gZmlyc3RUYWJSZWN0LmxlZnQgLSB0YWJzZXRSZWN0LmxlZnQ7XG4gIH1cbn1cbiJdfQ==
@@ -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.15", 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.15", 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.15", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFicy9zcmMvbW9kdWxlcy90YWJzL3RhYnNldC1uYXYtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYnMvc3JjL21vZHVsZXMvdGFicy90YWJzZXQtbmF2LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTXRDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztBQUU5QixNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQztBQUV0Qzs7R0FFRztBQUtILE1BQU0sT0FBTywyQkFBMkI7SUFvRnRDLFlBQ1UsZUFBdUMsRUFDdkMsY0FBaUM7UUFEakMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtJQUN4QyxDQUFDO0lBaEZKLElBQ1csVUFBVSxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3pCO1FBRUQsUUFBUSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZCLEtBQUssa0JBQWtCO2dCQUNyQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUNqQyxLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUM3QiwwQkFBMEI7WUFDMUI7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QUFHLFdBQVcsQ0FBQyxRQUFRLENBQUM7U0FDM0M7SUFDSCxDQUFDOzt5SEF6SFUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsK0lDNUJ4Qyw2SkFRQTs0RkRvQmEsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxvQ0FBb0M7aUJBQ2xEOzZJQUdRLE1BQU07c0JBRFosS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlLLFVBQVU7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRhYnNldENvbXBvbmVudCB9IGZyb20gJy4vdGFic2V0LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreVRhYkNvbXBvbmVudCB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XG5cbmNvbnN0IGJ1dHRvblR5cGVOZXh0ID0gJ25leHQnO1xuXG5jb25zdCBidXR0b25UeXBlUHJldmlvdXMgPSAncHJldmlvdXMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGFic2V0LW5hdi1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUYWJzZXROYXZCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KClcbiAgcHVibGljIHRhYnNldDogU2t5VGFic2V0Q29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25UeXBlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBidXR0b25UZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9idXR0b25UZXh0ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJ1dHRvblRleHQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fYnV0dG9uVGV4dCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2J1dHRvblRleHQ7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0aGlzLmJ1dHRvblR5cGUpIHtcbiAgICAgIGNhc2UgYnV0dG9uVHlwZVByZXZpb3VzOlxuICAgICAgICByZXR1cm4gdGhpcy5wcmV2aW91c0J1dHRvblRleHQ7XG4gICAgICBjYXNlIGJ1dHRvblR5cGVOZXh0OlxuICAgICAgICByZXR1cm4gdGhpcy5uZXh0QnV0dG9uVGV4dDtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBsZXQgdGFiVG9TZWxlY3Q6IFNreVRhYkNvbXBvbmVudDtcblxuICAgIHN3aXRjaCAodGhpcy5idXR0b25UeXBlKSB7XG4gICAgICBjYXNlIGJ1dHRvblR5cGVQcmV2aW91czpcbiAgICAgICAgdGFiVG9TZWxlY3QgPSB0aGlzLnByZXZpb3VzVGFiO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgYnV0dG9uVHlwZU5leHQ6XG4gICAgICAgIHRhYlRvU2VsZWN0ID0gdGhpcy5uZXh0VGFiO1xuICAgICAgICBicmVhaztcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gIXRhYlRvU2VsZWN0IHx8IHRhYlRvU2VsZWN0LmRpc2FibGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgc2VsZWN0ZWRUYWIoKTogU2t5VGFiQ29tcG9uZW50IHtcbiAgICBsZXQgc2VsZWN0ZWRUYWI6IFNreVRhYkNvbXBvbmVudDtcblxuICAgIGlmICh0aGlzLnRhYnNldCAmJiB0aGlzLnRhYnNldC50YWJzKSB7XG4gICAgICBzZWxlY3RlZFRhYiA9IHRoaXMudGFic2V0LnRhYnMuZmluZChcbiAgICAgICAgKHRhYikgPT4gdGFiLnRhYkluZGV4ID09PSB0aGlzLnRhYnNldC5sYXN0QWN0aXZlVGFiSW5kZXhcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGVkVGFiO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbmV4dFRhYigpOiBTa3lUYWJDb21wb25lbnQge1xuICAgIGxldCBzZWxlY3RlZFRhYiA9IHRoaXMuc2VsZWN0ZWRUYWI7XG5cbiAgICBpZiAoc2VsZWN0ZWRUYWIpIHtcbiAgICAgIGxldCB0YWJzID0gdGhpcy50YWJzZXQudGFicy50b0FycmF5KCk7XG4gICAgICByZXR1cm4gdGFic1t0YWJzLmluZGV4T2Yoc2VsZWN0ZWRUYWIpICsgMV07XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHByZXZpb3VzVGFiKCk6IFNreVRhYkNvbXBvbmVudCB7XG4gICAgbGV0IHNlbGVjdGVkVGFiID0gdGhpcy5zZWxlY3RlZFRhYjtcblxuICAgIGlmIChzZWxlY3RlZFRhYikge1xuICAgICAgbGV0IHRhYnMgPSB0aGlzLnRhYnNldC50YWJzLnRvQXJyYXkoKTtcbiAgICAgIHJldHVybiB0YWJzW3RhYnMuaW5kZXhPZihzZWxlY3RlZFRhYikgLSAxXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnV0dG9uVGV4dDogc3RyaW5nO1xuICBwcml2YXRlIHByZXZpb3VzQnV0dG9uVGV4dDogc3RyaW5nO1xuICBwcml2YXRlIG5leHRCdXR0b25UZXh0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXNvdXJjZVNlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgZm9ya0pvaW4oW1xuICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF90YWJzX25hdmlnYXRvcl9wcmV2aW91cycpLFxuICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF90YWJzX25hdmlnYXRvcl9uZXh0JyksXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZXMpID0+IHtcbiAgICAgICAgdGhpcy5wcmV2aW91c0J1dHRvblRleHQgPSByZXNvdXJjZXNbMF07XG4gICAgICAgIHRoaXMubmV4dEJ1dHRvblRleHQgPSByZXNvdXJjZXNbMV07XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYnV0dG9uQ2xpY2soKSB7XG4gICAgbGV0IHRhYlRvU2VsZWN0OiBTa3lUYWJDb21wb25lbnQ7XG5cbiAgICBzd2l0Y2ggKHRoaXMuYnV0dG9uVHlwZSkge1xuICAgICAgY2FzZSBidXR0b25UeXBlUHJldmlvdXM6XG4gICAgICAgIHRhYlRvU2VsZWN0ID0gdGhpcy5wcmV2aW91c1RhYjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIGJ1dHRvblR5cGVOZXh0OlxuICAgICAgICB0YWJUb1NlbGVjdCA9IHRoaXMubmV4dFRhYjtcbiAgICAgICAgYnJlYWs7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGFiVG9TZWxlY3QgJiYgIXRhYlRvU2VsZWN0LmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnRhYnNldC5hY3RpdmUgPSB0YWJUb1NlbGVjdC50YWJJbmRleDtcbiAgICB9XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdFwiXG4gIHR5cGU9XCJidXR0b25cIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAoY2xpY2spPVwiYnV0dG9uQ2xpY2soKVwiXG4+XG4gIHt7IGJ1dHRvblRleHQgfX1cbjwvYnV0dG9uPlxuIl19