@skyux/docs-tools 9.0.0-alpha.5 → 9.1.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/esm2022/docs-tools.module.mjs +4 -4
- package/esm2022/modules/anatomy/anatomy-item.component.mjs +3 -3
- package/esm2022/modules/anatomy/anatomy-thumbnail.component.mjs +3 -3
- package/esm2022/modules/anatomy/anatomy.component.mjs +3 -3
- package/esm2022/modules/anatomy/anatomy.module.mjs +4 -4
- package/esm2022/modules/code-examples/code-example.component.mjs +3 -3
- package/esm2022/modules/code-examples/code-examples-editor.service.mjs +14 -5
- package/esm2022/modules/code-examples/code-examples.component.mjs +3 -3
- package/esm2022/modules/code-examples/code-examples.module.mjs +4 -4
- package/esm2022/modules/demo/demo-control-panel-checkbox.component.mjs +3 -3
- package/esm2022/modules/demo/demo-control-panel-radio-group.component.mjs +3 -3
- package/esm2022/modules/demo/demo-control-panel-section.component.mjs +3 -3
- package/esm2022/modules/demo/demo-control-panel.component.mjs +3 -3
- package/esm2022/modules/demo/demo.component.mjs +3 -3
- package/esm2022/modules/demo/demo.module.mjs +4 -4
- package/esm2022/modules/demo-page/demo-page-dom-adapter.service.mjs +3 -3
- package/esm2022/modules/demo-page/demo-page-module-info.component.mjs +3 -3
- package/esm2022/modules/demo-page/demo-page-section.component.mjs +3 -3
- package/esm2022/modules/demo-page/demo-page-summary.component.mjs +3 -3
- package/esm2022/modules/demo-page/demo-page-title.service.mjs +3 -3
- package/esm2022/modules/demo-page/demo-page-type-definitions.component.mjs +3 -3
- package/esm2022/modules/demo-page/demo-page.component.mjs +3 -3
- package/esm2022/modules/demo-page/demo-page.module.mjs +4 -4
- package/esm2022/modules/design-guidelines/design-guideline-thumbnail.component.mjs +3 -3
- package/esm2022/modules/design-guidelines/design-guideline.component.mjs +3 -3
- package/esm2022/modules/design-guidelines/design-guidelines.component.mjs +3 -3
- package/esm2022/modules/design-guidelines/design-guidelines.module.mjs +4 -4
- package/esm2022/modules/heading-anchor/heading-anchor.component.mjs +3 -3
- package/esm2022/modules/heading-anchor/heading-anchor.module.mjs +4 -4
- package/esm2022/modules/markdown/markdown.module.mjs +4 -4
- package/esm2022/modules/markdown/markdown.pipe.mjs +3 -3
- package/esm2022/modules/module-info/module-info.component.mjs +3 -3
- package/esm2022/modules/module-info/module-info.module.mjs +4 -4
- package/esm2022/modules/safe-html/safe-html.component.mjs +3 -3
- package/esm2022/modules/safe-html/safe-html.module.mjs +4 -4
- package/esm2022/modules/shared/docs-tools-supportal.service.mjs +3 -3
- package/esm2022/modules/shared/sky-docs-tools-resources.module.mjs +23 -11
- package/esm2022/modules/source-code/source-code-provider.mjs +3 -3
- package/esm2022/modules/source-code/source-code.service.mjs +3 -3
- package/esm2022/modules/thumbnail/thumbnail.component.mjs +3 -3
- package/esm2022/modules/thumbnail/thumbnail.module.mjs +4 -4
- package/esm2022/modules/type-definitions/anchor-link.service.mjs +3 -3
- package/esm2022/modules/type-definitions/call-signature-definition.component.mjs +3 -3
- package/esm2022/modules/type-definitions/class-definition.component.mjs +3 -3
- package/esm2022/modules/type-definitions/directive-definition.component.mjs +3 -3
- package/esm2022/modules/type-definitions/enumeration-definition.component.mjs +3 -3
- package/esm2022/modules/type-definitions/interface-definition.component.mjs +3 -3
- package/esm2022/modules/type-definitions/method-definitions.component.mjs +3 -3
- package/esm2022/modules/type-definitions/pipe-definition.component.mjs +3 -3
- package/esm2022/modules/type-definitions/property-definitions.component.mjs +3 -3
- package/esm2022/modules/type-definitions/type-alias-definition.component.mjs +3 -3
- package/esm2022/modules/type-definitions/type-anchor-links.pipe.mjs +3 -3
- package/esm2022/modules/type-definitions/type-definitions-format.service.mjs +3 -3
- package/esm2022/modules/type-definitions/type-definitions-provider.mjs +3 -3
- package/esm2022/modules/type-definitions/type-definitions.module.mjs +4 -4
- package/esm2022/modules/type-definitions/type-definitions.service.mjs +3 -3
- package/esm2022/modules/type-definitions/typedoc-adapter.service.mjs +3 -3
- package/fesm2022/skyux-docs-tools.mjs +212 -191
- package/fesm2022/skyux-docs-tools.mjs.map +1 -1
- package/package.json +19 -19
|
@@ -10,21 +10,21 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
* This module conveniently exports the most commonly used modules.
|
|
11
11
|
*/
|
|
12
12
|
export class SkyDocsToolsModule {
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
14
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsToolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
14
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsToolsModule, exports: [SkyAuthHttpClientModule,
|
|
15
15
|
SkyDocsAnatomyModule,
|
|
16
16
|
SkyDocsCodeExamplesModule,
|
|
17
17
|
SkyDocsDemoModule,
|
|
18
18
|
SkyDocsDemoPageModule,
|
|
19
19
|
SkyDocsDesignGuidelinesModule] }); }
|
|
20
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.
|
|
20
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsToolsModule, imports: [SkyAuthHttpClientModule,
|
|
21
21
|
SkyDocsAnatomyModule,
|
|
22
22
|
SkyDocsCodeExamplesModule,
|
|
23
23
|
SkyDocsDemoModule,
|
|
24
24
|
SkyDocsDemoPageModule,
|
|
25
25
|
SkyDocsDesignGuidelinesModule] }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsToolsModule, decorators: [{
|
|
28
28
|
type: NgModule,
|
|
29
29
|
args: [{
|
|
30
30
|
exports: [
|
|
@@ -5,10 +5,10 @@ export class SkyDocsAnatomyItemComponent {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.isOptional = false;
|
|
7
7
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsAnatomyItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDocsAnatomyItemComponent, selector: "sky-docs-anatomy-item", inputs: { isOptional: "isOptional" }, ngImport: i0, template: "<div\n class=\"sky-docs-anatomy-item\"\n [ngClass]=\"{\n 'sky-docs-anatomy-item-optional': isOptional\n }\"\n>\n <div class=\"sky-docs-anatomy-item-marker\">\n {{ marker }}\n </div>\n <div class=\"sky-docs-anatomy-item-description\">\n <ng-content></ng-content>\n <span *ngIf=\"isOptional\" class=\"sky-deemphasized\"> (optional)</span>\n </div>\n</div>\n", styles: [".sky-docs-anatomy-item-marker{display:flex;width:22px;height:22px;border-radius:50%;justify-content:center;align-items:center;margin-right:5px;color:#fff;background-color:#4d842d}.sky-docs-anatomy-item{margin-bottom:10px;display:flex;align-items:center}.sky-docs-anatomy-item.sky-docs-anatomy-item-optional .sky-docs-anatomy-item-marker{background-color:#b7da9b;color:#212327}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsAnatomyItemComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'sky-docs-anatomy-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-docs-anatomy-item\"\n [ngClass]=\"{\n 'sky-docs-anatomy-item-optional': isOptional\n }\"\n>\n <div class=\"sky-docs-anatomy-item-marker\">\n {{ marker }}\n </div>\n <div class=\"sky-docs-anatomy-item-description\">\n <ng-content></ng-content>\n <span *ngIf=\"isOptional\" class=\"sky-deemphasized\"> (optional)</span>\n </div>\n</div>\n", styles: [".sky-docs-anatomy-item-marker{display:flex;width:22px;height:22px;border-radius:50%;justify-content:center;align-items:center;margin-right:5px;color:#fff;background-color:#4d842d}.sky-docs-anatomy-item{margin-bottom:10px;display:flex;align-items:center}.sky-docs-anatomy-item.sky-docs-anatomy-item-optional .sky-docs-anatomy-item-marker{background-color:#b7da9b;color:#212327}\n"] }]
|
|
14
14
|
}], propDecorators: { isOptional: [{
|
|
@@ -5,10 +5,10 @@ export class SkyDocsAnatomyThumbnailComponent {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.showBorder = false;
|
|
7
7
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsAnatomyThumbnailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDocsAnatomyThumbnailComponent, selector: "sky-docs-anatomy-thumbnail", inputs: { caption: "caption", captionType: "captionType", imageAlt: "imageAlt", imageSource: "imageSource", videoSource: "videoSource", showBorder: "showBorder" }, ngImport: i0, template: "<div class=\"sky-docs-anatomy-thumbnail\">\n <sky-docs-thumbnail\n [caption]=\"caption\"\n [captionType]=\"captionType\"\n [imageAlt]=\"imageAlt\"\n [imageSource]=\"imageSource\"\n [videoSource]=\"videoSource\"\n [showBorder]=\"showBorder\"\n ></sky-docs-thumbnail>\n</div>\n", styles: [".sky-docs-anatomy-thumbnail{margin-bottom:50px}\n"], dependencies: [{ kind: "component", type: i1.SkyDocsThumbnailComponent, selector: "sky-docs-thumbnail", inputs: ["caption", "captionType", "imageAlt", "imageSource", "showBorder", "videoSource"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsAnatomyThumbnailComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'sky-docs-anatomy-thumbnail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-docs-anatomy-thumbnail\">\n <sky-docs-thumbnail\n [caption]=\"caption\"\n [captionType]=\"captionType\"\n [imageAlt]=\"imageAlt\"\n [imageSource]=\"imageSource\"\n [videoSource]=\"videoSource\"\n [showBorder]=\"showBorder\"\n ></sky-docs-thumbnail>\n</div>\n", styles: [".sky-docs-anatomy-thumbnail{margin-bottom:50px}\n"] }]
|
|
14
14
|
}], propDecorators: { caption: [{
|
|
@@ -10,10 +10,10 @@ export class SkyDocsAnatomyComponent {
|
|
|
10
10
|
item.marker = (i + 1).toString();
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsAnatomyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDocsAnatomyComponent, selector: "sky-docs-anatomy", inputs: { imagePath: "imagePath" }, queries: [{ propertyName: "anatomyItems", predicate: SkyDocsAnatomyItemComponent }], ngImport: i0, template: "<div class=\"sky-docs-anatomy\">\n <sky-row>\n <sky-column\n class=\"sky-docs-anatomy-items\"\n screenSmall=\"6\"\n screenMedium=\"5\"\n screenLarge=\"4\"\n >\n <ng-content select=\"sky-docs-anatomy-item\"></ng-content>\n </sky-column>\n <sky-column screenSmall=\"6\" screenMedium=\"7\" screenLarge=\"8\">\n <sky-image\n *ngIf=\"imagePath; else thumbnails\"\n [imageSource]=\"imagePath\"\n ></sky-image>\n </sky-column>\n </sky-row>\n</div>\n\n<ng-template #thumbnails>\n <ng-content select=\"sky-docs-anatomy-thumbnail\"></ng-content>\n</ng-template>\n", styles: [".sky-docs-anatomy-items{padding-bottom:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.λ23, selector: "sky-row", inputs: ["reverseColumnOrder"] }, { kind: "component", type: i2.λ24, selector: "sky-column", inputs: ["screenXSmall", "screenSmall", "screenMedium", "screenLarge"] }, { kind: "component", type: i3.λ4, selector: "sky-image", inputs: ["caption", "captionType", "imageAlt", "imageSource", "showBorder", "showCaptionPrefix"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsAnatomyComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
18
|
args: [{ selector: 'sky-docs-anatomy', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-docs-anatomy\">\n <sky-row>\n <sky-column\n class=\"sky-docs-anatomy-items\"\n screenSmall=\"6\"\n screenMedium=\"5\"\n screenLarge=\"4\"\n >\n <ng-content select=\"sky-docs-anatomy-item\"></ng-content>\n </sky-column>\n <sky-column screenSmall=\"6\" screenMedium=\"7\" screenLarge=\"8\">\n <sky-image\n *ngIf=\"imagePath; else thumbnails\"\n [imageSource]=\"imagePath\"\n ></sky-image>\n </sky-column>\n </sky-row>\n</div>\n\n<ng-template #thumbnails>\n <ng-content select=\"sky-docs-anatomy-thumbnail\"></ng-content>\n</ng-template>\n", styles: [".sky-docs-anatomy-items{padding-bottom:20px}\n"] }]
|
|
19
19
|
}], propDecorators: { imagePath: [{
|
|
@@ -8,8 +8,8 @@ import { SkyDocsThumbnailModule } from '../thumbnail/thumbnail.module';
|
|
|
8
8
|
import { SkyDocsAnatomyThumbnailComponent } from './anatomy-thumbnail.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class SkyDocsAnatomyModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsAnatomyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsAnatomyModule, declarations: [SkyDocsAnatomyComponent,
|
|
13
13
|
SkyDocsAnatomyItemComponent,
|
|
14
14
|
SkyDocsAnatomyThumbnailComponent], imports: [CommonModule,
|
|
15
15
|
SkyDocsThumbnailModule,
|
|
@@ -17,12 +17,12 @@ export class SkyDocsAnatomyModule {
|
|
|
17
17
|
SkyImageModule], exports: [SkyDocsAnatomyComponent,
|
|
18
18
|
SkyDocsAnatomyItemComponent,
|
|
19
19
|
SkyDocsAnatomyThumbnailComponent] }); }
|
|
20
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.
|
|
20
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsAnatomyModule, imports: [CommonModule,
|
|
21
21
|
SkyDocsThumbnailModule,
|
|
22
22
|
SkyFluidGridModule,
|
|
23
23
|
SkyImageModule] }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsAnatomyModule, decorators: [{
|
|
26
26
|
type: NgModule,
|
|
27
27
|
args: [{
|
|
28
28
|
imports: [
|
|
@@ -46,10 +46,10 @@ export class SkyDocsCodeExampleComponent {
|
|
|
46
46
|
this.ngUnsubscribe.next();
|
|
47
47
|
this.ngUnsubscribe.complete();
|
|
48
48
|
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsCodeExampleComponent, deps: [{ token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDocsCodeExampleComponent, selector: "sky-docs-code-example", inputs: { heading: "heading", sourceCodePath: "sourceCodePath", theme: "theme" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
51
51
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsCodeExampleComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
54
|
args: [{
|
|
55
55
|
selector: 'sky-docs-code-example',
|
|
@@ -13,7 +13,7 @@ export class SkyDocsCodeExamplesEditorService {
|
|
|
13
13
|
}
|
|
14
14
|
getPayload(codeExample) {
|
|
15
15
|
const angularVersion = '^16.0.0';
|
|
16
|
-
const skyuxVersion = '^9.0.0
|
|
16
|
+
const skyuxVersion = '^9.0.0';
|
|
17
17
|
const defaultDependencies = {
|
|
18
18
|
'@angular-devkit/build-angular': angularVersion,
|
|
19
19
|
'@angular/animations': angularVersion,
|
|
@@ -113,6 +113,15 @@ export class SkyDocsCodeExamplesEditorService {
|
|
|
113
113
|
moduleImports.push(moduleName);
|
|
114
114
|
moduleImportStatements.push(`import {\n ${moduleName}\n} from '${importPath}';`);
|
|
115
115
|
}
|
|
116
|
+
// Standalone entry components are named demo.component.ts.
|
|
117
|
+
if (file.fileName === 'demo.component.ts') {
|
|
118
|
+
const componentName = 'DemoComponent';
|
|
119
|
+
const componentSelector = 'app-demo';
|
|
120
|
+
const importPath = `./${this.getFilenameNoExtension(file.fileName)}`;
|
|
121
|
+
appComponentTemplate += `<${componentSelector} />`;
|
|
122
|
+
moduleImports.push(componentName);
|
|
123
|
+
moduleImportStatements.push(`import {\n ${componentName}\n} from '${importPath}';`);
|
|
124
|
+
}
|
|
116
125
|
});
|
|
117
126
|
files[`${appPath}app.component.ts`] = `${banner}
|
|
118
127
|
import {
|
|
@@ -344,13 +353,13 @@ body {
|
|
|
344
353
|
const trimmed = found.rawContents.replace(/\s/g, '');
|
|
345
354
|
return trimmed.split(`selector:'`)[1].split(`'`)[0];
|
|
346
355
|
}
|
|
347
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
348
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
|
356
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsCodeExamplesEditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
357
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsCodeExamplesEditorService, providedIn: 'root' }); }
|
|
349
358
|
}
|
|
350
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
359
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsCodeExamplesEditorService, decorators: [{
|
|
351
360
|
type: Injectable,
|
|
352
361
|
args: [{
|
|
353
362
|
providedIn: 'root',
|
|
354
363
|
}]
|
|
355
364
|
}] });
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFXNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBSS9EOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdDQUFnQztJQUNwQyxZQUFZLENBQUMsV0FBK0I7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBMEIsRUFBRSxDQUFDO1FBRTFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxVQUFVLENBQUMsV0FBK0I7UUFDaEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDO1FBRXRDLE1BQU0sbUJBQW1CLEdBQXlDO1lBQ2hFLCtCQUErQixFQUFFLGNBQWM7WUFDL0MscUJBQXFCLEVBQUUsY0FBYztZQUNyQyxjQUFjLEVBQUUsY0FBYztZQUM5QixjQUFjLEVBQUUsY0FBYztZQUM5QixpQkFBaUIsRUFBRSxjQUFjO1lBQ2pDLG1CQUFtQixFQUFFLGNBQWM7WUFDbkMsdUJBQXVCLEVBQUUsY0FBYztZQUN2QyxlQUFlLEVBQUUsY0FBYztZQUMvQixnQkFBZ0IsRUFBRSxjQUFjO1lBQ2hDLDJCQUEyQixFQUFFLGNBQWM7WUFDM0MsbUNBQW1DLEVBQUUsY0FBYztZQUNuRCxpQkFBaUIsRUFBRSxj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bEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhELElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDekIsTUFBTSxDQUNKLHFFQUFxRTtnQkFDckUsYUFBYSxVQUFVLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQzVELHdFQUF3RSxDQUN6RSxDQUFDO1NBQ0g7UUFFRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU8sb0JBQW9CLENBQzFCLGtCQUEwQixFQUMxQixVQUFtQztRQUVuQyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLGtCQUFrQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVyRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OEdBeGFVLGdDQUFnQztrSEFBaEMsZ0NBQWdDLGNBRi9CLE1BQU07OzJGQUVQLGdDQUFnQztrQkFINUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCBTdGFja0JsaXR6U0RLIGZyb20gJ0BzdGFja2JsaXR6L3Nkayc7XG5cbmltcG9ydCB7XG4gIE9wZW5PcHRpb25zIGFzIFN0YWNrQmxpdHpPcGVuT3B0aW9ucyxcbiAgUHJvamVjdCBhcyBTdGFja0JsaXR6UHJvamVjdCxcbn0gZnJvbSAnQHN0YWNrYmxpdHovc2RrJztcblxuaW1wb3J0IHsgU2t5RG9jc1NvdXJjZUNvZGVGaWxlIH0gZnJvbSAnLi4vc291cmNlLWNvZGUvc291cmNlLWNvZGUtZmlsZSc7XG5cbmltcG9ydCB7IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyB9IGZyb20gJy4vY29kZS1leGFtcGxlLW1vZHVsZS1kZXBlbmRlbmNpZXMnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZSB9IGZyb20gJy4vY29kZS1leGFtcGxlLXRoZW1lJztcblxuaW1wb3J0IHsgU2t5RG9jc0NvZGVFeGFtcGxlIH0gZnJvbSAnLi9jb2RlLWV4YW1wbGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9jc0NvZGVFeGFtcGxlc0VkaXRvclNlcnZpY2Uge1xuICBwdWJsaWMgbGF1bmNoRWRpdG9yKGNvZGVFeGFtcGxlOiBTa3lEb2NzQ29kZUV4YW1wbGUpOiB2b2lkIHtcbiAgICBjb25zdCBwcm9qZWN0ID0gdGhpcy5nZXRQYXlsb2FkKGNvZGVFeGFtcGxlKTtcbiAgICBjb25zdCBvcHRpb25zOiBTdGFja0JsaXR6T3Blbk9wdGlvbnMgPSB7fTtcblxuICAgIFN0YWNrQmxpdHpTREsub3BlblByb2plY3QocHJvamVjdCwgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGdldFBheWxvYWQoY29kZUV4YW1wbGU6IFNreURvY3NDb2RlRXhhbXBsZSk6IFN0YWNrQmxpdHpQcm9qZWN0IHtcbiAgICBjb25zdCBhbmd1bGFyVmVyc2lvbiA9ICdeMTYuMC4wJztcbiAgICBjb25zdCBza3l1eFZlcnNpb24gPSAnXjkuMC4wLWFscGhhLjAnO1xuXG4gICAgY29uc3QgZGVmYXVsdERlcGVuZGVuY2llczogU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzID0ge1xuICAgICAgJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2Nkayc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NsaSc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NvbW1vbic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NvbXBpbGVyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tcGlsZXItY2xpJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29yZSc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2Zvcm1zJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL3JvdXRlcic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9hbmltYXRpb25zJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9hc3NldHMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2NvbmZpZyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvY29yZSc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvZXJyb3JzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9mb3Jtcyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaHR0cCc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaTE4bic6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaW5kaWNhdG9ycyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvbGF5b3V0Jzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9tb2RhbHMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3BhY2thZ2VzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9wb3BvdmVycyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvcm91dGVyJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC90aGVtZSc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAdHlwZXMvamFzbWluZSc6ICd+NC4zLjEnLFxuICAgICAgcnhqczogJ143JyxcbiAgICAgIHRzbGliOiAnXjIuNS4wJyxcbiAgICAgIHR5cGVzY3JpcHQ6ICd+NS4xLjYnLFxuICAgICAgJ3pvbmUuanMnOiAnfjAuMTMuMScsXG4gICAgfTtcblxuICAgIGNvbnN0IG1lcmdlZERlcGVuZGVuY2llcyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIGRlZmF1bHREZXBlbmRlbmNpZXMsXG4gICAgICBjb2RlRXhhbXBsZS5wYWNrYWdlRGVwZW5kZW5jaWVzXG4gICAgKTtcblxuICAgIC8vIEVuc3VyZSBhbnkgQHNreXV4IGRlcGVuZGVuY2llcyBsaXN0IHRoZSBjb3JyZWN0IHZlcnNpb24gb2YgU0tZIFVYLlxuICAgIC8vIGUuZy4gYFwiQHNreXV4L2NvcmVcIjogXCIqXCJgIC0tPiBgXCJAc2t5dXgvY29yZVwiOiBcIjUuMC4wXCJgXG4gICAgZm9yIChjb25zdCBwYWNrYWdlTmFtZSBpbiBtZXJnZWREZXBlbmRlbmNpZXMpIHtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgaWYgKG1lcmdlZERlcGVuZGVuY2llcy5oYXNPd25Qcm9wZXJ0eShwYWNrYWdlTmFtZSkpIHtcbiAgICAgICAgY29uc3QgdmVyc2lvbiA9IG1lcmdlZERlcGVuZGVuY2llc1twYWNrYWdlTmFtZV07XG4gICAgICAgIGlmIChcbiAgICAgICAgICB2ZXJzaW9uID09PSAnKicgJiZcbiAgICAgICAgICAvXihAYmxhY2tiYXVkXFwvc2t5dXgtbGliLXxAc2t5dXgpLy50ZXN0KHBhY2thZ2VOYW1lKVxuICAgICAgICApIHtcbiAgICAgICAgICBtZXJnZWREZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdID0gc2t5dXhWZXJzaW9uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZXMgPSB0aGlzLnBhcnNlU3RhY2tCbGl0ekZpbGVzKFxuICAgICAgY29kZUV4YW1wbGUuc291cmNlQ29kZSxcbiAgICAgIG1lcmdlZERlcGVuZGVuY2llcyxcbiAgICAgIGNvZGVFeGFtcGxlLnRoZW1lLFxuICAgICAgY29kZUV4YW1wbGUuc3R5bGVzaGVldHNcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZpbGVzLFxuICAgICAgdGl0bGU6ICdTS1kgVVggRGVtbycsXG4gICAgICBkZXNjcmlwdGlvbjogJ1NLWSBVWCBEZW1vJyxcbiAgICAgIHRlbXBsYXRlOiAnYW5ndWxhci1jbGknLFxuICAgICAgZGVwZW5kZW5jaWVzOiBtZXJnZWREZXBlbmRlbmNpZXMsXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICBjb21waWxlOiB7XG4gICAgICAgICAgY2xlYXJDb25zb2xlOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VTdGFja0JsaXR6RmlsZXMoXG4gICAgc291cmNlQ29kZTogU2t5RG9jc1NvdXJjZUNvZGVGaWxlW10sXG4gICAgZGVwZW5kZW5jaWVzOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMsXG4gICAgdGhlbWU6IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lLFxuICAgIHN0eWxlc2hlZXRzOiBzdHJpbmdbXSA9IFtdXG4gICk6IHtcbiAgICBbcGF0aDogc3RyaW5nXTogc3RyaW5nO1xuICB9IHtcbiAgICBjb25zdCBzcmNQYXRoID0gJ3NyYy8nO1xuICAgIGNvbnN0IGFwcFBhdGggPSBgJHtzcmNQYXRofWFwcC9gO1xuXG4gICAgY29uc3QgYmFubmVyID0gYC8qKlxuICogVGhpcyBmaWxlIGlzIG5lZWRlZCBmb3IgdGhlIFN0YWNrQmxpdHogZGVtbyBvbmx5LlxuICogSXQgaXMgYXV0b21hdGljYWxseSBwcm92aWRlZCB3aGVuIHVzaW5nIHRoZSBBbmd1bGFyIENMSS5cbiAqKi9cbiBgO1xuXG4gICAgY29uc3QgbW9kdWxlSW1wb3J0U3RhdGVtZW50czogc3RyaW5nW10gPSBbXG4gICAgICBgaW1wb3J0IHtcXG4gIE5nTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBGb3Jtc01vZHVsZSxcXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBSb3V0ZXJNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgU2t5QXBwTG9jYWxlUHJvdmlkZXJcXG59IGZyb20gJ0Bza3l1eC9pMThuJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBTa3lUaGVtZVNlcnZpY2VcXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgb2YgYXMgb2JzZXJ2YWJsZU9mXFxufSBmcm9tICdyeGpzJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBBcHBDb21wb25lbnRcXG59IGZyb20gJy4vYXBwLmNvbXBvbmVudCc7YCxcbiAgICBdO1xuXG4gICAgY29uc3QgbW9kdWxlSW1wb3J0czogc3RyaW5nW10gPSBbXG4gICAgICAnQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUnLFxuICAgICAgJ0Zvcm1zTW9kdWxlJyxcbiAgICAgICdSZWFjdGl2ZUZvcm1zTW9kdWxlJyxcbiAgICAgICdSb3V0ZXJNb2R1bGUuZm9yUm9vdChbXSknLFxuICAgIF07XG5cbiAgICBjb25zdCBmaWxlczogeyBbXzogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICAgIGxldCBhcHBDb21wb25lbnRUZW1wbGF0ZSA9ICcnO1xuXG4gICAgc291cmNlQ29kZS5mb3JFYWNoKChmaWxlKSA9PiB7XG4gICAgICBmaWxlc1tgJHthcHBQYXRofSR7ZmlsZS5maWxlTmFtZX1gXSA9IGZpbGUucmF3Q29udGVudHM7XG5cbiAgICAgIC8vIFNldHVwIG1vZHVsZSBpbXBvcnRzIGFuZCBjb21wb25lbnQgc2VsZWN0b3JzLlxuICAgICAgaWYgKGZpbGUuZmlsZU5hbWUuaW5kZXhPZignLm1vZHVsZS50cycpID4gLTEpIHtcbiAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHRoaXMuZ2V0TW9kdWxlTmFtZShmaWxlLnJhd0NvbnRlbnRzKTtcbiAgICAgICAgY29uc3QgaW1wb3J0UGF0aCA9IGAuLyR7dGhpcy5nZXRGaWxlbmFtZU5vRXh0ZW5zaW9uKGZpbGUuZmlsZU5hbWUpfWA7XG5cbiAgICAgICAgY29uc3QgZXhwb3J0ZWRDb21wb25lbnQgPSB0aGlzLmdldEV4cG9ydGVkQ29tcG9uZW50KGZpbGUucmF3Q29udGVudHMpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRTZWxlY3RvciA9IHRoaXMuZ2V0Q29tcG9uZW50U2VsZWN0b3IoXG4gICAgICAgICAgZXhwb3J0ZWRDb21wb25lbnQsXG4gICAgICAgICAgc291cmNlQ29kZVxuICAgICAgICApO1xuXG4gICAgICAgIGFwcENvbXBvbmVudFRlbXBsYXRlICs9IGA8JHtjb21wb25lbnRTZWxlY3Rvcn0+PC8ke2NvbXBvbmVudFNlbGVjdG9yfT5gO1xuXG4gICAgICAgIG1vZHVsZUltcG9ydHMucHVzaChtb2R1bGVOYW1lKTtcbiAgICAgICAgbW9kdWxlSW1wb3J0U3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgIGBpbXBvcnQge1xcbiAgJHttb2R1bGVOYW1lfVxcbn0gZnJvbSAnJHtpbXBvcnRQYXRofSc7YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAuY29tcG9uZW50LnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5VGhlbWUsXG4gIFNreVRoZW1lTW9kZSxcbiAgU2t5VGhlbWVTZXJ2aWNlLFxuICBTa3lUaGVtZVNldHRpbmdzXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kZW1vLWFwcCcsXG4gIHRlbXBsYXRlOiAnJHthcHBDb21wb25lbnRUZW1wbGF0ZX0nXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSxcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICAgIGNvbnN0IHRoZW1lU2V0dGluZ3MgPSBuZXcgU2t5VGhlbWVTZXR0aW5ncyhcbiAgICAgIFNreVRoZW1lLnByZXNldHNbJyR7XG4gICAgICAgIHRoZW1lID09PSBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZS5Nb2Rlcm4gPyAnbW9kZXJuJyA6ICdkZWZhdWx0J1xuICAgICAgfSddLFxuICAgICAgU2t5VGhlbWVNb2RlLnByZXNldHMubGlnaHRcbiAgICApO1xuXG4gICAgdGhlbWVTdmMuaW5pdChcbiAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICByZW5kZXJlcixcbiAgICAgIHRoZW1lU2V0dGluZ3NcbiAgICApO1xuICB9XG5cbn1gO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAubW9kdWxlLnRzYF0gPSBgJHttb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLmpvaW4oJ1xcblxcbicpfVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgJHttb2R1bGVJbXBvcnRzLmpvaW4oJyxcXG4gICAgJyl9XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFwcENvbXBvbmVudFxuICBdLFxuICBib290c3RyYXA6IFtcbiAgICBBcHBDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUFwcExvY2FsZVByb3ZpZGVyLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgZ2V0TG9jYWxlSW5mbzogKCkgPT4gb2JzZXJ2YWJsZU9mKHtcbiAgICAgICAgICBsb2NhbGU6ICdlbi1VUydcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHsgfVxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9aW5kZXguaHRtbGBdID0gYDwhZG9jdHlwZSBodG1sPlxuPGh0bWwgbGFuZz1cImVuXCI+XG48aGVhZD5cbiAgPG1ldGEgY2hhcnNldD1cInV0Zi04XCI+XG4gIDx0aXRsZT5Ta3kgVVggRGVtbzwvdGl0bGU+XG4gIDxiYXNlIGhyZWY9XCIvXCI+XG4gIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiPlxuICA8IS0tXG4gICAgVGhlIENTUyBsaW5rcyBhcmUgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gICAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEga25vd24gYnVnIHRoYXQgcHJldmVudHMgZXh0ZXJuYWwgaW1wb3J0cyBpbiBDU1MuXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL3N0YWNrYmxpdHovY29yZS9pc3N1ZXMvMTMzXG4gIC0tPlxuICA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzc1wiIC8+XG4gIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiaHR0cHM6Ly9za3kuYmxhY2tiYXVkY2RuLm5ldC9zdGF0aWMvc2t5dXgtaWNvbnMvNi4wLjAvYXNzZXRzL2Nzcy9za3l1eC1pY29ucy5taW4uY3NzXCIgLz5cbjwvaGVhZD5cbjxib2R5PlxuICA8c2t5LWRlbW8tYXBwPlxuICAgIExvYWRpbmcuLi5cbiAgPC9za3ktZGVtby1hcHA+XG48L2JvZHk+XG48L2h0bWw+XG5gO1xuXG4gICAgZmlsZXNbYCR7c3JjUGF0aH1tYWluLnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQgJ3pvbmUuanMnO1xuaW1wb3J0ICdAc2t5dXgvcGFja2FnZXMvcG9seWZpbGxzJztcblxuaW1wb3J0IHtcbiAgcGxhdGZvcm1Ccm93c2VyRHluYW1pY1xufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyLWR5bmFtaWMnO1xuXG5pbXBvcnQge1xuICBBcHBNb2R1bGVcbn0gZnJvbSAnLi9hcHAvYXBwLm1vZHVsZSc7XG5cbnBsYXRmb3JtQnJvd3NlckR5bmFtaWMoKVxuICAuYm9vdHN0cmFwTW9kdWxlKEFwcE1vZHVsZSlcbiAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG5cbmA7XG5cbiAgICBmaWxlc1tgJHtzcmNQYXRofXN0eWxlcy5zY3NzYF0gPSBgQGltcG9ydCAnQHNreXV4L3RoZW1lL2Nzcy9za3knO1xuQGltcG9ydCAnQHNreXV4L3RoZW1lL2Nzcy90aGVtZXMvbW9kZXJuL3N0eWxlcyc7XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDE1cHg7XG59YDtcblxuICAgIHN0eWxlc2hlZXRzLnB1c2goJ3NyYy9zdHlsZXMuc2NzcycpO1xuXG4gICAgZmlsZXNbJ2FuZ3VsYXIuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgICRzY2hlbWE6ICcuL25vZGVfbW9kdWxlcy9AYW5ndWxhci9jbGkvbGliL2NvbmZpZy9zY2hlbWEuanNvbicsXG4gICAgICAgIHZlcnNpb246IDEsXG4gICAgICAgIHByb2plY3RzOiB7XG4gICAgICAgICAgZGVtbzoge1xuICAgICAgICAgICAgcHJvamVjdFR5cGU6ICdhcHBsaWNhdGlvbicsXG4gICAgICAgICAgICByb290OiAnJyxcbiAgICAgICAgICAgIHNvdXJjZVJvb3Q6ICdzcmMnLFxuICAgICAgICAgICAgcHJlZml4OiAnYXBwJyxcbiAgICAgICAgICAgIGFyY2hpdGVjdDoge1xuICAgICAgICAgICAgICBidWlsZDoge1xuICAgICAgICAgICAgICAgIGJ1aWxkZXI6ICdAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcjpicm93c2VyJyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBpbmRleDogJ3NyYy9pbmRleC5odG1sJyxcbiAgICAgICAgICAgICAgICAgIG1haW46ICdzcmMvbWFpbi50cycsXG4gICAgICAgICAgICAgICAgICB0c0NvbmZpZzogJ3RzY29uZmlnLmFwcC5qc29uJyxcbiAgICAgICAgICAgICAgICAgIGlubGluZVN0eWxlTGFuZ3VhZ2U6ICdzY3NzJyxcbiAgICAgICAgICAgICAgICAgIHN0eWxlczogc3R5bGVzaGVldHMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uczoge1xuICAgICAgICAgICAgICAgICAgZGV2ZWxvcG1lbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRPcHRpbWl6ZXI6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBvcHRpbWl6YXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB2ZW5kb3JDaHVuazogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmFjdExpY2Vuc2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBuYW1lZENodW5rczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29uZmlndXJhdGlvbjogJ2RldmVsb3BtZW50JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc2VydmU6IHtcbiAgICAgICAgICAgICAgICBidWlsZGVyOiAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6ZGV2LXNlcnZlcicsXG4gICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGRldmVsb3BtZW50OiB7XG4gICAgICAgICAgICAgICAgICAgIGJyb3dzZXJUYXJnZXQ6ICdkZW1vOmJ1aWxkOmRldmVsb3BtZW50JyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29uZmlndXJhdGlvbjogJ2RldmVsb3BtZW50JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyXG4gICAgKTtcblxuICAgIGZpbGVzWydwYWNrYWdlLmpzb24nXSA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc2t5dXgtc3BhLWRlbW8nLFxuICAgICAgICBkZXBlbmRlbmNpZXMsXG4gICAgICAgIHNjcmlwdHM6IHtcbiAgICAgICAgICBzdGFydDogJ25nIHNlcnZlJyxcbiAgICAgICAgICBidWlsZDogJ25nIGJ1aWxkJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyXG4gICAgKTtcblxuICAgIGZpbGVzWyd0c2NvbmZpZy5hcHAuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIGV4dGVuZHM6ICcuL3RzY29uZmlnLmpzb24nLFxuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBvdXREaXI6ICcuL291dC10c2MvYXBwJyxcbiAgICAgICAgICB0eXBlczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIGZpbGVzOiBbJ3NyYy9tYWluLnRzJ10sXG4gICAgICAgIGluY2x1ZGU6IFsnc3JjLyoqLyouZC50cyddLFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDJcbiAgICApO1xuXG4gICAgZmlsZXNbJ3RzY29uZmlnLmpzb24nXSA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAge1xuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgZm9yY2VDb25zaXN0ZW50Q2FzaW5nSW5GaWxlTmFtZXM6IHRydWUsXG4gICAgICAgICAgbm9JbXBsaWNpdE92ZXJyaWRlOiB0cnVlLFxuICAgICAgICAgIG5vUHJvcGVydHlBY2Nlc3NGcm9tSW5kZXhTaWduYXR1cmU6IHRydWUsXG4gICAgICAgICAgbm9JbXBsaWNpdFJldHVybnM6IHRydWUsXG4gICAgICAgICAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gICAgICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICBkb3dubGV2ZWxJdGVyYXRpb246IHRydWUsXG4gICAgICAgICAgZXNNb2R1bGVJbnRlcm9wOiB0cnVlLFxuICAgICAgICAgIGV4cGVyaW1lbnRhbERlY29yYXRvcnM6IHRydWUsXG4gICAgICAgICAgbW9kdWxlUmVzb2x1dGlvbjogJ25vZGUnLFxuICAgICAgICAgIGltcG9ydEhlbHBlcnM6IHRydWUsXG4gICAgICAgICAgdHlwZVJvb3RzOiBbJ25vZGVfbW9kdWxlcy9AdHlwZXMnXSxcbiAgICAgICAgICB0YXJnZXQ6ICdFUzIwMjInLFxuICAgICAgICAgIG1vZHVsZTogJ0VTMjAyMicsXG4gICAgICAgICAgdXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHM6IGZhbHNlLFxuICAgICAgICAgIGxpYjogWydFUzIwMjInLCAnZG9tJ10sXG4gICAgICAgIH0sXG4gICAgICAgIGFuZ3VsYXJDb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBmdWxsVGVtcGxhdGVUeXBlQ2hlY2s6IHRydWUsXG4gICAgICAgICAgZW5hYmxlSTE4bkxlZ2FjeU1lc3NhZ2VJZEZvcm1hdDogZmFsc2UsXG4gICAgICAgICAgc3RyaWN0SW5qZWN0aW9uUGFyYW1ldGVyczogdHJ1ZSxcbiAgICAgICAgICBzdHJpY3RJbnB1dEFjY2Vzc01vZGlmaWVyczogdHJ1ZSxcbiAgICAgICAgICBzdHJpY3RUZW1wbGF0ZXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgMlxuICAgICk7XG5cbiAgICByZXR1cm4gZmlsZXM7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZHVsZU5hbWUoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbnRlbnRzLnNwbGl0KCdleHBvcnQgY2xhc3MgJylbMV0uc3BsaXQoJyB7JylbMF07XG4gIH1cblxuICBwcml2YXRlIGdldEZpbGVuYW1lTm9FeHRlbnNpb24oZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZmlsZU5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICByZXR1cm4gZmlsZU5hbWUucmVwbGFjZShgLiR7ZXh0ZW5zaW9ufWAsICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXhwb3J0ZWRDb21wb25lbnQoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdHJpbW1lZCA9IGNvbnRlbnRzLnJlcGxhY2UoL1xccy9nLCAnJyk7XG5cbiAgICBsZXQgZnJhZ21lbnQgPSB0cmltbWVkLnNwbGl0KCdleHBvcnRzOlsnKVsxXTtcbiAgICBpZiAoIWZyYWdtZW50KSB7XG4gICAgICB0aHJvdyAnWW91IG11c3QgZXhwb3J0IGEgY29tcG9uZW50IGZyb20gdGhlIGNvZGUgZXhhbXBsZSBtb2R1bGUhJztcbiAgICB9XG5cbiAgICBmcmFnbWVudCA9IGZyYWdtZW50LnNwbGl0KCddJylbMF07XG5cbiAgICBjb25zdCBjb21wb25lbnRzID0gZnJhZ21lbnQuc3BsaXQoJywnKS5maWx0ZXIoKHgpID0+IHgpO1xuXG4gICAgaWYgKGNvbXBvbmVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgKFxuICAgICAgICAnWW91IG1heSBvbmx5IGV4cG9ydCBhIHNpbmdsZSBjb21wb25lbnQgZnJvbSB0aGUgY29kZSBleGFtcGxlIG1vZHVsZScgK1xuICAgICAgICBgKHdlIGZvdW5kICR7Y29tcG9uZW50cy5sZW5ndGh9OiAke2NvbXBvbmVudHMuam9pbignLCAnKX0pLmAgK1xuICAgICAgICAnSXMgaXQgcG9zc2libGUgdG8gY3JlYXRlIGEgbmV3IGNvZGUgZXhhbXBsZSB3aXRoIHRoZSBleHRyYSBjb21wb25lbnRzPydcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudHNbMF07XG4gIH1cblxuICBwcml2YXRlIGdldENvbXBvbmVudFNlbGVjdG9yKFxuICAgIGNvbXBvbmVudENsYXNzTmFtZTogc3RyaW5nLFxuICAgIHNvdXJjZUNvZGU6IFNreURvY3NTb3VyY2VDb2RlRmlsZVtdXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgZm91bmQgPSBzb3VyY2VDb2RlLmZpbmQoKGZpbGUpID0+IHtcbiAgICAgIHJldHVybiBmaWxlLnJhd0NvbnRlbnRzLmluZGV4T2YoYGNsYXNzICR7Y29tcG9uZW50Q2xhc3NOYW1lfWApID4gLTE7XG4gICAgfSk7XG5cbiAgICBjb25zdCB0cmltbWVkID0gZm91bmQucmF3Q29udGVudHMucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIHJldHVybiB0cmltbWVkLnNwbGl0KGBzZWxlY3RvcjonYClbMV0uc3BsaXQoYCdgKVswXTtcbiAgfVxufVxuIl19
|
|
365
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFXNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBSS9EOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdDQUFnQztJQUNwQyxZQUFZLENBQUMsV0FBK0I7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBMEIsRUFBRSxDQUFDO1FBRTFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxVQUFVLENBQUMsV0FBK0I7UUFDaEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQztRQUU5QixNQUFNLG1CQUFtQixHQUF5QztZQUNoRSwrQkFBK0IsRUFBRSxjQUFjO1lBQy9DLHFCQUFxQixFQUFFLGNBQWM7WUFDckMsY0FBYyxFQUFFLGNBQWM7WUFDOUIsY0FBYyxFQUFFLGNBQWM7WUFDOUIsaUJBQWlCLEVBQUUsY0FBYztZQUNqQyxtQkFBbUIsRUFBRSxjQUFjO1lBQ25DLHVCQUF1QixFQUFFLGNBQWM7WUFDdkMsZUFBZSxFQUFFLGNBQWM7WUFDL0IsZ0JBQWdCLEVBQUUsY0FBYztZQUNoQywyQkFBMkIsRUFBRSxjQUFjO1lBQzNDLG1DQUFtQyxFQUFFLGNBQWM7WUFDbkQsaUJBQWlCLEVBQUUsY0FB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QUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFckQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDOzhHQXRiVSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQyxjQUYvQixNQUFNOzsyRkFFUCxnQ0FBZ0M7a0JBSDVDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgU3RhY2tCbGl0elNESyBmcm9tICdAc3RhY2tibGl0ei9zZGsnO1xuXG5pbXBvcnQge1xuICBPcGVuT3B0aW9ucyBhcyBTdGFja0JsaXR6T3Blbk9wdGlvbnMsXG4gIFByb2plY3QgYXMgU3RhY2tCbGl0elByb2plY3QsXG59IGZyb20gJ0BzdGFja2JsaXR6L3Nkayc7XG5cbmltcG9ydCB7IFNreURvY3NTb3VyY2VDb2RlRmlsZSB9IGZyb20gJy4uL3NvdXJjZS1jb2RlL3NvdXJjZS1jb2RlLWZpbGUnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMgfSBmcm9tICcuL2NvZGUtZXhhbXBsZS1tb2R1bGUtZGVwZW5kZW5jaWVzJztcblxuaW1wb3J0IHsgU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUgfSBmcm9tICcuL2NvZGUtZXhhbXBsZS10aGVtZSc7XG5cbmltcG9ydCB7IFNreURvY3NDb2RlRXhhbXBsZSB9IGZyb20gJy4vY29kZS1leGFtcGxlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY3NDb2RlRXhhbXBsZXNFZGl0b3JTZXJ2aWNlIHtcbiAgcHVibGljIGxhdW5jaEVkaXRvcihjb2RlRXhhbXBsZTogU2t5RG9jc0NvZGVFeGFtcGxlKTogdm9pZCB7XG4gICAgY29uc3QgcHJvamVjdCA9IHRoaXMuZ2V0UGF5bG9hZChjb2RlRXhhbXBsZSk7XG4gICAgY29uc3Qgb3B0aW9uczogU3RhY2tCbGl0ek9wZW5PcHRpb25zID0ge307XG5cbiAgICBTdGFja0JsaXR6U0RLLm9wZW5Qcm9qZWN0KHByb2plY3QsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXlsb2FkKGNvZGVFeGFtcGxlOiBTa3lEb2NzQ29kZUV4YW1wbGUpOiBTdGFja0JsaXR6UHJvamVjdCB7XG4gICAgY29uc3QgYW5ndWxhclZlcnNpb24gPSAnXjE2LjAuMCc7XG4gICAgY29uc3Qgc2t5dXhWZXJzaW9uID0gJ145LjAuMCc7XG5cbiAgICBjb25zdCBkZWZhdWx0RGVwZW5kZW5jaWVzOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMgPSB7XG4gICAgICAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXInOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9hbmltYXRpb25zJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY2RrJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY2xpJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tbW9uJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tcGlsZXInOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9jb21waWxlci1jbGknOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9jb3JlJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvZm9ybXMnOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcm91dGVyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQHNreXV4L2FuaW1hdGlvbnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2Fzc2V0cyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvY29uZmlnJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9jb3JlJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9lcnJvcnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2Zvcm1zJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9odHRwJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9pMThuJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9pbmRpY2F0b3JzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9sYXlvdXQnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L21vZGFscyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvcGFja2FnZXMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3BvcG92ZXJzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9yb3V0ZXInOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3RoZW1lJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0B0eXBlcy9qYXNtaW5lJzogJ340LjMuMScsXG4gICAgICByeGpzOiAnXjcnLFxuICAgICAgdHNsaWI6ICdeMi41LjAnLFxuICAgICAgdHlwZXNjcmlwdDogJ341LjEuNicsXG4gICAgICAnem9uZS5qcyc6ICd+MC4xMy4xJyxcbiAgICB9O1xuXG4gICAgY29uc3QgbWVyZ2VkRGVwZW5kZW5jaWVzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgZGVmYXVsdERlcGVuZGVuY2llcyxcbiAgICAgIGNvZGVFeGFtcGxlLnBhY2thZ2VEZXBlbmRlbmNpZXNcbiAgICApO1xuXG4gICAgLy8gRW5zdXJlIGFueSBAc2t5dXggZGVwZW5kZW5jaWVzIGxpc3QgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiBTS1kgVVguXG4gICAgLy8gZS5nLiBgXCJAc2t5dXgvY29yZVwiOiBcIipcImAgLS0+IGBcIkBza3l1eC9jb3JlXCI6IFwiNS4wLjBcImBcbiAgICBmb3IgKGNvbnN0IHBhY2thZ2VOYW1lIGluIG1lcmdlZERlcGVuZGVuY2llcykge1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgICBpZiAobWVyZ2VkRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHBhY2thZ2VOYW1lKSkge1xuICAgICAgICBjb25zdCB2ZXJzaW9uID0gbWVyZ2VkRGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHZlcnNpb24gPT09ICcqJyAmJlxuICAgICAgICAgIC9eKEBibGFja2JhdWRcXC9za3l1eC1saWItfEBza3l1eCkvLnRlc3QocGFja2FnZU5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgIG1lcmdlZERlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0gPSBza3l1eFZlcnNpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmaWxlcyA9IHRoaXMucGFyc2VTdGFja0JsaXR6RmlsZXMoXG4gICAgICBjb2RlRXhhbXBsZS5zb3VyY2VDb2RlLFxuICAgICAgbWVyZ2VkRGVwZW5kZW5jaWVzLFxuICAgICAgY29kZUV4YW1wbGUudGhlbWUsXG4gICAgICBjb2RlRXhhbXBsZS5zdHlsZXNoZWV0c1xuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmlsZXMsXG4gICAgICB0aXRsZTogJ1NLWSBVWCBEZW1vJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU0tZIFVYIERlbW8nLFxuICAgICAgdGVtcGxhdGU6ICdhbmd1bGFyLWNsaScsXG4gICAgICBkZXBlbmRlbmNpZXM6IG1lcmdlZERlcGVuZGVuY2llcyxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGNvbXBpbGU6IHtcbiAgICAgICAgICBjbGVhckNvbnNvbGU6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVN0YWNrQmxpdHpGaWxlcyhcbiAgICBzb3VyY2VDb2RlOiBTa3lEb2NzU291cmNlQ29kZUZpbGVbXSxcbiAgICBkZXBlbmRlbmNpZXM6IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyxcbiAgICB0aGVtZTogU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUsXG4gICAgc3R5bGVzaGVldHM6IHN0cmluZ1tdID0gW11cbiAgKToge1xuICAgIFtwYXRoOiBzdHJpbmddOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IHNyY1BhdGggPSAnc3JjLyc7XG4gICAgY29uc3QgYXBwUGF0aCA9IGAke3NyY1BhdGh9YXBwL2A7XG5cbiAgICBjb25zdCBiYW5uZXIgPSBgLyoqXG4gKiBUaGlzIGZpbGUgaXMgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gKiBJdCBpcyBhdXRvbWF0aWNhbGx5IHByb3ZpZGVkIHdoZW4gdXNpbmcgdGhlIEFuZ3VsYXIgQ0xJLlxuICoqL1xuIGA7XG5cbiAgICBjb25zdCBtb2R1bGVJbXBvcnRTdGF0ZW1lbnRzOiBzdHJpbmdbXSA9IFtcbiAgICAgIGBpbXBvcnQge1xcbiAgTmdNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIEZvcm1zTW9kdWxlLFxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIFJvdXRlck1vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBTa3lBcHBMb2NhbGVQcm92aWRlclxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIFNreVRoZW1lU2VydmljZVxcbn0gZnJvbSAnQHNreXV4L3RoZW1lJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBvZiBhcyBvYnNlcnZhYmxlT2ZcXG59IGZyb20gJ3J4anMnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIEFwcENvbXBvbmVudFxcbn0gZnJvbSAnLi9hcHAuY29tcG9uZW50JztgLFxuICAgIF07XG5cbiAgICBjb25zdCBtb2R1bGVJbXBvcnRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICdCcm93c2VyQW5pbWF0aW9uc01vZHVsZScsXG4gICAgICAnRm9ybXNNb2R1bGUnLFxuICAgICAgJ1JlYWN0aXZlRm9ybXNNb2R1bGUnLFxuICAgICAgJ1JvdXRlck1vZHVsZS5mb3JSb290KFtdKScsXG4gICAgXTtcblxuICAgIGNvbnN0IGZpbGVzOiB7IFtfOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuXG4gICAgbGV0IGFwcENvbXBvbmVudFRlbXBsYXRlID0gJyc7XG5cbiAgICBzb3VyY2VDb2RlLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgIGZpbGVzW2Ake2FwcFBhdGh9JHtmaWxlLmZpbGVOYW1lfWBdID0gZmlsZS5yYXdDb250ZW50cztcblxuICAgICAgLy8gU2V0dXAgbW9kdWxlIGltcG9ydHMgYW5kIGNvbXBvbmVudCBzZWxlY3RvcnMuXG4gICAgICBpZiAoZmlsZS5maWxlTmFtZS5pbmRleE9mKCcubW9kdWxlLnRzJykgPiAtMSkge1xuICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gdGhpcy5nZXRNb2R1bGVOYW1lKGZpbGUucmF3Q29udGVudHMpO1xuICAgICAgICBjb25zdCBpbXBvcnRQYXRoID0gYC4vJHt0aGlzLmdldEZpbGVuYW1lTm9FeHRlbnNpb24oZmlsZS5maWxlTmFtZSl9YDtcblxuICAgICAgICBjb25zdCBleHBvcnRlZENvbXBvbmVudCA9IHRoaXMuZ2V0RXhwb3J0ZWRDb21wb25lbnQoZmlsZS5yYXdDb250ZW50cyk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFNlbGVjdG9yID0gdGhpcy5nZXRDb21wb25lbnRTZWxlY3RvcihcbiAgICAgICAgICBleHBvcnRlZENvbXBvbmVudCxcbiAgICAgICAgICBzb3VyY2VDb2RlXG4gICAgICAgICk7XG5cbiAgICAgICAgYXBwQ29tcG9uZW50VGVtcGxhdGUgKz0gYDwke2NvbXBvbmVudFNlbGVjdG9yfT48LyR7Y29tcG9uZW50U2VsZWN0b3J9PmA7XG5cbiAgICAgICAgbW9kdWxlSW1wb3J0cy5wdXNoKG1vZHVsZU5hbWUpO1xuICAgICAgICBtb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgICAgYGltcG9ydCB7XFxuICAke21vZHVsZU5hbWV9XFxufSBmcm9tICcke2ltcG9ydFBhdGh9JztgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0YW5kYWxvbmUgZW50cnkgY29tcG9uZW50cyBhcmUgbmFtZWQgZGVtby5jb21wb25lbnQudHMuXG4gICAgICBpZiAoZmlsZS5maWxlTmFtZSA9PT0gJ2RlbW8uY29tcG9uZW50LnRzJykge1xuICAgICAgICBjb25zdCBjb21wb25lbnROYW1lID0gJ0RlbW9Db21wb25lbnQnO1xuICAgICAgICBjb25zdCBjb21wb25lbnRTZWxlY3RvciA9ICdhcHAtZGVtbyc7XG4gICAgICAgIGNvbnN0IGltcG9ydFBhdGggPSBgLi8ke3RoaXMuZ2V0RmlsZW5hbWVOb0V4dGVuc2lvbihmaWxlLmZpbGVOYW1lKX1gO1xuXG4gICAgICAgIGFwcENvbXBvbmVudFRlbXBsYXRlICs9IGA8JHtjb21wb25lbnRTZWxlY3Rvcn0gLz5gO1xuXG4gICAgICAgIG1vZHVsZUltcG9ydHMucHVzaChjb21wb25lbnROYW1lKTtcbiAgICAgICAgbW9kdWxlSW1wb3J0U3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgIGBpbXBvcnQge1xcbiAgJHtjb21wb25lbnROYW1lfVxcbn0gZnJvbSAnJHtpbXBvcnRQYXRofSc7YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAuY29tcG9uZW50LnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5VGhlbWUsXG4gIFNreVRoZW1lTW9kZSxcbiAgU2t5VGhlbWVTZXJ2aWNlLFxuICBTa3lUaGVtZVNldHRpbmdzXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kZW1vLWFwcCcsXG4gIHRlbXBsYXRlOiAnJHthcHBDb21wb25lbnRUZW1wbGF0ZX0nXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSxcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICAgIGNvbnN0IHRoZW1lU2V0dGluZ3MgPSBuZXcgU2t5VGhlbWVTZXR0aW5ncyhcbiAgICAgIFNreVRoZW1lLnByZXNldHNbJyR7XG4gICAgICAgIHRoZW1lID09PSBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZS5Nb2Rlcm4gPyAnbW9kZXJuJyA6ICdkZWZhdWx0J1xuICAgICAgfSddLFxuICAgICAgU2t5VGhlbWVNb2RlLnByZXNldHMubGlnaHRcbiAgICApO1xuXG4gICAgdGhlbWVTdmMuaW5pdChcbiAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICByZW5kZXJlcixcbiAgICAgIHRoZW1lU2V0dGluZ3NcbiAgICApO1xuICB9XG5cbn1gO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAubW9kdWxlLnRzYF0gPSBgJHttb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLmpvaW4oJ1xcblxcbicpfVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgJHttb2R1bGVJbXBvcnRzLmpvaW4oJyxcXG4gICAgJyl9XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFwcENvbXBvbmVudFxuICBdLFxuICBib290c3RyYXA6IFtcbiAgICBBcHBDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUFwcExvY2FsZVByb3ZpZGVyLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgZ2V0TG9jYWxlSW5mbzogKCkgPT4gb2JzZXJ2YWJsZU9mKHtcbiAgICAgICAgICBsb2NhbGU6ICdlbi1VUydcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHsgfVxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9aW5kZXguaHRtbGBdID0gYDwhZG9jdHlwZSBodG1sPlxuPGh0bWwgbGFuZz1cImVuXCI+XG48aGVhZD5cbiAgPG1ldGEgY2hhcnNldD1cInV0Zi04XCI+XG4gIDx0aXRsZT5Ta3kgVVggRGVtbzwvdGl0bGU+XG4gIDxiYXNlIGhyZWY9XCIvXCI+XG4gIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiPlxuICA8IS0tXG4gICAgVGhlIENTUyBsaW5rcyBhcmUgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gICAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEga25vd24gYnVnIHRoYXQgcHJldmVudHMgZXh0ZXJuYWwgaW1wb3J0cyBpbiBDU1MuXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL3N0YWNrYmxpdHovY29yZS9pc3N1ZXMvMTMzXG4gIC0tPlxuICA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzc1wiIC8+XG4gIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiaHR0cHM6Ly9za3kuYmxhY2tiYXVkY2RuLm5ldC9zdGF0aWMvc2t5dXgtaWNvbnMvNi4wLjAvYXNzZXRzL2Nzcy9za3l1eC1pY29ucy5taW4uY3NzXCIgLz5cbjwvaGVhZD5cbjxib2R5PlxuICA8c2t5LWRlbW8tYXBwPlxuICAgIExvYWRpbmcuLi5cbiAgPC9za3ktZGVtby1hcHA+XG48L2JvZHk+XG48L2h0bWw+XG5gO1xuXG4gICAgZmlsZXNbYCR7c3JjUGF0aH1tYWluLnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQgJ3pvbmUuanMnO1xuaW1wb3J0ICdAc2t5dXgvcGFja2FnZXMvcG9seWZpbGxzJztcblxuaW1wb3J0IHtcbiAgcGxhdGZvcm1Ccm93c2VyRHluYW1pY1xufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyLWR5bmFtaWMnO1xuXG5pbXBvcnQge1xuICBBcHBNb2R1bGVcbn0gZnJvbSAnLi9hcHAvYXBwLm1vZHVsZSc7XG5cbnBsYXRmb3JtQnJvd3NlckR5bmFtaWMoKVxuICAuYm9vdHN0cmFwTW9kdWxlKEFwcE1vZHVsZSlcbiAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG5cbmA7XG5cbiAgICBmaWxlc1tgJHtzcmNQYXRofXN0eWxlcy5zY3NzYF0gPSBgQGltcG9ydCAnQHNreXV4L3RoZW1lL2Nzcy9za3knO1xuQGltcG9ydCAnQHNreXV4L3RoZW1lL2Nzcy90aGVtZXMvbW9kZXJuL3N0eWxlcyc7XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDE1cHg7XG59YDtcblxuICAgIHN0eWxlc2hlZXRzLnB1c2goJ3NyYy9zdHlsZXMuc2NzcycpO1xuXG4gICAgZmlsZXNbJ2FuZ3VsYXIuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgICRzY2hlbWE6ICcuL25vZGVfbW9kdWxlcy9AYW5ndWxhci9jbGkvbGliL2NvbmZpZy9zY2hlbWEuanNvbicsXG4gICAgICAgIHZlcnNpb246IDEsXG4gICAgICAgIHByb2plY3RzOiB7XG4gICAgICAgICAgZGVtbzoge1xuICAgICAgICAgICAgcHJvamVjdFR5cGU6ICdhcHBsaWNhdGlvbicsXG4gICAgICAgICAgICByb290OiAnJyxcbiAgICAgICAgICAgIHNvdXJjZVJvb3Q6ICdzcmMnLFxuICAgICAgICAgICAgcHJlZml4OiAnYXBwJyxcbiAgICAgICAgICAgIGFyY2hpdGVjdDoge1xuICAgICAgICAgICAgICBidWlsZDoge1xuICAgICAgICAgICAgICAgIGJ1aWxkZXI6ICdAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcjpicm93c2VyJyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBpbmRleDogJ3NyYy9pbmRleC5odG1sJyxcbiAgICAgICAgICAgICAgICAgIG1haW46ICdzcmMvbWFpbi50cycsXG4gICAgICAgICAgICAgICAgICB0c0NvbmZpZzogJ3RzY29uZmlnLmFwcC5qc29uJyxcbiAgICAgICAgICAgICAgICAgIGlubGluZVN0eWxlTGFuZ3VhZ2U6ICdzY3NzJyxcbiAgICAgICAgICAgICAgICAgIHN0eWxlczogc3R5bGVzaGVldHMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uczoge1xuICAgICAgICAgICAgICAgICAgZGV2ZWxvcG1lbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRPcHRpbWl6ZXI6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBvcHRpbWl6YXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB2ZW5kb3JDaHVuazogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmFjdExpY2Vuc2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBuYW1lZENodW5rczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29uZmlndXJhdGlvbjogJ2RldmVsb3BtZW50JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc2VydmU6IHtcbiAgICAgICAgICAgICAgICBidWlsZGVyOiAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6ZGV2LXNlcnZlcicsXG4gICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGRldmVsb3BtZW50OiB7XG4gICAgICAgICAgICAgICAgICAgIGJyb3dzZXJUYXJnZXQ6ICdkZW1vOmJ1aWxkOmRldmVsb3BtZW50JyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29uZmlndXJhdGlvbjogJ2RldmVsb3BtZW50JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyXG4gICAgKTtcblxuICAgIGZpbGVzWydwYWNrYWdlLmpzb24nXSA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc2t5dXgtc3BhLWRlbW8nLFxuICAgICAgICBkZXBlbmRlbmNpZXMsXG4gICAgICAgIHNjcmlwdHM6IHtcbiAgICAgICAgICBzdGFydDogJ25nIHNlcnZlJyxcbiAgICAgICAgICBidWlsZDogJ25nIGJ1aWxkJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyXG4gICAgKTtcblxuICAgIGZpbGVzWyd0c2NvbmZpZy5hcHAuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIGV4dGVuZHM6ICcuL3RzY29uZmlnLmpzb24nLFxuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBvdXREaXI6ICcuL291dC10c2MvYXBwJyxcbiAgICAgICAgICB0eXBlczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIGZpbGVzOiBbJ3NyYy9tYWluLnRzJ10sXG4gICAgICAgIGluY2x1ZGU6IFsnc3JjLyoqLyouZC50cyddLFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDJcbiAgICApO1xuXG4gICAgZmlsZXNbJ3RzY29uZmlnLmpzb24nXSA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAge1xuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgZm9yY2VDb25zaXN0ZW50Q2FzaW5nSW5GaWxlTmFtZXM6IHRydWUsXG4gICAgICAgICAgbm9JbXBsaWNpdE92ZXJyaWRlOiB0cnVlLFxuICAgICAgICAgIG5vUHJvcGVydHlBY2Nlc3NGcm9tSW5kZXhTaWduYXR1cmU6IHRydWUsXG4gICAgICAgICAgbm9JbXBsaWNpdFJldHVybnM6IHRydWUsXG4gICAgICAgICAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gICAgICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICBkb3dubGV2ZWxJdGVyYXRpb246IHRydWUsXG4gICAgICAgICAgZXNNb2R1bGVJbnRlcm9wOiB0cnVlLFxuICAgICAgICAgIGV4cGVyaW1lbnRhbERlY29yYXRvcnM6IHRydWUsXG4gICAgICAgICAgbW9kdWxlUmVzb2x1dGlvbjogJ25vZGUnLFxuICAgICAgICAgIGltcG9ydEhlbHBlcnM6IHRydWUsXG4gICAgICAgICAgdHlwZVJvb3RzOiBbJ25vZGVfbW9kdWxlcy9AdHlwZXMnXSxcbiAgICAgICAgICB0YXJnZXQ6ICdFUzIwMjInLFxuICAgICAgICAgIG1vZHVsZTogJ0VTMjAyMicsXG4gICAgICAgICAgdXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHM6IGZhbHNlLFxuICAgICAgICAgIGxpYjogWydFUzIwMjInLCAnZG9tJ10sXG4gICAgICAgIH0sXG4gICAgICAgIGFuZ3VsYXJDb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBmdWxsVGVtcGxhdGVUeXBlQ2hlY2s6IHRydWUsXG4gICAgICAgICAgZW5hYmxlSTE4bkxlZ2FjeU1lc3NhZ2VJZEZvcm1hdDogZmFsc2UsXG4gICAgICAgICAgc3RyaWN0SW5qZWN0aW9uUGFyYW1ldGVyczogdHJ1ZSxcbiAgICAgICAgICBzdHJpY3RJbnB1dEFjY2Vzc01vZGlmaWVyczogdHJ1ZSxcbiAgICAgICAgICBzdHJpY3RUZW1wbGF0ZXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgMlxuICAgICk7XG5cbiAgICByZXR1cm4gZmlsZXM7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZHVsZU5hbWUoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbnRlbnRzLnNwbGl0KCdleHBvcnQgY2xhc3MgJylbMV0uc3BsaXQoJyB7JylbMF07XG4gIH1cblxuICBwcml2YXRlIGdldEZpbGVuYW1lTm9FeHRlbnNpb24oZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZmlsZU5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICByZXR1cm4gZmlsZU5hbWUucmVwbGFjZShgLiR7ZXh0ZW5zaW9ufWAsICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXhwb3J0ZWRDb21wb25lbnQoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdHJpbW1lZCA9IGNvbnRlbnRzLnJlcGxhY2UoL1xccy9nLCAnJyk7XG5cbiAgICBsZXQgZnJhZ21lbnQgPSB0cmltbWVkLnNwbGl0KCdleHBvcnRzOlsnKVsxXTtcbiAgICBpZiAoIWZyYWdtZW50KSB7XG4gICAgICB0aHJvdyAnWW91IG11c3QgZXhwb3J0IGEgY29tcG9uZW50IGZyb20gdGhlIGNvZGUgZXhhbXBsZSBtb2R1bGUhJztcbiAgICB9XG5cbiAgICBmcmFnbWVudCA9IGZyYWdtZW50LnNwbGl0KCddJylbMF07XG5cbiAgICBjb25zdCBjb21wb25lbnRzID0gZnJhZ21lbnQuc3BsaXQoJywnKS5maWx0ZXIoKHgpID0+IHgpO1xuXG4gICAgaWYgKGNvbXBvbmVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgKFxuICAgICAgICAnWW91IG1heSBvbmx5IGV4cG9ydCBhIHNpbmdsZSBjb21wb25lbnQgZnJvbSB0aGUgY29kZSBleGFtcGxlIG1vZHVsZScgK1xuICAgICAgICBgKHdlIGZvdW5kICR7Y29tcG9uZW50cy5sZW5ndGh9OiAke2NvbXBvbmVudHMuam9pbignLCAnKX0pLmAgK1xuICAgICAgICAnSXMgaXQgcG9zc2libGUgdG8gY3JlYXRlIGEgbmV3IGNvZGUgZXhhbXBsZSB3aXRoIHRoZSBleHRyYSBjb21wb25lbnRzPydcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudHNbMF07XG4gIH1cblxuICBwcml2YXRlIGdldENvbXBvbmVudFNlbGVjdG9yKFxuICAgIGNvbXBvbmVudENsYXNzTmFtZTogc3RyaW5nLFxuICAgIHNvdXJjZUNvZGU6IFNreURvY3NTb3VyY2VDb2RlRmlsZVtdXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgZm91bmQgPSBzb3VyY2VDb2RlLmZpbmQoKGZpbGUpID0+IHtcbiAgICAgIHJldHVybiBmaWxlLnJhd0NvbnRlbnRzLmluZGV4T2YoYGNsYXNzICR7Y29tcG9uZW50Q2xhc3NOYW1lfWApID4gLTE7XG4gICAgfSk7XG5cbiAgICBjb25zdCB0cmltbWVkID0gZm91bmQucmF3Q29udGVudHMucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIHJldHVybiB0cmltbWVkLnNwbGl0KGBzZWxlY3RvcjonYClbMV0uc3BsaXQoYCdgKVswXTtcbiAgfVxufVxuIl19
|
|
@@ -80,10 +80,10 @@ export class SkyDocsCodeExamplesComponent {
|
|
|
80
80
|
return extension;
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
84
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
83
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsCodeExamplesComponent, deps: [{ token: i1.SkyDocsCodeExamplesEditorService }, { token: i2.SkyDocsSourceCodeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDocsCodeExamplesComponent, selector: "sky-docs-code-examples", inputs: { packageDependencies: "packageDependencies", stylesheets: "stylesheets" }, queries: [{ propertyName: "codeExampleComponents", predicate: SkyDocsCodeExampleComponent }], ngImport: i0, template: "<div *ngIf=\"codeExamples && codeExamples.length\" class=\"sky-docs-code-examples\">\n <sky-repeater\n *ngIf=\"codeExamples.length > 1; else singleCodeExample\"\n expandMode=\"multiple\"\n >\n <sky-repeater-item\n *ngFor=\"let codeExample of codeExamples\"\n [isExpanded]=\"false\"\n >\n <sky-repeater-item-title>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleHeaderTemplate;\n context: { $implicit: codeExample }\n \"\n >\n </ng-container>\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleTemplate;\n context: { $implicit: codeExample }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n</div>\n\n<ng-template>\n <ng-content select=\"sky-docs-code-example\"> </ng-content>\n</ng-template>\n\n<ng-template let-item #codeExampleTemplate>\n <div class=\"sky-docs-code-example-wrapper\">\n <sky-vertical-tabset *ngIf=\"item.sourceCode && item.sourceCode.length\">\n <sky-vertical-tab\n *ngFor=\"let file of item.sourceCode; let i = index\"\n [active]=\"i === 0\"\n [tabHeading]=\"file.fileName\"\n >\n <sky-code-block\n [code]=\"file.rawContents\"\n [languageType]=\"parseCodeLanguageType(file.fileName)\"\n >\n </sky-code-block>\n </sky-vertical-tab>\n </sky-vertical-tabset>\n </div>\n</ng-template>\n\n<ng-template #singleCodeExample>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleHeaderTemplate;\n context: { $implicit: codeExamples[0] }\n \"\n >\n </ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleTemplate;\n context: { $implicit: codeExamples[0] }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template let-codeExample #codeExampleHeaderTemplate>\n <div class=\"sky-docs-code-example-header\">\n <div class=\"sky-docs-code-example-header-title sky-emphasized\">\n {{ codeExample.heading }}\n </div>\n <div class=\"sky-docs-code-example-header-controls\">\n <button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"launchEditor(codeExample); $event.stopPropagation()\"\n >\n <sky-icon icon=\"pencil\"></sky-icon>\n {{ 'sky-docs-code-example-launch-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".sky-docs-code-examples{margin-top:30px}.sky-docs-code-example-header{display:flex;align-items:baseline}.sky-docs-code-example-header-title{flex-grow:1}.sky-docs-code-example-header-controls{flex-grow:0}.sky-docs-code-example-header-controls .sky-btn{font-weight:400}.sky-docs-code-example-wrapper{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;margin-top:10px}.sky-docs-code-example-wrapper ::ng-deep .sky-vertical-tabset-content{margin:0}.sky-docs-code-example-wrapper ::ng-deep sky-code-block{margin:0!important}.sky-docs-code-example-wrapper ::ng-deep .sky-code-block-header{border:0}.sky-docs-code-example-wrapper ::ng-deep .sky-code-output{border-left:0;border-right:0;border-bottom:0}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ2, selector: "sky-code-block", inputs: ["code", "fileName", "languageType", "hideCopyToClipboard", "hideHeader"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i6.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i6.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i6.λ8, selector: "sky-repeater-item-content" }, { kind: "component", type: i6.λ12, selector: "sky-repeater-item-title" }, { kind: "component", type: i7.λ6, selector: "sky-vertical-tabset", inputs: ["showTabsText", "ariaLabel", "ariaLabelledBy", "ariaRole", "maintainTabContent"], outputs: ["activeChange"] }, { kind: "component", type: i7.λ4, selector: "sky-vertical-tab", inputs: ["active", "ariaControls", "ariaRole", "disabled", "errorIndicator", "tabHeaderCount", "tabHeading", "showTabRightArrow", "tabId"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
85
85
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsCodeExamplesComponent, decorators: [{
|
|
87
87
|
type: Component,
|
|
88
88
|
args: [{ selector: 'sky-docs-code-examples', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"codeExamples && codeExamples.length\" class=\"sky-docs-code-examples\">\n <sky-repeater\n *ngIf=\"codeExamples.length > 1; else singleCodeExample\"\n expandMode=\"multiple\"\n >\n <sky-repeater-item\n *ngFor=\"let codeExample of codeExamples\"\n [isExpanded]=\"false\"\n >\n <sky-repeater-item-title>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleHeaderTemplate;\n context: { $implicit: codeExample }\n \"\n >\n </ng-container>\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleTemplate;\n context: { $implicit: codeExample }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n</div>\n\n<ng-template>\n <ng-content select=\"sky-docs-code-example\"> </ng-content>\n</ng-template>\n\n<ng-template let-item #codeExampleTemplate>\n <div class=\"sky-docs-code-example-wrapper\">\n <sky-vertical-tabset *ngIf=\"item.sourceCode && item.sourceCode.length\">\n <sky-vertical-tab\n *ngFor=\"let file of item.sourceCode; let i = index\"\n [active]=\"i === 0\"\n [tabHeading]=\"file.fileName\"\n >\n <sky-code-block\n [code]=\"file.rawContents\"\n [languageType]=\"parseCodeLanguageType(file.fileName)\"\n >\n </sky-code-block>\n </sky-vertical-tab>\n </sky-vertical-tabset>\n </div>\n</ng-template>\n\n<ng-template #singleCodeExample>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleHeaderTemplate;\n context: { $implicit: codeExamples[0] }\n \"\n >\n </ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleTemplate;\n context: { $implicit: codeExamples[0] }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template let-codeExample #codeExampleHeaderTemplate>\n <div class=\"sky-docs-code-example-header\">\n <div class=\"sky-docs-code-example-header-title sky-emphasized\">\n {{ codeExample.heading }}\n </div>\n <div class=\"sky-docs-code-example-header-controls\">\n <button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"launchEditor(codeExample); $event.stopPropagation()\"\n >\n <sky-icon icon=\"pencil\"></sky-icon>\n {{ 'sky-docs-code-example-launch-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".sky-docs-code-examples{margin-top:30px}.sky-docs-code-example-header{display:flex;align-items:baseline}.sky-docs-code-example-header-title{flex-grow:1}.sky-docs-code-example-header-controls{flex-grow:0}.sky-docs-code-example-header-controls .sky-btn{font-weight:400}.sky-docs-code-example-wrapper{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;margin-top:10px}.sky-docs-code-example-wrapper ::ng-deep .sky-vertical-tabset-content{margin:0}.sky-docs-code-example-wrapper ::ng-deep sky-code-block{margin:0!important}.sky-docs-code-example-wrapper ::ng-deep .sky-code-block-header{border:0}.sky-docs-code-example-wrapper ::ng-deep .sky-code-output{border-left:0;border-right:0;border-bottom:0}\n"] }]
|
|
89
89
|
}], ctorParameters: function () { return [{ type: i1.SkyDocsCodeExamplesEditorService }, { type: i2.SkyDocsSourceCodeService }]; }, propDecorators: { packageDependencies: [{
|
|
@@ -9,21 +9,21 @@ import { SkyDocsCodeExampleComponent } from './code-example.component';
|
|
|
9
9
|
import { SkyDocsCodeExamplesComponent } from './code-examples.component';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class SkyDocsCodeExamplesModule {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsCodeExamplesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsCodeExamplesModule, declarations: [SkyDocsCodeExampleComponent, SkyDocsCodeExamplesComponent], imports: [CommonModule,
|
|
14
14
|
SkyCodeBlockModule,
|
|
15
15
|
SkyDocsToolsResourcesModule,
|
|
16
16
|
SkyIconModule,
|
|
17
17
|
SkyRepeaterModule,
|
|
18
18
|
SkyVerticalTabsetModule], exports: [SkyDocsCodeExampleComponent, SkyDocsCodeExamplesComponent] }); }
|
|
19
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.
|
|
19
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsCodeExamplesModule, imports: [CommonModule,
|
|
20
20
|
SkyCodeBlockModule,
|
|
21
21
|
SkyDocsToolsResourcesModule,
|
|
22
22
|
SkyIconModule,
|
|
23
23
|
SkyRepeaterModule,
|
|
24
24
|
SkyVerticalTabsetModule] }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsCodeExamplesModule, decorators: [{
|
|
27
27
|
type: NgModule,
|
|
28
28
|
args: [{
|
|
29
29
|
imports: [
|
|
@@ -62,10 +62,10 @@ export class SkyDocsDemoControlPanelCheckboxComponent {
|
|
|
62
62
|
[this.propertyName]: this.checked,
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoControlPanelCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDocsDemoControlPanelCheckboxComponent, selector: "sky-docs-demo-control-panel-checkbox", inputs: { checked: "checked", disabled: "disabled", label: "label", propertyName: "propertyName" }, ngImport: i0, template: "<sky-checkbox\n [disabled]=\"disabled\"\n [name]=\"propertyName\"\n [(ngModel)]=\"checked\"\n (change)=\"onModelChange()\"\n>\n <sky-checkbox-label>{{ label }}</sky-checkbox-label>\n</sky-checkbox>\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ4, selector: "sky-checkbox-label" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoControlPanelCheckboxComponent, decorators: [{
|
|
69
69
|
type: Component,
|
|
70
70
|
args: [{ selector: 'sky-docs-demo-control-panel-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-checkbox\n [disabled]=\"disabled\"\n [name]=\"propertyName\"\n [(ngModel)]=\"checked\"\n (change)=\"onModelChange()\"\n>\n <sky-checkbox-label>{{ label }}</sky-checkbox-label>\n</sky-checkbox>\n" }]
|
|
71
71
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { checked: [{
|
|
@@ -60,10 +60,10 @@ export class SkyDocsDemoControlPanelRadioGroupComponent {
|
|
|
60
60
|
[this.propertyName]: this.value,
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoControlPanelRadioGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDocsDemoControlPanelRadioGroupComponent, selector: "sky-docs-demo-control-panel-radio-group", inputs: { choices: "choices", disabled: "disabled", heading: "heading", initialValue: "initialValue", propertyName: "propertyName" }, ngImport: i0, template: "<div class=\"sky-demo-control-panel-radio-group\">\n <strong *ngIf=\"heading\">{{ heading }}</strong>\n <sky-radio-group\n [disabled]=\"disabled\"\n [name]=\"propertyName\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n >\n <ul class=\"sky-list-unstyled\">\n <li *ngFor=\"let choice of choices\">\n <sky-radio [value]=\"choice.value\">\n <sky-radio-label>{{ choice.label }}</sky-radio-label>\n </sky-radio>\n </li>\n </ul>\n </sky-radio-group>\n</div>\n", styles: [".sky-demo-control-panel-radio-group{margin-bottom:20px}ul{margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.λ13, selector: "sky-radio", inputs: ["checked", "disabled", "id", "label", "labelledBy", "name", "tabindex", "value", "icon", "radioType"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "component", type: i3.λ11, selector: "sky-radio-group", inputs: ["ariaLabelledBy", "ariaLabel", "disabled", "name", "required", "value", "tabIndex"] }, { kind: "component", type: i3.λ12, selector: "sky-radio-label" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
65
65
|
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoControlPanelRadioGroupComponent, decorators: [{
|
|
67
67
|
type: Component,
|
|
68
68
|
args: [{ selector: 'sky-docs-demo-control-panel-radio-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-demo-control-panel-radio-group\">\n <strong *ngIf=\"heading\">{{ heading }}</strong>\n <sky-radio-group\n [disabled]=\"disabled\"\n [name]=\"propertyName\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n >\n <ul class=\"sky-list-unstyled\">\n <li *ngFor=\"let choice of choices\">\n <sky-radio [value]=\"choice.value\">\n <sky-radio-label>{{ choice.label }}</sky-radio-label>\n </sky-radio>\n </li>\n </ul>\n </sky-radio-group>\n</div>\n", styles: [".sky-demo-control-panel-radio-group{margin-bottom:20px}ul{margin:0}\n"] }]
|
|
69
69
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { choices: [{
|
|
@@ -12,10 +12,10 @@ import * as i0 from "@angular/core";
|
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
14
14
|
export class SkyDocsDemoControlPanelSectionComponent {
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoControlPanelSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDocsDemoControlPanelSectionComponent, selector: "sky-docs-demo-control-panel-section", ngImport: i0, template: "<div class=\"sky-demo-control-panel-section\">\n <ng-content select=\"sky-docs-demo-control-panel-radio-group\"></ng-content>\n <ng-content select=\"sky-docs-demo-control-panel-checkbox\"></ng-content>\n</div>\n", styles: [".sky-demo-control-panel-section{padding-right:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoControlPanelSectionComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
20
|
args: [{ selector: 'sky-docs-demo-control-panel-section', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-demo-control-panel-section\">\n <ng-content select=\"sky-docs-demo-control-panel-radio-group\"></ng-content>\n <ng-content select=\"sky-docs-demo-control-panel-checkbox\"></ng-content>\n</div>\n", styles: [".sky-demo-control-panel-section{padding-right:20px}\n"] }]
|
|
21
21
|
}] });
|
|
@@ -61,10 +61,10 @@ export class SkyDocsDemoControlPanelComponent {
|
|
|
61
61
|
this.selectionChange.next(change);
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoControlPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDocsDemoControlPanelComponent, selector: "sky-docs-demo-control-panel", outputs: { reset: "reset", selectionChange: "selectionChange" }, queries: [{ propertyName: "radioGroups", predicate: SkyDocsDemoControlPanelRadioGroupComponent, descendants: true }, { propertyName: "checkboxes", predicate: SkyDocsDemoControlPanelCheckboxComponent, descendants: true }], ngImport: i0, template: "<div class=\"sky-docs-demo-control-panel\">\n <div class=\"sky-docs-demo-control-panel-row sky-rounded-corners\">\n <div\n class=\"sky-docs-demo-control-panel-column sky-docs-demo-control-panel-sections-column\"\n >\n <ng-content select=\"sky-docs-demo-control-panel-section\"></ng-content>\n </div>\n\n <div\n class=\"sky-docs-demo-control-panel-column sky-docs-demo-control-panel-button-column\"\n >\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.data-test-selector]=\"'sky-docs-demo-control-panel-reset-button'\"\n (click)=\"onResetButtonClick()\"\n >\n {{ 'sky-docs-demo-control-panel-reset-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</div>\n", styles: [".sky-docs-demo-control-panel{margin-bottom:20px;margin-top:-1px;margin-left:-15px}.sky-docs-demo-control-panel-row{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;padding:15px;background-color:#fff;display:inline-flex;min-width:220px}.sky-docs-demo-control-panel-sections-column{display:flex}.sky-docs-demo-control-panel-sections-column ::ng-deep sky-docs-demo-control-panel-section{min-width:120px}.sky-docs-demo-control-panel-button-column{align-self:flex-end}.sky-docs-demo-control-panel-button-column .sky-btn{border:0}\n"], dependencies: [{ kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
66
66
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoControlPanelComponent, decorators: [{
|
|
68
68
|
type: Component,
|
|
69
69
|
args: [{ selector: 'sky-docs-demo-control-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-docs-demo-control-panel\">\n <div class=\"sky-docs-demo-control-panel-row sky-rounded-corners\">\n <div\n class=\"sky-docs-demo-control-panel-column sky-docs-demo-control-panel-sections-column\"\n >\n <ng-content select=\"sky-docs-demo-control-panel-section\"></ng-content>\n </div>\n\n <div\n class=\"sky-docs-demo-control-panel-column sky-docs-demo-control-panel-button-column\"\n >\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.data-test-selector]=\"'sky-docs-demo-control-panel-reset-button'\"\n (click)=\"onResetButtonClick()\"\n >\n {{ 'sky-docs-demo-control-panel-reset-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</div>\n", styles: [".sky-docs-demo-control-panel{margin-bottom:20px;margin-top:-1px;margin-left:-15px}.sky-docs-demo-control-panel-row{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;padding:15px;background-color:#fff;display:inline-flex;min-width:220px}.sky-docs-demo-control-panel-sections-column{display:flex}.sky-docs-demo-control-panel-sections-column ::ng-deep sky-docs-demo-control-panel-section{min-width:120px}.sky-docs-demo-control-panel-button-column{align-self:flex-end}.sky-docs-demo-control-panel-button-column .sky-btn{border:0}\n"] }]
|
|
70
70
|
}], propDecorators: { reset: [{
|
|
@@ -36,10 +36,10 @@ export class SkyDocsDemoComponent {
|
|
|
36
36
|
onToggleOptionsButtonClick() {
|
|
37
37
|
this.areOptionsVisible = !this.areOptionsVisible;
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDocsDemoComponent, selector: "sky-docs-demo", inputs: { alignContents: "alignContents", heading: "heading" }, queries: [{ propertyName: "controlPanels", predicate: SkyDocsDemoControlPanelComponent, read: ElementRef }], ngImport: i0, template: "<div class=\"sky-docs-demo\">\n <div aria-level=\"3\" class=\"sky-docs-demo-heading\" role=\"heading\">\n <span\n class=\"sky-section-heading\"\n [attr.data-test-selector]=\"'sky-docs-demo-heading-text'\"\n >\n {{ heading || ('sky-docs-demo-heading' | skyLibResources) }}\n </span>\n\n <div class=\"sky-docs-demo-control-panel-wrapper\">\n <div class=\"sky-docs-demo-control-panel-wrapper-header\">\n <button\n *ngIf=\"hasOptions\"\n class=\"sky-btn\"\n type=\"button\"\n [attr.data-test-selector]=\"'sky-docs-demo-heading-button'\"\n [ngClass]=\"{\n 'sky-docs-demo-heading-btn-open': areOptionsVisible\n }\"\n (click)=\"onToggleOptionsButtonClick()\"\n >\n <sky-icon [icon]=\"toggleOptionsButtonIcon\"></sky-icon>\n <ng-container *ngIf=\"areOptionsVisible\">\n {{ 'sky-docs-demo-toggle-button-off' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"!areOptionsVisible\">\n {{ 'sky-docs-demo-toggle-button-on' | skyLibResources }}\n </ng-container>\n </button>\n </div>\n <div class=\"sky-docs-demo-control-panel-wrapper-body\">\n <ng-container *ngIf=\"areOptionsVisible\">\n <ng-container *ngTemplateOutlet=\"controlPanels\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div\n class=\"sky-docs-demo-viewport\"\n [ngClass]=\"'sky-docs-demo-viewport-align-' + alignContents\"\n >\n <div class=\"sky-docs-demo-viewport-gutter\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #controlPanels>\n <ng-content select=\"sky-docs-demo-control-panel\"></ng-content>\n</ng-template>\n", styles: [".sky-docs-demo{margin-bottom:20px}.sky-docs-demo-heading{margin-bottom:10px;display:flex;flex-direction:row}.sky-docs-demo-heading .sky-docs-demo-heading-btn-open{border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0;position:relative}.sky-docs-demo-control-panel-wrapper{display:flex;flex-direction:column}.sky-section-heading{margin-right:10px}.sky-docs-demo-viewport{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;margin-bottom:10px;padding:15px}.sky-docs-demo-viewport-align-center{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ selector: 'sky-docs-demo', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-docs-demo\">\n <div aria-level=\"3\" class=\"sky-docs-demo-heading\" role=\"heading\">\n <span\n class=\"sky-section-heading\"\n [attr.data-test-selector]=\"'sky-docs-demo-heading-text'\"\n >\n {{ heading || ('sky-docs-demo-heading' | skyLibResources) }}\n </span>\n\n <div class=\"sky-docs-demo-control-panel-wrapper\">\n <div class=\"sky-docs-demo-control-panel-wrapper-header\">\n <button\n *ngIf=\"hasOptions\"\n class=\"sky-btn\"\n type=\"button\"\n [attr.data-test-selector]=\"'sky-docs-demo-heading-button'\"\n [ngClass]=\"{\n 'sky-docs-demo-heading-btn-open': areOptionsVisible\n }\"\n (click)=\"onToggleOptionsButtonClick()\"\n >\n <sky-icon [icon]=\"toggleOptionsButtonIcon\"></sky-icon>\n <ng-container *ngIf=\"areOptionsVisible\">\n {{ 'sky-docs-demo-toggle-button-off' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"!areOptionsVisible\">\n {{ 'sky-docs-demo-toggle-button-on' | skyLibResources }}\n </ng-container>\n </button>\n </div>\n <div class=\"sky-docs-demo-control-panel-wrapper-body\">\n <ng-container *ngIf=\"areOptionsVisible\">\n <ng-container *ngTemplateOutlet=\"controlPanels\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div\n class=\"sky-docs-demo-viewport\"\n [ngClass]=\"'sky-docs-demo-viewport-align-' + alignContents\"\n >\n <div class=\"sky-docs-demo-viewport-gutter\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #controlPanels>\n <ng-content select=\"sky-docs-demo-control-panel\"></ng-content>\n</ng-template>\n", styles: [".sky-docs-demo{margin-bottom:20px}.sky-docs-demo-heading{margin-bottom:10px;display:flex;flex-direction:row}.sky-docs-demo-heading .sky-docs-demo-heading-btn-open{border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0;position:relative}.sky-docs-demo-control-panel-wrapper{display:flex;flex-direction:column}.sky-section-heading{margin-right:10px}.sky-docs-demo-viewport{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;margin-bottom:10px;padding:15px}.sky-docs-demo-viewport-align-center{display:flex;align-items:center;justify-content:center}\n"] }]
|
|
45
45
|
}], propDecorators: { alignContents: [{
|
|
@@ -12,8 +12,8 @@ import { SkyDocsDemoControlPanelRadioGroupComponent } from './demo-control-panel
|
|
|
12
12
|
import { SkyDocsDemoControlPanelSectionComponent } from './demo-control-panel-section.component';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
export class SkyDocsDemoModule {
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
16
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoModule, declarations: [SkyDocsDemoComponent,
|
|
17
17
|
SkyDocsDemoControlPanelCheckboxComponent,
|
|
18
18
|
SkyDocsDemoControlPanelComponent,
|
|
19
19
|
SkyDocsDemoControlPanelRadioGroupComponent,
|
|
@@ -28,7 +28,7 @@ export class SkyDocsDemoModule {
|
|
|
28
28
|
SkyDocsDemoControlPanelComponent,
|
|
29
29
|
SkyDocsDemoControlPanelRadioGroupComponent,
|
|
30
30
|
SkyDocsDemoControlPanelSectionComponent] }); }
|
|
31
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.
|
|
31
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoModule, imports: [CommonModule,
|
|
32
32
|
FormsModule,
|
|
33
33
|
SkyCheckboxModule,
|
|
34
34
|
SkyDocsToolsResourcesModule,
|
|
@@ -36,7 +36,7 @@ export class SkyDocsDemoModule {
|
|
|
36
36
|
SkyRadioModule,
|
|
37
37
|
SkyThemeModule] }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDocsDemoModule, decorators: [{
|
|
40
40
|
type: NgModule,
|
|
41
41
|
args: [{
|
|
42
42
|
imports: [
|