@skyux/tabs 11.30.1 → 12.0.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.
- package/documentation.json +778 -770
- package/fesm2022/skyux-tabs.mjs +83 -82
- package/fesm2022/skyux-tabs.mjs.map +1 -1
- package/package.json +16 -20
- package/esm2022/index.mjs +0 -20
- package/esm2022/lib/modules/sectioned-form/sectioned-form-section.component.mjs +0 -65
- package/esm2022/lib/modules/sectioned-form/sectioned-form.component.mjs +0 -187
- package/esm2022/lib/modules/sectioned-form/sectioned-form.module.mjs +0 -33
- package/esm2022/lib/modules/sectioned-form/sectioned-form.service.mjs +0 -35
- package/esm2022/lib/modules/sectioned-form/types/sectioned-form-message-type.mjs +0 -5
- package/esm2022/lib/modules/sectioned-form/types/sectioned-form-message.mjs +0 -2
- package/esm2022/lib/modules/shared/sky-tabs-resources.module.mjs +0 -44
- package/esm2022/lib/modules/shared/tab-id.service.mjs +0 -50
- package/esm2022/lib/modules/tabs/tab-button-adapter.service.mjs +0 -16
- package/esm2022/lib/modules/tabs/tab-button-view-model.mjs +0 -2
- package/esm2022/lib/modules/tabs/tab-button.component.mjs +0 -163
- package/esm2022/lib/modules/tabs/tab-index.mjs +0 -2
- package/esm2022/lib/modules/tabs/tab-layout-type.mjs +0 -2
- package/esm2022/lib/modules/tabs/tab.component.mjs +0 -199
- package/esm2022/lib/modules/tabs/tabs.module.mjs +0 -56
- package/esm2022/lib/modules/tabs/tabset-active-tab-change-args.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset-active-tab-unregistered-args.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset-adapter.service.mjs +0 -68
- package/esm2022/lib/modules/tabs/tabset-buttons-display-mode.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset-nav-button-disabled.pipe.mjs +0 -22
- package/esm2022/lib/modules/tabs/tabset-nav-button-type.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset-nav-button.component.mjs +0 -149
- package/esm2022/lib/modules/tabs/tabset-permalink.service.mjs +0 -132
- package/esm2022/lib/modules/tabs/tabset-style.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset-tab-indexes-change.mjs +0 -2
- package/esm2022/lib/modules/tabs/tabset.component.mjs +0 -479
- package/esm2022/lib/modules/tabs/tabset.service.mjs +0 -193
- package/esm2022/lib/modules/vertical-tabset/vertical-tab.component.mjs +0 -183
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +0 -67
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group-message.mjs +0 -2
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +0 -152
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group.service.mjs +0 -17
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.component.mjs +0 -173
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.module.mjs +0 -61
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.service.mjs +0 -200
- package/esm2022/skyux-tabs.mjs +0 -5
- package/esm2022/testing/legacy/tabs/tab-fixture-tab.mjs +0 -2
- package/esm2022/testing/legacy/tabs/tabset-fixture.mjs +0 -129
- package/esm2022/testing/public-api.mjs +0 -2
- package/esm2022/testing/skyux-tabs-testing.mjs +0 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/tabs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0-alpha.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -21,14 +21,10 @@
|
|
|
21
21
|
},
|
|
22
22
|
".": {
|
|
23
23
|
"types": "./index.d.ts",
|
|
24
|
-
"esm2022": "./esm2022/skyux-tabs.mjs",
|
|
25
|
-
"esm": "./esm2022/skyux-tabs.mjs",
|
|
26
24
|
"default": "./fesm2022/skyux-tabs.mjs"
|
|
27
25
|
},
|
|
28
26
|
"./testing": {
|
|
29
27
|
"types": "./testing/index.d.ts",
|
|
30
|
-
"esm2022": "./esm2022/testing/skyux-tabs-testing.mjs",
|
|
31
|
-
"esm": "./esm2022/testing/skyux-tabs-testing.mjs",
|
|
32
28
|
"default": "./fesm2022/skyux-tabs-testing.mjs"
|
|
33
29
|
},
|
|
34
30
|
"./documentation.json": {
|
|
@@ -36,23 +32,23 @@
|
|
|
36
32
|
}
|
|
37
33
|
},
|
|
38
34
|
"peerDependencies": {
|
|
39
|
-
"@angular/animations": "^
|
|
40
|
-
"@angular/common": "^
|
|
41
|
-
"@angular/core": "^
|
|
42
|
-
"@angular/platform-browser": "^
|
|
43
|
-
"@angular/router": "^
|
|
44
|
-
"@skyux-sdk/testing": "
|
|
45
|
-
"@skyux/animations": "
|
|
46
|
-
"@skyux/core": "
|
|
47
|
-
"@skyux/forms": "
|
|
48
|
-
"@skyux/i18n": "
|
|
49
|
-
"@skyux/icon": "
|
|
50
|
-
"@skyux/indicators": "
|
|
51
|
-
"@skyux/popovers": "
|
|
52
|
-
"@skyux/theme": "
|
|
35
|
+
"@angular/animations": "^19.0.5",
|
|
36
|
+
"@angular/common": "^19.0.5",
|
|
37
|
+
"@angular/core": "^19.0.5",
|
|
38
|
+
"@angular/platform-browser": "^19.0.5",
|
|
39
|
+
"@angular/router": "^19.0.5",
|
|
40
|
+
"@skyux-sdk/testing": "12.0.0-alpha.0",
|
|
41
|
+
"@skyux/animations": "12.0.0-alpha.0",
|
|
42
|
+
"@skyux/core": "12.0.0-alpha.0",
|
|
43
|
+
"@skyux/forms": "12.0.0-alpha.0",
|
|
44
|
+
"@skyux/i18n": "12.0.0-alpha.0",
|
|
45
|
+
"@skyux/icon": "12.0.0-alpha.0",
|
|
46
|
+
"@skyux/indicators": "12.0.0-alpha.0",
|
|
47
|
+
"@skyux/popovers": "12.0.0-alpha.0",
|
|
48
|
+
"@skyux/theme": "12.0.0-alpha.0"
|
|
53
49
|
},
|
|
54
50
|
"dependencies": {
|
|
55
|
-
"tslib": "^2.
|
|
51
|
+
"tslib": "^2.8.1"
|
|
56
52
|
},
|
|
57
53
|
"module": "fesm2022/skyux-tabs.mjs",
|
|
58
54
|
"typings": "index.d.ts",
|
package/esm2022/index.mjs
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export { SkySectionedFormModule } from './lib/modules/sectioned-form/sectioned-form.module';
|
|
2
|
-
export { SkySectionedFormService } from './lib/modules/sectioned-form/sectioned-form.service';
|
|
3
|
-
export { SkyTabsModule } from './lib/modules/tabs/tabs.module';
|
|
4
|
-
export { SkyVerticalTabsetModule } from './lib/modules/vertical-tabset/vertical-tabset.module';
|
|
5
|
-
// The following export is needed because our docs use it as a prescribed pattern.
|
|
6
|
-
// Ideally, this functionality would live in a standard `Input` or `Output`.
|
|
7
|
-
// https://developer.blackbaud.com/skyux/components/sectioned-form#code
|
|
8
|
-
// TODO: Try to remove in a major release.
|
|
9
|
-
export { SkySectionedFormComponent } from './lib/modules/sectioned-form/sectioned-form.component';
|
|
10
|
-
export { SkySectionedFormMessageType } from './lib/modules/sectioned-form/types/sectioned-form-message-type';
|
|
11
|
-
// Components and directives must be exported to support Angular's "partial" Ivy compiler.
|
|
12
|
-
// Obscure names are used to indicate types are not part of public API.
|
|
13
|
-
export { SkySectionedFormSectionComponent as λ5 } from './lib/modules/sectioned-form/sectioned-form-section.component';
|
|
14
|
-
export { SkyTabComponent as λ1 } from './lib/modules/tabs/tab.component';
|
|
15
|
-
export { SkyTabsetNavButtonComponent as λ3 } from './lib/modules/tabs/tabset-nav-button.component';
|
|
16
|
-
export { SkyTabsetComponent as λ2 } from './lib/modules/tabs/tabset.component';
|
|
17
|
-
export { SkyVerticalTabComponent as λ4 } from './lib/modules/vertical-tabset/vertical-tab.component';
|
|
18
|
-
export { SkyVerticalTabsetGroupComponent as λ7 } from './lib/modules/vertical-tabset/vertical-tabset-group.component';
|
|
19
|
-
export { SkyVerticalTabsetComponent as λ6 } from './lib/modules/vertical-tabset/vertical-tabset.component';
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFJOUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRS9GLGtGQUFrRjtBQUNsRiw0RUFBNEU7QUFDNUUsdUVBQXVFO0FBQ3ZFLDBDQUEwQztBQUMxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUdsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUU3RywwRkFBMEY7QUFDMUYsdUVBQXVFO0FBQ3ZFLE9BQU8sRUFBRSxnQ0FBZ0MsSUFBSSxFQUFFLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN2SCxPQUFPLEVBQUUsZUFBZSxJQUFJLEVBQUUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSwyQkFBMkIsSUFBSSxFQUFFLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsa0JBQWtCLElBQUksRUFBRSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixJQUFJLEVBQUUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSwrQkFBK0IsSUFBSSxFQUFFLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN0SCxPQUFPLEVBQUUsMEJBQTBCLElBQUksRUFBRSxFQUFFLE1BQU0seURBQXlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lTZWN0aW9uZWRGb3JtTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWN0aW9uZWQtZm9ybS9zZWN0aW9uZWQtZm9ybS5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5U2VjdGlvbmVkRm9ybVNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3NlY3Rpb25lZC1mb3JtL3NlY3Rpb25lZC1mb3JtLnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lUYWJJbmRleCB9IGZyb20gJy4vbGliL21vZHVsZXMvdGFicy90YWItaW5kZXgnO1xuZXhwb3J0IHsgU2t5VGFiTGF5b3V0VHlwZSB9IGZyb20gJy4vbGliL21vZHVsZXMvdGFicy90YWItbGF5b3V0LXR5cGUnO1xuZXhwb3J0IHsgU2t5VGFic01vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvdGFicy90YWJzLm1vZHVsZSc7XG5leHBvcnQgeyBTa3lUYWJzZXRCdXR0b25zRGlzcGxheU1vZGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LWJ1dHRvbnMtZGlzcGxheS1tb2RlJztcbmV4cG9ydCB7IFNreVRhYnNldFN0eWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy90YWJzL3RhYnNldC1zdHlsZSc7XG5leHBvcnQgeyBTa3lUYWJzZXRUYWJJbmRleGVzQ2hhbmdlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy90YWJzL3RhYnNldC10YWItaW5kZXhlcy1jaGFuZ2UnO1xuXG5leHBvcnQgeyBTa3lWZXJ0aWNhbFRhYnNldE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC5tb2R1bGUnO1xuXG4vLyBUaGUgZm9sbG93aW5nIGV4cG9ydCBpcyBuZWVkZWQgYmVjYXVzZSBvdXIgZG9jcyB1c2UgaXQgYXMgYSBwcmVzY3JpYmVkIHBhdHRlcm4uXG4vLyBJZGVhbGx5LCB0aGlzIGZ1bmN0aW9uYWxpdHkgd291bGQgbGl2ZSBpbiBhIHN0YW5kYXJkIGBJbnB1dGAgb3IgYE91dHB1dGAuXG4vLyBodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvc2VjdGlvbmVkLWZvcm0jY29kZVxuLy8gVE9ETzogVHJ5IHRvIHJlbW92ZSBpbiBhIG1ham9yIHJlbGVhc2UuXG5leHBvcnQgeyBTa3lTZWN0aW9uZWRGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWN0aW9uZWQtZm9ybS9zZWN0aW9uZWQtZm9ybS5jb21wb25lbnQnO1xuXG5leHBvcnQgeyBTa3lTZWN0aW9uZWRGb3JtTWVzc2FnZSB9IGZyb20gJy4vbGliL21vZHVsZXMvc2VjdGlvbmVkLWZvcm0vdHlwZXMvc2VjdGlvbmVkLWZvcm0tbWVzc2FnZSc7XG5leHBvcnQgeyBTa3lTZWN0aW9uZWRGb3JtTWVzc2FnZVR5cGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3NlY3Rpb25lZC1mb3JtL3R5cGVzL3NlY3Rpb25lZC1mb3JtLW1lc3NhZ2UtdHlwZSc7XG5cbi8vIENvbXBvbmVudHMgYW5kIGRpcmVjdGl2ZXMgbXVzdCBiZSBleHBvcnRlZCB0byBzdXBwb3J0IEFuZ3VsYXIncyBcInBhcnRpYWxcIiBJdnkgY29tcGlsZXIuXG4vLyBPYnNjdXJlIG5hbWVzIGFyZSB1c2VkIHRvIGluZGljYXRlIHR5cGVzIGFyZSBub3QgcGFydCBvZiBwdWJsaWMgQVBJLlxuZXhwb3J0IHsgU2t5U2VjdGlvbmVkRm9ybVNlY3Rpb25Db21wb25lbnQgYXMgzrs1IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWN0aW9uZWQtZm9ybS9zZWN0aW9uZWQtZm9ybS1zZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lUYWJDb21wb25lbnQgYXMgzrsxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy90YWJzL3RhYi5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50IGFzIM67MyB9IGZyb20gJy4vbGliL21vZHVsZXMvdGFicy90YWJzZXQtbmF2LWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5VGFic2V0Q29tcG9uZW50IGFzIM67MiB9IGZyb20gJy4vbGliL21vZHVsZXMvdGFicy90YWJzZXQuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50IGFzIM67NCB9IGZyb20gJy4vbGliL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYi5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudCBhcyDOuzcgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3ZlcnRpY2FsLXRhYnNldC92ZXJ0aWNhbC10YWJzZXQtZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVZlcnRpY2FsVGFic2V0Q29tcG9uZW50IGFzIM67NiB9IGZyb20gJy4vbGliL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC5jb21wb25lbnQnO1xuIl19
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild, } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { SkyVerticalTabComponent } from './../vertical-tabset/vertical-tab.component';
|
|
5
|
-
import { SkySectionedFormService } from './sectioned-form.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "./sectioned-form.service";
|
|
8
|
-
import * as i2 from "../vertical-tabset/vertical-tabset.service";
|
|
9
|
-
import * as i3 from "@angular/common";
|
|
10
|
-
import * as i4 from "../vertical-tabset/vertical-tab.component";
|
|
11
|
-
let nextId = 0;
|
|
12
|
-
/**
|
|
13
|
-
* Creates an individual form to display as a section within the sectioned form.
|
|
14
|
-
*/
|
|
15
|
-
export class SkySectionedFormSectionComponent {
|
|
16
|
-
#ngUnsubscribe;
|
|
17
|
-
#sectionedFormService;
|
|
18
|
-
#tabsetService;
|
|
19
|
-
#changeRef;
|
|
20
|
-
constructor(sectionedFormService, tabsetService, changeRef) {
|
|
21
|
-
this.sectionTabId = `sky-sectioned-form-tab-${++nextId}`;
|
|
22
|
-
this.sectionContentId = `sky-sectioned-form-section-${++nextId}`;
|
|
23
|
-
/**
|
|
24
|
-
* Whether the section is active when the form loads.
|
|
25
|
-
* @default false
|
|
26
|
-
*/
|
|
27
|
-
this.active = false;
|
|
28
|
-
this.#ngUnsubscribe = new Subject();
|
|
29
|
-
this.#sectionedFormService = sectionedFormService;
|
|
30
|
-
this.#tabsetService = tabsetService;
|
|
31
|
-
this.#changeRef = changeRef;
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
this.#changeRef.detectChanges();
|
|
35
|
-
this.#tabsetService.switchingMobile.subscribe((mobile) => {
|
|
36
|
-
this.#changeRef.detectChanges();
|
|
37
|
-
});
|
|
38
|
-
this.#sectionedFormService.requiredChange
|
|
39
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
40
|
-
.subscribe((required) => (this.fieldRequired = required));
|
|
41
|
-
this.#sectionedFormService.invalidChange
|
|
42
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
43
|
-
.subscribe((invalid) => (this.fieldInvalid = invalid));
|
|
44
|
-
}
|
|
45
|
-
ngOnDestroy() {
|
|
46
|
-
this.#ngUnsubscribe.next();
|
|
47
|
-
this.#ngUnsubscribe.complete();
|
|
48
|
-
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySectionedFormSectionComponent, deps: [{ token: i1.SkySectionedFormService }, { token: i2.SkyVerticalTabsetService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkySectionedFormSectionComponent, selector: "sky-sectioned-form-section", inputs: { heading: "heading", itemCount: "itemCount", active: "active" }, providers: [SkySectionedFormService], viewQueries: [{ propertyName: "tab", first: true, predicate: SkyVerticalTabComponent, descendants: true }], ngImport: i0, template: "<sky-vertical-tab\n [active]=\"active\"\n [errorIndicator]=\"fieldInvalid\"\n [ngClass]=\"{\n 'sky-tab-field-required': fieldRequired\n }\"\n [showTabRightArrow]=\"true\"\n [tabHeaderCount]=\"itemCount\"\n [tabHeading]=\"heading\"\n [tabId]=\"sectionTabId\"\n>\n <ng-content />\n</sky-vertical-tab>\n", styles: [".sky-tab-field-required:not(.sky-theme-modern *){--sky-override-required-color: var(--sky-highlight-color-danger);--sky-override-required-space: var(--sky-padding-half)}:host .sky-tab-field-required ::ng-deep .sky-vertical-tab-heading:after{content:\"*\";content:\"*\"/\"\";color:var(--sky-override-required-color, var(--sky-color-text-danger));padding-left:var(--sky-override-required-space, var(--sky-space-gap-label-s))}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i4.SkyVerticalTabComponent, selector: "sky-vertical-tab", inputs: ["active", "ariaControls", "ariaRole", "disabled", "errorIndicator", "tabHeaderCount", "tabHeading", "showTabRightArrow", "tabId"] }] }); }
|
|
51
|
-
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySectionedFormSectionComponent, decorators: [{
|
|
53
|
-
type: Component,
|
|
54
|
-
args: [{ selector: 'sky-sectioned-form-section', providers: [SkySectionedFormService], template: "<sky-vertical-tab\n [active]=\"active\"\n [errorIndicator]=\"fieldInvalid\"\n [ngClass]=\"{\n 'sky-tab-field-required': fieldRequired\n }\"\n [showTabRightArrow]=\"true\"\n [tabHeaderCount]=\"itemCount\"\n [tabHeading]=\"heading\"\n [tabId]=\"sectionTabId\"\n>\n <ng-content />\n</sky-vertical-tab>\n", styles: [".sky-tab-field-required:not(.sky-theme-modern *){--sky-override-required-color: var(--sky-highlight-color-danger);--sky-override-required-space: var(--sky-padding-half)}:host .sky-tab-field-required ::ng-deep .sky-vertical-tab-heading:after{content:\"*\";content:\"*\"/\"\";color:var(--sky-override-required-color, var(--sky-color-text-danger));padding-left:var(--sky-override-required-space, var(--sky-space-gap-label-s))}\n"] }]
|
|
55
|
-
}], ctorParameters: () => [{ type: i1.SkySectionedFormService }, { type: i2.SkyVerticalTabsetService }, { type: i0.ChangeDetectorRef }], propDecorators: { heading: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], itemCount: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], active: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], tab: [{
|
|
62
|
-
type: ViewChild,
|
|
63
|
-
args: [SkyVerticalTabComponent]
|
|
64
|
-
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvc2VjdGlvbmVkLWZvcm0vc2VjdGlvbmVkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvc2VjdGlvbmVkLWZvcm0vc2VjdGlvbmVkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQUVuRSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZjs7R0FFRztBQU9ILE1BQU0sT0FBTyxnQ0FBZ0M7SUE4QjNDLGNBQWMsQ0FBdUI7SUFFckMscUJBQXFCLENBQTBCO0lBQy9DLGNBQWMsQ0FBMkI7SUFDekMsVUFBVSxDQUFvQjtJQUU5QixZQUNFLG9CQUE2QyxFQUM3QyxhQUF1QyxFQUN2QyxTQUE0QjtRQXRDdkIsaUJBQVksR0FBRywwQkFBMEIsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBRyw4QkFBOEIsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQWVuRTs7O1dBR0c7UUFFSSxXQUFNLEdBQXdCLEtBQUssQ0FBQztRQVEzQyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFXbkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLG9CQUFvQixDQUFDO1FBQ2xELElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWM7YUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUNSLENBQUMsUUFBNkIsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxDQUNuRSxDQUFDO1FBRUosSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWE7YUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUNSLENBQUMsT0FBNEIsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxDQUNoRSxDQUFDO0lBQ04sQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7K0dBckVVLGdDQUFnQzttR0FBaEMsZ0NBQWdDLCtIQUhoQyxDQUFDLHVCQUF1QixDQUFDLCtEQThCekIsdUJBQXVCLGdEQ3ZEcEMsMFRBYUE7OzRGRGVhLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDRSw0QkFBNEIsYUFFM0IsQ0FBQyx1QkFBdUIsQ0FBQzttS0FZN0IsT0FBTztzQkFEYixLQUFLO2dCQU9DLFNBQVM7c0JBRGYsS0FBSztnQkFRQyxNQUFNO3NCQURaLEtBQUs7Z0JBT0MsR0FBRztzQkFEVCxTQUFTO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2UgfSBmcm9tICcuLi92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0LnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCB9IGZyb20gJy4vLi4vdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5U2VjdGlvbmVkRm9ybVNlcnZpY2UgfSBmcm9tICcuL3NlY3Rpb25lZC1mb3JtLnNlcnZpY2UnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGluZGl2aWR1YWwgZm9ybSB0byBkaXNwbGF5IGFzIGEgc2VjdGlvbiB3aXRoaW4gdGhlIHNlY3Rpb25lZCBmb3JtLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VjdGlvbmVkLWZvcm0tc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWN0aW9uZWQtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbU2t5U2VjdGlvbmVkRm9ybVNlcnZpY2VdLFxuICBzdHlsZVVybHM6IFsnLi9zZWN0aW9uZWQtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlY3Rpb25lZEZvcm1TZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc2VjdGlvblRhYklkID0gYHNreS1zZWN0aW9uZWQtZm9ybS10YWItJHsrK25leHRJZH1gO1xuICBwdWJsaWMgc2VjdGlvbkNvbnRlbnRJZCA9IGBza3ktc2VjdGlvbmVkLWZvcm0tc2VjdGlvbi0keysrbmV4dElkfWA7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN0aW9uIGhlYWRlci5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGluZzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGl0ZW1zIHdpdGhpbiB0aGUgc2VjdGlvbi4gQSBjb3VudGVyIGFwcGVhcnMgYmVzaWRlIHRoZSBzZWN0aW9uIGhlYWRlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpdGVtQ291bnQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VjdGlvbiBpcyBhY3RpdmUgd2hlbiB0aGUgZm9ybSBsb2Fkcy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY3RpdmU6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgZmllbGRSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGZpZWxkSW52YWxpZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKFNreVZlcnRpY2FsVGFiQ29tcG9uZW50KVxuICBwdWJsaWMgdGFiOiBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI3NlY3Rpb25lZEZvcm1TZXJ2aWNlOiBTa3lTZWN0aW9uZWRGb3JtU2VydmljZTtcbiAgI3RhYnNldFNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZTtcbiAgI2NoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2VjdGlvbmVkRm9ybVNlcnZpY2U6IFNreVNlY3Rpb25lZEZvcm1TZXJ2aWNlLFxuICAgIHRhYnNldFNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZSxcbiAgICBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICB0aGlzLiNzZWN0aW9uZWRGb3JtU2VydmljZSA9IHNlY3Rpb25lZEZvcm1TZXJ2aWNlO1xuICAgIHRoaXMuI3RhYnNldFNlcnZpY2UgPSB0YWJzZXRTZXJ2aWNlO1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLiNjaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgdGhpcy4jdGFic2V0U2VydmljZS5zd2l0Y2hpbmdNb2JpbGUuc3Vic2NyaWJlKChtb2JpbGU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHRoaXMuI2NoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNzZWN0aW9uZWRGb3JtU2VydmljZS5yZXF1aXJlZENoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKHJlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkKSA9PiAodGhpcy5maWVsZFJlcXVpcmVkID0gcmVxdWlyZWQpLFxuICAgICAgKTtcblxuICAgIHRoaXMuI3NlY3Rpb25lZEZvcm1TZXJ2aWNlLmludmFsaWRDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChpbnZhbGlkOiBib29sZWFuIHwgdW5kZWZpbmVkKSA9PiAodGhpcy5maWVsZEludmFsaWQgPSBpbnZhbGlkKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8c2t5LXZlcnRpY2FsLXRhYlxuICBbYWN0aXZlXT1cImFjdGl2ZVwiXG4gIFtlcnJvckluZGljYXRvcl09XCJmaWVsZEludmFsaWRcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NreS10YWItZmllbGQtcmVxdWlyZWQnOiBmaWVsZFJlcXVpcmVkXG4gIH1cIlxuICBbc2hvd1RhYlJpZ2h0QXJyb3ddPVwidHJ1ZVwiXG4gIFt0YWJIZWFkZXJDb3VudF09XCJpdGVtQ291bnRcIlxuICBbdGFiSGVhZGluZ109XCJoZWFkaW5nXCJcbiAgW3RhYklkXT1cInNlY3Rpb25UYWJJZFwiXG4+XG4gIDxuZy1jb250ZW50IC8+XG48L3NreS12ZXJ0aWNhbC10YWI+XG4iXX0=
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { SkyTabIdService } from '../shared/tab-id.service';
|
|
6
|
-
import { HIDDEN_STATE, SkyVerticalTabsetService, VISIBLE_STATE, } from './../vertical-tabset/vertical-tabset.service';
|
|
7
|
-
import { SkySectionedFormMessageType } from './types/sectioned-form-message-type';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "./../vertical-tabset/vertical-tabset.service";
|
|
10
|
-
import * as i2 from "../shared/tab-id.service";
|
|
11
|
-
import * as i3 from "@skyux/core";
|
|
12
|
-
import * as i4 from "@angular/common";
|
|
13
|
-
/**
|
|
14
|
-
* Creates a container for the sectioned forms.
|
|
15
|
-
*/
|
|
16
|
-
export class SkySectionedFormComponent {
|
|
17
|
-
set messageStream(value) {
|
|
18
|
-
this.#_messageStream = value || new Subject();
|
|
19
|
-
this.#initMessageStream();
|
|
20
|
-
}
|
|
21
|
-
get messageStream() {
|
|
22
|
-
return this.#_messageStream;
|
|
23
|
-
}
|
|
24
|
-
#ngUnsubscribe;
|
|
25
|
-
#messageStreamSub;
|
|
26
|
-
#changeRef;
|
|
27
|
-
#tabIdSvc;
|
|
28
|
-
#logger;
|
|
29
|
-
#_messageStream;
|
|
30
|
-
constructor(tabService, changeRef, tabIdSvc, logger) {
|
|
31
|
-
this.tabService = tabService;
|
|
32
|
-
/**
|
|
33
|
-
* Whether the sectioned form loads section content during initialization so that it
|
|
34
|
-
* displays content without moving around elements in the content container.
|
|
35
|
-
* @default false
|
|
36
|
-
*/
|
|
37
|
-
this.maintainSectionContent = false;
|
|
38
|
-
/**
|
|
39
|
-
* Fires when the active tab changes and emits the index of the active
|
|
40
|
-
* section. The index is based on the section's position when the form loads.
|
|
41
|
-
*/
|
|
42
|
-
this.indexChanged = new EventEmitter();
|
|
43
|
-
/**
|
|
44
|
-
* Fires when the sectioned form tabs are shown or hidden.
|
|
45
|
-
*/
|
|
46
|
-
this.tabsVisibleChanged = new EventEmitter();
|
|
47
|
-
this.ariaRole = 'tablist';
|
|
48
|
-
this.#ngUnsubscribe = new Subject();
|
|
49
|
-
this.#_messageStream = new Subject();
|
|
50
|
-
this.#changeRef = changeRef;
|
|
51
|
-
this.#tabIdSvc = tabIdSvc;
|
|
52
|
-
this.#logger = logger;
|
|
53
|
-
this.#initMessageStream();
|
|
54
|
-
this.#tabIdSvc.ids.pipe(takeUntil(this.#ngUnsubscribe)).subscribe((ids) => {
|
|
55
|
-
this.ariaOwns = ids.join(' ') || undefined;
|
|
56
|
-
this.#changeRef.markForCheck();
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
ngOnInit() {
|
|
60
|
-
this.tabService.maintainTabContent = this.maintainSectionContent;
|
|
61
|
-
this.tabService.indexChanged
|
|
62
|
-
.pipe(distinctUntilChanged(), takeUntil(this.#ngUnsubscribe))
|
|
63
|
-
.subscribe((index) => {
|
|
64
|
-
this.indexChanged.emit(index);
|
|
65
|
-
this.#changeRef.markForCheck();
|
|
66
|
-
});
|
|
67
|
-
this.tabService.switchingMobile
|
|
68
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
69
|
-
.subscribe((mobile) => {
|
|
70
|
-
if (!mobile) {
|
|
71
|
-
this.ariaRole = 'tablist';
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this.ariaRole = undefined;
|
|
75
|
-
}
|
|
76
|
-
this.#changeRef.markForCheck();
|
|
77
|
-
});
|
|
78
|
-
this.tabService.hidingTabs
|
|
79
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
80
|
-
.subscribe(() => {
|
|
81
|
-
this.tabsVisibleChanged.emit(false);
|
|
82
|
-
});
|
|
83
|
-
this.tabService.showingTabs
|
|
84
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
85
|
-
.subscribe(() => {
|
|
86
|
-
this.tabsVisibleChanged.emit(true);
|
|
87
|
-
});
|
|
88
|
-
if (this.tabService.isMobile()) {
|
|
89
|
-
this.ariaRole = undefined;
|
|
90
|
-
this.tabService.animationContentVisibleState = VISIBLE_STATE;
|
|
91
|
-
this.#changeRef.markForCheck();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
ngAfterViewChecked() {
|
|
95
|
-
this.tabService.content = this.content;
|
|
96
|
-
this.tabService.updateContent();
|
|
97
|
-
}
|
|
98
|
-
ngOnDestroy() {
|
|
99
|
-
this.#ngUnsubscribe.next();
|
|
100
|
-
this.#ngUnsubscribe.complete();
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* @deprecated Use the `tabsVisibleChanged` output to listen for tab visibility changes.
|
|
104
|
-
*/
|
|
105
|
-
tabsVisible() {
|
|
106
|
-
this.#logger.deprecated('SectionedFormComponent.tabsVisible()', {
|
|
107
|
-
deprecationMajorVersion: 8,
|
|
108
|
-
moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/sectioned-form',
|
|
109
|
-
replacementRecommendation: 'Use the `tabsVisibleChanged` output to listen for tab visibility changes.',
|
|
110
|
-
});
|
|
111
|
-
this.#changeRef.markForCheck();
|
|
112
|
-
return this.tabService.tabsVisible();
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* @deprecated Use the `messageStream` input and push a `ShowTabs` message to the message stream instead.
|
|
116
|
-
*/
|
|
117
|
-
showTabs() {
|
|
118
|
-
this.#logger.deprecated('SectionedFormComponent.showTabs()', {
|
|
119
|
-
deprecationMajorVersion: 8,
|
|
120
|
-
moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/sectioned-form',
|
|
121
|
-
replacementRecommendation: 'Use the `messageStream` input and push a `ShowTabs` message to the message stream instead.',
|
|
122
|
-
});
|
|
123
|
-
this.#showTabs();
|
|
124
|
-
}
|
|
125
|
-
#showTabs() {
|
|
126
|
-
this.tabService.showTabs();
|
|
127
|
-
this.#changeRef.markForCheck();
|
|
128
|
-
}
|
|
129
|
-
#initMessageStream() {
|
|
130
|
-
if (this.#messageStreamSub) {
|
|
131
|
-
this.#messageStreamSub.unsubscribe();
|
|
132
|
-
}
|
|
133
|
-
this.#messageStreamSub = this.messageStream
|
|
134
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
135
|
-
.subscribe((message) => {
|
|
136
|
-
switch (message.type) {
|
|
137
|
-
case SkySectionedFormMessageType.ShowTabs:
|
|
138
|
-
this.#showTabs();
|
|
139
|
-
break;
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySectionedFormComponent, deps: [{ token: i1.SkyVerticalTabsetService }, { token: i0.ChangeDetectorRef }, { token: i2.SkyTabIdService }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
144
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkySectionedFormComponent, selector: "sky-sectioned-form", inputs: { maintainSectionContent: "maintainSectionContent", messageStream: "messageStream" }, outputs: { indexChanged: "indexChanged", tabsVisibleChanged: "tabsVisibleChanged" }, providers: [SkyTabIdService, SkyVerticalTabsetService], viewQueries: [{ propertyName: "content", first: true, predicate: ["skySectionSideContent"], descendants: true }], ngImport: i0, template: "<div class=\"sky-sectioned-form\" (window:resize)=\"tabService.updateContent()\">\n <!--\n ARIA rules do not allow tabpanel elements to be children of a tablist element.\n However, the markup for each sky-vertical-tab component includes both the tab button\n and its panel, making the panel element a child of its tablist. Moreover, our\n sky-vertical-tab components can be grouped within collapsible containers, which also\n violates accessibility rules because only tab buttons can be children of a tablist.\n To address this, we create an empty tablist element with an aria-owns attribute,\n pointing to each tab element individually. That way, we don't have to worry about the\n structure for each sky-vertical-tab component in order to satisfy accessibility\n guidelines.\n -->\n <span\n aria-orientation=\"vertical\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.role]=\"ariaRole\"\n ></span>\n @if (maintainSectionContent || tabsVisible()) {\n <div\n class=\"sky-sectioned-form-tabs\"\n [ngClass]=\"{\n 'sky-sectioned-form-tabs-hidden': !tabsVisible(),\n 'sky-sectioned-form-tabs-only': !tabService.contentVisible()\n }\"\n [@tabEnter]=\"tabService.animationTabsVisibleState\"\n >\n <ng-content />\n </div>\n }\n @if (maintainSectionContent || tabService.contentVisible()) {\n <div\n #skySectionSideContent\n class=\"sky-sectioned-form-content\"\n [ngClass]=\"{\n 'sky-sectioned-form-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n ></div>\n }\n</div>\n", styles: [":host .sky-sectioned-form{display:block;max-height:none}:host .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs+.sky-sectioned-form-content{border-left:1px solid var(--sky-border-color-neutral-medium)}:host .sky-sectioned-form-content{padding:var(--sky-padding-even-md) var(--sky-padding-even-xl)}:host .sky-sectioned-form-tabs-only{padding:var(--sky-padding-even-md)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form,:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:block;max-height:none}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs+.sky-sectioned-form-content{border-left:1px solid var(--sky-border-color-neutral-medium)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{padding:var(--sky-padding-even-md) var(--sky-padding-even-xl)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs-only{padding:var(--sky-padding-even-md)}@media (min-width: 768px){:host .sky-sectioned-form{display:flex;max-height:100%}:host .sky-sectioned-form-content{flex-basis:70%;overflow-y:auto}:host .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}}:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:flex;max-height:100%}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:70%;overflow-y:auto}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}:host-context(sky-modal) .sky-sectioned-form{min-height:460px}:host-context(sky-modal-content)>:host .sky-sectioned-form,:host-context(sky-modal-content)>form :host .sky-sectioned-form{margin:-15px}.sky-sectioned-form-tabs-hidden,.sky-sectioned-form-content-hidden{display:none}:host-context(.sky-theme-modern) :host-context(sky-modal-content)>:host .sky-sectioned-form,:host-context(.sky-theme-modern) :host-context(sky-modal-content)>form :host .sky-sectioned-form{margin:-10px -30px -30px}.sky-theme-modern :host-context(sky-modal-content)>:host .sky-sectioned-form,.sky-theme-modern :host-context(sky-modal-content)>form :host .sky-sectioned-form{margin:-10px -30px -30px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
|
145
|
-
trigger('tabEnter', [
|
|
146
|
-
transition(`${HIDDEN_STATE} => ${VISIBLE_STATE}`, [
|
|
147
|
-
style({ transform: 'translate(-100%)' }),
|
|
148
|
-
animate('150ms ease-in'),
|
|
149
|
-
]),
|
|
150
|
-
]),
|
|
151
|
-
trigger('contentEnter', [
|
|
152
|
-
transition(`${HIDDEN_STATE} => ${VISIBLE_STATE}`, [
|
|
153
|
-
style({ transform: 'translate(100%)' }),
|
|
154
|
-
animate('150ms ease-in'),
|
|
155
|
-
]),
|
|
156
|
-
]),
|
|
157
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
158
|
-
}
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySectionedFormComponent, decorators: [{
|
|
160
|
-
type: Component,
|
|
161
|
-
args: [{ selector: 'sky-sectioned-form', providers: [SkyTabIdService, SkyVerticalTabsetService], changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
162
|
-
trigger('tabEnter', [
|
|
163
|
-
transition(`${HIDDEN_STATE} => ${VISIBLE_STATE}`, [
|
|
164
|
-
style({ transform: 'translate(-100%)' }),
|
|
165
|
-
animate('150ms ease-in'),
|
|
166
|
-
]),
|
|
167
|
-
]),
|
|
168
|
-
trigger('contentEnter', [
|
|
169
|
-
transition(`${HIDDEN_STATE} => ${VISIBLE_STATE}`, [
|
|
170
|
-
style({ transform: 'translate(100%)' }),
|
|
171
|
-
animate('150ms ease-in'),
|
|
172
|
-
]),
|
|
173
|
-
]),
|
|
174
|
-
], template: "<div class=\"sky-sectioned-form\" (window:resize)=\"tabService.updateContent()\">\n <!--\n ARIA rules do not allow tabpanel elements to be children of a tablist element.\n However, the markup for each sky-vertical-tab component includes both the tab button\n and its panel, making the panel element a child of its tablist. Moreover, our\n sky-vertical-tab components can be grouped within collapsible containers, which also\n violates accessibility rules because only tab buttons can be children of a tablist.\n To address this, we create an empty tablist element with an aria-owns attribute,\n pointing to each tab element individually. That way, we don't have to worry about the\n structure for each sky-vertical-tab component in order to satisfy accessibility\n guidelines.\n -->\n <span\n aria-orientation=\"vertical\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.role]=\"ariaRole\"\n ></span>\n @if (maintainSectionContent || tabsVisible()) {\n <div\n class=\"sky-sectioned-form-tabs\"\n [ngClass]=\"{\n 'sky-sectioned-form-tabs-hidden': !tabsVisible(),\n 'sky-sectioned-form-tabs-only': !tabService.contentVisible()\n }\"\n [@tabEnter]=\"tabService.animationTabsVisibleState\"\n >\n <ng-content />\n </div>\n }\n @if (maintainSectionContent || tabService.contentVisible()) {\n <div\n #skySectionSideContent\n class=\"sky-sectioned-form-content\"\n [ngClass]=\"{\n 'sky-sectioned-form-content-hidden': !tabService.contentVisible()\n }\"\n [@contentEnter]=\"tabService.animationContentVisibleState\"\n ></div>\n }\n</div>\n", styles: [":host .sky-sectioned-form{display:block;max-height:none}:host .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible}:host .sky-sectioned-form-tabs+.sky-sectioned-form-content{border-left:1px solid var(--sky-border-color-neutral-medium)}:host .sky-sectioned-form-content{padding:var(--sky-padding-even-md) var(--sky-padding-even-xl)}:host .sky-sectioned-form-tabs-only{padding:var(--sky-padding-even-md)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form,:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:block;max-height:none}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:auto;overflow-y:visible}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs+.sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs+.sky-sectioned-form-content{border-left:1px solid var(--sky-border-color-neutral-medium)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-content,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{padding:var(--sky-padding-even-md) var(--sky-padding-even-xl)}:host-context(.sky-responsive-container-xs) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs-only,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs-only{padding:var(--sky-padding-even-md)}@media (min-width: 768px){:host .sky-sectioned-form{display:flex;max-height:100%}:host .sky-sectioned-form-content{flex-basis:70%;overflow-y:auto}:host .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}}:host-context(.sky-responsive-container-sm) .sky-sectioned-form,:host-context(.sky-responsive-container-md) .sky-sectioned-form,:host-context(.sky-responsive-container-lg) .sky-sectioned-form{display:flex;max-height:100%}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-content,:host-context(.sky-responsive-container-md) .sky-sectioned-form-content,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-content{flex-basis:70%;overflow-y:auto}:host-context(.sky-responsive-container-sm) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-md) .sky-sectioned-form-tabs,:host-context(.sky-responsive-container-lg) .sky-sectioned-form-tabs{flex-basis:30%;overflow-y:auto}:host-context(sky-modal) .sky-sectioned-form{min-height:460px}:host-context(sky-modal-content)>:host .sky-sectioned-form,:host-context(sky-modal-content)>form :host .sky-sectioned-form{margin:-15px}.sky-sectioned-form-tabs-hidden,.sky-sectioned-form-content-hidden{display:none}:host-context(.sky-theme-modern) :host-context(sky-modal-content)>:host .sky-sectioned-form,:host-context(.sky-theme-modern) :host-context(sky-modal-content)>form :host .sky-sectioned-form{margin:-10px -30px -30px}.sky-theme-modern :host-context(sky-modal-content)>:host .sky-sectioned-form,.sky-theme-modern :host-context(sky-modal-content)>form :host .sky-sectioned-form{margin:-10px -30px -30px}\n"] }]
|
|
175
|
-
}], ctorParameters: () => [{ type: i1.SkyVerticalTabsetService }, { type: i0.ChangeDetectorRef }, { type: i2.SkyTabIdService }, { type: i3.SkyLogService }], propDecorators: { maintainSectionContent: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], messageStream: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], indexChanged: [{
|
|
180
|
-
type: Output
|
|
181
|
-
}], tabsVisibleChanged: [{
|
|
182
|
-
type: Output
|
|
183
|
-
}], content: [{
|
|
184
|
-
type: ViewChild,
|
|
185
|
-
args: ['skySectionSideContent']
|
|
186
|
-
}] } });
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3NlY3Rpb25lZC1mb3JtL3NlY3Rpb25lZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy9zZWN0aW9uZWQtZm9ybS9zZWN0aW9uZWQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUNMLFlBQVksRUFDWix3QkFBd0IsRUFDeEIsYUFBYSxHQUNkLE1BQU0sOENBQThDLENBQUM7QUFFdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7OztBQUVsRjs7R0FFRztBQXNCSCxNQUFNLE9BQU8seUJBQXlCO0lBV3BDLElBQ1csYUFBYSxDQUN0QixLQUFtRDtRQUVuRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssSUFBSSxJQUFJLE9BQU8sRUFBMkIsQ0FBQztRQUN2RSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFD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LENBQUM7b0JBQ3ZDLE9BQU8sQ0FBQyxlQUFlLENBQUM7aUJBQ3pCLENBQUM7YUFDSCxDQUFDO1NBQ0g7OzRGQUVVLHlCQUF5QjtrQkFyQnJDLFNBQVM7K0JBQ0Usb0JBQW9CLGFBR25CLENBQUMsZUFBZSxFQUFFLHdCQUF3QixDQUFDLG1CQUNyQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNWLE9BQU8sQ0FBQyxVQUFVLEVBQUU7NEJBQ2xCLFVBQVUsQ0FBQyxHQUFHLFlBQVksT0FBTyxhQUFhLEVBQUUsRUFBRTtnQ0FDaEQsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUM7Z0NBQ3hDLE9BQU8sQ0FBQyxlQUFlLENBQUM7NkJBQ3pCLENBQUM7eUJBQ0gsQ0FBQzt3QkFDRixPQUFPLENBQUMsY0FBYyxFQUFFOzRCQUN0QixVQUFVLENBQUMsR0FBRyxZQUFZLE9BQU8sYUFBYSxFQUFFLEVBQUU7Z0NBQ2hELEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO2dDQUN2QyxPQUFPLENBQUMsZUFBZSxDQUFDOzZCQUN6QixDQUFDO3lCQUNILENBQUM7cUJBQ0g7dUxBV00sc0JBQXNCO3NCQUQ1QixLQUFLO2dCQUlLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBaUJDLFlBQVk7c0JBRGxCLE1BQU07Z0JBT0Esa0JBQWtCO3NCQUR4QixNQUFNO2dCQVFBLE9BQU87c0JBRGIsU0FBUzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRhYklkU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC90YWItaWQuc2VydmljZSc7XG5cbmltcG9ydCB7XG4gIEhJRERFTl9TVEFURSxcbiAgU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlLFxuICBWSVNJQkxFX1NUQVRFLFxufSBmcm9tICcuLy4uL3ZlcnRpY2FsLXRhYnNldC92ZXJ0aWNhbC10YWJzZXQuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lTZWN0aW9uZWRGb3JtTWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvc2VjdGlvbmVkLWZvcm0tbWVzc2FnZSc7XG5pbXBvcnQgeyBTa3lTZWN0aW9uZWRGb3JtTWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL3NlY3Rpb25lZC1mb3JtLW1lc3NhZ2UtdHlwZSc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgdGhlIHNlY3Rpb25lZCBmb3Jtcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXNlY3Rpb25lZC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlY3Rpb25lZC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VjdGlvbmVkLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5VGFiSWRTZXJ2aWNlLCBTa3lWZXJ0aWNhbFRhYnNldFNlcnZpY2VdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3RhYkVudGVyJywgW1xuICAgICAgdHJhbnNpdGlvbihgJHtISURERU5fU1RBVEV9ID0+ICR7VklTSUJMRV9TVEFURX1gLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlKC0xMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzE1MG1zIGVhc2UtaW4nKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ2NvbnRlbnRFbnRlcicsIFtcbiAgICAgIHRyYW5zaXRpb24oYCR7SElEREVOX1NUQVRFfSA9PiAke1ZJU0lCTEVfU1RBVEV9YCwgW1xuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgxMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzE1MG1zIGVhc2UtaW4nKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWN0aW9uZWRGb3JtQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWRcbntcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNlY3Rpb25lZCBmb3JtIGxvYWRzIHNlY3Rpb24gY29udGVudCBkdXJpbmcgaW5pdGlhbGl6YXRpb24gc28gdGhhdCBpdFxuICAgKiBkaXNwbGF5cyBjb250ZW50IHdpdGhvdXQgbW92aW5nIGFyb3VuZCBlbGVtZW50cyBpbiB0aGUgY29udGVudCBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWFpbnRhaW5TZWN0aW9uQ29udGVudDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWVzc2FnZVN0cmVhbShcbiAgICB2YWx1ZTogU3ViamVjdDxTa3lTZWN0aW9uZWRGb3JtTWVzc2FnZT4gfCB1bmRlZmluZWQsXG4gICkge1xuICAgIHRoaXMuI19tZXNzYWdlU3RyZWFtID0gdmFsdWUgfHwgbmV3IFN1YmplY3Q8U2t5U2VjdGlvbmVkRm9ybU1lc3NhZ2U+KCk7XG4gICAgdGhpcy4jaW5pdE1lc3NhZ2VTdHJlYW0oKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVzc2FnZVN0cmVhbSgpOiBTdWJqZWN0PFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI19tZXNzYWdlU3RyZWFtO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGFjdGl2ZSB0YWIgY2hhbmdlcyBhbmQgZW1pdHMgdGhlIGluZGV4IG9mIHRoZSBhY3RpdmVcbiAgICogc2VjdGlvbi4gVGhlIGluZGV4IGlzIGJhc2VkIG9uIHRoZSBzZWN0aW9uJ3MgcG9zaXRpb24gd2hlbiB0aGUgZm9ybSBsb2Fkcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaW5kZXhDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlY3Rpb25lZCBmb3JtIHRhYnMgYXJlIHNob3duIG9yIGhpZGRlbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdGFic1Zpc2libGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBhcmlhT3duczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhcmlhUm9sZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJ3RhYmxpc3QnO1xuXG4gIEBWaWV3Q2hpbGQoJ3NreVNlY3Rpb25TaWRlQ29udGVudCcpXG4gIHB1YmxpYyBjb250ZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjbWVzc2FnZVN0cmVhbVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI3RhYklkU3ZjOiBTa3lUYWJJZFNlcnZpY2U7XG4gICNsb2dnZXI6IFNreUxvZ1NlcnZpY2U7XG5cbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5U2VjdGlvbmVkRm9ybU1lc3NhZ2U+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRhYlNlcnZpY2U6IFNreVZlcnRpY2FsVGFic2V0U2VydmljZSxcbiAgICBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHRhYklkU3ZjOiBTa3lUYWJJZFNlcnZpY2UsXG4gICAgbG9nZ2VyOiBTa3lMb2dTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VSZWYgPSBjaGFuZ2VSZWY7XG4gICAgdGhpcy4jdGFiSWRTdmMgPSB0YWJJZFN2YztcbiAgICB0aGlzLiNsb2dnZXIgPSBsb2dnZXI7XG5cbiAgICB0aGlzLiNpbml0TWVzc2FnZVN0cmVhbSgpO1xuXG4gICAgdGhpcy4jdGFiSWRTdmMuaWRzLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGlkcykgPT4ge1xuICAgICAgdGhpcy5hcmlhT3ducyA9IGlkcy5qb2luKCcgJykgfHwgdW5kZWZpbmVkO1xuICAgICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGFiU2VydmljZS5tYWludGFpblRhYkNvbnRlbnQgPSB0aGlzLm1haW50YWluU2VjdGlvbkNvbnRlbnQ7XG5cbiAgICB0aGlzLnRhYlNlcnZpY2UuaW5kZXhDaGFuZ2VkXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChpbmRleCkgPT4ge1xuICAgICAgICB0aGlzLmluZGV4Q2hhbmdlZC5lbWl0KGluZGV4KTtcbiAgICAgICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnRhYlNlcnZpY2Uuc3dpdGNoaW5nTW9iaWxlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtb2JpbGU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgaWYgKCFtb2JpbGUpIHtcbiAgICAgICAgICB0aGlzLmFyaWFSb2xlID0gJ3RhYmxpc3QnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYXJpYVJvbGUgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMudGFiU2VydmljZS5oaWRpbmdUYWJzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy50YWJzVmlzaWJsZUNoYW5nZWQuZW1pdChmYWxzZSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMudGFiU2VydmljZS5zaG93aW5nVGFic1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudGFic1Zpc2libGVDaGFuZ2VkLmVtaXQodHJ1ZSk7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLnRhYlNlcnZpY2UuaXNNb2JpbGUoKSkge1xuICAgICAgdGhpcy5hcmlhUm9sZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMudGFiU2VydmljZS5hbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlID0gVklTSUJMRV9TVEFURTtcbiAgICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMudGFiU2VydmljZS5jb250ZW50ID0gdGhpcy5jb250ZW50O1xuICAgIHRoaXMudGFiU2VydmljZS51cGRhdGVDb250ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSB0aGUgYHRhYnNWaXNpYmxlQ2hhbmdlZGAgb3V0cHV0IHRvIGxpc3RlbiBmb3IgdGFiIHZpc2liaWxpdHkgY2hhbmdlcy5cbiAgICovXG4gIHB1YmxpYyB0YWJzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICB0aGlzLiNsb2dnZXIuZGVwcmVjYXRlZCgnU2VjdGlvbmVkRm9ybUNvbXBvbmVudC50YWJzVmlzaWJsZSgpJywge1xuICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDgsXG4gICAgICBtb3JlSW5mb1VybDpcbiAgICAgICAgJ2h0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9zZWN0aW9uZWQtZm9ybScsXG4gICAgICByZXBsYWNlbWVudFJlY29tbWVuZGF0aW9uOlxuICAgICAgICAnVXNlIHRoZSBgdGFic1Zpc2libGVDaGFuZ2VkYCBvdXRwdXQgdG8gbGlzdGVuIGZvciB0YWIgdmlzaWJpbGl0eSBjaGFuZ2VzLicsXG4gICAgfSk7XG5cbiAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgcmV0dXJuIHRoaXMudGFiU2VydmljZS50YWJzVmlzaWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSB0aGUgYG1lc3NhZ2VTdHJlYW1gIGlucHV0IGFuZCBwdXNoIGEgYFNob3dUYWJzYCBtZXNzYWdlIHRvIHRoZSBtZXNzYWdlIHN0cmVhbSBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIHNob3dUYWJzKCk6IHZvaWQge1xuICAgIHRoaXMuI2xvZ2dlci5kZXByZWNhdGVkKCdTZWN0aW9uZWRGb3JtQ29tcG9uZW50LnNob3dUYWJzKCknLCB7XG4gICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogOCxcbiAgICAgIG1vcmVJbmZvVXJsOlxuICAgICAgICAnaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3NlY3Rpb25lZC1mb3JtJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246XG4gICAgICAgICdVc2UgdGhlIGBtZXNzYWdlU3RyZWFtYCBpbnB1dCBhbmQgcHVzaCBhIGBTaG93VGFic2AgbWVzc2FnZSB0byB0aGUgbWVzc2FnZSBzdHJlYW0gaW5zdGVhZC4nLFxuICAgIH0pO1xuXG4gICAgdGhpcy4jc2hvd1RhYnMoKTtcbiAgfVxuXG4gICNzaG93VGFicygpOiB2b2lkIHtcbiAgICB0aGlzLnRhYlNlcnZpY2Uuc2hvd1RhYnMoKTtcbiAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjaW5pdE1lc3NhZ2VTdHJlYW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIpIHtcbiAgICAgIHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNtZXNzYWdlU3RyZWFtU3ViID0gdGhpcy5tZXNzYWdlU3RyZWFtXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICAgICAgY2FzZSBTa3lTZWN0aW9uZWRGb3JtTWVzc2FnZVR5cGUuU2hvd1RhYnM6XG4gICAgICAgICAgICB0aGlzLiNzaG93VGFicygpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXNlY3Rpb25lZC1mb3JtXCIgKHdpbmRvdzpyZXNpemUpPVwidGFiU2VydmljZS51cGRhdGVDb250ZW50KClcIj5cbiAgPCEtLVxuICAgIEFSSUEgcnVsZXMgZG8gbm90IGFsbG93IHRhYnBhbmVsIGVsZW1lbnRzIHRvIGJlIGNoaWxkcmVuIG9mIGEgdGFibGlzdCBlbGVtZW50LlxuICAgIEhvd2V2ZXIsIHRoZSBtYXJrdXAgZm9yIGVhY2ggc2t5LXZlcnRpY2FsLXRhYiBjb21wb25lbnQgaW5jbHVkZXMgYm90aCB0aGUgdGFiIGJ1dHRvblxuICAgIGFuZCBpdHMgcGFuZWwsIG1ha2luZyB0aGUgcGFuZWwgZWxlbWVudCBhIGNoaWxkIG9mIGl0cyB0YWJsaXN0LiBNb3Jlb3Zlciwgb3VyXG4gICAgc2t5LXZlcnRpY2FsLXRhYiBjb21wb25lbnRzIGNhbiBiZSBncm91cGVkIHdpdGhpbiBjb2xsYXBzaWJsZSBjb250YWluZXJzLCB3aGljaCBhbHNvXG4gICAgdmlvbGF0ZXMgYWNjZXNzaWJpbGl0eSBydWxlcyBiZWNhdXNlIG9ubHkgdGFiIGJ1dHRvbnMgY2FuIGJlIGNoaWxkcmVuIG9mIGEgdGFibGlzdC5cbiAgICBUbyBhZGRyZXNzIHRoaXMsIHdlIGNyZWF0ZSBhbiBlbXB0eSB0YWJsaXN0IGVsZW1lbnQgd2l0aCBhbiBhcmlhLW93bnMgYXR0cmlidXRlLFxuICAgIHBvaW50aW5nIHRvIGVhY2ggdGFiIGVsZW1lbnQgaW5kaXZpZHVhbGx5LiBUaGF0IHdheSwgd2UgZG9uJ3QgaGF2ZSB0byB3b3JyeSBhYm91dCB0aGVcbiAgICBzdHJ1Y3R1cmUgZm9yIGVhY2ggc2t5LXZlcnRpY2FsLXRhYiBjb21wb25lbnQgaW4gb3JkZXIgdG8gc2F0aXNmeSBhY2Nlc3NpYmlsaXR5XG4gICAgZ3VpZGVsaW5lcy5cbiAgLS0+XG4gIDxzcGFuXG4gICAgYXJpYS1vcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICBbYXR0ci5hcmlhLW93bnNdPVwiYXJpYU93bnNcIlxuICAgIFthdHRyLnJvbGVdPVwiYXJpYVJvbGVcIlxuICA+PC9zcGFuPlxuICBAaWYgKG1haW50YWluU2VjdGlvbkNvbnRlbnQgfHwgdGFic1Zpc2libGUoKSkge1xuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LXNlY3Rpb25lZC1mb3JtLXRhYnNcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXNlY3Rpb25lZC1mb3JtLXRhYnMtaGlkZGVuJzogIXRhYnNWaXNpYmxlKCksXG4gICAgICAgICdza3ktc2VjdGlvbmVkLWZvcm0tdGFicy1vbmx5JzogIXRhYlNlcnZpY2UuY29udGVudFZpc2libGUoKVxuICAgICAgfVwiXG4gICAgICBbQHRhYkVudGVyXT1cInRhYlNlcnZpY2UuYW5pbWF0aW9uVGFic1Zpc2libGVTdGF0ZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2Rpdj5cbiAgfVxuICBAaWYgKG1haW50YWluU2VjdGlvbkNvbnRlbnQgfHwgdGFiU2VydmljZS5jb250ZW50VmlzaWJsZSgpKSB7XG4gICAgPGRpdlxuICAgICAgI3NreVNlY3Rpb25TaWRlQ29udGVudFxuICAgICAgY2xhc3M9XCJza3ktc2VjdGlvbmVkLWZvcm0tY29udGVudFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdza3ktc2VjdGlvbmVkLWZvcm0tY29udGVudC1oaWRkZW4nOiAhdGFiU2VydmljZS5jb250ZW50VmlzaWJsZSgpXG4gICAgICB9XCJcbiAgICAgIFtAY29udGVudEVudGVyXT1cInRhYlNlcnZpY2UuYW5pbWF0aW9uQ29udGVudFZpc2libGVTdGF0ZVwiXG4gICAgPjwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { SkyCheckboxModule } from '@skyux/forms';
|
|
4
|
-
import { SkyThemeModule } from '@skyux/theme';
|
|
5
|
-
import { SkyVerticalTabsetModule } from '../vertical-tabset/vertical-tabset.module';
|
|
6
|
-
import { SkySectionedFormSectionComponent } from './sectioned-form-section.component';
|
|
7
|
-
import { SkySectionedFormComponent } from './sectioned-form.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class SkySectionedFormModule {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySectionedFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkySectionedFormModule, declarations: [SkySectionedFormComponent, SkySectionedFormSectionComponent], imports: [CommonModule,
|
|
12
|
-
SkyCheckboxModule,
|
|
13
|
-
SkyThemeModule,
|
|
14
|
-
SkyVerticalTabsetModule], exports: [SkySectionedFormComponent, SkySectionedFormSectionComponent] }); }
|
|
15
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySectionedFormModule, imports: [CommonModule,
|
|
16
|
-
SkyCheckboxModule,
|
|
17
|
-
SkyThemeModule,
|
|
18
|
-
SkyVerticalTabsetModule] }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySectionedFormModule, decorators: [{
|
|
21
|
-
type: NgModule,
|
|
22
|
-
args: [{
|
|
23
|
-
declarations: [SkySectionedFormComponent, SkySectionedFormSectionComponent],
|
|
24
|
-
imports: [
|
|
25
|
-
CommonModule,
|
|
26
|
-
SkyCheckboxModule,
|
|
27
|
-
SkyThemeModule,
|
|
28
|
-
SkyVerticalTabsetModule,
|
|
29
|
-
],
|
|
30
|
-
exports: [SkySectionedFormComponent, SkySectionedFormSectionComponent],
|
|
31
|
-
}]
|
|
32
|
-
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3NlY3Rpb25lZC1mb3JtL3NlY3Rpb25lZC1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFZdkUsTUFBTSxPQUFPLHNCQUFzQjsrR0FBdEIsc0JBQXNCO2dIQUF0QixzQkFBc0IsaUJBVGxCLHlCQUF5QixFQUFFLGdDQUFnQyxhQUV4RSxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCx1QkFBdUIsYUFFZix5QkFBeUIsRUFBRSxnQ0FBZ0M7Z0hBRTFELHNCQUFzQixZQVAvQixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCx1QkFBdUI7OzRGQUlkLHNCQUFzQjtrQkFWbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxnQ0FBZ0MsQ0FBQztvQkFDM0UsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMseUJBQXlCLEVBQUUsZ0NBQWdDLENBQUM7aUJBQ3ZFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFNreVZlcnRpY2FsVGFic2V0TW9kdWxlIH0gZnJvbSAnLi4vdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lTZWN0aW9uZWRGb3JtU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc2VjdGlvbmVkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5U2VjdGlvbmVkRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vc2VjdGlvbmVkLWZvcm0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5U2VjdGlvbmVkRm9ybUNvbXBvbmVudCwgU2t5U2VjdGlvbmVkRm9ybVNlY3Rpb25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNreUNoZWNrYm94TW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICAgIFNreVZlcnRpY2FsVGFic2V0TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2t5U2VjdGlvbmVkRm9ybUNvbXBvbmVudCwgU2t5U2VjdGlvbmVkRm9ybVNlY3Rpb25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWN0aW9uZWRGb3JtTW9kdWxlIHt9XG4iXX0=
|
|
@@ -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
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySectionedFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
30
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySectionedFormService }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySectionedFormService, decorators: [{
|
|
33
|
-
type: Injectable
|
|
34
|
-
}] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy9zZWN0aW9uZWQtZm9ybS9zZWN0aW9uZWQtZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLHVCQUF1QjtJQURwQztRQUVFOztXQUVHO1FBQ0ksa0JBQWEsR0FDbEIsSUFBSSxlQUFlLENBQXNCLFNBQVMsQ0FBQyxDQUFDO1FBQ3REOztXQUVHO1FBQ0ksbUJBQWMsR0FDbkIsSUFBSSxlQUFlLENBQXNCLFNBQVMsQ0FBQyxDQUFDO0tBaUJ2RDtJQWZDOzs7T0FHRztJQUNJLG1CQUFtQixDQUFDLFNBQThCO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxvQkFBb0IsQ0FBQyxVQUErQjtRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDOytHQTFCVSx1QkFBdUI7bUhBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lTZWN0aW9uZWRGb3JtU2VydmljZSB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBpbnZhbGlkQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbiB8IHVuZGVmaW5lZD4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHJlcXVpcmVkQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbiB8IHVuZGVmaW5lZD4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCBzZWN0aW9uJ3MgaW52YWxpZCBzdGF0ZSBiYXNlZCBvbiB0aGUgYGlzSW52YWxpZGAgcGFyYW1ldGVyLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHdpdGhpbiBhIGBza3ktc2VjdGlvbmVkLWZvcm0tc2VjdGlvbmAgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBpbnZhbGlkRmllbGRDaGFuZ2VkKGlzSW52YWxpZDogYm9vbGVhbiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuaW52YWxpZENoYW5nZS5uZXh0KGlzSW52YWxpZCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCBzZWN0aW9uJ3MgcmVxdWlyZWQgc3RhdGUgYmFzZWQgb24gdGhlIGBpc1JlcXVpcmVkYCBwYXJhbWV0ZXIuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgd2l0aGluIGEgYHNreS1zZWN0aW9uZWQtZm9ybS1zZWN0aW9uYCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIHJlcXVpcmVkRmllbGRDaGFuZ2VkKGlzUmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLnJlcXVpcmVkQ2hhbmdlLm5leHQoaXNSZXF1aXJlZCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export var SkySectionedFormMessageType;
|
|
2
|
-
(function (SkySectionedFormMessageType) {
|
|
3
|
-
SkySectionedFormMessageType[SkySectionedFormMessageType["ShowTabs"] = 1] = "ShowTabs";
|
|
4
|
-
})(SkySectionedFormMessageType || (SkySectionedFormMessageType = {}));
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0tbWVzc2FnZS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3NlY3Rpb25lZC1mb3JtL3R5cGVzL3NlY3Rpb25lZC1mb3JtLW1lc3NhZ2UtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSwyQkFFWDtBQUZELFdBQVksMkJBQTJCO0lBQ3JDLHFGQUFZLENBQUE7QUFDZCxDQUFDLEVBRlcsMkJBQTJCLEtBQTNCLDJCQUEyQixRQUV0QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNreVNlY3Rpb25lZEZvcm1NZXNzYWdlVHlwZSB7XG4gIFNob3dUYWJzID0gMSxcbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmVkLWZvcm0tbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy9zZWN0aW9uZWQtZm9ybS90eXBlcy9zZWN0aW9uZWQtZm9ybS1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lTZWN0aW9uZWRGb3JtTWVzc2FnZVR5cGUgfSBmcm9tICcuL3NlY3Rpb25lZC1mb3JtLW1lc3NhZ2UtdHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5U2VjdGlvbmVkRm9ybU1lc3NhZ2Uge1xuICB0eXBlOiBTa3lTZWN0aW9uZWRGb3JtTWVzc2FnZVR5cGU7XG59XG4iXX0=
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/* istanbul ignore file */
|
|
2
|
-
/**
|
|
3
|
-
* NOTICE: DO NOT MODIFY THIS FILE!
|
|
4
|
-
* The contents of this file were automatically generated by
|
|
5
|
-
* the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-tabs' schematic.
|
|
6
|
-
* To update this file, simply rerun the command.
|
|
7
|
-
*/
|
|
8
|
-
import { NgModule } from '@angular/core';
|
|
9
|
-
import { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
const RESOURCES = {
|
|
12
|
-
'EN-US': {
|
|
13
|
-
skyux_tab_add: { message: 'Add tab' },
|
|
14
|
-
skyux_tab_close: { message: 'Close {0} tab' },
|
|
15
|
-
skyux_tabs_navigator_finish: { message: 'Finish' },
|
|
16
|
-
skyux_tabs_navigator_next: { message: 'Next' },
|
|
17
|
-
skyux_tabs_navigator_previous: { message: 'Previous' },
|
|
18
|
-
skyux_tab_open: { message: 'Open tab' },
|
|
19
|
-
skyux_vertical_tabs_show_tabs_text: { message: 'Tab list' },
|
|
20
|
-
skyux_wizard_sr_step_current: { message: 'Step {0} of {1}, current: {2}' },
|
|
21
|
-
skyux_wizard_sr_step_completed: {
|
|
22
|
-
message: 'Step {0} of {1}, completed: {2}',
|
|
23
|
-
},
|
|
24
|
-
skyux_wizard_sr_step_unavailable: {
|
|
25
|
-
message: 'Step {0} of {1}, unavailable: {2}',
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
SkyLibResourcesService.addResources(RESOURCES);
|
|
30
|
-
/**
|
|
31
|
-
* Import into any component library module that needs to use resource strings.
|
|
32
|
-
*/
|
|
33
|
-
export class SkyTabsResourcesModule {
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTabsResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
35
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyTabsResourcesModule, exports: [SkyI18nModule] }); }
|
|
36
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTabsResourcesModule, imports: [SkyI18nModule] }); }
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTabsResourcesModule, decorators: [{
|
|
39
|
-
type: NgModule,
|
|
40
|
-
args: [{
|
|
41
|
-
exports: [SkyI18nModule],
|
|
42
|
-
}]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFFMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1AsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUNyQyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFO1FBQzdDLDJCQUEyQixFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRTtRQUNsRCx5QkFBeUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDOUMsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQ3RELGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDdkMsa0NBQWtDLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQzNELDRCQUE0QixFQUFFLEVBQUUsT0FBTyxFQUFFLCtCQUErQixFQUFFO1FBQzFFLDhCQUE4QixFQUFFO1lBQzlCLE9BQU8sRUFBRSxpQ0FBaUM7U0FDM0M7UUFDRCxnQ0FBZ0MsRUFBRTtZQUNoQyxPQUFPLEVBQUUsbUNBQW1DO1NBQzdDO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsc0JBQXNCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRS9DOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjsrR0FBdEIsc0JBQXNCO2dIQUF0QixzQkFBc0IsWUFGdkIsYUFBYTtnSEFFWixzQkFBc0IsWUFGdkIsYUFBYTs7NEZBRVosc0JBQXNCO2tCQUhsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS10YWJzJyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lJMThuTW9kdWxlLFxuICBTa3lMaWJSZXNvdXJjZXMsXG4gIFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuY29uc3QgUkVTT1VSQ0VTOiBSZWNvcmQ8c3RyaW5nLCBTa3lMaWJSZXNvdXJjZXM+ID0ge1xuICAnRU4tVVMnOiB7XG4gICAgc2t5dXhfdGFiX2FkZDogeyBtZXNzYWdlOiAnQWRkIHRhYicgfSxcbiAgICBza3l1eF90YWJfY2xvc2U6IHsgbWVzc2FnZTogJ0Nsb3NlIHswfSB0YWInIH0sXG4gICAgc2t5dXhfdGFic19uYXZpZ2F0b3JfZmluaXNoOiB7IG1lc3NhZ2U6ICdGaW5pc2gnIH0sXG4gICAgc2t5dXhfdGFic19uYXZpZ2F0b3JfbmV4dDogeyBtZXNzYWdlOiAnTmV4dCcgfSxcbiAgICBza3l1eF90YWJzX25hdmlnYXRvcl9wcmV2aW91czogeyBtZXNzYWdlOiAnUHJldmlvdXMnIH0sXG4gICAgc2t5dXhfdGFiX29wZW46IHsgbWVzc2FnZTogJ09wZW4gdGFiJyB9LFxuICAgIHNreXV4X3ZlcnRpY2FsX3RhYnNfc2hvd190YWJzX3RleHQ6IHsgbWVzc2FnZTogJ1RhYiBsaXN0JyB9LFxuICAgIHNreXV4X3dpemFyZF9zcl9zdGVwX2N1cnJlbnQ6IHsgbWVzc2FnZTogJ1N0ZXAgezB9IG9mIHsxfSwgY3VycmVudDogezJ9JyB9LFxuICAgIHNreXV4X3dpemFyZF9zcl9zdGVwX2NvbXBsZXRlZDoge1xuICAgICAgbWVzc2FnZTogJ1N0ZXAgezB9IG9mIHsxfSwgY29tcGxldGVkOiB7Mn0nLFxuICAgIH0sXG4gICAgc2t5dXhfd2l6YXJkX3NyX3N0ZXBfdW5hdmFpbGFibGU6IHtcbiAgICAgIG1lc3NhZ2U6ICdTdGVwIHswfSBvZiB7MX0sIHVuYXZhaWxhYmxlOiB7Mn0nLFxuICAgIH0sXG4gIH0sXG59O1xuXG5Ta3lMaWJSZXNvdXJjZXNTZXJ2aWNlLmFkZFJlc291cmNlcyhSRVNPVVJDRVMpO1xuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUYWJzUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Tracks the element IDs for all tabs within a tablist.
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export class SkyTabIdService {
|
|
9
|
-
get ids() {
|
|
10
|
-
return this.#idsObs;
|
|
11
|
-
}
|
|
12
|
-
#ids;
|
|
13
|
-
#ids$;
|
|
14
|
-
#idsObs;
|
|
15
|
-
constructor() {
|
|
16
|
-
this.#ids = new Map();
|
|
17
|
-
this.#ids$ = new BehaviorSubject([]);
|
|
18
|
-
this.#idsObs = this.#ids$.asObservable();
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Associates a tab's ID with its parent tablist.
|
|
22
|
-
* @param {string} id A unique ID for the tab's registration.
|
|
23
|
-
* @param {string} elementId The ID applied to the tab's element.
|
|
24
|
-
*/
|
|
25
|
-
register(id, elementId) {
|
|
26
|
-
if (!this.#ids.has(id) || this.#ids.get(id) !== elementId) {
|
|
27
|
-
this.#ids.set(id, elementId);
|
|
28
|
-
this.#emitIds();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Disassociates a tab's ID with its parent tablist.
|
|
33
|
-
* @param {string} id The ID used to register the tab.
|
|
34
|
-
*/
|
|
35
|
-
unregister(id) {
|
|
36
|
-
if (this.#ids.has(id)) {
|
|
37
|
-
this.#ids.delete(id);
|
|
38
|
-
this.#emitIds();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
#emitIds() {
|
|
42
|
-
this.#ids$.next(Array.from(this.#ids.values()));
|
|
43
|
-
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTabIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTabIdService }); }
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTabIdService, decorators: [{
|
|
48
|
-
type: Injectable
|
|
49
|
-
}], ctorParameters: () => [] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWlkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3RhYi1pZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFFbkQ7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFDMUIsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLENBQXNCO0lBQzFCLEtBQUssQ0FBNEI7SUFDakMsT0FBTyxDQUF1QjtJQUU5QjtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxFQUFVLEVBQUUsU0FBaUI7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsRUFBVTtRQUMxQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQzsrR0F4Q1UsZUFBZTttSEFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBUcmFja3MgdGhlIGVsZW1lbnQgSURzIGZvciBhbGwgdGFicyB3aXRoaW4gYSB0YWJsaXN0LlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lUYWJJZFNlcnZpY2Uge1xuICBwdWJsaWMgZ2V0IGlkcygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuI2lkc09icztcbiAgfVxuXG4gICNpZHM6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gICNpZHMkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+O1xuICAjaWRzT2JzOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNpZHMgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy4jaWRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcbiAgICB0aGlzLiNpZHNPYnMgPSB0aGlzLiNpZHMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZXMgYSB0YWIncyBJRCB3aXRoIGl0cyBwYXJlbnQgdGFibGlzdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkIEEgdW5pcXVlIElEIGZvciB0aGUgdGFiJ3MgcmVnaXN0cmF0aW9uLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZWxlbWVudElkIFRoZSBJRCBhcHBsaWVkIHRvIHRoZSB0YWIncyBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyKGlkOiBzdHJpbmcsIGVsZW1lbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiNpZHMuaGFzKGlkKSB8fCB0aGlzLiNpZHMuZ2V0KGlkKSAhPT0gZWxlbWVudElkKSB7XG4gICAgICB0aGlzLiNpZHMuc2V0KGlkLCBlbGVtZW50SWQpO1xuICAgICAgdGhpcy4jZW1pdElkcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhc3NvY2lhdGVzIGEgdGFiJ3MgSUQgd2l0aCBpdHMgcGFyZW50IHRhYmxpc3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCBUaGUgSUQgdXNlZCB0byByZWdpc3RlciB0aGUgdGFiLlxuICAgKi9cbiAgcHVibGljIHVucmVnaXN0ZXIoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNpZHMuaGFzKGlkKSkge1xuICAgICAgdGhpcy4jaWRzLmRlbGV0ZShpZCk7XG4gICAgICB0aGlzLiNlbWl0SWRzKCk7XG4gICAgfVxuICB9XG5cbiAgI2VtaXRJZHMoKTogdm9pZCB7XG4gICAgdGhpcy4jaWRzJC5uZXh0KEFycmF5LmZyb20odGhpcy4jaWRzLnZhbHVlcygpKSk7XG4gIH1cbn1cbiJdfQ==
|