@taiga-ui/addon-doc 2.50.2 → 2.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-addon-doc.umd.js +82 -21
- package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-doc.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-doc.umd.min.js.map +1 -1
- package/components/documentation/documentation.component.d.ts +1 -0
- package/components/example/example.component.d.ts +2 -1
- package/components/navigation/navigation.component.d.ts +3 -1
- package/directives/scroll-into-view/scroll-into-view.directive.d.ts +9 -1
- package/directives/scroll-into-view/scroll-into-view.module.d.ts +6 -0
- package/esm2015/components/documentation/documentation.component.js +5 -2
- package/esm2015/components/example/example.component.js +10 -6
- package/esm2015/components/navigation/navigation.component.js +17 -11
- package/esm2015/components/navigation/navigation.module.js +3 -2
- package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +32 -11
- package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +19 -3
- package/esm2015/public-api.js +3 -1
- package/esm2015/tokens/code-actions.js +5 -0
- package/esm2015/tokens/page-loaded.js +5 -0
- package/esm5/components/documentation/documentation.component.js +5 -2
- package/esm5/components/example/example.component.js +10 -6
- package/esm5/components/navigation/navigation.component.js +17 -11
- package/esm5/components/navigation/navigation.module.js +3 -2
- package/esm5/directives/scroll-into-view/scroll-into-view.directive.js +35 -11
- package/esm5/directives/scroll-into-view/scroll-into-view.module.js +20 -2
- package/esm5/public-api.js +3 -1
- package/esm5/tokens/code-actions.js +5 -0
- package/esm5/tokens/page-loaded.js +5 -0
- package/fesm2015/taiga-ui-addon-doc.js +78 -26
- package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
- package/fesm5/taiga-ui-addon-doc.js +82 -25
- package/fesm5/taiga-ui-addon-doc.js.map +1 -1
- package/package.json +5 -5
- package/public-api.d.ts +2 -0
- package/taiga-ui-addon-doc.metadata.json +1 -1
- package/tokens/code-actions.d.ts +4 -0
- package/tokens/page-loaded.d.ts +3 -0
|
@@ -17,6 +17,7 @@ export declare class TuiDocDocumentationComponent implements AfterContentInit {
|
|
|
17
17
|
onOpacityChange(connector: TuiDocDocumentationPropertyConnectorDirective<string>, opacity: number): void;
|
|
18
18
|
stripOptional(name: string): string;
|
|
19
19
|
isOptional(name: string): boolean;
|
|
20
|
+
isPrimitivePolymorpheusContent(value: unknown): boolean;
|
|
20
21
|
showCleaner(type: string): boolean;
|
|
21
22
|
showContentTooltip(type: string): boolean;
|
|
22
23
|
inspectAny(data: unknown): string;
|
|
@@ -15,6 +15,7 @@ export declare class TuiDocExampleComponent {
|
|
|
15
15
|
readonly codeEditor: TuiCodeEditor | null;
|
|
16
16
|
private readonly processContent;
|
|
17
17
|
readonly isCypress: boolean;
|
|
18
|
+
readonly codeActions: PolymorpheusContent[];
|
|
18
19
|
private readonly rawLoader$$;
|
|
19
20
|
heading: PolymorpheusContent;
|
|
20
21
|
description: PolymorpheusContent;
|
|
@@ -26,7 +27,7 @@ export declare class TuiDocExampleComponent {
|
|
|
26
27
|
readonly copy$: Observable<string>;
|
|
27
28
|
readonly processor$: Observable<Record<string, string>>;
|
|
28
29
|
readonly loading$: Subject<boolean>;
|
|
29
|
-
constructor(id: string | null, clipboard: Clipboard, notifications: TuiNotificationsService, location: Location, copyTexts$: Observable<[string, string]>, texts: [string, string, string], codeEditor: TuiCodeEditor | null, processContent: TuiHandler<Record<string, string>, Record<string, string>>, isCypress: boolean);
|
|
30
|
+
constructor(id: string | null, clipboard: Clipboard, notifications: TuiNotificationsService, location: Location, copyTexts$: Observable<[string, string]>, texts: [string, string, string], codeEditor: TuiCodeEditor | null, processContent: TuiHandler<Record<string, string>, Record<string, string>>, isCypress: boolean, codeActions: PolymorpheusContent[]);
|
|
30
31
|
copyExampleLink(): void;
|
|
31
32
|
edit(files: Record<string, string>): void;
|
|
32
33
|
}
|
|
@@ -14,6 +14,8 @@ export declare class TuiDocNavigationComponent {
|
|
|
14
14
|
readonly searchText: string;
|
|
15
15
|
private readonly router;
|
|
16
16
|
private readonly activatedRoute;
|
|
17
|
+
private readonly destroy$;
|
|
18
|
+
private readonly readyToScroll$;
|
|
17
19
|
menuOpen: boolean;
|
|
18
20
|
search: string;
|
|
19
21
|
open: boolean;
|
|
@@ -21,7 +23,7 @@ export declare class TuiDocNavigationComponent {
|
|
|
21
23
|
openPagesGroupsArr: boolean[];
|
|
22
24
|
active: string;
|
|
23
25
|
readonly mode$: Observable<TuiBrightness>;
|
|
24
|
-
constructor(changeDetectorRef: ChangeDetectorRef, titleService: Title, title$: Observable<string>, documentRef: Document, mode: TuiModeDirective, sidebar: unknown, labels: string[], items: readonly TuiDocPages[], searchText: string, router: Router, activatedRoute: ActivatedRoute);
|
|
26
|
+
constructor(changeDetectorRef: ChangeDetectorRef, titleService: Title, title$: Observable<string>, documentRef: Document, mode: TuiModeDirective, sidebar: unknown, labels: string[], items: readonly TuiDocPages[], searchText: string, router: Router, activatedRoute: ActivatedRoute, destroy$: Observable<void>, readyToScroll$: Observable<boolean>);
|
|
25
27
|
get canOpen(): boolean;
|
|
26
28
|
get filteredItems(): ReadonlyArray<readonly TuiDocPage[]>;
|
|
27
29
|
get itemsWithoutSections(): TuiDocPages;
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
2
|
import { TuiDestroyService } from '@taiga-ui/cdk';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated: use {@link TuiScrollIntoViewLinkDirective}
|
|
6
|
+
* TODO: remove in v3.0
|
|
7
|
+
*/
|
|
3
8
|
export declare class ScrollIntoViewDirective {
|
|
9
|
+
readonly readyToScroll$: Observable<boolean>;
|
|
4
10
|
set scrollIntoView(shallWe: boolean);
|
|
5
11
|
private readonly scroll$;
|
|
6
|
-
constructor(destroy$: TuiDestroyService, { nativeElement }: ElementRef<HTMLElement>);
|
|
12
|
+
constructor(destroy$: TuiDestroyService, { nativeElement }: ElementRef<HTMLElement>, readyToScroll$: Observable<boolean>);
|
|
13
|
+
}
|
|
14
|
+
export declare class TuiScrollIntoViewLinkDirective extends ScrollIntoViewDirective {
|
|
7
15
|
}
|
|
@@ -89,6 +89,9 @@ let TuiDocDocumentationComponent = class TuiDocDocumentationComponent {
|
|
|
89
89
|
isOptional(name) {
|
|
90
90
|
return name.includes('?');
|
|
91
91
|
}
|
|
92
|
+
isPrimitivePolymorpheusContent(value) {
|
|
93
|
+
return typeof value === 'string' || typeof value === 'number';
|
|
94
|
+
}
|
|
92
95
|
showCleaner(type) {
|
|
93
96
|
return type.includes('null');
|
|
94
97
|
}
|
|
@@ -118,7 +121,7 @@ __decorate([
|
|
|
118
121
|
TuiDocDocumentationComponent = __decorate([
|
|
119
122
|
Component({
|
|
120
123
|
selector: 'tui-doc-documentation',
|
|
121
|
-
template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<table class=\"t-table\">\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-cell_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property\"\n >\n {{ stripOptional(propertyConnector.attrName) }}\n <tui-badge\n *ngIf=\"isOptional(propertyConnector.attrName)\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container\n *ngTemplateOutlet=\"propertyConnector.template\"\n ></ng-container>\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"showContentTooltip(propertyConnector.documentationPropertyType)\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{ texts[4] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/tinkoff/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell\"\n >\n <ng-container\n *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\"\n >\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"showCleaner(propertyConnector.documentationPropertyType)\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ inspectAny(data) }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container\n [ngSwitch]=\"propertyConnector.documentationPropertyType\"\n >\n <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldType=\"text\"\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n [value]=\"getColor(propertyConnector.documentationPropertyValue)\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n ></tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n</table>\n",
|
|
124
|
+
template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<table class=\"t-table\">\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-cell_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property\"\n >\n {{ stripOptional(propertyConnector.attrName) }}\n <tui-badge\n *ngIf=\"isOptional(propertyConnector.attrName)\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container\n *ngTemplateOutlet=\"propertyConnector.template\"\n ></ng-container>\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"showContentTooltip(propertyConnector.documentationPropertyType)\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{ texts[4] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/tinkoff/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell\"\n >\n <ng-container\n *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\"\n >\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"showCleaner(propertyConnector.documentationPropertyType)\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ inspectAny(data) }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container\n [ngSwitch]=\"propertyConnector.documentationPropertyType\"\n >\n <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldType=\"text\"\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n [value]=\"getColor(propertyConnector.documentationPropertyValue)\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n ></tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n\n <ng-container *ngSwitchCase=\"'PolymorpheusContent'\">\n <tui-primitive-textfield\n *ngIf=\"isPrimitivePolymorpheusContent(propertyConnector.documentationPropertyValue)\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue.toString()\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n >\n Default content\n </tui-primitive-textfield>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n</table>\n",
|
|
122
125
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
123
126
|
animations: [
|
|
124
127
|
trigger('emitEvent', [
|
|
@@ -131,4 +134,4 @@ TuiDocDocumentationComponent = __decorate([
|
|
|
131
134
|
__param(1, Inject(TUI_DOC_DOCUMENTATION_TEXTS))
|
|
132
135
|
], TuiDocDocumentationComponent);
|
|
133
136
|
export { TuiDocDocumentationComponent };
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLDZDQUE2QyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFFM0csbURBQW1EO0FBQ25ELDJDQUEyQztBQUMzQyxXQUFXO0FBWVgsSUFBYSw0QkFBNEIsR0FBekMsTUFBYSw0QkFBNEI7SUFnQnJDLFlBQ2dELGlCQUFvQyxFQUV2RSxLQUErQztRQUZaLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFFdkUsVUFBSyxHQUFMLEtBQUssQ0FBMEM7UUFqQjVELFlBQU8sR0FBRyxFQUFFLENBQUM7UUFHYixl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QkFBcUIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBYTtRQUNwQixPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNKLENBQUE7O1lBakhzRSxpQkFBaUIsdUJBQS9FLE1BQU0sU0FBQyxpQkFBaUI7d0NBQ3hCLE1BQU0sU0FBQywyQkFBMkI7O0FBaEJ2QztJQURDLEtBQUssRUFBRTs2REFDSztBQUdiO0lBREMsS0FBSyxFQUFFO2dFQUNVO0FBR2xCO0lBREMsS0FBSyxFQUFFOzJEQUNNO0FBR2Q7SUFEQyxlQUFlLENBQUMsNkNBQTZDLENBQUM7MEVBRS9DO0FBWlAsNEJBQTRCO0lBWHhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx1QkFBdUI7UUFDakMsa3FPQUE0QztRQUU1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxVQUFVLEVBQUU7WUFDUixPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUNqQixVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7YUFDNUUsQ0FBQztTQUNMOztLQUNKLENBQUM7SUFrQk8sV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0dBbEIvQiw0QkFBNEIsQ0FrSXhDO1NBbElZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VNUFRZX1FVRVJZLCBpdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUsIHdhdGNofSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7bWVyZ2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFN9IGZyb20gJy4uLy4uL3Rva2Vucy9pMThuJztcbmltcG9ydCB7aGV4VG9SZ2IsIHJnYlRvSGV4fSBmcm9tICcuLi8uLi91dGlscy9jb2xvci1jb252ZXJzaW9uJztcbmltcG9ydCB7aW5zcGVjdEFueX0gZnJvbSAnLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQge1R1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZX0gZnJvbSAnLi9kb2N1bWVudGF0aW9uLXByb3BlcnR5LWNvbm5lY3Rvci5kaXJlY3RpdmUnO1xuXG4vLyBAYmFkIFRPRE8gc3Vic2NyaWJlIHByb3BlcnRpZXNDb25uZWN0b3JzIGNoYW5nZXNcbi8vIEBiYWQgVE9ETyByZWZhY3RvciB0byBtYWtlIG1vcmUgZmxleGlibGVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZG9jdW1lbnRhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50YXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnRhdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdlbWl0RXZlbnQnLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6aW5jcmVtZW50JywgW3N0eWxlKHtvcGFjaXR5OiAxfSksIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKV0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NEb2N1bWVudGF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQElucHV0KClcbiAgICBoZWFkaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dWYWx1ZXMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBpc0FQSSA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmUpXG4gICAgcHJvcGVydGllc0Nvbm5lY3RvcnM6IFF1ZXJ5TGlzdDxUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmU8YW55Pj4gPVxuICAgICAgICBFTVBUWV9RVUVSWTtcblxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19ET0NVTUVOVEFUSU9OX1RFWFRTKVxuICAgICAgICByZWFkb25seSB0ZXh0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nXSxcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSh0aGlzLnByb3BlcnRpZXNDb25uZWN0b3JzKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGl0ZW1zID0+IG1lcmdlKC4uLml0ZW1zLm1hcCgoe2NoYW5nZWQkfSkgPT4gY2hhbmdlZCQpKSksXG4gICAgICAgICAgICAgICAgd2F0Y2godGhpcy5jaGFuZ2VEZXRlY3RvclJlZiksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBUEkgPyB0aGlzLnRleHRzWzBdIDogdGhpcy50ZXh0c1sxXTtcbiAgICB9XG5cbiAgICBnZXRDb2xvcihjb2xvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGNvbG9yLmxlbmd0aCA9PT0gNCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbG9yXG4gICAgICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2U8c3RyaW5nW10+KChyZXN1bHQsIGN1cnJlbnQpID0+IFsuLi5yZXN1bHQsIGN1cnJlbnQsIGN1cnJlbnRdLCBbXSlcbiAgICAgICAgICAgICAgICAuam9pbignJylcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgnIycsICcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb2xvci5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb2xvciA9PT0gJ3RyYW5zcGFyZW50Jykge1xuICAgICAgICAgICAgcmV0dXJuICcjMDAwMDAwJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGNvbG9yXG4gICAgICAgICAgICAucmVwbGFjZSgncmdiKCcsICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ3JnYmEoJywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgnKScsICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoJyAnLCAnJylcbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKHYgPT4gTnVtYmVyLnBhcnNlSW50KHYsIDEwKSkgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuXG4gICAgICAgIHJldHVybiByZ2JUb0hleCguLi5wYXJzZWQpO1xuICAgIH1cblxuICAgIGdldE9wYWNpdHkoY29sb3I6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGlmIChjb2xvci5zdGFydHNXaXRoKCcjJykgfHwgY29sb3Iuc3RhcnRzV2l0aCgncmdiKCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gMTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbG9yID09PSAndHJhbnNwYXJlbnQnKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxhc3RDb21tYSA9IGNvbG9yLmxhc3RJbmRleE9mKCcsJyk7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGNvbG9yXG4gICAgICAgICAgICAuc2xpY2UobGFzdENvbW1hKVxuICAgICAgICAgICAgLnJlcGxhY2UoJyknLCAnJylcbiAgICAgICAgICAgIC5yZXBsYWNlKCcgJywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgnLCcsICcnKTtcblxuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChOdW1iZXIucGFyc2VGbG9hdChwYXJzZWQpICogMTAwKTtcbiAgICB9XG5cbiAgICBvbkNvbG9yQ2hhbmdlKFxuICAgICAgICBjb25uZWN0b3I6IFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZTxzdHJpbmc+LFxuICAgICAgICBjb2xvcjogc3RyaW5nLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBvcGFjaXR5ID0gdGhpcy5nZXRPcGFjaXR5KGNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCAnJyk7XG5cbiAgICAgICAgaWYgKG9wYWNpdHkgPT09IDEwMCkge1xuICAgICAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoY29sb3IpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZ2IgPSBoZXhUb1JnYihjb2xvcikuam9pbignLCAnKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYHJnYmEoJHtyZ2J9LCAke29wYWNpdHkgLyAxMDB9KWA7XG5cbiAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICBvbk9wYWNpdHlDaGFuZ2UoXG4gICAgICAgIGNvbm5lY3RvcjogVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlPHN0cmluZz4sXG4gICAgICAgIG9wYWNpdHk6IG51bWJlcixcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGV4ID0gdGhpcy5nZXRDb2xvcihjb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJycpO1xuICAgICAgICBjb25zdCByZ2IgPSBoZXhUb1JnYihoZXgpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBgcmdiYSgke3JnYn0sICR7b3BhY2l0eSAvIDEwMH0pYDtcblxuICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShyZXN1bHQpO1xuICAgIH1cblxuICAgIHN0cmlwT3B0aW9uYWwobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIG5hbWUucmVwbGFjZSgnPycsICcnKTtcbiAgICB9XG5cbiAgICBpc09wdGlvbmFsKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbmFtZS5pbmNsdWRlcygnPycpO1xuICAgIH1cblxuICAgIHNob3dDbGVhbmVyKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZS5pbmNsdWRlcygnbnVsbCcpO1xuICAgIH1cblxuICAgIHNob3dDb250ZW50VG9vbHRpcCh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGUuaW5jbHVkZXMoJ1BvbHltb3JwaGV1c0NvbnRlbnQnKTtcbiAgICB9XG5cbiAgICBpbnNwZWN0QW55KGRhdGE6IHVua25vd24pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaW5zcGVjdEFueShkYXRhLCAyKTtcbiAgICB9XG59XG4iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLDZDQUE2QyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFFM0csbURBQW1EO0FBQ25ELDJDQUEyQztBQUMzQyxXQUFXO0FBWVgsSUFBYSw0QkFBNEIsR0FBekMsTUFBYSw0QkFBNEI7SUFnQnJDLFlBQ2dELGlCQUFvQyxFQUV2RSxLQUErQztRQUZaLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFFdkUsVUFBSyxHQUFMLEtBQUssQ0FBMEM7UUFqQjVELFlBQU8sR0FBRyxFQUFFLENBQUM7UUFHYixl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QUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQWE7UUFDcEIsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDSixDQUFBOztZQXJIc0UsaUJBQWlCLHVCQUEvRSxNQUFNLFNBQUMsaUJBQWlCO3dDQUN4QixNQUFNLFNBQUMsMkJBQTJCOztBQWhCdkM7SUFEQyxLQUFLLEVBQUU7NkRBQ0s7QUFHYjtJQURDLEtBQUssRUFBRTtnRUFDVTtBQUdsQjtJQURDLEtBQUssRUFBRTsyREFDTTtBQUdkO0lBREMsZUFBZSxDQUFDLDZDQUE2QyxDQUFDOzBFQUUvQztBQVpQLDRCQUE0QjtJQVh4QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsdUJBQXVCO1FBQ2pDLDJoUUFBNEM7UUFFNUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsVUFBVSxFQUFFO1lBQ1IsT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDakIsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO2FBQzVFLENBQUM7U0FDTDs7S0FDSixDQUFDO0lBa0JPLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDekIsV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtHQWxCL0IsNEJBQTRCLENBc0l4QztTQXRJWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWSwgaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlLCB3YXRjaH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0RPQ19ET0NVTUVOVEFUSU9OX1RFWFRTfSBmcm9tICcuLi8uLi90b2tlbnMvaTE4bic7XG5pbXBvcnQge2hleFRvUmdiLCByZ2JUb0hleH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3ItY29udmVyc2lvbic7XG5pbXBvcnQge2luc3BlY3RBbnl9IGZyb20gJy4uLy4uL3V0aWxzL2luc3BlY3QnO1xuaW1wb3J0IHtUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmV9IGZyb20gJy4vZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlJztcblxuLy8gQGJhZCBUT0RPIHN1YnNjcmliZSBwcm9wZXJ0aWVzQ29ubmVjdG9ycyBjaGFuZ2VzXG4vLyBAYmFkIFRPRE8gcmVmYWN0b3IgdG8gbWFrZSBtb3JlIGZsZXhpYmxlXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWRvY3VtZW50YXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudGF0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RvY3VtZW50YXRpb24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignZW1pdEV2ZW50JywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmluY3JlbWVudCcsIFtzdHlsZSh7b3BhY2l0eTogMX0pLCBhbmltYXRlKCc1MDBtcyBlYXNlLWluJyldKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jRG9jdW1lbnRhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgaGVhZGluZyA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93VmFsdWVzID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgaXNBUEkgPSBmYWxzZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlKVxuICAgIHByb3BlcnRpZXNDb25uZWN0b3JzOiBRdWVyeUxpc3Q8VHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlPGFueT4+ID1cbiAgICAgICAgRU1QVFlfUVVFUlk7XG5cbiAgICBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRE9DVU1FTlRBVElPTl9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgdGV4dHM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10sXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUodGhpcy5wcm9wZXJ0aWVzQ29ubmVjdG9ycylcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChpdGVtcyA9PiBtZXJnZSguLi5pdGVtcy5tYXAoKHtjaGFuZ2VkJH0pID0+IGNoYW5nZWQkKSkpLFxuICAgICAgICAgICAgICAgIHdhdGNoKHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQVBJID8gdGhpcy50ZXh0c1swXSA6IHRoaXMudGV4dHNbMV07XG4gICAgfVxuXG4gICAgZ2V0Q29sb3IoY29sb3I6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChjb2xvci5sZW5ndGggPT09IDQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xvclxuICAgICAgICAgICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgICAgICAgICAucmVkdWNlPHN0cmluZ1tdPigocmVzdWx0LCBjdXJyZW50KSA9PiBbLi4ucmVzdWx0LCBjdXJyZW50LCBjdXJyZW50XSwgW10pXG4gICAgICAgICAgICAgICAgLmpvaW4oJycpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoJyMnLCAnJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3Iuc3RhcnRzV2l0aCgnIycpKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3IgPT09ICd0cmFuc3BhcmVudCcpIHtcbiAgICAgICAgICAgIHJldHVybiAnIzAwMDAwMCc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWQgPSBjb2xvclxuICAgICAgICAgICAgLnJlcGxhY2UoJ3JnYignLCAnJylcbiAgICAgICAgICAgIC5yZXBsYWNlKCdyZ2JhKCcsICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoJyknLCAnJylcbiAgICAgICAgICAgIC5yZXBsYWNlKCcgJywgJycpXG4gICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgLm1hcCh2ID0+IE51bWJlci5wYXJzZUludCh2LCAxMCkpIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcblxuICAgICAgICByZXR1cm4gcmdiVG9IZXgoLi4ucGFyc2VkKTtcbiAgICB9XG5cbiAgICBnZXRPcGFjaXR5KGNvbG9yOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICBpZiAoY29sb3Iuc3RhcnRzV2l0aCgnIycpIHx8IGNvbG9yLnN0YXJ0c1dpdGgoJ3JnYignKSkge1xuICAgICAgICAgICAgcmV0dXJuIDEwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb2xvciA9PT0gJ3RyYW5zcGFyZW50Jykge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYXN0Q29tbWEgPSBjb2xvci5sYXN0SW5kZXhPZignLCcpO1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBjb2xvclxuICAgICAgICAgICAgLnNsaWNlKGxhc3RDb21tYSlcbiAgICAgICAgICAgIC5yZXBsYWNlKCcpJywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgnICcsICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoJywnLCAnJyk7XG5cbiAgICAgICAgcmV0dXJuIE1hdGgucm91bmQoTnVtYmVyLnBhcnNlRmxvYXQocGFyc2VkKSAqIDEwMCk7XG4gICAgfVxuXG4gICAgb25Db2xvckNoYW5nZShcbiAgICAgICAgY29ubmVjdG9yOiBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmU8c3RyaW5nPixcbiAgICAgICAgY29sb3I6IHN0cmluZyxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3BhY2l0eSA9IHRoaXMuZ2V0T3BhY2l0eShjb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJycpO1xuXG4gICAgICAgIGlmIChvcGFjaXR5ID09PSAxMDApIHtcbiAgICAgICAgICAgIGNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKGNvbG9yKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmdiID0gaGV4VG9SZ2IoY29sb3IpLmpvaW4oJywgJyk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGByZ2JhKCR7cmdifSwgJHtvcGFjaXR5IC8gMTAwfSlgO1xuXG4gICAgICAgIGNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgb25PcGFjaXR5Q2hhbmdlKFxuICAgICAgICBjb25uZWN0b3I6IFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZTxzdHJpbmc+LFxuICAgICAgICBvcGFjaXR5OiBudW1iZXIsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhleCA9IHRoaXMuZ2V0Q29sb3IoY29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlIHx8ICcnKTtcbiAgICAgICAgY29uc3QgcmdiID0gaGV4VG9SZ2IoaGV4KTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYHJnYmEoJHtyZ2J9LCAke29wYWNpdHkgLyAxMDB9KWA7XG5cbiAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICBzdHJpcE9wdGlvbmFsKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBuYW1lLnJlcGxhY2UoJz8nLCAnJyk7XG4gICAgfVxuXG4gICAgaXNPcHRpb25hbChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIG5hbWUuaW5jbHVkZXMoJz8nKTtcbiAgICB9XG5cbiAgICBpc1ByaW1pdGl2ZVBvbHltb3JwaGV1c0NvbnRlbnQodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJztcbiAgICB9XG5cbiAgICBzaG93Q2xlYW5lcih0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGUuaW5jbHVkZXMoJ251bGwnKTtcbiAgICB9XG5cbiAgICBzaG93Q29udGVudFRvb2x0aXAodHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlLmluY2x1ZGVzKCdQb2x5bW9ycGhldXNDb250ZW50Jyk7XG4gICAgfVxuXG4gICAgaW5zcGVjdEFueShkYXRhOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGluc3BlY3RBbnkoZGF0YSwgMik7XG4gICAgfVxufVxuIl19
|
|
@@ -7,6 +7,7 @@ import { TuiNotification, TuiNotificationsService } from '@taiga-ui/core';
|
|
|
7
7
|
import { TUI_COPY_TEXTS } from '@taiga-ui/kit';
|
|
8
8
|
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
9
9
|
import { map, switchMap } from 'rxjs/operators';
|
|
10
|
+
import { TUI_DOC_CODE_ACTIONS } from '../../tokens/code-actions';
|
|
10
11
|
import { TUI_DOC_CODE_EDITOR } from '../../tokens/code-editor';
|
|
11
12
|
import { TUI_DOC_EXAMPLE_CONTENT_PROCESSOR } from '../../tokens/example-content-processor';
|
|
12
13
|
import { TUI_DOC_EXAMPLE_TEXTS } from '../../tokens/i18n';
|
|
@@ -14,7 +15,7 @@ import { rawLoadRecord } from '../../utils/raw-load-record';
|
|
|
14
15
|
// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
|
|
15
16
|
// @dynamic
|
|
16
17
|
let TuiDocExampleComponent = class TuiDocExampleComponent {
|
|
17
|
-
constructor(id, clipboard, notifications, location, copyTexts$, texts, codeEditor, processContent, isCypress) {
|
|
18
|
+
constructor(id, clipboard, notifications, location, copyTexts$, texts, codeEditor, processContent, isCypress, codeActions) {
|
|
18
19
|
this.id = id;
|
|
19
20
|
this.clipboard = clipboard;
|
|
20
21
|
this.notifications = notifications;
|
|
@@ -24,6 +25,7 @@ let TuiDocExampleComponent = class TuiDocExampleComponent {
|
|
|
24
25
|
this.codeEditor = codeEditor;
|
|
25
26
|
this.processContent = processContent;
|
|
26
27
|
this.isCypress = isCypress;
|
|
28
|
+
this.codeActions = codeActions;
|
|
27
29
|
this.rawLoader$$ = new BehaviorSubject({});
|
|
28
30
|
this.heading = '';
|
|
29
31
|
this.description = '';
|
|
@@ -67,7 +69,8 @@ TuiDocExampleComponent.ctorParameters = () => [
|
|
|
67
69
|
{ type: Array, decorators: [{ type: Inject, args: [TUI_DOC_EXAMPLE_TEXTS,] }] },
|
|
68
70
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [TUI_DOC_CODE_EDITOR,] }] },
|
|
69
71
|
{ type: undefined, decorators: [{ type: Inject, args: [TUI_DOC_EXAMPLE_CONTENT_PROCESSOR,] }] },
|
|
70
|
-
{ type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_CYPRESS,] }] }
|
|
72
|
+
{ type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_CYPRESS,] }] },
|
|
73
|
+
{ type: Array, decorators: [{ type: Inject, args: [TUI_DOC_CODE_ACTIONS,] }] }
|
|
71
74
|
];
|
|
72
75
|
__decorate([
|
|
73
76
|
Input()
|
|
@@ -84,9 +87,9 @@ __decorate([
|
|
|
84
87
|
TuiDocExampleComponent = __decorate([
|
|
85
88
|
Component({
|
|
86
89
|
selector: 'tui-doc-example',
|
|
87
|
-
template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n polymorpheus-outlet\n [content]=\"heading | tuiDocExampleCapitalize\"\n ></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n class=\"t-link-icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n polymorpheus-outlet\n class=\"t-description\"\n [content]=\"description | tuiDocExampleCapitalize\"\n></h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div class=\"t-tabs-wrapper\">\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiTab\n tuiTab\n >\n {{tab}}\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n Edit on {{codeEditor.name}}\n </button>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isCypress\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container *ngIf=\"index === defaultTabIndex; else anotherTab\">\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n </ng-container>\n <ng-template #anotherTab>\n <ng-container\n *ngTemplateOutlet=\"codeSection; context: { $implicit: files[tabs[activeItemIndex]] || '' }\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <
|
|
90
|
+
template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n polymorpheus-outlet\n [content]=\"heading | tuiDocExampleCapitalize\"\n ></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n class=\"t-link-icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n polymorpheus-outlet\n class=\"t-description\"\n [content]=\"description | tuiDocExampleCapitalize\"\n></h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div class=\"t-tabs-wrapper\">\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiTab\n tuiTab\n >\n {{tab}}\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n Edit on {{codeEditor.name}}\n </button>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isCypress\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container *ngIf=\"index === defaultTabIndex; else anotherTab\">\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n </ng-container>\n <ng-template #anotherTab>\n <ng-container\n *ngTemplateOutlet=\"codeSection; context: { $implicit: files[tabs[activeItemIndex]] || '' }\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <section class=\"t-code-actions\">\n <ng-container *ngFor=\"let action of codeActions\">\n <div\n polymorpheus-outlet\n [content]=\"action\"\n [context]=\"{$implicit: code}\"\n ></div>\n </ng-container>\n <tui-doc-copy [cdkCopyToClipboard]=\"code\"></tui-doc-copy>\n </section>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n</ng-template>\n",
|
|
88
91
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
89
|
-
styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:400;margin:0}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 1rem}.t-tabs{flex-grow:1}.t-demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}.t-
|
|
92
|
+
styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:400;margin:0}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 1rem}.t-tabs{flex-grow:1}.t-demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}.t-code-actions{position:absolute;top:4.375rem;right:1rem;display:flex;justify-content:flex-end;align-items:center}.t-code-actions>*{margin-left:.5rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}"]
|
|
90
93
|
}),
|
|
91
94
|
__param(0, Attribute('id')),
|
|
92
95
|
__param(1, Inject(Clipboard)),
|
|
@@ -97,7 +100,8 @@ TuiDocExampleComponent = __decorate([
|
|
|
97
100
|
__param(6, Optional()),
|
|
98
101
|
__param(6, Inject(TUI_DOC_CODE_EDITOR)),
|
|
99
102
|
__param(7, Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)),
|
|
100
|
-
__param(8, Inject(TUI_IS_CYPRESS))
|
|
103
|
+
__param(8, Inject(TUI_IS_CYPRESS)),
|
|
104
|
+
__param(9, Inject(TUI_DOC_CODE_ACTIONS))
|
|
101
105
|
], TuiDocExampleComponent);
|
|
102
106
|
export { TuiDocExampleComponent };
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSTlDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCw4RkFBOEY7QUFDOUYsV0FBVztBQU9YLElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXNCO0lBZ0MvQixZQUVhLEVBQWlCLEVBQ1UsU0FBb0IsRUFFdkMsYUFBc0MsRUFDcEIsUUFBa0IsRUFDWixVQUF3QyxFQUN6QyxL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Q29udGVudCI6WyJpbXBvcnQge0NsaXBib2FyZH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge1xuICAgIEF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUVUlfSVNfQ1lQUkVTUywgVHVpSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aU5vdGlmaWNhdGlvbiwgVHVpTm90aWZpY2F0aW9uc1NlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX0NPUFlfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUNvZGVFZGl0b3J9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29kZS1lZGl0b3InO1xuaW1wb3J0IHtUdWlEb2NFeGFtcGxlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BhZ2UnO1xuaW1wb3J0IHtUVUlfRE9DX0NPREVfRURJVE9SfSBmcm9tICcuLi8uLi90b2tlbnMvY29kZS1lZGl0b3InO1xuaW1wb3J0IHtUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1J9IGZyb20gJy4uLy4uL3Rva2Vucy9leGFtcGxlLWNvbnRlbnQtcHJvY2Vzc29yJztcbmltcG9ydCB7VFVJX0RPQ19FWEFNUExFX1RFWFRTfSBmcm9tICcuLi8uLi90b2tlbnMvaTE4bic7XG5pbXBvcnQge3Jhd0xvYWRSZWNvcmR9IGZyb20gJy4uLy4uL3V0aWxzL3Jhdy1sb2FkLXJlY29yZCc7XG5cbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZXhhbXBsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V4YW1wbGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhhbXBsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFR1aURvY0V4YW1wbGU+KHt9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgaGVhZGluZzogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBkZXNjcmlwdGlvbjogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgY29udGVudChjb250ZW50OiBUdWlEb2NFeGFtcGxlKSB7XG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQubmV4dChjb250ZW50KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IHRoaXMubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSk7XG5cbiAgICByZWFkb25seSBkZWZhdWx0VGFiSW5kZXggPSAwO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYiA9IHRoaXMudGV4dHNbdGhpcy5kZWZhdWx0VGFiSW5kZXhdO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5kZWZhdWx0VGFiSW5kZXg7XG5cbiAgICByZWFkb25seSBjb3B5JCA9IHRoaXMuY29weVRleHRzJC5waXBlKG1hcCgoW2NvcHldKSA9PiBjb3B5KSk7XG5cbiAgICByZWFkb25seSBwcm9jZXNzb3IkOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0gdGhpcy5yYXdMb2FkZXIkJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAocmF3TG9hZFJlY29yZCksXG4gICAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLnByb2Nlc3NDb250ZW50KHZhbHVlKSksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAQXR0cmlidXRlKCdpZCcpXG4gICAgICAgIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENsaXBib2FyZCkgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgQEluamVjdChUdWlOb3RpZmljYXRpb25zU2VydmljZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25zOiBUdWlOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICAgICAgQEluamVjdChMT0NBVElPTikgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgIEBJbmplY3QoVFVJX0NPUFlfVEVYVFMpIHByaXZhdGUgcmVhZG9ubHkgY29weVRleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0VYQU1QTEVfVEVYVFMpIHJlYWRvbmx5IHRleHRzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19DT0RFX0VESVRPUilcbiAgICAgICAgcmVhZG9ubHkgY29kZUVkaXRvcjogVHVpQ29kZUVkaXRvciB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NDb250ZW50OiBUdWlIYW5kbGVyPFxuICAgICAgICAgICAgUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICAgICAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICAgICAgPixcbiAgICAgICAgQEluamVjdChUVUlfSVNfQ1lQUkVTUykgcmVhZG9ubHkgaXNDeXByZXNzOiBib29sZWFuLFxuICAgICkge31cblxuICAgIGNvcHlFeGFtcGxlTGluaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGFzaFBvc2l0aW9uID0gdGhpcy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoJyMnKTtcbiAgICAgICAgY29uc3QgY3VycmVudFVybCA9XG4gICAgICAgICAgICBoYXNoUG9zaXRpb24gPiAtMVxuICAgICAgICAgICAgICAgID8gdGhpcy5sb2NhdGlvbi5ocmVmLnNsaWNlKDAsIE1hdGgubWF4KDAsIGhhc2hQb3NpdGlvbikpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmxvY2F0aW9uLmhyZWY7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2N1cnJlbnRVcmx9IyR7dGhpcy5pZH1gO1xuXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkodXJsKTtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zXG4gICAgICAgICAgICAuc2hvdyh0aGlzLnRleHRzWzFdLCB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudGV4dHNbMl0sXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBUdWlOb3RpZmljYXRpb24uU3VjY2VzcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZWRpdChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuY29kZUVkaXRvclxuICAgICAgICAgICAgPy5lZGl0KHRoaXMuY29tcG9uZW50TmFtZSwgdGhpcy5pZCA/PyAnJywgZmlsZXMpXG4gICAgICAgICAgICAuZmluYWxseSgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKTtcbiAgICB9XG59XG4iXX0=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSTlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCw4RkFBOEY7QUFDOUYsV0FBVztBQU9YLElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXNCO0lBZ0MvQixZQUVhLEVBQWlCLEVBQ1UsU0FB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QSxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtJQUt6QyxXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN0QixXQUFBLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0dBbER4QixzQkFBc0IsQ0E0RWxDO1NBNUVZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xpcGJvYXJkfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7XG4gICAgQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMT0NBVElPTn0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1RVSV9JU19DWVBSRVNTLCBUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpTm90aWZpY2F0aW9uLCBUdWlOb3RpZmljYXRpb25zU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfQ09QWV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpQ29kZUVkaXRvcn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jb2RlLWVkaXRvcic7XG5pbXBvcnQge1R1aURvY0V4YW1wbGV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGFnZSc7XG5pbXBvcnQge1RVSV9ET0NfQ09ERV9BQ1RJT05TfSBmcm9tICcuLi8uLi90b2tlbnMvY29kZS1hY3Rpb25zJztcbmltcG9ydCB7VFVJX0RPQ19DT0RFX0VESVRPUn0gZnJvbSAnLi4vLi4vdG9rZW5zL2NvZGUtZWRpdG9yJztcbmltcG9ydCB7VFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SfSBmcm9tICcuLi8uLi90b2tlbnMvZXhhbXBsZS1jb250ZW50LXByb2Nlc3Nvcic7XG5pbXBvcnQge1RVSV9ET0NfRVhBTVBMRV9URVhUU30gZnJvbSAnLi4vLi4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHtyYXdMb2FkUmVjb3JkfSBmcm9tICcuLi8uLi91dGlscy9yYXctbG9hZC1yZWNvcmQnO1xuXG4vLyBBbWJpZW50IHR5cGUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBkeW5hbWljIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzIzMzk1XG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWV4YW1wbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leGFtcGxlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V4YW1wbGUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NFeGFtcGxlQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhd0xvYWRlciQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUdWlEb2NFeGFtcGxlPih7fSk7XG5cbiAgICBASW5wdXQoKVxuICAgIGhlYWRpbmc6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgZGVzY3JpcHRpb246IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbnRlbnQoY29udGVudDogVHVpRG9jRXhhbXBsZSkge1xuICAgICAgICB0aGlzLnJhd0xvYWRlciQkLm5leHQoY29udGVudCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBjb21wb25lbnROYW1lOiBzdHJpbmcgPSB0aGlzLmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEpO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYkluZGV4ID0gMDtcblxuICAgIHJlYWRvbmx5IGRlZmF1bHRUYWIgPSB0aGlzLnRleHRzW3RoaXMuZGVmYXVsdFRhYkluZGV4XTtcblxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IHRoaXMuZGVmYXVsdFRhYkluZGV4O1xuXG4gICAgcmVhZG9ubHkgY29weSQgPSB0aGlzLmNvcHlUZXh0cyQucGlwZShtYXAoKFtjb3B5XSkgPT4gY29weSkpO1xuXG4gICAgcmVhZG9ubHkgcHJvY2Vzc29yJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHRoaXMucmF3TG9hZGVyJCQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHJhd0xvYWRSZWNvcmQpLFxuICAgICAgICBtYXAodmFsdWUgPT4gdGhpcy5wcm9jZXNzQ29udGVudCh2YWx1ZSkpLFxuICAgICk7XG5cbiAgICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEF0dHJpYnV0ZSgnaWQnKVxuICAgICAgICByZWFkb25seSBpZDogc3RyaW5nIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDbGlwYm9hcmQpIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkOiBDbGlwYm9hcmQsXG4gICAgICAgIEBJbmplY3QoVHVpTm90aWZpY2F0aW9uc1NlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uczogVHVpTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTE9DQVRJT04pIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLFxuICAgICAgICBASW5qZWN0KFRVSV9DT1BZX1RFWFRTKSBwcml2YXRlIHJlYWRvbmx5IGNvcHlUZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19FWEFNUExFX1RFWFRTKSByZWFkb25seSB0ZXh0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfQ09ERV9FRElUT1IpXG4gICAgICAgIHJlYWRvbmx5IGNvZGVFZGl0b3I6IFR1aUNvZGVFZGl0b3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzQ29udGVudDogVHVpSGFuZGxlcjxcbiAgICAgICAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICAgICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgICAgID4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0NZUFJFU1MpIHJlYWRvbmx5IGlzQ3lwcmVzczogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0NPREVfQUNUSU9OUykgcmVhZG9ubHkgY29kZUFjdGlvbnM6IFBvbHltb3JwaGV1c0NvbnRlbnRbXSxcbiAgICApIHt9XG5cbiAgICBjb3B5RXhhbXBsZUxpbmsoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhhc2hQb3NpdGlvbiA9IHRoaXMubG9jYXRpb24uaHJlZi5pbmRleE9mKCcjJyk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRVcmwgPVxuICAgICAgICAgICAgaGFzaFBvc2l0aW9uID4gLTFcbiAgICAgICAgICAgICAgICA/IHRoaXMubG9jYXRpb24uaHJlZi5zbGljZSgwLCBNYXRoLm1heCgwLCBoYXNoUG9zaXRpb24pKVxuICAgICAgICAgICAgICAgIDogdGhpcy5sb2NhdGlvbi5ocmVmO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtjdXJyZW50VXJsfSMke3RoaXMuaWR9YDtcblxuICAgICAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHVybCk7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1xuICAgICAgICAgICAgLnNob3codGhpcy50ZXh0c1sxXSwge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRleHRzWzJdLFxuICAgICAgICAgICAgICAgIHN0YXR1czogVHVpTm90aWZpY2F0aW9uLlN1Y2Nlc3MsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGVkaXQoZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmNvZGVFZGl0b3JcbiAgICAgICAgICAgID8uZWRpdCh0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuaWQgPz8gJycsIGZpbGVzKVxuICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4gdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -4,17 +4,17 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Inj
|
|
|
4
4
|
import { Title } from '@angular/platform-browser';
|
|
5
5
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
6
6
|
import { TuiSidebarDirective } from '@taiga-ui/addon-mobile';
|
|
7
|
-
import { tuiPure, uniqBy } from '@taiga-ui/cdk';
|
|
7
|
+
import { TuiDestroyService, tuiPure, uniqBy } from '@taiga-ui/cdk';
|
|
8
8
|
import { TuiBrightness, TuiModeDirective } from '@taiga-ui/core';
|
|
9
9
|
import { Observable } from 'rxjs';
|
|
10
|
-
import { map, startWith } from 'rxjs/operators';
|
|
10
|
+
import { filter, map, startWith, take, takeUntil } from 'rxjs/operators';
|
|
11
11
|
import { TUI_DOC_SEARCH_TEXT } from '../../tokens/i18n';
|
|
12
|
+
import { TUI_DOC_PAGE_LOADED } from '../../tokens/page-loaded';
|
|
12
13
|
import { transliterateKeyboardLayout } from '../../utils/transliterate-keyboard-layout';
|
|
13
14
|
import { NAVIGATION_ITEMS, NAVIGATION_LABELS, NAVIGATION_PROVIDERS, NAVIGATION_TITLE, } from './navigation.providers';
|
|
14
|
-
const SCROLL_INTO_VIEW_DELAY = 200;
|
|
15
15
|
// @dynamic
|
|
16
16
|
let TuiDocNavigationComponent = class TuiDocNavigationComponent {
|
|
17
|
-
constructor(changeDetectorRef, titleService, title$, documentRef, mode, sidebar, labels, items, searchText, router, activatedRoute) {
|
|
17
|
+
constructor(changeDetectorRef, titleService, title$, documentRef, mode, sidebar, labels, items, searchText, router, activatedRoute, destroy$, readyToScroll$) {
|
|
18
18
|
this.documentRef = documentRef;
|
|
19
19
|
this.mode = mode;
|
|
20
20
|
this.sidebar = sidebar;
|
|
@@ -23,6 +23,8 @@ let TuiDocNavigationComponent = class TuiDocNavigationComponent {
|
|
|
23
23
|
this.searchText = searchText;
|
|
24
24
|
this.router = router;
|
|
25
25
|
this.activatedRoute = activatedRoute;
|
|
26
|
+
this.destroy$ = destroy$;
|
|
27
|
+
this.readyToScroll$ = readyToScroll$;
|
|
26
28
|
this.menuOpen = false;
|
|
27
29
|
this.search = '';
|
|
28
30
|
this.open = false;
|
|
@@ -91,9 +93,9 @@ let TuiDocNavigationComponent = class TuiDocNavigationComponent {
|
|
|
91
93
|
return this.router.isActive(route, false);
|
|
92
94
|
}
|
|
93
95
|
handleAnchorLink(hash) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
this.readyToScroll$
|
|
97
|
+
.pipe(filter(Boolean), take(1), takeUntil(this.destroy$))
|
|
98
|
+
.subscribe(() => this.navigateToAnchorLink(hash));
|
|
97
99
|
}
|
|
98
100
|
openActivePageGroup() {
|
|
99
101
|
this.items.forEach((pages, pagesIndex) => {
|
|
@@ -138,7 +140,9 @@ TuiDocNavigationComponent.ctorParameters = () => [
|
|
|
138
140
|
{ type: undefined, decorators: [{ type: Inject, args: [NAVIGATION_ITEMS,] }] },
|
|
139
141
|
{ type: String, decorators: [{ type: Inject, args: [TUI_DOC_SEARCH_TEXT,] }] },
|
|
140
142
|
{ type: Router, decorators: [{ type: Inject, args: [Router,] }] },
|
|
141
|
-
{ type: ActivatedRoute, decorators: [{ type: Inject, args: [ActivatedRoute,] }] }
|
|
143
|
+
{ type: ActivatedRoute, decorators: [{ type: Inject, args: [ActivatedRoute,] }] },
|
|
144
|
+
{ type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
|
|
145
|
+
{ type: Observable, decorators: [{ type: Inject, args: [TUI_DOC_PAGE_LOADED,] }] }
|
|
142
146
|
];
|
|
143
147
|
__decorate([
|
|
144
148
|
HostBinding('class._open')
|
|
@@ -152,7 +156,7 @@ __decorate([
|
|
|
152
156
|
TuiDocNavigationComponent = __decorate([
|
|
153
157
|
Component({
|
|
154
158
|
selector: 'tui-doc-navigation',
|
|
155
|
-
template: "<tui-hosted-dropdown\n *tuiLet=\"filteredItems as filtered\"\n tuiAutoFocus\n tuiDropdownLimitWidth=\"fixed\"\n class=\"t-input\"\n [autoFocus]=\"!!sidebar\"\n [content]=\"dropdown\"\n [canOpen]=\"canOpen\"\n [(open)]=\"open\"\n>\n <tui-primitive-textfield\n iconAlign=\"left\"\n tuiTextfieldSize=\"m\"\n iconContent=\"tuiIconSearch\"\n [pseudoFocused]=\"open || null\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldLabelOutside]=\"true\"\n [value]=\"search\"\n (valueChange)=\"onSearchChange($event)\"\n >\n {{ searchText }}\n </tui-primitive-textfield>\n <ng-template\n #dropdown\n let-activeZone\n >\n <tui-data-list>\n <tui-opt-group\n *ngFor=\"let group of filtered; let index = index\"\n [label]=\"labels[index] || ''\"\n >\n <a\n *ngFor=\"let item of group\"\n tuiOption\n [routerLink]=\"item.route\"\n (click)=\"onClick()\"\n >\n {{ item.title }}\n </a>\n </tui-opt-group>\n </tui-data-list>\n </ng-template>\n</tui-hosted-dropdown>\n\n<nav class=\"t-navigation\">\n <tui-scrollbar\n class=\"t-scrollbar\"\n [tuiMode]=\"mode$ | async\"\n >\n <tui-accordion\n [closeOthers]=\"false\"\n [rounded]=\"false\"\n >\n <tui-accordion-item\n *ngFor=\"let label of labels; index as index\"\n size=\"s\"\n [borders]=\"null\"\n [(open)]=\"!!openPagesArr[index]\"\n >\n <span class=\"t-label\">\n <strong>{{ label }}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"t-section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n >\n <ng-container\n *ngTemplateOutlet=\"pages; context: {item: item, index: index * 100 + subIndex}\"\n ></ng-container>\n </ng-container>\n </div>\n </ng-template>\n </tui-accordion-item>\n </tui-accordion>\n <div class=\"t-items-container\">\n <ng-container\n *ngFor=\"let item of itemsWithoutSections; let index = index\"\n >\n <ng-container\n *ngTemplateOutlet=\"pages; context: {item: item, index: items.length - 1 + index}\"\n ></ng-container>\n </ng-container>\n </div>\n\n <ng-template\n #pages\n let-item=\"item\"\n let-index=\"index\"\n >\n <a\n *ngIf=\"!item.subPages; else subPages\"\n tuiLink\n routerLinkActive=\"sublink_active\"\n class=\"t-sublink\"\n [routerLink]=\"item.route\"\n [scrollIntoView]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{ item.title }}\n </a>\n <ng-template #subPages>\n <div\n routerLinkActive\n class=\"t-subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"t-sublink t-sublink_subsection\"\n (click)=\"onGroupClick(index)\"\n >\n <tui-svg\n src=\"tuiIconChevronRight\"\n class=\"t-chevron\"\n [class.t-chevron_active]=\"!!openPagesGroupsArr[index]\"\n ></tui-svg>\n {{ item.title }}\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"!!openPagesGroupsArr[index]\"\n >\n <div class=\"t-section t-section_bordered\">\n <a\n *ngFor=\"let subPage of item.subPages\"\n tuiLink\n routerLinkActive=\"sublink_active\"\n class=\"t-sublink t-sublink_small\"\n [routerLink]=\"subPage.route\"\n [scrollIntoView]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{ subPage.title }}\n </a>\n </div>\n </tui-expand>\n </div>\n </ng-template>\n </ng-template>\n </tui-scrollbar>\n</nav>\n\n<ng-content></ng-content>\n",
|
|
159
|
+
template: "<tui-hosted-dropdown\n *tuiLet=\"filteredItems as filtered\"\n tuiAutoFocus\n tuiDropdownLimitWidth=\"fixed\"\n class=\"t-input\"\n [autoFocus]=\"!!sidebar\"\n [content]=\"dropdown\"\n [canOpen]=\"canOpen\"\n [(open)]=\"open\"\n>\n <tui-primitive-textfield\n iconAlign=\"left\"\n tuiTextfieldSize=\"m\"\n iconContent=\"tuiIconSearch\"\n [pseudoFocused]=\"open || null\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldLabelOutside]=\"true\"\n [value]=\"search\"\n (valueChange)=\"onSearchChange($event)\"\n >\n {{ searchText }}\n </tui-primitive-textfield>\n <ng-template\n #dropdown\n let-activeZone\n >\n <tui-data-list>\n <tui-opt-group\n *ngFor=\"let group of filtered; let index = index\"\n [label]=\"labels[index] || ''\"\n >\n <a\n *ngFor=\"let item of group\"\n tuiOption\n [routerLink]=\"item.route\"\n (click)=\"onClick()\"\n >\n {{ item.title }}\n </a>\n </tui-opt-group>\n </tui-data-list>\n </ng-template>\n</tui-hosted-dropdown>\n\n<nav class=\"t-navigation\">\n <tui-scrollbar\n class=\"t-scrollbar\"\n [tuiMode]=\"mode$ | async\"\n >\n <tui-accordion\n [closeOthers]=\"false\"\n [rounded]=\"false\"\n >\n <tui-accordion-item\n *ngFor=\"let label of labels; index as index\"\n size=\"s\"\n [borders]=\"null\"\n [(open)]=\"!!openPagesArr[index]\"\n >\n <span class=\"t-label\">\n <strong>{{ label }}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"t-section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n >\n <ng-container\n *ngTemplateOutlet=\"pages; context: {item: item, index: index * 100 + subIndex}\"\n ></ng-container>\n </ng-container>\n </div>\n </ng-template>\n </tui-accordion-item>\n </tui-accordion>\n <div class=\"t-items-container\">\n <ng-container\n *ngFor=\"let item of itemsWithoutSections; let index = index\"\n >\n <ng-container\n *ngTemplateOutlet=\"pages; context: {item: item, index: items.length - 1 + index}\"\n ></ng-container>\n </ng-container>\n </div>\n\n <ng-template\n #pages\n let-item=\"item\"\n let-index=\"index\"\n >\n <a\n *ngIf=\"!item.subPages; else subPages\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink\"\n [routerLink]=\"item.route\"\n [scrollIntoView]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{ item.title }}\n </a>\n <ng-template #subPages>\n <div\n routerLinkActive\n class=\"t-subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"t-sublink t-sublink_subsection\"\n (click)=\"onGroupClick(index)\"\n >\n <tui-svg\n src=\"tuiIconChevronRight\"\n class=\"t-chevron\"\n [class.t-chevron_active]=\"!!openPagesGroupsArr[index]\"\n ></tui-svg>\n {{ item.title }}\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"!!openPagesGroupsArr[index]\"\n >\n <div class=\"t-section t-section_bordered\">\n <a\n *ngFor=\"let subPage of item.subPages\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink t-sublink_small\"\n [routerLink]=\"subPage.route\"\n [scrollIntoView]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{ subPage.title }}\n </a>\n </div>\n </tui-expand>\n </div>\n </ng-template>\n </ng-template>\n </tui-scrollbar>\n</nav>\n\n<ng-content></ng-content>\n",
|
|
156
160
|
providers: NAVIGATION_PROVIDERS,
|
|
157
161
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
158
162
|
styles: [":host{z-index:1;display:flex;flex-direction:column;text-align:center;background:var(--tui-base-01)}.t-input{display:block;margin:1.25rem}.t-navigation{display:flex;max-height:100%;min-height:0;flex:1 1 0;text-align:left}.t-scrollbar{width:100%;scroll-behavior:smooth}.t-items-container{display:flex;flex-direction:column;padding:0 1rem}.t-label{margin-left:.5rem}.t-expand{margin-left:.25rem}.t-section{display:flex;flex-direction:column;align-items:flex-start;margin:-1rem 0 -.5rem}.t-section_bordered{margin:.5rem 0;border-left:1px solid var(--tui-base-03)}.t-subsection{margin-left:.5rem}.t-sublink{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:1rem 0 0;border:0;background:0 0;font-size:inherit;line-height:inherit;font:var(--tui-font-text-m);margin-left:.5rem}.t-sublink_small{margin-left:1rem;line-height:1.5rem;padding-top:.5rem}.t-sublink_subsection{margin-left:0;line-height:1.6rem}.t-sublink_active{color:var(--tui-text-01)}.t-chevron{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:1rem;height:1rem;margin:-.25rem .25rem 0 -.1875rem}.t-chevron_active{transform:rotate(90deg)}"]
|
|
@@ -168,7 +172,9 @@ TuiDocNavigationComponent = __decorate([
|
|
|
168
172
|
__param(7, Inject(NAVIGATION_ITEMS)),
|
|
169
173
|
__param(8, Inject(TUI_DOC_SEARCH_TEXT)),
|
|
170
174
|
__param(9, Inject(Router)),
|
|
171
|
-
__param(10, Inject(ActivatedRoute))
|
|
175
|
+
__param(10, Inject(ActivatedRoute)),
|
|
176
|
+
__param(11, Inject(TuiDestroyService)),
|
|
177
|
+
__param(12, Inject(TUI_DOC_PAGE_LOADED))
|
|
172
178
|
], TuiDocNavigationComponent);
|
|
173
179
|
export { TuiDocNavigationComponent };
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFFLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUNILGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGdCQUFnQixHQUNuQixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBRW5DLFdBQVc7QUFRWCxJQUFhLHlCQUF5QixHQUF0QyxNQUFhLHlC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QW9CO1FBQy9CLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNsRCxDQUFDO0lBaUJPLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDekIsV0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDYixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQ3hCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFFeEIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUNWLFdBQUEsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFFM0IsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBRXhCLFdBQUEsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDM0IsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxZQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtHQTlCbEIseUJBQXlCLENBdUtyQztTQXZLWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGl0bGV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUdWlTaWRlYmFyRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlJztcbmltcG9ydCB7dHVpUHVyZSwgdW5pcUJ5fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpQnJpZ2h0bmVzcywgVHVpTW9kZURpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlEb2NQYWdlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BhZ2UnO1xuaW1wb3J0IHtUVUlfRE9DX1NFQVJDSF9URVhUfSBmcm9tICcuLi8uLi90b2tlbnMvaTE4bic7XG5pbXBvcnQge1R1aURvY1BhZ2VzfSBmcm9tICcuLi8uLi90eXBlcy9wYWdlcyc7XG5pbXBvcnQge3RyYW5zbGl0ZXJhdGVLZXlib2FyZExheW91dH0gZnJvbSAnLi4vLi4vdXRpbHMvdHJhbnNsaXRlcmF0ZS1rZXlib2FyZC1sYXlvdXQnO1xuaW1wb3J0IHtcbiAgICBOQVZJR0FUSU9OX0lURU1TLFxuICAgIE5BVklHQVRJT05fTEFCRUxTLFxuICAgIE5BVklHQVRJT05fUFJPVklERVJTLFxuICAgIE5BVklHQVRJT05fVElUTEUsXG59IGZyb20gJy4vbmF2aWdhdGlvbi5wcm92aWRlcnMnO1xuXG5jb25zdCBTQ1JPTExfSU5UT19WSUVXX0RFTEFZID0gMjAwO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLW5hdmlnYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnbmF2aWdhdGlvbi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnbmF2aWdhdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgcHJvdmlkZXJzOiBOQVZJR0FUSU9OX1BST1ZJREVSUyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jTmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fb3BlbicpXG4gICAgbWVudU9wZW4gPSBmYWxzZTtcblxuICAgIHNlYXJjaCA9ICcnO1xuICAgIG9wZW4gPSBmYWxzZTtcbiAgICBvcGVuUGFnZXNBcnI6IGJvb2xlYW5bXSA9IFtdO1xuICAgIG9wZW5QYWdlc0dyb3Vwc0FycjogYm9vbGVhbltdID0gW107XG4gICAgYWN0aXZlID0gJyc7XG5cbiAgICByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzPiA9IHRoaXMubW9kZS5jaGFuZ2UkLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMubW9kZS5tb2RlIHx8ICdvbkxpZ2h0JyksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVGl0bGUpIHRpdGxlU2VydmljZTogVGl0bGUsXG4gICAgICAgIEBJbmplY3QoTkFWSUdBVElPTl9USVRMRSkgdGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KFR1aU1vZGVEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZTogVHVpTW9kZURpcmVjdGl2ZSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlTaWRlYmFyRGlyZWN0aXZlKVxuICAgICAgICByZWFkb25seSBzaWRlYmFyOiB1bmtub3duLFxuICAgICAgICBASW5qZWN0KE5BVklHQVRJT05fTEFCRUxTKSByZWFkb25seSBsYWJlbHM6IHN0cmluZ1tdLFxuICAgICAgICBASW5qZWN0KE5BVklHQVRJT05fSVRFTVMpXG4gICAgICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBUdWlEb2NQYWdlc1tdLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfU0VBUkNIX1RFWFQpIHJlYWRvbmx5IHNlYXJjaFRleHQ6IHN0cmluZyxcbiAgICAgICAgQEluamVjdChSb3V0ZXIpIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICkge1xuICAgICAgICAvLyBBbmd1bGFyIGNhbid0IG5hdmlnYXRlIG5vIGFuY2hvciBsaW5rc1xuICAgICAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjEwMTc1Ni9hbmd1bGFyMi1yb3V0aW5nLXdpdGgtaGFzaHRhZy10by1wYWdlLWFuY2hvclxuICAgICAgICB0aXRsZSQuc3Vic2NyaWJlKHRpdGxlID0+IHtcbiAgICAgICAgICAgIGNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRpdGxlKTtcbiAgICAgICAgICAgIHRoaXMub3BlbkFjdGl2ZVBhZ2VHcm91cCgpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVBbmNob3JMaW5rKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZnJhZ21lbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgY2FuT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoLmxlbmd0aCA+IDI7XG4gICAgfVxuXG4gICAgZ2V0IGZpbHRlcmVkSXRlbXMoKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NQYWdlW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVySXRlbXModGhpcy5mbGF0dGVuU3ViUGFnZXModGhpcy5pdGVtcyksIHRoaXMuc2VhcmNoKTtcbiAgICB9XG5cbiAgICBnZXQgaXRlbXNXaXRob3V0U2VjdGlvbnMoKTogVHVpRG9jUGFnZXMge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLml0ZW1zLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIGlzQWN0aXZlKHJvdXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHJvdXRlID09PSB0aGlzLmFjdGl2ZTtcbiAgICB9XG5cbiAgICBvbkdyb3VwQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5QYWdlc0dyb3Vwc0FycltpbmRleF0gPSAhdGhpcy5vcGVuUGFnZXNHcm91cHNBcnJbaW5kZXhdO1xuICAgIH1cblxuICAgIGNsb3NlTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51T3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uU2VhcmNoQ2hhbmdlKHNlYXJjaDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoID0gc2VhcmNoO1xuICAgICAgICB0aGlzLm9wZW4gPSB0aGlzLmNhbk9wZW47XG4gICAgfVxuXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWVudU9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWFyY2ggPSAnJztcbiAgICAgICAgdGhpcy5vcGVuQWN0aXZlUGFnZUdyb3VwKCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGZpbHRlckl0ZW1zKFxuICAgICAgICBpdGVtczogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NQYWdlW10+LFxuICAgICAgICBzZWFyY2g6IHN0cmluZyxcbiAgICApOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aURvY1BhZ2VbXT4ge1xuICAgICAgICByZXR1cm4gaXRlbXMubWFwKHNlY3Rpb24gPT5cbiAgICAgICAgICAgIHVuaXFCeShcbiAgICAgICAgICAgICAgICBzZWN0aW9uLmZpbHRlcigoe3RpdGxlLCBrZXl3b3JkcyA9ICcnfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHRpdGxlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaCA9IHNlYXJjaC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgICAgICBrZXl3b3JkcyA9IGtleXdvcmRzLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLmluY2x1ZGVzKHNlYXJjaCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzLmluY2x1ZGVzKHNlYXJjaCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLmluY2x1ZGVzKHRyYW5zbGl0ZXJhdGVLZXlib2FyZExheW91dChzZWFyY2gpKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZHMuaW5jbHVkZXModHJhbnNsaXRlcmF0ZUtleWJvYXJkTGF5b3V0KHNlYXJjaCkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2gucmVwbGFjZSgvLS9naSwgJycpLmluY2x1ZGVzKHRpdGxlKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICd0aXRsZScsXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBmbGF0dGVuU3ViUGFnZXMoXG4gICAgICAgIGl0ZW1zOiByZWFkb25seSBUdWlEb2NQYWdlc1tdLFxuICAgICk6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpRG9jUGFnZVtdPiB7XG4gICAgICAgIHJldHVybiBpdGVtcy5yZWR1Y2U8UmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NQYWdlW10+PihcbiAgICAgICAgICAgIChhcnJheSwgaXRlbSkgPT4gW1xuICAgICAgICAgICAgICAgIC4uLmFycmF5LFxuICAgICAgICAgICAgICAgIGl0ZW0ucmVkdWNlPHJlYWRvbmx5IFR1aURvY1BhZ2VbXT4oXG4gICAgICAgICAgICAgICAgICAgIChwYWdlcywgcGFnZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWJQYWdlcycgaW4gcGFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gWy4uLnBhZ2VzLCAuLi5wYWdlLnN1YlBhZ2VzXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogWy4uLnBhZ2VzLCBwYWdlXSxcbiAgICAgICAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbXSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQWN0aXZlUm91dGUocm91dGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuaXNBY3RpdmUocm91dGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUFuY2hvckxpbmsoaGFzaDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvQW5jaG9yTGluayhoYXNoKTtcbiAgICAgICAgfSwgU0NST0xMX0lOVE9fVklFV19ERUxBWSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuQWN0aXZlUGFnZUdyb3VwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKHBhZ2VzLCBwYWdlc0luZGV4KSA9PiB7XG4gICAgICAgICAgICBwYWdlcy5mb3JFYWNoKChwYWdlLCBwYWdlSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoJ3JvdXRlJyBpbiBwYWdlICYmIHRoaXMuaXNBY3RpdmVSb3V0ZShwYWdlLnJvdXRlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5QYWdlc0FycltwYWdlc0luZGV4XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gcGFnZS5yb3V0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoJ3N1YlBhZ2VzJyBpbiBwYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2Uuc3ViUGFnZXMuZm9yRWFjaChzdWJQYWdlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQWN0aXZlUm91dGUoc3ViUGFnZS5yb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5QYWdlc0FycltwYWdlc0luZGV4XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuUGFnZXNHcm91cHNBcnJbcGFnZXNJbmRleCAqIDEwMCArIHBhZ2VJbmRleF0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gc3ViUGFnZS5yb3V0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbmF2aWdhdGVUb0FuY2hvckxpbmsoZnJhZ21lbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZnJhZ21lbnQgJiYgdGhpcy5kb2N1bWVudFJlZi5xdWVyeVNlbGVjdG9yKGAjJHtmcmFnbWVudH1gKTtcblxuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgndHVpLWRvYy1hbmltYXRlZC1leGFtcGxlJyk7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgICAgYmxvY2s6ICdzdGFydCcsXG4gICAgICAgICAgICBpbmxpbmU6ICduZWFyZXN0JyxcbiAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFFLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUNILGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGdCQUFnQixHQUNuQixNQUFN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ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1R1aVNpZGViYXJEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUnO1xuaW1wb3J0IHtUdWlEZXN0cm95U2VydmljZSwgdHVpUHVyZSwgdW5pcUJ5fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpQnJpZ2h0bmVzcywgVHVpTW9kZURpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCwgdGFrZSwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpRG9jUGFnZX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wYWdlJztcbmltcG9ydCB7VFVJX0RPQ19TRUFSQ0hfVEVYVH0gZnJvbSAnLi4vLi4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHtUVUlfRE9DX1BBR0VfTE9BREVEfSBmcm9tICcuLi8uLi90b2tlbnMvcGFnZS1sb2FkZWQnO1xuaW1wb3J0IHtUdWlEb2NQYWdlc30gZnJvbSAnLi4vLi4vdHlwZXMvcGFnZXMnO1xuaW1wb3J0IHt0cmFuc2xpdGVyYXRlS2V5Ym9hcmRMYXlvdXR9IGZyb20gJy4uLy4uL3V0aWxzL3RyYW5zbGl0ZXJhdGUta2V5Ym9hcmQtbGF5b3V0JztcbmltcG9ydCB7XG4gICAgTkFWSUdBVElPTl9JVEVNUyxcbiAgICBOQVZJR0FUSU9OX0xBQkVMUyxcbiAgICBOQVZJR0FUSU9OX1BST1ZJREVSUyxcbiAgICBOQVZJR0FUSU9OX1RJVExFLFxufSBmcm9tICcuL25hdmlnYXRpb24ucHJvdmlkZXJzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWRvYy1uYXZpZ2F0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJ25hdmlnYXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ25hdmlnYXRpb24uc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogTkFWSUdBVElPTl9QUk9WSURFUlMsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY05hdmlnYXRpb25Db21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX29wZW4nKVxuICAgIG1lbnVPcGVuID0gZmFsc2U7XG5cbiAgICBzZWFyY2ggPSAnJztcbiAgICBvcGVuID0gZmFsc2U7XG4gICAgb3BlblBhZ2VzQXJyOiBib29sZWFuW10gPSBbXTtcbiAgICBvcGVuUGFnZXNHcm91cHNBcnI6IGJvb2xlYW5bXSA9IFtdO1xuICAgIGFjdGl2ZSA9ICcnO1xuXG4gICAgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcz4gPSB0aGlzLm1vZGUuY2hhbmdlJC5waXBlKFxuICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLm1vZGUubW9kZSB8fCAnb25MaWdodCcpLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRpdGxlKSB0aXRsZVNlcnZpY2U6IFRpdGxlLFxuICAgICAgICBASW5qZWN0KE5BVklHQVRJT05fVElUTEUpIHRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGU6IFR1aU1vZGVEaXJlY3RpdmUsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpU2lkZWJhckRpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgc2lkZWJhcjogdW5rbm93bixcbiAgICAgICAgQEluamVjdChOQVZJR0FUSU9OX0xBQkVMUykgcmVhZG9ubHkgbGFiZWxzOiBzdHJpbmdbXSxcbiAgICAgICAgQEluamVjdChOQVZJR0FUSU9OX0lURU1TKVxuICAgICAgICByZWFkb25seSBpdGVtczogcmVhZG9ubHkgVHVpRG9jUGFnZXNbXSxcbiAgICAgICAgQEluamVjdChUVUlfRE9DX1NFQVJDSF9URVhUKSByZWFkb25seSBzZWFyY2hUZXh0OiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoUm91dGVyKSBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBASW5qZWN0KEFjdGl2YXRlZFJvdXRlKSBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX1BBR0VfTE9BREVEKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlYWR5VG9TY3JvbGwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgICkge1xuICAgICAgICAvLyBBbmd1bGFyIGNhbid0IG5hdmlnYXRlIG5vIGFuY2hvciBsaW5rc1xuICAgICAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjEwMTc1Ni9hbmd1bGFyMi1yb3V0aW5nLXdpdGgtaGFzaHRhZy10by1wYWdlLWFuY2hvclxuICAgICAgICB0aXRsZSQuc3Vic2NyaWJlKHRpdGxlID0+IHtcbiAgICAgICAgICAgIGNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRpdGxlKTtcbiAgICAgICAgICAgIHRoaXMub3BlbkFjdGl2ZVBhZ2VHcm91cCgpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVBbmNob3JMaW5rKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZnJhZ21lbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgY2FuT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoLmxlbmd0aCA+IDI7XG4gICAgfVxuXG4gICAgZ2V0IGZpbHRlcmVkSXRlbXMoKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NQYWdlW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVySXRlbXModGhpcy5mbGF0dGVuU3ViUGFnZXModGhpcy5pdGVtcyksIHRoaXMuc2VhcmNoKTtcbiAgICB9XG5cbiAgICBnZXQgaXRlbXNXaXRob3V0U2VjdGlvbnMoKTogVHVpRG9jUGFnZXMge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLml0ZW1zLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIGlzQWN0aXZlKHJvdXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHJvdXRlID09PSB0aGlzLmFjdGl2ZTtcbiAgICB9XG5cbiAgICBvbkdyb3VwQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5QYWdlc0dyb3Vwc0FycltpbmRleF0gPSAhdGhpcy5vcGVuUGFnZXNHcm91cHNBcnJbaW5kZXhdO1xuICAgIH1cblxuICAgIGNsb3NlTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51T3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uU2VhcmNoQ2hhbmdlKHNlYXJjaDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoID0gc2VhcmNoO1xuICAgICAgICB0aGlzLm9wZW4gPSB0aGlzLmNhbk9wZW47XG4gICAgfVxuXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWVudU9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWFyY2ggPSAnJztcbiAgICAgICAgdGhpcy5vcGVuQWN0aXZlUGFnZUdyb3VwKCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGZpbHRlckl0ZW1zKFxuICAgICAgICBpdGVtczogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NQYWdlW10+LFxuICAgICAgICBzZWFyY2g6IHN0cmluZyxcbiAgICApOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aURvY1BhZ2VbXT4ge1xuICAgICAgICByZXR1cm4gaXRlbXMubWFwKHNlY3Rpb24gPT5cbiAgICAgICAgICAgIHVuaXFCeShcbiAgICAgICAgICAgICAgICBzZWN0aW9uLmZpbHRlcigoe3RpdGxlLCBrZXl3b3JkcyA9ICcnfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHRpdGxlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaCA9IHNlYXJjaC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgICAgICBrZXl3b3JkcyA9IGtleXdvcmRzLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLmluY2x1ZGVzKHNlYXJjaCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzLmluY2x1ZGVzKHNlYXJjaCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLmluY2x1ZGVzKHRyYW5zbGl0ZXJhdGVLZXlib2FyZExheW91dChzZWFyY2gpKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZHMuaW5jbHVkZXModHJhbnNsaXRlcmF0ZUtleWJvYXJkTGF5b3V0KHNlYXJjaCkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2gucmVwbGFjZSgvLS9naSwgJycpLmluY2x1ZGVzKHRpdGxlKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICd0aXRsZScsXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBmbGF0dGVuU3ViUGFnZXMoXG4gICAgICAgIGl0ZW1zOiByZWFkb25seSBUdWlEb2NQYWdlc1tdLFxuICAgICk6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpRG9jUGFnZVtdPiB7XG4gICAgICAgIHJldHVybiBpdGVtcy5yZWR1Y2U8UmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NQYWdlW10+PihcbiAgICAgICAgICAgIChhcnJheSwgaXRlbSkgPT4gW1xuICAgICAgICAgICAgICAgIC4uLmFycmF5LFxuICAgICAgICAgICAgICAgIGl0ZW0ucmVkdWNlPHJlYWRvbmx5IFR1aURvY1BhZ2VbXT4oXG4gICAgICAgICAgICAgICAgICAgIChwYWdlcywgcGFnZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWJQYWdlcycgaW4gcGFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gWy4uLnBhZ2VzLCAuLi5wYWdlLnN1YlBhZ2VzXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogWy4uLnBhZ2VzLCBwYWdlXSxcbiAgICAgICAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbXSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQWN0aXZlUm91dGUocm91dGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuaXNBY3RpdmUocm91dGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUFuY2hvckxpbmsoaGFzaDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVhZHlUb1Njcm9sbCRcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZSgxKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm5hdmlnYXRlVG9BbmNob3JMaW5rKGhhc2gpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5BY3RpdmVQYWdlR3JvdXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgocGFnZXMsIHBhZ2VzSW5kZXgpID0+IHtcbiAgICAgICAgICAgIHBhZ2VzLmZvckVhY2goKHBhZ2UsIHBhZ2VJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICgncm91dGUnIGluIHBhZ2UgJiYgdGhpcy5pc0FjdGl2ZVJvdXRlKHBhZ2Uucm91dGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBhZ2VzQXJyW3BhZ2VzSW5kZXhdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBwYWdlLnJvdXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgnc3ViUGFnZXMnIGluIHBhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZS5zdWJQYWdlcy5mb3JFYWNoKHN1YlBhZ2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBY3RpdmVSb3V0ZShzdWJQYWdlLnJvdXRlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBhZ2VzQXJyW3BhZ2VzSW5kZXhdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5QYWdlc0dyb3Vwc0FycltwYWdlc0luZGV4ICogMTAwICsgcGFnZUluZGV4XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBzdWJQYWdlLnJvdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBuYXZpZ2F0ZVRvQW5jaG9yTGluayhmcmFnbWVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBmcmFnbWVudCAmJiB0aGlzLmRvY3VtZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYCMke2ZyYWdtZW50fWApO1xuXG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0dWktZG9jLWFuaW1hdGVkLWV4YW1wbGUnKTtcbiAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgICAgICBibG9jazogJ3N0YXJ0JyxcbiAgICAgICAgICAgIGlubGluZTogJ25lYXJlc3QnLFxuICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -6,7 +6,7 @@ import { RouterModule } from '@angular/router';
|
|
|
6
6
|
import { TuiActiveZoneModule, TuiAutoFocusModule, TuiLetModule } from '@taiga-ui/cdk';
|
|
7
7
|
import { TuiButtonModule, TuiDataListModule, TuiDropdownControllerModule, TuiExpandModule, TuiHostedDropdownModule, TuiLinkModule, TuiModeModule, TuiPrimitiveTextfieldModule, TuiScrollbarModule, TuiSvgModule, TuiTextfieldControllerModule, } from '@taiga-ui/core';
|
|
8
8
|
import { TuiAccordionModule } from '@taiga-ui/kit';
|
|
9
|
-
import { ScrollIntoViewModule } from '../../directives/scroll-into-view/scroll-into-view.module';
|
|
9
|
+
import { ScrollIntoViewModule, TuiScrollIntoViewLinkModule, } from '../../directives/scroll-into-view/scroll-into-view.module';
|
|
10
10
|
import { TuiDocNavigationComponent } from './navigation.component';
|
|
11
11
|
let TuiDocNavigationModule = class TuiDocNavigationModule {
|
|
12
12
|
};
|
|
@@ -17,6 +17,7 @@ TuiDocNavigationModule = __decorate([
|
|
|
17
17
|
FormsModule,
|
|
18
18
|
RouterModule,
|
|
19
19
|
ScrollIntoViewModule,
|
|
20
|
+
TuiScrollIntoViewLinkModule,
|
|
20
21
|
TuiButtonModule,
|
|
21
22
|
TuiPrimitiveTextfieldModule,
|
|
22
23
|
TuiTextfieldControllerModule,
|
|
@@ -38,4 +39,4 @@ TuiDocNavigationModule = __decorate([
|
|
|
38
39
|
})
|
|
39
40
|
], TuiDocNavigationModule);
|
|
40
41
|
export { TuiDocNavigationModule };
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUNILGVBQWUsRUFDZixpQkFBaUIsRUFDakIsMkJBQTJCLEVBQzNCLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsYUFBYSxFQUNiLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0Isa0JBQWtCLEVBQ2xCLFlBQVksRUFDWiw0QkFBNEIsR0FDL0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUNILG9CQUFvQixFQUNwQiwyQkFBMkIsR0FDOUIsTUFBTSwyREFBMkQsQ0FBQztBQUNuRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQTRCakUsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7Q0FBRyxDQUFBO0FBQXpCLHNCQUFzQjtJQTFCbEMsUUFBUSxDQUFDO1FBQ04sT0FBTyxFQUFFO1lBQ0wsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLDJCQUEyQjtZQUMzQixlQUFlO1lBQ2YsMkJBQTJCO1lBQzNCLDRCQUE0QjtZQUM1QixtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLHVCQUF1QjtZQUN2QiwyQkFBMkI7WUFDM0Isa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGtCQUFrQjtTQUNyQjtRQUNELFlBQVksRUFBRSxDQUFDLHlCQUF5QixDQUFDO1FBQ3pDLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO0tBQ3ZDLENBQUM7R0FDVyxzQkFBc0IsQ0FBRztTQUF6QixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmVNb2R1bGUsIFR1aUF1dG9Gb2N1c01vZHVsZSwgVHVpTGV0TW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgIFR1aURyb3Bkb3duQ29udHJvbGxlck1vZHVsZSxcbiAgICBUdWlFeHBhbmRNb2R1bGUsXG4gICAgVHVpSG9zdGVkRHJvcGRvd25Nb2R1bGUsXG4gICAgVHVpTGlua01vZHVsZSxcbiAgICBUdWlNb2RlTW9kdWxlLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICBUdWlTY3JvbGxiYXJNb2R1bGUsXG4gICAgVHVpU3ZnTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpQWNjb3JkaW9uTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuaW1wb3J0IHtcbiAgICBTY3JvbGxJbnRvVmlld01vZHVsZSxcbiAgICBUdWlTY3JvbGxJbnRvVmlld0xpbmtNb2R1bGUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc2Nyb2xsLWludG8tdmlldy9zY3JvbGwtaW50by12aWV3Lm1vZHVsZSc7XG5pbXBvcnQge1R1aURvY05hdmlnYXRpb25Db21wb25lbnR9IGZyb20gJy4vbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBTY3JvbGxJbnRvVmlld01vZHVsZSxcbiAgICAgICAgVHVpU2Nyb2xsSW50b1ZpZXdMaW5rTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpQWN0aXZlWm9uZU1vZHVsZSxcbiAgICAgICAgVHVpTGV0TW9kdWxlLFxuICAgICAgICBUdWlNb2RlTW9kdWxlLFxuICAgICAgICBUdWlMaW5rTW9kdWxlLFxuICAgICAgICBUdWlFeHBhbmRNb2R1bGUsXG4gICAgICAgIFR1aUhvc3RlZERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBUdWlEcm9wZG93bkNvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIFR1aUFjY29yZGlvbk1vZHVsZSxcbiAgICAgICAgVHVpU2Nyb2xsYmFyTW9kdWxlLFxuICAgICAgICBUdWlTdmdNb2R1bGUsXG4gICAgICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgICAgICBUdWlBdXRvRm9jdXNNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlEb2NOYXZpZ2F0aW9uQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbVHVpRG9jTmF2aWdhdGlvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY05hdmlnYXRpb25Nb2R1bGUge31cbiJdfQ==
|