@skyux/docs-tools 5.0.0-beta.8 → 5.0.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/skyux-docs-tools.umd.js +15 -10
- package/bundles/skyux-docs-tools.umd.js.map +1 -1
- package/documentation.json +778 -743
- package/esm2015/modules/code-examples/code-example.js +1 -1
- package/esm2015/modules/code-examples/code-examples-editor.service.js +17 -23
- package/esm2015/modules/code-examples/code-examples.component.js +6 -2
- package/fesm2015/skyux-docs-tools.js +22 -24
- package/fesm2015/skyux-docs-tools.js.map +1 -1
- package/modules/code-examples/code-example.d.ts +1 -0
- package/modules/code-examples/code-examples.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9jcy10b29scy9zcmMvbW9kdWxlcy9jb2RlLWV4YW1wbGVzL2NvZGUtZXhhbXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2t5RG9jc1NvdXJjZUNvZGVGaWxlXG59IGZyb20gJy4uL3NvdXJjZS1jb2RlL3NvdXJjZS1jb2RlLWZpbGUnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXNcbn0gZnJvbSAnLi9jb2RlLWV4YW1wbGUtbW9kdWxlLWRlcGVuZGVuY2llcyc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NDb2RlRXhhbXBsZVRoZW1lXG59IGZyb20gJy4vY29kZS1leGFtcGxlLXRoZW1lJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lEb2NzQ29kZUV4YW1wbGUge1xuXG4gIGhlYWRpbmc6IHN0cmluZztcblxuICBwYWNrYWdlRGVwZW5kZW5jaWVzOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXM7XG5cbiAgc291cmNlQ29kZTogU2t5RG9jc1NvdXJjZUNvZGVGaWxlW107XG5cbiAgdGhlbWU6IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lO1xuXG4gIHN0eWxlc2hlZXRzPzogc3RyaW5nW107XG5cbn1cbiJdfQ==
|
|
@@ -53,7 +53,7 @@ export class SkyDocsCodeExamplesEditorService {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
const files = this.parseStackBlitzFiles(codeExample.sourceCode, mergedDependencies, codeExample.theme);
|
|
56
|
+
const files = this.parseStackBlitzFiles(codeExample.sourceCode, mergedDependencies, codeExample.theme, codeExample.stylesheets);
|
|
57
57
|
return {
|
|
58
58
|
files,
|
|
59
59
|
title: 'SKY UX Demo',
|
|
@@ -67,7 +67,7 @@ export class SkyDocsCodeExamplesEditorService {
|
|
|
67
67
|
}
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
|
-
parseStackBlitzFiles(sourceCode, dependencies, theme) {
|
|
70
|
+
parseStackBlitzFiles(sourceCode, dependencies, theme, stylesheets = []) {
|
|
71
71
|
const srcPath = 'src/';
|
|
72
72
|
const appPath = `${srcPath}app/`;
|
|
73
73
|
const banner = `/**
|
|
@@ -76,10 +76,9 @@ export class SkyDocsCodeExamplesEditorService {
|
|
|
76
76
|
**/
|
|
77
77
|
`;
|
|
78
78
|
const moduleImportStatements = [
|
|
79
|
-
`import {\n
|
|
79
|
+
`import {\n NgModule\n} from '@angular/core';`,
|
|
80
80
|
`import {\n FormsModule,\n ReactiveFormsModule\n} from '@angular/forms';`,
|
|
81
|
-
`import {\n
|
|
82
|
-
`import {\n BrowserModule\n} from '@angular/platform-browser';`,
|
|
81
|
+
`import {\n BrowserAnimationsModule\n} from '@angular/platform-browser/animations';`,
|
|
83
82
|
`import {\n RouterModule\n} from '@angular/router';`,
|
|
84
83
|
`import {\n SkyAppLocaleProvider\n} from '@skyux/i18n';`,
|
|
85
84
|
`import {\n SkyThemeService\n} from '@skyux/theme';`,
|
|
@@ -87,7 +86,7 @@ export class SkyDocsCodeExamplesEditorService {
|
|
|
87
86
|
`import {\n AppComponent\n} from './app.component';`
|
|
88
87
|
];
|
|
89
88
|
const moduleImports = [
|
|
90
|
-
'
|
|
89
|
+
'BrowserAnimationsModule',
|
|
91
90
|
'FormsModule',
|
|
92
91
|
'ReactiveFormsModule',
|
|
93
92
|
'RouterModule.forRoot([])'
|
|
@@ -130,16 +129,16 @@ export class AppComponent {
|
|
|
130
129
|
themeSvc: SkyThemeService,
|
|
131
130
|
renderer?: Renderer2
|
|
132
131
|
) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
132
|
+
const themeSettings = new SkyThemeSettings(
|
|
133
|
+
SkyTheme.presets['${theme === SkyDocsCodeExampleTheme.Modern ? 'modern' : 'default'}'],
|
|
134
|
+
SkyThemeMode.presets.light
|
|
135
|
+
);
|
|
137
136
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
137
|
+
themeSvc.init(
|
|
138
|
+
document.body,
|
|
139
|
+
renderer,
|
|
140
|
+
themeSettings
|
|
141
|
+
);
|
|
143
142
|
}
|
|
144
143
|
|
|
145
144
|
}`;
|
|
@@ -182,10 +181,6 @@ export class AppModule { }
|
|
|
182
181
|
files[`${srcPath}main.ts`] = `${banner}
|
|
183
182
|
import './polyfills';
|
|
184
183
|
|
|
185
|
-
import {
|
|
186
|
-
enableProdMode
|
|
187
|
-
} from '@angular/core';
|
|
188
|
-
|
|
189
184
|
import {
|
|
190
185
|
platformBrowserDynamic
|
|
191
186
|
} from '@angular/platform-browser-dynamic';
|
|
@@ -211,6 +206,7 @@ body {
|
|
|
211
206
|
background-color: #fff;
|
|
212
207
|
margin: 15px;
|
|
213
208
|
}`;
|
|
209
|
+
stylesheets.push("src/styles.scss");
|
|
214
210
|
files['angular.json'] = `{
|
|
215
211
|
"projects": {
|
|
216
212
|
"demo": {
|
|
@@ -218,9 +214,7 @@ body {
|
|
|
218
214
|
"build": {
|
|
219
215
|
"options": {
|
|
220
216
|
"index": "src/index.html",
|
|
221
|
-
"styles":
|
|
222
|
-
"src/styles.scss"
|
|
223
|
-
]
|
|
217
|
+
"styles": ${JSON.stringify(stylesheets)}
|
|
224
218
|
}
|
|
225
219
|
}
|
|
226
220
|
}
|
|
@@ -292,4 +286,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImpo
|
|
|
292
286
|
providedIn: 'root'
|
|
293
287
|
}]
|
|
294
288
|
}] });
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFlNUMsT0FBTyxFQUNMLHVCQUF1QixFQUN4QixNQUFNLHNCQUFzQixDQUFDOztBQU05Qjs7R0FFRztBQUlILE1BQU0sT0FBTyxnQ0FBZ0M7SUFFcEMsWUFBWSxDQUFDLFdBQStCO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQTBCLEVBQUUsQ0FBQztRQUUxQyxhQUFhLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sVUFBVSxDQUFDLFdBQStCO1FBQ2hELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUNqQyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7UUFFaEMsTUFBTSxtQkFBbUIsR0FBeUM7WUFDaEUscUJBQXFCLEVBQUUsY0FBYztZQUNyQyxpQkFBaUIsRUFBRSxjQUFjO1lBQ2pDLG1CQUFtQixFQUFFLGNBQWM7WUFDbkMsZUFBZSxFQUFFLGNBQWM7WUFDL0IsZ0JBQWdCLEVBQUUsY0FBYztZQUNoQywyQkFBMkIsRUFBRSxjQUFjO1lBQzNDLG1DQUFtQyxFQUFFLGNBQWM7WUFDbkQsaUJBQWlCLEVBQUUsY0FBYztZQUNqQyxtQkFBbUIsRUFBRSxZQUFZO1lBQ2pDLGVBQWUsRUFBRSxZQUFZO1lBQzdCLGVBQWUsRUFBRSxZQUFZO1lBQzdCLGFBQWEsRUFBRSxZQUFZ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YWJsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IFN0YWNrQmxpdHpTREsgZnJvbSAnQHN0YWNrYmxpdHovc2RrJztcblxuaW1wb3J0IHtcbiAgT3Blbk9wdGlvbnMgYXMgU3RhY2tCbGl0ek9wZW5PcHRpb25zLFxuICBQcm9qZWN0IGFzIFN0YWNrQmxpdHpQcm9qZWN0XG59IGZyb20gJ0BzdGFja2JsaXR6L3Nkay90eXBpbmdzL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzU291cmNlQ29kZUZpbGVcbn0gZnJvbSAnLi4vc291cmNlLWNvZGUvc291cmNlLWNvZGUtZmlsZSc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llc1xufSBmcm9tICcuL2NvZGUtZXhhbXBsZS1tb2R1bGUtZGVwZW5kZW5jaWVzJztcblxuaW1wb3J0IHtcbiAgU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWVcbn0gZnJvbSAnLi9jb2RlLWV4YW1wbGUtdGhlbWUnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzQ29kZUV4YW1wbGVcbn0gZnJvbSAnLi9jb2RlLWV4YW1wbGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzQ29kZUV4YW1wbGVzRWRpdG9yU2VydmljZSB7XG5cbiAgcHVibGljIGxhdW5jaEVkaXRvcihjb2RlRXhhbXBsZTogU2t5RG9jc0NvZGVFeGFtcGxlKTogdm9pZCB7XG4gICAgY29uc3QgcHJvamVjdCA9IHRoaXMuZ2V0UGF5bG9hZChjb2RlRXhhbXBsZSk7XG4gICAgY29uc3Qgb3B0aW9uczogU3RhY2tCbGl0ek9wZW5PcHRpb25zID0ge307XG5cbiAgICBTdGFja0JsaXR6U0RLLm9wZW5Qcm9qZWN0KHByb2plY3QsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXlsb2FkKGNvZGVFeGFtcGxlOiBTa3lEb2NzQ29kZUV4YW1wbGUpOiBTdGFja0JsaXR6UHJvamVjdCB7XG4gICAgY29uc3QgYW5ndWxhclZlcnNpb24gPSAnXjEyLjIuMCc7XG4gICAgY29uc3Qgc2t5dXhWZXJzaW9uID0gJ141LjAuMC0wJztcblxuICAgIGNvbnN0IGRlZmF1bHREZXBlbmRlbmNpZXM6IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyA9IHtcbiAgICAgICdAYW5ndWxhci9hbmltYXRpb25zJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tbW9uJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tcGlsZXInOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9jb3JlJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvZm9ybXMnOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcm91dGVyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQHNreXV4L2FuaW1hdGlvbnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2Fzc2V0cyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvY29uZmlnJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9jb3JlJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9lcnJvcnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2Zvcm1zJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9odHRwJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9pMThuJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9pbmRpY2F0b3JzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9sYXlvdXQnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L21vZGFscyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvcG9wb3ZlcnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3JvdXRlcic6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvdGhlbWUnOiBza3l1eFZlcnNpb24sXG4gICAgICAncnhqcyc6ICdeNi42LjAnLFxuICAgICAgJ3RzbGliJzogJ14yLjMuMCcsXG4gICAgICAnem9uZS5qcyc6ICd+MC4xMS40J1xuICAgIH07XG5cbiAgICBjb25zdCBtZXJnZWREZXBlbmRlbmNpZXMgPSBPYmplY3QuYXNzaWduKFxuICAgICAge30sXG4gICAgICBkZWZhdWx0RGVwZW5kZW5jaWVzLFxuICAgICAgY29kZUV4YW1wbGUucGFja2FnZURlcGVuZGVuY2llc1xuICAgICk7XG5cbiAgICAvLyBFbnN1cmUgYW55IEBza3l1eCBkZXBlbmRlbmNpZXMgbGlzdCB0aGUgY29ycmVjdCB2ZXJzaW9uIG9mIFNLWSBVWC5cbiAgICAvLyBlLmcuIGBcIkBza3l1eC9jb3JlXCI6IFwiKlwiYCAtLT4gYFwiQHNreXV4L2NvcmVcIjogXCI1LjAuMFwiYFxuICAgIGZvciAoY29uc3QgcGFja2FnZU5hbWUgaW4gbWVyZ2VkRGVwZW5kZW5jaWVzKSB7XG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICAgIGlmIChtZXJnZWREZXBlbmRlbmNpZXMuaGFzT3duUHJvcGVydHkocGFja2FnZU5hbWUpKSB7XG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSBtZXJnZWREZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdO1xuICAgICAgICBpZiAodmVyc2lvbiA9PT0gJyonICYmIC9eKEBibGFja2JhdWRcXC9za3l1eC1saWItfEBza3l1eCkvLnRlc3QocGFja2FnZU5hbWUpKSB7XG4gICAgICAgICAgbWVyZ2VkRGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXSA9IHNreXV4VmVyc2lvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGZpbGVzID0gdGhpcy5wYXJzZVN0YWNrQmxpdHpGaWxlcyhcbiAgICAgIGNvZGVFeGFtcGxlLnNvdXJjZUNvZGUsXG4gICAgICBtZXJnZWREZXBlbmRlbmNpZXMsXG4gICAgICBjb2RlRXhhbXBsZS50aGVtZVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmlsZXMsXG4gICAgICB0aXRsZTogJ1NLWSBVWCBEZW1vJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU0tZIFVYIERlbW8nLFxuICAgICAgdGVtcGxhdGU6ICdhbmd1bGFyLWNsaScsXG4gICAgICBkZXBlbmRlbmNpZXM6IG1lcmdlZERlcGVuZGVuY2llcyxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGNvbXBpbGU6IHtcbiAgICAgICAgICBjbGVhckNvbnNvbGU6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVN0YWNrQmxpdHpGaWxlcyhcbiAgICBzb3VyY2VDb2RlOiBTa3lEb2NzU291cmNlQ29kZUZpbGVbXSxcbiAgICBkZXBlbmRlbmNpZXM6IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyxcbiAgICB0aGVtZTogU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWVcbiAgKToge1xuICAgIFtwYXRoOiBzdHJpbmddOiBzdHJpbmc7XG4gIH0ge1xuXG4gICAgY29uc3Qgc3JjUGF0aCA9ICdzcmMvJztcbiAgICBjb25zdCBhcHBQYXRoID0gYCR7c3JjUGF0aH1hcHAvYDtcblxuICAgIGNvbnN0IGJhbm5lciA9IGAvKipcbiAqIFRoaXMgZmlsZSBpcyBuZWVkZWQgZm9yIHRoZSBTdGFja0JsaXR6IGRlbW8gb25seS5cbiAqIEl0IGlzIGF1dG9tYXRpY2FsbHkgcHJvdmlkZWQgd2hlbiB1c2luZyB0aGUgQW5ndWxhciBDTEkuXG4gKiovXG4gYDtcblxuICAgIGNvbnN0IG1vZHVsZUltcG9ydFN0YXRlbWVudHM6IHN0cmluZ1tdID0gW1xuICAgICAgYGltcG9ydCB7XFxuICBDb21wb25lbnQsXFxuICBOZ01vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgRm9ybXNNb2R1bGUsXFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgcGxhdGZvcm1Ccm93c2VyRHluYW1pY1xcbn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBCcm93c2VyTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBSb3V0ZXJNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgU2t5QXBwTG9jYWxlUHJvdmlkZXJcXG59IGZyb20gJ0Bza3l1eC9pMThuJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBTa3lUaGVtZVNlcnZpY2VcXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgb2YgYXMgb2JzZXJ2YWJsZU9mXFxufSBmcm9tICdyeGpzJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBBcHBDb21wb25lbnRcXG59IGZyb20gJy4vYXBwLmNvbXBvbmVudCc7YFxuICAgIF07XG5cbiAgICBjb25zdCBtb2R1bGVJbXBvcnRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICdCcm93c2VyTW9kdWxlJyxcbiAgICAgICdGb3Jtc01vZHVsZScsXG4gICAgICAnUmVhY3RpdmVGb3Jtc01vZHVsZScsXG4gICAgICAnUm91dGVyTW9kdWxlLmZvclJvb3QoW10pJ1xuICAgIF07XG5cbiAgICBjb25zdCBmaWxlczoge1tfOiBzdHJpbmddOiBzdHJpbmd9ID0ge307XG5cbiAgICBsZXQgYXBwQ29tcG9uZW50VGVtcGxhdGUgPSAnJztcblxuICAgIHNvdXJjZUNvZGUuZm9yRWFjaCgoZmlsZSkgPT4ge1xuICAgICAgZmlsZXNbYCR7YXBwUGF0aH0ke2ZpbGUuZmlsZU5hbWV9YF0gPSBmaWxlLnJhd0NvbnRlbnRzO1xuXG4gICAgICAvLyBTZXR1cCBtb2R1bGUgaW1wb3J0cyBhbmQgY29tcG9uZW50IHNlbGVjdG9ycy5cbiAgICAgIGlmIChmaWxlLmZpbGVOYW1lLmluZGV4T2YoJy5tb2R1bGUudHMnKSA+IC0xKSB7XG4gICAgICAgIGNvbnN0IG1vZHVsZU5hbWUgPSB0aGlzLmdldE1vZHVsZU5hbWUoZmlsZS5yYXdDb250ZW50cyk7XG4gICAgICAgIGNvbnN0IGltcG9ydFBhdGggPSBgLi8ke3RoaXMuZ2V0RmlsZW5hbWVOb0V4dGVuc2lvbihmaWxlLmZpbGVOYW1lKX1gO1xuXG4gICAgICAgIGNvbnN0IGV4cG9ydGVkQ29tcG9uZW50ID0gdGhpcy5nZXRFeHBvcnRlZENvbXBvbmVudChmaWxlLnJhd0NvbnRlbnRzKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50U2VsZWN0b3IgPSB0aGlzLmdldENvbXBvbmVudFNlbGVjdG9yKGV4cG9ydGVkQ29tcG9uZW50LCBzb3VyY2VDb2RlKTtcblxuICAgICAgICBhcHBDb21wb25lbnRUZW1wbGF0ZSArPSBgPCR7Y29tcG9uZW50U2VsZWN0b3J9PjwvJHtjb21wb25lbnRTZWxlY3Rvcn0+YDtcblxuICAgICAgICBtb2R1bGVJbXBvcnRzLnB1c2gobW9kdWxlTmFtZSk7XG4gICAgICAgIG1vZHVsZUltcG9ydFN0YXRlbWVudHMucHVzaChgaW1wb3J0IHtcXG4gICR7bW9kdWxlTmFtZX1cXG59IGZyb20gJyR7aW1wb3J0UGF0aH0nO2ApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgICBmaWxlc1tgJHthcHBQYXRofWFwcC5jb21wb25lbnQudHNgXSA9IGAke2Jhbm5lcn1cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lUaGVtZSxcbiAgU2t5VGhlbWVNb2RlLFxuICBTa3lUaGVtZVNlcnZpY2UsXG4gIFNreVRoZW1lU2V0dGluZ3Ncbn0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRlbW8tYXBwJyxcbiAgdGVtcGxhdGU6ICcke2FwcENvbXBvbmVudFRlbXBsYXRlfSdcbn0pXG5leHBvcnQgY2xhc3MgQXBwQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB0aGVtZVN2YzogU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHJlbmRlcmVyPzogUmVuZGVyZXIyXG4gICkge1xuICAgICAgY29uc3QgdGhlbWVTZXR0aW5ncyA9IG5ldyBTa3lUaGVtZVNldHRpbmdzKFxuICAgICAgICBTa3lUaGVtZS5wcmVzZXRzWycke3RoZW1lID09PSBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZS5Nb2Rlcm4gPyAnbW9kZXJuJyA6ICdkZWZhdWx0J30nXSxcbiAgICAgICAgU2t5VGhlbWVNb2RlLnByZXNldHMubGlnaHRcbiAgICAgICk7XG5cbiAgICAgIHRoZW1lU3ZjLmluaXQoXG4gICAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICAgIHJlbmRlcmVyLFxuICAgICAgICB0aGVtZVNldHRpbmdzXG4gICAgICApO1xuICB9XG5cbn1gO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAubW9kdWxlLnRzYF0gPSBgJHttb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLmpvaW4oJ1xcblxcbicpfVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgJHttb2R1bGVJbXBvcnRzLmpvaW4oJyxcXG4gICAgJyl9XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFwcENvbXBvbmVudFxuICBdLFxuICBib290c3RyYXA6IFtcbiAgICBBcHBDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUFwcExvY2FsZVByb3ZpZGVyLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgZ2V0TG9jYWxlSW5mbzogKCkgPT4gb2JzZXJ2YWJsZU9mKHtcbiAgICAgICAgICBsb2NhbGU6ICdlbi1VUydcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHsgfVxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9aW5kZXguaHRtbGBdID0gYDwhLS1cbiAgVGhlIENTUyBsaW5rcyBhcmUgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciBhIGtub3duIGJ1ZyB0aGF0IHByZXZlbnRzIGV4dGVybmFsIGltcG9ydHMgaW4gQ1NTLlxuICBodHRwczovL2dpdGh1Yi5jb20vc3RhY2tibGl0ei9jb3JlL2lzc3Vlcy8xMzNcbi0tPlxuPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIHR5cGU9XCJ0ZXh0L2Nzc1wiIGhyZWY9XCJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3NcIiAvPiR7dGhlbWUgPT09IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lLk1vZGVybiA/IGA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vc2t5LmJsYWNrYmF1ZGNkbi5uZXQvc3RhdGljL3NreXV4LWljb25zLzUuMC4wL2Fzc2V0cy9jc3Mvc2t5dXgtaWNvbnMubWluLmNzc1wiIC8+YCA6IGBgfVxuXG48c2t5LWRlbW8tYXBwPlxuICBMb2FkaW5nLi4uXG48L3NreS1kZW1vLWFwcD5gO1xuXG4gICAgZmlsZXNbYCR7c3JjUGF0aH1tYWluLnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQgJy4vcG9seWZpbGxzJztcblxuaW1wb3J0IHtcbiAgZW5hYmxlUHJvZE1vZGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIHBsYXRmb3JtQnJvd3NlckR5bmFtaWNcbn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJztcblxuaW1wb3J0IHtcbiAgQXBwTW9kdWxlXG59IGZyb20gJy4vYXBwL2FwcC5tb2R1bGUnO1xuXG5wbGF0Zm9ybUJyb3dzZXJEeW5hbWljKCkuYm9vdHN0cmFwTW9kdWxlKEFwcE1vZHVsZSkudGhlbihyZWYgPT4ge1xuICBpZiAod2luZG93WyduZ1JlZiddKSB7XG4gICAgd2luZG93WyduZ1JlZiddLmRlc3Ryb3koKTtcbiAgfVxuXG4gIHdpbmRvd1snbmdSZWYnXSA9IHJlZjtcbn0pLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpO1xuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9cG9seWZpbGxzLnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQgJ3pvbmUuanMnO1xuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9c3R5bGVzLnNjc3NgXSA9IGBAaW1wb3J0ICd+QHNreXV4L3RoZW1lL2Nzcy9za3knO1xuJHt0aGVtZSA9PT0gU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUuTW9kZXJuID8gYEBpbXBvcnQgJ35Ac2t5dXgvdGhlbWUvY3NzL3RoZW1lcy9tb2Rlcm4vc3R5bGVzJztgIDogYGB9XG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAxNXB4O1xufWA7XG5cbiAgICBmaWxlc1snYW5ndWxhci5qc29uJ10gPSBge1xuICBcInByb2plY3RzXCI6IHtcbiAgICBcImRlbW9cIjoge1xuICAgICAgXCJhcmNoaXRlY3RcIjoge1xuICAgICAgICBcImJ1aWxkXCI6IHtcbiAgICAgICAgICBcIm9wdGlvbnNcIjoge1xuICAgICAgICAgICAgXCJpbmRleFwiOiBcInNyYy9pbmRleC5odG1sXCIsXG4gICAgICAgICAgICBcInN0eWxlc1wiOiBbXG4gICAgICAgICAgICAgIFwic3JjL3N0eWxlcy5zY3NzXCJcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1gO1xuXG4gICAgZmlsZXNbJ3BhY2thZ2UuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgZGVwZW5kZW5jaWVzXG4gICAgfSwgdW5kZWZpbmVkLCAyKTtcblxuICAgIGZpbGVzWyd0c2NvbmZpZy5qc29uJ10gPSBge1xuICBcImNvbXBpbGVyT3B0aW9uc1wiOiB7XG4gICAgXCJ0YXJnZXRcIjogXCJlczIwMTdcIixcbiAgICBcIm1vZHVsZVwiOiBcImVzMjAyMFwiLFxuICAgIFwibW9kdWxlUmVzb2x1dGlvblwiOiBcIm5vZGVcIixcbiAgICBcImVtaXREZWNvcmF0b3JNZXRhZGF0YVwiOiB0cnVlLFxuICAgIFwiZXhwZXJpbWVudGFsRGVjb3JhdG9yc1wiOiB0cnVlLFxuICAgIFwiaW1wb3J0SGVscGVyc1wiOiB0cnVlLFxuICAgIFwidHlwZVJvb3RzXCI6IFtcIm5vZGVfbW9kdWxlcy9AdHlwZXNcIl0sXG4gICAgXCJsaWJcIjogW1xuICAgICAgXCJlczIwMThcIixcbiAgICAgIFwiZG9tXCJcbiAgICBdXG4gIH0sXG4gIFwiYW5ndWxhckNvbXBpbGVyT3B0aW9uc1wiOiB7XG4gICAgXCJmdWxsVGVtcGxhdGVUeXBlQ2hlY2tcIjogdHJ1ZSxcbiAgICBcInN0cmljdEluamVjdGlvblBhcmFtZXRlcnNcIjogdHJ1ZSxcbiAgICBcInN0cmljdElucHV0QWNjZXNzTW9kaWZpZXJzXCI6IHRydWUsXG4gICAgXCJzdHJpY3RUZW1wbGF0ZXNcIjogdHJ1ZSxcbiAgICBcImVuYWJsZUl2eVwiOiBmYWxzZVxuICB9XG59YDtcblxuICAgIHJldHVybiBmaWxlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9kdWxlTmFtZShjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29udGVudHMuc3BsaXQoJ2V4cG9ydCBjbGFzcyAnKVsxXS5zcGxpdCgnIHsnKVswXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsZW5hbWVOb0V4dGVuc2lvbihmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlTmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgIHJldHVybiBmaWxlTmFtZS5yZXBsYWNlKGAuJHtleHRlbnNpb259YCwgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFeHBvcnRlZENvbXBvbmVudChjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cmltbWVkID0gY29udGVudHMucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIGxldCBmcmFnbWVudCA9IHRyaW1tZWQuc3BsaXQoJ2V4cG9ydHM6WycpWzFdO1xuICAgIGlmICghZnJhZ21lbnQpIHtcbiAgICAgIHRocm93ICdZb3UgbXVzdCBleHBvcnQgYSBjb21wb25lbnQgZnJvbSB0aGUgY29kZSBleGFtcGxlIG1vZHVsZSEnO1xuICAgIH1cblxuICAgIGZyYWdtZW50ID0gZnJhZ21lbnQuc3BsaXQoJ10nKVswXTtcblxuICAgIGNvbnN0IGNvbXBvbmVudHMgPSBmcmFnbWVudC5zcGxpdCgnLCcpLmZpbHRlcih4ID0+IHgpO1xuXG4gICAgaWYgKGNvbXBvbmVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgJ1lvdSBtYXkgb25seSBleHBvcnQgYSBzaW5nbGUgY29tcG9uZW50IGZyb20gdGhlIGNvZGUgZXhhbXBsZSBtb2R1bGUnICtcbiAgICAgICAgYCh3ZSBmb3VuZCAke2NvbXBvbmVudHMubGVuZ3RofTogJHtjb21wb25lbnRzLmpvaW4oJywgJyl9KS5gICtcbiAgICAgICAgJ0lzIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSBhIG5ldyBjb2RlIGV4YW1wbGUgd2l0aCB0aGUgZXh0cmEgY29tcG9uZW50cz8nO1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnRzWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wb25lbnRTZWxlY3RvcihcbiAgICBjb21wb25lbnRDbGFzc05hbWU6IHN0cmluZyxcbiAgICBzb3VyY2VDb2RlOiBTa3lEb2NzU291cmNlQ29kZUZpbGVbXVxuICApOiBzdHJpbmcge1xuXG4gICAgY29uc3QgZm91bmQgPSBzb3VyY2VDb2RlLmZpbmQoKGZpbGUpID0+IHtcbiAgICAgIHJldHVybiAoZmlsZS5yYXdDb250ZW50cy5pbmRleE9mKGNvbXBvbmVudENsYXNzTmFtZSkgPiAtMSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB0cmltbWVkID0gZm91bmQucmF3Q29udGVudHMucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIHJldHVybiB0cmltbWVkLnNwbGl0KGBzZWxlY3RvcjonYClbMV0uc3BsaXQoYCdgKVswXTtcbiAgfVxuXG59XG4iXX0=
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFlNUMsT0FBTyxFQUNMLHVCQUF1QixFQUN4QixNQUFNLHNCQUFzQixDQUFDOztBQU05Qjs7R0FFRztBQUlILE1BQU0sT0FBTyxnQ0FBZ0M7SUFFcEMsWUFBWSxDQUFDLFdBQStCO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQTBCLEVBQUUsQ0FBQztRQUUxQyxhQUFhLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sVUFBVSxDQUFDLFdBQStCO1FBQ2hELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUNqQyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7UUFFaEMsTUFBTSxtQkFBbUIsR0FBeUM7WUFDaEUscUJBQXFCLEVBQUUsY0FBYztZQUNyQyxpQkFBaUIsRUFBRSxjQUFjO1lBQ2pDLG1CQUFtQixFQUFFLGNBQWM7WUFDbkMsZUFBZSxFQUFFLGNBQWM7WUFDL0IsZ0JBQWdCLEVBQUUsY0FBYztZQUNoQywyQkFBMkIsRUFBRSxjQUFjO1lBQzNDLG1DQUFtQyxFQUFFLGNBQWM7WUFDbkQsaUJBQWlCLEVBQUUsY0FBYztZQUNqQyxtQkFBbUIsRUFBRSxZQUFZO1lBQ2pDLGVBQWUsRUFBRSxZQUFZO1lBQzdCLGVBQWUsRUFBRSxZQUFZO1lBQzdCLGFBQWEsRUFBRSxZQUFZ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QU07NEZBRVAsZ0NBQWdDO2tCQUg1QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCBTdGFja0JsaXR6U0RLIGZyb20gJ0BzdGFja2JsaXR6L3Nkayc7XG5cbmltcG9ydCB7XG4gIE9wZW5PcHRpb25zIGFzIFN0YWNrQmxpdHpPcGVuT3B0aW9ucyxcbiAgUHJvamVjdCBhcyBTdGFja0JsaXR6UHJvamVjdFxufSBmcm9tICdAc3RhY2tibGl0ei9zZGsvdHlwaW5ncy9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHtcbiAgU2t5RG9jc1NvdXJjZUNvZGVGaWxlXG59IGZyb20gJy4uL3NvdXJjZS1jb2RlL3NvdXJjZS1jb2RlLWZpbGUnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXNcbn0gZnJvbSAnLi9jb2RlLWV4YW1wbGUtbW9kdWxlLWRlcGVuZGVuY2llcyc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NDb2RlRXhhbXBsZVRoZW1lXG59IGZyb20gJy4vY29kZS1leGFtcGxlLXRoZW1lJztcblxuaW1wb3J0IHtcbiAgU2t5RG9jc0NvZGVFeGFtcGxlXG59IGZyb20gJy4vY29kZS1leGFtcGxlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9jc0NvZGVFeGFtcGxlc0VkaXRvclNlcnZpY2Uge1xuXG4gIHB1YmxpYyBsYXVuY2hFZGl0b3IoY29kZUV4YW1wbGU6IFNreURvY3NDb2RlRXhhbXBsZSk6IHZvaWQge1xuICAgIGNvbnN0IHByb2plY3QgPSB0aGlzLmdldFBheWxvYWQoY29kZUV4YW1wbGUpO1xuICAgIGNvbnN0IG9wdGlvbnM6IFN0YWNrQmxpdHpPcGVuT3B0aW9ucyA9IHt9O1xuXG4gICAgU3RhY2tCbGl0elNESy5vcGVuUHJvamVjdChwcm9qZWN0LCBvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF5bG9hZChjb2RlRXhhbXBsZTogU2t5RG9jc0NvZGVFeGFtcGxlKTogU3RhY2tCbGl0elByb2plY3Qge1xuICAgIGNvbnN0IGFuZ3VsYXJWZXJzaW9uID0gJ14xMi4yLjAnO1xuICAgIGNvbnN0IHNreXV4VmVyc2lvbiA9ICdeNS4wLjAtMCc7XG5cbiAgICBjb25zdCBkZWZhdWx0RGVwZW5kZW5jaWVzOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMgPSB7XG4gICAgICAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NvbW1vbic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NvbXBpbGVyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29yZSc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2Zvcm1zJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL3JvdXRlcic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9hbmltYXRpb25zJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9hc3NldHMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2NvbmZpZyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvY29yZSc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvZXJyb3JzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9mb3Jtcyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaHR0cCc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaTE4bic6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaW5kaWNhdG9ycyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvbGF5b3V0Jzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9tb2RhbHMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3BvcG92ZXJzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9yb3V0ZXInOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3RoZW1lJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ3J4anMnOiAnXjYuNi4wJyxcbiAgICAgICd0c2xpYic6ICdeMi4zLjAnLFxuICAgICAgJ3pvbmUuanMnOiAnfjAuMTEuNCdcbiAgICB9O1xuXG4gICAgY29uc3QgbWVyZ2VkRGVwZW5kZW5jaWVzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgZGVmYXVsdERlcGVuZGVuY2llcyxcbiAgICAgIGNvZGVFeGFtcGxlLnBhY2thZ2VEZXBlbmRlbmNpZXNcbiAgICApO1xuXG4gICAgLy8gRW5zdXJlIGFueSBAc2t5dXggZGVwZW5kZW5jaWVzIGxpc3QgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiBTS1kgVVguXG4gICAgLy8gZS5nLiBgXCJAc2t5dXgvY29yZVwiOiBcIipcImAgLS0+IGBcIkBza3l1eC9jb3JlXCI6IFwiNS4wLjBcImBcbiAgICBmb3IgKGNvbnN0IHBhY2thZ2VOYW1lIGluIG1lcmdlZERlcGVuZGVuY2llcykge1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgICBpZiAobWVyZ2VkRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHBhY2thZ2VOYW1lKSkge1xuICAgICAgICBjb25zdCB2ZXJzaW9uID0gbWVyZ2VkRGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXTtcbiAgICAgICAgaWYgKHZlcnNpb24gPT09ICcqJyAmJiAvXihAYmxhY2tiYXVkXFwvc2t5dXgtbGliLXxAc2t5dXgpLy50ZXN0KHBhY2thZ2VOYW1lKSkge1xuICAgICAgICAgIG1lcmdlZERlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0gPSBza3l1eFZlcnNpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmaWxlcyA9IHRoaXMucGFyc2VTdGFja0JsaXR6RmlsZXMoXG4gICAgICBjb2RlRXhhbXBsZS5zb3VyY2VDb2RlLFxuICAgICAgbWVyZ2VkRGVwZW5kZW5jaWVzLFxuICAgICAgY29kZUV4YW1wbGUudGhlbWUsXG4gICAgICBjb2RlRXhhbXBsZS5zdHlsZXNoZWV0c1xuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmlsZXMsXG4gICAgICB0aXRsZTogJ1NLWSBVWCBEZW1vJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU0tZIFVYIERlbW8nLFxuICAgICAgdGVtcGxhdGU6ICdhbmd1bGFyLWNsaScsXG4gICAgICBkZXBlbmRlbmNpZXM6IG1lcmdlZERlcGVuZGVuY2llcyxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGNvbXBpbGU6IHtcbiAgICAgICAgICBjbGVhckNvbnNvbGU6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVN0YWNrQmxpdHpGaWxlcyhcbiAgICBzb3VyY2VDb2RlOiBTa3lEb2NzU291cmNlQ29kZUZpbGVbXSxcbiAgICBkZXBlbmRlbmNpZXM6IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyxcbiAgICB0aGVtZTogU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUsXG4gICAgc3R5bGVzaGVldHM6IHN0cmluZ1tdID0gW11cbiAgKToge1xuICAgIFtwYXRoOiBzdHJpbmddOiBzdHJpbmc7XG4gIH0ge1xuXG4gICAgY29uc3Qgc3JjUGF0aCA9ICdzcmMvJztcbiAgICBjb25zdCBhcHBQYXRoID0gYCR7c3JjUGF0aH1hcHAvYDtcblxuICAgIGNvbnN0IGJhbm5lciA9IGAvKipcbiAqIFRoaXMgZmlsZSBpcyBuZWVkZWQgZm9yIHRoZSBTdGFja0JsaXR6IGRlbW8gb25seS5cbiAqIEl0IGlzIGF1dG9tYXRpY2FsbHkgcHJvdmlkZWQgd2hlbiB1c2luZyB0aGUgQW5ndWxhciBDTEkuXG4gKiovXG4gYDtcblxuICAgIGNvbnN0IG1vZHVsZUltcG9ydFN0YXRlbWVudHM6IHN0cmluZ1tdID0gW1xuICAgICAgYGltcG9ydCB7XFxuICBOZ01vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgRm9ybXNNb2R1bGUsXFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgUm91dGVyTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIFNreUFwcExvY2FsZVByb3ZpZGVyXFxufSBmcm9tICdAc2t5dXgvaTE4bic7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgU2t5VGhlbWVTZXJ2aWNlXFxufSBmcm9tICdAc2t5dXgvdGhlbWUnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIG9mIGFzIG9ic2VydmFibGVPZlxcbn0gZnJvbSAncnhqcyc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgQXBwQ29tcG9uZW50XFxufSBmcm9tICcuL2FwcC5jb21wb25lbnQnO2BcbiAgICBdO1xuXG4gICAgY29uc3QgbW9kdWxlSW1wb3J0czogc3RyaW5nW10gPSBbXG4gICAgICAnQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUnLFxuICAgICAgJ0Zvcm1zTW9kdWxlJyxcbiAgICAgICdSZWFjdGl2ZUZvcm1zTW9kdWxlJyxcbiAgICAgICdSb3V0ZXJNb2R1bGUuZm9yUm9vdChbXSknXG4gICAgXTtcblxuICAgIGNvbnN0IGZpbGVzOiB7W186IHN0cmluZ106IHN0cmluZ30gPSB7fTtcblxuICAgIGxldCBhcHBDb21wb25lbnRUZW1wbGF0ZSA9ICcnO1xuXG4gICAgc291cmNlQ29kZS5mb3JFYWNoKChmaWxlKSA9PiB7XG4gICAgICBmaWxlc1tgJHthcHBQYXRofSR7ZmlsZS5maWxlTmFtZX1gXSA9IGZpbGUucmF3Q29udGVudHM7XG5cbiAgICAgIC8vIFNldHVwIG1vZHVsZSBpbXBvcnRzIGFuZCBjb21wb25lbnQgc2VsZWN0b3JzLlxuICAgICAgaWYgKGZpbGUuZmlsZU5hbWUuaW5kZXhPZignLm1vZHVsZS50cycpID4gLTEpIHtcbiAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHRoaXMuZ2V0TW9kdWxlTmFtZShmaWxlLnJhd0NvbnRlbnRzKTtcbiAgICAgICAgY29uc3QgaW1wb3J0UGF0aCA9IGAuLyR7dGhpcy5nZXRGaWxlbmFtZU5vRXh0ZW5zaW9uKGZpbGUuZmlsZU5hbWUpfWA7XG5cbiAgICAgICAgY29uc3QgZXhwb3J0ZWRDb21wb25lbnQgPSB0aGlzLmdldEV4cG9ydGVkQ29tcG9uZW50KGZpbGUucmF3Q29udGVudHMpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRTZWxlY3RvciA9IHRoaXMuZ2V0Q29tcG9uZW50U2VsZWN0b3IoZXhwb3J0ZWRDb21wb25lbnQsIHNvdXJjZUNvZGUpO1xuXG4gICAgICAgIGFwcENvbXBvbmVudFRlbXBsYXRlICs9IGA8JHtjb21wb25lbnRTZWxlY3Rvcn0+PC8ke2NvbXBvbmVudFNlbGVjdG9yfT5gO1xuXG4gICAgICAgIG1vZHVsZUltcG9ydHMucHVzaChtb2R1bGVOYW1lKTtcbiAgICAgICAgbW9kdWxlSW1wb3J0U3RhdGVtZW50cy5wdXNoKGBpbXBvcnQge1xcbiAgJHttb2R1bGVOYW1lfVxcbn0gZnJvbSAnJHtpbXBvcnRQYXRofSc7YCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAgIGZpbGVzW2Ake2FwcFBhdGh9YXBwLmNvbXBvbmVudC50c2BdID0gYCR7YmFubmVyfVxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreVRoZW1lLFxuICBTa3lUaGVtZU1vZGUsXG4gIFNreVRoZW1lU2VydmljZSxcbiAgU2t5VGhlbWVTZXR0aW5nc1xufSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGVtby1hcHAnLFxuICB0ZW1wbGF0ZTogJyR7YXBwQ29tcG9uZW50VGVtcGxhdGV9J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRoZW1lU3ZjOiBTa3lUaGVtZVNlcnZpY2UsXG4gICAgcmVuZGVyZXI/OiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgY29uc3QgdGhlbWVTZXR0aW5ncyA9IG5ldyBTa3lUaGVtZVNldHRpbmdzKFxuICAgICAgU2t5VGhlbWUucHJlc2V0c1snJHt0aGVtZSA9PT0gU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUuTW9kZXJuID8gJ21vZGVybicgOiAnZGVmYXVsdCd9J10sXG4gICAgICBTa3lUaGVtZU1vZGUucHJlc2V0cy5saWdodFxuICAgICk7XG5cbiAgICB0aGVtZVN2Yy5pbml0KFxuICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgIHJlbmRlcmVyLFxuICAgICAgdGhlbWVTZXR0aW5nc1xuICAgICk7XG4gIH1cblxufWA7XG5cbiAgICBmaWxlc1tgJHthcHBQYXRofWFwcC5tb2R1bGUudHNgXSA9IGAke21vZHVsZUltcG9ydFN0YXRlbWVudHMuam9pbignXFxuXFxuJyl9XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICAke21vZHVsZUltcG9ydHMuam9pbignLFxcbiAgICAnKX1cbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXBwQ29tcG9uZW50XG4gIF0sXG4gIGJvb3RzdHJhcDogW1xuICAgIEFwcENvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBTa3lUaGVtZVNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogU2t5QXBwTG9jYWxlUHJvdmlkZXIsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBnZXRMb2NhbGVJbmZvOiAoKSA9PiBvYnNlcnZhYmxlT2Yoe1xuICAgICAgICAgIGxvY2FsZTogJ2VuLVVTJ1xuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBcHBNb2R1bGUgeyB9XG5gO1xuXG4gICAgZmlsZXNbYCR7c3JjUGF0aH1pbmRleC5odG1sYF0gPSBgPCEtLVxuICBUaGUgQ1NTIGxpbmtzIGFyZSBuZWVkZWQgZm9yIHRoZSBTdGFja0JsaXR6IGRlbW8gb25seS5cbiAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEga25vd24gYnVnIHRoYXQgcHJldmVudHMgZXh0ZXJuYWwgaW1wb3J0cyBpbiBDU1MuXG4gIGh0dHBzOi8vZ2l0aHViLmNvbS9zdGFja2JsaXR6L2NvcmUvaXNzdWVzLzEzM1xuLS0+XG48bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzc1wiIC8+JHt0aGVtZSA9PT0gU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUuTW9kZXJuID8gYDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiaHR0cHM6Ly9za3kuYmxhY2tiYXVkY2RuLm5ldC9zdGF0aWMvc2t5dXgtaWNvbnMvNS4wLjAvYXNzZXRzL2Nzcy9za3l1eC1pY29ucy5taW4uY3NzXCIgLz5gIDogYGB9XG5cbjxza3ktZGVtby1hcHA+XG4gIExvYWRpbmcuLi5cbjwvc2t5LWRlbW8tYXBwPmA7XG5cbiAgICBmaWxlc1tgJHtzcmNQYXRofW1haW4udHNgXSA9IGAke2Jhbm5lcn1cbmltcG9ydCAnLi9wb2x5ZmlsbHMnO1xuXG5pbXBvcnQge1xuICBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljXG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc7XG5cbmltcG9ydCB7XG4gIEFwcE1vZHVsZVxufSBmcm9tICcuL2FwcC9hcHAubW9kdWxlJztcblxucGxhdGZvcm1Ccm93c2VyRHluYW1pYygpLmJvb3RzdHJhcE1vZHVsZShBcHBNb2R1bGUpLnRoZW4ocmVmID0+IHtcbiAgaWYgKHdpbmRvd1snbmdSZWYnXSkge1xuICAgIHdpbmRvd1snbmdSZWYnXS5kZXN0cm95KCk7XG4gIH1cblxuICB3aW5kb3dbJ25nUmVmJ10gPSByZWY7XG59KS5jYXRjaChlcnIgPT4gY29uc29sZS5lcnJvcihlcnIpKTtcbmA7XG5cbiAgICBmaWxlc1tgJHtzcmNQYXRofXBvbHlmaWxscy50c2BdID0gYCR7YmFubmVyfVxuaW1wb3J0ICd6b25lLmpzJztcbmA7XG5cbiAgICBmaWxlc1tgJHtzcmNQYXRofXN0eWxlcy5zY3NzYF0gPSBgQGltcG9ydCAnfkBza3l1eC90aGVtZS9jc3Mvc2t5JztcbiR7dGhlbWUgPT09IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lLk1vZGVybiA/IGBAaW1wb3J0ICd+QHNreXV4L3RoZW1lL2Nzcy90aGVtZXMvbW9kZXJuL3N0eWxlcyc7YCA6IGBgfVxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogMTVweDtcbn1gO1xuXG4gICAgc3R5bGVzaGVldHMucHVzaChcInNyYy9zdHlsZXMuc2Nzc1wiKTtcblxuICAgIGZpbGVzWydhbmd1bGFyLmpzb24nXSA9IGB7XG4gIFwicHJvamVjdHNcIjoge1xuICAgIFwiZGVtb1wiOiB7XG4gICAgICBcImFyY2hpdGVjdFwiOiB7XG4gICAgICAgIFwiYnVpbGRcIjoge1xuICAgICAgICAgIFwib3B0aW9uc1wiOiB7XG4gICAgICAgICAgICBcImluZGV4XCI6IFwic3JjL2luZGV4Lmh0bWxcIixcbiAgICAgICAgICAgIFwic3R5bGVzXCI6ICR7SlNPTi5zdHJpbmdpZnkoc3R5bGVzaGVldHMpfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufWA7XG5cbiAgICBmaWxlc1sncGFja2FnZS5qc29uJ10gPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBkZXBlbmRlbmNpZXNcbiAgICB9LCB1bmRlZmluZWQsIDIpO1xuXG4gICAgZmlsZXNbJ3RzY29uZmlnLmpzb24nXSA9IGB7XG4gIFwiY29tcGlsZXJPcHRpb25zXCI6IHtcbiAgICBcInRhcmdldFwiOiBcImVzMjAxN1wiLFxuICAgIFwibW9kdWxlXCI6IFwiZXMyMDIwXCIsXG4gICAgXCJtb2R1bGVSZXNvbHV0aW9uXCI6IFwibm9kZVwiLFxuICAgIFwiZW1pdERlY29yYXRvck1ldGFkYXRhXCI6IHRydWUsXG4gICAgXCJleHBlcmltZW50YWxEZWNvcmF0b3JzXCI6IHRydWUsXG4gICAgXCJpbXBvcnRIZWxwZXJzXCI6IHRydWUsXG4gICAgXCJ0eXBlUm9vdHNcIjogW1wibm9kZV9tb2R1bGVzL0B0eXBlc1wiXSxcbiAgICBcImxpYlwiOiBbXG4gICAgICBcImVzMjAxOFwiLFxuICAgICAgXCJkb21cIlxuICAgIF1cbiAgfSxcbiAgXCJhbmd1bGFyQ29tcGlsZXJPcHRpb25zXCI6IHtcbiAgICBcImZ1bGxUZW1wbGF0ZVR5cGVDaGVja1wiOiB0cnVlLFxuICAgIFwic3RyaWN0SW5qZWN0aW9uUGFyYW1ldGVyc1wiOiB0cnVlLFxuICAgIFwic3RyaWN0SW5wdXRBY2Nlc3NNb2RpZmllcnNcIjogdHJ1ZSxcbiAgICBcInN0cmljdFRlbXBsYXRlc1wiOiB0cnVlLFxuICAgIFwiZW5hYmxlSXZ5XCI6IGZhbHNlXG4gIH1cbn1gO1xuXG4gICAgcmV0dXJuIGZpbGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2R1bGVOYW1lKGNvbnRlbnRzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjb250ZW50cy5zcGxpdCgnZXhwb3J0IGNsYXNzICcpWzFdLnNwbGl0KCcgeycpWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWxlbmFtZU5vRXh0ZW5zaW9uKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGVOYW1lLnNwbGl0KCcuJykucG9wKCk7XG4gICAgcmV0dXJuIGZpbGVOYW1lLnJlcGxhY2UoYC4ke2V4dGVuc2lvbn1gLCAnJyk7XG4gIH1cblxuICBwcml2YXRlIGdldEV4cG9ydGVkQ29tcG9uZW50KGNvbnRlbnRzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRyaW1tZWQgPSBjb250ZW50cy5yZXBsYWNlKC9cXHMvZywgJycpO1xuXG4gICAgbGV0IGZyYWdtZW50ID0gdHJpbW1lZC5zcGxpdCgnZXhwb3J0czpbJylbMV07XG4gICAgaWYgKCFmcmFnbWVudCkge1xuICAgICAgdGhyb3cgJ1lvdSBtdXN0IGV4cG9ydCBhIGNvbXBvbmVudCBmcm9tIHRoZSBjb2RlIGV4YW1wbGUgbW9kdWxlISc7XG4gICAgfVxuXG4gICAgZnJhZ21lbnQgPSBmcmFnbWVudC5zcGxpdCgnXScpWzBdO1xuXG4gICAgY29uc3QgY29tcG9uZW50cyA9IGZyYWdtZW50LnNwbGl0KCcsJykuZmlsdGVyKHggPT4geCk7XG5cbiAgICBpZiAoY29tcG9uZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICB0aHJvdyAnWW91IG1heSBvbmx5IGV4cG9ydCBhIHNpbmdsZSBjb21wb25lbnQgZnJvbSB0aGUgY29kZSBleGFtcGxlIG1vZHVsZScgK1xuICAgICAgICBgKHdlIGZvdW5kICR7Y29tcG9uZW50cy5sZW5ndGh9OiAke2NvbXBvbmVudHMuam9pbignLCAnKX0pLmAgK1xuICAgICAgICAnSXMgaXQgcG9zc2libGUgdG8gY3JlYXRlIGEgbmV3IGNvZGUgZXhhbXBsZSB3aXRoIHRoZSBleHRyYSBjb21wb25lbnRzPyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudHNbMF07XG4gIH1cblxuICBwcml2YXRlIGdldENvbXBvbmVudFNlbGVjdG9yKFxuICAgIGNvbXBvbmVudENsYXNzTmFtZTogc3RyaW5nLFxuICAgIHNvdXJjZUNvZGU6IFNreURvY3NTb3VyY2VDb2RlRmlsZVtdXG4gICk6IHN0cmluZyB7XG5cbiAgICBjb25zdCBmb3VuZCA9IHNvdXJjZUNvZGUuZmluZCgoZmlsZSkgPT4ge1xuICAgICAgcmV0dXJuIChmaWxlLnJhd0NvbnRlbnRzLmluZGV4T2YoY29tcG9uZW50Q2xhc3NOYW1lKSA+IC0xKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHRyaW1tZWQgPSBmb3VuZC5yYXdDb250ZW50cy5yZXBsYWNlKC9cXHMvZywgJycpO1xuXG4gICAgcmV0dXJuIHRyaW1tZWQuc3BsaXQoYHNlbGVjdG9yOidgKVsxXS5zcGxpdChgJ2ApWzBdO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -28,6 +28,7 @@ export class SkyDocsCodeExamplesComponent {
|
|
|
28
28
|
constructor(editorService, sourceCodeService) {
|
|
29
29
|
this.editorService = editorService;
|
|
30
30
|
this.sourceCodeService = sourceCodeService;
|
|
31
|
+
this.stylesheets = [];
|
|
31
32
|
this.codeExamples = [];
|
|
32
33
|
}
|
|
33
34
|
/**
|
|
@@ -56,6 +57,7 @@ export class SkyDocsCodeExamplesComponent {
|
|
|
56
57
|
heading: component.heading,
|
|
57
58
|
packageDependencies: this.packageDependencies,
|
|
58
59
|
sourceCode,
|
|
60
|
+
stylesheets: this.stylesheets,
|
|
59
61
|
theme: component.theme
|
|
60
62
|
});
|
|
61
63
|
});
|
|
@@ -80,7 +82,7 @@ export class SkyDocsCodeExamplesComponent {
|
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
84
|
SkyDocsCodeExamplesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsCodeExamplesComponent, deps: [{ token: i1.SkyDocsCodeExamplesEditorService }, { token: i2.SkyDocsSourceCodeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
83
|
-
SkyDocsCodeExamplesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDocsCodeExamplesComponent, selector: "sky-docs-code-examples", inputs: { packageDependencies: "packageDependencies" }, queries: [{ propertyName: "codeExampleComponents", predicate: SkyDocsCodeExampleComponent }], ngImport: i0, template: "<div *ngIf=\"codeExamples && codeExamples.length\"\n class=\"sky-docs-code-examples\"\n>\n <sky-repeater *ngIf=\"codeExamples.length > 1 else singleCodeExample\"\n expandMode=\"multiple\"\n >\n <sky-repeater-item *ngFor=\"let codeExample of codeExamples\"\n [isExpanded]=\"false\"\n >\n <sky-repeater-item-title>\n <ng-container *ngTemplateOutlet=\"codeExampleHeaderTemplate; context: {$implicit: codeExample}\">\n </ng-container>\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n <ng-container *ngTemplateOutlet=\"codeExampleTemplate; context: {$implicit: codeExample}\">\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n</div>\n\n<ng-template>\n <ng-content\n select=\"sky-docs-code-example\"\n >\n </ng-content>\n</ng-template>\n\n<ng-template\n let-item\n #codeExampleTemplate\n>\n <div class=\"sky-docs-code-example-wrapper\">\n <sky-vertical-tabset *ngIf=\"item.sourceCode && item.sourceCode.length\">\n <sky-vertical-tab *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\n #singleCodeExample\n>\n <ng-container *ngTemplateOutlet=\"codeExampleHeaderTemplate; context: {$implicit: codeExamples[0]}\">\n </ng-container>\n <ng-container *ngTemplateOutlet=\"codeExampleTemplate; context: {$implicit: codeExamples[0]}\">\n </ng-container>\n</ng-template>\n\n<ng-template\n let-codeExample\n #codeExampleHeaderTemplate\n>\n <div\n class=\"sky-docs-code-example-header\"\n >\n <div\n class=\"sky-docs-code-example-header-title sky-emphasized\"\n >\n {{ codeExample.heading }}\n </div>\n <div\n class=\"sky-docs-code-example-header-controls\"\n >\n <button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"launchEditor(codeExample);$event.stopPropagation();\"\n >\n <sky-icon\n icon=\"pencil\"\n ></sky-icon>\n {{ 'sky-docs-code-example-launch-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</ng-template>", styles: [".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:normal}.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"], components: [{ type: i3.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { type: i3.λ10, selector: "sky-repeater-item", inputs: ["inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { type: i3.λ12, selector: "sky-repeater-item-title" }, { type: i3.λ8, selector: "sky-repeater-item-content" }, { type: i4.λ6, selector: "sky-vertical-tabset", inputs: ["showTabsText", "ariaRole", "maintainTabContent"], outputs: ["activeChange"] }, { type: i4.λ4, selector: "sky-vertical-tab", inputs: ["active", "ariaControls", "ariaInvalid", "ariaRequired", "ariaRole", "disabled", "errorIndicator", "tabHeaderCount", "tabHeading", "showTabRightArrow", "tabId"] }, { type: i5.λ2, selector: "sky-code-block", inputs: ["code", "fileName", "languageType", "hideCopyToClipboard", "hideHeader"] }, { type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i8.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
85
|
+
SkyDocsCodeExamplesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", 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\"\n class=\"sky-docs-code-examples\"\n>\n <sky-repeater *ngIf=\"codeExamples.length > 1 else singleCodeExample\"\n expandMode=\"multiple\"\n >\n <sky-repeater-item *ngFor=\"let codeExample of codeExamples\"\n [isExpanded]=\"false\"\n >\n <sky-repeater-item-title>\n <ng-container *ngTemplateOutlet=\"codeExampleHeaderTemplate; context: {$implicit: codeExample}\">\n </ng-container>\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n <ng-container *ngTemplateOutlet=\"codeExampleTemplate; context: {$implicit: codeExample}\">\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n</div>\n\n<ng-template>\n <ng-content\n select=\"sky-docs-code-example\"\n >\n </ng-content>\n</ng-template>\n\n<ng-template\n let-item\n #codeExampleTemplate\n>\n <div class=\"sky-docs-code-example-wrapper\">\n <sky-vertical-tabset *ngIf=\"item.sourceCode && item.sourceCode.length\">\n <sky-vertical-tab *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\n #singleCodeExample\n>\n <ng-container *ngTemplateOutlet=\"codeExampleHeaderTemplate; context: {$implicit: codeExamples[0]}\">\n </ng-container>\n <ng-container *ngTemplateOutlet=\"codeExampleTemplate; context: {$implicit: codeExamples[0]}\">\n </ng-container>\n</ng-template>\n\n<ng-template\n let-codeExample\n #codeExampleHeaderTemplate\n>\n <div\n class=\"sky-docs-code-example-header\"\n >\n <div\n class=\"sky-docs-code-example-header-title sky-emphasized\"\n >\n {{ codeExample.heading }}\n </div>\n <div\n class=\"sky-docs-code-example-header-controls\"\n >\n <button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"launchEditor(codeExample);$event.stopPropagation();\"\n >\n <sky-icon\n icon=\"pencil\"\n ></sky-icon>\n {{ 'sky-docs-code-example-launch-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</ng-template>", styles: [".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:normal}.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"], components: [{ type: i3.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { type: i3.λ10, selector: "sky-repeater-item", inputs: ["inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { type: i3.λ12, selector: "sky-repeater-item-title" }, { type: i3.λ8, selector: "sky-repeater-item-content" }, { type: i4.λ6, selector: "sky-vertical-tabset", inputs: ["showTabsText", "ariaRole", "maintainTabContent"], outputs: ["activeChange"] }, { type: i4.λ4, selector: "sky-vertical-tab", inputs: ["active", "ariaControls", "ariaInvalid", "ariaRequired", "ariaRole", "disabled", "errorIndicator", "tabHeaderCount", "tabHeading", "showTabRightArrow", "tabId"] }, { type: i5.λ2, selector: "sky-code-block", inputs: ["code", "fileName", "languageType", "hideCopyToClipboard", "hideHeader"] }, { type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i8.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
84
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsCodeExamplesComponent, decorators: [{
|
|
85
87
|
type: Component,
|
|
86
88
|
args: [{
|
|
@@ -91,8 +93,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImpo
|
|
|
91
93
|
}]
|
|
92
94
|
}], ctorParameters: function () { return [{ type: i1.SkyDocsCodeExamplesEditorService }, { type: i2.SkyDocsSourceCodeService }]; }, propDecorators: { packageDependencies: [{
|
|
93
95
|
type: Input
|
|
96
|
+
}], stylesheets: [{
|
|
97
|
+
type: Input
|
|
94
98
|
}], codeExampleComponents: [{
|
|
95
99
|
type: ContentChildren,
|
|
96
100
|
args: [SkyDocsCodeExampleComponent]
|
|
97
101
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9tb2R1bGVzL2NvZGUtZXhhbXBsZXMvY29kZS1leGFtcGxlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9tb2R1bGVzL2NvZGUtZXhhbXBsZXMvY29kZS1leGFtcGxlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUVOLE1BQU0sZUFBZSxDQUFDO0FBVXZCLE9BQU8sRUFDTCwyQkFBMkIsRUFDNUIsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQVVsQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQU9ILE1BQU0sT0FBTyw0QkFBNEI7SUFzQnZDLFlBQ1UsYUFBK0MsRUFDL0MsaUJBQTJDO1FBRDNDLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQUMvQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBVDlDLGlCQUFZLEdBQXlCLEVBQUUsQ0FBQztJQVUzQyxDQUFDO0lBdkJMOzs7T0FHRztJQUNILElBQ1csbUJBQW1CLENBQUMsS0FBMkM7UUFDeEUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFjTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBRS9DLHVHQUF1RztZQUN2RyxJQUFJLGNBQWMsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDO1lBQzlDLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtnQkFDcEMsY0FBYyxJQUFJLEdBQUcsQ0FBQzthQUN2QjtZQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0NBQXNDLGNBQWMsVUFBVSxTQUFTLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztnQkFDbEcsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztnQkFDMUIsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtnQkFDN0MsVUFBVTtnQkFDVixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7YUFDdkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLFdBQStCO1FBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBQyxRQUFnQjtRQUMzQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTFELFFBQVEsU0FBUyxFQUFFO1lBQ2pCLEtBQUssSUFBSTtnQkFDUCxPQUFPLFlBQVksQ0FBQztZQUN0QixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxRQUFRLENBQUM7WUFDbEI7Z0JBQ0UsT0FBTyxTQUFTLENBQUM7U0FDcEI7SUFDSCxDQUFDOzswSEF2RVUsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsNEpBaUJ0QiwyQkFBMkIsNkJDbkU5QywwNEVBb0ZjOzRGRGxDRCw0QkFBNEI7a0JBTnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7b0JBQzdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4SkFRWSxtQkFBbUI7c0JBRDdCLEtBQUs7Z0JBWUUscUJBQXFCO3NCQUQ1QixlQUFlO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5RG9jc1NvdXJjZUNvZGVTZXJ2aWNlXG59IGZyb20gJy4uL3NvdXJjZS1jb2RlL3NvdXJjZS1jb2RlLnNlcnZpY2UnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzQ29kZUV4YW1wbGVzRWRpdG9yU2VydmljZVxufSBmcm9tICcuL2NvZGUtZXhhbXBsZXMtZWRpdG9yLnNlcnZpY2UnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzQ29kZUV4YW1wbGVDb21wb25lbnRcbn0gZnJvbSAnLi9jb2RlLWV4YW1wbGUuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzXG59IGZyb20gJy4vY29kZS1leGFtcGxlLW1vZHVsZS1kZXBlbmRlbmNpZXMnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzQ29kZUV4YW1wbGVcbn0gZnJvbSAnLi9jb2RlLWV4YW1wbGUnO1xuXG4vKipcbiAqIFdyYXBzIGFsbCBjb2RlIGV4YW1wbGVzIGFuZCBoYW5kbGVzIHRoZWlyIGNvbmZpZ3VyYXRpb24gYW5kIHN0eWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIDxza3ktZG9jcy1jb2RlLWV4YW1wbGVzXG4gKiAgIFtwYWNrYWdlRGVwZW5kZW5jaWVzXT1cIntcbiAqICAgICBcImZvb2JhclwiOiBcIipcIixcbiAqICAgICBcImJhelwiOiBcIjEuMi4zXCJcbiAqICAgfVwiXG4gKiA+XG4gKiAgIDxza3ktZG9jcy1jb2RlLWV4YW1wbGU+XG4gKiAgIDwvc2t5LWRvY3MtY29kZS1leGFtcGxlPlxuICogPC9za3ktZG9jcy1jb2RlLWV4YW1wbGVzPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kb2NzLWNvZGUtZXhhbXBsZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kZS1leGFtcGxlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZGUtZXhhbXBsZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9jc0NvZGVFeGFtcGxlc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuXG4gIC8qKlxuICAgKiBBbnkgZXh0cmEgTlBNIHBhY2thZ2UgZGVwZW5kZW5jaWVzIHRoYXQgYXJlIG5lZWRlZCBmb3IgdGhlIGVkaXRvciB0byBydW4gdGhlIGNvZGUgZXhhbXBsZS5cbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGFja2FnZURlcGVuZGVuY2llcyh2YWx1ZTogU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzKSB7XG4gICAgdGhpcy5fcGFja2FnZURlcGVuZGVuY2llcyA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBwYWNrYWdlRGVwZW5kZW5jaWVzKCk6IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyB7XG4gICAgcmV0dXJuIHRoaXMuX3BhY2thZ2VEZXBlbmRlbmNpZXMgfHwge307XG4gIH1cblxuICBwdWJsaWMgY29kZUV4YW1wbGVzOiBTa3lEb2NzQ29kZUV4YW1wbGVbXSA9IFtdO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5RG9jc0NvZGVFeGFtcGxlQ29tcG9uZW50KVxuICBwcml2YXRlIGNvZGVFeGFtcGxlQ29tcG9uZW50czogUXVlcnlMaXN0PFNreURvY3NDb2RlRXhhbXBsZUNvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBfcGFja2FnZURlcGVuZGVuY2llczogU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWRpdG9yU2VydmljZTogU2t5RG9jc0NvZGVFeGFtcGxlc0VkaXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzb3VyY2VDb2RlU2VydmljZTogU2t5RG9jc1NvdXJjZUNvZGVTZXJ2aWNlXG4gICkgeyB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvZGVFeGFtcGxlQ29tcG9uZW50cy5mb3JFYWNoKChjb21wb25lbnQpID0+IHtcblxuICAgICAgLy8gTWFrZSBzdXJlIHRoZSBzb3VyY2UgY29kZSBwYXRoIGVuZHMgaW4gYSBzbGFzaCwgc28gdGhhdCBzaW1pbGFybHkgbmFtZWQgZGlyZWN0b3JpZXMgYXJlbid0IGluY2x1ZGVkLlxuICAgICAgbGV0IHNvdXJjZUNvZGVQYXRoID0gY29tcG9uZW50LnNvdXJjZUNvZGVQYXRoO1xuICAgICAgaWYgKHNvdXJjZUNvZGVQYXRoLnNsaWNlKC0xKSAhPT0gJy8nKSB7XG4gICAgICAgIHNvdXJjZUNvZGVQYXRoICs9ICcvJztcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc291cmNlQ29kZSA9IHRoaXMuc291cmNlQ29kZVNlcnZpY2UuZ2V0U291cmNlQ29kZShzb3VyY2VDb2RlUGF0aCk7XG5cbiAgICAgIGlmICghc291cmNlQ29kZS5sZW5ndGgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBTb3VyY2UgY29kZSBub3QgZm91bmQgYXQgbG9jYXRpb24gXCIke3NvdXJjZUNvZGVQYXRofVwiIGZvciBcIiR7Y29tcG9uZW50LmhlYWRpbmd9XCIhYCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jb2RlRXhhbXBsZXMucHVzaCh7XG4gICAgICAgIGhlYWRpbmc6IGNvbXBvbmVudC5oZWFkaW5nLFxuICAgICAgICBwYWNrYWdlRGVwZW5kZW5jaWVzOiB0aGlzLnBhY2thZ2VEZXBlbmRlbmNpZXMsXG4gICAgICAgIHNvdXJjZUNvZGUsXG4gICAgICAgIHRoZW1lOiBjb21wb25lbnQudGhlbWVcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGxhdW5jaEVkaXRvcihjb2RlRXhhbXBsZTogU2t5RG9jc0NvZGVFeGFtcGxlKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmxhdW5jaEVkaXRvcihjb2RlRXhhbXBsZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRpbmcgb25lIG9mIFByaXNtSlMncyBzdXBwb3J0ZWQgbGFuZ3VhZ2UgdHlwZXMuXG4gICAqIFNlZTogaHR0cHM6Ly9wcmlzbWpzLmNvbS8jc3VwcG9ydGVkLWxhbmd1YWdlc1xuICAgKi9cbiAgcHVibGljIHBhcnNlQ29kZUxhbmd1YWdlVHlwZShmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlTmFtZS5zcGxpdCgnLicpLnBvcCgpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBzd2l0Y2ggKGV4dGVuc2lvbikge1xuICAgICAgY2FzZSAndHMnOlxuICAgICAgICByZXR1cm4gJ3R5cGVzY3JpcHQnO1xuICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICAgIHJldHVybiAnbWFya3VwJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBleHRlbnNpb247XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiY29kZUV4YW1wbGVzICYmIGNvZGVFeGFtcGxlcy5sZW5ndGhcIlxuICBjbGFzcz1cInNreS1kb2NzLWNvZGUtZXhhbXBsZXNcIlxuPlxuICA8c2t5LXJlcGVhdGVyICpuZ0lmPVwiY29kZUV4YW1wbGVzLmxlbmd0aCA+IDEgZWxzZSBzaW5nbGVDb2RlRXhhbXBsZVwiXG4gICAgZXhwYW5kTW9kZT1cIm11bHRpcGxlXCJcbiAgPlxuICAgIDxza3ktcmVwZWF0ZXItaXRlbSAqbmdGb3I9XCJsZXQgY29kZUV4YW1wbGUgb2YgY29kZUV4YW1wbGVzXCJcbiAgICAgIFtpc0V4cGFuZGVkXT1cImZhbHNlXCJcbiAgICA+XG4gICAgICA8c2t5LXJlcGVhdGVyLWl0ZW0tdGl0bGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2RlRXhhbXBsZUhlYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb2RlRXhhbXBsZX1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3NreS1yZXBlYXRlci1pdGVtLXRpdGxlPlxuICAgICAgPHNreS1yZXBlYXRlci1pdGVtLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2RlRXhhbXBsZVRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb2RlRXhhbXBsZX1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3NreS1yZXBlYXRlci1pdGVtLWNvbnRlbnQ+XG4gICAgPC9za3ktcmVwZWF0ZXItaXRlbT5cbiAgPC9za3ktcmVwZWF0ZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlPlxuICA8bmctY29udGVudFxuICAgIHNlbGVjdD1cInNreS1kb2NzLWNvZGUtZXhhbXBsZVwiXG4gID5cbiAgPC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gIGxldC1pdGVtXG4gICNjb2RlRXhhbXBsZVRlbXBsYXRlXG4+XG4gIDxkaXYgY2xhc3M9XCJza3ktZG9jcy1jb2RlLWV4YW1wbGUtd3JhcHBlclwiPlxuICAgIDxza3ktdmVydGljYWwtdGFic2V0ICpuZ0lmPVwiaXRlbS5zb3VyY2VDb2RlICYmIGl0ZW0uc291cmNlQ29kZS5sZW5ndGhcIj5cbiAgICAgIDxza3ktdmVydGljYWwtdGFiICpuZ0Zvcj1cImxldCBmaWxlIG9mIGl0ZW0uc291cmNlQ29kZTsgbGV0IGkgPSBpbmRleDtcIlxuICAgICAgICBbYWN0aXZlXT1cImkgPT09IDBcIlxuICAgICAgICBbdGFiSGVhZGluZ109XCJmaWxlLmZpbGVOYW1lXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1jb2RlLWJsb2NrXG4gICAgICAgICAgW2NvZGVdPVwiZmlsZS5yYXdDb250ZW50c1wiXG4gICAgICAgICAgW2xhbmd1YWdlVHlwZV09XCJwYXJzZUNvZGVMYW5ndWFnZVR5cGUoZmlsZS5maWxlTmFtZSlcIlxuICAgICAgICA+XG4gICAgICAgIDwvc2t5LWNvZGUtYmxvY2s+XG4gICAgICA8L3NreS12ZXJ0aWNhbC10YWI+XG4gICAgPC9za3ktdmVydGljYWwtdGFic2V0PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjc2luZ2xlQ29kZUV4YW1wbGVcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvZGVFeGFtcGxlSGVhZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNvZGVFeGFtcGxlc1swXX1cIj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2RlRXhhbXBsZVRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb2RlRXhhbXBsZXNbMF19XCI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gIGxldC1jb2RlRXhhbXBsZVxuICAjY29kZUV4YW1wbGVIZWFkZXJUZW1wbGF0ZVxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktZG9jcy1jb2RlLWV4YW1wbGUtaGVhZGVyXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LWRvY3MtY29kZS1leGFtcGxlLWhlYWRlci10aXRsZSBza3ktZW1waGFzaXplZFwiXG4gICAgPlxuICAgICAge3sgY29kZUV4YW1wbGUuaGVhZGluZyB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LWRvY3MtY29kZS1leGFtcGxlLWhlYWRlci1jb250cm9sc1wiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJsYXVuY2hFZGl0b3IoY29kZUV4YW1wbGUpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICBpY29uPVwicGVuY2lsXCJcbiAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICAgIHt7ICdza3ktZG9jcy1jb2RlLWV4YW1wbGUtbGF1bmNoLWJ1dHRvbi1sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9tb2R1bGVzL2NvZGUtZXhhbXBsZXMvY29kZS1leGFtcGxlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9tb2R1bGVzL2NvZGUtZXhhbXBsZXMvY29kZS1leGFtcGxlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUVOLE1BQU0sZUFBZSxDQUFDO0FBVXZCLE9BQU8sRUFDTCwyQkFBMkIsRUFDNUIsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQVVsQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQU9ILE1BQU0sT0FBTyw0QkFBNEI7SUF5QnZDLFlBQ1UsYUFBK0MsRUFDL0MsaUJBQTJDO1FBRDNDLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQUMvQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBWDlDLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBRTNCLGlCQUFZLEdBQXlCLEVBQUUsQ0FBQztJQVUzQyxDQUFDO0lBMUJMOzs7T0FHRztJQUNILElBQ1csbUJBQW1CLENBQUMsS0FBMkM7UUFDeEUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFpQk0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUUvQyx1R0FBdUc7WUFDdkcsSUFBSSxjQUFjLEdBQUcsU0FBUyxDQUFDLGNBQWMsQ0FBQztZQUM5QyxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7Z0JBQ3BDLGNBQWMsSUFBSSxHQUFHLENBQUM7YUFDdkI7WUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRXhFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO2dCQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxjQUFjLFVBQVUsU0FBUyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7Z0JBQ2xHLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNyQixPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87Z0JBQzFCLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7Z0JBQzdDLFVBQVU7Z0JBQ1YsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7YUFDdkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLFdBQStCO1FBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBQyxRQUFnQjtRQUMzQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTFELFFBQVEsU0FBUyxFQUFFO1lBQ2pCLEtBQUssSUFBSTtnQkFDUCxPQUFPLFlBQVksQ0FBQztZQUN0QixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxRQUFRLENBQUM7WUFDbEI7Z0JBQ0UsT0FBTyxTQUFTLENBQUM7U0FDcEI7SUFDSCxDQUFDOzswSEEzRVUsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsd0xBb0J0QiwyQkFBMkIsNkJDdEU5QywwNEVBb0ZjOzRGRGxDRCw0QkFBNEI7a0JBTnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7b0JBQzdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4SkFRWSxtQkFBbUI7c0JBRDdCLEtBQUs7Z0JBVUMsV0FBVztzQkFEakIsS0FBSztnQkFNRSxxQkFBcUI7c0JBRDVCLGVBQWU7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBJbnB1dCxcbiAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzU291cmNlQ29kZVNlcnZpY2Vcbn0gZnJvbSAnLi4vc291cmNlLWNvZGUvc291cmNlLWNvZGUuc2VydmljZSc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NDb2RlRXhhbXBsZXNFZGl0b3JTZXJ2aWNlXG59IGZyb20gJy4vY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZSc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NDb2RlRXhhbXBsZUNvbXBvbmVudFxufSBmcm9tICcuL2NvZGUtZXhhbXBsZS5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXNcbn0gZnJvbSAnLi9jb2RlLWV4YW1wbGUtbW9kdWxlLWRlcGVuZGVuY2llcyc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NDb2RlRXhhbXBsZVxufSBmcm9tICcuL2NvZGUtZXhhbXBsZSc7XG5cbi8qKlxuICogV3JhcHMgYWxsIGNvZGUgZXhhbXBsZXMgYW5kIGhhbmRsZXMgdGhlaXIgY29uZmlndXJhdGlvbiBhbmQgc3R5bGVzLlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogPHNreS1kb2NzLWNvZGUtZXhhbXBsZXNcbiAqICAgW3BhY2thZ2VEZXBlbmRlbmNpZXNdPVwie1xuICogICAgIFwiZm9vYmFyXCI6IFwiKlwiLFxuICogICAgIFwiYmF6XCI6IFwiMS4yLjNcIlxuICogICB9XCJcbiAqID5cbiAqICAgPHNreS1kb2NzLWNvZGUtZXhhbXBsZT5cbiAqICAgPC9za3ktZG9jcy1jb2RlLWV4YW1wbGU+XG4gKiA8L3NreS1kb2NzLWNvZGUtZXhhbXBsZXM+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRvY3MtY29kZS1leGFtcGxlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2RlLWV4YW1wbGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29kZS1leGFtcGxlcy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzQ29kZUV4YW1wbGVzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgLyoqXG4gICAqIEFueSBleHRyYSBOUE0gcGFja2FnZSBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgbmVlZGVkIGZvciB0aGUgZWRpdG9yIHRvIHJ1biB0aGUgY29kZSBleGFtcGxlLlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwYWNrYWdlRGVwZW5kZW5jaWVzKHZhbHVlOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMpIHtcbiAgICB0aGlzLl9wYWNrYWdlRGVwZW5kZW5jaWVzID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhY2thZ2VEZXBlbmRlbmNpZXMoKTogU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzIHtcbiAgICByZXR1cm4gdGhpcy5fcGFja2FnZURlcGVuZGVuY2llcyB8fCB7fTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdHlsZXNoZWV0czogc3RyaW5nW10gPSBbXTtcblxuICBwdWJsaWMgY29kZUV4YW1wbGVzOiBTa3lEb2NzQ29kZUV4YW1wbGVbXSA9IFtdO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5RG9jc0NvZGVFeGFtcGxlQ29tcG9uZW50KVxuICBwcml2YXRlIGNvZGVFeGFtcGxlQ29tcG9uZW50czogUXVlcnlMaXN0PFNreURvY3NDb2RlRXhhbXBsZUNvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBfcGFja2FnZURlcGVuZGVuY2llczogU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWRpdG9yU2VydmljZTogU2t5RG9jc0NvZGVFeGFtcGxlc0VkaXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzb3VyY2VDb2RlU2VydmljZTogU2t5RG9jc1NvdXJjZUNvZGVTZXJ2aWNlXG4gICkgeyB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvZGVFeGFtcGxlQ29tcG9uZW50cy5mb3JFYWNoKChjb21wb25lbnQpID0+IHtcblxuICAgICAgLy8gTWFrZSBzdXJlIHRoZSBzb3VyY2UgY29kZSBwYXRoIGVuZHMgaW4gYSBzbGFzaCwgc28gdGhhdCBzaW1pbGFybHkgbmFtZWQgZGlyZWN0b3JpZXMgYXJlbid0IGluY2x1ZGVkLlxuICAgICAgbGV0IHNvdXJjZUNvZGVQYXRoID0gY29tcG9uZW50LnNvdXJjZUNvZGVQYXRoO1xuICAgICAgaWYgKHNvdXJjZUNvZGVQYXRoLnNsaWNlKC0xKSAhPT0gJy8nKSB7XG4gICAgICAgIHNvdXJjZUNvZGVQYXRoICs9ICcvJztcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc291cmNlQ29kZSA9IHRoaXMuc291cmNlQ29kZVNlcnZpY2UuZ2V0U291cmNlQ29kZShzb3VyY2VDb2RlUGF0aCk7XG5cbiAgICAgIGlmICghc291cmNlQ29kZS5sZW5ndGgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBTb3VyY2UgY29kZSBub3QgZm91bmQgYXQgbG9jYXRpb24gXCIke3NvdXJjZUNvZGVQYXRofVwiIGZvciBcIiR7Y29tcG9uZW50LmhlYWRpbmd9XCIhYCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jb2RlRXhhbXBsZXMucHVzaCh7XG4gICAgICAgIGhlYWRpbmc6IGNvbXBvbmVudC5oZWFkaW5nLFxuICAgICAgICBwYWNrYWdlRGVwZW5kZW5jaWVzOiB0aGlzLnBhY2thZ2VEZXBlbmRlbmNpZXMsXG4gICAgICAgIHNvdXJjZUNvZGUsXG4gICAgICAgIHN0eWxlc2hlZXRzOiB0aGlzLnN0eWxlc2hlZXRzLFxuICAgICAgICB0aGVtZTogY29tcG9uZW50LnRoZW1lXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsYXVuY2hFZGl0b3IoY29kZUV4YW1wbGU6IFNreURvY3NDb2RlRXhhbXBsZSk6IHZvaWQge1xuICAgIHRoaXMuZWRpdG9yU2VydmljZS5sYXVuY2hFZGl0b3IoY29kZUV4YW1wbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIG9uZSBvZiBQcmlzbUpTJ3Mgc3VwcG9ydGVkIGxhbmd1YWdlIHR5cGVzLlxuICAgKiBTZWU6IGh0dHBzOi8vcHJpc21qcy5jb20vI3N1cHBvcnRlZC1sYW5ndWFnZXNcbiAgICovXG4gIHB1YmxpYyBwYXJzZUNvZGVMYW5ndWFnZVR5cGUoZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZmlsZU5hbWUuc3BsaXQoJy4nKS5wb3AoKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgc3dpdGNoIChleHRlbnNpb24pIHtcbiAgICAgIGNhc2UgJ3RzJzpcbiAgICAgICAgcmV0dXJuICd0eXBlc2NyaXB0JztcbiAgICAgIGNhc2UgJ2h0bWwnOlxuICAgICAgICByZXR1cm4gJ21hcmt1cCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZXh0ZW5zaW9uO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImNvZGVFeGFtcGxlcyAmJiBjb2RlRXhhbXBsZXMubGVuZ3RoXCJcbiAgY2xhc3M9XCJza3ktZG9jcy1jb2RlLWV4YW1wbGVzXCJcbj5cbiAgPHNreS1yZXBlYXRlciAqbmdJZj1cImNvZGVFeGFtcGxlcy5sZW5ndGggPiAxIGVsc2Ugc2luZ2xlQ29kZUV4YW1wbGVcIlxuICAgIGV4cGFuZE1vZGU9XCJtdWx0aXBsZVwiXG4gID5cbiAgICA8c2t5LXJlcGVhdGVyLWl0ZW0gKm5nRm9yPVwibGV0IGNvZGVFeGFtcGxlIG9mIGNvZGVFeGFtcGxlc1wiXG4gICAgICBbaXNFeHBhbmRlZF09XCJmYWxzZVwiXG4gICAgPlxuICAgICAgPHNreS1yZXBlYXRlci1pdGVtLXRpdGxlPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29kZUV4YW1wbGVIZWFkZXJUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogY29kZUV4YW1wbGV9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbS10aXRsZT5cbiAgICAgIDxza3ktcmVwZWF0ZXItaXRlbS1jb250ZW50PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29kZUV4YW1wbGVUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogY29kZUV4YW1wbGV9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbS1jb250ZW50PlxuICAgIDwvc2t5LXJlcGVhdGVyLWl0ZW0+XG4gIDwvc2t5LXJlcGVhdGVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnRcbiAgICBzZWxlY3Q9XCJza3ktZG9jcy1jb2RlLWV4YW1wbGVcIlxuICA+XG4gIDwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICBsZXQtaXRlbVxuICAjY29kZUV4YW1wbGVUZW1wbGF0ZVxuPlxuICA8ZGl2IGNsYXNzPVwic2t5LWRvY3MtY29kZS1leGFtcGxlLXdyYXBwZXJcIj5cbiAgICA8c2t5LXZlcnRpY2FsLXRhYnNldCAqbmdJZj1cIml0ZW0uc291cmNlQ29kZSAmJiBpdGVtLnNvdXJjZUNvZGUubGVuZ3RoXCI+XG4gICAgICA8c2t5LXZlcnRpY2FsLXRhYiAqbmdGb3I9XCJsZXQgZmlsZSBvZiBpdGVtLnNvdXJjZUNvZGU7IGxldCBpID0gaW5kZXg7XCJcbiAgICAgICAgW2FjdGl2ZV09XCJpID09PSAwXCJcbiAgICAgICAgW3RhYkhlYWRpbmddPVwiZmlsZS5maWxlTmFtZVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktY29kZS1ibG9ja1xuICAgICAgICAgIFtjb2RlXT1cImZpbGUucmF3Q29udGVudHNcIlxuICAgICAgICAgIFtsYW5ndWFnZVR5cGVdPVwicGFyc2VDb2RlTGFuZ3VhZ2VUeXBlKGZpbGUuZmlsZU5hbWUpXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NreS1jb2RlLWJsb2NrPlxuICAgICAgPC9za3ktdmVydGljYWwtdGFiPlxuICAgIDwvc2t5LXZlcnRpY2FsLXRhYnNldD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI3NpbmdsZUNvZGVFeGFtcGxlXG4+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2RlRXhhbXBsZUhlYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb2RlRXhhbXBsZXNbMF19XCI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29kZUV4YW1wbGVUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogY29kZUV4YW1wbGVzWzBdfVwiPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICBsZXQtY29kZUV4YW1wbGVcbiAgI2NvZGVFeGFtcGxlSGVhZGVyVGVtcGxhdGVcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWRvY3MtY29kZS1leGFtcGxlLWhlYWRlclwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1kb2NzLWNvZGUtZXhhbXBsZS1oZWFkZXItdGl0bGUgc2t5LWVtcGhhc2l6ZWRcIlxuICAgID5cbiAgICAgIHt7IGNvZGVFeGFtcGxlLmhlYWRpbmcgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1kb2NzLWNvZGUtZXhhbXBsZS1oZWFkZXItY29udHJvbHNcIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwibGF1bmNoRWRpdG9yKGNvZGVFeGFtcGxlKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgaWNvbj1cInBlbmNpbFwiXG4gICAgICAgID48L3NreS1pY29uPlxuICAgICAgICB7eyAnc2t5LWRvY3MtY29kZS1leGFtcGxlLWxhdW5jaC1idXR0b24tbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -274,7 +274,7 @@ class SkyDocsCodeExamplesEditorService {
|
|
|
274
274
|
}
|
|
275
275
|
}
|
|
276
276
|
}
|
|
277
|
-
const files = this.parseStackBlitzFiles(codeExample.sourceCode, mergedDependencies, codeExample.theme);
|
|
277
|
+
const files = this.parseStackBlitzFiles(codeExample.sourceCode, mergedDependencies, codeExample.theme, codeExample.stylesheets);
|
|
278
278
|
return {
|
|
279
279
|
files,
|
|
280
280
|
title: 'SKY UX Demo',
|
|
@@ -288,7 +288,7 @@ class SkyDocsCodeExamplesEditorService {
|
|
|
288
288
|
}
|
|
289
289
|
};
|
|
290
290
|
}
|
|
291
|
-
parseStackBlitzFiles(sourceCode, dependencies, theme) {
|
|
291
|
+
parseStackBlitzFiles(sourceCode, dependencies, theme, stylesheets = []) {
|
|
292
292
|
const srcPath = 'src/';
|
|
293
293
|
const appPath = `${srcPath}app/`;
|
|
294
294
|
const banner = `/**
|
|
@@ -297,10 +297,9 @@ class SkyDocsCodeExamplesEditorService {
|
|
|
297
297
|
**/
|
|
298
298
|
`;
|
|
299
299
|
const moduleImportStatements = [
|
|
300
|
-
`import {\n
|
|
300
|
+
`import {\n NgModule\n} from '@angular/core';`,
|
|
301
301
|
`import {\n FormsModule,\n ReactiveFormsModule\n} from '@angular/forms';`,
|
|
302
|
-
`import {\n
|
|
303
|
-
`import {\n BrowserModule\n} from '@angular/platform-browser';`,
|
|
302
|
+
`import {\n BrowserAnimationsModule\n} from '@angular/platform-browser/animations';`,
|
|
304
303
|
`import {\n RouterModule\n} from '@angular/router';`,
|
|
305
304
|
`import {\n SkyAppLocaleProvider\n} from '@skyux/i18n';`,
|
|
306
305
|
`import {\n SkyThemeService\n} from '@skyux/theme';`,
|
|
@@ -308,7 +307,7 @@ class SkyDocsCodeExamplesEditorService {
|
|
|
308
307
|
`import {\n AppComponent\n} from './app.component';`
|
|
309
308
|
];
|
|
310
309
|
const moduleImports = [
|
|
311
|
-
'
|
|
310
|
+
'BrowserAnimationsModule',
|
|
312
311
|
'FormsModule',
|
|
313
312
|
'ReactiveFormsModule',
|
|
314
313
|
'RouterModule.forRoot([])'
|
|
@@ -351,16 +350,16 @@ export class AppComponent {
|
|
|
351
350
|
themeSvc: SkyThemeService,
|
|
352
351
|
renderer?: Renderer2
|
|
353
352
|
) {
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
353
|
+
const themeSettings = new SkyThemeSettings(
|
|
354
|
+
SkyTheme.presets['${theme === SkyDocsCodeExampleTheme.Modern ? 'modern' : 'default'}'],
|
|
355
|
+
SkyThemeMode.presets.light
|
|
356
|
+
);
|
|
357
|
+
|
|
358
|
+
themeSvc.init(
|
|
359
|
+
document.body,
|
|
360
|
+
renderer,
|
|
361
|
+
themeSettings
|
|
362
|
+
);
|
|
364
363
|
}
|
|
365
364
|
|
|
366
365
|
}`;
|
|
@@ -403,10 +402,6 @@ export class AppModule { }
|
|
|
403
402
|
files[`${srcPath}main.ts`] = `${banner}
|
|
404
403
|
import './polyfills';
|
|
405
404
|
|
|
406
|
-
import {
|
|
407
|
-
enableProdMode
|
|
408
|
-
} from '@angular/core';
|
|
409
|
-
|
|
410
405
|
import {
|
|
411
406
|
platformBrowserDynamic
|
|
412
407
|
} from '@angular/platform-browser-dynamic';
|
|
@@ -432,6 +427,7 @@ body {
|
|
|
432
427
|
background-color: #fff;
|
|
433
428
|
margin: 15px;
|
|
434
429
|
}`;
|
|
430
|
+
stylesheets.push("src/styles.scss");
|
|
435
431
|
files['angular.json'] = `{
|
|
436
432
|
"projects": {
|
|
437
433
|
"demo": {
|
|
@@ -439,9 +435,7 @@ body {
|
|
|
439
435
|
"build": {
|
|
440
436
|
"options": {
|
|
441
437
|
"index": "src/index.html",
|
|
442
|
-
"styles":
|
|
443
|
-
"src/styles.scss"
|
|
444
|
-
]
|
|
438
|
+
"styles": ${JSON.stringify(stylesheets)}
|
|
445
439
|
}
|
|
446
440
|
}
|
|
447
441
|
}
|
|
@@ -583,6 +577,7 @@ class SkyDocsCodeExamplesComponent {
|
|
|
583
577
|
constructor(editorService, sourceCodeService) {
|
|
584
578
|
this.editorService = editorService;
|
|
585
579
|
this.sourceCodeService = sourceCodeService;
|
|
580
|
+
this.stylesheets = [];
|
|
586
581
|
this.codeExamples = [];
|
|
587
582
|
}
|
|
588
583
|
/**
|
|
@@ -611,6 +606,7 @@ class SkyDocsCodeExamplesComponent {
|
|
|
611
606
|
heading: component.heading,
|
|
612
607
|
packageDependencies: this.packageDependencies,
|
|
613
608
|
sourceCode,
|
|
609
|
+
stylesheets: this.stylesheets,
|
|
614
610
|
theme: component.theme
|
|
615
611
|
});
|
|
616
612
|
});
|
|
@@ -635,7 +631,7 @@ class SkyDocsCodeExamplesComponent {
|
|
|
635
631
|
}
|
|
636
632
|
}
|
|
637
633
|
SkyDocsCodeExamplesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsCodeExamplesComponent, deps: [{ token: SkyDocsCodeExamplesEditorService }, { token: SkyDocsSourceCodeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
638
|
-
SkyDocsCodeExamplesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDocsCodeExamplesComponent, selector: "sky-docs-code-examples", inputs: { packageDependencies: "packageDependencies" }, queries: [{ propertyName: "codeExampleComponents", predicate: SkyDocsCodeExampleComponent }], ngImport: i0, template: "<div *ngIf=\"codeExamples && codeExamples.length\"\n class=\"sky-docs-code-examples\"\n>\n <sky-repeater *ngIf=\"codeExamples.length > 1 else singleCodeExample\"\n expandMode=\"multiple\"\n >\n <sky-repeater-item *ngFor=\"let codeExample of codeExamples\"\n [isExpanded]=\"false\"\n >\n <sky-repeater-item-title>\n <ng-container *ngTemplateOutlet=\"codeExampleHeaderTemplate; context: {$implicit: codeExample}\">\n </ng-container>\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n <ng-container *ngTemplateOutlet=\"codeExampleTemplate; context: {$implicit: codeExample}\">\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n</div>\n\n<ng-template>\n <ng-content\n select=\"sky-docs-code-example\"\n >\n </ng-content>\n</ng-template>\n\n<ng-template\n let-item\n #codeExampleTemplate\n>\n <div class=\"sky-docs-code-example-wrapper\">\n <sky-vertical-tabset *ngIf=\"item.sourceCode && item.sourceCode.length\">\n <sky-vertical-tab *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\n #singleCodeExample\n>\n <ng-container *ngTemplateOutlet=\"codeExampleHeaderTemplate; context: {$implicit: codeExamples[0]}\">\n </ng-container>\n <ng-container *ngTemplateOutlet=\"codeExampleTemplate; context: {$implicit: codeExamples[0]}\">\n </ng-container>\n</ng-template>\n\n<ng-template\n let-codeExample\n #codeExampleHeaderTemplate\n>\n <div\n class=\"sky-docs-code-example-header\"\n >\n <div\n class=\"sky-docs-code-example-header-title sky-emphasized\"\n >\n {{ codeExample.heading }}\n </div>\n <div\n class=\"sky-docs-code-example-header-controls\"\n >\n <button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"launchEditor(codeExample);$event.stopPropagation();\"\n >\n <sky-icon\n icon=\"pencil\"\n ></sky-icon>\n {{ 'sky-docs-code-example-launch-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</ng-template>", styles: [".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:normal}.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"], components: [{ type: i3.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { type: i3.λ10, selector: "sky-repeater-item", inputs: ["inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { type: i3.λ12, selector: "sky-repeater-item-title" }, { type: i3.λ8, selector: "sky-repeater-item-content" }, { type: i4.λ6, selector: "sky-vertical-tabset", inputs: ["showTabsText", "ariaRole", "maintainTabContent"], outputs: ["activeChange"] }, { type: i4.λ4, selector: "sky-vertical-tab", inputs: ["active", "ariaControls", "ariaInvalid", "ariaRequired", "ariaRole", "disabled", "errorIndicator", "tabHeaderCount", "tabHeading", "showTabRightArrow", "tabId"] }, { type: i3$1.λ2, selector: "sky-code-block", inputs: ["code", "fileName", "languageType", "hideCopyToClipboard", "hideHeader"] }, { type: i1$1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i8.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
634
|
+
SkyDocsCodeExamplesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", 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\"\n class=\"sky-docs-code-examples\"\n>\n <sky-repeater *ngIf=\"codeExamples.length > 1 else singleCodeExample\"\n expandMode=\"multiple\"\n >\n <sky-repeater-item *ngFor=\"let codeExample of codeExamples\"\n [isExpanded]=\"false\"\n >\n <sky-repeater-item-title>\n <ng-container *ngTemplateOutlet=\"codeExampleHeaderTemplate; context: {$implicit: codeExample}\">\n </ng-container>\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n <ng-container *ngTemplateOutlet=\"codeExampleTemplate; context: {$implicit: codeExample}\">\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n</div>\n\n<ng-template>\n <ng-content\n select=\"sky-docs-code-example\"\n >\n </ng-content>\n</ng-template>\n\n<ng-template\n let-item\n #codeExampleTemplate\n>\n <div class=\"sky-docs-code-example-wrapper\">\n <sky-vertical-tabset *ngIf=\"item.sourceCode && item.sourceCode.length\">\n <sky-vertical-tab *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\n #singleCodeExample\n>\n <ng-container *ngTemplateOutlet=\"codeExampleHeaderTemplate; context: {$implicit: codeExamples[0]}\">\n </ng-container>\n <ng-container *ngTemplateOutlet=\"codeExampleTemplate; context: {$implicit: codeExamples[0]}\">\n </ng-container>\n</ng-template>\n\n<ng-template\n let-codeExample\n #codeExampleHeaderTemplate\n>\n <div\n class=\"sky-docs-code-example-header\"\n >\n <div\n class=\"sky-docs-code-example-header-title sky-emphasized\"\n >\n {{ codeExample.heading }}\n </div>\n <div\n class=\"sky-docs-code-example-header-controls\"\n >\n <button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"launchEditor(codeExample);$event.stopPropagation();\"\n >\n <sky-icon\n icon=\"pencil\"\n ></sky-icon>\n {{ 'sky-docs-code-example-launch-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</ng-template>", styles: [".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:normal}.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"], components: [{ type: i3.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { type: i3.λ10, selector: "sky-repeater-item", inputs: ["inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { type: i3.λ12, selector: "sky-repeater-item-title" }, { type: i3.λ8, selector: "sky-repeater-item-content" }, { type: i4.λ6, selector: "sky-vertical-tabset", inputs: ["showTabsText", "ariaRole", "maintainTabContent"], outputs: ["activeChange"] }, { type: i4.λ4, selector: "sky-vertical-tab", inputs: ["active", "ariaControls", "ariaInvalid", "ariaRequired", "ariaRole", "disabled", "errorIndicator", "tabHeaderCount", "tabHeading", "showTabRightArrow", "tabId"] }, { type: i3$1.λ2, selector: "sky-code-block", inputs: ["code", "fileName", "languageType", "hideCopyToClipboard", "hideHeader"] }, { type: i1$1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i8.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
639
635
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsCodeExamplesComponent, decorators: [{
|
|
640
636
|
type: Component,
|
|
641
637
|
args: [{
|
|
@@ -646,6 +642,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImpo
|
|
|
646
642
|
}]
|
|
647
643
|
}], ctorParameters: function () { return [{ type: SkyDocsCodeExamplesEditorService }, { type: SkyDocsSourceCodeService }]; }, propDecorators: { packageDependencies: [{
|
|
648
644
|
type: Input
|
|
645
|
+
}], stylesheets: [{
|
|
646
|
+
type: Input
|
|
649
647
|
}], codeExampleComponents: [{
|
|
650
648
|
type: ContentChildren,
|
|
651
649
|
args: [SkyDocsCodeExampleComponent]
|