@taiga-ui/addon-doc 4.8.0 → 4.8.1-canary.0ecc12f
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/demo/index.d.ts +6 -4
- package/components/navigation/navigation.providers.d.ts +3 -4
- package/components/page/page.component.d.ts +1 -0
- package/components/page/page.providers.d.ts +1 -2
- package/esm2022/components/demo/index.mjs +15 -8
- package/esm2022/components/language-switcher/index.mjs +12 -8
- package/esm2022/components/navigation/navigation.providers.mjs +5 -6
- package/esm2022/components/page/page.component.mjs +9 -7
- package/esm2022/components/page/page.providers.mjs +4 -3
- package/esm2022/tokens/code-editor.mjs +3 -3
- package/esm2022/tokens/index.mjs +2 -1
- package/esm2022/tokens/support-language.mjs +3 -0
- package/fesm2022/taiga-ui-addon-doc-components.mjs +37 -28
- package/fesm2022/taiga-ui-addon-doc-components.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-doc-tokens.mjs +5 -3
- package/fesm2022/taiga-ui-addon-doc-tokens.mjs.map +1 -1
- package/package.json +79 -79
- package/tokens/code-editor.d.ts +1 -2
- package/tokens/index.d.ts +1 -0
- package/tokens/support-language.d.ts +1 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { TemplateRef } from '@angular/core';
|
|
1
|
+
import { type OnInit, TemplateRef } from '@angular/core';
|
|
3
2
|
import type { AbstractControl } from '@angular/forms';
|
|
4
3
|
import { FormGroup } from '@angular/forms';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
@@ -11,8 +10,11 @@ export declare class TuiDocDemo implements OnInit {
|
|
|
11
10
|
private readonly locationRef;
|
|
12
11
|
private readonly urlSerializer;
|
|
13
12
|
private readonly urlStateHandler;
|
|
13
|
+
private readonly darkMode;
|
|
14
14
|
protected readonly template: TemplateRef<Record<string, unknown>> | null;
|
|
15
|
-
protected
|
|
15
|
+
protected theme: import("@angular/core").Signal<"dark" | "light">;
|
|
16
|
+
protected dark: import("@angular/core").WritableSignal<boolean>;
|
|
17
|
+
protected readonly $: import("rxjs").Subscription;
|
|
16
18
|
protected testForm?: FormGroup;
|
|
17
19
|
protected readonly updateOnVariants: readonly ["change", "blur", "submit"];
|
|
18
20
|
protected updateOn: 'blur' | 'change' | 'submit';
|
|
@@ -25,7 +27,7 @@ export declare class TuiDocDemo implements OnInit {
|
|
|
25
27
|
ngOnInit(): void;
|
|
26
28
|
protected onResize(): void;
|
|
27
29
|
protected onMouseUp(): void;
|
|
28
|
-
protected onModeChange(
|
|
30
|
+
protected onModeChange(darkMode: boolean): void;
|
|
29
31
|
protected toggleDetails(): void;
|
|
30
32
|
protected changeOpaque(opaque: boolean): void;
|
|
31
33
|
protected updateOnChange(updateOn: 'blur' | 'change' | 'submit'): void;
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import type { Provider } from '@angular/core';
|
|
2
|
-
import { InjectionToken } from '@angular/core';
|
|
3
2
|
import type { TuiDocRoutePages } from '@taiga-ui/addon-doc/types';
|
|
4
3
|
import type { Observable } from 'rxjs';
|
|
5
4
|
/**
|
|
6
5
|
* Page title
|
|
7
6
|
*/
|
|
8
|
-
export declare const NAVIGATION_TITLE: InjectionToken<Observable<string>>;
|
|
7
|
+
export declare const NAVIGATION_TITLE: import("@angular/core").InjectionToken<Observable<string>>;
|
|
9
8
|
/**
|
|
10
9
|
* Navigation sections labels for search
|
|
11
10
|
*/
|
|
12
|
-
export declare const NAVIGATION_LABELS: InjectionToken<readonly string[]>;
|
|
11
|
+
export declare const NAVIGATION_LABELS: import("@angular/core").InjectionToken<readonly string[]>;
|
|
13
12
|
/**
|
|
14
13
|
* Navigation pages
|
|
15
14
|
*/
|
|
16
|
-
export declare const NAVIGATION_ITEMS: InjectionToken<readonly TuiDocRoutePages[]>;
|
|
15
|
+
export declare const NAVIGATION_ITEMS: import("@angular/core").InjectionToken<readonly TuiDocRoutePages[]>;
|
|
17
16
|
export declare const NAVIGATION_PROVIDERS: Provider[];
|
|
@@ -2,6 +2,7 @@ import type { QueryList } from '@angular/core';
|
|
|
2
2
|
import { TuiDocPageTabConnector } from './page-tab.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class TuiDocPage {
|
|
5
|
+
protected readonly supportLanguage: Set<string>;
|
|
5
6
|
protected readonly defaultTabs: readonly string[];
|
|
6
7
|
protected readonly from: RegExp;
|
|
7
8
|
protected readonly to = "_";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Provider } from '@angular/core';
|
|
2
|
-
import { InjectionToken } from '@angular/core';
|
|
3
2
|
/**
|
|
4
3
|
* Array if related page titles
|
|
5
4
|
*/
|
|
6
|
-
export declare const PAGE_SEE_ALSO: InjectionToken<readonly string[]>;
|
|
5
|
+
export declare const PAGE_SEE_ALSO: import("@angular/core").InjectionToken<readonly string[]>;
|
|
7
6
|
export declare const PAGE_PROVIDERS: Provider[];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { JsonPipe, Location, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
3
|
-
import { ChangeDetectionStrategy, Component, ContentChild, inject, Input, TemplateRef, ViewChild, } from '@angular/core';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, computed, ContentChild, inject, Input, signal, TemplateRef, ViewChild, } from '@angular/core';
|
|
4
|
+
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
|
4
5
|
import { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
6
|
import { UrlSerializer } from '@angular/router';
|
|
6
7
|
import { TUI_DOC_DEMO_TEXTS, TUI_DOC_URL_STATE_HANDLER } from '@taiga-ui/addon-doc/tokens';
|
|
@@ -18,6 +19,7 @@ import { TuiSwitch } from '@taiga-ui/kit/components/switch';
|
|
|
18
19
|
import { TuiChevron } from '@taiga-ui/kit/directives/chevron';
|
|
19
20
|
import { TuiSelectModule } from '@taiga-ui/legacy/components/select';
|
|
20
21
|
import { TuiTextfieldControllerModule } from '@taiga-ui/legacy/directives/textfield-controller';
|
|
22
|
+
import { skip } from 'rxjs';
|
|
21
23
|
import * as i0 from "@angular/core";
|
|
22
24
|
import * as i1 from "@angular/forms";
|
|
23
25
|
import * as i2 from "@taiga-ui/kit/components/data-list-wrapper";
|
|
@@ -32,8 +34,13 @@ class TuiDocDemo {
|
|
|
32
34
|
this.locationRef = inject(Location);
|
|
33
35
|
this.urlSerializer = inject(UrlSerializer);
|
|
34
36
|
this.urlStateHandler = inject(TUI_DOC_URL_STATE_HANDLER);
|
|
37
|
+
this.darkMode = inject(TUI_DARK_MODE);
|
|
35
38
|
this.template = null;
|
|
36
|
-
this.
|
|
39
|
+
this.theme = computed(() => (this.dark() ? 'dark' : 'light'));
|
|
40
|
+
this.dark = signal(tuiCoerceValueIsTrue(this.params.darkMode ?? this.darkMode()));
|
|
41
|
+
this.$ = toObservable(this.darkMode)
|
|
42
|
+
.pipe(skip(1), takeUntilDestroyed())
|
|
43
|
+
.subscribe((mode) => this.onModeChange(mode));
|
|
37
44
|
this.updateOnVariants = ['change', 'blur', 'submit'];
|
|
38
45
|
this.updateOn = this.params.updateOn || this.updateOnVariants[0];
|
|
39
46
|
this.opaque = tuiCoerceValueIsTrue(this.params.sandboxOpaque ?? true);
|
|
@@ -54,9 +61,9 @@ class TuiDocDemo {
|
|
|
54
61
|
onMouseUp() {
|
|
55
62
|
this.updateUrl({ sandboxWidth: this.sandboxWidth });
|
|
56
63
|
}
|
|
57
|
-
onModeChange(
|
|
58
|
-
this.dark
|
|
59
|
-
this.updateUrl({ sandboxWidth: this.sandboxWidth, darkMode
|
|
64
|
+
onModeChange(darkMode) {
|
|
65
|
+
this.dark.set(darkMode);
|
|
66
|
+
this.updateUrl({ sandboxWidth: this.sandboxWidth, darkMode });
|
|
60
67
|
}
|
|
61
68
|
toggleDetails() {
|
|
62
69
|
this.expanded = !this.expanded;
|
|
@@ -112,7 +119,7 @@ class TuiDocDemo {
|
|
|
112
119
|
return this.urlSerializer.parse(this.locationRef.path());
|
|
113
120
|
}
|
|
114
121
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocDemo, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
115
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocDemo, isStandalone: true, selector: "tui-doc-demo", inputs: { control: "control", sticky: "sticky" }, host: { listeners: { "window:resize": "onResize()", "document:mouseup.silent": "onMouseUp()" }, properties: { "class._sticky": "sticky" } }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "resizable", first: true, predicate: TuiResizable, descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "resizer", first: true, predicate: ["resizer"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"t-settings\">\n <label class=\"t-label\">\n <input\n size=\"s\"\n tuiSwitch\n type=\"checkbox\"\n [ngModel]=\"dark\"\n (ngModelChange)=\"onModeChange($event)\"\n />\n {{ texts[0] }}\n </label>\n <label class=\"t-label\">\n <input\n size=\"s\"\n tuiSwitch\n type=\"checkbox\"\n [ngModel]=\"opaque\"\n (ngModelChange)=\"changeOpaque($event)\"\n />\n {{ texts[1] }}\n </label>\n</div>\n<div\n tuiResizable\n class=\"t-wrapper\"\n [attr.tuiTheme]=\"dark ? 'dark' : 'light'\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div class=\"t-content\">\n <div\n #content\n id=\"demo-content\"\n >\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\" />\n </div>\n <button\n automation-id=\"tui-demo-button__toggle-details\"\n size=\"s\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [tuiChevron]=\"expanded\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n automation-id=\"tui-demo-select__expand-update-on\"\n tuiTextfieldSize=\"s\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n />\n </tui-select>\n <button\n automation-id=\"tui-demo-button__reset-state\"\n size=\"s\"\n tuiButton\n type=\"reset\"\n [style.flex]=\"'0 0 auto'\"\n >\n Reset\n </button>\n <button\n automation-id=\"tui-demo-button__submit-state\"\n size=\"s\"\n tuiButton\n type=\"submit\"\n [style.flex]=\"'0 0 auto'\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content />\n </div>\n </div>\n <div\n #resizer\n class=\"t-resizer\"\n [tuiResizer]=\"[1, 0]\"\n (tuiSizeChange)=\"updateWidth($event[0])\"\n ></div>\n</div>\n", styles: [":host{position:relative;display:block;min-inline-size:100%;margin:1.5rem 0;pointer-events:none}.t-settings{position:absolute;bottom:calc(100% + .75rem);display:flex;gap:1rem;align-items:center;justify-content:flex-end;pointer-events:none;inline-size:100%}.t-settings>*{pointer-events:auto}.t-label{display:flex;align-items:center;gap:.5rem}.t-wrapper{display:flex;box-shadow:var(--tui-shadow-medium);border:1px solid var(--tui-border-normal);border-radius:var(--tui-radius-m);max-inline-size:100%;min-block-size:6rem;inline-size:100%;min-inline-size:10rem;color:var(--tui-text-primary);background-color:var(--tui-background-base);overflow:hidden;pointer-events:auto}.t-wrapper.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-background-base-alt) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-background-base-alt) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-background-base-alt) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-background-base-alt) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}@media screen and (max-width: 47.9625em){.t-wrapper{min-block-size:auto}}.t-content{flex:1 1 0;min-inline-size:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}@media screen and (max-width: 47.9625em){.t-content{padding:1rem}}.t-form{display:flex;flex-wrap:wrap;align-items:flex-start}.t-input-wrapper{inline-size:100%;margin-bottom:.5rem}.t-expand{inline-size:100%}.t-value{flex:1;background:var(--tui-background-neutral-1);padding:.75rem;border-radius:.25rem}.t-mode{inline-size:12.5rem}.t-select{max-inline-size:15rem}.t-resizer{position:relative;display:flex;box-shadow:var(--tui-shadow-medium);inline-size:3.5rem;min-block-size:inherit;align-items:center;justify-content:center;flex-shrink:0;border-left:1px solid var(--tui-border-normal);outline:none;background:var(--tui-background-base);color:var(--tui-text-primary)}.t-resizer:before,.t-resizer:after{content:\"\";position:absolute;top:.75rem;left:50%;bottom:calc(50% + 1rem);inline-size:1px;background:var(--tui-border-normal);box-shadow:-.25rem 0 var(--tui-border-normal);transform:translateZ(0)}.t-resizer:after{bottom:.75rem;top:calc(50% + 1rem)}@media screen and (max-width: 47.9625em){.t-resizer{display:none}}.t-resizer-text{position:relative;z-index:1;font:var(--tui-font-text-s);padding:.75rem;background:var(--tui-background-base)}.wrapper_light .t-resizer-text{background:#3e464e}.t-group,.t-checkbox{display:flex;align-items:center;margin-left:.75rem}.t-button,.t-form-controls{margin-top:.75rem}@supports (position: sticky){@media screen and (min-height: 37.5rem){:host._sticky{position:sticky;top:4.625rem;z-index:2}}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i2.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i4.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }, { kind: "directive", type: i4.TuiExpandContent, selector: "[tuiExpandContent]" }, { kind: "directive", type: TuiGroup, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "collapsed", "rounded", "size"] }, { kind: "directive", type: TuiResizable, selector: "[tuiResizable]" }, { kind: "directive", type: TuiResizer, selector: "[tuiResizer]", inputs: ["tuiResizer"], outputs: ["tuiSizeChange"] }, { kind: "ngmodule", type: TuiSelectModule }, { kind: "component", type: i5.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i5.TuiSelectDirective, selector: "tui-select" }, { kind: "component", type: TuiSwitch, selector: "input[type=\"checkbox\"][tuiSwitch]", inputs: ["size", "showIcons"] }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "directive", type: i6.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
122
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocDemo, isStandalone: true, selector: "tui-doc-demo", inputs: { control: "control", sticky: "sticky" }, host: { listeners: { "window:resize": "onResize()", "document:mouseup.silent": "onMouseUp()" }, properties: { "class._sticky": "sticky" } }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "resizable", first: true, predicate: TuiResizable, descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "resizer", first: true, predicate: ["resizer"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"t-settings\">\n <label class=\"t-label\">\n <input\n size=\"s\"\n tuiSwitch\n type=\"checkbox\"\n [ngModel]=\"dark()\"\n (ngModelChange)=\"onModeChange($event)\"\n />\n {{ texts[0] }}\n </label>\n <label class=\"t-label\">\n <input\n size=\"s\"\n tuiSwitch\n type=\"checkbox\"\n [ngModel]=\"opaque\"\n (ngModelChange)=\"changeOpaque($event)\"\n />\n {{ texts[1] }}\n </label>\n</div>\n<div\n tuiResizable\n class=\"t-wrapper\"\n [attr.tuiTheme]=\"theme()\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div class=\"t-content\">\n <div\n #content\n id=\"demo-content\"\n >\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\" />\n </div>\n <button\n automation-id=\"tui-demo-button__toggle-details\"\n size=\"s\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [tuiChevron]=\"expanded\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n automation-id=\"tui-demo-select__expand-update-on\"\n tuiTextfieldSize=\"s\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n />\n </tui-select>\n <button\n automation-id=\"tui-demo-button__reset-state\"\n size=\"s\"\n tuiButton\n type=\"reset\"\n [style.flex]=\"'0 0 auto'\"\n >\n Reset\n </button>\n <button\n automation-id=\"tui-demo-button__submit-state\"\n size=\"s\"\n tuiButton\n type=\"submit\"\n [style.flex]=\"'0 0 auto'\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content />\n </div>\n </div>\n <div\n #resizer\n class=\"t-resizer\"\n [tuiResizer]=\"[1, 0]\"\n (tuiSizeChange)=\"updateWidth($event[0])\"\n ></div>\n</div>\n", styles: [":host{position:relative;display:block;min-inline-size:100%;margin:1.5rem 0;pointer-events:none}.t-settings{position:absolute;bottom:calc(100% + .75rem);display:flex;gap:1rem;align-items:center;justify-content:flex-end;pointer-events:none;inline-size:100%}.t-settings>*{pointer-events:auto}.t-label{display:flex;align-items:center;gap:.5rem}.t-wrapper{display:flex;box-shadow:var(--tui-shadow-medium);border:1px solid var(--tui-border-normal);border-radius:var(--tui-radius-m);max-inline-size:100%;min-block-size:6rem;inline-size:100%;min-inline-size:10rem;color:var(--tui-text-primary);background-color:var(--tui-background-base);overflow:hidden;pointer-events:auto}.t-wrapper.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-background-base-alt) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-background-base-alt) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-background-base-alt) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-background-base-alt) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}@media screen and (max-width: 47.9625em){.t-wrapper{min-block-size:auto}}.t-content{flex:1 1 0;min-inline-size:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}@media screen and (max-width: 47.9625em){.t-content{padding:1rem}}.t-form{display:flex;flex-wrap:wrap;align-items:flex-start}.t-input-wrapper{inline-size:100%;margin-bottom:.5rem}.t-expand{inline-size:100%}.t-value{flex:1;background:var(--tui-background-neutral-1);padding:.75rem;border-radius:.25rem}.t-mode{inline-size:12.5rem}.t-select{max-inline-size:15rem}.t-resizer{position:relative;display:flex;box-shadow:var(--tui-shadow-medium);inline-size:3.5rem;min-block-size:inherit;align-items:center;justify-content:center;flex-shrink:0;border-left:1px solid var(--tui-border-normal);outline:none;background:var(--tui-background-base);color:var(--tui-text-primary)}.t-resizer:before,.t-resizer:after{content:\"\";position:absolute;top:.75rem;left:50%;bottom:calc(50% + 1rem);inline-size:1px;background:var(--tui-border-normal);box-shadow:-.25rem 0 var(--tui-border-normal);transform:translateZ(0)}.t-resizer:after{bottom:.75rem;top:calc(50% + 1rem)}@media screen and (max-width: 47.9625em){.t-resizer{display:none}}.t-resizer-text{position:relative;z-index:1;font:var(--tui-font-text-s);padding:.75rem;background:var(--tui-background-base)}.wrapper_light .t-resizer-text{background:#3e464e}.t-group,.t-checkbox{display:flex;align-items:center;margin-left:.75rem}.t-button,.t-form-controls{margin-top:.75rem}@supports (position: sticky){@media screen and (min-height: 37.5rem){:host._sticky{position:sticky;top:4.625rem;z-index:2}}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i2.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i4.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }, { kind: "directive", type: i4.TuiExpandContent, selector: "[tuiExpandContent]" }, { kind: "directive", type: TuiGroup, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "collapsed", "rounded", "size"] }, { kind: "directive", type: TuiResizable, selector: "[tuiResizable]" }, { kind: "directive", type: TuiResizer, selector: "[tuiResizer]", inputs: ["tuiResizer"], outputs: ["tuiSizeChange"] }, { kind: "ngmodule", type: TuiSelectModule }, { kind: "component", type: i5.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i5.TuiSelectDirective, selector: "tui-select" }, { kind: "component", type: TuiSwitch, selector: "input[type=\"checkbox\"][tuiSwitch]", inputs: ["size", "showIcons"] }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "directive", type: i6.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
116
123
|
}
|
|
117
124
|
__decorate([
|
|
118
125
|
tuiPure
|
|
@@ -140,7 +147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
140
147
|
'[class._sticky]': 'sticky',
|
|
141
148
|
'(window:resize)': 'onResize()',
|
|
142
149
|
'(document:mouseup.silent)': 'onMouseUp()',
|
|
143
|
-
}, template: "<div class=\"t-settings\">\n <label class=\"t-label\">\n <input\n size=\"s\"\n tuiSwitch\n type=\"checkbox\"\n [ngModel]=\"dark\"\n (ngModelChange)=\"onModeChange($event)\"\n />\n {{ texts[0] }}\n </label>\n <label class=\"t-label\">\n <input\n size=\"s\"\n tuiSwitch\n type=\"checkbox\"\n [ngModel]=\"opaque\"\n (ngModelChange)=\"changeOpaque($event)\"\n />\n {{ texts[1] }}\n </label>\n</div>\n<div\n tuiResizable\n class=\"t-wrapper\"\n [attr.tuiTheme]=\"
|
|
150
|
+
}, template: "<div class=\"t-settings\">\n <label class=\"t-label\">\n <input\n size=\"s\"\n tuiSwitch\n type=\"checkbox\"\n [ngModel]=\"dark()\"\n (ngModelChange)=\"onModeChange($event)\"\n />\n {{ texts[0] }}\n </label>\n <label class=\"t-label\">\n <input\n size=\"s\"\n tuiSwitch\n type=\"checkbox\"\n [ngModel]=\"opaque\"\n (ngModelChange)=\"changeOpaque($event)\"\n />\n {{ texts[1] }}\n </label>\n</div>\n<div\n tuiResizable\n class=\"t-wrapper\"\n [attr.tuiTheme]=\"theme()\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div class=\"t-content\">\n <div\n #content\n id=\"demo-content\"\n >\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\" />\n </div>\n <button\n automation-id=\"tui-demo-button__toggle-details\"\n size=\"s\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [tuiChevron]=\"expanded\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n automation-id=\"tui-demo-select__expand-update-on\"\n tuiTextfieldSize=\"s\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n />\n </tui-select>\n <button\n automation-id=\"tui-demo-button__reset-state\"\n size=\"s\"\n tuiButton\n type=\"reset\"\n [style.flex]=\"'0 0 auto'\"\n >\n Reset\n </button>\n <button\n automation-id=\"tui-demo-button__submit-state\"\n size=\"s\"\n tuiButton\n type=\"submit\"\n [style.flex]=\"'0 0 auto'\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content />\n </div>\n </div>\n <div\n #resizer\n class=\"t-resizer\"\n [tuiResizer]=\"[1, 0]\"\n (tuiSizeChange)=\"updateWidth($event[0])\"\n ></div>\n</div>\n", styles: [":host{position:relative;display:block;min-inline-size:100%;margin:1.5rem 0;pointer-events:none}.t-settings{position:absolute;bottom:calc(100% + .75rem);display:flex;gap:1rem;align-items:center;justify-content:flex-end;pointer-events:none;inline-size:100%}.t-settings>*{pointer-events:auto}.t-label{display:flex;align-items:center;gap:.5rem}.t-wrapper{display:flex;box-shadow:var(--tui-shadow-medium);border:1px solid var(--tui-border-normal);border-radius:var(--tui-radius-m);max-inline-size:100%;min-block-size:6rem;inline-size:100%;min-inline-size:10rem;color:var(--tui-text-primary);background-color:var(--tui-background-base);overflow:hidden;pointer-events:auto}.t-wrapper.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-background-base-alt) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-background-base-alt) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-background-base-alt) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-background-base-alt) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}@media screen and (max-width: 47.9625em){.t-wrapper{min-block-size:auto}}.t-content{flex:1 1 0;min-inline-size:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}@media screen and (max-width: 47.9625em){.t-content{padding:1rem}}.t-form{display:flex;flex-wrap:wrap;align-items:flex-start}.t-input-wrapper{inline-size:100%;margin-bottom:.5rem}.t-expand{inline-size:100%}.t-value{flex:1;background:var(--tui-background-neutral-1);padding:.75rem;border-radius:.25rem}.t-mode{inline-size:12.5rem}.t-select{max-inline-size:15rem}.t-resizer{position:relative;display:flex;box-shadow:var(--tui-shadow-medium);inline-size:3.5rem;min-block-size:inherit;align-items:center;justify-content:center;flex-shrink:0;border-left:1px solid var(--tui-border-normal);outline:none;background:var(--tui-background-base);color:var(--tui-text-primary)}.t-resizer:before,.t-resizer:after{content:\"\";position:absolute;top:.75rem;left:50%;bottom:calc(50% + 1rem);inline-size:1px;background:var(--tui-border-normal);box-shadow:-.25rem 0 var(--tui-border-normal);transform:translateZ(0)}.t-resizer:after{bottom:.75rem;top:calc(50% + 1rem)}@media screen and (max-width: 47.9625em){.t-resizer{display:none}}.t-resizer-text{position:relative;z-index:1;font:var(--tui-font-text-s);padding:.75rem;background:var(--tui-background-base)}.wrapper_light .t-resizer-text{background:#3e464e}.t-group,.t-checkbox{display:flex;align-items:center;margin-left:.75rem}.t-button,.t-form-controls{margin-top:.75rem}@supports (position: sticky){@media screen and (min-height: 37.5rem){:host._sticky{position:sticky;top:4.625rem;z-index:2}}}\n"] }]
|
|
144
151
|
}], propDecorators: { resizable: [{
|
|
145
152
|
type: ViewChild,
|
|
146
153
|
args: [TuiResizable, { static: true }]
|
|
@@ -158,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
158
165
|
}], sticky: [{
|
|
159
166
|
type: Input
|
|
160
167
|
}], updateUrl: [] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9kZW1vL2luZGV4LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZGVtby9pbmRleC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUUzRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0UsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXpGLE9BQU8sRUFBQyxjQUFjLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7O0FBRTlGLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUV0QixNQTZCYSxVQUFVO0lBN0J2QjtRQXVDcUIsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMsb0JBQWUsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUdsRCxhQUFRLEdBQWdELElBQUksQ0FBQztRQUV0RSxTQUFJLEdBQUcsb0JBQW9CLENBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUNsRCxDQUFDO1FBSWlCLHFCQUFnQixHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQVUsQ0FBQztRQUVsRSxhQUFRLEdBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTNDLFdBQU0sR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNqRSxhQUFRLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDLENBQUM7UUFDdEUsaUJBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxVQUFLLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFHL0MsWUFBTyxHQUEyQixJQUFJLENBQUM7UUFHdkMsV0FBTSxHQUFHLElBQUksQ0FBQztLQXlGeEI7SUF2RlUsUUFBUTtRQUNYLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFUyxRQUFRO1FBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRVMsU0FBUztRQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUFhO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVTLGFBQWE7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRVMsWUFBWSxDQUFDLE1BQWU7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRVMsY0FBYyxDQUFDLFFBQXNDO1FBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRVMsV0FBVyxDQUFDLEtBQUssR0FBRyxHQUFHO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDbkQsT0FBTztTQUNWO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUMvRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQztRQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMxRSxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUUvQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDeEUsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVksS0FBSztRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTztZQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsV0FBVztnQkFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVztZQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELElBQVksTUFBTTtRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUN6QyxDQUFDO0lBR08sU0FBUyxDQUFDLE1BQXFCO1FBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQixNQUFNLEVBQUMsV0FBVyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBRTNCLE9BQU8sV0FBVyxDQUFDLFlBQVksQ0FBQztRQUVoQyxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2YsR0FBRyxXQUFXO1lBQ2QsR0FBRyxjQUFjLENBQUMsRUFBQyxHQUFHLE1BQU0sRUFBQyxDQUFDO1NBQ2pDLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLFVBQVU7UUFDZCxNQUFNLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQyxHQUFHLElBQUksQ0FBQztRQUVqQyxJQUFJLE9BQU8sRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFDLEVBQUUsRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO1NBQ25FO0lBQ0wsQ0FBQztJQUVPLFVBQVU7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQTlIUSxVQUFVO21HQUFWLFVBQVUsNlNBZUwsV0FBVywyRkFkZCxZQUFZLG9RQ2hFM0IsNnpIQTRHQSw0c0ZEdEVRLFdBQVcsZ3hCQUNYLFFBQVEsNkNBQ1IsSUFBSSw2RkFDSixnQkFBZ0IsbUpBQ2hCLG1CQUFtQixnTEFDbkIsU0FBUyxvSUFDVCxVQUFVLGlrQkFHVixRQUFRLGtJQUNSLFlBQVksMkRBQ1osVUFBVSw0R0FDVixlQUFlLGlQQUNmLFNBQVMsOEdBQ1QsNEJBQTRCOztBQWlIeEI7SUFEUCxPQUFPOzJDQWFQO1NBbEhRLFVBQVU7NEZBQVYsVUFBVTtrQkE3QnRCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGNBQWMsV0FDZjt3QkFDTCxXQUFXO3dCQUNYLFFBQVE7d0JBQ1IsSUFBSTt3QkFDSixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixlQUFlO3dCQUNmLFNBQVM7d0JBQ1QsNEJBQTRCO3FCQUMvQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixpQkFBaUIsRUFBRSxRQUFRO3dCQUMzQixpQkFBaUIsRUFBRSxZQUFZO3dCQUMvQiwyQkFBMkIsRUFBRSxhQUFhO3FCQUM3Qzs4QkFJZ0IsU0FBUztzQkFEekIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUl0QixPQUFPO3NCQUR2QixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSW5CLE9BQU87c0JBRHZCLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFTakIsUUFBUTtzQkFEMUIsWUFBWTt1QkFBQyxXQUFXO2dCQW9CbEIsT0FBTztzQkFEYixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFpRUUsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SnNvblBpcGUsIExvY2F0aW9uLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge0VsZW1lbnRSZWYsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7QWJzdHJhY3RDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Zvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHtQYXJhbXMsIFVybFRyZWV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1VybFNlcmlhbGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RVSV9ET0NfREVNT19URVhUUywgVFVJX0RPQ19VUkxfU1RBVEVfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aURlbW9QYXJhbXN9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdHlwZXMnO1xuaW1wb3J0IHt0dWlDbGVhbk9iamVjdCwgdHVpQ29lcmNlVmFsdWVJc1RydWV9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdXRpbHMnO1xuaW1wb3J0IHtUdWlSZXNpemFibGUsIFR1aVJlc2l6ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9yZXNpemVyJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlDbGFtcCwgdHVpVG9JbnRlZ2VyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQdXJlLCB0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aUV4cGFuZH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9leHBhbmQnO1xuaW1wb3J0IHtUdWlHcm91cH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9ncm91cCc7XG5pbXBvcnQge1RVSV9EQVJLX01PREV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aURhdGFMaXN0V3JhcHBlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2RhdGEtbGlzdC13cmFwcGVyJztcbmltcG9ydCB7VHVpU3dpdGNofSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc3dpdGNoJztcbmltcG9ydCB7VHVpQ2hldnJvbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9kaXJlY3RpdmVzL2NoZXZyb24nO1xuaW1wb3J0IHtUdWlTZWxlY3RNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9zZWxlY3QnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXInO1xuXG5jb25zdCBNSU5fV0lEVEggPSAxNjA7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWRlbW8nLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIEpzb25QaXBlLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUNoZXZyb24sXG4gICAgICAgIFR1aURhdGFMaXN0V3JhcHBlcixcbiAgICAgICAgVHVpRXhwYW5kLFxuICAgICAgICBUdWlHcm91cCxcbiAgICAgICAgVHVpUmVzaXphYmxlLFxuICAgICAgICBUdWlSZXNpemVyLFxuICAgICAgICBUdWlTZWxlY3RNb2R1bGUsXG4gICAgICAgIFR1aVN3aXRjaCxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmRleC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbmRleC5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLl9zdGlja3ldJzogJ3N0aWNreScsXG4gICAgICAgICcod2luZG93OnJlc2l6ZSknOiAnb25SZXNpemUoKScsXG4gICAgICAgICcoZG9jdW1lbnQ6bW91c2V1cC5zaWxlbnQpJzogJ29uTW91c2VVcCgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NEZW1vIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKFR1aVJlc2l6YWJsZSwge3N0YXRpYzogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemFibGU/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7c3RhdGljOiB0cnVlfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnQ/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3Jlc2l6ZXInLCB7c3RhdGljOiB0cnVlfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblJlZiA9IGluamVjdChMb2NhdGlvbik7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxTZXJpYWxpemVyID0gaW5qZWN0KFVybFNlcmlhbGl6ZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsU3RhdGVIYW5kbGVyID0gaW5qZWN0KFRVSV9ET0NfVVJMX1NUQVRFX0hBTkRMRVIpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZilcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIGRhcmsgPSB0dWlDb2VyY2VWYWx1ZUlzVHJ1ZShcbiAgICAgICAgdGhpcy5wYXJhbXMuZGFya01vZGUgPz8gaW5qZWN0KFRVSV9EQVJLX01PREUpKCksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCB0ZXN0Rm9ybT86IEZvcm1Hcm91cDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB1cGRhdGVPblZhcmlhbnRzID0gWydjaGFuZ2UnLCAnYmx1cicsICdzdWJtaXQnXSBhcyBjb25zdDtcblxuICAgIHByb3RlY3RlZCB1cGRhdGVPbjogJ2JsdXInIHwgJ2NoYW5nZScgfCAnc3VibWl0JyA9XG4gICAgICAgIHRoaXMucGFyYW1zLnVwZGF0ZU9uIHx8IHRoaXMudXBkYXRlT25WYXJpYW50c1swXTtcblxuICAgIHByb3RlY3RlZCBvcGFxdWUgPSB0dWlDb2VyY2VWYWx1ZUlzVHJ1ZSh0aGlzLnBhcmFtcy5zYW5kYm94T3BhcXVlID8/IHRydWUpO1xuICAgIHByb3RlY3RlZCBleHBhbmRlZCA9IHR1aUNvZXJjZVZhbHVlSXNUcnVlKHRoaXMucGFyYW1zLnNhbmRib3hFeHBhbmRlZCA/PyBmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHNhbmRib3hXaWR0aCA9IHR1aVRvSW50ZWdlcih0aGlzLnBhcmFtcy5zYW5kYm94V2lkdGgpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0cyA9IGluamVjdChUVUlfRE9DX0RFTU9fVEVYVFMpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzdGlja3kgPSB0cnVlO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICAgICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLnNhbmRib3hXaWR0aCArIHRoaXMuZGVsdGEpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVXaWR0aCgpO1xuICAgICAgICB0aGlzLm9uTW91c2VVcCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk1vdXNlVXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVXJsKHtzYW5kYm94V2lkdGg6IHRoaXMuc2FuZGJveFdpZHRofSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uTW9kZUNoYW5nZShkYXJrOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGFyayA9IGRhcms7XG4gICAgICAgIHRoaXMudXBkYXRlVXJsKHtzYW5kYm94V2lkdGg6IHRoaXMuc2FuZGJveFdpZHRoLCBkYXJrTW9kZTogdGhpcy5kYXJrfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRvZ2dsZURldGFpbHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgdGhpcy51cGRhdGVVcmwoe3NhbmRib3hFeHBhbmRlZDogdGhpcy5leHBhbmRlZH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjaGFuZ2VPcGFxdWUob3BhcXVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BhcXVlID0gb3BhcXVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVVybCh7c2FuZGJveE9wYXF1ZTogdGhpcy5vcGFxdWV9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlT25DaGFuZ2UodXBkYXRlT246ICdibHVyJyB8ICdjaGFuZ2UnIHwgJ3N1Ym1pdCcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVPbiA9IHVwZGF0ZU9uO1xuICAgICAgICB0aGlzLnVwZGF0ZVVybCh7dXBkYXRlT259KTtcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVdpZHRoKHdpZHRoID0gTmFOKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5yZXNpemVyIHx8ICF0aGlzLnJlc2l6YWJsZSB8fCAhdGhpcy5jb250ZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzYWZlID0gd2lkdGggfHwgdGhpcy5yZXNpemFibGUubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3QgdG90YWwgPSB0aGlzLmVsLmNsaWVudFdpZHRoO1xuICAgICAgICBjb25zdCBjbGFtcGVkID0gTWF0aC5yb3VuZCh0dWlDbGFtcChzYWZlLCBNSU5fV0lEVEgsIHRvdGFsKSkgLSB0aGlzLmRlbHRhO1xuICAgICAgICBjb25zdCB2YWxpZGF0ZWQgPSBzYWZlIDwgdG90YWwgPyBjbGFtcGVkIDogTmFOO1xuXG4gICAgICAgIHRoaXMucmVzaXplci5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gU3RyaW5nKGNsYW1wZWQgfHwgJy0nKTtcbiAgICAgICAgdGhpcy5yZXNpemFibGUubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHZhbGlkYXRlZCA/IHR1aVB4KHNhZmUpIDogJyc7XG4gICAgICAgIHRoaXMuc2FuZGJveFdpZHRoID0gdmFsaWRhdGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGRlbHRhKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc2l6YWJsZSAmJiB0aGlzLmNvbnRlbnRcbiAgICAgICAgICAgID8gdGhpcy5yZXNpemFibGUubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aFxuICAgICAgICAgICAgOiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHBhcmFtcygpOiBQYXJhbXMgfCBUdWlEZW1vUGFyYW1zIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VXJsVHJlZSgpLnF1ZXJ5UGFyYW1zO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSB1cGRhdGVVcmwocGFyYW1zOiBUdWlEZW1vUGFyYW1zKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRyZWUgPSB0aGlzLmdldFVybFRyZWUoKTtcbiAgICAgICAgY29uc3Qge3F1ZXJ5UGFyYW1zfSA9IHRyZWU7XG5cbiAgICAgICAgZGVsZXRlIHF1ZXJ5UGFyYW1zLnNhbmRib3hXaWR0aDtcblxuICAgICAgICB0cmVlLnF1ZXJ5UGFyYW1zID0ge1xuICAgICAgICAgICAgLi4ucXVlcnlQYXJhbXMsXG4gICAgICAgICAgICAuLi50dWlDbGVhbk9iamVjdCh7Li4ucGFyYW1zfSksXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5sb2NhdGlvblJlZi5nbyh0aGlzLnVybFN0YXRlSGFuZGxlcih0cmVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7Y29udHJvbCwgdXBkYXRlT259ID0gdGhpcztcblxuICAgICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy50ZXN0Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe3Rlc3RWYWx1ZTogY29udHJvbH0sIHt1cGRhdGVPbn0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRVcmxUcmVlKCk6IFVybFRyZWUge1xuICAgICAgICByZXR1cm4gdGhpcy51cmxTZXJpYWxpemVyLnBhcnNlKHRoaXMubG9jYXRpb25SZWYucGF0aCgpKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1zZXR0aW5nc1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cInQtbGFiZWxcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICB0dWlTd2l0Y2hcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJkYXJrXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgICAge3sgdGV4dHNbMF0gfX1cbiAgICA8L2xhYmVsPlxuICAgIDxsYWJlbCBjbGFzcz1cInQtbGFiZWxcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICB0dWlTd2l0Y2hcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJvcGFxdWVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlT3BhcXVlKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgICB7eyB0ZXh0c1sxXSB9fVxuICAgIDwvbGFiZWw+XG48L2Rpdj5cbjxkaXZcbiAgICB0dWlSZXNpemFibGVcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgW2F0dHIudHVpVGhlbWVdPVwiZGFyayA/ICdkYXJrJyA6ICdsaWdodCdcIlxuICAgIFtjbGFzcy50LXdyYXBwZXJfdHJhbnNwYXJlbnRdPVwiIW9wYXF1ZVwiXG4+XG4gICAgPGRpdiBjbGFzcz1cInQtY29udGVudFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjY29udGVudFxuICAgICAgICAgICAgaWQ9XCJkZW1vLWNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8Zm9ybVxuICAgICAgICAgICAgICAgICpuZ0lmPVwidGVzdEZvcm1cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1mb3JtXCJcbiAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cInRlc3RGb3JtXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC1pbnB1dC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kZW1vLWJ1dHRvbl9fdG9nZ2xlLWRldGFpbHNcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFt0dWlDaGV2cm9uXT1cImV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURldGFpbHMoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0c1syXSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDx0dWktZXhwYW5kXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1leHBhbmRcIlxuICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHR1aUV4cGFuZENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPVwidC12YWx1ZVwiPkZvcm0gZGF0YToge3sgdGVzdEZvcm0udmFsdWUgfCBqc29uIH19PC9wcmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtZm9ybS1jb250cm9sc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kZW1vLXNlbGVjdF9fZXhwYW5kLXVwZGF0ZS1vblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInVwZGF0ZU9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZU9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlT25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwidXBkYXRlT25WYXJpYW50c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kZW1vLWJ1dHRvbl9fcmVzZXQtc3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmVzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZmxleF09XCInMCAwIGF1dG8nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRlbW8tYnV0dG9uX19zdWJtaXQtc3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmZsZXhdPVwiJzAgMCBhdXRvJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdWJtaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvdHVpLWV4cGFuZD5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgI3Jlc2l6ZXJcbiAgICAgICAgY2xhc3M9XCJ0LXJlc2l6ZXJcIlxuICAgICAgICBbdHVpUmVzaXplcl09XCJbMSwgMF1cIlxuICAgICAgICAodHVpU2l6ZUNoYW5nZSk9XCJ1cGRhdGVXaWR0aCgkZXZlbnRbMF0pXCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9kZW1vL2luZGV4LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZGVtby9pbmRleC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUVaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTVFLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0UsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXpGLE9BQU8sRUFBQyxjQUFjLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMs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VCw0QkFBNEI7cUJBQy9CLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLGlCQUFpQixFQUFFLFFBQVE7d0JBQzNCLGlCQUFpQixFQUFFLFlBQVk7d0JBQy9CLDJCQUEyQixFQUFFLGFBQWE7cUJBQzdDOzhCQUlnQixTQUFTO3NCQUR6QixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSXRCLE9BQU87c0JBRHZCLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFJbkIsT0FBTztzQkFEdkIsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQVVqQixRQUFRO3NCQUQxQixZQUFZO3VCQUFDLFdBQVc7Z0JBMEJsQixPQUFPO3NCQURiLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQWlFRSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtKc29uUGlwZSwgTG9jYXRpb24sIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgdHlwZSBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICB0eXBlIE9uSW5pdCxcbiAgICBzaWduYWwsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB0eXBlIHtBYnN0cmFjdENvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Rm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUge1BhcmFtcywgVXJsVHJlZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VXJsU2VyaWFsaXplcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VFVJX0RPQ19ERU1PX1RFWFRTLCBUVUlfRE9DX1VSTF9TVEFURV9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpRGVtb1BhcmFtc30gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90eXBlcyc7XG5pbXBvcnQge3R1aUNsZWFuT2JqZWN0LCB0dWlDb2VyY2VWYWx1ZUlzVHJ1ZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy91dGlscyc7XG5pbXBvcnQge1R1aVJlc2l6YWJsZSwgVHVpUmVzaXplcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3Jlc2l6ZXInO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUNsYW1wLCB0dWlUb0ludGVnZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5pbXBvcnQge3R1aVB1cmUsIHR1aVB4fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpRXhwYW5kfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2V4cGFuZCc7XG5pbXBvcnQge1R1aUdyb3VwfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2dyb3VwJztcbmltcG9ydCB7VFVJX0RBUktfTU9ERX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpRGF0YUxpc3RXcmFwcGVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvZGF0YS1saXN0LXdyYXBwZXInO1xuaW1wb3J0IHtUdWlTd2l0Y2h9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zd2l0Y2gnO1xuaW1wb3J0IHtUdWlDaGV2cm9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvY2hldnJvbic7XG5pbXBvcnQge1R1aVNlbGVjdE1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9jb21wb25lbnRzL3NlbGVjdCc7XG5pbXBvcnQge1R1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvZGlyZWN0aXZlcy90ZXh0ZmllbGQtY29udHJvbGxlcic7XG5pbXBvcnQge3NraXB9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBNSU5fV0lEVEggPSAxNjA7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWRlbW8nLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIEpzb25QaXBlLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUNoZXZyb24sXG4gICAgICAgIFR1aURhdGFMaXN0V3JhcHBlcixcbiAgICAgICAgVHVpRXhwYW5kLFxuICAgICAgICBUdWlHcm91cCxcbiAgICAgICAgVHVpUmVzaXphYmxlLFxuICAgICAgICBUdWlSZXNpemVyLFxuICAgICAgICBUdWlTZWxlY3RNb2R1bGUsXG4gICAgICAgIFR1aVN3aXRjaCxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmRleC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbmRleC5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLl9zdGlja3ldJzogJ3N0aWNreScsXG4gICAgICAgICcod2luZG93OnJlc2l6ZSknOiAnb25SZXNpemUoKScsXG4gICAgICAgICcoZG9jdW1lbnQ6bW91c2V1cC5zaWxlbnQpJzogJ29uTW91c2VVcCgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NEZW1vIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKFR1aVJlc2l6YWJsZSwge3N0YXRpYzogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemFibGU/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7c3RhdGljOiB0cnVlfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnQ/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3Jlc2l6ZXInLCB7c3RhdGljOiB0cnVlfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblJlZiA9IGluamVjdChMb2NhdGlvbik7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxTZXJpYWxpemVyID0gaW5qZWN0KFVybFNlcmlhbGl6ZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsU3RhdGVIYW5kbGVyID0gaW5qZWN0KFRVSV9ET0NfVVJMX1NUQVRFX0hBTkRMRVIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGFya01vZGUgPSBpbmplY3QoVFVJX0RBUktfTU9ERSk7XG5cbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgdGhlbWUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5kYXJrKCkgPyAnZGFyaycgOiAnbGlnaHQnKSk7XG5cbiAgICBwcm90ZWN0ZWQgZGFyayA9IHNpZ25hbChcbiAgICAgICAgdHVpQ29lcmNlVmFsdWVJc1RydWUodGhpcy5wYXJhbXMuZGFya01vZGUgPz8gdGhpcy5kYXJrTW9kZSgpKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5ICQgPSB0b09ic2VydmFibGUodGhpcy5kYXJrTW9kZSlcbiAgICAgICAgLnBpcGUoc2tpcCgxKSwgdGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKG1vZGUpID0+IHRoaXMub25Nb2RlQ2hhbmdlKG1vZGUpKTtcblxuICAgIHByb3RlY3RlZCB0ZXN0Rm9ybT86IEZvcm1Hcm91cDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB1cGRhdGVPblZhcmlhbnRzID0gWydjaGFuZ2UnLCAnYmx1cicsICdzdWJtaXQnXSBhcyBjb25zdDtcblxuICAgIHByb3RlY3RlZCB1cGRhdGVPbjogJ2JsdXInIHwgJ2NoYW5nZScgfCAnc3VibWl0JyA9XG4gICAgICAgIHRoaXMucGFyYW1zLnVwZGF0ZU9uIHx8IHRoaXMudXBkYXRlT25WYXJpYW50c1swXTtcblxuICAgIHByb3RlY3RlZCBvcGFxdWUgPSB0dWlDb2VyY2VWYWx1ZUlzVHJ1ZSh0aGlzLnBhcmFtcy5zYW5kYm94T3BhcXVlID8/IHRydWUpO1xuICAgIHByb3RlY3RlZCBleHBhbmRlZCA9IHR1aUNvZXJjZVZhbHVlSXNUcnVlKHRoaXMucGFyYW1zLnNhbmRib3hFeHBhbmRlZCA/PyBmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHNhbmRib3hXaWR0aCA9IHR1aVRvSW50ZWdlcih0aGlzLnBhcmFtcy5zYW5kYm94V2lkdGgpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0cyA9IGluamVjdChUVUlfRE9DX0RFTU9fVEVYVFMpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzdGlja3kgPSB0cnVlO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICAgICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLnNhbmRib3hXaWR0aCArIHRoaXMuZGVsdGEpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVXaWR0aCgpO1xuICAgICAgICB0aGlzLm9uTW91c2VVcCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk1vdXNlVXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVXJsKHtzYW5kYm94V2lkdGg6IHRoaXMuc2FuZGJveFdpZHRofSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uTW9kZUNoYW5nZShkYXJrTW9kZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRhcmsuc2V0KGRhcmtNb2RlKTtcbiAgICAgICAgdGhpcy51cGRhdGVVcmwoe3NhbmRib3hXaWR0aDogdGhpcy5zYW5kYm94V2lkdGgsIGRhcmtNb2RlfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRvZ2dsZURldGFpbHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgdGhpcy51cGRhdGVVcmwoe3NhbmRib3hFeHBhbmRlZDogdGhpcy5leHBhbmRlZH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjaGFuZ2VPcGFxdWUob3BhcXVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BhcXVlID0gb3BhcXVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVVybCh7c2FuZGJveE9wYXF1ZTogdGhpcy5vcGFxdWV9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlT25DaGFuZ2UodXBkYXRlT246ICdibHVyJyB8ICdjaGFuZ2UnIHwgJ3N1Ym1pdCcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVPbiA9IHVwZGF0ZU9uO1xuICAgICAgICB0aGlzLnVwZGF0ZVVybCh7dXBkYXRlT259KTtcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVdpZHRoKHdpZHRoID0gTmFOKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5yZXNpemVyIHx8ICF0aGlzLnJlc2l6YWJsZSB8fCAhdGhpcy5jb250ZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzYWZlID0gd2lkdGggfHwgdGhpcy5yZXNpemFibGUubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3QgdG90YWwgPSB0aGlzLmVsLmNsaWVudFdpZHRoO1xuICAgICAgICBjb25zdCBjbGFtcGVkID0gTWF0aC5yb3VuZCh0dWlDbGFtcChzYWZlLCBNSU5fV0lEVEgsIHRvdGFsKSkgLSB0aGlzLmRlbHRhO1xuICAgICAgICBjb25zdCB2YWxpZGF0ZWQgPSBzYWZlIDwgdG90YWwgPyBjbGFtcGVkIDogTmFOO1xuXG4gICAgICAgIHRoaXMucmVzaXplci5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gU3RyaW5nKGNsYW1wZWQgfHwgJy0nKTtcbiAgICAgICAgdGhpcy5yZXNpemFibGUubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHZhbGlkYXRlZCA/IHR1aVB4KHNhZmUpIDogJyc7XG4gICAgICAgIHRoaXMuc2FuZGJveFdpZHRoID0gdmFsaWRhdGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGRlbHRhKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc2l6YWJsZSAmJiB0aGlzLmNvbnRlbnRcbiAgICAgICAgICAgID8gdGhpcy5yZXNpemFibGUubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aFxuICAgICAgICAgICAgOiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHBhcmFtcygpOiBQYXJhbXMgfCBUdWlEZW1vUGFyYW1zIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VXJsVHJlZSgpLnF1ZXJ5UGFyYW1zO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSB1cGRhdGVVcmwocGFyYW1zOiBUdWlEZW1vUGFyYW1zKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRyZWUgPSB0aGlzLmdldFVybFRyZWUoKTtcbiAgICAgICAgY29uc3Qge3F1ZXJ5UGFyYW1zfSA9IHRyZWU7XG5cbiAgICAgICAgZGVsZXRlIHF1ZXJ5UGFyYW1zLnNhbmRib3hXaWR0aDtcblxuICAgICAgICB0cmVlLnF1ZXJ5UGFyYW1zID0ge1xuICAgICAgICAgICAgLi4ucXVlcnlQYXJhbXMsXG4gICAgICAgICAgICAuLi50dWlDbGVhbk9iamVjdCh7Li4ucGFyYW1zfSksXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5sb2NhdGlvblJlZi5nbyh0aGlzLnVybFN0YXRlSGFuZGxlcih0cmVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7Y29udHJvbCwgdXBkYXRlT259ID0gdGhpcztcblxuICAgICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy50ZXN0Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe3Rlc3RWYWx1ZTogY29udHJvbH0sIHt1cGRhdGVPbn0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRVcmxUcmVlKCk6IFVybFRyZWUge1xuICAgICAgICByZXR1cm4gdGhpcy51cmxTZXJpYWxpemVyLnBhcnNlKHRoaXMubG9jYXRpb25SZWYucGF0aCgpKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1zZXR0aW5nc1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cInQtbGFiZWxcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICB0dWlTd2l0Y2hcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJkYXJrKClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgICB7eyB0ZXh0c1swXSB9fVxuICAgIDwvbGFiZWw+XG4gICAgPGxhYmVsIGNsYXNzPVwidC1sYWJlbFwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIHR1aVN3aXRjaFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cIm9wYXF1ZVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VPcGFxdWUoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICAgIHt7IHRleHRzWzFdIH19XG4gICAgPC9sYWJlbD5cbjwvZGl2PlxuPGRpdlxuICAgIHR1aVJlc2l6YWJsZVxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICBbYXR0ci50dWlUaGVtZV09XCJ0aGVtZSgpXCJcbiAgICBbY2xhc3MudC13cmFwcGVyX3RyYW5zcGFyZW50XT1cIiFvcGFxdWVcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJ0LWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI2NvbnRlbnRcbiAgICAgICAgICAgIGlkPVwiZGVtby1jb250ZW50XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGZvcm1cbiAgICAgICAgICAgICAgICAqbmdJZj1cInRlc3RGb3JtXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZm9ybVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJ0ZXN0Rm9ybVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInQtaW5wdXQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZGVtby1idXR0b25fX3RvZ2dsZS1kZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbdHVpQ2hldnJvbl09XCJleHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEZXRhaWxzKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgdGV4dHNbMl0gfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8dHVpLWV4cGFuZFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtZXhwYW5kXCJcbiAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cImV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSB0dWlFeHBhbmRDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHByZSBjbGFzcz1cInQtdmFsdWVcIj5Gb3JtIGRhdGE6IHt7IHRlc3RGb3JtLnZhbHVlIHwganNvbiB9fTwvcHJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWZvcm0tY29udHJvbHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZGVtby1zZWxlY3RfX2V4cGFuZC11cGRhdGUtb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ1cGRhdGVPblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVPbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZU9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktZGF0YS1saXN0LXdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICp0dWlEYXRhTGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cInVwZGF0ZU9uVmFyaWFudHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZGVtby1idXR0b25fX3Jlc2V0LXN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJlc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmZsZXhdPVwiJzAgMCBhdXRvJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kZW1vLWJ1dHRvbl9fc3VibWl0LXN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5mbGV4XT1cIicwIDAgYXV0bydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3VibWl0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3R1aS1leHBhbmQ+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICNyZXNpemVyXG4gICAgICAgIGNsYXNzPVwidC1yZXNpemVyXCJcbiAgICAgICAgW3R1aVJlc2l6ZXJdPVwiWzEsIDBdXCJcbiAgICAgICAgKHR1aVNpemVDaGFuZ2UpPVwidXBkYXRlV2lkdGgoJGV2ZW50WzBdKVwiXG4gICAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import { NgForOf, TitleCasePipe } from '@angular/common';
|
|
1
|
+
import { NgForOf, NgIf, TitleCasePipe } from '@angular/common';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
3
3
|
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
4
4
|
import { TuiButton } from '@taiga-ui/core/components/button';
|
|
5
5
|
import { TuiDataList } from '@taiga-ui/core/components/data-list';
|
|
6
6
|
import { tuiScrollbarOptionsProvider } from '@taiga-ui/core/components/scrollbar';
|
|
7
7
|
import { TuiTextfield } from '@taiga-ui/core/components/textfield';
|
|
8
|
-
import { TuiDropdown } from '@taiga-ui/core/directives/dropdown';
|
|
9
8
|
import { TuiFlagPipe } from '@taiga-ui/core/pipes/flag';
|
|
10
9
|
import { TuiLanguageSwitcherService } from '@taiga-ui/i18n/utils';
|
|
10
|
+
import { TuiBadge } from '@taiga-ui/kit/components/badge';
|
|
11
|
+
import { TuiBadgedContent } from '@taiga-ui/kit/components/badged-content';
|
|
11
12
|
import { TuiButtonSelect } from '@taiga-ui/kit/directives/button-select';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
import * as i1 from "@angular/forms";
|
|
14
|
-
import * as i2 from "@taiga-ui/
|
|
15
|
-
import * as i3 from "@taiga-ui/core/components/
|
|
15
|
+
import * as i2 from "@taiga-ui/kit/components/badged-content";
|
|
16
|
+
import * as i3 from "@taiga-ui/core/components/data-list";
|
|
17
|
+
import * as i4 from "@taiga-ui/core/components/textfield";
|
|
16
18
|
class TuiDocLanguageSwitcher {
|
|
17
19
|
constructor() {
|
|
18
20
|
this.switcher = inject(TuiLanguageSwitcherService);
|
|
@@ -47,24 +49,26 @@ class TuiDocLanguageSwitcher {
|
|
|
47
49
|
this.open = false;
|
|
48
50
|
}
|
|
49
51
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocLanguageSwitcher, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocLanguageSwitcher, isStandalone: true, selector: "tui-doc-language-switcher", providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], ngImport: i0, template: "<button\n
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocLanguageSwitcher, isStandalone: true, selector: "tui-doc-language-switcher", providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], ngImport: i0, template: "<tui-badged-content>\n <img\n alt=\"\"\n size=\"s\"\n tuiBadge\n tuiSlot=\"bottom\"\n [src]=\"flags.get(language.value ?? '') || flags.get(switcher.language) | tuiFlag\"\n />\n\n <button\n appearance=\"whiteblock\"\n iconStart=\"@tui.languages\"\n size=\"s\"\n tuiButtonSelect\n tuiIconButton\n type=\"button\"\n [formControl]=\"language\"\n >\n Language\n <tui-data-list *tuiTextfieldDropdown>\n <tui-opt-group label=\"Language of components\">\n <button\n *ngFor=\"let name of names\"\n tuiOption\n type=\"button\"\n [value]=\"name | titlecase\"\n (click)=\"setLang(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-opt-group>\n </tui-data-list>\n </button>\n</tui-badged-content>\n", styles: [".t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%;margin-right:.5rem}[tuiOption]{justify-content:flex-start;gap:.5rem}img{box-shadow:inset 0 0 0 1px var(--tui-border-normal)}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: i2.TuiBadgedContentDirective, selector: "[tuiSlot]", inputs: ["tuiSlot"] }, { kind: "component", type: i2.TuiBadgedContentComponent, selector: "tui-badged-content" }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiButtonSelect, selector: "button[tuiButtonSelect]" }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i3.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "directive", type: i3.TuiOptGroup, selector: "tui-opt-group", inputs: ["label"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "directive", type: i4.TuiTextfieldDropdownDirective, selector: "ng-template[tuiTextfieldDropdown]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
51
53
|
}
|
|
52
54
|
export { TuiDocLanguageSwitcher };
|
|
53
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocLanguageSwitcher, decorators: [{
|
|
54
56
|
type: Component,
|
|
55
57
|
args: [{ standalone: true, selector: 'tui-doc-language-switcher', imports: [
|
|
56
58
|
NgForOf,
|
|
59
|
+
NgIf,
|
|
57
60
|
ReactiveFormsModule,
|
|
58
61
|
TitleCasePipe,
|
|
62
|
+
TuiBadge,
|
|
63
|
+
TuiBadgedContent,
|
|
59
64
|
TuiButton,
|
|
60
65
|
TuiButtonSelect,
|
|
61
66
|
TuiDataList,
|
|
62
|
-
TuiDropdown,
|
|
63
67
|
TuiFlagPipe,
|
|
64
68
|
TuiTextfield,
|
|
65
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], template: "<button\n
|
|
69
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], template: "<tui-badged-content>\n <img\n alt=\"\"\n size=\"s\"\n tuiBadge\n tuiSlot=\"bottom\"\n [src]=\"flags.get(language.value ?? '') || flags.get(switcher.language) | tuiFlag\"\n />\n\n <button\n appearance=\"whiteblock\"\n iconStart=\"@tui.languages\"\n size=\"s\"\n tuiButtonSelect\n tuiIconButton\n type=\"button\"\n [formControl]=\"language\"\n >\n Language\n <tui-data-list *tuiTextfieldDropdown>\n <tui-opt-group label=\"Language of components\">\n <button\n *ngFor=\"let name of names\"\n tuiOption\n type=\"button\"\n [value]=\"name | titlecase\"\n (click)=\"setLang(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-opt-group>\n </tui-data-list>\n </button>\n</tui-badged-content>\n", styles: [".t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%;margin-right:.5rem}[tuiOption]{justify-content:flex-start;gap:.5rem}img{box-shadow:inset 0 0 0 1px var(--tui-border-normal)}\n"] }]
|
|
66
70
|
}] });
|
|
67
71
|
function capitalize(value) {
|
|
68
72
|
return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;
|
|
69
73
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9sYW5ndWFnZS1zd2l0Y2hlci9pbmRleC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9jb21wb25lbnRzL2xhbmd1YWdlLXN3aXRjaGVyL2luZGV4Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDaEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDaEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7QUFFdkUsTUFxQmEsc0JBQXNCO0lBckJuQztRQXNCdUIsYUFBUSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLGFBQVEsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXhFLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFUCxVQUFLLEdBQUcsSUFBSSxHQUFHLENBQXFDO1lBQ2hFLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztZQUNwQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDakIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1lBQ2pCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztZQUNoQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDaEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1lBQ2hCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztZQUNqQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDZixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDaEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1lBQ2hCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUNmLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztZQUNoQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7WUFDcEIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1lBQ2pCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztZQUNqQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDakIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1lBQ25CLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztTQUN2QixDQUFDLENBQUM7UUFFYSxVQUFLLEdBQXNCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBTzVFO0lBTFUsT0FBTyxDQUFDLElBQXFCO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7K0dBbENRLHNCQUFzQjttR0FBdEIsc0JBQXNCLHdFQUZwQixDQUFDLDJCQUEyQixDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUMsMEJDakM3RCw2cENBdUNBLHlQRHJCUSxPQUFPLGtIQUVQLG1CQUFtQixxVEFDbkIsYUFBYSxrREFDYixRQUFRLHFSQUVSLFNBQVMsb0lBQ1QsZUFBZSxzWkFFZixXQUFXOztTQVFOLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQXJCbEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sMkJBQTJCLFdBQzVCO3dCQUNMLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsZUFBZTt3QkFDZixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsWUFBWTtxQkFDZixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLDJCQUEyQixDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7O0FBdUM3RCxTQUFTLFVBQVUsQ0FBQyxLQUFhO0lBQzdCLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmLCBUaXRsZUNhc2VQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpRGF0YUxpc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7dHVpU2Nyb2xsYmFyT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Njcm9sbGJhcic7XG5pbXBvcnQge1R1aVRleHRmaWVsZH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUdWlGbGFnUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvZmxhZyc7XG5pbXBvcnQgdHlwZSB7VHVpQ291bnRyeUlzb0NvZGUsIFR1aUxhbmd1YWdlTmFtZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4vdHlwZXMnO1xuaW1wb3J0IHtUdWlMYW5ndWFnZVN3aXRjaGVyU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4vdXRpbHMnO1xuaW1wb3J0IHtUdWlCYWRnZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7VHVpQmFkZ2VkQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2JhZGdlZC1jb250ZW50JztcbmltcG9ydCB7VHVpQnV0dG9uU2VsZWN0fSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvYnV0dG9uLXNlbGVjdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWxhbmd1YWdlLXN3aXRjaGVyJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nRm9yT2YsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRpdGxlQ2FzZVBpcGUsXG4gICAgICAgIFR1aUJhZGdlLFxuICAgICAgICBUdWlCYWRnZWRDb250ZW50LFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUJ1dHRvblNlbGVjdCxcbiAgICAgICAgVHVpRGF0YUxpc3QsXG4gICAgICAgIFR1aUZsYWdQaXBlLFxuICAgICAgICBUdWlUZXh0ZmllbGQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5kZXguaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5kZXgubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aVNjcm9sbGJhck9wdGlvbnNQcm92aWRlcih7bW9kZTogJ2hvdmVyJ30pXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jTGFuZ3VhZ2VTd2l0Y2hlciB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN3aXRjaGVyID0gaW5qZWN0KFR1aUxhbmd1YWdlU3dpdGNoZXJTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFuZ3VhZ2UgPSBuZXcgRm9ybUNvbnRyb2woY2FwaXRhbGl6ZSh0aGlzLnN3aXRjaGVyLmxhbmd1YWdlKSk7XG5cbiAgICBwcm90ZWN0ZWQgb3BlbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGZsYWdzID0gbmV3IE1hcDxUdWlMYW5ndWFnZU5hbWUsIFR1aUNvdW50cnlJc29Db2RlPihbXG4gICAgICAgIFsnYmVsYXJ1c2lhbicsICdCWSddLFxuICAgICAgICBbJ2NoaW5lc2UnLCAnQ04nXSxcbiAgICAgICAgWydkdXRjaCcsICdOTCddLFxuICAgICAgICBbJ2VuZ2xpc2gnLCAnR0InXSxcbiAgICAgICAgWydmcmVuY2gnLCAnRlInXSxcbiAgICAgICAgWydnZXJtYW4nLCAnREUnXSxcbiAgICAgICAgWydoZWJyZXcnLCAnSUwnXSxcbiAgICAgICAgWydpdGFsaWFuJywgJ0lUJ10sXG4gICAgICAgIFsnamFwYW4nLCAnSlAnXSxcbiAgICAgICAgWydrYXpha2gnLCAnS1onXSxcbiAgICAgICAgWydrb3JlYW4nLCAnS1InXSxcbiAgICAgICAgWydtYWxheScsICdNWSddLFxuICAgICAgICBbJ3BvbGlzaCcsICdQTCddLFxuICAgICAgICBbJ3BvcnR1Z3Vlc2UnLCAnUFQnXSxcbiAgICAgICAgWydydXNzaWFuJywgJ1JVJ10sXG4gICAgICAgIFsnc3BhbmlzaCcsICdFUyddLFxuICAgICAgICBbJ3R1cmtpc2gnLCAnVFInXSxcbiAgICAgICAgWyd1a3JhaW5pYW4nLCAnVUEnXSxcbiAgICAgICAgWyd2aWV0bmFtZXNlJywgJ1ZOJ10sXG4gICAgXSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbmFtZXM6IFR1aUxhbmd1YWdlTmFtZVtdID0gQXJyYXkuZnJvbSh0aGlzLmZsYWdzLmtleXMoKSk7XG5cbiAgICBwdWJsaWMgc2V0TGFuZyhsYW5nOiBUdWlMYW5ndWFnZU5hbWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZS5zZXRWYWx1ZShsYW5nKTtcbiAgICAgICAgdGhpcy5zd2l0Y2hlci5zZXRMYW5ndWFnZShsYW5nKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBjYXBpdGFsaXplKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke3ZhbHVlLnNsaWNlKDEpfWA7XG59XG4iLCI8dHVpLWJhZGdlZC1jb250ZW50PlxuICAgIDxpbWdcbiAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0dWlCYWRnZVxuICAgICAgICB0dWlTbG90PVwiYm90dG9tXCJcbiAgICAgICAgW3NyY109XCJmbGFncy5nZXQobGFuZ3VhZ2UudmFsdWUgPz8gJycpIHx8IGZsYWdzLmdldChzd2l0Y2hlci5sYW5ndWFnZSkgfCB0dWlGbGFnXCJcbiAgICAvPlxuXG4gICAgPGJ1dHRvblxuICAgICAgICBhcHBlYXJhbmNlPVwid2hpdGVibG9ja1wiXG4gICAgICAgIGljb25TdGFydD1cIkB0dWkubGFuZ3VhZ2VzXCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0dWlCdXR0b25TZWxlY3RcbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImxhbmd1YWdlXCJcbiAgICA+XG4gICAgICAgIExhbmd1YWdlXG4gICAgICAgIDx0dWktZGF0YS1saXN0ICp0dWlUZXh0ZmllbGREcm9wZG93bj5cbiAgICAgICAgICAgIDx0dWktb3B0LWdyb3VwIGxhYmVsPVwiTGFuZ3VhZ2Ugb2YgY29tcG9uZW50c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG5hbWUgb2YgbmFtZXNcIlxuICAgICAgICAgICAgICAgICAgICB0dWlPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJuYW1lIHwgdGl0bGVjYXNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldExhbmcobmFtZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZmxhZ3MuZ2V0KG5hbWUpIHwgdHVpRmxhZ1wiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIHt7IG5hbWUgfCB0aXRsZWNhc2UgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvdHVpLW9wdC1ncm91cD5cbiAgICAgICAgPC90dWktZGF0YS1saXN0PlxuICAgIDwvYnV0dG9uPlxuPC90dWktYmFkZ2VkLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
1
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
2
|
import { ActivatedRoute, NavigationEnd, Router, Scroll } from '@angular/router';
|
|
4
3
|
import { TUI_DOC_PAGES, TUI_DOC_TITLE } from '@taiga-ui/addon-doc/tokens';
|
|
5
4
|
import { tuiAutoFocusOptionsProvider } from '@taiga-ui/cdk/directives/auto-focus';
|
|
6
|
-
import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
5
|
+
import { tuiCreateToken, tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
7
6
|
import { tuiLinkOptionsProvider } from '@taiga-ui/core/components/link';
|
|
8
7
|
import { tuiScrollbarOptionsProvider } from '@taiga-ui/core/components/scrollbar';
|
|
9
8
|
import { filter, map, mergeMap } from 'rxjs';
|
|
@@ -16,15 +15,15 @@ function labelsProviderFactory(pages) {
|
|
|
16
15
|
/**
|
|
17
16
|
* Page title
|
|
18
17
|
*/
|
|
19
|
-
export const NAVIGATION_TITLE =
|
|
18
|
+
export const NAVIGATION_TITLE = tuiCreateToken();
|
|
20
19
|
/**
|
|
21
20
|
* Navigation sections labels for search
|
|
22
21
|
*/
|
|
23
|
-
export const NAVIGATION_LABELS =
|
|
22
|
+
export const NAVIGATION_LABELS = tuiCreateToken();
|
|
24
23
|
/**
|
|
25
24
|
* Navigation pages
|
|
26
25
|
*/
|
|
27
|
-
export const NAVIGATION_ITEMS =
|
|
26
|
+
export const NAVIGATION_ITEMS = tuiCreateToken();
|
|
28
27
|
export const NAVIGATION_PROVIDERS = [
|
|
29
28
|
tuiAutoFocusOptionsProvider({ preventScroll: true }),
|
|
30
29
|
tuiLinkOptionsProvider({ appearance: 'icon' }),
|
|
@@ -56,4 +55,4 @@ export const NAVIGATION_PROVIDERS = [
|
|
|
56
55
|
mode: 'hover',
|
|
57
56
|
}),
|
|
58
57
|
];
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTlELE9BQU8sRUFBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RSxPQUFPLEVBQUMsYUFBYSxFQUFFLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXhFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxjQUFjLEVBQUUsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFaEYsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTNDLFNBQVMscUJBQXFCLENBQUMsS0FBdUI7SUFDbEQsT0FBTyxLQUFLO1NBQ1AsR0FBRyxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDO1NBQzNCLE1BQU0sQ0FBQyxZQUFZLENBQUM7U0FDcEIsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxFQUFzQixDQUFDO0FBRXJFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxFQUFxQixDQUFDO0FBRXJFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxFQUErQixDQUFDO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFlO0lBQzVDLDJCQUEyQixDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDO0lBQ2xELHNCQUFzQixDQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxDQUFDO0lBQzVDO1FBQ0ksT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQztRQUM3QyxVQUFVLEVBQUUsQ0FDUixNQUFjLEVBQ2QsY0FBOEIsRUFDOUIsV0FBbUIsRUFDRCxFQUFFLENBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLE1BQU0sQ0FDRixDQUFDLEtBQVksRUFBRSxFQUFFLENBQ2IsS0FBSyxZQUFZLGFBQWE7WUFDOUIsQ0FBQyxLQUFLLFlBQVksTUFBTTtnQkFDcEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLFlBQVksYUFBYTtnQkFDNUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNuQixFQUNELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQ3BDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFDcEIsUUFBUSxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsV0FBVyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQzFDLGtCQUFrQixFQUFFLENBQ3ZCO0tBQ1I7SUFDRDtRQUNJLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3JCLFVBQVUsRUFBRSxxQkFBcUI7S0FDcEM7SUFDRDtRQUNJLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3JCLFVBQVUsRUFBRSxDQUFDLEtBQXVCLEVBQStCLEVBQUU7WUFDakUsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFNUMsT0FBTztnQkFDSCxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUM7Z0JBQ3hFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN4QyxDQUFDO1FBQ04sQ0FBQztLQUNKO0lBQ0QsMkJBQTJCLENBQUM7UUFDeEIsSUFBSSxFQUFFLE9BQU87S0FDaEIsQ0FBQztDQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB0eXBlIHtFdmVudH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgU2Nyb2xsfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUVUlfRE9DX1BBR0VTLCBUVUlfRE9DX1RJVExFfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpRG9jUm91dGVQYWdlc30gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90eXBlcyc7XG5pbXBvcnQge3R1aUF1dG9Gb2N1c09wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2F1dG8tZm9jdXMnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbiwgdHVpSXNQcmVzZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0dWlMaW5rT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2xpbmsnO1xuaW1wb3J0IHt0dWlTY3JvbGxiYXJPcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsYmFyJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1lcmdlTWFwfSBmcm9tICdyeGpzJztcblxuZnVuY3Rpb24gbGFiZWxzUHJvdmlkZXJGYWN0b3J5KHBhZ2VzOiBUdWlEb2NSb3V0ZVBhZ2VzKTogcmVhZG9ubHkgc3RyaW5nW10ge1xuICAgIHJldHVybiBwYWdlc1xuICAgICAgICAubWFwKCh7c2VjdGlvbn0pID0+IHNlY3Rpb24pXG4gICAgICAgIC5maWx0ZXIodHVpSXNQcmVzZW50KVxuICAgICAgICAuZmlsdGVyKChpdGVtLCBpbmRleCwgYXJyYXkpID0+IGFycmF5LmluZGV4T2YoaXRlbSkgPT09IGluZGV4KTtcbn1cblxuLyoqXG4gKiBQYWdlIHRpdGxlXG4gKi9cbmV4cG9ydCBjb25zdCBOQVZJR0FUSU9OX1RJVExFID0gdHVpQ3JlYXRlVG9rZW48T2JzZXJ2YWJsZTxzdHJpbmc+PigpO1xuXG4vKipcbiAqIE5hdmlnYXRpb24gc2VjdGlvbnMgbGFiZWxzIGZvciBzZWFyY2hcbiAqL1xuZXhwb3J0IGNvbnN0IE5BVklHQVRJT05fTEFCRUxTID0gdHVpQ3JlYXRlVG9rZW48cmVhZG9ubHkgc3RyaW5nW10+KCk7XG5cbi8qKlxuICogTmF2aWdhdGlvbiBwYWdlc1xuICovXG5leHBvcnQgY29uc3QgTkFWSUdBVElPTl9JVEVNUyA9IHR1aUNyZWF0ZVRva2VuPHJlYWRvbmx5IFR1aURvY1JvdXRlUGFnZXNbXT4oKTtcblxuZXhwb3J0IGNvbnN0IE5BVklHQVRJT05fUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIHR1aUF1dG9Gb2N1c09wdGlvbnNQcm92aWRlcih7cHJldmVudFNjcm9sbDogdHJ1ZX0pLFxuICAgIHR1aUxpbmtPcHRpb25zUHJvdmlkZXIoe2FwcGVhcmFuY2U6ICdpY29uJ30pLFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogTkFWSUdBVElPTl9USVRMRSxcbiAgICAgICAgZGVwczogW1JvdXRlciwgQWN0aXZhdGVkUm91dGUsIFRVSV9ET0NfVElUTEVdLFxuICAgICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgICAgICByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgIHRpdGxlUHJlZml4OiBzdHJpbmcsXG4gICAgICAgICk6IE9ic2VydmFibGU8c3RyaW5nPiA9PlxuICAgICAgICAgICAgcm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKGV2ZW50OiBFdmVudCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50IGluc3RhbmNlb2YgU2Nyb2xsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBldmVudC5yb3V0ZXJFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiBhY3RpdmF0ZWRSb3V0ZS5maXJzdENoaWxkKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgoe2RhdGF9KSA9PiBkYXRhKSxcbiAgICAgICAgICAgICAgICBtYXAoKHt0aXRsZX0pID0+IGAke3RpdGxlUHJlZml4fSR7dGl0bGV9YCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgICAgICApLFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBOQVZJR0FUSU9OX0xBQkVMUyxcbiAgICAgICAgZGVwczogW1RVSV9ET0NfUEFHRVNdLFxuICAgICAgICB1c2VGYWN0b3J5OiBsYWJlbHNQcm92aWRlckZhY3RvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IE5BVklHQVRJT05fSVRFTVMsXG4gICAgICAgIGRlcHM6IFtUVUlfRE9DX1BBR0VTXSxcbiAgICAgICAgdXNlRmFjdG9yeTogKHBhZ2VzOiBUdWlEb2NSb3V0ZVBhZ2VzKTogcmVhZG9ubHkgVHVpRG9jUm91dGVQYWdlc1tdID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVscyA9IGxhYmVsc1Byb3ZpZGVyRmFjdG9yeShwYWdlcyk7XG5cbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgLi4ubGFiZWxzLm1hcCgobGFiZWwpID0+IHBhZ2VzLmZpbHRlcigoe3NlY3Rpb259KSA9PiBzZWN0aW9uID09PSBsYWJlbCkpLFxuICAgICAgICAgICAgICAgIHBhZ2VzLmZpbHRlcigocGFnZSkgPT4gIXBhZ2Uuc2VjdGlvbiksXG4gICAgICAgICAgICBdO1xuICAgICAgICB9LFxuICAgIH0sXG4gICAgdHVpU2Nyb2xsYmFyT3B0aW9uc1Byb3ZpZGVyKHtcbiAgICAgICAgbW9kZTogJ2hvdmVyJyxcbiAgICB9KSxcbl07XG4iXX0=
|