@ng-doc/app 16.7.2 → 16.8.1
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/components/playground/base-playground.d.ts +4 -2
- package/components/playground/playground-demo/playground-demo.component.d.ts +2 -1
- package/components/playground/playground-properties/playground-properties.component.d.ts +2 -1
- package/components/playground/playground.component.d.ts +8 -6
- package/esm2022/components/code/code.component.mjs +5 -7
- package/esm2022/components/page/page.component.mjs +5 -28
- package/esm2022/components/playground/base-playground.mjs +7 -4
- package/esm2022/components/playground/playground-demo/playground-demo.component.mjs +10 -4
- package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +6 -3
- package/esm2022/components/playground/playground.component.mjs +24 -10
- package/esm2022/interfaces/index.mjs +2 -1
- package/esm2022/interfaces/page-processor.mjs +2 -0
- package/esm2022/interfaces/processor-options.mjs +1 -1
- package/esm2022/modules/root/ng-doc.module.mjs +3 -1
- package/esm2022/processors/default-processors.mjs +18 -0
- package/esm2022/processors/index.mjs +4 -11
- package/esm2022/processors/{code-processor → page-processor}/index.mjs +2 -2
- package/esm2022/processors/{icon-processor/ng-doc-app-processors-icon-processor.mjs → page-processor/ng-doc-app-processors-page-processor.mjs} +1 -1
- package/esm2022/processors/page-processor/page-processor.directive.mjs +52 -0
- package/esm2022/processors/processors/blockquote.processor.mjs +12 -0
- package/esm2022/processors/processors/code.processor.mjs +15 -0
- package/esm2022/processors/processors/demo-pane.processor.mjs +12 -0
- package/esm2022/processors/processors/demo.processor.mjs +12 -0
- package/esm2022/processors/processors/icon.processor.mjs +12 -0
- package/esm2022/processors/processors/index.mjs +10 -0
- package/esm2022/processors/processors/link.processor.mjs +13 -0
- package/esm2022/processors/processors/ng-doc-app-processors-processors.mjs +5 -0
- package/esm2022/processors/processors/playground.processor.mjs +19 -0
- package/esm2022/processors/processors/tabs.processor.mjs +25 -0
- package/esm2022/processors/processors/tooltip.processor.mjs +58 -0
- package/esm2022/tokens/index.mjs +2 -1
- package/esm2022/tokens/page-processor.mjs +17 -0
- package/fesm2022/ng-doc-app-components-code.mjs +4 -6
- package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page.mjs +4 -27
- package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-playground.mjs +42 -18
- package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
- package/fesm2022/ng-doc-app-modules-root.mjs +2 -0
- package/fesm2022/ng-doc-app-modules-root.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-page-processor.mjs +58 -0
- package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -0
- package/fesm2022/ng-doc-app-processors-processors.mjs +183 -0
- package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -0
- package/fesm2022/ng-doc-app-processors.mjs +22 -10
- package/fesm2022/ng-doc-app-processors.mjs.map +1 -1
- package/fesm2022/ng-doc-app-tokens.mjs +17 -1
- package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
- package/interfaces/index.d.ts +1 -0
- package/interfaces/page-processor.d.ts +28 -0
- package/interfaces/processor-options.d.ts +2 -3
- package/package.json +14 -62
- package/processors/default-processors.d.ts +2 -0
- package/processors/index.d.ts +3 -10
- package/processors/page-processor/index.d.ts +1 -0
- package/processors/page-processor/page-processor.directive.d.ts +19 -0
- package/processors/processors/blockquote.processor.d.ts +3 -0
- package/processors/processors/code.processor.d.ts +3 -0
- package/processors/processors/demo-pane.processor.d.ts +3 -0
- package/processors/processors/demo.processor.d.ts +3 -0
- package/processors/processors/icon.processor.d.ts +3 -0
- package/processors/processors/index.d.ts +9 -0
- package/processors/processors/link.processor.d.ts +3 -0
- package/processors/processors/playground.processor.d.ts +3 -0
- package/processors/processors/tabs.processor.d.ts +3 -0
- package/processors/{tooltip-processor/tooltip-wrapper.component.d.ts → processors/tooltip.processor.d.ts} +4 -1
- package/tokens/index.d.ts +1 -0
- package/tokens/page-processor.d.ts +11 -0
- package/esm2022/processors/blockquote-processor/blockquote-processor.directive.mjs +0 -30
- package/esm2022/processors/blockquote-processor/index.mjs +0 -2
- package/esm2022/processors/blockquote-processor/ng-doc-app-processors-blockquote-processor.mjs +0 -5
- package/esm2022/processors/code-processor/code-processor.directive.mjs +0 -35
- package/esm2022/processors/code-processor/ng-doc-app-processors-code-processor.mjs +0 -5
- package/esm2022/processors/demo-pane-processor/demo-pane-processor.directive.mjs +0 -38
- package/esm2022/processors/demo-pane-processor/index.mjs +0 -2
- package/esm2022/processors/demo-pane-processor/ng-doc-app-processors-demo-pane-processor.mjs +0 -5
- package/esm2022/processors/demo-processor/demo-processor.directive.mjs +0 -38
- package/esm2022/processors/demo-processor/index.mjs +0 -2
- package/esm2022/processors/demo-processor/ng-doc-app-processors-demo-processor.mjs +0 -5
- package/esm2022/processors/html-processor/html-processor.directive.mjs +0 -44
- package/esm2022/processors/html-processor/index.mjs +0 -2
- package/esm2022/processors/html-processor/ng-doc-app-processors-html-processor.mjs +0 -5
- package/esm2022/processors/icon-processor/icon-processor.directive.mjs +0 -30
- package/esm2022/processors/icon-processor/index.mjs +0 -2
- package/esm2022/processors/link-processor/index.mjs +0 -2
- package/esm2022/processors/link-processor/link-processor.directive.mjs +0 -31
- package/esm2022/processors/link-processor/ng-doc-app-processors-link-processor.mjs +0 -5
- package/esm2022/processors/playground-processor/index.mjs +0 -2
- package/esm2022/processors/playground-processor/ng-doc-app-processors-playground-processor.mjs +0 -5
- package/esm2022/processors/playground-processor/playground-processor.directive.mjs +0 -36
- package/esm2022/processors/tabs-processor/index.mjs +0 -2
- package/esm2022/processors/tabs-processor/ng-doc-app-processors-tabs-processor.mjs +0 -5
- package/esm2022/processors/tabs-processor/tabs-processor.directive.mjs +0 -44
- package/esm2022/processors/tooltip-processor/index.mjs +0 -3
- package/esm2022/processors/tooltip-processor/ng-doc-app-processors-tooltip-processor.mjs +0 -5
- package/esm2022/processors/tooltip-processor/tooltip-processor.directive.mjs +0 -30
- package/esm2022/processors/tooltip-processor/tooltip-wrapper.component.mjs +0 -49
- package/fesm2022/ng-doc-app-processors-blockquote-processor.mjs +0 -36
- package/fesm2022/ng-doc-app-processors-blockquote-processor.mjs.map +0 -1
- package/fesm2022/ng-doc-app-processors-code-processor.mjs +0 -41
- package/fesm2022/ng-doc-app-processors-code-processor.mjs.map +0 -1
- package/fesm2022/ng-doc-app-processors-demo-pane-processor.mjs +0 -44
- package/fesm2022/ng-doc-app-processors-demo-pane-processor.mjs.map +0 -1
- package/fesm2022/ng-doc-app-processors-demo-processor.mjs +0 -44
- package/fesm2022/ng-doc-app-processors-demo-processor.mjs.map +0 -1
- package/fesm2022/ng-doc-app-processors-html-processor.mjs +0 -50
- package/fesm2022/ng-doc-app-processors-html-processor.mjs.map +0 -1
- package/fesm2022/ng-doc-app-processors-icon-processor.mjs +0 -36
- package/fesm2022/ng-doc-app-processors-icon-processor.mjs.map +0 -1
- package/fesm2022/ng-doc-app-processors-link-processor.mjs +0 -37
- package/fesm2022/ng-doc-app-processors-link-processor.mjs.map +0 -1
- package/fesm2022/ng-doc-app-processors-playground-processor.mjs +0 -42
- package/fesm2022/ng-doc-app-processors-playground-processor.mjs.map +0 -1
- package/fesm2022/ng-doc-app-processors-tabs-processor.mjs +0 -50
- package/fesm2022/ng-doc-app-processors-tabs-processor.mjs.map +0 -1
- package/fesm2022/ng-doc-app-processors-tooltip-processor.mjs +0 -81
- package/fesm2022/ng-doc-app-processors-tooltip-processor.mjs.map +0 -1
- package/processors/blockquote-processor/blockquote-processor.directive.d.ts +0 -13
- package/processors/blockquote-processor/index.d.ts +0 -1
- package/processors/code-processor/code-processor.directive.d.ts +0 -14
- package/processors/code-processor/index.d.ts +0 -1
- package/processors/demo-pane-processor/demo-pane-processor.directive.d.ts +0 -14
- package/processors/demo-pane-processor/index.d.ts +0 -1
- package/processors/demo-processor/demo-processor.directive.d.ts +0 -14
- package/processors/demo-processor/index.d.ts +0 -1
- package/processors/html-processor/html-processor.directive.d.ts +0 -20
- package/processors/html-processor/index.d.ts +0 -1
- package/processors/icon-processor/icon-processor.directive.d.ts +0 -13
- package/processors/icon-processor/index.d.ts +0 -1
- package/processors/link-processor/index.d.ts +0 -1
- package/processors/link-processor/link-processor.directive.d.ts +0 -13
- package/processors/playground-processor/index.d.ts +0 -1
- package/processors/playground-processor/playground-processor.directive.d.ts +0 -13
- package/processors/tabs-processor/index.d.ts +0 -1
- package/processors/tabs-processor/tabs-processor.directive.d.ts +0 -15
- package/processors/tooltip-processor/index.d.ts +0 -2
- package/processors/tooltip-processor/tooltip-processor.directive.d.ts +0 -13
|
@@ -10,12 +10,14 @@ export declare abstract class NgDocBasePlayground implements Pick<NgDocPlaygroun
|
|
|
10
10
|
abstract readonly playground?: Type<any>;
|
|
11
11
|
abstract readonly playgroundInstance?: Constructor<unknown>;
|
|
12
12
|
abstract readonly viewContainerRef?: ViewContainerRef;
|
|
13
|
+
abstract readonly configData: Record<string, unknown>;
|
|
13
14
|
properties: Record<string, any>;
|
|
14
|
-
|
|
15
|
+
actionData: Record<string, unknown>;
|
|
15
16
|
content: any;
|
|
16
17
|
defaultValues: Record<string, unknown>;
|
|
17
18
|
private playgroundContainer;
|
|
18
19
|
ngOnInit(): void;
|
|
20
|
+
get data(): any;
|
|
19
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocBasePlayground, never>;
|
|
20
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgDocBasePlayground, never, never, { "properties": { "alias": "properties"; "required": false; }; "
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgDocBasePlayground, never, never, { "properties": { "alias": "properties"; "required": false; }; "actionData": { "alias": "actionData"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, {}, never, never, false, never>;
|
|
21
23
|
}
|
|
@@ -14,6 +14,7 @@ export declare class NgDocPlaygroundDemoComponent<T extends NgDocPlaygroundPrope
|
|
|
14
14
|
properties?: T;
|
|
15
15
|
recreateDemo: boolean;
|
|
16
16
|
form: FormGroup<NgDocPlaygroundForm>;
|
|
17
|
+
expanded: boolean;
|
|
17
18
|
demoOutlet?: ViewContainerRef;
|
|
18
19
|
playgroundDemo?: typeof NgDocBasePlayground;
|
|
19
20
|
code: Observable<string>;
|
|
@@ -28,5 +29,5 @@ export declare class NgDocPlaygroundDemoComponent<T extends NgDocPlaygroundPrope
|
|
|
28
29
|
private getActiveInputs;
|
|
29
30
|
ngOnDestroy(): void;
|
|
30
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPlaygroundDemoComponent<any>, never>;
|
|
31
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPlaygroundDemoComponent<any>, "ng-doc-playground-demo", never, { "id": { "alias": "id"; "required": false; }; "pipeName": { "alias": "pipeName"; "required": false; }; "selector": { "alias": "selector"; "required": false; }; "configuration": { "alias": "configuration"; "required": false; }; "properties": { "alias": "properties"; "required": false; }; "recreateDemo": { "alias": "recreateDemo"; "required": false; }; "form": { "alias": "form"; "required": false; }; }, {}, never, never, true, never>;
|
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPlaygroundDemoComponent<any>, "ng-doc-playground-demo", never, { "id": { "alias": "id"; "required": false; }; "pipeName": { "alias": "pipeName"; "required": false; }; "selector": { "alias": "selector"; "required": false; }; "configuration": { "alias": "configuration"; "required": false; }; "properties": { "alias": "properties"; "required": false; }; "recreateDemo": { "alias": "recreateDemo"; "required": false; }; "form": { "alias": "form"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; }, {}, never, never, true, never>;
|
|
32
33
|
}
|
|
@@ -14,6 +14,7 @@ export declare class NgDocPlaygroundPropertiesComponent<P extends NgDocPlaygroun
|
|
|
14
14
|
properties?: P;
|
|
15
15
|
dynamicContent?: C;
|
|
16
16
|
defaultValues?: Record<string, unknown>;
|
|
17
|
+
hideSidePanel: boolean;
|
|
17
18
|
recreateDemo: boolean;
|
|
18
19
|
recreateDemoChange: EventEmitter<boolean>;
|
|
19
20
|
resetForm: EventEmitter<void>;
|
|
@@ -28,5 +29,5 @@ export declare class NgDocPlaygroundPropertiesComponent<P extends NgDocPlaygroun
|
|
|
28
29
|
private getControlForType;
|
|
29
30
|
private getControlForTypeAlias;
|
|
30
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPlaygroundPropertiesComponent<any, any>, never>;
|
|
31
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPlaygroundPropertiesComponent<any, any>, "ng-doc-playground-properties", never, { "form": { "alias": "form"; "required": false; }; "properties": { "alias": "properties"; "required": false; }; "dynamicContent": { "alias": "dynamicContent"; "required": false; }; "defaultValues": { "alias": "defaultValues"; "required": false; }; "recreateDemo": { "alias": "recreateDemo"; "required": false; }; }, { "recreateDemoChange": "recreateDemoChange"; "resetForm": "resetForm"; }, never, ["*"], true, never>;
|
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPlaygroundPropertiesComponent<any, any>, "ng-doc-playground-properties", never, { "form": { "alias": "form"; "required": false; }; "properties": { "alias": "properties"; "required": false; }; "dynamicContent": { "alias": "dynamicContent"; "required": false; }; "defaultValues": { "alias": "defaultValues"; "required": false; }; "hideSidePanel": { "alias": "hideSidePanel"; "required": false; }; "recreateDemo": { "alias": "recreateDemo"; "required": false; }; }, { "recreateDemoChange": "recreateDemoChange"; "resetForm": "resetForm"; }, never, ["*"], true, never>;
|
|
32
33
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { AfterViewInit, ChangeDetectorRef } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';
|
|
2
2
|
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
3
3
|
import { NgDocRootPage } from '@ng-doc/app/classes/root-page';
|
|
4
|
-
import { NgDocPlaygroundConfig, NgDocPlaygroundProperties } from '@ng-doc/core/interfaces';
|
|
4
|
+
import { NgDocPlaygroundConfig, NgDocPlaygroundOptions, NgDocPlaygroundProperties } from '@ng-doc/core/interfaces';
|
|
5
5
|
import { NgDocPlaygroundForm } from './playground-form';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class NgDocPlaygroundComponent<T extends NgDocPlaygroundProperties = NgDocPlaygroundProperties> implements AfterViewInit {
|
|
7
|
+
export declare class NgDocPlaygroundComponent<T extends NgDocPlaygroundProperties = NgDocPlaygroundProperties> implements OnInit, AfterViewInit {
|
|
8
8
|
private readonly rootPage;
|
|
9
9
|
private readonly formBuilder;
|
|
10
10
|
private readonly changeDetectorRef;
|
|
@@ -12,15 +12,17 @@ export declare class NgDocPlaygroundComponent<T extends NgDocPlaygroundPropertie
|
|
|
12
12
|
pipeName: string;
|
|
13
13
|
selectors: string[];
|
|
14
14
|
properties?: T;
|
|
15
|
-
|
|
15
|
+
options: NgDocPlaygroundOptions;
|
|
16
16
|
recreateDemo: boolean;
|
|
17
|
+
formGroup: FormGroup<NgDocPlaygroundForm>;
|
|
17
18
|
defaultValues?: Record<string, unknown>;
|
|
19
|
+
configuration: NgDocPlaygroundConfig;
|
|
18
20
|
constructor(rootPage: NgDocRootPage, formBuilder: FormBuilder, changeDetectorRef: ChangeDetectorRef);
|
|
21
|
+
ngOnInit(): void;
|
|
19
22
|
ngAfterViewInit(): void;
|
|
20
|
-
get configuration(): NgDocPlaygroundConfig | undefined;
|
|
21
23
|
private getPropertiesFormValues;
|
|
22
24
|
private getContentFormValues;
|
|
23
25
|
resetForm(): void;
|
|
24
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPlaygroundComponent<any>, never>;
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPlaygroundComponent<any>, "ng-doc-playground", never, {}, {}, never, never, true, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPlaygroundComponent<any>, "ng-doc-playground", never, { "id": { "alias": "id"; "required": true; }; "pipeName": { "alias": "pipeName"; "required": false; }; "selectors": { "alias": "selectors"; "required": false; }; "properties": { "alias": "properties"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, true, never>;
|
|
26
28
|
}
|
|
@@ -2,8 +2,7 @@ import { Clipboard } from '@angular/cdk/clipboard';
|
|
|
2
2
|
import { NgIf } from '@angular/common';
|
|
3
3
|
import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core';
|
|
4
4
|
import { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes/sanitize-html';
|
|
5
|
-
import {
|
|
6
|
-
import { NgDocTooltipProcessorDirective } from '@ng-doc/app/processors/tooltip-processor';
|
|
5
|
+
import { NgDocPageProcessorDirective } from '@ng-doc/app/processors/page-processor';
|
|
7
6
|
import { NgDocButtonIconComponent, NgDocIconComponent, NgDocSmoothResizeComponent, NgDocTextComponent, NgDocTooltipDirective, } from '@ng-doc/ui-kit';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
import * as i1 from "@angular/cdk/clipboard";
|
|
@@ -26,7 +25,7 @@ class NgDocCodeComponent {
|
|
|
26
25
|
this.clipboard.copy(this.codeElement?.textContent ?? '');
|
|
27
26
|
}
|
|
28
27
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeComponent, deps: [{ token: i0.ElementRef }, { token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocCodeComponent, isStandalone: true, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", name: "name", lineNumbers: "lineNumbers" }, host: { properties: { "attr.data-ng-doc-has-header": "this.hasHeader" } }, ngImport: i0, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ name }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocCodeComponent, isStandalone: true, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", name: "name", lineNumbers: "lineNumbers" }, host: { properties: { "attr.data-ng-doc-has-header": "this.hasHeader" } }, ngImport: i0, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ name }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t*ngIf=\"html\"\n\t></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{ tooltipText }}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host:hover .ng-doc-copy-button{opacity:1}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}:host ::ng-deep pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host ::ng-deep pre code .line{position:relative;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host ::ng-deep pre code .line.highlighted{background:var(--ng-doc-code-highlight-background, rgba(var(--ng-doc-primary-rgb), .15))}:host ::ng-deep pre code .line.highlighted:before{content:\"\";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--ng-doc-code-highlight-border, var(--ng-doc-primary))}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }, { kind: "directive", type: NgDocPageProcessorDirective, selector: "[ngDocPageProcessor]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
29
|
}
|
|
31
30
|
export { NgDocCodeComponent };
|
|
32
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeComponent, decorators: [{
|
|
@@ -39,9 +38,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
39
38
|
NgDocSmoothResizeComponent,
|
|
40
39
|
NgDocIconComponent,
|
|
41
40
|
NgDocSanitizeHtmlPipe,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
], template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ name }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocLinkProcessor\n\t\tngDocTooltipProcessor\n\t\t*ngIf=\"html\"\n\t></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{ tooltipText }}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host:hover .ng-doc-copy-button{opacity:1}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}:host ::ng-deep pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host ::ng-deep pre code .line{position:relative;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host ::ng-deep pre code .line.highlighted{background:var(--ng-doc-code-highlight-background, rgba(var(--ng-doc-primary-rgb), .15))}:host ::ng-deep pre code .line.highlighted:before{content:\"\";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--ng-doc-code-highlight-border, var(--ng-doc-primary))}\n"] }]
|
|
41
|
+
NgDocPageProcessorDirective,
|
|
42
|
+
], template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ name }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t*ngIf=\"html\"\n\t></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{ tooltipText }}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host:hover .ng-doc-copy-button{opacity:1}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}:host ::ng-deep pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host ::ng-deep pre code .line{position:relative;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host ::ng-deep pre code .line.highlighted{background:var(--ng-doc-code-highlight-background, rgba(var(--ng-doc-primary-rgb), .15))}:host ::ng-deep pre code .line.highlighted:before{content:\"\";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--ng-doc-code-highlight-border, var(--ng-doc-primary))}\n"] }]
|
|
45
43
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Clipboard }]; }, propDecorators: { html: [{
|
|
46
44
|
type: Input
|
|
47
45
|
}], copyButton: [{
|
|
@@ -54,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
54
52
|
type: HostBinding,
|
|
55
53
|
args: ['attr.data-ng-doc-has-header']
|
|
56
54
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2NvZGUvY29kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2NvZGUvY29kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDbEYsT0FBTyxFQUNOLHdCQUF3QixFQUN4QixrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixxQkFBcUIsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRXhCLE1BaUJhLGtCQUFrQjtJQWU5QixZQUFvQixVQUFtQyxFQUFtQixTQUFvQjtRQUExRSxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUFtQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBYjlGLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHbEIsZUFBVSxHQUFZLElBQUksQ0FBQztRQU0zQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztJQUV3RSxDQUFDO0lBRWxHLElBQ0ksU0FBUztRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksV0FBVztRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNyRSxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7OEdBNUJXLGtCQUFrQjtrR0FBbEIsa0JBQWtCLGdQQzlCL0IsazRCQThCQSwwdUVEVkUsSUFBSSw2RkFDSixrQkFBa0IsaUhBQ2xCLHdCQUF3QiwySEFDeEIscUJBQXFCLDBVQUNyQiwwQkFBMEIsd0dBQzFCLGtCQUFrQiw2RUFDbEIscUJBQXFCLDBEQUNyQiwyQkFBMkI7O1NBR2hCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQWpCOUIsU0FBUzsrQkFDQyxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNSLElBQUk7d0JBQ0osa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsMEJBQTBCO3dCQUMxQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsMkJBQTJCO3FCQUMzQjt5SEFJRCxJQUFJO3NCQURILEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBUUYsU0FBUztzQkFEWixXQUFXO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xpcGJvYXJkfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdEb2NTYW5pdGl6ZUh0bWxQaXBlfSBmcm9tICdAbmctZG9jL2FwcC9waXBlcy9zYW5pdGl6ZS1odG1sJztcbmltcG9ydCB7TmdEb2NQYWdlUHJvY2Vzc29yRGlyZWN0aXZlfSBmcm9tICdAbmctZG9jL2FwcC9wcm9jZXNzb3JzL3BhZ2UtcHJvY2Vzc29yJztcbmltcG9ydCB7XG5cdE5nRG9jQnV0dG9uSWNvbkNvbXBvbmVudCxcblx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHROZ0RvY1Ntb290aFJlc2l6ZUNvbXBvbmVudCxcblx0TmdEb2NUZXh0Q29tcG9uZW50LFxuXHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG59IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLWNvZGUnLFxuXHR0ZW1wbGF0ZVVybDogJy4vY29kZS5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2NvZGUuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtcblx0XHROZ0lmLFxuXHRcdE5nRG9jVGV4dENvbXBvbmVudCxcblx0XHROZ0RvY0J1dHRvbkljb25Db21wb25lbnQsXG5cdFx0TmdEb2NUb29sdGlwRGlyZWN0aXZlLFxuXHRcdE5nRG9jU21vb3RoUmVzaXplQ29tcG9uZW50LFxuXHRcdE5nRG9jSWNvbkNvbXBvbmVudCxcblx0XHROZ0RvY1Nhbml0aXplSHRtbFBpcGUsXG5cdFx0TmdEb2NQYWdlUHJvY2Vzc29yRGlyZWN0aXZlLFxuXHRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY0NvZGVDb21wb25lbnQge1xuXHRASW5wdXQoKVxuXHRodG1sOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRjb3B5QnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuXHRASW5wdXQoKVxuXHRuYW1lPzogc3RyaW5nO1xuXG5cdEBJbnB1dCgpXG5cdGxpbmVOdW1iZXJzOiBib29sZWFuID0gZmFsc2U7XG5cblx0dG9vbHRpcFRleHQ6IHN0cmluZyA9ICcnO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkOiBDbGlwYm9hcmQpIHt9XG5cblx0QEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtbmctZG9jLWhhcy1oZWFkZXInKVxuXHRnZXQgaGFzSGVhZGVyKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAhIXRoaXMubmFtZTtcblx0fVxuXG5cdGdldCBjb2RlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY29kZScpID8/IG51bGw7XG5cdH1cblxuXHRjb3B5Q29kZSgpOiB2b2lkIHtcblx0XHR0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMuY29kZUVsZW1lbnQ/LnRleHRDb250ZW50ID8/ICcnKTtcblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cIm5nLWRvYy1jb2RlLWhlYWRlclwiICpuZ0lmPVwiaGFzSGVhZGVyXCI+XG5cdDxzcGFuIGNsYXNzPVwibmctZG9jLWNvZGUtZmlsZS1uYW1lXCIgbmctZG9jLXRleHQ+e3sgbmFtZSB9fTwvc3Bhbj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm5nLWRvYy1jb2RlLWJvZHlcIj5cblx0PGRpdlxuXHRcdGNsYXNzPVwibmctZG9jLWNvZGUtd3JhcHBlclwiXG5cdFx0W2lubmVySFRNTF09XCJodG1sIHwgbmdEb2NTYW5pdGl6ZUh0bWxcIlxuXHRcdG5nRG9jUGFnZVByb2Nlc3NvclxuXHRcdCpuZ0lmPVwiaHRtbFwiXG5cdD48L2Rpdj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1jb2RlLXdyYXBwZXJcIiAqbmdJZj1cIiFodG1sXCI+XG5cdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHQ8L2Rpdj5cblxuXHQ8YnV0dG9uXG5cdFx0Y2xhc3M9XCJuZy1kb2MtY29weS1idXR0b25cIlxuXHRcdG5nLWRvYy1idXR0b24taWNvblxuXHRcdCpuZ0lmPVwiY29weUJ1dHRvblwiXG5cdFx0KGNsaWNrKT1cImNvcHlDb2RlKCk7IHRvb2x0aXBUZXh0ID0gJ0NvcGllZCEnXCJcblx0XHRbbmdEb2NUb29sdGlwXT1cInRvb2x0aXBDb250ZW50XCJcblx0XHQobW91c2VlbnRlcik9XCJ0b29sdGlwVGV4dCA9ICdDb3B5IHRvIGNsaXBib2FyZCdcIlxuXHQ+XG5cdFx0PG5nLXRlbXBsYXRlICN0b29sdGlwQ29udGVudD5cblx0XHRcdDxuZy1kb2Mtc21vb3RoLXJlc2l6ZSBbdHJpZ2dlcl09XCJ0b29sdGlwVGV4dFwiPlxuXHRcdFx0XHR7eyB0b29sdGlwVGV4dCB9fVxuXHRcdFx0PC9uZy1kb2Mtc21vb3RoLXJlc2l6ZT5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDxuZy1kb2MtaWNvbiBpY29uPVwiY29weVwiPjwvbmctZG9jLWljb24+XG5cdDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -6,7 +6,7 @@ import { NgDocBreadcrumbComponent } from '@ng-doc/app/components/breadcrumb';
|
|
|
6
6
|
import { NgDocTocComponent } from '@ng-doc/app/components/toc';
|
|
7
7
|
import { provideTypeControl } from '@ng-doc/app/helpers';
|
|
8
8
|
import { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes/sanitize-html';
|
|
9
|
-
import {
|
|
9
|
+
import { NgDocPageProcessorDirective } from '@ng-doc/app/processors';
|
|
10
10
|
import { NG_DOC_CONTEXT } from '@ng-doc/app/tokens';
|
|
11
11
|
import { NgDocBooleanControlComponent, NgDocNumberControlComponent, NgDocStringControlComponent, NgDocTypeAliasControlComponent, } from '@ng-doc/app/type-controls';
|
|
12
12
|
import { NgDocButtonIconComponent, NgDocIconComponent, NgDocMediaQueryDirective, NgDocTextComponent, NgDocTextLeftDirective, NgDocTextRightDirective, NgDocTooltipDirective, } from '@ng-doc/ui-kit';
|
|
@@ -37,15 +37,7 @@ class NgDocPageComponent {
|
|
|
37
37
|
provideTypeControl('string', NgDocStringControlComponent, { order: 20 }),
|
|
38
38
|
provideTypeControl('number', NgDocNumberControlComponent, { order: 30 }),
|
|
39
39
|
provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }),
|
|
40
|
-
], ngImport: i0, template: "<article>\n\t<ng-doc-breadcrumb *ngIf=\"rootPage.pageType === 'guide'\"></ng-doc-breadcrumb>\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div\n\t\tclass=\"ng-doc-page-wrapper\"\n\t\t[innerHTML]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n\t\
|
|
41
|
-
/**
|
|
42
|
-
* The order of the directives is important.
|
|
43
|
-
* The higher the directive is in the list, the later it will be run.
|
|
44
|
-
*
|
|
45
|
-
* So here we want to render demos first, after that we want to render links
|
|
46
|
-
* and bind tooltips to them.
|
|
47
|
-
*/
|
|
48
|
-
NgDocTooltipProcessorDirective, selector: "[ngDocTooltipProcessor]" }, { kind: "directive", type: NgDocLinkProcessorDirective, selector: "[ngDocLinkProcessor]" }, { kind: "directive", type: NgDocCodeProcessorDirective, selector: "[ngDocCodeProcessor]" }, { kind: "directive", type: NgDocDemoProcessorDirective, selector: "[ngDocDemoProcessor]" }, { kind: "directive", type: NgDocDemoPaneProcessorDirective, selector: "[ngDocDemoPaneProcessor]" }, { kind: "directive", type: NgDocPlaygroundProcessorDirective, selector: "[ngDocPlaygroundProcessor]" }, { kind: "directive", type: NgDocTabsProcessorDirective, selector: "[ngDocTabsProcessor]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: NgDocMediaQueryDirective, selector: "[ngDocMediaQuery]", inputs: ["ngDocMediaQuery"], exportAs: ["ngDocMediaQuery"] }, { kind: "component", type: NgDocTocComponent, selector: "ng-doc-toc", inputs: ["pageContainer"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40
|
+
], ngImport: i0, template: "<article>\n\t<ng-doc-breadcrumb *ngIf=\"rootPage.pageType === 'guide'\"></ng-doc-breadcrumb>\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div\n\t\tclass=\"ng-doc-page-wrapper\"\n\t\t[innerHTML]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t#pageContainer\n\t></div>\n\n\t<div class=\"ng-doc-navigation-controls\" *ngIf=\"rootPage.pageType === 'guide'\">\n\t\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\t\tPrevious\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t\t</a>\n\t\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\tNext\n\t\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t\t</a>\n\t</div>\n</article>\n\n<ng-template\n\t[ngDocMediaQuery]=\"[mediaQuery.breakpoints.Large, mediaQuery.breakpoints.XLarge]\"\n\t#mediaQuery=\"ngDocMediaQuery\"\n>\n\t<ng-doc-toc [pageContainer]=\"pageContainer\"></ng-doc-toc>\n</ng-template>\n", styles: [":host{display:flex}:host article{position:relative;width:var(--ng-doc-article-width, 100%);margin-left:auto;margin-right:auto;overflow:hidden}:host article .ng-doc-page-controls{position:absolute;display:flex;grid-gap:var(--ng-doc-base-gutter);top:0;right:0}:host ng-doc-toc{--ng-doc-toc-margin: calc(var(--ng-doc-base-gutter) * 3);flex-shrink:0}@media screen and (max-width: 1200px){:host ng-doc-toc{display:none}}:host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-10);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocBreadcrumbComponent, selector: "ng-doc-breadcrumb" }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: NgDocMediaQueryDirective, selector: "[ngDocMediaQuery]", inputs: ["ngDocMediaQuery"], exportAs: ["ngDocMediaQuery"] }, { kind: "component", type: NgDocTocComponent, selector: "ng-doc-toc", inputs: ["pageContainer"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }, { kind: "directive", type: NgDocPageProcessorDirective, selector: "[ngDocPageProcessor]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
41
|
}
|
|
50
42
|
export { NgDocPageComponent };
|
|
51
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPageComponent, decorators: [{
|
|
@@ -56,22 +48,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
56
48
|
NgDocButtonIconComponent,
|
|
57
49
|
NgDocTooltipDirective,
|
|
58
50
|
NgDocIconComponent,
|
|
59
|
-
NgDocBlockquoteProcessorDirective,
|
|
60
|
-
NgDocIconProcessorDirective,
|
|
61
|
-
/**
|
|
62
|
-
* The order of the directives is important.
|
|
63
|
-
* The higher the directive is in the list, the later it will be run.
|
|
64
|
-
*
|
|
65
|
-
* So here we want to render demos first, after that we want to render links
|
|
66
|
-
* and bind tooltips to them.
|
|
67
|
-
*/
|
|
68
|
-
NgDocTooltipProcessorDirective,
|
|
69
|
-
NgDocLinkProcessorDirective,
|
|
70
|
-
NgDocCodeProcessorDirective,
|
|
71
|
-
NgDocDemoProcessorDirective,
|
|
72
|
-
NgDocDemoPaneProcessorDirective,
|
|
73
|
-
NgDocPlaygroundProcessorDirective,
|
|
74
|
-
NgDocTabsProcessorDirective,
|
|
75
51
|
RouterLink,
|
|
76
52
|
NgDocTextComponent,
|
|
77
53
|
NgDocTextLeftDirective,
|
|
@@ -79,14 +55,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
79
55
|
NgDocMediaQueryDirective,
|
|
80
56
|
NgDocTocComponent,
|
|
81
57
|
NgDocSanitizeHtmlPipe,
|
|
58
|
+
NgDocPageProcessorDirective,
|
|
82
59
|
], providers: [
|
|
83
60
|
provideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, { order: 10 }),
|
|
84
61
|
provideTypeControl('string', NgDocStringControlComponent, { order: 20 }),
|
|
85
62
|
provideTypeControl('number', NgDocNumberControlComponent, { order: 30 }),
|
|
86
63
|
provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }),
|
|
87
|
-
], template: "<article>\n\t<ng-doc-breadcrumb *ngIf=\"rootPage.pageType === 'guide'\"></ng-doc-breadcrumb>\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div\n\t\tclass=\"ng-doc-page-wrapper\"\n\t\t[innerHTML]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n\t\
|
|
64
|
+
], template: "<article>\n\t<ng-doc-breadcrumb *ngIf=\"rootPage.pageType === 'guide'\"></ng-doc-breadcrumb>\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div\n\t\tclass=\"ng-doc-page-wrapper\"\n\t\t[innerHTML]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t#pageContainer\n\t></div>\n\n\t<div class=\"ng-doc-navigation-controls\" *ngIf=\"rootPage.pageType === 'guide'\">\n\t\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\t\tPrevious\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t\t</a>\n\t\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\tNext\n\t\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t\t</a>\n\t</div>\n</article>\n\n<ng-template\n\t[ngDocMediaQuery]=\"[mediaQuery.breakpoints.Large, mediaQuery.breakpoints.XLarge]\"\n\t#mediaQuery=\"ngDocMediaQuery\"\n>\n\t<ng-doc-toc [pageContainer]=\"pageContainer\"></ng-doc-toc>\n</ng-template>\n", styles: [":host{display:flex}:host article{position:relative;width:var(--ng-doc-article-width, 100%);margin-left:auto;margin-right:auto;overflow:hidden}:host article .ng-doc-page-controls{position:absolute;display:flex;grid-gap:var(--ng-doc-base-gutter);top:0;right:0}:host ng-doc-toc{--ng-doc-toc-margin: calc(var(--ng-doc-base-gutter) * 3);flex-shrink:0}@media screen and (max-width: 1200px){:host ng-doc-toc{display:none}}:host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-10);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"] }]
|
|
88
65
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
89
66
|
type: Inject,
|
|
90
67
|
args: [NG_DOC_CONTEXT]
|
|
91
68
|
}] }, { type: i1.Router }, { type: i2.NgDocRootPage }]; } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BhZ2UvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BhZ2UvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUNOLGlDQUFpQyxFQUNqQywyQkFBMkIsRUFDM0IsK0JBQStCLEVBQy9CLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLGlDQUFpQyxFQUFFLDJCQUEyQixFQUM5RCw4QkFBOEIsR0FDOUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUNOLDRCQUE0QixFQUM1QiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLDhCQUE4QixHQUM5QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTix3QkFBd0Is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dUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUixJQUFJO3dCQUNKLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsaUNBQWlDO3dCQUNqQywyQkFBMkI7d0JBQzNCOzs7Ozs7MkJBTUc7d0JBQ0gsOEJBQThCO3dCQUM5QiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3dCQUMzQiwrQkFBK0I7d0JBQy9CLGlDQUFpQzt3QkFDakMsMkJBQTJCO3dCQUMzQixVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7cUJBQ3JCLGFBQ1U7d0JBQ1Ysa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsOEJBQThCLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7d0JBQ2pGLGtCQUFrQixDQUFDLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQzt3QkFDdEUsa0JBQWtCLENBQUMsUUFBUSxFQUFFLDJCQUEyQixFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO3dCQUN0RSxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQztxQkFDekY7OzBCQU9DLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyLCBSb3V0ZXJMaW5rLCBVcmxUcmVlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtOZ0RvY1Jvb3RQYWdlfSBmcm9tICdAbmctZG9jL2FwcC9jbGFzc2VzL3Jvb3QtcGFnZSc7XG5pbXBvcnQge05nRG9jQnJlYWRjcnVtYkNvbXBvbmVudH0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy9icmVhZGNydW1iJztcbmltcG9ydCB7TmdEb2NUb2NDb21wb25lbnR9IGZyb20gJ0BuZy1kb2MvYXBwL2NvbXBvbmVudHMvdG9jJztcbmltcG9ydCB7cHJvdmlkZVR5cGVDb250cm9sfSBmcm9tICdAbmctZG9jL2FwcC9oZWxwZXJzJztcbmltcG9ydCB7TmdEb2NDb250ZXh0LCBOZ0RvY05hdmlnYXRpb259IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtOZ0RvY1Nhbml0aXplSHRtbFBpcGV9IGZyb20gJ0BuZy1kb2MvYXBwL3BpcGVzL3Nhbml0aXplLWh0bWwnO1xuaW1wb3J0IHtcblx0TmdEb2NCbG9ja3F1b3RlUHJvY2Vzc29yRGlyZWN0aXZlLFxuXHROZ0RvY0NvZGVQcm9jZXNzb3JEaXJlY3RpdmUsXG5cdE5nRG9jRGVtb1BhbmVQcm9jZXNzb3JEaXJlY3RpdmUsXG5cdE5nRG9jRGVtb1Byb2Nlc3NvckRpcmVjdGl2ZSxcblx0TmdEb2NJY29uUHJvY2Vzc29yRGlyZWN0aXZlLFxuXHROZ0RvY0xpbmtQcm9jZXNzb3JEaXJlY3RpdmUsXG5cdE5nRG9jUGxheWdyb3VuZFByb2Nlc3NvckRpcmVjdGl2ZSwgTmdEb2NUYWJzUHJvY2Vzc29yRGlyZWN0aXZlLFxuXHROZ0RvY1Rvb2x0aXBQcm9jZXNzb3JEaXJlY3RpdmUsXG59IGZyb20gJ0BuZy1kb2MvYXBwL3Byb2Nlc3NvcnMnO1xuaW1wb3J0IHtOR19ET0NfQ09OVEVYVH0gZnJvbSAnQG5nLWRvYy9hcHAvdG9rZW5zJztcbmltcG9ydCB7XG5cdE5nRG9jQm9vbGVhbkNvbnRyb2xDb21wb25lbnQsXG5cdE5nRG9jTnVtYmVyQ29udHJvbENvbXBvbmVudCxcblx0TmdEb2NTdHJpbmdDb250cm9sQ29tcG9uZW50LFxuXHROZ0RvY1R5cGVBbGlhc0NvbnRyb2xDb21wb25lbnQsXG59IGZyb20gJ0BuZy1kb2MvYXBwL3R5cGUtY29udHJvbHMnO1xuaW1wb3J0IHtcblx0TmdEb2NCdXR0b25JY29uQ29tcG9uZW50LFxuXHROZ0RvY0ljb25Db21wb25lbnQsXG5cdE5nRG9jTWVkaWFRdWVyeURpcmVjdGl2ZSxcblx0TmdEb2NUZXh0Q29tcG9uZW50LFxuXHROZ0RvY1RleHRMZWZ0RGlyZWN0aXZlLFxuXHROZ0RvY1RleHRSaWdodERpcmVjdGl2ZSxcblx0TmdEb2NUb29sdGlwRGlyZWN0aXZlLFxufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1wYWdlJyxcblx0dGVtcGxhdGVVcmw6ICcuL3BhZ2UuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9wYWdlLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbXG5cdFx0TmdJZixcblx0XHROZ0RvY0JyZWFkY3J1bWJDb21wb25lbnQsXG5cdFx0TmdEb2NCdXR0b25JY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jVG9vbHRpcERpcmVjdGl2ZSxcblx0XHROZ0RvY0ljb25Db21wb25lbnQsXG5cdFx0TmdEb2NCbG9ja3F1b3RlUHJvY2Vzc29yRGlyZWN0aXZlLFxuXHRcdE5nRG9jSWNvblByb2Nlc3NvckRpcmVjdGl2ZSxcblx0XHQvKipcblx0XHQgKiBUaGUgb3JkZXIgb2YgdGhlIGRpcmVjdGl2ZXMgaXMgaW1wb3J0YW50LlxuXHRcdCAqIFRoZSBoaWdoZXIgdGhlIGRpcmVjdGl2ZSBpcyBpbiB0aGUgbGlzdCwgdGhlIGxhdGVyIGl0IHdpbGwgYmUgcnVuLlxuXHRcdCAqXG5cdFx0ICogU28gaGVyZSB3ZSB3YW50IHRvIHJlbmRlciBkZW1vcyBmaXJzdCwgYWZ0ZXIgdGhhdCB3ZSB3YW50IHRvIHJlbmRlciBsaW5rc1xuXHRcdCAqIGFuZCBiaW5kIHRvb2x0aXBzIHRvIHRoZW0uXG5cdFx0ICovXG5cdFx0TmdEb2NUb29sdGlwUHJvY2Vzc29yRGlyZWN0aXZlLFxuXHRcdE5nRG9jTGlua1Byb2Nlc3NvckRpcmVjdGl2ZSxcblx0XHROZ0RvY0NvZGVQcm9jZXNzb3JEaXJlY3RpdmUsXG5cdFx0TmdEb2NEZW1vUHJvY2Vzc29yRGlyZWN0aXZlLFxuXHRcdE5nRG9jRGVtb1BhbmVQcm9jZXNzb3JEaXJlY3RpdmUsXG5cdFx0TmdEb2NQbGF5Z3JvdW5kUHJvY2Vzc29yRGlyZWN0aXZlLFxuXHRcdE5nRG9jVGFic1Byb2Nlc3NvckRpcmVjdGl2ZSxcblx0XHRSb3V0ZXJMaW5rLFxuXHRcdE5nRG9jVGV4dENvbXBvbmVudCxcblx0XHROZ0RvY1RleHRMZWZ0RGlyZWN0aXZlLFxuXHRcdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHRcdE5nRG9jTWVkaWFRdWVyeURpcmVjdGl2ZSxcblx0XHROZ0RvY1RvY0NvbXBvbmVudCxcblx0XHROZ0RvY1Nhbml0aXplSHRtbFBpcGUsXG5cdF0sXG5cdHByb3ZpZGVyczogW1xuXHRcdHByb3ZpZGVUeXBlQ29udHJvbCgnTmdEb2NUeXBlQWxpYXMnLCBOZ0RvY1R5cGVBbGlhc0NvbnRyb2xDb21wb25lbnQsIHtvcmRlcjogMTB9KSxcblx0XHRwcm92aWRlVHlwZUNvbnRyb2woJ3N0cmluZycsIE5nRG9jU3RyaW5nQ29udHJvbENvbXBvbmVudCwge29yZGVyOiAyMH0pLFxuXHRcdHByb3ZpZGVUeXBlQ29udHJvbCgnbnVtYmVyJywgTmdEb2NOdW1iZXJDb250cm9sQ29tcG9uZW50LCB7b3JkZXI6IDMwfSksXG5cdFx0cHJvdmlkZVR5cGVDb250cm9sKCdib29sZWFuJywgTmdEb2NCb29sZWFuQ29udHJvbENvbXBvbmVudCwge2hpZGVMYWJlbDogdHJ1ZSwgb3JkZXI6IDQwfSksXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGFnZUNvbXBvbmVudCB7XG5cdHJlYWRvbmx5IHByZXZQYWdlPzogTmdEb2NOYXZpZ2F0aW9uO1xuXHRyZWFkb25seSBuZXh0UGFnZT86IE5nRG9jTmF2aWdhdGlvbjtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRASW5qZWN0KE5HX0RPQ19DT05URVhUKVxuXHRcdHByaXZhdGUgcmVhZG9ubHkgY29udGV4dDogTmdEb2NDb250ZXh0LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG5cdFx0cmVhZG9ubHkgcm9vdFBhZ2U6IE5nRG9jUm9vdFBhZ2UsXG5cdCkge1xuXHRcdGNvbnN0IGZsYXRQYWdlcyA9IHRoaXMuZmxhdFBhZ2VzKHRoaXMuY29udGV4dC5uYXZpZ2F0aW9uKTtcblxuXHRcdHRoaXMucHJldlBhZ2UgPSBmbGF0UGFnZXNbZmxhdFBhZ2VzLmZpbmRJbmRleCgoaXRlbTogTmdEb2NOYXZpZ2F0aW9uKSA9PiB0aGlzLnVybCA9PT0gaXRlbS5yb3V0ZSkgLSAxXTtcblx0XHR0aGlzLm5leHRQYWdlID0gZmxhdFBhZ2VzW2ZsYXRQYWdlcy5maW5kSW5kZXgoKGl0ZW06IE5nRG9jTmF2aWdhdGlvbikgPT4gdGhpcy51cmwgPT09IGl0ZW0ucm91dGUpICsgMV07XG5cdH1cblxuXHRwcml2YXRlIGZsYXRQYWdlcyhpdGVtczogTmdEb2NOYXZpZ2F0aW9uW10pOiBOZ0RvY05hdmlnYXRpb25bXSB7XG5cdFx0cmV0dXJuIGl0ZW1zLm1hcCgoaXRlbTogTmdEb2NOYXZpZ2F0aW9uKSA9PiBbaXRlbS5jaGlsZHJlbj8ubGVuZ3RoID8gdGhpcy5mbGF0UGFnZXMoaXRlbS5jaGlsZHJlbikgOiBpdGVtXSkuZmxhdCgyKTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0IHVybCgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IHVybFRyZWU6IFVybFRyZWUgPSB0aGlzLnJvdXRlci5wYXJzZVVybCh0aGlzLnJvdXRlci51cmwpO1xuXG5cdFx0dXJsVHJlZS5xdWVyeVBhcmFtcyA9IHt9O1xuXHRcdHVybFRyZWUuZnJhZ21lbnQgPSBudWxsO1xuXG5cdFx0cmV0dXJuIHVybFRyZWUudG9TdHJpbmcoKTtcblx0fVxufVxuIiwiPGFydGljbGU+XG5cdDxuZy1kb2MtYnJlYWRjcnVtYiAqbmdJZj1cInJvb3RQYWdlLnBhZ2VUeXBlID09PSAnZ3VpZGUnXCI+PC9uZy1kb2MtYnJlYWRjcnVtYj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wYWdlLWNvbnRyb2xzXCI+XG5cdFx0PGFcblx0XHRcdG5nLWRvYy1idXR0b24taWNvblxuXHRcdFx0Km5nSWY9XCJyb290UGFnZS5lZGl0U291cmNlRmlsZVVybFwiXG5cdFx0XHRbaHJlZl09XCJyb290UGFnZS5lZGl0U291cmNlRmlsZVVybFwiXG5cdFx0XHR0YXJnZXQ9XCJfYmxhbmtcIlxuXHRcdFx0bmdEb2NUb29sdGlwPVwiU3VnZ2VzdCBFZGl0c1wiXG5cdFx0PlxuXHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJlZGl0LTJcIj48L25nLWRvYy1pY29uPlxuXHRcdDwvYT5cblx0XHQ8YVxuXHRcdFx0bmctZG9jLWJ1dHRvbi1pY29uXG5cdFx0XHQqbmdJZj1cInJvb3RQYWdlLnZpZXdTb3VyY2VGaWxlVXJsXCJcblx0XHRcdFtocmVmXT1cInJvb3RQYWdlLnZpZXdTb3VyY2VGaWxlVXJsXCJcblx0XHRcdHRhcmdldD1cIl9ibGFua1wiXG5cdFx0XHRuZ0RvY1Rvb2x0aXA9XCJWaWV3IFNvdXJjZVwiXG5cdFx0PlxuXHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJjb2RlXCI+PC9uZy1kb2MtaWNvbj5cblx0XHQ8L2E+XG5cdDwvZGl2PlxuXG5cdDxkaXZcblx0XHRjbGFzcz1cIm5nLWRvYy1wYWdlLXdyYXBwZXJcIlxuXHRcdFtpbm5lckhUTUxdPVwicm9vdFBhZ2UucGFnZUNvbnRlbnQgfCBuZ0RvY1Nhbml0aXplSHRtbFwiXG5cdFx0bmdEb2NCbG9ja3F1b3RlUHJvY2Vzc29yXG5cdFx0bmdEb2NMaW5rUHJvY2Vzc29yXG5cdFx0bmdEb2NDb2RlUHJvY2Vzc29yXG5cdFx0bmdEb2NJY29uUHJvY2Vzc29yXG5cdFx0bmdEb2NUb29sdGlwUHJvY2Vzc29yXG5cdFx0bmdEb2NEZW1vUHJvY2Vzc29yXG5cdFx0bmdEb2NEZW1vUGFuZVByb2Nlc3NvclxuXHRcdG5nRG9jUGxheWdyb3VuZFByb2Nlc3NvclxuXHRcdG5nRG9jVGFic1Byb2Nlc3NvclxuXHRcdCNwYWdlQ29udGFpbmVyXG5cdD48L2Rpdj5cblxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLW5hdmlnYXRpb24tY29udHJvbHNcIiAqbmdJZj1cInJvb3RQYWdlLnBhZ2VUeXBlID09PSAnZ3VpZGUnXCI+XG5cdFx0PGEgY2xhc3M9XCJuZy1kb2MtcHJldi1wYWdlXCIgKm5nSWY9XCJwcmV2UGFnZVwiIFtyb3V0ZXJMaW5rXT1cInByZXZQYWdlLnJvdXRlXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLW5hdmlnYXRpb24tcGFnZS1sYWJlbFwiIG5nLWRvYy10ZXh0IHNpemU9XCJzbWFsbFwiPlxuXHRcdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cImFycm93LWxlZnRcIiBuZ0RvY1RleHRMZWZ0PjwvbmctZG9jLWljb24+XG5cdFx0XHRcdFByZXZpb3VzXG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtbmF2aWdhdGlvbi1wYWdlLXRpdGxlXCIgbmctZG9jLXRleHQ+e3sgcHJldlBhZ2UudGl0bGUgfX08L2Rpdj5cblx0XHQ8L2E+XG5cdFx0PGEgY2xhc3M9XCJuZy1kb2MtbmV4dC1wYWdlXCIgKm5nSWY9XCJuZXh0UGFnZVwiIFtyb3V0ZXJMaW5rXT1cIm5leHRQYWdlLnJvdXRlXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLW5hdmlnYXRpb24tcGFnZS1sYWJlbFwiIG5nLWRvYy10ZXh0IHNpemU9XCJzbWFsbFwiPlxuXHRcdFx0XHROZXh0XG5cdFx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwiYXJyb3ctcmlnaHRcIiBuZ0RvY1RleHRSaWdodD48L25nLWRvYy1pY29uPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLW5hdmlnYXRpb24tcGFnZS10aXRsZVwiIG5nLWRvYy10ZXh0Pnt7IG5leHRQYWdlLnRpdGxlIH19PC9kaXY+XG5cdFx0PC9hPlxuXHQ8L2Rpdj5cbjwvYXJ0aWNsZT5cblxuPG5nLXRlbXBsYXRlXG5cdFtuZ0RvY01lZGlhUXVlcnldPVwiW21lZGlhUXVlcnkuYnJlYWtwb2ludHMuTGFyZ2UsIG1lZGlhUXVlcnkuYnJlYWtwb2ludHMuWExhcmdlXVwiXG5cdCNtZWRpYVF1ZXJ5PVwibmdEb2NNZWRpYVF1ZXJ5XCJcbj5cblx0PG5nLWRvYy10b2MgW3BhZ2VDb250YWluZXJdPVwicGFnZUNvbnRhaW5lclwiPjwvbmctZG9jLXRvYz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BhZ2UvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BhZ2UvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFDTiw0QkFBNEIsRUFDNUIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQiw4QkFBOEIsR0FDOUIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQ04sd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIscUJBQXFCLEdBQ3JCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7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QyxnQkFBZ0IsRUFBRSw4QkFBOEIsRUFBRSxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQzt3QkFDakYsa0JBQWtCLENBQUMsUUFBUSxFQUFFLDJCQUEyQixFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO3dCQUN0RSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsMkJBQTJCLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7d0JBQ3RFLGtCQUFrQixDQUFDLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO3FCQUN6Rjs7MEJBT0MsTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXIsIFJvdXRlckxpbmssIFVybFRyZWV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge05nRG9jUm9vdFBhZ2V9IGZyb20gJ0BuZy1kb2MvYXBwL2NsYXNzZXMvcm9vdC1wYWdlJztcbmltcG9ydCB7TmdEb2NCcmVhZGNydW1iQ29tcG9uZW50fSBmcm9tICdAbmctZG9jL2FwcC9jb21wb25lbnRzL2JyZWFkY3J1bWInO1xuaW1wb3J0IHtOZ0RvY1RvY0NvbXBvbmVudH0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy90b2MnO1xuaW1wb3J0IHtwcm92aWRlVHlwZUNvbnRyb2x9IGZyb20gJ0BuZy1kb2MvYXBwL2hlbHBlcnMnO1xuaW1wb3J0IHtOZ0RvY0NvbnRleHQsIE5nRG9jTmF2aWdhdGlvbn0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQge05nRG9jU2FuaXRpemVIdG1sUGlwZX0gZnJvbSAnQG5nLWRvYy9hcHAvcGlwZXMvc2FuaXRpemUtaHRtbCc7XG5pbXBvcnQge05nRG9jUGFnZVByb2Nlc3NvckRpcmVjdGl2ZX0gZnJvbSAnQG5nLWRvYy9hcHAvcHJvY2Vzc29ycyc7XG5pbXBvcnQge05HX0RPQ19DT05URVhUfSBmcm9tICdAbmctZG9jL2FwcC90b2tlbnMnO1xuaW1wb3J0IHtcblx0TmdEb2NCb29sZWFuQ29udHJvbENvbXBvbmVudCxcblx0TmdEb2NOdW1iZXJDb250cm9sQ29tcG9uZW50LFxuXHROZ0RvY1N0cmluZ0NvbnRyb2xDb21wb25lbnQsXG5cdE5nRG9jVHlwZUFsaWFzQ29udHJvbENvbXBvbmVudCxcbn0gZnJvbSAnQG5nLWRvYy9hcHAvdHlwZS1jb250cm9scyc7XG5pbXBvcnQge1xuXHROZ0RvY0J1dHRvbkljb25Db21wb25lbnQsXG5cdE5nRG9jSWNvbkNvbXBvbmVudCxcblx0TmdEb2NNZWRpYVF1ZXJ5RGlyZWN0aXZlLFxuXHROZ0RvY1RleHRDb21wb25lbnQsXG5cdE5nRG9jVGV4dExlZnREaXJlY3RpdmUsXG5cdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG59IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBhZ2UnLFxuXHR0ZW1wbGF0ZVVybDogJy4vcGFnZS5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3BhZ2UuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtcblx0XHROZ0lmLFxuXHRcdE5nRG9jQnJlYWRjcnVtYkNvbXBvbmVudCxcblx0XHROZ0RvY0J1dHRvbkljb25Db21wb25lbnQsXG5cdFx0TmdEb2NUb29sdGlwRGlyZWN0aXZlLFxuXHRcdE5nRG9jSWNvbkNvbXBvbmVudCxcblx0XHRSb3V0ZXJMaW5rLFxuXHRcdE5nRG9jVGV4dENvbXBvbmVudCxcblx0XHROZ0RvY1RleHRMZWZ0RGlyZWN0aXZlLFxuXHRcdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHRcdE5nRG9jTWVkaWFRdWVyeURpcmVjdGl2ZSxcblx0XHROZ0RvY1RvY0NvbXBvbmVudCxcblx0XHROZ0RvY1Nhbml0aXplSHRtbFBpcGUsXG5cdFx0TmdEb2NQYWdlUHJvY2Vzc29yRGlyZWN0aXZlLFxuXHRdLFxuXHRwcm92aWRlcnM6IFtcblx0XHRwcm92aWRlVHlwZUNvbnRyb2woJ05nRG9jVHlwZUFsaWFzJywgTmdEb2NUeXBlQWxpYXNDb250cm9sQ29tcG9uZW50LCB7b3JkZXI6IDEwfSksXG5cdFx0cHJvdmlkZVR5cGVDb250cm9sKCdzdHJpbmcnLCBOZ0RvY1N0cmluZ0NvbnRyb2xDb21wb25lbnQsIHtvcmRlcjogMjB9KSxcblx0XHRwcm92aWRlVHlwZUNvbnRyb2woJ251bWJlcicsIE5nRG9jTnVtYmVyQ29udHJvbENvbXBvbmVudCwge29yZGVyOiAzMH0pLFxuXHRcdHByb3ZpZGVUeXBlQ29udHJvbCgnYm9vbGVhbicsIE5nRG9jQm9vbGVhbkNvbnRyb2xDb21wb25lbnQsIHtoaWRlTGFiZWw6IHRydWUsIG9yZGVyOiA0MH0pLFxuXHRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY1BhZ2VDb21wb25lbnQge1xuXHRyZWFkb25seSBwcmV2UGFnZT86IE5nRG9jTmF2aWdhdGlvbjtcblx0cmVhZG9ubHkgbmV4dFBhZ2U/OiBOZ0RvY05hdmlnYXRpb247XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0QEluamVjdChOR19ET0NfQ09OVEVYVClcblx0XHRwcml2YXRlIHJlYWRvbmx5IGNvbnRleHQ6IE5nRG9jQ29udGV4dCxcblx0XHRwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuXHRcdHJlYWRvbmx5IHJvb3RQYWdlOiBOZ0RvY1Jvb3RQYWdlLFxuXHQpIHtcblx0XHRjb25zdCBmbGF0UGFnZXMgPSB0aGlzLmZsYXRQYWdlcyh0aGlzLmNvbnRleHQubmF2aWdhdGlvbik7XG5cblx0XHR0aGlzLnByZXZQYWdlID0gZmxhdFBhZ2VzW2ZsYXRQYWdlcy5maW5kSW5kZXgoKGl0ZW06IE5nRG9jTmF2aWdhdGlvbikgPT4gdGhpcy51cmwgPT09IGl0ZW0ucm91dGUpIC0gMV07XG5cdFx0dGhpcy5uZXh0UGFnZSA9IGZsYXRQYWdlc1tmbGF0UGFnZXMuZmluZEluZGV4KChpdGVtOiBOZ0RvY05hdmlnYXRpb24pID0+IHRoaXMudXJsID09PSBpdGVtLnJvdXRlKSArIDFdO1xuXHR9XG5cblx0cHJpdmF0ZSBmbGF0UGFnZXMoaXRlbXM6IE5nRG9jTmF2aWdhdGlvbltdKTogTmdEb2NOYXZpZ2F0aW9uW10ge1xuXHRcdHJldHVybiBpdGVtcy5tYXAoKGl0ZW06IE5nRG9jTmF2aWdhdGlvbikgPT4gW2l0ZW0uY2hpbGRyZW4/Lmxlbmd0aCA/IHRoaXMuZmxhdFBhZ2VzKGl0ZW0uY2hpbGRyZW4pIDogaXRlbV0pLmZsYXQoMik7XG5cdH1cblxuXHRwcml2YXRlIGdldCB1cmwoKTogc3RyaW5nIHtcblx0XHRjb25zdCB1cmxUcmVlOiBVcmxUcmVlID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwodGhpcy5yb3V0ZXIudXJsKTtcblxuXHRcdHVybFRyZWUucXVlcnlQYXJhbXMgPSB7fTtcblx0XHR1cmxUcmVlLmZyYWdtZW50ID0gbnVsbDtcblxuXHRcdHJldHVybiB1cmxUcmVlLnRvU3RyaW5nKCk7XG5cdH1cbn1cbiIsIjxhcnRpY2xlPlxuXHQ8bmctZG9jLWJyZWFkY3J1bWIgKm5nSWY9XCJyb290UGFnZS5wYWdlVHlwZSA9PT0gJ2d1aWRlJ1wiPjwvbmctZG9jLWJyZWFkY3J1bWI+XG5cdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGFnZS1jb250cm9sc1wiPlxuXHRcdDxhXG5cdFx0XHRuZy1kb2MtYnV0dG9uLWljb25cblx0XHRcdCpuZ0lmPVwicm9vdFBhZ2UuZWRpdFNvdXJjZUZpbGVVcmxcIlxuXHRcdFx0W2hyZWZdPVwicm9vdFBhZ2UuZWRpdFNvdXJjZUZpbGVVcmxcIlxuXHRcdFx0dGFyZ2V0PVwiX2JsYW5rXCJcblx0XHRcdG5nRG9jVG9vbHRpcD1cIlN1Z2dlc3QgRWRpdHNcIlxuXHRcdD5cblx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwiZWRpdC0yXCI+PC9uZy1kb2MtaWNvbj5cblx0XHQ8L2E+XG5cdFx0PGFcblx0XHRcdG5nLWRvYy1idXR0b24taWNvblxuXHRcdFx0Km5nSWY9XCJyb290UGFnZS52aWV3U291cmNlRmlsZVVybFwiXG5cdFx0XHRbaHJlZl09XCJyb290UGFnZS52aWV3U291cmNlRmlsZVVybFwiXG5cdFx0XHR0YXJnZXQ9XCJfYmxhbmtcIlxuXHRcdFx0bmdEb2NUb29sdGlwPVwiVmlldyBTb3VyY2VcIlxuXHRcdD5cblx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwiY29kZVwiPjwvbmctZG9jLWljb24+XG5cdFx0PC9hPlxuXHQ8L2Rpdj5cblxuXHQ8ZGl2XG5cdFx0Y2xhc3M9XCJuZy1kb2MtcGFnZS13cmFwcGVyXCJcblx0XHRbaW5uZXJIVE1MXT1cInJvb3RQYWdlLnBhZ2VDb250ZW50IHwgbmdEb2NTYW5pdGl6ZUh0bWxcIlxuXHRcdG5nRG9jUGFnZVByb2Nlc3NvclxuXHRcdCNwYWdlQ29udGFpbmVyXG5cdD48L2Rpdj5cblxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLW5hdmlnYXRpb24tY29udHJvbHNcIiAqbmdJZj1cInJvb3RQYWdlLnBhZ2VUeXBlID09PSAnZ3VpZGUnXCI+XG5cdFx0PGEgY2xhc3M9XCJuZy1kb2MtcHJldi1wYWdlXCIgKm5nSWY9XCJwcmV2UGFnZVwiIFtyb3V0ZXJMaW5rXT1cInByZXZQYWdlLnJvdXRlXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLW5hdmlnYXRpb24tcGFnZS1sYWJlbFwiIG5nLWRvYy10ZXh0IHNpemU9XCJzbWFsbFwiPlxuXHRcdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cImFycm93LWxlZnRcIiBuZ0RvY1RleHRMZWZ0PjwvbmctZG9jLWljb24+XG5cdFx0XHRcdFByZXZpb3VzXG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtbmF2aWdhdGlvbi1wYWdlLXRpdGxlXCIgbmctZG9jLXRleHQ+e3sgcHJldlBhZ2UudGl0bGUgfX08L2Rpdj5cblx0XHQ8L2E+XG5cdFx0PGEgY2xhc3M9XCJuZy1kb2MtbmV4dC1wYWdlXCIgKm5nSWY9XCJuZXh0UGFnZVwiIFtyb3V0ZXJMaW5rXT1cIm5leHRQYWdlLnJvdXRlXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLW5hdmlnYXRpb24tcGFnZS1sYWJlbFwiIG5nLWRvYy10ZXh0IHNpemU9XCJzbWFsbFwiPlxuXHRcdFx0XHROZXh0XG5cdFx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwiYXJyb3ctcmlnaHRcIiBuZ0RvY1RleHRSaWdodD48L25nLWRvYy1pY29uPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLW5hdmlnYXRpb24tcGFnZS10aXRsZVwiIG5nLWRvYy10ZXh0Pnt7IG5leHRQYWdlLnRpdGxlIH19PC9kaXY+XG5cdFx0PC9hPlxuXHQ8L2Rpdj5cbjwvYXJ0aWNsZT5cblxuPG5nLXRlbXBsYXRlXG5cdFtuZ0RvY01lZGlhUXVlcnldPVwiW21lZGlhUXVlcnkuYnJlYWtwb2ludHMuTGFyZ2UsIG1lZGlhUXVlcnkuYnJlYWtwb2ludHMuWExhcmdlXVwiXG5cdCNtZWRpYVF1ZXJ5PVwibmdEb2NNZWRpYVF1ZXJ5XCJcbj5cblx0PG5nLWRvYy10b2MgW3BhZ2VDb250YWluZXJdPVwicGFnZUNvbnRhaW5lclwiPjwvbmctZG9jLXRvYz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -8,7 +8,7 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
class NgDocBasePlayground {
|
|
9
9
|
constructor() {
|
|
10
10
|
this.properties = {};
|
|
11
|
-
this.
|
|
11
|
+
this.actionData = {};
|
|
12
12
|
this.content = {};
|
|
13
13
|
this.defaultValues = {};
|
|
14
14
|
this.playgroundContainer = inject(NgDocPlaygroundComponent);
|
|
@@ -39,17 +39,20 @@ class NgDocBasePlayground {
|
|
|
39
39
|
this.playgroundContainer.defaultValues = this.defaultValues;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
+
get data() {
|
|
43
|
+
return Object.assign({}, this.configData, this.actionData);
|
|
44
|
+
}
|
|
42
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocBasePlayground, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
43
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgDocBasePlayground, inputs: { properties: "properties",
|
|
46
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgDocBasePlayground, inputs: { properties: "properties", actionData: "actionData", content: "content" }, ngImport: i0 }); }
|
|
44
47
|
}
|
|
45
48
|
export { NgDocBasePlayground };
|
|
46
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocBasePlayground, decorators: [{
|
|
47
50
|
type: Directive
|
|
48
51
|
}], propDecorators: { properties: [{
|
|
49
52
|
type: Input
|
|
50
|
-
}],
|
|
53
|
+
}], actionData: [{
|
|
51
54
|
type: Input
|
|
52
55
|
}], content: [{
|
|
53
56
|
type: Input
|
|
54
57
|
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wbGF5Z3JvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9wbGF5Z3JvdW5kL2Jhc2UtcGxheWdyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBYyx1QkFBdUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUdsRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFaEU7O0dBRUc7QUFDSCxNQUNzQixtQkFBbUI7SUFEekM7UUFVQyxlQUFVLEdBQXdCLEVBQUUsQ0FBQztRQUdyQyxlQUFVLEdBQTRCLEVBQUUsQ0FBQztRQUd6QyxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBRWxCLGtCQUFhLEdBQTRCLEVBQUUsQ0FBQztRQUVwQyx3QkFBbUIsR0FBNkIsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7S0ErQnpGO2FBakRnQixhQUFRLEdBQVcsU0FBUyxBQUFwQixDQUFxQjtJQW9CN0MsUUFBUTtRQUNQOzs7V0FHRztRQUNILElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQStCLEVBQUUsR0FBVyxFQUFFLEVBQUU7Z0JBQ3pHLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDcEIsNkRBQTZEO29CQUM3RCxhQUFhO29CQUNiLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNuQztnQkFFRCxPQUFPLE1BQU0sQ0FBQztZQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNQO2FBQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzFGO2FBQU07WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRTtZQUM1QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDNUQ7SUFDRixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ1AsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1RCxDQUFDOzhHQWpEb0IsbUJBQW1CO2tHQUFuQixtQkFBbUI7O1NBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUR4QyxTQUFTOzhCQVVULFVBQVU7c0JBRFQsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVHlwZSwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnN0cnVjdG9yLCBleHRyYWN0RnVuY3Rpb25EZWZhdWx0c30gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7TmdEb2NQbGF5Z3JvdW5kQ29uZmlnfSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7TmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50fSBmcm9tICcuL3BsYXlncm91bmQuY29tcG9uZW50JztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBwbGF5Z3JvdW5kcyBjb21wb25lbnRzLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOZ0RvY0Jhc2VQbGF5Z3JvdW5kIGltcGxlbWVudHMgUGljazxOZ0RvY1BsYXlncm91bmRDb25maWcsICdkYXRhJz4sIE9uSW5pdCB7XG5cdHN0YXRpYyByZWFkb25seSBzZWxlY3Rvcjogc3RyaW5nID0gJ3Vua25vd24nO1xuXG5cdGFic3RyYWN0IHJlYWRvbmx5IHBsYXlncm91bmQ/OiBUeXBlPGFueT47XG5cdGFic3RyYWN0IHJlYWRvbmx5IHBsYXlncm91bmRJbnN0YW5jZT86IENvbnN0cnVjdG9yPHVua25vd24+O1xuXHRhYnN0cmFjdCByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcblx0YWJzdHJhY3QgcmVhZG9ubHkgY29uZmlnRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cblx0QElucHV0KClcblx0cHJvcGVydGllczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG5cdEBJbnB1dCgpXG5cdGFjdGlvbkRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cblx0QElucHV0KClcblx0Y29udGVudDogYW55ID0ge307XG5cblx0ZGVmYXVsdFZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuXHRwcml2YXRlIHBsYXlncm91bmRDb250YWluZXI6IE5nRG9jUGxheWdyb3VuZENvbXBvbmVudCA9IGluamVjdChOZ0RvY1BsYXlncm91bmRDb21wb25lbnQpO1xuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdC8qXG5cdFx0ICogRXh0cmFjdCBkZWZhdWx0IHZhbHVlcyBmcm9tIHBsYXlncm91bmQgcHJvcGVydGllcy4gV2UgZG8gdGhpcyBpbiBgbmdPbkluaXRgIGJlY2F1c2UgaW4gdGhpcyBjYXNlXG5cdFx0ICogaW5wdXQgdmFsdWVzIHByb3ZpZGVkIGZyb20gdGhlIHRlbXBsYXRlIGFyZSBub3QgaW5pdGlhbGl6ZWQgeWV0LCBhbmQgd2UgY2FuIHJlYWQgZGVmYXVsdCB2YWx1ZXMgaW5zdGVhZC5cblx0XHQgKi9cblx0XHRpZiAodGhpcy5wbGF5Z3JvdW5kKSB7XG5cdFx0XHR0aGlzLmRlZmF1bHRWYWx1ZXMgPSBPYmplY3Qua2V5cyh0aGlzLnBsYXlncm91bmQpLnJlZHVjZSgodmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwga2V5OiBzdHJpbmcpID0+IHtcblx0XHRcdFx0aWYgKHRoaXMucGxheWdyb3VuZCkge1xuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHRcdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRcdFx0dmFsdWVzW2tleV0gPSB0aGlzLnBsYXlncm91bmRba2V5XTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiB2YWx1ZXM7XG5cdFx0XHR9LCB7fSk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLnBsYXlncm91bmRJbnN0YW5jZSkge1xuXHRcdFx0dGhpcy5kZWZhdWx0VmFsdWVzID0gZXh0cmFjdEZ1bmN0aW9uRGVmYXVsdHModGhpcy5wbGF5Z3JvdW5kSW5zdGFuY2UucHJvdG90eXBlLnRyYW5zZm9ybSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcignUGxheWdyb3VuZCBpcyBub3QgZGVmaW5lZCBvciBpbml0aWFsaXplZCcpO1xuXHRcdH1cblxuXHRcdGlmICghdGhpcy5wbGF5Z3JvdW5kQ29udGFpbmVyLmRlZmF1bHRWYWx1ZXMpIHtcblx0XHRcdHRoaXMucGxheWdyb3VuZENvbnRhaW5lci5kZWZhdWx0VmFsdWVzID0gdGhpcy5kZWZhdWx0VmFsdWVzO1xuXHRcdH1cblx0fVxuXG5cdGdldCBkYXRhKCk6IGFueSB7XG5cdFx0cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnRGF0YSwgdGhpcy5hY3Rpb25EYXRhKTtcblx0fVxufVxuIl19
|
|
@@ -4,8 +4,10 @@ import { ChangeDetectionStrategy, Component, Injector, Input, ViewChild, ViewCon
|
|
|
4
4
|
import { FormGroup } from '@angular/forms';
|
|
5
5
|
import { NgDocDemoDisplayerComponent } from '@ng-doc/app/components/demo-displayer';
|
|
6
6
|
import { formatHtml, getPlaygroundDemoToken } from '@ng-doc/app/helpers';
|
|
7
|
+
import { stringify } from '@ng-doc/core';
|
|
7
8
|
import { buildPlaygroundDemoPipeTemplate, buildPlaygroundDemoTemplate, } from '@ng-doc/core/helpers/build-playground-demo-template';
|
|
8
9
|
import { objectKeys } from '@ng-doc/core/helpers/object-keys';
|
|
10
|
+
import { NgDocLetDirective, NgDocSmoothResizeComponent } from '@ng-doc/ui-kit';
|
|
9
11
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
10
12
|
import { from, of, Subject } from 'rxjs';
|
|
11
13
|
import { startWith, takeUntil } from 'rxjs/operators';
|
|
@@ -17,6 +19,7 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
|
|
|
17
19
|
this.pipeName = '';
|
|
18
20
|
this.selector = '';
|
|
19
21
|
this.recreateDemo = false;
|
|
22
|
+
this.expanded = false;
|
|
20
23
|
this.code = of('');
|
|
21
24
|
this.unsubscribe$ = new Subject();
|
|
22
25
|
}
|
|
@@ -41,6 +44,7 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
|
|
|
41
44
|
if (data) {
|
|
42
45
|
this.demoRef?.setInput('properties', data.properties ?? {});
|
|
43
46
|
this.demoRef?.setInput('content', data.content ?? {});
|
|
47
|
+
this.demoRef?.setInput('actionData', this.configuration?.data ?? {});
|
|
44
48
|
}
|
|
45
49
|
this.updateCodeView();
|
|
46
50
|
}
|
|
@@ -72,7 +76,7 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
|
|
|
72
76
|
const value = formData[key];
|
|
73
77
|
const property = this.demoRef?.instance?.defaultValues[key];
|
|
74
78
|
if (property !== value) {
|
|
75
|
-
result[key] =
|
|
79
|
+
result[key] = stringify(value).replace(/"/g, `'`);
|
|
76
80
|
}
|
|
77
81
|
return result;
|
|
78
82
|
}, {});
|
|
@@ -82,7 +86,7 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
|
|
|
82
86
|
this.unsubscribe$.complete();
|
|
83
87
|
}
|
|
84
88
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPlaygroundDemoComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocPlaygroundDemoComponent, isStandalone: true, selector: "ng-doc-playground-demo", inputs: { id: "id", pipeName: "pipeName", selector: "selector", configuration: "configuration", properties: "properties", recreateDemo: "recreateDemo", form: "form" }, viewQueries: [{ propertyName: "demoOutlet", first: true, predicate: ["demoOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-doc-
|
|
89
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocPlaygroundDemoComponent, isStandalone: true, selector: "ng-doc-playground-demo", inputs: { id: "id", pipeName: "pipeName", selector: "selector", configuration: "configuration", properties: "properties", recreateDemo: "recreateDemo", form: "form", expanded: "expanded" }, viewQueries: [{ propertyName: "demoOutlet", first: true, predicate: ["demoOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-doc-smooth-resize *ngDocLet=\"code | async as codeContent\" [trigger]=\"codeContent\">\n\t<ng-doc-demo-displayer\n\t\t[code]=\"codeContent ?? ''\"\n\t\t[border]=\"false\"\n\t\t[expanded]=\"expanded\"\n\t\tlanguage=\"html\"\n\t>\n\t\t<ng-container #demoOutlet></ng-container>\n\t</ng-doc-demo-displayer>\n</ng-doc-smooth-resize>\n", styles: [":host{display:block;border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius);overflow:hidden}:host:not(:last-child){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}:host:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}\n"], dependencies: [{ kind: "component", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "directive", type: NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
86
90
|
};
|
|
87
91
|
NgDocPlaygroundDemoComponent = __decorate([
|
|
88
92
|
UntilDestroy(),
|
|
@@ -91,7 +95,7 @@ NgDocPlaygroundDemoComponent = __decorate([
|
|
|
91
95
|
export { NgDocPlaygroundDemoComponent };
|
|
92
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPlaygroundDemoComponent, decorators: [{
|
|
93
97
|
type: Component,
|
|
94
|
-
args: [{ selector: 'ng-doc-playground-demo', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgDocDemoDisplayerComponent, AsyncPipe], template: "<ng-doc-
|
|
98
|
+
args: [{ selector: 'ng-doc-playground-demo', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgDocDemoDisplayerComponent, AsyncPipe, NgDocSmoothResizeComponent, NgDocLetDirective], template: "<ng-doc-smooth-resize *ngDocLet=\"code | async as codeContent\" [trigger]=\"codeContent\">\n\t<ng-doc-demo-displayer\n\t\t[code]=\"codeContent ?? ''\"\n\t\t[border]=\"false\"\n\t\t[expanded]=\"expanded\"\n\t\tlanguage=\"html\"\n\t>\n\t\t<ng-container #demoOutlet></ng-container>\n\t</ng-doc-demo-displayer>\n</ng-doc-smooth-resize>\n", styles: [":host{display:block;border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius);overflow:hidden}:host:not(:last-child){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}:host:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}\n"] }]
|
|
95
99
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { id: [{
|
|
96
100
|
type: Input
|
|
97
101
|
}], pipeName: [{
|
|
@@ -106,8 +110,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
106
110
|
type: Input
|
|
107
111
|
}], form: [{
|
|
108
112
|
type: Input
|
|
113
|
+
}], expanded: [{
|
|
114
|
+
type: Input
|
|
109
115
|
}], demoOutlet: [{
|
|
110
116
|
type: ViewChild,
|
|
111
117
|
args: ['demoOutlet', { static: true, read: ViewContainerRef }]
|
|
112
118
|
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBR1QsUUFBUSxFQUNSLEtBQUssRUFLTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEVBQUMsVUFBVSxFQUFFLHNCQUFzQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdkUsT0FBTyxFQUNOLCtCQUErQixFQUMvQiwyQkFBMkIsR0FDM0IsTUFBTSxxREFBcUQsQ0FBQztBQUM3RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFNUQsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsSUFBSSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLcEQsSUFTYSw0QkFBNEIsR0FUekMsTUFTYSw0QkFBNEI7SUFrQ3hDLFlB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TSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN2RDtZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0FsSVcsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsK1VBd0JNLGdCQUFnQixnRUNqRS9ELHVLQUdBLCtXRG1DVywyQkFBMkIsNklBQUUsU0FBUzs7QUFHcEMsNEJBQTRCO0lBRHhDLFlBQVksRUFBRTtxQ0FtQ3lCLFFBQVE7R0FsQ25DLDRCQUE0QixDQW1JeEM7U0FuSVksNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBVHhDLFNBQVM7K0JBQ0Msd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLDJCQUEyQixFQUFFLFNBQVMsQ0FBQzsrRkFPakQsRUFBRTtzQkFERCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q29tcG9uZW50UmVmLFxuXHRJbmplY3Rpb25Ub2tlbixcblx0SW5qZWN0b3IsXG5cdElucHV0LFxuXHRPbkNoYW5nZXMsXG5cdE9uRGVzdHJveSxcblx0U2ltcGxlQ2hhbmdlcyxcblx0VHlwZSxcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge05nRG9jRGVtb0Rpc3BsYXllckNvbXBvbmVudH0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy9kZW1vLWRpc3BsYXllcic7XG5pbXBvcnQge2Zvcm1hdEh0bWwsIGdldFBsYXlncm91bmREZW1vVG9rZW59IGZyb20gJ0BuZy1kb2MvYXBwL2hlbHBlcnMnO1xuaW1wb3J0IHtOZ0RvY0Zvcm1QYXJ0aWFsVmFsdWV9IGZyb20gJ0BuZy1kb2MvYXBwL3R5cGVzJztcbmltcG9ydCB7XG5cdGJ1aWxkUGxheWdyb3VuZERlbW9QaXBlVGVtcGxhdGUsXG5cdGJ1aWxkUGxheWdyb3VuZERlbW9UZW1wbGF0ZSxcbn0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvYnVpbGQtcGxheWdyb3VuZC1kZW1vLXRlbXBsYXRlJztcbmltcG9ydCB7b2JqZWN0S2V5c30gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvb2JqZWN0LWtleXMnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRDb25maWcsIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXN9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7ZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzdGFydFdpdGgsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge05nRG9jQmFzZVBsYXlncm91bmR9IGZyb20gJy4uL2Jhc2UtcGxheWdyb3VuZCc7XG5pbXBvcnQge05nRG9jUGxheWdyb3VuZEZvcm19IGZyb20gJy4uL3BsYXlncm91bmQtZm9ybSc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1wbGF5Z3JvdW5kLWRlbW8nLFxuXHR0ZW1wbGF0ZVVybDogJy4vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbTmdEb2NEZW1vRGlzcGxheWVyQ29tcG9uZW50LCBBc3luY1BpcGVdLFxufSlcbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZERlbW9Db21wb25lbnQ8VCBleHRlbmRzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMgPSBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzPlxuXHRpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95XG57XG5cdEBJbnB1dCgpXG5cdGlkOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRwaXBlTmFtZTogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0c2VsZWN0b3I6IHN0cmluZyA9ICcnO1xuXG5cdEBJbnB1dCgpXG5cdGNvbmZpZ3VyYXRpb24/OiBOZ0RvY1BsYXlncm91bmRDb25maWc7XG5cblx0QElucHV0KClcblx0cHJvcGVydGllcz86IFQ7XG5cblx0QElucHV0KClcblx0cmVjcmVhdGVEZW1vOiBib29sZWFuID0gZmFsc2U7XG5cblx0QElucHV0KClcblx0Zm9ybSE6IEZvcm1Hcm91cDxOZ0RvY1BsYXlncm91bmRGb3JtPjtcblxuXHRAVmlld0NoaWxkKCdkZW1vT3V0bGV0Jywge3N0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZn0pXG5cdGRlbW9PdXRsZXQ/OiBWaWV3Q29udGFpbmVyUmVmO1xuXG5cdHBsYXlncm91bmREZW1vPzogdHlwZW9mIE5nRG9jQmFzZVBsYXlncm91bmQ7XG5cblx0Y29kZTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gb2YoJycpO1xuXG5cdHByaXZhdGUgZGVtb1JlZj86IENvbXBvbmVudFJlZjxOZ0RvY0Jhc2VQbGF5Z3JvdW5kPjtcblx0cHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG5cdG5nT25DaGFuZ2VzKHtmb3JtLCBpZH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRpZiAoZm9ybSB8fCBpZCkge1xuXHRcdFx0dGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuXG5cdFx0XHRjb25zdCBkZW1vSW5qZWN0b3I6IEluamVjdGlvblRva2VuPEFycmF5PHR5cGVvZiBOZ0RvY0Jhc2VQbGF5Z3JvdW5kPj4gfCB1bmRlZmluZWQgPSBnZXRQbGF5Z3JvdW5kRGVtb1Rva2VuKFxuXHRcdFx0XHR0aGlzLmlkLFxuXHRcdFx0KTtcblxuXHRcdFx0aWYgKGRlbW9JbmplY3Rvcikge1xuXHRcdFx0XHRjb25zdCBkZW1vczogQXJyYXk8dHlwZW9mIE5nRG9jQmFzZVBsYXlncm91bmQ+ID0gdGhpcy5pbmplY3Rvci5nZXQoZGVtb0luamVjdG9yLCBbXSk7XG5cdFx0XHRcdHRoaXMucGxheWdyb3VuZERlbW8gPSBkZW1vcy5maW5kKFxuXHRcdFx0XHRcdChkZW1vOiB0eXBlb2YgTmdEb2NCYXNlUGxheWdyb3VuZCkgPT4gZGVtby5zZWxlY3RvciA9PT0gdGhpcy5zZWxlY3RvciB8fCBkZW1vLnNlbGVjdG9yID09PSB0aGlzLnBpcGVOYW1lLFxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLnVwZGF0ZURlbW8oKTtcblxuXHRcdFx0dGhpcy5mb3JtPy52YWx1ZUNoYW5nZXNcblx0XHRcdFx0LnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSwgdW50aWxEZXN0cm95ZWQodGhpcyksIHN0YXJ0V2l0aCh0aGlzLmZvcm0/LnZhbHVlKSlcblx0XHRcdFx0LnN1YnNjcmliZSgoZGF0YTogTmdEb2NGb3JtUGFydGlhbFZhbHVlPHR5cGVvZiB0aGlzLmZvcm0+KSA9PiB0aGlzLnVwZGF0ZURlbW8oZGF0YSkpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgdXBkYXRlRGVtbyhkYXRhPzogTmdEb2NGb3JtUGFydGlhbFZhbHVlPHR5cGVvZiB0aGlzLmZvcm0+KTogdm9pZCB7XG5cdFx0aWYgKHRoaXMucmVjcmVhdGVEZW1vIHx8ICF0aGlzLmRlbW9SZWYpIHtcblx0XHRcdHRoaXMucmVuZGVyRGVtbygpO1xuXHRcdH1cblxuXHRcdGlmIChkYXRhKSB7XG5cdFx0XHR0aGlzLmRlbW9SZWY/LnNldElucHV0KCdwcm9wZXJ0aWVzJywgZGF0YS5wcm9wZXJ0aWVzID8/IHt9KTtcblx0XHRcdHRoaXMuZGVtb1JlZj8uc2V0SW5wdXQoJ2NvbnRlbnQnLCBkYXRhLmNvbnRlbnQgPz8ge30pO1xuXHRcdH1cblxuXHRcdHRoaXMudXBkYXRlQ29kZVZpZXcoKTtcblx0fVxuXG5cdHByaXZhdGUgcmVuZGVyRGVtbygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5wbGF5Z3JvdW5kRGVtbykge1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5kZXN0cm95KCk7XG5cblx0XHRcdGlmICh0aGlzLnBsYXlncm91bmREZW1vKSB7XG5cdFx0XHRcdHRoaXMuZGVtb1JlZiA9IHRoaXMuZGVtb091dGxldD8uY3JlYXRlQ29tcG9uZW50KHRoaXMucGxheWdyb3VuZERlbW8gYXMgdW5rbm93biBhcyBUeXBlPE5nRG9jQmFzZVBsYXlncm91bmQ+KTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5kZW1vUmVmPy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGVDb2RlVmlldygpOiB2b2lkIHtcblx0XHRjb25zdCB0ZW1wbGF0ZTogc3RyaW5nID0gdGhpcy5waXBlTmFtZVxuXHRcdFx0PyBidWlsZFBsYXlncm91bmREZW1vUGlwZVRlbXBsYXRlKFxuXHRcdFx0XHRcdHRoaXMuY29uZmlndXJhdGlvbj8udGVtcGxhdGUgPz8gJycsXG5cdFx0XHRcdFx0dGhpcy5waXBlTmFtZSxcblx0XHRcdFx0XHR0aGlzLmdldEFjdGl2ZUNvbnRlbnQoKSxcblx0XHRcdFx0XHR0aGlzLmdldEFjdGl2ZUlucHV0cygpLFxuXHRcdFx0ICApXG5cdFx0XHQ6IGJ1aWxkUGxheWdyb3VuZERlbW9UZW1wbGF0ZShcblx0XHRcdFx0XHR0aGlzLmNvbmZpZ3VyYXRpb24/LnRlbXBsYXRlID8/ICcnLFxuXHRcdFx0XHRcdHRoaXMuc2VsZWN0b3IsXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVDb250ZW50KCksXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVJbnB1dHMoKSxcblx0XHRcdCAgKTtcblxuXHRcdHRoaXMuY29kZSA9IGZyb20oZm9ybWF0SHRtbCh0ZW1wbGF0ZSkpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRBY3RpdmVDb250ZW50KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuXHRcdGNvbnN0IGZvcm1EYXRhOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9ICh0aGlzLmZvcm0/LmNvbnRyb2xzLmNvbnRlbnQudmFsdWUgYXMgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pID8/IHt9O1xuXG5cdFx0cmV0dXJuIG9iamVjdEtleXMoZm9ybURhdGEpLnJlZHVjZSgocmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0cmVzdWx0W2tleV0gPSBmb3JtRGF0YVtrZXldID8gdGhpcy5jb25maWd1cmF0aW9uPy5jb250ZW50Py5ba2V5XS50ZW1wbGF0ZSA/PyAnJyA6ICcnO1xuXG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0sIHt9KTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0QWN0aXZlSW5wdXRzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuXHRcdGNvbnN0IGZvcm1EYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9ICh0aGlzLmZvcm0/LmNvbnRyb2xzLnByb3BlcnRpZXMudmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID8/IHt9O1xuXG5cdFx0cmV0dXJuIG9iamVjdEtleXMoZm9ybURhdGEpLnJlZHVjZSgocmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0Y29uc3QgdmFsdWU6IHVua25vd24gPSBmb3JtRGF0YVtrZXldO1xuXHRcdFx0Y29uc3QgcHJvcGVydHk6IHVua25vd24gfCB1bmRlZmluZWQgPSB0aGlzLmRlbW9SZWY/Lmluc3RhbmNlPy5kZWZhdWx0VmFsdWVzW2tleV07XG5cblx0XHRcdGlmIChwcm9wZXJ0eSAhPT0gdmFsdWUpIHtcblx0XHRcdFx0cmVzdWx0W2tleV0gPSBKU09OLnN0cmluZ2lmeSh2YWx1ZSkucmVwbGFjZSgvXCIvZywgYCdgKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LCB7fSk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG5cdFx0dGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcblx0fVxufVxuIiwiPG5nLWRvYy1kZW1vLWRpc3BsYXllciBbY29kZV09XCIoY29kZSB8IGFzeW5jKSA/PyAnJ1wiIFtib3JkZXJdPVwiZmFsc2VcIiBsYW5ndWFnZT1cImh0bWxcIj5cblx0PG5nLWNvbnRhaW5lciAjZGVtb091dGxldD48L25nLWNvbnRhaW5lcj5cbjwvbmctZG9jLWRlbW8tZGlzcGxheWVyPlxuIl19
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBR1QsUUFBUSxFQUNSLEtBQUssRUFLTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEVBQUMsVUFBVSxFQUFFLHNCQUFzQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQ04sK0JBQStCLEVBQy9CLDJCQUEyQixHQUMzQixNQUFNLHFEQUFxRCxDQUFDO0FBQzdELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxJQUFJLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztB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O3NCQURYLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdENvbXBvbmVudFJlZixcblx0SW5qZWN0aW9uVG9rZW4sXG5cdEluamVjdG9yLFxuXHRJbnB1dCxcblx0T25DaGFuZ2VzLFxuXHRPbkRlc3Ryb3ksXG5cdFNpbXBsZUNoYW5nZXMsXG5cdFR5cGUsXG5cdFZpZXdDaGlsZCxcblx0Vmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtOZ0RvY0RlbW9EaXNwbGF5ZXJDb21wb25lbnR9IGZyb20gJ0BuZy1kb2MvYXBwL2NvbXBvbmVudHMvZGVtby1kaXNwbGF5ZXInO1xuaW1wb3J0IHtmb3JtYXRIdG1sLCBnZXRQbGF5Z3JvdW5kRGVtb1Rva2VufSBmcm9tICdAbmctZG9jL2FwcC9oZWxwZXJzJztcbmltcG9ydCB7TmdEb2NGb3JtUGFydGlhbFZhbHVlfSBmcm9tICdAbmctZG9jL2FwcC90eXBlcyc7XG5pbXBvcnQge3N0cmluZ2lmeX0gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7XG5cdGJ1aWxkUGxheWdyb3VuZERlbW9QaXBlVGVtcGxhdGUsXG5cdGJ1aWxkUGxheWdyb3VuZERlbW9UZW1wbGF0ZSxcbn0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvYnVpbGQtcGxheWdyb3VuZC1kZW1vLXRlbXBsYXRlJztcbmltcG9ydCB7b2JqZWN0S2V5c30gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvb2JqZWN0LWtleXMnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRDb25maWcsIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXN9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7TmdEb2NMZXREaXJlY3RpdmUsIE5nRG9jU21vb3RoUmVzaXplQ29tcG9uZW50fSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge2Zyb20sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3RhcnRXaXRoLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtOZ0RvY0Jhc2VQbGF5Z3JvdW5kfSBmcm9tICcuLi9iYXNlLXBsYXlncm91bmQnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRGb3JtfSBmcm9tICcuLi9wbGF5Z3JvdW5kLWZvcm0nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtcGxheWdyb3VuZC1kZW1vJyxcblx0dGVtcGxhdGVVcmw6ICcuL3BsYXlncm91bmQtZGVtby5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3BsYXlncm91bmQtZGVtby5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW05nRG9jRGVtb0Rpc3BsYXllckNvbXBvbmVudCwgQXN5bmNQaXBlLCBOZ0RvY1Ntb290aFJlc2l6ZUNvbXBvbmVudCwgTmdEb2NMZXREaXJlY3RpdmVdLFxufSlcbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZERlbW9Db21wb25lbnQ8VCBleHRlbmRzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMgPSBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzPlxuXHRpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95XG57XG5cdEBJbnB1dCgpXG5cdGlkOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRwaXBlTmFtZTogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0c2VsZWN0b3I6IHN0cmluZyA9ICcnO1xuXG5cdEBJbnB1dCgpXG5cdGNvbmZpZ3VyYXRpb24/OiBOZ0RvY1BsYXlncm91bmRDb25maWc7XG5cblx0QElucHV0KClcblx0cHJvcGVydGllcz86IFQ7XG5cblx0QElucHV0KClcblx0cmVjcmVhdGVEZW1vOiBib29sZWFuID0gZmFsc2U7XG5cblx0QElucHV0KClcblx0Zm9ybSE6IEZvcm1Hcm91cDxOZ0RvY1BsYXlncm91bmRGb3JtPjtcblxuXHRASW5wdXQoKVxuXHRleHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdEBWaWV3Q2hpbGQoJ2RlbW9PdXRsZXQnLCB7c3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmfSlcblx0ZGVtb091dGxldD86IFZpZXdDb250YWluZXJSZWY7XG5cblx0cGxheWdyb3VuZERlbW8/OiB0eXBlb2YgTmdEb2NCYXNlUGxheWdyb3VuZDtcblxuXHRjb2RlOiBPYnNlcnZhYmxlPHN0cmluZz4gPSBvZignJyk7XG5cblx0cHJpdmF0ZSBkZW1vUmVmPzogQ29tcG9uZW50UmVmPE5nRG9jQmFzZVBsYXlncm91bmQ+O1xuXHRwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cblx0bmdPbkNoYW5nZXMoe2Zvcm0sIGlkfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXHRcdGlmIChmb3JtIHx8IGlkKSB7XG5cdFx0XHR0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG5cblx0XHRcdGNvbnN0IGRlbW9JbmplY3RvcjogSW5qZWN0aW9uVG9rZW48QXJyYXk8dHlwZW9mIE5nRG9jQmFzZVBsYXlncm91bmQ+PiB8IHVuZGVmaW5lZCA9IGdldFBsYXlncm91bmREZW1vVG9rZW4oXG5cdFx0XHRcdHRoaXMuaWQsXG5cdFx0XHQpO1xuXG5cdFx0XHRpZiAoZGVtb0luamVjdG9yKSB7XG5cdFx0XHRcdGNvbnN0IGRlbW9zOiBBcnJheTx0eXBlb2YgTmdEb2NCYXNlUGxheWdyb3VuZD4gPSB0aGlzLmluamVjdG9yLmdldChkZW1vSW5qZWN0b3IsIFtdKTtcblxuXHRcdFx0XHR0aGlzLnBsYXlncm91bmREZW1vID0gZGVtb3MuZmluZChcblx0XHRcdFx0XHQoZGVtbzogdHlwZW9mIE5nRG9jQmFzZVBsYXlncm91bmQpID0+IGRlbW8uc2VsZWN0b3IgPT09IHRoaXMuc2VsZWN0b3IgfHwgZGVtby5zZWxlY3RvciA9PT0gdGhpcy5waXBlTmFtZSxcblx0XHRcdFx0KTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy51cGRhdGVEZW1vKCk7XG5cblx0XHRcdHRoaXMuZm9ybT8udmFsdWVDaGFuZ2VzXG5cdFx0XHRcdC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksIHVudGlsRGVzdHJveWVkKHRoaXMpLCBzdGFydFdpdGgodGhpcy5mb3JtPy52YWx1ZSkpXG5cdFx0XHRcdC5zdWJzY3JpYmUoKGRhdGE6IE5nRG9jRm9ybVBhcnRpYWxWYWx1ZTx0eXBlb2YgdGhpcy5mb3JtPikgPT4gdGhpcy51cGRhdGVEZW1vKGRhdGEpKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZURlbW8oZGF0YT86IE5nRG9jRm9ybVBhcnRpYWxWYWx1ZTx0eXBlb2YgdGhpcy5mb3JtPik6IHZvaWQge1xuXHRcdGlmICh0aGlzLnJlY3JlYXRlRGVtbyB8fCAhdGhpcy5kZW1vUmVmKSB7XG5cdFx0XHR0aGlzLnJlbmRlckRlbW8oKTtcblx0XHR9XG5cblx0XHRpZiAoZGF0YSkge1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5zZXRJbnB1dCgncHJvcGVydGllcycsIGRhdGEucHJvcGVydGllcyA/PyB7fSk7XG5cdFx0XHR0aGlzLmRlbW9SZWY/LnNldElucHV0KCdjb250ZW50JywgZGF0YS5jb250ZW50ID8/IHt9KTtcblx0XHRcdHRoaXMuZGVtb1JlZj8uc2V0SW5wdXQoJ2FjdGlvbkRhdGEnLCB0aGlzLmNvbmZpZ3VyYXRpb24/LmRhdGEgPz8ge30pO1xuXHRcdH1cblxuXHRcdHRoaXMudXBkYXRlQ29kZVZpZXcoKTtcblx0fVxuXG5cdHByaXZhdGUgcmVuZGVyRGVtbygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5wbGF5Z3JvdW5kRGVtbykge1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5kZXN0cm95KCk7XG5cblx0XHRcdGlmICh0aGlzLnBsYXlncm91bmREZW1vKSB7XG5cdFx0XHRcdHRoaXMuZGVtb1JlZiA9IHRoaXMuZGVtb091dGxldD8uY3JlYXRlQ29tcG9uZW50KHRoaXMucGxheWdyb3VuZERlbW8gYXMgdW5rbm93biBhcyBUeXBlPE5nRG9jQmFzZVBsYXlncm91bmQ+KTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5kZW1vUmVmPy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGVDb2RlVmlldygpOiB2b2lkIHtcblx0XHRjb25zdCB0ZW1wbGF0ZTogc3RyaW5nID0gdGhpcy5waXBlTmFtZVxuXHRcdFx0PyBidWlsZFBsYXlncm91bmREZW1vUGlwZVRlbXBsYXRlKFxuXHRcdFx0XHRcdHRoaXMuY29uZmlndXJhdGlvbj8udGVtcGxhdGUgPz8gJycsXG5cdFx0XHRcdFx0dGhpcy5waXBlTmFtZSxcblx0XHRcdFx0XHR0aGlzLmdldEFjdGl2ZUNvbnRlbnQoKSxcblx0XHRcdFx0XHR0aGlzLmdldEFjdGl2ZUlucHV0cygpLFxuXHRcdFx0ICApXG5cdFx0XHQ6IGJ1aWxkUGxheWdyb3VuZERlbW9UZW1wbGF0ZShcblx0XHRcdFx0XHR0aGlzLmNvbmZpZ3VyYXRpb24/LnRlbXBsYXRlID8/ICcnLFxuXHRcdFx0XHRcdHRoaXMuc2VsZWN0b3IsXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVDb250ZW50KCksXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVJbnB1dHMoKSxcblx0XHRcdCAgKTtcblxuXHRcdHRoaXMuY29kZSA9IGZyb20oZm9ybWF0SHRtbCh0ZW1wbGF0ZSkpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRBY3RpdmVDb250ZW50KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuXHRcdGNvbnN0IGZvcm1EYXRhOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9ICh0aGlzLmZvcm0/LmNvbnRyb2xzLmNvbnRlbnQudmFsdWUgYXMgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pID8/IHt9O1xuXG5cdFx0cmV0dXJuIG9iamVjdEtleXMoZm9ybURhdGEpLnJlZHVjZSgocmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0cmVzdWx0W2tleV0gPSBmb3JtRGF0YVtrZXldID8gdGhpcy5jb25maWd1cmF0aW9uPy5jb250ZW50Py5ba2V5XS50ZW1wbGF0ZSA/PyAnJyA6ICcnO1xuXG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0sIHt9KTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0QWN0aXZlSW5wdXRzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuXHRcdGNvbnN0IGZvcm1EYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9ICh0aGlzLmZvcm0/LmNvbnRyb2xzLnByb3BlcnRpZXMudmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID8/IHt9O1xuXG5cdFx0cmV0dXJuIG9iamVjdEtleXMoZm9ybURhdGEpLnJlZHVjZSgocmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0Y29uc3QgdmFsdWU6IHVua25vd24gPSBmb3JtRGF0YVtrZXldO1xuXHRcdFx0Y29uc3QgcHJvcGVydHk6IHVua25vd24gfCB1bmRlZmluZWQgPSB0aGlzLmRlbW9SZWY/Lmluc3RhbmNlPy5kZWZhdWx0VmFsdWVzW2tleV07XG5cblx0XHRcdGlmIChwcm9wZXJ0eSAhPT0gdmFsdWUpIHtcblx0XHRcdFx0cmVzdWx0W2tleV0gPSBzdHJpbmdpZnkodmFsdWUpLnJlcGxhY2UoL1wiL2csIGAnYCk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fSwge30pO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuXHRcdHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG5cdH1cbn1cbiIsIjxuZy1kb2Mtc21vb3RoLXJlc2l6ZSAqbmdEb2NMZXQ9XCJjb2RlIHwgYXN5bmMgYXMgY29kZUNvbnRlbnRcIiBbdHJpZ2dlcl09XCJjb2RlQ29udGVudFwiPlxuXHQ8bmctZG9jLWRlbW8tZGlzcGxheWVyXG5cdFx0W2NvZGVdPVwiY29kZUNvbnRlbnQgPz8gJydcIlxuXHRcdFtib3JkZXJdPVwiZmFsc2VcIlxuXHRcdFtleHBhbmRlZF09XCJleHBhbmRlZFwiXG5cdFx0bGFuZ3VhZ2U9XCJodG1sXCJcblx0PlxuXHRcdDxuZy1jb250YWluZXIgI2RlbW9PdXRsZXQ+PC9uZy1jb250YWluZXI+XG5cdDwvbmctZG9jLWRlbW8tZGlzcGxheWVyPlxuPC9uZy1kb2Mtc21vb3RoLXJlc2l6ZT5cbiJdfQ==
|