@taiga-ui/addon-doc 3.61.0 → 3.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-addon-doc-components.umd.js +11 -34
- package/bundles/taiga-ui-addon-doc-components.umd.js.map +1 -1
- package/components/example/example.component.d.ts +3 -9
- package/components/example/example.module.d.ts +2 -1
- package/esm2015/components/example/example.component.js +14 -43
- package/esm2015/components/example/example.module.js +6 -2
- package/fesm2015/taiga-ui-addon-doc-components.js +10 -34
- package/fesm2015/taiga-ui-addon-doc-components.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { Clipboard } from '@angular/cdk/clipboard';
|
|
2
|
-
import { Location as NgLocation } from '@angular/common';
|
|
3
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
2
|
import { TuiCodeEditor, TuiDocExample } from '@taiga-ui/addon-doc/interfaces';
|
|
5
3
|
import { TuiContextWithImplicit, TuiHandler } from '@taiga-ui/cdk';
|
|
6
4
|
import { TuiAlertService } from '@taiga-ui/core';
|
|
@@ -18,9 +16,6 @@ export declare class TuiDocExampleComponent {
|
|
|
18
16
|
private readonly processContent;
|
|
19
17
|
readonly isE2E: boolean;
|
|
20
18
|
readonly codeActions: Array<PolymorpheusContent<TuiContextWithImplicit<string>>>;
|
|
21
|
-
private readonly router;
|
|
22
|
-
private readonly route;
|
|
23
|
-
private readonly ngLocation;
|
|
24
19
|
readonly options: TuiDocExampleOptions;
|
|
25
20
|
private readonly rawLoader$$;
|
|
26
21
|
id: string | null;
|
|
@@ -35,12 +30,11 @@ export declare class TuiDocExampleComponent {
|
|
|
35
30
|
readonly copy$: Observable<string>;
|
|
36
31
|
readonly processor$: Observable<Record<string, string>>;
|
|
37
32
|
readonly loading$: Subject<boolean>;
|
|
38
|
-
constructor(clipboard: Clipboard, alerts: TuiAlertService, location: Location, copyTexts$: Observable<[string, string]>, texts: [string, string, string], codeEditor: TuiCodeEditor | null, processContent: TuiHandler<Record<string, string>, Record<string, string>>, isE2E: boolean, codeActions: Array<PolymorpheusContent<TuiContextWithImplicit<string>>>,
|
|
33
|
+
constructor(clipboard: Clipboard, alerts: TuiAlertService, location: Location, copyTexts$: Observable<[string, string]>, texts: [string, string, string], codeEditor: TuiCodeEditor | null, processContent: TuiHandler<Record<string, string>, Record<string, string>>, isE2E: boolean, codeActions: Array<PolymorpheusContent<TuiContextWithImplicit<string>>>, options: TuiDocExampleOptions);
|
|
39
34
|
readonly visible: (files: Record<string, string>) => boolean;
|
|
40
35
|
getTabTitle(fileName: string): PolymorpheusContent;
|
|
41
|
-
copyExampleLink(): void;
|
|
36
|
+
copyExampleLink({ href }: HTMLAnchorElement): void;
|
|
42
37
|
edit(files: Record<string, string>): void;
|
|
43
|
-
|
|
44
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocExampleComponent, [null, null, null, null, null, { optional: true; }, null, null, null, null, null, null, null]>;
|
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocExampleComponent, [null, null, null, null, null, { optional: true; }, null, null, null, null]>;
|
|
45
39
|
static ɵcmp: i0.ɵɵComponentDeclaration<TuiDocExampleComponent, "tui-doc-example", never, { "id": "id"; "heading": "heading"; "description": "description"; "content": "content"; "fullsize": "fullsize"; "componentName": "componentName"; }, {}, never, ["*"]>;
|
|
46
40
|
}
|
|
@@ -9,8 +9,9 @@ import * as i7 from "../copy/copy.module";
|
|
|
9
9
|
import * as i8 from "../code/code.module";
|
|
10
10
|
import * as i9 from "@tinkoff/ng-polymorpheus";
|
|
11
11
|
import * as i10 from "@taiga-ui/cdk";
|
|
12
|
+
import * as i11 from "@angular/router";
|
|
12
13
|
export declare class TuiDocExampleModule {
|
|
13
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocExampleModule, never>;
|
|
14
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiDocExampleModule, [typeof i1.TuiDocExampleComponent, typeof i2.TuiDocExampleGetTabsPipe], [typeof i3.CommonModule, typeof i4.ClipboardModule, typeof i5.TuiTabsModule, typeof i6.TuiButtonModule, typeof i7.TuiDocCopyModule, typeof i8.TuiDocCodeModule, typeof i9.PolymorpheusModule, typeof i10.TuiMapperPipeModule, typeof i6.TuiLoaderModule], [typeof i1.TuiDocExampleComponent, typeof i2.TuiDocExampleGetTabsPipe]>;
|
|
15
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiDocExampleModule, [typeof i1.TuiDocExampleComponent, typeof i2.TuiDocExampleGetTabsPipe], [typeof i3.CommonModule, typeof i4.ClipboardModule, typeof i5.TuiTabsModule, typeof i6.TuiButtonModule, typeof i7.TuiDocCopyModule, typeof i8.TuiDocCodeModule, typeof i9.PolymorpheusModule, typeof i10.TuiMapperPipeModule, typeof i6.TuiLoaderModule, typeof i11.RouterModule], [typeof i1.TuiDocExampleComponent, typeof i2.TuiDocExampleGetTabsPipe]>;
|
|
15
16
|
static ɵinj: i0.ɵɵInjectorDeclaration<TuiDocExampleModule>;
|
|
16
17
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Clipboard } from '@angular/cdk/clipboard';
|
|
2
|
-
import { Location as NgLocation } from '@angular/common';
|
|
3
2
|
import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, Optional, } from '@angular/core';
|
|
4
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
5
3
|
import { LOCATION } from '@ng-web-apis/common';
|
|
6
4
|
import { TUI_DOC_CODE_ACTIONS, TUI_DOC_CODE_EDITOR, TUI_DOC_EXAMPLE_CONTENT_PROCESSOR, TUI_DOC_EXAMPLE_TEXTS, } from '@taiga-ui/addon-doc/tokens';
|
|
7
5
|
import { tuiRawLoadRecord } from '@taiga-ui/addon-doc/utils';
|
|
@@ -17,13 +15,13 @@ import * as i2 from "@taiga-ui/kit";
|
|
|
17
15
|
import * as i3 from "../code/code.component";
|
|
18
16
|
import * as i4 from "@angular/common";
|
|
19
17
|
import * as i5 from "@tinkoff/ng-polymorpheus";
|
|
20
|
-
import * as i6 from "@
|
|
21
|
-
import * as i7 from "
|
|
22
|
-
import * as i8 from "
|
|
23
|
-
import * as i9 from "
|
|
24
|
-
import * as i10 from "
|
|
18
|
+
import * as i6 from "@angular/router";
|
|
19
|
+
import * as i7 from "@taiga-ui/cdk";
|
|
20
|
+
import * as i8 from "./example-get-tabs.pipe";
|
|
21
|
+
import * as i9 from "@angular/cdk/clipboard";
|
|
22
|
+
import * as i10 from "rxjs";
|
|
25
23
|
export class TuiDocExampleComponent {
|
|
26
|
-
constructor(clipboard, alerts, location, copyTexts$, texts, codeEditor, processContent, isE2E, codeActions,
|
|
24
|
+
constructor(clipboard, alerts, location, copyTexts$, texts, codeEditor, processContent, isE2E, codeActions, options) {
|
|
27
25
|
this.clipboard = clipboard;
|
|
28
26
|
this.alerts = alerts;
|
|
29
27
|
this.location = location;
|
|
@@ -33,9 +31,6 @@ export class TuiDocExampleComponent {
|
|
|
33
31
|
this.processContent = processContent;
|
|
34
32
|
this.isE2E = isE2E;
|
|
35
33
|
this.codeActions = codeActions;
|
|
36
|
-
this.router = router;
|
|
37
|
-
this.route = route;
|
|
38
|
-
this.ngLocation = ngLocation;
|
|
39
34
|
this.options = options;
|
|
40
35
|
this.rawLoader$$ = new BehaviorSubject({});
|
|
41
36
|
this.id = null;
|
|
@@ -55,19 +50,10 @@ export class TuiDocExampleComponent {
|
|
|
55
50
|
getTabTitle(fileName) {
|
|
56
51
|
return this.options.tabTitles.get(fileName) || fileName;
|
|
57
52
|
}
|
|
58
|
-
copyExampleLink() {
|
|
59
|
-
|
|
60
|
-
const currentUrl = hashPosition > -1
|
|
61
|
-
? this.location.href.slice(0, Math.max(0, hashPosition))
|
|
62
|
-
: this.location.href;
|
|
63
|
-
const url = `${currentUrl}#${this.id}`;
|
|
64
|
-
this.setFragmentWithoutRedirect(this.id);
|
|
65
|
-
this.clipboard.copy(url);
|
|
53
|
+
copyExampleLink({ href }) {
|
|
54
|
+
this.clipboard.copy(href);
|
|
66
55
|
this.alerts
|
|
67
|
-
.open(this.texts[1], {
|
|
68
|
-
label: this.texts[2],
|
|
69
|
-
status: 'success',
|
|
70
|
-
})
|
|
56
|
+
.open(this.texts[1], { label: this.texts[2], status: 'success' })
|
|
71
57
|
.subscribe();
|
|
72
58
|
}
|
|
73
59
|
edit(files) {
|
|
@@ -75,15 +61,9 @@ export class TuiDocExampleComponent {
|
|
|
75
61
|
this.loading$.next(true);
|
|
76
62
|
(_a = this.codeEditor) === null || _a === void 0 ? void 0 : _a.edit(this.componentName, this.id || '', files).then(() => this.loading$.next(false)).catch(() => this.loading$.next(false));
|
|
77
63
|
}
|
|
78
|
-
setFragmentWithoutRedirect(id) {
|
|
79
|
-
const url = this.router
|
|
80
|
-
.createUrlTree([], { relativeTo: this.route, fragment: id || '' })
|
|
81
|
-
.toString();
|
|
82
|
-
this.ngLocation.go(url);
|
|
83
|
-
}
|
|
84
64
|
}
|
|
85
|
-
TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, deps: [{ token: Clipboard }, { token: TuiAlertService }, { token: LOCATION }, { token: TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: TUI_IS_E2E }, { token: TUI_DOC_CODE_ACTIONS }, { token:
|
|
86
|
-
TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { id: "id", heading: "heading", description: "description", content: "content", fullsize: "fullsize", componentName: "componentName" }, host: { properties: { "class._fullsize": "this.fullsize" } }, ngImport: i0, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n <
|
|
65
|
+
TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, deps: [{ token: Clipboard }, { token: TuiAlertService }, { token: LOCATION }, { token: TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: TUI_IS_E2E }, { token: TUI_DOC_CODE_ACTIONS }, { token: TUI_DOC_EXAMPLE_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { id: "id", heading: "heading", description: "description", content: "content", fullsize: "fullsize", componentName: "componentName" }, host: { properties: { "class._fullsize": "this.fullsize" } }, ngImport: i0, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n <a\n *ngIf=\"id\"\n appearance=\"icon\"\n routerLink=\".\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-link-icon\"\n [fragment]=\"id\"\n [icon]=\"options.linkIcon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink($any($event.currentTarget))\"\n ></a>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description as text\">\n {{ text }}\n </ng-container>\n</h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div\n *ngIf=\"tabs.length > 1\"\n class=\"t-tabs-wrapper\"\n >\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper: visible\"\n size=\"xs\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isE2E\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n ></ng-container>\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files?.[tabs[activeItemIndex]] || ''}\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <tui-doc-code [code]=\"code\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\n </ng-container>\n </tui-doc-code>\n</ng-template>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host:target{animation:1s .3s tuiShaking}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:normal;margin:0}.t-title:first-letter,.t-description:first-letter{text-transform:capitalize}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem #0000001a;overflow:hidden}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 .875rem 0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 .875rem 0 1rem}.t-tabs{flex-grow:1}.t-demo{padding:2rem;max-width:100%;box-sizing:border-box;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}:host:not(._fullsize) .t-demo{width:-webkit-min-content;width:min-content;min-width:20rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i2.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i2.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i3.TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.TuiItemDirective, selector: "[tuiItem]" }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i4.AsyncPipe, "tuiDocExampleGetTabs": i8.TuiDocExampleGetTabsPipe, "tuiMapper": i7.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
87
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, decorators: [{
|
|
88
68
|
type: Component,
|
|
89
69
|
args: [{
|
|
@@ -92,7 +72,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
92
72
|
styleUrls: ['./example.style.less'],
|
|
93
73
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
94
74
|
}]
|
|
95
|
-
}], ctorParameters: function () { return [{ type:
|
|
75
|
+
}], ctorParameters: function () { return [{ type: i9.Clipboard, decorators: [{
|
|
96
76
|
type: Inject,
|
|
97
77
|
args: [Clipboard]
|
|
98
78
|
}] }, { type: i1.TuiAlertService, decorators: [{
|
|
@@ -101,7 +81,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
101
81
|
}] }, { type: Location, decorators: [{
|
|
102
82
|
type: Inject,
|
|
103
83
|
args: [LOCATION]
|
|
104
|
-
}] }, { type:
|
|
84
|
+
}] }, { type: i10.Observable, decorators: [{
|
|
105
85
|
type: Inject,
|
|
106
86
|
args: [TUI_COPY_TEXTS]
|
|
107
87
|
}] }, { type: undefined, decorators: [{
|
|
@@ -121,15 +101,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
121
101
|
}] }, { type: Array, decorators: [{
|
|
122
102
|
type: Inject,
|
|
123
103
|
args: [TUI_DOC_CODE_ACTIONS]
|
|
124
|
-
}] }, { type: i10.Router, decorators: [{
|
|
125
|
-
type: Inject,
|
|
126
|
-
args: [Router]
|
|
127
|
-
}] }, { type: i10.ActivatedRoute, decorators: [{
|
|
128
|
-
type: Inject,
|
|
129
|
-
args: [ActivatedRoute]
|
|
130
|
-
}] }, { type: i4.Location, decorators: [{
|
|
131
|
-
type: Inject,
|
|
132
|
-
args: [NgLocation]
|
|
133
104
|
}] }, { type: undefined, decorators: [{
|
|
134
105
|
type: Inject,
|
|
135
106
|
args: [TUI_DOC_EXAMPLE_OPTIONS]
|
|
@@ -149,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
149
120
|
}], componentName: [{
|
|
150
121
|
type: Input
|
|
151
122
|
}] } });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLElBQUksVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTdDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyxxQkFBcUIsR0FDeEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsVUFBVSxFQUFxQyxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9B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ZW50IjpbImltcG9ydCB7Q2xpcGJvYXJkfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7TG9jYXRpb24gYXMgTmdMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0xPQ0FUSU9OfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VHVpQ29kZUVkaXRvciwgVHVpRG9jRXhhbXBsZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgVFVJX0RPQ19DT0RFX0FDVElPTlMsXG4gICAgVFVJX0RPQ19DT0RFX0VESVRPUixcbiAgICBUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1IsXG4gICAgVFVJX0RPQ19FWEFNUExFX1RFWFRTLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge3R1aVJhd0xvYWRSZWNvcmR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdXRpbHMnO1xuaW1wb3J0IHtUVUlfSVNfRTJFLCBUdWlDb250ZXh0V2l0aEltcGxpY2l0LCBUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpQWxlcnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUywgVHVpRG9jRXhhbXBsZU9wdGlvbnN9IGZyb20gJy4vZXhhbXBsZS5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWV4YW1wbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leGFtcGxlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V4YW1wbGUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NFeGFtcGxlQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhd0xvYWRlciQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUdWlEb2NFeGFtcGxlPih7fSk7XG5cbiAgICBASW5wdXQoKVxuICAgIGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgaGVhZGluZzogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGVzY3JpcHRpb246IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb250ZW50KGNvbnRlbnQ6IFR1aURvY0V4YW1wbGUpIHtcbiAgICAgICAgdGhpcy5yYXdMb2FkZXIkJC5uZXh0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZnVsbHNpemUnKVxuICAgIGZ1bGxzaXplID0gdGhpcy5vcHRpb25zLmZ1bGxzaXplO1xuXG4gICAgQElucHV0KClcbiAgICBjb21wb25lbnROYW1lOiBzdHJpbmcgPSB0aGlzLmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEpO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYkluZGV4ID0gMDtcblxuICAgIHJlYWRvbmx5IGRlZmF1bHRUYWIgPSB0aGlzLnRleHRzW3RoaXMuZGVmYXVsdFRhYkluZGV4XTtcblxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IHRoaXMuZGVmYXVsdFRhYkluZGV4O1xuXG4gICAgcmVhZG9ubHkgY29weSQgPSB0aGlzLmNvcHlUZXh0cyQucGlwZShtYXAoKFtjb3B5XSkgPT4gY29weSkpO1xuXG4gICAgcmVhZG9ubHkgcHJvY2Vzc29yJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHRoaXMucmF3TG9hZGVyJCQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHR1aVJhd0xvYWRSZWNvcmQpLFxuICAgICAgICBtYXAodmFsdWUgPT4gdGhpcy5wcm9jZXNzQ29udGVudCh2YWx1ZSkpLFxuICAgICk7XG5cbiAgICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDbGlwYm9hcmQpIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkOiBDbGlwYm9hcmQsXG4gICAgICAgIEBJbmplY3QoVHVpQWxlcnRTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0czogVHVpQWxlcnRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KExPQ0FUSU9OKSBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgQEluamVjdChUVUlfQ09QWV9URVhUUykgcHJpdmF0ZSByZWFkb25seSBjb3B5VGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9URVhUUykgcmVhZG9ubHkgdGV4dHM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0NPREVfRURJVE9SKVxuICAgICAgICByZWFkb25seSBjb2RlRWRpdG9yOiBUdWlDb2RlRWRpdG9yIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1IpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0NvbnRlbnQ6IFR1aUhhbmRsZXI8XG4gICAgICAgICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgICAgICAgICAgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgICAgICA+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19FMkUpIHJlYWRvbmx5IGlzRTJFOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfQ09ERV9BQ1RJT05TKVxuICAgICAgICByZWFkb25seSBjb2RlQWN0aW9uczogQXJyYXk8UG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PHN0cmluZz4+PixcbiAgICAgICAgQEluamVjdChSb3V0ZXIpIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBASW5qZWN0KE5nTG9jYXRpb24pIHByaXZhdGUgcmVhZG9ubHkgbmdMb2NhdGlvbjogTmdMb2NhdGlvbixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUykgcmVhZG9ubHkgb3B0aW9uczogVHVpRG9jRXhhbXBsZU9wdGlvbnMsXG4gICAgKSB7fVxuXG4gICAgcmVhZG9ubHkgdmlzaWJsZSA9IChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IGJvb2xlYW4gPT5cbiAgICAgICAgQm9vbGVhbih0aGlzLmNvZGVFZGl0b3IgJiYgdGhpcy5vcHRpb25zLmNvZGVFZGl0b3JWaXNpYmlsaXR5SGFuZGxlcihmaWxlcykpO1xuXG4gICAgZ2V0VGFiVGl0bGUoZmlsZU5hbWU6IHN0cmluZyk6IFBvbHltb3JwaGV1c0NvbnRlbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRhYlRpdGxlcy5nZXQoZmlsZU5hbWUpIHx8IGZpbGVOYW1lO1xuICAgIH1cblxuICAgIGNvcHlFeGFtcGxlTGluaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGFzaFBvc2l0aW9uID0gdGhpcy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoJyMnKTtcbiAgICAgICAgY29uc3QgY3VycmVudFVybCA9XG4gICAgICAgICAgICBoYXNoUG9zaXRpb24gPiAtMVxuICAgICAgICAgICAgICAgID8gdGhpcy5sb2NhdGlvbi5ocmVmLnNsaWNlKDAsIE1hdGgubWF4KDAsIGhhc2hQb3NpdGlvbikpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmxvY2F0aW9uLmhyZWY7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2N1cnJlbnRVcmx9IyR7dGhpcy5pZH1gO1xuXG4gICAgICAgIHRoaXMuc2V0RnJhZ21lbnRXaXRob3V0UmVkaXJlY3QodGhpcy5pZCk7XG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkodXJsKTtcbiAgICAgICAgdGhpcy5hbGVydHNcbiAgICAgICAgICAgIC5vcGVuKHRoaXMudGV4dHNbMV0sIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50ZXh0c1syXSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZWRpdChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuY29kZUVkaXRvclxuICAgICAgICAgICAgPy5lZGl0KHRoaXMuY29tcG9uZW50TmFtZSwgdGhpcy5pZCB8fCAnJywgZmlsZXMpXG4gICAgICAgICAgICAvLyBUT0RPOiByZXBsYWNlIGxpbmVzIGJlbG93IHdpdGggYGZpbmFsbHlgIHdoZW4gd2UgYnVtcCBGaXJlZm94IHRvIDU4K1xuICAgICAgICAgICAgLy8gVE9ETzogQWRkIGBlczIwMTgucHJvbWlzZWAgdG8gYHRzY29uZmlnLmpzb25gID0+IGBjb21waWxlck9wdGlvbnMubGliYC5cbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMubG9hZGluZyQubmV4dChmYWxzZSkpXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4gdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRGcmFnbWVudFdpdGhvdXRSZWRpcmVjdChpZDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLnJvdXRlclxuICAgICAgICAgICAgLmNyZWF0ZVVybFRyZWUoW10sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudDogaWQgfHwgJyd9KVxuICAgICAgICAgICAgLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgdGhpcy5uZ0xvY2F0aW9uLmdvKHVybCk7XG4gICAgfVxufVxuIiwiPGgzXG4gICAgKm5nSWY9XCJoZWFkaW5nXCJcbiAgICBjbGFzcz1cInQtdGl0bGVcIlxuPlxuICAgIDxzcGFuXG4gICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoZWFkaW5nIGFzIHRleHRcIlxuICAgICAgICBbdGV4dENvbnRlbnRdPVwidGV4dFwiXG4gICAgPjwvc3Bhbj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiaWRcIlxuICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1saW5rLWljb25cIlxuICAgICAgICBbaWNvbl09XCJvcHRpb25zLmxpbmtJY29uXCJcbiAgICAgICAgW3RpdGxlXT1cImNvcHkkIHwgYXN5bmNcIlxuICAgICAgICAoY2xpY2spPVwiY29weUV4YW1wbGVMaW5rKClcIlxuICAgID48L2J1dHRvbj5cbjwvaDM+XG48aDRcbiAgICAqbmdJZj1cImRlc2NyaXB0aW9uXCJcbiAgICBjbGFzcz1cInQtZGVzY3JpcHRpb25cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImRlc2NyaXB0aW9uIGFzIHRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9oND5cblxuPGRpdlxuICAgICpuZ0lmPVwicHJvY2Vzc29yJCB8IGFzeW5jIGFzIGZpbGVzXCJcbiAgICBjbGFzcz1cInQtZXhhbXBsZVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbGVzIHwgdHVpRG9jRXhhbXBsZUdldFRhYnM6IGRlZmF1bHRUYWIgYXMgdGFic1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInRhYnMubGVuZ3RoID4gMVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtdGFicy13cmFwcGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS10YWJzLXdpdGgtbW9yZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC10YWJzXCJcbiAgICAgICAgICAgICAgICBbKGFjdGl2ZUl0ZW1JbmRleCldPVwiYWN0aXZlSXRlbUluZGV4XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqdHVpSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGFiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImdldFRhYlRpdGxlKHRhYikgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuXG4gICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsZXMgfCB0dWlNYXBwZXI6IHZpc2libGVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwiISEobG9hZGluZyQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0KGZpbGVzKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvZGVFZGl0b3I/LmNvbnRlbnQgYXMgY29udGVudDsgZWxzZSBkZWZhdWx0RWRpdENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCBhcyBlZGl0Q29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZWRpdENvbnRlbnQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFZGl0Q29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRWRpdCBvbiB7eyBjb2RlRWRpdG9yIS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICAgICAgW2NsYXNzLnQtY29udGVudF9hbmltYXRlZF09XCIhaXNFMkVcIlxuICAgICAgICAgICAgW2NsYXNzLnQtY29udGVudF92aXNpYmxlXT1cImFjdGl2ZUl0ZW1JbmRleCA9PT0gaW5kZXhcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA9PT0gZGVmYXVsdFRhYkluZGV4OyBlbHNlIGFub3RoZXJUYWJcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInByZXZpZXdcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhbm90aGVyVGFiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29kZVNlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyRpbXBsaWNpdDogZmlsZXM/Llt0YWJzW2FjdGl2ZUl0ZW1JbmRleF1dIHx8ICcnfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwcmV2aWV3PlxuICAgIDxkaXZcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kb2MtZXhhbXBsZVwiXG4gICAgICAgIGNsYXNzPVwidC1kZW1vXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNjb2RlU2VjdGlvblxuICAgIGxldC1jb2RlXG4+XG4gICAgPHR1aS1kb2MtY29kZSBbY29kZV09XCJjb2RlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb2RlQWN0aW9uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiYWN0aW9uIGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNvZGV9XCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHVpLWRvYy1jb2RlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUNILG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsaUNBQWlDLEVBQ2pDLHFCQUFxQixHQUN4QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQXFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFDLHVCQUF1QixFQUF1QixNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7QUFRaEYsTUFBTSxPQUFPLHNCQUFzQjtJQXVDL0IsWUFDd0MsU0FBb0IsRUFFdkMsTUFBdUIsRUFD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fSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xPQ0FUSU9OfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VHVpQ29kZUVkaXRvciwgVHVpRG9jRXhhbXBsZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgVFVJX0RPQ19DT0RFX0FDVElPTlMsXG4gICAgVFVJX0RPQ19DT0RFX0VESVRPUixcbiAgICBUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1IsXG4gICAgVFVJX0RPQ19FWEFNUExFX1RFWFRTLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge3R1aVJhd0xvYWRSZWNvcmR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdXRpbHMnO1xuaW1wb3J0IHtUVUlfSVNfRTJFLCBUdWlDb250ZXh0V2l0aEltcGxpY2l0LCBUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpQWxlcnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUywgVHVpRG9jRXhhbXBsZU9wdGlvbnN9IGZyb20gJy4vZXhhbXBsZS5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWV4YW1wbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leGFtcGxlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V4YW1wbGUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NFeGFtcGxlQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhd0xvYWRlciQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUdWlEb2NFeGFtcGxlPih7fSk7XG5cbiAgICBASW5wdXQoKVxuICAgIGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgaGVhZGluZzogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGVzY3JpcHRpb246IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb250ZW50KGNvbnRlbnQ6IFR1aURvY0V4YW1wbGUpIHtcbiAgICAgICAgdGhpcy5yYXdMb2FkZXIkJC5uZXh0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZnVsbHNpemUnKVxuICAgIGZ1bGxzaXplID0gdGhpcy5vcHRpb25zLmZ1bGxzaXplO1xuXG4gICAgQElucHV0KClcbiAgICBjb21wb25lbnROYW1lOiBzdHJpbmcgPSB0aGlzLmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEpO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYkluZGV4ID0gMDtcblxuICAgIHJlYWRvbmx5IGRlZmF1bHRUYWIgPSB0aGlzLnRleHRzW3RoaXMuZGVmYXVsdFRhYkluZGV4XTtcblxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IHRoaXMuZGVmYXVsdFRhYkluZGV4O1xuXG4gICAgcmVhZG9ubHkgY29weSQgPSB0aGlzLmNvcHlUZXh0cyQucGlwZShtYXAoKFtjb3B5XSkgPT4gY29weSkpO1xuXG4gICAgcmVhZG9ubHkgcHJvY2Vzc29yJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHRoaXMucmF3TG9hZGVyJCQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHR1aVJhd0xvYWRSZWNvcmQpLFxuICAgICAgICBtYXAodmFsdWUgPT4gdGhpcy5wcm9jZXNzQ29udGVudCh2YWx1ZSkpLFxuICAgICk7XG5cbiAgICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDbGlwYm9hcmQpIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkOiBDbGlwYm9hcmQsXG4gICAgICAgIEBJbmplY3QoVHVpQWxlcnRTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0czogVHVpQWxlcnRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KExPQ0FUSU9OKSBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgQEluamVjdChUVUlfQ09QWV9URVhUUykgcHJpdmF0ZSByZWFkb25seSBjb3B5VGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9URVhUUykgcmVhZG9ubHkgdGV4dHM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0NPREVfRURJVE9SKVxuICAgICAgICByZWFkb25seSBjb2RlRWRpdG9yOiBUdWlDb2RlRWRpdG9yIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1IpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0NvbnRlbnQ6IFR1aUhhbmRsZXI8XG4gICAgICAgICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgICAgICAgICAgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgICAgICA+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19FMkUpIHJlYWRvbmx5IGlzRTJFOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfQ09ERV9BQ1RJT05TKVxuICAgICAgICByZWFkb25seSBjb2RlQWN0aW9uczogQXJyYXk8UG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PHN0cmluZz4+PixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUykgcmVhZG9ubHkgb3B0aW9uczogVHVpRG9jRXhhbXBsZU9wdGlvbnMsXG4gICAgKSB7fVxuXG4gICAgcmVhZG9ubHkgdmlzaWJsZSA9IChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IGJvb2xlYW4gPT5cbiAgICAgICAgQm9vbGVhbih0aGlzLmNvZGVFZGl0b3IgJiYgdGhpcy5vcHRpb25zLmNvZGVFZGl0b3JWaXNpYmlsaXR5SGFuZGxlcihmaWxlcykpO1xuXG4gICAgZ2V0VGFiVGl0bGUoZmlsZU5hbWU6IHN0cmluZyk6IFBvbHltb3JwaGV1c0NvbnRlbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRhYlRpdGxlcy5nZXQoZmlsZU5hbWUpIHx8IGZpbGVOYW1lO1xuICAgIH1cblxuICAgIGNvcHlFeGFtcGxlTGluayh7aHJlZn06IEhUTUxBbmNob3JFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkoaHJlZik7XG4gICAgICAgIHRoaXMuYWxlcnRzXG4gICAgICAgICAgICAub3Blbih0aGlzLnRleHRzWzFdLCB7bGFiZWw6IHRoaXMudGV4dHNbMl0sIHN0YXR1czogJ3N1Y2Nlc3MnfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBlZGl0KGZpbGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5jb2RlRWRpdG9yXG4gICAgICAgICAgICA/LmVkaXQodGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmlkIHx8ICcnLCBmaWxlcylcbiAgICAgICAgICAgIC8vIFRPRE86IHJlcGxhY2UgbGluZXMgYmVsb3cgd2l0aCBgZmluYWxseWAgd2hlbiB3ZSBidW1wIEZpcmVmb3ggdG8gNTgrXG4gICAgICAgICAgICAvLyBUT0RPOiBBZGQgYGVzMjAxOC5wcm9taXNlYCB0byBgdHNjb25maWcuanNvbmAgPT4gYGNvbXBpbGVyT3B0aW9ucy5saWJgLlxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKTtcbiAgICB9XG59XG4iLCI8aDNcbiAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgIGNsYXNzPVwidC10aXRsZVwiXG4+XG4gICAgPHNwYW5cbiAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImhlYWRpbmcgYXMgdGV4dFwiXG4gICAgICAgIFt0ZXh0Q29udGVudF09XCJ0ZXh0XCJcbiAgICA+PC9zcGFuPlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwiaWRcIlxuICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgIHJvdXRlckxpbms9XCIuXCJcbiAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWxpbmstaWNvblwiXG4gICAgICAgIFtmcmFnbWVudF09XCJpZFwiXG4gICAgICAgIFtpY29uXT1cIm9wdGlvbnMubGlua0ljb25cIlxuICAgICAgICBbdGl0bGVdPVwiY29weSQgfCBhc3luY1wiXG4gICAgICAgIChjbGljayk9XCJjb3B5RXhhbXBsZUxpbmsoJGFueSgkZXZlbnQuY3VycmVudFRhcmdldCkpXCJcbiAgICA+PC9hPlxuPC9oMz5cbjxoNFxuICAgICpuZ0lmPVwiZGVzY3JpcHRpb25cIlxuICAgIGNsYXNzPVwidC1kZXNjcmlwdGlvblwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZGVzY3JpcHRpb24gYXMgdGV4dFwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L2g0PlxuXG48ZGl2XG4gICAgKm5nSWY9XCJwcm9jZXNzb3IkIHwgYXN5bmMgYXMgZmlsZXNcIlxuICAgIGNsYXNzPVwidC1leGFtcGxlXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZXMgfCB0dWlEb2NFeGFtcGxlR2V0VGFiczogZGVmYXVsdFRhYiBhcyB0YWJzXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwidGFicy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10YWJzLXdyYXBwZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLXRhYnMtd2l0aC1tb3JlXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXRhYnNcIlxuICAgICAgICAgICAgICAgIFsoYWN0aXZlSXRlbUluZGV4KV09XCJhY3RpdmVJdGVtSW5kZXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICp0dWlJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlUYWJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZ2V0VGFiVGl0bGUodGFiKSBhcyB0ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90dWktdGFicy13aXRoLW1vcmU+XG5cbiAgICAgICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJmaWxlcyB8IHR1aU1hcHBlcjogdmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgICAgICAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCIhIShsb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXQoZmlsZXMpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29kZUVkaXRvcj8uY29udGVudCBhcyBjb250ZW50OyBlbHNlIGRlZmF1bHRFZGl0Q29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IGFzIGVkaXRDb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBlZGl0Q29udGVudCB9fVxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVkaXRDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBFZGl0IG9uIHt7IGNvZGVFZGl0b3IhLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdHVpLWxvYWRlcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgICAgICAgICBbY2xhc3MudC1jb250ZW50X2FuaW1hdGVkXT1cIiFpc0UyRVwiXG4gICAgICAgICAgICBbY2xhc3MudC1jb250ZW50X3Zpc2libGVdPVwiYWN0aXZlSXRlbUluZGV4ID09PSBpbmRleFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImluZGV4ID09PSBkZWZhdWx0VGFiSW5kZXg7IGVsc2UgYW5vdGhlclRhYlwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJldmlld1wiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Fub3RoZXJUYWI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2RlU2VjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGltcGxpY2l0OiBmaWxlcz8uW3RhYnNbYWN0aXZlSXRlbUluZGV4XV0gfHwgJyd9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3ByZXZpZXc+XG4gICAgPGRpdlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRvYy1leGFtcGxlXCJcbiAgICAgICAgY2xhc3M9XCJ0LWRlbW9cIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICAgI2NvZGVTZWN0aW9uXG4gICAgbGV0LWNvZGVcbj5cbiAgICA8dHVpLWRvYy1jb2RlIFtjb2RlXT1cImNvZGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvZGVBY3Rpb25zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJhY3Rpb24gYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogY29kZX1cIj5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90dWktZG9jLWNvZGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ClipboardModule } from '@angular/cdk/clipboard';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { NgModule } from '@angular/core';
|
|
4
|
+
import { RouterModule } from '@angular/router';
|
|
4
5
|
import { TuiMapperPipeModule } from '@taiga-ui/cdk';
|
|
5
6
|
import { TuiButtonModule, TuiLoaderModule } from '@taiga-ui/core';
|
|
6
7
|
import { TuiTabsModule } from '@taiga-ui/kit';
|
|
@@ -21,7 +22,8 @@ TuiDocExampleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
|
|
|
21
22
|
TuiDocCodeModule,
|
|
22
23
|
PolymorpheusModule,
|
|
23
24
|
TuiMapperPipeModule,
|
|
24
|
-
TuiLoaderModule
|
|
25
|
+
TuiLoaderModule,
|
|
26
|
+
RouterModule], exports: [TuiDocExampleComponent, TuiDocExampleGetTabsPipe] });
|
|
25
27
|
TuiDocExampleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleModule, imports: [[
|
|
26
28
|
CommonModule,
|
|
27
29
|
ClipboardModule,
|
|
@@ -32,6 +34,7 @@ TuiDocExampleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
|
|
|
32
34
|
PolymorpheusModule,
|
|
33
35
|
TuiMapperPipeModule,
|
|
34
36
|
TuiLoaderModule,
|
|
37
|
+
RouterModule,
|
|
35
38
|
]] });
|
|
36
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleModule, decorators: [{
|
|
37
40
|
type: NgModule,
|
|
@@ -46,9 +49,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
46
49
|
PolymorpheusModule,
|
|
47
50
|
TuiMapperPipeModule,
|
|
48
51
|
TuiLoaderModule,
|
|
52
|
+
RouterModule,
|
|
49
53
|
],
|
|
50
54
|
declarations: [TuiDocExampleComponent, TuiDocExampleGetTabsPipe],
|
|
51
55
|
exports: [TuiDocExampleComponent, TuiDocExampleGetTabsPipe],
|
|
52
56
|
}]
|
|
53
57
|
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxlQUFlLEVBQUUsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7QUFrQmpFLE1BQU0sT0FBTyxtQkFBbUI7O2lIQUFuQixtQkFBbUI7a0hBQW5CLG1CQUFtQixpQkFIYixzQkFBc0IsRUFBRSx3QkFBd0IsYUFYM0QsWUFBWTtRQUNaLGVBQWU7UUFDZixhQUFhO1FBQ2IsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsWUFBWSxhQUdOLHNCQUFzQixFQUFFLHdCQUF3QjtrSEFFakQsbUJBQW1CLFlBZm5CO1lBQ0wsWUFBWTtZQUNaLGVBQWU7WUFDZixhQUFhO1lBQ2IsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsWUFBWTtTQUNmOzRGQUlRLG1CQUFtQjtrQkFoQi9CLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLFlBQVk7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLHdCQUF3QixDQUFDO2lCQUM5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xpcGJvYXJkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHVpTWFwcGVyUGlwZU1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUJ1dHRvbk1vZHVsZSwgVHVpTG9hZGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVRhYnNNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpRG9jQ29kZU1vZHVsZX0gZnJvbSAnLi4vY29kZS9jb2RlLm1vZHVsZSc7XG5pbXBvcnQge1R1aURvY0NvcHlNb2R1bGV9IGZyb20gJy4uL2NvcHkvY29weS5tb2R1bGUnO1xuaW1wb3J0IHtUdWlEb2NFeGFtcGxlQ29tcG9uZW50fSBmcm9tICcuL2V4YW1wbGUuY29tcG9uZW50JztcbmltcG9ydCB7VHVpRG9jRXhhbXBsZUdldFRhYnNQaXBlfSBmcm9tICcuL2V4YW1wbGUtZ2V0LXRhYnMucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIENsaXBib2FyZE1vZHVsZSxcbiAgICAgICAgVHVpVGFic01vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgICAgICBUdWlEb2NDb3B5TW9kdWxlLFxuICAgICAgICBUdWlEb2NDb2RlTW9kdWxlLFxuICAgICAgICBQb2x5bW9ycGhldXNNb2R1bGUsXG4gICAgICAgIFR1aU1hcHBlclBpcGVNb2R1bGUsXG4gICAgICAgIFR1aUxvYWRlck1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbVHVpRG9jRXhhbXBsZUNvbXBvbmVudCwgVHVpRG9jRXhhbXBsZUdldFRhYnNQaXBlXSxcbiAgICBleHBvcnRzOiBbVHVpRG9jRXhhbXBsZUNvbXBvbmVudCwgVHVpRG9jRXhhbXBsZUdldFRhYnNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jRXhhbXBsZU1vZHVsZSB7fVxuIl19
|
|
@@ -969,7 +969,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
969
969
|
}] });
|
|
970
970
|
|
|
971
971
|
class TuiDocExampleComponent {
|
|
972
|
-
constructor(clipboard, alerts, location, copyTexts$, texts, codeEditor, processContent, isE2E, codeActions,
|
|
972
|
+
constructor(clipboard, alerts, location, copyTexts$, texts, codeEditor, processContent, isE2E, codeActions, options) {
|
|
973
973
|
this.clipboard = clipboard;
|
|
974
974
|
this.alerts = alerts;
|
|
975
975
|
this.location = location;
|
|
@@ -979,9 +979,6 @@ class TuiDocExampleComponent {
|
|
|
979
979
|
this.processContent = processContent;
|
|
980
980
|
this.isE2E = isE2E;
|
|
981
981
|
this.codeActions = codeActions;
|
|
982
|
-
this.router = router;
|
|
983
|
-
this.route = route;
|
|
984
|
-
this.ngLocation = ngLocation;
|
|
985
982
|
this.options = options;
|
|
986
983
|
this.rawLoader$$ = new BehaviorSubject({});
|
|
987
984
|
this.id = null;
|
|
@@ -1001,19 +998,10 @@ class TuiDocExampleComponent {
|
|
|
1001
998
|
getTabTitle(fileName) {
|
|
1002
999
|
return this.options.tabTitles.get(fileName) || fileName;
|
|
1003
1000
|
}
|
|
1004
|
-
copyExampleLink() {
|
|
1005
|
-
|
|
1006
|
-
const currentUrl = hashPosition > -1
|
|
1007
|
-
? this.location.href.slice(0, Math.max(0, hashPosition))
|
|
1008
|
-
: this.location.href;
|
|
1009
|
-
const url = `${currentUrl}#${this.id}`;
|
|
1010
|
-
this.setFragmentWithoutRedirect(this.id);
|
|
1011
|
-
this.clipboard.copy(url);
|
|
1001
|
+
copyExampleLink({ href }) {
|
|
1002
|
+
this.clipboard.copy(href);
|
|
1012
1003
|
this.alerts
|
|
1013
|
-
.open(this.texts[1], {
|
|
1014
|
-
label: this.texts[2],
|
|
1015
|
-
status: 'success',
|
|
1016
|
-
})
|
|
1004
|
+
.open(this.texts[1], { label: this.texts[2], status: 'success' })
|
|
1017
1005
|
.subscribe();
|
|
1018
1006
|
}
|
|
1019
1007
|
edit(files) {
|
|
@@ -1021,15 +1009,9 @@ class TuiDocExampleComponent {
|
|
|
1021
1009
|
this.loading$.next(true);
|
|
1022
1010
|
(_a = this.codeEditor) === null || _a === void 0 ? void 0 : _a.edit(this.componentName, this.id || '', files).then(() => this.loading$.next(false)).catch(() => this.loading$.next(false));
|
|
1023
1011
|
}
|
|
1024
|
-
setFragmentWithoutRedirect(id) {
|
|
1025
|
-
const url = this.router
|
|
1026
|
-
.createUrlTree([], { relativeTo: this.route, fragment: id || '' })
|
|
1027
|
-
.toString();
|
|
1028
|
-
this.ngLocation.go(url);
|
|
1029
|
-
}
|
|
1030
1012
|
}
|
|
1031
|
-
TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, deps: [{ token: Clipboard }, { token: TuiAlertService }, { token: LOCATION }, { token: TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: TUI_IS_E2E }, { token: TUI_DOC_CODE_ACTIONS }, { token:
|
|
1032
|
-
TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { id: "id", heading: "heading", description: "description", content: "content", fullsize: "fullsize", componentName: "componentName" }, host: { properties: { "class._fullsize": "this.fullsize" } }, ngImport: i0, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n <
|
|
1013
|
+
TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, deps: [{ token: Clipboard }, { token: TuiAlertService }, { token: LOCATION }, { token: TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: TUI_IS_E2E }, { token: TUI_DOC_CODE_ACTIONS }, { token: TUI_DOC_EXAMPLE_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
1014
|
+
TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { id: "id", heading: "heading", description: "description", content: "content", fullsize: "fullsize", componentName: "componentName" }, host: { properties: { "class._fullsize": "this.fullsize" } }, ngImport: i0, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n <a\n *ngIf=\"id\"\n appearance=\"icon\"\n routerLink=\".\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-link-icon\"\n [fragment]=\"id\"\n [icon]=\"options.linkIcon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink($any($event.currentTarget))\"\n ></a>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description as text\">\n {{ text }}\n </ng-container>\n</h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div\n *ngIf=\"tabs.length > 1\"\n class=\"t-tabs-wrapper\"\n >\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper: visible\"\n size=\"xs\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isE2E\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n ></ng-container>\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files?.[tabs[activeItemIndex]] || ''}\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <tui-doc-code [code]=\"code\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\n </ng-container>\n </tui-doc-code>\n</ng-template>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host:target{animation:1s .3s tuiShaking}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:normal;margin:0}.t-title:first-letter,.t-description:first-letter{text-transform:capitalize}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem #0000001a;overflow:hidden}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 .875rem 0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 .875rem 0 1rem}.t-tabs{flex-grow:1}.t-demo{padding:2rem;max-width:100%;box-sizing:border-box;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}:host:not(._fullsize) .t-demo{width:-webkit-min-content;width:min-content;min-width:20rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}\n"], components: [{ type: i2.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i1.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$1.TuiItemDirective, selector: "[tuiItem]" }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i4.AsyncPipe, "tuiDocExampleGetTabs": TuiDocExampleGetTabsPipe, "tuiMapper": i6$1.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1033
1015
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, decorators: [{
|
|
1034
1016
|
type: Component,
|
|
1035
1017
|
args: [{
|
|
@@ -1067,15 +1049,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
1067
1049
|
}] }, { type: Array, decorators: [{
|
|
1068
1050
|
type: Inject,
|
|
1069
1051
|
args: [TUI_DOC_CODE_ACTIONS]
|
|
1070
|
-
}] }, { type: i6.Router, decorators: [{
|
|
1071
|
-
type: Inject,
|
|
1072
|
-
args: [Router]
|
|
1073
|
-
}] }, { type: i6.ActivatedRoute, decorators: [{
|
|
1074
|
-
type: Inject,
|
|
1075
|
-
args: [ActivatedRoute]
|
|
1076
|
-
}] }, { type: i4.Location, decorators: [{
|
|
1077
|
-
type: Inject,
|
|
1078
|
-
args: [Location$1]
|
|
1079
1052
|
}] }, { type: undefined, decorators: [{
|
|
1080
1053
|
type: Inject,
|
|
1081
1054
|
args: [TUI_DOC_EXAMPLE_OPTIONS]
|
|
@@ -1107,7 +1080,8 @@ TuiDocExampleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
|
|
|
1107
1080
|
TuiDocCodeModule,
|
|
1108
1081
|
PolymorpheusModule,
|
|
1109
1082
|
TuiMapperPipeModule,
|
|
1110
|
-
TuiLoaderModule
|
|
1083
|
+
TuiLoaderModule,
|
|
1084
|
+
RouterModule], exports: [TuiDocExampleComponent, TuiDocExampleGetTabsPipe] });
|
|
1111
1085
|
TuiDocExampleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleModule, imports: [[
|
|
1112
1086
|
CommonModule,
|
|
1113
1087
|
ClipboardModule,
|
|
@@ -1118,6 +1092,7 @@ TuiDocExampleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
|
|
|
1118
1092
|
PolymorpheusModule,
|
|
1119
1093
|
TuiMapperPipeModule,
|
|
1120
1094
|
TuiLoaderModule,
|
|
1095
|
+
RouterModule,
|
|
1121
1096
|
]] });
|
|
1122
1097
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleModule, decorators: [{
|
|
1123
1098
|
type: NgModule,
|
|
@@ -1132,6 +1107,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
1132
1107
|
PolymorpheusModule,
|
|
1133
1108
|
TuiMapperPipeModule,
|
|
1134
1109
|
TuiLoaderModule,
|
|
1110
|
+
RouterModule,
|
|
1135
1111
|
],
|
|
1136
1112
|
declarations: [TuiDocExampleComponent, TuiDocExampleGetTabsPipe],
|
|
1137
1113
|
exports: [TuiDocExampleComponent, TuiDocExampleGetTabsPipe],
|