@eui/showcase 15.0.0-next.9 → 15.0.0-rc.10
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/esm2020/lib/components/doc-page/doc-page.component.mjs +73 -69
- package/esm2020/lib/components/doc-page-code/doc-page-code.component.mjs +4 -4
- package/esm2020/lib/components/doc-page-code-fab/doc-page-code-fab.component.mjs +4 -4
- package/esm2020/lib/components/doc-page-pattern/doc-page-pattern.component.mjs +80 -0
- package/esm2020/lib/components/doc-sample/doc-sample.component.mjs +35 -10
- package/esm2020/lib/components/doc-sample-api/doc-sample-api.component.mjs +4 -4
- package/esm2020/lib/components/doc-section/doc-section.component.mjs +4 -4
- package/esm2020/lib/components/doc-section-code/doc-section-code.component.mjs +22 -22
- package/esm2020/lib/components/eui-code-highlighter/eui-code-highlighter.component.mjs +4 -4
- package/esm2020/lib/components/index.mjs +4 -1
- package/esm2020/lib/components/lorem-ipsum/lorem-ipsum-sample.component.mjs +4 -4
- package/esm2020/lib/components/playground/playground.component.mjs +203 -0
- package/esm2020/lib/components/playground/stackblitz.files.mjs +208 -0
- package/esm2020/lib/eui-showcase.module.mjs +31 -10
- package/fesm2015/eui-showcase.mjs +655 -133
- package/fesm2015/eui-showcase.mjs.map +1 -1
- package/fesm2020/eui-showcase.mjs +657 -133
- package/fesm2020/eui-showcase.mjs.map +1 -1
- package/lib/components/doc-page/doc-page.component.d.ts +5 -1
- package/lib/components/doc-page/doc-page.component.d.ts.map +1 -1
- package/lib/components/doc-page-pattern/doc-page-pattern.component.d.ts +33 -0
- package/lib/components/doc-page-pattern/doc-page-pattern.component.d.ts.map +1 -0
- package/lib/components/doc-sample/doc-sample.component.d.ts +20 -0
- package/lib/components/doc-sample/doc-sample.component.d.ts.map +1 -1
- package/lib/components/index.d.ts +3 -0
- package/lib/components/index.d.ts.map +1 -1
- package/lib/components/playground/playground.component.d.ts +62 -0
- package/lib/components/playground/playground.component.d.ts.map +1 -0
- package/lib/components/playground/stackblitz.files.d.ts +16 -0
- package/lib/components/playground/stackblitz.files.d.ts.map +1 -0
- package/lib/eui-showcase.module.d.ts +13 -9
- package/lib/eui-showcase.module.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { Component, ElementRef, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import sdk from '@stackblitz/sdk';
|
|
3
|
+
import { lastValueFrom } from 'rxjs';
|
|
4
|
+
import { angularJsonFile, indexHtmlFile, mainFile, PACKAGE_JSON, polyfillsFile, tsConfig } from './stackblitz.files';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@eui/core";
|
|
7
|
+
import * as i2 from "@angular/common/http";
|
|
8
|
+
import * as i3 from "@eui/components/eui-block-content";
|
|
9
|
+
export class PlaygroundComponent {
|
|
10
|
+
constructor(renderer, elementRef, appShell, http) {
|
|
11
|
+
this.renderer = renderer;
|
|
12
|
+
this.elementRef = elementRef;
|
|
13
|
+
this.appShell = appShell;
|
|
14
|
+
this.http = http;
|
|
15
|
+
this.title = 'eUI Playground';
|
|
16
|
+
this.activated = false;
|
|
17
|
+
this.isLoaded = false;
|
|
18
|
+
}
|
|
19
|
+
ngOnChanges(changes) {
|
|
20
|
+
if (changes.activated) {
|
|
21
|
+
if (changes.activated.currentValue) {
|
|
22
|
+
this.initStackblitz();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.isLoaded = false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
initStackblitz() {
|
|
30
|
+
this.getStackblitzDependencies()
|
|
31
|
+
.then((deps) => {
|
|
32
|
+
const { dependencies, devDependencies } = deps;
|
|
33
|
+
const { selector, className } = this.extractComponentMetadata(this.typescriptContent);
|
|
34
|
+
const moduleName = this.extractModuleName(this.typescriptContent);
|
|
35
|
+
return sdk.embedProject('stackblitz', {
|
|
36
|
+
title: this.title,
|
|
37
|
+
description: `An eUI example for the ${this.title}.`,
|
|
38
|
+
template: 'angular-cli',
|
|
39
|
+
files: {
|
|
40
|
+
'src/component.html': this.htmlContent,
|
|
41
|
+
'src/component.ts': this.appendVitalNgModules(this.typescriptContent),
|
|
42
|
+
// 'src/app.module.ts': moduleFile(className, this.modules),
|
|
43
|
+
'src/main.ts': mainFile(moduleName),
|
|
44
|
+
'src/polyfills.ts': polyfillsFile,
|
|
45
|
+
'src/index.html': indexHtmlFile(selector),
|
|
46
|
+
'angular.json': angularJsonFile,
|
|
47
|
+
'package.json': JSON.stringify({
|
|
48
|
+
...PACKAGE_JSON,
|
|
49
|
+
dependencies,
|
|
50
|
+
devDependencies,
|
|
51
|
+
}, null, 2),
|
|
52
|
+
'tsconfig.json': tsConfig
|
|
53
|
+
},
|
|
54
|
+
settings: {
|
|
55
|
+
compile: {
|
|
56
|
+
trigger: 'auto',
|
|
57
|
+
clearConsole: false,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
dependencies,
|
|
61
|
+
}, {
|
|
62
|
+
openFile: ['component.ts'],
|
|
63
|
+
height: 500,
|
|
64
|
+
});
|
|
65
|
+
})
|
|
66
|
+
.then((instance) => {
|
|
67
|
+
this.stackblitzInstance = instance;
|
|
68
|
+
this.isLoaded = true;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Retrieve only the dependencies that stackblitz will need filtered from @eui/deps-base
|
|
73
|
+
*
|
|
74
|
+
* @private
|
|
75
|
+
*/
|
|
76
|
+
getStackblitzDependencies() {
|
|
77
|
+
// a list of dependencies only stackblitz needs
|
|
78
|
+
const stackblitzDependencies = [
|
|
79
|
+
'@angular/animations',
|
|
80
|
+
'@angular/cdk',
|
|
81
|
+
'@angular/common',
|
|
82
|
+
'@angular/compiler',
|
|
83
|
+
'@angular/core',
|
|
84
|
+
'@angular/forms',
|
|
85
|
+
'@angular/material',
|
|
86
|
+
'@angular/material-moment-adapter',
|
|
87
|
+
'@angular/platform-browser',
|
|
88
|
+
'@angular/platform-browser-dynamic',
|
|
89
|
+
'@angular/router',
|
|
90
|
+
'@eui/base',
|
|
91
|
+
'@eui/components',
|
|
92
|
+
'@eui/core',
|
|
93
|
+
'@eui/styles',
|
|
94
|
+
'@eui/styles-base',
|
|
95
|
+
'@ngrx/effects',
|
|
96
|
+
'@ngrx/store',
|
|
97
|
+
'@ngx-translate/core',
|
|
98
|
+
'localforage',
|
|
99
|
+
'lodash-es',
|
|
100
|
+
'reselect',
|
|
101
|
+
'rxjs',
|
|
102
|
+
'tslib',
|
|
103
|
+
'zone.js'
|
|
104
|
+
];
|
|
105
|
+
const stackblitzDevDependencies = [
|
|
106
|
+
'@angular-devkit/build-angular',
|
|
107
|
+
'@angular/cli',
|
|
108
|
+
'@angular/compiler-cli',
|
|
109
|
+
'typescript'
|
|
110
|
+
];
|
|
111
|
+
return this.getCurrentShowcaseEuiVersion()
|
|
112
|
+
.then((version) => this.retrievePackageDependencies(version))
|
|
113
|
+
.then((dependencies) => {
|
|
114
|
+
// filter dependencies to only what stackblitz needs
|
|
115
|
+
let filteredArr = Object.entries(dependencies)
|
|
116
|
+
.filter((v) => stackblitzDependencies.find(s => s === v[0]));
|
|
117
|
+
let filteredObj = Object.fromEntries(filteredArr);
|
|
118
|
+
let extraDependencies = {
|
|
119
|
+
uuid: '8.3.2',
|
|
120
|
+
'ngx-device-detector': '3.0.0',
|
|
121
|
+
'ngx-moment': '~6.0.0',
|
|
122
|
+
'ngx-mask': '^14.0.0',
|
|
123
|
+
'cleave.js': '^1.6.0',
|
|
124
|
+
moment: '^2.19.3',
|
|
125
|
+
extend: '^3.0.2',
|
|
126
|
+
};
|
|
127
|
+
// filter devDependencies to only what stackblitz needs
|
|
128
|
+
filteredArr = Object.entries(dependencies)
|
|
129
|
+
.filter((v) => stackblitzDevDependencies.find(s => s === v[0]));
|
|
130
|
+
dependencies = { ...extraDependencies, ...filteredObj };
|
|
131
|
+
let devDependencies = Object.fromEntries(filteredArr);
|
|
132
|
+
return { dependencies, devDependencies };
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Retrieve the dependencies from the package.json file of @eui/deps-base for the given version.
|
|
137
|
+
*
|
|
138
|
+
* @param version
|
|
139
|
+
* @private
|
|
140
|
+
*/
|
|
141
|
+
retrievePackageDependencies(version) {
|
|
142
|
+
return fetch(`https://unpkg.com/@eui/deps-base@${version}/package.json`)
|
|
143
|
+
.then((response) => response.json())
|
|
144
|
+
.then((pkg) => pkg?.dependencies);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Retrieve the eUI version used to build the showcase from application app-metadata.json
|
|
148
|
+
*
|
|
149
|
+
* @private
|
|
150
|
+
*/
|
|
151
|
+
getCurrentShowcaseEuiVersion() {
|
|
152
|
+
return lastValueFrom(this.http.get('assets/app-metadata.json', { responseType: 'json' }))
|
|
153
|
+
.then((res) => res?.appVersion || 'latest');
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* extract the name of the component class name and selector name from the typescript content
|
|
157
|
+
*
|
|
158
|
+
* @param contents
|
|
159
|
+
* @private
|
|
160
|
+
*/
|
|
161
|
+
extractComponentMetadata(contents) {
|
|
162
|
+
const className = contents.match(/export class ([\w\d]+)/);
|
|
163
|
+
const selectorName = contents.match(/selector: '([\w\d-]+)'/);
|
|
164
|
+
return { className: className ? className[1] : '', selector: selectorName ? selectorName[1] : '' };
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* extract module class name from the typescript content
|
|
168
|
+
*
|
|
169
|
+
* @param contents
|
|
170
|
+
* @private
|
|
171
|
+
*/
|
|
172
|
+
extractModuleName(contents) {
|
|
173
|
+
const moduleClass = contents.match(/export class (\w+Module)/);
|
|
174
|
+
return moduleClass ? moduleClass[1] : '';
|
|
175
|
+
}
|
|
176
|
+
appendVitalNgModules(contents) {
|
|
177
|
+
const imports = contents.match(/imports: \[([\s\S]*?)\]/);
|
|
178
|
+
// appends BrowserModule to imports
|
|
179
|
+
contents = contents.replace(/imports: \[([\s\S]*?)\]/, `imports: [BrowserModule, $1]`);
|
|
180
|
+
// appends import of BrowserModule
|
|
181
|
+
return `import { BrowserModule } from '@angular/platform-browser';\n${contents}`;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/** @nocollapse */ PlaygroundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PlaygroundComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.UxAppShellService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
185
|
+
/** @nocollapse */ PlaygroundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PlaygroundComponent, selector: "eui-playground", inputs: { title: "title", htmlContent: "htmlContent", typescriptContent: "typescriptContent", activated: "activated", modules: "modules" }, viewQueries: [{ propertyName: "stackblitzElWrapper", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<eui-block-content [isBlocked]=\"!isLoaded\">\n <iframe #container id=\"stackblitz\"></iframe>\n</eui-block-content>\n", dependencies: [{ kind: "component", type: i3.EuiBlockContentComponent, selector: "eui-block-content", inputs: ["isBlocked"] }] });
|
|
186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PlaygroundComponent, decorators: [{
|
|
187
|
+
type: Component,
|
|
188
|
+
args: [{ selector: 'eui-playground', template: "<eui-block-content [isBlocked]=\"!isLoaded\">\n <iframe #container id=\"stackblitz\"></iframe>\n</eui-block-content>\n" }]
|
|
189
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.UxAppShellService }, { type: i2.HttpClient }]; }, propDecorators: { title: [{
|
|
190
|
+
type: Input
|
|
191
|
+
}], htmlContent: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}], typescriptContent: [{
|
|
194
|
+
type: Input
|
|
195
|
+
}], activated: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], modules: [{
|
|
198
|
+
type: Input
|
|
199
|
+
}], stackblitzElWrapper: [{
|
|
200
|
+
type: ViewChild,
|
|
201
|
+
args: ['container', { read: ElementRef, static: true }]
|
|
202
|
+
}] } });
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3BsYXlncm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUlMLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEdBQWdDLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGFBQWEsRUFDYixRQUFRLEVBRVIsWUFBWSxFQUNaLGFBQWEsRUFDYixRQUFRLEVBQ1gsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFNNUIsTUFBTSxPQUFPLG1CQUFtQjtJQWtCNUIsWUFBb0IsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsUUFBMkIsRUFDM0IsSUFBZ0I7UUFIaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFsQjdCLFVBQUssR0FBVyxnQkFBZ0IsQ0FBQztRQU1qQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFVakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBRyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNI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QUF5QixDQUFDLENBQUM7UUFDMUQsbUNBQW1DO1FBQ25DLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLDhCQUE4QixDQUFDLENBQUM7UUFDdkYsa0NBQWtDO1FBQ2xDLE9BQU8sK0RBQStELFFBQVEsRUFBRSxDQUFDO0lBQ3JGLENBQUM7O21JQXhNUSxtQkFBbUI7dUhBQW5CLG1CQUFtQiwrUkFhRyxVQUFVLGdFQ3hDN0MsMkhBR0E7MkZEd0JhLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDSSxnQkFBZ0I7a0xBTW5CLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUlFLG1CQUFtQjtzQkFEMUIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHNkaywgeyBQcm9qZWN0RGVwZW5kZW5jaWVzLCBWTSB9IGZyb20gJ0BzdGFja2JsaXR6L3Nkayc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGFuZ3VsYXJKc29uRmlsZSxcbiAgICBpbmRleEh0bWxGaWxlLFxuICAgIG1haW5GaWxlLFxuICAgIG1vZHVsZUZpbGUsXG4gICAgUEFDS0FHRV9KU09OLFxuICAgIHBvbHlmaWxsc0ZpbGUsXG4gICAgdHNDb25maWdcbn0gZnJvbSAnLi9zdGFja2JsaXR6LmZpbGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktcGxheWdyb3VuZCcsXG4gICAgdGVtcGxhdGVVcmw6IGBwbGF5Z3JvdW5kLmNvbXBvbmVudC5odG1sYCxcbn0pXG5leHBvcnQgY2xhc3MgUGxheWdyb3VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJ2VVSSBQbGF5Z3JvdW5kJztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBodG1sQ29udGVudDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR5cGVzY3JpcHRDb250ZW50OiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWN0aXZhdGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbW9kdWxlczogW3tuYW1lOiBzdHJpbmc7IHBhdGg6IHN0cmluZzt9XTtcbiAgICBwdWJsaWMgaXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7cmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlfSlcbiAgICBwcml2YXRlIHN0YWNrYmxpdHpFbFdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTElGcmFtZUVsZW1lbnQ+O1xuICAgIC8qKiBpbnN0YW5jZSB0aGF0IGhvbGRzIHRoZSBzdGFja2JsaXR6IFZNIG9iamVjdCAqL1xuICAgIHByaXZhdGUgc3RhY2tibGl0ekluc3RhbmNlOiBWTTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBhcHBTaGVsbDogVXhBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5hY3RpdmF0ZWQpIHtcbiAgICAgICAgICAgIGlmKGNoYW5nZXMuYWN0aXZhdGVkLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFN0YWNrYmxpdHooKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U3RhY2tibGl0eigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRTdGFja2JsaXR6RGVwZW5kZW5jaWVzKClcbiAgICAgICAgICAgIC50aGVuKChkZXBzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qge2RlcGVuZGVuY2llcywgZGV2RGVwZW5kZW5jaWVzfSA9IGRlcHM7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBzZWxlY3RvciwgY2xhc3NOYW1lIH0gPSB0aGlzLmV4dHJhY3RDb21wb25lbnRNZXRhZGF0YSh0aGlzLnR5cGVzY3JpcHRDb250ZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gdGhpcy5leHRyYWN0TW9kdWxlTmFtZSh0aGlzLnR5cGVzY3JpcHRDb250ZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2RrLmVtYmVkUHJvamVjdChcbiAgICAgICAgICAgICAgICAgICAgJ3N0YWNrYmxpdHonLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgQW4gZVVJIGV4YW1wbGUgZm9yIHRoZSAke3RoaXMudGl0bGV9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogJ2FuZ3VsYXItY2xpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9jb21wb25lbnQuaHRtbCc6IHRoaXMuaHRtbENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9jb21wb25lbnQudHMnOiB0aGlzLmFwcGVuZFZpdGFsTmdNb2R1bGVzKHRoaXMudHlwZXNjcmlwdENvbnRlbnQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICdzcmMvYXBwLm1vZHVsZS50cyc6IG1vZHVsZUZpbGUoY2xhc3NOYW1lLCB0aGlzLm1vZHVsZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvbWFpbi50cyc6IG1haW5GaWxlKG1vZHVsZU5hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvcG9seWZpbGxzLnRzJzogcG9seWZpbGxzRmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjL2luZGV4Lmh0bWwnOiBpbmRleEh0bWxGaWxlKHNlbGVjdG9yKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW5ndWxhci5qc29uJzogYW5ndWxhckpzb25GaWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYWNrYWdlLmpzb24nOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLlBBQ0tBR0VfSlNPTixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZEZXBlbmRlbmNpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgbnVsbCwgMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RzY29uZmlnLmpzb24nOiB0c0NvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyQ29uc29sZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5GaWxlOiBbJ2NvbXBvbmVudC50cyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MDAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigoaW5zdGFuY2U6IFZNKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFja2JsaXR6SW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlIG9ubHkgdGhlIGRlcGVuZGVuY2llcyB0aGF0IHN0YWNrYmxpdHogd2lsbCBuZWVkIGZpbHRlcmVkIGZyb20gQGV1aS9kZXBzLWJhc2VcbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRTdGFja2JsaXR6RGVwZW5kZW5jaWVzKCk6IFByb21pc2U8eyBkZXBlbmRlbmNpZXM6IFByb2plY3REZXBlbmRlbmNpZXM7IGRldkRlcGVuZGVuY2llczogUHJvamVjdERlcGVuZGVuY2llczsgfT4ge1xuICAgICAgICAvLyBhIGxpc3Qgb2YgZGVwZW5kZW5jaWVzIG9ubHkgc3RhY2tibGl0eiBuZWVkc1xuICAgICAgICBjb25zdCBzdGFja2JsaXR6RGVwZW5kZW5jaWVzID0gW1xuICAgICAgICAgICAgJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL2NkaycsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29tbW9uJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9jb21waWxlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29yZScsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvZm9ybXMnLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL21hdGVyaWFsJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9yb3V0ZXInLFxuICAgICAgICAgICAgJ0BldWkvYmFzZScsXG4gICAgICAgICAgICAnQGV1aS9jb21wb25lbnRzJyxcbiAgICAgICAgICAgICdAZXVpL2NvcmUnLFxuICAgICAgICAgICAgJ0BldWkvc3R5bGVzJyxcbiAgICAgICAgICAgICdAZXVpL3N0eWxlcy1iYXNlJyxcbiAgICAgICAgICAgICdAbmdyeC9lZmZlY3RzJyxcbiAgICAgICAgICAgICdAbmdyeC9zdG9yZScsXG4gICAgICAgICAgICAnQG5neC10cmFuc2xhdGUvY29yZScsXG4gICAgICAgICAgICAnbG9jYWxmb3JhZ2UnLFxuICAgICAgICAgICAgJ2xvZGFzaC1lcycsXG4gICAgICAgICAgICAncmVzZWxlY3QnLFxuICAgICAgICAgICAgJ3J4anMnLFxuICAgICAgICAgICAgJ3RzbGliJyxcbiAgICAgICAgICAgICd6b25lLmpzJ1xuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHN0YWNrYmxpdHpEZXZEZXBlbmRlbmNpZXMgPSBbXG4gICAgICAgICAgICAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXInLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL2NsaScsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29tcGlsZXItY2xpJyxcbiAgICAgICAgICAgICd0eXBlc2NyaXB0J1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRTaG93Y2FzZUV1aVZlcnNpb24oKVxuICAgICAgICAgICAgLnRoZW4oKHZlcnNpb24pID0+IHRoaXMucmV0cmlldmVQYWNrYWdlRGVwZW5kZW5jaWVzKHZlcnNpb24pKVxuICAgICAgICAgICAgLnRoZW4oKGRlcGVuZGVuY2llcykgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGZpbHRlciBkZXBlbmRlbmNpZXMgdG8gb25seSB3aGF0IHN0YWNrYmxpdHogbmVlZHNcbiAgICAgICAgICAgICAgICBsZXQgZmlsdGVyZWRBcnIgPSBPYmplY3QuZW50cmllcyhkZXBlbmRlbmNpZXMpXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKHYpID0+IHN0YWNrYmxpdHpEZXBlbmRlbmNpZXMuZmluZChzID0+IHMgPT09IHZbMF0pKTtcbiAgICAgICAgICAgICAgICBsZXQgZmlsdGVyZWRPYmogPSBPYmplY3QuZnJvbUVudHJpZXMoZmlsdGVyZWRBcnIpO1xuICAgICAgICAgICAgICAgIGxldCBleHRyYURlcGVuZGVuY2llcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgdXVpZDogJzguMy4yJyxcbiAgICAgICAgICAgICAgICAgICAgJ25neC1kZXZpY2UtZGV0ZWN0b3InOiAnMy4wLjAnLFxuICAgICAgICAgICAgICAgICAgICAnbmd4LW1vbWVudCc6ICd+Ni4wLjAnLFxuICAgICAgICAgICAgICAgICAgICAnbmd4LW1hc2snOiAnXjE0LjAuMCcsXG4gICAgICAgICAgICAgICAgICAgICdjbGVhdmUuanMnOiAnXjEuNi4wJyxcbiAgICAgICAgICAgICAgICAgICAgbW9tZW50OiAnXjIuMTkuMycsXG4gICAgICAgICAgICAgICAgICAgIGV4dGVuZDogJ14zLjAuMicsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgZGV2RGVwZW5kZW5jaWVzIHRvIG9ubHkgd2hhdCBzdGFja2JsaXR6IG5lZWRzXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRBcnIgPSBPYmplY3QuZW50cmllcyhkZXBlbmRlbmNpZXMpXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKHYpID0+IHN0YWNrYmxpdHpEZXZEZXBlbmRlbmNpZXMuZmluZChzID0+IHMgPT09IHZbMF0pKTtcbiAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgPSB7Li4uZXh0cmFEZXBlbmRlbmNpZXMsIC4uLmZpbHRlcmVkT2JqfTtcbiAgICAgICAgICAgICAgICBsZXQgZGV2RGVwZW5kZW5jaWVzID0gT2JqZWN0LmZyb21FbnRyaWVzKGZpbHRlcmVkQXJyKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7ZGVwZW5kZW5jaWVzLCBkZXZEZXBlbmRlbmNpZXN9O1xuICAgICAgICAgICAgfSApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlIHRoZSBkZXBlbmRlbmNpZXMgZnJvbSB0aGUgcGFja2FnZS5qc29uIGZpbGUgb2YgQGV1aS9kZXBzLWJhc2UgZm9yIHRoZSBnaXZlbiB2ZXJzaW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZlcnNpb25cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgcmV0cmlldmVQYWNrYWdlRGVwZW5kZW5jaWVzKHZlcnNpb24pOiBQcm9taXNlPFByb2plY3REZXBlbmRlbmNpZXM+IHtcbiAgICAgICAgcmV0dXJuIGZldGNoKGBodHRwczovL3VucGtnLmNvbS9AZXVpL2RlcHMtYmFzZUAke3ZlcnNpb259L3BhY2thZ2UuanNvbmApXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHJlc3BvbnNlLmpzb24oKSlcbiAgICAgICAgICAgIC50aGVuKChwa2cpID0+IHBrZz8uZGVwZW5kZW5jaWVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSB0aGUgZVVJIHZlcnNpb24gdXNlZCB0byBidWlsZCB0aGUgc2hvd2Nhc2UgZnJvbSBhcHBsaWNhdGlvbiBhcHAtbWV0YWRhdGEuanNvblxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEN1cnJlbnRTaG93Y2FzZUV1aVZlcnNpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxhbnk+KCdhc3NldHMvYXBwLW1ldGFkYXRhLmpzb24nLCB7cmVzcG9uc2VUeXBlOiAnanNvbid9KSlcbiAgICAgICAgICAgIC50aGVuKChyZXMpID0+IHJlcz8uYXBwVmVyc2lvbiB8fCAnbGF0ZXN0Jyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZXh0cmFjdCB0aGUgbmFtZSBvZiB0aGUgY29tcG9uZW50IGNsYXNzIG5hbWUgYW5kIHNlbGVjdG9yIG5hbWUgZnJvbSB0aGUgdHlwZXNjcmlwdCBjb250ZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudHNcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZXh0cmFjdENvbXBvbmVudE1ldGFkYXRhKGNvbnRlbnRzOiBzdHJpbmcpOiB7IHNlbGVjdG9yOiBzdHJpbmc7IGNsYXNzTmFtZTogc3RyaW5nOyB9IHtcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gY29udGVudHMubWF0Y2goL2V4cG9ydCBjbGFzcyAoW1xcd1xcZF0rKS8pO1xuICAgICAgICBjb25zdCBzZWxlY3Rvck5hbWUgPSBjb250ZW50cy5tYXRjaCgvc2VsZWN0b3I6ICcoW1xcd1xcZC1dKyknLyk7XG4gICAgICAgIHJldHVybiB7IGNsYXNzTmFtZTogY2xhc3NOYW1lID8gY2xhc3NOYW1lWzFdIDogJycsIHNlbGVjdG9yOiBzZWxlY3Rvck5hbWUgPyBzZWxlY3Rvck5hbWVbMV0gOiAnJ307XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZXh0cmFjdCBtb2R1bGUgY2xhc3MgbmFtZSBmcm9tIHRoZSB0eXBlc2NyaXB0IGNvbnRlbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250ZW50c1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBleHRyYWN0TW9kdWxlTmFtZShjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbW9kdWxlQ2xhc3MgPSBjb250ZW50cy5tYXRjaCgvZXhwb3J0IGNsYXNzIChcXHcrTW9kdWxlKS8pO1xuICAgICAgICByZXR1cm4gbW9kdWxlQ2xhc3MgPyBtb2R1bGVDbGFzc1sxXSA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBwZW5kVml0YWxOZ01vZHVsZXMoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGltcG9ydHMgPSBjb250ZW50cy5tYXRjaCgvaW1wb3J0czogXFxbKFtcXHNcXFNdKj8pXFxdLyk7XG4gICAgICAgIC8vIGFwcGVuZHMgQnJvd3Nlck1vZHVsZSB0byBpbXBvcnRzXG4gICAgICAgIGNvbnRlbnRzID0gY29udGVudHMucmVwbGFjZSgvaW1wb3J0czogXFxbKFtcXHNcXFNdKj8pXFxdLywgYGltcG9ydHM6IFtCcm93c2VyTW9kdWxlLCAkMV1gKTtcbiAgICAgICAgLy8gYXBwZW5kcyBpbXBvcnQgb2YgQnJvd3Nlck1vZHVsZVxuICAgICAgICByZXR1cm4gYGltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcXG4ke2NvbnRlbnRzfWA7XG4gICAgfVxuXG59XG4iLCI8ZXVpLWJsb2NrLWNvbnRlbnQgW2lzQmxvY2tlZF09XCIhaXNMb2FkZWRcIj5cbiAgICA8aWZyYW1lICNjb250YWluZXIgaWQ9XCJzdGFja2JsaXR6XCI+PC9pZnJhbWU+XG48L2V1aS1ibG9jay1jb250ZW50PlxuIl19
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
export const polyfillsFile = `import 'zone.js/dist/zone';`;
|
|
2
|
+
export const mainFile = (moduleName) => `
|
|
3
|
+
import './polyfills';
|
|
4
|
+
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
5
|
+
import { preInitApp } from '@eui/core';
|
|
6
|
+
import { ${moduleName} } from './component';
|
|
7
|
+
|
|
8
|
+
preInitApp({production: false}).then(() => platformBrowserDynamic().bootstrapModule(${moduleName}).then(ref => {
|
|
9
|
+
// Ensure Angular destroys itself on hot reloads.
|
|
10
|
+
if (window['ngRef']) {
|
|
11
|
+
window['ngRef'].destroy();
|
|
12
|
+
}
|
|
13
|
+
window['ngRef'] = ref;
|
|
14
|
+
|
|
15
|
+
// Otherwise, log the boot error
|
|
16
|
+
}).catch(err => console.error(err))
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
`;
|
|
20
|
+
export const moduleFile = (componentName, m = []) => {
|
|
21
|
+
return `
|
|
22
|
+
import { NgModule, InjectionToken } from '@angular/core';
|
|
23
|
+
import { BrowserModule } from '@angular/platform-browser';
|
|
24
|
+
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
25
|
+
import { RouterModule } from '@angular/router';
|
|
26
|
+
import { APP_BASE_HREF } from '@angular/common';
|
|
27
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
28
|
+
import { StoreModule } from '@ngrx/store';
|
|
29
|
+
import { EffectsModule } from '@ngrx/effects';
|
|
30
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
31
|
+
import { FormsModule } from '@angular/forms';
|
|
32
|
+
import { CommonModule } from '@angular/common';
|
|
33
|
+
import { EuiAllModule } from '@eui/components';
|
|
34
|
+
import {
|
|
35
|
+
reducers as coreReducers,
|
|
36
|
+
CoreModule as EuiCoreModule,
|
|
37
|
+
translateConfig,
|
|
38
|
+
CoreModuleEffects,
|
|
39
|
+
EUI_CONFIG_TOKEN,
|
|
40
|
+
} from '@eui/core';
|
|
41
|
+
|
|
42
|
+
import { ${componentName} } from './component';
|
|
43
|
+
` + m.map((i) => `import { ${i.name} } from '${i.path}';\n`).join('') + `
|
|
44
|
+
|
|
45
|
+
export const REDUCER_TOKEN = new InjectionToken<any>('Registered Reducers');
|
|
46
|
+
|
|
47
|
+
@NgModule({
|
|
48
|
+
imports: [
|
|
49
|
+
BrowserAnimationsModule,
|
|
50
|
+
CommonModule,
|
|
51
|
+
BrowserModule,
|
|
52
|
+
FormsModule,
|
|
53
|
+
EuiAllModule,
|
|
54
|
+
HttpClientModule,
|
|
55
|
+
RouterModule.forRoot([]),
|
|
56
|
+
EuiCoreModule.forRoot(),
|
|
57
|
+
EffectsModule.forRoot([...CoreModuleEffects]),
|
|
58
|
+
TranslateModule.forRoot(translateConfig),
|
|
59
|
+
StoreModule.forRoot(REDUCER_TOKEN, { })
|
|
60
|
+
` + m.map((i) => `${i.name},`).join('') + `
|
|
61
|
+
],
|
|
62
|
+
declarations: [${componentName}],
|
|
63
|
+
providers: [
|
|
64
|
+
{
|
|
65
|
+
provide: REDUCER_TOKEN,
|
|
66
|
+
deps: [],
|
|
67
|
+
useFactory: () => Object.assign({}, coreReducers),
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
provide: EUI_CONFIG_TOKEN,
|
|
71
|
+
useValue: { appConfig: {}, environment: {} }
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
provide: APP_BASE_HREF, useValue: '/'
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
bootstrap: [${componentName}],
|
|
78
|
+
})
|
|
79
|
+
export class AppModule {}
|
|
80
|
+
`;
|
|
81
|
+
};
|
|
82
|
+
export const angularJsonFile = `
|
|
83
|
+
{
|
|
84
|
+
"version": 1,
|
|
85
|
+
"newProjectRoot": "projects",
|
|
86
|
+
"projects": {
|
|
87
|
+
"demo": {
|
|
88
|
+
"root": "",
|
|
89
|
+
"sourceRoot": "",
|
|
90
|
+
"projectType": "application",
|
|
91
|
+
"prefix": "app",
|
|
92
|
+
"schematics": {},
|
|
93
|
+
"architect": {
|
|
94
|
+
"build": {
|
|
95
|
+
"builder": "@angular-devkit/build-angular:browser",
|
|
96
|
+
"options": {
|
|
97
|
+
"outputPath": "dist/demo",
|
|
98
|
+
"index": "src/index.html",
|
|
99
|
+
"main": "src/main.ts",
|
|
100
|
+
"polyfills": "src/polyfills.ts",
|
|
101
|
+
"tsConfig": "tsconfig.json",
|
|
102
|
+
"assets": [
|
|
103
|
+
{
|
|
104
|
+
"glob": "**/*",
|
|
105
|
+
"input": "./node_modules/@eui/styles-base/src/assets/",
|
|
106
|
+
"output": "src/assets"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"glob": "**/*",
|
|
110
|
+
"input": "./node_modules/@eui/core/assets/",
|
|
111
|
+
"output": "src/assets"
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"styles": [
|
|
115
|
+
"./node_modules/@eui/styles/dist/styles/eui.css"
|
|
116
|
+
],
|
|
117
|
+
"scripts": [],
|
|
118
|
+
"preserveSymlinks": true
|
|
119
|
+
},
|
|
120
|
+
"configurations": {
|
|
121
|
+
"production": {
|
|
122
|
+
"optimization": true,
|
|
123
|
+
"outputHashing": "all",
|
|
124
|
+
"sourceMap": false,
|
|
125
|
+
"extractCss": true,
|
|
126
|
+
"namedChunks": false,
|
|
127
|
+
"aot": true,
|
|
128
|
+
"extractLicenses": true,
|
|
129
|
+
"vendorChunk": false,
|
|
130
|
+
"buildOptimizer": true
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"serve": {
|
|
135
|
+
"builder": "@angular-devkit/build-angular:dev-server",
|
|
136
|
+
"options": {
|
|
137
|
+
"browserTarget": "demo:build"
|
|
138
|
+
},
|
|
139
|
+
"configurations": {
|
|
140
|
+
"production": {
|
|
141
|
+
"browserTarget": "demo:build:production"
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"lint": {
|
|
146
|
+
"builder": "@angular-devkit/build-angular:tslint",
|
|
147
|
+
"options": {
|
|
148
|
+
"tsConfig": ["tsconfig.json"],
|
|
149
|
+
"exclude": ["**/node_modules/**"]
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"defaultProject": "demo",
|
|
156
|
+
"cli": {
|
|
157
|
+
"analytics": "0f944abb-e787-4c1f-9092-e34292361c91"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
`;
|
|
161
|
+
export const indexHtmlFile = (selector) => `
|
|
162
|
+
<!-- TODO: Find a workaround -->
|
|
163
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
164
|
+
<link rel="stylesheet" href="assets/eui.css" />
|
|
165
|
+
<!-- END TODO -->
|
|
166
|
+
<${selector}>
|
|
167
|
+
<div id="loader-wrapper">
|
|
168
|
+
<div id="loader"></div>
|
|
169
|
+
</div>
|
|
170
|
+
</${selector}>
|
|
171
|
+
`;
|
|
172
|
+
export const PACKAGE_JSON = {
|
|
173
|
+
name: 'demo',
|
|
174
|
+
version: '0.0.0',
|
|
175
|
+
private: true,
|
|
176
|
+
dependencies: {},
|
|
177
|
+
};
|
|
178
|
+
export const tsConfig = `
|
|
179
|
+
{
|
|
180
|
+
"compileOnSave": false,
|
|
181
|
+
"compilerOptions": {
|
|
182
|
+
"baseUrl": "./",
|
|
183
|
+
"outDir": "./dist/out-tsc",
|
|
184
|
+
"sourceMap": true,
|
|
185
|
+
"declaration": false,
|
|
186
|
+
"downlevelIteration": true,
|
|
187
|
+
"experimentalDecorators": true,
|
|
188
|
+
"module": "esnext",
|
|
189
|
+
"moduleResolution": "node",
|
|
190
|
+
"importHelpers": true,
|
|
191
|
+
"target": "es2016",
|
|
192
|
+
"allowSyntheticDefaultImports": true,
|
|
193
|
+
"emitDecoratorMetadata": true,
|
|
194
|
+
"typeRoots": [
|
|
195
|
+
"node_modules/@types"
|
|
196
|
+
],
|
|
197
|
+
"lib": [
|
|
198
|
+
"es2020",
|
|
199
|
+
"dom"
|
|
200
|
+
]
|
|
201
|
+
},
|
|
202
|
+
"angularCompilerOptions": {
|
|
203
|
+
"enableIvy": true,
|
|
204
|
+
"fullTemplateTypeCheck": true,
|
|
205
|
+
"strictInjectionParameters": true
|
|
206
|
+
}
|
|
207
|
+
}`;
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2tibGl0ei5maWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3N0YWNrYmxpdHouZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLDZCQUE2QixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDOzs7O1dBSXJDLFVBQVU7O3NGQUVpRSxVQUFVOzs7Ozs7Ozs7OztDQVcvRixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsYUFBcUIsRUFBRSxJQUFxQyxFQUFFLEVBQUUsRUFBRTtJQUN6RixPQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FxQkEsYUFBYTtDQUN2QixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUJuRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHOzttQkFFM0IsYUFBYTs7Ozs7Ozs7Ozs7Ozs7O2dCQWVoQixhQUFhOzs7Q0FHNUIsQ0FBQztBQUVGLENBQUMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBOEU5QixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQUM7Ozs7O0dBS2hELFFBQVE7Ozs7SUFJUCxRQUFRO0NBQ1gsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUN4QixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsWUFBWSxFQUFFLEVBQ2I7Q0FDSixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTZCdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBwb2x5ZmlsbHNGaWxlID0gYGltcG9ydCAnem9uZS5qcy9kaXN0L3pvbmUnO2A7XG5leHBvcnQgY29uc3QgbWFpbkZpbGUgPSAobW9kdWxlTmFtZTogc3RyaW5nKSA9PiBgXG5pbXBvcnQgJy4vcG9seWZpbGxzJztcbmltcG9ydCB7IHBsYXRmb3JtQnJvd3NlckR5bmFtaWMgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyLWR5bmFtaWMnO1xuaW1wb3J0IHsgcHJlSW5pdEFwcCB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyAke21vZHVsZU5hbWV9IH0gZnJvbSAnLi9jb21wb25lbnQnO1xuXG5wcmVJbml0QXBwKHtwcm9kdWN0aW9uOiBmYWxzZX0pLnRoZW4oKCkgPT4gcGxhdGZvcm1Ccm93c2VyRHluYW1pYygpLmJvb3RzdHJhcE1vZHVsZSgke21vZHVsZU5hbWV9KS50aGVuKHJlZiA9PiB7XG4gICAgICAvLyBFbnN1cmUgQW5ndWxhciBkZXN0cm95cyBpdHNlbGYgb24gaG90IHJlbG9hZHMuXG4gICAgICBpZiAod2luZG93WyduZ1JlZiddKSB7XG4gICAgICAgIHdpbmRvd1snbmdSZWYnXS5kZXN0cm95KCk7XG4gICAgICB9XG4gICAgICB3aW5kb3dbJ25nUmVmJ10gPSByZWY7XG5cbiAgICAgIC8vIE90aGVyd2lzZSwgbG9nIHRoZSBib290IGVycm9yXG4gICAgfSkuY2F0Y2goZXJyID0+IGNvbnNvbGUuZXJyb3IoZXJyKSlcbik7XG5cbmA7XG5leHBvcnQgY29uc3QgbW9kdWxlRmlsZSA9IChjb21wb25lbnROYW1lOiBzdHJpbmcsIG06IHtuYW1lOiBzdHJpbmc7IHBhdGg6IHN0cmluZzt9W10gPSBbXSkgPT4ge1xuICAgIHJldHVybiBgXG5pbXBvcnQgeyBOZ01vZHVsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBUFBfQkFTRV9IUkVGIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRXVpQWxsTW9kdWxlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gICAgcmVkdWNlcnMgYXMgY29yZVJlZHVjZXJzLFxuICAgIENvcmVNb2R1bGUgYXMgRXVpQ29yZU1vZHVsZSxcbiAgICB0cmFuc2xhdGVDb25maWcsXG4gICAgQ29yZU1vZHVsZUVmZmVjdHMsXG4gICAgRVVJX0NPTkZJR19UT0tFTixcbn0gZnJvbSAnQGV1aS9jb3JlJztcblxuaW1wb3J0IHsgJHtjb21wb25lbnROYW1lfSB9IGZyb20gJy4vY29tcG9uZW50JztcbmAgKyBtLm1hcCgoaSkgPT4gYGltcG9ydCB7ICR7aS5uYW1lfSB9IGZyb20gJyR7aS5wYXRofSc7XFxuYCkuam9pbignJykgKyBgXG5cbmV4cG9ydCBjb25zdCBSRURVQ0VSX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ1JlZ2lzdGVyZWQgUmVkdWNlcnMnKTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCcm93c2VyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEV1aUFsbE1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZS5mb3JSb290KFtdKSxcbiAgICBFdWlDb3JlTW9kdWxlLmZvclJvb3QoKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvclJvb3QoWy4uLkNvcmVNb2R1bGVFZmZlY3RzXSksXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3QodHJhbnNsYXRlQ29uZmlnKSxcbiAgICBTdG9yZU1vZHVsZS5mb3JSb290KFJFRFVDRVJfVE9LRU4sIHsgfSlcbiAgICBgICsgbS5tYXAoKGkpID0+IGAke2kubmFtZX0sYCkuam9pbignJykgKyBgXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogWyR7Y29tcG9uZW50TmFtZX1dLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFJFRFVDRVJfVE9LRU4sXG4gICAgICAgIGRlcHM6IFtdLFxuICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiBPYmplY3QuYXNzaWduKHt9LCBjb3JlUmVkdWNlcnMpLFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBFVUlfQ09ORklHX1RPS0VOLFxuICAgICAgICB1c2VWYWx1ZTogeyBhcHBDb25maWc6IHt9LCBlbnZpcm9ubWVudDoge30gfVxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBBUFBfQkFTRV9IUkVGLCB1c2VWYWx1ZTogJy8nXG4gICAgfVxuICBdLFxuICBib290c3RyYXA6IFske2NvbXBvbmVudE5hbWV9XSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG5gO1xuXG59O1xuZXhwb3J0IGNvbnN0IGFuZ3VsYXJKc29uRmlsZSA9IGBcbntcbiAgXCJ2ZXJzaW9uXCI6IDEsXG4gIFwibmV3UHJvamVjdFJvb3RcIjogXCJwcm9qZWN0c1wiLFxuICBcInByb2plY3RzXCI6IHtcbiAgICBcImRlbW9cIjoge1xuICAgICAgXCJyb290XCI6IFwiXCIsXG4gICAgICBcInNvdXJjZVJvb3RcIjogXCJcIixcbiAgICAgIFwicHJvamVjdFR5cGVcIjogXCJhcHBsaWNhdGlvblwiLFxuICAgICAgXCJwcmVmaXhcIjogXCJhcHBcIixcbiAgICAgIFwic2NoZW1hdGljc1wiOiB7fSxcbiAgICAgIFwiYXJjaGl0ZWN0XCI6IHtcbiAgICAgICAgXCJidWlsZFwiOiB7XG4gICAgICAgICAgXCJidWlsZGVyXCI6IFwiQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6YnJvd3NlclwiLFxuICAgICAgICAgIFwib3B0aW9uc1wiOiB7XG4gICAgICAgICAgICBcIm91dHB1dFBhdGhcIjogXCJkaXN0L2RlbW9cIixcbiAgICAgICAgICAgIFwiaW5kZXhcIjogXCJzcmMvaW5kZXguaHRtbFwiLFxuICAgICAgICAgICAgXCJtYWluXCI6IFwic3JjL21haW4udHNcIixcbiAgICAgICAgICAgIFwicG9seWZpbGxzXCI6IFwic3JjL3BvbHlmaWxscy50c1wiLFxuICAgICAgICAgICAgXCJ0c0NvbmZpZ1wiOiBcInRzY29uZmlnLmpzb25cIixcbiAgICAgICAgICAgIFwiYXNzZXRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiZ2xvYlwiOiBcIioqLypcIixcbiAgICAgICAgICAgICAgICBcImlucHV0XCI6IFwiLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvYXNzZXRzL1wiLFxuICAgICAgICAgICAgICAgIFwib3V0cHV0XCI6IFwic3JjL2Fzc2V0c1wiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImdsb2JcIjogXCIqKi8qXCIsXG4gICAgICAgICAgICAgICAgXCJpbnB1dFwiOiBcIi4vbm9kZV9tb2R1bGVzL0BldWkvY29yZS9hc3NldHMvXCIsXG4gICAgICAgICAgICAgICAgXCJvdXRwdXRcIjogXCJzcmMvYXNzZXRzXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwic3R5bGVzXCI6IFtcbiAgICAgICAgICAgICAgXCIuL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy9kaXN0L3N0eWxlcy9ldWkuY3NzXCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcInNjcmlwdHNcIjogW10sXG4gICAgICAgICAgICBcInByZXNlcnZlU3ltbGlua3NcIjogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJjb25maWd1cmF0aW9uc1wiOiB7XG4gICAgICAgICAgICBcInByb2R1Y3Rpb25cIjoge1xuICAgICAgICAgICAgICBcIm9wdGltaXphdGlvblwiOiB0cnVlLFxuICAgICAgICAgICAgICBcIm91dHB1dEhhc2hpbmdcIjogXCJhbGxcIixcbiAgICAgICAgICAgICAgXCJzb3VyY2VNYXBcIjogZmFsc2UsXG4gICAgICAgICAgICAgIFwiZXh0cmFjdENzc1wiOiB0cnVlLFxuICAgICAgICAgICAgICBcIm5hbWVkQ2h1bmtzXCI6IGZhbHNlLFxuICAgICAgICAgICAgICBcImFvdFwiOiB0cnVlLFxuICAgICAgICAgICAgICBcImV4dHJhY3RMaWNlbnNlc1wiOiB0cnVlLFxuICAgICAgICAgICAgICBcInZlbmRvckNodW5rXCI6IGZhbHNlLFxuICAgICAgICAgICAgICBcImJ1aWxkT3B0aW1pemVyXCI6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2VydmVcIjoge1xuICAgICAgICAgIFwiYnVpbGRlclwiOiBcIkBhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOmRldi1zZXJ2ZXJcIixcbiAgICAgICAgICBcIm9wdGlvbnNcIjoge1xuICAgICAgICAgICAgXCJicm93c2VyVGFyZ2V0XCI6IFwiZGVtbzpidWlsZFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImNvbmZpZ3VyYXRpb25zXCI6IHtcbiAgICAgICAgICAgIFwicHJvZHVjdGlvblwiOiB7XG4gICAgICAgICAgICAgIFwiYnJvd3NlclRhcmdldFwiOiBcImRlbW86YnVpbGQ6cHJvZHVjdGlvblwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImxpbnRcIjoge1xuICAgICAgICAgIFwiYnVpbGRlclwiOiBcIkBhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOnRzbGludFwiLFxuICAgICAgICAgIFwib3B0aW9uc1wiOiB7XG4gICAgICAgICAgICBcInRzQ29uZmlnXCI6IFtcInRzY29uZmlnLmpzb25cIl0sXG4gICAgICAgICAgICBcImV4Y2x1ZGVcIjogW1wiKiovbm9kZV9tb2R1bGVzLyoqXCJdXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBcImRlZmF1bHRQcm9qZWN0XCI6IFwiZGVtb1wiLFxuICBcImNsaVwiOiB7XG4gICAgXCJhbmFseXRpY3NcIjogXCIwZjk0NGFiYi1lNzg3LTRjMWYtOTA5Mi1lMzQyOTIzNjFjOTFcIlxuICB9XG59XG5gO1xuZXhwb3J0IGNvbnN0IGluZGV4SHRtbEZpbGUgPSAoc2VsZWN0b3I6IHN0cmluZykgPT4gYFxuPCEtLSBUT0RPOiBGaW5kIGEgd29ya2Fyb3VuZCAtLT5cbjxtZXRhIGh0dHAtZXF1aXY9XCJDb250ZW50LVR5cGVcIiBjb250ZW50PVwidGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04XCIgLz5cbjxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiBocmVmPVwiYXNzZXRzL2V1aS5jc3NcIiAvPlxuPCEtLSBFTkQgVE9ETyAtLT5cbjwke3NlbGVjdG9yfT5cbiAgICA8ZGl2IGlkPVwibG9hZGVyLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBpZD1cImxvYWRlclwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC8ke3NlbGVjdG9yfT5cbmA7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9KU09OID0ge1xuICAgIG5hbWU6ICdkZW1vJyxcbiAgICB2ZXJzaW9uOiAnMC4wLjAnLFxuICAgIHByaXZhdGU6IHRydWUsXG4gICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgfSxcbn07XG5leHBvcnQgY29uc3QgdHNDb25maWcgPSBgXG57XG4gIFwiY29tcGlsZU9uU2F2ZVwiOiBmYWxzZSxcbiAgXCJjb21waWxlck9wdGlvbnNcIjoge1xuICAgIFwiYmFzZVVybFwiOiBcIi4vXCIsXG4gICAgXCJvdXREaXJcIjogXCIuL2Rpc3Qvb3V0LXRzY1wiLFxuICAgIFwic291cmNlTWFwXCI6IHRydWUsXG4gICAgXCJkZWNsYXJhdGlvblwiOiBmYWxzZSxcbiAgICBcImRvd25sZXZlbEl0ZXJhdGlvblwiOiB0cnVlLFxuICAgIFwiZXhwZXJpbWVudGFsRGVjb3JhdG9yc1wiOiB0cnVlLFxuICAgIFwibW9kdWxlXCI6IFwiZXNuZXh0XCIsXG4gICAgXCJtb2R1bGVSZXNvbHV0aW9uXCI6IFwibm9kZVwiLFxuICAgIFwiaW1wb3J0SGVscGVyc1wiOiB0cnVlLFxuICAgIFwidGFyZ2V0XCI6IFwiZXMyMDE2XCIsXG4gICAgXCJhbGxvd1N5bnRoZXRpY0RlZmF1bHRJbXBvcnRzXCI6IHRydWUsXG4gICAgXCJlbWl0RGVjb3JhdG9yTWV0YWRhdGFcIjogdHJ1ZSxcbiAgICBcInR5cGVSb290c1wiOiBbXG4gICAgICBcIm5vZGVfbW9kdWxlcy9AdHlwZXNcIlxuICAgIF0sXG4gICAgXCJsaWJcIjogW1xuICAgICAgXCJlczIwMjBcIixcbiAgICAgIFwiZG9tXCJcbiAgICBdXG4gIH0sXG4gIFwiYW5ndWxhckNvbXBpbGVyT3B0aW9uc1wiOiB7XG4gICAgXCJlbmFibGVJdnlcIjogdHJ1ZSxcbiAgICBcImZ1bGxUZW1wbGF0ZVR5cGVDaGVja1wiOiB0cnVlLFxuICAgIFwic3RyaWN0SW5qZWN0aW9uUGFyYW1ldGVyc1wiOiB0cnVlXG4gIH1cbn1gO1xuIl19
|
|
@@ -7,6 +7,8 @@ import { EuiPageModule } from '@eui/components/eui-page';
|
|
|
7
7
|
import { EuiChipModule } from '@eui/components/eui-chip';
|
|
8
8
|
import { EuiDialogModule } from '@eui/components/eui-dialog';
|
|
9
9
|
import { EuiAlertModule } from '@eui/components/eui-alert';
|
|
10
|
+
import { EuiBlockContentModule } from '@eui/components/eui-block-content';
|
|
11
|
+
import { EuiBadgeModule } from '@eui/components/eui-badge';
|
|
10
12
|
import { DocPageComponent, DocPageOverviewContentDirective, DocPageSamplesContentDirective, DocPageApiContentDirective, DocPageInteractiveContentDirective, DocPageSectionsContentDirective, DocPageAccessibilityContentDirective, DocPageThemingContentDirective, } from './components/doc-page/doc-page.component';
|
|
11
13
|
import { DocSampleComponent } from './components/doc-sample/doc-sample.component';
|
|
12
14
|
import { DocSampleApiComponent } from './components/doc-sample-api/doc-sample-api.component';
|
|
@@ -14,7 +16,8 @@ import { DocSectionComponent } from './components/doc-section/doc-section.compon
|
|
|
14
16
|
import { DocPageCodeComponent } from './components/doc-page-code/doc-page-code.component';
|
|
15
17
|
import { EuiCodeHighlighterDirective } from './components/eui-code-highlighter/eui-code-highlighter.component';
|
|
16
18
|
import { DocSectionCodeComponent, DocSectionCodeHtmlTagDirective, DocSectionCodeTsTagDirective, DocSectionCodeServiceTagDirective, DocSectionCodeCssTagDirective, DocSectionCodeDocTagDirective, DocSectionCodeDescriptionTagDirective, } from './components/doc-section-code/doc-section-code.component';
|
|
17
|
-
import { DocPageCodeFabComponent, LoremIpsumSampleComponent } from './components';
|
|
19
|
+
import { DocPageCodeFabComponent, LoremIpsumSampleComponent, PlaygroundComponent } from './components';
|
|
20
|
+
import { DocPagePatternComponent, DocPagePatternDocDirective, DocPagePatternSampleDirective, } from './components/doc-page-pattern/doc-page-pattern.component';
|
|
18
21
|
import * as i0 from "@angular/core";
|
|
19
22
|
const COMPONENTS = [
|
|
20
23
|
EuiCodeHighlighterDirective,
|
|
@@ -39,11 +42,15 @@ const COMPONENTS = [
|
|
|
39
42
|
DocSectionCodeDocTagDirective,
|
|
40
43
|
DocSectionCodeDescriptionTagDirective,
|
|
41
44
|
LoremIpsumSampleComponent,
|
|
45
|
+
PlaygroundComponent,
|
|
46
|
+
DocPagePatternComponent,
|
|
47
|
+
DocPagePatternDocDirective,
|
|
48
|
+
DocPagePatternSampleDirective,
|
|
42
49
|
];
|
|
43
50
|
export class EuiShowcaseModule {
|
|
44
51
|
}
|
|
45
|
-
/** @nocollapse */ EuiShowcaseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0
|
|
46
|
-
/** @nocollapse */ EuiShowcaseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0
|
|
52
|
+
/** @nocollapse */ EuiShowcaseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EuiShowcaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
53
|
+
/** @nocollapse */ EuiShowcaseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0", ngImport: i0, type: EuiShowcaseModule, declarations: [EuiCodeHighlighterDirective,
|
|
47
54
|
DocPageComponent,
|
|
48
55
|
DocPageCodeComponent,
|
|
49
56
|
DocPageCodeFabComponent,
|
|
@@ -64,14 +71,20 @@ export class EuiShowcaseModule {
|
|
|
64
71
|
DocSectionCodeCssTagDirective,
|
|
65
72
|
DocSectionCodeDocTagDirective,
|
|
66
73
|
DocSectionCodeDescriptionTagDirective,
|
|
67
|
-
LoremIpsumSampleComponent
|
|
74
|
+
LoremIpsumSampleComponent,
|
|
75
|
+
PlaygroundComponent,
|
|
76
|
+
DocPagePatternComponent,
|
|
77
|
+
DocPagePatternDocDirective,
|
|
78
|
+
DocPagePatternSampleDirective], imports: [CommonModule,
|
|
68
79
|
EuiCardModule,
|
|
69
80
|
EuiButtonModule,
|
|
70
81
|
EuiTabsModule,
|
|
71
82
|
EuiPageModule,
|
|
72
83
|
EuiChipModule,
|
|
73
84
|
EuiDialogModule,
|
|
74
|
-
EuiAlertModule
|
|
85
|
+
EuiAlertModule,
|
|
86
|
+
EuiBlockContentModule,
|
|
87
|
+
EuiBadgeModule], exports: [EuiCodeHighlighterDirective,
|
|
75
88
|
DocPageComponent,
|
|
76
89
|
DocPageCodeComponent,
|
|
77
90
|
DocPageCodeFabComponent,
|
|
@@ -92,16 +105,22 @@ export class EuiShowcaseModule {
|
|
|
92
105
|
DocSectionCodeCssTagDirective,
|
|
93
106
|
DocSectionCodeDocTagDirective,
|
|
94
107
|
DocSectionCodeDescriptionTagDirective,
|
|
95
|
-
LoremIpsumSampleComponent
|
|
96
|
-
|
|
108
|
+
LoremIpsumSampleComponent,
|
|
109
|
+
PlaygroundComponent,
|
|
110
|
+
DocPagePatternComponent,
|
|
111
|
+
DocPagePatternDocDirective,
|
|
112
|
+
DocPagePatternSampleDirective] });
|
|
113
|
+
/** @nocollapse */ EuiShowcaseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EuiShowcaseModule, imports: [CommonModule,
|
|
97
114
|
EuiCardModule,
|
|
98
115
|
EuiButtonModule,
|
|
99
116
|
EuiTabsModule,
|
|
100
117
|
EuiPageModule,
|
|
101
118
|
EuiChipModule,
|
|
102
119
|
EuiDialogModule,
|
|
103
|
-
EuiAlertModule
|
|
104
|
-
|
|
120
|
+
EuiAlertModule,
|
|
121
|
+
EuiBlockContentModule,
|
|
122
|
+
EuiBadgeModule] });
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EuiShowcaseModule, decorators: [{
|
|
105
124
|
type: NgModule,
|
|
106
125
|
args: [{
|
|
107
126
|
declarations: [...COMPONENTS],
|
|
@@ -114,8 +133,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
|
|
|
114
133
|
EuiChipModule,
|
|
115
134
|
EuiDialogModule,
|
|
116
135
|
EuiAlertModule,
|
|
136
|
+
EuiBlockContentModule,
|
|
137
|
+
EuiBadgeModule,
|
|
117
138
|
],
|
|
118
139
|
exports: [...COMPONENTS],
|
|
119
140
|
}]
|
|
120
141
|
}] });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXNob3djYXNlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZXVpLXNob3djYXNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsK0JBQStCLEVBQy9CLDhCQUE4QixFQUM5QiwwQkFBMEIsRUFDMUIsa0NBQWtDLEVBQ2xDLCtCQUErQixFQUMvQixvQ0FBb0MsRUFDcEMsOEJBQThCLEdBQ2pDLE1BQU0sMENBQTBDLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLG9C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Q2IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixjQUFjO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgRXVpQ2FyZE1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktY2FyZCc7XG5pbXBvcnQgeyBFdWlCdXR0b25Nb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWJ1dHRvbic7XG5pbXBvcnQgeyBFdWlUYWJzTW9kdWxlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS10YWJzJztcbmltcG9ydCB7IEV1aVBhZ2VNb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLXBhZ2UnO1xuaW1wb3J0IHsgRXVpQ2hpcE1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktY2hpcCc7XG5pbXBvcnQgeyBFdWlEaWFsb2dNb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWRpYWxvZyc7XG5pbXBvcnQgeyBFdWlBbGVydE1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktYWxlcnQnO1xuaW1wb3J0IHsgRXVpQmxvY2tDb250ZW50TW9kdWxlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1ibG9jay1jb250ZW50JztcbmltcG9ydCB7IEV1aUJhZGdlTW9kdWxlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1iYWRnZSc7XG5cbmltcG9ydCB7XG4gICAgRG9jUGFnZUNvbXBvbmVudCxcbiAgICBEb2NQYWdlT3ZlcnZpZXdDb250ZW50RGlyZWN0aXZlLFxuICAgIERvY1BhZ2VTYW1wbGVzQ29udGVudERpcmVjdGl2ZSxcbiAgICBEb2NQYWdlQXBpQ29udGVudERpcmVjdGl2ZSxcbiAgICBEb2NQYWdlSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlLFxuICAgIERvY1BhZ2VTZWN0aW9uc0NvbnRlbnREaXJlY3RpdmUsXG4gICAgRG9jUGFnZUFjY2Vzc2liaWxpdHlDb250ZW50RGlyZWN0aXZlLFxuICAgIERvY1BhZ2VUaGVtaW5nQ29udGVudERpcmVjdGl2ZSxcbn0gZnJvbSAnLi9jb21wb25lbnRzL2RvYy1wYWdlL2RvYy1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb2NTYW1wbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZG9jLXNhbXBsZS9kb2Mtc2FtcGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb2NTYW1wbGVBcGlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZG9jLXNhbXBsZS1hcGkvZG9jLXNhbXBsZS1hcGkuY29tcG9uZW50JztcbmltcG9ydCB7IERvY1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZG9jLXNlY3Rpb24vZG9jLXNlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IERvY1BhZ2VDb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RvYy1wYWdlLWNvZGUvZG9jLXBhZ2UtY29kZS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBFdWlDb2RlSGlnaGxpZ2h0ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvZXVpLWNvZGUtaGlnaGxpZ2h0ZXIvZXVpLWNvZGUtaGlnaGxpZ2h0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgRG9jU2VjdGlvbkNvZGVDb21wb25lbnQsXG4gICAgRG9jU2VjdGlvbkNvZGVIdG1sVGFnRGlyZWN0aXZlLFxuICAgIERvY1NlY3Rpb25Db2RlVHNUYWdEaXJlY3RpdmUsXG4gICAgRG9jU2VjdGlvbkNvZGVTZXJ2aWNlVGFnRGlyZWN0aXZlLFxuICAgIERvY1NlY3Rpb25Db2RlQ3NzVGFnRGlyZWN0aXZlLFxuICAgIERvY1NlY3Rpb25Db2RlRG9jVGFnRGlyZWN0aXZlLFxuICAgIERvY1NlY3Rpb25Db2RlRGVzY3JpcHRpb25UYWdEaXJlY3RpdmUsXG59IGZyb20gJy4vY29tcG9uZW50cy9kb2Mtc2VjdGlvbi1jb2RlL2RvYy1zZWN0aW9uLWNvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IERvY1BhZ2VDb2RlRmFiQ29tcG9uZW50LCBMb3JlbUlwc3VtU2FtcGxlQ29tcG9uZW50LCBQbGF5Z3JvdW5kQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gICAgRG9jUGFnZVBhdHRlcm5Db21wb25lbnQsIERvY1BhZ2VQYXR0ZXJuRG9jRGlyZWN0aXZlLCBEb2NQYWdlUGF0dGVyblNhbXBsZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi9jb21wb25lbnRzL2RvYy1wYWdlLXBhdHRlcm4vZG9jLXBhZ2UtcGF0dGVybi5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1xuICAgIEV1aUNvZGVIaWdobGlnaHRlckRpcmVjdGl2ZSxcbiAgICBEb2NQYWdlQ29tcG9uZW50LFxuICAgIERvY1BhZ2VDb2RlQ29tcG9uZW50LFxuICAgIERvY1BhZ2VDb2RlRmFiQ29tcG9uZW50LFxuICAgIERvY1BhZ2VPdmVydmlld0NvbnRlbnREaXJlY3RpdmUsXG4gICAgRG9jUGFnZUFwaUNvbnRlbnREaXJlY3RpdmUsXG4gICAgRG9jUGFnZUludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSxcbiAgICBEb2NQYWdlU2FtcGxlc0NvbnRlbnREaXJlY3RpdmUsXG4gICAgRG9jUGFnZVNlY3Rpb25zQ29udGVudERpcmVjdGl2ZSxcbiAgICBEb2NQYWdlQWNjZXNzaWJpbGl0eUNvbnRlbnREaXJlY3RpdmUsXG4gICAgRG9jUGFnZVRoZW1pbmdDb250ZW50RGlyZWN0aXZlLFxuICAgIERvY1NhbXBsZUNvbXBvbmVudCxcbiAgICBEb2NTYW1wbGVBcGlDb21wb25lbnQsXG4gICAgRG9jU2VjdGlvbkNvbXBvbmVudCxcbiAgICBEb2NTZWN0aW9uQ29kZUNvbXBvbmVudCxcbiAgICBEb2NTZWN0aW9uQ29kZUh0bWxUYWdEaXJlY3RpdmUsXG4gICAgRG9jU2VjdGlvbkNvZGVUc1RhZ0RpcmVjdGl2ZSxcbiAgICBEb2NTZWN0aW9uQ29kZVNlcnZpY2VUYWdEaXJlY3RpdmUsXG4gICAgRG9jU2VjdGlvbkNvZGVDc3NUYWdEaXJlY3RpdmUsXG4gICAgRG9jU2VjdGlvbkNvZGVEb2NUYWdEaXJlY3RpdmUsXG4gICAgRG9jU2VjdGlvbkNvZGVEZXNjcmlwdGlvblRhZ0RpcmVjdGl2ZSxcbiAgICBMb3JlbUlwc3VtU2FtcGxlQ29tcG9uZW50LFxuICAgIFBsYXlncm91bmRDb21wb25lbnQsXG4gICAgRG9jUGFnZVBhdHRlcm5Db21wb25lbnQsXG4gICAgRG9jUGFnZVBhdHRlcm5Eb2NEaXJlY3RpdmUsXG4gICAgRG9jUGFnZVBhdHRlcm5TYW1wbGVEaXJlY3RpdmUsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVFNdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBFdWlDYXJkTW9kdWxlLFxuICAgICAgICBFdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEV1aVRhYnNNb2R1bGUsXG4gICAgICAgIEV1aVBhZ2VNb2R1bGUsXG4gICAgICAgIEV1aUNoaXBNb2R1bGUsXG4gICAgICAgIEV1aURpYWxvZ01vZHVsZSxcbiAgICAgICAgRXVpQWxlcnRNb2R1bGUsXG4gICAgICAgIEV1aUJsb2NrQ29udGVudE1vZHVsZSxcbiAgICAgICAgRXVpQmFkZ2VNb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UU10sXG59KVxuZXhwb3J0IGNsYXNzIEV1aVNob3djYXNlTW9kdWxlIHsgfVxuIl19
|